(57)【特許請求の範囲】
【請求項１】
時間的に連続する１つのコンテンツの途中の所定の長さの期間の部分であって、任意の複数の部分のデータを記録している第１の記録媒体と、
前記コンテンツの全体のデータを記録している第２の記録媒体と、
前記コンテンツのデータの読み出しが要求された場合、前記第１の記録媒体に記録されている、いずれかの部分のデータを読み出し、前記第１の記録媒体から読み出すデータに続くデータを前記第２の記録媒体から読み出すように、前記第１の記録媒体および前記第２の記録媒体からのデータの読み出しを制御する読み出し制御手段と
を備え、
前記任意の複数の部分のデータは、前記１つのコンテンツの途中のどの部分を記録するかを示すヒント情報であって、前記コンテンツの盛り上がりシーンを示す情報、前記コンテンツの開始からの経過時間を示すインデックス情報、または重要シーンを示す情報のいずれかに分類されたヒント情報を基に前記第１の記録媒体に記録され、
前記コンテンツの盛り上がりシーンを示す情報、前記インデックス情報、および前記重要シーンを示す情報それぞれには前記第１の記録媒体に記録される場合の優先順位が設定されている
ことを特徴とする記録再生装置。
【請求項２】
１つの前記コンテンツの全体のデータは、複数の前記第２の記録媒体のうちのいずれかに記録され、
装着された前記第２の記録媒体からデータを読み出す読み出し手段と、
前記読み出し手段に前記第２の記録媒体を装着させる装着手段と、
前記第１の記録媒体からデータが読み出されている期間において、複数の前記第２の記録媒体のうちの、前記第１の記録媒体から読み出されるデータに続くデータを記録している前記第２の記録媒体を前記読み出し手段に装着させるように前記装着手段を制御する装着制御手段と
をさらに備えることを特徴とする請求項１に記載の記録再生装置。
【請求項３】
使用者による操作に応じた、複数の部分のうちの、データの読み出しを開始する１つの部分の指定を受け付ける受付手段をさらに備え、
前記読み出し制御手段は、前記第１の記録媒体に記録されている、指定された部分のデータを読み出し、前記第１の記録媒体から読み出されるデータに続くデータを前記第２の記録媒体から読み出すように、前記第１の記録媒体および前記第２の記録媒体からのデータの読み出しを制御する
ことを特徴とする請求項１に記載の記録再生装置。
【請求項４】
前記読み出し制御手段は、前記第１の記録媒体から読み出されるデータに続くデータであって、前記第１の記録媒体に記録されていないデータを前記第２の記録媒体から読み出すように、前記第２の記録媒体からのデータの読み出しを制御する
ことを特徴とする請求項１に記載の記録再生装置。
【請求項５】
前記読み出し制御手段は、前記第２の記録媒体から、通常の読み出しに比較して速い読み出し速度でデータを読み出すように、前記第２の記録媒体からのデータの読み出しを制御する
ことを特徴とする請求項１に記載の記録再生装置。
【請求項６】
前記読み出し制御手段は、前記第１の記録媒体に予め記録されている部分のデータに続く、前記第２の記録媒体から読み出されたデータを、それぞれの部分のデータに続くように前記第１の記録媒体に記録させてから、部分のデータおよび部分のデータに続くデータを前記第１の記録媒体から読み出すように、前記第１の記録媒体からのデータの読み出しを制御する
ことを特徴とする請求項１に記載の記録再生装置。
【請求項７】
前記読み出し制御手段は、前記第１の記録媒体に予め記録されていないデータであって、前記第２の記録媒体から読み出されたデータを前記第１の記録媒体に記録させる
ことを特徴とする請求項６に記載の記録再生装置。
【請求項８】
前記読み出し制御手段は、前記コンテンツのデータの読み出しが要求された場合、前記第２の記録媒体から読み出されたデータを基に、前記第１の記録媒体に前記コンテンツの全体のデータを記録させる
ことを特徴とする請求項６に記載の記録再生装置。
【請求項９】
前記任意の複数の部分のデータの前記第１の記録媒体への記録および前記コンテンツの全体のデータの第２の記録媒体への記録を制御する記録制御手段をさらに備える
ことを特徴とする請求項１に記載の記録再生装置。
【請求項１０】
時間的に連続する１つのコンテンツの途中の所定の長さの期間の部分であって、任意の複数の部分のデータを記録している第１の記録媒体と、前記コンテンツの全体のデータを記録している第２の記録媒体からデータを読み出す記録再生装置の記録再生方法において、
前記コンテンツのデータの読み出しが要求された場合、前記第１の記録媒体に記録されている、いずれかの部分のデータを読み出すように前記第１の記録媒体からのデータの読み出しを制御する第１の制御ステップと、
前記第１の記録媒体から読み出すデータに続くデータを前記第２の記録媒体から読み出すように、前記第２の記録媒体からのデータの読み出しを制御する第２の制御ステップと
を含み、
前記任意の複数の部分のデータは、前記１つのコンテンツの途中のどの部分を記録するかを示すヒント情報であって、前記コンテンツの盛り上がりシーンを示す情報、前記コンテンツの開始からの経過時間を示すインデックス情報、または重要シーンを示す情報のいずれかに分類されたヒント情報を基に前記第１の記録媒体に記録され、
前記コンテンツの盛り上がりシーンを示す情報、前記インデックス情報、および前記重要シーンを示す情報それぞれには前記第１の記録媒体に記録される場合の優先順位が設定されている
ことを特徴とする記録再生方法。
【請求項１１】
時間的に連続する１つのコンテンツの途中の所定の長さの期間の部分であって、任意の複数の部分のデータを記録している第１の記録媒体と、前記コンテンツの全体のデータを記録している第２の記録媒体からデータを読み出す記録再生装置のコンピュータに、
前記コンテンツのデータの読み出しが要求された場合、前記第１の記録媒体に記録されている、いずれかの部分のデータを読み出すように前記第１の記録媒体からのデータの読み出しを制御する第１の制御ステップと、
前記第１の記録媒体から読み出すデータに続くデータを前記第２の記録媒体から読み出すように、前記第２の記録媒体からのデータの読み出しを制御する第２の制御ステップと
を含み、
前記任意の複数の部分のデータは、前記１つのコンテンツの途中のどの部分を記録するかを示すヒント情報であって、前記コンテンツの盛り上がりシーンを示す情報、前記コンテンツの開始からの経過時間を示すインデックス情報、または重要シーンを示す情報のいずれかに分類されたヒント情報を基に前記第１の記録媒体に記録され、
前記コンテンツの盛り上がりシーンを示す情報、前記インデックス情報、および前記重要シーンを示す情報それぞれには前記第１の記録媒体に記録される場合の優先順位が設定されている
処理を実行させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムが記録されているプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は読み出し装置および方法、プログラム並びにプログラム記録媒体に関し、特に、コンテンツを読み出す読み出し装置および方法、プログラム並びにプログラム記録媒体に関する。
【背景技術】
【０００２】
複数の記録媒体に、コンテンツのデータを記録し、記録媒体のドライブへの装着を自動化することで、多量のコンテンツを簡単に取り扱えるようにした記録再生システムがある。
【０００３】
図１は、従来の記録再生システムの構成を示すブロック図である。ビデオ／オーディオエンコーダ１１は、入力された入力画像信号に対応したベースバンドの画像データをMPEG（Moving Pictures Experts Group）方式で符号化する。また、ビデオ／オーディオエンコーダ１１は、入力された音声信号（図示せず）に対応したベースバンドの音声データをMPEG方式で符号化する。ビデオ／オーディオエンコーダ１１は、符号化により得られたデータをストリームエンコーダ１２に供給する。
【０００４】
ストリームエンコーダ１２は、ビデオ／オーディオエンコーダ１１から供給された、符号化されているデータを多重化して、MPEGトランスポートストリーム方式またはMPEGプログラムストリーム方式のストリームに変換し、変換により得られたストリームをライトバッファ１３に供給する。
【０００５】
ライトバッファ１３は、ストリームエンコーダ１２から供給されたストリーム（データ）を一時的に記憶して、記憶しているストリーム（データ）をドライブ１４に供給する。
【０００６】
ドライブ１４は、装着されている光ディスク１５に、ライトバッファ１３から供給されたデータをファイルとして記録する。
【０００７】
ジュークシステム１６は、ドライブ１４への光ディスク１５の着脱を制御する。ジュークシステム１６は、複数の光ディスク１５のそれぞれを格納するディスクスロット１７からいずれかの光ディスク１５をピッカー１８に選択させる。ピッカー１８は、ジュークシステム１６の制御の基に、選択した光ディスク１５を搬送し、ドライブ１４に装着させる。また、ピッカー１８は、ジュークシステム１６の制御の基に、ドライブ１４から取り出された光ディスク１５を搬送して、いずれかのディスクスロット１７に格納させる。すなわち、ジュークシステム１６は、ピッカー１８を制御する。
【０００８】
また、ドライブ１４は、装着されている光ディスク１５からファイルとして記録されているデータを読み出して、読み出したデータをリードバッファ１９に供給する。リードバッファ１９は、半導体メモリまたはハードディスクからなり、ドライブ１４から供給されたデータ（ストリーム）を一時的に記憶する。リードバッファ１９は、読み出しジッタを吸収し、データレートを一定となるように平坦化して、記憶しているデータ（ストリーム）をストリームデコーダ２０に供給する。
【０００９】
ストリームデコーダ２０は、MPEGトランスポートストリーム方式またはMPEGプログラムストリーム方式のストリームを、画像データおよび音声データに分離して、分離した画像データおよび音声データをビデオ／オーディオデコーダ２１に供給する。
【００１０】
ビデオ／オーディオデコーダ２１は、符号化されている画像データおよび音声データを、いわゆるベースバンドの画像データおよび音声データに復号する。また、ビデオ／オーディオデコーダ２１は、復号により得られたベースバンドの画像データおよび音声データを基にした、出力画像信号および音声信号（図示せず）をモニタ２２に供給する。モニタ２２は、出力画像信号を基にして、画像を表示すると共に、供給された音声信号を基にして、音声を出力する。
【００１１】
ここで、図２を参照して、再生の処理を説明する。時刻t0において、使用者から再生が要求されると、再生が要求されたコンテンツのデータを記録している光ディスク１５が、ピッカー１８によって、ディスクスロット１７からドライブ１４に搬送されて、時刻t1において、ドライブ１４に装着（マウント）される。
【００１２】
時刻t2において、ドライブ１４による、装着された光ディスク１５に記録されているデータの読み出しが開始され、リードバッファ１９に記憶される。そして、時刻t3において、リードバッファ１９に、所定のデータ量のデータが溜まった場合、リードバッファ１９に記憶されたデータがストリームデコーダ２０に読み出される。そして、ビデオ／オーディオデコーダ２１は、画像データおよび音声データを復号して、復号により得られた画像データおよび音声データに応じた出力画像信号および音声信号をモニタ２２に供給する。時刻t4において、モニタ２２は、出力画像信号および音声信号を基にして、画像を表示し、音声を出力する。
【００１３】
時刻t0において、使用者から再生が要求されてから、時刻t4において、モニタ２２に画像が表示されるまで、ディスクスロット１７に格納されている光ディスク１５が、ドライブ１４に装着されて、装着された光ディスク１５から画像データが読み出されるに必要な時間に相当するタイムラグが発生する。このタイムラグは、記録再生システムの構成にもよるが、２０秒から３０秒程度である。
【００１４】
このタイムラグは、再生を要求するたびに毎回発生するので、使用者は、これにより、非常に大きなストレスを感じることになり、この点は、操作感という観点から大きな問題である。
【００１５】
従来、第１の記録媒体に映像及び又は音声信号を記録又は再生する記録再生手段と、第１の記録媒体に比してアクセス時間が短く、第１の記録媒体に所望の映像及び又は音声信号を記録又は再生する際、当該映像及び又は音声信号の開始部分から所定時間までの信号を記録又は再生する第２の記録媒体と、記録再生手段及び上記第２の記録媒体を制御する制御手段とを設けた映像記録再生装置がある（例えば、特許文献１参照）。
【００１６】
【特許文献１】特開平９−１６１４６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、コンテンツの再生をコンテンツの途中から開始する場合にも、同様のタイムラグが発生する。
【００１８】
本発明はこのような状況に鑑みてなされたものであり、任意の部分を読み出そうとする場合の、待ち時間の発生をより少なくすることができるようにするものである。
【課題を解決するための手段】
【００１９】
本発明の第１の側面は、時間的に連続するコンテンツにおける所定の長さの期間の部分であって、任意の複数の部分のデータを記録している第１の記録媒体と、コンテンツの全体のデータを記録している第２の記録媒体と、コンテンツのデータの読み出しが要求された場合、第１の記録媒体に記録されている、いずれかの部分のデータを読み出し、第１の記録媒体から読み出すデータに続くデータを第２の記録媒体から読み出すように、第１の記録媒体および第２の記録媒体からのデータの読み出しを制御する読み出し制御手段とを備え、任意の複数の部分のデータは、１つのコンテンツの途中のどの部分を記録するかを示すヒント情報であって、コンテンツの盛り上がりシーンを示す情報、コンテンツの開始からの経過時間を示すインデックス情報、または重要シーンを示す情報のいずれかに分類されたヒント情報を基に第１の記録媒体に記録され、コンテンツの盛り上がりシーンを示す情報、インデックス情報、および重要シーンを示す情報それぞれには第１の記録媒体に記録される場合の優先順位が設定されていることを特徴とする記録再生装置である。
【００２０】
本発明の第１の側面においては、第１の記録媒体に、時間的に連続するコンテンツにおける所定の長さの期間の部分であって、任意の複数の部分のデータが記録され、第２の記録媒体に、コンテンツの全体のデータが記録され、コンテンツのデータの読み出しが要求された場合、第１の記録媒体に記録されている、いずれかの部分のデータを読み出し、第１の記録媒体から読み出すデータに続くデータを第２の記録媒体から読み出すように、第１の記録媒体および第２の記録媒体からのデータの読み出しが制御される。この任意の複数の部分のデータは、１つのコンテンツの途中のどの部分を記録するかを示すヒント情報であって、コンテンツの盛り上がりシーンを示す情報、コンテンツの開始からの経過時間を示すインデックス情報、または重要シーンを示す情報のいずれかに分類されたヒント情報を基に第１の記録媒体に記録され、コンテンツの盛り上がりシーンを示す情報、インデックス情報、および重要シーンを示す情報それぞれには第１の記録媒体に記録される場合の優先順位が設定されている。
【００２１】
１つのコンテンツの全体のデータは、複数の第２の記録媒体のうちのいずれかに記録され、装着された第２の記録媒体からデータを読み出す読み出し手段と、読み出し手段に第２の記録媒体を装着させる装着手段と、第１の記録媒体からデータが読み出されている期間において、複数の第２の記録媒体のうちの、第１の記録媒体から読み出されるデータに続くデータを記録している第２の記録媒体を読み出し手段に装着させるように装着手段を制御する装着制御手段とをさらに設けることができる。
【００２２】
使用者による操作に応じた、複数の部分のうちの、データの読み出しを開始する１つの部分の指定を受け付ける受付手段をさらに設け、読み出し制御手段は、第１の記録媒体に記録されている、指定された部分のデータを読み出し、第１の記録媒体から読み出されるデータに続くデータを第２の記録媒体から読み出すように、第１の記録媒体および第２の記録媒体からのデータの読み出しを制御するようにすることができる。
【００２３】
読み出し制御手段は、第１の記録媒体から読み出されるデータに続くデータであって、第１の記録媒体に記録されていないデータを第２の記録媒体から読み出すように、第２の記録媒体からのデータの読み出しを制御するようにすることができる。
【００２４】
読み出し制御手段は、第２の記録媒体から、通常の読み出しに比較して速い読み出し速度でデータを読み出すように、第２の記録媒体からのデータの読み出しを制御するようにすることができる。
【００２５】
読み出し制御手段は、第１の記録媒体に予め記録されている部分のデータに続く、第２の記録媒体から読み出されたデータを、それぞれの部分のデータに続くように第１の記録媒体に記録させてから、部分のデータおよび部分のデータに続くデータを第１の記録媒体から読み出すように、第１の記録媒体からのデータの読み出しを制御するようにすることができる。
【００２６】
読み出し制御手段は、第１の記録媒体に予め記録されていないデータであって、第２の記録媒体から読み出されたデータを第１の記録媒体に記録させるようにすることができる。
【００２７】
読み出し制御手段は、コンテンツのデータの読み出しが要求された場合、第２の記録媒体から読み出されたデータを基に、第１の記録媒体にコンテンツの全体のデータを記録させるようにすることができる。
ヒント情報は、コンテンツの盛り上がりシーン区間の先頭位置とすることができる。
任意の複数の部分のデータの第１の記録媒体への記録およびコンテンツの全体のデータの第２の記録媒体への記録を制御する記録制御手段をさらに設けることができる。
【発明の効果】
【００２８】
以上のように、本発明の第１の側面によれば、任意の部分を読み出そうとする場合の、待ち時間の発生をより少なくすることができる。
【発明を実施するための最良の形態】
【００２９】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３０】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００３１】
請求項１に記載の記録再生装置は、時間的に連続するコンテンツにおける所定の長さの期間の部分であって、任意の複数の部分のデータを記録している第１の記録媒体（例えば、図４のHDD１１６）と、コンテンツの全体のデータを記録している第２の記録媒体（例えば、図４の光ディスク１１９）と、コンテンツのデータの読み出しが要求された場合、第１の記録媒体に記録されている、いずれかの部分のデータを読み出し、第１の記録媒体から読み出すデータに続くデータを第２の記録媒体から読み出すように、第１の記録媒体および第２の記録媒体からのデータの読み出しを制御する読み出し制御手段（例えば、図４のHSM１１３）とを備え、任意の複数の部分のデータは、１つのコンテンツの途中のどの部分を記録するかを示すヒント情報であって、コンテンツの盛り上がりシーンを示す情報、コンテンツの開始からの経過時間を示すインデックス情報、または重要シーンを示す情報のいずれかに分類されたヒント情報を基に第１の記録媒体に記録され、コンテンツの盛り上がりシーンを示す情報、インデックス情報、および重要シーンを示す情報それぞれには第１の記録媒体に記録される場合の優先順位が設定されていることを特徴とする。
【００３２】
請求項１１に記載の記録再生方法は、時間的に連続するコンテンツにおける所定の長さの期間の部分であって、任意の複数の部分のデータを記録している第１の記録媒体（例えば、図４のHDD１１６）と、コンテンツの全体のデータを記録している第２の記録媒体（例えば、図４の光ディスク１１９）からデータを読み出す読み出し装置の読み出し方法であって、コンテンツのデータの読み出しが要求された場合、第１の記録媒体に記録されている、いずれかの部分のデータを読み出すように第１の記録媒体からのデータの読み出しを制御する第１の制御ステップ（例えば、図２０のステップＳ１２４）と、第１の記録媒体から読み出すデータに続くデータを第２の記録媒体から読み出すように、第２の記録媒体からのデータの読み出しを制御する第２の制御ステップ（例えば、図２０のステップＳ１２９）とを含み、任意の複数の部分のデータは、１つのコンテンツの途中のどの部分を記録するかを示すヒント情報であって、コンテンツの盛り上がりシーンを示す情報、コンテンツの開始からの経過時間を示すインデックス情報、または重要シーンを示す情報のいずれかに分類されたヒント情報を基に第１の記録媒体に記録され、コンテンツの盛り上がりシーンを示す情報、インデックス情報、および重要シーンを示す情報それぞれには第１の記録媒体に記録される場合の優先順位が設定されていることを特徴とする。
【００３３】
図３は、本発明の一実施の形態の記録再生システム１０１の構成を示すブロック図である。ビデオ／オーディオエンコーダ１１１は、入力された入力画像信号に対応したベースバンドの画像データをMPEG方式で符号化する。また、ビデオ／オーディオエンコーダ１１１は、入力された音声信号（図示せず）に対応したベースバンドの音声データをMPEG方式で符号化する。ビデオ／オーディオエンコーダ１１１は、符号化により得られたデータをストリームエンコーダ１１２に供給する。
【００３４】
ストリームエンコーダ１１２は、ビデオ／オーディオエンコーダ１１１から供給された、符号化されているデータを多重化して、MPEGトランスポートストリーム方式またはMPEGプログラムストリーム方式のストリームに変換し、変換により得られたストリームをHSM１１３に供給する。
【００３５】
HSM１１３は、記録媒体へのコンテンツのデータの階層的な記録を管理する（階層構造の記録媒体へのコンテンツのデータの記録を管理するとも言える）。HSM１１３は、ストレージマネージャ１１４の制御の基に、ストリームエンコーダ１１２から供給されたストリームをバッファ１１５を介してHDD（Hard Disk Drive）１１６に供給する。HDD１１６は、高速な１次ストレージの一例であり、HSM１１３の制御の基に、バッファ１１５を介して、HSM１１３から供給されたストリーム（データ）を記録する。また、HDD１１６は、記録しているストリーム（データ）をバッファ１１５またはバッファ１１７に供給する。
【００３６】
バッファ１１５は、半導体メモリまたはHDD１１６の一部の記録領域からなり、HSM１１３またはHDD１１６から供給されたストリーム（データ）を一時的に記憶して、記憶しているストリーム（データ）をHSM１１３またはHDD１１６に供給する。バッファ１１７は、半導体メモリまたはHDD１１６の一部の記録領域からなり、HDD１１６またはドライブ１１８から供給されたストリーム（データ）を一時的に記憶して、記憶しているストリーム（データ）をHDD１１６またはドライブ１１８に供給する。
【００３７】
バッファ１１５およびバッファ１１７は、読み出しジッタを吸収し、データレートを一定となるように平坦化する。
【００３８】
ドライブ１１８は、装着されている光ディスク１１９に、バッファ１１７から供給されたデータをファイルとして記録する。光ディスク１１９は、低速な２次ストレージの一例であり、例えば、MO（Magneto-Optical disk）、DVD(Digital Versatile Disc)、またはCD(Compact Disc)などである。
【００３９】
ジュークシステム１２０は、ドライブ１１８への光ディスク１１９の着脱を制御する。ジュークシステム１２０は、複数の光ディスク１１９のそれぞれを格納するディスクスロット１２１からいずれかの光ディスク１１９をピッカー１２２に選択させる。ピッカー１２２は、ジュークシステム１２０の制御の基に、選択した光ディスク１１９を搬送し、ドライブ１１８に装着させる。また、ピッカー１２２は、ジュークシステム１２０の制御の基に、ドライブ１１８から取り出された光ディスク１１９を搬送して、いずれかのディスクスロット１２１に格納させる。すなわち、ジュークシステム１２０は、ピッカー１２２を制御する。
【００４０】
また、ドライブ１１８は、装着されている光ディスク１１９からファイルとして記録されているデータを読み出して、読み出したデータをバッファ１１７に供給する。光ディスク１１９から読み出されたデータは、バッファ１１７を介して、HDD１１６に供給されて、HDD１１６に記録される。
【００４１】
HSM１１３は、光ディスク１１９から読み出され、HDD１１６に記録されたデータ（ストリーム）を、HDD１１６からバッファ１１５を介して読み出して、読み出したデータ（ストリーム）をストリームデコーダ１２３に供給する。
【００４２】
ストリームデコーダ１２３は、MPEGトランスポートストリーム方式またはMPEGプログラムストリーム方式のストリームを、画像データおよび音声データに分離して、分離した画像データおよび音声データをビデオ／オーディオデコーダ１２４に供給する。
【００４３】
ビデオ／オーディオデコーダ１２４は、符号化されている画像データおよび音声データを、いわゆるベースバンドの画像データおよび音声データに復号する。また、ビデオ／オーディオデコーダ１２４は、復号により得られたベースバンドの画像データおよび音声データを基にした、出力画像信号および音声信号（図示せず）をモニタ１２５に供給する。モニタ１２５は、出力画像信号を基にして、画像を表示すると共に、供給された音声信号を基にして、音声を出力する。
【００４４】
ビデオ／オーディオエンコーダ１１１において、コンテンツを記録する場合、入力された入力画像信号に応じたコンテンツの全てのデータがHDD１１６に記録される。そして、ドライブ１１８の空き時間において、HDD１１６に記録されているコンテンツの全てのデータが、光ディスク１１９にコピーされる。この場合、HSM１１３が、どの光ディスク１１９にどのコンテンツのデータが書き込まれたかを示す情報を、後述するストアデータベースに記録させる。詳細は後述するが、この情報には、コンテンツのデータを格納するファイルを識別する情報、コンテンツの全てのデータが書き込まれた光ディスク１１９を識別する情報、書き込んだ日時、またはコンテンツのデータを格納するファイルの名前などが含まれる。
【００４５】
なお、外部から直接入力されたストリームを記録するようにしてもよく、ストリームを出力するようにしてもよい。また、データの符号化の方式は、MPEGに限らず、所定の圧縮伸張のための符号化方式であればよい。さらに、ストリームの方式は、本発明を限定するものではない。
【００４６】
図４は、記録再生システム１０１のより詳細な構成を示すブロック図である。アプリケーションプログラム１４１は、使用者とのインターフェースの機能を有し、使用者からの指示を取得するか、使用者に記録再生システム１０１に関する各種の情報を通知する。アプリケーションプログラム１４１は、記録再生システム１０１全体を制御する。
【００４７】
例えば、アプリケーションプログラム１４１は、使用者からの操作に応じて、ビデオ／オーディオエンコーダ１１１、ストリームエンコーダ１１２、ビデオ／オーディオデコーダ１２４、ストリームデコーダ１２３、コンテンツマネージャ１４２、およびストレージマネージャ１１４を制御する。アプリケーションプログラム１４１は、ビデオカメラ１７１からの入力画像信号および音声信号を取得し、取得した入力画像信号および音声信号をビデオ／オーディオエンコーダ１１１に供給する。また、アプリケーションプログラム１４１は、ビデオ／オーディオデコーダ１２４から出力画像信号および音声信号を取得し、取得した出力画像信号および音声信号をモニタ１２５に供給する。さらに、アプリケーションプログラム１４１は、ストレージマネージャ１１４を介して、HSM１１３から供給されたストリーム（データ）をストリームデコーダ１２３に供給する。
【００４８】
コンテンツマネージャ１４２は、記録再生システム１０１に記録されているコンテンツの内容を管理し、コンテンツの内容を検索する。コンテンツマネージャ１４２は、コンテンツデータベース（ＤＢ）１６１へのコンテンツに関する各種の情報の記録を制御し、コンテンツデータベース１６１からのコンテンツに関する情報の読み出しを制御する。
【００４９】
図５で示されるように、コンテンツデータベース１６１には、コンテンツに関する情報として、コンテンツに関連するファイルの情報（例えば、ファイル名、パス名など）、コンテンツの内容および付加情報（例えば、コンテンツの名前、コンテンツのジャンルなど）、コンテンツの圧縮形式（方式）、再生時間、およびインデックス情報（例えば、コンテンツにおけるインデックスの位置など）、並びにアクセス可能なユーザ（使用者）のユーザ情報（例えば、使用者の名前、パスワードなど）などが記録される。
【００５０】
ストレージマネージャ１１４は、HSM１１３を上位から制御する。すなわち、ストレージマネージャ１１４は、アプリケーションプログラム１４１からの要求に基づいて、HSM１１３を制御する。ストレージマネージャ１１４には、システムマネージャ１６２およびファイルＩ／Ｏマネージャ１６３が設けられている。
【００５１】
システムマネージャ１６２は、ストレージ制御関連のシステムを設定し、システムログを記録し、エラーログを管理し、メンテナンス処理を実行する。ファイルＩ／Ｏマネージャ１６３は、アプリケーションプログラム１４１からのファイルの読み出しまたは書き込みの要求を受け付ける。ファイルＩ／Ｏマネージャ１６３は、HDD１１６に記録されているコンテンツのファイルの、例えば、画像コンテンツまたは音楽コンテンツの一部分である、指定された一部分のデータをスタブデータとして保持するスタブファイル（状態）への変換を指示する。ファイルＩ／Ｏマネージャ１６３は、光ディスク１１９からHDD１１６へのデータの読み出し（後述するリロード）の処理の中断または再開を指示する。さらに、ファイルＩ／Ｏマネージャ１６３は、HDD１１６から光ディスク１１９へのデータの書き込みの処理の中断または再開を指示する。
【００５２】
HSM１１３は、HDD１１６、ドライブ１１８、光ディスク１１９、ジュークシステム１２０、ディスクスロット１２１、およびピッカー１２２を仮想ストレージ化し、HDD１１６によるコンテンツのデータの一時的な記録を制御する。HSM１１３は、マイグレーションファイルシステム１６４、ストレージサーバ１６５、ストアデータベース（ＤＢ）１６６、メディアサーバ１６７、およびボリウムデータベース（ＤＢ）１６８を含むように構成される。
【００５３】
マイグレーションファイルシステム１６４は、HSM１１３に管理されているファイルの拡張属性を管理し、拡張属性を書き換える。マイグレーションファイルシステム１６４は、HSM１１３に管理されているファイルに対するアクセスイベントを管理する。マイグレーションファイルシステム１６４は、光ディスク１１９からHDD１１６にデータを読み出す処理を制御し、HDD１１６から光ディスク１１９にデータを書き込む処理を制御する。
【００５４】
ストレージサーバ１６５は、光ディスク１１９からHDD１１６にデータに読み出すか、または、HDD１１６から光ディスク１１９にデータを書き込む。また、ストレージサーバ１６５は、HDD１１６に記録されている、コンテンツのデータを格納するキャッシュファイルに関する情報のストアデータベース１６６への記録を管理し、キャッシュファイルに関する情報のストアデータベース１６６からの読み出しを管理する。また、ストレージサーバ１６５は、コンテンツのデータの全体と、そのデータが記録されている光ディスク１１９とのリンク情報を管理する。
【００５５】
ストアデータベース１６６は、コンテンツのデータを格納するキャッシュファイルであって、HDD１１６に記録されているキャッシュファイルに関する情報を記録する。
【００５６】
図５で示されるように、ストアデータベース１６６には、HDD１１６に記録されているキャッシュファイル名と、キャッシュファイルを特定するための値であるキャッシュファイルＩＤとの関連付けが格納される。また、ストアデータベース１６６には、キャッシュファイルが書き込まれた時間またはキャッシュファイルが最後にアクセスされた時間を示すキャッシュファイルデート情報、並びに全体のデータが保存されている光ディスク１１９を特定するボリウムIDが記録されている。さらに、ストアデータベース１６６には、ジュークボックス１４５内の各光ディスク１１９の空き容量が記録される。
【００５７】
メディアサーバ１６７は、それぞれのディスクスロット１２１に格納されている光ディスク１１９を管理する。メディアサーバ１６７は、チェンジャドライバ１４３に対し、指定された光ディスク１１９のドライブ１１８への装着（マウント）を要求する。また、メディアサーバ１６７は、チェンジャドライバ１４３に対し、ドライブ１１８に装着されている光ディスク１１９のディスクスロット１２１への格納（アンマウント）を要求する。
【００５８】
メディアサーバ１６７に設けられているボリウムデータベース１６８は、光ディスク１１９に関係する情報を格納する。
【００５９】
図５で示されるように、ボリウムデータベース１６８には、各光ディスク１１９の生ディスク状態での記録容量、並びに各光ディスク１１９のメディアとしての種類（MO（Magneto-Optical disk）、DVD（Digital Versatile Disc）＋Ｒ、またはDVD＋RWなど）と書き込み専用または読み書き可能などの属性が記録される。また、ボリウムデータベース１６８には、ジュークボックス１４５内の各ディスクスロット１２１に格納されている光ディスク１１９のボリウムID、およびジュークボックス１４５に搭載されているドライブ１１８の使用状況が記録される。
【００６０】
チェンジャドライバ１４３は、ドライブ１１８を制御し、ジュークボックス制御部１４４とHSM１１３とのインターフェースの機能を有する。
【００６１】
ジュークボックス制御部１４４は、ジュークシステム１２０およびジュークサーボ１６９を含む。ジュークシステム１２０は、ドライブ１１８、光ディスク１１９、ジュークシステム１２０、ディスクスロット１２１、およびピッカー１２２からなるシステムを制御する。ジュークサーボ１６９は、ジュークボックス１４５を駆動する。
【００６２】
ジュークボックス１４５は、ドライブ１１８、光ディスク１１９、ディスクスロット１２１、およびピッカー１２２からなる。
【００６３】
なお、コンテンツデータベース１６１、ストアデータベース１６６、およびボリウムデータベース１６８のそれぞれに記録されているデータを、１つのデータベースに記録するようにしてもよい。
【００６４】
また、図５で示されるように、コンテンツの拡張属性として、キャッシュファイルにおけるコンテンツの部分についての領域情報、コンテンツのどの部分をキャッシュファイルとしてHDD１１６に記録するかのヒントを示すヒント情報、およびキャッシュファイルIDがマイグレーションファイルシステム１６４に記録される。
【００６５】
なお、コンテンツの拡張属性は、オペレーティングシステムのファイルシステムにより記録および読み出しをするようにしてもよく、また、コンテンツデータベース１６１に記録するようにしてもよい。
【００６６】
より詳細には、領域情報は、キャッシュファイルにおけるコンテンツの部分についての、コンテンツのデータの先頭からその部分の先頭までのオフセット値（バイト）を示すオフセット、コンテンツの部分のデータ量を示すサイズ、および、詳細は後述するが、コンテンツの部分がストア済みであるかまたはホール状態であるかを示すフラグを含む。また、ヒント情報は、コンテンツのどの部分をキャッシュファイルとしてHDD１１６に記録するかを示し、コンテンツのデータの先頭からその部分の先頭までのオフセット値（バイト）を示すヒントオフセット、コンテンツの部分のデータ量を示すヒントサイズ、詳細は後述するが、部分の属性を示すリージョンフラッグス、および、この部分をマイグレーションする場合の優先順位を示すヒントプライオリティなどからなる。
【００６７】
さらに、図５で示されるように、コンテンツを格納するファイルの属性として、読み出し専用（リードオンリ）または読み書き（リードライト）可能であるかを示す情報がファイルシステムによって記録される。
【００６８】
次に、図６乃至図１１を参照して、HDD１１６に記録されるキャッシュファイルおよびキャッシュファイルを用いたコンテンツのデータの読み出しについて説明する。
【００６９】
図６は、HDD１１６に記録されるキャッシュファイルの状態を説明する図である。ビデオ／オーディオエンコーダ１１１によって、符号化され、ストリームエンコーダ１１２によって、多重化された、ストリーム（コンテンツ）は、キャッシュファイルとしてHDD１１６（のキャッシュ領域）に書き込まれる。図６で示されるように、入力されたストリーム（コンテンツ）の全体のデータが記録されたキャッシュファイルの状態を、レギュラー状態と称する。
【００７０】
ジュークボックス１４５の空き時間において実行される、HDD１１６に記録されているレギュラー状態のキャッシュファイルを光ディスク１１９に書き込むシャドウド化によって、コンテンツの全体は、HDD１１６に記録されると共に、光ディスク１１９にも記録される。コンテンツの全体のデータがHDD１１６に記録されると共に光ディスク１１９に記録されている場合の、キャッシュファイルの状態をビットファイル状態と称する。
【００７１】
キャッシュファイルがレギュラー状態またはビットファイル状態である場合、言い換えれば、ストリームの全体、すなわち、コンテンツのデータの全体がHDD１１６に記録されている場合、コンテンツのデータの全体は、HDD１１６から読み出されるので、高速に、コンテンツのデータを読み出すことができる。しかし、キャッシュファイルがレギュラー状態またはビットファイル状態である場合、キャッシュファイルのデータ量が多いので、多数のコンテンツについて、レギュラー状態またはビットファイル状態のキャッシュファイルをHDD１１６に記録していると、HDD１１６の記録領域の消費量が大きくなり、HDD１１６がすぐに一杯になってしまう（HDD１１６の全ての記録領域にデータが記録された状態になってしまう）。
【００７２】
そこで、例えば、キャッシュファイルがHDD１１６に記録されてからの経過時間を参照して、古いキャッシュファイルから順に、コンテンツの全体のデータを光ディスク１１９に記録させて、HDD１１６に記録しているキャッシュファイルのデータ量を小さくすることで、HDD１１６に記録されるキャッシュファイルのデータ量の総量を一定の範囲内に納めることができる。
【００７３】
図６で示されるように、コンテンツの全体のデータが記録されていないが、コンテンツのデータの所定の部分が記録されたキャッシュファイルの状態を、スタブファイル状態と称する。特に、コンテンツのデータの所定の部分であって、複数の部分が記録されたキャッシュファイルの状態を、マルチスタブ状態と称する。キャッシュファイルからコンテンツのデータの全てを無くし、コンテンツの拡張属性およびキャッシュファイルIDだけをHDD１１６に記録している状態を、例外的に、ゼロスタブ状態と称する。
【００７４】
コンテンツの全体のデータが記録されている光ディスク１１９から、コンテンツのデータを読み出して、読み出したデータをHDD１１６に記録することをリロードと称する。例えば、光ディスク１１９から、コンテンツのデータを読み出して、HDD１１６にコンテンツの全体のデータを記録することができる。
【００７５】
図７で示されるように、アプリケーションプログラム１４１から取得された入力画像信号および音声信号に対応するデータがHDD１１６に記録され、さらに、HDD１１６に記録されたデータがドライブ１１８に装着された光ディスク１１９に記録される。このデータを読み出す場合には、HDD１１６からデータが読み出されるか、または装着された光ディスク１１９からドライブ１１８によってデータが読み出される。光ディスク１１９からドライブ１１８によって読み出されたデータは、一旦、HDD１１６に記録されて、HDD１１６からアプリケーションプログラム１４１に読み出される。
【００７６】
より具体的には、データを読み出す場合には、図８で示されるように、ドライブ１１８に装着された光ディスク１１９からドライブ１１８によってデータが読み出され、バッファ１１７に一時的に記憶される。バッファ１１７に一時的に記憶されたデータは、HDD１１６に供給され、HDD１１６によって記録される。
【００７７】
HDD１１６に予め記録されているデータ（後述するスタブ領域のデータ）はバッファ１１５に読み出されて、バッファ１１５に一時的に記憶される。同様に、データの読み出しの要求に応じて、バッファ１１７を介して光ディスク１１９から読み出されて、HDD１１６に記録されたデータ（後述するホール領域のデータ）も、バッファ１１５に読み出されて、バッファ１１５に一時的に記憶される。
【００７８】
アプリケーションプログラム１４１は、バッファ１１５に一時的に記憶されたデータを読み出して、出力画像信号および音声信号を出力する。
【００７９】
図９は、スタブ状態のキャッシュファイルを説明する図である。図９には、比較のためにビットファイル状態のキャッシュファイルを示す。図９で示されるように、ビットファイル状態のキャッシュファイルには、コンテンツの全体のデータが格納され、スタブ状態のキャッシュファイルには、コンテンツの部分のデータが格納される。
【００８０】
例えば、スタブ状態のキャッシュファイルには、インデックス情報で示されるインデックスに対応する位置の、コンテンツの部分のデータが格納される。インデックスインデックス情報が、コンテンツの開始位置のインデックス１、コンテンツの開始から２３分２６秒経過した位置のインデックス２、コンテンツの開始から３８分４５秒経過した位置のインデックス３、およびコンテンツの開始から４３分５９秒経過した位置のインデックス４を示す場合、コンテンツの開始位置の所定の期間のコンテンツの部分のデータ、コンテンツの開始から２３分２６秒経過した位置の所定の期間のコンテンツの部分のデータ、コンテンツの開始から３８分４５秒経過した位置の所定の期間のコンテンツの部分のデータ、およびコンテンツの開始から４３分５９秒経過した位置の所定の期間のコンテンツの部分のデータが、キャッシュファイルにスタブデータとして格納される。
【００８１】
スタブデータで再生されるコンテンツの時間の長さは、ディスクスロット１２１に格納されている光ディスク１１９をディスクスロット１２１から取り出してドライブ１１８に装着し、ドライブ１１８が装着された光ディスク１１９からコンテンツのデータを読み出すまでに必要な時間より長く、例えば、２０秒から３０秒程度とされる。
【００８２】
ここで、スタブとは、キャッシュファイルとして、HDD１１６のキャッシュ領域に記録されているデータに対応するコンテンツの部分をいう。スタブ領域とは、スタブデータがHDD１１６に記録されているコンテンツ上の領域、すなわち、スタブの領域をいう。ホール領域とは、スタブデータがHDD１１６に記録されていないコンテンツ上の領域をいう。
【００８３】
スタブ領域およびホール領域を区別しない場合、単に領域と称する。図９において、インデックス１に対応する、０で示されるスタブ領域である領域のデータ（スタブデータ）は、HDD１１６にキャッシュファイルとして記録され、インデックス１とインデックス２との間の、１で示されるホール領域である領域のデータは、HDD１１６に記録されていない。同様に、インデックス２に対応する、２で示されるスタブ領域である領域のデータ（スタブデータ）、インデックス３に対応する、４で示されるスタブ領域である領域のデータ（スタブデータ）、およびインデックス４に対応する、６で示されるスタブ領域である領域のデータ（スタブデータ）は、HDD１１６にキャッシュファイルとして記録される。また、インデックス２とインデックス３との間の、３で示されるホール領域である領域のデータ、インデックス３とインデックス４との間の、５で示されるホール領域である領域のデータ、およびインデックス６の後の、７で示されるホール領域である領域のデータは、HDD１１６に記録されていない。
【００８４】
図１０を参照して、領域および拡張属性における領域情報について説明する。図１０で示す例において、コンテンツのデータの先頭に、スタブ領域が配置され、そのスタブ領域に続いて、ホール領域が配置されている。また、そのホール領域に続いて、スタブ領域が配置され、さらに、そのスタブ領域に続いて、ホール領域が配置されている。言い換えれば、コンテンツの先頭の部分のデータであるスタブデータは、HDD１１６のキャッシュファイルに記録され（ストア済みとされ）、コンテンツの先頭のその部分に続く領域であって、所定の長さの領域のデータは、HDD１１６のキャッシュファイルに記録されていない（ホール状態とされる）。また、そのホール状態の領域に続く、コンテンツの所定の部分のデータであるスタブデータは、HDD１１６のキャッシュファイルに記録され（ストア済みとされ）、その部分に続く領域であって、所定の長さの領域のデータは、HDD１１６のキャッシュファイルに記録されていない（ホール状態とされる）。すなわち、コンテンツの部分のデータがHDD１１６のキャッシュファイルに記録されている領域と、記録されていない領域とが交互に配置される。
【００８５】
領域情報は、領域それぞれの、領域番号、オフセット、サイズ、およびフラグを含む。領域番号は、ファイルの先頭から０乃至Ｎ（整数）の連続した値をとる。すなわち、領域番号は、０を初期値として、コンテンツのデータの先頭から順に、領域のそれぞれに付加される整数の通し番号である。オフセットは、ファイルの先頭（コンテンツのデータの先頭）からその領域の先頭までのオフセット値を示す。オフセットは、例えば、バイトを単位とする。サイズは、その領域のデータのデータ量を示す。サイズは、例えば、バイトを単位とする。フラグは、スタブ領域（ストア済み）であるかまたはホール領域（ホール状態）であるかを示す。例えば、１であるフラグは、スタブ領域（ストア済み）であることを示し、０であるフラグは、ホール領域（ホール状態）であることを示す。
【００８６】
例えば、コンテンツのデータの先頭のスタブ領域は、コンテンツのデータの先頭に位置し、この領域のデータ量が１５０バイトであり、スタブ領域（ストア済み）なので、コンテンツのデータの先頭のスタブ領域には、０である領域番号、０であるオフセット、１５０であるサイズ、および１であるフラグが付加される。コンテンツのデータにおける先頭から２番目の領域は、この領域の本来のデータ量が８００バイトであり、ホール領域（ホール状態）なので、この領域には、１である領域番号、１５０であるオフセット、８００であるサイズ、および０であるフラグが付加される。
【００８７】
同様に、コンテンツのデータにおける先頭から３番目の領域は、この領域のデータ量が１５０バイトであり、スタブ領域（ストア済み）なので、この領域には、２である領域番号、９５０（１５０＋８００）であるオフセット、１５０であるサイズ、および１であるフラグが付加される。コンテンツのデータにおける先頭から４番目の領域は、この領域の本来のデータ量が１４００バイトであり、ホール領域（ホール状態）なので、この領域には、３である領域番号、１１００（９５０＋１５０）であるオフセット、１４００であるサイズ、および０であるフラグが付加される。
【００８８】
このように、コンテンツの拡張属性における領域情報は、キャッシュファイルにおける各領域の状態を示す。領域情報を参照することにより、キャッシュファイルにおける領域の状態を知ることができる。
【００８９】
図１１は、HDD１１６に記録されているスタブデータの詳細を説明する図である。オペレーティングシステムのファイルシステムにおいては、HDD１１６における記録の最小単位であるセクタサイズを基準として、データがHDD１１６に記録される。コンテンツのデータ（ストリーム）がHDD１１６に記録される場合、セクタの境界と、コンテンツのデータ（ストリーム）における画像データまたは音声データとしての境界（例えば、符号化の単位の境界）とが一致するとは限らない。
【００９０】
スタブデータをキャッシュファイルに残す場合、アプリケーションプログラム１４１から指定された範囲のセクタに記録されているデータがスタブデータとして切り出される。このスタブデータは、セクタの単位で区切られて生成される。
【００９１】
コンテンツのデータの途中の部分をスタブデータとして切り出す場合、スタブデータの先頭と、ストリームとしての境界の先頭とは一致しないことが多い。例えば、コンテンツの圧縮方式がMPEG２である場合、GOP（Group of Pictures）の境界は、必ずしもスタブデータの先頭と一致しない。
【００９２】
記録再生システム１０１においては、コンテンツを再生する場合、ストリームとしての境界の先頭と、先頭が一致しないデータがHSM１１３によって読み出され、ストリームデコーダ１２３に供給されたときでも、ストリームデコーダ１２３は、スタブデータの先頭から最初に現れるストリームとしての境界（例えば、GOPの先頭）を検出して、データを分離するので、ビデオ／オーディオデコーダ１２４は、分離されたデータを正しく復号することができる。
【００９３】
すなわち、アプリケーションプログラム１４１から指定された範囲（後述するヒントセクション）のスタブデータをキャッシュファイルに残す場合、またはキャッシュファイルにスタブデータをリロードする場合、HSM１１３は、指定された範囲の全体を再生するために必要なスタブデータをHDD１１６に記録させる。また、HSM１１３は、指定された範囲の全体を再生するために必要なコンテンツのデータを含む、セクタの記録容量の整数倍のデータ量のスタブデータをHDD１１６に記録させる。
【００９４】
また、アプリケーションプログラム１４１から指定された範囲（後述するヒントセクション）のスタブデータをキャッシュファイルから消去（削除）する場合、HSM１１３は、HDD１１６に記録されている、その範囲の全体を再生するために必要なコンテンツのデータであるスタブデータをHDD１１６から消去する。さらに、HSM１１３は、HDD１１６に記録されている、その範囲の全体を再生するために必要なコンテンツのデータを含む、セクタの記録容量の整数倍のデータ量のスタブデータをHDD１１６から消去する。
【００９５】
このように、キャッシュファイルにスタブデータを残す場合、またはキャッシュファイルにスタブデータをリロードする場合、HSM１１３は、所定の長さの期間の部分の全体を再生するために必要なコンテンツのデータをHDD１１６に記録させるように、HDD１１６へのコンテンツのデータの記録を制御する。また、HSM１１３は、所定の長さの期間の部分の全体を再生するために必要なコンテンツのデータを含み、HDD１１６における記録単位の整数倍のデータ量の、コンテンツのデータをHDD１１６に記録させるように、HDD１１６へのコンテンツのデータの記録を制御する。
【００９６】
また、キャッシュファイルからスタブデータを消去（削除）する場合、HSM１１３は、HDD１１６に記録されている、その部分の全体を再生するために必要なコンテンツのデータをHDD１１６から消去するように、HDD１１６へのコンテンツのデータの記録を制御する。また、HSM１１３は、HDD１１６に記録されている、その部分の全体を再生するために必要なコンテンツのデータを含み、HDD１１６における記録単位の整数倍のデータ量の、コンテンツのデータをHDD１１６から消去するように、HDD１１６へのコンテンツのデータの記録を制御する。
【００９７】
なお、セクタサイズは、Linux（商標）において、4KB乃至１６KBであり、切り出されるデータのデータ量は数十MBなので、セクタの境界の切り方による影響は少ない。
【００９８】
次に、図１２のフローチャートを参照して、ヒント情報の書き込みの処理を説明する。ステップＳ１１において、アプリケーションプログラム１４１は、コンテンツマネージャ１４２を介して、コンテンツデータベース１６１から、コンテンツにおけるインデックスの位置を示すインデックス情報を取得する。ステップＳ１２において、アプリケーションプログラム１４１は、インデックス情報を基に、インデックスで示されるコンテンツ上の位置を特定する。
【００９９】
ステップＳ１３において、アプリケーションプログラム１４１は、特定された位置をヒントセクションの開始位置とするヒント情報を生成する。ヒントセクションは、ヒント情報で示される、コンテンツにおける部分（範囲）である。
【０１００】
ヒント情報は、コンテンツのどの部分をキャッシュファイルとしてHDD１１６に記録するかのヒントを示す情報である。コンテンツ（コンテンツのデータ）にヒント情報を付与することで、コンテンツのデータのうち、任意の部分のデータをスタブデータとしてHDD１１６のキャッシュ領域に記録することができる。すなわち、コンテンツのデータのうち、ヒント情報で示される部分のデータがスタブデータとしてキャッシュファイルに格納されてHDD１１６に記録される。また、ヒント情報を参照することにより、段階的なマイグレーションの処理を実行することができる。
【０１０１】
ヒント情報は、バージョンナンバ、ヒントセクションレングス、ヒントオフセット、ヒントサイズ、リージョンフラッグス、ヒントプライオリティ、およびタイムスタンプからなる。１つのヒント情報に、１つのバージョンナンバおよび１つのヒントセクションレングスが配置される。１つのヒント情報に、ヒントセクションの数に応じた、ヒントオフセット、ヒントサイズ、リージョンフラッグス、ヒントプライオリティ、およびタイムスタンプが配置される。すなわち、１組のヒントオフセット、ヒントサイズ、リージョンフラッグス、ヒントプライオリティ、およびタイムスタンプは、１つの領域の情報を示す。
【０１０２】
バージョンナンバは、ヒント情報のバージョンを示し、システムおよびソフトウェアの互換性を保つために利用される。ヒントセクションレングスは、このヒント情報で示される全てのヒントセクションのデータ量の合計を示す。１つのヒントセクションのデータ量を一定とすれば、ヒントセクションレングスを、１つのヒントセクションのデータ量で割り算することにより、ヒントセクションの数を求めることができる。
【０１０３】
ヒントオフセットは、それぞれのヒントセクションの開始位置を、コンテンツのデータの先頭からのオフセットで示す。例えば、ヒントオフセットの単位は、データ量（バイトなど）とされる。ヒントサイズは、ヒントセクションのデータ量を示す。ヒントサイズの単位は、例えば、バイトとされる。
【０１０４】
リージョンフラッグスは、それぞれのヒントセクションについて、インデックスに対応するヒントセクションであるか、盛り上がりシーンに対応するヒントセクションであるか、または重要シーンに対応するヒントセクションであるかなどの属性を示す。オペレーティングシステムなどが、リージョンフラッグスを参照して、アクセスに応じてイベントを発生させることができる。
【０１０５】
ヒントプライオリティは、それぞれのヒントセクションをマイグレーションする場合の優先順位を示す。ヒントプライオリティの値が大きいほど、そのヒントセクションに対応する部分のデータがマイグレーションされやすい。ヒントプライオリティに０が設定された場合、そのコンテンツが記録再生システム１０１から削除されるまで、一次ストレージであるHDD１１６に、そのヒントセクションに対応する部分のデータがキャッシュされる。アプリケーションプログラム１４１またはオペレーティングシステムにより、頻繁にアクセスされるコンテンツの部分（データ）に対応するヒントセクションのヒントプライオリティに０を設定するなど、ヒントプライオリティの値を管理することができる。
【０１０６】
タイムスタンプは、そのヒントセクションに対応するコンテンツの部分（データ）に最後にアクセスされた日時を示す。タイムスタンプは、アプリケーションプログラム１４１またはオペレーティングシステムにより設定される。
【０１０７】
例えば、アプリケーションプログラム１４１は、予め定めた値をバージョンナンバに設定する。
【０１０８】
例えば、アプリケーションプログラム１４１は、ステップＳ１２の処理で特定された、コンテンツの再生における時刻であるコンテンツ上の位置から、コンテンツのデータの先頭からその位置までのデータ量を求める。アプリケーションプログラム１４１は、そのデータ量をヒントオフセットとする。また、例えば、アプリケーションプログラム１４１は、予め定めた値をヒントサイズとする。さらに、例えば、アプリケーションプログラム１４１は、インデックスに対応することを示す所定の値をリージョンフラッグスとする。
【０１０９】
さらにまた、アプリケーションプログラム１４１は、予め定めた値をヒントプライオリティに設定する。例えば、アプリケーションプログラム１４１は、コンテンツの最初のインデックスについては０、その他のインデックスについては１である値をヒントプライオリティに設定する。アプリケーションプログラム１４１は、最後にアクセスされた日時をタイムスタンプとする。
【０１１０】
また、アプリケーションプログラム１４１は、ヒントセクションの数にヒントサイズを掛け算して得られた値をヒントセクションレングスとする。
【０１１１】
アプリケーションプログラム１４１は、このように生成したバージョンナンバ、ヒントセクションレングス、ヒントオフセット、ヒントサイズ、リージョンフラッグス、ヒントプライオリティ、およびタイムスタンプを所定の順序で配置することによりヒント情報を生成する。
【０１１２】
ステップＳ１４において、アプリケーションプログラム１４１は、ストレージマネージャ１１４を介して、HSM１１３のマイグレーションファイルシステム１６４に記録されているコンテンツの拡張属性に、ヒント情報を格納させる。
【０１１３】
ステップＳ１５において、アプリケーションプログラム１４１は、コンテンツマネージャ１４２に問い合わせた結果を基に、コンテンツデータベース１６１に盛り上がりシーンを示す情報があるか否かを判定する。ステップＳ１５において、盛り上がりシーンを示す情報があると判定された場合、ステップＳ１６に進み、アプリケーションプログラム１４１は、コンテンツマネージャ１４２を介して、コンテンツデータベース１６１から盛り上がりシーンを示す情報を取得する。
【０１１４】
ステップＳ１７において、アプリケーションプログラム１４１は、盛り上がりシーンを示す情報を基に、コンテンツ上の盛り上がりシーンの先頭の位置を特定する。例えば、アプリケーションプログラム１４１は、盛り上がりシーンを示す情報を基に、コンテンツの再生における時刻で決まる、盛り上がりシーンの先頭の位置を特定する。
【０１１５】
ステップＳ１８において、アプリケーションプログラム１４１は、盛り上がりシーンの先頭の位置をヒントセクションの開始位置とするヒント情報を生成する。ステップＳ１９において、アプリケーションプログラム１４１は、ストレージマネージャ１１４を介して、HSM１１３のマイグレーションファイルシステム１６４に記録されているコンテンツの拡張属性に、ヒント情報を格納させ、処理は終了する。
【０１１６】
ステップＳ１５において、盛り上がりシーンを示す情報がないと判定された場合、ステップＳ１６乃至ステップＳ１９の処理はスキップされて、処理は終了する。
【０１１７】
このように、インデックス情報または盛り上がりシーンを示す情報を基に、ヒント情報が生成されて、記録される。コンテンツ（コンテンツのデータ）にヒント情報を付与することで、コンテンツのデータのうち、任意の部分のデータをスタブデータとしてHDD１１６にキャッシュさせ、コンテンツのデータの読み出しをより迅速に行うことができるようになる。
【０１１８】
このように記録されたヒント情報を参照して、段階的なマイグレーションの処理を行うことができる。
【０１１９】
なお、ヒント情報には、使用者からの操作に応じた値が直接設定されるようにしてもよく、また、アプリケーションプログラム１４１に限らず、オペレーティングシステムなどの他のプログラムによって書き込まれるようにしてもよい。
【０１２０】
図１３は、スタブファイル状態のキャッシュファイルの生成の処理を説明するフローチャートである。ステップＳ３１において、ストレージマネージャ１１４は、HSM１１３のマイグレーションファイルシステム１６４からコンテンツの拡張属性を読み出して、コンテンツの拡張属性にヒント情報があるか否かを判定する。ステップＳ３１において、ヒント情報があると判定された場合、ステップＳ３２に進み、ストレージマネージャ１１４は、HSM１１３のマイグレーションファイルシステム１６４からコンテンツの拡張属性を読み出して、読み出したコンテンツの拡張属性からヒント情報を抽出する。そして、ストレージマネージャ１１４は、ヒント情報のうちの、全てのヒントセクションのデータ量の合計を示すヒントセクションレングスを取得する。
【０１２１】
ステップＳ３３において、ストレージマネージャ１１４は、ヒントセクションレングスを１つのヒントセクションのデータ量で割り算することによりヒントセクションの数を算出する。
【０１２２】
ストレージマネージャ１１４は、ステップＳ３４およびステップＳ４２において、それぞれのヒントセクションについてステップＳ３５乃至ステップＳ４１の処理を実行し、ステップＳ３４乃至ステップＳ４２の処理をヒントセクションの数だけ繰り返すようにループ制御の処理を実行する。
【０１２３】
ステップＳ３５において、ストレージマネージャ１１４は、ヒント情報から、所定のヒントセクションの開始位置を示すヒントオフセットを取得する。ステップＳ３６において、ストレージマネージャ１１４は、ヒント情報から、そのヒントセクションのデータ量を示すヒントサイズを取得する。ステップＳ３７において、ストレージマネージャ１１４は、ヒント情報から、そのヒントセクションの優先順位を示すヒントプライオリティを取得する。
【０１２４】
ステップＳ３８において、ストレージマネージャ１１４は、ヒント情報が設定されていない領域を、HDD１１６に記録されているキャッシュファイル上から削除するホール領域に設定する。
【０１２５】
ステップＳ３９において、ストレージマネージャ１１４は、ヒントプライオリティが設定されているマイグレーションレベル以下であるか否かを判定する。ステップＳ３９において、ヒントプライオリティが設定されているマイグレーションレベル以下であると判定された場合、ステップＳ４０に進み、ストレージマネージャ１１４は、そのヒントプライオリティが設定されているヒントセクションをスタブ領域（キャッシュする領域）に設定する。
【０１２６】
マイグレーションレベルは、ヒントセクションをキャッシュするか否かを決める基準である。例えば、ストレージマネージャ１１４は、予め定めたマイグレーションレベルを記憶しておくか、または、ファイル属性に含まれるコンテンツが最後にアクセスされた日時を基に、マイグレーションレベルを決定する。また、ストレージマネージャ１１４は、使用者の操作に応じてアプリケーションプログラム１４１から供給されるマイグレーションレベルを基に判定の処理を行うようにしてもよい。
【０１２７】
図１１を参照して説明したように、オペレーティングシステムのファイルシステムなどにより、セクタなどの固定長の記録の単位でデータがファイルに格納されるかまたはファイルからデータが読み出される場合、ステップＳ４０において、ストレージマネージャ１１４は、そのヒントプライオリティが設定されているヒントセクションを包括する領域をスタブ領域（キャッシュする領域）に設定する。
【０１２８】
一方、ステップＳ３９において、ヒントプライオリティが設定されているマイグレーションレベル以下でない判定された場合、ステップＳ４１に進み、ストレージマネージャ１１４は、そのヒントプライオリティが設定されているヒントセクションをキャッシュファイル上から削除するホール領域に設定する。
【０１２９】
この場合も、図１１を参照して説明したように、オペレーティングシステムのファイルシステムなどにより、セクタなどの固定長の記録の単位でデータがファイルに格納されるかまたはファイルからデータが読み出される場合、ステップＳ４１において、ストレージマネージャ１１４は、そのヒントプライオリティが設定されているヒントセクションを包括する領域をホール領域に設定する。
【０１３０】
それぞれのヒントセクションについてステップＳ３５乃至ステップＳ４１の処理が実行され、それぞれのヒントセクションを包括する領域は、スタブ領域に設定されるか、またはホール領域に設定されることになる。なお、ヒント情報が設定されていない領域はホール領域に設定される。
【０１３１】
ステップＳ３４乃至ステップＳ４２の処理がヒントセクションの数だけ繰り返された後、手続きは、ステップＳ４４に進む。
【０１３２】
ステップＳ３１において、コンテンツの拡張属性にヒント情報がないと判定された場合、ステップＳ４３に進み、ストレージマネージャ１１４は、初期設定に従って、ファイル内部領域を設定する。すなわち、ステップＳ４３において、ストレージマネージャ１１４は、初期設定に従って、コンテンツの領域を、スタブ領域か、ホール領域かに設定し、ステップＳ４４に進む。
【０１３３】
ステップＳ４４において、ストレージマネージャ１１４は、ホール領域のデータがキャッシュファイルに記録されているか否か、すなわち、ホール領域のデータがキャッシュされているか否かを判定し、ホール領域のデータがキャッシュされていると判定された場合、ステップＳ４５に進み、HSM１１３に、ホール領域のデータをキャッシュファイルから削除（消去）させる。HSM１１３は、ストレージマネージャ１１４の制御に基づいて、HDD１１６のキャッシュファイルからホール領域のデータを消去させる。その後、手続きは、ステップＳ４６に進む。
【０１３４】
ステップＳ４４において、ホール領域のデータがキャッシュされていないと判定された場合、キャッシュファイルからデータを削除する処理を実行する必要がないので、ステップＳ４５の処理はスキップされ、手続きは、ステップＳ４６に進む。
【０１３５】
ステップＳ４６において、ストレージマネージャ１１４は、スタブ領域のデータがキャッシュファイルに記録されていないか否か、すなわち、スタブ領域のデータがキャッシュされていないか否かを判定し、スタブ領域のデータがキャッシュされていないと判定された場合、ステップＳ４７に進み、HSM１１３に、スタブ領域のデータをキャッシュファイルにリロードさせる。HSM１１３は、ストレージマネージャ１１４の制御に基づいて、コンテンツの全体のデータを記録している光ディスク１１９をドライブ１１８に装着させる。HSM１１３は、ドライブ１１８に、光ディスク１１９からコンテンツのデータを読み出させて、読み出したコンテンツのデータをHDD１１６のキャッシュファイルに格納することにより、スタブ領域のデータをリロードする。その後、手続きは、ステップＳ４８に進む。
【０１３６】
ステップＳ４６において、スタブ領域のデータがキャッシュされていると判定された場合、スタブ領域のデータをリロードする処理を実行する必要がないので、ステップＳ４７の処理はスキップされ、手続きは、ステップＳ４８に進む。
【０１３７】
ステップＳ４８において、ストレージマネージャ１１４は、HSM１１３のマイグレーションファイルシステム１６４に、キャッシュファイルからのデータの消去またはキャッシュファイルへのデータのリロードの結果に対応するように、コンテンツの拡張属性の領域情報を書き換えらせて、処理は終了する。
【０１３８】
以上のように、スタブファイル状態のキャッシュファイルが生成される。
【０１３９】
このように、ヒントプライオリティを基に、段階的なマイグレーションの処理を実行できる。
【０１４０】
ヒントセクションに所望の値のヒントプライオリティを付加して、所望の値のマイグレーションレベルを基にした、スタブファイル状態のキャッシュファイルの生成の処理をキャッシュファイルに適用することにより、コンテンツのデータのうち、キャッシュする部分を簡単にかつ柔軟に選択することができるようになる。
【０１４１】
例えば、コンテンツの種類に応じて最適なストレージ領域を割り当てて、読み出しの処理を高速にすることができる。例えば、コンテンツの種類が画像コンテンツや音楽コンテンツである場合、コンテンツのインデックスに応じてスタブ領域を配置することで、例えば、HDD１１６などの記録容量当たりの価格の高い１次ストレージの記録領域の使用量を削減することができる。また、スタブ領域にアクセスしている時間が、コンテンツの全体のデータが１次ストレージにリロードされる時間を隠蔽するので、コンテンツのアクセスを指示してから出力を開始するまで、使用者を長い時間待たせることがなくなり、使用者に、待つことによるストレスを感じさせることなくコンテンツを提供することができる。
【０１４２】
また、図１２を参照して説明したように、インデックス情報（チャプター情報）に対応したヒント情報を生成したり、盛り上がりシーンに対応したヒント情報を生成し、これらのヒント情報を基に、スタブデータをキャッシュファイルに記録するようにした場合、アプリケーションプログラム１４１において、他のコンテンツの部分に比較して、使用者がより簡単にインデックスまたは盛り上がりシーンの再生を指示できるようにしておけば、すなわち、使用者をインデックスまたは盛り上がりシーンにアクセスさせるように誘導しておけば、より確実に、使用者を長い時間待たせることがなく、迅速にコンテンツを出力することができるようになる。
【０１４３】
さらに、画像コンテンツや音楽コンテンツに限らず、ゲームなどのコンテンツを記録するようにしてもよい。この場合、ゲームなどのコンテンツの特定のデータファイルまたはデータの部分をHDD１１６に記録させる。
【０１４４】
次に、このように生成された、スタブファイル状態のキャッシュファイルを用いた、コンテンツのデータの読み出しの処理を説明する。
【０１４５】
図１４は、インデックス＿ｎからのデータの読み出しの処理を説明するフローチャートである。ステップＳ６１において、ストレージマネージャ１１４のファイルＩ／Ｏマネージャ１６３は、データの読み出しを開始するインデックス＿ｎの指定を受け付ける。より詳細には、アプリケーションプログラム１４１は、使用者の操作に応じた、再生を開始するインデックスの選択を受け付ける。アプリケーションプログラム１４１は、使用者に選択され、再生を開始するインデックスを指定するデータをファイルＩ／Ｏマネージャ１６３に供給する。ファイルＩ／Ｏマネージャ１６３は、アプリケーションプログラム１４１からのデータを取得することにより、使用者により選択された、データの読み出しを開始するインデックス＿ｎの指定を受け付ける。ストレージマネージャ１１４は、インデックス＿ｎからの再生をHSM１１３に指示する。
【０１４６】
ステップＳ６２において、ストレージマネージャ１１４は、HSM１１３のマイグレーションファイルシステム１６４に格納されている領域情報を基に、読み出しが指示されたコンテンツの全てのデータがキャッシュファイルとしてHDD１１６に記録されているか、すなわち、読み出しが指示されたコンテンツの全てのデータがHDD１１６にストアされているか否かを判定する。ステップＳ６２において、全てのデータがHDD１１６にストアされていると判定された場合、ステップＳ６３に進み、ストレージマネージャ１１４は、HSM１１３に、インデックス＿ｎに対応する位置からコンテンツのデータの読み出しを指示する。HSM１１３は、HDD１１６に、インデックス＿ｎに対応する位置から、キャッシュファイルのデータの読み出しを開始させる。ステップＳ６３の処理の後、手続きは、ステップＳ６９に進む。
【０１４７】
一方、ステップＳ６２において、全てのデータがHDD１１６にストアされていないと判定された場合、ステップＳ６４に進み、ストレージマネージャ１１４は、HSM１１３に、インデックス＿ｎに対応する位置からコンテンツのデータの読み出しを指示する。HSM１１３は、HDD１１６に、HDD１１６のキャッシュファイルのインデックス＿ｎに対応するスタブ領域の先頭位置からデータの読み出しを開始させる。
【０１４８】
これにより、コンテンツが即座に再生されることになる。
【０１４９】
ストレージマネージャ１１４は、HSM１１３に、光ディスク１１９からHDD１１６への該当するコンテンツのデータの読み出し要求であるリロードコマンドを発行する。
【０１５０】
ステップＳ６５において、HSM１１３は、ストアデータベース１６６から、対応するキャッシュファイルIDとボリウムIDを参照する。ステップＳ６６において、ストレージサーバ１６５は、ボリウムデータベース１６８を基に、ボリウムIDで特定される光ディスク１１９が格納されているディスクスロット１２１を特定する。すなわち、ストレージサーバ１６５は、メディアサーバ１６７に、ボリウムIDで特定される光ディスク１１９が格納されているディスクスロット１２１の特定を要求する。メディアサーバ１６７は、ボリウムデータベース１６８に、ジュークボックス１４５の各ディスクスロット１２１に格納されている光ディスク１１９を特定するボリウムIDのうち、ストレージサーバ１６５からの要求に含まれているボリウムIDと一致するボリウムIDを検索させる。ボリウムデータベース１６８が、ストレージサーバ１６５からの要求に含まれているボリウムIDで特定される光ディスク１１９が格納されているディスクスロット１２１を示す情報を出力してくるので、メディアサーバ１６７は、ディスクスロット１２１を示す情報をストレージサーバ１６５に供給する。これにより、ストレージサーバ１６５は、ボリウムIDで特定される光ディスク１１９が格納されているディスクスロット１２１を特定する。
【０１５１】
ステップＳ６７において、ストレージサーバ１６５は、メディアサーバ１６７に、特定されたディスクスロット１２１に格納されている光ディスク１１９のドライブ１１８への装着を指示する。メディアサーバ１６７は、チェンジャドライバ１４３を介して、ジュークシステム１２０に、特定されたディスクスロット１２１に格納されている光ディスク１１９をドライブ１１８に装着させる。すなわち、ジュークシステム１２０の制御の基に、ジュークボックス１４５のピッカー１２２は、特定されたディスクスロット１２１から、光ディスク１１９を取り出して、搬送し、その光ディスク１１９をドライブ１１８に装着（マウント）させる。
【０１５２】
ステップＳ６８において、リロードの処理が実行される。リロードの処理の詳細は図１５のフローチャートを参照して後述する。
【０１５３】
ステップＳ６８の処理の後、手続きは、ステップＳ６９に進む。
【０１５４】
ステップＳ６９において、ストレージマネージャ１１４は、キャッシュファイルの最後までデータを読み出したか否かを判定し、キャッシュファイルの最後までデータを読み出していないと判定された場合、ステップＳ６９に戻り、判定の処理を繰り返す。
【０１５５】
ステップＳ６９において、キャッシュファイルの最後までデータを読み出したと判定された場合、処理は終了する。
【０１５６】
次に、図１５のフローチャートを参照して、図１４のステップＳ６８のリロードの処理の詳細を説明する。ステップＳ８１において、ストレージマネージャ１１４は、HSM１１３に、所定の位置を指定して、リロードの開始を指示する。HSM１１３のマイグレーションファイルシステム１６４は、リロードの開始位置を、現在、HDD１１６から読み出されているデータの位置の後の領域であって、最も近い領域の先頭とする。
【０１５７】
ステップＳ８２において、HSM１１３のストレージサーバ１６５は、リロードを開始する。すなわち、ストレージサーバ１６５は、リロードの開始位置におけるデータを、光ディスク１１９が装着されたドライブ１１８から読み出させ、読み出したデータをキャッシュファイルの所定の領域に格納させるように、HDD１１６に記録させる。
【０１５８】
ステップＳ８３において、マイグレーションファイルシステム１６４は、その領域がストアされているか否かを判定し、その領域がストアされていると判定された場合、ステップＳ８４において、リロードの開始位置を、その領域の後のホール領域であって、最も近いホール領域の先頭に移動する。ステップＳ８３において、その領域がストアされていないと判定された場合、ステップＳ８４の処理はスキップされる。
【０１５９】
ステップＳ８５において、HSM１１３のストレージサーバ１６５は、リロードを開始する。
【０１６０】
ステップＳ８６において、マイグレーションファイルシステム１６４は、その領域のリロードが完了したか否かを判定し、その領域のリロードが完了していないと判定された場合、ステップＳ８６に戻り、判定の処理を繰り返す。
【０１６１】
ステップＳ８６において、その領域のリロードが完了したと判定された場合、ステップＳ８７に進み、マイグレーションファイルシステム１６４は、リロードを完了した領域と隣接するスタブ領域とを結合させるように拡張属性を書き換える。
【０１６２】
ステップＳ８８において、マイグレーションファイルシステム１６４は、キャッシュファイルの最後までリロードが完了したか否かを判定する。ステップＳ８８において、キャッシュファイルの最後までリロードが完了したと判定された場合、ステップＳ８９に進み、マイグレーションファイルシステム１６４は、コンテンツの全てのデータがHDD１１６に記録されたか、すなわち、コンテンツの全てのデータがストアされたか否かを判定する。
【０１６３】
ステップＳ８９において、コンテンツの全てのデータがストアされていないと判定された場合、ステップＳ９０に進み、マイグレーションファイルシステム１６４は、オートリロードモードであるか否かを判定する。ステップＳ９０において、オートリロードモードであると判定された場合、ステップＳ９１に進み、マイグレーションファイルシステム１６４は、リロードの開始位置を、キャッシュファイルの先頭に移動して、ステップＳ８２に戻り、上述した処理を繰り返す。
【０１６４】
ステップＳ８８において、キャッシュファイルの最後までリロードが完了していないと判定された場合、ステップＳ８２に戻り、上述した処理を繰り返す。
【０１６５】
ステップＳ８９において、コンテンツの全てのデータがストアされたと判定された場合、または、ステップＳ９０において、オートリロードモードでないと判定された場合、処理は終了する。
【０１６６】
このように、HDD１１６のキャッシュファイルからコンテンツのデータが読み出されている間であって、予めキャッシュファイルに記録されていないデータの読み出しが実行される前に、ドライブ１１８に装着された光ディスク１１９からホール領域のデータが読み出されて、読み出されたデータがキャッシュファイルに格納される。ドライブ１１８は、コンテンツの再生に必要なデータの読み出し速度に比較して、より速い速度で光ディスク１１９からデータを読み出すので、コンテンツの再生が始まる前にHDD１１６のキャッシュファイルに格納されていなかったデータは、そのデータがコンテンツの再生のために読み出される前に、HDD１１６のキャッシュファイルに格納される。従って、コンテンツの再生のために必要なデータは、常に、HDD１１６のキャッシュファイルから読み出すことができるようになる。
【０１６７】
その結果、コンテンツのデータの読み出しが要求されると、待ち時間をほとんど生じさせることなく、迅速にコンテンツのデータを読み出すことができる。すなわち、例えば、音声または画像のコンテンツである場合、画像または音声が途切れることがなく、画像または音声を再生することができる。
【０１６８】
さらに、光ディスク１１９からコンテンツのデータを先読みして、HDD１１６に記録させるので、光ディスク１１９から読み出したデータを直接再生に用いる場合に比較して、ドライブ１１８をより早く開放することができる。すなわち、光ディスク１１９の高速読み出しなど、ドライブ１１８の能力をより十分に発揮させることができ、ドライブ１１８をより効率的に使用できるようになる。
【０１６９】
図１６および図１７は、リロードの処理の具体例を説明する図である。図１６および図１７を参照して、３つのインデックスのそれぞれに対応するスタブデータがキャッシュファイルに記録されているコンテンツについて、最初に、インデックス３からの再生が要求され、コンテンツの再生の途中で、インデックス２からの再生が要求され、そのまま、コンテンツの最後まで再生された場合における、リロードの処理を説明する。
【０１７０】
再生を開始するインデックスとして、使用者がインデックス３を選択する操作をすると、アプリケーションプログラム１４１は、使用者によるインデックス３の選択を受け付ける。第１に、ストレージマネージャ１１４の制御の基に、HSM１１３は、HDD１１６に、HDD１１６のキャッシュファイルのインデックス３に対応する、４である領域番号が付加されたスタブ領域の先頭位置からデータの読み出しを開始させ、インデックス３からコンテンツの再生が開始される。
【０１７１】
図１７で示されるように、インデックス１、インデックス２、およびインデックス３に対応して、コンテンツの先頭の部分の１００バイトのスタブデータ、コンテンツの先頭から２５００バイト離れた位置の１００バイトのスタブデータ、およびコンテンツの先頭から６０００バイト離れた位置の１００バイトのスタブデータがキャッシュファイルに記録されている。コンテンツの他の部分のデータは、キャッシュファイルに記録されていない。
【０１７２】
インデックス３に対応するスタブ領域、すなわち、コンテンツの先頭から６０００バイト離れた位置の１００バイトのタブデータがHDD１１６から読み出されて、インデックス３からコンテンツの再生が即座に開始される。
【０１７３】
これに並行して、第２に、ストレージマネージャ１１４は、HSM１１３に、インデックス３のスタブ領域の後ろのホール領域のデータを、光ディスク１１９からHDD１１６に読み出して、HDD１１６に記録させる要求を示すリロードコマンドを発行する。すると、第３に、再生が開始されたコンテンツの全体のデータを記録している光ディスク１１９がドライブ１１８にマウントされる。そして、第４に、装着された光ディスク１１９からデータの読み出しができるようになった時点で、ドライブ１１８に装着された光ディスク１１９から、インデックス３のスタブ領域の後ろのホール領域（５である領域番号が付加された領域）のデータに対応するコンテンツのデータが読み出されて、読み出されたデータがHDD１１６のキャッシュファイルの、インデックス３のスタブ領域の後ろのホール領域に格納されるように（インデックス３のスタブ領域の後ろに続いて格納されるように）、コンテンツのデータのリロードが開始される。
【０１７４】
この場合、コンテンツの先頭から６０００バイト離れた位置の１００バイトのスタブデータに続くデータが、ドライブ１１８に装着された光ディスク１１９から読み出され、読み出されたデータが、コンテンツの先頭から６０００バイト離れた位置の１００バイトのスタブデータに続くように、ホール領域にリロードされる。従って、５である領域番号が付された領域の先頭から順にデータがストアされる。マイグレーションファイルシステム１６４は、データのストアに応じて、そのストアされた部分を４である領域番号が付された領域に結合させるように、拡張属性を更新する。
【０１７５】
従って、リロードの処理が進むにつれて、リロードの処理の対象となるホール状態の領域のオフセット位置はコンテンツの後ろ側にずれていき（オフセットがより大きくなり）、その領域のサイズは小さくなっていく。
【０１７６】
ここで、再生を開始するインデックスとして、使用者がインデックス２を選択する操作をすると、第５に、アプリケーションプログラム１４１は、インデックス２にインデックスジャンプする。第６に、ストレージマネージャ１１４の制御の基に、HSM１１３は、HDD１１６に、HDD１１６のキャッシュファイルのインデックス２に対応するスタブ領域の先頭位置からデータの読み出しを開始させ、インデックス２からコンテンツの再生が即座に開始される。
【０１７７】
アプリケーションプログラム１４１によってデータの読み出しの位置がインデックスを単位として変更された場合、読み出しされる位置の後方のホール状態の領域（ホール領域）のうち、読み出しされる位置に最も近いホール領域の先頭からリロードが行われる。そのため、現在実行されているリロードの処理が中断されて、これから読み出しされる位置に最も近いホール領域の先頭からリロードが再開される。なお、データの読み出しの位置が変更されても、現在リロードしている位置が、変更された読み出しされる位置の後方のホール状態の領域（ホール領域）のうち、読み出しされる位置に最も近いホール領域の先頭である場合には、リロードの処理がそのまま継続される。
【０１７８】
例えば、インデックス２からコンテンツの再生が開始されたので、第７に、インデックス３のスタブ領域の後ろのホール領域のデータのリロードの処理は中断される。
【０１７９】
例えば、コンテンツの先頭から６０００バイト離れた位置の１００バイトのスタブデータに続く１５００バイトのデータが、ドライブ１１８に装着された光ディスク１１９から読み出され、読み出された１５００バイトのデータが、コンテンツの先頭から６０００バイト離れた位置の１００バイトのスタブデータに続くように、ホール領域にリロードされる。その結果、コンテンツの先頭から６０００バイト離れた位置のスタブ領域のデータ量は、１６００バイト（１００＋１５００）となる。マイグレーションファイルシステム１６４は、ファイルの拡張属性の領域情報に含まれる、４である領域番号で示される領域のサイズを１６００とする。
【０１８０】
第８に、ドライブ１１８に装着された光ディスク１１９から、インデックス２のスタブ領域の後ろのホール領域のデータに対応するコンテンツのデータが読み出されて、読み出されたデータがHDD１１６のキャッシュファイルの、インデックス２のスタブ領域の後ろのホール領域に格納されるように、コンテンツのデータのリロードが開始される。
【０１８１】
第９に、インデックス２のスタブ領域の後ろのホール領域のリロードが完了すると、既にストアされている領域はスキップされて、第１０に、第７の処理でリロードの処理が中断された位置、すなわち、インデックス３のスタブ領域の後ろのホール領域のデータのリロードが行われるように、リロードの処理が継続される。
【０１８２】
コンテンツの先頭から２５００バイト離れた位置の１００バイトのスタブデータに続く３４００バイトのデータが、ドライブ１１８に装着された光ディスク１１９から読み出され、読み出された３４００バイトのデータが、コンテンツの先頭から２５００バイト離れた位置の１００バイトのスタブデータに続くように、ホール領域にリロードされる。その結果、コンテンツの先頭から２５００バイト離れた位置の１００バイトのスタブデータが格納されているスタブ領域の次のホール領域のリロードが完了するので、コンテンツの先頭から２５００バイト離れた位置から、コンテンツの先頭から７６００バイト離れた位置までのデータがキャッシュファイルにストアされる。これにより、隣接する、これまで、２である領域番号が付加されていたスタブ領域と、３である領域番号が付加されていたホール領域と、４である領域番号が付加されていたスタブ領域が、１つのスタブ領域に結合される。
【０１８３】
各領域の領域番号は、先頭の領域を０とする、連続する値にふりなおされる。その結果、結合されたスタブ領域の領域番号は、２とされ、領域の結合前まで、５である領域番号が付加されていたホール領域の領域番号は、３とされる。
【０１８４】
領域の結合により、２である領域番号が付加されたスタブ領域のデータ量は、５１００バイト（１００＋３４００＋１６００）となる。マイグレーションファイルシステム１６４は、ファイルの拡張属性の領域情報に含まれる、２である領域番号が付加されている領域のサイズを５１００とし、３である領域番号が付加されている領域についての、オフセットを７６００とし、サイズを１４００とし、フラグを０とする。
【０１８５】
インデックス３のスタブ領域の後ろのホール領域、すなわち、領域の結合により、３である領域番号が付加されている領域のデータのリロードが行われる。コンテンツのデータが最後までリロードされると、２である領域番号が付加されている領域と、３である領域番号が付加されている領域とが結合される。
【０１８６】
そして、オートリロードモードにおいては、コンテンツのデータの最後までリロードした場合、先頭から残りのリロードされていないデータをキャッシュファイルにリロードして終了するので、リロードの位置をキャッシュファイルの先頭に移動させる。第１１に、コンテンツの先頭のストアされている領域はスキップされて、第１２に、コンテンツの先頭のインデックス１のスタブ領域の後ろのホール領域のデータのリロードが行われるように、リロードの処理が継続される。
【０１８７】
図１７で示されるように、コンテンツの先頭の１００バイトのスタブデータに続くデータが、ドライブ１１８に装着された光ディスク１１９から読み出され、読み出されたデータが、コンテンツの先頭のスタブデータの次のホール領域にリロードされる。
【０１８８】
第１３に、インデックス２のスタブ領域の直前までデータがキャッシュファイルに格納されると、コンテンツの全体のデータがキャッシュファイルに格納されたので、リロードは終了する。この場合、全ての領域が結合されて、１つの領域となる。第１４に、光ディスク１１９がドライブ１１８にアンマウントされ、ディスクスロット１２１に戻される。
【０１８９】
このように、スタブファイル状態のキャッシュファイルがHDD１１６に記録されているコンテンツの読み出しが要求されると、コンテンツの全体のデータを記録している光ディスク１１９からデータが読み出されて、読み出されたデータがキャッシュファイルに格納される。そして、キャッシュファイルに格納されているデータが読み出されて、コンテンツが再生される。
【０１９０】
以上のように、任意の部分を読み出そうとする場合の、待ち時間の発生をより少なくすることができる。
【０１９１】
キャッシュファイルに記録されていないデータを、光ディスク１１９から読み出して、光ディスク１１９から読み出したデータから直接コンテンツを再生するようにしてもよい。
【０１９２】
図１８は、この場合における、本発明の一実施の形態の記録再生システム１０１の他の構成を示すブロック図である。図３に示す場合と同様の部分には同一の符号を付してあり、その説明は省略する。
【０１９３】
HDD１１６は、記録しているストリーム（データ）をバッファ２０１またはセレクタ２０２に供給する。
【０１９４】
バッファ２０１は、半導体メモリまたはHDD１１６の一部の記録領域からなり、HDD１１６から供給されたストリーム（データ）を一時的に記憶して、記憶しているストリーム（データ）をドライブ１１８に供給する。
【０１９５】
セレクタ２０２は、HSM１１３の制御の基に、ドライブ１１８から出力されるデータまたはHDD１１６から出力されるデータのいずれか一方を選択する。バッファ１１５は、セレクタ２０２に選択された、ドライブ１１８から出力されるデータまたはHDD１１６から出力されるデータのいずれか一方を取得し、取得したデータを記憶する。
【０１９６】
なお、セレクタ２０２は、ハードウェアとして設けても良いが、ソフトウェア（処理）によりセレクタ２０２と等価の機能を実現するようにしてもよい。
【０１９７】
また、セレクタ２０２は、ストレージマネージャ１１４の制御の基に、ドライブ１１８から出力されるデータまたはHDD１１６から出力されるデータのいずれか一方を選択するようにしてもよい。
【０１９８】
キャッシュファイルに記録されていないデータを、光ディスク１１９から読み出して、光ディスク１１９から読み出したデータから直接コンテンツを再生する場合、図１９で示されるように、HDD１１６のキャッシュファイルに格納されているデータは、HDD１１６から読み出され、HDD１１６のキャッシュファイルに格納されていないデータは、ドライブ１１８に装着された光ディスク１１９からドライブ１１８によって読み出される。
【０１９９】
すなわち、HDD１１６に予め記録されているスタブ領域のデータはHDD１１６からバッファ１１５に読み出されて、バッファ１１５に一時的に記憶される。HDD１１６に予め記録されていないホール領域のデータは光ディスク１１９から読み出されて、HDD１１６によって記録されずに、バッファ１１５に直接供給されて、バッファ１１５に一時的に記憶される。
【０２００】
アプリケーションプログラム１４１は、バッファ１１５に一時的に記憶されたデータを読み出して、出力画像信号および音声信号を出力する。
【０２０１】
図２０は、キャッシュファイルに記録されていないデータを、光ディスク１１９から読み出して、光ディスク１１９から読み出したデータから直接コンテンツを再生する場合の、インデックス＿ｎからのデータの読み出しの処理を説明するフローチャートである。ステップＳ１２１乃至ステップＳ１２３の処理は、図１４のステップＳ６１乃至ステップＳ６３の処理と同様なのでその説明は省略する。
【０２０２】
ステップＳ１２４において、ストレージマネージャ１１４は、HSM１１３に、インデックス＿ｎに対応する位置からコンテンツのデータの読み出しを指示する。HSM１１３は、HDD１１６に、HDD１１６のキャッシュファイルのインデックス＿ｎに対応するスタブ領域の先頭位置からデータの読み出しを開始させる。
【０２０３】
ストレージマネージャ１１４は、HSM１１３に、光ディスク１１９からのコンテンツのデータの読み出し要求のコマンドを発行する。
【０２０４】
ステップＳ１２５において、HSM１１３は、ステップＳ６５の処理と同様に、ストアデータベース１６６から、対応するキャッシュファイルIDとボリウムIDを参照する。ステップＳ１２６において、ストレージサーバ１６５は、ステップＳ６６の処理と同様に、ボリウムデータベース１６８を基に、ボリウムIDで特定される光ディスク１１９が格納されているディスクスロット１２１を特定する。
【０２０５】
ステップＳ１２７において、ストレージサーバ１６５は、ステップＳ６７の処理と同様に、メディアサーバ１６７に、特定されたディスクスロット１２１に格納されている光ディスク１１９のドライブ１１８への装着を指示する。メディアサーバ１６７は、チェンジャドライバ１４３を介して、ジュークシステム１２０に、特定されたディスクスロット１２１に格納されている光ディスク１１９をドライブ１１８に装着させる。
【０２０６】
このように、光ディスク１１９は、HDD１１６のキャッシュファイルからデータが読み出されている間に、バックグラウンドで、ドライブ１１８に装着される。
【０２０７】
ステップＳ１２８において、HSM１１３は、HDD１１６に記録されているデータである、スタブ領域のデータの読み出しが完了したか否かを判定し、スタブ領域のデータの読み出しが完了していないと判定された場合、ステップＳ１２８に戻り、判定の処理を繰り返す。ステップＳ１２８において、スタブ領域のデータの読み出しが完了したと判定された場合、ステップＳ１２９に進み、HSM１１３は、ドライブ１１８に、装着された光ディスク１１９からのデータの読み出しを開始させる。より具体的には、HSM１１３のマイグレーションファイルシステム１６４は、光ディスク１１９からのデータの読み出しの開始位置を、現在、HDD１１６から読み出されているデータの位置の後のホール領域であって、最も近いホール領域の先頭とする。ストレージサーバ１６５は、開始位置におけるデータを、光ディスク１１９が装着されたドライブ１１８に読み出させる。ドライブ１１８から読み出されたデータは、ストリームデコーダ１２３に供給される。
【０２０８】
ステップＳ１２９の処理の後、手続きは、ステップＳ１３０に進む。
【０２０９】
ステップＳ１３０において、ストレージマネージャ１１４は、コンテンツの最後までデータを読み出したか否かを判定し、コンテンツの最後までデータを読み出していないと判定された場合、ステップＳ１３０に戻り、判定の処理を繰り返す。
【０２１０】
ステップＳ１３０において、コンテンツの最後までデータを読み出したと判定された場合、処理は終了する。
【０２１１】
このようにすることで、HDD１１６へのアクセスをより少なくすることができる。また、HDD１１６の記録領域の使用量をより少なくすることができる。
【０２１２】
光ディスク１１９をドライブ１１８に装着（マウント）した後は、ホール領域を含めた、コンテンツ上の任意の部分のデータを迅速に読み出すことができる。
【０２１３】
なお、図３で示される記録再生システム１０１の処理および図１８で示される記録再生システム１０１の処理を適応的に切り替えるようにしてもよい。
【０２１４】
さらに、記録しているコンテンツをネットワークを介して送信するようにすることもできる。
【０２１５】
図２１は、記録しているコンテンツをネットワークを介して送信する、本発明の一実施の形態の記録再生システムのさらに他の構成を示すブロック図である。図３に示す場合と同様に部分には同一の符号を付してあり、その説明は省略する。
【０２１６】
この場合、記録再生システムは、サーバ３０１と、サーバ３０１にネットワーク３０２を介して接続されるクライアント３０３とからなる。
【０２１７】
サーバ３０１は、HSM１１３、ストレージマネージャ１１４、アプリケーションプログラム１４１、コンテンツマネージャ１４２、チェンジャドライバ１４３、ジュークボックス制御部１４４、ジュークボックス１４５、ストリーミングサーバ３２１、およびネットワークライブラリ３２２を含むように構成される。
【０２１８】
アプリケーションプログラム１４１は、ネットワーク３０２を介してクライアント３０３から送信されてきた画像データおよび音声データを含むストリームを受信し、受信したストリームをストレージマネージャ１６３に供給する。また、アプリケーションプログラム１４１は、ストレージマネージャ１６３から供給されたストリームを、ストリーミングサーバ３２１に送信させる。
【０２１９】
ストリーミングサーバ３２１は、ネットワークライブラリ３２２として記述されている手続きを基に、アプリケーションプログラム１４１から供給されたストリームを、ネットワーク３０２を介して、クライアント３０３に送信する。ストリーミングサーバ３２１は、クライアント３０３から送信されてきた、所定の位置からのコンテンツの再生を要求するデータ（ストリームの送信要求）が受信されると、要求された位置からコンテンツを再生するためのストリームをネットワーク３０２を介して、クライアント３０３に送信する。
【０２２０】
ネットワークライブラリ３２２には、ネットワーク３０２を介した、ストリームまたはデータを送信または受信する手続きが記述されている。
【０２２１】
ネットワーク３０２は、無線または有線を伝送媒体とする、ホームネットワークなどのLAN（Local Area Network）、インターネット、公衆回線、または専用回線などからなり、各種のデータ（ストリームを含む）を伝送する。
【０２２２】
クライアント３０３は、アプリケーションプログラム３４１、ストリーミングクライアント３４２、ネットワーククライアント３４３、ビデオ／オーディオデコーダ３４４、およびビデオオーディオエンコーダ３４５を含むように構成される。
【０２２３】
アプリケーションプログラム３４１は、使用者とのインターフェースの機能を有し、使用者からの指示を取得するか、使用者にクライアント３０３に関する各種の情報を通知する。アプリケーションプログラム１４１は、クライアント３０３全体を制御する。
【０２２４】
ストリーミングクライアント３４２は、ネットワーク３０２を介して、サーバ３０１から送信されてきたストリームを受信して、受信したストリームをビデオ／オーディオデコーダ３４４に供給する。ネットワーククライアント３４３は、ネットワーク３０２を介して、サーバ３０１と各種のデータを送受信する。ネットワーククライアント３４３は、ビデオオーディオエンコーダ３４５から供給されたストリームを、ネットワーク３０２を介して、サーバ３０１に送信する。また、ネットワーククライアント３４３は、所望の位置からのコンテンツの再生を要求するデータ（ストリームの送信要求）を、ネットワーク３０２を介して、サーバ３０１に送信する。
【０２２５】
ビデオ／オーディオデコーダ３４４は、ストリームを画像データおよび音声データに分離する。そして、ビデオ／オーディオデコーダ３４４は、符号化されている画像データおよび音声データを、いわゆるベースバンドの画像データおよび音声データに復号し、復号により得られたベースバンドの画像データおよび音声データを基にした、出力画像信号および音声信号（図示せず）をモニタ１２５に供給する。
【０２２６】
ビデオオーディオエンコーダ３４５は、ビデオカメラ１７１からの入力画像信号および音声信号を取得し、取得した入力画像信号および音声信号をベースバンドの画像データおよび音声データに変換する。ビデオオーディオエンコーダ３４５は、ベースバンドの画像データおよび音声データを符号化し、符号化された画像データおよび音声データを多重化することでストリームを生成する。ビデオオーディオエンコーダ３４５は、生成したストリームをネットワーククライアント３４３に供給する。
【０２２７】
このように、サーバ３０１は、ネットワーク３０２を介して、クライアント３０３に、所望の位置からコンテンツを再生するストリームを、迅速に送信することができる。
【０２２８】
以上のように、本発明によれば、任意の部分を読み出そうとする場合の、待ち時間の発生をより少なくすることができる。
【０２２９】
なお、１次ストレージとして、HDD１１６に代えて、半導体メモリなどの他の高速な記録媒体を用いるようにしもよく、また、２次ストレージとして、光ディスク１１９に代えて、磁気ディスクまたは磁気テープなどの１次ストレージに比較して記録容量当たりの価格が安い他の記録媒体を用いるようにしてもよい。
【０２３０】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２３１】
図２２は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU（Central Processing Unit）４０１は、ROM（Read Only Memory）４０２、記録部４０８、または記録部４０９に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）４０３には、CPU４０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU４０１、ROM４０２、およびRAM４０３は、バス４０４により相互に接続されている。
【０２３２】
なお、CPU４０１として、”Ｃｅｌｌ誕生”、日経エレクトロニクス、日経BP社、２００５年２月２８日、８９頁乃至１１７頁に記載されているＣｅｌｌを採用することができる。
【０２３３】
CPU４０１にはまた、バス４０４を介して入出力インターフェース４０５が接続されている。入出力インターフェース４０５には、キーボード、マウス、マイクロホンなどよりなる入力部４０６、ディスプレイ、スピーカなどよりなる出力部４０７が接続されている。CPU４０１は、入力部４０６から入力される指令に対応して各種の処理を実行する。そして、CPU４０１は、処理の結果を出力部４０７に出力する。
【０２３４】
入出力インターフェース４０５に接続されている記録部４０８は、例えばHDD１１６に対応し、CPU４０１が実行するプログラムや各種のデータを記録する。記録部４０９は、例えばジュークボックス１４５に対応し、各種のデータやCPU４０１が実行するプログラムを記録する。通信部４１０は、インターネットやLANなどのネットワーク３０２を介してクライアント３０３などの外部の装置と通信する。
【０２３５】
また、通信部４１０を介してプログラムを取得し、記録部４０８または記録部４０９に記憶してもよい。
【０２３６】
入出力インターフェース４０５に接続されているドライブ４１１は、磁気ディスク４２１、光ディスク４２２、光磁気ディスク４２３、或いは半導体メモリ４２４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部４０８または記録部４０９に転送され、記録される。
【０２３７】
一連の処理をさせるプログラムが格納されている記録媒体は、図２２に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク４２１（フレキシブルディスクを含む）、光ディスク４２２（CD-ROM(Compact Disc-Read Only Memory)、ＤＶＤ(Digital Versatile Disc)を含む）、光磁気ディスク４２３（ＭＤ(Mini-Disc)（商標）を含む）、若しくは半導体メモリ４２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM４０２や、記録部４０８に含まれるハードディスクまたは記録部４０９に含まれる光ディスク１１９などで構成される。
【０２３８】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインターフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０２３９】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２４０】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０２４１】
【図１】従来の記録再生システムの構成を示すブロック図である。
【図２】従来の再生の処理を説明する図である。
【図３】本発明の一実施の形態の記録再生システムの構成を示すブロック図である。
【図４】記録再生システムのより詳細な構成を示すブロック図である。
【図５】記録再生システムにおいて用いる情報を説明する図である。
【図６】HDDに記録されるキャッシュファイルを説明する図である。
【図７】HDDに記録されるキャッシュファイルおよびキャッシュファイルを用いたコンテンツのデータの読み出しを説明する図である。
【図８】キャッシュファイルを用いたコンテンツのデータの読み出しを説明する図である。
【図９】スタブ状態のキャッシュファイルを説明する図である。
【図１０】領域および拡張属性における領域情報について説明する図である。
【図１１】スタブデータの詳細を説明する図である。
【図１２】ヒント情報の書き込みの処理を説明するフローチャートである。
【図１３】スタブファイル状態のキャッシュファイルの生成の処理を説明するフローチャートである。
【図１４】インデックス＿ｎからのデータの読み出しの処理を説明するフローチャートである。
【図１５】リロードの処理の詳細を説明するフローチャートである。
【図１６】リロードの処理の具体例を説明する図である。
【図１７】リロードの処理の具体例を説明する図である。
【図１８】本発明の一実施の形態の記録再生システムの他の構成を示すブロック図である。
【図１９】キャッシュファイルを用いたコンテンツのデータの読み出しを説明する図である。
【図２０】インデックス＿ｎからのデータの読み出しの処理を説明するフローチャートである。
【図２１】本発明の一実施の形態の記録再生システムのさらに他の構成を示すブロック図である。
【図２２】パーソナルコンピュータの構成の例を示すブロック図である。
【符号の説明】
【０２４２】
１０１  記録再生システム，  １１３  HSM，  １１４  ストレージマネージャ，  １１６  HDD，  １１８  ドライブ，  １１９  光ディスク，  １２０  ジュークシステム，  １２１  ディスクスロット，  １２２  ピッカー，  １４１  アプリケーションプログラム，  １４２  コンテンツマネージャ，  １４４  ジュークボックス制御部，  １４５  ジュークボックス，  １６１  コンテンツデータベース，  １６２  システムマネージャ，  １６３  ファイルＩ／Ｏマネージャ，  １６４  マイグレーションファイルシステム，  １６５  ストレージサーバ，  １６６  ストアデータベース，  １６７  メディアサーバ，  １６８  ボリウムデータベース，  ３０１  サーバ，  ３０２  ネットワーク，  ３０３  クライアント，  ３２１  ストリーミングサーバ，  ４０１  ＣＰＵ，  ４０２  ＲＯＭ，  ４０３  ＲＡＭ，  ４０８  記録部，  ４０９  記録部，  ４１０  通信部，  ４７１  磁気ディスク，  ４２２  光ディスク，  ４２３  光磁気ディスク，  ４２４  半導体メモリ
【図１】
0004419919.tif 000002
【図２】
0004419919.tif 000003
【図３】
0004419919.tif 000004
【図４】
0004419919.tif 000005
【図５】
0004419919.tif 000006
【図６】
0004419919.tif 000007
【図７】
0004419919.tif 000008
【図８】
0004419919.tif 000009
【図９】
0004419919.tif 000010
【図１０】
0004419919.tif 000011
【図１１】
0004419919.tif 000012
【図１２】
0004419919.tif 000013
【図１３】
0004419919.tif 000014
【図１４】
0004419919.tif 000015
【図１５】
0004419919.tif 000016
【図１６】
0004419919.tif 000017
【図１７】
0004419919.tif 000018
【図１８】
0004419919.tif 000019
【図１９】
0004419919.tif 000020
【図２０】
0004419919.tif 000021
【図２１】
0004419919.tif 000022
【図２２】
0004419919.tif 000023