(57)【要約】【課題】ディスクに記録されているコンテンツファイルとローカルストレージに記録されているアップデートのファイルを容易に扱う。【解決手段】ダウンロードされたデータは、Manifest（）セクションのsrc_file_nameのフィールドで指定されるパス名称と、dst_file_nameのフィールドで指定されるパス名称に基づいて、ローカルストレージにおけるパス名称およびファイル名と、仮想ファイルシステムにおけるパス名称およびファイル名のファイルとが異なるものとして取り扱うことができる。本発明は、再生装置に適用できる。【選択図】図１５
2007250161.tif 000002
【特許請求の範囲】
【請求項１】
光ディスクに記録された第１のデータ群と第２のデータ群とを用いて、ＡＶストリームを再生する再生装置において、
前記第１のデータ群を取得する第１の取得手段と、
前記第１のデータ群とともに再生される第２のデータ群を取得する第２の取得手段と、
前記第２の取得手段により取得された前記第２のデータ群を記憶する記憶手段と、
前記記憶手段により記憶されている前記第２のデータ群から、前記記憶手段のディレクトリ構造における前記第２のデータ群のパスを示す第１の情報と、前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを抽出する抽出手段と、
前記第１のデータ群のディレクトリ構造を検出する検出手段と、
前記検出手段により検出された前記第１のデータ群のディレクトリ構造、並びに、前記抽出手段により抽出された前記第１の情報および前記第２の情報を基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムを生成する仮想ファイルシステム生成手段と、
取得された前記第１のデータ群および前記第２のデータ群を前記仮想的なファイルシステムを基に読み出して、前記ＡＶストリームを再生する再生手段と
を備える再生装置。
【請求項２】
光ディスクに記録された第１のデータ群と第２のデータ群とを用いて、ＡＶストリームを再生する再生装置の再生方法において、
前記第１のデータ群とともに再生される第２のデータ群を取得し、
取得された前記第２のデータ群を記憶部に記憶し、
前記記憶部に記憶されている前記第２のデータ群から、前記記憶部のディレクトリ構造における前記第２のデータ群のパスを示す第１の情報と、前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを抽出し、
前記第１のデータ群のディレクトリ構造を検出し、
検出された前記第１のデータ群のディレクトリ構造、並びに、抽出された前記第１の情報および前記第２の情報を基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムを生成し、
前記第１のデータ群および前記第２のデータ群を前記仮想的なファイルシステムを基に読み出して、前記ＡＶストリームを再生する
ステップを含む再生方法。
【請求項３】
光ディスクに記録された第１のデータ群と第２のデータ群とを用いて、ＡＶストリームを再生する処理をコンピュータに実行させるためのプログラムであって、
前記第１のデータ群とともに再生される前記第２のデータ群を取得し、
取得された前記第２のデータ群を記憶部に記憶し、
前記記憶部に記憶されている前記第２のデータ群から、前記記憶部のディレクトリ構造における前記第２のデータ群のパスを示す第１の情報と、前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを抽出し、
前記第１のデータ群のディレクトリ構造を検出し、
検出された前記第１のデータ群のディレクトリ構造、並びに、抽出された前記第１の情報および前記第２の情報を基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムを生成し、
前記第１のデータ群および前記第２のデータ群を前記仮想的なファイルシステムを基に読み出して、前記ＡＶストリームを再生する
ステップを含む処理をコンピュータに実行させるためのプログラム。
【請求項４】
請求項３に記載のプログラムが格納されているプログラム格納媒体。
【請求項５】
着脱可能な光ディスクに記録されている情報を基にＡＶストリームを再生する再生装置と、
前記再生装置にデータを配信するデータ配信装置と
により構成されるデータ配信システムにおいて、
前記再生装置は、
前記光ディスクに記録されている第１のデータ群のディレクトリ構造を検出する検出手段と、
前記データ配信装置から配信される第２のデータ群を取得するデータ取得手段と、
前記データ取得手段により取得された前記第２のデータ群を記憶する第１の記憶手段と、
前記検出手段により検出される前記第１のデータ群のディレクトリ構造、および、前記第２のデータ群の前記記憶手段のディレクトリ構造におけるパス示す第１の情報と前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを含む属性情報に基づいて、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムを生成する仮想ファイルシステム生成手段と
を備え、
前記データ配信装置は、
複数の前記第２のデータ群を記憶する第２の記憶手段と、
前記再生装置への前記第２のデータ群の配信のスケジュールを管理するスケジュール管理手段と、
前記スケジュール管理手段により管理されている前記スケジュールを基に、前記第２の記憶手段により記憶されている複数の前記第２のデータ群のうち、前記再生装置に配信可能なものを選択する選択手段と
を備えるデータ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生装置および再生方法、プログラムおよびプログラム格納媒体、並びに、データ配信システムに関し、特に、記録媒体に記録されているコンテンツのアップデートファイルをダウンロードする場合に用いて好適な、再生装置および再生方法、プログラムおよびプログラム格納媒体、並びに、データ配信システムに関する。
【背景技術】
【０００２】
DVD（Digital Versatile Disc）の再生専用の規格の１つにDVDビデオフォーマットがある。このDVDビデオフォーマットにおいては、ビデオやオーディオなどのコンテンツデータが字幕などの各種のサブピクチャのデータとともに多重化され、プログラムストリームとしてディスクに記録されている。また、そのストリームをインタラクティブに再生するためのナビゲーションデータもディスクに記録されている。
【０００３】
ここで、インタラクティブな再生とは、好みの位置からの再生や好みの順番での再生の他、様々な角度から撮影された映像の再生を可能にするマルチアングル機能、複数の言語の中から好みの言語での再生を可能にするマルチランゲージ機能、暴力シーンなどの、あるシーンの再生を行わないようにするバレンタルコントロール機能など、DVDの各種の機能をユーザが利用して行う再生をいう。
【０００４】
プログラムストリームは、複数のオーディオストリームと複数の字幕データストリームを多重化することも可能とされる。これにより、例えば、映画などの１つのビデオコンテンツに対して、複数の異なる言語の字幕のデータを１枚のディスクに記録させることが可能となり、ユーザは、ビデオの再生開始時や再生中に、好みの言語の音声や字幕を選択することができる。
【０００５】
ところで、ビデオ作品の素材となる効果音や動画、静止画等のコンテンツをユーザが容易にダウンロードすることができるシステムが特許文献１に開示されている。また、音楽データ全体のうちのある部分のデータを、他のデータに置き換えることができる技術が特許文献２に開示されている。
【０００６】
【特許文献１】特開２００３−１４０６６２号公報
【特許文献２】特開２００２−３１１９６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ユーザは、当然、プレーヤに装着している、そのディスクに記録されているコンテンツを再生させることしかできないという課題があった。
【０００８】
したがって、例えば、英語の字幕しか用意されていない映画コンテンツが記録されたディスクを購入した場合、ユーザは、そのディスクに予め記録されている言語である英語の字幕を表示させることができるが、予め記録されている言語とは異なる所望の言語の字幕が表示されている同一の映画コンテンツを視聴するためには、所望の言語の字幕情報が予め記録されている異なるディスクを購入しなければならなかった。
【０００９】
また、ディスクの販売者側とすれば、言語の異なる複数の国で映画コンテンツが記録されたディスクを販売しようとする場合、各言語の字幕情報が記録されたディスクを予め用意したり、または、英語版のディスク、日本語版のディスクなど、複数種類のディスクを用意したりする必要がある。
【００１０】
また、コンテンツの全体を変更するのではなく、例えば、ボーナストラックの追加や、字幕、音声などの一部変更などを行いたい場合にも、ボーナストラックが追加されたディスクや、字幕、音声などが一部変更されたディスクを新たに用意して、再度配布しなければならなかった。
【００１１】
したがって、そのようなディスクを用意するために時間がかかることにより、場合によっては大きなビジネスチャンスを失うことにもなっていた。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、ディスクに記録されているコンテンツのアップデートファイルをダウンロードすることができるようにして、ディスクに記録されているコンテンツファイルとアップデートのファイルを容易に扱うことができるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の第１の側面の再生装置は、光ディスクに記録された第１のデータ群と第２のデータ群とを用いて、ＡＶストリームを再生する再生装置であって、前記第１のデータ群を取得する第１の取得手段と、前記第１のデータ群とともに再生される第２のデータ群を取得する第２の取得手段と、前記第２の取得手段により取得された前記第２のデータ群を記憶する記憶手段と、前記記憶手段により記憶されている前記第２のデータ群から、前記記憶手段のディレクトリ構造における前記第２のデータ群のパスを示す第１の情報と、前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを抽出する抽出手段と、前記第１のデータ群のディレクトリ構造を検出する検出手段と、前記検出手段により検出された前記第１のデータ群のディレクトリ構造、並びに、前記抽出手段により抽出された前記第１の情報および前記第２の情報を基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムを生成する仮想ファイルシステム生成手段と、取得された前記第１のデータ群および前記第２のデータ群を前記仮想的なファイルシステムを基に読み出して、前記ＡＶストリームを再生する再生手段とを備える。
【００１４】
本発明の第１の側面の再生方法は、光ディスクに記録された第１のデータ群と第２のデータ群とを用いて、ＡＶストリームを再生する再生装置の再生方法であって、前記第１のデータ群とともに再生される第２のデータ群を取得し、取得された前記第２のデータ群を記憶部に記憶し、前記記憶部に記憶されている前記第２のデータ群から、前記記憶部のディレクトリ構造ムにおける前記第２のデータ群のパスを示す第１の情報と、前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを抽出し、前記第１のデータ群のディレクトリ構造を検出し、検出された前記第１のデータ群のディレクトリ構造、並びに、抽出された前記第１の情報および前記第２の情報を基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムを生成し、前記第１のデータ群および前記第２のデータ群を前記仮想的なファイルシステムを基に読み出して、前記ＡＶストリームを再生するステップを含む。
【００１５】
本発明の第１の側面のプログラムは、光ディスクに記録された第１のデータ群と第２のデータ群とを用いて、ＡＶストリームを再生する処理をコンピュータに実行させるためのプログラムであって、前記第１のデータ群とともに再生される前記第２のデータ群を取得し、取得された前記第２のデータ群を記憶部に記憶し、前記記憶部に記憶されている前記第２のデータ群から、前記記憶部のディレクトリ構造における前記第２のデータ群のパスを示す第１の情報と、前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを抽出し、前記第１のデータ群のディレクトリ構造を検出し、検出された前記第１のデータ群のディレクトリ構造、並びに、抽出された前記第１の情報および前記第２の情報を基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムを生成し、前記第１のデータ群および前記第２のデータ群を前記仮想的なファイルシステムを基に読み出して、前記ＡＶストリームを再生するステップを含む処理をコンピュータに実行させる。
【００１６】
本発明の第１の側面においては、光ディスクに記録された第１のデータ群と第２のデータ群とを用いて、ＡＶストリームを再生するために、前記第１のデータ群とともに再生される前記第２のデータ群が取得され、取得された前記第２のデータ群が記憶され、前記第２のデータ群から、前記第２のデータ群が記憶されているディレクトリ構造における前記第２のデータ群のパスを示す第１の情報と、前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とが抽出され、前記第１のデータ群のディレクトリ構造が検出され、検出された前記第１のデータ群のディレクトリ構造、並びに、抽出された前記第１の情報および前記第２の情報を基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムが生成され、前記第１のデータ群および前記第２のデータ群が前記仮想的なファイルシステムを基に読み出されて、前記ＡＶストリームが再生される。
【００１７】
本発明の第２の側面のデータ配信システムは、着脱可能な光ディスクに記録されている情報を基にＡＶストリームを再生する再生装置と、前記再生装置にデータを配信するデータ配信装置とにより構成されるデータ配信システムであって、前記再生装置は、前記光ディスクに記録されている第１のデータ群のディレクトリ構造を検出する検出手段と、前記データ配信装置から配信される第２のデータ群を取得するデータ取得手段と、前記データ取得手段により取得された前記第２のデータ群を記憶する第１の記憶手段と、前記検出手段により検出される前記第１のデータ群のディレクトリ構造、および、前記第２のデータ群の前記記憶手段のディレクトリ構造におけるパス示す第１の情報と前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを含む属性情報に基づいて、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムを生成する仮想ファイルシステム生成手段とを備え、前記データ配信装置は、複数の前記第２のデータ群を記憶する第２の記憶手段と、前記再生装置への前記第２のデータ群の配信のスケジュールを管理するスケジュール管理手段と、前記スケジュール管理手段により管理されている前記スケジュールを基に、前記第２の記憶手段により記憶されている複数の前記第２のデータ群のうち、前記再生装置に配信可能なものを選択する選択手段とを備える。
【００１８】
本発明の第２の側面においては、再生装置で、光ディスクに記録されている第１のデータ群のディレクトリ構造が検出され、データ配信装置から配信される第２のデータ群が取得され、取得された前記第２のデータ群が記憶され、前記第１のデータ群のディレクトリ構造、および、前記第２のデータ群が記憶されている領域のディレクトリ構造におけるパス示す第１の情報と前記第２のデータ群の仮想的なファイルシステムにおけるパスを示す第２の情報とを含む属性情報に基づいて、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む前記仮想的なファイルシステムが生成され、前記データ配信装置で、複数の前記第２のデータ群が記憶され、前記再生装置への前記第２のデータ群の配信のスケジュールが管理され、前記スケジュールを基に、前記第２の記憶手段により記憶されている複数の前記第２のデータ群のうち、前記再生装置に配信可能なものが選択される。
【発明の効果】
【００１９】
本発明によれば、再生装置に供給される第１のデータ群と第２のデータ群とを結合して再生するために必要な情報を提供することができる。
【００２０】
また、更に他の本発明によれば、仮想ファイルシステムを構築することができるとともに、仮想ファイルシステムに含まれるデータ群を、所定のスケジュールに従って配信することができる。
【発明を実施するための最良の形態】
【００２１】
以下、図を参照して、本発明の実施の形態について説明する。
【００２２】
図１は、本発明を適用した第１の実施の形態における再生装置１の構成例を示すブロック図である。
【００２３】
コントローラ２１は、予め用意されている制御プログラムを実行するか、または、光ディスクドライブ２２を制御して光ディスク１１に記録されているナビゲーションプログラム（後述）を読み出し、メモリ２３に展開して実行することで、再生装置１の全体の動作を制御する。例えば、コントローラ２１は、光ディスク１１が装着されたとき、所定のメニュー画面を外部の表示装置に表示させることができる。
【００２４】
光ディスクドライブ２２は、コントローラ２１による制御にしたがって光ディスク１１からデータを読み出し、読み出したデータを、コントローラ２１、メモリ２３、または、デコーダ２６に出力する。光ディスク１１から読み出された情報が、ナビゲーションプログラムやPlayListなどであった場合、光ディスクドライブ２２により読み出された情報は、コントローラ２１、または、メモリ２３に出力される。光ディスク１１から読み出された情報が、ＡＶストリームやテキストデータであった場合、光ディスクドライブ２２により読み出された情報は、デコーダ２６に出力される。
【００２５】
図２は、本発明を適用した再生装置１に装着される光ディスク１１のアプリケーションフォーマットの例を示す図である。再生装置１に装着される記録媒体は、光ディスク１１の他、例えば、磁気ディスクや半導体メモリであってもよい。
【００２６】
アプリケーションフォーマットは、ＡＶ（Audio Visual)ストリームの管理のためにPlayListとClipの２つのレイヤをもつ。ここでは、１つのＡＶストリームまたはテキストデータとそれに付随する情報であるClip Informationのペアを１つのオブジェクトと考え、それらをまとめてClipと称する。以下、ＡＶストリームのデータファイルをＡＶストリームファイルと称する。また、Clip InformationのデータファイルをClip Informationファイルと称する。
【００２７】
一般的に、コンピュータ等で用いられるファイルはバイト列として扱われるが、ＡＶストリームファイルのコンテンツは時間軸上に展開され、Clipのアクセスポイントは、主に、タイムスタンプでPlayListにより指定される。
【００２８】
Clip中のアクセスポイントがタイムスタンプでPlayListにより示されている場合、Clip Informationファイルは、タイムスタンプから、ＡＶストリームファイル中のデコードを開始すべきアドレス情報を見つけるために用いられる。
【００２９】
PlayListはＡＶストリームの再生区間を示す情報の集合である。あるＡＶストリーム中の１つの再生区間を示す情報はPlayItemと呼ばれ、PlayItemは、時間軸上の再生区間のIN点（再生開始点）とOUT点（再生終了点）のペアで表される。したがって、PlayListは、図２に示されるように１つ、または複数のPlayItemにより構成される。
【００３０】
図２において、左から１番目に図示されている第１のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側に図示される第１のClipに含まれるＡＶストリームの前半部分と後半部分がそれぞれ参照されている。また、左から２番目に図示されている第２のPlayListは１つのPlayItemから構成され、それにより、右側に図示されている第２のClipに含まれるＡＶストリーム全体が参照されている。更に、左から３番目に図示されている第３のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側に図示されている第１のClipに含まれるＡＶストリームの所定の部分と、右側に図示されている第２のClipに含まれるＡＶストリームの所定の部分とがそれぞれ参照されている。
【００３１】
ナビゲーションプログラム（Navigation program）は、PlayListの再生の順序や、PlayListのインタラクティブな再生をコントロールする機能を、コントローラ２１に実行させるためのプログラムである。また、ナビゲーションプログラムは、各種の再生の実行をユーザが指示するためのメニュー画面を表示する機能なども有する。このナビゲーションプログラムは、例えば、Java（登録商標）などのプログラミング言語で記述され、光ディスク１１などの記録媒体に記録される。例えば、ナビゲーションプログラムがコントローラ２１により実行されて、そのときの再生位置を表す情報として、図２において左から１番目に図示される第１のPlayListに含まれる第１のPlayItemが指定された場合、そのPlayItemが参照する、左側に図示される第１のClipに含まれるＡＶストリームの前半部分の再生が行われる。
【００３２】
また、図２を用いて説明したPlayListには、PlayItemにより指定されるメインパス（Main Path）に加えて、図３に示されるようなサブプレイアイテム（Sub Play Item）を用いて指定されるサブパス（Sub path）の情報を含ませるようにすることもできる。SubPlayItemを定義すると、例えば、PlayItemにより指定されるClip（例えば、MPEG2トランスポートストリーム）に多重化されていない、独立したデータストリームをＡＶストリーム再生に同期して再生させることができる。
【００３３】
例えば、PlayItemにより指定されるメインパス（Main Path）のClip ＡＶストリームに対応させて、テキスト字幕ファイル、および、レンダリングに必要となるフォントファイルから構成される字幕関連情報と、字幕関連情報の再生区間を指定したSubPlayItemを用意することで、Clip ＡＶストリームの再生と同時に、テキスト字幕ファイルに記載されているデータに対応する字幕を、フォントファイルに記載されているフォントデータに基づいた表示フォントで、表示装置に表示させるようにすることができる。また、例えば、PlayItemにより指定されるメインパス（Main Path）のClip ＡＶストリームに対応させて、他言語の吹き替え音声データと、吹き替え音声データに対応したSubPlayItemを用意することで、Clip ＡＶストリームの再生と同時に、他言語の吹き替え音声データを再生出力することができる。
【００３４】
このように、SubPlayItemと、対応するデータ（clip）は、予め光ディスク１１に記録されていても良いし、追加データ（アップデートデータ）として、ネットワーク２を介して、サーバ３からダウンロードされるものであっても良いし、または、リムーバブルメディア（例えば、後述するリムーバブルメディア２８）を用いて取得することができるようにしても良い。このような追加データをサーバ３からダウンロードする場合の詳細については、図４を用いて後述する。
【００３５】
再び、図１の説明に戻る。
【００３６】
メモリ２３は、コントローラ２１が各種の処理を実行する上において必要なデータなどを適宜記憶する。ローカルストレージ２４は、例えば、磁気ディスクにより構成されるHDD(Hard Disk Drive)などより構成される。なお、ローカルストレージ２４は、HDD以外にも、例えば、半導体メモリなどにより構成するようにしてもよく、半導体メモリなどにより構成されたローカルストレージ２４を再生装置１から着脱可能なようにしても良い。
【００３７】
インターネットインタフェース２５は、有線または無線によりネットワーク２に接続されており、コントローラ２１からの制御にしたがって、ネットワーク２を介して、サーバ３との間で通信を行い、サーバ３からダウンロードされたデータをローカルストレージ２４に供給する。サーバ３からは、例えば、そのとき再生装置１に装着されている光ディスク１１に記録されている、図２を用いて説明したデータをアップデートさせるデータがコンテンツとしてダウンロードされる。ローカルストレージ２４は、サーバ３からネットワーク２経由でダウンロードしたコンテンツを記録することができる。
【００３８】
デコーダ２６は、光ディスクドライブ２２、または、ローカルストレージ２４から供給されるＡＶストリーム、または、テキストデータをデコードし、得られたビデオ信号とオーディオ信号を外部の表示装置に出力する。表示装置においては、デコーダ２６によりデコードされた信号に基づいて、例えば、光ディスク１１に記録されているコンテンツの出力（映像の表示、音声の出力）が行われる。
【００３９】
操作入力部２９は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ２１に供給する。
【００４０】
また、コントローラ２１には、必要に応じてドライブ２７も接続されており、ドライブ２７には、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory)，DVDを含む）、光磁気ディスク（ＭＤ（登録商標）（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２８が装着される。
【００４１】
次に、再生装置１に装着された光ディスク１１に記録されたデータ、および、ローカルストレージ２４に記憶されたデータを再生する方法について説明する。
【００４２】
再生装置１はHDD(Hard Disk Drive)などよりなるローカルストレージ２４を内部に備える。再生装置１は、有線または無線によりネットワーク２に接続されており、サーバ３からネットワーク２経由でダウンロードしたコンテンツを、このローカルストレージ２４に記録することができる。サーバ３からは、例えば、そのとき再生装置１に装着されている光ディスク１１に記録されている映画などのコンテンツをアップデートさせるデータをダウンロードすることができる。
【００４３】
ダウンロードされたコンテンツがローカルストレージ２４に記録されている状態で、操作入力部２９から、光ディスク１１に記録されているコンテンツの再生が指示されたとき、コントローラ２１は、光ディスク１１に記録されているコンテンツと、ローカルストレージ２４に記録されているコンテンツを関連付けて、コンテンツの再生処理を実行する。
【００４４】
ここで、光ディスク１１に記録されているコンテンツと、ローカルストレージ２４に記録されているコンテンツを関連付けて再生する方法について、図４を用いて説明する。
【００４５】
例えば、図２の光ディスク１１がパッケージ販売されているメディアであり、ある映画コンテンツが記録されているものとする。また、その映画コンテンツの映像に重畳して表示させることが可能な字幕データファイルとして、英語のテキスト字幕ファイルのみが光ディスク１１に記録されているものとする。
【００４６】
例えば、図４において、光ディスク１１に記録されている、PlayListのPlayItemが参照するClip1のＡＶストリームは、映画コンテンツの映像を表示させ、対応する音声を再生させるためのストリームであり、PlayListのSubPlayItemが参照するClip2の字幕関連情報１は、映像の表示に併せて英語の字幕を表示させるためのテキスト字幕ファイルである。
【００４７】
この状態で、英語とは異なる言語の字幕を表示させて、光ディスク１１に記録されている映画コンテンツを視聴したい場合、光ディスク１１には英語とは異なる言語の字幕データが記録されていないことから、ユーザは、このままでは英語とは異なる言語の字幕データを表示させて、映画を視聴することができない。
【００４８】
そこで、ユーザは、再生装置１に、光ディスク１１に記録されている映画の所望の言語のテキスト字幕ファイルをサーバ３からネットワーク２経由でダウンロードさせる（または、リムーバブルメディア２８を用いて取得させる）。光ディスク１１に予め記録されていない、例えば、アラビア語によるテキスト字幕ファイルのダウンロードが行われた（または、リムーバブルメディア２８からローカルストレージ２４にコピーされた）状態について説明する。
【００４９】
すなわち、ユーザが、光ディスク１１に予め記録されているPlayListに対応する、アラビア語によるテキスト字幕ファイルのダウンロードを指示した場合、再生装置１においては、サーバ３に対するアクセスが行われ、光ディスク１１に記録されているコンテンツをアップデートするものとして、そのサーバ３に用意されているファイルのダウンロードが行われる。
【００５０】
図４の例においては、アラビア語のテキスト字幕ファイル（字幕関連情報２）およびそれに付随するClip Informationファイルで構成されるClip３、光ディスク１１に予め記録されている、例えば、映画コンテンツの映像Clipおよび音声Clip（AVストリームデータ）と英語のテキスト字幕ファイルに加えて、対応するClip３の字幕データの再生表示を制御することができるPlayListファイル（Updated PlayListファイル）、光ディスク１１に記録されているものと比較してアップデートされた新規ナビゲーションプログラムファイルのダウンロードが行われ、それらがローカルストレージ２４に記録される。
【００５１】
なお、Updated PlayListには、メインパスを表すPlayItem以外に、サブパスを表すSubPlayItem１およびSubPlayItem2が付加されている。Updated PlayListのPlayItemは、光ディスク１１に記録されているＡＶ Streamを含むClip1を参照するものであり、SubPlayItem1は、光ディスク１１に記録されている字幕関連情報１を含むClip2を参照するものであり、SubPlayItem2は、Updated PlayListとともにサーバ３からダウンロードされた、アラビア語のテキスト字幕ファイルである字幕関連情報２を含むClip3を参照するものである。
【００５２】
図４の新規ナビゲーションプログラムは、再生区間としてUpdated PlayListのPlayItemとともに、SubPlayItem1またはSubPlayItem2を指定することができるものであり、これにより、例えば、所望の映像および音声データに対応付けて、光ディスク１１に予め記録されている英語によるテキスト字幕ファイルにより定義される英語字幕、または、光ディスク１１に予め記録されていない、アラビア語によるテキスト字幕ファイルにより定義されるアラビア語字幕のうち、ユーザの所望の言語の字幕を表示させることができる。
【００５３】
このように、サーバ３からのダウンロード（または、リムーバブルメディア２８からのコピー）が行われることにより、再生装置１は、英語のテキスト字幕ファイルであるClip2と、光ディスク１１に予め用意されていない、アラビア語のテキスト字幕ファイルであるClip3のいずれかを映画の字幕として再生表示することが可能となる。すなわち、ユーザは、表示装置に表示されるメニュー画面に記載される表示可能な字幕の言語から所望の言語を選択することで、英語とアラビア語のうちの所望する言語の字幕によって映画を視聴することができる。
【００５４】
なお、光ディスク１１に記録されるＡＶストリームは、図５に示すような、MPEG2（Moving Picture Experts Group 2）トランスポートストリームの構造を有する。MPEG2トランスポートストリームは、整数個のAligned unitから構成される。Aligned unitの大きさは、6144バイト(2048×3バイト)であり、ソースパケットの第１バイト目から始まる。ソースパケットは、192バイト長である。１つのソースパケットは、TP_extra_headerとトランスポートパケットから構成される。TP_extra_headerは、４バイト長であり、またトランスポートパケットは、188バイト長である。１つのAligned unitは、３２個のソースパケットから構成される。ビデオストリームやオーディオストリームのデータは、MPEG2 PES（Packetized Elementary Stream）パケットにパケット化されており、PESパケットは、トランスポートパケットにパケット化される。
【００５５】
図６は、図１のコントローラ２１の機能構成例を示すブロック図である。
【００５６】
図６の各構成は、予め用意されている制御プログラムがコントローラ２１により実行されることにより、または、光ディスク１１に記録されているナビゲーションプログラムがコントローラ２１により実行されることにより実現される。
【００５７】
メニュー画面表示制御部３１は、光ディスク１１に記録されているコンテンツの音声、または字幕の言語や、映像のアングルを選択するときにユーザにより操作されるボタンや、ダウンロードするアップデートファイルや、削除されるファイルを選択するときにユーザにより操作されるボタンなどを含むメニュー画面を外部の表示装置に表示させる。
【００５８】
操作入力取得部３２は、操作入力部２９から入力された、ユーザからの操作入力を示す信号を取得し、ユーザからの操作入力を示す信号を、メニュー画面表示制御部３１、データ取得部３３、ローカルストレージディレクトリ管理部３４、または、再生制御部３７のうちの対応する箇所に出力する。
【００５９】
データ取得部３３は、図１のインターネットインタフェース２５において行われる通信、または、ドライブ２７によるリムーバブルメディア２８との情報の授受を制御する。例えば、データ取得部３３は、ユーザが指示したアップデートファイルをサーバ３からダウンロードして取得し、取得したファイルをローカルストレージディレクトリ管理部３４に出力する。また、データ取得部３３は、後述するファイルシステムマージ処理部３６により、必要なファイルを示す情報の供給を受け、必要なファイルを、サーバ３からダウンロードして取得し、取得したファイルをローカルストレージディレクトリ管理部３４に出力する。
【００６０】
ローカルストレージディレクトリ管理部３４は、ローカルストレージ２４のディレクトリを管理し、ローカルストレージ２４に対するデータの書き込み、および、ローカルストレージ２４からのデータの読み出し、並びに、ローカルストレージ２４からのデータの削除を制御する。例えば、ローカルストレージディレクトリ管理部３４の制御によりローカルストレージ２４から読み出されたPlayListは、メモリ２３に出力され、ローカルストレージ２４から読み出されたＡＶストリームの音声データおよび映像データやテキスト字幕ファイルのテキストデータは、デコーダ２６に出力される。また、ローカルストレージディレクトリ管理部３４は、ファイルシステムマージ処理部３６により、光ディスク１１のファイルシステムと、ローカルストレージ２４のファイルシステムとのマージが行われる場合、ローカルストレージ２４のファイルシステムに関する情報をファイルシステムマージ処理部３６に出力する。
【００６１】
光ディスクディレクトリ管理部３５は、光ディスク１１のディレクトリを管理し、光ディスク１１からの各データの読み出しを制御する。光ディスク１１には識別情報であるauthor_idとdisc_idが設定されており、光ディスクディレクトリ管理部３５の制御により、光ディスク１１から読み出されたauthor_idとdisc_idは、データ取得部３３とローカルストレージディレクトリ管理部３４に出力される。また、光ディスクディレクトリ管理部３５の制御により、光ディスク１１から読み出されたPlayListは、メモリ２３に出力され、光ディスク１１から読み出されたＡＶストリームの音声データおよび映像データやテキスト字幕ファイルのテキストデータは、デコーダ２６に出力される。また、光ディスクディレクトリ管理部３５は、ファイルシステムマージ処理部３６により、光ディスク１１のファイルシステムと、ローカルストレージ２４のファイルシステムとのマージが行われる場合、光ディスク１１のファイルシステムに関する情報をファイルシステムマージ処理部３６に出力する。author_idとdisc_idについては、後述する。
【００６２】
ファイルシステムマージ処理部３６は、光ディスクディレクトリ管理部３５から供給される光ディスク１１のファイルシステムと、ローカルストレージディレクトリ管理部３４から供給されるローカルストレージ２４のファイルシステムをマージし、１つの仮想的なファイルシステムを生成する。ファイルシステムマージ処理部３６は、マージすることで生成した仮想的なファイルシステムを再生制御部３７に出力する。
【００６３】
また、ファイルシステムマージ処理部３６は、後述する処理により、ローカルストレージ２４に記録されているいくつかのファイルが削除（消去、すなわち、データのdelete）された場合、そのいくつかのファイルの削除により、仮想ファイルシステムにおけるファイルのリンク構造（すなわち、図２乃至図４を用いて説明した様な、光ディスク１１のアプリケーションフォーマットに基づいた、PlayListによるClipの再生のためのデータの連携）に不具合が発生するか否かを判断し、仮想ファイルシステムにおけるファイルのリンク構造に不具合が発生すると判断された場合、不具合の解消に必要なファイルを抽出し、データ取得部３３に必要なファイルを示す情報を供給して、必要なファイルをダウンロードさせることができる。
【００６４】
更に、ファイルシステムマージ処理部３６は、後述する処理により、ローカルストレージ２４に記録されているいくつかのファイルが削除されたことにより、例えば、仮想ファイルシステムにおいて、いずれのPlayListによっても再生されない（全てのPlayListによって指定されない）ファイルが発生した場合、このような不必要なファイルを削除することをローカルストレージディレクトリ管理部３４に指令することができる。
【００６５】
なお、いくつかのファイルが削除されたことにより発生する不必要なファイルを削除するか否かをユーザにより設定可能なようにしても良い。
【００６６】
再生制御部３７は、ファイルシステムマージ処理部３６から供給される仮想ファイルシステムで指定されるナビゲーションプログラムを実行し、コンテンツの再生を制御する。具体的には、再生制御部３７は、メモリ２３に供給され、記憶されたPlayListを参照し、ローカルストレージディレクトリ管理部３４または光ディスクディレクトリ管理部３５を制御して、光ディスク１１またはローカルストレージ２４に記録されているＡＶストリームの音声データ、映像データ、および、必要に応じてテキスト字幕ファイルのテキストデータを、仮想ファイルシステムに基づいて読み出させ、図１のデコーダ２６を制御して、光ディスク１１またはローカルストレージ２４に記録されているＡＶストリームの音声データ、映像データ、および、必要に応じてテキスト字幕ファイルのテキストデータのデコード（再生）を行わせる。
【００６７】
ここで、ファイルシステムマージ処理部３６により行われる、光ディスク１１のファイルシステムと、サーバ３からダウンロードするなどによりローカルストレージ２４に記録されたデータ群を管理するファイルシステムのマージについて説明する。このマージは、例えば、光ディスク１１が再生装置に装着されたとき、光ディスク１１に記録されているコンテンツの再生が指示されたとき、光ディスク１１またはローカルストレージ２４に記録されているいずれかのデータの入出力が指令されたとき、または、ユーザによりマージが指令されたときなどに行われる。
【００６８】
再生装置１のシステムが持つネイティブなファイルシステム（光ディスク１１またはローカルストレージ２４に実際に記録されているデータのファイルシステム）の上位レイヤとして、仮想ファイルシステムが定義される。すなわち、図７に示されるように、サーバ３から新たなデータをダウンロードして、ローカルディスク２４に記録させたり、光ディスク１１またはローカルストレージ２４に実際に記録されているデータを再生する処理を実行するアプリケーションプログラム、または、そのアプリケーションプログラムを扱うユーザが認識可能なのは、上位レイヤである仮想ファイルシステムのみである。換言すれば、仮想ファイルシステムは、ネイティブなファイルシステムを抽象化し、再生装置１内の物理デバイスやオペレーティングシステムなどのネイティブな構造を隠蔽するために構築される。
【００６９】
仮想ファイルシステムの役割は、主に、物理デバイス（光ディスク１１またはローカルストレージ２４）におけるファイル／ディレクトリをマウントして、ユーザから認識される仮想ディスク（Virtual Disc）のファイルシステムを構成することと、アプリケーションプログラムに対して、構築された仮想ディスクへのファイルアクセスAPIを提供することである。
【００７０】
例えば、ユーザが、光ディスク１１またはローカルストレージ２４に記録されているいずれかのファイルへのアクセスを要求する操作入力を行った場合、図８に示されるように、アプリケーションプログラムには、仮想ファイルシステムのみしか認識できない。そして、実際の物理デバイスである光ディスク１１またはローカルストレージ２４に記録されているローカルファイルシステム#１、ローカルファイルシステム＃２、または、光ディスク１１内のファイルシステムの構造は、アプリケーションプログラムと、アプリケーションプリグラムを取り扱うユーザから隠蔽されるとともに、仮想ファイルシステムを介して、アクセス可能なようになされている。
【００７１】
図８に示されるファイルアクセス要求を実行するために、再生装置１のアプリケーションプログラムは、仮想ファイルシステムが提供するファイル入出力のAPI（Application Programming Interface）を呼び出すことにより、ディスクドライブの物理的な構成やファイルシステムのソフトウェア構成などを意識することなく、光ディスク１１またはローカルストレージ２４に実際に記録されているデータにアクセスすることができる。すなわち、仮想ファイルシステムのAPIは、実際には、再生装置１の内部でネイティブなファイルシステムのAPIを呼び出している。
【００７２】
仮想ファイルシステムは各種のAPIを提供しており、例えば、指定したファイルを開くopen（）、指定したファイルを閉じるclose（）、指定したファイルの読み出し位置または書き込み位置を設定するseek（）、指定したファイルの状態を取得するstat（）、指定したファイルを読み出すread（）、指定したファイルを書き込むwrite（）などのAPIが提供される。再生制御部３９などにより実行されるアプリケーションプログラムは、これらのAPIを利用して、光ディスク１１またはローカルストレージ２４に記録されているファイルを操作する。
【００７３】
また、仮想ファイルシステムは、ローカルストレージ２４のディスク領域を分割管理する機能を持つ。ローカルストレージ２４のディスク領域は、例えば、図９に示されるように、コンテンツの配給元（コンテンツオーサ）ごとに分割されたディレクトリ構造を有し、author_id直下のディレクトリであるdisc_id以下は、コンテンツオーサにより、フレキシブルなファイル／ディレクトリ構造を構成することができる。ローカルストレージ２４に記憶されるデータが、ローカルストレージ２４のディスク領域のどこに配置されるか、すなわち、ダウンロードされるファイルのファイル／ディレクトリ構造は、ダウンロードされるデータに含まれるメタデータ（後述するManifestデータ）の記述により指定される。
【００７４】
ローカルストレージ２４のファイル／ディレクトリ構造において、ディレクトリを分割するauthor_idは、コンテンツ作成元を一意に識別するための識別子であり、disc_idは、author_idにより特定されたコンテンツ作成元に対して、光ディスク１１を一意に識別するための識別子であり、それぞれ、ダウンロードされるデータのメタデータ（後述するManifestデータ）に含まれる情報である。メタデータ（Manifestデータ）並びに、author_idおよびdisc_idについては後述する。
【００７５】
これに対して、アプリケーションからアクセス可能な仮想ディスクのディレクトリ／ファイル構造は、光ディスク１１のディレクトリ／ファイル構造に従うようになされている。すなわち、再生装置１に装着された光ディスク１１に対して、対応するauthor_idおよびdisc_id以下のデータのファイル構造が、光ディスク１１に記録されているデータのファイル構造とマージされ、光ディスク１１のディレクトリ／ファイル構造に基づいたディレクトリ／ファイル構造を有する仮想ディスクの仮想ファイルシステムが構成される。
【００７６】
また、仮想ファイルシステムは、ディレクトリおよびファイルの管理機構のほかに、disc単位でメタデータ、すなわち、後述するManifestファイルを管理する機能を持つ。仮想ファイルシステムが、ネイティブなファイルシステムのファイルモデルに対して、メタデータのフィールドを定義する目的は、ユーザに対して、実際にローカルディスク２４に記録されているファイルのパスまたはファイル名を提示するのではなく、コンテンツ内容を表現した名称を提供することと、ダウンロード処理において同一ファイルの二重更新を防止することと、仮想ファイルシステム内でのパス名称、すなわち、光ディスク１１再生時におけるパス名称を定義することとの３つである。
【００７７】
そして、仮想ファイルシステムは、メタデータ管理のために、Manifestファイルとメタデータ操作手続きの、二つの機能を提供する。Manifestファイルとは、ダウンロードされたファイルの各種属性を示すメタデータであり、Manifest（）は、対応するファイル単位で保存しても、１つのファイルにマージして、Manifest（）セクションの識別子であるmanifest_id（図１０において後述）をキーに識別可能なようにしてもよい。いずれの形態であっても、ここでは、Manifestファイルと総称する。ローカルストレージ２４にダウンロードされたファイルを保持している再生装置１は、Manifestファイルを保持していなければならない。また、Manifestファイルは、XMLに代表されるタグ付言語によるテキスト表現をとることも可能である。
【００７８】
図１０は、Manifestファイルのシンタックスを示す図である。
【００７９】
manifest_idは、このManifest（）セクションの識別子である。
【００８０】
author_idは、コンテンツ作成元を一意に識別するための識別子を指定するためのフィールドである。この識別子は、図１７を用いて後述する、コンテンツ配布用ファイルのauthor_idフィールドを参照することで決定され、アプリケーションプログラムまたはユーザは、このフィールドに自由に値を設定することはできない。
【００８１】
disc_idは、author_idにより特定されたコンテンツ作成元に対して、光ディスク１１を一意に識別するための識別子を指定するためのフィールドである。この識別子は、図１７を用いて後述する、コンテンツ配布用ファイルのdisc_idフィールドを参照することで決定され、アプリケーションプログラムまたはユーザは、本フィールドに自由に値を設定することはできない。
【００８２】
versionは、コンテンツオーサが履歴管理のために使用するフィールドである。履歴番号は、１から２５５までの数値によって表現され、数値が大きいほど新しいコンテンツであるものとする。この識別子は、図１７を用いて後述する、コンテンツ配布用ファイルのversiondフィールドを参照することで決定され、アプリケーションプログラムまたはユーザは、このフィールドに自由に値を設定することはできない。
【００８３】
display_nameには、ユーザに分かり易い名前が定義される。具体的には、display_nameには、例えば、「タイトルxxxの日本語字幕」などのように、ファイル名称からは連想しづらい内容を表現する文字列が設定される。文字列は、ISO/IEC 10646-1規格に従い符号化されているものとする。
【００８４】
sourceには、ファイルの配信元を示す情報が記述される。本フィールド値は、ISO/IEC 646規格に従い符号化するものとする。ネットワークダウンロードの場合、ダウンロード元のURLが記述される。
【００８５】
operation_typeは、ファイルの更新方法をコンテンツオーサが指定するための８ビットのフィールドである。図１１に、operation_typeに指定可能な値の一覧を示す。
【００８６】
operation_typeの８ビットのフィールドに、0x01が記載されていたとき、アーカイブ内ファイルの更新方法は、PlayListの置換（交換）である。すなわち、operation_typeの８ビットのフィールドに、0x01が記載されているアップデートファイルがダウンロードされた場合、このアップデートファイルを用いてマージされて作成される仮想ファイルシステムにおいては、ダウンロードされてローカルストレージ２４に記録されているPlayListがそのままの状態で参照され、光ディスク１１のPlayListは全く参照されない。
【００８７】
operation_typeの８ビットのフィールドに、0x01が記載されていた場合のファイルの更新方法の詳細については、図１８および図１９を用いて後述する。
【００８８】
また、operation_typeの８ビットのフィールドに、0x02が記載されていたとき、ダウンロードされたファイルから、SubPath要素が抽出され、光ディスク１１に記録されているSubPath要素に、抽出されたSubPath要素が加えられるようにファイルシステムがマージされて更新される。
【００８９】
operation_typeの８ビットのフィールドに、0x02が記載されていた場合のファイルの更新方法の詳細については、図２０および図２１を用いて後述する。
【００９０】
また、operation_typeの８ビットのフィールドに、0x03が記載されていたとき、ダウンロードされたファイルから、SubPlayItem要素が抽出され、光ディスク１１に記録されているSubPlayItem要素に、抽出されたSubPlayItem要素が加えられるようにファイルシステムがマージされて更新される。
【００９１】
例えば、operation_typeの８ビットのフィールドに、0x03が記載されていた場合のファイルの更新方法の詳細については、図２２乃至図２５を用いて後述する。
【００９２】
そして、operation_typeの８ビットのフィールドに、0x04が記載されていたとき、ダウンロードされたファイルから、SubClip_entry要素が抽出され、光ディスク１１に記録されているSubClip_entry要素に、抽出されたSubClip_entry要素が加えられるようにファイルシステムがマージされて更新される。
【００９３】
例えば、operation_typeの８ビットのフィールドに、0x04が記載されていた場合のファイルの更新方法の詳細については、図２６および図２７を用いて後述する。
【００９４】
次に、permissionは、ユーザに対して可視属性にしてよいか、不可視属性にしておくかなどの許認可情報をコンテンツオーサが指定するためのフィールドである。
【００９５】
図１２に、図１０のManifest（）に含まれるpermissionに指定可能な値の一覧を示す。
【００９６】
図１２に示されるように、permissionの８ビットのフィールドに、0x00が記載されている場合、このメタデータを付随しているファイルの属性は、ユーザに対して不可視属性であり、permissionの８ビットのフィールドに、0x01が記載されている場合、このメタデータを付随しているファイルの属性は、ユーザに対して可視属性であり、permissionの８ビットのフィールドに、0x02が記載されている場合、このメタデータを付随しているファイルの属性は、上書き禁止属性である。
【００９７】
そして、src_file_nameは、ローカルストレージ２４のファイルシステムにおいて、このファイルがディレクトリ構造のどこに記録されるかを一義に指定できる情報、すなわち、ローカルストレージ２４のファイルシステムの階層構造におけるファイル位置を使ってファイルを特定する、いわゆるパスを表す「パス名称」を指定するためのフィールドである。パス名称を表現するためのファイルやディレクトリの名称は、ISO/IEC 646規格に従い符号化されているものとする。
【００９８】
dst_file_nameは、実際にはローカルストレージ２４に記憶されるファイルの仮想ディスクにおけるバインド先において、このファイルがディレクトリ構造のどこに記録されるかを一義に指定できる情報、すなわち、仮想ファイルシステムの階層構造におけるファイル位置を使ってファイルを特定する、いわゆるパスを表す「パス名称」を指定するためのフィールドである。パス名称を表現するためのファイルやディレクトリの名称は、ISO/IEC 646規格に従い符号化されているものとする。
【００９９】
なお、src_file_nameとdst_file_nameには、同一名称を指定することもできる。
【０１００】
次に、メタデータ操作手続きについて説明する。
【０１０１】
仮想ファイルシステムは、アプリケーションプログラムまたはユーザに対して、Manifest（）のファイル名称、ファイル位置、または、物理構造などを公開せずに、Manifest（）の内容を読み出すためのAPIを定義している。
【０１０２】
すなわち、アプリケーションプログラム、または、再生装置１で実行されるレジデント（常駐）プログラムは、以下のAPIを呼び出すことにより間接的にManifest（）にアクセスすることができる。
【０１０３】
getProperty
引数１:
文字列型データ
メタデータ操作の対象となるファイルの絶対パス名称
引数２:
文字列型データ
読み出したいメタデータの要素名
戻り値:
文字列型データ
引数で指定した要素に対応するメタデータ
機能:
Manifest（）からメタデータを読み出す
【０１０４】
なお、実際には、型情報などの詳細なAPIの定義は、再生装置１のソフトウェア実行環境のプログラミング言語仕様に依存して変更されなければならない。
【０１０５】
図１３は、光ディスク１１のファイルシステムの例を示す図である。図１３に示されるように、光ディスク１１のファイルシステムはディレクトリ構造を有している。
【０１０６】
光ディスク１１の「root」の下には「BDMV」の名前が設定されたディレクトリが用意され、そのディレクトリに、「Index.bdmv」の名前が設定されたファイルと、「MovieObjects.bdmv」の名前が設定されたファイルが格納されている。以下、適宜、これらのファイルをそれぞれIndexファイル、MovieObjectファイルと称する。また、適宜、各ファイルについては、「ファイル名」に「ファイル」を付加した形で、または、各ディレクトリについては、「ディレクトリ名」に「ディレクトリ」を付加した形で称する。
【０１０７】
Indexファイルは、光ディスク１１を再生するメニューに関する情報を含む。再生装置１は、例えば、光ディスク１１のコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面をIndexファイルに基づいて、表示装置に表示させる。Indexファイルには各項目が選択されたときに実行するMovieObjectを設定することができ、ユーザにより再生メニュー画面から１つの項目が選択された場合、再生装置１はIndexファイルに設定されているMovieObjectのコマンドを実行する。
【０１０８】
MovieObjectファイルは、MovieObjectを含むファイルである。MovieObjectは、光ディスク１１に記録されているPlayListの再生を制御するコマンドを含み、例えば、再生装置１は、光ディスク１１に記録されているMovieObjectの中から１つを選択して、実行することにより、光ディスク１１に記録されているコンテンツを再生させることができる。
【０１０９】
BDMVディレクトリにはまた、「BACKUP」の名前が設定されたディレクトリ（BACKUPディレクトリ）、「PLAYLIST」の名前が設定されたディレクトリ（PLAYLISTディレクトリ）、「CLIPINF」の名前が設定されたディレクトリ（CLIPINFディレクトリ）、「STREAM」の名前が設定されたディレクトリ（STREAMディレクトリ）、「AUXDATA」の名前が設定されたディレクトリ（AUXDATAディレクトリ）が設けられている。
【０１１０】
BACKUPディレクトリには、光ディスク１１に記録されているファイルやデータをバックアップするためのファイルやデータが記録される。
【０１１１】
PLAYLISTディレクトリには、PlayListファイルが格納される。各PlayListファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.mpls」を付加した名称が命名される。
【０１１２】
CLIPINFディレクトリには、Clip Informationファイルが格納される。各Clip Informationファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.clpi」を付加した名称が命名される。
【０１１３】
STREAMディレクトリには、Clip ＡＶストリームファイルやサブストリームファイルが格納される。各ストリームファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.m2ts」を付加した名称が命名される。
【０１１４】
AUXDATAディレクトリには、Clip ＡＶストリームファイルやサブストリームファイルに含まれずに、Clip ＡＶストリームファイルやサブストリームファイルから参照されるデータや、Clip ＡＶストリームファイルやサブストリームファイルとは独立して利用されるデータなどのファイルが格納される。図１３の例においては、AUXDATAディレクトリには、「11111.otf」の名前がつけられている字幕のフォントのファイル、「sound.bdmv」の名前が設定された効果音が格納されている。
【０１１５】
また、光ディスク１１には、製作会社や映画の配給会社などの光ディスク１１のコンテンツ製作元であるコンテンツオーサ（または、タイトルオーサとも称する）を識別するために各コンテンツオーサに割り当てられた識別子であるauthor_id、および、author_idに示されるコンテンツオーサにおいて製作された光ディスク１１の種類を識別するために割り当てられた識別子であるdisc_idが、ユーザなどにより書き換えることができないセキュアな電子データとして、または、物理的にピットによって記録されている。
【０１１６】
図１４は、ローカルストレージ２４のファイルシステムの例を示す図である。図１４に示されるように、ローカルストレージ２４のファイルシステムもディレクトリ構造を有している。
【０１１７】
ローカルストレージ２４の「root」の下には、少なくとも１つの「author_id」の名前が設定されたディレクトリが用意され、「author_id」ディレクトリの下には、少なくとも１つの「disc_id」の名前が設定されたディレクトリが用意されている。そして、「disc_id」のディレクトリには、Manifest（）セクションの集合、または、１つのManifest（）セクションからなるManifestファイルが含まれている。そして、それ以外のディレクトリやファイルの構造は、コンテンツオーサにより自由に設定可能であり、例えば、図１３を用いて説明した光ディスク１１のディレクトリ／ファイル構造と同様のものであっても良いし、図１４に示されるように、図１３を用いて説明した光ディスク１１のディレクトリ／ファイル構造とまったく異なるものであっても良い。
【０１１８】
例えば、図１４においては、「disc_id」のディレクトリには、Manifestファイル以外に、「MainMovie」ディレクトリ、「SubTitle」ディレクトリ、「AUXDATA」ディレクトリなどの複数のフォルダが設定され、これらのディレクトリは、更に、フォルダ、または、ファイルを含むことができる。
【０１１９】
図１４に示されるローカルストレージ２４のディレクトリ／ファイル構造は、再生装置１において実行されるアプリケーションプログラム、または、ユーザから隠蔽されている。
【０１２０】
例えば、図１０を用いて説明したManifest（）セクションにおいて、src_file_nameのフィールドに「/MainMovie/movie01/main.r1.jp.mp2」とパス名称が指定され、dst_file_nameのフィールドに「/STREAM/01002.m2ts」とパス名称が指定されている場合、ダウンロードされたデータは、図１５に示されるように、ローカルストレージ２４において、対応するauthor_idおよびdisc_idの下の、MainMovieディレクトリ内のmovie01ディレクトリに、main.r1.jp.mp2というファイル名で記録されるが、仮想ディスクにおける仮想ファイルシステムにおいては、STREAMディレクトリの01002.m2tsというファイル名のファイルとして取り扱われる。
【０１２１】
このように、コンテンツオーサは、ダウンロードされるファイルパッケージのManifest（）セクションのsrc_file_nameのフィールドに、ローカルストレージ２４におけるパス名称を指定し、dst_file_nameのフィールドに、仮想ディスクにおける仮想ファイルシステムのパス名称を指定することができる。したがって、dst_file_nameのフィールドに、仮想ディスクにおける仮想ファイルシステムに適応したパス名称を設定すれば、コンテンツオーサは、再生装置１の、ローカルストレージ２４に実際に記録されるデータのdisc_id以下のファイル／ディレクトリ構造を自由に設定し、disc_id以下の領域にディレクトリやファイルを新しく追加することが可能となる。
【０１２２】
また、実ファイルをダウンロードするときに、Manifest（）セクションのdst_file_nameのフィールドを空欄とした場合、そのファイルは、再生装置１において実行されるアプリケーションプログラムから参照することができない（すなわち、再生装置１において実行されるアプリケーションプログラムやユーザから、そのファイルの存在を認識することができない）。すなわち、実ファイルはローカルストレージ２４に記憶され、ローカルストレージのファイルシステムにおいては、そのファイルは正しく認識されているが、dst_file_nameのフィールドを空欄とすることにより、仮想ファイルシステムには存在しないこととすることができ、再生装置１において実行されるアプリケーションプログラムやユーザからは隠蔽することが可能である。
【０１２３】
これを利用して、例えば、Manifest（）セクションのdst_file_nameのフィールドを空欄として実ファイルをダウンロードさせ、後日、同一のManifest_idを有し、dst_file_nameフィールドに、仮想ファイルシステムにおける所定のパス名称が記載されたManifest（）セクションを改めてダウンロードさせてManifest（）セクションを上書きさせることにより、再生装置１において実行されるアプリケーションプログラムからは、新たなManifest（）セクションがダウンロードされたタイミングで、実ファイルがダウンロードされたのと同様に取り扱わせるようにすることができる。
【０１２４】
このようにすることにより、例えば、複数のボーナストラックを一度にダウンロード、または、所定の記録媒体などにより配布させておいて、その後、異なるボーナストラックをアプリケーションにより認識させることができるようにdst_file_name フィールドが記載されたManifest（）セクションのみを、所定の時期ごとにダウンロードさせて、上書きさせることにより、大容量のデータをたびたびダウンロードさせることなく、時期ごとに異なるボーナストラックが追加されるようなサービスをユーザに提供することが可能である。
【０１２５】
また、光ディスク１１およびローカルストレージ２４における実際のファイルシステムと、仮想ディスクのファイルシステムとの同期（バインド）方式は、いわゆるスタティックバインディング方式であっても、ダイナミックバインディング方式であっても、仮想ファイルシステムを更新するために新たなAPI（例えば、update()）を定義し、ユーザ操作、または、アプリケーションプログラムにより明示的にそのAPIが呼び出されたときに、仮想ファイルシステムが更新されるようにしてもよい。
【０１２６】
なお、スタティックバインディングとは、光ディスク１１が再生装置１に装着された時点、または、再生タイトルが切り替わったタイミングで、光ディスク１１およびローカルストレージ２４における実際のファイルシステムを参照し、仮想ファイルシステムのディレクトリ／ファイル構造をマッピングするものであり、ダイナミックバインディングとは、ファイル入出力要求が発行された時点で、必要なファイルを探索するものである。
【０１２７】
仮想ディスクのディレクトリ／ファイル構造は、上述したように、光ディスク１１のディレクトリ／ファイル構造に合致するようになされると好適である。光ディスク１１のディレクトリ／ファイル構造は、規格などにより予め定められ、変更することができない場合が多く、ローカルストレージ２４における実際のファイルシステムのディレクトリやファイルの構造は、コンテンツオーサにより自由に設定可能であるほうが好適である。このため、仮想ディスクのディレクトリ／ファイル構造を、変更することができない光ディスク１１のディレクトリ／ファイル構造に基づいて設定することができるようにすると、コンテンツオーサにより配布されるデータの自由度を維持しつつ、光ディスク１１のアプリケーションフォーマット等の規格に合致した再生処理を実行させることができるので好適である。
【０１２８】
仮想ディスクにおけるディレクトリ／ファイル構造の例を図１６に示す。
【０１２９】
図１６に示される仮想ディスクのディレクトリ／ファイル構造において、「root」の下には「BDMV」の名前が設定されたディレクトリが用意され、そのディレクトリに、「Index.bdmv」の名前が設定されたファイルと、「MovieObjects.bdmv」の名前が設定されたファイルが格納されている。
【０１３０】
Indexファイルは、光ディスク１１およびローカルストレージ２４に記録され、アプリケーションプログラムから仮想ディスクに記録されているものとして取り扱われるコンテンツを再生するメニューに関する情報を含む。再生装置１は、例えば、仮想ディスクに記録されているものとして取り扱われるコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面をIndexファイルに基づいて、表示装置に表示させる。Indexファイルには各項目が選択されたときに実行するMovieObjectを設定することができ、ユーザにより再生メニュー画面から１つの項目が選択された場合、再生装置１はIndexファイルに設定されているMovieObjectのコマンドを実行する。
【０１３１】
Indexファイルについての詳細は、図３７および図３８を用いて後述する。
【０１３２】
MovieObjectファイルは、MovieObjectを含むファイルである。MovieObjectは、仮想ディスクに記録されているものとして取り扱われるPlayListの再生を制御するコマンドを含み、例えば、再生装置１は、仮想ディスクに記録されているものとして取り扱われるMovieObjectの中から１つを選択して、実行することにより、仮想ディスクに記録されているものとして取り扱われるコンテンツを再生させることができる。
【０１３３】
BDMVディレクトリにはまた、「BACKUP」の名前が設定されたディレクトリ（BACKUPディレクトリ）、「PLAYLIST」の名前が設定されたディレクトリ（PLAYLISTディレクトリ）、「CLIPINF」の名前が設定されたディレクトリ（CLIPINFディレクトリ）、「STREAM」の名前が設定されたディレクトリ（STREAMディレクトリ）、「AUXDATA」の名前が設定されたディレクトリ（AUXDATAディレクトリ）が設けられている。
【０１３４】
BACKUPディレクトリには、仮想ディスクに記録されているものとして取り扱われるファイルやデータをバックアップするためのファイルやデータが記録される。
【０１３５】
PLAYLISTディレクトリには、PlayListファイルが格納される。各PlayListファイルには、光ディスク１１における場合と同様に、５桁の数字からなるファイル名に拡張子「.mpls」を付加した名称が命名される。
【０１３６】
CLIPINFディレクトリには、Clip Informationファイルが格納される。各Clip Informationファイルには、光ディスク１１における場合と同様に、５桁の数字からなるファイル名に拡張子「.clpi」を付加した名称が命名される。
【０１３７】
STREAMディレクトリには、Clip ＡＶストリームファイルやサブストリームファイルが格納される。各ストリームファイルには、光ディスク１１における場合と同様に、５桁の数字からなるファイル名に拡張子「.m2ts」を付加した名称が命名される。
【０１３８】
AUXDATAディレクトリには、仮想ディスクに記録されているものとして取り扱われるClip ＡＶストリームファイルやサブストリームファイルに含まれずに、Clip ＡＶストリームファイルやサブストリームファイルから参照されるデータや、Clip ＡＶストリームファイルやサブストリームファイルとは独立して利用されるデータなどのファイルが格納される。
【０１３９】
なお、ユーザに提供されるメニュー画面において、ファイルを示す情報は、通常、display_nameのフィールドにおいて指定された名称となるが、例えば、図１６を用いて説明した、仮想ディスクにおけるディレクトリ／ファイル構造は、アプリケーションまたはユーザから隠蔽されないものであるので、再生装置１において実行されるアプリケーションによっては、仮想ディスクにおけるディレクトリ／ファイル構造を、ユーザに提示するようにしてもかまわない。
【０１４０】
次に、図１７を用いて、コンテンツオーサがコンテンツを配布する際のコンテンツ配布用ファイル形式の定義について説明する。コンテンツの配布の際のファイル形式は、コンテンツファイル単位での個別配布であっても良いが、図１７に示されるように、メタデータ（Manifest()）を含むアーカイブ形式であっても良い。
【０１４１】
ただし、アーカイブ中のPackage_header（）セクションおよびPackage_Body（）セクションに関しては、XMLに代表されるタグ付言語によるテキスト表現もとることができる。
【０１４２】
なお、コンテンツオーサがコンテンツをファイル単位で個別配布するとき、メタデータ（Manifest()）は単独のバイナリーファイルまたはテキストファイルとして扱われる。すなわち、ファイル単位で配布されたコンテンツに関連付けられるManifest（）には、追加後のディレクトリ構造を見越して、ふさわしい状態が記述されていなければならない。
【０１４３】
compression_typeは、Package_Body（）内データの圧縮方式を指定するためのフィールドである。本フィールドに０が指定されている場合は、Package_Body（）内データは、非圧縮形式であるものとする。
【０１４４】
encryption_typeは、Package_Body（）内データのスクランブル方式（暗号化方式）を指定するためのフィールドである。本フィールドに０が指定されている場合は、Package_Body（）内データは、ノンスクランブル（平文）形式であるものとする。
【０１４５】
なお、Package_Body（）内データのスクランブルと圧縮の順序は、１.圧縮処理、２.スクランブル処理の順番で行われるものとする。
【０１４６】
file_countは、アーカイブするファイルの総数を指定するためのフィールドである。
【０１４７】
manifest_idは、このManifest（）セクションの識別子を指定するためのフィールドである。
【０１４８】
アーカイブデータがダウンロードされた後、Manifest（）セクションは、ローカルストレージ２４において、対応するダウンロードファイル単位（アーカイブデータ単位）で保存されるようにしても、１つのファイルにマージされるようにして、Manifest（）セクションの識別子であるmanifest_idをキーに識別可能なようにしてもよい。
【０１４９】
author_idは、コンテンツ作成元を一意に識別するための識別子をコンテンツオーサが指定するためのフィールドである。
【０１５０】
disc_idは、特定のコンテンツ作成元において、光ディスク１１を一意に識別するための識別子をコンテンツオーサが指定するためのフィールドである。すなわち、このアーカイブは、disc_idで指定される光ディスク１１に対するアップデートデータである。
【０１５１】
versionは、コンテンツオーサが履歴管理のために使用するためのフィールドである。履歴番号は、１から２５５までの数値によって表現され、数値が大きいほど新しいコンテンツであるものとする。
【０１５２】
sourceは、このManifest（）に関連付けられたファイルのソースURLを記述するためのフィールドである。文字列は、ISO/IEC 10646-1規格に従い符号化されているものとする。
【０１５３】
operation_typeは、コンテンツ更新手続きをコンテンツオーサが指定するためのフィールドである。operation_typeが指定可能な値については、図１１を用いて説明した場合と同一である。
【０１５４】
display_nameは、ユーザ分かり易い名前をコンテンツオーサが指定するためのフィールドである。例えば、「タイトルxxxの日本語字幕」などのようにファイル名称からは連想しづらい内容を表現する文字列を設定するためのフィールドである。文字列は、ISO/IEC 10646-1規格に従い符号化されているものとする。
【０１５５】
permissionは、ユーザに対して可視属性にしてよいか、不可視属性にしておくかなどの許認可情報をコンテンツオーサが指定するためのフィールドである。Permissionにおいて指定可能な値については、図１２を用いて説明した場合と同一である。
【０１５６】
src_file_nameは、図１５を用いて説明した様に、ローカルストレージ２４にて記録されるべきファイルのパス名称を指定するためのフィールドである。ファイル／ディレクトリ名称は、ISO/IEC 646規格に従い符号化されているものとする。
【０１５７】
dst_file_nameは、図１５を用いて説明した様に、仮想ディスク（仮想ファイルシステム）におけるバインド先のファイルのパス名称を指定するためのフィールドである。ファイル／ディレクトリ名称は、ISO/IEC 646規格に従い符号化されているものとする。
【０１５８】
なお、src_file_nameとdst_file_nameには、同一名称を指定することもできる。
【０１５９】
file_sizeは、圧縮前のファイルサイズをバイト単位で指定するためのフィールドである。
【０１６０】
file_dataは、ファイルデータをバイトシーケンスとして指定するためのフィールドである。
【０１６１】
図１７を用いて説明した様なコンテンツ配布用ファイル形式のデータがダウンロードされ、再生装置１において、装着された光ディスク１１に記録されているデータとマージされて仮想ディスクにおける仮想ファイルシステムが構築される。これにより、再生装置１を用いて光ディスク１１に記録されているコンテンツを再生させるユーザからは、光ディスク１１に記録されているコンテンツに、例えば、ボーナストラックや、異なる言語での音声または表示字幕が追加されてアップデートされたように感じられる。
【０１６２】
上述したファイル形式にしたがって構成されるコンテンツが更新される場合は、例えば、図１６を用いて説明した仮想ファイルシステムにおいて、インデックスファイル（Index.bdmv）、ムービーオブジェクトファイル（Movieobjects.bdmv）、プレイリストファイル（*****.mpls）、クリップインフォメーションファイル（*****.clpi）、ストリームファイルまたはAUXデータファイル（*****.m2ts, *****bdmv,*****.otf）などが追加あるいは更新されるように、新たなデータファイルがダウンロードされて、バインディングされる。これらのファイルがダウンロードされて、装着されている装着された光ディスク１１に記録されているコンテンツに関連付けられて再生されるためには、MainPathの追加やSubPathの追加など、上述したoperation_typeによって規定されるさまざまなタイプの追加が実行される。
【０１６３】
まず、第１の例として、再生装置１に装着された光ディスク１１に記録されているコンテンツに対して、MainPathが追加される場合について説明する。
【０１６４】
例えば、operation_typeの８ビットのフィールドに、0x01が記載され、図１８に示されるように、光ディスク１１には、MainPath#1およびSubPath#１を含むPlayList#１ファイル、ClipAVストリーム#１ファイル、および、テキスト字幕ストリーム#１ファイルが記録され、サーバ３からダウンロードされたコンテンツパッケージには、PlayItem#1およびPlayItem#2を有するMainPath#2およびSubPath#１を有するPlayList#2ファイル、および、ボーナストラックなどに対応するClipAVストリーム#2ファイルが含まれていたとき、コンテンツパッケージ内のPlayList#2ファイルが抽出されて、抽出されたPlayList#2が、光ディスク１１から読み出された更新元のPlayList#１ファイルと置き換えられた状態にファイルシステムが更新される。
【０１６５】
すなわち、図１９に示されるように、PlayItemから構成されるMainPath、および、SubPlayItemから構成されるSubPathを有するアップデート前の、すなわち、光ディスク１１のPlayList#１においては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItemが参照し、Clip ＡＶストリーム１と同期して再生されるテキスト字幕ストリーム#１が再生されるようになされている。この光ディスク１１に記録されているコンテンツに対して、アップデート後（すなわち、ファイルシステムがマージされて更新された後）のPlayList#2においては、ClipAVストリーム#１に続いて、ボーナストラックに対応するClipAVストリーム#2が再生される。
【０１６６】
図１８および図１９を用いて説明した様にPlayItemが追加されたとき、ユーザに、例えば、再生装置１に装着された光ディスク１１に記録されているコンテンツにボーナストラックを追加して提供することができる。
【０１６７】
次に、第２の例として、再生装置１に装着された光ディスク１１に記録されているコンテンツに対して、SubPathが追加される場合について説明する。
【０１６８】
例えば、operation_typeの８ビットのフィールドに、0x02が記載されていた場合、図２０に示されるように、光ディスク１１にはSubPath#１を含むPlayList#１ファイル（更にMainPathを含むことはもちろんであるが、以下、MainPathに関係する更新でない場合、MainPathの記載は省略する）、ClipAVストリーム#１ファイル、および、例えば、副音声に対応するAudioストリーム#１ファイルが記録され、サーバ３からダウンロードされたコンテンツパッケージには、SubPath#２を有するPlayList#１ファイル、および、テキスト字幕ストリーム#１ファイルが含まれていたとき、コンテンツパッケージ内のPlayList#１ファイルのSubPath#２が抽出されて、抽出されたSubPath#２が、光ディスク１１から読み出された更新元のPlayList#１ファイルに追加された状態にファイルシステムが更新される。
【０１６９】
すなわち、図２１に示されるように、PlayItemから構成されるMainPath、および、SubPlayItemから構成されるSubPathを有するアップデート前の、すなわち、光ディスク１１のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItemが参照し、Clip ＡＶストリーム１と同期して再生される副音声のデータであるAudioストリーム#１が再生されるようになされている。この光ディスク１１に記録されているコンテンツに対して、アップデート後（すなわち、ファイルシステムがマージされて更新された後）のPlayListにおいては、ClipAVストリーム#１に同期して再生され、かつ、独立して再生区間が設定可能な２つ目のSubPlayItemがSub Pathに追加されるので、PlayItemが参照するClipAVストリーム#１、および、１つ目のSubPlayItemが参照し、ClipAVストリーム#１と同期して再生される副音声のデータであるAudioストリーム#１が再生されるのみならず、Audioストリーム#１とは独立して再生区間が設定可能なテキスト字幕ストリーム#１が再生可能なようになされている。
【０１７０】
図２０および図２１を用いて説明したようにSubPathが追加される場合、SubPathで選択可能なPathを増やすことができる。したがって、ユーザには、例えば、選択可能な新しい字幕を追加して提供することができる。
【０１７１】
次に、第３の例として、再生装置１に装着された光ディスク１１に記録されているコンテンツに対して、SubPlayItemが追加される場合について説明する。
【０１７２】
例えば、operation_typeの８ビットのフィールドに、0x03が記載され、図２２に示されるように、光ディスク１１にはSubPlayItem#1から構成されるSubPath#１を含むPlayList#１ファイル、ClipAVストリーム#１ファイル、および、テキスト字幕ストリーム#１ファイルが記録され、サーバ３からダウンロードされたコンテンツパッケージには、SubPlayItem#２から構成されるSubPath#１を有するPlayList#１ファイル、および、テキスト字幕ストリーム#２ファイルが含まれていたとき、コンテンツパッケージ内のPlayList#１ファイルのSubPath#1を構成するSubPlayItem#２が抽出されて、抽出されたSubPlayItem#２が、光ディスク１１から読み出された更新元のPlayList#１ファイルのSubPath#１に追加された状態に、ファイルシステムが更新される。
【０１７３】
すなわち、図２３に示されるように、PlayItemから構成されるMainPath、および、SubPlayItem#１から構成されるSub Pathを有するアップデート前のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItem#１が参照し、ClipAVストリーム#１と同期してテキスト字幕ストリーム#１が再生されるようになされている。この光ディスク１１に記録されているコンテンツに対して、アップデート後（すなわち、ファイルシステムがマージされて更新された後）のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItem#１が参照し、ClipAVストリーム１と同期して再生されるテキスト字幕ストリーム#１が再生されるのみならず、SubPathにSubPlayItem#２が追加されるので、ClipAVストリーム#１と同期してテキスト字幕ストリーム#２が再生可能なようになされている。
【０１７４】
図２２および図２３を用いて説明した様に、SubPlayItemが追加される場合、SubPath内のSubPlayItemが追加される。したがって、ユーザに、例えば、選択可能な字幕を更に追加して提供することができる。
【０１７５】
次に、第４の例として、再生装置１に装着された光ディスク１１に記録されているコンテンツに対して、SubPlayItemが置き換えられる場合について説明する。
【０１７６】
例えば、operation_typeの８ビットのフィールドに、0x03が記載され、図２４に示されるように、光ディスク１１にはSubPlayItem#1から構成されるSubPath#１を含むPlayList#１ファイル、ClipAVストリーム#１ファイル、および、テキスト字幕ストリーム#１ファイルが記録され、サーバ３からダウンロードされたコンテンツパッケージには、光ディスク１１に記録されているものと同一名称のSubPlayItem#１（以下、光ディスク１１に記録されているものとコンテンツパッケージに含まれているものを区別するため、光ディスク１１に記録されているものをSubPlayItem#１と称し、コンテンツパッケージに含まれているものをSubPlayItem#１'と称するものとし、図２４および図２５においても、このように記載するものとする）およびSunPlayItem#2から構成されるSubPath#１を有するPlayList#１ファイル、および、テキスト字幕ストリーム#２ファイルが含まれていたとき、コンテンツパッケージ内のPlayList#１ファイルのSubPath#1を構成するSubPlayItem#１'およびSunPlayItem#2が抽出されて、抽出されたSubPlayItem#１'およびSunPlayItem#2が、光ディスク１１から読み出された更新元のPlayList#１ファイルのSubPath#１に上書きされた（置き換えられた）状態に、ファイルシステムが更新される。
【０１７７】
すなわち、図２５に示されるように、PlayItemから構成されるMainPath、および、SubPlayItem#１から構成されるSub Pathを有するアップデート前のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItem#１が参照し、ClipAVストリーム#１と同期してテキスト字幕ストリーム#１が再生されるようになされている。この光ディスク１１に記録されているコンテンツに対して、アップデート後（すなわち、ファイルシステムがマージされて更新された後）のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItem#１'が参照するテキスト字幕ストリーム#１とSubPlayItem#2が参照するテキスト字幕ストリーム#２とが再生されるので、ClipAVストリーム#１と同期して再生されるテキスト字幕が追加されたようになされている。また、例えば、SubPlayItem#１'がSubPlayItem#１の再生区間だけを更新したSubPlayItemであった場合は、テキスト字幕の再生区間が延長されたようになされる。
【０１７８】
図２４および図２５を用いて説明した様に、SubPlayItemが置き換えられ、置き換えられたSubPlayItemにより再生されるテキスト字幕ストリームが置き換えられる前と異なっている場合、SubPath内のSubPlayItemにより再生されるテキスト字幕ストリームが変更される。したがって、ユーザには、例えば、途中から変更（修正）された字幕を提供することができる。
【０１７９】
次に、第５の例として、再生装置１に装着された光ディスク１１に記録されているコンテンツに対して、Clipが追加される場合について説明する。
【０１８０】
例えば、operation_typeの８ビットのフィールドに、0x04が記載され、図２６に示されるように、光ディスク１１にはClip#１が対応付けられているSubPlayItem#1から構成されるSubPath#１を含むPlayList#１ファイル、ClipAVストリーム#１ファイル、および、例えば、第１の言語の字幕に対応するテキスト字幕ストリーム#１ファイルが記録され、サーバ３からダウンロードされたコンテンツパッケージには、Clip#２が対応付けられているSubPlayItem#１から構成されるSubPath#１を有するPlayList#１ファイル、および、第２の言語の字幕に対応するテキスト字幕ストリーム#２ファイルが含まれていたとき、コンテンツパッケージ内のPlayList#１ファイルのSubPath#１を構成するSubPlayItem#１のClip#２が抽出されて、抽出されたClip#２が、光ディスク１１から読み出された更新元のPlayList#１ファイルのSubPath#１を構成するSubPlayItem#１に追加された状態にファイルシステムが更新される。
【０１８１】
すなわち、図２７に示されるように、PlayItemから構成されるMainPath、および、SubPlayItemから構成されるSubPathを有するアップデート前のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItem#１が参照し、ClipAVストリーム#１と同期して、第１の言語の字幕に対応するテキスト字幕ストリーム#１が再生されるようになされている。この光ディスク１１に記録されているコンテンツに対して、アップデート後（すなわち、ファイルシステムがマージされて更新された後）のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItemが参照し、ClipAVストリーム#１と同期して再生される第１の言語の字幕に対応するテキスト字幕ストリーム#１が再生されるのみならず、SubPathを構成するSubPlayItemに、更に、Clip#２が追加されるので、ClipAVストリーム#１と同期して、SubPlayItemが参照する、第２の言語に対応するテキスト字幕ストリーム#２が、更に再生可能なようになされている。
【０１８２】
図２６および図２７を用いて説明したように、Clipが追加された場合、ユーザに、更に選択可能な言語の字幕を追加して提供することができる。
【０１８３】
なお、光ディスク１１には、上述したファイル構成以外のＡＶストリームデータを記録させ、デコーダ２６によりデコードして再生させることが可能であるが、上述したファイル構成以外のＡＶストリームデータにおいては、ローカルストレージ２４にダウンロードされたファイルを用いて、仮想ファイルシステムを構築することはできない。したがって、再生装置１を利用するユーザにとって、光ディスク１１に記録されているファイルが追加されたり、その一部分だけが更新されるように、データを扱うことはできない。
【０１８４】
また、再生装置１においてPlayListファイルの編集を実行しなくても良いように、データの配布元（コンテンツオーサ）で、追加・更新に必要なファイルのパッケージングが予め行われ、ディスクベース（すなわち、Disc_idで示されるディレクトリのデータごと）で、ファイルのダウンロードが行われるようにしても良い。
【０１８５】
なお、ファイルの追加更新時、ファイル名が同一であった場合は上書きとなり、ファイル名が異なる場合は新規追加となる。
【０１８６】
このようにして、再生装置１においては、ネットワーク２を介して、サーバ３から、例えば、図１７に示されるような構成を有する新たなデータをダウンロードして、メタデータであるManifest（）に記載されているsrc_file_nameに示されるパス名称を基に、ローカルストレージ２４に記憶され、Manifest（）に記載されているdst_file_nameに示されるパス名称を基に、仮想ファイルシステム内のパスが設定され、再生装置１のアプリケーション（例えば、再生処理を行うアプリケーション）は、仮想ファイルシステムを基に、すなわち、dst_file_nameに示されるパスに基づいて、光ディスク１１に記録されているデータと、ローカルストレージ２４に記録されているデータを区別せずに処理することができるようになされている。
【０１８７】
すなわち、再生装置１において実行されているアプリケーションプログラムが実行する処理として説明すると、データの追加処理を実行可能なアプリケーションプログラムは、データの追加指示（ダウンロード指示）を受けると、該当するManifestファイル（全てのManifestファイルであっても、一部のManifestファイルであっても良い）を、ネットワーク２を介してサーバ３に送信し、サーバ３から、現在追加可能なコンテンツ一覧を取得する。アプリケーションプログラムは、追加可能なコンテンツ一覧をユーザに提示し、ユーザは、提示された一覧の中からダウンロードするコンテンツを選択する。
【０１８８】
ユーザにより、ダウンロードするコンテンツが選択された場合、データをサーバ３からダウンロードする処理を実行可能なアプリケーション（例えば、データの追加処理や再生処理を実行可能なアプリケーションプログラムと同一であっても、それぞれ個別のものであっても良い）により、データのダウンロードが開始される。
【０１８９】
ダウンロードアプリケーションによるダウンロードが完了すると、ダウンロードされたファイルパッケージ群は、ファイルシステムをマネジメントするアプリケーションにより、仮想ファイルシステム上にマウントされ、スタティックバインディングまたはダイナミックバインディングなどにより、ネイティブなファイルシステムと仮想ファイルシステムとが同期される。
【０１９０】
次に、ユーザの操作入力に基づいて、ファイルを削除する場合の処理について説明する。再生装置１は、Manifestファイルを利用して、ローカルストレージ２４の中のファイル一覧を表示するようなメニュー画面を表示することができ、ユーザは、これを基に、ファイル（コンテンツ)ベースで仮想ファイルシステムからファイルを削除したり、ディスクベースで仮想ファイルシステムからファイルを削除することができる。
【０１９１】
まず、ファイル（コンテンツ）ベースでの、仮想ファイルシステムからのファイルの削除について説明する。
【０１９２】
仮想ディスクから、コンテンツベースでファイルを削除するということは、ユーザから見れば、例えば、光ディスク１１には予め記録されておらず、ダウンロードによって仮想ディスク上に記録された英語字幕や日本語吹き替え音声などを、コンテンツ別に選択して、対応するファイル群を削除することである。
【０１９３】
例えば、再生装置１に装着されている光ディスク１１に対して、図１８および図１９を用いて説明した様なファイルの追加更新が実行され、ボーナストラックに対応するClipAVストリームが追加された。そして、図２０および図２１を用いて説明した様なファイルの追加更新が実行され、選択可能な新しい字幕に対応するSubPathと対応するテキスト字幕ストリームが追加された。そして、更に、図２２および図２３を用いて説明した様なファイルの追加更新が実行され、SubPlayItemが追加されてSubPath内のSubPlayItemが延長されて追加字幕に対応するテキスト字幕ストリームが追加された。このとき、仮想ディスクに記録されているコンテンツの状態は、例えば、図２８に示されるように、SubPath#1およびSubPlayItem#1、並びに、SubPath#2およびSubPlayItem#2を有するPlayList#1と、ClipAVストリーム#1、ClipAVストリーム#2、および、テキスト字幕ストリーム#1乃至#3を含むものとなる。そして、図２９に示されるように、PlayItemにより指定されるMain Pathによって、ClipAVストリーム#1およびClipAVストリーム#2が連続して再生され、SubPlayItem#1を用いて指定されるSubpath#1により、テキスト字幕ストリーム#1とテキスト字幕ストリーム#3とが再生されて、SubPlayItem#2を用いて指定されるSubPath#2により、テキスト字幕ストリーム#2が再生されるものとなった。この状態において、ユーザがいずれかのファイルを削除する処理を開始することを指令した場合について説明する。
【０１９４】
このとき、コントローラ２１のローカルストレージディレクトリ管理部３４は、データ取得部３３を制御し、インターネットインタフェース２５およびネットワーク２を介してサーバ３にアクセスし、例えば、このPlayList#1により再生されるコンテンツに関連するmanifest_idなど、現在の仮想ファイルシステムの状態を示す情報をサーバ３に送信し、サーバ３より、可能な更新、すなわち、削除可能な項目の一覧に対応する情報を受信する。そして、メニュー画面表示制御部３１の処理により、例えば、図３０に示されるように、削除可能なファイルの一覧が、ユーザに提示される。ここでは、フランス語字幕、ボーナストラック、および、日本語追加字幕が、削除可能なファイルの一覧に含まれている。
【０１９５】
そして、ユーザにより、ボーナストラックの削除が選択された場合、ローカルストレージディレクトリ管理部３４は、ユーザにより選択されたボーナストラックに対応するファイルを削除する。このとき、ローカルストレージディレクトリ管理部３４は、このボーナストラックに対応するファイルパッケージ内のManifestファイルに関連付けられたファイルを消去し、Manifestファイル中の該当するManifest（）セクション自体を消去することができる。
【０１９６】
ところで、ローカルストレージ２４に記録されているファイルは、１つのPlayItemにより参照されるのみであるとは限らない。すなわち、上述した削除処理により、他の部分の再生処理に支障が生じる場合が想定できる。
【０１９７】
具体的には、削除されるボーナストラックにおいて参照されたテキスト字幕ファイル#n（ｎは、ある整数）が、削除されないＡＶストリームファイルとも同期して再生されるようになされているのにもかかわらず、ボーナストラックの消去に伴って、テキスト字幕ファイル#nも消去された場合、削除されないＡＶストリームファイルと同期してテキスト字幕ファイル#nを再生することができなくなってしまうような場合などである。
【０１９８】
そこで、ファイルシステムマージ処理部３６は、仮想ファイルシステムにおける上述した削除処理により、他の部分の再生処理に支障が生じるか否かを判断し、例えば、データ間のリンク構造が壊れることなどにより支障が生じる場合、他の部分の再生処理に必要なデータファイルを検出し、データ取得部３３に指令して、データファイルのダウンロードを要求する信号をサーバ３に送信させ、サーバ３より、必要なデータファイルのダウンロードを受けて、上述した場合と同様にして、ローカルストレージディレクトリ管理部３４の処理により、ローカルストレージ２４に展開する。
【０１９９】
そして、ファイルシステムマージ処理部３６は、新たなファイルがダウンロードされた場合であっても、ダウンロードされていない場合であっても、上述したような所定のタイミングで、仮想ファイルシステムのバインディング処理を行う。このような処理により、ユーザによって選択されたファイルが削除された状態の仮想ファイルシステムを基に、コンテンツが再生される。
【０２００】
次に、ディスクベースでの仮想ファイルシステムからのファイルの削除について説明する。
【０２０１】
仮想ディスクから、ディスクベースでファイルを削除するということは、ローカルストレージ２４において、対応するdisc_idに対応するディレクトリに含まれているファイル群を全て削除することである。例えば、あるdisc_id以下に存在するManifestファイルと関連付けられたすべてのファイルが消去され、その後、すべてのManifest（）セクションも削除される。
【０２０２】
ユーザから見れば、具体的には、光ディスク１１に記録されているコンテンツに対して、ダウンロードされて仮想ファイルシステムにバインディングされた（すなわち、仮想ディスクに新たに記録された）追加または更新ファイルが削除されることにより、光ディスク１１が初期化される（光ディスク１１に記録されているコンテンツのみの状態となる）のと同等である。
【０２０３】
次に、フローチャートを参照して、再生装置1が実行する処理について説明する。
【０２０４】
まず、図３１のフローチャートを参照して、ファイルベースの追加および更新処理について説明する。
【０２０５】
ステップＳ１において、コントローラ２１の操作入力取得部３２は、操作入力部２９から供給される信号を基に、ユーザから、ファイルベース、すなわち、所定のdisc_idで示されるディレクトリに含まれるファイルの追加処理を開始する指令を受けたか否かを判断する。ステップＳ１において、ファイルの追加処理を開始する指令を受けていないと判断された場合、ファイルの追加処理を開始する指令を受けたと判断されるまで、ステップＳ１の処理が繰り返される。
【０２０６】
ステップＳ１において、ファイルの追加処理を開始する指令を受けたと判断された場合、ステップＳ２において、コントローラ２１のローカルストレージディレクトリ管理部３４は、データ取得部３３を制御し、インターネットインタフェース２５およびネットワーク２を介してサーバ３にアクセスし、現在の仮想ファイルシステムの状態を示す情報、例えば、対応するManifest（）セクションのManifest_idを送信する。
【０２０７】
ステップＳ３において、データ取得部３３は、インターネットインタフェース２５を制御し、ネットワーク２を介して、サーバ３から、ダウンロード可能なファイルの一覧に対応する情報を受信したか否かを判断する。
【０２０８】
ステップＳ３において、ダウンロード可能なファイルの一覧に対応する情報を受信できなかったと判断された場合、ステップＳ４において、メニュー画面表示制御部３１は、ファイルの追加処理が不可能であることをユーザに通知するためのエラーメッセージの表示を制御し、処理が終了される。
【０２０９】
ステップＳ３において、ダウンロード可能なファイルの一覧に対応する情報を受信したと判断された場合、ステップＳ５において、データ取得部３３は、サーバ３から送信され、インターネットインタフェース２５により受信されたダウンロード可能なファイルの一覧に対応する情報を、メニュー画面表示制御部３１に供給する。メニュー画面表示制御部３１は、ダウンロード可能なファイルの一覧から、ユーザが所望のものを選択することができるようになされているメニュー画面を表示装置に表示させる。
【０２１０】
ステップＳ６において、操作入力取得部３２は、メニュー画面表示制御部３１の処理により表示が制御されているメニュー画面のボタンまたはアイコンなどがユーザにより操作され、追加したい項目が選択されたか否かを判定する。ステップＳ６において、追加したい項目が選択されていないと判断された場合、選択されたと判断されるまで、ステップＳ６の処理が繰り返される。
【０２１１】
ステップＳ６において、追加したい項目が選択されたと判断された場合、ステップＳ７において、操作入力取得部３２は、ユーザにより選択されたアップデートの内容を表す情報を、データ取得部３３に供給する。データ取得部３３は、インターネットインタフェース２５を制御し、要求するファイルを示す情報をサーバ３に送信させ、ユーザが選択したファイルのダウンロードを要求する。
【０２１２】
ステップＳ８において、データ取得部３３は、インターネットインタフェース２５を制御し、サーバ３によりダウンロードファイルとして用意される、PlayListファイル、ClipInformationファイル、ClipAVストリームファイル、オーディオファイル、テキスト字幕ストリームファイル、または、フォントファイルなどをダウンロードさせ、これらのファイルがダウンロードされたことを、ローカルストレージディレクトリ管理部３４に通知する。
【０２１３】
ステップＳ９において、ローカルストレージディレクトリ管理部３４は、ダウンロードされたファイルのManifest（）に含まれるauthor_idとdisc_idとに基づいて、それらのＩＤで識別されるディレクトリがローカルストレージ２４に既に存在するか否かを判断して、対応するディレクトリが既に存在する場合は、そのディレクトリにダウンロードされたデータファイルを展開し、対応するディレクトリが存在しない場合、author_idとdisc_idで指定される新たなディレクトリをローカルストレージ２４に作成し、ダウンロードされたデータファイルを展開する。
【０２１４】
ステップＳ１０において、図３２を用いて後述するバインディング処理１が実行され、処理が終了される。
【０２１５】
このような処理により、サーバ３からアップデートファイルがダウンロードされて、ローカルストレージ２４に記録させ、光ディスク１１に記録されているコンテンツのアップデートファイルとして扱われるようにすることができる。
【０２１６】
すなわち、このような処理により、例えば、映画などのコンテンツが記録された光ディスク１１を購入したユーザが、光ディスク１１に予め記録されていない言語の字幕を表示させるために必要なファイルや、ボーナストラックを視聴するために必要なファイルなどを取得して、ローカルストレージ２４に記憶させるとともに、光ディスク１１に記録されているデータとローカルストレージ２４に記憶されているデータとを、再生処理などを実行するアプリケーションプログラムが区別しないで取り扱うことができ、物理的なデータの記憶をユーザまたはアプリケーションプログラムから隠蔽することができるような仮想ファイルシステムを構築させることができる。
【０２１７】
また、以上のようなアップデートファイルのダウンロードは、有料で行うことができるものであってもよいし、無料で行うことができるものであってもよい。
【０２１８】
次に、図３２のフローチャートを参照して、図３１のステップＳ１０において実行される、バインディング処理１について説明する。
【０２１９】
ステップＳ２１において、ローカルストレージディレクトリ管理部３４は、ローカルストレージ２４に記録されているダウンロードされたデータ群から、対応するdisc_idのディレクトリを抽出し、ファイルシステムマージ処理部３６に供給する。
【０２２０】
ステップＳ２２において、ファイルシステムマージ処理部３６は、Manifestファイルのsrc_file_nameおよびdst_file_nameを参照する。
【０２２１】
ステップＳ２３において、ファイルシステムマージ処理部３６は、ステップＳ２２において参照されたsrc_file_nameおよびdst_file_nameを基に、ネイティブなファイルシステムと、仮想ファイルシステムとをバインディングする。
【０２２２】
具体的には、src_file_nameには、ローカルストレージ２４のファイルシステムにおいて、このファイルがディレクトリ構造のどこに記録されるかを一義に指定できる情報、いわゆるパスを表す「パス名称」が指定され、dst_file_nameには、実際にはローカルストレージ２４に記憶されるファイルの仮想ディスクにおけるバインド先において、このファイルがディレクトリ構造のどこに記録されるかを一義に指定できる情報、いわゆるパスを表す「パス名称」が指定される。
【０２２３】
例えば、図１０を用いて説明したManifest（）セクションにおいて、src_file_nameのフィールドに「/MainMovie/movie01/main.r1.jp.mp2」とパス名称が指定され、dst_file_nameのフィールドに「/STREAM/01002.m2ts」とパス名称が指定されている場合、ファイルシステムマージ処理部３６は、図１５を用いて説明したように、ダウンロードされたデータが、ローカルストレージ２４において、対応するauthor_idおよびdisc_idの下の、MainMovieフォルダ内のmovie01フォルダに、main.r1.jp.mp2というファイル名で記録されるが、仮想ディスクにおける仮想ファイルシステムにおいては、STREAMディレクトリの01002.m2tsというファイル名のファイルとして取り扱われるようにバインディングする。
【０２２４】
コンテンツオーサは、ダウンロードされるファイルパッケージのManifest（）セクションのsrc_file_nameのフィールドに、ローカルストレージ２４におけるパス名称を指定し、dst_file_nameのフィールドに、仮想ディスクにおける仮想ファイルシステムにおけるパス名称を指定することができる。したがって、dst_file_nameのフィールドに、仮想ディスクにおける仮想ファイルシステムに適応した（光ディスク１１のファイルシステムに適応した）パス名称を設定すれば、コンテンツオーサは、再生装置１の、ローカルストレージ２４に実際に記録されるデータのdisc_id以下のファイル／ディレクトリ構造を自由に設定し、disc_id以下の領域にディレクトリやファイルを新しく追加することが可能となる。
【０２２５】
次に、図３３のフローチャートを参照して、ディスクベースの追加および更新処理について説明する。
【０２２６】
ステップＳ４１において、コントローラ２１の操作入力取得部３２は、操作入力部２９から供給される信号を基に、ユーザから、ディスクベース、すなわち、ローカルストレージ２４に実際に記録されるデータのdisc_id以下のファイルの追加処理を開始する指令を受けたか否かを判断する。ステップＳ４１において、ファイルの追加処理を開始する指令を受けていないと判断された場合、ファイルの追加処理を開始する指令を受けたと判断されるまで、ステップＳ４１の処理が繰り返される。
【０２２７】
ステップＳ４１において、ファイルの追加処理を開始する指令を受けたと判断された場合、ステップＳ４２において、コントローラ２１のローカルストレージディレクトリ管理部３４は、データ取得部３３を制御し、インターネットインタフェース２５およびネットワーク２を介してサーバ３にアクセスし、現在の仮想ファイルシステムの状態を示す情報、例えば、対応するdisc_id以下のManifest ファイルに含まれる全てのManifest（）セクションのManifest_idを送信する。
【０２２８】
ステップＳ４３において、データ取得部３３は、インターネットインタフェース２５を制御し、ネットワーク２を介して、サーバ３から、ダウンロード可能なディスクベースのファイルの一覧に対応する情報を受信したか否かを判断する。
【０２２９】
ステップＳ４３において、ダウンロード可能なディスクベースのファイルの一覧に対応する情報を受信できなかったと判断された場合、ステップＳ４４において、メニュー画面表示制御部３１は、ファイルの追加処理が不可能であることをユーザに通知するためのエラーメッセージの表示を制御し、処理が終了される。
【０２３０】
ステップＳ４３において、ダウンロード可能なファイルの一覧に対応する情報を受信したと判断された場合、ステップＳ４５において、データ取得部３３は、サーバ３から送信され、インターネットインタフェース２５により受信されたダウンロード可能なディスクベースのファイルの一覧に対応する情報を、メニュー画面表示制御部３１に供給する。メニュー画面表示制御部３１は、ダウンロード可能なファイルの一覧から、ユーザが所望のものを選択することができるようになされているメニュー画面を表示装置に表示させる。
【０２３１】
ステップＳ４６において、操作入力取得部３２は、メニュー画面表示制御部３１の処理により表示が制御されているメニュー画面のボタンまたはアイコンなどがユーザにより操作され、追加したい項目が選択されたか否かを判定する。ステップＳ４６において、追加したい項目が選択されていないと判断された場合、選択されたと判断されるまで、ステップＳ４６の処理が繰り返される。
【０２３２】
ステップＳ４６において、追加したい項目が選択されたと判断された場合、ステップＳ４７において、操作入力取得部３２は、ユーザにより選択されたアップデートの内容を表す情報を、データ取得部３３に供給する。データ取得部３３は、インターネットインタフェース２５を制御し、要求するファイルを示す情報をサーバ３に送信させ、ユーザが選択したディスクベースのファイルのダウンロードを要求する。
【０２３３】
ステップＳ４８において、データ取得部３３は、インターネットインタフェース２５を制御し、サーバ３によりダウンロードファイルとして用意されるディスクベースのファイル群をダウンロードさせ、ディスクベースのファイル群がダウンロードされたことを、ローカルストレージディレクトリ管理部３４に通知する。
【０２３４】
ステップＳ４９において、ローカルストレージディレクトリ管理部３４は、ダウンロードされたファイルのManifest（）に含まれるauthor_idとdisc_idとに基づいて、それらのＩＤで識別されるディレクトリをローカルストレージ２４に作成し、ダウンロードされたディスクベースのデータを展開する。
【０２３５】
ステップＳ５０において、図３２を用いて説明したバインディング処理１が実行され、処理が終了される。
【０２３６】
このような処理により、サーバ３からアップデートファイルがディスクベースでダウンロードされて、ローカルストレージ２４に記録させ、光ディスク１１に記録されているコンテンツのアップデートファイルとして扱われるようにすることができる。
【０２３７】
すなわち、このような処理により、例えば、映画などのコンテンツが記録された光ディスク１１を購入したユーザが、光ディスク１１に予め記録されていない言語の字幕を表示させるために必要なファイルや、ボーナストラックを視聴するために必要なファイルなどをディスクベースで取得して、ローカルストレージ２４に記憶させるとともに、光ディスク１１に記録されているデータとローカルストレージ２４に記憶されているデータとを、再生処理などを実行するアプリケーションプログラムが区別しないで取り扱うことができ、物理的なデータの記憶をユーザまたはアプリケーションプログラムから隠蔽することができるような仮想ファイルシステムを構築させることができる。
【０２３８】
また、このようなディスクベースのアップデートファイルのダウンロードも、ファイルベースでダウンロードが行われる場合と同様に、有料で行うことができるものであってもよいし、無料で行うことができるものであってもよい。
【０２３９】
また、図３１においては、ユーザによってファイルベースのダウンロードが指令された場合の処理を説明し、図３３においては、ユーザによってディスクベースのダウンロードが指令された場合の処理を説明したが、例えば、ユーザは、ファイルベースとディスクベースとを区別せずにファイルのダウンロード開始の指示を行うことができるようにしても良いことは言うまでもない。すなわち、サーバ３からダウンロードされるデータの形式がファイルベースであるかディスクベースであるかによって、ローカルストレージディレクトリ管理部３４によるローカルディスク２４へのダウンロードされたデータの展開方法を変更することができるようにしても良い。
【０２４０】
次に、図３４のフローチャートを参照して、ファイルベースの削除処理について説明する。
【０２４１】
ステップＳ７１において、コントローラ２１の操作入力取得部３２は、操作入力部２９から供給される信号を基に、ユーザから、ファイルベース、すなわち、disc_idで示されるディレクトリに含まれるファイル単位の削除処理を開始する指令を受けたか否かを判断する。ステップＳ７１において、ファイルベースの削除処理を開始する指令を受けていないと判断された場合、ファイルの削除処理を開始する指令を受けたと判断されるまで、ステップＳ７１の処理が繰り返される。
【０２４２】
ステップＳ７１において、ファイルベースの削除処理を開始する指令を受けたと判断された場合、ステップＳ７２において、コントローラ２１のローカルストレージディレクトリ管理部３４は、データ取得部３３を制御し、インターネットインタフェース２５およびネットワーク２を介してサーバ３にアクセスし、現在の仮想ファイルシステムの状態を示す情報、すなわち、対応するManifest（）セクションのManifest_idを送信する。
【０２４３】
ステップＳ７３において、データ取得部３３は、インターネットインタフェース２５を制御し、ネットワーク２を介してサーバ３から、可能な更新、すなわち、削除可能な項目の一覧に対応する情報を受信したか否かを判断する。
【０２４４】
ステップＳ７３において、可能な更新の一覧に対応する情報を受信できなかったと判断された場合、ステップＳ７４において、メニュー画面表示制御部３１は、ファイルの削除処理が不可能であることをユーザに通知するためのエラーメッセージの表示を制御し、処理が終了される。
【０２４５】
ステップＳ７３において、可能な更新の一覧に対応する情報を受信したと判断された場合、ステップＳ７５において、データ取得部３３は、サーバ３から送信され、インターネットインタフェース２５により受信された可能な更新の一覧に対応する情報を、メニュー画面表示制御部３１に供給する。メニュー画面表示制御部３１は、可能な更新の一覧から、ユーザが所望のものを選択することができるようになされているメニュー画面を表示装置に表示させる。
【０２４６】
ステップＳ７６において、操作入力取得部３２は、メニュー画面表示制御部３１の処理により表示が制御されているメニュー画面のボタンまたはアイコンなどがユーザにより操作され、削除したい項目（内容）が選択されたか否かを判定する。ステップＳ７６において、削除したい項目が選択されていないと判断された場合、選択されたと判断されるまで、ステップＳ７６の処理が繰り返される。
【０２４７】
ステップＳ７６において、削除したい項目が選択されたと判断された場合、ステップＳ７７において、操作入力取得部３２は、ユーザにより選択された削除したい項目を表す情報を、ローカルディレクトリ管理部３４に供給する。ローカルディレクトリ管理部３４は、指定されたファイルを、ローカルストレージ２４から削除する。
【０２４８】
ステップＳ７８において、ファイルシステムマージ処理部３６は、ステップＳ７７において実行されたファイルの削除処理により、仮想ファイルシステムにおけるファイルのリンク構造に不具合が発生するか否かを判断する。ステップＳ７８において、仮想ファイルシステムにおけるファイルのリンク構造に不具合が発生しないと判断された場合、処理は、後述するステップＳ８１に進む。
【０２４９】
ステップＳ７８において、仮想ファイルシステムにおけるファイルのリンク構造に不具合が発生すると判断された場合、ステップＳ７９において、ファイルシステムマージ処理部３６は、不具合を解消するために必要なデータファイル（場合によっては、フォルダまたはディレクトリ）を抽出し、データ取得部３３に供給する。データ取得部３３は、インターネットインタフェース２５を制御し、要求するファイルを示す情報をサーバ３に送信させ、ユーザが選択したファイルのダウンロードを要求する。そして、データ取得部３３は、インターネットインタフェース２５を制御し、サーバ３によりダウンロードファイルとして用意される、服愛の解消のために必要なファイルをダウンロードし、これらのファイルがダウンロードされたことを、ローカルストレージディレクトリ管理部３４に通知する。
【０２５０】
ステップＳ８０において、ローカルストレージディレクトリ管理部３４は、ダウンロードされたファイルのManifest（）に含まれるauthor_idとdisc_idとに基づいて、それらのＩＤで識別されるディレクトリがローカルストレージ２４に既に存在するか否かを判断して、対応するディレクトリが既に存在する場合は、そのディレクトリにダウンロードされたデータファイルを展開し、対応するディレクトリが存在しない場合、author_idとdisc_idで指定される新たなディレクトリをローカルストレージ２４に作成し、ダウンロードされたデータファイルを展開する。
【０２５１】
ステップＳ７８において、仮想ファイルシステムにおけるファイルのリンク構造に不具合が発生しないと判断された場合、または、ステップＳ８０の処理の終了後、ステップＳ８１において、ファイルシステムマージ処理部３６は、ステップＳ７７において実行されたファイルの削除処理により不必要となったファイル、例えば、仮想ファイルシステムにおいて、いずれのPlayListによっても再生されない（全てのPlayListによって指定されない）ファイルなどが削除される設定であるか否かを判断する。ステップＳ８１において、不必要となったファイルは削除されずに残される設定であると判断された場合、処理は、後述するステップＳ８３に進む。
【０２５２】
ステップＳ８１において、不必要となったファイルは削除される設定であると判断された場合、ステップＳ８２において、ファイルシステムマージ処理部３６は、不必要となったファイルを抽出し、このような不必要なファイルを削除することをローカルストレージディレクトリ管理部３４に指令する。ローカルストレージディレクトリ管理部３４は、ファイルシステムマージ処理部３６の指令に基づいて、ローカルストレージ２４に記録されている不必要なファイルを削除する。
【０２５３】
ステップＳ８１において、不必要となったファイルは削除されずに残される設定であると判断された場合、または、ステップＳ８２の処理の終了後、ステップＳ８３において、図３２を用いて説明したバインディング処理１が実行され、処理が終了される。
【０２５４】
このような処理により、サーバ３からダウンロードされて、ローカルストレージ２４に記録されたアップデートファイルを、ユーザの操作入力に基づいて、ファイルベース、すなわち、disc_idで示されるディレクトリに含まれるファイル単位で削除することができる。
【０２５５】
次に、図３５のフローチャートを参照して、ディスクベースの削除処理について説明する。
【０２５６】
ステップＳ１１１において、コントローラ２１の操作入力取得部３２は、操作入力部２９から供給される信号を基に、ユーザから、ディスクベース、すなわち、disc_idで示されるディレクトリに含まれる全てのファイルの削除処理を開始する指令を受けたか否かを判断する。ステップＳ１１１において、ディスクベースの削除処理を開始する指令を受けていないと判断された場合、ディスクベースの削除処理を開始する指令を受けたと判断されるまで、ステップＳ１１１の処理が繰り返される。
【０２５７】
ステップＳ１１１において、ディスクベースの削除処理を開始する指令を受けたと判断された場合、ステップＳ１１２において、ファイルシステムマージ処理部３６は、削除される部分に対応するManifestファイル、例えば、現在再生装置１に装着されている光ディスク１１のauthor_idおよびdisc_idに対応するManifestファイルを抽出し、ローカルストレージディレクトリ管理部３４に、対応するManifestファイルを読み出させる。
【０２５８】
ステップＳ１１３において、ローカルストレージディレクトリ管理部３４は、読み出されたManifestファイルを基に、このManifestファイルに関連付けられたファイルを、ローカルストレージ２４から削除する。
【０２５９】
ステップＳ１１４において、ローカルストレージディレクトリ管理部３４は、削除された部分に対応するManifestファイルを、ローカルストレージ２４から削除する。
【０２６０】
そして、ステップＳ１１５において、図３２を用いて説明したバインディング処理１が実行され、処理が終了される。
【０２６１】
すなわち、disc_idで示されるディレクトリに含まれるファイル全体が削除され、削除された部分に対応するManifestファイルも削除されるので、バインディング処理において、ファイルシステムマージ処理部３６は、Manifestファイルが見つからないため、０個のディレクトリおよび０個のファイルをバインドして（すなわち、何もバインドせずに）、バインド処理を終了し、結果的には、光ディスク１１上のディレクトリ／ファイル構造が、そのまま、仮想ファイルシステムとして管理されるものとなる。
【０２６２】
このような処理により、サーバ３からダウンロードされて、ローカルストレージ２４に記録されたアップデートファイルを、disc_idで示されるディレクトリに含まれるファイル全体として削除することができる。
【０２６３】
なお、ディスクベースでファイルを削除する場合においても、ファイルの追加、または、ファイルベースの削除における場合と同様にして、サーバ３に現在の仮想ディスク（仮想ファイルシステム）の状況を示す情報を送信し、サーバ３から、可能な変更を示す情報を得て、これを基に削除処理を行うようにしても良い。
【０２６４】
次に、図３６のフローチャートを参照して、再生処理およびファイルシステム構成処理について説明する。ここでは、バインディングの方式が、スタティックバインディングである場合について説明する。
【０２６５】
ステップＳ１４１において、光ディスクディレクトリ管理部３５は、光ディスク１１が装着されたか否かを判断する。ステップＳ１４１において、光ディスク１１が装着されていないと判断された場合、光ディスク１１が装着されたと判断されるまで、ステップＳ１４１の処理が繰り返される。ステップＳ１４１において、光ディスク１１が装着されていると判断された場合、光ディスクディレクトリ管理部３５は、光ディスク１１からauthor_idとDisc_idを読み出し、読み出したauthor_idとDisc_idをローカルストレージディレクトリ管理部３４およびファイルシステムマージ処理部３６に出力し、処理は、ステップＳ１４２に進み、図３２を用いて説明したバインディング処理１が実行される。
【０２６６】
ステップＳ１４３において、再生制御部３７は、操作入力取得部３２から供給されるユーザの操作入力を基に、ユーザから、コンテンツの再生を指令する操作入力を受けたか否かを判断する。ステップＳ１４３において、コンテンツの再生を指令する操作入力を受けなかったと判断された場合、処理は、後述するステップＳ１４８に進む。
【０２６７】
ステップＳ１４３において、コンテンツの再生を指令する操作入力を受けたと判断された場合、ステップＳ１４４において、再生制御部３７は、ローカルストレージディレクトリ管理部３４および光ディスクディレクトリ管理部３５を制御して、ナビゲーションプログラムが再生区間として指定するPlayListとSubPlayItemを取得し、取得したPlayListとSubPlayItemが参照するストリームファイル（ＡＶファイル、オーディオファイル、テキスト字幕ファイルなど）を読み出させて、デコーダ２６に供給させる。ここでは、PlayListやSubPlayItemにより表されるタイムスタンプがClip informationによりアドレスに変換され、ＡＶストリームなどに対するアクセスが行われる。
【０２６８】
ステップＳ１４５において、再生制御部３７は、デコーダ２６を制御して、PlayItemにより指定されるコンテンツを再生させる。
【０２６９】
ステップＳ１４６において、操作入力取得部３２は、再生タイトル（再生されるコンテンツ）の切り替えを指令する操作入力を受けたか否かを判断する。ステップＳ１４６において、再生タイトルの変更を指令する操作入力を受けていないと判断された場合、処理は、後述するステップＳ１４８に進む。
【０２７０】
ステップＳ１４６において、再生タイトルの変更を指令する操作入力を受けたと判断された場合、操作入力取得部３２は、ユーザの操作入力に対応する信号を、光ディスクディレクトリ管理部３５に供給し、光ディスクディレクトリ管理部３５は、光ディスク１１からauthor_idとdisc_idを読み出し、読み出したauthor_idとdisc_idをローカルストレージディレクトリ管理部３４に出力し、処理は、ステップＳ１４７に進み、図３２を用いて説明したバインディング処理１が実行される。ステップＳ１４７の処理の終了後、処理は、ステップＳ１４４に戻り、それ以降の処理が繰り返される。
【０２７１】
ステップＳ１４３において、コンテンツの再生を指令する操作入力を受けなかったと判断された場合、または、ステップＳ１４６において、再生タイトルの変更を指令する操作入力を受けていないと判断された場合、ステップＳ１４８において、操作入力取得部３２は、ユーザから、ファイルの追加または削除が指令されたか否かを判断する。
【０２７２】
ステップＳ１４８において、ファイルの追加または削除が指令されたと判断された場合、ステップＳ１４９において、データ取得部３３、または、ローカルストレージディレクトリ管理部３４などは、例えば、図３１、および、図３３乃至図３５を用いて説明した様にして、ファイルを追加または削除する処理を実行する。
【０２７３】
ステップＳ１４８において、ファイルの追加または削除が指令されていないと判断された場合、または、ステップＳ１４９の処理の終了後、ステップＳ１５０において、操作入力取得部３２は、仮想ファイルシステムの更新が指令されたか否かを判断する。
【０２７４】
ステップＳ１５０において、仮想ファイルシステムの更新が指令されたと判断された場合、例えば、仮想ファイルシステムを更新するために定義されたAPI（例えば、update()）が呼び出され、ステップＳ１５１において、図３２を用いて説明したバインディング処理１が実行される。
【０２７５】
ステップＳ１５０において、仮想ファイルシステムの更新が指令されていないと判断された場合、または、ステップＳ１５１の処理の終了後、ステップＳ１５２において、操作入力取得部３２は、再生装置１の処理の終了（例えば、アプリケーションの終了や、再生装置１の電源のオフ）が指令されたか否かを判断する。
【０２７６】
ステップＳ１５２において、再生装置１の処理の終了が指令されていないと判断された場合、処理は、ステップＳ１４３に戻り、それ以降の処理が繰り返される。ステップＳ１５２において、再生装置１の処理の終了が指令されたと判断された場合、処理が終了される。
【０２７７】
このような処理により、予め光ディスク１１に記録されているデータ、および、サーバ３からダウンロードされ、ローカルストレージ２４に記憶されているデータが、所定のタイミングでバインディングされて仮想ファイルシステムが構築され、仮想ファイルシステムを基に、コンテンツが再生される。
【０２７８】
以上説明した処理により、光ディスク１１に記録されているコンテンツのアップデートファイルをダウンロードして、再生装置１のローカルストレージ２４に記憶しておき、光ディスク１１に記録されているコンテンツファイルとローカルストレージ２４に記憶されているアップデートのファイルを、容易に扱うことができる。
【０２７９】
具体的には、再生装置１のシステムが持つネイティブなファイルシステム（光ディスク１１またはローカルストレージ２４に実際に記録されているデータのファイルシステム）の上位レイヤとして、仮想ファイルシステムが定義される。そして、光ディスク１１とローカルストレージ２４に実際に記録されているデータのファイルシステムがマージされて、仮想ファイルシステムが生成される。そのとき、ダウンロードされるデータのメタデータであるManifestファイルには、コンテンツ作成元を一意に識別するための識別子であるauthor_idと、author_idにより特定されたコンテンツ作成元に対して、光ディスク１１を一意に識別するための識別子であるdisc_idとが記述される。
【０２８０】
ローカルストレージ２４のディスク領域は、コンテンツの配給元（コンテンツオーサ）ごとに分割されたディレクトリ構造を有し、author_id直下のディレクトリであるdisc_id以下は、コンテンツオーサにより、フレキシブルなファイル／ディレクトリ構造を構成することができる。ローカルストレージ２４に記憶されるデータが、ローカルストレージ２４のディスク領域のどこに配置されるか、すなわち、ダウンロードされるファイルのファイル／ディレクトリ構造は、ダウンロードされるデータに含まれるManifestデータのsrc_file_nameフィールドに、パス名称として記述される。
【０２８１】
これに対して、アプリケーションからアクセス可能な仮想ディスクのディレクトリ／ファイル構造は、光ディスク１１のディレクトリ／ファイル構造に従うようになされている。すなわち、ダウンロードされるデータに含まれるManifestデータのdst_file_nameフィールドには、実際にはローカルストレージ２４に記憶されるファイルの仮想ディスクにおけるバインド先を一義に指定できるパス名称が指定される。
【０２８２】
このようにすることにより、ローカルストレージ２４のディレクトリ／ファイル構造は、再生装置１において実行されるアプリケーションプログラム、または、ユーザから隠蔽される。
【０２８３】
また、ローカルストレージ２４に記録されているファイルの一部を削除することも可能である。ファイルの一部が削除された後、所定のタイミングで、再度バインディング処理が実行されて、新たな仮想ファイルシステムが生成される。また、ファイルが削除されたことにより、仮想ファイルシステムにおけるファイルのリンク構造に不具合が発生する場合、不具合の解消に必要なファイルを抽出し、必要なファイルを、サーバ３からダウンロードさせるようにすることができる。
【０２８４】
また、上述した処理においては、サーバ３からのファイルのダウンロードは、ユーザによる指令に基づいて行われるものとして説明したが、再生装置１に光ディスク１１が装着されると、直ちにサーバ３にアクセスし、必要に応じてファイルのダウンロードを行うことができるようにすることも可能である。
【０２８５】
例えば、図１３を用いて説明した様に、光ディスク１１に記録されているIndexファイル（Index.bdmv）には、光ディスク１１を再生するメニューに関する情報が含まれている。再生装置１は、光ディスク１１に記録されているIndexファイルに基づいて、例えば、光ディスク１１のコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面を、表示装置に表示させる。Indexファイルには各項目が選択されたときに実行するMovieObjectを設定することができ、ユーザにより再生メニュー画面から１つの項目が選択された場合、再生装置１はIndexファイルに設定されているMovieObjectのコマンドを実行する。
【０２８６】
Indexファイル（Index.bdmv）のシンタックスを、図３７に示す。
【０２８７】
Type_indicatorは、ＩＳＯ６４６に基づいて符号化された"ＩＮＤＸ"の値が記述されるフィールドである。
【０２８８】
version_numberは、Index.bdmvのバージョンナンバーを示す４文字の文字列であり、ＩＳＯ６４６に基づいて符号化された"００８９"の値が記述される。
【０２８９】
Indexes_start_addressは、Indexes（）ブロックのスタートアドレスが記載されるフィールドである。
【０２９０】
AppInfoBDMV（）には、この光ディスク１１の供給元を示す、個別の識別子などが記載されている。
【０２９１】
Indexes（）には、例えば、メニューを読み出したり、タイトルを検索したり、所定のタイトルにジャンプしたり、または、光ディスク１が再生装置に装着された場合に自動的に起動するなどの処理を実行するアプリケーション（MovieObject）とのリンクが記載されている。Indexes（）のシンタックスについては、図３８を用いて後述する。
【０２９２】
Padding_wordは、Index.bdmvのシンタックスに基づいて挿入されるものであり、０または正の整数で表される。
【０２９３】
Indexes（）のシンタックスを、図３８に示す。
【０２９４】
lengthは、Indexes（）に何バイトの情報が記載されているかを表すフィールドである。
【０２９５】
FirstPlaybackは、光ディスク１１が再生装置１に装着されたときに最初に自動的に実行されるMovie Objectに関する情報が含まれているデータブロックである。
【０２９６】
FirstPlayback_mobj_id_refは、最初に実行されるMovie Objectのmobj_idの値を指定するためのフィールドである。mobj_idは、Movie Objectがそれぞれ固有に与えられているＩＤである。また、この光ディスク１１において、光ディスク１１が再生装置１に装着されたときに自動的に実行されるMovie Objectが設定されない場合、すなわち、光ディスク１１が再生装置１に装着されただけでは、アプリケーションはいずれも実行されず、ユーザによる指令を受けて、いずれかのアプリケーションが実行されるようになされている場合、このフィールドには、"0Xffff"が記載される。
【０２９７】
TopMenu（）は、ユーザがメニュー画面を表示させる場合などに呼び出されるTopMenuのMovie Objectに関する情報が含まれているデータブロックである。
【０２９８】
TopMenu_mobj_id_refは、TopMenuのMovie Objectのmobj_idの値を指定するためのフィールドである。また、この光ディスク１１において、TopMenuが設定されない場合、このフィールドには、"0xFFFF"が記載される。
【０２９９】
number_of_Titlesは、Indexes（）に記載されているタイトルの数を表すフィールドである。
【０３００】
Title[title_id]（）は、title_idによって固有に区別されているそれぞれのタイトルに関する情報が記載されるブロックである。title_idは０から割り当てられる。
【０３０１】
Title_playback_type[title_id]は、そのtitle_idによって指定されるタイトルの再生タイプを示す情報であり、例えば、そのタイトルが動画と音声によるコンテンツである場合、PlayListに基づいた再生処理が実行される。
【０３０２】
Title_access_type[title_id]は、そのtitle_idによって指定されるタイトルが、Title_Searchを用いて再生することが許可されているか否かを示す情報である。
【０３０３】
Title_mobj_id_ref[title_id]は、そのtitle_idによって指定されるタイトルがエントリされているMovie Objectのmobj_idの値を指定するためのフィールドである。
【０３０４】
図３７および図３８を用いて説明したIndexファイル（Index.bdmv）のFirstPlaybackにおいて、サーバ３へアクセスし、現在の仮想ファイルシステムの状態を示す情報を送信する処理を実行するアプリケーションが指定されていた場合、再生装置１は、光ディスク１１が装着されると、直ちにサーバ３にアクセスし、自分自身の仮想ファイルシステムの状況を示す情報をサーバ３に送信し、必要に応じてファイルのダウンロードを行う。
【０３０５】
図３９は、サーバ３の構成を示すブロック図である。
【０３０６】
ＣＰＵ（Central Processing Unit）２１１は、ＲＯＭ（Read Only Memory）２１２に記憶されているプログラム、または記憶部２１８からＲＡＭ（Random Access Memory）２１３にロードされたプログラムにしたがって、各種の処理を実行する。ＲＡＭ２１３にはまた、ＣＰＵ２１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３０７】
ＣＰＵ２１１、ＲＯＭ２１２、およびＲＡＭ２１３は、バス２１４を介して相互に接続されている。このバス２１４にはまた、入出力インタフェース２１５も接続されている。
【０３０８】
入出力インタフェース２１５には、キーボード、マウスなどよりなる入力部２１６、ディスプレイやスピーカなどよりなる出力部２１７、ハードディスクなどより構成される記憶部２１８、モデム、ターミナルアダプタなどより構成される通信部２１９が接続されている。通信部２１９は、インターネットを含むネットワーク２を介して、再生装置１との通信処理を行う。
【０３０９】
入出力インタフェース２１５にはまた、必要に応じてドライブ２２０が接続され、磁気ディスク２３１、光ディスク２３２、光磁気ディスク２３３、もしくは、半導体メモリ２３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２１８にインストールされる。
【０３１０】
図４０は、サーバ３のＣＰＵ２１１が所定のプログラムを実行することによって実現可能な機能を示すブロック図である。なお、ここでは、サーバ３はＣＰＵ２１１が所定のプログラムを実行することによって図４０を用いて説明する機能を実現するものとして説明するが、サーバ３は、図４０を用いて説明する機能を、ハードウェアによって実現するようにしても良い。
【０３１１】
仮想ファイルシステム情報取得部２５１は、再生装置１から、ネットワーク２を介して供給された、再生装置１の現在の仮想ファイルシステムの状態を示す情報を取得し、ダウンロードファイル判断部２５２に供給する。
【０３１２】
ダウンロードファイル判断部２５２は、仮想ファイルシステム情報取得部２５１から供給された、再生装置１の現在の仮想ファイルシステムの状態を示す情報を基に、スケジュール管理部２５３によるスケジュールの管理に基づいて、再生装置１が現在ダウンロード可能なファイルを選択して、その一覧を生成し、制御情報送受信制御部２５６に供給し、ネットワーク２を介して、再生装置１に供給させる。ダウンロードファイル判断部２５２は、また、制御情報送受信制御部２５６が、ネットワーク２を介して再生装置１から取得した、ダウンロードを希望するファイルを指定する情報の供給を受け、コンテンツデータベース２５４から、ダウンロードするコンテンツデータを読み出したり、マニフェストファイルデータベース２５５から、ダウンロードするマニフェストファイルを読み出して、ファイル送信部２５７に供給し、ネットワーク２を介して、再生装置１に供給させる。
【０３１３】
スケジュール管理部２５３は、ダウンロードファイル判断部２５２による、再生装置１へダウンロード可能なコンテンツの選択に用いられるスケジュールを管理するものである。サーバ３は、再生装置１へダウンロード可能なコンテンツの選択を時間的に管理することにより、例えば、再生装置１において再生される広告を更新することなどができる。例えば、スケジュール管理部２５３は、映画Ａのコンテンツのダウンロードとともに、何月何日までは映画Ｂの予告をダウンロードさせるが、何月何日以降は映画Ｂの予告のダウンロードを禁止したり、または、別の映画Ｃの予告をダウンロードさせるようにするために、コンテンツごとにダウンロードの可否のスケジュールを管理する。
【０３１４】
また、例えば、スケジュール管理部２５３は、コマーシャルフィルムを季節に合致したものとしたり、所定のキャンペーン期間のみに特別なコンテンツのダウンロードを可能なようにするために、コンテンツごとにダウンロードの可否のスケジュールを管理することができる。更に、スケジュール管理部２５３は、例えば、所定の日時以降、または、所定の期間のみに更新用のマニフェストファイルを再生装置１にダウンロード可能なようにするために、マニフェストファイルごとにダウンロードの可否のスケジュールを管理することができる。これにより、再生装置１において、認識可能なファイルを変更させることが可能となる。
【０３１５】
ダウンロード可否のスケジュールは、例えば、コンテンツやマニフェストファイルを固有に識別可能なＩＤと、ダウンロード開始日またはダウンロード可能期間などをテーブル情報として管理するようにしても良いし、例えば、データベースを構築するなど、その他の方法を用いて管理するようにしても良い。また、所定のコンテンツに対して、付随してダウンロードされるコンテンツ（例えば、ＣＭ）や、付随してダウンロードされるマニフェストファイルが時間的に管理される場合には、ダウンロード可否のスケジュールは、例えば、コンテンツを固有に識別可能なＩＤと、それに対して付随してダウンロードされるコンテンツやマニフェストファイルを固有に識別可能なＩＤと、それらの、付随してダウンロードされるファイルのダウンロード開始日またはダウンロード可能期間などをテーブル情報として管理するようにしても良いし、例えば、データベースを構築するなど、その他の方法を用いて管理するようにしても良い。
【０３１６】
コンテンツデータベース２５４には、サーバ３から再生装置１へダウンロードされるコンテンツデータが記憶されている。マニフェストファイルデータベース２５５には、コンテンツとともに、サーバ３から再生装置１へダウンロードされるマニフェストファイルが記憶されている。
【０３１７】
制御情報送受信制御部２５６は、サーバ３と再生装置１とのネットワーク２を介した制御情報の授受を制御するものである。制御情報送受信制御部２５６は、具体的には、例えば、ダウンロードファイル判断部２５２から供給されたダウンロード可能なコンテンツの一覧を示す情報の再生装置１への送信を制御したり、再生装置１からのダウンロードを希望するファイルを示す情報の受信を制御して、ダウンロードファイル判断部２５２に供給する。ファイル送信部２５７は、ダウンロードファイル判断部２５２から供給されたダウンロードされるファイルの再生装置１への送信を制御する。
【０３１８】
次に、図４１のアローチャートを参照して、再生装置１が、光ディスク１１が装着されると直ちにサーバ３にアクセスし、必要に応じてファイルのダウンロードを行う場合の、再生装置１およびサーバ３の処理について説明する。
【０３１９】
ステップＳ２０１において、再生装置１の光ディスクドライブ２２は、光ディスク１１が装着されたか否かを判断する。ステップＳ２０１において、光ディスク１１が装着されていないと判断された場合、光ディスク１１が装着されたと判断されるまで、ステップＳ２０１の処理が繰り返される
【０３２０】
ステップＳ２０１において、光ディスク１１が装着されたと判断された場合、ステップＳ２０２において、コントローラ２１は、光ディスクドライブ２２を制御して、装着された光ディスク１１の所定の領域のデータ、すなわち、上述したIndexes（）のFirstPlayback（）に記載されているデータをロードさせて、メモリ２３に展開させ、FirstPlayback（）において指定されているアプリケーションを読み出して起動する。FirstPlayback（）に記載されているデータによって指定されているアプリケーションは、ここでは、サーバ３にアクセスし、必要に応じてファイルのダウンロードを行うための処理を実行するアプリケーションである。
【０３２１】
ステップＳ２０３において、コントローラ２１のローカルストレージディレクトリ管理部３４は、データ取得部３３を制御し、インターネットインタフェース２５およびネットワーク２を介してサーバ３にアクセスし、現在の仮想ファイルシステムの状態を示す情報、例えば、装着された光ディスク１１のdisc_idに対応するManifest（）セクションのManifest_idを送信する。
【０３２２】
ステップＳ２０４において、サーバ３の仮想ファイルシステム情報取得部２５１は、ネットワーク２を介して、再生装置１から、現在の仮想ファイルシステムの状態を示す情報を受信し、ダウンロードファイル判断部２５２に供給する。
【０３２３】
ステップＳ２０５において、ダウンロードファイル判断部２５２は、供給された現在の仮想ファイルシステムの状態を示す情報を参照し、再生装置１に対してファイルの更新が可能であるか否かを判断する。ステップＳ２０５において、ファイルの更新が可能ではないと判断された場合、処理が終了される。
【０３２４】
テップＳ２０５において、ファイルの更新が可能であると判断された場合、ステップＳ２０６において、ダウンロードファイル判断部２５２は、スケジュール管理部２５３により管理されているスケジュールを参照し、再生装置１において更新が必要なコンテンツがあるか否かを判断する。スケジュール管理部２５３により、再生装置１へダウンロード可能なコンテンツの選択に用いられるスケジュールが管理されている。
【０３２５】
ステップＳ２０６において、更新が必要なコンテンツがないと判断された場合、ステップＳ２０７において、サーバ３のダウンロードファイル判断部２５２は、ダウンロード可能なファイルがないことを再生装置１に通知するための情報を、制御情報送受信制御部２５６に供給する。制御情報送受信制御部２５６は、ネットワーク２を介して、ダウンロード可能なファイルがないことを通知するための情報を再生装置１に送信する。
【０３２６】
ステップＳ２０８において、再生装置１のコントローラ２１のデータ取得部３３は、ネットワーク２を介して、サーバ３から、ダウンロード可能なファイルがないことの通知を受け、メニュー画面表示制御部３１に供給する。メニュー画面表示制御部３１は、メッセージを表示することなどにより、今回ダウンロード可能なファイルがないことをユーザに提示する。この後、再生装置１は、ユーザの操作入力待ち状態になる。
【０３２７】
ステップＳ２０６において、更新が必要なコンテンツがあると判断された場合、ステップＳ２０９において、サーバ３のダウンロードファイル判断部２５２は、ダウンロード可能なファイルの一覧に対応する情報を生成し、制御情報送受信制御部２５６に供給する。制御情報送受信制御部２５６は、ネットワーク２を介して、ダウンロード可能なファイルの一覧に対応する情報を再生装置１に送信する。
【０３２８】
ステップＳ２１０において、再生装置１のコントローラ２１のデータ取得部３３は、ネットワーク２を介して、サーバ３から、ダウンロード可能なファイルの一覧に対応する情報を受信し、メニュー画面表示制御部３１に供給する。メニュー画面表示制御部３１は、ダウンロード可能なファイルの一覧から、ユーザが所望のものを選択することができるようになされているメニュー画面を表示装置に表示させる。
【０３２９】
ステップＳ２１１において、再生装置１のコントローラ２１の操作入力取得部３２は、ユーザから、追加したいコンテンツの内容の指令を受けたか否かを判断する。ステップＳ２１１において、指令を受けていないと判断された場合、指令を受けたと判断されるまで、ステップＳ２１１の処理が繰り返される。
【０３３０】
ステップＳ２１１において、指令を受けたと判断された場合、ステップＳ２１２において、操作入力取得部３２は、ユーザにより選択されたアップデートの内容を表す情報を、データ取得部３３に供給する。データ取得部３３は、インターネットインタフェース２５を制御し、要求するファイルを示す情報をサーバ３に送信させ、ユーザが選択したファイルのダウンロードを要求する。
【０３３１】
ステップＳ２１３において、サーバ３の制御情報送受信制御部２５６は、再生装置１からネットワーク２を介して送信された、ダウンロードを要求するファイルを示す信号を受信し、ダウンロードファイル判断部２５２に供給する。
【０３３２】
ステップＳ２１４において、ダウンロードファイル判断部２５２は、コンテンツデータベース２５４またはマニフェストファイルデータベース２５５から、要求されたファイルを読み出し、ファイル送信部２５７に供給する。ファイル送信部２５７は、要求されたファイルを、ネットワーク２を介して、再生装置１に送信する。
【０３３３】
ステップＳ２１５において、再生装置１のコントローラ２１のデータ取得部３３は、インターネットインタフェース２５を制御し、サーバ３によりダウンロードファイルとして用意される、PlayListファイル、ClipInformationファイル、ClipAVストリームファイル、オーディオファイル、テキスト字幕ストリームファイル、または、フォントファイルなどをダウンロードさせ、これらのファイルがダウンロードされたことを、ローカルストレージディレクトリ管理部３４に通知する。
【０３３４】
ステップＳ２１６において、ローカルストレージディレクトリ管理部３４は、ダウンロードされたファイルのManifest（）に含まれるauthor_idとdisc_idとに基づいて、それらのＩＤで識別されるディレクトリがローカルストレージ２４に既に存在するか否かを判断して、対応するディレクトリが既に存在する場合は、そのディレクトリにダウンロードされたデータファイルを展開し、対応するディレクトリが存在しない場合、author_idとdisc_idで指定される新たなディレクトリをローカルストレージ２４に作成し、ダウンロードされたデータファイルを展開する。
【０３３５】
ステップＳ２１７において、図３２を用いて説明したバインディング処理１が実行され、処理が終了される。
【０３３６】
このように、Indexファイル（Index.bdmv）のFirstPlaybackにおいて、サーバ３へアクセスし、現在の仮想ファイルシステムの状態を示す情報を送信する処理を実行するアプリケーションが指定されていた場合、再生装置１は、光ディスク１１が装着されると、直ちにサーバ３にアクセスし、自分自身の仮想ファイルシステムの状況を示す情報をサーバ３に送信し、必要に応じてファイルのダウンロードを行うことができる。
【０３３７】
また、サーバ３においては、上述したように、再生装置１へダウンロード可能なコンテンツの選択に用いられるスケジュールを管理している。これにより、例えば、映画Ａのコンテンツのダウンロードとともに、何月何日までは映画Ｂの予告をダウンロードさせるが、何月何日以降は映画Ｂの予告のダウンロードを禁止したり、または、別の映画Ｃの予告をダウンロードさせることができる。また、サーバ３においては、所定の日時以降、または、所定の期間のみに更新用のマニフェストファイルを再生装置１にダウンロード可能なようにするために、コンテンツごと、または、マニフェストファイルごとに、ダウンロードの可否のスケジュールを管理することができる。これにより、再生装置１において、認識可能なファイルを変更させることが可能となる。
【０３３８】
上述した処理においては、サーバ３からダウンロードされるコンテンツは、暗号化されていないものとして説明したが、光ディスク１１に暗号鍵を記憶させ、再生装置に、新たに復号処理部を設けるか、または、再生装置１のコントローラ２１に、暗号鍵を用いた復号処理を実行する機能を含ませ、サーバ３からダウンロードされたコンテンツを、光ディスク１１に記録されていた暗号鍵を用いて復号した後、バインディング処理を行うことができるようにしても良い。
【０３３９】
復号処理部を有する再生装置の構成例を図４２に示す。
【０３４０】
再生装置３０１は、復号処理部３１１が設けられている以外は、図１を用いて説明した再生装置１と基本的に同様の構成を有している。
【０３４１】
復号処理部３１１は、光ディスクドライブ２２によって、光ディスク１１から読み出された暗号鍵の供給を受けるとともに、ローカルストレージ２４から暗号化されているコンテンツなどのデータファイルの供給を受けて、コントローラ２１の制御に基づいて、復号し、メモリ２３またはデコーダ２６に供給することができるようになされている。
【０３４２】
次に、図４３のアローチャートを参照して、図４２の再生装置３０１と、サーバ３が実行する処理について説明する。
【０３４３】
ステップＳ２５１乃至ステップＳ２５３において、図４１のステップＳ２０１乃至ステップＳ２０３で再生装置１が実行していた処理と基本的に同様の処理が、再生装置３０１において実行される。
【０３４４】
すなわち、光ディスク１１が装着された場合、装着された光ディスク１１の所定の領域に記録されているデータがロードされて、FirstPlayback（）に記載されている、サーバ３にアクセスし、必要に応じてファイルのダウンロードを行うための処理を実行するアプリケーションが実行されて、現在の仮想ファイルシステムの状態を示す情報、例えば、対応するManifest（）セクションのManifest_idがサーバ３に送信される。
【０３４５】
ステップＳ２５４において、光ディスクドライブ２２は、復号処理部２２は、光ディスク１１に記録されている暗号鍵を読み出して、復号処理部２２に供給する。復号処理部２２は、供給された暗号鍵を保持する。
【０３４６】
ステップＳ２５５乃至ステップＳ２６６において、図４１のステップＳ２０４乃至ステップＳ２１５で再生装置１およびサーバ３が実行していた処理と基本的に同様の処理が、再生装置３０１およびサーバ３において実行される。
【０３４７】
すなわち、サーバ３は、ネットワーク２を介して、再生装置３０１から、現在の仮想ファイルシステムの状態を示す情報を受信し、再生装置３０１においてファイルの更新が可能であるか否かを判断する。そして、ファイルの更新が可能であると判断された場合、スケジュール管理部２５３により管理されているスケジュールを参照し、再生装置３０１において更新が必要なコンテンツがあるか否かが判断される。
【０３４８】
更新が必要なコンテンツがないと判断された場合、サーバ３は、ダウンロード可能なファイルがないことを通知するための情報を、ネットワーク２を介して、再生装置３０１に送信する。再生装置３０１は、ネットワーク２を介して、サーバ３から、ダウンロード可能なファイルがないことの通知を受け、メッセージを表示することなどにより、今回ダウンロード可能なファイルがないことをユーザに提示する。この後、再生装置３０１は、ユーザの操作入力待ち状態になる。
【０３４９】
更新が必要なコンテンツがあると判断された場合、サーバ３は、ダウンロード可能なファイルの一覧に対応する情報を生成し、ネットワーク２を介して、再生装置３０１に送信する。再生装置３０１は、ネットワーク２を介して、サーバ３から、ダウンロード可能なファイルの一覧に対応する情報を受信し、ダウンロード可能なファイルの一覧から、ユーザが所望のものを選択することができるようになされているメニュー画面を表示装置に表示させる。
【０３５０】
そして、再生装置３０１は、ユーザから、追加したいコンテンツの内容の指令を受けたか否かを判断し、指令を受けたと判断された場合、ユーザにより選択されたアップデートの内容を表す情報を、サーバ３に送信する。
【０３５１】
サーバ３は、再生装置３０１からネットワーク２を介して送信された、ダウンロードを要求するファイルを示す信号を受信し、コンテンツデータベース２５４またはマニフェストファイルデータベース２５５から、要求されたファイルを読み出し、要求されたファイルを、ネットワーク２を介して送信する。
【０３５２】
そして、再生装置３０１は、サーバ３によりダウンロードファイルとして用意される、PlayListファイル、ClipInformationファイル、ClipAVストリームファイル、オーディオファイル、テキスト字幕ストリームファイル、または、フォントファイルなどをダウンロードする。
【０３５３】
ステップＳ２６７において、再生装置３０１のコントローラ２１のローカルストレージディレクトリ管理部３４は、ダウンロードされたファイルは暗号化されているか否かを判断する。
【０３５４】
ステップＳ２６７において、ダウンロードされたファイルは暗号化されていると判断された場合、ステップＳ２６８において、ローカルストレージディレクトリ管理部３４は、ダウンロードされたファイルは、復号処理部３１１に供給されている、光ディスク１１に記録されていた暗号鍵で復号可能であるか否かを判断する。
【０３５５】
ステップＳ２６８において、光ディスク１１に記録されていた暗号鍵で復号することができないと判断された場合、ステップＳ２６９において、ローカルストレージディレクトリ管理部３４は、メニュー画面表示制御部３１を制御して、ダウンロードされたファイルを再生することができないことをユーザに通知するためのエラーメッセージを出力させる。
【０３５６】
ステップＳ２６８において、光ディスク１１に記録されていた暗号鍵で復号することができると判断された場合、ステップＳ２７０において、ローカルストレージディレクトリ管理部３４は、復号処理部３１１を制御して、ダウンロードされたファイルを復号する。
【０３５７】
ステップＳ２６７において、ダウンロードされたファイルは暗号化されていないと判断された場合、または、ステップＳ２７０の処理の終了後、ステップＳ２７１において、ローカルストレージディレクトリ管理部３４は、ダウンロードされたファイルのManifest（）に含まれるauthor_idとdisc_idとに基づいて、それらのＩＤで識別されるディレクトリがローカルストレージ２４に既に存在するか否かを判断して、対応するディレクトリが既に存在する場合は、そのディレクトリにダウンロードされたデータファイルを展開し、対応するディレクトリが存在しない場合、author_idとdisc_idで指定される新たなディレクトリをローカルストレージ２４に作成し、ダウンロードされたデータファイルを展開する。
【０３５８】
そして、ステップＳ２７２において、図３２を用いて説明したバインディング処理１が実行され、処理が終了される。
【０３５９】
このようにすることにより、例えば、光ディスク１１に、Index.bdmvファイルと暗号鍵しか記録されていなかった場合であっても、光ディスク１１が再生装置１に装着されることにより、指定されたファイルがダウンロードされ、装着されている光ディスク１１に記録されている暗号鍵を基に復号されて、ローカルストレージ２４に展開される（ローカルストレージ２４のファイルシステム内に保存される）ので、次回からその光ディスク１１が装着された場合、その都度ダウンロード処理や復号処理を行うことなく、以前にダウンロードされて展開されたコンテンツを再生させるようにすることが可能となる。また、光ディスク１１に、コンテンツの一部しか記録されていなかった場合であっても、上述した処理を実行させるIndex.bdmvファイルと暗号鍵が記録されていれば、光ディスク１１が再生装置１に装着されることにより、残りのコンテンツデータファイルが自動的にダウンロードされて、装着されている光ディスク１１に記録されている暗号鍵を基に復号されて、ローカルストレージ２４に展開される（ローカルストレージ２４のファイルシステム内に保存される）。すなわち、ユーザに配布される光ディスク１１に、予め全てのコンテンツデータが記録されていなくても、上述した処理が実行されることにより、ユーザにとっては、全てのコンテンツデータが記録されている光ディスク１１が配布された場合と同等に扱われるとともに、不正なコンテンツのダウンロードを防止することができる。
【０３６０】
このようにすることにより、コンテンツオーサは、ユーザに対して光ディスク１１を配布することによって、光ディスク１１の記録容量にかかわらず（光ディスク１１に十分な容量がない場合であっても）、容量の大きなコンテンツを提供することが可能である。
【０３６１】
また、上述した処理においては、ダウンロードされるファイルパッケージのManifest（）セクションのsrc_file_nameのフィールドに、ローカルストレージ２４におけるパス名称を指定し、dst_file_nameのフィールドに、仮想ディスクにおける仮想ファイルシステムにおけるパス名称を指定することができるものとして説明したが、src_file_nameのフィールドに、ローカルストレージ２４におけるパス名称のみならず、光ディスク１１におけるデータのパス名称を指定することができるようにしても良い。
【０３６２】
例えば、index.bdmvの記載において、所定のファイルにアクセスすることができないようにすることなどにより、光ディスク１１に記録されているファイルのうちの一部を、再生装置１（または再生装置３０１、以下同様）において実行されるアプリケーションプログラムやユーザから隠蔽するようにしておく。そして、後日、サーバ３から再生装置１に、光ディスク１１に対応するManifest_idを有し、src_file_nameのフィールドに、隠蔽されている所定のファイルの光ディスク１１におけるデータのパス名称が指定され、dst_file_nameフィールドに、仮想ファイルシステムにおける所定のパス名称が記載されたManifest（）セクションをダウンロードさせることにより、再生装置１において実行されるアプリケーションプログラムからは、新たなManifest（）セクションがダウンロードされたタイミングで、光ディスク１１にはじめから記録されていたファイルを、新たにダウンロードされたのと同様に取り扱わせるようにすることができる。
【０３６３】
また、src_file_nameのフィールドに、光ディスク１におけるデータのパス名称が指定され、dst_file_nameフィールドに、仮想ファイルシステムにおける所定のパス名称が記載されたManifest（）セクションのダウンロードは、スケジュール管理部２５３によって管理される、所定の期間内または所定の日時以降に、再生装置１に光ディスク１１が装着された場合に実行されるようにしても良いし、再生装置１を用いるユーザが、サーバ３にアクセスして、登録処理を行ったり、課金処理を行うなどの所定の処理を実行した場合に可能になるものとしても良い。
【０３６４】
また、src_file_nameのフィールドには、光ディスク１１におけるデータのパス名称が指定されているが、対応するdst_file_nameのフィールドが空欄であるManifest（）セクションがダウンロードされて上書きされる場合、そのファイルは、再生装置１において実行されるアプリケーションプログラムから参照することができない（すなわち、再生装置１において実行されるアプリケーションプログラムやユーザから、そのファイルの存在を認識することができない）状態に戻る。すなわち、実ファイルは光ディスク１１に記憶されているが、dst_file_nameのフィールドを空欄とすることにより、このファイルは仮想ファイルシステムには存在しないものと認識されるので、再生装置１において実行されるアプリケーションプログラムやユーザからは隠蔽することが可能である。
【０３６５】
これを利用して、例えば、src_file_nameのフィールドに、光ディスク１１におけるデータのパス名称が指定され、dst_file_nameフィールドに、仮想ファイルシステムにおける所定のパス名称が記載されたManifest（）セクションをダウンロードさせることにより、光ディスク１１に予め記録されている所定のファイルを参照可能としたり、src_file_nameのフィールドに、光ディスク１におけるデータのパス名称が指定され、対応するdst_file_nameのフィールドが空欄であるManifestファイルをダウンロードさせて、Manifest（）セクションを上書きさせることにより、参照可能であった所定のファイルを参照不可にすることが可能となる。
【０３６６】
このようにすることにより、例えば、複数のボーナストラックを予め光ディスクに記録させておいて、その後、時期ごとに異なるボーナストラックをアプリケーションにより認識させることができるように、src_file_nameフィールドおよびdst_file_nameフィールドが記載されたManifest（）セクションを、所定の時期ごとにダウンロードさせて、上書きさせることにより、大容量のデータをたびたびダウンロードさせることなく、時期ごとに異なるボーナストラックが追加または削除されるようなサービスをユーザに提供することが可能となる。
【０３６７】
次に、図４４のフローチャートを参照して、Manifest（）セクションのsrc_file_nameのフィールドに光ディスク１１におけるデータのパス名称を指定することが可能な場合に実行される、バインディング処理２について説明する。
【０３６８】
ステップＳ３０１において、ローカルストレージディレクトリ管理部３４は、ローカルストレージ２４に記録されているダウンロードされたデータ群から、対応するdisc_idのディレクトリを抽出し、ファイルシステムマージ処理部３６に供給する。
【０３６９】
ステップＳ３０２において、ファイルシステムマージ処理部３６は、Manifestファイルのsrc_file_nameおよびdst_file_nameを参照する。
【０３７０】
ステップＳ３０３において、ファイルシステムマージ処理部３６は、Manifestファイルのsrc_file_nameに、光ディスク１１内に記録されているデータのパス名称が記載されているか否かを判断する。
【０３７１】
ステップＳ３０３において、src_file_nameに、光ディスク１１内に記録されているデータのパス名称が記載されていると判断された場合、ステップＳ３０４において、ファイルシステムマージ処理部３６は、光ディスクディレクトリ管理部３５に、src_file_nameに記載されている光ディスク１１におけるパス名称を供給する。光ディスクディレクトリ管理部３５は、src_file_nameの情報を基に、光ディスク１１に記録されている所定の情報にアクセスする。
【０３７２】
ステップＳ３０３において、src_file_nameに、光ディスク１１内に記録されているデータのパス名称が記載されていないと判断された場合、または、ステップＳ３０４の処理の終了後、ステップＳ３０５において、ファイルシステムマージ処理部３６は、ステップＳ３０２において参照されたsrc_file_nameおよびdst_file_nameを基に、ネイティブなファイルシステムと、仮想ファイルシステムとをバインディングする。
【０３７３】
src_file_nameに、光ディスク１１内に記録されているデータのパス名称が記載されていない場合、図３２を用いて説明したバインディング処理１における場合と同様に、バインディング処理が実行される。そして、src_file_nameに、光ディスク１１内に記録されているデータのパス名称が記載されていた場合、ファイルシステムマージ処理部３６は、光ディスク１１のsrc_file_nameに示されるパスに記録されているファイルを、仮想ディスクにおける仮想ファイルシステムにおいて、dst_file_nameのフィールドに記載されているパスおよびファイル名を有するファイルとして扱うようにバインディングする。
【０３７４】
また、dst_file_nameのフィールドになにも記載されていない場合、光ディスク１１のsrc_file_nameに示されるパスに記録されているファイルは、仮想ファイルシステムにバインディングされない。
【０３７５】
コンテンツオーサは、ユーザに提供する光ディスク１１にコンテンツの実ファイルを記録し、光ディスク１１単体の再生では、そのコンテンツにアクセスすることができない（コンテンツをアプリケーションおよびユーザから隠蔽する）ようにしておき、ダウンロードされるファイルパッケージのManifest（）セクションのsrc_file_nameのフィールドに、光ディスク１１におけるパス名称を指定し、dst_file_nameのフィールドに、仮想ディスクにおける仮想ファイルシステムのパス名称を指定することができる。したがって、コンテンツオーサは、再生装置３０１に装着された光ディスク１１に記録されているコンテンツの実ファイルの仮想ファイルシステムにおけるパス名称を、ダウンロードされるファイルパッケージのManifest（）セクションの記載によって自由に設定することができる。これにより、光ディスク１１にファイルが存在しているにもかかわらず、コンテンツオーサは、ユーザがそのファイルにアクセスすることができるようにしたり、アクセスすることができないようにすることが可能となる。
【０３７６】
ところで、アップデートファイルは、上述したように、サーバ３からダウンロードするのみならず、リムーバブルメディア２８に記録して配布することができる。このような場合、ドライブ２７を介してコントローラ２１がリムーバブルメディア２８からアップデートファイルを読み込み、ローカルストレージ２４に書き込む。このようにすることにより、再生装置１がサーバ３と接続することができない場合（例えば、再生装置１にサーバ３との接続機能がない場合、または、再生装置１がサーバ３と接続できない環境にあった場合など）であっても、データをアップデートすることが可能となる。
【０３７７】
このような場合においても、基本的に、アップデートファイルをサーバ３からダウンロードする場合と同様にして、ローカルストレージ２４に所定のファイル形式でアップデートファイルが記録され、光ディスク１１に記録されているデータとバインディング処理が行われて、仮想ファイルシステムが構築されて、アップデートされたコンテンツが再生されるようになされている。
【０３７８】
リムーバブルメディア２８に記録されるアップデートファイルのデータ構造は、図４５に示されるように、root直下にリムーバブルメディア２８を個別に区別することが可能なmedia_idが記載される。そして、media_idに対して、author_idおよびdisc_idで区別される、図１４を用いて説明したサーバ３からダウンロードされるデータと同様の構成を有するデータが記載されている。disc_id以下の、Manifestファイルおよびその他のファイルのシンタクスは、上述した、サーバ３からダウンロードされるデータと同様の構成を有している。そして、リムーバブルメディア２８に記録されるアップデートファイルには、「others」ディレクトリが用意され、例えば、所定のアプリケーションプログラムや、各種データなどを記載することができるようになされている。
【０３７９】
「others」ディレクトリに記録されるアプリケーションプログラムとしては、例えば、リムーバブルメディア２８に記録されているアップデートファイルを、ローカルストレージ２４に書き込む処理を実行するアプリケーションプログラムなどがある。また、others」ディレクトリには、リムーバブルメディア２８に記録されているアップデートファイルを、ローカルストレージ２４に書き込む処理を実行するために必要なデータを記録するようにすると好適である。
【０３８０】
また、リムーバブルメディア２８からアップデートファイルをローカルストレージ２４に書き込むための処理は、光ディスク１１が再生装置１に装着されたときのみ実行可能なようにしても良いし、光ディスク１１が再生装置１に装着されていなくても実行可能なようにしても良い。
【０３８１】
すなわち、リムーバブルメディア２８からアップデートファイルをローカルストレージ２４に書き込むための処理は、光ディスク１１に記録されているナビゲーションプログラムがコントローラ２１により実行されることにより実現されるものとし、光ディスク１１が再生装置１に装着されたときのみ実行可能なようにしても良い。また、リムーバブルメディア２８からアップデートファイルをローカルストレージ２４に書き込むための処理は、再生装置１において予め用意されている制御プログラムがコントローラ２１により実行されるか、リムーバブルメディア２８に記録されている（例えば、図４５に示される「others」ディレクトリに記録されている）ナビゲーションプログラムと同様の形式のアプリケーションプログラムがコントローラ２１により実行されることにより、光ディスク１１が再生装置１に装着されていなくても実行可能なようにしても良い。
【０３８２】
また、アップデートファイルをサーバ３からダウンロードする場合においては、光ディスク１１が再生装置１に装着され、サーバ３に現在の仮想ファイルシステムの状態を示す情報が送信され、アップデートに必要なデータがダウンロードされるようになされていた。しかしながら、アップデートファイルの提供にリムーバブルメディア２８が用いられる場合、現在の仮想ファイルシステムの状態によって、供給されるアップデートデータを変更することができない。
【０３８３】
したがって、例えば、図４６Ａに示されるように、既にローカルストレージ２４にマニフェストファイルと、このマニフェストファイルに関連付けられたファイル＃１とファイル＃２とが記録されている状態において、リムーバブルメディア２８に記録されている図４６Ｂに示されるファイル＃３およびファイル＃４を含むアップデートファイルをローカルストレージ２４に書き込んだ場合、マニフェストファイルが上書きされる（書き換えられる）ことにより、これ以前にアップデートされたファイル＃１とファイル＃２がマニフェストファイルにより参照されない状況が発生してしまう。
【０３８４】
このような状況の発生をできるだけ防止するために、光ディスク１１またはリムーバブルメディア２８に、以前アップデートされたファイルが参照されなくなってしまうことのないような、現マニフェストファイルとそれに上書き（置き換え）可能なマニフェストファイルとの組み合わせを示す情報を記録しておくことができる。
【０３８５】
例えば、図４７に示されるように、manifestファイル＃１には、日本語の字幕が対応付けられ、manifestファイル＃２には、英語の字幕が対応付けられ、manifestファイル＃３には、フランス語の字幕が対応付けられ、manifestファイル＃４には、日本語と英語の字幕が対応付けられ、manifestファイル＃５には、日本語とフランス語の字幕が対応付けられ、manifestファイル＃６には、英語とフランス語の字幕が対応付けられ、manifestファイル＃７には、日本語、英語、ドイツ語の字幕が対応付けられ、manifestファイル＃８には、日本語、英語、フランス語、ドイツ語の字幕が対応付けられていることが予め分かっており、更に、他のmanifestファイルにも、それぞれ、何の言語の字幕が対応付けられているかが、ファイルの番号によって認識可能であるものとする。
【０３８６】
ここで、現在、再生装置１のローカルストレージ２４にmanifestファイル＃１および対応する日本語字幕のファイルが記録されている場合、manifestファイル＃４、manifestファイル＃５、manifestファイル＃７、または、manifestファイル＃８が対応する字幕ストリームファイルとともに記録されているリムーバブルメディア２８を用いてデータのアップデートが行われても、日本語字幕は以前と同様にユーザにより選択可能となる。しかしながら、それ以外のmanifestファイルおよび対応する字幕ストリームファイルが記録されているリムーバブルメディア２８を用いてデータのアップデートが行われたとき、日本語字幕は書き換えられたマニフェストファイルと関連付けられていないため、ユーザは、このリムーバブルメディア２８を用いたアップデートの後、日本語字幕を選択することができなくなってしまう。
【０３８７】
そこで、光ディスク１１またはリムーバブルメディア２８に、図４８に示されるようなマニフェストファイルの対応表を記録しておき、再生装置１がリムーバブルメディア２８を用いてデータのアップデートを行う場合、再生装置１においては、この対応表を参照して、不都合が発生しないようにマニフェストファイルを書き換えるか、または、ユーザに対して通知を行うようになされる。
【０３８８】
具体的には、現在、日本語字幕が関連付けられているmanifestファイル＃１がローカルストレージ２４に記録されている状態で、リムーバブルメディア２８を用いて英語字幕が関連付けられているmanifestファイル＃２がアップデートファイルとして用意された場合、このままmanifestファイル＃１からmanifestファイル＃２に書き換えてしまっては、日本語字幕が使用できなくなってしまうため、再生装置１においては、例えば、ユーザに対して、「このアップデートを行うことにより、英語字幕のみが利用可能となりますがよろしいですか？」などのメッセージを提示することができるようにしてもよいし、また、manifestファイル＃１からmanifestファイル＃２に書き換えるのではなく、日本語字幕と英語字幕が関連付けられているmanifestファイル＃４と同様のマニフェストファイルを生成し、manifestファイル＃１に上書きすることができるようにしてもよい。
【０３８９】
さらに、再生装置１は、マニフェストファイルの書き換えにより発生する不具合をマニフェストファイルの生成により防止することができない場合、書き換え前のマニフェストファイルを示す情報（サーバ３が、マニフェストファイルを区別可能な情報であれば良く、例えば、Manifest_idであっても、Manifest_idを基に生成されるコード情報であっても、それ以外の情報であっても良い）をユーザに提示するようにしても良い。そして、ユーザは、サーバ３に接続可能な再生装置１もしくはサーバ３に接続可能なパーソナルコンピュータ、PDA、または、携帯型電話機などの情報処理装置を用いて、書き換え前のマニフェストファイルを示す情報をサーバ３に通知し、サーバ３から書き換え前のマニフェストファイルをダウンロードすることにより、再生装置１を少なくとも書き換え前の状態に戻すことが可能となる。
【０３９０】
次に、図４９のフローチャートを参照して、リムーバブルメディア２８を用いたファイルの更新処理１について説明する。リムーバブルメディア２８を用いたファイルの更新処理１は、ムーバブルメディア２８からアップデートファイルをローカルストレージ２４に書き込むための処理が光ディスク１１が再生装置１に装着されたときのみ実行可能なようになされている再生装置１において実行される処理である。
【０３９１】
ステップＳ４１０において、再生装置１に光ディスク１１が装着され、光ディスク１１に記録されているナビゲーションプログラムが光ディスクドライブ２２により読み出されてメモリ２３に展開され、コントローラ２１によりナビゲーションプログラムが起動される。
【０３９２】
ステップＳ４１１において、コントローラ２１の操作入力取得部３２は、ユーザの操作入力を基に、リムーバブルメディア２８を用いたファイルの追加が指令されたか否かを判断する。ステップＳ４１１において、リムーバブルメディア２８を用いたファイルの追加が指令されていないと判断された場合、リムーバブルメディア２８を用いたファイルの追加が指令されたと判断されるまで、ステップＳ４１１の処理が繰り返される。
【０３９３】
ステップＳ４１１において、リムーバブルメディア２８を用いたファイルの追加が指令されたと判断された場合、ステップＳ４１２において、コントローラ２１のメニュー画面表示制御部３１は、リムーバブルメディア２８の装着をユーザに促すためのメッセージなどを出力する。
【０３９４】
ステップＳ４１３において、データ取得部３３は、リムーバブルメディア２８がドライブ２７に装着されたか否かを判断する。ステップＳ４１３において、リムーバブルメディア２８が装着されていないと判断された場合、リムーバブルメディアが装着されたと判断されるまで、ステップＳ４１３の処理が繰り返される。
【０３９５】
ステップＳ４１３において、リムーバブルメディア２８が装着されたと判断された場合、ステップＳ４１４において、データ取得部３３は、装着されたリムーバブルメディア２８に記録されているデータのうちの所定の部分（例えば、いわゆるヘッダやＴＯＣなどのように、データの構成、データ構造、フォーマット等を再生装置１が判断するためのデータが記録されている部分）を読み込み、装着されたリムーバブルメディア２８は再生装置１で再生可能であるか否かを判断する。
【０３９６】
ステップＳ４１４において、装着されたリムーバブルメディア２８は再生装置１で再生可能ではないと判断された場合、処理は、後述するステップＳ４２５に進む。
【０３９７】
ステップＳ４１４において、装着されたリムーバブルメディア２８は再生装置１で再生可能であると判断された場合、ステップＳ４１５において、データ取得部３３は、装着されたリムーバブルメディア２８には、再生装置１で実行可能なアプリケーションプログラムが記録されているか否かを判断する。ステップＳ４１５において、リムーバブルメディア２８には、再生装置１で実行可能なアプリケーションプログラムが記録されていないと判断された場合、処理は、後述するステップＳ４１８に進む。
【０３９８】
ステップＳ４１５において、リムーバブルメディア２８には、再生装置１で実行可能なアプリケーションプログラムが記録されていると判断された場合、ステップＳ４１６において、コントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムをメモリ２３に展開して実行する。そして、コントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムは、データの追加処理を実行するアプリケーションであるか否かを判断する。ステップＳ４１６において、リムーバブルメディア２８に記録されているアプリケーションプログラムがデータの追加処理を実行するアプリケーションであると判断された場合、処理は、後述するステップＳ４２１に進む。
【０３９９】
ステップＳ４１６において、リムーバブルメディア２８に記録されているアプリケーションプログラムがデータの追加処理を実行するアプリケーションではないと判断された場合、ステップＳ４１７において、コントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行する。リムーバブルメディア２８に記録されているアプリケーションプログラムの処理の終了後、再生装置１においては、再び、光ディスク１１に記録されているナビゲーションプログラムがコントローラ２１において実行されている状態に戻る。
【０４００】
ステップＳ４１５において、リムーバブルメディア２８には、再生装置１で実行可能なアプリケーションプログラムが記録されていないと判断された場合、または、ステップＳ４１７の処理の終了後、ステップＳ４１８において、コントローラ２１のデータ取得部３３は、装着されたリムーバブルメディア２８には、例えば、図４５を用いて説明したような追加用のデータが記録されているか否かを判断する。ステップＳ４１８において、装着されたリムーバブルメディア２８に追加用のデータが記録されていないと判断された場合、処理は、後述するステップＳ４２５に進む。
【０４０１】
ステップＳ４１８において、装着されたリムーバブルメディア２８に追加用のデータが記録されていると判断された場合、ステップＳ４１９において、データ取得部３３は、装着されたリムーバブルメディア２８に記録されている追加用のデータを読み込む。
【０４０２】
ステップＳ４２０において、図５０を用いて後述するファイル更新処理１が実行され、処理は、後述するステップＳ４２４に進む。
【０４０３】
ステップＳ４１６において、リムーバブルメディア２８に記録されているアプリケーションプログラムがデータの追加処理を実行するアプリケーションであると判断された場合、ステップＳ４２１において、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行しているコントローラ２１は、装着されたリムーバブルメディア２８には、例えば、図４５を用いて説明したような追加用のデータが記録されているか否かを判断する。ステップＳ４２１において、装着されたリムーバブルメディア２８に追加用のデータが記録されていないと判断された場合、処理は、後述するステップＳ４２５に進む。
【０４０４】
ステップＳ４２１において、装着されたリムーバブルメディア２８に追加用のデータが記録されていると判断された場合、ステップＳ４２２において、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行しているコントローラ２１は、装着されたリムーバブルメディア２８に記録されている追加用のデータを読み込む。
【０４０５】
ステップＳ４２３において、図５０を用いて後述するファイル更新処理１が実行される。ステップＳ４２３の処理の終了後、すなわち、リムーバブルメディア２８に記録されているアプリケーションプログラムの処理の終了後、コントローラ２１においては、再び、光ディスク１１に記録されているナビゲーションプログラムがコントローラ２１において実行されている状態に戻る。
【０４０６】
ステップＳ４２０またはステップＳ４２３の処理の終了後、ステップＳ４２４において、図３２を用いて説明したバインディング処理が実行され、処理は、ステップＳ４２６に進む。
【０４０７】
ステップＳ４１４において、装着されたリムーバブルメディア２８は再生装置１で再生可能ではないと判断された場合、ステップＳ４１８において、装着されたリムーバブルメディア２８に追加用のデータが記録されていないと判断された場合、または、ステップＳ４２１において、装着されたリムーバブルメディア２８に追加用のデータが記録されていないと判断された場合、ステップＳ４２５において、コントローラ２１のメニュー画面表示制御部３１は、例えば、「データの追加はできません。リブーバブルメディアを確認してください」等のエラーメッセージなどを出力する。
【０４０８】
ステップＳ４２４またはステップＳ４２５の処理の終了後、ステップＳ４２６において、操作入力取得部３２は、ナビゲーションプログラムの終了が指令されたか否かを判断する。ステップＳ４２６において、ナビゲーションプログラムの終了が指令されていないと判断された場合、処理は、ステップＳ４１１に戻り、それ以降の処理が繰り返される。ステップＳ４２６において、ナビゲーションプログラムの終了が指令されたと判断された場合、処理が終了される。
【０４０９】
このような処理により、光ディスク１１に記録されているナビゲーションプログラム、または、リムーバブルメディア２８に記録されているアプリケーションプログラムによって、リムーバブルメディア２８に記録されているアップデートファイルが読み出されて、ローカルストレージ２４に書き込まれる。
【０４１０】
次に、図５０のフローチャートを参照して、図４９のステップＳ４２０またはステップＳ４２３において実行されるファイル更新処理１について説明する。
【０４１１】
なお、図４９のステップＳ４２３において実行されるファイル更新処理１は、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行しているコントローラ２１によりデータの追加処理が実行されている状態で実行される。コントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムがデータの追加処理を実行するものであった場合、基本的に、図６を用いて説明した場合と同様の機能を有する。したがって、図５０のフローチャートにおいては、図６を用いて説明した機能ブロック図を参照して説明する。
【０４１２】
ステップＳ４５１において、ローカルストレージディレクトリ管理部３４は、光ディスクディレクトリ管理部３５により管理される光ディスク１１、または、データ取得部３３によりデータを読み込むことが可能なリムーバブルメディア２８に、例えば、図４８を用いて説明した様な、マニフェストファイルの対応を示す情報が記載されているか否かを判断する。ステップＳ４５１において、マニフェストファイルの対応を示す情報が記載されていないと判断された場合、処理は、後述するステップＳ４５６に進む。
【０４１３】
ステップＳ４５１において、マニフェストファイルの対応を示す情報が記載されていると判断された場合、ステップＳ４５２において、ローカルストレージディレクトリ管理部３４は、マニフェストファイルの対応を示す情報を基に、リムーバブルメディア２８に記録されているアップデートファイルの上書きによって、例えば、図４６を用いて説明した様に、以前アップデートされたファイルが利用できなくなってしまうなどの障害が発生するか否かを判断する。ステップＳ４５２において、障害が発生しないと判断された場合、処理は、後述するステップＳ４５８に進む。
【０４１４】
ステップＳ４５２において、障害が発生すると判断された場合、ステップＳ４５３において、ローカルストレージディレクトリ管理部３４は、現在ローカルストレージ２４に記録されているマニフェストファイル、図４８を用いて説明したマニフェストファイルの対応を示す情報、および、リムーバブルメディア２８に記録されているアップデートファイルのマニフェストファイルを基に、障害が発生しないマニフェストファイルを作成する障害回避処理が実行可能であるか否かを判断する。ステップＳ４５３において、障害回避処理が実行できないと判断された場合、処理は、後述するステップＳ４５６に進む。
【０４１５】
ステップＳ４５３において、障害回避処理が実行可能であると判断された場合、ステップＳ４５４において、ローカルストレージディレクトリ管理部３４は、障害回避プログラムを実行し、障害が発生しないマニフェストファイルを作成する。
【０４１６】
例えば、現在、ローカルストレージ２４に、日本語、英語、ドイツ語の字幕を利用することが可能なmanifestファイル＃７とそれぞれの字幕データが記録され、リムーバブルメディア２８には、manifestファイル＃３およびフランス語の字幕データが記録されている場合、ユーザがフランス語の字幕を追加しようとしてリムーバブルメディア２８に記録されているアップデートファイルをローカルストレージに上書きしてしまっては、既に利用可能であった日本語、英語、ドイツ語の字幕を利用することができなくなってしまう（manifestファイル＃３は、日本語、英語、ドイツ語の字幕データと関連付けられていない）。この障害を防止するために、ローカルストレージディレクトリ管理部３４は、障害回避プログラムを実行し、日本語、英語、フランス語、ドイツ語の字幕データと関連付けられているmanifestファイル＃８を作成し、これを、フランス語字幕データとともに、ローカルストレージ２４に記録する。
【０４１７】
ステップＳ４５５において、ローカルストレージディレクトリ管理部３４は、作成されたマニフェストファイルを、リムーバブルメディア２８に記録されていたマニフェストファイルと置き換え、リムーバブルメディア２８の対応するファイルをローカルストレージ２４に記憶して、処理は、図４９のステップＳ４２０に戻ってステップＳ４２４に進むか、または、ステップＳ４２３に戻ってステップＳ４２４に進む。
【０４１８】
ステップＳ４５１において、マニフェストファイルの対応を示す情報が記載されていないと判断された場合、または、ステップＳ４５３において、障害回避処理が実行できないと判断された場合、ステップＳ４５６において、メニュー画面表示制御部３１は、例えば、「このアップデートを行うことにより、英語字幕のみが利用可能となりますがよろしいですか？」などの警告メッセージをユーザに通知する。更に、メニュー画面表示制御部３１は、書き換え前のマニフェストファイルを示す情報（サーバ３が、マニフェストファイルを区別可能な情報であれば良く、例えば、Manifest_idであっても、Manifest_idを基に生成されるコード情報であっても、それ以外の情報であっても良い）をユーザに提示するようにしてもよい。これにより、ユーザは、サーバ３に接続可能な再生装置１またはサーバ３に接続可能なパーソナルコンピュータ、PDA,または、携帯型電話機などの情報処理装置を用いて、書き換え前のマニフェストファイルを示す情報をサーバ３に通知し、サーバ３から書き換え前のマニフェストファイルをダウンロードすることにより、再生装置１を少なくとも書き換え前の状態に戻すことが可能となる。
【０４１９】
ステップＳ４５７において、操作入力取得部３２は、警告メッセージを確認したユーザからの操作入力を基に、ローカルストレージ２４へのデータの書き込みが許可されたか否かを判断する。ステップＳ４５７において、ローカルストレージ２４へのデータの書き込みが許可されなかった場合、処理は、図４９のステップＳ４２０に戻ってステップＳ４２４に進むか、または、ステップＳ４２３に戻ってステップＳ４２４に進む。
【０４２０】
ステップＳ４５２において、障害が発生しないと判断された場合、または、ステップＳ４５７において、ローカルストレージ２４へのデータの書き込みが許可された場合、ステップＳ４５８において、ローカルストレージディレクトリ管理部３４は、リムーバブルメディア２８の対応するファイルをローカルストレージ２４に記憶して、処理は、図４９のステップＳ４２０に戻ってステップＳ４２４に進むか、または、ステップＳ４２３に戻ってステップＳ４２４に進む。
【０４２１】
このような処理により、障害回避処理が実行されて、既にアップデートされたファイルとマニフェストファイルとの不整合が発生しないようなマニフェストファイルが生成されてリムーバブルメディア２８に記録されていたファイルとともにローカルストレージ２４に記録されるか、または、ファイルの上書きによって障害が発生する可能性があることをユーザに通知したり、リムーバブルメディア２８に記録されていたファイルの上書きによって障害が発生してしまった場合に、リムーバブルメディア２８に記録されていたファイルの上書き前の状態に戻すために利用可能な情報をユーザに提示することが可能となる。
【０４２２】
次に、図５１のフローチャートを参照して、リムーバブルメディア２８を用いたファイルの更新処理２について説明する。リムーバブルメディア２８を用いたファイルの更新処理２は、ムーバブルメディア２８からアップデートファイルをローカルストレージ２４に書き込むための処理が、光ディスク１１が再生装置１に装着されていなくても実行可能なようになされている再生装置１において実行される処理である。
【０４２３】
ステップＳ４８１において、データ取得部３３は、リムーバブルメディア２８がドライブ２７に装着されたか否かを判断する。ステップＳ４８１において、リムーバブルメディア２８が装着されていないと判断された場合、リムーバブルメディアが装着されたと判断されるまで、ステップＳ４８１の処理が繰り返される。
【０４２４】
ステップＳ４８１において、リムーバブルメディア２８が装着されたと判断された場合、ステップＳ４８２において、コントローラ２１は、ファイルの更新処理を実行するアプリケーションプログラムが起動する。このアプリケーションプログラムは、再生装置１が有する（光ディスク１１やリムーバブルメディア２８に記録されているのではない）アプリケーションプログラムである。
【０４２５】
ステップＳ４８３において、データ取得部３３は、装着されたリムーバブルメディア２８に記録されているデータのうちの所定の部分（例えば、いわゆるヘッダやＴＯＣなどのように、データの構成、データ構造、フォーマット等を再生装置１が判断するためのデータが記録されている部分）を読み込み、装着されたリムーバブルメディア２８は再生装置１で再生可能であるか否かを判断する。
【０４２６】
ステップＳ４８３において、装着されたリムーバブルメディア２８は再生装置１で再生可能ではないと判断された場合、処理は、後述するステップＳ４９５に進む。
【０４２７】
ステップＳ４８３において、装着されたリムーバブルメディア２８は再生装置１で再生可能であると判断された場合、ステップＳ４８４において、データ取得部３３は、装着されたリムーバブルメディア２８には、再生装置１で実行可能なアプリケーションプログラムが記録されているか否かを判断する。ステップＳ４８４において、リムーバブルメディア２８には、再生装置１で実行可能なアプリケーションプログラムが記録されていないと判断された場合、処理は、後述するステップＳ４８９に進む。
【０４２８】
ステップＳ４８４において、リムーバブルメディア２８には、再生装置１で実行可能なアプリケーションプログラムが記録されていると判断された場合、ステップＳ４８５において、再生装置１が有するアプリケーションプログラムを実行しているコントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行するための準備処理が可能であるか否かを判断する。なお、準備処理が可能であるか否かは装置自身が把握している場合もあるため、この場合にはこの準備処理が可能であるか否かのステップは省略しても良い。
【０４２９】
例えば、リムーバブルメディア２８に記録されているアプリケーションプログラムが、光ディスク１１に記録されている上述したMovieObjectと同等のものであり、Indexファイルに対応するデータが用意されていないような場合、リムーバブルメディア２８に記録されているアプリケーションプログラムの各種コマンドを実行するには、Indexファイルに対応するデータが必要となる。この場合、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行するための準備処理とは、対応するIndexファイルの作成処理となる。なお、すでに光ディスク１１が再生装置１に装着されている場合には、Indexファイルは作成され、展開されているので、この場合には準備処理は不要となる。
【０４３０】
ステップＳ４８５において、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行するための準備処理ができないと判断された場合（又は準備処理ができない装置の場合）、処理は、後述するステップＳ４８９に進む。
【０４３１】
ステップＳ４８５において、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行するための準備処理が可能であると判断された場合、ステップＳ４８６において、再生装置１が有するアプリケーションプログラムを実行しているコントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行するための準備処理を実行する。
【０４３２】
ステップＳ４８７において、コントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムをメモリ２３に展開して実行する。そして、コントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムは、データの追加処理を実行するアプリケーションであるか否かを判断する。ステップＳ４８７において、リムーバブルメディア２８に記録されているアプリケーションプログラムがデータの追加処理を実行するアプリケーションであると判断された場合、処理は、後述するステップＳ４９２に進む。
【０４３３】
ステップＳ４８７において、リムーバブルメディア２８に記録されているアプリケーションプログラムがデータの追加処理を実行するアプリケーションではないと判断された場合、ステップＳ４８８において、コントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行する。リムーバブルメディア２８に記録されているアプリケーションプログラムの処理の終了後、コントローラ２１においては、再び、再生装置１が有しているアプリケーションプログラムがコントローラ２１において実行されている状態に戻る。
【０４３４】
ステップＳ４８４において、リムーバブルメディア２８には、再生装置１で実行可能なアプリケーションプログラムが記録されていないと判断された場合、ステップＳ４８５において、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行するための準備処理ができないと判断された場合、または、ステップＳ４８８の処理の終了後、ステップＳ４８９において、コントローラ２１のデータ取得部３３は、装着されたリムーバブルメディア２８には、例えば、図４５を用いて説明したような追加用のデータが記録されているか否かを判断する。ステップＳ４８９において、装着されたリムーバブルメディア２８に追加用のデータが記録されていないと判断された場合、処理は、後述するステップＳ４９５に進む。
【０４３５】
ステップＳ４８９において、装着されたリムーバブルメディア２８に追加用のデータが記録されていると判断された場合、ステップＳ４９０において、データ取得部３３は、装着されたリムーバブルメディア２８に記録されている追加用のデータを読み込む。
【０４３６】
ステップＳ４９１において、図５２を用いて後述するファイル更新処理２が実行され、処理は、後述するステップＳ４９６に進む。
【０４３７】
ステップＳ４８７において、リムーバブルメディア２８に記録されているアプリケーションプログラムがデータの追加処理を実行するアプリケーションであると判断された場合、ステップＳ４９２において、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行しているコントローラ２１は、装着されたリムーバブルメディア２８には、例えば、図４５を用いて説明したような追加用のデータが記録されているか否かを判断する。ステップＳ４９２において、装着されたリムーバブルメディア２８に追加用のデータが記録されていないと判断された場合、処理は、後述するステップＳ４９５に進む。
【０４３８】
ステップＳ４９２において、装着されたリムーバブルメディア２８に追加用のデータが記録されていると判断された場合、ステップＳ４９３において、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行しているコントローラ２１は、装着されたリムーバブルメディア２８に記録されている追加用のデータを読み込む。
【０４３９】
ステップＳ４９４において、図５２を用いて後述するファイル更新処理２が実行される。ステップＳ４９４の処理の終了後、すなわち、リムーバブルメディア２８に記録されているアプリケーションプログラムの処理の終了後、再生装置１においては、再び、再生装置１が有しているアプリケーションプログラムがコントローラ２１において実行されている状態に戻る。
【０４４０】
ステップＳ４８３において、装着されたリムーバブルメディア２８は再生装置１で再生可能ではないと判断された場合、ステップＳ４８９において、装着されたリムーバブルメディア２８に追加用のデータが記録されていないと判断された場合、または、ステップＳ４９２において、装着されたリムーバブルメディア２８に追加用のデータが記録されていないと判断された場合、ステップＳ４９５において、コントローラ２１のメニュー画面表示制御部３１は、例えば、「データの追加はできません。リブーバブルメディアを確認してください」等のエラーメッセージなどを出力する。
【０４４１】
ステップＳ４９１、ステップＳ４９４、またはステップＳ４９５の処理の終了後、ステップＳ４９６において、操作入力取得部３２は、アプリケーションプログラムの終了が指令されたか否かを判断する。ステップＳ４９６において、アプリケーションプログラムの終了が指令されていないと判断された場合、処理は、ステップＳ４８３に戻り、それ以降の処理が繰り返される。ステップＳ４９６において、アプリケーションプログラムの終了が指令されたと判断された場合、処理が終了される。
【０４４２】
このような処理により、再生装置１に予め記録されているアプリケーションプログラム、または、リムーバブルメディア２８に記録されているアプリケーションプログラムによって、リムーバブルメディア２８に記録されているアップデートファイルが読み出されて、ローカルストレージ２４に書き込まれる。
【０４４３】
なお、リムーバブルメディア２８を用いたファイルの更新処理２においては、再生装置１に光ディスク１１が装着されている必要がないので、図３２を用いて説明したバインディング処理は、この処理が終了した後、再生装置１に光ディスク１１が装着されたときに実行される。
【０４４４】
次に、図５２のフローチャートを参照して、図５１のステップＳ４９１またはステップＳ４９４で実行されるファイル更新処理２について説明する。
【０４４５】
なお、図５１のステップＳ４９１において実行されるファイル更新処理２は、再生装置１自身が予め有しているアプリケーションプログラムを実行しているコントローラ２１によりデータの追加処理が実行されている状態で実行される。コントローラ２１は、再生装置１自身が予め有しているアプリケーションプログラムによりデータの追加処理を実行する場合、基本的に、図６を用いて説明した場合と同様の機能を有する。また、図５１のステップＳ４９４において実行されるファイル更新処理２は、リムーバブルメディア２８に記録されているアプリケーションプログラムを実行しているコントローラ２１によりデータの追加処理が実行されている状態で実行される。コントローラ２１は、リムーバブルメディア２８に記録されているアプリケーションプログラムがデータの追加処理を実行するものであった場合、基本的に、図６を用いて説明した場合と同様の機能を有する。したがって、図５２のフローチャートにおいても、図６を用いて説明した機能ブロック図を参照して説明する。
【０４４６】
ステップＳ５２１において、ローカルストレージディレクトリ管理部３４は、データ取得部３３によりデータを読み込むことが可能なリムーバブルメディア２８に、例えば、図４８を用いて説明した様な、マニフェストファイルの対応を示す情報が記載されているか否かを判断する。ステップＳ５２１において、マニフェストファイルの対応を示す情報が記載されていないと判断された場合、処理は、後述するステップＳ５２３に進む。
【０４４７】
ステップＳ５２１において、マニフェストファイルの対応を示す情報が記載されていると判断された場合、ステップＳ５２２において、ローカルストレージディレクトリ管理部３４は、マニフェストファイルの対応を示す情報を基に、リムーバブルメディア２８に記録されているアップデートファイルの上書きによって、例えば、図４６を用いて説明した様に、以前アップデートされたファイルが利用できなくなってしまうなどの障害が発生するか否かを判断する。ステップＳ５２２において、障害が発生しないと判断された場合、処理は、後述するステップＳ５２５に進む。
【０４４８】
ステップＳ５２１において、マニフェストファイルの対応を示す情報が記載されていないと判断された場合、または、ステップＳ５２２において、障害が発生すると判断された場合、ステップＳ５２３において、例えば、「このアップデートを行うことにより、英語字幕のみが利用可能となりますがよろしいですか？」などの警告メッセージをユーザに通知する。更に、メニュー画面表示制御部３１は、書き換え前のマニフェストファイルを示す情報（サーバ３が、マニフェストファイルを区別可能な情報であれば良く、例えば、Manifest_idであっても、Manifest_idを基に生成されるコード情報であっても、それ以外の情報であっても良い）をユーザに提示するようにしてもよい。これにより、ユーザは、サーバ３に接続可能な再生装置１またはサーバ３に接続可能なパーソナルコンピュータ、PDA,または、携帯型電話機などの情報処理装置を用いて、書き換え前のマニフェストファイルを示す情報をサーバ３に通知し、サーバ３から書き換え前のマニフェストファイルをダウンロードすることにより、再生装置１を少なくとも書き換え前の状態に戻すことが可能となる。
【０４４９】
ステップＳ５２４において、操作入力取得部３２は、警告メッセージを確認したユーザからの操作入力を基に、ローカルストレージ２４へのデータの書き込みが許可されたか否かを判断する。ステップＳ５２４において、ローカルストレージ２４へのデータの書き込みが許可されなかった場合、処理は、図５１のステップＳ４９１に戻ってステップＳ４９６に進むか、または、ステップＳ４９４に戻ってステップＳ４９６に進む。
【０４５０】
ステップＳ５２２において、障害が発生しないと判断された場合、または、ステップＳ５２４において、ローカルストレージ２４へのデータの書き込みが許可された場合、ステップＳ５２５において、ローカルストレージディレクトリ管理部３４は、リムーバブルメディア２８の対応するファイルをローカルストレージ２４に記憶して、処理は、図５１のステップＳ４９１に戻ってステップＳ４９６に進むか、または、ステップＳ４９４に戻ってステップＳ４９６に進む。
【０４５１】
このような処理により、ファイルの上書きによって障害が発生する可能性があることをユーザに通知したり、リムーバブルメディア２８に記録されていたファイルの上書きによって障害が発生してしまった場合に、リムーバブルメディア２８に記録されていたファイルの上書き前の状態に戻すために利用可能な情報をユーザに提示することが可能となる。
【０４５２】
図４５乃至図５２を用いて、リムーバブルメディア２８に記録されていたアップデートファイルをローカルストレージ２４に書き込む場合の処理について説明したが、リムーバブルメディア２８には、図１３を用いて説明した光ディスク１１と同様のファイル構造を有するデータを記録するようにしてもよい。そして、再生装置１は、図５３に示されるように、リムーバブルメディア２８に記録されていたファイルをローカルストレージ２４の第１の領域に記憶し、第１の領域とは異なる第２の領域に、サーバ３からダウンロードされた図１４を用いて説明した説明した構造を有するデータ、または、リムーバブルメディア２８に記録されていた図４５を用いて説明した構造を有するデータを記憶し、光ディスク１１とローカルストレージ２４とに記録されていたデータファイルのファイルシステムをバインディングする場合と同様の処理により、ローカルストレージ２４の第１の領域に記録されているデータファイルのファイルシステムとローカルストレージ２４の第２の領域に記録されているデータファイルのファイルシステムとをバインディングすることができる。
【０４５３】
すなわち、データ取得部３３は、リムーバブルメディア２８から図１３を用いて説明した光ディスク１１と同様のファイル構造を有するデータを読み込み、ローカルストレージディレクトリ管理部３４に供給する。ローカルストレージディレクトリ管理部３４は、光ディスク１１と同様のファイル構造を有するデータをローカルストレージ２４の第１の領域に記憶する。また、データ取得部３３は、サーバ３からダウンロードされた図１４を用いて説明した説明した構造を有するデータ、または、リムーバブルメディア２８に記録されていた図４５を用いて説明した構造を有するデータを読み込み、ローカルストレージディレクトリ管理部３４に供給する。ローカルストレージディレクトリ管理部３４は、サーバ３からダウンロードされた図１４を用いて説明した説明した構造を有するデータ、または、リムーバブルメディア２８に記録されていた図４５を用いて説明した構造を有するデータをローカルストレージ２４の第２の領域に記憶する。そして、ファイルシステムマージ処理部３６は、ローカルストレージ２４の第１の領域と第２の領域に記録されているファイルシステムをバインディングし、仮想ファイルシステムを構築する。再生制御部３７は、この仮想ファイルシステムを参照して、再生処理を制御する。
【０４５４】
また、取得した字幕ストリーム、Clip AVストリーム等とともに、それらのストリームの再生を管理する、すなわち、PlayItem、SubPlayItem、および、Subpathを用いて再生処理を管理するPlayListファイルを、ダウンロードまたは他の記録媒体から取得する構成とすれば、その取得したPlayListファイルを用いて、取得したストリームの再生を管理することもできる。その際には、例えば、光ディスク１１上に存在したPlayListではなく、src_file_name、dst_file_nameの指定に従ってバインディングを行ったPlayListファイルを用いて仮想ファイルシステムを構築するようにすれば、上述したoperation_typeを用いずとも、新たに取得したストリームの管理ができるようになる。
【０４５５】
さらに、上述した処理においては、operation_typeの指定に従ってPlayListの編集を行うようになされていたが、例えば、PlayListの編集プログラムを含むナビゲーションプログラムであるMovieObjectを新たに取得し、そのMovieobjectを図１４に記載のローカルストレージ２４に保存し、バインディング処理時にその編集プログラムに基づいてPlayListを自動で編集、またはユーザが編集することができるような構成であっても良い。また、PlayListやClip AV streamを編集して、保存する処理を実行させるアプリケーションプログラムが登録されているMovieobjectを、予め光ディスク１１に記録しておくようにしてもよい。なお、MovieObjectは、必ずしもその中にプログラムを保存する必要はなく、図示しない他のディレクトリに保存されたプログラムを呼び出す構成としても良い。
【０４５６】
ところで、以上説明した処理においては、仮想ファイルシステムを用いて再生されるストリームを構成するそれぞれのファイルの読み出しが制御されていたが、読み出されるべきファイルが構築された仮想ファイルシステム上に存在しない場合、ナビゲーションプログラムとは独立したプログラムであるファイルの外部取得プログラムを起動して、仮想ファイルシステム以外の外部から読み出されるべきファイルを取得することができるようにしても良い。
【０４５７】
図５４のフローチャートを参照して、コンテンツ再生処理について説明する。
【０４５８】
ステップＳ５５１において、再生制御部３７は、ローカルストレージディレクトリ管理部３４および光ディスクディレクトリ管理部３５を制御して、ナビゲーションプログラムが再生区間として指定するPlayListとSubPlayItemを取得し、取得したPlayListとSubPlayItemが参照するストリームファイル（ＡＶファイル、オーディオファイル、テキスト字幕ファイルなど）を読み出させる。
【０４５９】
ステップＳ５５２において、再生制御部３７は、読み出すべきストリームファイルが存在したか否かを判断する。ステップＳ５５２において、読み出すべきストリームファイルが存在したと判断された場合、処理は、後述するステップＳ５５８に進む。
【０４６０】
ステップＳ５５３において、読み出すべきストリームファイルが存在しなかったと判断された場合、再生制御部３７は、ファイルの外部取得プログラムを起動する。
【０４６１】
ここで、ファイルの外部取得プログラムは、ナビゲーションプログラムによって起動されるナビゲーションプログラムとは独立したプログラムである。ファイルの外部取得プログラムが、所定のファイルの取得処理を実行している間、ナビゲーションプログラムは、待機状態であり、ファイルの外部取得プログラムにより、ファイルの取得が実行された後に、PlayListおよびPlayItemを基にした再生処理を再開することができるようになされている。
【０４６２】
ファイルの外部取得プログラムは、再生装置１のローカルストレージ２４に記憶されており、ナビゲーションプログラムの処理により起動が指令されたとき、コントローラ２１によりローカルストレージ２４から読み出されて、メモリ２３に展開されて実行されるものであってもよいし、光ディスク１１またはリムーバブルメディア２８に記録され、ナビゲーションプログラムの処理により起動が指令されたとき、コントローラ２１により光ディスク１１またはリムーバブルメディア２８から読み出されて、メモリ２３に展開されて実行されるものであってもよい。
【０４６３】
ステップＳ５５４において、ファイルの外部取得プログラムを実行しているコントローラ２１は、存在しなかったファイルの外部取得先に関する情報は、再生装置１のローカルストレージ２４、または、光ディスク１１もしくはリムーバブルメディア２８に登録されているか否かを判断する。
【０４６４】
なお、ファイルの外部取得先に関する情報は、PlayListまたはPlayItemや、コンテンツに関連するストリームファイルとは別に、ファイルの外部取得プログラムにのみ管理される情報として、例えば、再生装置１のローカルストレージ２４、または、光ディスク１１もしくはリムーバブルメディア２８のいずれかの記録領域に記録されていてもよい。また、ファイルの外部取得先に関する情報として、ローカルストレージ２４に記憶されている上述したManifestファイルのsourceの情報を用いるようにしてもよい。
【０４６５】
また、ファイルの外部取得先に関する情報は、例えば、dst_file_nameまたはsrc_file_nameなどに対応付けられて登録されるものとしても良いし、author_id、disc_idなどに対応付けられて登録されるものとしても良いし、または、例えば、コンテンツごとなど、更に異なる単位で登録されるようにしてもよい。
【０４６６】
例えば、dst_file_nameまたはsrc_file_nameなどに対応付けられて、ファイルの外部取得先に関する情報が登録されている場合は、ファイルとその登録先の情報が１対１で対応するので、再生装置１が取得するべきファイルを容易に確定して取得することができる。これに対して、例えば、author_id、disc_idなど、複数のファイルを含むディレクトリなどに対応する情報とファイルの外部取得先が対応付けられて登録されているような場合、ファイルとその登録先の情報が１対１で対応しないので、再生装置１が取得するべきファイルを示す情報が外部取得先に供給されるか、または、外部取得先におけるファイルシステムが、光ディスク１１のファイルシステム、ローカルストレージ２４におけるファイルシステム、または、仮想ファイルシステムなどと同一の構成を有するようにすることにより、再生装置１が取得するべきファイルを取得することができるようになる。
【０４６７】
ステップＳ５５４において、存在しなかったファイルの外部取得先に関する情報が登録されていないと判断された場合、ステップＳ５５５において、ファイルの外部取得プログラムを実行しているコントローラ２１は、例えば、外部の表示装置などに、エラーメッセージを出力し、処理が終了される。
【０４６８】
ステップＳ５５４において、存在しなかったファイルの外部取得先に関する情報が登録されていると判断された場合、ステップＳ５５６において、ファイルの外部取得プログラムを実行しているコントローラ２１は、存在しなかったファイルに対応するファイルの外部取得先に関する情報を基に、インターネットインタフェース２５、または、リムーバブルメディア２８が装着されているドライブ２７などを介して、ファイルの外部取得先にアクセスする。
【０４６９】
なお、ファイルの外部取得先に関する情報とは、具体的には、インターネット２を介してアクセスされるサーバ３のＵＲＬであっても良いし、ドライブ２７に装着されているリムーバブルメディア２８における記録領域のアドレス、または、ファイルシステムのパスなどであっても良く、更に、所定のローカルネットワークを介して接続される記録装置または他の情報処理装置の装置情報、お、よびそれらの装置が有する記憶部における記録領域のアドレス、または、ファイルシステムのパスなどであってもよい。
【０４７０】
ステップＳ５５７において、ファイルの外部取得プログラムを実行しているコントローラ２１は、指定されたファイルの外部取得先から、ファイル、または、対応するデータを取得する。そして、ファイルの外部取得プログラムを実行しているコントローラ２１は、ナビゲーションプログラムの処理を再開する。
【０４７１】
ここで、指定されたファイルの外部取得先からの、ファイル、または、対応するデータの取得方法は、対応するファイルをすべて取得し、ローカルストレージ２４などに記憶させた後、再生させる、いわゆるダウンロードであってもよいし、対応するファイルを構成するデータを取得して、ローカルストレージ２４などに記憶させることなく順次再生させる、いわゆるストリーミング再生であってもよい。
【０４７２】
ステップＳ５５２において、読み出すべきストリームファイルが存在したと判断された場合、または、ステップＳ５５７の処理の終了後、ステップＳ５５８において、再生制御部３７は、取得されたファイル、または、対応するデータをデコーダ２６に供給し、デコーダ２６を制御して、コンテンツを再生させ、処理が終了される。
【０４７３】
このような処理により、PlayListやSubPlayItemによって読み出されるべきファイルが、所定の記録位置に記録されない場合であっても、ファイルの外部取得先が登録されていれば、再生されるべきファイル、または、そのファイルを構成するデータを取得して、再生させることが可能となる。
【０４７４】
なお、ファイルの外部取得プログラムは、ナビゲーションプログラムとは独立したプログラムであるものとして説明したが、例えば、サブルーチンプログラムなどとして、ナビゲーションプログラムに含まれるものであってもよい。
【０４７５】
また、図５４のフローチャートを用いて説明した処理においては、読み出されるべきファイルが、構築された仮想ファイルシステム上に存在しない場合、ナビゲーションプログラムとは独立したプログラムであるファイルの外部取得プログラムを起動して、仮想ファイルシステム以外の外部から読み出されるべきファイルを取得するものとして説明したが、例えば、読み出されるべきファイルまたはそのファイルを含むフォルダもしくはディレクトリが、構築された仮想ファイルシステム上に存在しない場合、ナビゲーションプログラムとは独立したプログラムであるファイルまたはそのファイルを含むフォルダもしくはディレクトリを外部から取得する処理を実行するプログラムを起動して、仮想ファイルシステム以外の外部から読み出されるべきファイル、または、そのファイルを含むフォルダもしくはディレクトリを取得することができるようにしてもよいことは、いうまでもない。
【０４７６】
また、再生装置１においては、上述したように、ローカルストレージ２４を半導体メモリなどにより構成し、半導体メモリなどにより構成されたローカルストレージを再生装置１から着脱可能なようにしても良いが、更に、それ以外にも、図１７を用いて説明したようなコンテンツオーサがコンテンツを配布する際のコンテンツ配布用ファイル形式における場合と同様のデータを、ドライブ２７に装着可能なリムーバブルメディア２８に、図１４を用いて説明したディレクトリ構成で記録させるようにすることにより、ローカルストレージ２４にデータを記憶しなくても、リムーバブルメディア２８に記録されているデータのファイルシステムと、光ディスク１１に記録されているデータのファイルシステムとを上述したようにバインディングさせることができるようにしても良い。
【０４７７】
更に、ローカルストレージ２４にもリムーバブルメディア２８にも、図１４を用いて説明したディレクトリ構成で、コンテンツデータおよびその再生に必要なデータ（例えば、PlayListやSubPlayItem、または、Manifestファイルなど）を記録させるようにすることにより、ローカルストレージ２４に記録されているデータのファイルシステムと、リムーバブルメディア２８に記録されているデータのファイルシステムと、光ディスク１１に記録されているデータのファイルシステムとを、上述したようにバインディングさせることができるようにしても良い。このような場合、上述した処理を適用して、例えば、ローカルストレージ２４に記録されているデータのファイルシステムと光ディスク１１に記録されているデータのファイルシステムとがバインディングされて、第１の仮想ファイルシステムが生成され、リムーバブルメディア２８に記録されているデータのファイルシステムと第１の仮想ファイルシステムとがバインディングされて、第２の仮想ファイルシステムが生成されるようにすることができる。
【０４７８】
次に、図５５および図５６を参照して、再生装置１において再生可能なデータが記録された光ディスクの製造方法について説明する。ここでは、記録媒体を光ディスクとして図示して例示しており、図中の記録媒体は、図１における光ディスク１１、または、リムーバブルメディア２８に対応している。なお、リムーバブルメディア２８がディスク状の記録媒体以外である場合は、公知の記録媒体の製造方法によって、同様にして、再生装置１において再生可能なデータが記録媒体に記録される。
【０４７９】
即ち、図５５に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
【０４８０】
そして、図５６に示すように、ソフト製作処理部において、符号化装置（ビデオエンコーダ）で符号化された、再生装置１において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ（例えば、Indexes、Playlist、PlayItemなど）が一時バッファに記憶される。それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータは、多重化器（ＭＰＸ）で同期信号と共に多重化され、誤り訂正符号回路（ＥＣＣ）でエラー訂正用のコードが付加される。そして、変調回路（ＭＯＤ）で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置１において再生可能な光ディスク１１、または、リムーバブルメディア２８に記録されるソフトウェアが製作される。
【０４８１】
このソフトウェアを必要に応じて編集（プリマスタリング）し、光ディスクに記録すべきフォーマットの信号が生成される。そして、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
【０４８２】
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
【０４８３】
この成形用金型に、例えばインジェクションなどによりＰＭＭＡ（アクリル）またはＰＣ（ポリカーボネート）などの材料を注入し、固定化させる。あるいは、金属スタンパ上に２Ｐ（紫外線硬化樹脂）などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
【０４８４】
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
【０４８５】
その後、このディスクに対して内外径の加工が施され、２枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置１によって再生可能なデータが記録された光ディスク１１、または、リムーバブルメディア２８が完成する。
【０４８６】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０４８７】
このプログラム格納媒体は、図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ（Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２８により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMまたはRAMなどのメモリ２３や、ハードディスクなどのローカルストレージ２４などにより構成される。
【０４８８】
また、本明細書において、プログラム格納媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的または個別に実行される処理をも含むものである。
【０４８９】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０４９０】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０４９１】
【図１】本発明を適用した第１の実施の形態における再生装置の構成を示すブロック図である。
【図２】本発明を適用した第１の実施の形態における再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。
【図３】本発明を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例の異なる例について説明するための図である。
【図４】ファイルのダウンロードが行われた状態について説明するための図である。
【図５】ＡＶストリームの構成について説明するための図である。
【図６】図１のコントローラの機能について説明するための機能ブロック図である。
【図７】仮想ファイルシステムについて説明するための図である。
【図８】仮想ファイルシステムについて説明するための図である。
【図９】ローカルストレージのディレクトリ構造について説明するための図である。
【図１０】Manifestファイルのシンタックスを示す図である。
【図１１】operation_typeに指定可能な値について説明するための図である。
【図１２】Manifest（）に含まれるpermissionに指定可能な値について説明するための図である。
【図１３】光ディスクのファイルシステムの例について説明するための図である。
【図１４】ローカルストレージ２４のファイルシステムの例について説明するための図である。
【図１５】パス名称の指定について説明するための図である。
【図１６】仮想ディスクにおけるディレクトリ／ファイル構造の例について説明するための図である。
【図１７】コンテンツオーサがコンテンツを配布する際のコンテンツ配布用ファイル形式の定義について説明するための図である。
【図１８】再生装置に装着された光ディスクに記録されているコンテンツに対して、MainPathが追加される場合について説明するための図である。
【図１９】再生装置に装着された光ディスクに記録されているコンテンツに対して、MainPathが追加される場合について説明するための図である。
【図２０】再生装置に装着された光ディスクに記録されているコンテンツに対して、SubPathが追加される場合について説明するための図である。
【図２１】再生装置に装着された光ディスクに記録されているコンテンツに対して、SubPathが追加される場合について説明するための図である。
【図２２】再生装置に装着された光ディスクに記録されているコンテンツに対して、SubPlayItemが追加される場合について説明するための図である。
【図２３】再生装置に装着された光ディスクに記録されているコンテンツに対して、SubPlayItemが追加される場合について説明するための図である。
【図２４】再生装置に装着された光ディスクに記録されているコンテンツに対して、SubPlayItemが置き換えられる場合について説明するための図である。
【図２５】再生装置に装着された光ディスクに記録されているコンテンツに対して、SubPlayItemが置き換えられる場合について説明するための図である。
【図２６】再生装置に装着された光ディスクに記録されているコンテンツに対して、Clipが追加される場合について説明するための図である。
【図２７】再生装置に装着された光ディスクに記録されているコンテンツに対して、Clipが追加される場合について説明するための図である。
【図２８】ファイルの追加更新が実行された後のPlayListなどの状態について説明するための図である。
【図２９】ファイルの追加更新が実行された後のPlayListなどの状態について説明するための図である。
【図３０】ユーザに提示される削除可能なファイルの一覧の例を示す図である。
【図３１】ファイルベースの追加および更新処理について説明するためのフローチャートである。
【図３２】バインディング処理１について説明するためのフローチャートである。
【図３３】ディスクベースの追加および更新処理について説明するためのフローチャートである。
【図３４】ファイルベースの削除処理について説明するためのフローチャートである。
【図３５】ディスクベースの削除処理について説明するためのフローチャートである。
【図３６】再生処理およびファイルシステム構成処理について説明するためのフローチャートである。
【図３７】Indexファイル（Index.bdmv）のシンタックスを示す図である。
【図３８】Indexes（）のシンタックスを示す図である。
【図３９】サーバ３の構成を示すブロック図である。
【図４０】サーバ３が有する機能を説明するための機能ブロック図である。
【図４１】再生装置およびサーバの処理について説明するためのアローチャートである。
【図４２】復号処理部を有する再生装置の構成例を示す図である。
【図４３】再生装置およびサーバの処理について説明するためのアローチャートである。
【図４４】バインディング処理２について説明するためのフローチャートである。
【図４５】リムーバブルメディアに記録されるアップデートファイルのファイル構造について説明する図である。
【図４６Ａ】リムーバブルメディアを用いたアップデートにより発生する可能性のある障害について説明する図である。
【図４６Ｂ】リムーバブルメディアを用いたアップデートにより発生する可能性のある障害について説明する図である。
【図４７】マニフェストファイルと参照可能な字幕の言語との関係の例について説明する図である。
【図４８】マニフェストファイルの対応表について説明する図である。
【図４９】リムーバブルメディアを用いたファイルの更新処理１について説明するためのフローチャートである。
【図５０】ファイル更新処理１について説明するためのフローチャートである。
【図５１】リムーバブルメディアを用いたファイルの更新処理２について説明するためのフローチャートである。
【図５２】ファイル更新処理２について説明するためのフローチャートである。
【図５３】ローカルストレージの第１の領域と第２の領域に記録されているデータファイルのファイルシステムのバインディングについて説明する図である。
【図５４】コンテンツ再生処理について説明するためのフローチャートである。
【図５５】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【図５６】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【符号の説明】
【０４９２】
１  再生装置，  １１  光ディスク，  ２１  コントローラ，  ２２  光ディスクドライブ，  ２３  メモリ，  ２４  ローカルストレージ，  ２６  デコーダ，  ３１  メニュー画面表示制御部，  ３２  操作入力取得部，  ３３  データ取得部，  ３４  ローカルストレージディレクトリ管理部，  ３５  光ディスクディレクトリ管理部，  ６６  ファイルシステムマージ処理部，  ３７  再生制御部，  ２５２  ダウンロードファイル判断部，  ２５３  スケジュール管理部，  ３０１  再生装置，  ３１１  復号処理部
【図１】
2007250161.tif 000003
【図２】
2007250161.tif 000004
【図３】
2007250161.tif 000005
【図４】
2007250161.tif 000006
【図５】
2007250161.tif 000007
【図６】
2007250161.tif 000008
【図７】
2007250161.tif 000009
【図８】
2007250161.tif 000010
【図９】
2007250161.tif 000011
【図１０】
2007250161.tif 000012
【図１１】
2007250161.tif 000013
【図１２】
2007250161.tif 000014
【図１３】
2007250161.tif 000015
【図１４】
2007250161.tif 000016
【図１５】
2007250161.tif 000017
【図１６】
2007250161.tif 000018
【図１７】
2007250161.tif 000019
【図１８】
2007250161.tif 000020
【図１９】
2007250161.tif 000021
【図２０】
2007250161.tif 000022
【図２１】
2007250161.tif 000023
【図２２】
2007250161.tif 000024
【図２３】
2007250161.tif 000025
【図２４】
2007250161.tif 000026
【図２５】
2007250161.tif 000027
【図２６】
2007250161.tif 000028
【図２７】
2007250161.tif 000029
【図２８】
2007250161.tif 000030
【図２９】
2007250161.tif 000031
【図３０】
2007250161.tif 000032
【図３１】
2007250161.tif 000033
【図３２】
2007250161.tif 000034
【図３３】
2007250161.tif 000035
【図３４】
2007250161.tif 000036
【図３５】
2007250161.tif 000037
【図３６】
2007250161.tif 000038
【図３７】
2007250161.tif 000039
【図３８】
2007250161.tif 000040
【図３９】
2007250161.tif 000041
【図４０】
2007250161.tif 000042
【図４１】
2007250161.tif 000043
【図４２】
2007250161.tif 000044
【図４３】
2007250161.tif 000045
【図４４】
2007250161.tif 000046
【図４５】
2007250161.tif 000047
【図４６Ａ】
2007250161.tif 000048
【図４６Ｂ】
2007250161.tif 000049
【図４７】
2007250161.tif 000050
【図４８】
2007250161.tif 000051
【図４９】
2007250161.tif 000052
【図５０】
2007250161.tif 000053
【図５１】
2007250161.tif 000054
【図５２】
2007250161.tif 000055
【図５３】
2007250161.tif 000056
【図５４】
2007250161.tif 000057
【図５５】
2007250161.tif 000058
【図５６】
2007250161.tif 000059