(57)【特許請求の範囲】
【請求項１】
リードオンリー型記録媒体からアプリケーションプログラムを読み出す読出手段と、
読み出されたアプリケーションプログラムを起動させるプログラム実行手段と、
ローカルストレージの装着及び取り外しが可能な装着手段と、
リードオンリー型記録媒体のファイル構成に、ローカルストレージのファイル構成を組合せることにより仮想パッケージを構築する仮想ファイル制御手段とを備え、
前記ローカルストレージには、状態シグナリングファイルが存在し、
前記仮想パッケージにおける状態シグナリングファイルのファイルパスは、リードオンリー型記録媒体には存在しないファイルのファイルパスであり、
前記プログラム実行手段は、ローカルストレージが装着されている場合に、仮想パッケージにおけるファイルパスを用いて状態シグナリングファイルのアクセスを試みることにより、仮想パッケージが準備状態にあるか、又は、有効状態にあるかを判定する
ことを特徴とする再生装置。
【請求項２】
前記仮想ファイル制御手段は、
仮想パッケージを構築後に前記ローカルストレージが取り外され、アプリケーションプログラムの実行中にローカルストレージが再装着された場合、前記仮想パッケージを準備状態にし、
ローカルストレージの再装着後にアプリケーションプログラム起動された場合、準備状態の仮想パッケージを有効状態にする
ことを特徴とする請求項１記載の再生装置。
【請求項３】
前記仮想パッケージにおけるファイルパスを用いた状態シグナリングファイルのアクセスとは、前記仮想ファイル制御手段により状態シグナリングファイルに割り当てられる固定ファイルパスを用いて、状態シグナリングファイルの読み出しを要求することである
ことを特徴とする請求項２記載の再生装置。
【請求項４】
前記仮想パッケージにおけるファイルパスを用いた状態シグナリングファイルへのアクセス試行は、前記アプリケーションプログラムの起動時に実行される
ことを特徴とする請求項３の再生装置。
【請求項５】
前記アプリケーションプログラムは、仮想パッケージを通じてローカルストレージをアクセスすることで、リードオンリー型記録媒体にはない付加機能を、前記プログラム実行手段に供給させるものであり、
仮想パッケージが準備状態である場合、前記プログラム実行手段は、ユーザによる付加機能の選択を抑制し、
仮想パッケージが有効状態である場合、前記プログラム実行手段は、ユーザによる付加機能の選択を受け付ける
ことを特徴とする請求項３記載の再生装置。
【請求項６】
前記状態シグナリングファイルは、テキストファイルである、
ことを特徴とする請求項３記載の再生装置。
【請求項７】
ローカルストレージには更に、前記仮想パッケージとは異なる他の仮想パッケージの構築に用いるファイルと、前記他の仮想パッケージに関する代替状態シグナリングファイルとが記録されており、
前記他の仮想パッケージにおける代替状態シグナリングファイルのファイルパスは、前記仮想パッケージにおける状態シグナリングファイルのファイルパスと同じファイルパスであり、
前記仮想ファイル制御手段は、前記仮想パッケージ及び前記他の仮想パッケージの何れか一方を構築し、
前記プログラム実行手段は、ローカルストレージが装着されている場合に、前記ファイルパスにてファイルアクセスを試みることにより、前記仮想パッケージ及び前記他の仮想パッケージの何れが有効状態にあるかを判定する
ことを特徴とする請求項３の再生装置。
【請求項８】
リードオンリー型記録媒体からアプリケーションプログラムを読み出す読出手段、及びローカルストレージの装着、取り外しが可能な装着手段を有する再生装置を制御する集積回路であって、
読み出されたアプリケーションプログラムを起動させるプログラム実行手段と、
リードオンリー型記録媒体のファイル構成に、ローカルストレージのファイル構成を組合せることにより仮想パッケージを構築する仮想ファイル制御手段とを備え、
前記ローカルストレージには、状態シグナリングファイルが存在し、
前記仮想パッケージにおける状態シグナリングファイルのファイルパスは、リードオンリー型記録媒体には存在しないファイルのファイルパスであり、
前記プログラム実行手段は、ローカルストレージが装着されている場合に、仮想パッケージにおけるファイルパスを用いて状態シグナリングファイルのアクセスを試みることにより、仮想パッケージが準備状態にあるか、又は、有効状態にあるかを判定する
ことを特徴とする集積回路。
【請求項９】
リードオンリー型記録媒体からアプリケーションプログラムを読み出す読出手段、及びローカルストレージの装着、取り外しが可能な装着手段を有する再生装置における再生方法であって、
リードオンリー型記録媒体からアプリケーションプログラムを読み出す読出ステップと、
読み出されたアプリケーションプログラムを起動させるプログラム実行ステップと、
リードオンリー型記録媒体のファイル構成に、装着手段に装着されたローカルストレージのファイル構成を組合せることにより仮想パッケージを構築する仮想ファイル制御ステップと、
ローカルストレージが装着されている場合に、前記ローカルストレージに記録されている状態シグナリングファイルに、仮想パッケージにおけるファイルパスを用いてアクセスを試みることにより、仮想パッケージが準備状態にあるか、又は、有効状態にあるかを判定する判定ステップとを含み、
前記仮想パッケージにおける状態シグナリングファイルのファイルパスは、リードオンリー型記録媒体には存在しないファイルのファイルパスである
ことを特徴とする再生方法。
【請求項１０】
リードオンリー型記録媒体からファイルを読み出す読出手段と、ローカルストレージの装着及び取り外しが可能な装着手段と、リードオンリー型記録媒体のファイル構成に、ローカルストレージのファイル構成を組合せることにより仮想パッケージを構築する仮想ファイル制御手段とを備える再生装置を制御するプログラムであって、
前記ローカルストレージには、状態シグナリングファイルが存在し、
前記仮想パッケージにおける状態シグナリングファイルのファイルパスは、リードオンリー型記録媒体には存在しないファイルのファイルパスであり、
前記プログラムは、ローカルストレージが装着されている場合に、仮想パッケージにおけるファイルパスを用いて状態シグナリングファイルのアクセスを試みることにより、仮想パッケージが準備状態にあるか、又は、有効状態にあるかを判定する処理を、再生装置に実行させる
ことを特徴とするプログラム。
【請求項１１】
アプリケーションプログラムが記録された記録媒体であって、
前記アプリケーションプログラムは、
当該記録媒体のファイル構成に他の記録媒体のファイル構成を組合せることにより仮想パッケージを構築する再生装置に、
前記他の記録媒体に記録されている状態シグナリングファイルに仮想パッケージにおけるファイルパスを用いてアクセスを試みることにより、仮想パッケージが準備状態にあるか、又は、有効状態にあるかを判定させる処理を含み、
前記仮想パッケージにおける状態シグナリングファイルのファイルパスは、当該記録媒体には存在しないファイルのファイルパスである
ことを特徴とする記録媒体。
【請求項１２】
オーサリング装置であって、
ストリームデータを生成する手段と、
前記ストリームデータの再生シナリオを記述するシナリオデータを生成する手段と、
前記再生シナリオにおいて実行すべきアプリケーションプログラムを生成する手段と、
前記ストリームデータ、前記シナリオデータ、及び前記アプリケーションプログラムのそれぞれを含むファイルを配置したリードオンリー型記録媒体のディスクイメージを生成する手段とを備え、
前記アプリケーションプログラムは、
前記ディスクイメージのファイル構成に他の記録媒体のファイル構成を組合せることにより仮想パッケージを構築する再生装置に、
前記他の記録媒体に記録されている状態シグナリングファイルに仮想パッケージにおけるファイルパスを用いてアクセスを試みることにより、仮想パッケージが準備状態にあるか、又は、有効状態にあるかを判定させる処理を含み、
前記仮想パッケージにおける状態シグナリングファイルのファイルパスは、前記リードオンリー型記録媒体のディスクイメージには存在しないファイルのファイルパスである
ことを特徴とするオーサリング装置。
【請求項１３】
オーサリング方法であって、
ストリームデータを生成するステップと、
前記ストリームデータの再生シナリオを記述するシナリオデータを生成するステップと、
前記再生シナリオにおいて実行すべきアプリケーションプログラムを生成するステップと、
前記ストリームデータ、前記シナリオデータ、及び前記アプリケーションプログラムのそれぞれを含むファイルを配置したリードオンリー型記録媒体のディスクイメージを生成するステップとを含み、
前記アプリケーションプログラムは、
前記ディスクイメージのファイル構成に他の記録媒体のファイル構成を組合せることにより仮想パッケージを構築する再生装置に、
前記他の記録媒体に記録されている状態シグナリングファイルに仮想パッケージにおけるファイルパスを用いてアクセスを試みることにより、仮想パッケージが準備状態にあるか、又は、有効状態にあるかを判定させる処理を含み、
前記仮想パッケージにおける状態シグナリングファイルのファイルパスは、前記リードオンリー型記録媒体のディスクイメージには存在しないファイルのファイルパスである
ことを特徴とするオーサリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＢＤ−ＲＯＭ等の記録媒体に記録されているコンテンツとネットワーク経由でダウンロードしたコンテンツとを組み合わせて利用する仮想ファイルシステム技術に関する。
【背景技術】
【０００２】
ＢＤ（Ｂｌｕ−ｒａｙ(登録商標)）技術では、ネットワーク等から取得したファイルを、ＢＤ−ＲＯＭディスク（以下、「ＲＯＭディスク」と呼ぶ）とは異なる記録媒体であるローカルストレージに記録しておき、ローカルストレージ上のファイルがあたかもＲＯＭディスク上に記録されているように取り扱うことを可能とする仮想ファイルシステム（ＶＦＳ）が利用されている。
【０００３】
仮想ファイルシステムでは、ローカルストレージに記録されているファイルをＲＯＭディスクにマッピングすることにより、ＲＯＭディスクに記録されているファイルとローカルストレージに記録されているファイルとを仮想的なひとつのディスクに記録されているものとして扱う。マッピングには、仮想ファイルシステム上でのファイルパスとそれに対応付けられるローカルストレージ上のファイルパスとの対応表であるマージ管理情報ファイルが利用される。このように仮想ファイルシステムを通じて認識される仮想的なひとつのディスクを「仮想パッケージ」という。
【０００４】
仮想ファイルシステムに関する従来の技術としては、例えば特許文献１に記載されたものが知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２５１９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ローカルストレージにはＳＤメモリカード等のリムーバブルメディアが採用されるケースが多々見られる。仮想パッケージ構築の対象となるローカルストレージがリムーバブルメディアである場合、ローカルストレージの挿抜が発生すると仮想ファイルシステムにおいて仮想パッケージを再構築する必要がある。しかし、映像データ、アプリケーションプログラムの再生、実行（以下、タイトル再生）中に仮想パッケージを再構築することは、アクセス中のファイル構成が変更される等、装置状態が不安定なものになる恐れがある。そこで、仮想ファイルシステムは、タイトル再生が中断する切替時に、次タイトルの再生開始前までに仮想パッケージを構築することになる。この結果、ローカルストレージが装着されているが、仮想パッケージとしてローカルストレージ上のファイルを読み出すことができない状態（準備状態）が発生する。
【０００７】
ここで、ＲＯＭディスク上に記録されているＢＤ−Ｊアプリケーションが起動された後にローカルストレージが再装着された状況であっても、ＢＤ−Ｊアプリケーションは、ローカルストレージ上のファイルパスを用いてファイルに直接アクセスすることはできる。そのため、上述の状況では、ＢＤ−Ｊアプリケーションからは、仮想パッケージが準備状態になっているのか有効状態になっているのかを正しく判定できないことがあり、不具合をもたらすことがある。
【０００８】
例えば、図３５に示すように、ネットワーク等から取得した特典ゲーム用ファイルを、仮想パッケージとして追加するアプリケーションにおいて、特典選択メニューを表示する処理を行う場合である。
まず図３５のｔ０においてローカルストレージが再生装置に挿入されてから、ｔ１においてＲＯＭディスク上のタイトル再生開始に伴い、タイトルに対応付けられたＢＤ−Ｊアプリケーションが起動される。このＢＤ−Ｊアプリケーションは、ローカルストレージ上のファイルパスを用いて特典ゲーム用ファイルがあるかを検索し、なければ特典ゲーム用ファイルをダウンロードし、このファイルを用いて仮想パッケージを構築することを要求する機能を有している。ｔ１の時点ではローカルストレージに特典ゲーム用のファイルは記録されておらず、仮想ファイルシステムも作成されていないため、ＢＤ−Ｊアプリケーションは、さしあたって特典ゲームを呼び出す「Ｇａｍe」ボタンが特典選択メニューの選択肢として含まれていない（１）のメニューを表示する。その後、ＢＤ−Ｊアプリケーションはネットワーク等から特典ゲーム用ファイルをダウンロードしてローカルストレージへ記録した後、ｔ２において仮想ファイルシステムを制御する再生装置の仮想ファイル制御部に仮想パッケージの作成を要求する。この要求に応じて仮想ファイル制御部は、タイトル再生が再開始されるｔ３の時点で、仮想パッケージを構築する。ｔ３以後は、仮想パッケージ構築が完了しているため、特典ゲームを呼び出す「Ｇａｍe」ボタンが含まれている（２）のメニューが表示される。
【０００９】
以上の過程で仮想パッケージが構築された状態で、ｔ４においてローカルストレージが再生装置から取り出されると、再生中タイトルは強制終了され、それに伴いＢＤ−Ｊアプリケーションも強制終了され、仮想パッケージの構築も解除される。そこで、ｔ５においてローカルストレージを再生装置から取り外したまま、タイトル再生が再開されると再生タイトルに対応付けられたＢＤ−Ｊアプリケーションが再度起動され、仮想パッケージの構築が完了していない状態で、ＢＤ−Ｊアプリケーションが実行された状態となる。この状態で、先ほど取り外したローカルストレージが再生装置に再装着されると（ｔ６）、仮想パッケージが構築されていないにも関わらず、ＢＤ−Ｊアプリケーションは、ローカルストレージ上のファイルパスを直接指定することで前回ダウンロードしたファイルにアクセスできてしまう。このような場合にＢＤ−Ｊアプリケーションは、特典ゲーム用ファイルをダウンロード済みであり、仮想パッケージが構築されていると誤って判定することになる。その結果、ＢＤ−Ｊアプリケーションは、誤判断に基づいて特典ゲームを呼び出す「Ｇａｍｅ」ボタンが含まれている（３）のメニューを表示してしまう。
【００１０】
しかし、実際には、仮想ファイル制御部はローカルストレージが再装着されても、再生中のタイトルを停止し、次タイトルに再生が切り替えられるｔ８までの間は仮想パッケージの再構築を行わない。そのため、ｔ６の時点では、仮想パッケージは準備状態になっており、仮想パッケージとしてローカルストレージ上のファイルにアクセスできず、特典ゲームは実行できない。従って、ｔ６からｔ７までの間は（３）のメニュー表示がなされるが、ユーザがメニュー表示において「Ｇａｍｅ」ボタンを選択した場合、実際には特典ゲームを実行できないという不整合が生じる。このような、実行可能であるとしてユーザに提示した機能の一部が、実際には実行できないという不整合が生じる事態が多発すれば、かかるアプリケーションに動作の主導権を預けている、再生装置の品質にも疑問の目が向けれる恐れがあるという問題がある。
【００１１】
本発明はかかる問題に鑑み、ＲＯＭディスク上のファイルとローカルストレージ上のファイルとから構築される仮想パッケージが準備状態になっているのか有効状態になっているのかを正しく判定することができる再生装置、集積回路、再生方法、アプリケーションプログラム、そのようなアプリケーションプログラムを記録した記録媒体、記録装置、及び記録方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明に係る再生装置は、リードオンリー型記録媒体からアプリケーションプログラムを読み出す読出手段と、読み出されたアプリケーションプログラムを起動させるプログラム実行手段と、ローカルストレージの装着及び取り外しが可能な装着手段と、リードオンリー型記録媒体のファイル構成に、ローカルストレージのファイル構成を組合せることにより仮想パッケージを構築する仮想ファイル制御手段とを備え、前記ローカルストレージには、状態シグナリングファイルが存在し、前記仮想パッケージにおける状態シグナリングファイルのファイルパスは、リードオンリー型記録媒体には存在しないファイルのファイルパスであり、前記プログラム実行手段は、ローカルストレージが装着されている場合に、仮想パッケージにおけるファイルパスを用いて状態シグナリングファイルのアクセスを試みることにより、仮想パッケージが準備状態にあるか、又は、有効状態にあるかを判定することを特徴とする。
【発明の効果】
【００１３】
本発明に係る再生装置は、ローカルストレージ上のファイルパスではなく、リードオンリー型記録媒体には存在しない仮想パッケージにおけるファイルパスを用いて、ローカルストレージに記録されている状態シグナリングファイルへのアクセスを試行するので、ローカルストレージが装着されているだけで仮想パッケージが構築されていない場合にも、仮想パッケージの構築状態を正しく判定することができる。
【００１４】
このため、アプリケーションプログラムの実行中にローカルストレージが再装着されてから、アプリケーションプログラムが停止するまでの間等、従来誤判定が生じ得た期間にアプリケーションプログラムが誤動作することを防止することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態１による記録媒体を使用するホームシアターシステムを示す模式図
【図２】ＢＤ−ＲＯＭの内部構成を示す図
【図３】インデックスファイルの詳細を示す図
【図４】ムービーオブジェクトファイルの詳細を示す図
【図５】ＡＶクリップの構成を示す図
【図６】各ストリームがＡＶクリップにおいてどのように多重化されているかを模式的に示す図
【図７】（ａ）は、ＰＥＳパケット列に、ビデオストリーム及びオーディオストリームがどのように格納されるかを更に詳しく示した図、（ｂ）はＡＶクリップにおけるＴＳパケットとソースパケット構造を示す図
【図８】ＰＭＴの詳細を示す図
【図９】クリップ情報ファイルの詳細を示す図
【図１０】クリップ情報ファイルにおけるエントリーマップテーブルを示す図
【図１１】プレイリストの詳細を示す図
【図１２】プレイアイテムの詳細を示す図
【図１３】サブパスを含むプレイリストの詳細を示す図
【図１４】再生装置の内部構成を示す図
【図１５】レジスタセット１０内のシステムパラメータの一覧表
【図１６】システムターゲットデコーダの内部構成を示す図
【図１７】アップデートキットのファイルディレクトリ構成を示す図
【図１８】マージ管理情報ファイルの詳細を示す図
【図１９】状態シグナリングファイルの一例を示す図
【図２０】図１８に示すマージ管理情報ファイルに基づいて構築した仮想パッケージのファイル構成を示す図
【図２１】仮想ファイルシステムによって実現される仮想パッケージのコンテンツの一例を示す図
【図２２】ローカルストレージの装着、及びＢＤ−Ｊアプリケーションの起動による状態の遷移を示す図
【図２３】ＢＤ−Ｊアプリケーションが有する仮想パッケージ構築状態判定機能を説明する図
【図２４】メニュー表示制御手順を示フローチャート
【図２５】仮想パッケージ構築状態判定処理の処理手順を示すフローチャート
【図２６】ローカルストレージ３へのメディア取り付け状態、タイトルの再生状態、実際の仮想パッケージ構築状態、及びＢＤ−Ｊアプリケーションによる構築状態判定結果を時系列に示した図
【図２７】（ａ）は、図２１に示す仮想パッケージが有効状態である場合の特典機能メニュー表示の一例、（ｂ）は、図２１に示す仮想パッケージが準備状態である場合の特典機能メニュー表示の一例
【図２８】同じＢＤ−ＲＯＭにコンテンツを追加する複数のアップデートキットがに保存されたＳＤメモリカードの保存領域を示す図
【図２９】同じＲＯＭディスクに対応する複数のアップデートキットから構築したコンテンツを示す図
【図３０】実施形態２に係る仮想パッケージ構築状態判定処理の処理手順を示すフローチャート
【図３１】記録装置の内部構成を示す図
【図３２】記録装置におけるＢＤ−ＲＯＭディスクイメージ作成処理のフローチャート
【図３３】記録装置におけるアップデートキット作成処理のフローチャート
【図３４】ディスク情報ファイルの詳細を示す図
【図３５】従来技術を示す図
【発明を実施するための形態】
【００１６】
以下、本発明の好適な実施形態に係る記録媒体及び再生装置について、図面を参照しながら説明する。
（実施形態１）
図１は、本発明の実施形態１による記録媒体を使用するホームシアターシステムを示す模式図である。図１において、本発明に係る記録媒体はＢＤ−ＲＯＭ１０１である。本図に示すように、このホームシアターシステムは、ＢＤ−ＲＯＭ１０１を再生対象とし、再生装置１０２、テレビ１０３、リムーバブルメディア１０４、及びリモコン１０５を含む。
【００１７】
ＢＤ−ＲＯＭ１０１は読み出し専用ブルーレイ・ディスク（登録商標）（ＢＤ：Blu−ray Disc）、すなわちＢＤ−ＲＯＭディスクである。ＢＤ−ＲＯＭ１０１はその他の可搬性記録媒体、例えば、ＢＤ−Ｒ、又はＢＤ−ＲＥ等であってもよい。
再生装置１０２は、ＢＤ−ＲＯＭ方式に準拠の光ディスクドライブであるＢＤ−ＲＯＭドライブを搭載している。また、再生装置１０２はＳＤメモリーカード、メモリースティック、コンパクトフラッシュ（登録商標）、スマートメディア、マルチメディアカード、着脱可能なハードディスクドライブ等のリムーバブルメディア１０４を装着する装着手段を備える。
【００１８】
テレビ１０３は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
リモコン１０５は、再生装置１０２の付属物であり、再生装置１０２に対する操作をユーザから受け付けて、操作に応じた指示信号を再生装置１０２に送信する。以上が本発明に係る記録媒体及び再生装置の使用形態についての説明である。
【００１９】
＜ＢＤ−ＲＯＭ１０１＞
次に本発明に係る記録媒体であるＢＤ−ＲＯＭ１０１の詳細について説明する。
図２は、ＢＤ−ＲＯＭ１０１上のデータ構造を示す模式図である。本図の第４段目にＢＤ−ＲＯＭ１０１を示し、第３段目にＢＤ−ＲＯＭ上のトラック２０２を示す。本図のトラック２０２は、ＢＤ−ＲＯＭ１０１の内周から外周にかけて螺旋状に形成されているトラック２０２を横方向に引き伸ばして描画している。ＢＤ−ＲＯＭ１０１は他の光ディスク、例えばＤＶＤやＣＤなどと同様にその内周から外周に向けて螺旋状に記録領域を持ち、内周のリードインと外周のリードアウトの間に論理データを記録できる論理アドレス空間を有している。また、リードインの内周側にはＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
【００２０】
本図の第２段目は、ファイルシステムにより管理される論理アドレス空間を示す。論理アドレス空間には、先頭からファイルシステムのボリューム情報が記録され、続いて映像データなどのアプリケーションデータが記録されている。ファイルシステムとはディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みであり、ＢＤ−ＲＯＭ１０１の場合ではＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｃ  Ｆｏｒｍａｔ）によって記録される。日常使っているＰＣ（パーソナルコンピュータ）の場合でも、ＦＡＴまたはＮＴＦＳと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。このファイルシステムにより、通常のＰＣと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
【００２１】
本図の第１段目は、ファイルシステムを前提にしたＢＤ−ＲＯＭ１０１のアプリケーションフォーマットを示す。本実施の形態の場合、ＢＤ−ＲＯＭ１０１上のディレクトリ、ファイル構造は、ルートディレクトリ（ＲＯＯＴ）直下にＢＤＭＶディレクトリ、ＣＥＲＴＩＦＩＣＡＴＥディレクトリ、ＡＡＣＳディレクトリ等が置かれている。ＢＤＭＶディレクトリはＢＤ−ＲＯＭ１０１で扱うＡＶコンテンツや管理情報などのデータが記録されているディレクトリであり、以下、ＢＤＭＶディレクトリを中心に説明する。
【００２２】
ＢＤＭＶディレクトリの配下には、タイトルを構成するインデックステーブルが定義されたインデックスファイル（ｉｎｄｅｘ．ｂｄｍｖ）、動的なシナリオを定義するムービーオブジェクトファイル（ＭｏｖｉｅＯｂｊｅｃｔ．ｂｄｍｖ）と、ＰＬＡＹＬＩＳＴディレクトリ、ＣＬＩＰＩＮＦディレクトリ、ＳＴＲＥＡＭディレクトリ、ＢＤＪＯディレクトリ、ＪＡＲディレクトリ、ＡＵＸＤＡＴＡディレクトリ、ＭＥＴＡディレクトリ、ＢＡＣＫＵＰディレクトリが存在する。映像・音声といったＡＶコンテンツが多重化され格納されたＡＶクリップ（００００１．ｍ２ｔｓ）、ＡＶクリップの管理情報を格納したクリップ情報ファイル（００００１．ｃｌｐｉ)、ＡＶクリップの論理的な再生経路を定義したプレイリストファイル（００００１．ｍｐｌｓ）、どのＪＡＲファイルを実行するかおよびその実行方法について定義したＢＤＪオブジェクトファイル（００００１．ｂｄｊｏ）、ＢＤ−Ｊアプリケーションを格納したＪＡＲファイル（００００１．ｊａｒ）は、それぞれ前述のＳＴＲＥＡＭディレクトリ、ＣＬＩＰＩＮＦディレクトリ、ＰＬＡＹＬＩＳＴディレクトリ、ＢＤＪＯディレクトリ、ＪＡＲディレクトリ、ＤＩＮＦＯディレクトリの下に配置される。
【００２３】
以下に、ＢＤＭＶディレクトリ配下に置かれる各ファイルのデータ構造について説明する。
＜インデックスファイル＞
まずインデックスファイル（Ｉｎｄｅｘ．ｂｄｍｖ）について説明する。インデックスファイルは記録媒体全体に関する管理情報であり、再生装置への挿入後に、インデックステーブルファイルが最初に読み出されることで、再生装置においてディスクが一意に認識される。インデックスファイルは更に、ＢＤ−ＲＯＭ１０１において再生可能となる複数タイトルのタイトル番号と、個々のタイトルを規定するプログラムファイル、つまり、BD-Jオブジェクト又はムービーブジェクトとの対応付けを示すインデックステーブルを格納している。
【００２４】
図３に示すように、インデックステーブルは、ＢＤ−ＲＯＭのタイトル構造を構成する個々のタイトルと、動作モードを規定する動作モードオブジェクトとの対応付けを規定する。タイトル構造とは、ＢＤ−ＲＯＭの装填時に、視聴者への警告やコンテンツプロバイダによるロゴ表示等を伴うタイトル(ファーストプレイタイトル)の再生を開始し、ファーストプレイタイトルの再生後、映画作品の本編を構成する一般タイトル("１"、"２"、"３"というようなシリアル番号で識別される一般的なタイトル)の再生を行い、本編タイトルの再生が終了すれば、タイトル選択を受け付けるタイトル(トップメニュータイトル)を再生してユーザによる一般タイトルの選択待ちを行うというものである。
また、トップメニュータイトルは、リモコンでのユーザ操作で、「メニューに戻る」というようなコマンドが実行されるときにも再生される。映画作品と、タイトルとの関係は、映画作品と、それの複数バージョンとの関係である。つまり1つのバージョンしかないような映画作品は、「映画作品＝タイトル」という関係になる。ＢＤ−ＲＯＭのタイトルは、上述したようなファーストプレイタイトル、一般タイトル、メニュータイトルのそれぞれに、動作モードを規定する動作モードオブジェクトを割り当てることで、各々のタイトルが、どのような動作モードで動作するのかを詳細に規定する。インデックステーブルでは、タイトルと、ビデオストリームとの関係を直接記述せず、タイトルと、動作モードオブジェクトとの関係を記述して、動作モードオブジェクトを通じてビデオストリームを再生させるようになっている。これば、AV再生を伴わず、動作モードオブジェクトを動作させるだけのタイトルを規定するためである。
【００２５】
＜ムービーオブジェクトファイル＞
図４に示すように、ムービーオブジェクトファイル（ＭｏｖｉｅＯｂｊｅｃｔ．ｂｄｍｖ）内には、１つ以上のムービーオブジェクトが定義されており、各ムービーオブジェクトはムービーオブジェクトＩＤによって識別される。ムービーオブジェクトは、コマンドインタプリタを制御主体とした動作モード(HDMVモード)において、再生装置が行うべき制御手順を規定するプログラムファイルであり、プレイリストの再生の指示や他のムービーオブジェクトやタイトルへの遷移を命令する１つ以上のナビゲーションコマンドを持ち、再生装置はそのナビゲーションコマンド列を順に実行する。例えば、ＰｌａｙＰＬ＃Ｎと記述されていれば、再生装置はＰＬＡＹＬＩＳＴディレクトリの中から該当するプレイリストのファイル名を選択し再生する。また例えば、ＪｕｍｐＯｂｊｅｃｔ＃Ｎと記述されていれば、再生装置はムービーオブジェクトファイルの中から該当するムービーオブジェクトを選択し実行する。
【００２６】
＜ＢＤＪオブジェクトファイル＞
ＢＤＪオブジェクトファイルは、拡張子bdjoが付与されたプログラムファイル(xxxxx.bdjo["xxxxx"は可変、拡張子"bdjo"は固定])である。ＢＤＪオブジェクトファイルは、ＢＤ−Ｊモードにおいて、再生装置が行うべき制御手順を規定するＢＤ−Ｊオブジェクトを格納している。ＢＤＪオブジェクトは、アプリケーション管理テーブル（ＡｐｐｌｉｃａｔｉｏｎＭａｎａｇｅｍｅｎｔＴａｂｌｅ（））を含み、ＢＤ−ＲＯＭ再生時において、タイトル切り替えに伴うアプリケーションシグナリングをプラットフォーム部に実行させるデータのことである。アプリケーション管理テーブルにより生存区間が規定されるアプリケーションプログラムを、特に『ＢＤ−Ｊアプリケーション』という。ＡｐｐｌｉｃａｔｉｏｎＭａｎａｇｅｍｅｎｔＴａｂｌｅ（）は、具体的にいうと、実行すべきＢＤ−Ｊアプリケーションを示すａｐｐｌｉｃａｔｉｏｎ＿ｉｄと、ＢＤ−Ｊアプリケーションを起動する際の制御を示すａｐｐｌｉｃａｔｉｏｎ＿ｃｏｎｔｒｏｌ＿ｃｏｄｅを含む。ａｐｐｌｉｃａｔｉｏｎ＿ｃｏｎｔｒｏｌ＿ｃｏｄｅは、タイトル選択後におけるアプリケーションの最初の実行状態を規定しており、ＢＤ−Ｊアプリケーションを仮想マシンにロードして自動開始するか（ＡＵＴＯＳＴＡＲＴ）、ＢＤ−Ｊアプリケーションを仮想マシンにロードするが自動開始はしないか（ＰＲＥＳＥＮＴ）を規定することができる。
【００２７】
＜ＡＶクリップ＞
ＡＶクリップは、拡張子m2tsが付与されたストリームファイル（xxxxx.m2ts["xxxxx"は可変、拡張子"m2ts"は固定])であり、ＭＰＥＧ−２トランスポートストリーム形式のデジタルストリームを格納している。
図５は、ＡＶクリップの構成を示す図である。本図に示すようにＡＶクリップは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム（ＰＧ）、インタラクティブグラフィックスストリーム（ＩＧ）のうち、１つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリームは映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にＧＵＩ部品を配置することにより作成される対話画面を示している。ＡＶクリップに含まれる各ストリームはＰＩＤによって識別される。例えば、映画の映像に利用するビデオストリームには０ｘ１０１１が、オーディオストリームには０ｘ１１００から０ｘ１１１Ｆまでが、プレゼンテーショングラフィックスには０ｘ１２００から０ｘ１２１Ｆまでが、インタラクティブグラフィックスストリームには０ｘ１４００から０ｘ１４１Ｆまでが、映画の副映像に利用するビデオストリームには０ｘ１Ｂ００から０ｘ１Ｂ１Ｆまで、主音声とミキシングする副音声に利用するオーディオストリームには０ｘ１Ａ００から０ｘ１Ａ１Ｆが、それぞれ割り当てられている。
【００２８】
図６は、ＡＶクリップがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリーム、複数のオーディオフレームからなるオーディオストリーム(第１段目)を、それぞれＰＥＳパケット列に変換し(第２段目)、更にソースパケット列に変換する(第３段目)。同じくプレゼンテーショングラフィックスストリーム（ＰＧストリーム）およびインタラクティブグラフィックスストリーム（ＩＧストリーム）のデータを(第７段目)それぞれＰＥＳパケット列に変換し(第６段目)、更にソースパケットに変換する(第５段目)。こうして得られた、ビデオ、オーディオ、グラフィクスを構成するソースパケットをそのＡＴＳの順に配列してゆくことで、１本のストリームに多重化されたＡＶクリップが構成される(第４段目)。
【００２９】
図７の（ａ）は、ＰＥＳパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示している。本図（ａ）における第１段目はビデオストリームのビデオフレーム列を示す。第２段目は、ＰＥＳパケット列を示す。第３段目は、これらのＰＥＳパケット列を変換することで得られるTSパケット列を示す。本図の矢印ｙｇ１,ｙｇ２,ｙｇ３,ｙｇ４に示すように、ビデオストリームにおける複数のＶｉｄｅｏ  Ｐｒｅｓｅｎｔａｔｉｏｎ  ＵｎｉｔであるＩピクチャ、Ｂピクチャ、Ｐピクチャは、ピクチャ毎に分割され、ＰＥＳパケットのペイロードに格納される。各ＰＥＳパケットはＰＥＳヘッダを持ち、ＰＥＳヘッダには、ピクチャの表示時刻であるＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ−Ｓｔａｍｐ）やピクチャの復号時刻であるＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ−Ｓｔａｍｐ）が格納される。
【００３０】
図７の（ｂ）は、ＡＶクリップに最終的に書き込まれるパケットの形式を示している。第１段目は、ＴＳパケット列を示し、第２段目は、ソースパケット列を示す。 
第１段目に示すようにＴＳパケットは、ストリームを識別するＰＩＤなどの情報を持つ４Ｂｙｔｅの「ＴＳヘッダ」とデータを格納する１８４Ｂｙｔｅの「ＴＳペイロード」に分かれる固定長のパケットであり、前述で説明したＰＥＳパケットは分割されＴＳペイロードに格納される。ＢＤ−ＲＯＭの場合、第２段目に示すように、ＴＳパケットには、４ＢｙｔｅのＴＰ＿Ｅｘｔｒａ＿Ｈｅａｄｅｒが付与されて、１９２Ｂｙｔｅのソースパケットに変換された状態で、ＡＶクリップを構成する。ＴＰ＿Ｅｘｔｒａ＿ＨｅａｄｅｒにはＡＴＳ（Ａｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐ）などの情報が記載される。ＡＴＳは当該ＴＳパケットのＰＩＤフィルタへの転送開始時刻を示す。ＡＶクリップには、第３段目に示すようにソースパケットが並ぶこととなり、ＡＶクリップの先頭からインクリメントする番号はＳＰＮ（ソースパケットナンバー）と呼ばれる。
【００３１】
また、ＡＶクリップに含まれるＴＳパケットには、映像・音声・字幕などの各ストリーム以外にもＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）、ＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）などがある。ＰＡＴはＡＶクリップ中に利用されるＰＭＴのＰＩＤが何であるかを示し、ＰＡＴ自身のＰＩＤは０で登録される。ＰＭＴは、ＡＶクリップ中に含まれる映像・音声・字幕などの各ストリームのＰＩＤと各ＰＩＤに対応するストリームの属性情報を持ち、またＡＶクリップに関する各種ディスクリプタを持つ。ディスクリプタにはＡＶクリップのコピーを許可・不許可を指示するコピーコントロール情報などがある。ＰＣＲは、ＡＴＳの時間軸であるＡＴＣ（Ａｒｒｉｖａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とＰＴＳ・ＤＴＳの時間軸であるＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）の同期を取るために、そのＰＣＲパケットがデコーダに転送されるＡＴＳに対応するＳＴＣ時間の情報を持つ。
【００３２】
図８はＰＭＴのデータ構造を詳しく説明する図である。ＰＭＴの先頭には、そのＰＭＴに含まれるデータの長さなどを記したＰＭＴヘッダが配置される。その後ろには、ＡＶクリップに関するディスクリプタが複数配置される。前述したコピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、ＡＶクリップに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのＰＩＤ、ストリームの属性情報（フレームレート、アスペクト比など）が記載されたストリームディスクリプタから構成される。ストリームディスクリプタはＡＶクリップに存在するストリームの数だけ存在する。
【００３３】
＜クリップ情報ファイル＞
拡張子clpiが付与されたクリップ情報ファイル(xxxxx.clpi ["xxxxx"は可変、拡張子"clpi"は固定])は、ＡＶクリップと１対１に対応する管理情報であり、図９に示すように、クリップ情報とストリーム属性情報とエントリーマップテーブルとから構成される。
クリップ情報は、本図の引出線eg1で示すように、システムレート、再生開始時刻、及び再生終了時刻を含む。システムレートは、対応するＡＶクリップに属するＴＳパケットが再生装置内でリードバッファからシステムターゲットデコーダへ転送される速度の最高値を示す。ＡＶクリップでは、ＴＳパケットの転送速度がシステムレート以下に抑えられるように、ソースパケットのＡＴＳの間隔が設定されている。再生開始時刻は、ＡＶクリップの先頭のＰＴＳ、例えば先頭の映像フレームのＰＴＳを示す。再生終了時刻は、ＡＶクリップの後端のＰＴＳから所定量遅れたＳＴＣの値、例えば最後の映像フレームのＰＴＳに１フレーム当たりの再生時間を加えた値を示す。
【００３４】
ストリーム属性情報は引出線eg2で示すように、ＡＶクリップに含まれる各ストリームについての属性情報が、ＰＩＤ毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、再生装置が再生する前のデコーダの初期化などに利用される。
【００３５】
図１０の（ａ）は、クリップ情報ファイルにおけるエントリーマップテーブルを示す図である。エントリーマップテーブルは、ＡＶクリップ内に含まれるビデオストリームの各フレーム内符号化画像（以下Ｉピクチャと呼ぶ）の表示時刻を示すＰＴＳと各Ｉピクチャが開始するＡＶクリップのＳＰＮが記載されたテーブル情報である。
ここではテーブルの１つの行で示される対となるＰＴＳとＳＰＮの情報をエントリーポイント情報と呼ぶことにする。また先頭を０としてエントリーポイント毎にインクリメントした値をエントリーポイントＩＤ（以下「ＥＰ＿ＩＤ」）と呼ぶことにする。このエントリーポイント情報を利用することにより、本図の（ｂ）に示すように、再生装置はビデオストリームの時間軸上の任意の地点に対応するＡＶクリップのファイル位置を特定することが出来るようになる。例えば、早送り・巻戻しの特殊再生の際には、エントリーポイント情報に登録されるＩピクチャを特定し選択して再生することによりＡＶクリップを解析することなく効率的に処理を行うことが出来る。また、エントリーポイント情報はＡＶクリップ内に多重化される各ビデオストリーム毎に作られ、ＰＩＤで管理される。
【００３６】
＜プレイリストファイル＞
次に、拡張子mplsが付与されたプレイリストファイル(xxxxx.mpls["xxxxx"は可変、拡張子"mpls"は固定])について説明する。
プレイリストは、ＡＶクリップの再生経路を示すものである。図１１に示すように、プレイリストは１つ以上のプレイアイテムから構成され、各プレイアイテムはＡＶクリップに対する再生区間を示す。各プレイアイテムはそれぞれプレイアイテムＩＤで識別され、プレイリスト内で再生されるべき順序で記述されている。また、プレイリストは再生開始点を示すマークを含んでいる。マークはプレイアイテムで定義される再生区間内に対して付与することでき、プレイアイテムに対して再生開始点となりうる位置に付けられ、頭出し再生に利用される。例えば、映画タイトルにおいて、マークをチャプタの先頭となる位置に付与することで、チャプタ再生することが可能である。
【００３７】
プレイアイテムの内容について図１２を用いて説明する。プレイアイテムには、参照するＡＶクリップ１４０１と再生開始時刻１４０２および再生終了時刻１４０３、コネクションコンディション１４０４、及びストリーム選択テーブル１４０５が含まれている。参照するＡＶクリップ１４０１は、再生区間を定義するＡＶクリップを、対応するクリップ情報ファイルの名称で示している。再生開始時刻と再生終了時刻は時間情報であるため、図１３の下段に示すように、再生装置は参照するＡＶクリップ１４０１で示されるクリップ情報ファイルのエントリーマップを参照し、指定された再生開始時刻および再生終了時刻に対応するＳＰＮを取得し、読み出し開始位置を特定して再生処理を行う。なお、一連のプレイアイテムの再生経路をメインパスとここでは定義する。
【００３８】
ストリーム選択テーブル１４０５は、複数のストリームエントリ１４０９からなり、ストリームエントリ１４０９はストリーム選択Ｎｏ１４０６、ストリームパス情報１４０７、ストリーム識別情報１４０８からなる。ストリーム選択Ｎｏ１４０６は、ストリーム選択テーブルに含まれるストリームエントリ１４０９の先頭から順にインクリメントされる番号であり、再生装置でのストリーム識別のために利用される。ストリームパス情報１４０７は、ストリーム識別情報１４０８によって示されるストリームが、どのＡＶクリップに多重化されているかを示す情報であり、例えば”メインパス”であれば、該当するプレイアイテムのＡＶクリップを示し、”サブパスＩＤ＝１”であれば、そのサブパスＩＤが示すサブパスにおいて、該当するプレイアイテムの再生区間に対応するサブプレイアイテムのＡＶクリップを示す。ストリーム識別情報１４０８は、ＰＩＤなどの情報であり、参照するＡＶクリップに多重化されているストリームを示す。なお、ストリームエントリ１４０９には、各ストリームの属性情報も同時に記録されている。ここで属性情報とは、各ストリームの性質を示す情報で、例えばオーディオ、プレゼンテーショングラフィックス、インタラクティブグラフィックスの場合には、言語属性などが含まれる。
【００３９】
プレイリストは、図１３に示すように１つ以上のサブパスを有することが出来る。サブパスはプレイリストに登録される順にＩＤが振られ、サブパスＩＤとして、サブパスを識別するために使われる。サブパスは、メインパスと一緒に再生される一連の再生経路を示す。サブパスには、メインパスの再生に同期して再生される同期型、メインパスの再生に非同期で再生可能な非同期型があり、そのタイプはサブパスタイプに記される。サブプレイアイテムは、プレイアイテムと同様に参照するＡＶクリップ１４０１と再生開始時刻１４０２および再生終了時刻１４０３を持つ。サブパスタイプが同期型の場合は、サブプレイアイテムの再生開始時刻１４０２と再生終了時刻１４０３は、メインパスと同じ時間軸で表されるが、サブパスタイプが非同期型の場合は、サブプレイアイテムの再生開始時刻１４０２と再生終了時刻１４０３は、メインパスと違う時間軸で表される。例えば、プレイアイテム＃２のストリーム選択テーブル１４０５に登録されているあるストリームエントリ１４０９が、サブパスＩＤ＝０でプレゼンテーショングラフィックス１を示す場合は、サブパスＩＤ＝０のサブパスの中で、プレイアイテム＃２の再生区間に同期して再生するサブプレイアイテム＃２のＡＶクリップの中に多重化されるプレゼンテーショングラフィックス１が、プレイアイテム＃２再生区間に再生されることになる。また、プレイアイテム＃２のストリーム選択テーブル１４０５に登録されているあるストリームエントリ１４０９が、サブパスＩＤ＝２で副映像１を示す場合は、サブパスＩＤ＝２のサブパスの中にあるサブプレイアイテム＃１のＡＶクリップの中に多重化される副映像１が、プレイアイテム＃２再生区間に再生されることになる。
【００４０】
＜ＪＡＲファイル＞
次に、拡張子jarが付与されたＪＡＲファイル(xxxxx.jar["xxxxx"は可変、拡張子"jar"は固定])について説明する。
ＪＡＲファイルは、ＢＤ−Ｊアプリケーションを格納している。ＢＤ−Ｊアプリケーションとは、Ｊａｖａ（登録商標）２Ｍｉｃｒｏ＿Ｅｄｉｔｉｏｎ（Ｊ２ＭＥ）  Ｐｅｒｓｏｎａｌ  Ｂａｓｉｓ  Ｐｒｏｆｉｌｅ（ＰＢＰ  １．０）と、Ｇｌｏｂａｌｌｙ  Ｅｘｃｅｃｕｔａｂｌｅ  ＭＨＰ  ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＧＥＭ１．０．２）ｆｏｒ  ｐａｃｋａｇｅ  ｍｅｄｉａ  ｔａｒｇｅｔｓとをフル実装したプラットフォーム部にて動作するＪａｖａ（登録商標）アプリケーションである。
【００４１】
このＢＤ−Ｊアプリケーションは、ｘｌｅｔインターフェイスを通じて、Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｎａｇｅｒにより制御される。ｘｌｅｔインターフェイスは、”ｌｏａｄｅｄ”、”ｐｕａｓｅｄ”、”ａｃｔｉｖｅ”,”ｄｅｓｔｒｏｙｅｄ”といった４つの状態をもつ。
上述したＪａｖａ（登録商標）プラットフォーム部は、ＪＦＩＦ（ＪＰＥＧ）やＰＮＧ、その他のイメージデータを表示するためのスタンダードＪａｖａ（登録商標）ライブラリを含む。このため、Ｊａｖａ（登録商標）アプリケーションは、ＧＥＭ１．０．２にて規定されたＨＡＶｉフレームワークを含み、ＧＥＭ１．０．２におけるリモートコントロールナビゲーション機構を含むＧＵＩフレームワークを実現することができる。
【００４２】
これにより、Ｊａｖａ（登録商標）アプリケーションは、ＨＡＶｉフレームワークに基づくボタン表示、テキスト表示、オンライン表示（ＢＢＳの内容）といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
こうしたＢＤ−Ｊアプリケーションを構成する一連のファイルは、Ｈｔｔｐ：／／Ｊａｖａ．ｓｕｎ．ｃｏｍ／ｊ２ｓｅ／１．４．２／ｄｏｃｓ／ｇｕｉｄｅ／ｊａｒ／ｊａｒ．ｈｔｍｌに記載された仕様に準じた、Ｊａｖａ（登録商標）アーカイブファイルに変換される。Ｊａｖａ（登録商標）アーカイブファイルは、ＺＩＰファイルの形式を、Ｊａｖａ（登録商標）に特化したものであり、市販されているＺＩＰ展開ソフトウェアにより中身を確認することができる。
【００４３】
ＢＤ−Ｊアプリケーションの動作内容の詳細については後述するが、ＢＤ−Ｊアプリケーションは、主に以下の５つの動作を行うプログラムを備えている。
（１）後述する再生制御部７を介して、プレイリスト再生を行う。ここでいう、プレイリスト再生とは、プレイリストが管理するＡＶクリップを再生することをいう。
（２）インターネットなどのＷＷＷサーバからアップデートキットを取得し、ローカルストレージへ蓄積する。
【００４４】
（３）ＢＤ−ＲＯＭとアップデートキットとを組み合わせて仮想ファイルの構築を仮想ファイル制御部２０に命令する。
（４）再生装置のレジスタセットに値をセットする。
（５）システムターゲットデコーダに対してメニューやゲームのグラフィックスのためのＰＮＧ・ＪＰＥＧを転送して、画面に表示する。
【００４５】
これらはプログラムの作りに応じて自由に行うことが出来、どのように制御するかは、オーサリング工程でのＢＤ−Ｊアプリケーションのプログラミング工程によって決まる。
以上が、本発明にかかる記録媒体であるＢＤ−ＲＯＭのデータ構造である。
＜再生装置１０２＞
続いて、本発明にかかる再生装置、再生方法について説明する。
【００４６】
図１４は、再生装置１０２の構成を示している。再生装置１０２は、ＢＤ−ＲＯＭドライブ１、リードバッファ（１）２a、リードバッファ（２）２b、ローカルストレージ３、システムターゲットデコーダ４、プレーンメモリセット５a、プレーン合成部５b、HDMI送受信部６、再生制御部７、管理情報メモリ９、レジスタセット１０、プログラム実行部１１、プログラムメモリ１２、ネットワークモジュール１３、ユーザイベント処理部１７、不揮発メモリ１９、及び仮想ファイル制御部２０から構成されている。
【００４７】
ＢＤ−ＲＯＭドライブ１は、仮想ファイル制御部２０からの要求を元にＢＤ−ＲＯＭディスクからデータを読み出す。ＢＤ−ＲＯＭディスクから読み出されたＡＶクリップはリードバッファ（１）２aに転送される。ＢＤ−ＲＯＭディスクからは、ＡＶクリップだけでなく、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイル、クリップ情報ファイル、ＢＤ−Ｊオブジェクトファイル、ＪＡＲファイルも読み出される。これらのファイルは仮想ファイル制御部２０に転送される。
【００４８】
リードバッファ（１）２ａは、ＢＤ−ＲＯＭドライブを使って読み込んだデータを一時的に格納するメモリ等で構成されたバッファである。
ローカルストレージ３は、ハードディスクをアクセスするためのビルドインメディアドライブ、ＳＤメモリカード等の半導体メモリカードをアクセスするためのリムーバブルメディアドライブを備え、ネットワークモジュール１３等の外部Ｉ／Ｆからダウンロードしてきたアップデートキットや、アプリケーションが使うデータなどの保存に用いられる。アップデートキットの保存領域はＢＤ−ＲＯＭ毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。ＳＤメモリカード等に蓄積されたアップデートキット等のデータは、仮想ファイル制御部２０からの要求に従ってローカルストレージ３により読み出される。読み出されたデータのうちＡＶクリップはリードバッファ（２）２ｂに転送される。アップデートキットのデータ構造については後述するが、ローカルストレージ３により読み出されるデータには、ＡＶクリップだけでなく、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイル、クリップ情報ファイル、ＢＤ−Ｊオブジェクトファイル、ＪＡＲファイル、マージ管理情報も含まれる。これらのデータは、仮想ファイル制御部２０に転送される。
【００４９】
リードバッファ（２）２ｂは、ローカルストレージ３を使って読み込んだデータを一時的に格納するメモリ等で構成されたバッファである。
システムターゲットデコーダ４は、リードバッファ（１）２ａに読み出されたソースパケットやリードバッファ（２）２ｂに読み出されたソースパケットに対して多重分離処理を行い、各ストリームをデコードし再生する処理を行う。また、プログラム実行部１１の指示によりメニューなどに表示するためのＪＰＥＧ、ＰＮＧなどのグラフィックスデータをデコードして再生する処理を行う。システムターゲットデコーダ４の詳細については後述する。
【００５０】
プレーンメモリセット５aは、複数のプレーンメモリから構成される。プレーンメモリには、主映像プレーン、副映像プレーン、IGプレーン、PGプレーン、ＢＤ−Ｊプレーンといったものがある。
プレーン合成部５bは、プレーンメモリセット５aの各プレーンメモリに
に書き込まれたデータを瞬時に重畳し、重畳した映像データをHDMI送受信部６へ出力する。
【００５１】
HDMI送受信部６は、例えばHDMI規格（HDMI:HighDefinition Multimedia Interface）に従って、認証フェーズ、ネゴシエーションフェーズを実行し、映像データをテレビ１０３へ出力する。
再生制御部７は、再生エンジン７a、再生制御エンジン７bを含み、プログラム実行部１１の再生命令や、ユーザイベント処理部１７よりの通知に基づいて、プレイリスト情報を介したＡＶクリップの再生処理等、再生装置の再生を制御する。再生制御部７は更に、再生状態の変化に応じてレジスタセット１０に各種のプレーヤ変数を設定更新する。また、再生制御部７はそれらのプレーヤ変数を参照して、システムターゲットデコーダ４に復号対象のエレメンタリストリームを指定し、かつ、各エレメンタリ・ストリームの復号に必要な情報を提供する。
【００５２】
再生エンジン７aは、AV再生機能を実行する。AV再生機能とは、DVD再生装置、CD再生装置から踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、セカンダリビデオ用のピクチャデータ切り替え、アングル切り替えといった処理である。 
【００５３】
再生制御エンジン７bは、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJavaプラットフォームからの関数呼び出しに応じて、プレイリストの再生機能を実行する。プレイリスト再生機能とは、上述したAV再生機能のうち、再生開始や再生停止をカレントプレイリストを構成するカレントプレイリスト情報、カレントクリップ情報に従って行うことをいう。
【００５４】
管理情報メモリ９は、カレントプレイリスト情報やカレントクリップ情報を格納しておくためのメモリである。カレントプレイリスト情報とは、ＢＤ−ＲＯＭまたはビルドインメディアドライブ、リムーバブルメディアドライブからアクセスできる複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントクリップ情報とは、ＢＤ−ＲＯＭまたはビルドインメディアドライブ、リムーバブルメディアドライブからアクセスできる複数クリップ情報のうち、現在処理対象になっているものをいう。 
【００５５】
再生状態／設定レジスタ(Player Status/SettingRegister)セット１０は、プレーヤ変数を記憶するためのレジスタ群である。プレーヤ変数の種類にはシステムパラメータ（ＳＰＲＭ）と、プログラムファイルが利用する任意の情報を格納できる汎用のパラメータ（ＧＰＲＭ）とがある。ＳＰＲＭは再生装置１０２の状態を示す。図１５はＳＰＲＭの一覧表である。各ＳＰＲＭには通し番号が振られ、各通し番号に変数値が個別に対応付けられている。主なＳＰＲＭの内容は以下のとおりである。ここで、括弧内の数字は通し番号を示す。
【００５６】
ＳＰＲＭ（０）      ：  言語コード
ＳＰＲＭ（１）      ：  プライマリオーディオストリーム番号
ＳＰＲＭ（２）      ：  字幕ストリーム番号
ＳＰＲＭ（３）      ：  アングル番号
ＳＰＲＭ（４）      ：  タイトル番号
ＳＰＲＭ（５）      ：  チャプタ番号
ＳＰＲＭ（６）      ：  プログラム番号
ＳＰＲＭ（７）      ：  セル番号
ＳＰＲＭ（８）      ：  選択キー情報
ＳＰＲＭ（９）      ：  ナビゲーションタイマー
ＳＰＲＭ（１０）    ：  再生時刻情報
ＳＰＲＭ（１１）    ：  カラオケ用ミキシングモード
ＳＰＲＭ（１２）    ：  パレンタル用国情報
ＳＰＲＭ（１３）    ：  パレンタルレベル
ＳＰＲＭ（１４）    ：  プレーヤ設定値（ビデオ）
ＳＰＲＭ（１５）    ：  プレーヤ設定値（オーディオ）
ＳＰＲＭ（１６）    ：  オーディオストリーム用言語コード
ＳＰＲＭ（１７）    ：  オーディオストリーム用言語コード（拡張）
ＳＰＲＭ（１８）    ：  字幕ストリーム用言語コード
ＳＰＲＭ（１９）    ：  字幕ストリーム用言語コード（拡張）
ＳＰＲＭ（２０）    ：  プレーヤリージョンコード
ＳＰＲＭ（２１）    ：  セカンダリビデオストリーム番号
ＳＰＲＭ（２２）    ：  セカンダリオーディオストリーム番号
ＳＰＲＭ（２３）    ：  再生状態
ＳＰＲＭ（２４）    ：  予備
ＳＰＲＭ（２５）    ：  予備
ＳＰＲＭ（２６）    ：  予備
ＳＰＲＭ（２７）    ：  予備
ＳＰＲＭ（２８）    ：  予備
ＳＰＲＭ（２９）    ：  予備
ＳＰＲＭ（３０）    ：  予備
ＳＰＲＭ（３１）    ：  予備
ＳＰＲＭ（１０）は、復号処理中のピクチャのＰＴＳを示し、そのピクチャが復号されて主映像プレーンメモリに書き込まれる度に更新される。従って、ＳＰＲＭ（１０）を参照すれば、現在の再生時点を知ることができる。
【００５７】
ＳＰＲＭ（１６）のオーディオストリーム用言語コード、及びＳＰＲＭ（１８）の字幕ストリーム用言語コードは、再生装置１０２のデフォルトの言語コードを示す。それらは再生装置１０２のＯＳＤ等を利用してユーザに変更させることもでき、プログラム実行部１１を通じてアプリケーションプログラムに変更させることもできる。例えばＳＰＲＭ（１６）が「英語」を示しているとき、再生制御部７はプレイリスト再生処理において、まずＰＩ内のストリーム選択テーブルから、「英語」の言語コードを含むストリームエントリを検索する。次に、そのストリームエントリのストリーム識別情報からＰＩＤを抽出してシステムターゲットデコーダ４に渡す。それにより、そのＰＩＤのオーディオストリームがシステムターゲットデコーダ４によって選択され、復号される。これらの処理は、ムービーオブジェクトファイル又はＢＤ−Ｊオブジェクトファイルを利用して再生制御部７に実行させることができる。
【００５８】
また、再生制御部７は再生処理中、プレーヤ変数に設定された値をチェックしながら再生を制御する。再生制御部７は特に、ＳＰＲＭ（１）、ＳＰＲＭ（２）、ＳＰＲＭ（２１）、及びＳＰＲＭ（２２）を更新する。それらは順に、処理中のオーディオストリーム、字幕ストリーム、セカンダリビデオストリーム、及びセカンダリオーディオストリームの各ストリーム番号を示す。例えばプログラム実行部１１によってオーディオストリームのＳＴＮを示すＳＰＲＭ（１）が変更されたときを想定する。再生制御部７はそのとき、まず現時点で再生処理中のＰＩ内のＳＴＮテーブルから、変更後のＳＰＲＭ（１）の示すＳＴＮを含むストリームエントリを検索する。再生制御部７は次に、そのストリームエントリ内のストリーム識別情報からＰＩＤを抽出してシステムターゲットデコーダ４に渡す。それにより、そのＰＩＤのオーディオストリームがシステムターゲットデコーダ４によって選択され復号される。こうして、再生対象のオーディオストリームが切り換えられる。同様に、再生対象の字幕及びセカンダリビデオストリームを切り換えることもできる。
【００５９】
プログラム実行部１１は、ＨＤＭＶモジュール１３、ＢＤ−Ｊプラットフォーム１４、ミドルウェア１５、モード管理モジュール１６を含み、ＢＤプログラムファイルに格納されたプログラムを実行するプロセッサである。
ＨＤＭＶモジュール１３は、ＨＤＭＶモードの動作主体となるＤＶＤ仮想プレーヤであり、ＨＤＭＶモードの実行主体となる。本モジュールは、コマンドインタプリタを具備し、ムービーオブジェクトを構成するナビゲーションコマンドを解読して実行することでＨＤＭＶモードの制御を実行する。ナビゲーションコマンドは、ＤＶＤ−Ｖｉｄｅｏと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、ＤＶＤ−Ｖｉｄｅｏライクな再生制御を実現することができる。 
【００６０】
ＢＤ−Ｊプラットフォーム１４は、ＢＤ−Ｊモードの動作主体であるＪａｖａプラットフォームであり、Java2Micro＿Edition(J2ME) Personal BasisProfile(PBP 1.0)と、Globally Executable MHPspecification(GEM1.0.2)for package media targetsとをフル実装しており、クラスローダ、バイトコードインタプリタ、アプリケーションマネージャから構成される。ＢＤ−Ｊプラットフォーム１４は、実行するＢＤ−Ｊアプリケーションに応じて様々な機能を実現する。
【００６１】
クラスローダは、システムアプリケーションの1つであり、ＪＡＲアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリに格納することにより、ＢＤ−Ｊアプリケーションのロードを行う。 
バイトコードインタプリタは、いわゆるＪａｖａ仮想マシンであり、ヒープメモリに格納されているＢＤ−Ｊアプリケーションを構成するバイトコード、システムアプリケーションを構成するバイトコードをネィティブコードに変換して、ＭＰＵに実行させる。 
【００６２】
アプリケーションマネージャは、システムアプリケーションの1つであり、ＢＤ−Ｊオブジェクト内のアプリケーション管理テーブルに基づき、ＢＤ−Ｊアプリケーションを起動したりＢＤ−Ｊアプリケーションを終了したりする等、ＢＤ−Ｊアプリケーションのアプリケーションシグナリングを行う。以上で、ＢＤ−Ｊプラットフォーム部の内部構成についての説明を終える。 
【００６３】
ミドルウェア１５は、組込みソフトウェアのためのオペレーティングシステムであり、カーネル、デバイスドライバから構成される。カーネルは、ＢＤ−Ｊアプリケーションからのアプリケーションプログラミングインターフェイス(API)のコールに応じて、再生装置特有の機能をＢＤ−Ｊアプリケーションに提供する。また、割込信号により割込ハンドラ部を起動する等のハードウェア制御を実現する。 
【００６４】
モード管理モジュール１６は、ＢＤ−ＲＯＭまたはビルドインメディアドライブ、リムーバブルメディアドライブから読み出されたＩｎｄｅｘ.ｂｄｍｖを保持して、モード管理及び分岐制御を行う。モード管理モジュールによるモード管理とは、動的シナリオを、ＢＤ−Ｊプラットフォーム１４、ＨＤＭＶモジュール１３のどちらに実行させるかという、モジュールの割り当てである。
【００６５】
プログラムメモリ１２は、仮想ファイル制御部２０から転送されるカレント動的シナリオを格納しておき、ＨＤＭＶモードの動作主体であるＨＤＭＶモジュール、ＢＤ−Ｊモードの動作主体であるＪａｖａプラットフォームによる処理に供されるメモリである。カレント動的シナリオとは、ＢＤ−ＲＯＭに記録されているＩｎｄｅｘ.ｂｄｍｖ、ＢＤ−Ｊオブジェクト、ムービーブジェクトのうち、現在実行対象になっているものをいう。またプログラムメモリ１２は、ヒープメモリを含む。ヒープメモリは、システムアプリケーションのバイトコード、ＢＤ−Ｊアプリケーションのバイトコード、システムアプリケーションが利用するシステムパラメータ、ＢＤ−Ｊアプリケーションが利用するアプリケーションパラメータが配置されるスタック領域である。
【００６６】
ネットワークモジュール１３は、外部ネットワークとのデータ通信を制御するモジュールであり、プログラム実行部１１の制御を受けて、インターネットなどのＷＷＷサーバからアップデートキットを取得し、ローカルストレージへ転送する。
ユーザイベント処理部１７は、リモコンを通じたユーザ操作に応答して、プログラム実行部１１や再生制御部７に処理の実行を依頼する。例えば、リモコンでボタンを押した場合は、そのボタンに含まれるコマンドを実行するようプログラム実行部１１に依頼する。例えば、リモコンで早送り・巻戻しボタンが押された場合には、再生制御部７に、現在再生しているプレイリストのAVクリップに対する早送り・巻戻し処理の実行を命令する。 
【００６７】
不揮発メモリ１９は、読み書き可能なメモリなどの記録媒体であり、電源が供給されなくても、記録内容を保持できる媒体、例えばフラッシュメモリ、FeRAMなどである。これは、レジスタセット１０における記憶内容のバックアップに用いられる。
仮想ファイル制御部２０は、ＢＤ−ＲＯＭドライブ１、ローカルストレージ３を制御して、仮想ファイルシステムの機能を実現する。仮想ファイルシステムの機能とは、仮想パッケージの構築、及び仮想パッケージを介したＲＯＭディスク及びローカルディスク上のファイルへのアクセス制御である。仮想パッケージとは、ローカルストレージ３に格納されたマージ管理情報を元に、ＲＯＭディスクに記録されたコンテンツと、ローカルストレージ３に格納されたアップデートキットとをメモリ上で組み合せた仮想的なＢＤ−ＲＯＭパッケージである。作成された仮想パッケージは、ＢＤ−ＲＯＭのデータ構造と同じ形式を持つ。既存のＲＯＭディスクにファイルを追加するだけでなく、ＲＯＭディスク上の既存ファイルをローカルストレージ上のファイルで置き換えることも可能である。仮想ファイル制御部２０による仮想パッケージ構築は、ＢＤ−ＲＯＭディスクのインサートや、プログラム実行部１１の仮想ファイル作成命令がトリガとなり、タイトル再生の切替等、タイトル再生が停止しているタイミングで実行される。仮想パッケージの構築、及び仮想パッケージを介したファイルアクセス制御の詳細については後述する。
【００６８】
次に、図１６を参照しながらシステムターゲットデコーダ４について説明する。
ソースデパケットタイザは、システムターゲットデコーダ４に転送されるソースパケットを解釈し、ＴＳパケットを取り出しＰＩＤフィルタに送出する。この送出にあたって、各ソースパケットのＡＴＳに応じてデコーダへの入力時刻を調整する。具体的には、ＡＴＣカウンタが生成するＡＴＣの値と、ソースパケットのＡＴＳ値とが同一になった瞬間に、ＡＶクリップの記録レートにしたがって、そのＴＳパケットだけをＰＩＤフィルタに転送する。
【００６９】
ＰＩＤフィルタは、ソースデパケッタイザから出力されたＴＳパケットのうち、ＴＳパケットのＰＩＤが、再生に必要とされるＰＩＤに一致するものを、ＰＩＤにしたがって、主映像ビデオデコーダ、副映像ビデオデコーダ、ＩＧデコーダ、ＰＧデコーダ、音声デコーダ、副音声デコーダに転送する。例えば、ＢＤ−ＲＯＭの場合には、ＴＳパケットに含まれるＰＩＤが０ｘ１０１１である場合は主映像ビデオデコーダに、ＰＩＤが０ｘ１Ｂ００から０ｘ１Ｂ１Ｆである場合は副映像ビデオデコーダに、ＰＩＤが０ｘ１１００から０ｘ１１１Ｆである場合は主音声デコーダに、ＰＩＤが０ｘ１Ａ００から０ｘ１Ａ１Ｆである場合は副音声デコーダに、ＰＩＤが０ｘ１２００から０ｘ１２１Ｆである場合はＰＧデコーダに、ＰＩＤが０ｘ１４００から０ｘ１４１Ｆである場合はＩＧデコーダに転送される。
【００７０】
図１６の通りソースデパケッタイザとＰＩＤフィルタはそれぞれ二つもち、一つはリードバッファ（１）から転送されるＡＶクリップ、一つはリードバッファ（２）から転送されるＡＶクリップを処理する。サブパスタイプが同期型の場合は、メインパスから参照されるＡＶクリップとサブパスから参照されるＡＶクリップは同期を取りながら再生する。サブパスタイプが非同期型の場合は、メインパスから参照されるＡＶクリップとサブパスから参照されるＡＶクリップは非同期で再生する。
【００７１】
主映像ビデオデコーダは、緩衝バッファを有し、バッファにデータを蓄えながら、ＴＳヘッダ、ＰＥＳヘッダなどの情報を取り除いて、符号化状態にあるピクチャ(Ｉピクチャ、Ｂピクチャ、Ｐピクチャ)を取り出し、ビデオストリームの個々のフレーム画像を所定の復号時刻（ＤＴＳ）ごとにデコードすることにより複数フレーム画像を作成し、表示時刻（ＰＴＳ）のタイミングで主映像プレーンに出力する。ＡＶクリップに多重化されるビデオストリームの圧縮符号化形式にはＭＰＥＧ２、ＭＰＥＧ４ＡＶＣ、ＶＣ１などがあるため、ストリームの属性に応じて、圧縮映像の復号化方式を切り替える。
【００７２】
副映像ビデオデコーダは、主映像ビデオデコーダと同様の構成を持ち、入力される副映像ビデオストリームのデコードを行い、表示時刻（ＰＴＳ）のタイミングでピクチャを副映像プレーンに書き出す。
ＩＧデコーダは、ソースデパケタイザから入力されるＴＳパケットからインタラクティブグラフィックスストリームを抽出してデコードし、非圧縮のグラフィックスデータを表示時刻（ＰＴＳ）のタイミングでＩＧプレーンに書き出す。
【００７３】
ＰＧデコーダは、ソースデパケタイザから入力されるＴＳパケットからプレゼンテーショングラフィックスストリームを抽出してデコードし、非圧縮のグラフィックスデータを表示時刻（ＰＴＳ）のタイミングでＰＧプレーンに書き出す。
主音声デコーダは、緩衝バッファを有し、バッファにデータを蓄えながら、ＴＳヘッダ、ＰＥＳヘッダなどの情報を取り除いて、音声ストリームデコード処理を行い、非圧縮のＬＰＣＭ状態のオーディオデータを得て再生時刻（ＰＴＳ）のタイミングで音声ミキサーに出力する。ＡＶクリップに多重化されるオーディオストリームの圧縮符号化形式にはＡＣ３、ＤＴＳなどがあるため、ストリームの属性に応じて、圧縮音声の復号化方式を切り替える。
【００７４】
副音声デコーダは、主音声デコーダと同様の構成を持ち、入力される副音声ストリームのデコードを行い、表示時刻のタイミングで非圧縮のＬＰＣＭの状態のオーディオデータを音声ミキサーに出力する。ＡＶクリップに多重化されるオーディオストリームの圧縮符号化形式にはＤｏｌｂｙＤｉｇｉｔａｌＰｌｕｓ、ＤＴＳ−ＨＤ  ＬＢＲなどがあるため、ストリームの属性に応じて、圧縮音声の復号化方式を切り替える。
【００７５】
音声ミキサーは、主音声デコーダから出力される非圧縮音声データと副音声デコーダから出力される非圧縮音声データとをミキシング（音の重ね合わせ）をしてスピーカなどに出力する。
ＢＤ−Ｊプロセッサは、プログラム実行部１１から転送されるグラフィックスデータ（ＰＮＧ、ＪＰＥＧ）をデコードして、ＢＤ−Ｊアプリケーションから指定される表示時刻にしたがって、ＢＤ−Ｊプレーンに出力する。
【００７６】
以上が再生装置の内部構成である。
＜仮想ファイルシステム＞
仮想ファイルシステムにおける仮想パッケージの構築、及び仮想パッケージ上のファイルアクセスについて説明する。
仮想パッケージは、ＢＤ−ＲＯＭ１０１に記録されたファイルと、ローカルストレージ３に装着されているＳＤメモリカード１０４に記録されたアップデートキットとから構築される。先ずＳＤメモリカード１０４に記録されたアップデートキットのデータ構造について説明する。
【００７７】
＜アップデートキット＞
図１７は、ＳＤメモリカード１０４におけるアップデートキットの保存領域を示す図である。ＳＤメモリカード１０４におけるアップデートキットの保存領域では、ＯｒｇＩＤディレクトリ、ＤｉｓｃＩＤディレクトリにより、各アップデートキットの保存領域がＢＤ−ＲＯＭ毎に分かれている。アップデートキット保存領域ルートディレクトリは、ＳＤメモリカード１０４のルートディレクトリの直下に存在し、アップデートキット保存領域のルートを示すディレクトリで、ディレクトリ名は固定値（BD＿BUDA）である。
【００７８】
ＯｒｇＩＤディレクトリは、ＢＤ−ＲＯＭ記録層上のＢＤ管理情報（インデックスファイル）に記載されている、映画作品のプロバイダを特定する３２ｂｉｔの識別子（ＯｒｇａｎｉｚａｔｉｏｎＩＤ）を１６進表記で表した、８文字の名前のディレクトリである。また、ＯｒｇａｎｉｚａｔｉｏｎＩＤの先頭の連続する０は、ディレクトリの名前から省略する。例えば、ＯｒｇａｎｉｚａｔｉｏｎＩＤが０ｘ００００００１Ａの場合は、ディレクトリの名前は”１Ａ”となる。
【００７９】
ＤｉｓｃＩＤディレクトリは、ＢＤ−ＲＯＭ記録層上のＢＤ管理情報（インデックスファイル）に記載されている、ＢＤ−ＲＯＭ記録層を特定する１２８ｂｉｔの識別子（ＤｉｓｃＩＤ）を先頭から３２ｂｉｔずつ４分割し、それぞれを１６進表記で表したディレクトリである。また、ＯｒｇａｎｉｚａｔｉｏｎＩＤと同様にＤｉｓｃＩＤの先頭の連続する０は、ディレクトリの名前から省略する。
【００８０】
ＤｉｓｃＩＤディレクトリの配下には、アップデートキット毎にアップデートキットディレクトリが作成され、その配下に各アップデートキットが存在する。図１７の例では、「0123456789abcdef0123456789abcdef」というディレクトリ名のＤｉｓｃＩＤディレクトリ配下に、「Ｕｐｄａｔｅ０１」という名称のアップデートキットが保存されている。
アップデートキットは、マージ管理情報ファイル（ｂｕｍｆ．ｘｍｌ）、署名情報ファイル（ｍｅｒｇｅ．ｓｆ）、状態シグナリングファイル（ｖｐ＿ｕｎｉｔ．ｉｎｆｏ）、及び他の追加コンテンツデータファイル（game.bdjo、game.jar、resources.jar、jun_01.m2ts、jun_01.clpi、jun_01.mpls、jpn_sub.m2ts、jpn_sub.clpi等）を含む。
【００８１】
マージ管理情報ファイル（ｂｕｍｆ．ｘｍｌ）は、図１８に示すように、ＯｒｇａｎｉｚａｔｉｏｎＩＤとＤｉｓｃＩＤとマッピング情報を格納している。マッピング情報は、仮想パッケージを構成するための追加コンテンツデータファイル、及び状態シグナリングファイルのＳＤメモリカード１０４におけるファイルパス（以下、ローカルストレージファイルパスという）と、仮想ファイルシステム上でそれらのファイルへアクセスするための仮想的なファイルパス（以下、ＶＦＳファイルパスという）とを対応付けたテーブルである。具体的には、図１８に示すように、マッピング情報においてローカルストレージファイルパスは、アップデートキットディレクトリからの相対パスで記載され、ＶＦＳファイルパスはディスクルートディレクトリからの相対パスで記述されている。更にマージ管理情報ファイルには、マッピング情報に示されている各追加コンテンツデータファイルのハッシュ値が格納されている。
【００８２】
署名情報ファイルは、マージ管理情報ファイルに対するプロバイダの電子的な署名を示すファイルであり、ｍｅｒｇｅ．ｓｆというファイル名でアップデートキットディレクトリ直下に保存される。電子的な署名は、一般的に改ざん防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。本実施形態の署名情報ファイルでは、ＢＤ−ＲＯＭ記録層上にあるマージ証明書中の公開鍵に対応する秘密鍵を利用して、マージ管理情報ファイルのハッシュ値が暗号化されている。
【００８３】
マージ証明書は、マージ管理情報ファイルの認証に利用する証明書で、プロバイダが公開する公開鍵が含まれる。プロバイダが提供するマージ証明書は、ＢＤ−ＲＯＭ記録層上にｂｄ．ｃｅｒｔというファイル名で保存されている。マージ証明書のファイル形式の一例としてはＸ．５０９を利用することができる。
追加コンテンツデータファイルはＢＤ−ＲＯＭ記録層に記録されたオリジナルのコンテンツに対し、追加/更新するコンテンツのファイル群である。ここには、プレイリストファイル、ＡＶクリップ、クリップ情報ファイル、ムービーオブジェクトファイル、ＢＤＪオブジェクトファイル、ＪＡＲファイル、インデックスファイル等を含めることができる。
【００８４】
状態シグナリングファイルは、本発明に係る再生装置において、ＢＤ−Ｊアプリケーションによる仮想パッケージ構築状態判定に用いられるファイルである。何れのアップデートキットにおいても、状態シグナリングファイルのＶＦＳファイルパスは、図１８に示す固定パス「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ．ｉｎｆｏ」がマージ管理情報ファイルで割り当てられる。ＢＤ−ＲＯＭのオーサリング工程では、この「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ．ｉｎｆｏ」というファイルパスに相当するファイルをＢＤ−ＲＯＭ上に作成することが禁止されている。
【００８５】
尚、仮想パッケージ構築状態判定の用途では、状態シグナリングファイルの内容を特に問わないが、本実施形態形態では状態シグナリングファイルとして、アップデートキットの内容を示すＶＰ情報ファイル（ｖｐ＿ｕｎｉｔ．ｉｎｆｏ）を用いる。図１９は、本実施形態に係る状態シグナリングファイルの内容を示す図である。具体的には状態シグナリングファイルには、対象ＲＯＭディスクのＯｒｇａｎｉｚａｔｉｏｎＩＤ、対象ＲＯＭディスクのＤｉｓｃＩＤ、アップデートキットの識別子、アップデートキットの名称、バージョン番号、アップデートキットに含まれるデータの詳細、アップデートキットを代表する画像イメージのファイル名、及び、アップデートキットを代表する各言語でのテキスト情報が記録されている。これらの情報により、アップデートキットのバージョンやアップデートキットに含まれるデータの詳細な内容を容易に取得することができる。なお、図１９のファイルに記録する情報は、必要に応じて追加あるいは削除してもよい。例えば、対象ＲＯＭディスクのＯｒｇａｎｉｚａｔｉｏｎＩＤ、ＤｉｓｃＩＤなどは、削除してもよいし、複数記録することが出来るようにしてもよい。また、これらの情報を記録する状態シグナリングファイルの形式は、テキスト形式でも良いし、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式、バイナリ形式などの他の形式のファイルに記録しても良い。
【００８６】
＜仮想パッケージの構築＞
次に、仮想ファイル制御部２０が、マージ管理情報ファイルの内容を元にＢＤ−ＲＯＭ１０１に記録されたコンテンツとＳＤメモリカード１０４に記録されたコンテンツとから、仮想パッケージを構築する過程について説明する。
仮想ファイル制御部２０は、以下（１）乃至（５）の手順で仮想パッケージを構築する。
（１）マージ管理情報ファイルの改竄判定
マージ管理情報ファイルの改竄判定は、マージ管理情報ファイルからハッシュ値を算出し、ＢＤ−ＲＯＭ記録層上にあるマージ証明書中の公開鍵を用いて署名情報ファイルにより示されるマージ管理情報ファイルのハッシュ値を復号化したものと比較する。これらの値が一致する場合にマージ管理情報ファイルは改竄されていないと判定する。
（２）追加コンテンツデータファイルの存在確認
マージ管理情報ファイルが改竄されていない場合に、マッピング情報において示されるローカルストレージファイルパスに、各追加コンテンツデータファイルが存在することを確認する。
（３）追加コンテンツデータファイルの改竄判定
各追加コンテンツデータファイルからハッシュ値を算出し、これらの値とマッピング情報に記録されている各追加コンテンツデータファイルのハッシュ値とを比較する。これらの値が一致する場合に追加コンテンツデータファイルは改竄されていないと判定する。
（４）追加コンテンツデータファイルをリードオンリー属性へ変更
マッピング情報により対応付けが示されている各追加コンテンツデータファイルが改竄されていない場合に、追加コンテンツデータファイルをリードオンリー属性へ変更する。
（５）ＶＦＳファイルパスへの割り付け
マージ管理情報ファイルのマッピング情報を読み込み、アップデートキットの各ファイルをマッピング情報で示されるＶＦＳファイルパスへ割りつけたディスクイメージを作成し、再生制御部７及びプログラム実行部１１に提供する。
【００８７】
図２０は、図１８に示すマージ管理情報ファイルに基づいて、図２に示すＢＤ−ＲＯＭ１０１のファイル構成に、図１７に示すアップデートキットのファイル構成を組み合わせて構築した仮想パッケージのファイル構成を示す図である。本図において太枠で示すディレクトリ、及びファイルは、実際にはＳＤメモリカード１０４に記録されているものである。
【００８８】
図２１は、仮想ファイルシステムによって実現される仮想パッケージのコンテンツの一例を示したものである。図２１では、ＲＯＭディスク上に映画本編、特典映像が記録されており、ローカルストレージ上に日本語字幕、新作映画の予告編、ボーナスゲームに関するファイル、及び、状態シグナリングファイルとして用いるＶＰ情報ファイルが記録されている。このような場合に仮想パッケージを構築することで、仮想ファイルシステムは、ＲＯＭディスク上の映画本編、特典映像と、ローカルストレージ上の日本語字幕、新作映画の予告編、ボーナスゲーム、ＶＰ情報ファイルがあたかも１つのディスクに記録されているかのように、映像の出力や画面表示を実行することができる。
【００８９】
＜仮想パッケージへのアクセス制御＞
以上の手順で仮想パッケージは構築され、以後、仮想ファイル制御部２０は、再生制御部７及びプログラム実行部１１からのＶＦＳファイルパスでのアクセス要求に対し、マッピング情報を参照して実体のファイルが記録されている記録媒体を確認し、ＢＤ−ＲＯＭドライブ１及びローカルストレージ３の何れかへデータ読み出しを命令する。
【００９０】
具体的には、再生制御部７及びプログラム実行部１１から仮想パッケージ上のファイルパスを指定して読み出し命令がなされた場合、仮想ファイル制御部２０はマッピング情報を参照し、指定のファイルパスがマッピング情報のＶＦＳファイルパスに記載されているか否かを検索する。ここで、指定のファイルパスがマッピング情報のＶＦＳファイルパスに記載がない場合、仮想ファイル制御部２０は、指定ファイルの実体がＢＤ−ＲＯＭ１０１に記録されていると判定し、仮想パッケージ上のファイルパスをＢＤ−ＲＯＭ１０１上のファイルパスに変換して、ＢＤ−ＲＯＭドライブ１へ読み出し命令を転送する。一方、指定のファイルパスがマッピング情報のＶＦＳファイルパスに記載されている場合、仮想ファイル制御部２０は指定のファイルの実体がＳＤメモリカード１０４に記録されていると判定し、仮想パッケージ上のファイルパスをマッピング情報で対応付けられたローカルストレージファイルパスで変換して、ローカルストレージ３へ読み出し命令を転送する。これにより、再生制御部７及びプログラム実行部１１は、ＳＤメモリカード１０４上の追加コンテンツデータファイル、及び状態シグナリングファイルに、仮想パッケージ上のファイルパスでアクセスすることができる。ここように、ＲＯＭディスクに含まれているデータと同様に、ＳＤメモリカード１０４上に追加された字幕、音声、映像等の再生を行う場合には、再生制御部７及びプログラム実行部１１が仮想ファイル制御部２０に上記ファイルアクセスを要求し、仮想ファイル制御部２０がＲＯＭディスクあるいはＳＤメモリカード１０４上のファイルにアクセス命令を転送する。つまり、字幕、音声、映像等の再生を行う場合には、再生制御部７及びプログラム実行部１１が仮想ファイル制御部２０を介してＲＯＭディスクあるいはローカルストレージ上のファイルにアクセスをすることになる。
【００９１】
尚、仮想パッケージが構築されていない状態で、再生制御部７及びプログラム実行部１１から仮想パッケージ上のファイルパスを指定して読み出し命令がなされた場合、仮想ファイル制御部２０は、参照するマージ管理情報ファイルがないため、仮想パッケージ上のファイルパスをＢＤ−ＲＯＭ１０１上のファイルパスに変換して、ＢＤ−ＲＯＭドライブ１へ読み出し命令を転送する。
【００９２】
＜仮想パッケージの構築状態＞
仮想パッケージの構築状態には、ローカルストレージ３に取り付けられているＳＤメモリカード１０４に、アップデートキットが記録されていない状態、ＳＤメモリカード１０４にアップデートキットが記録されているが、仮想ファイル制御部２０が仮想パッケージ構築を完了していない状態、及び、ＳＤメモリカード１０４にアップデートキットが記録されており、仮想ファイル制御部２０が仮想パッケージ構築を完了している状態の３つが考えられる。
【００９３】
このうち１番目の状態は、そもそもアップデートキットが存在していないので、アップデートキットのファイルへのアクセスは不可能である。しかし、２番目に状態と３番目の状態では、ＢＤ−Ｊアプリケーションは、ｒｅａｄ命令でＳＤメモリカード上のファイルパスを直接指定することで、アップデートキットのファイルにアクセスすることができる。そこで、この２つの状態の違いを判定することが重要である。以下、ＳＤメモリカード１０４にアップデートキットが記録されているが、仮想ファイル制御部２０が仮想パッケージ構築を完了していない状態を仮想パッケージが「準備状態」であるとし、ＳＤメモリカード１０４にアップデートキットが記録されており、仮想ファイル制御部２０が仮想パッケージ構築を完了している状態を仮想パッケージが「有効状態」であるとする。
【００９４】
仮想パッケージの準備状態、及び有効状態がどのような場合に生ずるかを、図２２を参照しながら説明する。まず、準備状態は、図中のｓｔ３、及びｓｔ２で生じる状態である。ｓｔ３の状態は、ＳＤメモリカード１０４に記録されたアップデートキットを用いて仮想パッケージが一度構築された状態（ｓｔ４）から、ＳＤメモリカード１０４がローカルストレージ３から取り外され仮想パッケージが解除された後（ｓｔ０）、ＳＤメモリカード１０４がローカルストレージ３に再装着されたとき（ｓｔ３）に生じる。通常、この後に仮想ファイル制御部２０が、タイトルの切替を待って、次タイトル再生開始前に仮想パッケージを再構築することで、仮想パッケージが有効状態（ｓｔ４）となる。
【００９５】
ｓｔ２で準備状態となる場合は、仮想パッケージが一度構築された状態（ｓｔ４）から、ＳＤメモリカード１０４がローカルストレージ３から取り外され仮想パッケージが解除された後（ｓｔ０）、ＢＤ−Ｊアプリケーションが起動され（ｓｔ５）、その後にＳＤメモリカード１０４がローカルストレージ３に再装着されたとき（ｓｔ２）に生じる。この場合、仮想ファイル制御部２０は、タイトルの切替に伴うＢＤ−Ｊアプリケーションの停止を待って、ＢＤ−Ｊアプリケーションが再起動する前の時点で仮想パッケージを再構築することで、仮想パッケージが有効状態（ｓｔ４）となる。
【００９６】
以上のように準備状態は、アップデートキットを記録したＳＤメモリカード１０４の取り外し／再装着に伴う仮想パッケージの再構築過程で、再装着からタイトル切替がなされるまでの間に生じる状態である。
尚、仮想パッケージ構築過程のうち（３）の手順は処理負荷が大きい場合がある。例えば、アップデートキットにＡＶクリップ等のサイズが大きいファイルが含まれている場合、このファイルのハッシュ値計算は負荷の大きなものとなる。アップデートキットを記録したＳＤメモリカード１０４の取り外し／再装着の度に、仮想パッケージの再構築が必要となるが、このような負荷の大きな処理をその度に実行することはハードウェア資源の利用効率向上の観点から好ましくない。そこで、仮想パッケージ構築過程のうち（１）乃至（４）の手順は初回の仮想パッケージ時のみ実行し、仮想パッケージ再構築時には、（５）の手順だけを実行するよう実装することも考えられる。また、（１）乃至（４）の手順は、ＢＤ−ＲＯＭ１０１のタイトル再生に影響を及ぼさないため、ＢＤ−ＲＯＭ１０１のタイトル再生と並行して実行可能である。これに対して（５）の手順は、必ずタイトル再生が停止した状態で実行する必要がある。従って、（４）の段階まで済んだ状態が、準備状態であり、（５）の手順が実行された状態が、有効状態であると見なすこともできる。
【００９７】
＜仮想パッケージの構築状態判定＞
以下、仮想パッケージの構築状態が準備状態と有効状態との何れであるかを判定する手法について説明する。
図２３は、ＢＤ−Ｊアプリケーションが有する仮想パッケージ構築状態判定機能を説明する図である。
【００９８】
ＢＤ−Ｊアプリケーションには、オーサリング工程でのＢＤ−Ｊアプリケーションのプログラミング工程において、状態シグナリングファイル位置情報２１が組み込まれている。状態シグナリングファイル位置情報２１は、アップデートキットのマージ管理情報ファイルにおいて状態シグナリングファイルに割り当てられているＶＦＳファイルパスである。状態シグナリングファイルに割り当てられているＶＦＳファイルパスは、何れのアップデートキットでも共通する予め決められた固定ファイルパスであり、本実施形態では、「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ．ｉｎｆｏ」が用いられる。
【００９９】
仮想パッケージ構築状態判定部２２は、状態シグナリングファイル位置情報２１により示されるファイルパスを指定して読み出し命令を試行し、その成否によって仮想パッケージの構築状態を判定する。具体的には、読み出し命令が成功した場合は、仮想パッケージが有効状態であると判定し、読み出し命令がエラーとなった場合は、仮想パッケージが準備状態であると判定する。
【０１００】
実際に、仮想パッケージが有効状態であれば、仮想パッケージ上に状態シグナリングファイル３１が割り当てられており、仮想ファイル制御部２０は、読み出し命令で指定のパスをローカルストレージファイルパスに変換して、ローカルストレージ３へ読み出し命令を転送するため、状態シグナリングファイルの読み出しに成功する。逆に、仮想パッケージが準備状態であれば、仮想ファイル制御部２０は、読み出し命令で指定のパスをＢＤ−ＲＯＭ１０１上のファイルパスに変換して、ＢＤ−ＲＯＭドライブ１へ読み出し命令を転送する。しかし、ＢＤ−ＲＯＭのオーサリング工程では、「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ．ｉｎｆｏ」というファイルパスに相当するファイルをＢＤ−ＲＯＭ上に作成することが禁止されているため、ＢＤ−ＲＯＭ１０１上に同名のファイルは存在し得ず、読み出し命令は必ずエラーとなる。
【０１０１】
仮想パッケージ構築状態判定部２２の判定結果は、例えば、メニュー表示部２３等で利用され、仮想パッケージの構築状態に応じたて適切なメニュー表示がなされる。
尚、再生装置にローカルストレージ３にＳＤメモリカードが挿入されていない場合にも、もちろん状態シグナリングファイルの読み出し命令は必ずエラーとなる。このような場合にも仮想パッケージは準備状態であると判断するようにしてもよい。
【０１０２】
以上のような機能は、図２４、図２５のフローチャートに示される処理手順をオブジェクト指向型コンパイラ言語で記述してコンピュータに実行させることで実現することができる。
図２４は、メニュー表示制御手順を示す。本フローチャートは、ステップＳ１において、仮想パッケージ構築状態判定を実施し、判定の結果、仮想パッケージが有効状態である場合（ステップＳ２：Ｙｅｓ）には、メニュー画面を表示する際に、アップデートキットに含まれる追加コンテンツを呼び出すボタン、例えば、「Ｇａｍe」ボタンの表示を許可する（ステップＳ３）。一方、判定の結果、仮想パッケージが準備状態である場合（ステップＳ２：Ｎｏ）には、メニュー画面を表示する際に、追加コンテンツを呼び出す「Ｇａｍe」ボタンの表示を抑制する（ステップＳ４）。
【０１０３】
図２５は、仮想パッケージ構築状態判定処理の処理手順を示す。本フローチャートは、ステップＳ１１において、ＢＤ−Ｊアプリケーションが実行されている再生装置が、仮想ファイルシステム機能に対応したものであるか否かを、再生装置内蔵の記録媒体に記録されているＰｒｏｆｉｌｅ情報等から判定する。仮想ファイルシステム機能に対応したものであれば（ステップＳ１１：Ｙｅｓ）、状態シグナリングファイル位置情報２１を読み出し、状態シグナリングファイルに割り当てられる固定ＶＦＳファイルパスを取得する（ステップＳ１２）。この固定ＶＦＳファイルパスを用いて、仮想ファイル制御部２０へ読み出し命令を発行することで、状態シグナリングファイルが仮想パッケージ上に存在するか否かを判定する（ステップＳ１３）。固定ＶＦＳファイルパスを指定して状態シグナリングファイルが読み出せた場合は、仮想パッケージが有効状態であると判定し（ステップＳ１４）、固定ＶＦＳファイルパスを指定して状態シグナリングファイルが読み出せなかった場合には、仮想パッケージが準備状態であると判定する（ステップＳ１４）。
【０１０４】
図２５に示した処理はＢＤ−Ｊアプリケーションが実行されている間、繰り返し実行される。固定ＶＦＳファイルパスを指定して状態シグナリングファイルのアクセスが可能か否かの判断結果に従って、仮想パッケージが準備状態になっているのか有効状態になっているのかを正しく判定することができるので、ＢＤ−Ｊアプリケーションが仮想パッケージ構築状態を誤判定することで誤動作が発生するような状況を防止することができる。
【０１０５】
なお、仮想パッケージ構築状態判定処理は、ＢＤ−Ｊアプリケーションが起動した直後に行っても良い。このようにすることで、状態シグナリングファイルへのアクセス回数を減らすことができる。アクセス回数を減らすことが出来る理由は、仮想パッケージ構築が完了するタイミングが、ＢＤ−Ｊアプリケーションが起動する前の時点に限られ、ＢＤ−Ｊアプリケーションの動作中には仮想ファイルシステムの構築が完了することはあり得ないため、ＢＤ−Ｊアプリケーションの起動直後に実施した判断結果は、アプリケーションが終了するまでの間に変化することがないためである。従って、ＢＤ−Ｊアプリケーション起動直後に実施した判断結果を保存して、ＢＤ−Ｊアプリケーションの動作期間を通じて利用することで、仮想パッケージ構築状態を判断するために、ローカルストレージ上の状態シグナリングファイルにアクセスする回数を減らすことが出来る。これにより、ＢＤ−Ｊアプリケーションの処理を高速化することが出来る。
【０１０６】
以上が、仮想パッケージの構築状態が準備状態と有効状態との何れであるかを判定する手法についての説明である。尚、図２４、２５のフローチャートに示した処理手順を行う主体は、仮想ファイル制御部２０でもよい。また、再生装置にその他の制御部を設けて、その制御部が図２４、２５に示す処理手順を行うような構成にしてもよい。
あるいは、プログラム実行部１１のミドルウェアが提供するＡＰＩとして、図２４、２５のフローチャートに示した処理手順を実装することで、仮想パッケージが有効状態にあるか否かを、仮想ファイル制御部２０、あるいは、再生装置に設けたその他の制御部から、ＢＤ−Ｊアプリケーションに提供するような構成にしても良い。
【０１０７】
また、図２４、２５のフローチャートに示した処理手順をＢＤ−Ｊアプリケーションのソースプコードに記載し、このようなＢＤ−Ｊアプリケーションを実行することでプログラム実行部１１にこれらの処理手順を実行させるとしてもよい。
＜ＢＤ−Ｊアプリケーションの動作例＞
図２６は、ローカルストレージ３へのメディア取り付け状態、タイトルの再生状態、実際の仮想パッケージ構築状態、及びＢＤ−Ｊアプリケーションによる構築状態判定結果を時系列に示した図である。ここで実行されるＢＤ−Ｊアプリケーションは、図２１に示すようなアップデートキットをネットワーク等から取得して、仮想パッケージの構築を要求し、仮想パッケージ構築状態に応じた特典選択メニューを表示する機能を有する。また、ＢＤ−Ｊアプリケーションの実体であるＪＡＲファイルには、図２７の（ａ）、（ｂ）に示す特典選択メニューを表示するためのＰＮＧファイルが含まれている。
【０１０８】
まず、図２６のｔ０においてローカルストレージ３にＳＤメモリカードが挿入されてから、ｔ１において、ＢＤ−ＲＯＭに記録されているＢＤ−Ｊアプリケーションが起動される。この時点ではＳＤメモリカードにアップデートキットが記録されていないので、図２２に示す状態遷移図では、ｔ０時点の状態ｓｔ０からｓｔ１への遷移し、更にアプリケーションの起動した状態ｓｔ２へ遷移することになる。ここでＢＤ−Ｊアプリケーションによる仮想パッケージ構築状態判定が実行されるが、図２６のｔ１からｔ２の期間では、仮想パッケージは構築されておらず、ＢＤ−Ｊアプリケーションによる仮想パッケージ構築状態判定では準備状態と判定される。そのため、この期間に特典選択メニューを表示する場合、ＢＤ−Ｊアプリケーションは、選択肢として「Ｍａｋｉｎｇ」ボタンと「Ｔｒａｉｌｅｒ」ボタンとのみを含む特典機能メニューである図２７の（ｂ）のメニューを表示させる。これらのボタンは、ＲＯＭディスク上の映画本編、特典映像へのアクセスを必要とするものである。図２７の（ｂ）の特典選択メニューでは、新作映画の予告編を再生する選択肢とボーナスゲームを実行するための選択肢が存在しないため、ユーザは新作映画の予告編の再生、及び、ボーナスゲームを実行することは出来ない。
【０１０９】
仮想パッケージ構築状態判定で準備状態と判定されると、ＢＤ−Ｊアプリケーションは、ローカルストレージ３に装着されているＳＤメモリカードをローカルファイルパスでアクセスし、アップデートキットが記録されているか否かを判断し、アップデートキットが記録されていなければ、アップデートキットをネットワークモジュールを介してダウンロードする。アップデートキットを取得した後、ＢＤ−Ｊアプリケーションは、ローカルストレージ３にアップデートキットを記録させる。その後、ＢＤ−Ｊアプリーションは仮想ファイル制御部２０に仮想ファイルシステム構築を指示を要求する。
【０１１０】
仮想ファイル制御部２０に仮想ファイルシステムの作成を要求したＢＤ−Ｊアプリケーションは再生中タイトルの停止／再開始をプログラム実行部１１に要求する。再生中タイトルを停止／再開始する理由は、仮想ファイルシステムの構築が完了するタイミングが、タイトル再生を開始する前の時点に限られるからである。つまり、ＢＤ−Ｊアプリケーションの起動中に、仮想ファイル制御部２０が仮想ファイルシステムの構築を指示されたとしても、タイトル再生が一度停止し再生が再開されないと、仮想パッケージの構築が完了しないことになる。言い換えると、仮想ファイルシステムの構築が完了するための条件は、タイトル再生が開始される前に、仮想ファイル制御部２０が、ローカルストレージ上の所定の位置に記録されたマージ管理情報ファイルとそのマージ管理情報ファイルに対応する（マージ管理情報ファイルに記載のある）アップデートキットの追加コンテンツデータファイルとを読み込むことができることである。この結果、図２６のｔ２で再生中のタイトルが停止し、次にｔ３でタイトル再生が再開される時に、仮想パッケージの構築が完了する。図２２に示す状態遷移図では、タイトル再生停止に伴うＢＤ−Ｊアプリケーションの停止により状態ｓｔ２から状態ｓｔ３へ遷移し、更にタイトル再生の再開時に仮想パッケージ構築が完了した状態ｓｔ４へ遷移することになる。ここで再生再開したタイトル内で起動したＢＤ−Ｊアプリケーションにより仮想パッケージ構築状態判定が実行されると、図２６のｔ３からｔ４の期間には、仮想パッケージが有効状態であると判定される。そのため、この期間に特典選択メニューを表示する場合、ＢＤ−Ｊアプリケーションは、選択肢として「Ｍａｋｉｎｇ」ボタンと「Ｔｒａｉｌｅｒ」ボタンとに加えて「Ｔｒａｉｌｅｒ  Ｎｅｗ」ボタンと「Ｇａｍｅ」ボタンとを含んだ特典機能メニューである図２７の（ａ）のメニューを表示させる。このとき、ユーザが「Ｔｒａｉｌｅｒ  Ｎｅｗ」を選択するとローカルストレージ上に追加された新作映画の予告編が再生され、「Ｇａｍｅ」を選択するとローカルストレージ上に追加されたボーナスゲームが実行されることで、ＲＯＭディスク上の映画本編、特典映像と、ローカルストレージ上の日本語字幕、新作映画の予告編、ボーナスゲームがあたかも１つのディスクで記録されているように動作する。
【０１１１】
ここで、仮想パッケージの構築が完了した状態で、図２６のｔ４においてローカルストレージ３からＳＤメモリカードが取り外されると、再生中のタイトルが停止されＢＤ−Ｊアプリケーションは強制終了させられる。そして、ローカルストレージ３からＳＤメモリカードを取り外したままタイトル再生が開始されると、仮想パッケージの構築が完了していない状態で再生中タイトルのＢＤ−Ｊアプリケーションが実行された状態となる。図２２に示す状態遷移図では、ＳＤメモリカードの取り外しにより状態ｓｔ４から状態ｓｔ０へ遷移する。そこからタイトル再生の再開により、状態ｓｔ５へ遷移する。
【０１１２】
仮想パッケージ構築が完了するための条件は、上述したように、タイトル再生が開始される前に、仮想ファイル制御部２０がＳＤメモリカード上の所定の位置に記録されるマージ管理情報ファイルと対応するアップデートキットを読み込むことができることである。しかし、本図の例では、タイトル再生が再開されるｔ５の前の時点では、ローカルストレージからＳＤメモリカードが取り外されている。したがって、タイトル再生が開始される前に、マージ管理情報ファイルと対応するアップデートキットは存在しないので、タイトル再生が開始される前に、ローカルストレージ上の所定の位置に記録されるマージ管理情報ファイルと対応するアップデートキットとを読み込むことができない。よって、この状態でｔ６において、先ほど取り外したＳＤメモリカードがローカルストレージに再挿入されたとしても、タイトルが再生中であるため、仮想パッケージの再構築は完了しない。図２２に示す状態遷移図では、ＳＤメモリカードの再装着により状態ｓｔ５から状態ｓｔ２へ遷移する。
【０１１３】
ここで、図３５に示した従来技術では、ｔ６においてＳＤメモリカードが再装着されることで、ＢＤ−ＪアプリケーションはＳＤメモリカードのローカルアドレスを直接指定してＳＤメモリカードに記録されたアップデートキットへアクセスできることから、ＢＤ−Ｊアプリケーションは、仮想パッケージの構築が完了している有効状態であると誤判定していた。状態遷移図で説明すると、従来技術によるＢＤ−Ｊアプリケーションは、ＳＤメモリカードの再装着により状態ｓｔ５から、破線矢印ａ１で示すように状態ｓｔ４へ遷移したと誤判定していた。そのため、従来技術のＢＤ−Ｊアプリケーションでは、仮想パッケージが準備状態であるにもかかわらず、仮想パッケージが有効状態である場合の特典機能メニューである図２７の（ａ）のメニューを表示させ、メニュー表示内容と表示内容に付随する動作との整合性がとれていないという異常事態を引き起こしていた。
【０１１４】
これに対して、本実施形態に係るＢＤ−Ｊアプリケーションは、図２５に示す処理手順で、状態シグナリングファイルを利用した仮想パッケージ構築状態判定を実行することで、図２６のｔ６からｔ７の期間に、仮想パッケージが準備状態であると正しく判定することができる。そのため、この期間に特典選択メニューを表示する場合、ＢＤ−Ｊアプリケーションは、仮想パッケージが準備状態である場合の特典機能メニューである図２７の（ｂ）のメニューを表示させる。このように、従来技術を用いたＢＤ−Ｊアプリケーションでは異常事態が発生し得るような場合でも、本実施形態に係るＢＤ−Ｊアプリケーションによれば、アップデートキットに含まれる追加コンテンツデータファイルにアクセスする必要がある処理を選択するボタンを特典機能メニューに表示させず、メニュー表示内容と表示内容に付随する動作との整合性を保つことができる。
【０１１５】
この後、ｔ７においてタイトル再生を一旦終了させ、ｔ８においてタイトル再生を再開始すると、タイトル再生が開始される前に、仮想パッケージの構築が行われる。このため、タイトル再生再開後には、仮想パッケージの構築が完了しており、再生中タイトル内のＢＤ−Ｊアプリケーションによる仮想パッケージ構築状態判定でも有効状態と判定される。したがって、特典選択メニューの選択肢として特典ゲームを実行する「Ｇａｍｅ」ボタンが含まれている図２７の（ａ）のメニューが表示される。
【０１１６】
以上のように本実施の形態によれば、仮想パッケージ構築状態を正しく判定できるので、ローカルストレージ３にＳＤメモリカードが再装着されてから、ＢＤ−Ｊアプリケーションの停止までの間等に、ＢＤ−Ｊアプリケーションに誤動作が発生することを防止することができる。
また、本実施形態１では、状態シグナリングファイルに割り当てるＶＦＳファイルパスを、予め決められた固定ファイルパスにしている。このためＢＤ−Ｊアプリケーションは常に同一のファイルパスを使って、仮想パッケージ構築状態を正しく判断することができる。状態シグナリングファイルのＶＦＳファイルパスを固定ファイルパスとすることによって更に、ひとつのアプリケーションで複数のアップデートキットを利用することや、複数のアプリケーションで同じアップデートキットを利用することが容易となる。
【０１１７】
尚、ステップＳ１３の判断のために利用するファイルは、マージ管理情報にＶＦＳファイルパスの対応付けが記載されているファイルであれば、図１９に示すファイル形式とは異なるファイル、例えば、状態シグナリングファイルのようにアップデートキットに属する他のファイルや、別途、再生装置内蔵の記録媒体に記録されているファイルやＢＤ−Ｊアプリケーション内のデータファイルであってもよい。再生装置内蔵の記録媒体に記録されているファイルやＢＤ−Ｊアプリケーション内のデータファイルを用いて判断する場合には、アップデートキットのダウンロードの再に、そのファイルをアップデートキットと供にローカルストレージに記録する必要がある。
【０１１８】
尚、状態シグナリングファイルがＡＶデータ形式であれば、アクセス時にそのＡＶデータが再生されてしまい、不都合が生じる場合がある。そこで、その状態シグナリングファイルをテキストファイルにしておくと、アクセス判断の際に実際に再生されることはないので不都合は生じない。また、この判定に利用するファイルのサイズは出来るだけ小さくすることにより、ファイル取得やアクセスに必要となる時間などを短縮することでき、ＢＤ−Ｊアプリケーションの処理を高速に実行することが出来る。
【０１１９】
また、別途、再生装置内蔵の記録媒体に記録されているファイルやＢＤ−Ｊアプリケーション内のデータファイルを用いてステップＳ２７の判断を行う場合には、そのファイルにアクセスできるＶＦＳファイルパス情報をＢＤ−Ｊアプリケーションが利用可能なように用意しておく必要がある。このＶＦＳファイルパス情報は、マージ管理情報から参照してもよいし、再生装置内やＢＤ−Ｊアプリケーション内に記録しておいてもよい。
【０１２０】
（実施形態２）
実施形態１では、１つのＢＤ−Ｊアプリケーションに対して１つのアップデートキットを用いて仮想パッケージを構築した。しかし、同一のＢＤ−Ｊアプリケーションに対応する複数のアップデートキットを用意することで、１つのＢＤ−Ｊアプリケーションから複数種類の仮想パッケージを構築することも可能である。本実施形態２では、複数のアップデートキットを用いて１つのＢＤ−Ｊアプリケーションから複数種類の仮想パッケージを構築する状況での本発明の実施の形態について説明する。
【０１２１】
図２８は、ＳＤメモリカード１０４に、同一のＢＤ−Ｊアプリケーションに対応する２つのアップデートキットが記録された場合のデータ構造を示す図である。ＳＤメモリカード１０４のアップデートキット保存領域はＢＤ−ＲＯＭ毎に分かれており、本図に示す例では、「0123456789abcdef0123456789abcdef」というＤｉｓｃＩＤのＢＤ−ＲＯＭに関するＤｉｓｃＩＤディレクトリ配下に、「Ｕｐｄａｔｅ０１」と「Ｕｐｄａｔｅ０２」という２つのアップデートキットが記録されている。
【０１２２】
Ｕｐｄａｔｅ０１のアップデートキットディレクトリ配下には、Ｕｐｄａｔｅ０１アップデートキットに関するマージ管理情報ファイル４１と状態シグナリングファイル４２とが配置されている。また本図には図示していないが、このアップデートキットが追加するコンテンツに関する追加コンテンツデータファイルも、アップデートキットディレクトリ配下に配置されている。
【０１２３】
Ｕｐｄａｔｅ０２のアップデートキットディレクトリにも同様に、Ｕｐｄａｔｅ０２アップデートキットに関するマージ管理情報ファイル４３と状態シグナリングファイル４４と、このアップデートキットが追加するコンテンツに関する追加コンテンツデータファイルが配下に配置されている。
ここで、Ｕｐｄａｔｅ０１の状態シグナリングファイル４２、Ｕｐｄａｔｅ０２の状態シグナリングファイル４４は、それぞれ図１９の書式で、属するアップデートキッの内容に関する情報が記載されている。
【０１２４】
また、マージ管理情報ファイル４１、マージ管理情報ファイル４３は、何れもマッピング情報において、状態シグナリングファイルのローカルストレージファイルパスに同じＶＦＳファイルパス「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ．ｉｎｆｏ」を対応付けて示している。
図２９は、Ｕｐｄａｔｅ０１、及びＵｐｄａｔｅ０２を用いて構築する仮想パッケージを模式的に示す図である。本図に示す例では、ＲＯＭディスク上に映画本編、特典映像が記録されている。また、Ｕｐｄａｔｅ０１として、ＳＤメモリカード上に日本語字幕、新作映画の予告編、ボーナスゲームに関するファイルが記録されており、Ｕｐｄａｔｅ０２にとして、ＳＤメモリカード上に中国語字幕、中国向け映画の予告編に関するファイルが記録されている。このような場合に構築することが出来る仮想パッケージとしては、ＲＯＭディスク上の映画本編、特典映像と、ローカルストレージ上の日本語字幕、新作映画の予告編、ボーナスゲームがあたかも１つのディスクに記録されているかのように、映像の出力や画面表示を実行することができる仮想パッケージ（１）と、ＲＯＭディスク上の映画本編、特典映像と、ローカルストレージ上の中国語字幕、中国向け映画の予告編があたかも１つのディスクに記録されているかのように、映像の出力や画面表示を実行することができる仮想パッケージ（２）の、二つの異なる仮想パッケージがある。なお、仮想パッケージの構築に複数のアップデートキットを同時に利用することは出来ない。すなわち、一回の仮想パッケージの構築には、Ｕｐｄａｔｅ０１とＵｐｄａｔｅ０２の何れか一方のアップデートキットしか利用することはできず、利用するアップデートキットを変更するためには、仮想パッケージを構築しなおすことが必要となる。
【０１２５】
実施形態１では、図２４、２５に示すような処理により、仮想パッケージ上の固定ファイルパス「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ．ｉｎｆｏ」を指定して状態シグナリングファイルにアクセスできる場合に仮想パッケージが有効状態となっていると判定し、アップデートキットに含まれる追加コンテンツを利用可能な特典選択メニュー（図２７の（ａ））を表示し、固定ファイルパスを指定して状態シグナリングファイルにアクセスできない場合に仮想パッケージが無効状態となっていると判定し、アップデートキットに含まれる追加コンテンツを利用不可能な特典選択メニュー（図２７の（ｂ））を表示していた。しかし、本実施形態２のようにＢＤ−Ｊアプリケーションが複数のアップデートキットを取り扱う必要がある場合、問題が発生する場合がある。具体的には、ＢＤ−Ｊアプリケーションが何らかの仮想パッケージが有効状態であると判定した際に、現在の仮想パッケージ構築に用いているアップデートキットとは異なるアップデートキットが提供する追加コンテンツを利用するための特典選択メニューを表示してしまう場合である。
【０１２６】
上記問題が発生する場合の一例を説明する。ＢＤ−ＲＯＭ１０１に対して、日本語字幕、新作映画の予告編、ボーナスゲームをＲＯＭディスクに追加する図２９のＵｐｄａｔｅ０１と、中国語字幕、中国向け映画の予告編をＲＯＭディスクに追加する図２９のＵｐｄａｔｅ０２とが存在する場合がある。このとき、仮想ファイル制御部２０又はＢＤ−Ｊアプリケーションは、図２５に示す仮想パッケージ構築状態判定処理を実行したとしても、どちらのアップデートキットが仮想ファイルシステムの作成に用いられているかまでは判断できない。したがって、実際には、図２９のＵｐｄａｔｅ０２を利用して、中国語字幕、中国向け映画の予告編をＲＯＭディスクに追加した仮想パッケージ（２）が作成されているにもかかわらず、ＢＤ−Ｊアプリケーションが図２５に示す仮想パッケージ構築状態判定処理により仮想パッケージが有効状態と判定して、図２７の（ａ）に示す特典選択メニューを表示する恐れがある。こうして表示された図２７の（ａ）の特典選択メニューには、ボーナスゲームを実行するための選択肢「Ｇａｍｅ」ボタンが含まれているが、ユーザが「Ｇａｍｅ」を選択したとしても、実際には図２９の仮想パッケージ（２）が構築されているならば、ボーナスゲーム実行することができない。つまり、このような場合には、特典選択メニューの表示内容と表示内容に付随する動作との整合性がとれていない。
【０１２７】
そこで、本実施形態２に係るＢＤ−Ｊアプリケーションは、状態シグナリングファイルの内容を確認することによって、現在構築されている仮想パッケージが利用するアップデートキットを特定する。図１９に示すように、状態シグナリングファイルの情報により、ＳＤメモリカードに複数の異なるアップデートキットが存在する場合であっても、現在使用しているアップデートキットを一意に特定することができる。さらに、対象のアップデートキットと組み合わせて仮想ファイルシステムを作成することができるＲＯＭディスクを特定することが出来る。また、アップデートキットのバージョンやアップデートキットに含まれるデータの詳細な内容を容易に取得することができる。
【０１２８】
このように、現在構築されている仮想パッケージが利用するアップデートキットを特定することが出来れば、ＢＤ−Ｊアプリケーションが実行しようとしている処理に必要なファイルが仮想パッケージの構築に利用されているアップデートキットに含まれているか否かを確認することができる。そこで、本実施形態２に係るＢＤ−Ｊアプリケーションは、現在構築されている仮想パッケージに使用されているアップデートキットにあわせて、適切な特典メニューを表示するよう制御する。このようにＢＤ−Ｊアプリケーションを作成することで、ＢＤ−Ｊアプリケーションが仮想パッケージの構築に使われているアップデートキット以外のアップデートキットにアクセスしてしまうことを防ぎ、例えば、特典表示メニューの表示内容と表示内容に付随する動作との整合性がとれなくなってしまうような事態を回避することができる。
【０１２９】
つまり、本実施形態２に係るＢＤ−Ｊアプリケーションは、どちらのアップデートキットが仮想パッケージの構築に使用されているのかを判断し、仮想パッケージの構築に使用されていないアップデートキットにアクセスしようとした場合に、ＢＤ−Ｊアプリケーションがそのアップデートキットにアクセスすることを禁止する制御を行う。
なお、図１９のファイルに記録する情報は、必要に応じて追加あるいは削除してもよい。例えば、対象ＲＯＭディスクのＯｒｇａｎｉｚａｔｉｏｎＩＤ、ＤｉｓｃＩＤなどは、削除してもよいし、複数記録することが出来るようにしてもよい。また、アップデートキットの内容を示す情報は、マージ管理情報ファイルなどの他のファイルに記録するようにしても良い。
【０１３０】
以上のような機能は、図３０のフローチャートに示される処理手順をオブジェクト指向型コンパイラ言語で記述してコンピュータに実行させることで実現することができる。
図３０は、実施形態２に係る仮想パッケージ構築状態判定処理の処理手順を示す。本フローチャートにおけるステップＳ２１乃至ステップＳ２５の手順は、実施形態１において図２５を用いて説明した仮想パッケージ構築状態判定処理と同様の手順である。
【０１３１】
ここで、ステップＳ２４において仮想パッケージが有効状態であると判定する状態とは、ステップＳ２３で発行した固定ＶＦＳファイルパスを用いた読み出し命令により、状態シグナリングファイルが読み出せた場合であるが、固定ＶＦＳファイルパスで読み出される状態シグナリングファイルは、現在構築されている仮想パッケージに属するものである。そこで、ステップＳ２４において仮想パッケージが有効状態であると判定された場合は、続けて状態シグナリングファイルの内容を読み出し（ステップＳ２６）、読み込んだ情報をもとにＢＤ−Ｊアプリケーションが実行しようとしている処理に必要なデータが、現在構築が完了している仮想ファイルシステムで利用しているアップデートキットに含まれているか否かの判断を行う（ステップＳ２７）。例えば、ＢＤ−Ｊアプリケーションが実行しようとしている処理が特典選択メニューの表示であれば、図１９に示す「アップデートキットに含まれるデータの詳細」という項目を参照し、アップデートキットにボーナスゲーム、新作映画予告の追加コンテンツが含まれているか否かを判定する（ステップＳ２７）。これらが含まれるならば（ステップＳ２７：Ｙｅｓ）、メニュー画面を表示する際に、アップデートキットに含まれる追加コンテンツを呼び出すボタン、例えば、「Ｇａｍe」ボタンや「Ｔｒａｉｌｅｒ  Ｎｅｗ」ボタンの表示を許可する（ステップＳ２８）。
【０１３２】
一方、固定ＶＦＳファイルパスで状態シグナリングファイルを読み出せず仮想パッケージが準備状態であると判定した場合（ステップＳ２５）、及び、固定ＶＦＳファイルパスで状態シグナリングファイルを読み出せたが、読み出した状態シグナリングファイルの「アップデートキットに含まれるデータの詳細」項目に、ボーナスゲーム、新作映画予告が含まれていない場合（ステップＳ２７：Ｎｏ）には、メニュー画面を表示する際に、追加コンテンツを呼び出す「Ｇａｍe」ボタン、「Ｔｒａｉｌｅｒ  Ｎｅｗ」ボタンの表示を抑制する（ステップＳ２９）。
【０１３３】
以上が、実施形態２に係る仮想パッケージ構築状態判定処理の処理手順である。
尚、ステップＳ２７の判断のために利用するアップデートキットの内容が記録されたファイルは、状態シグナリングファイルとは異なるファイル、例えば、状態シグナリングファイルのようにアップデートキットに属するファイルや、別途、再生装置内蔵の記録媒体に記録されているファイルやＢＤ−Ｊアプリケーション内のデータファイルであってもよい。ただし、アップデートキットの内容を示す情報を、仮想パッケージ構築状態判定に用いるファイルと同一とファイルに記録しておけば、仮想パッケージ構築状態判定と、使用中のアップデートキットの判定とを、１度のファイルリードで実行することができる。なぜなら、状態シグナリングファイルは、仮想パッケージ構築状態の判定のためにステップＳ２３で読み出し命令が発行されている。そのため、状態シグナリングファイルにアップデートキットの内容を記録しておけば、ステップＳ２４において仮想パッケージが有効状態であると判定された後に、ステップＳ２６で改めて読み出し命令を発行する必要がない。このように、仮想パッケージ構築状態の判定に用いるファイルと、アップデートキットの内容を記録するファイルを同一のものとすることで、効率のよい処理が可能となる。
【０１３４】
尚、ステップＳ２７の判定に利用するファイルがＡＶデータであれば、アクセス時にそのＡＶデータが再生されてしまい、不都合が生じる場合がある。そこで、そのファイルをテキストファイルにしておくと、アクセス判断の際に実際に再生されることはないので不都合は生じない。また、この判定に利用するファイルのサイズは出来るだけ小さくすることにより、ファイル取得やアクセスに必要となる時間などを短縮することでき、ＢＤ−Ｊアプリケーションの処理を高速に実行することが出来る。
【０１３５】
また、別途、再生装置内蔵の記録媒体に記録されているファイルやＢＤ−Ｊアプリケーション内のデータファイルを用いてステップＳ２７の判断を行う場合には、そのファイルにアクセスできるファイルパス情報を用意しておく必要がある。このファイルパス情報は、マージ管理情報内に予め記載しておいてもよいし、再生装置内やＢＤ−Ｊアプリケーション内に記録しておいてもよい。
【０１３６】
また、このファイルパス情報が示すファイルパスを、予め決められた固定ファイルパスにしておくと、ＢＤ−Ｊアプリケーションは常に同一のファイルパスを使って、仮想パッケージ構築状態を正しく判断することができる。固定ファイルパスとすることによって更に、同一のアプリケーションを複数の異なるアップデートキットで共通して利用すること（アプリケーションの再利用）、及び、複数の異なるアプリケーションで同一のアップデートキットを共通して利用すること（複数のタイトルで共通したアップデートキットの作成）、を実現することができるので、アプリケーションの作成とアップデートキットの作成とを効率よく実施することができる。
【０１３７】
また、アップデートキットの内容を判定する手法として、アップデートキットの識別子等、使用中のアップデートキットを一意に特定するための情報のみをファイルなどから取得し、その情報をキーとして利用しネットワークや他の記録媒体から、他の必要な情報、即ち、アップデートキットに含まれるデータやファイルなどの内容情報等を取得するように構成してもよい。あるいは、アップデートキットに含まれる他のファイルやマージ管理情報ファイルなどをキーとして利用しても良い。
【０１３８】
以上のように本実施形態２によれば、アプリケーションは、仮想パッケージ構築状態判定において、ローカルストレージ上のファイルに記録されたアップデートキットの内容を示す情報により使用中のアップデートキットを特定し、仮想パッケージの構築に使われているアップデートキットの内容に応じてアプリケーションの処理を制御することが出来る。従って、アップデートキットが複数存在する場合であっても、アプリケーションが仮想パッケージ構築に使われているアップデートキット以外のアップデートキットにアクセスしてしまうことを防止することが出来る。また、複数のアップデートキットを１つのアプリケーションで取り扱うことが出来るため、アプリケーションの開発を効率的に実施することが出来る。
【０１３９】
＜実施形態２の変形例＞
以上のように実施形態２では、複数のアップデートキットを用いて１つのＢＤ−Ｊアプリケーションから複数種類の仮想パッケージを構築できる状況で、状態シグナリングファイルの内容を確認することによって、現在構築されている仮想パッケージが利用するアップデートキットを特定する構成について説明した。この構成では、複数のアップデートキットの状態シグナリングファイルが、仮想パッケージ上の同一のファイルパスとなるように、何れのマージ管理情報ファイルのマッピング情報においても、状態シグナリングファイルに同一のＶＦＳファイルパス（ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ．ｉｎｆｏ）を割り当てている。これにより、どのアップデートキットが使用されている場合にも、ＢＤ−Ｊアプリケーションは常に同じファイルパスで状態シグナリングファイルの内容を確認することが可能になる。
【０１４０】
これに対し、複数のアップデートキットの状態シグナリングファイルが、仮想パッケージ上で全て異なるファイルパスになるように、それぞれのマージ管理情報ファイルのマッピング情報において、状態シグナリングファイルに異なるＶＦＳファイルパスを割り当て、ＢＤ−Ｊアプリケーションがそれぞれのアップデートキットの状態シグナリングファイルの仮想パッケージ上のファイルパスにアクセスできるか否かを試行することにより、使用しているアップデートキットを特定するようにしてもよい。
【０１４１】
このような変形例では、例えば、Ｕｐｄａｔｅ０１、及びＵｐｄａｔｅ０２の２つのアップデートキットが存在する場合に、Ｕｐｄａｔｅ０１のマージ管理情報ファイルのマッピング情報では、状態シグナリングファイルのＶＦＳファイルパスとして、「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ＿ｕｐｄａｔｅ０１．ｔｘｔ」を登録しておき、Ｕｐｄａｔｅ０２のマージ管理情報ファイルのマッピング情報では、状態シグナリングファイルのＶＦＳファイルパスとして、「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ＿ｕｐｄａｔｅ０２．ｔｘｔ」を登録しておく。
【０１４２】
更に、ＢＤ−Ｊアプリケーションの作成時に、それぞれのアップデートキットについての状態シグナリングファイル位置情報となるデータファイルを、ＢＤ−Ｊアプリケーションの実体となるＪＡＲファイルに組み込んでおく。ここで状態シグナリングファイル位置情報は、それぞれ対応するアップデートキットにおいて状態シグナリングファイルに割り当てたＶＦＳファイルパスを示す。
【０１４３】
以上のように構成されたＢＤ−Ｊアプリケーションが実行された場合、仮想パッケージ構築状態判定において、それぞれのアップデートキットの状態シグナリングファイル位置情報で示されるファイルパスを指定して読み出し命令を試行し、何れのファイルパスで状態シグナリングファイルを読み出せるかにより、現在構築されている仮想パッケージが利用するアップデートキットを特定する。
【０１４４】
上述のＵｐｄａｔｅ０１、及びＵｐｄａｔｅ０２の２つのアップデートキットが存在する状況では、「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ＿ｕｐｄａｔｅ０１．ｔｘｔ」を指定して状態シグナリングファイルが読み出せた場合に、現在の仮想パッケージではＵｐｄａｔｅ０１が利用されていると判定し、「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ＿ｕｐｄａｔｅ０２．ｔｘｔ」を指定して状態シグナリングファイルが読み出せた場合に、現在の仮想パッケージではＵｐｄａｔｅ０２が利用されていると判定する。
【０１４５】
（実施形態３）
本実施形態３では、本発明にかかる記録装置および記録方法を実施するための形態について説明する。
ここで説明する記録装置は、オーサリング装置と呼ばれるものであり、映画コンテンツの頒布のために制作スタジオに設置され、オーサリングスタッフの使用に供される。オーサリングスタッフからの操作に従い、ＭＰＥＧ規格に従い圧縮符号化されたデジタルストリーム及びどのように映画タイトルを再生するかを記したシナリオを生成し、これらのデータを含むＢＤ−ＲＯＭ向けのボリュームイメージとアップデートキットを生成するというのが、本発明にかかる記録装置の使用形態である。本発明にかかる記録装置は、実施の形態１で説明した記録媒体やアップデートキットを生成することを目的とする。
【０１４６】
図３１は本発明にかかる記録装置の内部構成を示す図である。本図に示すように本発明にかかる記録装置は、素材制作部５１、シナリオ生成部５２、ＢＤ−Ｊ制作部５３、多重化処理部５４、フォーマット処理部５５、差分抽出部５６、アップデートキット制作部５７により構成される。なお、本発明にかかる記録装置は、システムＬＳＩ（集積回路）として実装してもよい。
【０１４７】
素材制作部５１は、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックストリームなどの各ストリームを作成する。素材制作部５１は、非圧縮のビットマップなどの画像イメージをＭＰＥＧ４−ＡＶＣやＭＰＥＧ２などの圧縮方式に従い符号化することでビデオストリームを作成する。また素材制作部５１は、非圧縮のＬｉｎｅａｒＰＣＭ音声などをＡＣ３などの圧縮方式に従い符号化することでオーディオストリームを作成する。素材制作部５１は、字幕イメージと表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、ＢＤ−ＲＯＭ規格に準拠した字幕ストリームのフォーマットであるプレゼンテーショングラフィックスストリームを作成する。素材制作部５１は、メニューに使うビットマップイメージと、メニューに配置されるボタンの遷移や表示効果を記載したメニューファイルを元にして、ＢＤ−ＲＯＭ規格に準拠したメニュー画面のフォーマットであるインタラクティブグラフィックスストリームを作成する。
【０１４８】
シナリオ生成部５２は、素材制作部５１で作成した各ストリームの情報や、オーサリングスタッフからのＧＵＩを経由した操作にしたがって、ＢＤ−ＲＯＭ規格に準拠したフォーマットでシナリオを作成する。ここで言うシナリオは、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなどのファイルがそれにあたる。また、シナリオ生成部５２は、多重化処理を実現するための各ＡＶクリップがどのストリームから構成されるかを記述したパラメータファイルを作成する。
【０１４９】
アップデートキットを作成するには、仮想パッケージ構築後のシナリオデータを作成する。
ＢＤ−Ｊ制作部５３は、ＢＤ−Ｊアプリケーションをプログラミングする手段である。ＧＵＩ等のユーザインターフェースを通じて、ユーザからの要求に従って、ＢＤ−Ｊアプリケーションプログラムのソースコードを作成し、ＢＤ−Ｊアプリケーションを作成する。このとき、ＢＤ−Ｊアプリケーションプログラムには、図２３の状態シグナリングファイル位置情報２１となるデータファイルが外部ファイルとして組み込まれる。
【０１５０】
多重化処理部５４は、ＢＤ−ＲＯＭシナリオデータに記述されているビデオ、オーディオ、字幕、ボタンなどの複数のストリームを多重化して、ＭＰＥＧ２−ＴＳ形式のＡＶクリップを作成する。このとき、ＡＶクリップと対になるクリップ情報ファイルも同時に作成する。多重化処理部５４によるクリップ情報ファイル内の生成は、以下の方法で行われる。多重化処理部５４はＡＶクリップを作成と同時にマーク情報を作成する。より具体的には、素材制作部５１で生成された各ストリームにおいて、含まれるビデオストリームがＭＰＥＧ２であればＩピクチャ、ＭＰＥＧ４−ＡＶＣであればＩピクチャかＩＤＲピクチャ、ＶＣ−１であればＩピクチャが何処に存在するかを検出し、前述の各ピクチャの表示時刻と、ＭＰＥＧ２−ＴＳとなっているＡＶクリップの何パケット目のソースパケットに前述の各ピクチャの先頭データが入っているかを対応付けたマークをマーク情報に登録していく。ＡＶクリップに含まれるビデオストリームが、主映像・副映像の２種類がある場合は、どちらのマーク情報も同時に作成していく。多重化処理部５４は、自ら生成したマーク情報と、ＡＶクリップに含まれるストリーム毎の音声属性、映像属性などを示す属性情報をペアにしてクリップ情報ファイルを作成する。
【０１５１】
フォーマット処理部５５は、シナリオ生成部５２で生成したＢＤ−ＲＯＭシナリオデータ、あるいは、仮想パッケージ構築後のシナリオデータと、ＢＤ−Ｊ制作部５３で制作したＢＤ−Ｊアプリケーション、多重化処理部５４で生成したＡＶクリップやクリップ情報ファイルを、ＢＤ−ＲＯＭ規格に準拠したフォーマットで配置し、ＢＤ−ＲＯＭ規格に準拠したファイルシステムであるＵＤＦのフォーマットでＢＤ−ＲＯＭディスクイメージ、あるいは、仮想パッケージ差分ディスクイメージを作成する。生成したＢＤ−ＲＯＭディスクイメージをＢＤ−ＲＯＭプレス用データに変換し、このデータに対してプレス工程を行うことで、ＢＤ−ＲＯＭの製造が可能となる。
【０１５２】
さらに、フォーマット処理部５５は、仮想パッケージ構築後のシナリオデータの記述から、作成しようとしているアップデートキットを一意に特定するための情報を含むファイル、例えば、実施形態１、及び２の状態シグナリングファイルを作成する。
なお、ＢＤ−ＲＯＭシナリオデータからも同様に、作成するＢＤ−ＲＯＭディスクイメージを特定するための情報を含むファイルの作成を行ってもよい。
【０１５３】
差分抽出部５６は、二つのシナリオデータをコンペアして、差分データを抽出する。例えば、オリジナルのディスクイメージになかったファイルや、バイナリコンペアしてアップデートされているファイルなどを抽出する。
アップデートキット制作部５７は、差分抽出部５６と仮想パッケージ差分ディスクイメージを元に前述で説明したアップデートキットのデータフォーマットに合うようにマージ管理情報ファイルや署名情報ファイルやネットワークプレイリストやクリップを作成し、ＢＤ−ＲＯＭ規格に準拠したフォーマットでファイルやディレクトリを配置する。ここで作成するマージ管理情報ファイルには、状態シグナリングファイルのＶＦＳファイルパスとして、「ＢＤＭＶ／ＪＡＲ／１１１１１／ＶＦＳＤａｔａ．ｉｎｆｏ」が記録される。
【０１５４】
次に図３２を参照しながら、実施の形態に係るＢＤ−ＲＯＭディスクイメージの作成方法について説明する。
ステップＳ１０１において、素材制作部５１はビデオストリーム、オーディオストリーム、ＩＧストリーム、ＰＧストリームを生成する。
ステップＳ１０２において、シナリオ生成部５２は、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなど再生シナリオを記述するＢＤ−ＲＯＭシナリオデータを作成する。
【０１５５】
ステップＳ１０３において、ＢＤ−Ｊ制作部５３は、ＢＤ−Ｊアプリケーションのプログラムを作成する。
ステップＳ１０４において、多重化処理部５４はＢＤ−ＲＯＭシナリオデータを元にＡＶクリップとクリップ情報ファイルを作成する。
ステップＳ１０５において、フォーマット処理部５５は、ＢＤ−ＲＯＭシナリオデータ、変形ＡＶクリップ、クリップ情報ファイル、復元バイトコードデータを、ＢＤ−ＲＯＭ規格のファイル・ディレクトリ構造に並び替え、ＢＤ−ＲＯＭ規格準拠のディスクイメージを作成する。
【０１５６】
次に図３３を参照しながら、実施の形態に係るアップデートキットの作成方法について説明する。
ステップＳ２０１において、素材制作部５１は仮想ファイルシステムに必要なビデオストリーム、オーディオストリーム、ＩＧストリーム、ＰＧストリームを生成する。
ステップＳ２０２において、シナリオ生成部５２は仮想ファイルシステム作成後のインデックスファイル、ムービーオブジェクトファイル、プレイリストファイル、ネットワークプレイリストファイルなど再生シナリオを記述するシナリオデータを作成する。
【０１５７】
ステップＳ２０３において、差分抽出部５６は二つのシナリオデータを比較して差分データを抽出する。
ステップＳ２０４において、ＢＤ−Ｊ制作部５３は、仮想ファイルシステム作成後のＢＤ−Ｊアプリケーションのプログラムを作成する。
ステップＳ２０５において、多重化処理部５４は差分データを元にＡＶクリップとクリップ情報ファイルを作成する。
【０１５８】
ステップＳ２０６において、フォーマット処理部５５は、仮想ファイルシステム作成後のシナリオデータの記述から、作成しようとしているアップデートキットを一意に特定するための情報を記録したファイルを作成する。
なお、ここで作成するファイルにはキーとなる情報のみを記録しておいて、そのキーと関連付けてアップデートキットを一意に特定するための情報を、別のファイルやデータベースとして作成するようにしてもよい。
【０１５９】
ステップＳ２０７において、フォーマット処理部５５は、ステップＳ２０６で作成したアップデートキットを一意に特定するための情報が記録されたファイルと、仮想ファイルシステム作成後のシナリオデータ、ＢＤ−Ｊアプリケーション、ＡＶクリップ、クリップ情報ファイルを、ＢＤ−ＲＯＭ規格に準拠したフォーマットで配置して、仮想ファイルシステム差分ディスクイメージを作成する。
【０１６０】
ステップＳ２０８において、アップデートキット制作部５７は、差分抽出部５６と仮想ファイルシステム差分ディスクイメージを元に前述で説明したアップデートキットのデータフォーマットに合うようにマージ管理情報ファイルや署名情報ファイルやネットワークプレイリストやクリップを作成し、ＢＤ−ＲＯＭ規格に準拠したフォーマットでファイルやディレクトリを配置する。
【０１６１】
（その他の変形例）
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
（１）本発明は、各実施形態で説明したフローチャートの処理手順が開示する再生装置の制御方法、記録装置の制御方法であるとしてもよい。また、前記処理手順でコンピュータを動作させるプログラムコードを含むコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１６２】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
【０１６３】
また、前記コンピュータプログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記コンピュータプログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（２）実施形態１、２では、ＢＤ−Ｊアプリケーションによるメニュー表示について、仮想パッケージ構築状態に応じてその機能を制限することを説明した。
【０１６４】
本発明は、その他、ローカルストレージ上の追加コンテンツデータファイルにアクセスする必要がある処理を、仮想パッケージ構築状態の判定に基づいて制限する用途に適用できる。ローカルストレージ上の追加コンテンツデータファイルにアクセスする必要がある処理としては、ローカルストレージ上の字幕、音声、映像の再生、ローカルストレージ上に追加されたＢＤ−Ｊアプリケーションの実行等がある。
【０１６５】
尚、仮想パッケージの構築状態にかかわらずＢＤ−Ｊアプリケーションが、ローカルストレージ上のファイルにアクセスする場合もある。例えば、
ローカルストレージ上のＡＤＡ（アプリケーションデータエリア）領域へのユーザ情報（アカウント名、メールアドレスなど）の記録、ゲームスコアや操作履歴（初回視聴時のみに再生する警告の再生状況や、過去に視聴したディスク履歴など）、キャッシュ情報の記録等のように、ＢＤ−Ｊアプリケーションが、ローカルストレージ上に読み書きが必要なデータを記録する場合や、ローカルストレージ上のファイルを字幕、音声、映像等データとして再生するなど、仮想ファイル制御部２０を介したローカルストレージ上のファイルへのアクセスの必要がない場合である。
【０１６６】
（３）実施形態１では、仮想パッケージが準備状態である場合にローカルストレージ上のアップデートキットにアクセスすることを禁止する方法として、アップデートキットへのアクセスが必要な選択肢をメニュー上に表示しないという方法を示した。ローカルストレージ上のアップデートキットにアクセスすることを禁止する他の方法としては、例えば、選択可能な場合とは選択肢の色や形などを変更してメニュー上に表示するなどして、誤動作が発生する機能を実行するための選択肢をユーザが選択できないように制御する方法、誤動作が発生する選択肢をユーザが選択した際に現在実行できない旨のメッセージ、実行できない理由、実行するために必要な手順などをユーザに提示するように制御する方法、誤動作が発生する選択肢をユーザが選択した際に、その機能が実行可能な状態とした（仮想パッケージ構築を完了しタイトル再生を開始する）後で、ユーザが選択した機能を実行する方法、ユーザの操作を無視する方法、あるいは、それらのいくつかを組み合わせた方法などがある。
【０１６７】
（４）実施形態１では、アップデートキットの取得方法としてネットワークを介してダウンロードする手法を示した。しかし、アップデートキットは、ネットワーク経由での取得以外に、他の記録媒体等から取得してもよい。
（５）ＢＤ−ＲＯＭディスクは、図２に示したファイル構成に加えて、ディスクを代表する画像イメージとテキスト情報がセットになったディスク情報ファイル（ＣＣＣ．ＤＩＮＦＯ）を記録すよう構成してもよい。
【０１６８】
ディスク情報ファイルは、例えば、図３４に示すデータ構造を用いることができる。本図の例では、ディスク情報ファイルは、ＢＤ−ＲＯＭに含まれるコンテンツを代表するサムネイルの画像ファイルへの相対パスと、ＢＤ−ＲＯＭに含まれるコンテンツを代表する各国語ごとのテキスト情報を格納している。テキスト情報には、ＢＤ−ＲＯＭに含まれるコンテンツのタイトル名などが記載される。
【０１６９】
このディスク情報ファイルを用いて、画像ファイルのイメージや、テキスト情報をＧＵＩ等で表示する機能を、再生装置に実装することで、ユーザはディスク内容を容易に把握することができる。
再生装置にこのような機能を実装する場合、ディスク情報ファイルと同様の情報が記録されている状態シグナリングファイルを利用することで、再生装置のＧＵＩ画面等で、アップデートキットの内容を表示できると共に、ユーザがアップデートキットを消去するためのＧＵＩとして利用できる。
【０１７０】
具体的には、アプリケーションがネットワークや他の記録媒体などからアップデートキットを取得する前に、アップデートキットの内容として、アップデートキットを代表するサムネイルの画像とアップデートキットの名称などのテキスト情報などを表示することが出来る。こうすることにより、複数のアップデートキットが存在する場合であっても、ユーザの嗜好に応じて取得するアップデートキットを選択することが容易なユーザインターフェースを、ＢＤ−Ｊアプリケーション又は再生装置により、提供することが出来る。
【０１７１】
また、既にローカルストレージ上に複数のアップデートキットが記録されている場合であって、かつ、ローカルストレージの空き容量が少なく、次に取得するアップデートキットを記録するために記録されているアップデートキットのいくつかを消去する必要がある場合などに、ローカルストレージ上に記録されているアップデートの内容として、アップデートキットを代表するサムネイルの画像とアップデートキットの名称などのテキスト情報などを表示することが出来る。こうすることにより、複数のアップデートキットがローカルストレージに記録されている場合であっても、ユーザがローカルストレージ上から消去するアップデートキットを容易に選択することが出来るユーザインターフェースを、ＢＤ−Ｊアプリケーション又は再生装置により、提供することが出来る。
【０１７２】
さらに、ローカルストレージ上に複数のアップデートキットが記録されている場合であって、かつ、いずれかのアップデートキットを利用した仮想ファイルシステムの作成が完了している場合に、仮想ファイルシステムの作成に利用されているアップデートキットの内容として、アップデートキットを代表するサムネイルの画像とアップデートキットの名称などのテキスト情報などを、状態シグナリングファイルの記述を参照して表示することが出来る。こうすることにより、ユーザが仮想ファイルシステムの作成が完了しているか否かと、仮想ファイルシステムの作成が完了している場合には、仮想ファイルシステムの作成に利用されているアップデートキットの内容を容易に確認することが出来るユーザインターフェースを、ＢＤ−Ｊアプリケーション又は再生装置により、提供することが出来る。
【０１７３】
（６）再生装置の内部構成のうち、システムターゲットデコーダ４や、再生制御部７、プログラム実行部１１、仮想ファイル制御部２０等、ロジック素子を中心とした部分は、システムLSIで構成することが望ましい。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
【０１７４】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピングリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置１０２の中核としての役割を果たす。
【０１７５】
かかるシステムLSIは、再生装置１０２は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
【０１７６】
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
【０１７７】
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessingUnit部に行わせる「Virtual Multi Processor Unit部」で構成される。
【０１７８】
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
【０１７９】
・ストリームI/Oブロック
これは、USBインターフェイスやATAPacketインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリディスクドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
【０１８０】
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
【０１８１】
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
【０１８２】
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置１０２の内部構成図を基に作ることができる。
【０１８３】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。  
【０１８４】
本実施の形態は、ミドルウェアとシステムLSIに対応するハードウェア、システムLSI以外のハードウェア、ミドルウェアに対するインターフェイスの部分、ミドルウェアとシステムLSIのインターフェイスの部分、ミドルウェアとシステムLSI以外の必要なハードウェアへのインターフェイスの部分、ユーザインターフェースの部分で実現し、これらを組み込んで再生装置を構成したとき、それぞれが連携して動作することにより特有の機能が提供されることになる。
【０１８５】
ミドルウェアに対するインターフェイス、および、ミドルウェアとシステムLSIのインターフェイスを適切に定義することにより、再生装置のユーザインターフェース部分、ミドルウェア部分、システムLSI部分をそれぞれ独立して並行開発することができ、より効率よく開発することが可能となる。なお、それぞれのインターフェイスのきり方には、様々な切り方がある。
【０１８６】
（７）上記実施形態、及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１８７】
本発明に係る再生装置、再生方法、記録媒体、記録装置、記録方法、集積回路は、ネットワーク等から取得したデータがＲＯＭディスクに追加されているかを正しく判断し、ユーザに実行可能なメニューのみを表示することが出来るので、より魅力的な映画タイトルなどの動画コンテンツを市場に供給することができ、映画市場や民生機器市場を活性化させることができる。故に本発明に係る再生装置、再生方法、記録媒体、記録装置、記録方法、集積回路は、映画産業や民生機器産業において高い利用可能性をもつ。
【符号の説明】
【０１８８】
１０１    ＢＤ−ＲＯＭ
１０２    再生装置
１０３    テレビ
１０４    リムーバブルメディア
１０５    リモコン
１    ＢＤ−ＲＯＭドライブ
２ａ  リードバッファ（１）
２ｂ  リードバッファ（２）
３    ローカルストレージ
４    システムターゲットデコーダ
５ａ  プレーンメモリセット
５ｂ  プレーン合成部
６    ＨＤＭＩ送受信部
７    再生エンジン
７ａ  再生制御エンジン
７ｂ  再生制御部
９    管理情報メモリ
１０    レジスタセット
１１    プログラム実行部
１２    プログラムメモリ
１３    ＨＤＭＶモジュール
１３    ネットワークモジュール
１４    ＢＤ−Ｊプラットフォーム
１５    ミドルウェア
１６    モード管理モジュール
１７    ユーザイベント処理部
１９    不揮発メモリ
２０    仮想ファイル制御部
２１    状態シグナリングファイル位置情報
２２    仮想パッケージ構築状態判定部
２３    メニュー表示部
３１    状態シグナリングファイル
４１    マージ管理情報ファイル
４２    状態シグナリングファイル
４３    マージ管理情報ファイル
４４    状態シグナリングファイル
５１    素材制作部
５２    シナリオ生成部
５３    ＢＤ−Ｊ制作部
５４    多重化処理部
５５    フォーマット処理部
５６    差分抽出部
５７    アップデートキット制作部
【図１】
0005451745.tif 000002
【図２】
0005451745.tif 000003
【図３】
0005451745.tif 000004
【図４】
0005451745.tif 000005
【図５】
0005451745.tif 000006
【図６】
0005451745.tif 000007
【図７】
0005451745.tif 000008
【図８】
0005451745.tif 000009
【図９】
0005451745.tif 000010
【図１０】
0005451745.tif 000011
【図１１】
0005451745.tif 000012
【図１２】
0005451745.tif 000013
【図１３】
0005451745.tif 000014
【図１４】
0005451745.tif 000015
【図１５】
0005451745.tif 000016
【図１６】
0005451745.tif 000017
【図１７】
0005451745.tif 000018
【図１８】
0005451745.tif 000019
【図１９】
0005451745.tif 000020
【図２０】
0005451745.tif 000021
【図２１】
0005451745.tif 000022
【図２２】
0005451745.tif 000023
【図２３】
0005451745.tif 000024
【図２４】
0005451745.tif 000025
【図２５】
0005451745.tif 000026
【図２６】
0005451745.tif 000027
【図２７】
0005451745.tif 000028
【図２８】
0005451745.tif 000029
【図２９】
0005451745.tif 000030
【図３０】
0005451745.tif 000031
【図３１】
0005451745.tif 000032
【図３２】
0005451745.tif 000033
【図３３】
0005451745.tif 000034
【図３４】
0005451745.tif 000035
【図３５】
0005451745.tif 000036