JP3555664B2 - Data reproducing method and data reproducing apparatus - Google Patents

Data reproducing method and data reproducing apparatus Download PDF

Info

Publication number
JP3555664B2
JP3555664B2 JP23394794A JP23394794A JP3555664B2 JP 3555664 B2 JP3555664 B2 JP 3555664B2 JP 23394794 A JP23394794 A JP 23394794A JP 23394794 A JP23394794 A JP 23394794A JP 3555664 B2 JP3555664 B2 JP 3555664B2
Authority
JP
Japan
Prior art keywords
data
error correction
memory
error
buffer memory
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 - Lifetime
Application number
JP23394794A
Other languages
Japanese (ja)
Other versions
JPH07169205A (en
Inventor
隆一 岩村
昌三 増田
義行 秋山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP23394794A priority Critical patent/JP3555664B2/en
Publication of JPH07169205A publication Critical patent/JPH07169205A/en
Application granted granted Critical
Publication of JP3555664B2 publication Critical patent/JP3555664B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、例えば光ディスクや光磁気ディスクなどのディスクに記録されている画像データまたは音声データなどを再生する光ディスク装置や光磁気ディスク装置などに用いて好適なデータ再生方法及びデータ再生装置に関する。
【0002】
【従来の技術】
例えばMPEGなどの所定の規格に準拠する画像圧縮方法により、光ディスクなどの記録媒体に記録された動画像データまたは音声データを再生する光ディスク装置としては、例えば本出願人が先に出願した特願平4−92223号の明細書および図面に開示したものがある。
【0003】
即ち、図19に示すように、この光ディスク装置においては、ピックアップ2は、光ディスク1にレーザ光を照射し、その反射光から光ディスク1に記録されている、例えば画像データを再生する。ピックアップ2が出力するデータは、復調回路3に入力され、そこで復調される。またピックアップ2の出力は、フェイズロックドループ(PLL)回路9にも入力され、クロックが抽出される。このクロックは、復調回路3、セクタ検出回路4に送られる。復調回路3により復調されたデータは、セクタ検出回路4を介してECC回路6に入力され、誤りの検出、訂正が行われる。
【0004】
なお、セクタ検出回路4は、復調回路3で復調されたデータから、セクタナンバ(光ディスク1のセクタに割り当てられたアドレス)を検出し、制御回路31に出力する。また、セクタ検出回路4は、例えばセクタナンバを検出することができなかったり、検出することができても、それが、例えば連続していなかった場合、トラックジャンプ判定回路7にセクタナンバ異常信号を出力する。
【0005】
ECC回路6は、セクタ検出回路4を介して復調回路3より供給されたデータからデータ誤りを検出し、そのデータに付加されているパリティビット(パリティデータ)を用いて誤り訂正を行う。さらに、ECC回路6は、データの誤りを訂正することができなかった場合、トラックジャンプ判定回路7にエラー発生信号を出力する。誤りの訂正が行われたデータは、ECC回路6からトラックジャンプ用のリングバッファメモリ5に供給され、制御回路31の制御に従ってそこに記憶される。
【0006】
制御回路31は、セクタ検出回路4の出力から、光ディスク1の各セクタ毎のアドレスを読み取り、そのアドレスに対応して、ECC回路6からのデータを、リングバッファメモリ5に記憶させる(リングバッファメモリ5に書き込む)書き込みアドレス(書き込みポイント(WP))を指定する。また、制御回路31は、後段のデコード部20のビデオコードバッファメモリ10からのコードリクエスト信号に基づき、リングバッファメモリ5に書き込まれたデータの読み出しアドレス(再生ポイント(RP))を指定する。そして、その再生ポイント(RP)からデータを読み出し、ビデオコードバッファメモリ10に供給し、記憶させる。
【0007】
ビデオコードバッファメモリ10に記憶されたデータは、その後段の逆VLC回路11からのコードリクエスト信号に基づいて、逆VLC回路11に転送される。逆VLC回路11は、入力されたデータを逆VLC処理し、入力されたデータの逆VLC処理が終了すると、そのデータを逆量子化回路12に出力するとともに、コードリクエスト信号をビデオコードバッファ10に出力し、新たなデータの入力を要求する。さらに、逆VLC回路11は、量子化ステップサイズ、または動きベクトルを、逆量子化回路12、または動き補償回路15にそれぞれ出力する。
【0008】
逆量子化回路12は、逆VLC回路11より供給された量子化ステップサイズに従って、入力されたデータを逆量子化し、逆DCT回路13に出力する。逆DCT回路13は入力されたデータを逆DCT処理し、加算回路14に供給する。
【0009】
逆DCT回路13より加算回路14に供給されたデータが、Iピクチャのデータである場合、そのデータは、加算回路14を介してそのままフレームメモリ16に出力され、記憶される。
【0010】
また、そのデータが、Iピクチャを予測画像とするPピクチャのデータである場合、既に復号されたIピクチャのデータが、フレームメモリ16より読み出され、動き補償回路15に供給される。動き補償回路15は、フレームメモリ16から供給されたデータに対し、逆VLC回路11より供給された動きベクトルに対応する動き補償を施して予測画像とし、加算回路14に供給する。加算回路14は、逆DCT回路13より出力されたデータと、動き補償回路15より出力されたデータを加算し、Pピクチャのデータを生成する。このデータもフレームメモリ16に記憶される。
【0011】
逆DCT回路13より出力されたデータがBピクチャのデータである場合、既に復号されたIピクチャまたはPピクチャデータが、フレームメモリ16より読み出され、動き補償回路15に供給される。動き補償回路15に供給されたデータは、そこで動き補償が施され、加算回路14に供給される。加算回路14は、逆DCT回路13より出力されたデータと、動き補償回路15より出力されたデータを加算するので、復号されたBピクチャデータが得られることになる。このデータもフレームメモリ16に記憶される。
【0012】
以上のようにして復号され、フレームメモリ16に記憶された画像データは、D/Aコンバータ17でD/A変換された後、ディスプレイ18に供給されて表示される。
【0013】
ところで、上述したように、制御回路31は、ビデオコードバッファメモリ10からのコードリクエスト信号に対応して、リングバッファメモリ5に記憶されているデータをビデオコードバッファメモリ10に供給するが、例えば単純な画像に関するデータ処理が続き、ビデオコードバッファメモリ10から逆VLC回路11へのデータ転送量が少なくなると、リングバッファメモリ5からビデオコードバッファメモリ10へのデータ転送量も少なくなる。すると、リングバッファメモリ5の記憶データ量が多くなり、オーバーフローする恐れがある。
【0014】
このため、トラックジャンプ判定回路7は、制御回路31により制御されている書き込みポイント(WP)および再生ポイント(RP)からリングバッファメモリ5が現在記憶しているデータ量を算出(検出)し、そのデータ量があらかじめ設定された所定の基準値を越えた場合、リングバッファメモリ5がオーバーフローする恐れがあると判断して、トラッキングサーボ回路8にトラックジャンプ指令を出力する。
【0015】
また、トラックジャンプ判定回路7は、セクタ検出回路4からのセクタナンバ異常信号またはECC回路6からのエラー発生信号を検出した場合、制御回路31により制御されている書き込みポイント(WP)と再生ポイント(RP)から、リングバッファメモリ5内に残存しているデータ量を求める。また、現在のトラック位置から、光ディスク1が1回転する間に(光ディスク1の1回転待ちの間に)、リングバッファメモリ5からビデオコードバッファメモリ10への読み出しを保証するのに(リングバッファメモリ5にアンダーフローを発生させないために)必要なデータ量を求める。
【0016】
リングバッファメモリ5の残存データ量が充分大きい場合、リングバッファメモリ5から最高の転送レートでビデオコードバッファメモリ10へデータが読み出されても、リングバッファメモリ5にはアンダーフローが生じないため、トラックジャンプ判定回路7は、エラー発生位置をピックアップ2で再度再生することによりエラー回復が可能であると判断して、トラッキングサーボ回路8にトラックジャンプ指令を出力する。
【0017】
トラックジャンプ判定回路7によりトラックジャンプ指令が出力されると、トラッキングサーボ回路8は、ピックアップ2による再生位置をトラックジャンプさせる。即ち、例えば光ディスク1の内周から外周へデータが記録されている場合、トラッキングサーボ回路8は、現在位置から内周側の隣接トラックへピックアップ2をジャンプさせる。そして、ピックアップ2による再生位置が、光ディスク1が再び1回転して元の位置に到来するまでの間、つまりセクタ検出回路4から得られるセクタナンバがトラックジャンプ時のセクタナンバになるまでの間、新たなデータのリングバッファメモリ5への書き込みが禁止され、必要に応じてリングバッファメモリ5に既に記憶されているデータが、ビデオコードバッファメモリ10に転送される。
【0018】
また、トラックジャンプ後、セクタ検出回路4から得られるセクタナンバが、トラックジャンプ時のセクタナンバと一致しても、リングバッファメモリ5に記憶されているデータ量が所定の基準値を越えている場合、即ちリングバッファメモリ5がオーバーフローする可能性がある場合、リングバッファメモリ5へのデータの書き込みは再開されず、再びトラックジャンプが行われる。
【0019】
ここで、リングバッファメモリ5は、光ディスク1の少なくとも1トラック分(1回転分)のデータを記憶することができる容量を有している。
【0020】
よって、光ディスク1が、例えば線速度一定(CLV)ディスクである場合、回転周期は最外周において最大となるため、最外周における1トラック分(1回転分)の記憶容量、つまり(最外周の回転周期)×(ECC回路6からリングバッファメモリ5へのデータ転送レート)の記憶容量を少なくとも有する。
【0021】
リングバッファメモリ5からビデオコードバッファメモリ10へのデータの最大転送レートは、ECC回路6からリングバッファメモリ5へのデータ転送レートと等しいか、またはそれより小さい値に設定されている。このようにすることにより、ビデオコードバッファメモリ10からリングバッファメモリ5へのデータ転送のコードリクエストは、トラックジャンプのタイミングに拘らず、自由に送出することができる。
【0022】
以上のように、この光ディスク装置によれば、リングバッファメモリ5の記憶容量に対応してピックアップ2をトラックジャンプさせるようにしたので、光ディスク1からの再生画像の複雑さまたは平坦さに拘らず、ビデオコードバッファメモリ10のオーバーフローまたはアンダーフローが防止され、均一な画質の画像を、長時間にわたって再生することができる。
【0023】
さらに、この光ディスク装置によれば、光ディスク1から読み出されたデータにエラーが生じた場合、ピックアップ2をトラックジャンプさせ、再びデータを光ディスク1から読み出すようにしたので、データの読み出しエラーによる再生画像の劣化を防止することができる。
【0024】
ところで、図19の光ディスク装置におけるECC回路6は、例えば図20に示すように構成される。復調回路3(図19)より出力されたデータは、セクタ検出回路4を介してECC回路6に入力され、その入力段にあるバッファメモリ41(図20)に一時記憶される。バッファメモリ41に記憶されたデータは、メモリ42に順次転送され、アドレス発生器43が発生するアドレスに従って記憶される。メモリ42に記憶されたデータは、そこから読み出され、誤り訂正回路44に転送される。誤り訂正回路44は、メモリ42から転送されたデータに対し、誤り訂正を施し、誤り訂正を施したデータを再びメモリ42に格納する。
【0025】
ここで、メモリ42に対するデータの書き込みと読み出しについて、図21のメモリマップを参照して説明する。図中の丸印は誤り訂正の1シンボル単位、通常は1バイトを示す。メモリ42に対するデータの書き込みまたは読み出しは、図21に示すメモリマップの横1行を1データ長とした単位で行われる。また、その最後にはパリティビット(図中、斜線を付してある部分)が付加されており、メモリマップの斜め方向(以下、インタリーブ方向と記載する)(図中、点線の矢印で示す方向)のデータの並びにおける最後の部分のデータとしてのパリティビットが、このインタリーブ方向に並ぶデータの誤りを訂正するためのパリティビットになっている。
【0026】
即ち、例えばバーストエラーを孤立化させるため、データと、そのデータの誤りを訂正するためのパリティビットが、インタリーブ方向に並ぶようになっている。
【0027】
従って、メモリ42においては、まずバッファメモリ41からのデータが、ライトポインタwp1の指すアドレスに従って、アドレス方向に書き込まれる。
【0028】
なお、アドレス方向とは、図21のメモリマップにおいて、左から右、そして上から下へ進む方向を意味する。
【0029】
そして、少なくとも、インタリーブ方向にデータを読み出すのに必要な記憶容量(アドレス)分(以下、インタリーブ長と記載する)だけ遅れたリードポインタrp1の指すアドレスに従って、既にメモリ42に書き込まれたデータが、インタリーブ方向に読み出され、誤り訂正回路44に供給される。誤り訂正回路44では、上述したようにしてインタリーブ方向のデータの並びに対して、誤り訂正処理が施され、誤り訂正されたデータは、メモリ42に転送される。
【0030】
誤り訂正回路44で誤り訂正されたデータは、ライトポインタwp2の指すアドレスに従って、最初に書き込まれた位置(アドレス)に再び書き込まれ、アドレス方向に移動するリードポインタrp2に従って、バッファメモリ45(図20)に転送される。
【0031】
以上の動作を1サイクルとして、これを繰り返すことにより誤り訂正されたデータがバッファメモリ45よりリングバッファメモリ5(図19)に、順次出力される。
【0032】
従って、誤り訂正されたデータは、一度メモリ42(図20)に記憶されてから、再度リングバッファメモリ5に記憶されることになる。
【0033】
このように、従来の光ディスク装置においては、異なる2つのメモリ(メモリ42とリングバッファメモリ5)に、順次データを出し入れするという、冗長な動作が行われており、装置の規模が大きくなるばかりでなく、データ処理速度が遅くなるという課題があった。
【0034】
そこで本出願人は、特願平4−285475号として、リングバッファメモリ5に記憶されたデータの誤りを訂正することを先に提案した。
【0035】
【発明が解決しようとする課題】
しかしながら、先の提案においては、正しいセクタアドレスが読めず、正確かつ迅速に光ディスク1にアクセスすることができないという課題があった。
【0036】
さらに、光ディスク1より読み込んだデータに大きな誤りがあって訂正不能な場合、再度訂正することができないという課題があった。
【0037】
また、デインタリーブに時間を要し、例えば、早送りや巻戻しといった特殊再生時における高速再生動作が難しいという課題があった。
【0038】
本発明は、このような状況に鑑みてなされたものであり、ディスクに対して迅速にアクセスすることができ、また、ディスクを高速再生することができるようにするものである。
【0039】
また、本発明は、誤り訂正能力を向上させるものである。
【0040】
【課題を解決するための手段】
本発明のデータ再生方法は、ディスクに記録されている記録データを再生するためのデータ再生方法であって、セクタヘッダを含んで計算された2系統の誤り訂正符号を含む記録データが記録されているディスクから、記録データをピックアップを介して読み出し、読み出されたデータを復調し、復調されたデータをメモリに記憶させるとともに、復調されたデータに対して、2系統の誤り訂正符号のうちのいずれか1系統によって誤り訂正を行い、復調されたデータの誤りが訂正可能であった場合、当該訂正された値をメモリに供給し、メモリに記憶された値の上書きを行い、メモリより読み出されたデータを復号し、誤り訂正されたデータのセクタヘッダからセクタアドレスを検出することを特徴とする。
【0041】
2系統の誤り訂正符号は、ディスクに記録されているデータをインタリーブしたデータに対して付加されている第1の誤り訂正符号と、インタリーブしていないデータに対して付加されている第2の誤り訂正符号とにより構成し、復調されたデータに対する誤り訂正は、第2の誤り訂正符号により行うことができる。
【0042】
復調されたデータに対する誤りが訂正不能であった場合、メモリに記憶されたデータを読み出し、第1の誤り訂正符号によって再度訂正を行い、当該訂正された値をメモリに供給し、メモリに記憶された値の上書きを行い、メモリより読み出されたデータを復号することができる。
【0047】
検出されたセクタアドレスの内の有効セクタアドレスの連続性に基づいて、有効期間と無効期間とを設定し、有効期間において、有効セクタアドレスが検出されない場合、セクタアドレスを補間するようにすることができる。
【0049】
本発明のデータ再生装置は、ディスクに記録されている記録データを再生するためのデータ再生装置であって、セクタヘッダを含んで計算された2系統の誤り訂正符号を含む記録データが記録されているディスク(例えば図1の光ディスク1)から、記録データを読み出す読み出し手段(例えば図1のピックアップ2)と、読み出し手段により読み出されたデータを復調する復調手段と、復調手段により復調されたデータ記憶するメモリ(例えば図1のリングバッファメモリ5)と、復調されたデータに対して、2系統の誤り訂正符号のうちのいずれか1系統によって誤り訂正を行う誤り訂正手段(例えば図1の誤り訂正回路71)と、復調されたデータの誤りが訂正可能であった場合、当該訂正された値をメモリに供給し、メモリに記憶された値の上書きを行うように制御する制御手段(例えば図1の制御回路74)と、メモリより読み出されたデータを復号する復号手段(例えば図1のデコード部20)と、誤り訂正されたデータのセクタヘッダからセクタアドレスを検出するセクタアドレス検出手段とを有することを特徴とする。
【0050】
2系統の誤り訂正符号は、ディスクに記録されているデータをインタリーブしたデータに対して付加されている第1の誤り訂正符号と、インタリーブしていないデータに対して付加されている第2の誤り訂正符号とにより構成し、誤り訂正手段で行われる復調されたデータに対する誤り訂正は、第2の誤り訂正符号により行うことができる。
【0051】
制御手段は、復調されたデータに対する誤り訂正不能であった場合、メモリに記憶されたデータを読み出し、誤り訂正手段において、第1の誤り訂正符号により再度訂正が行われ、当該訂正された値をメモリに供給し、メモリに記憶された値の上書きを行い、メモリより読み出されたデータを復号するように制御することができる。
【0056】
検出されたセクタアドレスの内の有効セクタアドレスの連続性に基づいて、有効期間と無効期間とを設定し、有効期間において、有効セクタアドレスが検出されない場合、セクタアドレスを補間する手段を有することを特徴とする。
【0058】
【作用】
上記構成のデータ再生方法及びデータ再生装置においては、再生点としてのピックアップにより、ディスクに記録されている、例えば画像データなどのデータが読み出されて復調され、リングバッファメモリなどのメモリに一旦記憶される。そして、このメモリに記憶されたデータの誤りが、例えば内符号と外符号のセクタヘッダを含んで計算された2系統の誤り訂正符号のうちのいずれか1系統によって訂正される。復調されたデータの誤りが訂正可能であった場合、当該訂正された値がメモリに記憶された値に上書きされ、そのデータがメモリから読み出され、復号され、誤り訂正されたデータのセクタヘッダからセクタアドレスが検出される。従って、誤りをより少なくすることができるばかりでなく、ディスクの迅速なアクセスと、高速再生が可能になる。
【0059】
【実施例】
図1は、本発明のデータ再生方法を応用した光ディスク装置の一実施例の構成を示すブロック図である。図中、図19における場合と対応する部分については同一の符号を付してある。
【0060】
次に、この光ディスク装置について説明するが、その前に、図2を参照して、この光ディスク装置において再生される光ディスク1におけるデータフォーマットについて説明する。
【0061】
図2において、丸印は1シンボル(1バイト)のデータを示す。データは、例えば1符号(1行)が128バイト単位とされ、16符号ごとにセクタヘッダを含む。
【0062】
セクタヘッダは、図3に示すように、セクタヘッダであることを示すセクタマーク、セクタごとに1ずつ増加するセクタアドレス、およびセクタヘッダの誤り検出のための巡回符号(CRC)から構成される。
【0063】
図2に示すように、1行が128バイトごとに並べられたデータは、斜め方向(矢印A方向)に読んだデータに対して、16バイトの誤り訂正符号が内パリティとして付加される。図において、内部に縦線を付加して表した丸印が内パリティを表している。内パリティは、いわゆる畳み込みが行なわれており、斜め方向のデータの先頭から最後まで、途切れることなくパリティが計算されている。この斜め方向の144(=128+16)バイトの符号を内符号と称する。
【0064】
次に、内パリティの計算が終った行に対して、横方向(矢印B方向)にデータを読み、データ128バイトと内パリティ16バイトの合計144バイトに対して、16バイトの誤り符号が外パリティとして付加される。図2において、横線を付加した丸印が外パリティを表している。この横方向の160(=128+16+16)バイトの符号を外符号と称する。
【0065】
これら2系統のパリティ(内パリティと外パリティ)はセクタヘッダを含んで計算されており、外符号訂正または内符号訂正で、セクタヘッダ部分に生じた誤りを訂正することができる。
【0066】
各行の160バイト(データが128バイト、内パリティと外パリティが32バイト)のデータの先頭には、図2に示すように、シンク信号が付加されている。
【0067】
図1のピックアップ2は、以上のようなフォーマットにより画像データが記録されている光ディスク1にレーザ光を照射し、その反射光から光ディスク1に記録されている、例えば画像データを再生する。ピックアップ2が出力するデータは、復調回路3に入力され、復調される。またピックアップ2の出力は、PLL回路9にも入力され、クロックが抽出される。このクロックは、復調回路3とバッファメモリ61に送られる。復調回路3により復調されたデータは、バッファメモリ61に入力される。バッファメモリ61から出力されたデータは、制御回路74の制御のもとにリングバッファメモリ5に書き込まれる。
【0068】
復調回路3は、シンク保護機能を有している。すなわち、ディスクの正常な再生状態では、再生データより各符号の先頭でシンクが等間隔で得られるが、シンクが得られなかった場合は、図4に示すように、シンクの補間を行なう。即ち、シンクは一定の周期で発生するため、この周期でシンクが検出されなかった場合、疑似的にシンクを生成し、出力する。復調回路3以降の回路はシンクを1動作単位としているため、このようなシンク補間により安定した動作が可能となる。
【0069】
また、復調回路3は変換表(テーブル)を内蔵しており、入力データを変調単位ごとに変換表と照らしあわせて復調を行なうが、変換表にないデータの組み合わせ、あるいは禁止されているデータの組合せを見つけた場合、そのシンボルごとにエラーフラグを立てる(フラグを1とする)。また、PLL回路9より供給されるクロックからPLLのロック状態を知り、ロックがはずれている間はエラーフラグを立てる。
【0070】
また、さらに、シンクを補間した場合と、1符号中のエラーフラグが所定の設定数より多い場合は、1符号長の全シンボルに対して、エラーフラグを立てる。このエラーフラグは、データと一緒にバッファメモリ61に送られる。
【0071】
次に、リングバッファメモリ5およびフラグレジスタ73に対するデータの書き込みと読み出しについて説明する。
【0072】
リングバッファメモリ5としては、スタティックランダムアクセスメモリ(SRAM)や、ダイナミックランダムアクセスメモリ(DRAM)を用いることができる。SRAMは、DRAMと異なり、制限なく、データを連続して高速に書き込みまたは読み出すことができるが、高価である。
【0073】
これに対して、DRAMは安価であるが、データを高速で書き込みまたは読み出すには、いわゆる高速ページモードを使用する必要がある。高速ページモードのページ単位は、例えば256バイトと制限されており、これを越えてデータを読み書きする場合は、ページ切替えを行う必要がある。このページ切替えの回数が短いほど、処理時間が早くなる。そこで、本装置では、外符号訂正(図2の矢印B方向の訂正)を行う場合と、内符号訂正(図2の矢印A方向の訂正)を行う場合とで、異なる方向にデータを読み書きする必要があるが、その際、いずれの場合においても、ページ切替えが、できるだけ等間隔で行われ、かつ、その回数が少なくなるように、リングバッファメモリ5へのデータの格納方法が工夫されている。
【0074】
以下に、このリングバッファメモリ5へのデータの格納方法を説明する。即ち、図2に示すフォーマット上のデータを、符号番号(図2の行)をi、符号内のシンボルの番号をシンク先頭より数えてjとし、行列D(i,j)で表すものとする。このようにすると、第i番目(第i行目)の符号は、D(i,0)からD(i,159)までの160個のシンボルで構成されることになる。内符号方向(図2の矢印Aの方向)のデータ列は、次のように表される。
D(i,0),D(i+1,1),D(i+2,2),
・・・・・,D(i+143,143)
【0075】
一方、リングバッファメモリ5のアドレスを、行アドレスをm、列アドレスをnとして、R(m,n)と表す。nは0以上159以下の値である。行アドレスと列アドレスは、それぞれ16をページ単位とする。ここで、図2のフォーマット上のデータD(i,j)は、リングバッファメモリ5に対して、次式で得られるm,nが示すアドレスR(m,n)に書き込まれる。即ち、
k=(15−(i mod 16))+j
とおいて、
m=i
k<160のときn=k
k≧160のときn=k−160
とされる。ただし、演算子modは、剰余を表す。
【0076】
リングバッファメモリ5のアドレスR(m,n)にデータD(i,j)が格納された状態を図示すると、図5に示すようになる。また、この場合、D(1,0)を先頭とする外符号と内符号のデータ順は、図6に示すようになる。図6より明らかなように、外符号は水平方向に、内符号は垂直方向に、それぞれ配列されるため、いずれの場合も、最初の数シンボルを除いて、16シンボルおきに、等間隔で、ページ切替えが発生する。従って、このようにリングバッファメモリ5にデータを格納することで、外符号、内符号とも、高速ページモードにより高速な読み書きが実現できる。
【0077】
リングバッファメモリ5に対する書き込みと読み出しは、復調回路3からバッファメモリ61に入力されるデータレートの数倍、例えば5倍のレートで行なう。図7にそのタイミングを示す。図7の1シンク時間は、図4に示したシンク間の間隔と同一の時間(シンクの周期)であり、160バイトの1符号分のデータが復調回路3からバッファメモリ61に入力される時間に対応する。
【0078】
図7のXwは、バッファメモリ61に一時記憶された1シンク分のデータを、リングバッファメモリ5に書き込むタイミング(期間)を示す。Xcは、誤りシンボルと外符号フラグの書き換えのタイミング(期間)を示す。Yrは、リングバッファメモリ5上の内符号データの読み出しのタイミング(期間)を示す。Ycは、誤りシンボルと内符号フラグの書き換えのタイミング(期間)を示す。Zrは、リングバッファメモリ5上のデータのビデオコードバッファメモリ10への読み出しのタイミング(期間)を示す。
【0079】
図8は、リングバッファメモリ5のメモリ空間を、1符号長を横1行として模式的に示したものである(実際には、DRAM上には、図5および図6に示したようにデータが格納される)。Xwの書き込みポインタをPXwで示す。各ポインタは、図の上方向に向かって移動するものとする。
【0080】
リングバッファメモリ5には、外符号訂正と内符号訂正の訂正結果のフラグを格納する領域が各符号につき1ビットずつ設けてあり、図8の右端に、データ領域と対応がつくように示してある。
【0081】
図9及び図10に、フラグレジスタ73の構成例を示す。この実施例の場合、スイッチ81を介して入力されるデータが、144個の連続するレジスタを、更にスイッチ82を介して出力されるようになされている。また、出力されたデータは、1つのレジスタとスイッチ81を介して、再び144個の連続するレジスタに戻されるようになされている。
【0082】
いま、誤り訂正が進行中であり、図8に示すPYrの行に対する外符号訂正のPYrより1つ下のシンボルを含む図8の矢印Aの方向の内符号訂正が終了している状態であるとする。このとき、フラグレジスタ73の144個のレジスタには、図10(a)に示すように、過去の外符号フラグfi+143,fi+142,・・・fiが記憶された状態となっている。フラグレジスタ73が空き状態(即ち、誤り訂正が初めて開始される状態)から、このような状態になるまでの経過については後述する。以下に、誤り訂正からビデオコードバッファにデータが送られるまでの動作を、図7のタイミングチャートにそって説明する。
【0083】
図7の期間Xwにおいて、バッファメモリ61に記憶された図8のポインタPXwの示す1行分のデータをリングバッファメモリ5に書き込むとき、制御回路74により、スイッチ62の連動する切替接片63,64は、いずれも接点a側に接続されている。バッファメモリ61から出力されたデータは、リングバッファメモリ5に書き込まれると同時に、同じタイミングで、やはりバッファメモリ61より出力されるエラーフラグとともに、スイッチ62の切替接片63または64を介して、誤り訂正回路71(図20の誤り訂正回路44に対応する)に入力される。誤り訂正回路71は、期間Xwにおいて、入力された図8のポインタPXwの示す行のデータを、外パリティとエラーフラグを用いてイレージャ訂正する。訂正の結果、誤りシンボルとその訂正値が得られる。
【0084】
次に、図7の期間Xcにおいて、誤り訂正回路71は、訂正された値をリングバッファメモリ5及びフラグレジスタ73に供給し、リングバッファメモリ5では、対応する誤りシンボルに対して訂正された値の上書きが行われる。また、訂正を行ったので、図8の外符号フラグ(いまの場合、外符号フラグfi+144)をゼロにする。もし、誤りの数が多くて訂正不能の場合は、リングバッファメモリ5上のデータの書き換えはせず、訂正不能ということで、外符号フラグfi+144には1を書き込む。
【0085】
次に図7の期間Yrにおいて、スイッチ62の切替接片63,64が接点bに切り替えられ、内符号訂正のため、ポインタPYrの示す位置から、リングバッファメモリ5よりインタリーブ方向(図8の矢印A方向(図6の垂直方向))にデータが読み出され、誤り訂正回路71に入力される。一方、フラグレジスタ73からは、外符号フラグfi+143,fi+142,・・・fiが順に読み出され、内符号の訂正に使用される。誤り訂正回路71は、入力された外符号フラグと内パリティを用いて、入力データ(内符号)の誤り訂正(イレージャ訂正)を行う。
【0086】
このとき、フラグレジスタ73は、以下のように動作する。図10(b)に示すように、誤り訂正回路71から出力された外符号フラグfi+144は、スイッチ81の接点bを介して、フラグレジスタ73の左端のレジスタに記憶される。同時に、フラグレジスタ73の右端のレジスタに記憶されていた外符号フラグfi+143が、スイッチ82を介して出力される。
【0087】
次に、図10(c)に示すように、スイッチ81が接点a側に切り替えられ、外符号フラグfi+144が144個のシフトレジスタの右端まで転送される。同時に、各レジスタに記憶されていた外符号フラググfi+142,・・・fiが、スイッチ82を介して出力される。このように、フラグレジスタ73は、1個の内符号長分の外符号フラグfi+143,fi+142,・・・fiを出力することができる。また、フラグレジスタ73の144個のレジスタには、外符号フラグfi+144,fi+143,fi+142,・・・fi+1が記憶される。このように、フラグレジスタ73は、常に最新の外符号フラグを1個の内符号長分(144個)だけ記憶する。
【0088】
外符号フラグを、リングバッファメモリ5の空きエリアに書き込んだにも拘らず、フラグレジスタ73に記憶して、誤り訂正回路71に供給するのは、リングバッファメモリ5内の異なる領域から、データと外符号フラグをシンボル毎に同時に読み出すことができないためである。
【0089】
次に、図7の期間Ycにおいて、外符号の訂正と同様に、リングバッファメモリ5上の誤りシンボルに対し、訂正された値がリングバッファメモリ5内に送られて上書きされる。もし、誤りが多くて訂正不能の場合は、データの書き換えは行われない。
【0090】
また、内符号フラグgi乃至gi+143のすべてに、誤りを訂正したならゼロが、訂正不能なら1が、それぞれリングバッファメモリ5の空きエリアに書き込まれる。ただし、内符号フラグgi乃至gi+143の中で、過去の内符号訂正において、すでに1が書き込まれているものに対しては、何も書き込まれない。
【0091】
この動作を図11にて説明する。図11で、PYr1,PYr2,PYr3のポインタが示す3つの内符号のみが訂正不能であったとすると、図11に示すように、内符号フラグが書かれる。すなわち、訂正不能な内符号が外符号方向から見て、どこまで及ぶかを示したものが内符号フラグである。
【0092】
このようにして、誤り訂正を終えたリングバッファメモリ5上のデータは、最後に、図7の期間Zrにおいて、デコード部20のビデオコードバッファメモリ10へと読み出される。図8のPZrが、この場合の読み出しポインタである。データは順方向(水平方向)に読むが、内パリティと外パリティは不要なので(訂正は既に完了しているので)、飛ばして読み出す(読み出さない)。また、図8に示すように、PZrに対して、図示せぬANDゲートを介した外符号フラグfjと内符号フラグgjの論理積が、j行目の符号の訂正不能フラグとしてビデオコードバッファメモリ10に送られる。
【0093】
以上のような一連の動作が、図7のタイミングチャートにそって繰り返され、誤り訂正回路71によって外符号訂正と内符号訂正を終えたデータが、リングバッファメモリ5を介してビデオコードバッファ10に供給される。
【0094】
ここで、fjとgjの論理積をとる理由は、例えば、ある内記号が訂正不能となると、図11に示したように、斜め方向(インタリーブ方向)に内符号長の長さに渡り内符号フラグが立ってしまい、訂正不能部分が特定できないためである。外符号フラグfjと内符号フラグgjとの論理積をとれば、内符号フラグが立っていても、外符号フラグが訂正可能であったなら、その行jには誤りがないと判断でき、訂正不能な誤り部分に対し、より正確に訂正不能フラグを立てることが可能となる。
【0095】
尚、図8に示すように、ポインタPYeとPZrの差部分が、リングバッファメモリ5のデータ残量となる。ここで、PYeは、内符号訂正が完了した最近のデータのポインタを表す。
【0096】
リングバッファメモリ5からビデオコードバッファメモリ10へ送られたデータは、訂正不能フラグがゼロならば(訂正が正しく行われていれば)、図19における場合と同様にして、デコード部20でデコード(復号)される。訂正不能フラグが1ならば、その符号は誤りを含むので、後段の動画像復号回路(逆VLC回路11乃至動き補償回路15)では、このフラグがゼロになるまで復号を停止し、ディスプレイ18には、すでに復号済みでフレームメモリ16に格納されている画像データを繰り返し送る(従って、静止画となる)ことで、画像の乱れを防ぐ。
【0097】
ここで、フラグレジスタ73が、空き状態から図10(a)の状態になるまでの動作について示しておく。
【0098】
いま、ポインタPXwが、図8において、外符号フラグfiの位置(PYeの位置)にあり、ここから初めてエラー訂正が始まるものとする。そして、このPYeの行の外符号訂正が完了したとき、図9(a)に示すように、スイッチ81が接点b側に切り替えられ、誤り訂正回路71が出力する外符号フラグfiが、144個の連続するシフトレジスタの左端のレジスタに入力される。この左端のシフトレジスタの外符号フラグfiは、144個のシフトレジスタを順次右方向にシフトされ、右端のレジスタまで転送される。
【0099】
次に、ポインタPXwが図8において1行だけ上(即ち、PYeの1行上の位置)に移動される。そして、その行の符号の外符号訂正が行われ、図9(b)に示すように、外符号フラグfi+1が144個の連続するシフトレジスタの左端のレジスタに入力される。このとき、144個の連続するシフトレジスタの右端のレジスタの外符号フラグfiは、1個のレジスタに転送される。
【0100】
さらに図9(c)に示すように、スイッチ81が接点a側に切り替えられ、外符号フラグfi+1が、144個のシフトレジスタを順次右方向にシフトされ、右端のレジスタまで転送される。このとき、スイッチ81が接点a側に切り替えられているため、外符号フラグfiが、144個のシフトレジスタの左端に入力され、順次右方向にシフトされて、右端から1つ手前のレジスタまで転送される。
【0101】
次に、ポインタPXwがさらに1行だけ上(即ち、PYeの2行上の位置)に移動される。そして、その行の符号の外符号訂正が行われ、図9(d)に示すように、スイッチ81が接点b側に切り替えられ、外符号フラグfi+2が144個の連続するシフトレジスタの左端のレジスタに入力される。このとき、144個の連続するシフトレジスタの右端のレジスタの外符号フラグfi+1は、1個のレジスタに転送される。また、外符号フラグfiは、シフトレジスタの右端のレジスタに転送される。
【0102】
さらに、図9(e)に示すように、スイッチ81が接点a側に切り替えられ、外符号フラグfi+2が、144個のシフトレジスタを順次右方向にシフトされ、右端のレジスタまで転送される。このとき、スイッチ81が接点a側に切り替えられているため、外符号フラグfi+1,fiが、144個のシフトレジスタの左端に順次入力され、さらに順次右方向にシフトされて、右端から2つ手前と3つ手前のレジスタまでそれぞれ転送される。
【0103】
次に、図9(f)に示すように、スイッチ81が接点b側に切り替えられ、以下同様の処理が繰り返される。従って、フラグレジスタ73には、1シンクに1個の割合で、外符号フラグが入力される。尚、図9(a)から図9(f)及び図10の期間は、スイッチ82はオープンとされており、外符号フラグは出力されない。
【0104】
以上のように、ポインタPXwが図8に示す位置まで来た時点で、図10(a)に示すように、フラグレジスタ73の144個のレジスタには、外符号フラグfi+143,fi+142,・・・fiが記憶された状態となる。
【0105】
ところで、リングバッファメモリ5のメモリ空間を、図12のように、円で表すとすると、ポインタPXw,PYr,PZrは、矢印で示す方向(反時計方向)に、互いに追い越すことなく、回転することになる。ポインタPXwとPYrの距離は一定で、離れることはない。リングバッファメモリ5は、ビデオコードバッファメモリ10からの要求によりデータを読み出し、ビデオコードバッファメモリ10に供給するが、それに対応して、図に示すデータ残量が変化することになる。
【0106】
リングバッファメモリ5に対するデータの読み書きは制御回路74が制御しており、以上のポインタPXw,PYr,PZrは制御回路74により管理される。また、フラグレジスタ73に対する書き込み、読み出しの制御も制御回路74が行なう。
【0107】
次に、セクタアドレスの抽出について述べる。前述したように、バッファメモリ61から出力されたデータは、スイッチ62を介して誤り訂正回路71に供給され、そこで訂正されるが、外符号訂正されたデータは外符号フラグとともにセクタ検出回路72に送られる。セクタ検出回路72は入力されたデータよりセクタマークを検索し、セクタヘッダを検出する。そしてCRCによる誤り検出を行なう。また、セクタアドレスをセクタヘッダから読み出して記憶する(図3)。
【0108】
セクタアドレスは、CRCの誤り検出で誤りが検出されない場合、又はCRCの誤り検出で誤りが検出されても、外符号フラグがゼロの場合に、制御回路74に送られる。
【0109】
セクタアドレスの抽出は、外符号訂正後に行なわれるが、外符号は光ディスク1上でのデータの並びと同方向の並びのため、バーストエラーには弱く、訂正不能のためセクタアドレスが得られないことがある。また、外符号訂正で誤訂正が生じる可能性もある。従って、セクタごとに正しいセクタアドレスが得られるとは限らない。そこで、セクタアドレスの正しさは、次に説明する制御回路74でのフライホイール動作により監視される。
【0110】
次に、セクタアドレスのフライホイール動作について説明する。制御回路74は、セクタ検出回路72より入力されるセクタアドレスを監視し、セクタアドレスが16符号間隔(図2)で検出でき、かつ、セクタアドレスの値が1ずつ増加しているならば、セクタアドレスを有効とする。有効セクタアドレスが予め設定したセクタ数、例えば3セクタ以上続けば、フライホイール(フラグ)オンとする。
【0111】
フライホイールがオンの場合に、セクタアドレスが有効でない状態が、予め設定したセクタ数、例えば5セクタ以上続いたら、フライホイールをオフとする。このような状態は、例えば、衝撃などでピックアップ2が別のトラックに飛んでしまった場合に起こり得る。この場合は、異常処理動作を行なう。これについては後述する。
【0112】
図13にフライホイールの状態を示す。Aは有効セクタアドレスを示し、Xは無効セクタアドレスを示す。Aの添字はアドレス値を示す。左から右へとセクタアドレスが得られたものとする。A22を始点として、A23,A24,A25と3セクタ続けて有効セクタアドレスが得られたので、フライホイールオンになる。また、A32の後、5セクタ続けて有効セクタアドレスが得られなかったので、フライホイールオフとなる。
【0113】
フライホイールがオンの状態では、最後に得られた有効セクタアドレスを最新有効セクタアドレスとして、常時更新しながら記憶している。図13ではA32が最新有効セクタアドレスである。
【0114】
このようにフライホイールをオン、オフすることで、セクタアドレスが正しく得られているか否かを監視し、データに誤りがあって、一時的にセクタアドレスが得られない場合、セクタアドレスを直前の値から連続するものとして補間することにより、安定したリングバッファメモリ5へのデータの書き込みが可能となる。
【0115】
光ディスク1の再生を始めると、バッファメモリ61から出力されたデータはリングバッファメモリ5にはすぐには書き込まれない。制御回路74において、セクタアドレスが連続して検出され、フライホイールがオンになって初めて、ポインタPXw,PYrがリングバッファメモリ5に送られ、リングバッファメモリ5の書き込みおよび読み出しと、誤り訂正回路71における内符号の誤り訂正が開始される(外符号の訂正は、常に行われている)。このことは、書き込みを中断後、再開する場合も同様であり、リングバッファメモリ5への書き込みは、常にフライホイールがオンの状態で行なわれる。
【0116】
次に、ピックアップ2のトラックジャンプについて説明する。リングバッファメモリ5のデータ残量が設定値以上になり、オーバーフローの恐れがある場合、すなわち図12で、ポインタPXwがPZrに追いつく可能性のある場合、制御回路74よりトラッキングサーボ回路8にトラックジャンプ指令が出力される。このとき、リングバッファメモリ5の書き込みと読み出し、および誤り訂正回路71の内符号の誤り訂正動作は中断される。そして、フライホイールはオフとされ、最新有効セクタアドレス、例えば図13におけるA32が記憶される。
【0117】
図14は、光ディスク1の記録トラックを示す。この図で、最新有効セクタアドレスA32は、ジャンプを開始する点Pの手前に位置することになる。ジャンプが指令されると、図に示すように、ピックアップ2(再生点)は点Pから点Qへ飛び、内周トラックを読み始め、フライホイールは再びオンになる。光ディスク1が1周して、記憶していた最新有効セクタアドレスA32までピックアップ2が来たら、そこからリングバッファメモリ5の書き込みと読み出し、および誤り訂正回路71の内符号の誤り訂正を再開する。
【0118】
図15(a)は、ピックアップ2が再び点Pに来たとき、セクタアドレスが検出される様子を示したもので、A32のセクタよりリングバッファメモリ5にデータの書き込みが再開される。
【0119】
ここで、A32が無効セクタである場合があり得る。図15(b)は、そのような場合の例を示す。この場合、フライホイールがオンになっているので、A32が検出されなくても、過去のアドレスより補間する。そして、A31の16符号だけ後のデータより書き込み動作を再開する。
【0120】
以上の動作を行なうことで、トラックジャンプで書き込みを中断したにも拘らず、リングバッファメモリ5に連続したデータを続けて書くことができる。
【0121】
トラックジャンプによりポインタPXw,PYr(PYe)は停止するが、その間、ビデオコードバッファメモリ10の要求に応じデータを読み出すので、ポインタPZrは図12において反時計方向に進み、リングバッファメモリ5のデータ残量は減り、オーバーフローを防ぐことができる。
【0122】
次に、異常処理動作について説明する。 例えば機械的振動(外乱)などによりピックアップ2が意図しないトラックジャンプを起こしたとする。このとき、連続したセクタアドレスが得られないので、フライホイールはオフとなり、リングバッファメモリ5の書き込みと読み出し、および誤り訂正回路71の内符号の誤り訂正動作は中断される。また、このとき、制御回路74は最新有効セクタアドレスを参照し、それより例えば20セクタ前から読み出すようにピックアップ2を移動させる。こうすることで、最新有効セクタアドレスの手前で再びフライホイールがオンになり、最新有効セクタから同様に書き込みを再開することができる。
【0123】
この際、データ残量に十分余裕があれば、ピックアップ2が意図しないトラックジャンプを起こした位置に復帰してデータ読み出しを再開するまでに、リングバッファメモリ5のデータ残量がゼロになることはない。従って、リングバッファメモリ5からビデオコードバッファメモリ10への読み出しは途切れることがなく、画像復号再生には全く影響を与えずに回復が可能である。
【0124】
次に、誤り訂正不能が生じた場合の処理について述べる。図16は、図12と同様に、リングバッファメモリ5上の各ポインタを示す。ここで点Rから後の点Xで表した部分が、外符号訂正と内符号訂正で訂正不能であったとする。制御回路74は訂正不能部分の先頭セクタのアドレスを記憶しておく。そして、制御回路74において、誤り訂正可能であると判定された場合、訂正不能部分の終わりから一定距離、例えば5セクタ過ぎた点Sまで、訂正を進める。
【0125】
また、制御回路74は、点Rから点Sまで誤り訂正を行なうのに必要な時間に、ディスク1周に要する時間を加えた時間を算出する。そしてこの時間に、リングバッファメモリ5から、ビデオコードバッファメモリ10へのデータ転送の最大速度を乗算し、この乗算して求めた時間内に、リングバッファメモリ5が失い得るデータの最大量を求める。さらに、このデータ量とリングバッファメモリ5上のデータ残量とを比較する。データ残量の方が大きければ、ポインタPZrがPYrに追いつくことはあり得ないので、繰り返し訂正可能であると判定する。
【0126】
ここで、ピックアップ2のディスク半径方向の位置情報よりディスク1周の時間を、ある程度正確に求めることで、とくに1周の時間が短いディスク内周では、データ残量が少ない場合でも、繰り返し訂正の可能性を高めることができる。即ち、ピックアップ2がディスク1の最外周近くにある場合は、ディスクの1回転周期が長いので、それ相当のデータ残量がリングバッファメモリ5に残っていないと、上記の再訂正はできないが、内周にある場合は、回転周期が短く、データ残量が少なくとも、再訂正が可能となる。
【0127】
繰り返し訂正可能であると判定された場合、まずトラックジャンプを行なって、光ディスク1からの読み込みを停止し、スイッチ62の切替接片63,64を接点bに切り替える。ポインタPXwおよびPYrは、図17に示すように、点Rまで戻され、そこから外符号訂正と内符号訂正が再度開始される。そして点Sまで訂正を終えると、そこでポインタを停止し、スイッチ62の接片63,64を接点aに切り替え、点S以降のデータが光ディスク1より読み込まれるのを待って、書き込みを再開する。この点Sにおける書き込みは、上述したトラックジャンプのときと同様に、最新有効セクタアドレスより再開される。
【0128】
尚、復調回路3からのエラーフラグは既に失われている。従って、繰り返し訂正を行う場合、2回目の外符号訂正時には、参照すべきエラーフラグが存在しないので、通常の訂正(イレージャ訂正ではなく、外パリティだけを用いた訂正)を行なう。但し、この2回目の外符号訂正により得られた外符号フラグは、2回目の内符号訂正のイレージャ訂正に用いられる。
【0129】
このような制御を行なうことで、リングバッファメモリ5からビデオコードバッファメモリ10への読み出しを途切れさせることなく(画像復号再生には全く影響を与えずに)、訂正不能部分を再度訂正することが可能となる。また、データ残量に余裕がある限り、何回でも訂正不能部分を繰り返し訂正することができ、誤り訂正能力を向上させることが可能となる。
【0130】
次に、特殊再生時の動作について述べる。早送り、早戻し(巻戻し)などの特殊再生では、例えば光ディスク1上のIピクチャのデータのみを順に読み込み、再生する。このとき、内符号はインターリーブされているため、所望のセクタよりインターリーブ長だけ手前から読み始める必要がある。また、読み終りも、必要な最後のデータからインターリーブ長分だけ余分に読む必要がある。このデインタリーブに要する時間は、通常再生時には連続してデータが処理されるため問題ないが、所望のデータ(Iピクチャのデータ)を高速で読み出す動作を繰り返す特殊再生では、高速再生を困難にする要因となる。即ち、再生時間を遅くする要因となる。
【0131】
そこで、特殊再生時には、外符号による誤り訂正のみを行ない、内符号による誤り訂正は行なわないように、制御回路74がリングバッファメモリ5や誤り訂正回路71等を制御する。特殊再生時には、スイッチ62の切替切片63,64は常に接点a側に切り替えられている。バッファメモリ61から出力されたデータは、上述したように、リングバッファメモリ5と誤り訂正回路71に送られ、外符号による訂正が行われる。
【0132】
通常再生時においては、再びデータがリングバッファメモリ5より読み出され、誤り訂正回路71に送られ、内符号による誤り訂正がなされるのであるが、特殊再生時にはこれを行なわない。ビデオコードバッファメモリ10には通常再生時と同様にデータが送られる。このとき、読み出しポインタPZrは、図8に示したように、ポインタPYrの後にある必要はなく、ポインタPXwの直後より読み出しを開始することが可能である。
【0133】
このように、デインタリーブを行なわないので、リングバッファメモリ5よりビデオコードバッファメモリ10に、データを迅速に送ることができ、高速な再生動作が可能となる。内符号訂正を行なわないので、誤り訂正能力の点でやや不利となるが、特殊再生時においては、誤り訂正不能により一時的に画面の凍結が生じても(静止画が再生されても)、あまり目立たず、実用上殆ど差し支えることはない。
【0134】
尚、誤り訂正符号は畳み込み符号(内符号と外符号)ではなく、完結型の積符号とすることも可能である。図18は、積符号を用いた場合のフォーマットの例を表している。この実施例においては、図の横方向のデータに対してC1パリティが、また縦方向のデータに対してC2パリティが、それぞれ付加されている。このようなフォーマットのデータに対しても、リングバッファメモリ5に対する書き込みと読み出しのアドレスを変更することで、本発明の適用が可能である。
【0135】
以上、本発明のデータ再生方法を光ディスク装置に応用した場合について説明したが、本発明は、光ディスク装置だけでなく、例えば光磁気ディスク装置などに適用することができる。
【0136】
また、本発明は、動画像データを再生する場合のみならず、音声データ、または、動画像データと音声データが多重化されたデータを再生する場合にも適用することができる。
【0137】
【発明の効果】
以上のように、本発明のデータ再生方法及びデータ再生装置によれば、セクタヘッダを含んで計算された2系統の誤り訂正符号のうちのいずれか1系統によってデータの誤りの訂正を行うようにしたので、より確実な訂正を行うことが可能になる。
【0138】
また、特殊再生やセクタアドレスを検索する場合などにおいては、一方の系統の誤り訂正符号のみを用いて誤りの訂正を行うことができ、より高速の再生や、迅速なアクセスが可能になる。
【図面の簡単な説明】
【図1】本発明のデータ再生装置を応用した光ディスク装置の一実施例の構成を示すブロック図である。
【図2】本発明のデータ再生装置のデータのフォーマットを示す図である。
【図3】図2のデータフォーマットのセクタヘッダの構成を示す図である。
【図4】図1の復調回路3でシンクが補間される様子を示した図である。
【図5】図1のリングバッファメモリ5にデータが格納される状態を示した図である。
【図6】図1のリングバッファメモリ5にデータを書き込みまたは読み出す順序を示す図である。
【図7】図1のリングバッファメモリ5にデータを書き込み、読み出すタイミングを示す図である。
【図8】図1のリングバッファメモリ5のメモリ空間の概略を示す図である。
【図9】図1のフラグレジスタ73の動作を説明する図である。
【図10】図1のフラグレジスタ73の動作を説明する図である。
【図11】リングバッファメモリ5に書き込まれる内符号フラグを説明する図である。
【図12】図1のリングバッファメモリ5上の書き込みと読み出しのポインタを説明する図である。
【図13】入力されたセクタアドレスとフライホイールのオンオフを説明する図である。
【図14】光ディスク1上でピックアップ2がトラックジャンプする軌跡を示した図である。
【図15】リングバッファメモリ5への書き込みを再開するときのセクタアドレスを説明する図である。
【図16】図1のリングバッファメモリ5上の書き込みと読み出しのポインタを説明する図である。
【図17】図1のリングバッファメモリ5上の書き込みと読み出しのポインタを説明する図である。
【図18】本発明のデータ再生装置のデータフォーマットの変形例を示す図である。
【図19】従来の光ディスク装置の一例の構成を示すブロック図である。
【図20】図19の光ディスク装置のECC回路6のより詳細な構成を示すブロック図である。
【図21】図20のECC回路6のメモリ42のメモリ空間を示すメモリマップである。
【符号の説明】
1 光ディスク
2 ピックアップ
3 復調回路
4 セクタ検出回路
5 リングバッファメモリ
6 ECC回路
7 トラックジャンプ判定回路
8 トラッキングサーボ回路
9 PLL回路
10 ビデオコードバッファメモリ
11 逆VLC回路
12 逆量子化回路
13 逆DCT回路
14 加算回路
15 動き補償回路
16 フレームメモリ
17 D/A変換回路
18 ディスプレイ
20 デコード部
31 制御回路
41 バッファメモリ
42 メモリ
43 アドレス発生器
44 誤り訂正回路
45 バッファメモリ
61 バッファメモリ
62 スイッチ
63,64 切替切片
71 誤り訂正回路
72 セクタ検出回路
73 フラグレジスタ
74 制御回路
[0001]
[Industrial applications]
The present invention relates to a data reproducing method and a data reproducing apparatus suitable for use in an optical disk device or a magneto-optical disk device for reproducing image data or audio data recorded on a disk such as an optical disk or a magneto-optical disk.
[0002]
[Prior art]
For example, as an optical disk device for reproducing moving image data or audio data recorded on a recording medium such as an optical disk by an image compression method conforming to a predetermined standard such as MPEG, for example, Japanese Patent Application No. There is one disclosed in the specification and drawings of 4-92223.
[0003]
That is, as shown in FIG. 19, in this optical disk device, the pickup 2 irradiates the optical disk 1 with laser light, and reproduces, for example, image data recorded on the optical disk 1 from the reflected light. Data output from the pickup 2 is input to a demodulation circuit 3 where it is demodulated. The output of the pickup 2 is also input to a phase locked loop (PLL) circuit 9 to extract a clock. This clock is sent to the demodulation circuit 3 and the sector detection circuit 4. The data demodulated by the demodulation circuit 3 is input to the ECC circuit 6 via the sector detection circuit 4, where error detection and correction are performed.
[0004]
The sector detection circuit 4 detects a sector number (address assigned to a sector of the optical disc 1) from the data demodulated by the demodulation circuit 3 and outputs the same to the control circuit 31. Further, the sector detection circuit 4 outputs, for example, a sector number abnormality signal to the track jump determination circuit 7 if the sector number cannot be detected or if the sector number can be detected, for example, if the sector numbers are not continuous. .
[0005]
The ECC circuit 6 detects a data error from the data supplied from the demodulation circuit 3 via the sector detection circuit 4, and performs error correction using a parity bit (parity data) added to the data. Further, when the ECC circuit 6 cannot correct the data error, it outputs an error occurrence signal to the track jump determination circuit 7. The error-corrected data is supplied from the ECC circuit 6 to the track jump ring buffer memory 5 and stored therein under the control of the control circuit 31.
[0006]
The control circuit 31 reads an address of each sector of the optical disc 1 from the output of the sector detection circuit 4, and stores data from the ECC circuit 6 in the ring buffer memory 5 corresponding to the address (ring buffer memory). 5) The write address (write point (WP)) is specified. Further, the control circuit 31 specifies a read address (reproduction point (RP)) of the data written in the ring buffer memory 5 based on the code request signal from the video code buffer memory 10 of the decoding unit 20 at the subsequent stage. Then, data is read from the reproduction point (RP), supplied to the video code buffer memory 10, and stored.
[0007]
The data stored in the video code buffer memory 10 is transferred to the inverse VLC circuit 11 based on a code request signal from the subsequent inverse VLC circuit 11. The inverse VLC circuit 11 performs an inverse VLC process on the input data. When the inverse VLC process on the input data is completed, the inverse VLC circuit 11 outputs the data to the inverse quantization circuit 12 and sends a code request signal to the video code buffer 10. Output and request input of new data. Further, the inverse VLC circuit 11 outputs the quantization step size or the motion vector to the inverse quantization circuit 12 or the motion compensation circuit 15, respectively.
[0008]
The inverse quantization circuit 12 inversely quantizes the input data according to the quantization step size supplied from the inverse VLC circuit 11 and outputs the data to the inverse DCT circuit 13. The inverse DCT circuit 13 performs an inverse DCT process on the input data, and supplies the data to the addition circuit 14.
[0009]
When the data supplied from the inverse DCT circuit 13 to the addition circuit 14 is I-picture data, the data is output to the frame memory 16 via the addition circuit 14 and stored as it is.
[0010]
If the data is data of a P picture having an I picture as a prediction image, data of the already decoded I picture is read from the frame memory 16 and supplied to the motion compensation circuit 15. The motion compensation circuit 15 performs motion compensation corresponding to the motion vector supplied from the inverse VLC circuit 11 on the data supplied from the frame memory 16 to obtain a predicted image, and supplies the predicted image to the addition circuit 14. The addition circuit 14 adds the data output from the inverse DCT circuit 13 and the data output from the motion compensation circuit 15 to generate P picture data. This data is also stored in the frame memory 16.
[0011]
If the data output from the inverse DCT circuit 13 is B-picture data, the already decoded I-picture or P-picture data is read from the frame memory 16 and supplied to the motion compensation circuit 15. The data supplied to the motion compensation circuit 15 is subjected to motion compensation there, and is supplied to the addition circuit 14. The addition circuit 14 adds the data output from the inverse DCT circuit 13 and the data output from the motion compensation circuit 15, so that decoded B picture data is obtained. This data is also stored in the frame memory 16.
[0012]
The image data decoded as described above and stored in the frame memory 16 is subjected to D / A conversion by the D / A converter 17, and then supplied to the display 18 for display.
[0013]
As described above, the control circuit 31 supplies the data stored in the ring buffer memory 5 to the video code buffer memory 10 in response to the code request signal from the video code buffer memory 10; When the data processing for the image continues and the data transfer amount from the video code buffer memory 10 to the inverse VLC circuit 11 decreases, the data transfer amount from the ring buffer memory 5 to the video code buffer memory 10 also decreases. Then, the amount of data stored in the ring buffer memory 5 increases, and there is a possibility of overflow.
[0014]
Therefore, the track jump determination circuit 7 calculates (detects) the amount of data currently stored in the ring buffer memory 5 from the write point (WP) and the reproduction point (RP) controlled by the control circuit 31, and When the data amount exceeds a predetermined reference value set in advance, it is determined that there is a possibility that the ring buffer memory 5 overflows, and a track jump command is output to the tracking servo circuit 8.
[0015]
When the track jump determination circuit 7 detects a sector number abnormal signal from the sector detection circuit 4 or an error occurrence signal from the ECC circuit 6, the write point (WP) and the reproduction point (RP) controlled by the control circuit 31 are controlled. ), The amount of data remaining in the ring buffer memory 5 is determined. Also, while the optical disk 1 makes one rotation from the current track position (while waiting for one rotation of the optical disk 1), reading from the ring buffer memory 5 to the video code buffer memory 10 is guaranteed (the ring buffer memory). 5 to obtain the necessary data amount (to prevent underflow from occurring).
[0016]
If the amount of remaining data in the ring buffer memory 5 is sufficiently large, even if data is read from the ring buffer memory 5 to the video code buffer memory 10 at the highest transfer rate, no underflow occurs in the ring buffer memory 5. The track jump determination circuit 7 determines that the error recovery is possible by reproducing the error occurrence position by the pickup 2 again, and outputs a track jump command to the tracking servo circuit 8.
[0017]
When the track jump command is output from the track jump determination circuit 7, the tracking servo circuit 8 causes the track reproduced by the pickup 2 to jump. That is, for example, when data is recorded from the inner circumference to the outer circumference of the optical disc 1, the tracking servo circuit 8 causes the pickup 2 to jump from the current position to an adjacent track on the inner circumference side. Then, a new reproduction position by the pickup 2 is maintained until the optical disk 1 makes one rotation again to reach the original position, that is, until the sector number obtained from the sector detection circuit 4 becomes the sector number at the time of the track jump. Writing of data to the ring buffer memory 5 is prohibited, and data already stored in the ring buffer memory 5 is transferred to the video code buffer memory 10 as necessary.
[0018]
Also, after the track jump, even if the sector number obtained from the sector detection circuit 4 matches the sector number at the time of the track jump, if the data amount stored in the ring buffer memory 5 exceeds a predetermined reference value, When there is a possibility that the ring buffer memory 5 overflows, data writing to the ring buffer memory 5 is not restarted, and the track jump is performed again.
[0019]
Here, the ring buffer memory 5 has a capacity capable of storing data of at least one track (one rotation) of the optical disc 1.
[0020]
Therefore, when the optical disk 1 is, for example, a constant linear velocity (CLV) disk, the rotation cycle is maximum at the outermost circumference, and thus the storage capacity of one track (one rotation) at the outermost circumference, that is, (rotation of the outermost circumference) It has at least a storage capacity of (cycle) × (data transfer rate from the ECC circuit 6 to the ring buffer memory 5).
[0021]
The maximum transfer rate of data from the ring buffer memory 5 to the video code buffer memory 10 is set to a value equal to or smaller than the data transfer rate from the ECC circuit 6 to the ring buffer memory 5. By doing so, a code request for data transfer from the video code buffer memory 10 to the ring buffer memory 5 can be freely transmitted regardless of the track jump timing.
[0022]
As described above, according to this optical disk device, the pickup 2 is caused to make a track jump according to the storage capacity of the ring buffer memory 5, so that regardless of the complexity or flatness of the reproduced image from the optical disk 1, Overflow or underflow of the video code buffer memory 10 is prevented, and an image of uniform quality can be reproduced for a long time.
[0023]
Further, according to this optical disk device, when an error occurs in the data read from the optical disk 1, the pickup 2 is caused to perform a track jump and the data is read from the optical disk 1 again. Degradation can be prevented.
[0024]
Incidentally, the ECC circuit 6 in the optical disk device of FIG. 19 is configured as shown in FIG. 20, for example. Data output from the demodulation circuit 3 (FIG. 19) is input to the ECC circuit 6 via the sector detection circuit 4, and is temporarily stored in the buffer memory 41 (FIG. 20) at the input stage. The data stored in the buffer memory 41 is sequentially transferred to the memory 42 and stored according to the address generated by the address generator 43. The data stored in the memory 42 is read therefrom and transferred to the error correction circuit 44. The error correction circuit 44 performs error correction on the data transferred from the memory 42, and stores the error-corrected data in the memory 42 again.
[0025]
Here, writing and reading of data to and from the memory 42 will be described with reference to a memory map of FIG. The circles in the figure indicate one symbol unit of error correction, usually one byte. Writing or reading of data to / from the memory 42 is performed in units of one data length in one horizontal row of the memory map shown in FIG. At the end, a parity bit (a shaded portion in the figure) is added, and the parity bit is added in a diagonal direction of the memory map (hereinafter referred to as an interleave direction) (a direction indicated by a dotted arrow in the figure). The parity bit as the last part of the data arrangement is a parity bit for correcting errors in the data arranged in the interleave direction.
[0026]
That is, for example, in order to isolate a burst error, data and parity bits for correcting an error of the data are arranged in the interleave direction.
[0027]
Therefore, in the memory 42, first, the data from the buffer memory 41 is written in the address direction according to the address indicated by the write pointer wp1.
[0028]
The address direction means a direction from left to right and from top to bottom in the memory map of FIG.
[0029]
Then, according to the address indicated by the read pointer rp1 delayed by at least the storage capacity (address) required to read data in the interleave direction (hereinafter referred to as the interleave length), the data already written in the memory 42 is The data is read out in the interleave direction and supplied to the error correction circuit 44. The error correction circuit 44 performs an error correction process on the data arrangement in the interleave direction as described above, and the error-corrected data is transferred to the memory 42.
[0030]
The data error-corrected by the error correction circuit 44 is written again at the first written position (address) according to the address indicated by the write pointer wp2, and according to the read pointer rp2 moving in the address direction, the buffer memory 45 (FIG. 20). ).
[0031]
By repeating the above operation as one cycle, the error-corrected data is sequentially output from the buffer memory 45 to the ring buffer memory 5 (FIG. 19).
[0032]
Therefore, the error-corrected data is once stored in the memory 42 (FIG. 20) and then stored in the ring buffer memory 5 again.
[0033]
As described above, in the conventional optical disk device, a redundant operation of sequentially putting data in and out of two different memories (the memory 42 and the ring buffer memory 5) is performed, and the size of the device only increases. However, there is a problem that the data processing speed is reduced.
[0034]
Therefore, the present applicant has previously proposed, as Japanese Patent Application No. 4-285475, to correct an error in data stored in the ring buffer memory 5.
[0035]
[Problems to be solved by the invention]
However, the above proposal has a problem that a correct sector address cannot be read and the optical disk 1 cannot be accessed accurately and quickly.
[0036]
Furthermore, when there is a large error in the data read from the optical disc 1 and the data cannot be corrected, there is a problem that the data cannot be corrected again.
[0037]
Further, there is a problem that it takes time to deinterleave, and it is difficult to perform a high-speed reproduction operation during special reproduction such as fast-forward or rewind.
[0038]
The present invention has been made in view of such a situation, and has an object to enable quick access to a disk and high-speed reproduction of the disk.
[0039]
Further, the present invention improves the error correction capability.
[0040]
[Means for Solving the Problems]
The data reproducing method of the present invention is a data reproducing method for reproducing recorded data recorded on a disc, Calculated including the sector header From the disk on which the recording data including the error correction code of the two systems is recorded, the recording data is read via the pickup, the read data is demodulated, the demodulated data is stored in the memory, and the demodulated data is demodulated. The data is subjected to error correction by one of two error correction codes, and if the error of the demodulated data is correctable, the corrected value is supplied to the memory. Overwrites the value stored in memory and decrypts the data read from memory And detects a sector address from a sector header of the error-corrected data. It is characterized by the following.
[0041]
The two systems of error correction codes are a first error correction code added to data interleaved with data recorded on the disk, and a second error correction code added to data not interleaved. Consists of correction code The error correction for the demodulated data is performed by the second error correction code. be able to.
[0042]
If the error with respect to the demodulated data cannot be corrected, the data stored in the memory is read out, corrected again by the first error correction code, and the corrected value is supplied to the memory. Overwrites the value read from the memory and decrypts the data read from the memory can do.
[0047]
A valid period and an invalid period are set based on the continuity of valid sector addresses among the detected sector addresses, and when a valid sector address is not detected during the valid period, the sector addresses are interpolated. it can.
[0049]
A data reproducing apparatus of the present invention is a data reproducing apparatus for reproducing recorded data recorded on a disc, Calculated including the sector header A reading means (for example, a pickup 2 in FIG. 1) for reading recording data from a disc (for example, the optical disc 1 in FIG. 1) on which recording data including two systems of error correction codes are recorded, and a data read by the reading means. Means for demodulating the data, a memory for storing data demodulated by the demodulation means (for example, the ring buffer memory 5 in FIG. 1), and one of two error correction codes for the demodulated data. Error correction means (for example, the error correction circuit 71 in FIG. 1) for performing error correction, and when an error in the demodulated data can be corrected, the corrected value is supplied to the memory and stored in the memory. The control means (for example, the control circuit 74 in FIG. 1) for controlling to overwrite the value, and the decoding means (for example, FIG. Decoding unit of 20) and A sector address detecting means for detecting a sector address from a sector header of error-corrected data; It is characterized by having.
[0050]
The two systems of error correction codes are a first error correction code added to data interleaved with data recorded on the disk, and a second error correction code added to data not interleaved. Correction code The error correction for the demodulated data performed by the error correction means is performed by the second error correction code. be able to.
[0051]
control Means are For demodulated data error But Uncorrectable Met If stored in memory Is Data Is read by the error correction means using the first error correction code. Correct again Is performed, the corrected value is supplied to the memory, the value stored in the memory is overwritten, and the data read from the memory is controlled to be decoded. can do.
[0056]
A valid period and an invalid period are set based on the continuity of the valid sector addresses among the detected sector addresses, and means for interpolating the sector addresses when no valid sector address is detected during the valid period is provided. Features.
[0058]
[Action]
In the data reproducing method and the data reproducing apparatus having the above-described configuration, data such as image data recorded on a disk is read out and demodulated by a pickup as a reproducing point, and temporarily stored in a memory such as a ring buffer memory. Is done. Then, the error of the data stored in this memory is, for example, Calculated including the sector header The error is corrected by one of the two error correction codes. If the error in the demodulated data is correctable, the corrected value overwrites the value stored in the memory, and the data is read from the memory and decoded. , Sector address is detected from sector header of error-corrected data . Therefore, not only errors can be reduced, but also quick access to the disk and high-speed reproduction can be achieved.
[0059]
【Example】
FIG. 1 is a block diagram showing the configuration of an embodiment of an optical disk device to which the data reproducing method of the present invention is applied. In the figure, parts corresponding to those in FIG. 19 are denoted by the same reference numerals.
[0060]
Next, before describing the optical disk device, a data format on the optical disk 1 reproduced by the optical disk device will be described with reference to FIG.
[0061]
In FIG. 2, circles indicate data of one symbol (one byte). In the data, for example, one code (one line) is in units of 128 bytes, and includes a sector header for every 16 codes.
[0062]
As shown in FIG. 3, the sector header includes a sector mark indicating the sector header, a sector address which increases by one for each sector, and a cyclic code (CRC) for detecting an error in the sector header.
[0063]
As shown in FIG. 2, in the data in which one row is arranged every 128 bytes, an error correction code of 16 bytes is added as inner parity to data read in a diagonal direction (direction of arrow A). In the figure, a circle with a vertical line added therein indicates an inner parity. For the inner parity, so-called convolution is performed, and the parity is calculated without interruption from the beginning to the end of the data in the oblique direction. The code of 144 (= 128 + 16) bytes in the oblique direction is called an inner code.
[0064]
Next, data is read in the horizontal direction (in the direction of arrow B) from the row for which the inner parity has been calculated. It is added as parity. In FIG. 2, a circle with a horizontal line indicates an outer parity. The code of 160 (= 128 + 16 + 16) bytes in the horizontal direction is called an outer code.
[0065]
These two types of parity (inner parity and outer parity) are calculated including the sector header, and an error occurring in the sector header can be corrected by outer code correction or inner code correction.
[0066]
As shown in FIG. 2, a sync signal is added to the head of 160 bytes (128 bytes of data, 32 bytes of inner and outer parities) of each row.
[0067]
The pickup 2 shown in FIG. 1 irradiates a laser beam onto the optical disc 1 on which image data is recorded in the format described above, and reproduces, for example, image data recorded on the optical disc 1 from the reflected light. Data output from the pickup 2 is input to the demodulation circuit 3 and demodulated. The output of the pickup 2 is also input to the PLL circuit 9 to extract a clock. This clock is sent to the demodulation circuit 3 and the buffer memory 61. The data demodulated by the demodulation circuit 3 is input to the buffer memory 61. The data output from the buffer memory 61 is written into the ring buffer memory 5 under the control of the control circuit 74.
[0068]
The demodulation circuit 3 has a sync protection function. That is, in the normal reproduction state of the disc, syncs are obtained at equal intervals at the beginning of each code from the reproduction data, but when no sync is obtained, the interpolation of the sync is performed as shown in FIG. That is, since the sync occurs at a fixed cycle, if no sync is detected at this cycle, the sync is generated and output in a pseudo manner. Since the circuits subsequent to the demodulation circuit 3 use the sync as one operation unit, stable operation can be performed by such sync interpolation.
[0069]
The demodulation circuit 3 has a built-in conversion table and performs demodulation by comparing input data with a conversion table for each modulation unit. If a combination is found, an error flag is set for each symbol (the flag is set to 1). Further, the locked state of the PLL is known from the clock supplied from the PLL circuit 9, and an error flag is set while the lock is released.
[0070]
Further, when the sync is interpolated and when the number of error flags in one code is larger than a predetermined number, an error flag is set for all symbols having one code length. This error flag is sent to the buffer memory 61 together with the data.
[0071]
Next, writing and reading of data to and from the ring buffer memory 5 and the flag register 73 will be described.
[0072]
As the ring buffer memory 5, a static random access memory (SRAM) or a dynamic random access memory (DRAM) can be used. An SRAM is different from a DRAM in that data can be continuously written or read at a high speed without limitation, but is expensive.
[0073]
On the other hand, although DRAMs are inexpensive, it is necessary to use a so-called high-speed page mode to write or read data at high speed. The page unit in the high-speed page mode is limited to, for example, 256 bytes, and when reading or writing data beyond this, it is necessary to switch pages. The shorter the number of page switching, the shorter the processing time. Therefore, the present apparatus reads and writes data in different directions depending on whether the outer code is corrected (correction in the direction of arrow B in FIG. 2) or the inner code is corrected (correction in the direction of arrow A in FIG. 2). In this case, in any case, a method of storing data in the ring buffer memory 5 is devised so that page switching is performed at equal intervals as much as possible and the number of times of switching is reduced. .
[0074]
Hereinafter, a method of storing data in the ring buffer memory 5 will be described. That is, the data in the format shown in FIG. 2 is represented by a matrix D (i, j), where i is the code number (row in FIG. 2), j is the number of the symbol in the code from the top of the sync, and . In this case, the i-th (i-th row) code is composed of 160 symbols from D (i, 0) to D (i, 159). The data sequence in the inner code direction (the direction of arrow A in FIG. 2) is represented as follows.
D (i, 0), D (i + 1,1), D (i + 2,2),
...., D (i + 143, 143)
[0075]
On the other hand, the address of the ring buffer memory 5 is represented as R (m, n), where m is the row address and n is the column address. n is a value of 0 or more and 159 or less. The row address and the column address are each 16 pages. Here, the data D (i, j) in the format of FIG. 2 is written into the ring buffer memory 5 at an address R (m, n) indicated by m and n obtained by the following equation. That is,
k = (15− (i mod 16)) + j
And then
m = i
n = k when k <160
When k ≧ 160, n = k−160
It is said. However, the operator mod represents a remainder.
[0076]
FIG. 5 shows a state where the data D (i, j) is stored at the address R (m, n) of the ring buffer memory 5. In this case, the data order of the outer code and the inner code starting from D (1, 0) is as shown in FIG. As is clear from FIG. 6, since the outer code is arranged in the horizontal direction and the inner code is arranged in the vertical direction, in each case, except for the first few symbols, every 16 symbols, at equal intervals, Page switching occurs. Therefore, by storing the data in the ring buffer memory 5 in this manner, both the outer code and the inner code can realize high-speed reading and writing in the high-speed page mode.
[0077]
Writing to and reading from the ring buffer memory 5 is performed at a rate several times the data rate input from the demodulation circuit 3 to the buffer memory 61, for example, five times. FIG. 7 shows the timing. The one sync time in FIG. 7 is the same time (sync cycle) as the interval between the syncs shown in FIG. 4, and is the time when 160 bytes of one code data is input from the demodulation circuit 3 to the buffer memory 61. Corresponding to
[0078]
Xw in FIG. 7 indicates a timing (period) at which data for one sync temporarily stored in the buffer memory 61 is written to the ring buffer memory 5. Xc indicates the timing (period) of rewriting the error symbol and the outer code flag. Yr indicates the timing (period) of reading the inner code data on the ring buffer memory 5. Yc indicates the timing (period) of rewriting the error symbol and the inner code flag. Zr indicates the timing (period) of reading data from the ring buffer memory 5 to the video code buffer memory 10.
[0079]
FIG. 8 schematically shows the memory space of the ring buffer memory 5 with one code length as one horizontal row (actually, as shown in FIG. 5 and FIG. Is stored). The write pointer of Xw is indicated by PXw. It is assumed that each pointer moves upward in the figure.
[0080]
The ring buffer memory 5 is provided with an area for storing a correction result flag of the outer code correction and the inner code correction, one bit for each code, and is shown at the right end of FIG. is there.
[0081]
9 and 10 show configuration examples of the flag register 73. In the case of this embodiment, data input through the switch 81 is output through 144 switches and further through the switch 82. The output data is returned to 144 consecutive registers again via one register and the switch 81.
[0082]
Now, the error correction is in progress, and the inner code correction in the direction of arrow A in FIG. 8 including the symbol one below the outer code correction PYr for the PYr row shown in FIG. 8 has been completed. And At this time, the past outer code flags fi + 143, fi + 142,... Fi are stored in the 144 registers of the flag registers 73, as shown in FIG. The progress from the empty state of the flag register 73 (that is, the state where error correction is started for the first time) to such a state will be described later. The operation from error correction until data is sent to the video code buffer will be described below with reference to the timing chart of FIG.
[0083]
When writing one row of data indicated by the pointer PXw of FIG. 8 stored in the buffer memory 61 to the ring buffer memory 5 during the period Xw of FIG. 7, the control circuit 74 causes the switching contact piece 63, 64 are all connected to the contact a side. The data output from the buffer memory 61 is written into the ring buffer memory 5 and, at the same time, along with the error flag output from the buffer memory 61, via the switching contact 63 or 64 of the switch 62. The signal is input to the correction circuit 71 (corresponding to the error correction circuit 44 in FIG. 20). The error correction circuit 71 performs erasure correction on the input data of the row indicated by the pointer PXw in FIG. 8 using the external parity and the error flag in the period Xw. As a result of the correction, an error symbol and its correction value are obtained.
[0084]
Next, in a period Xc of FIG. 7, the error correction circuit 71 supplies the corrected value to the ring buffer memory 5 and the flag register 73, and the ring buffer memory 5 corrects the corrected value for the corresponding error symbol. Is overwritten. In addition, since the correction has been performed, the outer code flag in FIG. 8 (in this case, the outer code flag fi + 144) is set to zero. If the error cannot be corrected due to a large number of errors, the data in the ring buffer memory 5 is not rewritten, and the data cannot be corrected. Therefore, 1 is written to the outer code flag fi + 144.
[0085]
Next, in a period Yr in FIG. 7, the switching pieces 63 and 64 of the switch 62 are switched to the contact b, and the inner buffer is corrected from the position indicated by the pointer PYr to the interleave direction (arrow in FIG. Data is read in the direction A (vertical direction in FIG. 6) and input to the error correction circuit 71. On the other hand, the outer code flags fi + 143, fi + 142,... Fi are sequentially read from the flag register 73 and used for correcting the inner code. The error correction circuit 71 performs error correction (erasure correction) of input data (inner code) using the input outer code flag and inner parity.
[0086]
At this time, the flag register 73 operates as follows. As shown in FIG. 10B, the outer code flag fi + 144 output from the error correction circuit 71 is stored in the leftmost register of the flag register 73 via the contact b of the switch 81. At the same time, the outer code flag fi + 143 stored in the rightmost register of the flag register 73 is output via the switch 82.
[0087]
Next, as shown in FIG. 10C, the switch 81 is switched to the contact a side, and the outer code flag fi + 144 is transferred to the right end of the 144 shift registers. At the same time, the outer code flags fi + 142,... Fi stored in the respective registers are output via the switch 82. Thus, the flag register 73 can output the outer code flags fi + 143, fi + 142,... Fi for one inner code length. The fifty-four registers of the flag register 73 store outer code flags fi + 144, fi + 143, fi + 142,... Fi + 1. In this way, the flag register 73 always stores the latest outer code flag for one inner code length (144).
[0088]
The outer code flag is stored in the flag register 73 and supplied to the error correction circuit 71 despite the fact that the outer code flag is written in the empty area of the ring buffer memory 5. This is because the outer code flag cannot be read simultaneously for each symbol.
[0089]
Next, in the period Yc in FIG. 7, the corrected value is sent to the ring buffer memory 5 and overwritten for the error symbol in the ring buffer memory 5 in the same manner as the correction of the outer code. If the error cannot be corrected due to many errors, the data is not rewritten.
[0090]
In addition, in all of the inner code flags gi to gi + 143, zero if an error has been corrected, and 1 if the error cannot be corrected, is written in the free area of the ring buffer memory 5, respectively. However, among the inner code flags gi to gi + 143, nothing is written to the one in which 1 has already been written in the past inner code correction.
[0091]
This operation will be described with reference to FIG. In FIG. 11, if only the three inner codes indicated by the pointers PYr1, PYr2, and PYr3 cannot be corrected, the inner code flag is written as shown in FIG. That is, the inner code flag indicates how far the uncorrectable inner code extends from the outer code direction.
[0092]
Thus, the data in the ring buffer memory 5 after the error correction is finally read out to the video code buffer memory 10 of the decoding unit 20 in the period Zr in FIG. PZr in FIG. 8 is a read pointer in this case. Although the data is read in the forward direction (horizontal direction), the inner parity and the outer parity are unnecessary (because the correction has already been completed), so the data is skipped and read (not read). As shown in FIG. 8, the logical product of the outer code flag fj and the inner code flag gj via an AND gate (not shown) is output from the video code buffer memory to the PZr as an uncorrectable flag of the code in the j-th row. Sent to 10.
[0093]
A series of operations as described above is repeated according to the timing chart of FIG. 7, and data that has been subjected to outer code correction and inner code correction by the error correction circuit 71 is transferred to the video code buffer 10 via the ring buffer memory 5. Supplied.
[0094]
Here, the reason for taking the logical product of fj and gj is that, for example, when an inner symbol becomes uncorrectable, as shown in FIG. 11, the inner code extends over the length of the inner code length in an oblique direction (interleave direction). This is because a flag is set and an uncorrectable portion cannot be specified. By taking the logical product of the outer code flag fj and the inner code flag gj, if the outer code flag can be corrected even if the inner code flag is set, it can be determined that there is no error in the row j. An uncorrectable flag can be set more accurately for an uncorrectable error part.
[0095]
As shown in FIG. 8, the difference between the pointers PYe and PZr is the remaining data amount in the ring buffer memory 5. Here, PYe represents a pointer to the latest data for which the inner code correction has been completed.
[0096]
The data sent from the ring buffer memory 5 to the video code buffer memory 10 is decoded by the decoding unit 20 in the same manner as in FIG. 19 if the uncorrectable flag is zero (correction is performed correctly). Decrypted). If the uncorrectable flag is 1, the code contains an error. Therefore, the subsequent video decoding circuit (the inverse VLC circuit 11 to the motion compensation circuit 15) stops decoding until the flag becomes zero, and the display 18 Is to repeatedly transmit the image data already decoded and stored in the frame memory 16 (therefore, it becomes a still image), thereby preventing the image from being disturbed.
[0097]
Here, the operation of the flag register 73 from the empty state to the state of FIG. 10A will be described.
[0098]
Now, it is assumed that the pointer PXw is at the position of the outer code flag fi (the position of PYe) in FIG. 8 and error correction starts from this position. When the outer code correction of the row of PYe is completed, as shown in FIG. 9A, the switch 81 is switched to the contact b side, and the outer code flag fi output from the error correction circuit 71 becomes 144 bits. Are input to the leftmost register of consecutive shift registers. The outer code flag fi of the left end shift register is sequentially shifted rightward in the 144 shift registers and transferred to the right end register.
[0099]
Next, the pointer PXw is moved up by one line in FIG. 8 (that is, a position one line above PYe). Then, outer code correction of the code of the row is performed, and as shown in FIG. 9B, the outer code flag fi + 1 is input to the leftmost register of the 144 consecutive shift registers. At this time, the outer code flag fi of the rightmost register of the 144 consecutive shift registers is transferred to one register.
[0100]
Further, as shown in FIG. 9C, the switch 81 is switched to the contact a side, and the outer code flag fi + 1 is sequentially shifted rightward in the 144 shift registers and transferred to the rightmost register. At this time, since the switch 81 has been switched to the contact a side, the outer code flag fi is input to the left end of the 144 shift registers, sequentially shifted rightward, and transferred from the right end to the immediately preceding register. Is done.
[0101]
Next, the pointer PXw is further moved up by one line (that is, a position two lines above PYe). Then, the outer code of the code in that row is corrected, and as shown in FIG. 9D, the switch 81 is switched to the contact b side, and the outer code flag fi + 2 is set to the leftmost register of 144 consecutive shift registers. Is input to At this time, the outer code flag fi + 1 of the rightmost register of the 144 consecutive shift registers is transferred to one register. The outer code flag fi is transferred to the rightmost register of the shift register.
[0102]
Further, as shown in FIG. 9E, the switch 81 is switched to the contact a side, and the outer code flag fi + 2 is sequentially shifted rightward in the 144 shift registers and transferred to the rightmost register. At this time, since the switch 81 has been switched to the contact a side, the outer code flags fi + 1 and fi are sequentially input to the left ends of the 144 shift registers, and further sequentially shifted to the right, two positions before the right end. Is transferred to the three registers before.
[0103]
Next, as shown in FIG. 9F, the switch 81 is switched to the contact b side, and the same processing is repeated thereafter. Therefore, the outer code flag is input to the flag register 73 at a rate of one per one sync. 9A to 9F and FIG. 10, the switch 82 is open and the outer code flag is not output.
[0104]
As described above, when the pointer PXw reaches the position shown in FIG. 8, as shown in FIG. 10A, 144 registers of the flag register 73 have the outer code flags fi + 143, fi + 142,. fi is stored.
[0105]
By the way, assuming that the memory space of the ring buffer memory 5 is represented by a circle as shown in FIG. 12, the pointers PXw, PYr, and PZr rotate in the direction shown by the arrows (counterclockwise) without overtaking each other. become. The distance between the pointers PXw and PYr is constant and does not separate. The ring buffer memory 5 reads data in response to a request from the video code buffer memory 10 and supplies the data to the video code buffer memory 10, and the data remaining amount shown in the figure changes accordingly.
[0106]
The reading and writing of data to and from the ring buffer memory 5 is controlled by the control circuit 74, and the pointers PXw, PYr, and PZr are managed by the control circuit 74. The control circuit 74 also controls writing and reading to and from the flag register 73.
[0107]
Next, the extraction of the sector address will be described. As described above, the data output from the buffer memory 61 is supplied to the error correction circuit 71 via the switch 62, where the data is corrected. The outer code corrected data is sent to the sector detection circuit 72 together with the outer code flag. Sent. The sector detection circuit 72 searches the input data for a sector mark and detects a sector header. Then, error detection by CRC is performed. Further, the sector address is read from the sector header and stored (FIG. 3).
[0108]
The sector address is sent to the control circuit 74 when no error is detected by CRC error detection or when the outer code flag is zero even if an error is detected by CRC error detection.
[0109]
The extraction of the sector address is performed after the outer code is corrected. However, since the outer code is arranged in the same direction as the arrangement of the data on the optical disc 1, it is weak against a burst error, and the sector address cannot be obtained because it cannot be corrected. There is. In addition, an erroneous correction may occur in the outer code correction. Therefore, a correct sector address is not always obtained for each sector. Therefore, the correctness of the sector address is monitored by a flywheel operation in the control circuit 74 described below.
[0110]
Next, the flywheel operation of the sector address will be described. The control circuit 74 monitors the sector address input from the sector detection circuit 72, and if the sector address can be detected at 16 code intervals (FIG. 2) and the value of the sector address increases by one, Validate the address. If the valid sector address continues for a preset number of sectors, for example, three or more sectors, the flywheel (flag) is turned on.
[0111]
When the flywheel is on and the state where the sector address is not valid continues for a preset number of sectors, for example, 5 sectors or more, the flywheel is turned off. Such a state can occur, for example, when the pickup 2 flies to another truck due to an impact or the like. In this case, an abnormality processing operation is performed. This will be described later.
[0112]
FIG. 13 shows the state of the flywheel. A indicates a valid sector address, and X indicates an invalid sector address. The subscript of A indicates an address value. It is assumed that sector addresses are obtained from left to right. Starting from A22, the effective sector address is obtained continuously for three sectors A23, A24, and A25, and the flywheel is turned on. After A32, the flywheel is turned off because an effective sector address cannot be obtained for five consecutive sectors.
[0113]
When the flywheel is on, the last valid sector address obtained is stored while being constantly updated as the latest valid sector address. In FIG. 13, A32 is the latest valid sector address.
[0114]
By turning the flywheel on and off in this way, it is monitored whether or not the sector address is obtained correctly. If there is an error in the data and the sector address cannot be obtained temporarily, the sector address is immediately updated. By interpolating as continuous from the value, stable writing of data to the ring buffer memory 5 becomes possible.
[0115]
When the reproduction of the optical disk 1 is started, the data output from the buffer memory 61 is not immediately written to the ring buffer memory 5. Only when the sector address is continuously detected in the control circuit 74 and the flywheel is turned on, the pointers PXw and PYr are sent to the ring buffer memory 5, and the writing and reading of the ring buffer memory 5 and the error correction circuit 71 are performed. , The error correction of the inner code is started (the correction of the outer code is always performed). The same applies to the case where writing is interrupted and then resumed. Writing to the ring buffer memory 5 is always performed with the flywheel turned on.
[0116]
Next, a track jump of the pickup 2 will be described. When the remaining amount of data in the ring buffer memory 5 exceeds the set value and there is a possibility of overflow, that is, in the case where the pointer PXw may catch up with PZr in FIG. Command is output. At this time, the writing and reading of the ring buffer memory 5 and the error correction operation of the inner code of the error correction circuit 71 are interrupted. Then, the flywheel is turned off, and the latest valid sector address, for example, A32 in FIG. 13 is stored.
[0117]
FIG. 14 shows recording tracks on the optical disc 1. In this figure, the latest effective sector address A32 is located just before the point P where the jump starts. When a jump is commanded, the pickup 2 (reproduction point) jumps from point P to point Q, starts reading the inner track, and the flywheel turns on again, as shown in the figure. When the optical disk 1 makes one round and the pickup 2 arrives at the latest effective sector address A32 stored therein, writing and reading of the ring buffer memory 5 and error correction of the inner code of the error correction circuit 71 are restarted from there.
[0118]
FIG. 15A shows a state in which the sector address is detected when the pickup 2 comes to the point P again. Writing of data to the ring buffer memory 5 from the sector A32 is restarted.
[0119]
Here, A32 may be an invalid sector. FIG. 15B shows an example of such a case. In this case, since the flywheel is on, even if A32 is not detected, interpolation is performed from a past address. Then, the writing operation is restarted from the data 16 codes after A31.
[0120]
By performing the above operation, continuous data can be continuously written in the ring buffer memory 5 even though the writing is interrupted by the track jump.
[0121]
While the pointers PXw and PYr (PYe) are stopped by the track jump, data is read out in response to a request from the video code buffer memory 10 during that time. Therefore, the pointer PZr advances counterclockwise in FIG. The amount is reduced and overflow can be prevented.
[0122]
Next, the abnormality processing operation will be described. For example, it is assumed that the pickup 2 causes an unintended track jump due to mechanical vibration (disturbance) or the like. At this time, since a continuous sector address cannot be obtained, the flywheel is turned off, and the writing and reading of the ring buffer memory 5 and the error correction operation of the inner code of the error correction circuit 71 are interrupted. At this time, the control circuit 74 refers to the latest effective sector address and moves the pickup 2 so as to read out, for example, 20 sectors before. By doing so, the flywheel is turned on again before the latest valid sector address, and writing can be resumed from the latest valid sector in the same manner.
[0123]
At this time, if there is sufficient data remaining, the data remaining in the ring buffer memory 5 may not become zero before the pickup 2 returns to the position where an unintended track jump has occurred and resumes data reading. Absent. Therefore, reading from the ring buffer memory 5 to the video code buffer memory 10 is not interrupted, and recovery can be performed without affecting image decoding / reproduction at all.
[0124]
Next, processing when error correction becomes impossible will be described. FIG. 16 shows each pointer on the ring buffer memory 5, as in FIG. Here, it is assumed that the portion represented by the point X after the point R cannot be corrected by the outer code correction and the inner code correction. The control circuit 74 stores the address of the head sector of the uncorrectable portion. When the control circuit 74 determines that the error can be corrected, the correction is advanced to a point S which is a fixed distance from the end of the uncorrectable portion, for example, 5 sectors after.
[0125]
Further, the control circuit 74 calculates a time obtained by adding a time required for performing error correction from the point R to the point S to a time required for one round of the disk. Then, this time is multiplied by the maximum speed of data transfer from the ring buffer memory 5 to the video code buffer memory 10, and the maximum amount of data that can be lost by the ring buffer memory 5 is obtained within the time obtained by the multiplication. . Further, this data amount is compared with the remaining data amount on the ring buffer memory 5. If the remaining data amount is larger, the pointer PZr cannot catch up with PYr, so that it is determined that the data can be repeatedly corrected.
[0126]
Here, the time for one round of the disc is obtained to some extent accurately from the position information of the pickup 2 in the radial direction of the disc. Possibilities can be increased. That is, when the pickup 2 is located near the outermost circumference of the disk 1, the rotation period of the disk is long, and the above-mentioned re-correction cannot be performed unless a corresponding remaining amount of data remains in the ring buffer memory 5. When it is on the inner circumference, the rotation cycle is short and the remaining data amount is at least re-correctable.
[0127]
If it is determined that the correction can be repeated, a track jump is first performed to stop reading from the optical disc 1, and the switching contacts 63 and 64 of the switch 62 are switched to the contact b. The pointers PXw and PYr are returned to the point R as shown in FIG. 17, from which the outer code correction and the inner code correction are started again. When the correction is completed up to the point S, the pointer is stopped there, the contact pieces 63 and 64 of the switch 62 are switched to the contact point a, and the writing is restarted after the data after the point S is read from the optical disc 1. The writing at this point S is restarted from the latest valid sector address as in the case of the track jump described above.
[0128]
Note that the error flag from the demodulation circuit 3 has already been lost. Therefore, when performing iterative correction, since there is no error flag to be referred to at the time of the second outer code correction, normal correction (correction using only outer parity instead of erasure correction) is performed. However, the outer code flag obtained by the second outer code correction is used for the erasure correction of the second inner code correction.
[0129]
By performing such control, the uncorrectable portion can be corrected again without interrupting reading from the ring buffer memory 5 to the video code buffer memory 10 (without affecting image decoding / reproduction at all). It becomes possible. Further, as long as the data remaining amount has a margin, the uncorrectable portion can be repeatedly corrected any number of times, and the error correction capability can be improved.
[0130]
Next, the operation at the time of special reproduction will be described. In special playback such as fast forward and fast rewind (rewind), for example, only I picture data on the optical disc 1 is sequentially read and played. At this time, since the inner code is interleaved, it is necessary to start reading from the desired sector by an interleave length before. Also, at the end of reading, it is necessary to read extra by the interleave length from the required last data. The time required for the deinterleaving is not a problem because the data is continuously processed during the normal reproduction. However, in the special reproduction in which the operation of reading out the desired data (I picture data) at a high speed is repeated, the high speed reproduction becomes difficult. It becomes a factor. That is, this is a factor of delaying the reproduction time.
[0131]
Therefore, at the time of special reproduction, the control circuit 74 controls the ring buffer memory 5, the error correction circuit 71, and the like so that only error correction using the outer code is performed and error correction using the inner code is not performed. During the special reproduction, the switching pieces 63 and 64 of the switch 62 are always switched to the contact a side. As described above, the data output from the buffer memory 61 is sent to the ring buffer memory 5 and the error correction circuit 71, where the data is corrected by an outer code.
[0132]
In normal reproduction, data is read from the ring buffer memory 5 again, sent to the error correction circuit 71, and error correction is performed by the inner code. However, this is not performed in special reproduction. Data is sent to the video code buffer memory 10 in the same manner as during normal reproduction. At this time, the read pointer PZr does not need to be after the pointer PYr as shown in FIG. 8, and the read can be started immediately after the pointer PXw.
[0133]
As described above, since deinterleaving is not performed, data can be quickly transmitted from the ring buffer memory 5 to the video code buffer memory 10, and a high-speed reproduction operation can be performed. Since the inner code correction is not performed, there is a slight disadvantage in terms of error correction capability. However, during special playback, even if the screen freezes temporarily due to error correction failure (even if a still image is reproduced), It is not very noticeable and hardly hinders in practical use.
[0134]
Note that the error correction code may be a complete product code instead of a convolutional code (inner code and outer code). FIG. 18 shows an example of a format when a product code is used. In this embodiment, C1 parity is added to the horizontal data and C2 parity is added to the vertical data. The present invention can be applied to data in such a format by changing the write and read addresses for the ring buffer memory 5.
[0135]
The case where the data reproducing method of the present invention is applied to the optical disk device has been described above, but the present invention can be applied to not only the optical disk device but also, for example, a magneto-optical disk device.
[0136]
Further, the present invention can be applied not only to the case of reproducing moving image data, but also to the case of reproducing audio data or data in which moving image data and audio data are multiplexed.
[0137]
【The invention's effect】
As described above, according to the data reproducing method and the data reproducing apparatus of the present invention, Calculated including the sector header Since the error of the data is corrected by any one of the two error correction codes, more reliable correction can be performed.
[0138]
Also, in the case of special reproduction or searching for a sector address, for example, error correction can be performed using only one system of error correction codes, and higher-speed reproduction and quick access become possible.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the configuration of an embodiment of an optical disk device to which a data reproducing device of the present invention is applied.
FIG. 2 is a diagram showing a data format of the data reproducing apparatus of the present invention.
FIG. 3 is a diagram showing a configuration of a sector header of the data format of FIG. 2;
FIG. 4 is a diagram showing a state where a sync is interpolated by a demodulation circuit 3 of FIG. 1;
FIG. 5 is a diagram showing a state where data is stored in a ring buffer memory 5 of FIG. 1;
FIG. 6 is a diagram showing an order of writing or reading data in the ring buffer memory 5 of FIG. 1;
FIG. 7 is a diagram showing timings for writing and reading data in the ring buffer memory 5 of FIG. 1;
8 is a diagram schematically showing a memory space of a ring buffer memory 5 in FIG.
FIG. 9 is a diagram illustrating the operation of the flag register 73 of FIG.
FIG. 10 is a diagram illustrating the operation of a flag register 73 of FIG. 1;
FIG. 11 is a diagram illustrating an inner code flag written to a ring buffer memory 5;
FIG. 12 is a view for explaining write and read pointers on the ring buffer memory 5 of FIG. 1;
FIG. 13 is a diagram illustrating an input sector address and on / off of a flywheel.
FIG. 14 is a view showing a locus of a track jump of the pickup 2 on the optical disc 1;
FIG. 15 is a diagram illustrating sector addresses when writing to the ring buffer memory 5 is resumed.
FIG. 16 is a diagram illustrating write and read pointers on the ring buffer memory 5 of FIG. 1;
FIG. 17 is a view for explaining write and read pointers on the ring buffer memory 5 of FIG. 1;
FIG. 18 is a diagram showing a modification of the data format of the data reproducing apparatus of the present invention.
FIG. 19 is a block diagram illustrating a configuration of an example of a conventional optical disc device.
20 is a block diagram showing a more detailed configuration of an ECC circuit 6 of the optical disc device of FIG.
21 is a memory map showing a memory space of a memory 42 of the ECC circuit 6 in FIG.
[Explanation of symbols]
1 optical disk
2 Pickup
3 Demodulation circuit
4 Sector detection circuit
5 Ring buffer memory
6 ECC circuit
7 Track jump judgment circuit
8 Tracking servo circuit
9 PLL circuit
10 Video code buffer memory
11 Reverse VLC circuit
12 Inverse quantization circuit
13 Inverse DCT circuit
14 Addition circuit
15 Motion compensation circuit
16 frame memory
17 D / A conversion circuit
18 Display
20 Decoding section
31 Control circuit
41 buffer memory
42 memory
43 Address Generator
44 Error Correction Circuit
45 buffer memory
61 buffer memory
62 switch
63, 64 switching section
71 Error Correction Circuit
72 sector detection circuit
73 Flag Register
74 control circuit

