説明

光ディスク記録システム

【課題】 バッファ・アンダー・ランが発生しても視覚的に滑らかに描き継ぎを行なう。
【解決手段】 光ディスクに可視画像を記録中にバッファ・アンダー・ラン(BUR)が発生したときは、記録を中断する。タイプAのように、1周分の整数倍転送したところでBUR1が発生したときは、ホスト機器でデータを廃棄することなく基準角度位置から継続して記録する。タイプBのようにそうでないところでBUR2が発生したときは、次の周の先頭までのデータを廃棄して、基準角度位置から継続して記録する。これにより、視覚的に滑らかに描き継ぎができる。なお、タイプCのように、バッファ中のデータ残量がバッファー・アンダー・ランのしきい値以下となったら、それ以降のホスト機器からデータ転送を中断し、その後、ホスト機器によるデータ廃棄無しで描画を再開させるようにしてもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CD−R/RWやDVD+R/RW及びDVD−R/RWなどの光ディスクのディスク面にレーザーを使用して可視画像を形成する光ディスク記録システムに関する。
【背景技術】
【0002】
光ディスクの記録面やレーベル面(記録面と反対側の面)にレーザーを使用して文字や図形等の可視画像を記録することは知られている。
例えば、特許文献1には光ディスクのレーベル面側から見える個所に可視光特性変化層を設け、レーザー光を照射することによりその可視光特性を変化させて可視画像を描画することが提案されている。
また、特許文献2には、レーザーを使用して可視画像を記録することが可能な光ディスクにおいて、記録膜に可逆的な相変化材料を用い、記録した図形を書き換えることが提案されている。
さらに、特許文献3には、既に可視画像が記録されている光ディスクの記録面に新たに可視画像を追記することが提案されている。
【0003】
特許文献4には、可視画像の記録中にフォーカスサーボが外れた場合に、可視画像中の隣り合う画素が離れた位置に記録されてしまい、本来の画像とは異なる可視画像が記録されてしまうという不都合が発生するのを回避することができる可視画像記録装置が提案されている。
また、角度位置θの決め方として、1回転を所定数の周期で構成し、所定数の周期をパルス信号で得るようにし、パルス数で角度位置を決める技術も記載されている(図6)。
【特許文献1】特開2002−203321号公報
【特許文献2】特開2003−016649号公報
【特許文献3】特開2004−039019号公報
【特許文献4】特開2004−030832号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記特許文献4に記載された発明においては、フォーカス外れについて述べられているが、バッファー・アンダー・ランについての記述はない。
バッファー・アンダー・ランはフォーカス制御とは無関係に発生しうる記録中断である。また、フォーカス外れによる記録中断と、バッファー・アンダー・ランによる記録中断では、中断時の光ディスクドライブ装置のバッファのデータ残量状態が全く異なる。このように、フォーカス外れからは予測できない現象なので、両者を同様に議論することはできない。
そこで、本発明は、バッファー・アンダー・ランが発生して描画が中断したとき又はバッファー・アンダー・ランの発生が予測されるときであっても、視覚的に滑らかに描画することができる光ディスク記録システムを提供することを目的としている。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明の光ディスク記録システムは、光ディスクドライブ装置は、所定の周回の記録中に、緩衝記憶部においてデータが無くなるバッファー・アンダー・ラン・エラーが生じたときは光ディスクへの記録を中断し、ホスト機器は、前記エラーが生じた個所と光ディスクの基準角度位置との間に相当するデータを破棄してからデータ転送を再開し、光ディスクドライブ装置は、前記基準角度位置から記録を再開するようにしたことを最大の特徴としている。
また、前記ホスト機器は、前記光ディスクドライブ装置へ転送したデータのセクター数又はデータの転送回数を計数する計数部を有しており、バッファー・アンダー・ラン・エラーが生じたときは、該エラーが発生したときの前記計数部で計数したセクター数又はデータの転送回数に基づいてエラーが発生したところから次周の先頭までの相当する分のデータを特定し、該特定されたデータを破棄してからデータの転送を再開することを特徴としている。
さらに、前記光ディスクドライブ装置には、バッファー・アンダー・ラン・エラーの発生を予測する監視部が設けられており、該監視部によりバッファー・アンダー・ラン・エラーの発生が予測されたときには、前記ホスト機器からデータの受信を中断し、バッファー・アンダー・ラン・エラーが発生した後に、データの受信を再開することにより、次周の先頭から記録を再開することを特徴としている。
さらにまた、前記光ディスクドライブ装置は1回転につきM個又はN×M個の角度位置信号を出力するように構成されており、バッファー・アンダー・ラン・エラーが発生したときに、その位置と前記角度位置信号との間に相当する分のデータを特定し、該特定されたデータを破棄してからデータの転送を再開し、前記角度位置信号に応じて記録を再開することを特徴としている。
【発明の効果】
【0006】
このような本発明の光ディスク記録システムによれば、ホスト機器からの画像データの転送が間に合わずにバッファー・アンダー・ランが発生して描画が中断してしまったときあるいはバッファー・アンダー・ラン・エラーの発生が予測されるときであっても、中断したところまでのディスク上の角度を計算し、ホスト機器がそれを加味して描き継ぎデータを転送して描画再開することにより、正確な描き継ぎをすることができる。
また、ホスト機器の処理速度が不十分なときでも、視覚的に滑らかに描画することが可能となる。
【発明を実施するための最良の形態】
【0007】
図1は、本発明の光ディスク記録システムの一実施の形態の要部構成を示すブロック図である。
本実施の形態の光ディスク記録システムは、前記光ディスク1に対してデータの記録再生及び可視画像の形成を行う光ディスクドライブ装置10、及び、該光ディスクドライブ装置10に接続されたホストコンピュータやバックエンド装置等のホスト機器40で構成されている。ホスト機器40には、光ディスク1に記録する可視画像を編集するための画像編集プログラムや光ディスク1にデータや可視画像を記録したり、光ディスク1からデータを再生するための制御プログラムが搭載されている。また、41は、ホスト機器40から前記光ディスクドライブ装置10へ転送するデータを一時記憶するバッファメモリである。ホスト機器40は、このバッファメモリ41に蓄積されているデータを順次読み出して前記光ディスクドライブ装置10のバッファ24に転送する。なお、ホスト機器40の有する機能を前記光ディスクドライブ装置10に持たせるようにしてもよい。
【0008】
光ディスクドライブ装置10は、光ディスク1を回転駆動するスピンドルモータ11、スピンドル回転速度に応じた周波数のFGパルスを出力する周波数発生器12、光ピックアップ13、RFアンプ14、サーボ回路15、デコーダ16、アドレス検出回路17、制御部18、ステッピングモータ19、モータドライバ20、モータコントローラ21、分周回路22、レーザーパワーを制御するLPC(Laser Power Control)回路23、バッファメモリ24、エンコーダ25、ストラテジ回路26、光ピックアップ13のレーザーダイオードを駆動するレーザードライバ27、可視画像を記録するときに使用される復調器28とアンド回路29、及び、前記制御部18及び前記バッファメモリ24と前記ホスト機器40との間のデータ授受を行うインターフェース回路30を備えている。
【0009】
光ピックアップ13は光ディスク1にレーザー光を照射してデータの記録及び再生を行うとともに、可視画像の描画を行う。レーザー光を光ディスク1に照射したときの戻り光受光信号(EFM変調又は8to16変調されたRF信号)は、RFアンプ14で増幅され、サーボ回路15、デコーダ16及びアドレス検出回路17に供給される。
サーボ回路15は、前記RFアンプ14からの信号と制御部18からの制御信号に基づいて前記スピンドルモータ11の回転制御及び前記光ピックアップ13のフォーカス制御やトラッキング制御を行う。
デコーダ16は、前記RFアンプ14から供給されるEFM変調又は8to16変調された信号を復調し、再生データを出力する。
アドレス検出回路17は、前記RFアンプ14から供給される信号からウォブル信号成分を抽出してDVD系規格のADIP(Address In Pre-Groove)又はCD系規格のATIP(Absolute Time in Pre-Groove)を復号し、アドレス情報(位置アドレス)を検出する。
【0010】
ステッピングモータ19は、前記光ピックアップ13を光ディスク1の半径方向に移動(フィード)させるためのモータである。モータドライバ20は、モータコントローラ21から供給される制御信号に応じて前記ステッピングモータ19を回転駆動する。モータコントローラ21は、前記制御部18から指示される光ピックアップ13の半径方向への移動方向及び移動量を含む移動開始指示に従って、移動量や移動方向に応じたパルス信号を生成し、モータドライバ20に供給する。
【0011】
バッファメモリ24は、ホスト機器40からインターフェース回路30を介して供給される光ディスク1に記録すべきデータ(記録データ)及び光ディスクに描画する可視画像のデータを記憶するためのFIFO(First In First Out)メモリなどからなるバッファである。
前記記録データを光ディスク1に記録するとき、エンコーダ25は、バッファメモリ24から読み出された記録データをEFM変調又は8to16変調し、ストラテジ回路26に出力する。ストラテジ回路26は、エンコーダ25から供給された信号に時間軸補正処理等を行い、レーザードライバ27に出力する。レーザードライバ27は、ストラテジ回路26から供給される変調された信号と、LPC回路23の制御に基づいて、光ピックアップ13のレーザーダイオードを駆動する。
【0012】
以下、光ディスク1に可視画像を記録するときの動作及びバッファー・アンダー・ランが発生したときの動作について詳細に説明する。
1.記録方法
ホスト機器(コンピュータ、バックエンド装置等)40から光ディスクドライブ装置(以下、単に、「ドライブ」とよぶ。)10へデータを転送しながら、ドライブ10内に装着された光ディスク1のデータ記録面、又はレーベル面に画像や文字を描画する。
この際、ドライブ10のスピンドルモータ11は回転数一定(CAV:Constant Angular Velocity)で回転させ、フォーカスアクチュエータは、通常の光ディスクのフォーカスサーボシステムと同様の方法で、記録面又はレーベル面に対し、サーボを掛ける。トラッキングアクチュエータについてはサーボを掛けずに自由状態とするか、もしくは周期的な電流(正弦波、三角波等)を流すことにより、アクチュエータを振ることも可能である。フィードは徐々に内周から外周、又は、外周から内周に少しずつ移動させる。
ドライブ10内でのエンコード動作は、一般的なCD−R/RWのRAWモードエンコードとするが、TAO(track at once)モードでも問題ない。レーザーは通常のCD−R/RW記録と同様に、エンコーダ(CDエンコーダ)25で生成されたEFM信号を元とするパルス信号により、レーザーのハイパワー、ローパワーを切り換える。ここでのライトパワーは、光ディスク1の記録面又はレーベル面に視覚的な跡がつくような、ある程度以上のパワーが必要となる。これにより、光ディスク1上にドーナツ状の跡を付けることができる。
【0013】
2.描画方法
図示するように、ドライブ10のエンコーダ25の後段に、ある一定のEFMパターンを検出する復調器28が設けられている。復調器28は、ある特定のEFMパターンを検出したらHIGH値、それ以外はLOW値を出力するようにされている。そして、アンド回路29により、復調器28の出力とレーザーへ入力されるべきパルス信号との論理積をとり、それをレーザードライバ27へ送る。
これにより、ある特定のEFMパターンのときのみ、ライトパワーとリードパワーが交互にEFM信号に応じて出射されるようになり、光ディスク1上に記録跡がつく。それ以外のEFMパターンのときは、常にリードパワーとなるので、光ディスク1上に記録跡がつかない。EFMパターンは元々、ホスト機器40から転送されてきたデータにより生成されているので、ホスト機器40から描画する画像や文字に対応するデータを送ることにより、光ディスク1上に画像や文字の可視画像を描画することができる。
【0014】
3.スピンドルモータ
バッファー・アンダー・ラン後の滑らかな描き継ぎを実現するには、スピンドルの角度位置を検出する必要がある。スピンドルの角度位置を検出するために、ホールセンサやスピンドルコイルの逆起電力を用いた前記周波数発生器12が用いられる。本実施の形態では、周波数発生器12から、スピンドルモータ1回転当たり丁度Sサイクル(個)のパルス(FGパルス)を発生するようにしておく(S:整数、S>0)。すると、Sサイクル(個)のそれぞれのパルス幅は、次の値となる。
円弧長さ[m]=2π×半径位置[m]/S[サイクル値]
しかしながら、実際にはホールセンサの取り付け誤差や回路の電気的ばらつき等により、上記の式の通りにはならず、一般的にばらつく傾向にある。そこで、この周波数発生器12からのFGパルスを、ハードウエア又はソフトウェアによる分周回路22で適当な分周比で分周することにより、精度の良い1周当たりS’サイクルのパルスを得ることができる(S’:整数、S’>0)。この適当な分周比はモータの種類や構造により異なるが、一般的には、少なくとも1周に1サイクルの正確なパルスを出すことができる分周比が存在する。
また、別の角度位置検出方法として、光ディスク1に直接印刷された、又は取り付けられた被検出体を検出素子を用いて検出することにより正確な角度位置を検出することもできる。
【0015】
4.基準角度位置検出
前記光ディスク1には、あらかじめ一つの半径方向が光ディスクの基準角度位置として定められており、光ディスク1の表面又は反射層に前記基準角度位置を表すために所定のマークが設けられている。この所定のマークとしては、特定の時間位置を示すサブコード又はヘッダ、特定のアドレスを示すATIP又はADIP、光ディスクの表面又は反射層に印刷又は可視画像形成処理により形成されたバーコードやその他の印など、前記光ピックアップ13などの光学的手段を用いて読み出すことができるものが使用される。
前記ドライブ10の制御部18は、前記アドレス検出回路17の出力や前記デコーダ16の出力などから、前記基準角度位置を表すマークを検出し、該マークを検出した時点の前記1周当たりS’サイクル発生されるパルス信号(S’パルス)の計数値を取得して、保存しておく。前記S’パルスの計数値が保存した計数値と等しくなったときに、前記光ピックアップ13が光ディスクの基準角度位置に当接していることがわかる。
ディスクに初めて描画するとき、及び、描き継ぎ(可視画像を追記)するときは、この基準角度位置に同期させて描画を開始する。これにより、何度描画しても、毎回同じディスク上の角度位置(基準角度位置)から描画記録を開始することが可能となる。
【0016】
5.ホスト機器40からドライブ10へのデータ転送
ホスト機器40からドライブ10へのデータ転送は、ATAPI(AT Attachment Packet Interface)のWRITEコマンド等を用いる。ドライブ10におけるデータのエンコードについては、一般的なCD−R/RWのRAWモードエンコードとして以下で説明するが、TAOモードでも問題ない。
RAWモードの場合、ホスト機器40からドライブ10へ転送するデータの1セクターのバイト数は2448バイトである。なぜなら、1セクター内には98個のEFMフレームがあり、1EFMフレーム内にはメインデータが24バイトあり、さらに1セクター内にサブコードが96バイト存在するので、
98[個]×24[バイト]+96[バイト]=2448[バイト]
となるからである。なお、TAOモードの場合はサブコードの96バイトが不要なので2352バイトとなる。
WRITEコマンド等によるデータ転送の単位は数セクターとなっている。そのデータ転送1回に要するセクター数をN、データ転送1回に要するバイト数をMとすると、Mは、
M[バイト]=2448[バイト]×N[セクター]
となる。
【0017】
6.ディスク1周のセクター数
ドライブ10側では、ディスク1周で、丁度、整数回のデータ転送回数分のデータをエンコードするような、エンコード周波数(CDエンコード倍速)とスピンドル回転数を設定しておく。
例えば、1回に15セクターのデータ転送を丁度6回行ったときに光ディスク1周分描画する場合の例としては、
・ドライブ10のエンコード倍速:CDの45倍速
・スピンドルの回転数:2250rpm
がある。その理由を以下に記す。
CDエンコーダのエンコードは、標準速度(1倍速という。)にて、1秒間に75セクターを処理するようになっている。バイト数に換算すれば、1秒間に、
75×2448=183600[バイト/秒] ・・・(6−1)
のデータを処理することになる。ここで、仮に、45倍速でエンコードするとした場合、1秒間に処理するバイト数は、式(6−1)の45倍であるから、
45×183600=8262000[バイト/秒] ・・・(6−2)
となる。
一方、ホスト機器40からのデータ転送は、15セクターの転送を6回行ってディスク1周になるということであるので、ディスク1周分のバイト数は、
2448×15×6=220320[バイト/周] ・・・(6−3)
となる。
式(6−2)及び式(6−3)より、
8262000/220320=37.5[周/秒]
すなわち、
37.5×60=2250[rpm]
となる。
【0018】
以上より、ディスク1周で15セクターのデータ転送を6回行うのであれば、ファームウエアはCDの45倍速エンコードで、かつ、スピンドルの回転数は2250[rpm]とするのが一つの例であることが分かる。ここで注意しなければならないのは、上記全ての数字がハードウエア的に実現可能な数字の組合せになっていなければならないということである。例えば、上記のCDの転送倍速が無理数となる設定だとしたら、ハードウエア的にほぼ実現不可能となる。
なお、ディスク1周分のデータを記録するために必要なホスト機器40からのデータの転送回数をXとすると、ディスク1周のセクター数Lは、
L[セクター]=X[回]×N[セクター]
となる。
【0019】
7.基準角度位置からの描画
エンコード(描画記録)はディスク上の基準角度位置から開始する。すなわち、前記S’パルスの計数値が、前記「4.基準角度位置検出」において計測し保存しておいた光ディスクの基準角度位置に対応するS’パルスの計数値と等しくなったときに、前記エンコーダ25にその周回の画像データに対するエンコード処理を開始させる。この方法を用いれば、何度描画しても毎回同じディスク上の角度位置(基準角度位置)から描画記録を開始することができる。
また、本発明においては、前記ホスト機器40にはセクターカウンタを設けておく。これは描画又は再描画を開始するセクターを「0」として、前記ドライブ10に1セクター分のデータを転送するごとに1だけインクリメントするカウンタである。このカウンタ値をTとする。
【0020】
なお、可視画像を記録した光ディスクをドライブから取り出して、その後、再度ドライブに挿入して記録しないとき、すなわち、光ディスクに可視画像を一度だけ記録する場合等には、上述のようにして検出した光ディスクの基準角度位置を用いる必要はない。この場合には、上記4の基準角度位置の検出をすることなく、上記3で周波数発生器12から出力されるFGパルス又はS’パルスの所定の立上がり位置を基準角度位置として、そのタイミングでエンコードを開始すればよい。
【0021】
8.バッファー・アンダー・ラン
ドライブ10から光ディスク1へのデータ書き込み速度(つまり、エンコード速度)よりも、ホスト機器40からのデータ転送速度が遅いとき、又は、何らかの要因によりホスト機器40からドライブ10へのデータ転送がある時間以上中断されてしまうと、前記バッファメモリ24中に光ディスク1に書き込むべきデータが無くなってしまい描画記録が中断してしまう。これをバッファー・アンダー・ランという。
本発明においては、可視画像の記録中にバッファー・アンダー・ランが発生したとき、又は、バッファー・アンダー・ランの発生が予測されるときに、次のようにして、視覚的に滑らかに描画することができるようにしている。
【0022】
9.バッファー・アンダー・ラン後の描き継ぎ
バッファー・アンダー・ランが発生して描画が中断したとき、ドライブ10側では描画中断したその位置にフィードを停止させておくか、又はそのフィード位置をメモリに記録しておき、描き継ぎ時に光ピックアップ13をその位置へ移動させる。また、スピンドルはそのままの回転数を保持したまま回転させておく。
ホスト機器40は描画が中断したら、Tセクター(転送したセクター数)をLセクター(ディスク1周のセクター数)で割り、その余りZを求める。
Z[セクター]=mod{T[セクター]/L[セクター]}
ここで、mod{x/y}は、xをyで割った余りを表している。
以下に、余りZがゼロであった場合、及び、ゼロでなかった場合について説明する。
【0023】
9−1.余りZがゼロであった場合
この場合は、丁度、基準角度位置直前で描画が中断したことになる。よって、描き継ぎは、ホスト機器40がそのまま続きのデータをドライブ10に転送し描画を再開すれば、途切れなく基準角度位置から描き継ぐことができる。フィードも描画再開と同時に内周から外周、又は外周から内周に移動させればよい。
【0024】
9−2.余りZがゼロでなかった場合
この場合、余りZは基準角度位置に対して描きすぎたセクター数を表す。よって、基準角度位置までの記録に足らなかったセクター数Rは以下のようになる。
R[セクター]=L[セクター]−Z[セクター]
そこで、ホスト機器40はバッファ41から次に転送すべきデータの先頭Rセクター分のデータを捨て、その次のデータからドライブ10に転送する。そのようにすれば、再びドライブ10が描画を再開したとき、一部のデータが抜けるだけで、絵柄としては途切れなく基準角度位置から描き継ぐことができる。フィードも描画を再開すると同時に徐々に内周から外周、又は外周から内周に移動させればよい。
ホスト機器40が捨てたデータの分だけ描画が薄くなる危惧があるが、実際には目視しても分からない程度である。
【0025】
9−1、9−2を踏まえ、一般化すると、ホスト機器40はバッファー・アンダー・ランが発生したときは、基準角度位置までの記録に足らなかったセクター数Rを求め、次に転送すべきデータの先頭のRセクター分のデータを捨て(R=0なら捨てずに)、その次のデータからドライブ10に転送するという動作を行う。
【0026】
10.転送数による計算
上記9では全てセクター数を単位として扱っていたが、それを転送回数で計算しても同様な効果が得られる。すなわち、バッファ41からドライブ10へのデータ転送を1回するごとに1だけインクリメントする転送回数カウンタをホスト機器40に設けておき、そのカウンタ値をDとする。バッファー・アンダー・ランで描画が中断したら、ホスト機器40は転送回数D(総転送回数)をX(ディスク1周当たりの転送回数)で割り、その余りQを求める。
Q[回]=mod{D[回]/X[回]}
そして、基準角度位置までの記録に足らなかった転送回数Vは、
V[回]=X[回]−Q[回]
となる。
よって、ホスト機器40は、バッファー・アンダー・ランが発生したときは、Vを求め、次にバッファ41における転送すべきデータの先頭のV回分の転送のデータを捨て(V=0なら捨てずに)、その次のデータからドライブ10に転送することなる。
【0027】
図2を参照して具体的に説明する。
図2の(a)に示すように、この例においては、ホスト機器40から前記ドライブ10へのデータ転送1回当たりNセクターのデータが転送され、8回のデータ転送で1周分のデータが転送される場合を示している。このとき、1周のセクター数Lは、L=8N、1周の転送回数X=8である。
図2(b)の「タイプA」は、3周分のデータを丁度転送したところで、第1のバッファー・アンダー・ラン(BUR1)の発生によって記録が中断した場合を示している。
このときは、
総転送回数:D=3×X=24
余り転送回数:Q=mod(D/X)=mod(24/8)=0
となり、ホスト機器40でのデータ廃棄は無く、フィード位置を保持しつつ、基準角度位置から記録が継続されることとなる。この場合には、継ぎ目はない。
また、同図の「タイプB」は、2周と2転送分データを転送したときに、第2のバッファー・アンダー・ラン(BUR2)が発生して記録が中断した場合を示している。
このときは、
総転送回数:D=2X+2=18
余り転送回数:Q=mod(D/X)=mod(18/8)=2
廃棄転送数:V=x−Q=8−2=6
となる。
したがって、フィード位置を保持しつつ、ホスト機器40は6転送分のデータを捨てて、基準角度位置から記録を再開することとなる。
【0028】
11.データ廃棄無しでの描き継ぎ
目で見ても分からない程度であるが、今まで説明した方法にはデータの廃棄処理がある。それを避けるため、以下のような方法を用いて、データの廃棄無しでの描き継ぎをすることもできる。
ドライブ10にバッファ24から光ディスク1に転送した(つまり、エンコードした)セクター数をカウントするセクターカウンタを設けておく。これは、描画又は再描画を開始するセクターを「0」として、1セクターを光ディスク1に転送するごとに1だけインクリメントするカウンタである。このカウンタ値をBとする。そして、ホスト機器40からWRITEコマンドが来たとき、バッファ24のデータ残量が「バッファー・アンダー・ランのしきい値」であった場合、バッファー・アンダー・ラン・エラーとして返すようにする。この「バッファー・アンダー・ランのしきい値」は、前述した9の場合と同じように導出すると、以下のようになる。
「バッファー・アンダー・ランのしきい値」=L[セクター]−mod{B[セクター]/L[セクター]}
これは、Bがインクリメントされる度に求める必要がある。
【0029】
このようにしておけば、ホスト機器40からWRITEコマンドによりデータ転送が要求されたときに、ドライブ10がバッファー・アンダー・ラン・エラーとして返信し、描画データをホスト機器40から受け取らないようにすることができる。すると、ホスト機器40はドライブ10のバッファー・アンダー・ラン・エラーを検知してデータ転送を行わない。その後、描画のリスタート時には、ホスト機器40は基準角度位置からのデータを送信することになり、さらにドライブ10も基準角度位置からの描画を始めるので、データ廃棄の無い描き継ぎをすることができる。
【0030】
12.データ廃棄無しでの描き継ぎ(転送数による計算)
上記10と11とを組み合わせて、データ廃棄無しで、転送数の計算をベースに行うこともできる。
ドライブ10に、ホスト機器40からデータ転送された回数をカウントするカウンタを設けておく。このカウンタ値をYとする。この場合は、「バッファー・アンダー・ランのしきい値」は、次のようになる。
「バッファー・アンダー・ランのしきい値」=X−mod{Y/X}
これは、Yがインクリメントされる度に求める必要がある。
この方法は、描画データの転送中にバッファー・アンダー・ランが発生しないことが前提となるが、通常、バッファー・アンダー・ランは転送と転送の間の時間が長くなるときに発生するので、実質的にこの方法で問題がない。
【0031】
上記「バッファー・アンダー・ランのしきい値」について、図3を参照して詳細に説明する。
ドライブ10に搭載しているバッファ(FIFO)24を図3の(a)のように表したとする。
この図において、この図の上から下へデータが流れるとする。また、1回のデータ転送量が図3の(b)の量であったとする。すると、図3の(c)に示すように、バッファ24は丁度8回分の転送データを保持することができる。
図3の(d)は、バッファ24がEMPTYのときを示している。
図3の(e)は、バッファ24がFULLのときを示している。
バッファには、図の上部からホスト機器40から転送されてきたデータが入力され、図の下からディスク1に描画するためにデータが出力され、エンコーダ25に入る。
通常、始めに受け取ったデータはバッファ24から出力しない。よって、バッファ24はホスト機器40からデータが転送入力されることによりデータが貯まっていく。そして、バッファがFULLとなったら、初めてバッフ24からデータが出力され、光ディスク1への記録が始まる。
通常記録中は、このバッファ残量が1〜8の間を行き来しながら記録している。
バッファ24がEMPTYとなると、バッファー・アンダー・ラン・エラーで記録が中断される。
バッファ24がFULLとなった場合は、後述するステータスレジスタのBSYビットを「1」のままにしておくことにより、ホスト機器40からのデータの受信をサスペンドする。そして、バッファ24に転送1回分の空きができたら、BSYを「0」とすることにより、ホスト機器40からのデータを受信する。
【0032】
ここで、例えば、ディスク1周に要するデータ転送回数が3回であったとする。
ドライブ10は、バッファ24から光ディスク1に送られるデータ転送数をカウントするカウンタを有している。そのカウンタ値を3で割った余りにより、バッファー・アンダー・ランのしきい値を次のように順次変更する。
バッファからディスクに送ったデータ転送数を3で割った余りが0のときは、バッファー・アンダー・ランのしきい値=3転送分(図3(f))、余りが1のときは、バッファー・アンダー・ランのしきい値=2転送分(図3(g))、余りが0のときは、バッファー・アンダー・ランのしきい値=1転送分(図3(h))とする。
すなわち、バッファからディスクに送ったデータ転送数を3で割った余りは、ディスク上の基準角度位置以降に描画されているデータを示しているため、バッファに残っているデータと合わせて、ディスク1周分となるように、バッファー・アンダー・ランのしきい値を決定している。
なお、上記12のように、ホスト機器40からデータ転送された回数Yをカウントするカウンタを設け、そのカウンタ値Yを1周のデータ転送回数Xで割った余りをXから引いた値をバッファー・アンダー・ランのしきい値としてもよい。
【0033】
これにより、図3の(f)、(g)及び(h)の状態でホスト機器40がデータを転送しようとすると、ドライブ10はバッファー・アンダー・ラン・エラーを返信することにより、データを受信しない。ホスト機器40はドライブ10からのエラーを受け、データ送信を止める(一時中断)。そして、その後、バッファ内に残ったデータは順次ディスクに記録され、バッファが空になり、記録が中断する。
このようにすれば、バッファー・アンダー・ランが発生したとき、常にディスクには基準角度位置直前で記録が中断していることになる。
上述と同様に、ドライブ10はそのまま次のデータを受信し、バッファがFULLになったらディスクへの書き込みを開始すれば、書き込みは常に基準角度位置から始まるので、データを破棄することなく、滑らかな描き継ぎをすることができる。
【0034】
図4は前記ドライブ10に設けられるステータスレジスタの構成を示す図である。このステータスレジスタは、ATAレジスタの1つで8ビットのレジスタである。
前記ホスト機器40は、このステータスレジスタを読み出すことができ、その読み出し内容によりドライブ10の現在の状態を認識し、それに基づいて、バッファ24へのデータの転送制御を行う。
ステータスレジスタの内容は、図4のようになっており、特に、BSY(ビジー)ビット、DRQ(データリクエスト)ビット及びERR(エラー)ビットが利用される。すなわち、ホスト機器40からのデータ送信をサスペンドさせるために、BSYビットが利用され、バッファー・アンダー・ランの発生は、ERRビットを用いてホスト機器40に通知される。
【0035】
図5は、前記ホスト機器40の動作を説明するための状態遷移図である。
ホスト機器40は、処理が開始される(51)と、ドライブ10に設けられている前記ステータスレジスタを読み出し(52)、BSY,DRQ,ERRの各ビットが全て「0」でないときは、全て「0」となるまで待つ。そして、BSY,DRQ,ERRの各ビットが全て「0」となると、前記ドライブ10に対し、WRITEコマンドを発行する(53)。そして、ステータスレジスタを読み出す(54)。この結果、BSYビットが「1」のときは、BSY=「0」、DRQ=「1」となるまで待ち、BSY=「0」、DRQ=「1」となったら、描画データをドライブ10のバッファ24に送信する。そして、送信が完了すると、前記ステータスレジスタの読み出し(52)に戻る。
一方、読み出したステータスレジスタのERRビットが「1」であるときは、バッファー・アンダー・ランが発生したものとして、エラー処理を行う(56)。ここで、前述のようにデータ廃棄を行ったり、あるいは、所定時間が経過するのを待つ。
【0036】
図6は、前記ドライブ10の動作を説明するための状態遷移図である。
ドライブ10は、動作が開始される(61)と、ドライブ10に設けられているエラーフラグ(リファードエラーフラグ)をクリアする(62)。そして、前記ステータスレジスタのBSY,DRQ,ERRの各ビットを全て「0」にする(63)。そして、ホスト機器40からのコマンドを待つ(64)。ホスト機器40からWRITEコマンドを受信すると、前記ステータスレジスタのBSYビットを「1」とし(65)、エラーフラグをチェックする(66)。エラーフラグが立っていないときは、前記ステータスレジスタのBSYビットを「0」、DRQビットを「1」にして(67)、前記ホスト機器40から描画データが転送されるのを待つ(68)。ホスト機器40からの描画データを受信すると(69)、受信データをバッファ24に転送する(70)。描画データの受信が完了すると、描画状態を確認する(71)。描画状態でないときは、バッファ24の状態を確認する(72)。最初は、バッファ24はFULLではないので、BSYビットを「0」として(73)、前記コマンド待ち状態(64)に戻る。そして、再びWRITEコマンドを受信し、前述の動作を繰り返す。そして、バッファ状態がFULLとなったら、光ディスク1への可視画像の描画を開始する(74)。すなわち、バッファ24に蓄積されているデータを順次読み出して前記エンコーダ25に供給し、エンコードを開始する。そして、前述と同様に、BSYビットを「0」として(73)、コマンド待ち(64)に戻る。
【0037】
そして、WRITEコマンドを受信すると、前述と同様に動作する。今度は、描画が開始されているので、描画状態確認(71)において描画中であると判断され、バッファ24の状態が確認される(75)。バッファのデータ量がフルでもバッファー・アンダー・ランしきい値以下でもない通常の状態であるときは、前述と同様に、BSYビットを「0」として(73)、コマンド待ち(64)に戻る。
バッファがFULL状態のときは、データがエンコーダ25に読み出されて、FULL状態でなくなるのを待つ。
また、バッファに蓄積されているデータ量が前述したバッファー・アンダー・ランしきい値以下であるときには、前記エラーフラグをセットした後(76)、BSYビットを「0」として(73)、コマンド待ちに戻る。
このエラーフラグがセットされている状態のときに、ホスト機器40からWRITEコマンドを受信すると、エラーフラグチェック(66)において、エラーフラグが立っている状態となり、ステータスレジスタのBSYビットを「0」、ERRビットを「1」とする(77)。そして、データの書き込みを中断してエラー処理(78)を行い、開始後の状態に戻る。
このように、バッファ24のデータ量がバッファー・アンダー・ランしきい値以下となったときは、ステータスレジスタのERRビットを「1」とすることにより、ホスト機器40はその状態を知ることができる。
前記図5に関して説明したように、ERR=「1」のとき、ホスト機器40はエラー処理を実行する。この図の場合においては、バッファー・アンダー・ランしきい値以下となったときに、ERR=「1」とされているため、前記ホスト機器40はデータを破棄することなく、ドライブ10がエラー状態でなくなるまで待つ。そして、エラー状態でなくなると、続きのデータの転送を開始する。
このようにして、バッファー・アンダー・ランが発生したとき、又は、バッファー・アンダー・ランの発生が予測されるときに、視覚的に滑らかに可視画像の描き継ぎを行うことができる。
【0038】
13.応用
応用例として、FGパルス(S’パルス)を逓倍する場合について説明する。
前述のように、S’パルスはFGパルスを適当な分周比で分周した正確なスピンドルの回転位置を示す信号である。この信号をさらに分周し、スピンドル1回転で丁度1パルス出るようにした信号をS’’パルスとする。これをPLL回路等で逓倍すれば、より多くの正確なスピンドル回転位置を示す信号ができ、これを用いて1周につきより多くの描画可能開始位置を得ることができる。
例えば、1周の転送回数であるXを用いてS’’パルスをX逓倍することで転送単位ごとに描画休止と再開を行うことができる。すなわち、前記図2(a)の例を用いれば、1周中の8個所において、描画休止と再開を行うことが可能となる。
さらに、1周のセクター数であるL(=X×N)を用いてS’’パルスをL逓倍することでセクター単位で描画休止と再開を行うことができる。この場合は、転送単位よりも細かい休止と再開の制御ができるため、例えば、外乱などの転送速度以外の原因で発生する描画中断にも十分な対応ができる。
【図面の簡単な説明】
【0039】
【図1】本発明の光ディスク記録システムの一実施の形態の要部構成を示すブロック図である。
【図2】バッファー・アンダー・ランが発生したときの処理について説明するための図である。
【図3】バッファ24の動作について説明するための図である。
【図4】ドライブ10に設けられるステータスレジスタの構成を示す図である。
【図5】ホスト機器40の動作を説明するための状態遷移図である。
【図6】ドライブ10の動作を説明するための状態遷移図である。
【符号の説明】
【0040】
1:光ディスク、10:光ディスクドライブ装置(ドライブ)、11:スピンドルモータ、12:周波数発生器、13:光ピックアップ、14:RFアンプ、15:サーボ回路、16:デコーダ、17:アドレス検出回路、18:制御部、19:ステッピングモータ、20:モータドライバ、21:モータコントローラ、22:分周回路、23:LPC回路、24:バッファメモリ、25:エンコーダ、26:ストラテジ回路、27:レーザードライバ、28:復調器、29:アンド回路、30:インターフェース回路、31復調器、32:アンド回路、40:ホスト機器、41:バッファメモリ

