以下、本発明を実施するための最良の形態について実施形態毎に順に図面に基づいて説明する。
(第1実施形態)
図1は、本発明の情報記録装置の第1実施形態であるDVDドライブ装置が搭載されたパーソナルコンピュータシステムを示している。図1に示すように、パーソナルコンピュータシステム1は、パーソナルコンピュータ本体2、キーボード3、マウス4およびディスプレイパネル装置5を備えている。キーボード3、マウス4およびディスプレイパネル装置5は、一般に知られているパーソナルコンピュータシステムと同様の方法により、パーソナルコンピュータ本体2に接続されている。
パーソナルコンピュータ本体2の内部には、ホスト部6およびDVDドライブ装置7が設けられている。
ホスト部6は、パーソナルコンピュータシステム1の制御を行う電子回路である。ホスト部6は、例えばCPU(Central Processing Unit)、主記憶メモリ、ハードディスクドライブなど、パーソナルコンピュータの基本的部分を構成する一般的な素子、回路ないし装置を備えている。
DVDドライブ装置7は、DVD8にユーザーデータなどの情報を記録し、かつDVD8に記録された情報を読み取る装置である。DVDドライブ装置7は、DVD−ROM、DVD−R、DVD+R、DVD−RW、DVD+RW、DVD−RAMなど、各種のDVDに記録された情報を読み取ることができる。また、DVDドライブ装置7は、DVD−R、DVD+R、DVD−RW、DVD+RW、DVD−RAMなどの各種の追記型DVDおよび書き換え可能型DVDに対し情報を記録することができる。なお、以下の説明では、DVD8がDVD−RWである場合を例にあげる。
パーソナルコンピュータ本体2内において、ホスト部6とDVDドライブ装置7とはバスを介して相互に接続されており、両者はバスを介して互いに通信を行うことができる。ホスト部6は、DVD8に記録すべきデータをDVDドライブ装置7に送ることができる。DVDドライブ装置7は、DVD8から読み取ったデータをホスト部6に送ることができる。また、ホスト部6は、DVDドライブ装置7を制御するための種々のコマンドをDVDドライブ装置7に送ることができる。DVDドライブ装置7は、ホスト部6から送られたコマンドに従って動作する。また、DVDドライブ装置7は、動作ないし処理の結果をホスト部6に返すことができる。例えば、ホスト部6とDVDドライブ装置7との間の通信方式には、ATAPI(AT Attachment Packet Interface)が用いられている。
なお、図1中のDVDドライブ装置7は、パーソナルコンピュータ本体2に内蔵されているが、本発明は外付けのDVDドライブ装置にも適用することができる。また、図1中のDVDドライブ装置7は、パーソナルコンピュータシステムに搭載されているが、本発明は、例えば、DVDレコーダに搭載されたDVDドライブ装置、番組録画機能を備えたテレビジョンに搭載されたDVDドライブ装置、カーナビゲーションシステムに搭載されたDVDドライブ装置にも適用することができる。
また、この実施形態および後に述べる第2実施形態および第3実施形態では、互いに分離したハードウェアであるホスト部6とDVDドライブ装置7との協働により、DVD8への情報の記録を行う場合を例にあげる。しかし、本発明はこれに限られない。本発明は、ホスト部6とDVDドライブ装置7の両者の機能ないし構成を一体化した回路ないし装置にも適用することができる。例えば、ホスト部6のCPUとDVDドライブ装置7のCPUとを1個のCPUにより構成してもよい。
図2は、DVDドライブ装置7の構造を示している。DVDドライブ装置7は、ユーザーデータを一度記録した後にさらにユーザーデータの追加記録を行うことができる記録方式を採用している。この記録方式はインクリメンタル記録方式と呼ばれる。DVDドライブ装置7は、この記録方式に従ってDVD8上にユーザーデータの追加記録を行う。以下、インクリメンタル記録方式に従ってDVD8上にユーザーデータの追加記録を行う処理を「追加記録処理」という。
すなわち、DVDドライブ装置7は、例えば、概ね次のような手順により追加記録処理を行う。まず、一まとまりのユーザーデータの追加記録を行うための連続的な領域をDVD8上のデータ記録領域内に確保する。以下、一まとまりのユーザーデータを「ユーザーデータグループ」といい、ユーザーデータの追加記録を行うための連続的な領域を「記録ゾーン」という。なお、記録ゾーンは「RZone」と呼ばれることがある。次に、確保された記録ゾーンにユーザーデータグループを記録する。ユーザーデータグループの記録が終了した後、記録ゾーンをクローズする。このとき、記録ゾーンの末尾に、今回の記録処理においてユーザーデータが記録されなかった領域(以下、これを「残余領域」という。)が存在する場合には、パディングを行う。また、記録ゾーンをクローズし、その後、新たに記録ゾーンを確保してユーザーデータグループの追加記録を行うときには、DVDドライブ装置7は、すでにクローズした記録ゾーンの直後にリンクロス領域を形成する。つまり、ユーザーデータグループが前回記録された記録ゾーンとユーザーデータグループが今回記録される記録ゾーンとの間には、リンクロス領域が形成される。
ユーザーデータは例えばコンテンツデータである。コンテンツデータは例えば映画、テレビ番組、ラジオ番組、音楽、音声、文字などのデータである。ユーザーデータには、動画データ、静止画データ、音声データ、字幕データ、文字データ、図形データおよび制御データなどのうちのいくつかまたはすべてを含めることができる。
図2に示すように、DVDドライブ装置7は、記録ゾーン確保部11、ユーザーデータ記録制御部12、記録ゾーンクローズ部13、リンクロス領域形成部15、インターフェース16、バッファメモリ17、データ転送部18、エンコード部19、記録ヘッド20、駆動システム21、駆動制御部22および総合制御部23を備えている。さらに、記録ゾーンクローズ部13は読み取りエラーデータ生成部14を備えている。
記録ゾーン確保部11はDVD8上に記録ゾーンを確保する。DVD8に読み取りエラーデータを記録すべき場合、記録ゾーン確保部11は、ユーザーデータグループのサイズと読み取りエラーデータのサイズとを合計したサイズを有する記録ゾーンを確保する。DVD8に読み取りエラーデータを記録すべきでない場合には、記録ゾーン確保部11は、ユーザーデータグループのサイズと同じサイズを有する記録ゾーンを確保する。
ユーザーデータ記録制御部12は、記録ゾーン確保部11により確保された記録ゾーンに、ユーザーデータグループに含まれるユーザーデータを記録する。ユーザーデータ記録制御部12は、ホスト部6または総合制御部23の制御により、ユーザーデータグループに含まれるユーザーデータの全部を連続的に記録ゾーンに記録することもできるし、ユーザーデータに含まれるユーザーデータを複数回に分断して記録ゾーンに記録することもできる。また、ユーザーデータ記録制御部12は、倍速以上の記録速度、例えば2倍、4倍、8倍または16倍の記録速度でユーザーデータを記録ゾーンに記録することができる。この高速記録は、バッファメモリ17とエンコード部19との間におけるユーザーデータの高速データ転送とのコンビネーションにより実現される。
記録ゾーンクローズ部13は、ユーザーデータ記録制御部12による追加記録が終了した記録ゾーンの末尾に存在する残余領域にパディングデータを記録することによりパディングを行い、これにより記録ゾーンをクローズする。記録ゾーンクローズ部13は、読み取りエラーデータをパディングデータとして用いることができる。読み取りエラーデータとは、他の装置(例えばDVDプレーヤ)によりDVD8からユーザーデータを読み取るときに読み取りエラーを発生させるデータである。記録ゾーンクローズ部13は、読み取りエラーデータ生成部14を備えている。読み取りエラーデータ生成部14は、読み取りエラーデータを生成する。
リンクロス領域形成部15は、記録ゾーンクローズ部13によりクローズされた記録ゾーンの直後にリンクロスデータを記録することによりリンクロス領域を形成する。
記録ゾーン確保部11、ユーザーデータ記録制御部12、記録ゾーンクローズ部13、読み取りエラーデータ生成部14、リンクロス領域形成部15および総合制御部23は、例えば、CPUなどの演算処理装置、並びにROM(Read Only Memory)およびRAM(Random Access Memory)などの半導体記憶素子により構成されている。例えばROMには、記録ゾーン確保部11、ユーザーデータ記録制御部12、記録ゾーンクローズ部13、読み取りエラーデータ生成部14、リンクロス領域形成部15および総合制御部23の動作を実現するためのプログラムが記憶されている。CPUはROMからこのプログラムを読み取り、これを実行する。CPUがこのプログラムを実行するときにはRAMが作業メモリ領域として用いられる。
インターフェース16は、DVDドライブ装置7とホスト部6とを接続し、両者間における通信を可能にする。具体的には、インターフェース16は、DVD8に記録すべきユーザーデータおよびDVDドライブ装置7を制御するための種々のコマンドをホスト部6から受け取る。インターフェース16は、例えばATAPIインターフェース回路であり、パーソナルコンピュータ本体2内に設けられたバスに接続されている。
バッファメモリ17は、ユーザーデータ(ユーザーデータグループの一部または全部)を一時的に記憶する。バッファメモリ17は例えばRAMなどの揮発性を有する半導体記憶素子である。
データ転送部18は、バッファメモリ17に記憶されたユーザーデータをバッファメモリ17からエンコード部19へDMA(Direct Memory Access)方式などの高速データ転送方式により転送する。データ転送部18は例えばDMAチップにより構成されている。
エンコード部19は、ユーザーデータをエンコードする。具体的には、エンコード部19は、バッファメモリ17から供給されたユーザーデータに対し、EDC(Error Detection Code)エンコード、ECC(Error Correcting Code)エンコード、8/16変調などを行う。エンコード部19は、例えばEDCエンコーダ、ECCエンコーダおよび8/16変調回路などにより構成されている。
記録ヘッド20は、エンコード部19によりエンコードされたユーザーデータおよびその他の情報を光ビームに変換し、この光ビームをDVD8に照射する。これにより、ユーザーデータおよびその他の情報がDVD8に記録される。記録ヘッド20は例えば光ピックアップである。なお、情報記録媒体が光記録媒体ではなく、磁気記録媒体であるときには、記録ヘッド20を例えば磁気ヘッドにより構成する。
駆動システム21は、DVD8の回転、DVD8の半径方向における記録ヘッド20の移動などを制御する。駆動システム21は、例えばDVD8を回転させるためのスピンドルモータ、および記録ヘッド20を移動させるためのアクチュエータなどを備えている。
駆動制御部22は、総合制御部23の制御のもと、駆動システム21を制御する。駆動制御部22は例えばサーボ制御回路により構成されている。
総合制御部23は、DVDドライブ装置7を構成する要素11ないし22の制御を行う。例えば、総合制御部23は、各要素の動作タイミング、各要素間のデータの転送などを制御する。さらに、総合制御部23は、セクタヘッダの生成、ホスト部6から受け取った各種コマンドの識別、認識などを行う。
なお、DVDドライブ装置7には、DVD8に記録されたユーザーデータなどの情報を読み取るための構成(例えば8/16復調回路など)をも備えている。この構成には、すでに市場に出回っているDVDドライブ装置に搭載された周知の構成を用いることができる。
図3はDVD8の記録領域の構造を示している。この実施形態および後述する第2実施形態および第3実施形態では、DVD8としてDVD−RWを例にあげる。図3に示すように、DVD8の記録領域には、その内周側から外周側に向けて、R情報領域31、リードイン領域32、データ記録領域33およびリードアウト領域34が形成されている。R情報領域31にはPCA(Power Calibration Area)31AおよびRMA(Recording Management Area)31Bが形成されている。リードイン領域32およびリードアウト領域34は制御情報および管理情報を記録するための領域である。データ記録領域33にはユーザーデータが記録される。
図4はDVDドライブ装置7の追加記録処理を示している。例えば、追加記録処理の実行すべき旨のコマンドがホスト部6からDVDドライブ装置7に送られると、これに応じ、DVDドライブ装置7は図4に示す追加記録処理を実行する。
まず、DVDドライブ装置7は、DVDドライブ装置7内にDVD8が挿入されているか否かを調査する(ステップS1)。この調査は例えば次のような手順で行われる。まず、DVDドライブ装置7は、DVDが挿入されているか否かを調査すべき旨のコマンドをホスト部6から受け取る。このコマンドに従い、DVDドライブ装置7の総合制御部23は、DVDドライブ装置7内にDVD8が挿入されているか否かを調査する。DVDドライブ装置7内にDVD8が挿入されているときには(ステップS1:YES)、総合制御部23は、DVDが挿入されている旨を示す信号をホスト部6に送る。
続いて、DVDドライブ装置7は、DVDドライブ装置7に挿入されているDVD8がファイナライズ済みであるか否かを調査する(ステップS2)。この調査は例えば次のような手順で行われる。まず、DVDドライブ装置7は、DVDがファイナライズ済みであるか否かを調査すべき旨のコマンドをホスト部6から受け取る。このコマンドに応じ、総合制御部23は、DVD8がファイナライズ済みであるか否かを調査する。DVD8がファイナライズ済みでないときには(ステップS2:NO)、総合制御部23は、DVDがファイナライズ済みでない旨を示す信号をホスト部6に送る。
続いて、DVDドライブ装置7は、ユーザーデータグループの追加記録を開始すべきDVD8上の位置を認識する(ステップS3)。ユーザーデータグループの追加記録を開始すべき位置の認識は、例えば次のような手順で行われる。まず、DVDドライブ装置7は、DVDのRMAに記録された記録管理情報を読み取るべき旨のコマンドをホスト部6から受け取る。このコマンドに従い、総合制御部23は、DVD8のRMA31Bに記録された記録管理情報を読み取り、この記録管理情報をホスト部6に送る。ホスト部6は、この記録管理情報を受け取る。この記録管理情報には、DVD8のデータ記録領域33における記録の履歴が含まれている。具体的には、記録管理情報には、現時点においてデータ記録領域33にすでに存在している記録ゾーンの先頭アドレス、およびデータ記録領域33に最後に記録されたユーザーデータのアドレスなどを示す情報が含まれている。ホスト部6は、記録管理情報に基づいて、現時点におけるデータ記録領域33の未記録領域の先頭アドレスを算出し、このアドレスにリンクロス領域のサイズを加算する。これにより得られたアドレスが、ユーザーデータグループの追加記録を開始すべきアドレスである。ホスト部6は、このアドレスを示す情報をDVDドライブ装置7に送る。DVDドライブ装置7は、この情報を受け取り、この情報が示すアドレスを認識(例えばRAMなどに記憶)する。なお、リンクロス領域40のサイズは、例えば1ECCブロックのサイズであり、具体的にはおよそ32キロバイトである。
続いて、DVDドライブ装置7はDVD8上に記録ゾーンを確保する(ステップS4)。記録ゾーンの確保は例えば次のような手順で行われる。
まず、ホスト部6は、確保すべき記録ゾーンのサイズを算出する。DVD8に読み取りエラーデータを記録すべき場合には、ホスト部6は、例えば、追加記録すべきユーザーデータグループのサイズと読み取りエラーデータのサイズとを加算することにより、記録ゾーンのサイズを算出する。一方、DVD8に読み取りエラーデータを記録すべきでない場合には、ホスト部6は、ユーザーデータグループのサイズを記録ゾーンのサイズとする。
そして、ホスト部6は、DVD8上に記録ゾーンを確保すべき旨のコマンド(リザーブコマンド)と、記録ゾーンのサイズを示す情報(記録ゾーンサイズ情報)とをDVDドライブ装置7に送る。DVDドライブ装置7は、リザーブコマンドおよび記録ゾーンサイズ情報をホスト部6から受け取る。これらのコマンドおよび情報は、総合制御部23を介して記録ゾーン確保部11に伝えられる。そして、記録ゾーン確保部11は、リザーブコマンドに従い、記録ゾーンサイズ情報の示すサイズを有する記録ゾーンをデータ記録領域33に確保する。
これにより、図6に示すように、データ記録領域33に記録ゾーン42が確保される。なお、ステップS4における記録ゾーンの確保と同時に、当該記録ゾーンの直前にリンクロス領域40が確保される。つまり、記録ゾーン42は、ユーザーデータグループの追加記録を開始すべきアドレスから確保される。上述したように、ユーザーデータグループの追加記録を開始すべきアドレスは、現時点におけるデータ記録領域33の未記録領域の先頭アドレスにリンクロス領域のサイズを加算することにより得られる。したがって、ユーザーデータグループの追加記録を開始すべきアドレスから記録ゾーンを確保することにより、データ記録領域33の未記録領域の先頭アドレスから、ユーザーデータグループの追加記録を開始すべきアドレスの直前までの間の未記録領域がリンクロス領域として確保される。
続いて、DVDドライブ装置7は、図4中のステップS4において確保されたリンクロス領域にリンクロスデータを記録し、続いて、ステップS4において確保された記録ゾーンにユーザーデータグループを記録する(ステップS5、S6)。
リンクロスデータおよびユーザーデータグループの記録は、例えば次のような手順で行われる。
まず、DVDドライブ装置7は、ユーザーデータグループに含まれるユーザーデータと、ユーザーデータを記録ゾーンに記録すべき旨のコマンド(書き込みコマンド)とをホスト部6から受け取る。受け取った書き込みコマンドは総合制御部23を介してユーザーデータ記録制御部12に伝えられる。また、受け取ったユーザーデータはバッファメモリ17に記憶される。
最初の書き込みコマンドを受け取ったときに限り、リンクロス領域形成部15は、総合制御部23の制御のもと、リンクロスデータをリンクロス領域に記録する。リンクロスデータは例えばゼロデータである。
続いて、ユーザーデータ記録制御部12は、書き込みコマンドに従い、バッファメモリ17に記憶されたユーザーデータを記録ゾーンに記録する。すなわち、ユーザーデータ記録制御部12は、バッファメモリ17、データ転送部18、エンコード部19、記録ヘッド20および駆動制御部22など、ユーザーデータの記録に必要な構成要素の制御を行う。ユーザーデータ記録制御部12の制御のもと、バッファメモリ17に記憶されたユーザーデータは、データ転送部18によりエンコード部19に転送され、エンコード部19によりエンコードされ、記録ヘッド20に供給され、記録ヘッド20からの光ビームの照射により記録ゾーンに記録される。このような処理が、ユーザーデータグループに含まれるすべてのユーザーデータの記録が終了するまで繰り返される(ステップS7)。
データ転送部18による、バッファメモリ17からエンコード部19へのユーザーデータの転送には例えばDMA方式が採用されている。このため、ユーザーデータの転送は高速であり、かつ、エンコード部19によるエンコード処理も高速である。さらに、ユーザーデータ記録制御部12の制御のもと、記録ヘッド20は、ユーザーデータを倍速以上の記録速度で記録ゾーンに記録することができる。この結果、ステップS6およびステップS7において、DVDドライブ装置7は、ユーザーデータグループに含まれるユーザーデータの全部を、倍速以上の記録速度で連続的に記録ゾーンに記録することができる。
続いて、DVDドライブ装置7のユーザーデータ記録制御部12は、バッファメモリ17に記憶された残余のユーザーデータをすべて記録ゾーンに記録し、バッファメモリ17を空にする(ステップS8)。この処理は、例えば、ホスト部6から発せられるシンクロナイズキャッシュコマンドに従って行われる。
ステップS5ないしステップS8において、図7に示すように、リンクロスデータ41がリンクロス領域40に連続的に記録される。続いて、ユーザーデータグループ43が記録ゾーン42に連続的に記録される。
続いて、DVDドライブ装置7は記録ゾーンクローズ処理を行う(ステップS9)。
図5は記録ゾーンクローズ処理を示している。記録ゾーンクローズ処理は例えば図5に示すような手順で行われる。まず、DVDドライブ装置7は、記録ゾーンクローズ処理を行うべき旨のコマンド(クローズコマンド)をホスト部6から受け取る。クローズコマンドは総合制御部23を介して記録ゾーンクローズ部13に伝えられる。クローズコマンドを受け取った記録ゾーンクローズ部13は、記録ゾーンクローズ処理を開始する。
まず、記録ゾーンクローズ部13は、記録ゾーン内に残余領域が存在するか否かを調査する(図5中のステップS21)。DVD8に読み取りエラーデータを記録すべき場合、図4中のステップS5において確保された記録ゾーンのサイズは、ユーザーデータグループのサイズと読み取りエラーデータのサイズとを合計したサイズである。このため、図7に示すように、記録ゾーン42にユーザーデータグループ43を記録した後、記録ゾーン42の末尾には残余領域44が残る。残余領域44のサイズは、読み取りエラーデータのサイズと同じである。一方、DVD8に読み取りエラーデータを記録すべきでない場合には、図4中のステップ5において確保された記録ゾーンのサイズはユーザーデータグループのサイズと同じである。この場合、記録ゾーンのサイズとユーザーデータグループのサイズとは同じなので、記録ゾーンにユーザーデータグループを記録した後に記録ゾーンの末尾に残余領域が残ることはないはずである。しかし、実際は、記録ゾーンのサイズはECCブロックの整数倍となるように計算されるため、記録ゾーンに記録されるユーザーデータのサイズがECCブロックの整数倍でないときには、記録ゾーンの末尾にECCブロックサイズ未満の残余領域が残る。
記録ゾーン内に残余領域が存在するときには(図5中のステップS21:YES)、続いて、記録ゾーンクローズ部13は、読み取りエラーデータを残余領域44に記録すべきか否かを判断する(ステップS22)。この判断は例えば次のような手順で行われる。ホスト部6からDVDドライブ装置7に送られたクローズコマンドには、読み取りエラーデータを記録すべきか否かを示す情報が付加されている。例えば、クローズコマンドには、読み取りエラーデータを記録すべきか否かを示す読み取りエラーデータ記録フラグが付加されている。記録ゾーンクローズ部13は、クローズコマンドと共に読み取りエラーデータ記録フラグを、総合制御部23を介して受け取る。そして、記録ゾーンクローズ部13は、読み取りエラーデータ記録フラグに基づいて、読み取りエラーデータの記録を行うべきか否かを判断する。
読み取りエラーデータの記録を行うべきときには(ステップS22:YES)、読み取りエラーデータ生成部14が読み取りエラーデータを生成する(ステップS23)。読み取りエラーデータの構造および生成方法については後述する。
続いて、記録ゾーンクローズ部13は、残余領域にパディングデータを記録することによりパディングを行う(ステップS24)。ステップS24では、記録ゾーンクローズ部13は、ステップS23において生成された読み取りエラーデータをパディングデータとして用いる。これにより、図8に示すように、読み取りエラーデータ45が残余領域に記録される。すなわち、ユーザーデータグループ43の直後から記録ゾーン42の末端までの領域に読み取りエラーデータ45が記録される。
一方、読み取りエラーデータの記録を行うべきでないときには(図5中のステップS22:NO)、記録ゾーンクローズ部13は、通常のパディングデータを生成し(ステップS25)、この通常のパディングデータを残余領域に記録することによりパディングを行う(ステップS26)。これにより、通常のパディングデータが残余領域に記録される。
なお、通常のパディングデータは例えばゼロデータである。さらに、通常のパディングデータを構成する各セクタのエラー検出符号は正しい値である。さらに、通常のパディングデータを構成する各ECCブロックのPI/POエラー訂正符号は正しい値である。通常のパディングデータは、もしこれが他の装置(例えばDVDプレーヤ)により読み取られたとしても、読み取りエラーは生じない構造になっている。
パディングが終了した後、記録ゾーンクローズ部13は、今回の追加記録処理により記録されたユーザーデータグループの履歴を記録管理情報としてRMA31Bに記録する(ステップS27)。例えば、記録ゾーンクローズ部13は、今回形成した記録ゾーンの先頭アドレスおよびこの記録ゾーンに最後に記録されたユーザーデータのアドレスをRMA31Bに記録する。
一方、DVD8に読み取りエラーデータを記録すべきでない場合には、図4中のステップS5において確保された記録ゾーンのサイズがユーザーデータグループのサイズと等しいときがある。このような場合には、ユーザーデータグループの記録後に記録ゾーンに残余領域は存在しない。記録ゾーンに残余領域が存在しないときには(ステップS21:NO)、記録ゾーンクローズ部13は、ステップS22ないしステップS26をとばし、直ちにステップS27を実行する。
図4に戻り、DVDドライブ装置7の総合制御部23は、追加記録処理を終了すべきか否かを判断する(ステップS10)。例えば、図9に示すように、複数のユーザーデータグループをデータ記録領域33に連続的に記録する場合、DVDドライブ装置7は、1つのユーザーデータグループについての追加記録処理が終了した後、次のユーザーデータグループについての追加記録処理を連続して行う。このような事情により追加記録処理を続行すべきときには、総合制御部23は、追加記録処理を終了すべきでないと判断する(ステップS10:NO)。この場合、DVDドライブ装置7の処理はステップS3に戻る。
一方、例えば次に追加記録すべきユーザーデータグループがないときには、総合制御部23は、追加記録処理を終了すべきと判断する(ステップS10:YES)。これによりDVDドライブ装置7の追加記録処理は終了する。
また、ステップS1において、DVDドライブ装置7内にDVD8が挿入されているか否かを総合制御部23が調査した結果、DVDドライブ装置7内にDVD8が挿入されていないときには(ステップS1:NO)、総合制御部23は、DVDが挿入されていない旨を示す信号をホスト部6に送る。これにより、DVDドライブ装置7の追加記録処理は終了する。
また、ステップS2において、DVD8がファイナライズ済みであるか否かを総合制御部23が調査した結果、DVD8がファイナライズ済みであるときには(ステップS2:YES)、総合制御部32は、DVDがファイナライズ済みである旨を示す信号をホスト部6に送る。これにより、DVDドライブ装置7の追加記録処理は終了する。
図10は読み取りエラーデータの構造を示している。図10に示すように、読み取りエラーデータ45は、例えば複数のECCブロック51、51、…により構成されている。なお、読み取りエラーデータは、1つのECCブロックにより構成してもよい。もっとも、読み取りエラーデータは2つないし5つ程度のECCブロックにより構成することが望ましい。これにより、読み取りエラーを確実に発生させることができ、かつユーザーデータグループの記録に用いるべき記録領域をデータ記録領域33内に広く確保することが可能になる。
図11は、読み取りエラーデータ45に含まれる1つのECCブロック51の構造を示している。図11に示すように、読み取りエラーデータ45を構成する各ECCブロック51は、メインデータ部52とエラー訂正符号部53とから構成されている。メインデータ52部を構成する個々のデータは例えばゼロデータである。エラー訂正符号部53を構成する個々のデータはPI/POエラー訂正符号である。
しかし、読み取りエラーデータ45を構成する各ECCブロック51のPI/POエラー訂正符号は正しい値ではない。つまり、読み取りエラーデータ45を構成する各ECCブロック51のエラー訂正符号部53には、PI/POエラー訂正符号を生成するための演算により導き出される値とは異なる値が記述される。エラー訂正符号部53に記述される値は、例えばゼロ、ランダム符号または"FF"などである。
読み取りエラーデータ生成部14は、例えば次のような手順で読み取りエラーデータ45を構成する各ECCブロック51を生成する。まず、読み取りエラーデータ生成部14は、パディングデータとして用いるために用意されたデータ(例えばROMに記録されたゼロデータ)によりメインデータ部52を形成する。続いて、読み取りエラーデータ生成部14は、正しい値ではないPI/POエラー訂正符号をメインデータ部52に付加する。
図10に示すように読み取りエラーデータ45が複数のECCブロック51により構成されている場合、すべてのECCブロック51について、正しい値ではないPI/POエラー訂正符号を付加してもよい。あるいは、読み取りエラーデータ45を構成する複数のECCブロック51のうち、1つまたはいくつかのECCブロック51を選択し、選択したECCブロック51にのみ、正しい値ではないPI/POエラー訂正符号を付加してもよい。
一方、読み取りエラーデータは、正しい値ではないPI/POエラー訂正符号を付加する方法ではなく、正しい値ではないエラー検出符号(EDC)を付加する方法によっても生成することができる。図12は、読み取りエラーデータ45に含まれる1つのセクタの構造を示している。図12に示すように、読み取りエラーデータ45を構成する各セクタ60には、セクタIDデータ61、IDエラー検出符号(IDE)62、著作権管理情報(CPR_MAI)63、メインデータ64、エラー検出符号(EDC)65が含まれている。メインデータ64は例えばゼロデータである。エラー検出符号65は正しくない値である。つまり、エラー検出符号65は、エラー検出符号を生成するための演算により導き出される値とは異なる値であり、例えばゼロ、ランダム符号または"FF"などである。
読み取りエラーデータ生成部14は、セクタIDデータ61、IDエラー検出符号62、著作権管理情報63、メインデータ64に、正しい値ではないエラー検出符号65を付加することにより、読み取りエラーデータを生成する。
図10に示すように、読み取りエラーデータ45には1つ以上のECCブロック51が含まれている。一般に1つのECCブロックには16セクタが含まれている。したがって、読み取りエラーデータ45には、複数セクタが含まれている。読み取りエラーデータ45を構成するすべてのセクタについて、正しい値でないエラー検出符号を付加してもよい。あるいは、読み取りエラーデータ45を構成するセクタのうち、1つあるいはいくつかのセクタを選択し、選択したセクタにのみ、正しい値でないエラー検出符号を付加してもよい。
図13はDVDドライブ装置7に追加記録処理を実行させるために行われるホスト部6の処理を示している。例えば、ユーザがキーボード3またはマウス4を操作し、ユーザーデータをDVD8へ記録をすべき旨の指示をパーソナルコンピュータ本体2に入力すると、これに応じ、ホスト部6は図13に示す処理を実行する。
まず、ホスト部6は、ユーザーデータのオーサリングを行う(オーサリング工程:ステップS31)。例えばユーザーデータが2時間弱の映画のコンテンツデータであり、ユーザーデータのサイズが大きいときには、ホスト部6は、このユーザーデータをいくつかのユーザーデータグループに分割する。そして、ホスト部6は、ユーザーデータグループ間に読み取りエラーデータとリンクロスデータとが挿入されることを考慮しながら、各ユーザーデータグループの配置を決める。
続いて、ホスト部6はDVD8の確認を行う(ステップS32)。すなわち、ホスト部6は、DVDドライブ装置7にDVD8が挿入されているか否かを調査すべき旨のコマンド、および、DVDドライブ装置7に挿入されたDVD8がファイナライズ済みでないか否かを調査すべき旨のコマンドをDVDドライブ装置7に順次送る。そして、ホスト部6は、これらのコマンドに応じてDVDドライブ装置7から順次返ってくる信号を受け取る。
続いて、ホスト部6は、追加記録を開始すべき位置を取得する(ステップS33)。すなわち、ホスト部6は、DVD8のRMA31Bに記録された記録管理情報を読み取るべき旨のコマンドをDVDドライブ装置7に送る。そして、ホスト部6は、このコマンドに応じてDVDドライブ装置7から送られる記録管理情報を受け取る。そして、ホスト部6は、記録管理情報に基づいて、現時点におけるデータ記録領域33の未記録領域の先頭アドレスを算出し、これにリンクロス領域のサイズを加算し、この結果得られたアドレスを示す情報をDVDドライブ装置7に送る。
続いて、ホスト部6は、記録ゾーンのサイズを計算する(サイズ計算工程:ステップS34)。DVD8に読み取りエラーデータを記録すべき場合には、記録ゾーンのサイズは、追加記録すべきユーザーデータグループのサイズと読み取りエラーデータのサイズとを合計したサイズである。一方、DVD8に読み取りエラーデータを記録すべきでない場合には、記録ゾーンのサイズは、ユーザーデータグループのサイズと同じである。
続いて、ホスト部6はリザーブコマンドおよび記録ゾーンサイズ情報をDVDドライブ装置7に送る(ステップS35)。
続いて、ホスト部6は、書き込みコマンドおよびユーザーデータをDVDドライブ装置7に送る(ステップS36)。書き込みコマンドおよびユーザーデータの送信は、ユーザーデータグループに含まれるすべてのユーザーデータがDVDドライブ装置7に送られるまで繰り返し行われる(ステップS37)。
ユーザーデータグループに含まれるすべてのユーザーデータをDVDドライブ装置7に送った後、ホスト部6は、DVDドライブ装置7のバッファメモリ17を空にする旨のコマンド(例えばシンクロナイズキャッシュコマンド)をDVDドライブ装置7に送る(ステップS38)。
続いて、ホスト部6は、クローズコマンドをDVDドライブ装置7に送る(ステップS39)。クローズコマンドには、例えば、読み取りエラーデータを記録すべきか否かを示す読み取りエラーデータ記録フラグが付加される。例えば、DVD8に読み取りエラーデータを記録すべき場合には、読み取りエラーデータ記録フラグとして「1」が付加され、DVD8に読み取りエラーデータを記録すべきでない場合には、読み取りエラーデータ記録フラグとして「0」が付加される。
続いて、ホスト部6は、DVDドライブ装置7に追加記録処理を実行させるため処理を終了すべきか否かを判断する(ステップS40)。複数のユーザーデータグループをデータ記録領域33に連続的に記録する場合には、ホスト部6は、DVDドライブ装置7に追加記録処理を実行させるため処理を終了すべきでないと判断する(ステップS40:NO)。この場合、処理はステップS33に戻る。一方、すべてのユーザーデータグループの追加記録が終了したときには、ホスト部6は、DVDドライブ装置7に追加記録処理を実行させるため処理を終了すべきと判断する(ステップS40:YES)。これにより、DVDドライブ装置7に追加記録処理を実行させるため処理は終了する。
図14は、DVDビデオのデータフォーマットを示している。追加記録処理により記録ゾーンに記録された読み取りエラーデータは、プログラムチェーン(PGC)により再生時にスキップされる。この仕組みを、図14を用いて説明する。
DVD8のデータ記録領域33の記録ゾーンに記録されるユーザーデータがDVDビデオデータである場合には、このユーザーデータは、図14に示すようなデータフォーマットにより構成される。すなわち、ユーザーデータにはビデオゾーン71が含まれ、ビデオゾーン71には、ビデオマネージャー(VMG)72、ビデオタイトルセット(VTS)73、73、…が含まれる。ビデオタイトルセット73には、ビデオタイトルセット情報(VTSI)75、メニュー用ビデオオブジェクトセット(VOBS for Menu)76、タイトル用ビデオオブジェクトセット(VOBS for Title)77、ビデオタイトルセット情報バックアップ78が含まれる。タイトル用ビデオオブジェクト77に含まれるビデオオブジェクト(VOB)81には、複数のセル82、82、…が含まれる。各セル82には、動画データ、静止画データ、音声データなどが含まれる。
一方、ビデオタイトルセット情報75には、プログラムチェーン84が含まれる。プログラムチェーン84には、セルポインタ85、85、…を再生順序に従って並べたリスト(プログラムコントロールブロック:PCB)が含まれる。セルポインタ85は、セル82の位置を指し示す情報である。プログラムチェーン84によりセル82の再生順序が決まる。
プログラムチェーン84により、再生すべきセル82と、再生すべきでないセル82とを選択することができる。つまり、再生すべきセル82を指し示すセルポインタ85だけをプログラムチェーン84に記述することにより、再生すべきセル82だけを再生させることができ、再生すべきでないセル82をスキップさせることができる。例えば、図14に示すように、プログラムチェーン84に、セル#1、#2、#4、#5をそれぞれ指し示すセルポインタ85を記述する。これにより、セル#1、#2、#4、#5だけを再生させ、セル#3、#6をスキップさせることができる。
さて、一般市場で販売されているDVDプレーヤなどの正規の再生装置は、プログラムチェーンに従ってセルを読み取り、再生する。正規の再生装置は、プログラムチェーンのセルポインタにより指し示されたセルだけを読み取る。つまり、正規の再生装置は、プログラムチェーンのセルポインタにより指し示されていないセルは読み取らずに、スキップする。
ホスト部6は、図9中のリンクロスデータ41により1つのセルを形成し、ユーザーデータグループ43により1つまたは複数のセルを形成し、かつ読み取りエラーデータ44により1つまたは複数のセルを形成する。さらに、ホスト部6は、ユーザーデータグループ43により形成されたセルを指し示すセルポインタだけ並べたプログラムチェーンを作成する。つまり、ホスト部6は、リンクロスデータ41により形成されたセルを指し示すセルポインタも、読み取りエラーデータ44により形成されたセルを指し示すセルポインタもいずれも含まないようにプログラムチェーンを作成する。そして、ホスト部6は、このようにして作成したプログラムチェーンを、DVDドライブ装置7を介してDVD8に記録する。
正規の再生装置によりDVD8を再生するとき、正規の再生装置は、DVD8に記録されたプログラムチェーンを読み取る。そして、正規の再生装置は、このプログラムチェーンに従い、ユーザーデータグループ43により形成されたセルだけを読み取り、再生する。つまり、正規の再生装置は、リンクロスデータ41により形成されたセルも、読み取りエラーデータ44により形成されたセルもいずれも読み取らずに、スキップする。正規の再生装置は読み取りエラーデータ44により形成されたセルを読み取らないので、DVD8の記録面に傷があるなどといった異常事態が生じない限り、正規の再生装置の読み取り処理において読み取りエラーが生じることがない。
ところが、DVD8を複製しようとすると、複製作業のために用いられる読み取り装置において読み取りエラーが生じる。例えば、DVD8に記録されたすべてのデータを、あるいはDVD8に記録されたファイルを読み取り装置により読み取り、これを他の記録媒体に記録する場合、読み取り装置はプログラムチェーンに従って読み取り処理を行わない。このため、読み取り装置は、読み取りエラーデータを読み取ろうとする。この結果、読み取り装置において読み取りエラーが生じる。読み取りエラーが生じると、読み取り装置における読み取り処理が停止してしまう。この結果、DVD8の複製の試みは失敗に終わる。
以上説明したとおり、DVDドライブ装置7では、記録ゾーン確保部11により、追加記録すべきユーザーデータグループのサイズと読み取りエラーデータのサイズとを合計したサイズを有する記録ゾーンを確保し、そして、記録ゾーンクローズ部13によるパディングを利用して読み取りエラーデータを記録ゾーンに記録する。これにより、DVD8のデータ記録領域33に読み取りエラーデータを記録することができる。さらに、読み取りエラーデータは記録ゾーンごとに記録されるので、データ記録領域33に複数の記録ゾーンが形成された場合には、読み取りエラーデータがデータ記録領域33内において複数の場所に記録される。しかも、読み取りエラーデータは記録ゾーンの末尾に位置する小さな領域(例えば2ないし5ECCブロックのサイズに相当するサイズを有する領域)に記録されるので、データ記録領域33に複数の記録ゾーンが形成された場合には、読み取りエラーデータがデータ記録領域33内に散らばって配置される。これにより、DVD8の複製作業のために用いられる読み取り装置において確実に読み取りエラーを生じさせることができる。また、読み取りエラーデータが散らばって配置されるので、複製者が読み取りエラーデータを発見することを困難にする。したがって、DVD8に記録されたユーザーデータ(コンテンツデータ)の複製防止を強化することができる。
また、DVDドライブ装置7では、記録ゾーン確保部11により、追加記録すべきユーザーデータグループのサイズと読み取りエラーデータのサイズとを合計したサイズを有する記録ゾーンを確保し、そして、記録ゾーンクローズ部13によるパディングを利用して読み取りエラーデータを記録ゾーンに記録する。これにより、ユーザーデータグループのDVD8への記録処理をほとんど妨害することなく、DVD8上に複製防止構造(複数の読み取りエラーデータがデータ記録領域33内に散らばって配置される構造)を作り出すことができる。
つまり、このような複製防止構造の生成は、ユーザーデータグループの記録処理の途中に読み取りエラーデータの記録処理を割り込ませることによっても実現することが可能である。しかし、この方法によると、ユーザーデータグループの記録処理が、読み取りエラーデータの記録処理の割り込みがあるごとに中断される。このため、ユーザーデータグループの記録処理の効率が悪くなり、ユーザーデータグループの記録処理の速度が低下するおそれがある。特に、バッファメモリとエンコード部との間でユーザーデータのDMA転送を行うことにより、ユーザーデータの高速記録を実現しようとする場合、読み取りエラーデータの記録処理を割り込ませる方法を採用すると、ユーザーデータの高速記録の効果が十分に発揮されなくなるおそれがある。
これに対し、DVDドライブ装置7では、記録ゾーンクローズ時のパディングを利用して読み取りエラーデータを記録ゾーンに記録し、これにより複製防止構造を生成する。記録ゾーンクローズ時のパディングは、ユーザーデータグループの記録処理が終了した後に行われる。したがって、ユーザーデータグループの記録処理が、読み取りエラーデータの記録処理の割り込みにより中断されることがない。よって、DVDドライブ装置7によれば、ユーザーデータグループの記録処理の効率悪化を防止し、ユーザーデータグループの記録処理の速度低下を防止しながら、複製防止構造の生成を実現することができる。
特に、DVDドライブ装置7によれば、ユーザーデータグループのDVD8への記録処理をほとんど妨害することなく、DVD8上に複製防止構造を作り出すことができるので、DVD8へのユーザーデータグループの高速記録と複製防止構造の生成との双方を実現することができる。すなわち、DVDドライブ装置7によれば、ユーザーデータグループの記録処理が読み取りエラーデータの記録処理の割り込みにより中断されることがないので、バッファメモリ17とエンコード部19との間のユーザーデータのDMA転送を連続的に行い、記録ヘッド20によるユーザーデータの記録ゾーンへの倍速以上の高速記録を連続的に行うことができる。そして、記録ゾーンに対する高速連続記録が終了した後、読み取りエラーデータを記録ゾーンに記録することができる。これにより、DVD8へのユーザーデータグループの高速記録の効果を十分に発揮させつつ、複製防止構造の生成をも実現することができる。
また、DVDドライブ装置7では、記録ゾーンクローズ部13によるパディングを利用して読み取りエラーデータを記録ゾーンに記録する。パディングを利用した読み取りエラーデータの記録処理は、ホスト部6からDVDドライブ装置7へ送られるクローズコマンドに、読み取りエラーデータの記録を行うべきか否かを示すフラグを設けるなどの簡単な構成により実現することができる。つまり、DVDドライブ装置7によれば、複製防止構造の生成を容易に実現することができる。
また、DVDドライブ装置7では、図10および図11に示すように、ECCブロック51のPI/POエラー訂正符号を正しい値とは異なる値にすることにより、読み取りエラーデータ45を生成する。あるいは、図10および図12に示すように、セクタのエラー検出符号を正しい値とは異なる値にすることにより、読み取りエラーデータ45を生成する。これにより、正規の再生装置において、ユーザーデータの読み取り中にトラッキングが外れるといった不具合、および再生すべきユーザーデータを正しく読み取ることができないといった不具合が発生するのを防止することができる。
つまり、複製作業に用いられる読み取り装置において読み取りエラーを生じさせるには、以下の3通りの方法がある。第1の方法は、例えば2ないし5ECCブロックのサイズに相当するサイズを有する未記録領域(未記録セル)をデータ記録領域33内にいくつか形成する方法である。第2の方法は、例えば2ないし5ECCブロックのサイズに相当するサイズを有する領域にデータを二重に記録し、このような領域(二重記録セル)をデータ記録領域33内にいくつか形成する方法である。この方法は情報記録媒体がDVD−Rなどの追記型の記録媒体である場合に有効である。第3の方法は、例えば2ないし5ECCブロックのサイズに相当するサイズを有する領域に記録されたデータのエラー訂正符号またはエラー検出符号を正しい値とは異なる値にし、このような領域(虚偽符号セル)をデータ記録領域33内にいくつか形成する方法である。
第1の方法では、正規の再生装置において、未記録セルの前後のセルに含まれるユーザーデータを読み取るときに、記録ヘッド(光ピックアップ)から照射される光ビームが未記録セル内に進入してしまい、このためにトラッキングが外れてしまうおそれがある。トラッキング方式としてDPD(Differential Phase Detection)方式を採用している再生装置においては、このような不具合が発生する可能性がある。
第2の方法では、DVDのデータ記録領域において、二重記録セルの直後に配置されたセルに含まれるユーザーデータを正しく読み取ることができないおそれがある。これは、データの二重記録が二重記録セルの直後に配置されたセルに悪影響を与え、二重記録セルの直後に配置されたセルから得られる再生信号に歪みを生じさせるおそれがあるためである。
第3の方法では、エラー訂正符号およびエラー検出符号を除くデータは正常に記録される。したがって、光ビームが虚偽符号セルに進入してもトラッキングが外れるといった不具合は生じない。さらに、虚偽符号セルの直後に配置されたセルに含まれるユーザーデータを正しく読み取ることができないといった不具合も生じない。
DVDドライブ装置7は第3の方法を採用している。したがって、正規の再生装置において、ユーザーデータの読み取り中にトラッキングが外れるといった不具合も、再生すべきユーザーデータを正しく読み取ることができないといった不具合も生じない。
(第2実施形態)
図15は、本発明の情報記録装置の第2実施形態であるDVDドライブ装置を示している。なお、図15中のDVDドライブ装置100において、図2中のDVDドライブ装置7の構成要素と同一の構成要素には同一の符号を付し、その説明を省略する。
図15中のDVDドライブ装置100は、記録ゾーンクローズ時のパディングを利用して読み取りエラーデータをDVDに記録するのではなく、リンクロス領域の形成を利用して読み取りエラーデータをDVDに記録する。
すなわち、リンクロス領域形成部101は、リンクロス領域を形成するためにリンクロスデータをDVDに記録するとき、リンクロスデータとして読み取りエラーデータを用いる。また、リンクロス領域形成部101は、読み取りエラーデータを生成する読み取りエラーデータ生成部102を備えている。
なお、DVDドライブ装置100において、記録ゾーン確保部103は、DVDに読み取りエラーデータを記録すべき場合であっても、DVDに読み取りエラーデータを記録すべきでない場合であっても、追加記録すべきユーザーデータグループのサイズを有する記録ゾーンをDVD上に確保する。
また、記録ゾーンクローズ部104は、DVDに読み取りエラーデータを記録すべき場合であっても、DVDに読み取りエラーデータを記録すべきでない場合であっても、通常のパディングデータを用いて記録ゾーンに対しパディングを行う。
図16はDVDドライブ装置100の追加記録処理を示している。例えば、追加記録処理を実行すべき旨のコマンドがホスト部6からDVDドライブ装置100に送られると、これに応じ、DVDドライブ装置100は図16に示す追加記録処理を実行する。
まず、DVDドライブ装置100は、DVDドライブ装置100内にDVDが挿入されているか否かを調査する(ステップS51)。このステップは、図4中のステップS1と同じである。
続いて、DVDドライブ装置100は、DVDドライブ装置100に挿入されているDVDがファイナライズ済みであるか否かを調査する(ステップS52)。このステップは、図4中のステップS2と同じである。
続いて、DVDドライブ装置100は、ユーザーデータグループの追加記録を開始すべきDVD上の位置を認識する(ステップS53)。このステップは、図4中のステップS3と同じである。
続いて、DVDドライブ装置100の記録ゾーン確保部103はDVD上に記録ゾーンを確保する(ステップS54)。記録ゾーン確保部103は、DVDに読み取りエラーデータを記録すべき場合であっても、DVDに読み取りエラーデータを記録すべきでない場合であっても、追加記録すべきユーザーデータグループのサイズと同じサイズの記録ゾーンをDVD上に確保する。この点を除き、記録ゾーン確保の手順は、図4中のステップS4における記録ゾーン確保の手順と同じである。
ステップS54においては、記録ゾーンの確保と同時に、当該記録ゾーンの直前にリンクロス領域が確保される。
続いて、DVDドライブ装置100は、ステップS54において確保されたリンクロス領域にリンクロスデータを記録し、続いて、ステップS54において確保された記録ゾーンにユーザーデータグループを記録する(ステップS55、S56)。
リンクロスデータおよびユーザーデータグループの記録は、例えば次のような手順で行われる。まず、DVDドライブ装置100は、ユーザーデータグループに含まれるユーザーデータと書き込みコマンドとをホスト部6から受け取る。受け取った書き込みコマンドは総合制御部23を介してユーザーデータ記録制御部12に伝えられる。また、受け取ったユーザーデータはバッファメモリ17に記憶される。
最初の書き込みコマンドを受け取ったときに限り、リンクロス領域形成部15は、総合制御部23の制御のもと、リンクロス領域形成処理を実行する。
図17は、DVDドライブ装置100におけるリンクロス領域形成処理を示している。リンクロス領域形成処理は例えば図17に示すような手順で行われる。
まず、リンクロス領域形成部101は、読み取りエラーデータをリンクロス領域に記録すべきか否かを判断する(ステップS71)。この判断は例えば次のような手順で行われる。ホスト部6からDVDドライブ装置7に最初に送られた書き込みコマンドには、読み取りエラーデータを記録すべきか否かを示す情報が付加されている。例えば、この最初の書き込みコマンドには、読み取りエラーデータを記録すべきか否かを示す読み取りエラーデータ記録フラグが付加されている。リンクロス領域形成部101は、最初の書き込みコマンドと共に読み取りエラーデータ記録フラグを、総合制御部23を介して受け取る。そして、リンクロス領域形成部101は、読み取りエラーデータ記録フラグに基づいて、読み取りエラーデータの記録を行うべきか否かを判断する。
読み取りエラーデータの記録を行うべきときには(ステップS71:YES)、読み取りエラーデータ生成部102が読み取りエラーデータを生成する(ステップS72)。ここで生成される読み取りエラーデータのサイズは、1ECCブロックのサイズである。この点を除き、読み取りエラーデータの構造および生成方法は、DVDドライブ装置7の場合と同じである。
続いて、リンクロス領域形成部101は、リンクロスデータをDVDのデータ記録領域に記録することにより、リンクロス領域を形成する(ステップS73)。ステップS73では、リンクロス領域形成部101は、ステップS72において生成された読み取りエラーデータをリンクロスデータとして用いる。これにより、読み取りエラーデータがリンクロス領域に記録される。すなわち、DVDのデータ記録領域にすでに存在している記録ゾーンとこれから形成される記録ゾーンとの間に読み取りエラーデータが記録される。
一方、読み取りエラーデータの記録を行うべきでないときには(ステップS71:NO)、リンクロス領域形成部101は、通常のリンクロスデータを生成し(ステップS74)、この通常のリンクロスデータをDVDのデータ記録領域に記録することによりリンクロス領域を形成する(ステップS75)。
なお、通常のリンクロスデータは例えばゼロデータである。さらに、通常のリンクロスデータを構成する各セクタのエラー検出符号は正しい値である。さらに、通常のリンクロスデータを構成するECCブロックのPI/POエラー訂正符号は正しい値である。通常のリンクロスデータは、もしこれが他の装置(例えばDVDプレーヤ)により読み取られたとしても、読み取りエラーは生じない構造になっている。
続いて、ユーザーデータ記録制御部12は、書き込みコマンドに従い、バッファメモリ17に記憶されたユーザーデータを記録ゾーンに記録する。ユーザーデータの記録処理は、ユーザーデータグループに含まれるすべてのユーザーデータの記録が終了するまで繰り返される(図16中のステップS57)。DVDドライブ装置7と同様に、ユーザーデータの記録処理は、倍速以上の記録速度で連続的に行われる。
続いて、DVDドライブ装置7のユーザーデータ記録制御部12は、バッファメモリ17に記憶された残余のユーザーデータをすべて記録ゾーンに記録し、バッファメモリ17を空にする(ステップS58)。この処理は、例えば、ホスト部6から発せられるシンクロナイズキャッシュコマンドに従って行われる。
続いて、DVDドライブ装置100の記録ゾーンクローズ部104は記録ゾーンをクローズする(ステップS59)。つまり、記録ゾーンクローズ部104は、ユーザーデータグループの記録が終了した記録ゾーンの末尾に存在する残余領域にパディングデータを記録することによりパディングを行い、これにより記録ゾーンをクローズする。記録ゾーンクローズ部104は、DVDに読み取りエラーデータを記録すべき場合であっても、DVDに読み取りエラーデータを記録すべきでない場合であっても、パディングデータとして通常のパディングデータを用いる。このステップにおける記録ゾーンのクローズ処理は、図5中のステップS21、S25、S26、S27と同じである。
続いて、DVDドライブ装置100は、追加記録処理を終了すべきか否かを判断する(ステップS60)。次に追加記録すべきユーザーデータグループが存在するなど、追加記録処理を続行すべきときには、DVDドライブ装置100は、追加記録処理を終了すべきでないと判断する(ステップS60:NO)。この場合、DVDドライブ装置100の処理はステップS53に戻る。一方、次に追加記録すべきユーザーデータグループが存在しないときには、DVDドライブ装置100は、追加記録処理を終了すべきと判断する(ステップS60:YES)。これによりDVDドライブ装置100の追加記録処理は終了する。
なお、読み取りエラーデータの記録されたリンクロス領域により1つのセルが形成され、このセルは、プログラムチェーンにより再生すべきないセルとされる。
以上説明したとおり、DVDドライブ装置100では、リンクロス領域形成部101によるリンクロス領域の形成を利用して読み取りエラーデータをDVDのデータ記録領域に記録する。リンクロス領域は記録ゾーンの直前に形成されるので、データ記録領域に複数の記録ゾーンが形成された場合には、データ記録領域内に複数のリンクロス領域が形成され、しかも各リンクロス領域がデータ記録領域内に散らばって配置される。したがって、各リンクロス領域に読み取りエラーデータを記録すれば、データ記録領域内に読み取りエラーデータが散らばって配置される。これにより、DVDの複製作業のために用いられる読み取り装置において確実に読み取りエラーを生じさせることができる。したがって、DVDに記録されたユーザーデータ(コンテンツデータ)の複製防止を強化することができる。
また、DVDドライブ装置100では、リンクロス領域形成部101によるリンクロス領域の形成を利用して読み取りエラーデータをDVDのデータ記録領域に記録する。これにより、ユーザーデータグループのDVDへの記録処理をほとんど妨害することなく、DVD上に複製防止構造(複数の読み取りエラーデータがデータ記録領域内に散らばって配置される構造)を作り出すことができる。つまり、リンクロス領域の形成は、ユーザーデータグループの記録処理が開始される前に行われる。したがって、ユーザーデータグループの記録処理が、読み取りエラーデータの記録処理の割り込みにより中断されることがない。したがって、DVDドライブ装置100によれば、ユーザーデータグループの記録処理の効率悪化を防止し、ユーザーデータグループの記録処理の速度低下を防止しながら、複製防止構造の生成を実現することができる。
さらに、DVDドライブ装置100によれば、ユーザーデータグループのDVDへの記録処理をほとんど妨害することなく、DVD上に複製防止構造を生成することができるので、ユーザーデータグループのDVDへの高速記録と複製防止構造の生成との双方を実現することができる。
また、DVDドライブ装置100では、ECCブロックのPI/POエラー訂正符号を正しい値とは異なる値にすることにより、読み取りエラーデータを生成する。あるいは、セクタのエラー検出符号を正しい値とは異なる値にすることにより、読み取りエラーデータを生成する。これにより、正規の再生装置において、ユーザーデータの読み取り中にトラッキングが外れるといった不具合、および再生すべきユーザーデータを正しく読み取ることができないといった不具合が発生するのを防止することができる。
(第3実施形態)
図18は、本発明の情報記録装置の第3実施形態であるDVDドライブ装置を示している。なお、図18中のDVDドライブ装置200において、図2中のDVDドライブ装置7または図15中のDVDドライブ装置100の構成要素と同一の構成要素には同一の符号を付し、その説明を省略する。
図18中のDVDドライブ装置200は、記録ゾーンクローズ時のパディングやリンクロス領域の形成を利用せずに、記録ゾーンに記録されるユーザーデータグループ中に読み取りエラーデータを挿入する。
すなわち、読み取りエラーデータ挿入部201は、ユーザーデータ記録制御部12がユーザーデータグループに含まれるユーザーデータを記録ゾーンに記録している途中に、このユーザーデータの記録処理に割り込み、読み取りエラーデータを記録ゾーンに記録する。これにより、ユーザーデータグループ中に読み取りエラーデータが挿入される。また、読み取りエラーデータ挿入部201は、読み取りエラーデータ生成部202を備えている。読み取りエラーデータ生成部202は読み取りエラーデータを生成する。
読み取りエラーデータ挿入部201は、例えば、CPUなどの演算処理装置、並びにROM(Read Only Memory)およびRAM(Random Access Memory)などの半導体記憶素子により構成されている。例えばROMには、読み取りエラーデータ挿入部201の動作を実現するためのプログラムが記憶されており、CPUはROMからこのプログラムを読み取り、これを実行する。
図19および図20はDVDドライブ装置200の追加記録処理を示している。例えば、追加記録処理を実行すべき旨のコマンドがホスト部6からDVDドライブ装置200に送られると、これに応じ、DVDドライブ装置200は図19および図20に示す追加記録処理を実行する。
まず、図19に示すように、DVDドライブ装置200は、DVDドライブ装置200内にDVDが挿入されているか否かを調査する(ステップS81)。このステップは、図4中のステップS1と同じである。
続いて、DVDドライブ装置200は、DVDドライブ装置200に挿入されているDVDがファイナライズ済みであるか否かを調査する(ステップS82)。このステップは、図4中のステップS2と同じである。
続いて、DVDドライブ装置200は、ユーザーデータグループの追加記録を開始すべきDVD上の位置を認識する(ステップS83)。このステップは、図4中のステップS3と同じである。
続いて、DVDドライブ装置200の記録ゾーン確保部103はDVD上に記録ゾーンを確保する(ステップS84)。このステップで確保される記録ゾーンのサイズは、(1)追加記録すべきユーザーデータグループのサイズ、(2)ユーザーデータグループ中に挿入すべき読み取りエラーデータの個数と1つの読み取りエラーデータのサイズ(一定)とを乗算した値、(3)ユーザーデータグループ中に形成されるリンクロス領域の個数と1つのリンクロス領域のサイズ(一定)とを乗算した値の合計した値である。記録ゾーンのサイズがこのように算出されることを除き、記録ゾーン確保の手順は図4中のステップS4と同じである。
ステップS84においては、記録ゾーンの確保と同時に、当該記録ゾーンの直前にリンクロス領域が確保される。
続いて、DVDドライブ装置200は、リンクロス領域にリンクロスデータを記録し、そして、ユーザーデータグループに含まれるユーザーデータブロックの一部、つまり第1番目のユーザーデータブロックを記録ゾーンの先頭に位置する領域に記録する(ステップS85、S86)。このステップにおけるリンクロスデータおよびユーザーデータブロックの記録は例えば次のような手順で行われる。まず、ホスト部6は、ユーザーデータグループに含まれるユーザーデータを複数のユーザーデータブロックに分ける。そして、ホスト部6は、第1番目のユーザーデータブロックおよび書き込みコマンドをDVDドライブ装置200に送る。DVDドライブ装置200は第1番目のユーザーデータブロックおよび書き込みコマンドを受け取る。受け取った書き込みコマンドは総合制御部23を介してユーザーデータ記録制御部12に伝えられる。また、受け取った第1番目のユーザーデータブロックはバッファメモリ17に記憶される。続いて、リンクロス領域形成部15は、総合制御部23の制御のもと、ステップS84で確保されたリンクロス領域にリンクロスデータを記録する。続いて、ユーザーデータ記録制御部12は、書き込みコマンドに従って、バッファメモリ17に記憶された第1番目のユーザーデータブロックを記録ゾーンに記録する。
続いて、DVDドライブ装置200のユーザーデータ記録制御部12は、ホスト部6から発せられるシンクロナイズキャッシュコマンドに従い、第1番目のユーザーデータブロックの記録終了処理を行う(ステップS87)。この処理により、バッファメモリ17に記憶された第1番目のユーザーデータブロックの残余がすべて記録ゾーンに記録され、この結果、バッファメモリ17が空になる。
この後、第1番目のユーザーデータブロックの記録の履歴がDVDのRMAに記録される。具体的には、第1番目のユーザーデータブロックの記録処理において最後に記録されたユーザーデータのアドレスがDVDのRMAに記録される。なお、RMA情報が更新される度にRMAに記録し直すことは冗長な作業ではあるため、この方法に換えてRMAに記録すべき情報をDVDドライブ装置側のRAM等に記憶しておいてもよい。
続いて、図20に示すように、DVDドライブ装置200は、第2番目のユーザーデータブロックまたは読み取りエラーデータの記録を開始すべきDVD上の位置を認識する(ステップS88)。このステップにおける記録開始位置の認識手順は、図4中のステップS3とほぼ同じである。
続いて、DVDドライブ装置200は、リンクロス領域の形成および読み取りエラーデータの記録か、リンクロス領域の形成および第2番目のユーザーデータブロックの記録かのいずれかを行う(ステップS89ないしS94)。この手順は例えば次のとおりである。
リンクロス領域の形成および読み取りエラーデータの記録を行う場合には、まず、DVDドライブ装置200は、書き込みコマンドおよびダミーデータをホスト部6から受け取る。ダミーデータは例えばゼロデータである。受け取った書き込みコマンドは総合制御部23を介して読み取りエラーデータ挿入部201に伝えられる。また、受け取ったダミーデータはバッファメモリ17に記憶される。
続いて、リンクロス領域形成部15は、総合制御部23の制御のもと、記録ゾーンに記録された第1番目のユーザーデータブロックの直後にリンクロスデータを記録し、これにより第1番目のユーザーデータブロックの直後にリンクロス領域を形成する(ステップS89)。
続いて、読み取りエラーデータ挿入部201は、読み取りエラーデータを記録すべきか否かを判断する(ステップS90)。この判断は例えば次のような手順で行われる。ホスト部6からDVDドライブ装置200に送られた書き込みコマンドには、読み取りエラーデータを記録すべきか否かを示す情報が付加されている。例えば、この書き込みコマンドには、読み取りエラーデータを記録すべきか否かを示す読み取りエラーデータ記録フラグが付加されている。読み取りエラーデータ挿入部201は、書き込みコマンドと共に読み取りエラーデータ記録フラグを、総合制御部23を介して受け取る。そして、読み取りエラーデータ挿入部201は、読み取りエラーデータ記録フラグに基づいて、読み取りエラーデータを記録すべきか否かを判断する。
読み取りエラーデータの記録を行う場合、読み取りエラーデータ記録フラグは、読み取りエラーデータを記録すべき旨を示している。したがって、読み取りエラーデータ挿入部201は、読み取りエラーデータ記録フラグに基づいて、読み取りエラーデータを記録すべきと判断する(ステップS90:YES)。
続いて、読み取りエラーデータ生成部202は、ダミーデータをバッファメモリ17から読み取り、このダミーデータを用いて読み取りエラーデータを生成する(ステップS91)。ここで生成される読み取りエラーデータのサイズは1ECCブロックのサイズである。この点を除き、読み取りエラーデータの構造および生成方法は、DVDドライブ装置7の場合と同じである。
続いて、読み取りエラーデータ挿入部201は、ステップS90において生成された読み取りエラーデータを記録ゾーンに記録する(ステップS92)。これにより、ステップS89において形成されたリンクロス領域の直後に読み取りエラーデータが記録される。
リンクロス領域の形成および読み取りエラーデータの記録が終了した後、読み取りエラーデータ挿入部201は、ホスト部6から発せられるシンクロナイズキャッシュコマンドに従い、読み取りエラーデータの記録終了処理を行う(ステップS94)。
この後、読み取りエラーデータの記録の履歴がDVDのRMAに記録される。具体的には、データの記録処理が開始され、この記録処理がシンクロナイズキャッシュコマンドによって終了(中断)するまでを1記録サイクルとすると、前回の記録サイクルにおいて最後に記録されたユーザーデータのアドレスが、今回の記録サイクルにおいて最後に記録されたユーザーデータのアドレスに書き換えられる。
一方、リンクロス領域の形成および第2番目のユーザーデータブロックの記録を行う場合には、まず、DVDドライブ装置200は、書き込みコマンドおよび第2番目のユーザーデータブロックをホスト部6から受け取る。受け取った書き込みコマンドは総合制御部23を介して読み取りエラーデータ挿入部201に伝えられる。また、受け取った第2番目のユーザーデータブロックはバッファメモリ17に記憶される。
続いて、リンクロス領域形成部15は、総合制御部23の制御のもと、記録ゾーンに記録された第1番目のユーザーデータブロックの直後にリンクロスデータを記録し、これにより第1番目のユーザーデータブロックの直後にリンクロス領域を形成する(ステップS89)。
続いて、読み取りエラーデータ挿入部201は、例えば読み取りエラーデータ記録フラグに基づいて、読み取りエラーデータを記録すべきか否かを判断する(ステップS90)。
ユーザーデータブロックの記録を行う場合、読み取りエラーデータ記録フラグは、読み取りエラーデータを記録すべきでない旨を示している。したがって、読み取りエラーデータ挿入部201は、読み取りエラーデータ記録フラグに基づいて、読み取りエラーデータを記録すべきでないと判断する(ステップS90:NO)。
続いて、ユーザーデータ記録制御部12は、書き込みコマンドに従って、バッファメモリ17に記憶された第2番目のユーザーデータブロックを記録ゾーンに記録する(ステップS93)。これにより、第2番目のユーザーデータは、ステップS89において形成されたリンクロス領域の直後に記録される。
リンクロス領域の形成および第2番目のユーザーデータブロックの記録が終了した後、ユーザーデータ記録制御部12は、ホスト部6から発せられるシンクロナイズキャッシュコマンドに従い、読み取りエラーデータの記録終了処理を行う(ステップS94)。
この後、第2番目のユーザーデータブロックの記録の履歴がDVDのRMAに記録される。つまり、前回の記録サイクルにおいて最後に記録されたユーザーデータのアドレスが、今回の記録サイクルにおいて最後に記録されたユーザーデータのアドレスに書き換えられる。
ユーザーデータグループに含まれるすべてのユーザーデータブロックの記録ゾーンへの記録が終了するまで、ステップS88からステップS94までの処理が繰り返し実行される(ステップS95)。
例えば、ステップS88からステップS94までの処理が繰り返し実行される間、読み取りエラーデータの記録とユーザーデータブロックの記録とが交互に実行される。つまり、DVDドライブ装置200において読み取りエラーデータの記録とユーザーデータブロックの記録とが交互に実行されるように、ホスト部6が読み取りエラーデータ記録フラグの切り替えなどを行う。この結果、図21に示すように、ユーザーデータグループに含まれる複数のユーザーデータブロック212(第1番目のユーザーデータブロック#1、第2番目のユーザーデータブロック#2、第3番目のユーザーデータブロック#3、…、第n番目のユーザーデータブロック#n)が記録ゾーン42に記録され、さらに、2つのユーザーデータブロック212の間には読み取りエラーデータ213が挿入される。さらに、各ユーザーデータブロック212の直前および読み取りエラーデータ213の直前にはリンクロスデータ211が記録されたリンクロス領域210が形成される。
続いて、DVDドライブ装置200の記録ゾーンクローズ部104は記録ゾーンをクローズする(図20中のステップS96)。つまり、記録ゾーンクローズ部104は、ユーザーデータグループの記録が終了した記録ゾーンの末尾に存在する残余領域に通常のパディングデータを記録することによりパディングを行い、これにより記録ゾーンをクローズする。このステップにおける記録ゾーンのクローズ処理は、図5中のステップS21、S25、S26、S27と同じである。
続いて、DVDドライブ装置200は、追加記録処理を終了すべきか否かを判断する(ステップS97)。次に追加記録すべきユーザーデータグループが存在するなど、追加記録処理を続行すべきときには、DVDドライブ装置200は、追加記録処理を終了すべきでないと判断する(ステップS97:NO)。この場合、DVDドライブ装置200の処理はステップS81に戻る。一方、次に追加記録すべきユーザーデータグループが存在しないときには、DVDドライブ装置200は、追加記録処理を終了すべきと判断する(ステップS90:YES)。これによりDVDドライブ装置200の追加記録処理は終了する。
なお、記録ゾーンに記録された一まとまりの読み取りエラーデータにより1つのセルが形成され、このセルは、プログラムチェーンにより再生すべきでないセルとされる。
以上説明したとおり、DVDドライブ装置200では、ユーザーデータグループに含まれるユーザーデータを記録ゾーンに記録している途中に、このユーザーデータの記録処理に割り込み、読み取りエラーデータを記録ゾーンに記録し、これにより、ユーザーデータグループ中に読み取りエラーデータを挿入する。これにより、DVDに記録された情報の複製防止を強化することができる。
例えば、図21に示すように、ユーザーデータグループを多数のユーザーデータブロック212に分け、ユーザーデータブロック212の記録と読み取りエラーデータ213の記録とを交互に実行すれば、多数の読み取りエラーデータ213を記録ゾーン42内に分離して配置することができる。これにより、複製者が読み取りエラーデータ213を発見するのを困難にすることができ、DVDに記録された情報の複製防止を強化することができる。
さらに、それぞれのユーザーデータブロックのサイズを互いにランダムに異ならせることにより、記録ゾーン内における読み取りエラーデータの記録位置の規則性をなくすことができる。これにより、複製者が読取エラーデータを発見するのを一層困難にすることができ、DVDに記録された情報の複製防止を一層強化することができる。
さらに、DVDドライブ装置200によれば、図21に示すように、記録ゾーンの先頭には第1番目のユーザーデータブロック#1が記録され、かつ記録ゾーンの末尾には最後のユーザーデータブロック#nが記録される。つまり、記録ゾーンの先頭にも記録ゾーンの末尾にも読み取りエラーデータが記録されない。これにより、複製者が読取エラーデータを発見するのを一層困難にすることができ、DVDに記録された情報の複製防止をより一層強化することができる。
すなわち、DVDのRMAの記録管理情報には、記録ゾーンの先頭アドレスを示す情報が含まれている。このため、記録ゾーンの先頭に読み取りエラーデータが記録されている場合には、記録管理情報を読み取って、この記録管理情報に基づいて記録ゾーンの先頭アドレスを知り、これに基づいて読み取りエラーデータの記録位置を容易に知ることが可能になるおそれがある。しかし、DVDドライブ装置200によれば、記録ゾーンの先頭に読み取りエラーデータが記録されていないので、たとえ複製者が記録管理情報に基づいて記録ゾーンの先頭アドレスを知ったとしても、これに基づいて記録ゾーン内に記録された読み取りエラーデータの記録位置を発見することは困難である。
また、記録管理情報には、データ記録領域に最後に記録されたユーザーデータのアドレスを示す情報が含まれている。記録ゾーンをクローズして追加記録処理を終了した場合には、データ記録領域に最後に記録されたユーザーデータは、当該記録ゾーンに最後に記録されたユーザーデータである。とすれば、この場合、記録管理情報には、記録ゾーンに最後に記録されたユーザーデータのアドレスを示す情報が含まれている。このため、記録ゾーンの末尾(つまり当該記録ゾーンの最後に記録されたユーザーデータと当該記録ゾーンの終端までの間)に読み取りエラーデータがパディングされている場合には、記録管理情報を読み取って、この記録管理情報に基づいて、記録ゾーンの末尾にパディングされている読み取りエラーデータの位置を容易に知ることが可能になるおそれがある。しかし、DVDドライブ装置200によれば、記録ゾーンの末尾に読み取りエラーデータが記録されていないので、たとえ複製者が記録管理情報に基づいて記録ゾーンに最後に記録されたユーザーデータのアドレスを知ったとしても、これに基づいて記録ゾーン内に記録された読み取りエラーデータの記録位置を発見することは困難である。
なお、本発明の第3実施形態は例えばブルーレイディスクなど他の光ディスクにも適用することができる。
また、図2中の記録ゾーン確保部11が記録ゾーン確保手段の具体例であり、ユーザーデータ記録制御部12がユーザーデータ記録手段の具体例であり、記録ゾーンクローズ部13が記録ゾーンクローズ手段の具体例であり、読み取りエラーデータ生成部14が読み取りエラーデータ生成手段の具体例である。また、記録ゾーンクローズ部13が読み取りエラーデータ記録手段の具体例である。
また、図15中のリンクロス領域形成部101がリンクロス領域形成手段の具体例である。また、リンクロス領域形成部101が読取エラーデータ記録手段の具体例である。
また、図18中の読み取りエラーデータ挿入部201が読み取りエラーデータ挿入手段の具体例である。また、読み取りエラーデータ挿入部201が読み取りエラーデータ記録手段の具体例である。
また、図4中のステップS4が記録ゾーン確保工程の具体例であり、ステップS6がユーザーデータ記録工程の具体例であり、ステップS9が読み取りエラーデータ記録工程の具体例である。また、図5中の各ステップが読み取りエラーデータ記録工程のさらに詳細な具体例である。
また、図16中のステップS54が記録ゾーン確保工程の具体例であり、ステップS56がユーザーデータ記録工程の具体例であり、ステップS55が読み取りエラーデータ記録工程の具体例である。また、図17中の各ステップが読み取りエラーデータ記録工程のさらに詳細な具体例である。
また、図19中のステップS84が記録ゾーン確保工程の具体例であり、図19中のステップS86および図20中のステップS93がユーザーデータ記録工程の具体例であり、また、図20中のステップS91およびステップS92が読み取りエラーデータ記録工程の具体例である。
また、本発明はコンピュータプログラムとして具現化することも可能である。この場合には、図4および図5(あるいは図16および図17、あるいは図19および図20)に示す追加記録処理を実現するためのコマンドを記述したコンピュータプログラムを作成する。そして、このコンピュータプログラムを例えば光ディスクなどの容易に持ち運び可能な情報記録媒体に記録し、この情報記録媒体をユーザに販売する。この情報記録媒体を購入したユーザは、この情報記録媒体をコンピュータに搭載されたディスクドライブ装置などの情報読み取り装置に挿入し、情報記録媒体に記録されたコンピュータプログラムをコンピュータに読み込ませる。これにより、コンピュータが有するコンピュータ資源を本発明の情報記録装置として機能させることができ、図4および図5(あるいは図16および図17、あるいは図19およぶ図20)に示す追加記録処理をコンピュータにより実現することができる。また、コンピュータプログラムが記録された情報記録媒体をユーザに販売するのではなく、コンピュータプログラムをコンピュータプログラム製品としてインターネットなどのコンピュータネットワークを介してユーザに配信してもよい。