Claims (8)

ディスクに記録されている記録データを再生するためのデータ再生方法において、
セクタヘッダを含んで計算された2系統の誤り訂正符号を含む記録データが記録されているディスクから、前記記録データをピックアップを介して読み出し、
前記読み出されたデータを復調し、
前記復調されたデータをメモリに記憶させるとともに、前記復調されたデータに対して、前記2系統の誤り訂正符号のうちのいずれか1系統によって誤り訂正を行い、
前記復調されたデータの誤りが訂正可能であった場合、当該訂正された値を前記メモリに供給し、前記メモリに記憶された値の上書きを行い、
前記メモリより読み出されたデータを復号し、
前記誤り訂正されたデータのセクタヘッダからセクタアドレスを検出する
ことを特徴とするデータ再生方法。
In a data reproducing method for reproducing recorded data recorded on a disc,
Reading out the recording data from a disc on which recording data including two systems of error correction codes calculated including the sector header is recorded via a pickup,
Demodulating the read data,
Storing the demodulated data in a memory, and performing error correction on the demodulated data using one of the two error correction codes;
If the error of the demodulated data was correctable, supply the corrected value to the memory, and overwrite the value stored in the memory,
Decoding the data read from the memory ,
A data reproducing method comprising: detecting a sector address from a sector header of the error-corrected data.
前記2系統の誤り訂正符号は、前記ディスクに記録されているデータをインタリーブしたデータに対して付加されている第1の誤り訂正符号と、インタリーブしていないデータに対して付加されている第2の誤り訂正符号とにより構成され、
前記復調されたデータに対する誤り訂正は、前記第2の誤り訂正符号により行われる
ことを特徴とする請求項1に記載のデータ再生方法。
The two systems of error correction codes are a first error correction code added to data obtained by interleaving data recorded on the disk, and a second error correction code added to data not interleaved. Error correction code,
2. The data reproducing method according to claim 1, wherein the error correction for the demodulated data is performed by the second error correction code.
前記復調されたデータに対する誤りが訂正不能であった場合、前記メモリに記憶されたデータを読み出し、前記第1の誤り訂正符号によって再度訂正を行い、当該訂正された値を前記メモリに供給し、前記メモリに記憶された値の上書きを行い、前記メモリより読み出されたデータを復号する
ことを特徴とする請求項2に記載のデータ再生方法。
If the error with respect to the demodulated data is uncorrectable, read the data stored in the memory, perform the correction again by the first error correction code, supply the corrected value to the memory, 3. The data reproducing method according to claim 2, wherein a value stored in the memory is overwritten, and data read from the memory is decoded.
前記検出されたセクタアドレスの内の有効セクタアドレスの連続性に基づいて、有効期間と無効期間とを設定し、
前記有効期間において、前記有効セクタアドレスが検出されない場合、前記セクタアドレスを補間する
ことを特徴とする請求項に記載のデータ再生方法。
Setting a valid period and an invalid period based on the continuity of the valid sector addresses among the detected sector addresses;
In the expiration time, if the valid sector address is not detected, the data reproducing method according to claim 1, characterized in that interpolating the sector address.
ディスクに記録されている記録データを再生するためのデータ再生装置において、
セクタヘッダを含んで計算された2系統の誤り訂正符号を含む記録データが記録されているディスクから、前記記録データを読み出す読み出し手段と、
前記読み出し手段により読み出されたデータを復調する復調手段と、
前記復調手段により復調されたデータを記憶するメモリと、
前記復調されたデータに対して、前記2系統の誤り訂正符号のうちのいずれか1系統によって誤り訂正を行う誤り訂正手段と、
前記復調されたデータの誤りが訂正可能であった場合、当該訂正された値を前記メモリに供給し、前記メモリに記憶された値の上書きを行うように制御する制御手段と、
前記メモリより読み出されたデータを復号する復号手段と
前記誤り訂正されたデータのセクタヘッダからセクタアドレスを検出するセクタアドレス検出手段と
を有することを特徴とするデータ再生装置。
In a data reproducing apparatus for reproducing recorded data recorded on a disc,
Reading means for reading the recording data from a disk on which recording data including two systems of error correction codes calculated including a sector header is recorded;
Demodulating means for demodulating the data read by the reading means,
A memory for storing data demodulated by the demodulation means,
Error correction means for performing error correction on the demodulated data by any one of the two error correction codes;
If the error of the demodulated data was correctable, supply the corrected value to the memory, control means for controlling to overwrite the value stored in the memory,
Decoding means for decoding data read from the memory ;
A data reproducing apparatus, comprising: sector address detection means for detecting a sector address from a sector header of the error-corrected data.
前記2系統の誤り訂正符号は、前記ディスクに記録されているデータをインタリーブしたデータに対して付加されている第1の誤り訂正符号と、インタリーブしていないデータに対して付加されている第2の誤り訂正符号とにより構成され、
前記誤り訂正手段で行われる前記復調されたデータに対する誤り訂正は、前記第2の誤り訂正符号により行われる
ことを特徴とする請求項に記載のデータ再生装置。
The two systems of error correction codes are a first error correction code added to data obtained by interleaving data recorded on the disk, and a second error correction code added to data not interleaved. Error correction code,
6. The data reproducing apparatus according to claim 5 , wherein the error correction for the demodulated data performed by the error correction unit is performed by the second error correction code.
前記制御手段は、前記復調されたデータに対する誤りが訂正不能であった場合、前記メモリに記憶されたデータを読み出し、前記誤り訂正手段において、前記第1の誤り訂正符号により再度訂正が行われ、当該訂正された値を前記メモリに供給し、前記メモリに記憶された値の上書きを行い、前記メモリより読み出されたデータを復号するように制御する
ことを特徴とする請求項に記載のデータ再生装置。
When the error in the demodulated data is uncorrectable, the control means reads the data stored in the memory, and the error correction means corrects the error again using the first error correction code, 7. The method according to claim 6 , further comprising: supplying the corrected value to the memory, performing overwriting of the value stored in the memory, and decoding data read from the memory. Data playback device.
前記検出されたセクタアドレスの内の有効セクタアドレスの連続性に基づいて、有効期間と無効期間とを設定し、前記有効期間において、前記有効セクタアドレスが検出されない場合、前記セクタアドレスを補間する手段を有する
ことを特徴とする請求項に記載のデータ再生装置。
Means for setting a valid period and an invalid period based on the continuity of valid sector addresses among the detected sector addresses, and interpolating the sector address when the valid sector address is not detected during the valid period. The data reproducing apparatus according to claim 5 , comprising:
JP23394794A 1993-09-29 1994-09-29 Data reproducing method and data reproducing apparatus Expired - Lifetime JP3555664B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23394794A JP3555664B2 (en) 1993-09-29 1994-09-29 Data reproducing method and data reproducing apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-242532 1993-09-29
JP24253293 1993-09-29
JP23394794A JP3555664B2 (en) 1993-09-29 1994-09-29 Data reproducing method and data reproducing apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004066659A Division JP4061550B2 (en) 1993-09-29 2004-03-10 Data reproduction method and data reproduction apparatus