【特許請求の範囲】
【請求項1】
ホスト機器から転送されるデータを一時記憶する緩衝記憶部と、光ディスクを保持し回転させ、角度位置信号を出力する回転部とを有し、前記データに対応する可視画像を光ディスクへ記録する光ディスクドライブ装置と、該光ディスクドライブ装置へ前記データを転送するホスト機器とを有する光ディスク記録システムであって、
前記光ディスクドライブ装置は、所定の周回の記録中に、前記緩衝記憶部においてデータが無くなるエラーが生じたときは記録を中断し、
前記ホスト機器は、前記エラーが生じた個所と光ディスクの基準角度位置との間に相当するデータを破棄してからデータ転送を再開し、
前記光ディスクドライブ装置は、データ受信を再開して、前記基準角度位置から記録を再開することを特徴とする光ディスク記録システム。
【請求項2】
ホスト機器から転送されるデータを一時記憶する緩衝記憶部と、光ディスクを保持し回転させ、角度位置信号を出力する回転部と、前記光ディスクが1回転する間に所定数のセクターに相当するデータを前記緩衝記憶部から読み出して処理する信号処理部と、前記信号処理部により処理されたデータに応じた出力でレーザー光を照射して前記光ディスクにデータを記録する発光部とを有する光ディスクドライブ装置と、該光ディスクドライブ装置へ前記データを転送するホスト機器とを有する光ディスク記録システムであって、
前記ホスト機器は、前記光ディスクドライブ装置へ転送したデータのセクター数を計数する計数部を有しており、
前記光ディスクドライブ装置は、所定の周回の記録中に、前記緩衝記憶部においてデータが無くなるエラーが生じたときは、前記ホスト機器からのデータ受信を一時中断し、前記ホスト機器にその旨を通知するとともに、前記光ディスクへの記録を中断し、
前記ホスト機器は、前記光ディスクドライブにおいて前記データが無くなるエラーが発生したときの前記計数部で計数したセクター数と前記所定数とからエラーが発生したところから次周の先頭までに相当する分のデータを特定し、該特定されたデータを破棄してからデータの転送を再開し、
前記光ディスクドライブ装置は、データ受信を再開して、次周の先頭から記録を再開することを特徴とする光ディスク記録システム。
【請求項3】
ホスト機器から転送されるデータを一時記憶する緩衝記憶部と、光ディスクを保持し回転させ、角度位置信号を出力する回転部と、前記光ディスクが1回転する間にN×M(N,Mは自然数)セクターに相当するデータを前記緩衝記憶部から読み出して処理する信号処理部と、前記信号処理部により処理されたデータに応じた出力でレーザー光を照射して前記光ディスクにデータを記録する発光部とを有する光ディスクドライブ装置と、該光ディスクドライブ装置へ前記データを転送するホスト機器とを有する光ディスク記録システムであって、
前記ホスト機器は、1回の転送でNセクターに相当するデータを前記光ディスクドライブ装置へ転送するものであって、前記光ディスクドライブ装置へデータを転送した回数を計数する計数部を有しており、
前記光ディスクドライブ装置は、所定の周回の記録中に、前記緩衝記憶部においてデータが無くなるエラーが生じたときは、前記ホスト機器からのデータ受信を一時中断し、前記ホスト機器にその旨を通知するとともに、前記光ディスクへの記録を中断し、
前記ホスト機器は、前記光ディスクドライブにおいて前記データが無くなるエラーが発生したときの前記計数部で計数された転送回数と前記M値とからエラーが発生したところから次周の先頭までの相当する分のデータを特定し、該特定されたデータを破棄してからデータの転送を再開し、
前記光ディスクドライブ装置は、データ受信を再開して、次周の先頭から記録を再開することを特徴とする光ディスク記録システム。
【請求項4】
ホスト機器から転送されるデータを一時記憶する緩衝記憶部と、光ディスクを保持し回転させ、角度位置信号を出力する回転部と、前記光ディスクが1回転する間に所定数のセクターに相当するデータを前記緩衝記憶部から読み出して処理する信号処理部と、前記信号処理部により処理されたデータに応じた出力でレーザー光を照射して前記光ディスクにデータを記録する発光部とを有する光ディスクドライブ装置と、該光ディスクドライブ装置へ前記データを転送するホスト機器とを有する光ディスク記録システムであって、
前記光ディスクドライブ装置には、前記緩衝記憶部に記憶されているデータが無くなるエラーの発生を予測する監視部が設けられており、
所定の周回の記録中に、前記監視部により前記緩衝記憶部においてデータが無くなるエラーが発生すると予測されたときは、前記光ディスクドライブ装置は、前記ホスト機器に異常を通知するとともに、前記ホスト機器からのデータ受信を一時中断し、前記緩衝記憶部においてデータが無くなるエラーが発生した後に前記光ディスクへの記録を中断し、その後に前記ホスト機器からのデータ受信を再開し、次周の先頭から記録を再開することを特徴とする光ディスク記録システム。
【請求項5】
前記監視部は、前記緩衝記憶部に記憶されているデータ量と前記緩衝記憶部から出力されたデータ量とを検出する検出部を有し、記憶されているデータ量と出力されたデータ量と前記所定数とに基づいて前記緩衝記憶部においてデータが無くなるエラーの発生を予測するものであることを特徴とする請求項4記載の光ディスク記録システム。
【請求項6】
前記監視部は、記憶されているデータ量と出力されたデータ量との総和を前記所定数で除した余りがゼロであり、かつ、記憶されているデータ量が前記所定数のセクターに相当するデータ量以下のときに前記緩衝記憶部においてデータが無くなるエラーの発生を予測するものであることを特徴とする請求項5記載の光ディスク記録システム。
【請求項7】
ホスト機器から転送されるデータを一時記憶する緩衝記憶部と、光ディスクを保持し回転させ、1回転につきM個(Mは自然数)の角度位置信号を出力する回転部と、前記光ディスクが1回転する間にN×M(Nは自然数)個のセクターに相当するデータを前記緩衝記憶部から読み出して処理する信号処理部と、前記信号処理部により処理されたデータに応じた出力でレーザー光を照射して前記光ディスクにデータを記録する発光部とを有する光ディスクドライブ装置と、該光ディスクドライブ装置へ前記データを転送するホスト機器とを有する光ディスク記録システムであって、
前記ホスト機器は、前記光ディスクドライブ装置へ転送したデータのセクター数を計数する計数部を有しており、
前記光ディスクドライブ装置は、所定の周回の記録中に、前記緩衝記憶部においてデータが無くなるエラーが生じたときは、前記ホスト機器からのデータ受信を一時中断し、前記ホスト機器にその旨を通知するとともに、前記光ディスクへの記録を中断し、
前記ホスト機器は、前記光ディスクドライブにおいて前記データが無くなるエラーが発生したときの前記計数部で計数されたセクター数と前記N値とからエラーが発生したところと前記角度位置信号との間に相当する分のデータを特定し、該特定されたデータを破棄してからデータの転送を再開し、
前記光ディスクドライブ装置は、データ受信を再開して、前記角度位置信号に応じて記録を再開することを特徴とする光ディスク記録システム。
【請求項8】
ホスト機器から転送されるデータを一時記憶する緩衝記憶部と、光ディスクを保持し回転させ、1回転につきN×M個(N,Mは自然数)の角度位置信号を出力する回転部と、前記光ディスクが1回転する間にN×Mセクター分のデータを前記緩衝記憶部から読み出して処理する信号処理部と、前記信号処理部により処理されたデータに応じた出力でレーザー光を照射して前記光ディスクにデータを記録する発光部とを有する光ディスクドライブ装置と、該光ディスクドライブ装置へ前記データを転送するホスト機器とを有する光ディスク記録システムであって、
前記ホスト機器は、前記光ディスクドライブ装置へ転送したデータのセクター数を計数する計数部を有しており、
前記光ディスクドライブ装置は、所定の周回の記録中に前記緩衝記憶部においてデータが無くなるエラーが生じたときは、前記ホスト機器からのデータ受信を一時中断し、前記ホスト機器にその旨を通知するとともに、前記光ディスクへの記録を中断し、
前記ホスト機器は、前記光ディスクドライブにおいて前記データが無くなるエラーが発生したときの前記計数部で計数されたセクター数からエラーが発生したところと前記角度位置信号との間に相当する分のデータを特定し、該特定されたデータを破棄してからデータを転送し、
前記光ディスクドライブ装置は、データ受信を再開して、前記角度位置信号に応じて記録を再開することを特徴とする光ディスク記録システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−12159(P2007−12159A)
【公開日】平成19年1月18日(2007.1.18)
【国際特許分類】
【出願番号】特願2005−191238(P2005−191238)
【出願日】平成17年6月30日(2005.6.30)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】