JP3821290B2 - 情報処理装置および情報処理方法、並びにプログラム - Google Patents
情報処理装置および情報処理方法、並びにプログラム Download PDFInfo
- Publication number
- JP3821290B2 JP3821290B2 JP2002320844A JP2002320844A JP3821290B2 JP 3821290 B2 JP3821290 B2 JP 3821290B2 JP 2002320844 A JP2002320844 A JP 2002320844A JP 2002320844 A JP2002320844 A JP 2002320844A JP 3821290 B2 JP3821290 B2 JP 3821290B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- queue
- extent
- recording medium
- schedule window
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 17
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000001514 detection method Methods 0.000 claims description 29
- 230000003287 optical effect Effects 0.000 description 107
- 101100334010 Drosophila melanogaster sotv gene Proteins 0.000 description 52
- 238000000034 method Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 16
- 230000001174 ascending effect Effects 0.000 description 8
- 239000000463 material Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 210000001072 colon Anatomy 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、例えば、光ディスク等の記録媒体から、データを効率的に読み出すことができるようにする情報処理装置および情報処理方法、並びにプログラムに関する。
【0002】
【従来の技術】
近年においては、記録レートおよび読み出しレートが大きく向上した光ディスクその他の記録媒体が実用化されており、比較的高画質で長時間のビデオデータの記録が可能となってきている。
【0003】
しかしながら、記録レートや読み出しレートが高くても、光ディスクにおいて、ビデオデータのストリームが、不連続に、いわば細切れ状態で記録されている場合には、その不連続な部分で、シークが発生する。そして、シークによって、ビデオデータの読み出しが、その再生すべき時刻に間に合わない場合には、ビデオデータの再生が途切れることになる。
【0004】
また、例えば、特許文献1には、素材データを再生する素材用ディスク装置の他に、作業用ディスク装置を用意し、作業用ディスク装置に、素材データの中の編集点近傍のデータを複製しておき、その素材用ディスク装置と作業用ディスク装置の出力を適宜選択することで、編集点で生じるシークによって、再生が途切れることを防止する方法が記載されている。
【0005】
【特許文献1】
特開平10-50037号公報。
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1に記載の方法では、シークによって再生が途切れることを防止するのに、素材用ディスク装置の他に、作業用ディスク装置を用意し、その素材用ディスク装置と作業用ディスク装置の出力を適宜選択する制御を行う必要がある。
【0007】
また、光ディスク等の記録媒体からのデータの読み出しは、なるべく効率的に行うことができるのが望ましい。
【0008】
本発明は、このような状況に鑑みてなされたものであり、例えば、光ディスクなどの記録媒体からのデータの読み出しを、再生が途切れることを(極力)防止しながら効率的に行うことができるようにするものである。
【0009】
【課題を解決するための手段】
本発明の情報処理装置は、記録媒体に記録されているデータのうちの、まだ、第1のキューに移動されていないデータから、再生時刻が最も早いデータを検出する第1の検出手段と、第1の検出手段において検出されたデータを、第1のキューに移動する第1の移動手段と、記録媒体における記録位置に基づくソートの対象とする第1のキューに記憶されたデータの範囲であるスケジュールウインドウを設定する設定手段と、記録媒体における記録位置に基づいて、スケジュールウインドウ内に存在するデータの中から、第2のキューに移動するものを検出する第2の検出手段と、第2の検出手段において検出されたデータを、第2のキューに移動する第2の移動手段と、第2のキューが空であるかどうかを判定する第1の判定手段と、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在しないかどうかを判定する第2の判定手段とを備え、第2の検出手段は、第2のキューが空である場合、スケジュールウインドウ内に存在するデータの中から、記録媒体における記録位置が最も先のものを検出し、第2のキューが空でない場合において、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在しないとき、スケジュールウインドウ内に存在するデータの中から、記録媒体における記録位置が最も先のものを検出し、第2のキューが空でない場合において、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在するとき、スケジュールウインドウ内に存在するデータの中から、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているデータであって、その記録位置に最も近いものを検出することを特徴とする。
【0010】
本発明の情報処理方法は、記録媒体に記録されているデータのうちの、まだ、第1のキューに移動されていないデータから、再生時刻が最も早いデータを検出する第1の検出ステップと、第1の検出ステップにおいて検出されたデータを、第1のキューに移動する第1の移動ステップと、記録媒体における記録位置に基づくソートの対象とする第1のキューに記憶されたデータの範囲であるスケジュールウインドウを設定する設定ステップと、記録媒体における記録位置に基づいて、スケジュールウインドウ内に存在するデータの中から、第2のキューに移動するものを検出する第2の検出ステップと、第2の検出ステップにおいて検出されたデータを、第2のキューに移動する第2の移動ステップと、第2のキューが空であるかどうかを判定する第1の判定ステップと、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在しないかどうかを判定する第2の判定ステップとを備え、第2の検出ステップにおいて、第2のキューが空である場合、スケジュールウインドウ内に存在するデータの中から、記録媒体における記録位置が最も先のものが検出され、第2のキューが空でない場合において、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在しないとき、スケジュールウインドウ内に存在するデータの中から、記録媒体における記録位置が最も先のものが検出され、第2のキューが空でない場合において、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在するとき、スケジュールウインドウ内に存在するデータの中から、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているデータであって、その記録位置に最も近いものが検出されることを特徴とする。
【0011】
本発明のプログラムは、記録媒体に記録されているデータのうちの、まだ、第1のキューに移動されていないデータから、再生時刻が最も早いデータを検出する第1の検出ステップと、第1の検出ステップにおいて検出されたデータを、第1のキューに移動する第1の移動ステップと、記録媒体における記録位置に基づくソートの対象とする第1のキューに記憶されたデータの範囲であるスケジュールウインドウを設定する設定ステップと、記録媒体における記録位置に基づいて、スケジュールウインドウ内に存在するデータの中から、第2のキューに移動するものを検出する第2の検出ステップと、第2の検出ステップにおいて検出されたデータを、第2のキューに移動する第2の移動ステップと、第2のキューが空であるかどうかを判定する第1の判定ステップと、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在しないかどうかを判定する第2の判定ステップとを備え、第2の検出ステップにおいて、第2のキューが空である場合、スケジュールウインドウ内に存在するデータの中から、記録媒体における記録位置が最も先のものが検出され、第2のキューが空でない場合において、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在しないとき、スケジュールウインドウ内に存在するデータの中から、記録媒体における記録位置が最も先のものが検出され、第2のキューが空でない場合において、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在するとき、スケジュールウインドウ内に存在するデータの中から、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているデータであって、その記録位置に最も近いものが検出されることを特徴とする。
【0012】
本発明の情報処理装置および情報処理方法、並びにプログラムにおいては、記録媒体に記録されているデータのうちの、まだ、第1のキューに移動されていないデータから、再生時刻が最も早いデータが検出され、そのデータが、第1のキューに移動される。また、記録媒体における記録位置に基づくソートの対象とする第1のキューに記憶されたデータの範囲であるスケジュールウインドウが設定され、記録媒体における記録位置に基づいて、スケジュールウインドウ内に存在するデータの中から、第2のキューに移動するものが検出され、そのデータが、第2のキューに移動される。また、第2のキューが空であるかどうかが判定され、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在しないかどうかが判定される。
そして、スケジュールウインドウ内に存在するデータの中から、第2のキューに移動するものを検出するにあたっては、第2のキューが空である場合、スケジュールウインドウ内に存在するデータの中から、記録媒体における記録位置が最も先のものが検出される。一方、第2のキューが空でない場合において、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在しないときには、スケジュールウインドウ内に存在するデータの中から、記録媒体における記録位置が最も先のものが検出される。また、第2のキューが空でない場合において、スケジュールウインドウ内に存在するデータの中に、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているものが存在するときには、スケジュールウインドウ内に存在するデータの中から、第2のキューの最後尾のデータの記録媒体における記録位置よりも後に記録されているデータであって、その記録位置に最も近いものが検出される。
【0013】
【発明の実施の形態】
図1は、本発明を適用した記録再生システムの一実施の形態の構成例を示している。
【0014】
図1の記録再生システムは、コンピュータ1をベースに構成されており、コンピュータ1は、光ディスク3に対して、データを読み書きする、例えば、CD-R(Compact Disc Recordable),CD-RW(CD ReWritable),DVD-RAM(Digital Versatile Disc Random Access Memory)ドライブとしてのドライブ2を内蔵している。即ち、ドライブ2には、光ディスク3を容易に着脱することができるようになっており、ドライブ2は、コンピュータ1の制御の下、光ディスク3にデータを記録し(書き込み)、また、光ディスク3からデータを読み出す。
【0015】
図1の実施の形態では、画像データや音声データなどのAV(Audio Visual)データを出力し、必要に応じて、AVデータを入力することができるVTR(Video Tape Recorder)や、TV(Television)チューナなどでなる信号入出力装置4が、外部機器として、コンピュータ1に接続されている。コンピュータ1は、信号入出力装置4が出力するAVデータを受信し、ドライブ2に供給して、光ディスク3に記録させる。また、コンピュータ1は、ドライブ2に、光ディスク3に記録されたAVデータを読み出させ、例えば、その内蔵するディスプレイやスピーカから出力させる。あるいは、コンピュータ1は、光ディスク3から読み出されたAVデータを、例えば、信号入出力装置4に記録等させる。
【0016】
図2は、図1のコンピュータ1のハードウェア構成例を示している。
【0017】
CPU(Central Processing Unit)11は、例えば、ユーザによって入力部16が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)12に格納されているプログラムを実行する。あるいは、また、CPU11は、HD(Hard Disk)15に格納されているプログラム、衛星若しくはネットワークから転送され、通信部18で受信されてHD15にインストールされたプログラム、またはドライブ2に装着された光ディスク3などのリムーバブル記録媒体から読み出されてHD15にインストールされたプログラムを、RAM(Random Access Memory)14にロードして実行する。これにより、CPU11は、後述するフローチャートにしたがった各種の処理を行う。
【0018】
ROM12は、例えば、IPL(Initial Program Loading)やBIOS(Basic Input Output System)のプログラムその他のファームウェアを記憶している。なお、ROM12に代えて、書き換え可能なEEPROM(Electrically Erasable Programmable ROM)を採用することが可能であり、この場合、ファームウェアのバージョンアップに対処することができる。
【0019】
メモリコントローラ13は、例えば、DMA(Direct Memory Access)コントローラで構成され、RAM14に対するデータの読み書きを制御する。RAM14は、CPU11が実行するプログラムや、CPU11が処理を行う上で必要なデータを一時記憶する。HD15は、コンピュータ1にインストールされたプログラム(アプリケーションプログラムの他、OS(Operating System)なども含まれる)や、CPU11が処理を行う上で必要なデータを記憶する。
【0020】
入力部16は、例えば、キーボードや、マウス、マイク(マイクロフォン)などで構成され、ユーザによって操作等される。そして、入力部16は、ユーザによる操作等に対応する信号を、CPU11に供給する。出力部17は、例えば、ディスプレイやスピーカなどで構成され、そこに供給される画像または音声を、それぞれ表示または出力する。通信I/F(Interface)18は、例えば、IEEE(Institute of Electrical and Electronics Engineers)1394ポートや、USB(Universal Serial Bus)ポート、LAN(Local Area Network)接続用のNIC(Network Interface Card)などで構成され、各規格に応じた通信制御を行う。
【0021】
I/Fコントローラ19は、ドライブ2との間で、データを、例えば、ATA(AT Attachment)等の所定の方式でやりとりするためのインタフェースとして機能する。
【0022】
データ変換部20は、例えば、MPEG(Moving Picture Experts Group)エンコーダ/デコーダで構成され、信号入出力装置4から供給されるAVデータを、MPEGエンコードし、その結果得られるMPEGストリームを、コンピュータ1のバス上に出力する。また、データ変換部20は、コンピュータ1のバス上に出力されたMPEGストリームをMPEGデコードし、その結果得られるAVデータを、コンピュータ1のバス上に出力し、あるいは、信号入出力装置4に供給する。
【0023】
なお、以上のCPU11乃至データ変換部20は、コンピュータ1内部のバスを介して相互に接続されている。
【0024】
以上のように構成されるコンピュータ1では、CPU11がコンピュータ1にインストールされたプログラムを実行することにより、後述する各種の処理が行われる。
【0025】
ここで、CPU11が実行するプログラムは、コンピュータ1に内蔵されている記録媒体としてのHD15やROM12に予め記録しておくことができる。
【0026】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0027】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータ1にインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータ1に無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータ1に有線で転送し、コンピュータ1では、そのようにして転送されてくるプログラムを、通信I/F18で受信し、内蔵するHD15にインストールすることができる。
【0028】
ここで、本明細書において、コンピュータ1に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0029】
また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。さらに、プログラムは、遠方のCPUに転送されて実行されるものであっても良い。
【0030】
次に、図3は、図2のCPU11がプログラムを実行することにより実現されるコンピュータ1の機能的構成例を示している。
【0031】
コンピュータ1では、OS31の管理の下で、各種のアプリケーションプログラム34が実行される。また、OS31の管理下では、ファイルシステムドライバ33やデバイスドライバ32が動作している。
【0032】
アプリケーションプログラム34は、ドライブ2に装着された光ディスク3へのデータの読み書きを行う場合、ファイルシステムドライバ33に対して、データを記録する、あるいは、データが記録されたファイルを指定し、ファイルシステムドライバ33は、指定されたファイルの光ディスク3上の位置情報を、デバイスドライバ32に指定する。そして、デバイスドライバ32は、ファイルシステムドライバ33からの位置情報が表す光ディスク3上の記録領域に対するデータの読み書きを、ドライブ2に要求する。
【0033】
本実施の形態では、例えば、ファイルシステムドライバ33またはアプリケーションプログラム34のいずれか一方に、あるいは、その両方に亘って、アロケーションマネージャ35が組み込まれており、アロケーションマネージャ35は、光ディスク3に対するデータの読み書き制御を行う。
【0034】
なお、ここでは、説明を簡単にするために、アロケーションマネージャ35は、ファイルシステムドライバ33とアプリケーションプログラム34のうちの、例えば、アプリケーションプログラム34に組み込まれているものとする。アロケーションマネージャ35が組み込まれるアプリケーションプログラム34としては、例えば、光ディスク3に対して読み書きを行うための、いわゆるライティングソフトウェアなどを採用することができる。また、ファイルシステムドライバ33としては、例えば、CD-R/RWおよびDVDのファイルシステムドライバに採用されているUDF(Universal Disk Format)ドライバなどを用いることができる。
【0035】
アロケーションマネージャ35は、記録スケジューラ36と再生スケジューラ37などから構成される。記録スケジューラ36は、図示せぬ他のアプリケーションや、ユーザが入力部16を操作することによって、光ディスク3へのデータの記録の要求があった場合には、そのデータの光ディスク3への記録(書き込み)順をスケジューリングし、そのスケジューリング結果にしたがい、ファイルシステムドライバ33に対して、光ディスク3へのデータの記録を要求する。ファイルシステムドライバ33は、記録スケジューラ36からの要求にしたがい、データを、デバイスドライバ32およびドライブ2を介して、光ディスク3に書き込む。
【0036】
ここで、ドライブ2において、光ディスク3に対するデータの書き込みおよび読み出しは、例えば、光ディスク3の内周から外周方向に向かって行われるものとする。また、ドライブ2は、光ディスク3に対する最小アクセス単位である物理セクタを1以上集めた物理ブロックを、ECC(Error Checking and Correction)処理を施す単位として、その物理ブロック単位で、データの読み書きを行う。なお、物理ブロックには、例えば、光ディスク3の内周から外周に向かって昇順の物理ブロック番号が付されており、各物理ブロックには、論理ブロックが割り当てられている。但し、光ディスク3に対するデータの読み書きは、光ディスク3の外周から内周方向に向かって行うようにすることが可能である。また、物理ブロックを構成する物理セクタの数は、特に限定されるものではない。
【0037】
デバイスドライバ32は、ファイルシステムドライバ33からデータの読み書きの要求があると、その読み書きの要求を、その読み書きを行う論理ブロックに付されている論理ブロック番号(以下、適宜、LBN(Logical Block Number)という)とともに、ドライブ2に供給する。ドライブ2は、デバイスドライバ32から供給されるLBNの論理ブロックに割り当てられている光ディスク3の物理ブロックに対して、データの読み書きを行う。
【0038】
なお、物理ブロックに割り当てられている論理ブロックには、例えば、その物理ブロックの物理ブロック番号に比例するLBNが付されているものとする。この場合、複数の論理ブロックそれぞれのLBNが連続している場合には、その複数の論理ブロックに割り当てられている複数の物理ブロックそれぞれの物理ブロック番号も連続したものとなり、その結果、複数の物理ブロックも連続した記録領域となる。即ち、複数の論理ブロックが連続している場合には、その複数の論理ブロックに割り当てられている複数の物理ブロックも連続したものとなる。
【0039】
ここで、上述したように、光ディスク3に対するデータの書き込みおよび読み出しは、例えば、光ディスク3の内周から外周方向に向かって行われ、さらに、物理ブロックには、光ディスク3の内周から外周に向かって昇順の物理ブロック番号が付されているととともに、論理ブロックには、物理ブロック番号に比例するLBNが付されている。従って、ここでは、光ディスク3に対するデータの書き込みおよび読み出しは、物理ブロック番号で考えても、また、LBNで考えても、番号の小さい順に行われる。
【0040】
再生スケジューラ37は、図示せぬ他のアプリケーションや、ユーザが入力部16を操作することによって、光ディスク3からのデータの読み出しの要求があった場合には、そのデータを光ディスク3から読み出す読み出し順をスケジューリングし、そのスケジューリング結果にしたがい、ファイルシステムドライバ33に対して、光ディスク3からのデータの読み出しを要求する。ファイルシステムドライバ33は、再生スケジューラ37からの要求にしたがい、データを、デバイスドライバ32およびドライブ2を介して、光ディスク3から読み出す。
【0041】
次に、図4は、記録スケジューラ36によって、ビデオデータとそのビデオデータに付随するオーディオデータが光ディスク3に記録される場合の、その記録データの論理フォーマットを示している。
【0042】
ビデオデータとオーディオデータは、例えば、いずれも、所定の再生時間(例えば、1.5秒から2秒など)単位のデータに分割され、光ディスク3に記録される。
【0043】
なお、図4の実施の形態では、ある再生時間単位のオーディオデータが記録され、その後、他の(あるいは同一の)再生時間単位のビデオデータが記録されることが繰り返されているが、即ち、ビデオデータとオーディオデータとが交互に記録されているが、ビデオデータやオーディオデータは、幾つかの再生時間単位分だけ連続して記録することも可能である。また、ある再生時間単位のオーディオデータとしては、2つのチャンネルCH1とCH2のオーディオデータを記録することができるようになっている。
【0044】
ここで、上述したように、本実施の形態では、論理ブロックが連続していれば、物理ブロックも連続しているから、図4に示した各再生時間単位のビデオデータまたはオーディオデータは、光ディスク3上の物理的に連続した記録領域に記録されている。
【0045】
なお、現実には、光ディスク3には、欠陥(ディフェクト)が生じ、その欠陥に対しては、例えば、ドライブ2において、欠陥がある物理ブロックに対する論理ブロックの割り当てを、その欠陥がある物理ブロックの直後の物理ブロックにスリップするスリップ処理や、他の正常な物理ブロックにリアサインするリアサイン処理が行われる。スリップ処理やリアサイン処理が行われると、LBNが連続している複数の論理ブロックに割り当てられている複数の物理ブロックが連続していることは、保証されなくなる。但し、スリップ処理やリアサイン処理が行われた場合であっても、ある再生時間単位のビデオデータやオーディオデータを、光ディスク3の物理的に連続した記録領域に記録することは可能であり、本実施の形態では、記録スケジューラ36が、例えば、少なくとも、ある再生時間単位のビデオデータやオーディオデータを、光ディスク3の物理的に連続した記録領域に記録するように、記録制御を行うものとする。
【0046】
次に、図5は、図3の再生スケジューラ37の構成例を示している。
【0047】
配置情報取得部41は、ファイルシステムドライバ33(図3)に、光ディスク3に記録されたデータが格納されたファイルに関するファイル情報を要求し、そのファイル情報から、光ディスク3のある再生時間単位のビデオデータやオーディオデータ(以下、適宜、エクステント(extent)という)について、後述する配置情報を取得して出力する。配置情報バッファ42は、配置情報取得部41が出力するエクステントの配置情報を順次記憶する。
【0048】
FTCソート部43は、配置情報バッファ42に記憶されたエクステントの配置情報を、そのエクステントの再生時刻に基づいてソートし、そのソート結果を、FTCソート結果キュー44に供給する。FTCソート結果キュー44は、FTCソート部43によるエクステントの配置情報のソート結果を一時記憶する。
【0049】
LBNスケジューリング部45は、FTCソート結果キュー44に記憶された各エクステントの配置情報を、そのエクステントの光ディスク3における記録位置に基づいてソートし、そのソート結果を、光ディスク3からエクステントを読み出す読み出し順のスケジューリング結果として、スケジューリング結果キュー46に供給する。スケジューリング結果キュー46は、LBNスケジューリング部45によるエクステントの配置情報のソート結果を一時記憶する。
【0050】
なお、図5において、図3には図示していない読み出し制御部47は、アロケーションマネージャ35を構成しており、スケジューリング結果キュー46に記憶されたエクステントの配置情報にしたがい、そのエクステントの読み出しを、ファイルシステムドライバ33に要求する。
【0051】
次に、図6のフローチャートを参照して、図5の再生スケジューラ37が行う、光ディスク3からエクステントを読み出す読み出し順をスケジューリングする読み出しスケジューリング処理について説明する。
【0052】
まず最初に、ステップS1において、配置情報取得部41は、光ディスク3に記録されたエクステントの配置情報を取得し、配置情報バッファ42に供給して記憶させる。そして、ステップS2に進み、FTCソート部43は、配置情報バッファ42に記憶されたエクステントの配置情報を、そのエクステントの再生時刻に基づいてソートし、そのソート結果を、FTCソート結果キュー44に供給して記憶させ、ステップS3に進む。ステップS3では、LBNスケジューリング部45は、FTCソート結果キュー44に記憶された各エクステントの配置情報を、そのエクステントの光ディスク3における記録位置に基づいてソートし、そのソート結果を、光ディスク3からエクステントを読み出す読み出し順のスケジューリング結果として、スケジューリング結果キュー46に供給して記憶させ、読み出しスケジューリング処理を終了する。
【0053】
次に、図7を参照して、図5の配置情報取得部41が取得するエクステントの配置情報について説明する。
【0054】
図7は、ビデオデータのファイルV1、チャンネルCH1のオーディオデータのファイルA1、およびチャンネルCH2のオーディオデータのファイルA2の3つのファイルが、記録スケジューラ36によって光ディスク3に記録されたときの論理的な記録状態を示している。
【0055】
ここで、図7における1つの四角形は、ある再生時間分のビデオデータまたはオーディオデータ、即ち、エクステントを表している。なお、図7において、エクステントを表す四角形の横方向の長さは、そのエクステントのデータ量を表している。
【0056】
図7において、エクステントを表す四角形の中の1段目には、そのエクステントのファイル名とエクステント番号とがコロン(:)で区切られて表されている。
【0057】
また、図7において、エクステントを表す四角形の中の2段目には、その左端と右端に、それぞれ、そのエクステントが記録されている光ディスク3の記録領域の先頭と末尾の論理ブロックのLBNが表されている。なお、エクステントが記録されている光ディスク3の記録領域の先頭と末尾の論理ブロックのLBNそれぞれを、以下、適宜、先頭LBNと末尾LBNという。
【0058】
さらに、図7において、エクステントを表す四角形の中の3段目には、その右端に、そのエクステントの最後のデータが再生されるべき再生時刻を表すFTC(File Time Code)が、括弧()付きで表されている。なお、FTCは、例えば、ビデオデータについては、そのビデオデータが、再生開始から何フレーム目に再生されるべきものであるかを表し、オーディオデータについては、そのオーディオデータが付随するフレームのビデオデータが、再生開始から何フレーム目に再生されるべきものであるかを表す。なお、エクステントの最後のデータが再生されるべき再生時刻を表すFTCを、以下、適宜、末尾FTCという。
【0059】
以上から、例えば、図7の最初の(左から1番目の)エクステントは、ファイルA1のオーディオデータの1番目のエクステントであり、論理ブロック#100乃至#102(LBNが100から102までの論理ブロック)に記録され、その最後のオーディオデータが、第60フレームに再生されるべきものであることが分かる。
【0060】
なお、例えば、ビデオデータのエクステントには、フレームのビデオデータの最後のサンプルまでではなく、フレームのビデオデータの途中のサンプルまでが含まれることがある。この場合、末尾FTCとしては、例えば、フレームのビデオデータの最後のサンプルまでがエクステントに含まれる、そのビデオデータのフレーム数が採用される。即ち、エクステントが、第N1フレームのビデオデータの最初のサンプルから第N2フレームのビデオデータの途中のサンプルまでのビデオデータによって構成される場合(N1<N2)、そのエクステントの末尾FTCは、フレームのビデオデータの最後のサンプルまでが含まれる第N2−1フレームになる。このことは、エクステントの末尾FTCが、第Nフレームである場合に、そのエクステントには、第Nフレームのビデオデータの最後のサンプルが含まれるが、第N+1フレームのビデオデータの最後のサンプルは含まれないことを意味する。オーディオデータのエクステントについても、同様である。
【0061】
配置情報取得部41は、以上のようなエクステントのファイル名、エクステント番号、先頭LBN、末尾LBN、および末尾FTCを、そのエクステントの配置情報として取得する。
【0062】
そこで、図8のフローチャートを参照して、図6のステップS1において、配置情報取得部41が行う、エクステントの配置情報を取得する配置情報取得処理について説明する。
【0063】
まず最初に、ステップS11において、配置情報取得部41は、ファイルシステムドライバ33に、光ディスク3に記録されたデータのファイルに関する情報であるファイル情報を要求し、その要求に応じて、ファイルシステムドライバ33から供給されるファイル情報を受信することにより取得する。
【0064】
そして、ステップS12に進み、配置情報取得部41は、ファイルシステムドライバ33から取得したファイル情報を参照することで、光ディスク3に記録されているエクステントを認識し、そのエクステントの中から、まだ、注目エクステントとして選択していないエクステントの1つを、注目エクステントとして選択し、ステップS13に進む。
【0065】
ステップS13では、配置情報取得部41は、ステップS11で得たファイル情報から、注目エクステントの配置情報、即ち、注目エクステントが構成するファイルのファイル名、エクステント番号、先頭LBN、末尾LBN、末尾FTCを求めることにより取得する。
【0066】
ここで、本実施の形態においてファイルシステムドライバ33として採用されているUDFドライバは、ファイル情報として、光ディスク3に記録されたすべてのファイルについて、例えば、ファイル名、ファイルを構成するエクステントの先頭LBN、およびそのエクステントの長さ(データ量)を管理しており、そのようなファイル情報を、配置情報取得部41に提供する。
【0067】
従って、配置情報取得部41は、ファイル情報から、配置情報としてのファイル名と先頭LBNを、直接得ることができる。さらに、配置情報取得部41は、ファイル情報である先頭LBNとエクステントの長さから、配置情報としての末尾LBNを求めることができる。また、配置情報取得部41は、注目エクステントが、その注目エクステントによって構成されるファイルの何番目のエクステントであるかを認識することによって、エクステント番号を得ることができる。
【0068】
そして、配置情報取得部41は、残る配置情報である末尾FTCを、例えば、次のようにして取得する。
【0069】
即ち、本実施の形態においてファイルシステムドライバ33として採用されているUDFドライバには、エクステントの記録時に、そのエクステントの先頭および末尾が記録される論理ブロックのLBNと、そのエクステントとしての先頭および末尾のビデオデータまたはオーディオデータのFTCとの関係を記述したテーブルであるCPI(Characteristic Point Information)テーブルを作成させ、光ディスク3に記録させておくことができる。この場合、ファイルシステムドライバ33から配置情報取得部41に対して提供するファイル情報に、CPIテーブルを含めることで、配置情報取得部41は、そのCPIテーブルを参照することにより、注目エクステントの末尾LBNから、その注目エクステントの末尾FTCを求めることができる。
【0070】
なお、以上のようなCPIテーブルを用いる場合には、注目エクステントを構成するビデオデータまたはオーディオデータが、フレーム単位等ごとにデータ量が変化する可変長データであっても、また、データ量が変化しない固定長データであっても、末尾FTCを求めることができるが、注目エクステントを構成するビデオデータまたはオーディオデータが、フレーム単位等ごとにデータ量が変化しない固定長データである場合には、CPIテーブルを用いる他、例えば、次のようにして、末尾FTCを求めることが可能である。
【0071】
即ち、注目エクステントを構成するビデオデータが固定長データである場合には、注目エクステントが構成するファイルの先頭から、注目エクステントの末尾までのデータ量を、フレームサイズ(1フレーム分のデータ量)で除算することにより求められる商が、注目エクステントの末尾FTCとなる。
【0072】
なお、注目エクステントが構成するファイルの先頭から、注目エクステントの末尾までのデータ量は、本実施の形態においてファイルシステムドライバ33として採用されているUDFドライバから配置情報取得部41に対し、ファイル情報に含めて提供するようにすることができる。
【0073】
但し、注目エクステントを構成するデータがオーディオデータである場合には、注目エクステントが構成するファイルの先頭から、注目エクステントの末尾までのデータ量を、フレームサイズで除算することにより、注目エクステントの末尾FTCを求めるときに、以下の点を考慮する必要がある。
【0074】
即ち、ここでは、フレームとは、ビデオデータのフレームを言っているので、ビデオデータのエクステントについては、そのエクステントが構成するファイルの先頭から、そのエクステントの末尾までのデータ量を、1フレーム分のビデオデータのデータ量(フレームサイズ)で除算することにより求められる商が、注目エクステントの末尾FTCを、正確に表す。
【0075】
これに対して、オーディオデータのエクステントについては、そのエクステントが構成するファイルの先頭から、そのエクステントの末尾までのデータ量を、1フレーム分のオーディオのデータ量(フレームサイズ)で除算することにより求められる商が、注目エクステントの末尾FTCを、正確に表すとは限らない。
【0076】
即ち、ビデオデータが、例えば、NTSC(National Television System Committee)方式のものである場合には、そのフレームレートは、30×1000/1001[フレーム/秒]である。そして、いま、オーディオデータのサンプリングレートが、例えば48[kHz]であるとすると、1フレーム分のオーディオデータのサンプル数は、48×103/(30×1000/1001)=1601.6サンプルとなり、整数にならない。いま、1フレーム分のオーディオデータのサンプル数が整数値でなければならないものとして、小数点以下を切り捨てるものとすると、1フレーム分のオーディオデータのサンプル数は、1601サンプルとなる。しかしながら、この場合、オーディオデータのサンプル数が、全体として減少してしまうことになる。ところで、上述の1フレーム分のオーディオデータのサンプル数の小数点以下の部分である0.6に注目すると、この0.6は、5倍することによって3になり、小数点以下がなくなる。このことは、フレームの境界と、オーディオデータのサンプルの境界とが、5フレーム周期で一致することを表す。従って、オーディオデータのエクステントについて、そのエクステントが構成するファイルの先頭から、そのエクステントの末尾までのデータ量を、1フレーム分のオーディオのデータ量(1601サンプルのデータ量)で除算することにより、注目エクステントの末尾FTCを求める場合には、5フレーム分のオーディオデータのサンプル数が、1601[サンプル]×5[フレーム]+3[サンプル]となることを考慮する必要がある。
【0077】
なお、エクステントの末尾FTCをフレームサイズを用いて求める場合に必要となるビデオデータまたはオーディオデータのフレームサイズは、本実施の形態においてファイルシステムドライバ33として採用されているUDFドライバが、ファイルの属性情報として、光ディスク3上に確保される記録領域としてのファイルエントリ(File Entry)に記録し、配置情報取得部41の要求に応じ、ファイル情報に含めて、配置情報取得部41に提供するものとする。
【0078】
ステップS13において、配置情報取得部41は、注目エクステントの配置情報を求めると、その配置情報を、配置情報バッファ42に供給して記憶させ、ステップS14に進む。
【0079】
ステップS14では、配置情報取得部41は、光ディスク3に記録されているエクステントのうち、まだ、配置情報を求めていないものがあるかどうかを判定する。
【0080】
ステップS14において、光ディスク3に記録されているエクステントのうち、まだ、配置情報を求めていないものがあると判定された場合、ステップS11に戻り、配置情報取得部41は、上述したように、注目エクステントとして選択していないエクステントの1つを、注目エクステントとして新たに選択し、以下、同様の処理を繰り返す。
【0081】
また、ステップS14において、光ディスク3に記録されているエクステントのうち、まだ、配置情報を求めていないものがないと判定された場合、配置情報取得処理を終了してリターンする。
【0082】
以上のような配置情報取得処理によれば、図7に示したように、ビデオデータのファイルV1、チャンネルCH1のオーディオデータのファイルA1、およびチャンネルCH2のオーディオデータのファイルA2の3つのファイルが光ディスク3に記録されている場合、図9に示すように、ビデオデータのファイルV1について、3つのエクステントの配置情報、オーディオデータのファイルA1について、3つのエクステントの配置情報、およびオーディオデータのファイルA2について、3つのエクステントの配置情報が得られる。
【0083】
なお、エクステントは、そのエクステントが構成するファイルのファイル名と、エクステント番号によって、一意に特定することができる。そこで、以下、適宜、エクステントを、そのファイル名fxとエクステント番号Ext#xとを用いて、エクステントfx:Ext#xと表す。この場合、図9に示した、例えば、ビデオデータのファイルV1の1番目のエクステントは、エクステントV1:Ext1と表されることになる。
【0084】
次に、図10のフローチャートを参照して、図6のステップS2において、FTCソート部43が行う、エクステント(の配置情報)を、そのエクステントの再生時刻に基づいてソートするFTCソート処理について説明する。
【0085】
まず最初に、ステップS21において、FTCソート部43は、配置情報バッファ42に記憶されたエクステントの配置情報の中から、末尾FTCが最小のエクステントの配置情報(以下、適宜、最小FTCエクステント配置情報という)を検出し、ステップS22に進む。ステップS22では、FTCソート部43は、最小FTCエクステント配置情報を、配置情報バッファ42からFTCソート結果キュー44の最後尾に移動し、ステップS23に進む。
【0086】
ステップS23では、FTCソート部43は、配置情報バッファ42に、まだ、配置情報が記憶されているかどうかを判定する。ステップS23において、配置情報バッファ42に、まだ、配置情報が記憶されていると判定された場合、ステップS21に戻り、以下、上述した処理を繰り返す。
【0087】
また、ステップS23において、配置情報バッファ42に、配置情報が記憶されていないと判定された場合、即ち、配置情報バッファ42に記憶されていた配置情報が、すべて、FTCソート結果キュー44に移動された場合、FTCソート部43は、FTCソート処理を終了してリターンする。
【0088】
以上のように、FTCソート処理では、配置情報バッファ42に記憶されていた配置情報が、末尾FTCが小さい順、即ち、再生時刻が早いエクステント順にソートされる。従って、例えば、配置情報バッファ42に、図9に示したような配置情報が記憶されていた場合は、FTCソート処理によって、配置情報は、図11に示すように、末尾FTCが小さい順にソートされ、FTCソート結果キュー44に記憶される。
【0089】
なお、FTCソート処理において、あるエクステントの配置情報と他のエクステントの配置情報における末尾FTCが同一である場合には、その2つのエクステントのうちのいずれの配置情報を、先に、FTCソート結果キュー44に移動しても良い。図11の実施の形態では、末尾FTCが同一のエクステントについては、ファイルV1,A1,A2のエクステントの順に、優先順位をつけて、先に、配置情報を、FTCソート結果キュー44に移動するようにしている。
【0090】
次に、図12のフローチャートを参照して、図6のステップS3において、LBNスケジューリング部45が行う、エクステントの配置情報を、そのエクステントの記録位置に基づいてソートするLBNスケジューリング処理について説明する。
【0091】
LBNスケジューリング処理では、まず最初に、ステップS31において、LBNスケジューリング部45が、FTCソート結果キュー44に、配置情報が記憶されているかどうかを判定し、記憶されていると判定した場合、ステップS32に進む。
【0092】
ステップS32では、LBNスケジューリング部45は、FTCソート結果キュー44に記憶されているエクステントの配置情報に対して、そのエクステントの、光ディスク3における記録位置に基づくソートの対象とするスケジュールウインドウを設定する。
【0093】
即ち、FTCソート結果キュー44には、エクステントの配置情報が、その再生時刻順に並んでいるから、光ディスク3からのエクステントの読み出し時間を0とすれば、FTCソート結果キュー44に記憶されている配置情報の順番で、エクステントを光ディスク3から読み出せば、その読み出されたエクステントの並びは、再生順となる。
【0094】
しかしながら、実際には、光ディスク3からのエクステントの読み出しには、ある程度の時間を要する。このため、光ディスク3からのエクステントの読み出しを、エクステントの再生順に行うと、エクステントの読み出しが、そのエクステントの再生に間に合わなくなることが生じうる。
【0095】
即ち、例えば、あるエクステントExt1の再生後、他のエクステントExt2が再生される場合において、光ディスク3に、後に再生されるエクステントExt2の後に、先に再生されるエクステントExt1が連続して記録されているときには、FTCソート結果キュー44には、エクステントExt1,Ext2の順番で、配置情報が記憶される。この場合に、FTCソート結果キュー44に記憶されている配置情報の順番で、エクステントExt1とExt2を光ディスク3から読み出すと、エクステントExt1とExt2は、エクステントExt1,Ext2の順番で、光ディスク3から読み出される。
【0096】
しかしながら、光ディスク3には、エクステントExt1とExt2が、エクステントExt2,Ext1の順番で記録されているため、エクステントExt1とExt2を、エクステントExt1,Ext2の順番で、光ディスク3から読み出す場合には、エクステントExt1を、その最後まで読み出した後、そのエクステントExt2よりも前の位置(光ディスク3に対するデータの読み書き順で、先に読み書きされる位置)に記録されているエクステントExt2の先頭位置にシークし、それから、エクステントExt2を、その最後まで読み出さなければならない。即ち、この場合、ドライブ2の図示せぬピックアップが、エクステントExt1を読み出した後、そのエクステントExt1よりも前に記録されているエクステントExt2の先頭位置に、いわば戻るようなシークが発生する。
【0097】
この場合、エクステントExt1の最後から、エクステントExt2の先頭位置にシークするのに時間を要し、エクステントExt2の再生が、その再生すべき時刻に間に合わなくなることがある。
【0098】
そこで、LBNスケジューリング部45は、光ディスク3からのエクステントの読み出しを、効率的に行うことができるように、FTCソート結果キュー44に記憶されたエクステントの配置情報を、そのエクステントの光ディスク3における記録順に並べ替える。
【0099】
ところで、FTCソート結果キュー44に記憶されたエクステントの配置情報を、そのエクステントの光ディスク3における記録順に並べ替え、その並び替えた配置情報の順番で、光ディスク3からのエクステントの読み出しを行うことにより、上述したような、ドライブ2のピックアップが光ディスク3上を戻るような、いわば効率的でないシークが発生することを防止することができる。
【0100】
しかしながら、この場合も、エクステントの再生が、その再生すべき時刻に間に合わなくなることがある。
【0101】
即ち、例えば、上述のように、光ディスク3に、後に再生されるエクステントExt2の後に、先に再生されるエクステントExt1が連続して記録されている場合に、記録位置が前のエクステントExt2を読み出し、その後に、そのエクステントExt2よりも先に再生されるエクステントExt1を読み出すと、その先に再生されるのに、後に読み出されるエクステントExt1の再生が、その再生すべき時刻に間に合わなくなることが生じうる。
【0102】
そこで、LBNスケジューリング部45は、光ディスク3からのエクステントの読み出しを、その再生が途切れることを防止しながら効率的に行うことができるように、FTCソート結果キュー44に記憶されたエクステントの配置情報をソートする。
【0103】
即ち、LBNスケジューリング部45は、FTCソート結果キュー44に記憶されているエクステントの配置情報の全体を一度に処理対象とするのではなく、その一部ずつを、順次、処理対象としていきながら、その処理対象となっている配置情報を、エクステントの記録位置順にソートする。
【0104】
ステップS32では、FTCソート結果キュー44の先頭から所定の範囲に、スケジュールウインドウが設定され、このスケジュールウインドウ内にあるエクステントの配置情報が、LBNスケジューリング部45の処理対象とされる。
【0105】
ここで、スケジュールウインドウは、例えば、FTCソート結果キュー44の先頭から、末尾FTCが、FTCソート結果キュー44の先頭のエクステントの末尾FTCに、所定のフレーム数を表すFTCであるウインドウ長WP(Window Period)を加算した値以下の最大値をとるエクステントの配置情報までの間に設定される。
【0106】
従って、例えば、FTCソート結果キュー44に、図11に示したような配置情報が記憶され、ウインドウ長WPが、30フレームである場合、スケジュールウインドウは、図13に示すように、FTCソート結果キュー22の先頭のエクステントV1:Ext1から、その先頭から3番目のエクステントA2:Ext2までの配置情報に設定される。即ち、図13のFTCソート結果キュー22の先頭に配置情報が記憶されているエクステントV1:Ext1の末尾FTCは、050であり、この末尾FTCに、ウインドウ長WPを加算すると、80(=50+30)フレームとなる。図13において、末尾FTCが80以下の最大値をとるエクステントは、末尾FTCが060のエクステントA1:Ext1とA2:Ext2であり、このため、FTCソート結果キュー22の先頭のエクステントV1:Ext1からエクステントA2:Ext2までの配置情報に、スケジュールウインドウが設定される。
【0107】
なお、ウインドウ長WPを大にすると、ドライブ2のピックアップが光ディスク3上を戻るような非効率なシークが発生する確率を低減することができるが、エクステントの並べ替えのためのバッファの容量と再生遅延時間が増大することがあり得る。即ち、先に読み出されるが後に再生されるエクステントと、後に読み出されるが先に再生されるエクステントとが存在する場合には、後に読み出されるが先に再生されるエクステントを先に再生し、先に読み出されるが後に再生されるエクステントを後で再生するために、先に読み出されるが後に再生されるエクステントをバッファに記憶しておく必要がある。さらに、先に再生されるエクステントが、後に再生されるエクステントよりも後に読み出されるため、その、先に再生されるエクステントが読み出されて再生されるまでは、後に再生されるエクステントを再生することはできず、再生遅延時間が生じる。そして、ウインドウ長WPを大にすると、後に再生されるエクステントが、先に再生されるエクステントよりも、先に読み出されることが多くなりうるため、先に読み出されるが後に再生されるエクステントを記憶しておくバッファの容量と再生遅延時間が増大することがある。
【0108】
一方、ウインドウ長WPを小にすると、ドライブ2のピックアップが光ディスク3上を戻るような非効率なシークが発生することを、効果的に防止することが困難となる。
【0109】
このため、ウインドウ長WPは、バッファの容量および再生遅延時間の増大と、非効率なシークの発生頻度との観点から決定する必要がある。
【0110】
なお、ウインドウ長WPは、固定長とする他、例えば、エクステントのデータ量や再生時間などの、何らかのパラメータに応じて可変にすることが可能である。
【0111】
図12に戻り、ステップS32においてスケジュールウインドウが設定された後は、ステップS33に進み、LBNスケジューリング部45は、スケジューリング結果キュー46を参照することにより、スケジューリング結果キュー46が空であるかどうかを判定する。ステップS33において、スケジューリング結果キュー46が空であると判定された場合、即ち、スケジューリング結果キュー46に、エクステントの配置情報が記憶されていない場合、ステップS34に進み、LBNスケジューリング部45は、スケジュールウインドウに存在するエクステントの配置情報の中から、先頭LBNが最小のエクステントの配置情報(以下、適宜、最小先頭LBNエクステント配置情報という)、即ち、光ディスク3上の記録位置が最も前のエクステント(光ディスク3に対するデータの読み書き順で、最も先に読み書きされるエクステント)を検出し、ステップS35に進む。
【0112】
ステップS35では、LBNスケジューリング部45は、ステップS34で検出した最小先頭LBNエクステント配置情報を、FTCソート結果キュー44から、スケジューリング結果キュー46の最後尾に移動し、ステップS36に進む。
【0113】
従って、スケジューリング結果キュー46が空の場合は、FTCソート結果キュー44から、最小先頭LBNエクステント配置情報が検出され、即ち、スケジュールウインドウ内にある配置情報のうち、再生時刻が最も早いエクステントの配置情報が、スケジューリング結果キュー46の先頭に移動される。
【0114】
ステップS36では、LBNスケジューリング部45は、FTCソート結果キュー44からスケジューリング結果キュー46に移動した最新のエクステントの配置情報が、スケジュールウインドウの先頭に位置しないものであったかどうかを判定する。ステップS36において、FTCソート結果キュー44からスケジューリング結果キュー46に移動された最新のエクステントの配置情報が、スケジュールウインドウの先頭に位置しないものでないと判定された場合、即ち、FTCソート結果キュー44からスケジューリング結果キュー46に移動された最新のエクステントの配置情報が、スケジュールウインドウの先頭に位置するものである場合、ステップS31に戻る。
【0115】
そして、ステップS31では、上述したように、FTCソート結果キュー44に、配置情報が記憶されているかどうかが判定され、記憶されている場合、ステップS32に進み、上述したように、FTCソート結果キュー44に記憶されているエクステントの配置情報に対して、スケジュールウインドウが設定され、以下、同様の処理が繰り返される。
【0116】
即ち、スケジュールウインドウの先頭に配置されたエクステントの配置情報が、FTCソート結果キュー44からスケジューリング結果キュー46に移動された場合には、スケジュールウインドウが設定し直される(再設定される)。
【0117】
一方、ステップS33において、スケジューリング結果キュー46が空でないと判定された場合、即ち、スケジューリング結果キュー46に、エクステントの配置情報が記憶されている場合、ステップS34乃至S36をスキップして、ステップS37に進む。
【0118】
ここで、ステップS36において、FTCソート結果キュー44からスケジューリング結果キュー46に移動された最新のエクステントの配置情報が、スケジュールウインドウの先頭に位置しないものであると判定された場合も、ステップS37に進む。なお、ステップS37の処理は、ステップS33で、スケジューリング結果キュー46が空でないと判定された場合に行われる他、上述したステップS35、または後述するステップS39において、エクステントの配置情報が、FTCソート結果キュー44からスケジューリング結果キュー46に移動され、さらに、ステップS36の処理の後にも行われる。ステップS35またはS39の処理後、ステップS36を介して、ステップS37の処理が行われる場合、スケジューリング結果キュー46には、直前のステップS35または39において移動されたエクステントの配置情報が記憶されており、従って、いずれにしても、ステップS37の処理は、スケジューリング結果キュー46に、エクステントの配置情報が記憶されている場合に行われる。
【0119】
ステップS37では、LBNスケジューリング部45は、スケジュールウインドウの中に、スケジューリング結果キュー46の最後尾のエクステントの配置情報の末尾LBNよりも大きな先頭LBNを有するエクステントの配置情報が存在しないかどうかを判定する。ステップS37において、スケジュールウインドウの中に、スケジューリング結果キュー46の最後尾のエクステントの配置情報の末尾LBNよりも大きな先頭LBNを有するエクステントの配置情報が存在しないと判定された場合、即ち、スケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステントよりも、光ディスク3の後の位置に記録されたエクステントの配置情報が、スケジュールウインドウ内に存在しない場合、ステップS34に戻り、LBNスケジューリング部45は、上述したように、スケジュールウインドウに存在するエクステントの配置情報の中から、最小先頭LBNエクステント配置情報を検出し、ステップS35に進む。ステップS35では、LBNスケジューリング部45は、上述したように、ステップS34で検出した最小先頭LBNエクステント配置情報を、FTCソート結果キュー44から、スケジューリング結果キュー46の最後尾に移動して、ステップS36に進み、以下、同様の処理を繰り返す。
【0120】
従って、スケジューリング結果キュー46が空でなく、しかも、その空でないスケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステントよりも、光ディスク3の後の位置に記録されたエクステントの配置情報が、スケジュールウインドウ内に存在しない場合は、FTCソート結果キュー44から、最小先頭LBNエクステント配置情報が検出され、スケジューリング結果キュー46の最後尾に移動される。即ち、スケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステントよりも、光ディスク3の後の位置に記録されたエクステントの配置情報が、スケジュールウインドウ内に存在しない場合には、スケジュールウインドウ内にある配置情報のうち、最も再生時刻が早いエクステントの配置情報が、スケジューリング結果キュー46の最後尾に移動される。
【0121】
一方、ステップS37において、スケジュールウインドウの中に、スケジューリング結果キュー46の最後尾のエクステントの配置情報の末尾LBNよりも大きな先頭LBNを有するエクステントの配置情報が存在しなくないと判定された場合、即ち、スケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステントよりも、光ディスク3の後の位置に記録されたエクステントの配置情報が、スケジュールウインドウ内に存在する場合、ステップS38に進み、LBNスケジューリング部45は、スケジュールウインドウに存在するエクステントの配置情報の中から、スケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステント(以下、適宜、最後尾エクステントという)の末尾LBNから昇順方向に最も近い先頭LBNを有するエクステントの配置情報(以下、適宜、最近先頭LBNエクステント配置情報という)、即ち、スケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステント(最後尾エクステント)よりも、光ディスク3の後の位置に記録されたエクステントであって、最後尾エクステントの記録位置に最も近いエクステントの配置情報を検出し、ステップS39に進む。
【0122】
ステップS39では、LBNスケジューリング部45は、ステップS38で検出した最近先頭LBNエクステント配置情報を、FTCソート結果キュー44から、スケジューリング結果キュー46の最後尾に移動して、ステップS36に進み、以下、同様の処理を繰り返す。
【0123】
従って、スケジューリング結果キュー46が空でなく、しかも、その空でないスケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステントよりも、光ディスク3の後の位置に記録されたエクステントの配置情報が、スケジュールウインドウ内に存在する場合は、FTCソート結果キュー44から、最近先頭LBNエクステント配置情報が検出され、スケジューリング結果キュー46の最後尾に移動される。即ち、スケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステント(最後尾エクステント)よりも、光ディスク3の後の位置に記録されたエクステントの配置情報が、スケジュールウインドウ内に存在する場合には、スケジュールウインドウ内にある配置情報のうち、最後尾エクステントよりも後の位置であって、最後尾エクステントの記録位置に最も近い位置に記録されているエクステントの配置情報(最近先頭LBNエクステント配置情報)が、スケジューリング結果キュー46の最後尾に移動される。
【0124】
ここで、ステップS37乃至S39の処理によれば、スケジュールウインドウ内に、スケジューリング結果キュー46の最後尾に配置情報が記憶されたエクステント(最後尾エクステント)よりも先に再生されるエクステントの配置情報が存在していても、最後尾エクステントよりも後の位置であって、最後尾エクステントの記録位置に最も近い位置に記録されているエクステントの読み出しを先に行うように、スケジューリングが行われることがある。
【0125】
即ち、例えば、再生時刻をt1,t2,t3と表すとともに(t1<t2<t3)、エクステントが記録されている光ディスクのLBNをLBN#1,LBN#2,LBN#3と表し(LBN#1<LBN#2<LBN#3)、ある再生時刻txに再生され、光ディスクのLBN#xに記録されたエクステントを、Ext(tx,LBN#x)と表すこととする。
【0126】
そして、いま、例えば、3つのエクステントExt(t1,LBN#1),Ext(t2,LBN#2),Ext(t3,LBN#3)が、光ディスク3の連続した記録領域に記録されており、さらに、エクステントExt(t2,LBN#2)(の配置情報)が、スケジューリング結果キュー46の最後尾に記憶され、エクステントExt(t1,LBN#1)とExt(t3,LBN#3)(の配置情報)がスケジュールウインドウ内に存在するとした場合、再生が途切れることを防止する観点からは、スケジュールウインドウ内に存在するエクステントExt(t1,LBN#1)とExt(t3,LBN#3)のうちの、先に再生されるエクステントExt(t1,LBN#1)を、先に読み出し、後に再生されるエクステントExt(t3,LBN#3)を、後に読み出すようにスケジューリングすべきである。
【0127】
しかしながら、ステップS39では、スケジュールウインドウ内に存在するエクステントExt(t1,LBN#1)とExt(t3,LBN#3)のうち、再生時刻が先のエクステントExt(t1,LBN#1)ではなく、再生時刻が後のエクステントExt(t3,LBN#3)が、スケジューリング結果キュー46のエクステントExt(t2,LBN#2)の直後に移動され、これにより、先に再生されるエクステントExt(t1,LBN#1)よりも、後に再生されるエクステントExt(t2,LBN#2)の方が、光ディスク3から先に読み出されるようにスケジューリングされる。これは、次のような理由による。
【0128】
即ち、いまの場合、エクステントExt(t2,LBN#2)が、スケジューリング結果キュー46の最後尾に記憶されており、上述の3つのエクステントExt(t1,LBN#1),Ext(t2,LBN#2),Ext(t3,LBN#3)の中では、スケジューリング結果キュー46の最後尾にあるエクステントExt(t2,LBN#2)が、光ディスク3から最初に読み出される。
【0129】
従って、その後に、先に再生されるエクステントExt(t1,LBN#1)を、先に読み出し、後に再生されるエクステントExt(t3,LBN#3)を、後に読み出す場合には、ドライブ2のピックアップは、エクステントExt(t2,LBN#2)を読み出した後、そのエクステントExt(t2,LBN#2)の前の位置に記録されているエクステントExt(t1,LBN#1)の先頭位置に戻って、そのエクステントExt(t1,LBN#1)を読み出し、さらに、エクステントExt(t2,LBN#2)の後に記録されているエクステントExt(t3,LBN#3)の先頭位置まで進んで、そのエクステントExt(t3,LBN#3)を読み出す必要がある。その結果、シークの回数は、エクステントExt(t2,LBN#2)からエクステントExt(t1,LBN#1)への読み出しの移行時と、エクステントExt(t1,LBN#1)からエクステントExt(t3,LBN#3)への読み出しの移行時との2回になる。
【0130】
これに対して、後に再生されるエクステントExt(t3,LBN#3)を、先に読み出し、先に再生されるエクステントExt(t1,LBN#1)を、後に読み出す場合には、ドライブ2のピックアップは、エクステントExt(t2,LBN#2)を読み出した後、その直後に連続して記録されているエクステントExt(t3,LBN#3)を読み出し、その後に、エクステントExt(t2,LBN#2)の直前に記録されているエクステントExt(t1,LBN#1)を読み出すので、シークの回数は、エクステントExt(t3,LBN#3)からエクステントExt(t1,LBN#1)への読み出しの移行時の1回になる。
【0131】
以上のように、シークの回数が減るので、光ディスク3からのエクステントの読み出しに要する時間は、全体として短くなり、その結果、光ディスク3からの読み出しを効率的に行うことが可能となる。
【0132】
一方、ステップS31において、FTCソート結果キュー44に、配置情報が記憶されていないと判定された場合、即ち、ステップS35またはS39において、FTCソート結果キュー44に記憶されていたエクステントの配置情報が、すべて、スケジューリング結果キュー46に移動された場合、LBNスケジューリング処理を終了してリターンする。
【0133】
図5の読み出し制御部47は、以上のようにして、スケジューリング結果キュー46に記憶される配置情報を、その先頭から順次読み出し(て削除し)、その読み出した配置情報によって特定されるエクステントを、光ディスク3から読み出すように、ファイルシステムドライバ33を制御する。
【0134】
次に、図14乃至図18を参照して、LBNスケジューリング部45によるLBNスケジューリング処理について、さらに説明する。なお、以下では、スケジュールウインドウのウインドウ長WPは、例えば、上述したように、30フレームであるとする。
【0135】
いま、例えば、図11に示したように、エクステントの配置情報が、FTCソート結果キュー44に記憶されたとすると、図13に示したように、FTCソート結果キュー44の先頭のエクステントV1:Ext1から、末尾FTCが、FTCソート結果キュー44の先頭のエクステントV1:Ext1の末尾FTC(050)にウインドウ長WPである30フレームを加算した値(080)以下の最大値である060となっているエクステントA2:Ext1)までの3つのエクステントV1:Ext1,A1:Ext1,A2:Ext1の範囲に、スケジュールウインドウが設定される(ステップS32)。
【0136】
いまの場合、スケジューリング結果キュー46には、配置情報が記憶されていないから、スケジュールウインドウ内の3つのエクステントV1:Ext1,A1:Ext1,A2:Ext1のうち、先頭LBNが100で最小のエクステントA1:Ext1が検出され(ステップS33,S34)、図14に示すように、FTCソート結果キュー44からスケジューリング結果キュー46に移動される(ステップS35)。そして、エクステントA1:Ext1が、FTCソート結果キュー44からスケジューリング結果キュー46に移動されることにより、スケジュールウインドウ内に存在するエクステントは、図15に示すように、2つのエクステントV1:Ext1,A2:Ext1となる。
【0137】
さらに、上述のように、エクステントA1:Ext1が、FTCソート結果キュー44からスケジューリング結果キュー46に移動されることにより、スケジューリング結果キュー46は空ではなくなる。また、スケジュールウインドウ内に存在する2つのエクステントV1:Ext1とA2:Ext1の先頭LBNは、それぞれ106と103であり、いずれも、スケジューリング結果キュー46の最後尾に記憶されているエクステントA1:Ext1の末尾LBNである102よりも大である。
【0138】
従って、スケジュールウインドウに存在するエクステントV1:Ext1とA2:Ext1の中から、スケジューリング結果キュー46の最後尾に記憶されたエクステントA1:Ext1の末尾LBNである102から昇順方向に最も近い103が先頭LBNとなっているエクステントA2:Ext1が検出され(ステップS33,S37,S38)、図15に示すように、FTCソート結果キュー44からスケジューリング結果キュー46に移動される(ステップS39)。
【0139】
そして、エクステントA2:Ext1が、FTCソート結果キュー44からスケジューリング結果キュー46に移動されることにより、スケジュールウインドウ内に存在するエクステントは、図16に示すように、1つのエクステントV1:Ext1だけとなる。
【0140】
さらに、上述のように、スケジューリング結果キュー46は空ではなくなっており、また、スケジューリング結果キュー46の最後尾のエクステントは、末尾LBNが105のエクステントA2:Ext1となっている。そして、スケジュールウインドウ内に存在する1つのエクステントV1:Ext1の先頭LBNは、上述したように106であり、スケジューリング結果キュー46の最後尾に記憶されているエクステントA2:Ext1の末尾LBNである105よりも大である。
【0141】
従って、スケジュールウインドウに存在するエクステントV1:Ext1は、スケジューリング結果キュー46の最後尾に記憶されたエクステントA2:Ext1の末尾LBNである105から昇順方向に最も近い106を先頭LBNとして有するエクステントとして検出され(ステップS37,S38)、図16に示すように、FTCソート結果キュー44からスケジューリング結果キュー46に移動される(ステップS39)。
【0142】
さらに、いまの場合、FTCソート結果キュー44からスケジューリング結果キュー46に移動されたエクステントV1:Ext1は、スケジュールウインドウの先頭に存在するエクステントであり(ステップS36)、さらに、FTCソート結果キュー44には、まだ、エクステントA1:Ext2,A2:Ext2,V1:Ext2,V1:Ext3,A1:Ext3,A2:Ext3(の配置情報)が記憶されているから、スケジュールウインドウが設定し直される(ステップS32)。
【0143】
即ち、いまの場合、FTCソート結果キュー44の先頭には、末尾FTCが130のエクステントA1:Ext2が記憶されている。従って、図17に示すように、FTCソート結果キュー44の先頭のエクステントA1:Ext2から、末尾FTCが、FTCソート結果キュー44の先頭のエクステントA1:Ext2の末尾FTC(130)にウインドウ長WPである30フレームを加算した値(160)以下の最大値である140となっているエクステントV2:Ext2)までの3つのエクステントA1:Ext2,A2:Ext2,V1:Ext2の範囲に、スケジュールウインドウが設定し直される(ステップS32)。
【0144】
さらに、いまの場合、上述のように、スケジューリング結果キュー46は空ではなくなっており、また、スケジューリング結果キュー46の最後尾のエクステントは、末尾LBNが115のエクステントV1:Ext1となっている。そして、スケジュールウインドウ内に存在する3つのエクステントA1:Ext2,A2:Ext2,V1:Ext2の先頭LBNは、それぞれ、116,119,122であり、いずれも、スケジューリング結果キュー46の最後尾に記憶されているエクステントV1:Ext1の末尾LBNである115よりも大である。
【0145】
従って、スケジュールウインドウに存在する3つのエクステントA1:Ext2,A2:Ext2,V1:Ext2のうち、スケジューリング結果キュー46の最後尾に記憶されたエクステントV1:Ext1の末尾LBNである115から昇順方向に最も近い116を先頭LBNとして有するエクステントA1:Ext2が検出され(ステップS37,S38)、図17に示すように、FTCソート結果キュー44からスケジューリング結果キュー46に移動される(ステップS39)。
【0146】
また、いまの場合、FTCソート結果キュー44からスケジューリング結果キュー46に移動されたエクステントA1:Ext2は、スケジュールウインドウの先頭のエクステントであり(ステップS36)、さらに、FTCソート結果キュー44には、まだ、エクステントA2:Ext2,V1:Ext2,V1:Ext3,A1:Ext3,A2:Ext3(の配置情報)が記憶されているから、スケジュールウインドウが設定し直される(ステップS32)。
【0147】
以下、同様にして、エクステント(の配置情報)が、FTCソート結果キュー44からスケジューリング結果キュー46に移動され、最終的には、図18に示すようなスケジューリング結果が得られる。なお、図18のスケジューリング結果は、エクステントA1:Ext1,A2:Ext1,V1:Ext1,A1:Ext2,A2:Ext2,V1:Ext2,A1:Ext3,A2:Ext3,V1:Ext3の順で読み出しを行うものとなっている。
【0148】
以上のように、光ディスク3に記録されているエクステントを、そのエクステントの再生時刻に基づいてソートし、そのソート後のエクステントを、そのエクステントの光ディスク3における記録位置に基づいてソートし、そのソート結果を、光ディスク3からエクステントを読み出す読み出し順のスケジューリング結果とするようにしたので、光ディスク3からのエクステントの読み出しを、その再生が途切れることを防止しながら効率的に行うことが可能となる。
【0149】
なお、上述の場合には、スケジュールウインドウの先頭のエクステントが、FTCソート結果キュー44からスケジューリング結果キュー46に移動された場合に、スケジュールウインドウの再設定を行うようにしたが、スケジュールウインドウの再設定は、その他、例えば、エクステントが、FTCソート結果キュー44からスケジューリング結果キュー46に移動されるたびに行ったり、また、一度設定されたスケジュールウインドウ内のすべてのエクステントが、FTCソート結果キュー44からスケジューリング結果キュー46に移動された場合に行ったりするようにすることが可能である。
【0150】
さらに、上述の場合には、FTCソート部43において、末尾FTCに基づいて、エクステントの配置情報をソートするようにしたが、その他、FTCソート部43では、エクステントの最初のデータが再生されるべき再生時刻を表すFTCを、先頭FTCというものとして、エクステントの配置情報を、例えば、そのエクステントの先頭FTCに基づいてソートするようにすることが可能である。
【0151】
即ち、この場合、配置情報取得部41では、エクステントの配置情報の1つとして、末尾FTCに代えて、先頭FTCを求めるようにする。そして、例えば、図9に示した9個のエクステントV1:Ext1,V1:Ext2,V1:Ext3,A1:Ext1,A1:Ext2,A1:Ext3,A2:Ext1,A2:Ext2,A2:Ext3の先頭FTCが、例えば、それぞれ、010,060,140,010,050,130,010,050,130であった場合には、FTCソート部43において、エクステントの配置情報が、そのエクステントの先頭FTCに基づいてソートされることにより、例えば、図19に示すように、エクステントV1:Ext1,A1:Ext1,A2:Ext1,A1:Ext2,A2:Ext2,V1:Ext2,A1:Ext3,A2:Ext3,V1:Ext3の順で、FTCソート結果キュー44に記憶される。
【0152】
ここで、図19では、エクステントの配置情報を表す四角形の中の1段目に、図7における場合と同様に、そのエクステントのファイル名とエクステント番号とがコロン(:)で区切られて表されている。さらに、図19では、エクステントの配置情報を表す四角形の中の2段目の左端と右端に、それぞれ、やはり、図7における場合と同様に、そのエクステントが記録されている光ディスク3の先頭LBNと末尾LBNが表されている。また、図19では、エクステントの配置情報を表す四角形の中の3段目の左端に、そのエクステントの先頭のデータが再生されるべき再生時刻を表す先頭FTCが、括弧()付きで表されている。
【0153】
例えば、図19に示したFTCソート結果が、FTCソート結果キュー44に記憶され、そのFTCソート結果キュー44の先頭のエクステントV1:Ext1から、エクステントA2:Ext1までの3つのエクステントV1:Ext1,A1:Ext1,A2:Ext1に、スケジュールウインドウが設定された場合において、末尾LBNが160のエクステントが、既に、スケジューリング結果キュー46に記憶されているときには、LBNスケジューリング部45は、図20に示すように、エクステントA1:Ext1を、FTCソート結果キュー44から、スケジューリング結果キュー46の最後尾に移動する。
【0154】
即ち、図20のケースは、スケジューリング結果キュー46が空ではなく(ステップS33→S37)、さらに、スケジュールウインドウの中に、スケジューリング結果キュー46の最後尾のエクステントの末尾LBNであある160よりも大きな先頭LBNを有するエクステントが存在しないので(ステップS37→S34)、スケジュールウインドウに存在する3つのエクステントV1:Ext1,A1:Ext1,A2:Ext1の中から、先頭LBNが100で最小のエクステントA1:Ext1が検出され(ステップS34)、FTCソート結果キュー44から、スケジューリング結果キュー46の最後尾に移動される(ステップS35)。
【0155】
なお、本発明は、光ディスク以外の、例えば、磁気ディスクなどの記録媒体にも適用可能である。
【0156】
また、本実施の形態では、ビデオデータとオーディオデータとが記録された光ディスク3からのデータの読み出しのスケジューリングを行うようにしたが、本発明は、その他、例えば、ビデオデータまたはオーディオデータのうちのいずれか一方や、ビデオデータおよびオーディオデータ以外のデータ、ビデオデータおよびオーディオデータの他に、さらに任意のデータが記録された光ディスク3からのデータの再生にも適用可能である。
【0157】
【発明の効果】
以上の如く、本発明によれば、記録媒体からのデータの読み出しを、再生が途切れることを防止しながら効率的に行うことが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した記録再生システムの一実施の形態の構成例を示すブロック図である。
【図2】コンピュータ1のハードウェア構成例を示すブロック図である。
【図3】コンピュータ1上で実行されるソフトウェアを示す図である。
【図4】光ディスク3に記録されるデータの論理フォーマットを示す図である。
【図5】再生スケジューラ37の機能的構成例を示すブロック図である。
【図6】読み出しスケジューリング処理を説明するフローチャートである。
【図7】光ディスク3におけるデータの論理的な記録状態を示す図である。
【図8】配置情報取得処理を説明するフローチャートである。
【図9】配置情報取得処理によって取得される配置情報を示す図である。
【図10】 FTCソート処理を説明するフローチャートである。
【図11】 FTCソート処理によるエクステント(の配置情報)のソート結果を示す図である。
【図12】 LBNスケジューリング処理を説明するフローチャートである。
【図13】スケジューリングウインドウを説明する図である。
【図14】 FTCソート結果キュー44からスケジューリング結果キュー46に、エクステントが移動される様子を示す図である。
【図15】 FTCソート結果キュー44からスケジューリング結果キュー46に、エクステントが移動される様子を示す図である。
【図16】 FTCソート結果キュー44からスケジューリング結果キュー46に、エクステントが移動される様子を示す図である。
【図17】 FTCソート結果キュー44からスケジューリング結果キュー46に、エクステントが移動される様子を示す図である。
【図18】 LBNスケジューリング処理によるエクステント(の配置情報)のソート結果を示す図である。
【図19】先頭FTCに基づくFTCソート処理によるエクステント(の配置情報)のソート結果を示す図である。
【図20】 FTCソート結果キュー44からスケジューリング結果キュー46に、エクステントが移動される様子を示す図である。
【符号の説明】
1 コンピュータ, 2 ドライブ, 3 光ディスク, 4 信号入出力装置, 11 CPU, 12 ROM, 13 メモリコントローラ, 14 RAM,15 HD, 16 入力部, 17 出力部, 18 通信I/F, 19 I/Fコントローラ, 20 データ変換部, 31 OS, 32 デバイスドライバ, 33 ファイルシステムドライバ, 34 アプリケーションプログラム,35 アロケーションマネージャ, 36 記録スケジューラ, 37 再生スケジューラ, 41 配置情報取得部, 42 配置情報バッファ, 43 FTCソート部, 44 FTCソート結果キュー, 45 LBNスケジューリング部, 46 スケジューリング結果キュー, 47 読み出し制御部
Claims (6)
- 記録媒体からある再生時間単位でなるデータを読み出す読み出し順をスケジューリングする情報処理装置において、
前記記録媒体に記録されているデータのうちの、まだ、第1のキューに移動されていないデータから、再生時刻が最も早いデータを検出する第1の検出手段と、
前記第1の検出手段において検出された前記データを、前記第1のキューに移動する第1の移動手段と、
前記記録媒体における記録位置に基づくソートの対象とする前記第1のキューに記憶されたデータの範囲であるスケジュールウインドウを設定する設定手段と、
前記記録媒体における記録位置に基づいて、前記スケジュールウインドウ内に存在する前記データの中から、第2のキューに移動するものを検出する第2の検出手段と、
前記第2の検出手段において検出された前記データを、前記第2のキューに移動する第2の移動手段と、
前記第2のキューが空であるかどうかを判定する第1の判定手段と、
前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているものが存在しないかどうかを判定する第2の判定手段と
を備え、
前記第2の検出手段は、
前記第2のキューが空である場合、前記スケジュールウインドウ内に存在する前記データの中から、前記記録媒体における記録位置が最も先のものを検出し、
前記第2のキューが空でない場合において、前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているものが存在しないとき、前記スケジュールウインドウ内に存在する前記データの中から、前記記録媒体における記録位置が最も先のものを検出し、
前記第2のキューが空でない場合において、前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているものが存在するとき、前記スケジュールウインドウ内に存在する前記データの中から、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているデータであって、その記録位置に最も近いものを検出する
ことを特徴とする情報処理装置。 - 前記記録媒体には、ビデオデータまたはオーディオデータのうちの一方または両方が、所定の単位ごとに記録されている
ことを特徴とする請求項1に記載の情報処理装置。 - 前記記録媒体には、所定の単位ごとのビデオデータとオーディオデータとが交互に記録されている
ことを特徴とする請求項2に記載の情報処理装置。 - 前記第2のキューに移動された前記データが、前記スケジュールウインドウ内の先頭に位置していたかどうかを判定する第3の判定手段をさらに備え、
前記設定手段は、前記第2のキューに移動された前記データが、前記スケジュールウインドウ内の先頭に位置していた場合、前記スケジュールウインドウを設定し直す
ことを特徴とする請求項1に記載の情報処理装置。 - 記録媒体からある再生時間単位でなるデータを読み出す読み出し順をスケジューリングする情報処理方法において、
前記記録媒体に記録されているデータのうちの、まだ、第1のキューに移動されていないデータから、再生時刻が最も早いデータを検出する第1の検出ステップと、
前記第1の検出ステップにおいて検出された前記データを、前記第1のキューに移動する第1の移動ステップと、
前記記録媒体における記録位置に基づくソートの対象とする前記第1のキューに記憶さ れたデータの範囲であるスケジュールウインドウを設定する設定ステップと、
前記記録媒体における記録位置に基づいて、前記スケジュールウインドウ内に存在する前記データの中から、第2のキューに移動するものを検出する第2の検出ステップと、
前記第2の検出ステップにおいて検出された前記データを、前記第2のキューに移動する第2の移動ステップと、
前記第2のキューが空であるかどうかを判定する第1の判定ステップと、
前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているものが存在しないかどうかを判定する第2の判定ステップと
を備え、
前記第2の検出ステップにおいて、
前記第2のキューが空である場合、前記スケジュールウインドウ内に存在する前記データの中から、前記記録媒体における記録位置が最も先のものが検出され、
前記第2のキューが空でない場合において、前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているものが存在しないとき、前記スケジュールウインドウ内に存在する前記データの中から、前記記録媒体における記録位置が最も先のものが検出され、
前記第2のキューが空でない場合において、前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているものが存在するとき、前記スケジュールウインドウ内に存在する前記データの中から、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているデータであって、その記録位置に最も近いものが検出される
ことを特徴とする情報処理方法。 - 記録媒体からある再生時間単位でなるデータを読み出す読み出し順をスケジューリングする情報処理を、コンピュータに行わせるプログラムにおいて、
前記記録媒体に記録されているデータのうちの、まだ、第1のキューに移動されていないデータから、再生時刻が最も早いデータを検出する第1の検出ステップと、
前記第1の検出ステップにおいて検出された前記データを、前記第1のキューに移動する第1の移動ステップと、
前記記録媒体における記録位置に基づくソートの対象とする前記第1のキューに記憶されたデータの範囲であるスケジュールウインドウを設定する設定ステップと、
前記記録媒体における記録位置に基づいて、前記スケジュールウインドウ内に存在する前記データの中から、第2のキューに移動するものを検出する第2の検出ステップと、
前記第2の検出ステップにおいて検出された前記データを、前記第2のキューに移動する第2の移動ステップと、
前記第2のキューが空であるかどうかを判定する第1の判定ステップと、
前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているものが存在しないかどうかを判定する第2の判定ステップと
を備え、
前記第2の検出ステップにおいて、
前記第2のキューが空である場合、前記スケジュールウインドウ内に存在する前記データの中から、前記記録媒体における記録位置が最も先のものが検出され、
前記第2のキューが空でない場合において、前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているものが存在しないとき、前記スケジュールウインドウ内に存在する前記データの中から、前記記録媒体における記録位置が最も先のものが検出され、
前記第2のキューが空でない場合において、前記スケジュールウインドウ内に存在する前記データの中に、前記第2のキューの最後尾のデータの前記記録媒体における記録位 置よりも後に記録されているものが存在するとき、前記スケジュールウインドウ内に存在する前記データの中から、前記第2のキューの最後尾のデータの前記記録媒体における記録位置よりも後に記録されているデータであって、その記録位置に最も近いものが検出される
ことを特徴とするプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002320844A JP3821290B2 (ja) | 2002-11-05 | 2002-11-05 | 情報処理装置および情報処理方法、並びにプログラム |
US10/699,980 US7366399B2 (en) | 2002-11-05 | 2003-11-03 | Information processing apparatus and information processing method, and program used therewith |
EP03256948A EP1418496A3 (en) | 2002-11-05 | 2003-11-04 | Information processing apparatus and information processing method, and program used therewith |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002320844A JP3821290B2 (ja) | 2002-11-05 | 2002-11-05 | 情報処理装置および情報処理方法、並びにプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004158072A JP2004158072A (ja) | 2004-06-03 |
JP2004158072A5 JP2004158072A5 (ja) | 2006-03-16 |
JP3821290B2 true JP3821290B2 (ja) | 2006-09-13 |
Family
ID=32105413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002320844A Expired - Lifetime JP3821290B2 (ja) | 2002-11-05 | 2002-11-05 | 情報処理装置および情報処理方法、並びにプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7366399B2 (ja) |
EP (1) | EP1418496A3 (ja) |
JP (1) | JP3821290B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4623176B2 (ja) | 2008-09-17 | 2011-02-02 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
JP6015752B2 (ja) * | 2012-05-25 | 2016-10-26 | 富士通株式会社 | 情報処理装置、情報処理プログラム、およびアクセス制御方法 |
US9461899B2 (en) * | 2012-12-03 | 2016-10-04 | Sony Corporation | Communication control device, program, and communication control method |
CN105867836A (zh) * | 2015-01-23 | 2016-08-17 | 中兴通讯股份有限公司 | 存储管理方法、装置及流媒体系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04362585A (ja) | 1991-06-10 | 1992-12-15 | Fujitsu Ltd | ディスク媒体のデータ読出方式 |
JP3840700B2 (ja) | 1996-08-05 | 2006-11-01 | ソニー株式会社 | 編集装置および記憶装置ならびに編集装置における編集方法 |
JPH10233059A (ja) | 1997-02-19 | 1998-09-02 | Sony Corp | 画像データ記録・再生装置およびその方法 |
JP3376314B2 (ja) * | 1999-05-12 | 2003-02-10 | 株式会社東芝 | デジタル映像情報媒体、デジタル映像情報記録再生装置およびデジタル映像情報処理方法 |
JP4117608B2 (ja) * | 2002-12-03 | 2008-07-16 | ソニー株式会社 | 記録制御装置および記録制御方法、並びにプログラム |
-
2002
- 2002-11-05 JP JP2002320844A patent/JP3821290B2/ja not_active Expired - Lifetime
-
2003
- 2003-11-03 US US10/699,980 patent/US7366399B2/en not_active Expired - Fee Related
- 2003-11-04 EP EP03256948A patent/EP1418496A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1418496A3 (en) | 2007-08-08 |
EP1418496A2 (en) | 2004-05-12 |
JP2004158072A (ja) | 2004-06-03 |
US20040091238A1 (en) | 2004-05-13 |
US7366399B2 (en) | 2008-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6353704B1 (en) | Optical disc recording apparatus, computer-readable recording medium recording a file management program, and optical disc | |
US20110026386A1 (en) | Optical disc recording apparatus, computer-readable recording medium recording a file management program, and optical disc | |
US20070003225A1 (en) | Method and apparatus for recording information and playback information | |
US7224649B2 (en) | Information recording and reproduction apparatus, information recording and reproduction method, and broadcast receiving apparatus | |
JP3821290B2 (ja) | 情報処理装置および情報処理方法、並びにプログラム | |
CN1722280A (zh) | 光盘、光盘记录方法和光盘记录设备 | |
US7697823B2 (en) | Recording control apparatus, recording control method, and program used therewith | |
US20040225863A1 (en) | Data processor, data processing method, program for data processor, and program recording medium | |
JP3795382B2 (ja) | 情報記録装置および方法ならびに情報再生装置および方法 | |
US20060285828A1 (en) | Video recording apparatus and video recording method | |
US7356661B2 (en) | Control of information reproduction and deletion in a library apparatus | |
JP4174696B2 (ja) | 記録装置および方法、並びに記録媒体 | |
JP4627728B2 (ja) | 制御装置、制御方法、記録装置および記録方法 | |
US20080008449A1 (en) | Data recording method and data recording device | |
JP3933167B2 (ja) | データ記録方法、データ記録装置及び撮像装置 | |
JP3975586B2 (ja) | 記録再生装置および方法、並びにプログラム記録媒体 | |
JP2006172656A (ja) | 記録装置及び記録方法 | |
JP2003018527A (ja) | 録画再生装置、コンピュータ読取可能な記録媒体、及びプログラム。 | |
JP2011138574A (ja) | 情報記録再生装置 | |
KR20070049104A (ko) | 정보 기록 장치, 정보 기록 방법, 정보 기록 프로그램, 및기록 매체 | |
JP2003091939A (ja) | 情報処理装置及び情報処理方法 | |
JP2005174397A (ja) | 情報記録装置と情報記録方法とプログラム | |
JP2002108661A (ja) | 音声情報処理装置及び方法 | |
JP2009110598A (ja) | 記録装置及び記録方法 | |
JP2007080507A (ja) | データ記録方法、データ記録装置及び撮像装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060417 |
|
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: 20060601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060614 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100630 Year of fee payment: 4 |