Publications (2)

Publication Number Publication Date
JPH07169205A JPH07169205A (en) 1995-07-04
JP3555664B2 true JP3555664B2 (en) 2004-08-18

Family

ID=26531280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23394794A Expired - Lifetime JP3555664B2 (en) 1993-09-29 1994-09-29 Data reproducing method and data reproducing apparatus

Country Status (1)

Country Link
JP (1) JP3555664B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997010593A1 (en) * 1995-09-15 1997-03-20 Philips Electronics N.V. Transferring information via the lead-in area of an information carrier
JP3305966B2 (en) * 1995-12-25 2002-07-24 ソニー株式会社 Data decoding apparatus and method, and data reproducing apparatus
JPH11175362A (en) 1997-12-16 1999-07-02 Toshiba Ave Co Ltd Error correcting device and data reproducing device
JP2005332549A (en) 2004-03-09 2005-12-02 Teac Corp Optical disk device
EP1617432A1 (en) 2004-07-12 2006-01-18 Teac Corporation Optical disk device
JP4946844B2 (en) * 2007-12-13 2012-06-06 ソニー株式会社 Recording / reproducing apparatus and recording / reproducing method

Also Published As

Publication number Publication date
JPH07169205A (en) 1995-07-04

Similar Documents

Publication Publication Date Title
KR100330291B1 (en) Method and device for reproducing data
KR100195015B1 (en) Memory Controls and Methods
KR100275358B1 (en) Method and apparatus for reproducing and decoding data
US5901159A (en) Apparatus and method for decoding a coded digital signal
KR100426985B1 (en) Appratus and method of decoding data
US5886654A (en) Apparatus and method for decoding data using flags to indicate decoding errors in data rows and columns
JPH08273295A (en) Earthquake-resistant reproducing apparatus
JPH0520105A (en) Error correction device of degital data
JP3555664B2 (en) Data reproducing method and data reproducing apparatus
KR100217745B1 (en) System decoder of a digital video disc reproducing device
JP4061550B2 (en) Data reproduction method and data reproduction apparatus
JP4140344B2 (en) Decoding device and computer program
KR0176803B1 (en) Circuit for treating vbr of dvd player
JP3520156B2 (en) Digital signal reproducing method and digital signal reproducing apparatus
JP3266932B2 (en) Reproduction apparatus and method
KR100620184B1 (en) Method for correcting error in reproduced data
JPH10188471A (en) Data producing device and data reproducing method
JP3740256B2 (en) Error correction code decoding apparatus and error correction code decoding method
JP4224035B2 (en) Data playback device
JP2002237125A (en) Device and method for reproducing data
JPH10228649A (en) Disk reproducer and signal processing circuit
JP2000057712A (en) Data reproducing device and electronic apparatus equipped with this device
JP2001035097A (en) Disk reproducing device
JP2003308654A (en) Optical disk drive, and data recording system using the same
JP2004039092A (en) Data reproducing device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040310

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040401

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: 20040422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040505

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080521

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090521

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100521

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100521

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110521

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120521

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120521

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term