(57)【要約】【課題】光ディスクを再生するためのアプリケーションと、装置独自の機能を提供するアプリケーションを連動して動作させる。【解決手段】JVM４４は、JAVA(登録商標)バイトコードをネイティブコードに変換して実行する。ナビゲーションプログラム４５は、光ディスクに記録されているデータを再生させるためのプログラムである。APIライブラリ４６は、ナビゲーションプログラム４５を開発する際に使用できる命令や関数の集合、それらを利用するための手続きを定めた規約の集合である。ナビゲーションプログラム４５は、APIライブラリ４６に用意された命令や関数の範囲でのみ、再生装置のハードウェアを制御することができる。アプリケーションプログラム４７は、再生装置の独自の機能を提供する。ナビゲーションプログラム４５とアプリケーションプログラム４７は、IXCにより、連動して処理を実行する。本発明は、再生装置や録画再生装置に適用できる。【選択図】図６
2008034076.tif 000002
【特許請求の範囲】
【請求項１】
装着された第１の記録媒体に記録されているデータを再生させる情報処理装置において、
情報を記憶する1つまたは複数の記憶手段と、
装着された前記第１の記録媒体、または、装着された前記第１の記録媒体に対応付けられて前記記憶手段のうちのいずれかに記憶されているアプリケーションであって、前記第１の記録媒体に記録されているデータを処理する第１の機能を実現するとともに、前記第１の記録媒体に記録されているデータを再生するために必須のアプリケーションである第１のアプリケーションと、前記記憶手段のうちのいずれかに記憶され、前記第１の機能とは異なる第２の機能を実現する第２のアプリケーションとを実行する実行手段と
を備え、
前記実行手段は、前記第１のアプリケーションおよび前記第２のアプリケーションを、第１のアプリケーション間通信を用いて、相互に情報を授受して連動して実行する
情報処理装置。
【請求項２】
前記第２のアプリケーションは、少なくとも一つの所定の前記第１の記録媒体に対応付けられ、
前記実行手段は、前記第１のアプリケーションを実行している場合、前記第１のアプリケーションが記録されているか、または、前記第１のアプリケーションが対応付けられている前記第１の記録媒体に対して対応付けられた前記第２のアプリケーションを検出し、検出された前記第２のアプリケーションを起動させる
請求項１に記載の情報処理装置。
【請求項３】
前記第２のアプリケーションには、少なくとも一つの所定の前記第１の記録媒体を識別するための識別情報が対応付けられている
請求項２に記載の情報処理装置。
【請求項４】
前記実行手段は、前記第１の記録媒体が装着された場合、前記記憶手段の記憶領域のうちの装着された前記第１の記録媒体に対応付けられた情報が記憶された領域と、装着された前記第１の記録媒体の記録領域とを１つのデータ記憶領域として取り扱って、前記データ記憶領域のいずれかに記憶されている前記第１のアプリケーションを起動する
請求項１に記載の情報処理装置。
【請求項５】
前記第２のアプリケーションは、少なくとも一つの所定の前記第１の記録媒体に対応付けられ、
前記実行手段は、前記第１の記録媒体が装着されて起動された前記第１のアプリケーションにより、前記第１の記録媒体に対応付けられた前記第２のアプリケーションを検出し、検出された前記第２のアプリケーションを起動させる
請求項４に記載の情報処理装置。
【請求項６】
前記第２のアプリケーションには、少なくとも一つの所定の前記第１の記録媒体を識別するための識別情報が対応付けられている
請求項５に記載の情報処理装置。
【請求項７】
複数の前記記憶手段のいずれかには、少なくとも１つの前記第１の記録媒体に対応付けられた情報が記憶される第１の領域と、前記第１の領域とは異なる、前記第２のアプリケーションが記憶される第２の領域とを含む記憶領域とが設定される
請求項１に記載の情報処理装置。
【請求項８】
前記実行手段は、前記第１のアプリケーションを実行することにより、装着された前記第１の記録媒体に対応付けられた情報が記憶される前記第１の領域と、装着された前記第１の記録媒体の記録領域とを１つのデータ記憶領域として取り扱う
請求項７に記載の情報処理装置。
【請求項９】
番組コンテンツデータを取得する取得手段を更に備え、
前記記憶手段は、前記取得手段により取得された前記番組コンテンツデータに含まれている前記第２のアプリケーションを記憶する
請求項１に記載の情報処理装置。
【請求項１０】
前記実行手段は、仮想マシン環境を有し、前記仮想マシン上で、前記第１のアプリケーションおよび前記第２のアプリケーションを実行するとともに、前記仮想マシン上で実行されない、第３のアプリケーションを更に実行し、
前記第２のアプリケーションは、第２のアプリケーション間通信を用いて、前記第３のアプリケーションと情報を授受する
請求項１に記載の情報処理装置。
【請求項１１】
前記第３のアプリケーションは、前記第１のアプリケーションとは独立して実行可能なアプリケーションである
請求項１０に記載の情報処理装置。
【請求項１２】
前記実行手段は、前記第１のアプリケーションおよび前記第２のアプリケーションを、前記仮想マシンであるJAVA(登録商標) Virtual Machine上で実行する
請求項１０に記載の情報処理装置。
【請求項１３】
前記第１のアプリケーションおよび前記第２のアプリケーションは、前記第１のアプリケーション間通信として、Inter-Xlet Communicationを用いて、相互に情報を授受して連動して実行される
請求項１２に記載の情報処理装置。
【請求項１４】
前記第２のアプリケーションは、JAVA(登録商標) Native Interfaceを用いて、前記第３のアプリケーションと情報を授受する
請求項１２に記載の情報処理装置。
【請求項１５】
前記第２のアプリケーションは、前記第１のアプリケーションとともにのみ実行可能である
請求項１に記載の情報処理装置。
【請求項１６】
前記実行手段は、前記第１のアプリケーションとは独立して実行可能な第３のアプリケーションを更に実行し、
前記第２のアプリケーションは、第２のアプリケーション間通信を用いて、前記第３のアプリケーションと情報を授受する
請求項１５に記載の情報処理装置。
【請求項１７】
前記実行手段は、前記第２のアプリケーションを複数実行することが可能であり、所定の前記第２のアプリケーションを実行することにより、装着された前記第１の記録媒体に記録されている情報に基づいて、異なる前記第２のアプリケーションの取得を制御する
請求項１に記載の情報処理装置。
【請求項１８】
前記実行手段は、所定の前記第２のアプリケーションを実行することにより、ネットワークを介して、他の装置からの異なる前記第２のアプリケーションの取得を制御し、
装着された前記第１の記録媒体に記録されている情報には、前記他の装置の前記ネットワークにおけるアドレス情報が含まれている
請求項１７に記載の情報処理装置。
【請求項１９】
前記ネットワークを介して取得された前記第２のアプリケーションを実行する前記実行手段は、前記他の装置と情報を授受することにより所定の認証処理を実行する
請求項１８に記載の情報処理装置。
【請求項２０】
前記ネットワークを介して取得された前記第２のアプリケーションを実行する前記実行手段は、前記第１の記録媒体に記録されているデータの少なくとも一部を前記第１の記録媒体とは異なる前記第２の記録媒体に複写する処理を、所定の著作権保護の枠組みに基づいて実行する
請求項１８に記載の情報処理装置。
【請求項２１】
装着された記録媒体に記録されているデータを再生させる情報処理装置の情報処理方法において、
前記情報処理装置は、複数のアプリケーションを実行可能であり、
装着された前記記録媒体、または、装着された前記記録媒体に対応付けられて１つまたは複数の記憶部のうちのいずれかに記憶されているアプリケーションであって、前記記録媒体に記録されているデータを処理する第１の機能を実現するとともに、前記記録媒体に記録されているデータを再生するために必須のアプリケーションである第１のアプリケーションと、前記記憶部のうちのいずれかに記憶され、前記第１の機能とは異なる第２の機能を実現する第２のアプリケーションとを、前記仮想マシン上で、所定のアプリケーション間通信を用いて、相互に情報を授受して連動して実行する
情報処理方法。
【請求項２２】
記録媒体に記録された情報を再生する処理をコンピュータに実行させるためのプログラムであって、
前記記録媒体に記録されているデータを処理する第１の機能を実現し、
所定の１つまたは複数の記憶部のうちのいずれかに記憶されている、前記第１の機能と異なる第２の機能を実現する他のプログラムのうち、自分自身に対応付けられている前記他のプログラムを検出し、
検出された前記他のプログラムを起動させ、
前記他のプログラムと、所定のアプリケーション間通信を用いて情報を授受して所定の動作を実行する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項２３】
前記第１の機能には、前記記録媒体が装着された場合、前記記憶部の記憶領域のうちの装着された前記記録媒体に対応付けられた情報が記憶された領域と、装着された前記記録媒体の記録領域とを１つのデータ記憶領域として取り扱う機能が含まれている
請求項２２に記載のプログラム。
【請求項２４】
前記コンピュータは、仮想マシン環境を有し、
前記他のプログラムとともに、前記仮想マシン上で実行される
請求項２２に記載のプログラム。
【請求項２５】
請求項２２乃至請求項２４に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関し、特に、記録媒体を再生する場合に用いて好適な、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関する。
【背景技術】
【０００２】
再生装置に装着された光ディスクに記録されているコンテンツのアップデートデータ、および、そのアップデートデータを光ディスクに記録されているコンテンツとして再生させるためのプログラムを、ネットワークを介してダウンロードする技術がある。
【特許文献１】特開２００５−１５９５８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来の技術によりダウンロードされるプログラムは、対応する光ディスクが再生装置に装着されて、光ディスクに記録されているデータが再生される場合に実行されるものである。
【０００４】
すなわち、従来、光ディスクを用いて再生装置で実行可能なアプリケーションがユーザに提供される場合、それぞれの光ディスクに対応して提供されたアプリケーションが実行する処理は、光ディスクごとに完結されるものであり、例えば、それぞれの光ディスクに対応するボーナストラックをダウンロードして再生させることは可能であったとしても、シリーズものの映画を全て再生した場合にのみボーナストラックをダウンロードすることができるようにするなど、複数の光ディスクに関連したサービスを提供することは困難であった。
【０００５】
一方、再生装置に組み込まれているアプリケーションプログラムは、従来、装着された光ディスクによって異なる処理ができるようになされていなかった。
【０００６】
また、従来、装置の機能を、コンテンツが有するアプリケーションプログラムにより操作することは実行されてきたが、このような場合、コンテンツ提供者は、そのコンテンツが再生される全ての装置に対して、同様の操作が実行されるようなアプリケーションプログラムを提供していた。特に、放送によりユーザに提供されるコンテンツは、基本的に同一の画面がいずれの受信機にも同様に表示されることを想定して作成されているため、特定の装置においてのみ特定のサービスがユーザに提供されるようなコンテンツが作成されることはなかった。これにより、コンテンツの提供者は、特定の装置に依存することなく同一の品質のコンテンツをユーザに提供することができるが、一方、装置の提供者としては、装置の差別化を図り難い。
【０００７】
さらに、従来、光ディスクを用いて提供されたり、例えば、ケーブルテレビジョンなどの有線、または、放送波などの無線を介して提供される番組コンテンツおよび対応するアプリケーションと、再生装置が有するアプリケーションとにおいて、その一方が他方を操作することは行われてきたが、それぞれのアプリケーションが連動して処理を行うようなことは想定されていなかった。
【０００８】
なお、欧州の標準化団体DVB（Digital Video Broadcasting）によって策定されたデータ放送規格であるMHP（Multimedia Home Platform）においては、デジタル放送の空きスロットを使ってJAVA(登録商標)アプレットが配信されるようになされている。この場合、アプリケーションマネージャがアプリケーションの寿命を管理しており、AMT(Application Management Table)がアプリケーション情報を伝送する。したがって、アプリケーションの寿命は番組枠に依存せず、番組をまたいだアプリケーションの存在が可能である。しかしながら、この場合においても、配信されたアプリケーションは、全ての受信装置において同様に実行されるものとして提供されており、所定の装置が有しているアプリケーションであって、全ての受信装置において同様に実行されるものとは限らない（換言すれば、必須ではない）アプリケーションと連動して実行されることは想定されていなかった。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、その装置に所定の記録媒体が装着された場合に実行可能なアプリケーション、すなわち、記録媒体に対応付けられて提供される、記録媒体の再生に必須のアプリケーションと、所定の装置が有しているアプリケーションであって、全ての装置において同様に実行されるものとは限らない（換言すれば、必須ではない）アプリケーションとが連動して実行されることができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面の情報処理装置は、装着された記録媒体に記録されているデータを再生させる情報処理装置であって、情報を記憶する１つまたは複数の記憶手段と、装着された前記記録媒体、または、装着された前記記録媒体に対応付けられて前記記憶手段のうちのいずれかに記憶されているアプリケーションであって、前記記録媒体に記録されているデータを処理する第１の機能を実現するとともに、前記記録媒体に記録されているデータを再生するために必須のアプリケーションである第１のアプリケーションと、前記記憶手段のうちのいずれかに記憶され、前記第１の機能とは異なる第２の機能を実現する第２のアプリケーションとを実行する実行手段とを備え、前記実行手段は、前記第１のアプリケーションおよび前記第２のアプリケーションを、第１のアプリケーション間通信を用いて、相互に情報を授受して連動して実行する。
【００１１】
前記第２のアプリケーションは、少なくとも一つの所定の前記記録媒体に対応付けられるものとすることができ、前記実行手段には、前記第１のアプリケーションを実行している場合、前記第１のアプリケーションが記録されているか、または、前記第１のアプリケーションが対応付けられている前記記録媒体に対して対応付けられた前記第２のアプリケーションを検出し、検出された前記第２のアプリケーションを起動させるものとすることができる。
【００１２】
前記第２のアプリケーションには、少なくとも一つの所定の前記記録媒体を識別するための識別情報が対応付けられているものとすることができる。
【００１３】
前記実行手段には、前記記録媒体が装着された場合、前記記憶手段の記憶領域のうちの装着された前記記録媒体に対応付けられた情報が記憶された領域と、装着された前記記録媒体の記録領域とを１つのデータ記憶領域として取り扱って、前記データ記憶領域のいずれかに記憶されている前記第１のアプリケーションを起動させるものとすることができる。
【００１４】
前記第２のアプリケーションは、少なくとも一つの所定の前記記録媒体に対応付けられるものとすることができ、前記実行手段には、前記記録媒体が装着されて起動された前記第１のアプリケーションにより、前記記録媒体に対応付けられた前記第２のアプリケーションを検出させるものとすることができ、検出された前記第２のアプリケーションを起動させるものとすることができる。
【００１５】
前記第２のアプリケーションには、少なくとも一つの所定の前記記録媒体を識別するための識別情報が対応付けられているものとすることができる。
【００１６】
複数の前記記憶手段のいずれかには、少なくとも１つの前記記録媒体に対応付けられた情報が記憶される第１の領域と、前記第１の領域とは異なる、前記第２のアプリケーションが記憶される第２の領域とを含む記憶領域とが設定されるものとすることができる。
【００１７】
前記実行手段には、前記第１のアプリケーションを実行することにより、装着された前記記録媒体に対応付けられた情報が記憶される前記第１の領域と、装着された前記記録媒体の記録領域とを１つのデータ記憶領域として取り扱わせるようにすることができる。
【００１８】
番組コンテンツデータを取得する取得手段を更に備えさせるようにすることができ、前記記憶手段には、前記取得手段により取得された前記番組コンテンツデータに含まれている前記第２のアプリケーションを記憶させるようにすることができる。
【００１９】
前記実行手段には、仮想マシン環境を有し、前記仮想マシン上で、前記第１のアプリケーションおよび前記第２のアプリケーションを実行するとともに、前記仮想マシン上で実行されない、第３のアプリケーションを更に実行させるようにすることができ、前記第２のアプリケーションには、第２のアプリケーション間通信を用いて、前記第３のアプリケーションと情報を授受させるようにすることができる。
【００２０】
前記第３のアプリケーションは、前記第１のアプリケーションとは独立して実行可能なアプリケーションであるものとすることができる。
【００２１】
前記実行手段には、前記第１のアプリケーションおよび前記第２のアプリケーションを、前記仮想マシンであるJAVA(登録商標) Virtual Machine上で実行させるようにすることができる。
【００２２】
前記第１のアプリケーションおよび前記第２のアプリケーションは、前記第１のアプリケーション間通信として、Inter-Xlet Communicationを用いて、相互に情報を授受して連動して実行されるものとすることができる。
【００２３】
前記第２のアプリケーションには、JAVA(登録商標) Native Interfaceを用いて、前記第３のアプリケーションと情報を授受させるようにすることができる。
【００２４】
前記第２のアプリケーションは、前記第１のアプリケーションとともにのみ実行可能であるものとすることができる。
【００２５】
前記実行手段には、前記第１のアプリケーションとは独立して実行可能な第３のアプリケーションを更に実行させるようにすることができ、前記第２のアプリケーションには、第２のアプリケーション間通信を用いて、前記第３のアプリケーションと情報を授受させるようにすることができる。
【００２６】
前記実行手段には、前記第２のアプリケーションを複数実行することが可能であり、所定の前記第２のアプリケーションを実行することにより、装着された前記第１の記録媒体に記録されている情報に基づいて、異なる前記第２のアプリケーションの取得を制御させるようにすることができる。
【００２７】
前記実行手段には、所定の前記第２のアプリケーションを実行することにより、ネットワークを介して、他の装置からの異なる前記第２のアプリケーションの取得を制御させるようにすることができ、装着された前記第１の記録媒体に記録されている情報には、前記他の装置の前記ネットワークにおけるアドレス情報が含まれているものとすることができる。
【００２８】
前記ネットワークを介して取得された前記第２のアプリケーションを実行する前記実行手段には、前記他の装置と情報を授受することにより所定の認証処理を実行させるようにすることができる。
【００２９】
前記ネットワークを介して取得された前記第２のアプリケーションを実行する前記実行手段には、前記第１の記録媒体に記録されているデータの少なくとも一部を前記第１の記録媒体とは異なる前記第２の記録媒体に複写する処理を、所定の著作権保護の枠組みに基づいて実行させるようにすることができる。
【００３０】
本発明の一側面の情報処理方法は、装着された記録媒体に記録されているデータを再生させる情報処理装置の情報処理方法であって、前記情報処理装置は、複数のアプリケーションを実行可能であり、装着された前記記録媒体、または、装着された前記記録媒体に対応付けられて１つまたは複数の記憶部のうちのいずれかに記憶されているアプリケーションであって、前記記録媒体に記録されているデータを処理する第１の機能を実現するとともに、前記記録媒体に記録されているデータを再生するために必須のアプリケーションである第１のアプリケーションと、前記記憶部のうちのいずれかに記憶され、前記第１の機能とは異なる第２の機能を実現する第２のアプリケーションとを、前記仮想マシン上で、所定のアプリケーション間通信を用いて、相互に情報を授受して連動して実行する。
【００３１】
本発明の一側面の情報処理装置および方法においては、装着された記録媒体、または、装着された記録媒体に対応付けられて１つまたは複数の記憶部のうちのいずれかに記憶されているアプリケーションであって、記録媒体に記録されているデータを処理する第１の機能を実現するとともに、記録媒体に記録されているデータを再生するために必須のアプリケーションである第１のアプリケーションと、記憶部のうちのいずれかに記憶され、第１の機能とは異なる第２の機能を実現する第２のアプリケーションとが、所定のアプリケーション間通信を用いて、相互に情報を授受して連動して実行される。
【００３２】
本発明の一側面のプログラムは、記録媒体に記録された情報を再生する処理をコンピュータに実行させるためのプログラムであって、前記記録媒体に記録されているデータを処理する第１の機能を実現し、所定の１つまたは複数の記憶部のうちのいずれかに記憶されている、前記第１の機能と異なる第２の機能を実現する他のプログラムのうち、自分自身に対応付けられている前記他のプログラムを検出し、検出された前記他のプログラムを起動させ、前記他のプログラムと、所定のアプリケーション間通信を用いて情報を授受して所定の動作を実行するステップを含む処理をコンピュータに実行させる。
【００３３】
前記第１の機能には、前記記録媒体が装着された場合、前記記憶部の記憶領域のうちの装着された前記記録媒体に対応付けられた情報が記憶された領域と、装着された前記記録媒体の記録領域とを１つのデータ記憶領域として取り扱う機能が含まれているものとすることができる。
【００３４】
前記コンピュータは、仮想マシン環境を有するものとすることができ、前記他のプログラムとともに、前記仮想マシン上で実行されるものとすることができる。
【００３５】
本発明の一側面のプログラムにおいては、記録媒体に記録されているデータを処理する第１の機能が実現され、所定の１つ、または複数の記憶部に記憶されている、第１の機能と異なる第２の機能を実現する他のプログラムのうち、自分自身に対応付けられている他のプログラムが検出され、検出された他のプログラムが起動され、他のプログラムと、所定のアプリケーション間通信を用いて情報が授受されて所定の動作が実行される。
【００３６】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、１つの装置を構成している内部ブロックどうしであっても良い。
【００３７】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【００３８】
再生装置は、独立した装置であっても良いし、記録再生装置や録画再生装置のうちの再生を行うブロックであっても良い。記録装置または録画装置は、独立した装置であっても良いし、記録再生装置や録画再生装置の記録処理または録画処理を行うブロックであっても良い。また、記録再生装置や録画記録再生装置は、独立した装置であっても良いし、多くの機能を有する情報処理装置のうちの所定の処理を行うブロックであっても良い、
【発明の効果】
【００３９】
本発明によれば、複数のアプリケーションを実行することができ、特に、２つのアプリケーションが所定のアプリケーション間通信を用いて連動して実行されるので、記録媒体の再生に必須の第１のアプリケーションを、記録媒体の再生に直接かかわらない処理を制御する第２のアプリケーションと連動して実行させることができ、装置ごとに提供可能な機能の自由度が増す。
【発明を実施するための最良の形態】
【００４０】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００４１】
本発明の一側面の情報処理装置は、装着された記録媒体に記録されているデータを再生させる情報処理装置（例えば、図１の記録再生装置１または図２９の録画記録再生装置１０１）であって、情報を記憶する１つまたは複数の記憶手段（例えば、図１または図２９のローカルストレージ２４またはメモリ２３）と、装着された前記記録媒体、または、装着された前記記録媒体に対応付けられて前記記憶手段のうちのいずれかに記憶されているアプリケーションであって、前記記録媒体に記録されているデータを処理する第１の機能（例えば、再生処理、ダウンロード処理、バインディング処理など）を実現するとともに、前記記録媒体に記録されているデータを再生するために必須のアプリケーションである第１のアプリケーション（例えば、ナビゲーションプログラム４５）と、前記記憶手段のうちのいずれかに記憶され、前記第１の機能とは異なる第２の機能（例えば、番組コンテンツ取得、録画予約、録画、または、ウェブブラウジング、もしくは、Managed Copyなど）を実現する第２のアプリケーション（例えば、アプリケーションプログラム４７）とを実行する実行手段（例えば、図１または図２９のコントローラ２１）とを備え、前記実行手段は、前記第１のアプリケーションおよび前記第２のアプリケーションを、第１のアプリケーション間通信（例えば、IXC）を用いて、相互に情報を授受して連動して実行する。
【００４２】
前記第２のアプリケーションは、少なくとも一つの所定の前記記録媒体に対応付けられ、前記実行手段は、前記第１のアプリケーションを実行している場合、前記第１のアプリケーションが記録されているか、または、前記第１のアプリケーションが対応付けられている前記記録媒体に対して対応付けられた前記第２のアプリケーションを検出することができ（例えば、図２５のステップＳ１８３の処理）、検出された前記第２のアプリケーションを起動させることができる。
【００４３】
前記第２のアプリケーションには、少なくとも一つの所定の前記記録媒体を識別するための識別情報（例えば、Disc_id、または、content_id）が対応付けられているものとすることができる。
【００４４】
複数の前記記憶手段のいずれかには、少なくとも１つの前記記録媒体に対応付けられた情報が記憶される第１の領域と、前記第１の領域とは異なる、前記第２のアプリケーションが記憶される第２の領域とを含む記憶領域（例えば、図２４を用いて説明したローカルストレージの記憶領域）とが設定されるものとすることができる。
【００４５】
番組コンテンツデータを取得する取得手段（例えば、図２９のコンテンツ取得部１１１または放送信号取得部１１２）を更に備えることができ、前記記憶手段は、前記取得手段により取得された前記番組コンテンツデータに含まれている前記第２のアプリケーションを記憶することができる。
【００４６】
前記実行手段は、仮想マシン環境（例えば、ＪＶＭ）を有し、前記仮想マシン上で、前記第１のアプリケーションおよび前記第２のアプリケーションを実行するとともに、前記仮想マシン上で実行されない、第３のアプリケーション（例えば、ウェブブラウザや録画処理を行うソフトウェアなどの組み込みアプリケーション４９）を更に実行することができ、前記第２のアプリケーションは、第２のアプリケーション間通信（例えば、JAVA(登録商標) Native Interface）を用いて、前記第３のアプリケーションと情報を授受することができる。
【００４７】
前記実行手段は、前記第２のアプリケーションを複数実行することが可能であり、所定の前記第２のアプリケーション（例えば、図３３のブートローダ１６１、または、Class#1、もしくは、図３７のManaged Copyブートローダ４７−１）を実行することにより、装着された前記第１の記録媒体に記録されている情報に基づいて、異なる前記第２のアプリケーション（例えば、図３３のClass#1、または、Class#2、もしくは、図３７のManaged Copy Application for content_id４７−２、Offers４７−３、または、Permission４７−４）の取得を制御することができる。
【００４８】
前記実行手段は、所定の前記第２のアプリケーションを実行することにより、ネットワーク（例えば、インターネット）を介して、他の装置（例えば、図３３のサーバ１５３、または、図３７の認証サーバ２０３）からの異なる前記第２のアプリケーションの取得を制御することができ、装着された前記第１の記録媒体に記録されている情報には、前記他の装置の前記ネットワークにおけるアドレス情報が含まれているものとすることができる。
【００４９】
前記ネットワークを介して取得された前記第２のアプリケーションを実行する前記実行手段は、前記他の装置と情報を授受することにより所定の認証処理（例えば、Managed Copyに関する課金処理を含めた認証処理）を実行することができる。
【００５０】
前記ネットワークを介して取得された前記第２のアプリケーションを実行する前記実行手段は、前記第１の記録媒体に記録されているデータの少なくとも一部を前記第１の記録媒体とは異なる前記第２の記録媒体に複写する処理（例えば、Managed Copy）を、所定の著作権保護の枠組み（例えば、AACS（Advanced Access Content System））に基づいて実行することができる。
ことができる。
【００５１】
本発明の一側面の情報処理方法は、装着された記録媒体に記録されているデータを再生させる情報処理装置（例えば、図１の記録再生装置１または図２９の録画記録再生装置１０１）の情報処理方法であって、前記情報処理装置は、複数のアプリケーションを実行可能であり、前記記録媒体に記録されているデータを処理する第１の機能（例えば、再生処理、ダウンロード処理、バインディング処理など）を実現するためのアプリケーションであって、装着された前記記録媒体、または、装着された前記記録媒体に対応付けられて１つまたは複数の記憶部（例えば、図１または図２９のローカルストレージ２４またはメモリ２３）のうちのいずれかに記憶され、前記記録媒体に記録されているデータを再生するために必須のアプリケーションである第１のアプリケーション（例えば、ナビゲーションプログラム４５）と、前記記憶部のうちのいずれかに記憶され、前記第１の機能とは異なる第２の機能（例えば、番組コンテンツ取得、録画予約、録画、または、ウェブブラウジング、もしくは、Managed Copyなど）を実現する第２のアプリケーション（例えば、アプリケーションプログラム４７）とを、前記仮想マシン上で、所定のアプリケーション間通信（例えば、IXC）を用いて、相互に情報を授受して連動して実行する(例えば、図２７、図３０、図３１、または、図３２、もしくは、図３４、図３５、または、図３８および図３９を用いて説明した処理)。
【００５２】
本発明の一側面のプログラムは、記録媒体に記録された情報を再生する処理をコンピュータに実行させるためのプログラム（例えば、ナビゲーションプログラム４５）であって、前記記録媒体に記録されているデータを処理する第１の機能（例えば、再生処理、ダウンロード処理、バインディング処理など）を実現し、所定の１つまたは複数の記憶部のうちのいずれかに記憶されている、前記仮想マシン環境で実行可能であり、前記第１の機能と異なる第２の機能を実現する他のプログラム（例えば、アプリケーションプログラム４７）のうち、自分自身に対応付けられている前記他のプログラムを検出し（例えば、図２５のステップＳ１８３の処理）、検出された前記他のプログラムを起動させ、前記他のプログラムと、所定のアプリケーション間通信（例えば、IXC）を用いて情報を授受して所定の動作を実行する（例えば、図２５のステップＳ１８５の処理であって、図２７、図３０、図３１、または、図３２を用いて説明した処理）ステップを含む処理をコンピュータに実行させる。
【００５３】
以下、図を参照して、本発明の実施の形態について説明する。
【００５４】
図１は、記録再生装置１の構成例を示すブロック図である。
【００５５】
コントローラ２１は、ローカルストレージ２４に記憶されているナビゲーションプログラム（後述）をメモリ２３に展開して実行するか、または、光ディスクドライブ２２を制御して光ディスク１１に記録されているナビゲーションプログラムを読み出し、メモリ２３に展開して実行することで、記録再生装置１に装着されている光ディスク１１の再生動作を制御する。また、コントローラ２１は、インターネットインタフェース２５、または、リムーバブルメディア２８を介したアプリケーションプログラムまたはナビゲーションプログラムの取得を制御して、取得されたアプリケーションプログラムまたはナビゲーションプログラムを、ローカルストレージ２４に記憶するとともに、メモリ２３に展開して実行することができる。
【００５６】
更に、コントローラ２１は、装着される光ディスク１に記録されている情報を再生するためのナビゲーションプログラム、ナビゲーションプログラムと連動して実行可能なアプリケーションプログラム、および、記録再生装置１に、ナビゲーションプログラムが記録されている光ディスク１１が装着されているか否かにかかわらず、単独で実行可能な組み込みアプリケーションを実行することができる。ナビゲーションプログラムおよびアプリケーションプログラムのそれぞれの少なくとも一部は、例えばJAVA(登録商標)などの、仮想マシンの実装によりマルチプラットフォームで動作可能なようになされている。また、組み込みアプリケーションは、コントローラ２１における実行環境でのみ動作可能であっても良いし、仮想マシンの実装によりマルチプラットフォームで動作可能なようになされていてもよい。
【００５７】
また、コントローラ２１は、ローカルストレージ２４またはメモリ２３に記憶されているアプリケーションプログラムと、光ディスク１１またはローカルストレージ２４に記録されているナビゲーションプログラムとが、いずれも、同様の仮想マシン上で動作可能であり、アプリケーション間通信機能が提供されている場合においては、これらを、それぞれメモリ２３に展開し、連動させて動作させることにより、記録再生装置１の動作を制御することができる。
【００５８】
光ディスクドライブ２２は、コントローラ２１による制御に従って光ディスク１１からデータを読み出し、読み出したデータを、コントローラ２１、メモリ２３、または、トランスコーダ２６に出力したり、メモリ２３、ローカルストレージ２４、または、トランスコーダ２６から供給された信号を、装着された光ディスク１１に記録する。光ディスク１１から読み出された情報が、ナビゲーションプログラムや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)などより構成される。
【００７２】
インターネットインタフェース２５は、有線または無線によりネットワーク２に接続されており、コントローラ２１からの制御に従って、ネットワーク２を介して、サーバ３との間で通信を行い、サーバ３からダウンロードされたデータや、ナビゲーションプログラムまたはアプリケーションプログラムなどをローカルストレージ２４に供給する。サーバ３からは、例えば、そのとき記録再生装置１に装着されている光ディスク１１に記録されている、図２を用いて説明したデータをアップデートさせるデータがコンテンツとしてダウンロードされる。ローカルストレージ２４は、サーバ３からネットワーク２経由でダウンロードしたコンテンツを記録することができる。
【００７３】
トランスコーダ２６は、光ディスクドライブ２２、または、ローカルストレージ２４から供給されるＡＶストリーム、または、テキストデータをデコードし、得られたビデオ信号とオーディオ信号を外部の表示装置に出力する。表示装置においては、トランスコーダ２６によりデコードされた信号に基づいて、例えば、光ディスク１１に記録されているコンテンツの出力（映像の表示、音声の出力）が行われる。また、トランスコーダ２６は、光ディスクドライブ２２、または、ローカルストレージ２４から供給されるＡＶストリーム、または、テキストデータを、所定の方式にフォーマット変換、すなわち、デコード処理を実行した後、所定の方式にエンコードし、再び、光ディスクドライブ２２に供給して、装着された光ディスク１１（フォーマット変換されたデータの読み出し元である光ディスク１１とは異なるディスクであっても良いことは言うまでもない）に記録させることができる。
【００７４】
操作入力部２９は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ２１に供給する。
【００７５】
また、コントローラ２１には、必要に応じてドライブ２７も接続されており、ドライブ２７には、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（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パケットは、トランスポートパケットにパケット化される。
【００９２】
図６は、図１のコントローラ２１が有する機能のうち、JAVA(登録商標)環境によって提供される機能、および、記録再生装置１に予め埋め込まれている機能を示すモジュール構成、いわゆる、ソフトウェアスタックの第１の例について説明するための図である。
【００９３】
また、ここでは、コントローラ２１において実行されるナビゲーションプログラムの全て、および、ナビゲーションプログラムと連動して実行可能なアプリケーションプログラムが、JAVA(登録商標)言語を用いて記載されているものとして説明するが、これらのプログラムは、例えば、C#やVisual Basicなど、仮想マシン上で動作可能な、すなわち、マルチプラットフォームで動作可能なプログラミング言語であれば、いずれのプログラミング言語が用いられた場合においても、同様にして実行可能である。また、記録再生装置１に予め埋め込まれている機能を制御するプログラムである組み込みアプリケーション４９は、マルチプラットフォームで動作可能なプログラミング言語である必要はないが、例えば、CやC++など、JAVA(登録商標)のXletとアプリケーション間通信が可能なものであると好適である。
【００９４】
ドライバ４１は、記録再生装置１のハードウェアを動作させるための専用ソフトウェアである。ドライバ４１には、例えば、光ディスクドライブ２２やドライブ２７に含まれている各種モータや光ピックアップなどのハードウェアを制御するためのドライバや、外部接続されている表示装置に画像を表示させたり、外部接続されているスピーカから音声を出力させるためのドライバや、操作入力部２９に設けられているボタンやキー、または、図示しないリモートコマンダからのコマンドの受信部などの動作を制御するためのドライバや、インターネットインタフェース２５を介した情報の授受を制御するためのドライバなどが含まれている。
【００９５】
ＯＳ（Operation System）４２とは、コントローラ２１の基本的な動作基盤となるものであり、例えば、ハードウェアを動作させるためのソフトウェアであるドライバ４１の管理や、各種の情報を記録するメモリ２３およびローカルストレージ２４の管理など、多くのアプリケーションプログラム（ここでは、ナビゲーションプログラム４５およびアプリケーションプログラム４７−１乃至４７−ｎ）から共通して利用される基本的な機能を提供し、記録再生装置１のシステム全体を管理するソフトウェアである。
【００９６】
アプリケーションマネージャ４３は、このソフトウェアスタックにおいて実行可能なようになされている複数のアプリケーション（ここでは、ナビゲーションプログラム４５およびアプリケーションプログラム４７−１乃至４７−ｎ）が実行する処理を管理するものである。
【００９７】
JVM(JAVA(登録商標) Virtual Machine)４４は、JAVA(登録商標)バイトコードをそのプラットフォームのネイティブコードに変換して実行するソフトウェアである。JAVA(登録商標)で開発されたソフトウェアであるナビゲーションプログラム４５やアプリケーションプログラム４７−１乃至４７−ｎは、プラットフォームから独立した独自の形式(JAVA(登録商標)バイトコード)になっており、そのままでは実行することができない。このため、JVM４４は、JAVA(登録商標)バイトコードを記録再生装置１におけるネイティブコードに変換しながら、ナビゲーションプログラム４５やアプリケーションプログラム４７−１乃至４７−ｎを実行する。
【００９８】
ナビゲーションプログラム４５は、例えば、図２乃至図５を用いて説明したように、光ディスク１１およびローカルストレージ２４に記録されているデータを再生させるために提供されているプログラムであって、装着されている光ディスク１１およびローカルストレージ２４のうちの装着されている光ディスク１１に対応付けられている領域に記憶されているデータに関する処理を制御するためのプログラムである。
【００９９】
APIライブラリ４６とは、JVM４４上で動作するソフトウェアであるナビゲーションプログラム４５を開発する際に使用できる命令や関数の集合、または、それらを利用するためのプログラム上の手続きを定めた規約の集合である。ナビゲーションプログラム４５の開発者は、規約に従ってその機能を呼び出すだけで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができる。APIの具体的な一例として、ファイルアクセスに関するAPIについて後述する。
【０１００】
すなわち、ナビゲーションプログラム４５は、APIライブラリ４６として用意された命令や関数の範囲でのみ、記録再生装置１のハードウェアを制御することができる。
【０１０１】
アプリケーションプログラム４７−１乃至４７−ｎは、JAVA(登録商標)などのプログラミング言語で記述されており、JVM４４上で動作する。ナビゲーションプログラム４５が、基本的に、光ディスク１１に対応付けられた所定の機能を提供するものであるのに対して、アプリケーションプログラム４７−１乃至４７−ｎは、記録再生装置１の独自の機能を提供するためのアプリケーションプログラムである。アプリケーションプログラム４７−１乃至４７−ｎは、記録再生装置１のローカルストレージ２４に予め保存されていても良いし、光ディスク１１、または、リムーバブルメディア２８によってインストールされても良いし、ネットワーク２を介してダウンロードされ、インストールされても良い。
【０１０２】
以下の説明においては、アプリケーションプログラム４７−１乃至４７−ｎを個々に区別する必要がない場合、単に、アプリケーションプログラム４７と称する。
【０１０３】
ミドルウェア４８は、ＯＳ４２上で動作し、マルチプラットフォームに対して、記録再生装置１（コントローラ２１）独自の環境において実行されるものとされる場合がある組み込みアプリケーション４９に対してＯＳ４２よりも高度で具体的な機能を提供するものである。なお、組み込みアプリケーション４９は、例えば、JAVA(登録商標)などの仮想マシン環境で実行可能な言語で記述されていても良いので、その場合は、ミドルウェア４８は、実質的に、ＪＶＭ４４となる。
【０１０４】
組み込みアプリケーション４９は、記録再生装置１に、ナビゲーションプログラムが記録されている光ディスク１１が装着されているか否かにかかわらず、ミドルウェア４８上で実行可能なようになされている。組み込みアプリケーション４９は、アプリケーションプログラム４７に対して、上位のアプリケーションである（図中、組み込みアプリケーション４９は、アプリケーションプログラム４７に対して、上位のアプリケーションであることを示すように図示されているが、その一部がJVM上で実行可能なわけではなく、あくまでも、ミドルウェア４８上において実行可能である）。
【０１０５】
また、組み込みアプリケーション４９は、光ディスク１１に記録されている情報の再生処理とは直接かかわらない機能を実現するものであっても良い。すなわち、組み込みアプリケーション４９は、例えば、放送波、または、ケーブルネットワークなどを介してユーザに提供される番組コンテンツの録画を制御するプログラム、ウェブブラウザ、データベース処理を実行するプログラム、または、ユーザの操作入力の補助となる表示画面（いわゆるＧＵＩ）の表示を制御するプログラム、もしくは、ネットワーク２を介して、所定のサーバと情報を授受する場合のインタフェース、または、装着された光ディスクなどの記録媒体にデータを記録する処理など、装着された光ディスク１１に記録されているコンテンツデータ、または、光ディスク１１に対応付けられてローカルストレージ２４に記憶されたダウンロードデータの再生処理に必要なプログラムではない。
【０１０６】
このように、装着された光ディスク１１に記録されているコンテンツデータ、または、光ディスク１１に対応付けられてローカルストレージ２４に記憶されたダウンロードデータの再生処理に必須ではない組み込みアプリケーション４９を、JAVA(登録商標)などの仮想マシン環境以外で実行することが可能な構成とした場合、従来用いられていた、または、他の装置などで用いられるハードウェアおよびソフトウェア資源が、マルチプラットフォームに対応するものではなくても、これを流用したり、共通で利用することができるので、開発コストを大幅に抑制することが可能となる。
【０１０７】
次に、図７に、コントローラ２１におけるソフトウェアスタックの第２の例を示す。
【０１０８】
ここでは、コントローラ２１において実行されるナビゲーションプログラム４５の一部、および、ナビゲーションプログラム４５と連動して実行可能なアプリケーションプログラム４７が、JAVA(登録商標)言語を用いて記載され、ナビゲーションプログラム４５の一部、および、組み込みアプリケーション４９は、JAVA(登録商標)言語を用いて記載されていなくても良い（ミドルウェア４８上で実行される）こと以外は、図６を用いて説明した場合と基本的に同様である。
【０１０９】
このような構成をとる場合においても、ナビゲーションプログラム４５の一部、および、ナビゲーションプログラム４５と連動して実行可能なアプリケーションプログラム４７が、JAVA(登録商標)言語などの仮想マシン上で動作可能な、すなわち、マルチプラットフォームで動作可能なプログラミング言語を用いて記載されることにより、IXCによるアプリケーション間通信が実行されて、連動した処理が実行される。
【０１１０】
また、この場合においても同様に、装着された光ディスク１１に記録されているコンテンツデータ、または、光ディスク１１に対応付けられてローカルストレージ２４に記憶されたダウンロードデータの再生処理に必須ではない組み込みアプリケーション４９を、JAVA(登録商標)などの仮想マシン環境以外で実行することが可能な構成とした場合、従来用いられていた、または、他の装置などで用いられるハードウェアおよびソフトウェア資源が、マルチプラットフォームに対応するものではなくても、これを流用したり、共通で利用することができるので、開発コストを大幅に抑制することが可能となる。
【０１１１】
このように、アプリケーションプログラム４７は、ナビゲーションプログラム４５のために用意されたAPIライブラリ４６とは異なる独自のAPI(すなわち、図８を用いて後述するAPI５１およびAPI５２)を用いて、記録再生装置１のハードウェアを制御する、換言すれば、記録再生装置１における各種パラメータを操作することが可能である。そして、アプリケーションプログラム４７は、JAVA(登録商標)で記述されていない、記録再生装置１が特定の機能を実現するために予め有しているシステムに対しても、制御を行うことが可能である。
【０１１２】
例えば、記録再生装置１が、放送番組を受信する機能、受信する放送番組のチャンネルを変更する機能、受信された放送番組を録画する機能、または、インターネットなどの広域ネットワークに接続して、ウェブブラウジングを行う機能、もしくは、ネットワーク２を介して所定のサーバと情報を授受する場合のインタフェース機能、または、装着された光ディスクなどの記録媒体にデータを記録する機能などを有していた場合、これらの機能を提供する組み込みアプリケーション４９、および、ナビゲーションプログラム４５に連動してこれらの機能を制御することが可能なアプリケーションプログラム４７を用意することが可能である。なお、APIライブラリ４６として用意された命令や関数に、これらの機能を制御する命令などが含まれていない場合、ナビゲーションプログラム４５は、これらの機能を直接制御することはできない。
【０１１３】
光ディスク１１は、ナビゲーションプログラム４５を実行するために必要な一定の機能を有し、ナビゲーションプログラム４５がインストールされている装置であれば、記録再生装置１以外の装置であっても、再生することができるようになされている。すなわち、光ディスク１１に記録されているデータを、必要に応じて、ローカルストレージ２４に記録されているデータとともに再生させるためのナビゲーションプログラム４５およびAPIライブラリ４６は、光ディスク１１を再生する全ての装置が有するべき必須のアプリケーションである。光ディスク１１を再生するさまざまな装置のそれぞれに固有の機能、換言すれば、ナビゲーションプログラム４５を実行するために必要な一定の機能以外の機能を、全てAPIライブラリ４６に用意するのは困難である。したがって、光ディスク１１の再生処理に必須ではない機能（記録再生装置１に固有の機能）に関するAPIは、APIライブラリ４６に用意されていない可能性が高いので、ナビゲーションプログラム４５は、記録再生装置１に固有の機能を直接的に制御することはできない。
【０１１４】
換言すれば、アプリケーションプログラム４７および組み込みアプリケーション４９が存在しなくても、記録再生装置１において光ディスク１１を再生する処理を実行することが可能である。具体的には、例えば、記録再生装置１の独自の機能として放送番組を受信する機能、取得した番組コンテンツを録画する機能、データベース機能、ウェブブラウジング機能などが提供されていない装置であっても、または、装着された記録媒体へのデータの記録機能を有さない、換言すれば、再生機能のみを提供する装置であっても、ナビゲーションプログラム４５を実行可能な環境さえ提供されていれば、光ディスク１１を再生することは可能である。 
【０１１５】
また、組み込みアプリケーション４９は、ナビゲーションプログラム４５とは独立して単独で実行可能なアプリケーションである。そして、これに対して、アプリケーションプログラム４７は、ナビゲーションプログラム４５と連動する場合にのみ動作するものであっても良い。そして、ナビゲーションプログラム４５と組み込みアプリケーション４９とは、それぞれ完全に独立して実行することが出来るが、ナビゲーションプログラム４５と組み込みアプリケーション４９とが、連動して(関連付けられて)実行されるためには、アプリケーションプログラム４７の介在が必要である。
【０１１６】
アプリケーションプログラム４７とナビゲーションプログラム４５とが連動して動作するようになされている場合のナビゲーションプログラム４５は、ローカルストレージ２４またはメモリ２３に保存されている、自分自身と連動して動作するアプリケーションプログラム４７を検出し、起動させることができるようになされている。すなわち、アプリケーションプログラム４７には、例えば、光ディスク１１を識別するための識別情報（例えば、後述するdisc_idまたはcontent_id）や、コンテンツの提供者を識別する識別情報（例えば、後述するorg_id）などが、少なくとも１つ（すなわち、複数のナビゲーションプログラム４５と連動して動作するようになされている場合には、複数の識別情報が）対応付けられており、ナビゲーションプログラム４５は、所定の識別情報に対応付けられたアプリケーションプログラム４７を検出して起動させ、連動して動作を実行するようになされている。
【０１１７】
また、例えば、ユーザの操作入力によってアプリケーションプログラム４７を起動させることができるようにしても良い。このような場合であっても、アプリケーションプログラム４７は、ナビゲーションプログラム４５と連動して動作するようになされている。そして、アプリケーションプログラム４７には、例えば、光ディスク１１を識別するための識別情報（例えば、後述するdisc_idまたはcontent_id）や、コンテンツの提供者を識別する識別情報（例えば、後述するorg_id）などを、１つ、または、複数対応付けることができる。
【０１１８】
また、JVM４４上で動作するアプリケーションプログラム４７とナビゲーションプログラム４５(または、ナビゲーションプログラム４５のうちの一部)とは、JAVA(登録商標)のXletとして構成することができ、これらのアプリケーション間通信は、IXC(Inter-Xlet Communication）を用いて実行される。
【０１１９】
更に、JVM４４上で動作する複数のアプリケーションプログラム４７における相互のアプリケーション間通信も、IXCを用いて実行される。
【０１２０】
Xletは、PBP(Personal basis Profile)およびPP(Personal Profile)のプロファイルで仕様化されたアプリケーション実行モデルである。Xletは、もともと、テレビのセットトップボックス用のJAVA(登録商標)実行環境仕様であるJAVA(登録商標)TVで定義されたものであるが、Xlet間通信、すなわち、IXC仕様が追加され、CDC（Connected Device configuration）上のアプリケーションモデルとして仕様化されたものである。
【０１２１】
Xletの実行環境は、複数のXletの同時実行をサポートするが、それぞれのXletは、独立したクラスローダを利用するため、他のXletを直接参照することができない。複数のXlet間で情報をやり取りするためにIXCが規定されている。IXCを用いたXlet間、すなわち、アプリケーションプログラム４７とナビゲーションプログラム４５との情報の授受と、連動して処理が実行される場合の具体的な例については、図２４乃至図３９を用いて後述する。
【０１２２】
次に、図８は、図６および図７を用いて説明したソフトウェアスタックに表されるそれぞれのアプリケーションソフトウェアにおける、記述言語とアプリケーション間の関連について説明するための図である。
【０１２３】
すなわち、ナビゲーションプログラム４５は、少なくともその一部はJAVA(登録商標)で記述されているとともに、一部は、その他の言語で記述されるものであってもよい。そして、ナビゲーションプログラム４５は、再生をコントロールする機能群５３−１や表示をコントロールする機能群５３−２など、装着された光ディスク１１に記録されているコンテンツデータ、または、光ディスク１１に対応付けられてローカルストレージ２４に記憶されたダウンロードデータの再生処理に必須である機能群５３（例えば、ドライバ４１により実現される各種機能などを含む）を、基本的には、APIライブラリ４６からメソッドを呼び出すことにより制御する。また、ナビゲーションプログラム４５において、その他の言語で記述される部分においては、機能群５３に対して、所定のコマンドを用いて直接制御するものであっても良い。
【０１２４】
記録再生装置１において、さまざまなコンテンツオーサにより提供される複数種類の光ディスク１１を再生するためには、また、それぞれの光ディスク１１を、記録再生装置１のみならず、さまざまなメーカにより提供される記録再生装置、または、再生装置などにおいて再生可能なようにするためには、光ディスク１１を提供するコンテンツオーサ、および、再生装置（記録再生装置１を含む）を提供するメーカが準拠すべき規格（または規格に準じる決まりごと）が必要となる。
【０１２５】
すなわち、光ディスク１１に対応付けられているナビゲーションプログラム４５によって、記録再生装置１に装着された光ディスク１１に記録されているコンテンツデータ、または、光ディスク１１に対応付けられてローカルストレージ２４に記憶されたダウンロードデータの再生処理が実行されるためには、換言すれば、再生処理に必須である機能群５３が制御されるためには、APIライブラリ４６のメソッドを呼び出す場合のAPIライブラリのメソッド、または、直接コマンドを発行する場合のコマンドは、規格（または規格に準じる決まりごと）によって定められる必要がある。
【０１２６】
これに対して、ナビゲーションプログラム４５によって起動され、ナビゲーションプログラムとIXCを用いてアプリケーション間通信を行うことにより連携して動作する、JAVA(登録商標)によって記載されたアプリケーションプログラム４７は、再生処理に必須のものでないため、規格（または規格に準じる決まりごと）に準じていなくても良い。
【０１２７】
そこで、アプリケーションプログラム４７は、APIライブラリ４６とは異なる独自のAPIライブラリ５１および５２を用意することにより、再生処理に必須である機能群５３にアクセスすることも、記録再生装置１が有する再生処理に必須でない機能群５４にアクセスすることも可能であり、更に、記録再生装置１のローカルな機能である組み込みアプリケーション４９にJNI(JAVA(登録商標) Native Interface)を用いてアクセスすることも可能となる。
【０１２８】
記録再生装置１のローカルな機能である組み込みアプリケーション４９には、例えば、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１（いわゆるウェブブラウザ）、録画機能をコントロールする組み込みアプリケーション４９−２、データライブラリ機能をコントロールする組み込みアプリケーション４９−３（例えば、いわゆるデータベースソフトウェアまたはその機能のうちの一部）、または、GUI表示画面に関する機能をコントロールするとともに、ＧＵＩ表示画面を参照したユーザによるユーザオペレーションの取得を制御する組み込みアプリケーション４９−４などがある。
【０１２９】
なお、ここでは、組み込みアプリケーション４９を、JAVA(登録商標)とは異なるその他の言語で記述されているものとして説明したが、組み込みアプリケーション４９は、JAVA(登録商標)で記述されても良いことはもちろんであり、その場合、アプリケーションプログラム４７と組み込みアプリケーション４９は、IXCによりアプリケーション間通信を実行する。換言すれば、光ディスク１１を再生装置などにおいて再生させるための規格（または規格に準じる決まりごと）に準じる必要がないアプリケーションプログラム４７は、組み込みアプリケーション４９がJAVA(登録商標)とは異なるその他の言語で記述されているものであっても、JAVA(登録商標)で記述されたものであっても、アプリケーション間通信を行うことができるものである。一方、規格（または規格に準じる決まりごと）に準じる必要があるナビゲーションプログラム４５は、組み込みアプリケーション４９とアプリケーション間通信を行うことができない。
【０１３０】
これらの組み込みアプリケーション４９は、バージョンアップされる場合がある。そして、これらの組み込みアプリケーション４９は、通常、複数の情報処理装置などに共通して利用されたり、予めバージョンアップが想定されて設計されているため、OSや他のアプリケーションとのインタフェースを変更することなく、バージョンアップされる場合がほとんどである。したがって、組み込みアプリケーション４９がバージョンアップされても、アプリケーションプログラム４７とのインタフェースが変更されなければ、アプリケーションプログラム４７とのアプリケーション間通信機能は維持されるので、ナビゲーションプログラム４５がアプリケーションプログラム４７と連携して動作する場合に利用する組み込みアプリケーション４９がバージョンアップされても、ナビゲーションプログラム４５やアプリケーションプログラム４７を変更せずに、同様の処理を実行することが可能となる。
【０１３１】
具体的には、例えば、GUI表示画面に関する機能をコントロールする組み込みアプリケーション４９−４において、例えば、画面のスクロールや、アイコン等の選択決定方法、または、ＧＵＩ表示画面を参照したユーザによるユーザオペレーションの取得などに関するクラスライブラリを予め決めておくことなどにより、組み込みアプリケーション４９がバージョンアップされても、ナビゲーションプログラム４５やアプリケーションプログラム４７を変更せずに、同様の処理を実行することが可能となる。
【０１３２】
このような構成を有することにより、各種の記録媒体や有線または無線の通信を用いて、所定の装置が有する機能を直接制御する制御プログラムを供給したり、または、所定の装置に既にインストールされた制御プログラムに対するコマンドを供給することなどにより、装置を遠隔から制御することができるようになされている場合、すなわち、単独のアプリケーションが所定の装置で実行されるのに過ぎない場合とは異なり、外部から供給されるプログラム（ここでは、ナビゲーションプログラム４５）と、装置自身が既にインストールしているアプリケーション（ここでは、アプリケーションプログラム４７であり、場合によっては、実質的に組み込みアプリケーション４９も含まれる）とが連携して動作されるので、光ディスク１１に対応付けられたコンテンツを、さまざまな再生装置などにおいて再生可能なように定められた規格（または規格に準じる決まりごと）に準じつつ、装置独自のサービスを、装置単独ではなく、光ディスク１１に関連付けて提供することが可能な記録再生装置１を提供することが出来る。
【０１３３】
図９は、図６を用いて説明したコントローラ２１の機能のうち、ナビゲーションプログラムを実行している場合に実現される機能構成例を示す機能ブロック図である。
【０１３４】
図９の各構成は、予め用意されている、または、光ディスク１１に記録されているナビゲーションプログラム４５がコントローラ２１により実行されることにより実現される。
【０１３５】
操作入力取得部６１は、操作入力部２９から入力された、ユーザからの操作入力を示す信号を取得し、ユーザからの操作入力を示す信号を、メニュー画面表示制御部６２、データ取得部６３、ローカルストレージディレクトリ管理部６４、または、再生制御部６７のうちの対応する箇所に出力する。
【０１３６】
メニュー画面表示制御部６２は、光ディスク１１に記録されているコンテンツの音声、または字幕の言語や、映像のアングルを選択するときにユーザにより操作されるボタンや、ダウンロードするアップデートファイルや、削除されるファイルを選択するときにユーザにより操作されるボタンなどを含むメニュー画面を外部の表示装置に表示させる。
【０１３７】
データ取得部６３は、図１のインターネットインタフェース２５において行われる通信、または、ドライブ２７によるリムーバブルメディア２８との情報の授受を制御する。例えば、データ取得部６３は、ユーザが指示したアップデートファイルをサーバ３からダウンロードして取得し、取得したファイルをローカルストレージディレクトリ管理部６４に出力する。また、データ取得部６３は、後述するファイルシステムマージ処理部６６により、必要なファイルを示す情報の供給を受け、必要なファイルを、サーバ３からダウンロードして取得し、取得したファイルをローカルストレージディレクトリ管理部６４に出力する。
【０１３８】
ローカルストレージディレクトリ管理部６４は、ローカルストレージ２４のディレクトリを管理し、ローカルストレージ２４に対するデータの書き込み、および、ローカルストレージ２４からのデータの読み出し、並びに、ローカルストレージ２４からのデータの削除を制御する。例えば、ローカルストレージディレクトリ管理部６４の制御によりローカルストレージ２４から読み出されたPlayListは、メモリ２３に出力され、ローカルストレージ２４から読み出されたＡＶストリームの音声データおよび映像データやテキスト字幕ファイルのテキストデータは、トランスコーダ２６に出力される。また、ローカルストレージディレクトリ管理部６４は、ファイルシステムマージ処理部６６により、光ディスク１１のファイルシステムと、ローカルストレージ２４のファイルシステムとのマージが行われる場合、ローカルストレージ２４のファイルシステムに関する情報をファイルシステムマージ処理部６６に出力する。
【０１３９】
光ディスクディレクトリ管理部６５は、光ディスク１１のディレクトリを検出して管理し、光ディスク１１からの各データの読み出しを制御する。光ディスク１１には識別情報であるorganization_id（以下、org_idとも称する）とdisc_id、また、必要に応じてcontent_idが設定されている。光ディスクディレクトリ管理部６５の制御により、光ディスク１１から読み出されたorg_idとdisc_id（必要に応じてcontent_id）は、データ取得部６３、および、ローカルストレージディレクトリ管理部６４に出力される。また、光ディスクディレクトリ管理部６５の制御により、光ディスク１１から読み出されたPlayListは、メモリ２３に出力され、光ディスクから読み出されたＡＶストリームの音声データおよび映像データやテキスト字幕ファイルのテキストデータは、トランスコーダ２６に出力される。また、光ディスクディレクトリ管理部６５は、ファイルシステムマージ処理部６６により、光ディスク１１のファイルシステムと、ローカルストレージ２４のファイルシステムとのマージが行われる場合、光ディスク１１のファイルシステムに関する情報をファイルシステムマージ処理部６６に出力する。org_id、disc_id、および、content_idについては、後述する。
【０１４０】
ファイルシステムマージ処理部６６は、光ディスクディレクトリ管理部６５から供給される光ディスク１１のファイルシステムと、ローカルストレージディレクトリ管理部６４から供給されるローカルストレージ２４のファイルシステムをマージし、１つの仮想的なファイルシステムを生成する。ファイルシステムマージ処理部６６は、マージすることで生成した仮想的なファイルシステムを再生制御部６７に出力する。
【０１４１】
また、ファイルシステムマージ処理部６６は、ローカルストレージ２４に記録されているいくつかのファイルが削除（消去、すなわち、データのdelete）された場合、そのいくつかのファイルの削除により、仮想ファイルシステムにおけるファイルのリンク構造（すなわち、図２乃至図４を用いて説明した様な、光ディスク１１のアプリケーションフォーマットに基づいた、PlayListによるClipの再生のためのデータの連携）に不具合が発生するか否かを判断し、仮想ファイルシステムにおけるファイルのリンク構造に不具合が発生すると判断された場合、不具合の解消に必要なファイルを抽出し、データ取得部６３に必要なファイルを示す情報を供給して、必要なファイルをダウンロードさせることができる。
【０１４２】
更に、ファイルシステムマージ処理部６６は、ローカルストレージ２４に記録されているいくつかのファイルが削除されたことにより、例えば、仮想ファイルシステムにおいて、いずれのPlayListによっても再生されない（全てのPlayListによって指定されない）ファイルが発生した場合、このような不必要なファイルを削除することをローカルストレージディレクトリ管理部６４に指令することができる。
【０１４３】
なお、いくつかのファイルが削除されたことにより発生する不必要なファイルを削除するか否かをユーザにより設定可能なようにしても良い。
【０１４４】
再生制御部６７は、ファイルシステムマージ処理部６６から供給される仮想ファイルシステムで指定されるナビゲーションプログラム４５を実行し、コンテンツの再生を制御する。具体的には、再生制御部６７は、メモリ２３に供給され、記憶されたPlayListを参照し、ローカルストレージディレクトリ管理部６４または光ディスクディレクトリ管理部６５を制御して、光ディスク１１、または、ローカルストレージ２４に記録されているＡＶストリームの音声データ、映像データ、および、必要に応じてテキスト字幕ファイルのテキストデータを、仮想ファイルシステムに基づいて読み出させ、図１のトランスコーダ２６を制御して、光ディスク１１、または、ローカルストレージ２４に記録されているＡＶストリームの音声データ、映像データ、および、必要に応じてテキスト字幕ファイルのテキストデータのデコード（再生）を行わせる。
【０１４５】
そして、アプリケーションプログラム連動処理制御部７１は、ナビゲーションプログラム４５の実行時に、自分自身と連動して実行されるアプリケーションプログラム４７が存在するか否かを検出し、自分自身と連動して実行されるアプリケーションプログラム４７が存在した場合、IXC制御部７２を用いてアプリケーションプログラム４７と情報を授受し、所定の動作を実行する。アプリケーションプログラム連動処理制御部７１により実行される処理の具体的な例については、図２４乃至図３９を用いて後述する。
【０１４６】
IXC制御部７２は、上述したIXCを制御するものであり、ナビゲーションプログラム４５とアプリケーションプログラム４７とのインタフェースの機能を有する。すなわち、IXC制御部７２は、操作入力取得部６１乃至再生制御部６７の機能により実行される処理により得られるデータまたはパラメータの、アプリケーションプログラム４７への送信（具体的には、IxcRegistryへのバインド）を制御したり、アプリケーションプログラム４７からの情報の受信（具体的には、IxcRegistryへのルックアップ）を制御する。更に、IXC制御部７２は、複数のアプリケーションプログラム４７間のインタフェースの機能も有する。
【０１４７】
アプリケーションプログラム実行処理部７３は、アプリケーションプログラム４７の実行を制御する。JNI制御部７４は、アプリケーションプログラム４７と組み込みアプリケーション４９とのJNIによるインタフェースの機能を有する。そして、組み込みアプリケーション実行制御部７５は、組み込みアプリケーション４９の実行を制御する。また、組み込みアプリケーション４９が記録再生装置１の内部で実行されず、記録再生装置１に接続された他の装置において実行される場合、組み込みアプリケーション実行処理部７５は、外部の他の装置において実行される処理を制御するものであっても良い。
【０１４８】
次に、図１０乃至図１９を用いて、ナビゲーションプログラム４５のファイルシステムマージ処理部６６により行われる、光ディスク１１のファイルシステムと、サーバ３からダウンロードされたり、リムーバブルメディア２８からコピーされたり、もしくは、光ディスク１１からコピーされるなどによりローカルストレージ２４に記録されたデータ群を管理するファイルシステムのマージについて説明する。
【０１４９】
ファイルシステムのマージは、例えば、光ディスク１１が記録再生装置１に装着されたとき、光ディスク１１に記録されているコンテンツの再生が指示されたとき、光ディスク１１またはローカルストレージ２４に記録されているいずれかのデータの入出力が指令されたとき、または、ユーザによりマージが指令されたときなどに行われる。
【０１５０】
記録再生装置１のシステムが持つネイティブなファイルシステム（光ディスク１１またはローカルストレージ２４に実際に記録されているデータのファイルシステム）の上位レイヤとして、仮想ファイルシステムが定義される。すなわち、図１０に示されるように、サーバ３から新たなデータをダウンロードして、ローカルストレージ２４に記録させたり、光ディスク１１またはローカルストレージ２４に実際に記録されているデータを再生する処理を実行するナビゲーションプログラム４５、または、そのナビゲーションプログラム４５を扱うユーザが認識可能なのは、上位レイヤである仮想ファイルシステムのみである。換言すれば、仮想ファイルシステムは、ネイティブなファイルシステムを抽象化し、記録再生装置１内の物理デバイスやオペレーティングシステムなどのネイティブな構造を隠蔽するために構築される。
【０１５１】
仮想ファイルシステムの役割は、主に、物理デバイス（光ディスク１１またはローカルストレージ２４）におけるファイル／ディレクトリをマウントして、ユーザから認識される仮想ディスク（Virtual Disc）のファイルシステムを構成することと、ナビゲーションプログラム４５に対して、構築された仮想ディスクへのファイルアクセスAPIを提供することである。
【０１５２】
例えば、ユーザが、光ディスク１１またはローカルストレージ２４に記録されているいずれかのファイルへのアクセスを要求する操作入力を行った場合、図１１に示されるように、ナビゲーションプログラム４５には、仮想ファイルシステムのみしか認識できない。そして、実際の物理デバイスである光ディスク１１またはローカルストレージ２４に記録されているローカルファイルシステム#１、ローカルファイルシステム＃２、または、光ディスク１１内のファイルシステムの構造は、ナビゲーションプログラム４５と、ナビゲーションプログラム４５を取り扱うユーザから隠蔽されるとともに、仮想ファイルシステムを介して、アクセス可能なようになされている。
【０１５３】
図１１に示されるファイルアクセス要求を実行するために、記録再生装置１のナビゲーションプログラム４５は、仮想ファイルシステムが提供するファイル入出力のAPI（Application Programming Interface）を呼び出すことにより、ディスクドライブの物理的な構成やファイルシステムのソフトウェア構成などを意識することなく、光ディスク１１またはローカルストレージ２４に実際に記録されているデータにアクセスすることができる。すなわち、仮想ファイルシステムのAPIは、実際には、記録再生装置１の内部でネイティブなファイルシステムのAPIを呼び出している。
【０１５４】
仮想ファイルシステムは各種のAPI（図６のAPIライブラリ４６に含まれるAPI）を提供しており、例えば、指定したファイルを開くopen（）、指定したファイルを閉じるclose（）、指定したファイルの読み出し位置または書き込み位置を設定するseek（）、指定したファイルの状態を取得するstat（）、指定したファイルを読み出すread（）、指定したファイルを書き込むwrite（）などのAPIが提供される。ナビゲーションプログラム４５が実行されているとき（すなわち、図９を用いて説明した機能が実現されているとき）、再生制御部６７は、これらのAPIを利用して、光ディスク１１またはローカルストレージ２４に記録されているファイルを操作する。
【０１５５】
また、仮想ファイルシステムは、ローカルストレージ２４のディスク領域を分割管理する機能を持つ。ローカルストレージ２４のディスク領域のうち、ナビゲーションプログラム４５により管理されるファイル群の記憶領域は、例えば、図１２に示されるように、org_idごとに分割されたディレクトリ構造を有し、org_id直下のディレクトリであるdisc_id以下は、コンテンツオーサ（コンテンツの提供者）により、フレキシブルなファイル／ディレクトリ構造を構成することができる。ローカルストレージ２４に記憶されるデータが、ローカルストレージ２４のディスク領域のどこに配置されるか、すなわち、ダウンロードされるファイルのファイル／ディレクトリ構造は、ダウンロードされるデータに含まれるファイル管理情報（後述するManifestファイル）の記述により指定される。
【０１５６】
ローカルストレージ２４のファイル／ディレクトリ構造において、ディレクトリを分割するorg_idは、対応する光ディスクにおける仮想ファイルシステムの構築に用いるための識別子であり、disc_idは、同一のorg_idに対応付けられるそれぞれのコンテンツを識別するための識別子であり、org_idと同様に、対応する光ディスクにおける仮想ファイルシステムの構築に用いられる。org_idおよびdisc_idは、それぞれ、ネットワーク２を介してダウンロードされるデータのファイル管理情報（後述するManifestデータ）に含まれるか、または、光ディスクディレクトリ管理部６５により、光ディスク１１から検出される情報である。
【０１５７】
org_idは、例えば、コンテンツの配給元（コンテンツオーサ）や、コンテンツの製作元などの組織や団体ごとに与えられるようにしても良いし、複数のこれらの組織や団体で、１つのorg_idを利用するようにしても良いし、１つのこれらの組織や団体が、複数のorg_idを利用するようにしても良い。また、disc_idは、１つの光ディスク１１に１つのコンテンツが記録されていることを想定した場合、１つの光ディスク１１に１つ対応付けられるものであるが、例えば、１つの光ディスク１１に複数のコンテンツが記録され、それらのコンテンツにそれぞれdisc_idが対応付けられるようにしても良い。また、１つの光ディスク１１に複数のコンテンツが記録されている場合において、１つの光ディスク１１には１つのdisc_idが対応付けられ複数のコンテンツのそれぞれに、disc_idとは異なるcontent_idが対応付けられているものとしてもよい。すなわち、content_idは、コンテンツを識別するための識別子である。このように、org_idおよびdisc_idがどのように用いられるものであっても、仮想ファイルシステムは、それぞれのidを基に構築される。ファイル管理情報（Manifestファイル）並びに、org_idおよびdisc_idの詳細については、図１３を用いて後述する。
【０１５８】
これに対して、アプリケーションからアクセス可能な仮想ディスクのディレクトリ／ファイル構造は、光ディスク１１のディレクトリ／ファイル構造に従うようになされている。すなわち、記録再生装置１に装着された光ディスク１１に対して、対応するorg_idおよびdisc_id以下のデータのファイル構造が、光ディスク１１に記録されているデータのファイル構造とマージされ、光ディスク１１のディレクトリ／ファイル構造に基づいたディレクトリ／ファイル構造を有する仮想ディスクの仮想ファイルシステムが構成される。
【０１５９】
また、仮想ファイルシステムは、ディレクトリおよびファイルの管理機構のほかに、disc単位でファイル管理情報、すなわち、後述するManifestファイルを管理する機能を持つ。仮想ファイルシステムが、ネイティブなファイルシステムのファイルモデルに対して、メタデータとしてファイル管理情報であるManifestファイルのフィールドを定義する目的は、ユーザに対して、実際にローカルストレージ２４に記録されているファイルのパスまたはファイル名を提示するのではなく、コンテンツ内容を表現した名称を提供することと、ダウンロード処理において同一ファイルの二重更新を防止することと、仮想ファイルシステム内でのパス名称、すなわち、光ディスク１１再生時におけるパス名称を定義することとの３つである。
【０１６０】
そして、仮想ファイルシステムは、メタデータ管理のために、Manifestファイルとメタデータ操作手続きの、二つの機能を提供する。Manifestファイルとは、ダウンロードされたファイルの各種属性を示すメタデータであり、Manifest（）は、対応するファイル単位で保存しても、１つのファイルにマージして、Manifest（）セクションの識別子であるmanifest_id（図１３において後述）をキーに識別可能なようにしてもよい。いずれの形態であっても、ここでは、Manifestファイルと総称する。ローカルストレージ２４にダウンロードされたファイルを保持している記録再生装置１は、Manifestファイルを保持していなければならない。また、Manifestファイルは、XMLに代表されるタグ付言語によるテキスト表現をとることも可能である。
【０１６１】
図１３は、Manifestファイルのシンタックスを示す図である。
【０１６２】
manifest_idは、このManifest（）セクションの識別子である。
【０１６３】
organization_id(org_id)は、対応する光ディスクにおける仮想ファイルシステムの構築に用いる識別子を指定するためのフィールドである。この識別子は、図１９を用いて後述する、コンテンツ配布用ファイルのorg_idフィールドを参照することで決定され、アプリケーションプログラムまたはユーザは、このフィールドに自由に値を設定することはできない。
【０１６４】
disc_idは、同一のorg_idに対応付けられるそれぞれの光ディスクまたはコンテンツを一意に識別するための識別子を指定するためのフィールドである。disc_idも、org_idと同様に、対応する光ディスクにおける仮想ファイルシステムの構築に用いられる。この識別子は、図１９を用いて後述する、コンテンツ配布用ファイルのdisc_idフィールドを参照することで決定され、アプリケーションプログラムまたはユーザは、本フィールドに自由に値を設定することはできない。
【０１６５】
次に、permissionは、ユーザに対して可視属性にしてよいか、不可視属性にしておくか、または、ファイルの上書きを禁止するか否かなどの許認可情報をコンテンツオーサが指定するためのフィールドである。なお、permissionの情報は、Manifestファイル以外のいずれかのファイルに記載されたり、または、独立したファイルとして構成されるものとしてもよい。
【０１６６】
図１４に、図１３の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には、同一名称を指定することもできる。
【０１７１】
そして、credentialには、src_file_nameにおいて指定されているファイルが、異なるorg_idのディレクトリ下にある場合に、ファイルアクセス権限をチェックするための情報が記載されている。このことにより、ローカルストレージ２４においては、複数のorg_id以下のディレクトリでコンテンツファイルを共有することが可能となる。
【０１７２】
次に、メタデータ操作手続きについて説明する。
【０１７３】
仮想ファイルシステムは、ナビゲーションプログラム４５またはユーザに対して、Manifest（）のファイル名称、ファイル位置、または、物理構造などを公開せずに、Manifest（）の内容を読み出すためのAPIを定義している。
【０１７４】
すなわち、ナビゲーションプログラム４５、または、記録再生装置１に予め埋め込まれているソフトウェアで実行されるレジデント（常駐）プログラムは、以下のAPIを呼び出すことにより間接的にManifest（）にアクセスすることができる。
【０１７５】
getProperty
引数１:
文字列型データ            
メタデータ操作の対象となるファイルの絶対パス名称
引数２:
文字列型データ
読み出したいメタデータの要素名
戻り値:
文字列型データ
引数で指定した要素に対応するメタデータ
機能:
Manifest（）からメタデータを読み出す。
【０１７６】
なお、実際には、型情報などの詳細なAPIの定義は、記録再生装置１のソフトウェア実行環境のプログラミング言語仕様に依存して変更されなければならない。
【０１７７】
図１５は、光ディスク１１のファイルシステムの例を示す図である。図１５に示されるように、光ディスク１１のファイルシステムはディレクトリ構造を有している。
【０１７８】
光ディスク１１の「root」の下には「BDMV」の名前が設定されたディレクトリが用意され、そのディレクトリに、「Info.bdmv」の名前が設定されたファイルと、「MovieObjects.bdmv」の名前が設定されたファイルが格納されている。以下、適宜、これらのファイルをそれぞれInfoファイル、MovieObjectファイルと称する。また、適宜、各ファイルについては、「ファイル名」に「ファイル」を付加した形で、または、各ディレクトリについては、「ディレクトリ名」に「ディレクトリ」を付加した形で称する。
【０１７９】
Infoファイルは、光ディスク１１を再生するメニューに関する情報を含む。記録再生装置１は、例えば、光ディスク１１のコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面を、Infoファイルに基づいて表示装置に表示させる。Infoファイルには各項目が選択されたときに実行するMovieObjectを設定することができ、ユーザにより再生メニュー画面から１つの項目が選択された場合、記録再生装置１はInfoファイルに設定されているMovieObjectのコマンドを実行する。
【０１８０】
MovieObjectファイルは、MovieObjectを含むファイルである。MovieObjectは、光ディスク１１に記録されているPlayListの再生を制御するコマンド、すなわち、ナビゲーションプログラム４５が発行するコマンドを含み、例えば、記録再生装置１は、光ディスク１１に記録されているMovieObjectの中から１つを選択して、実行することにより、光ディスク１１に記録されているコンテンツを再生させることができる。
【０１８１】
さらに、MovieObjectには、アプリケーションプログラム４７と連動して処理を実行するために必要な各種コマンドが含まれている。具体的には、例えば、ナビゲーションプログラム４５と連動して実行されるアプリケーションプログラム４７が記録再生装置１にインストールされているか否かを問い合わせるコマンド、ナビゲーションプログラム４５と連動して実行されるアプリケーションプログラム４７が記録再生装置１にインストールされている場合に、そのアプリケーションプログラム４７を起動させるコマンドなどが、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」の名前が設定された効果音が格納されている。
【０１８８】
また、光ディスク１１には、識別子であるorg_id、および、disc_id、また、必要に応じてcontent_idが、ユーザなどにより書き換えることができないセキュアな電子データとして、または、物理的にピットによって記録されている。
【０１８９】
図１６は、ローカルストレージ２４のディスク領域のうち、ナビゲーションプログラム４５により管理される記憶領域のファイルシステムの例を示す図である。図１６に示されるように、ローカルストレージ２４のファイルシステムもディレクトリ構造を有している。
【０１９０】
ローカルストレージ２４の「root」の下には、少なくとも１つの「org_id」の名前が設定されたディレクトリが用意され、「org_id」ディレクトリの下には、少なくとも１つの「disc_id」の名前が設定されたディレクトリが用意されている。「org_id」および「disc_id」は、仮想ファイルシステムの構築に用いられるものであり、ローカルストレージ２４の「root」の下のそれぞれの、「org_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」とパス名称が指定されている場合、ダウンロードされたデータは、図１７に示されるように、ローカルストレージ２４において、対応するorg_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」の名前が設定されたディレクトリが用意され、そのディレクトリに、「Info.bdmv」の名前が設定されたファイルと、「MovieObjects.bdmv」の名前が設定されたファイルが格納されている。
【０２０３】
Infoファイルは、光ディスク１１およびローカルストレージ２４に記録され、アプリケーションプログラムから仮想ディスクに記録されているものとして取り扱われるコンテンツを再生するメニューに関する情報を含む。記録再生装置１は、例えば、仮想ディスクに記録されているものとして取り扱われるコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面を、Infoファイルに基づいて表示装置に表示させる。Infoファイルには各項目が選択されたときに実行するMovieObjectを設定することができ、ユーザにより再生メニュー画面から１つの項目が選択された場合、記録再生装置１はInfoファイルに設定されているMovieObjectのコマンドを実行する。
【０２０４】
MovieObjectファイルは、MovieObjectを含むファイルである。MovieObjectは、仮想ディスクに記録されているものとして取り扱われるPlayListの再生を制御するコマンド、すなわち、ナビゲーションプログラム４５が発行するコマンドを含み、例えば、記録再生装置１は、仮想ディスクに記録されているものとして取り扱われるMovieObjectの中から１つを選択して、実行することにより、仮想ディスクに記録されているものとして取り扱われるコンテンツを再生させることができる。さらに、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をキーに識別可能なようにしてもよい。
【０２２１】
organization_id(org_id)は、対応する光ディスクにおける仮想ファイルシステムの構築に用いる識別子を指定するためのフィールドである。
【０２２２】
disc_idは、同一のorg_idに対応付けられるそれぞれの光ディスク１１、または、コンテンツを識別するための識別子を指定するためのフィールドである。すなわち、このアーカイブは、disc_idで指定される光ディスク１１のコンテンツに対するアップデートデータである。
【０２２３】
permissionは、ユーザに対して可視属性にしてよいか、不可視属性にしておくか、または、ファイルの上書きを許可するか否かなどの許認可情報をコンテンツオーサが指定するためのフィールドである。Permissionにおいて指定可能な値については、図１４を用いて説明した場合と同一である。なお、permissionの情報は、Manifestファイル以外のいずれかのファイルに記載されたり、または、独立したファイルとして構成されるものとしてもよい。
【０２２４】
src_file_nameは、図１７を用いて説明した様に、ローカルストレージ２４にて記録されるべきファイルのパス名称を指定するためのフィールドである。ファイル／ディレクトリ名称は、ISO/IEC 646規格に従い符号化されているものとする。
【０２２５】
dst_file_nameは、図１７を用いて説明した様に、仮想ディスク（仮想ファイルシステム）におけるバインド先のファイルのパス名称を指定するためのフィールドである。ファイル／ディレクトリ名称は、ISO/IEC 646規格に従い符号化されているものとする。
【０２２６】
なお、src_file_nameとdst_file_nameには、同一名称を指定することもできる。
【０２２７】
そして、credentialには、src_file_nameにおいて指定されているファイルが、異なるorg_idのディレクトリ下にある場合に、ファイルアクセス権限をチェックするための情報が記載されている。このことにより、ローカルストレージ２４においては、複数のorg_id以下のディレクトリでコンテンツファイルを共有することが可能となる。
【０２２８】
file_sizeは、圧縮前のファイルサイズをバイト単位で指定するためのフィールドである。
【０２２９】
file_dataは、ファイルデータをバイトシーケンスとして指定するためのフィールドである。
【０２３０】
図１９を用いて説明した様なコンテンツ配布用ファイル形式のデータがダウンロードされ、記録再生装置１において、装着された光ディスク１１に記録されているデータとマージされて仮想ディスクにおける仮想ファイルシステムが構築される。これにより、記録再生装置１を用いて光ディスク１１に記録されているコンテンツを再生させるユーザからは、光ディスク１１に記録されているコンテンツに、例えば、ボーナストラックや、異なる言語での音声または表示字幕が追加されてアップデートされたように感じられる。
【０２３１】
上述したファイル形式にしたがって構成されるコンテンツが更新される場合は、例えば、図１８を用いて説明した仮想ファイルシステムにおいて、インフォメーションファイル（Info.bdmv）、ムービーオブジェクトファイル（Movieobjects.bdmv）、プレイリストファイル（*****.mpls）、クリップインフォメーションファイル（*****.clpi）、ストリームファイルまたはAUXデータファイル（*****.m2ts, *****bdmv,*****.otf）などが追加あるいは更新されるように、新たなデータファイルがダウンロードされて、バインディングされる。これらのファイルがダウンロードされて、装着されている装着された光ディスク１１に記録されているコンテンツに関連付けられて再生されるためには、MainPathの追加やSubPathの追加などが実行される。
【０２３２】
なお、ファイルの追加更新時、ローカルストレージ２４に予め保存されていたファイルと、新たに取得されたファイルとのファイル名が同一であった場合、permissionに記載されている属性においてファイルの上書きが許可されていれば上書きコピーが実行され、permissionに記載されている属性においてファイルの上書きが許可されていなければ、上書きコピー処理は実行されない。その場合、ファイルのコピー処理が実行されないものとしても、ファイル名を変更してファイルコピー処理が実行されるものとしても良い。また、新たに取得されたファイルのファイル名が、ローカルストレージ２４に予め保存されていたファイルのいずれとも同一のファイル名ではない場合、ファイルはローカルストレージ２４に新規追加されて記憶される。
【０２３３】
なお、光ディスク１１には、上述したファイル構成以外のＡＶストリームデータを記録させ、トランスコーダ２６によりデコードして再生させたり、フォーマット変換を実行して、異なる光ディスク１１などに記録させることが可能であるが、上述したファイル構成以外のＡＶストリームデータにおいては、ローカルストレージ２４にダウンロードされたファイルを用いて、仮想ファイルシステムを構築することはできない。したがって、光ディスク１１に上述したファイル構成以外のＡＶストリームデータが記録されている場合、記録再生装置１を利用するユーザにとって、光ディスク１１に記録されているファイルが追加されたり、その一部分だけが更新されるように、データを扱うことはできない。
【０２３４】
また、記録再生装置１においてPlayListファイルの編集を実行しなくても良いように、データの配布元（コンテンツオーサ）で、追加・更新に必要なファイルのパッケージングが予め行われ、ディスクベース（すなわち、Disc_idで示されるディレクトリのデータごと）で、ファイルのダウンロードが行われるようにしても良い。
【０２３５】
このようにして、記録再生装置１においては、ネットワーク２を介して、サーバ３から、例えば、図１９に示されるような構成を有する新たなデータをダウンロードして、メタデータであるManifest（）に記載されているsrc_file_nameに示されるパス名称を基に、ローカルストレージ２４に記憶され、Manifest（）に記載されているdst_file_nameに示されるパス名称を基に、仮想ファイルシステム内のパスが設定され、記録再生装置１のアプリケーション（例えば、再生処理を行うナビゲーションプログラム４５）は、仮想ファイルシステムを基に、すなわち、dst_file_nameに示されるパスに基づいて、光ディスク１１に記録されているデータと、ローカルストレージ２４に記録されているデータを区別せずに処理することができるようになされている。
【０２３６】
すなわち、記録再生装置１においては、データの追加指示（ダウンロード指示）を受けると、該当するManifestファイル（全てのManifestファイルであっても、一部のManifestファイルであっても良い）を、ネットワーク２を介してサーバ３に送信し、サーバ３から、現在追加可能なコンテンツ一覧を取得する。アプリケーションプログラムは、追加可能なコンテンツ一覧をユーザに提示し、ユーザは、提示された一覧の中からダウンロードするコンテンツを選択する。
【０２３７】
ユーザにより、ダウンロードするコンテンツが選択された場合、データをサーバ３からダウンロードする処理を実行可能なアプリケーション（例えば、データの追加処理や再生処理を実行可能なアプリケーションプログラムと同一であっても、それぞれ個別のものであっても良い）により、データのダウンロードが開始される。
【０２３８】
ダウンロードが完了すると、ダウンロードされたファイルパッケージ群は、ファイルシステムをマネジメントするナビゲーションプログラム４５により、仮想ファイルシステム上にマウントされ、スタティックバインディングまたはダイナミックバインディングなどにより、ネイティブなファイルシステムと仮想ファイルシステムとが同期される。
【０２３９】
次に、図２０乃至図２３のフローチャートを参照して、記録再生装置１においてナビゲーションプログラムが実行されることにより、外部からファイルを新たに取得してローカルストレージ２４に記憶するとともに仮想ファイルシステムを構築することにより、光ディスク１１に記録されている情報とローカルストレージ２４に記憶されている情報とを再生させるために必要な処理について説明する。
【０２４０】
まず、図２０のフローチャートを参照して、ファイルベースの追加および更新処理について説明する。
【０２４１】
ステップＳ１において、コントローラ２１で実行されるナビゲーションプログラム４５の操作入力取得部６１は、操作入力部２９から供給される信号を基に、ユーザから、ファイルベース、すなわち、所定のdisc_idで示されるディレクトリに含まれるファイルの追加処理を開始する指令を受けたか否かを判断する。ステップＳ１において、ファイルの追加処理を開始する指令を受けていないと判断された場合、ファイルの追加処理を開始する指令を受けたと判断されるまで、ステップＳ１の処理が繰り返される。
【０２４２】
ステップＳ１において、ファイルの追加処理を開始する指令を受けたと判断された場合、ステップＳ２において、ローカルストレージディレクトリ管理部６４は、データ取得部６３を制御し、インターネットインタフェース２５およびネットワーク２を介してサーバ３にアクセスし、現在の仮想ファイルシステムの状態を示す情報、例えば、対応するManifest（）セクションのManifest_idを送信する。
【０２４３】
ステップＳ３において、データ取得部６３は、インターネットインタフェース２５を制御し、ネットワーク２を介して、サーバ３から、ダウンロード可能なファイルの一覧に対応する情報を受信したか否かを判断する。
【０２４４】
ステップＳ３において、ダウンロード可能なファイルの一覧に対応する情報を受信できなかったと判断された場合、ステップＳ４において、メニュー画面表示制御部６２は、ファイルの追加処理が不可能であることをユーザに通知するためのエラーメッセージの表示を制御し、処理が終了される。
【０２４５】
ステップＳ３において、ダウンロード可能なファイルの一覧に対応する情報を受信したと判断された場合、ステップＳ５において、データ取得部６３は、サーバ３から送信され、インターネットインタフェース２５により受信されたダウンロード可能なファイルの一覧に対応する情報を、メニュー画面表示制御部６２に供給する。メニュー画面表示制御部６２は、ダウンロード可能なファイルの一覧から、ユーザが所望のものを選択することができるようになされているメニュー画面を表示装置に表示させる。
【０２４６】
ステップＳ６において、操作入力取得部６１は、メニュー画面表示制御部６２の処理により表示が制御されているメニュー画面のボタンまたはアイコンなどがユーザにより操作され、追加したい項目が選択されたか否かを判定する。ステップＳ６において、追加したい項目が選択されていないと判断された場合、選択されたと判断されるまで、ステップＳ６の処理が繰り返される。
【０２４７】
ステップＳ６において、追加したい項目が選択されたと判断された場合、ステップＳ７において、操作入力取得部６１は、ユーザにより選択されたアップデートの内容を表す情報を、データ取得部６３に供給する。データ取得部６３は、インターネットインタフェース２５を制御し、要求するファイルを示す情報をサーバ３に送信させ、ユーザが選択したファイルのダウンロードを要求する。
【０２４８】
ステップＳ８において、データ取得部６３は、インターネットインタフェース２５を制御し、サーバ３によりダウンロードファイルとして用意される、PlayListファイル、ClipInformationファイル、ClipAVストリームファイル、オーディオファイル、テキスト字幕ストリームファイル、または、フォントファイルなどをダウンロードさせ、これらのファイルがダウンロードされたことを、ローカルストレージディレクトリ管理部６４に通知する。
【０２４９】
ステップＳ９において、ローカルストレージディレクトリ管理部６４は、ダウンロードされたファイルのManifest（）に含まれるorg_idとdisc_idとに基づいて、それらのＩＤで識別されるディレクトリがローカルストレージ２４に既に存在するか否かを判断して、対応するディレクトリが既に存在する場合は、そのディレクトリにダウンロードされたデータファイルを展開し、対応するディレクトリが存在しない場合、org_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」とパス名称が指定されている場合、ファイルシステムマージ処理部６６は、図１７を用いて説明したように、ダウンロードされたデータが、ローカルストレージ２４において、対応するorg_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（）に含まれるorg_idとdisc_idとに基づいて、それらのＩＤで識別されるディレクトリをローカルストレージ２４に作成し、ダウンロードされたディスクベースのデータを展開する。
【０２７１】
ステップＳ５０において、図２１を用いて説明したバインディング処理が実行され、処理が終了される。
【０２７２】
このような処理により、サーバ３からアップデートファイルがディスクベースでダウンロードされて、ローカルストレージ２４に記録されて、光ディスク１１に記録されているコンテンツのアップデートファイルとして扱われるようにすることができる。
【０２７３】
すなわち、このような処理により、例えば、映画などのコンテンツが記録された光ディスク１１を購入したユーザが、光ディスク１１に予め記録されていない言語の字幕を表示させるために必要なファイルや、ボーナストラックを視聴するために必要なファイルなどをディスクベースで取得して、ローカルストレージ２４に記憶させるとともに、光ディスク１１に記録されているデータとローカルストレージ２４に記憶されているデータとを、再生処理などを実行するナビゲーションプログラム４５が区別しないで取り扱うことができ、物理的なデータの記憶をユーザまたはナビゲーションプログラム４５から隠蔽することができるような仮想ファイルシステムを構築させることができる。
【０２７４】
また、このようなディスクベースのアップデートファイルのダウンロードも、ファイルベースでダウンロードが行われる場合と同様に、有料で行うことができるものであってもよいし、無料で行うことができるものであってもよい。
【０２７５】
また、図２０においては、ユーザによってファイルベースのダウンロードが指令された場合の処理を説明し、図２２においては、ユーザによってディスクベースのダウンロードが指令された場合の処理を説明したが、例えば、ユーザは、ファイルベースとディスクベースとを区別せずにファイルのダウンロード開始の指示を行うことができるようにしても良いことは言うまでもない。すなわち、サーバ３からダウンロードされるデータの形式がファイルベースであるかディスクベースであるかによって、ローカルストレージディレクトリ管理部６４によるローカルストレージ２４へのダウンロードされたデータの展開方法を変更することができるようにしても良い。
【０２７６】
以上説明したコンテンツのアップデートデータファイルの追加および更新処理や、バインディング処理など、ナビゲーションプログラム４５のみにより実行される処理は、基本的に、同一のdisc_idに関連付けられたデータファイルに対して実行される処理であり、換言すれば、装着された光ディスク１１に関する処理として実行される。
【０２７７】
すなわち、上述したように、ナビゲーションプログラム４５を実行することにより、ある光ディスク１１に対応するアップデートデータがダウンロードされて、ローカルストレージ２４の対応するorg_idおよびdisc_idによって規定されるパスにダウンロードされたアップデートデータが記憶されることにより、光ディスク１１とローカルストレージ２４の対応するorg_idおよびdisc_idによって規定される記憶領域とが区別されずに、ファイルの再生処理が実行されるようになされている。そして、基本的には、同一の光ディスク１１が、ナビゲーションプログラム４５を実行可能な記録再生装置１とは異なる再生装置に装着された場合であっても、その再生装置においては同様の処理が実行可能なようになされているし、異なる光ディスクがこの記録再生装置１に装着された場合、その光ディスクを再生させるための異なるナビゲーションプログラムにより、ローカルストレージ２４の異なるdisc_idによって規定される記憶領域とのバインディング処理が実行される。
【０２７８】
これに対して、記録再生装置１にアプリケーションプログラム４７がインストールされている場合、ナビゲーションプログラム４５とアプリケーションプログラム４７を連動して実行することができ、複数の光ディスク１１に対応させて、一連の処理を実行させることも可能となる。
【０２７９】
次に、図２３のフローチャートを参照して、再生処理およびファイルシステム構成処理１について説明する。
【０２８０】
ステップＳ１４１において、コントローラ２１は、光ディスク１１が装着されたか否かを判断する。ステップＳ１４１において、光ディスク１１が装着されていないと判断された場合、光ディスク１１が装着されたと判断されるまで、ステップＳ１４１の処理が繰り返される。
【０２８１】
ステップＳ１４１において、光ディスク１１が装着されていると判断された場合、ステップＳ１４２において、コントローラ２１は、ナビゲーションプログラム４５を実行する。
【０２８２】
ステップＳ１４３において、ナビゲーションプログラム４５の光ディスクディレクトリ管理部６５は、光ディスク１１からorg_idとdisc_idを読み出し、読み出したorg_idとdisc_idをローカルストレージディレクトリ管理部６４、ファイルシステムマージ処理部６６、および、アプリケーションプログラム連動処理制御部７１に供給する。
【０２８３】
ステップＳ１４４において、図２５を用いて後述する連動処理が実行される。
【０２８４】
ステップＳ１４５において、ナビゲーションプログラム４５の再生制御部６７は、操作入力取得部６１から供給されるユーザの操作入力を基に、ユーザから、コンテンツの再生を指令する操作入力を受けたか否かを判断する。ステップＳ１４５において、コンテンツの再生を指令する操作入力を受けなかったと判断された場合、処理は、後述するステップＳ１５０に進む。
【０２８５】
ステップＳ１４５において、コンテンツの再生を指令する操作入力を受けたと判断された場合、操作入力取得部６１は、ユーザの操作入力に対応する信号を、光ディスクディレクトリ管理部６５に供給し、光ディスクディレクトリ管理部６５は、光ディスク１１から読み出したorg_idとdisc_idをローカルストレージディレクトリ管理部６４に出力するので、ステップＳ１４６において、図２１を用いて説明したバインディング処理が実行される。
【０２８６】
ステップＳ１４７において、再生制御部６７は、ローカルストレージディレクトリ管理部６４および光ディスクディレクトリ管理部６５を制御して、ナビゲーションプログラムが再生区間として指定するPlayListとSubPlayItemを取得し、取得したPlayListとSubPlayItemが参照するストリームファイル（ＡＶファイル、オーディオファイル、テキスト字幕ファイルなど）を読み出させて、トランスコーダ２６に供給させる。ここでは、PlayListやSubPlayItemにより表されるタイムスタンプがClip informationによりアドレスに変換され、ＡＶストリームなどに対するアクセスが行われる。
【０２８７】
ステップＳ１４８において、再生制御部６７は、トランスコーダ２６を制御して、PlayItemにより指定されるコンテンツを再生させる。
【０２８８】
ステップＳ１４９において、操作入力取得部６１は、再生タイトル（再生されるコンテンツ）の切り替えを指令する操作入力を受けたか否かを判断する。ステップＳ１４９において、再生タイトルの変更を指令する操作入力を受けていないと判断された場合、処理は、後述するステップＳ１５０に進む。
【０２８９】
ステップＳ１４９において、再生タイトルの変更を指令する操作入力を受けたと判断された場合、操作入力取得部６１は、ユーザの操作入力に対応する信号を、光ディスクディレクトリ管理部６５に供給し、光ディスクディレクトリ管理部６５は、光ディスク１１から読み出したorg_idとdisc_idをローカルストレージディレクトリ管理部６４に出力するので、処理は、ステップＳ１４６に戻り、それ以降の処理が繰り返される。
【０２９０】
ステップＳ１４５において、コンテンツの再生を指令する操作入力を受けなかったと判断された場合、または、ステップＳ１４９において、再生タイトルの変更を指令する操作入力を受けていないと判断された場合、ステップＳ１５０において、操作入力取得部６１は、ユーザから、ファイルの追加が指令されたか否かを判断する。
【０２９１】
ステップＳ１５０において、ファイルの追加が指令されたと判断された場合、ステップＳ１５１において、データ取得部６３、または、ローカルストレージディレクトリ管理部６４などは、例えば、図２０、および、図２２を用いて説明した様にして、ファイルを追加する処理を実行する。
【０２９２】
ステップＳ１５２において、図２１を用いて説明したバインディング処理が実行される。
【０２９３】
ステップＳ１５０において、ファイルの追加が指令されていないと判断された場合、または、ステップＳ１５２の処理の終了後、ステップＳ１５３において、操作入力取得部６１は、仮想ファイルシステムの更新が指令されたか否かを判断する。
【０２９４】
ステップＳ１５３において、仮想ファイルシステムの更新が指令されたと判断された場合、例えば、仮想ファイルシステムを更新するために定義されたAPI（例えば、update()）が呼び出され、ステップＳ１５４において、図２１を用いて説明したバインディング処理が実行される。
【０２９５】
ステップＳ１５３において、仮想ファイルシステムの更新が指令されていないと判断された場合、または、ステップＳ１５４の処理の終了後、ステップＳ１５５において、操作入力取得部６１は、記録再生装置１の処理の終了（例えば、ナビゲーションプログラム４５の終了や、記録再生装置１の電源のオフ）が指令されたか否かを判断する。
【０２９６】
ステップＳ１５５において、記録再生装置１の処理の終了が指令されていないと判断された場合、処理は、ステップＳ１４４に戻り、それ以降の処理が繰り返される。ステップＳ１５５において、記録再生装置１の処理の終了が指令されたと判断された場合、処理が終了される。
【０２９７】
このような処理により、予め光ディスク１１に記録されているデータ、および、サーバ３からダウンロードされ、ローカルストレージ２４に記憶されているデータが、所定のタイミングでバインディングされて仮想ファイルシステムが構築され、仮想ファイルシステムを基に、コンテンツが再生される。
【０２９８】
なお、ここでは、ファイルの追加処理が実行された後、バインディングが行われるものとして説明したが、ファイルの削除処理が行われた後においても、バインディングが行われることは言うまでもない。
【０２９９】
また、ステップＳ１４３において、光ディスク１１からorg_idとdisc_idが読み出されて、アプリケーションプログラム連動処理制御部７１に供給されているので、ステップＳ１４４において、コントローラ２１は、アプリケーションプログラム４７と対応するナビゲーションプログラム４５との連動処理を実行することができる。
【０３００】
また、ここでは、図２５を用いて後述する連動処理が、バインディング処理やコンテンツの再生処理に先立って実行されるものとして説明したが、連動処理は、ナビゲーションプログラム４５の実行中のいかなるタイミングで実行されていてもよいことは言うまでもない。すなわち、図２５を用いて後述する連動処理は、ナビゲーションプログラム４５の記述に基づいて、ナビゲーションプログラム４５の作成者または提供者の所望のタイミングで実行させるようにすることが可能である。
【０３０１】
また、コントローラ２１は、ローカルストレージ２４に記憶されているアプリケーションプログラム４７と、光ディスク１１に記録されているナビゲーションプログラム４５とを、それぞれ、メモリ２３に展開し、連動させて動作させることにより、記録再生装置１の動作を制御することができる。
【０３０２】
図２４を参照して、アプリケーションプログラム４７とナビゲーションプログラム４５との連動について説明する。
【０３０３】
上述したように、コントローラ２１は、例えばJAVA(登録商標)などの、仮想マシンの実装によりマルチプラットフォームで動作可能なアプリケーションと、コントローラ２１における実行環境でのみ動作可能な組み込みアプリケーションとのいずれも実行することが可能であるが、記録再生装置１の組み込みアプリケーションのみで提供可能な機能は限られてしまう。
【０３０４】
また、記録再生装置１においては、上述したように、ナビゲーションプログラム４５によって仮想ファイルシステムが構築され、光ディスク１１とローカルストレージ２４とのそれぞれのデータ記憶領域を１つの領域のようにして取り扱うことが可能なようになされている。
【０３０５】
そこで、コントローラ２１において、JAVA(登録商標)の動作環境が用意されており、ナビゲーションプログラム４５がJAVA(登録商標)で記述され、図６を用いて説明したようにJVM４４上で動作可能なようになされている場合（換言すれば、ナビゲーションプログラム４５とアプリケーションプログラム４７とが共通実行環境で動作するようになされている場合）、同様にJVM４４上で動作可能な他のアプリケーションプログラム４７を記憶するための領域を、ナビゲーションプログラム４５によりバインディングされるファイルシステムの記憶領域とは別にローカルストレージ２４またはメモリ２３に用意しておくことにより、IXC (Inter-Xlet Communication）を利用して、それぞれを連携させて動作させることが可能となる。
【０３０６】
例えば、ナビゲーションプログラム４５とアプリケーションプログラム４７とが仮想マシンの実装によりマルチプラットフォームで動作可能なアプリケーションではなかった場合、記録再生装置１の独自の機能を提供することが可能なアプリケーションプログラム４７は、光ディスク１１を再生可能な各メーカにより提供される再生装置のソフトウェアプラットフォームに基づいて設計されるので、ナビゲーションプログラム４５とアプリケーションプログラム４７とを連携させて動作させたい場合、ナビゲーションプログラム４５をそれぞれのソフトウェアプラットフォーム上で動作するアプリケーションプログラム４７に対応させて用意する必要があった。
【０３０７】
換言すれば、ナビゲーションプログラム４５とアプリケーションプログラム４７とが仮想マシンの実装によりマルチプラットフォームで動作可能なアプリケーションであれば、光ディスク１１を再生可能な各メーカにより提供される再生装置のソフトウェアプラットフォームが共通化されていなくても、光ディスク１１に記録されているナビゲーションプログラム４５から記録再生装置１の独自の機能を提供することが可能なアプリケーションプログラム４７を起動するためのAPIを容易に提供することができる。
【０３０８】
すなわち、ナビゲーションプログラム４５とアプリケーションプログラム４７とを、仮想マシンの実装によりマルチプラットフォームで動作可能なアプリケーションであるJAVA(登録商標) Xletとして構成することにより、IXCを利用してナビゲーションプログラム４５とアプリケーションプログラム４７との通信を実行して連動した処理を実行することができるとともに、アプリケーションプログラム４７は、独自のAPIまたはJNI（JAVA(登録商標) Native Interface）を利用して、記録再生装置１に予め埋め込まれている機能である、再生処理に必須でない機能群５４や組み込みアプリケーション４９にアクセスすることが可能となる。
【０３０９】
JNIは、JAVA(登録商標)のプログラムから他の言語(例えば、C言語やC++言語など)で開発されたネイティブコードのプログラムを利用するためのAPI、すなわち、JAVA(登録商標)言語で開発されたプログラムから、他の言語で開発されたネイティブコードのプログラム(特定のプラットフォームでそのまま実行可能なプログラム)を利用するためのAPIである。
【０３１０】
また、記録再生装置１の独自機能としての（すなわち、ナビゲーションプログラム４５とは異なり、光ディスク１１を再生可能な全ての装置において必須でインストールされているとは限らない）アプリケーションプログラム４７をJAVA(登録商標) Xletで構築するようにした場合、より柔軟なアプリケーション環境を構築することができる。
【０３１１】
なお、ナビゲーションプログラム４５において、あるManifestファイルにより管理されるファイルは、基本的に、org_idとdisc_idにより規定される仮想ファイルシステム内のファイルである。したがって、アプリケーションプログラム４７とナビゲーションプログラム４５が連動して処理を実行するためには、アプリケーションプログラム４７が必要に応じて所定のmanifestファイルにより管理されているファイルにアクセスすることができるように、manifestファイルのcredentialが設定されている必要がある。
【０３１２】
具体的には、例えば、シリーズものの映画を全て再生した場合、ボーナストラックをダウンロードすることができるようにしたり、A社が販売または提供している光ディスク１１を所定枚数以上再生した場合、無料でゲームをダウンロードすることができるようにするなど、複数の光ディスク１１に対応するorg_idとdisc_idにより規定される仮想ファイルシステムにおいて実行されるナビゲーションプログラム４５とアプリケーションプログラム４７とが連動して処理を実行する場合、対応するそれぞれのmanifestファイルのcredentialは、このアプリケーションプログラム４７に対してアクセスを許可するように設定されていなければならない。
【０３１３】
次に、図２５のフローチャートを参照して、図２３のステップＳ１４４において実行される、ナビゲーションプログラム４５とアプリケーションプログラム４７との連動処理について説明する。
【０３１４】
ステップＳ１８１において、アプリケーションプログラム連動処理制御部７１は、自分自身（すなわち、ナビゲーションプログラム４５）に対応したアプリケーションプログラム４７と連動した処理を実行するか否かを判断する。ステップＳ１８１において、対応したアプリケーションプログラム４７と連動した処理を実行しないと判断された場合、処理は、図２３のステップＳ１４４に戻り、ステップＳ１４５に進む。
【０３１５】
ステップＳ１８１において、対応したアプリケーションプログラム４７と連動する処理が実行されると判断された場合、ステップＳ１８２において、アプリケーションプログラム連動処理制御部７１は、記録再生装置１が、そのアプリケーションプログラム４７を実行することが可能であるか否かを判断する。
【０３１６】
具体的には、例えば、検出されたアプリケーションプログラム４７が、録画予約の実行を制御する処理を行うものである場合、記録再生装置１が録画機能を有しているか、または、外部の録画装置と接続されて、録画装置における録画予約処理を制御することができる状態でなければ、記録再生装置１は検出されたアプリケーションプログラム４７を実行することができない。また、検出されたアプリケーションプログラム４７が、例えば、ピクチャインピクチャ表示によるボーナストラックの再生を制御する処理を行うものである場合、記録再生装置１がピクチャインピクチャ表示を行う機能を有していなければ、記録再生装置１は検出されたアプリケーションプログラム４７を実行することができない。また、検出されたアプリケーションプログラム４７が、例えば、副音声による監督や出演者のコメントの再生を制御する処理を行うものである場合、記録再生装置１が副音声の再生を行う機能を有していなければ、記録再生装置１は検出されたアプリケーションプログラム４７を実行することができない。
【０３１７】
ステップＳ１８２において、検出されたアプリケーションプログラム４７を実行することができないと判断された場合、処理は、図２３のステップＳ１４４に戻り、ステップＳ１４５に進む。
【０３１８】
ステップＳ１８２において、検出されたアプリケーションプログラム４７を実行することが可能であると判断された場合、ステップＳ１８３において、図２６を用いて後述する、アプリケーションプログラムの呼び出し処理が実行される。
【０３１９】
ステップＳ１８４において、アプリケーションプログラム連動処理制御部７１は、ステップＳ１８３のアプリケーションプログラムの呼び出し処理において、検出されたアプリケーションプログラム４７の呼び出しが成功したか否かを判断する。ステップＳ１８４において、検出されたアプリケーションプログラム４７の呼び出しが成功しなかったと判断された場合、処理は、図２３のステップＳ１４４に戻り、ステップＳ１４５に進む。
【０３２０】
ステップＳ１８４において、検出されたアプリケーションプログラム４７の呼び出しが成功したと判断された場合、ステップＳ１８５において、アプリケーションプログラム連動処理制御部７１は、自分自身（すなわち、ナビゲーションプログラム４５）と対応するアプリケーションプログラム４７を連動させて、それらの実行を制御し、処理は、図２３のステップＳ１４４に戻り、ステップＳ１４５に進む。
【０３２１】
このような処理により、ナビゲーションプログラム４５に対応するアプリケーションプログラム４７が検出されて、処理を実行することが可能か否かが判断されて、処理を実行することが可能であって、呼び出し処理が正しく実行された場合、ナビゲーションプログラム４５と、対応するアプリケーションプログラム４７とが、連動して実行される。
【０３２２】
次に、図２６のフローチャートを参照して、図２５のステップＳ１８３において実行される、アプリケーションプログラムの呼び出し処理について説明する。
【０３２３】
ステップＳ２１１において、IXC制御部７２は、JAVA(登録商標) .rmi.Remoteオブジェクトを生成する。
【０３２４】
Xlet間通信が実行される場合、すなわち、IXCが利用される場合、IxcRegistryクラスを利用して、JAVA(登録商標) .rmi.Remoteインタフェースが実装されているオブジェクトが登録、検索、利用されるようになされている。
【０３２５】
ステップＳ２１２において、IXC制御部７２は、ixcRegistryを用いて、呼び出すアプリケーションを探索し、探索結果をアプリケーションプログラム連動処理制御部７１に通知する。
【０３２６】
ステップＳ２１３において、アプリケーションプログラム連動処理制御部７１は、呼び出すアプリケーションプログラム４７が見つかったか否かを判断する。
【０３２７】
ステップＳ２１３において、呼び出すアプリケーションが見つかったと判断された場合、ステップＳ２１４において、アプリケーションプログラム連動処理制御部７１は、対応するアプリケーションプログラム４７を呼び出す。すなわち、ローカルストレージ２４の記憶領域のうち、ナビゲーションプログラム４５によりバインディングされるファイルシステムが記憶されている第１の記憶領域とは異なる記憶領域、または、メモリ２３の記憶領域のいずれかであって、JVM４４上で動作可能な他のアプリケーションプログラム４７を記憶するための第２の記憶領域から、図２３のステップＳ１４３において供給されたorg_idとdisc_idを基に、自分自身（すなわち、ナビゲーションプログラム４５）に対応したアプリケーションプログラム４７を検出して、検出されたアプリケーションプログラム４７をメモリ２３に展開して起動する。ステップＳ２１４の処理の終了後、処理は、図２５のステップＳ１８３に戻り、ステップＳ１８４に進む。
【０３２８】
ステップＳ２１３において、呼び出すアプリケーションが見つからなかったと判断された場合、ステップＳ２１５において、アプリケーションプログラム連動処理制御部７１は、例外処理を実行、すなわち、図２５のステップＳ１８４においてアプリケーションプログラムの呼び出しが成功しなかったと判断するものとして、処理は、図２５のステップＳ１８３に戻り、ステップＳ１８４に進む。
【０３２９】
このような処理により、ナビゲーションプログラム４５と連動して処理を行うことができる、対応するアプリケーションプログラム４７が呼び出される。
【０３３０】
ところで、図２５のステップＳ１８５において実行される、ナビゲーションプログラム４５とアプリケーションプログラム４７との処理は、アプリケーションプログラム４７が予めインストールされている記録再生装置１にナビゲーションプログラム４５が記録されている光ディスク１１が装着された場合か、または、ローカルストレージ２４に記録されているアップデートされたナビゲーションプログラム４５を起動させる光ディスク１１が装着された場合に実行される。
【０３３１】
例えば、光ディスク１１に記録されているナビゲーションプログラム４５に、光ディスク１１に記録されているコンテンツに関連するゲームをダウンロードすることができたり、そのコンテンツに関連するグッズを購入することができるウェブサイトのＵＲＬを記録しておく。その光ディスク１１が記録再生装置１に装着され、ナビゲーションプログラム４５がコントローラ２１により実行された場合、このナビゲーションプログラム４５と連動して、所定のウェブサイトにアクセスする処理を実行するための、または、組み込みアプリケーション４９として記録再生装置１にインストールされている、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１(いわゆる、ウェブブラウザ)と連動して処理を行うことができるアプリケーションプログラム４７が、記録再生装置１にインストールされているか否かが判断される。対応するアプリケーションプログラム４７がインストールされていないと判断された場合、ナビゲーションプログラム４５は、通常の再生などの処理を実行する。対応するアプリケーションプログラム４７がインストールされていると判断された場合、ナビゲーションプログラム４５は、所定のウェブサイトにアクセスする処理を実行するためのアプリケーションプログラム４７を起動させて、Xletを用いたアプリケーション間通信を実行する。
【０３３２】
記録再生装置１において、アプリケーションプログラム４７は、予め記憶されているようにしても良いし、ドライブ２７に装着されたリムーバブルメディア２８を介してインストールされたり、インターネットインタフェース２５を用いて、ネットワーク２を介して、所定のサーバからダウンロードされてインストールされるものであっても良い。また、記録再生装置１が、有線放送、もしくは、地上波または衛星波の放送サービスを利用する機能を有していた場合、アプリケーションプログラム４７は、所定の番組のデータとともに取得され、インストールされるものであっても良い。
【０３３３】
そして、光ディスク１１の提供者と記録再生装置１の提供者が予め協力して対で動作するナビゲーションプログラム４５とアプリケーションプログラム４７をそれぞれ設計することにより、光ディスク１１を特定の記録再生装置１に装着した場合にのみ、対で動作するようになされているナビゲーションプログラム４５とアプリケーションプログラム４７との連携動作が実行されるようにすることができる。
【０３３４】
例えば、光ディスク１１を装着して再生することが可能な再生装置などは、記録再生装置１以外に、複数のメーカにより提供されており、光ディスク１１に記録されているコンテンツは、ナビゲーションプログラム４５を実行可能ないずれの再生装置等によっても再生可能である。そして、これに対して、特定のアプリケーションプログラム４７がインストールされている記録再生装置１を用いて対応する光ディスク１１を再生した場合にのみ、このコンテンツに関連する限定グッズを購入することができるウェブサイトにアクセスすることができたり、この記録再生装置１を用いて、シリーズものの映画を全て再生した場合にのみ、ボーナストラックをダウンロードすることができたり、この記録再生装置１を用いてA社が販売または提供している光ディスク１１を所定枚数以上再生した場合にのみ、無料でゲームをダウンロードすることができるようにすることができる。
【０３３５】
また、組み込みアプリケーション４９は、バージョンアップされる場合がある。そして、これらの組み込みアプリケーション４９は、通常、複数の情報処理装置などに共通して利用されたり、予めバージョンアップが想定されて設計されているため、OSや他のアプリケーションとのインタフェースを変更することなく、バージョンアップされる場合がほとんどである。したがって、組み込みアプリケーション４９がバージョンアップされても、アプリケーションプログラム４７とのインタフェースが変更されなければ、アプリケーションプログラム４７とのアプリケーション間通信機能は維持される。すなわち、ナビゲーションプログラム４５がアプリケーションプログラム４７と連携して動作する場合に利用する組み込みアプリケーション４９がバージョンアップされても、ナビゲーションプログラム４５やアプリケーションプログラム４７を変更せずに、同様の処理を実行することが可能となる。
【０３３６】
このように、光ディスク１１に記憶されている、または、光ディスク１１に対応付けられて内部に記憶されているコンテンツデータを再生するために必須のナビゲーションプログラム４５によってアプリケーションプログラム４７が起動され、連動して実行されるようになされているので、単独のアプリケーションが遠隔コントロールされて所定の装置で実行されるのに過ぎない場合、具体的には、各種の記録媒体や、有線または無線の通信を用いて、所定の装置が有する機能を直接制御する制御プログラムを供給したり、または、所定の装置に既にインストールされた制御プログラムに対するコマンドを供給することにより、装置を遠隔から制御するようになされている場合とは異なり、光ディスク１１に対応付けられたコンテンツを、さまざまな再生装置において再生可能なように定められた規格（または規格に準じる決まりごと）に準じつつ、装置独自のサービスを、装置単独ではなく、光ディスク１１に関連付けて提供することが可能となる。
【０３３７】
しかしながら、対で動作するナビゲーションプログラム４５とアプリケーションプログラム４７とにより提供されるサービスが、視聴者によって主に楽しみとなるものとなってしまっては、その光ディスク１１の記録再生装置１以外の再生装置における視聴機会が減少してしまう可能性もあり、コンテンツ提供者にとっては好ましくない。したがって、対で動作するナビゲーションプログラム４５とアプリケーションプログラム４７とにより提供されるサービスは、光ディスク１１により提供されるサービスに付随した、イースターエッグ的な付加サービスであると好適である。
【０３３８】
このようにすることにより、記録再生装置１の提供者は、光ディスク１１を再生可能な他の再生装置等との差別化を図ることができる。また、光ディスク１１の提供者は、例えば、他の再生装置等のメーカとは異なるサービスの提供を許可した記録再生装置１の提供者に対して、バックマージン（または、それに相当するもの）を得るようにしてもよい。
【０３３９】
このように、光ディスク１１の提供者と記録再生装置１の提供者とが個別に契約を結んで、連動して動作されるナビゲーションプログラム４５とアプリケーションプログラム４７が提供されることにより、個別のサービスがユーザに提供される。このため、例えば、光ディスク１１の提供者は、自社の物販サイトへの誘導など、すべての再生装置のメーカに対して要求するのが困難な内容のサービスであっても、そのうちのいずれかのメーカ（記録再生装置１の提供者）と個別に提携することにより、ユーザに対して提供する機会を持つことができる。
【０３４０】
次に、図２７乃至図３２を参照して、図２５のステップＳ１８５において実行される、ナビゲーションプログラム４５とアプリケーションプログラム４７との処理の具体的な例について説明する。
【０３４１】
まず、図２７のフローチャートを参照して、記録再生装置１において実行される、ナビゲーションプログラム４５とコンテンツ情報の登録処理を制御するアプリケーションプログラム４７とが連動することにより実行される処理の第１の例について説明する。
【０３４２】
記録再生装置１には、コンテンツ情報の登録処理を制御するアプリケーションプログラム４７（Xlet）が記憶されており、実行可能な状態になされている。コンテンツ情報の登録処理を制御するアプリケーションプログラム４７は、ナビゲーションプログラム４５（Xlet）により起動され、ナビゲーションプログラム４５により再生が制御されているコンテンツに関する、例えば、コンテンツのタイトル名および付属情報（例えば、出演者や監督名、または、アーチスト名、もしくは、作品の発表年月日など）、並びに、コンテンツのジャケット写真などの画像データを、ローカルストレージ２４の、ナビゲーションプログラム４５により管理されない領域に登録する処理を実行する。このとき、アプリケーションプログラム４７は、記録再生装置１の組み込みアプリケーション４９である、ローカルストレージ２４へのデータの記憶を制御するデータベースソフトウェア（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なソフトウェアであっても良い）を起動し、アプリケーション間通信を行って、その処理を制御する。
【０３４３】
また、このアプリケーションプログラム４７は、例えば、同一のシリーズの映画を全部揃えた場合（同一の記録再生装置１において映画コンテンツの再生処理が行われることにより、揃えられたコンテンツ数がカウントされる。以下同様）、あるアーチストのビデオクリップを所定の数以上揃えた場合、または、あるコンテンツオーサが提供しているコンテンツを所定の数以上揃えた場合など、所定の条件が満たされた場合に、おまけコンテンツをダウンロードすることができる所定のウェブサイトへのアクセスを制御する処理を実行する。このとき、アプリケーションプログラム４７は、記録再生装置１の組み込みアプリケーション４９である、ウェブブラウザ（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し、アプリケーション間通信を行って、その処理を制御する。
【０３４４】
ステップＳ２４１において、アプリケーションプログラム連動処理制御部７１（ナビゲーションプログラム４５）は、光ディスクディレクトリ管理部６５、または、ローカルストレージディレクトリ管理部６４を制御して、光ディスク１１に記録されている、または、ローカルストレージ２４の光ディスク１１に対応するパスに記憶されているコンテンツのタイトル名および付属情報（例えば、出演者や監督名、または、アーチスト名、もしくは、作品の発表年月日などと、後述する処理で用いられる、所属するシリーズなどを示す情報）を検索する。なお、コンテンツのタイトル名および付属情報が、予め定められたメタデータなどの形式で記録または記憶されていない場合、光ディスクディレクトリ管理部６５、または、ローカルストレージディレクトリ管理部６４は、記録または記憶されているデータの中から、必要に応じて、対応する情報を抽出する。
【０３４５】
ステップＳ２４２において、アプリケーションプログラム連動処理制御部７１は、光ディスクディレクトリ管理部６５、または、ローカルストレージディレクトリ管理部６４を制御して、光ディスク１１に記録されている、または、ローカルストレージ２４の光ディスク１１に対応するパスに記憶されているコンテンツのジャケットデータを検索する。なお、コンテンツのジャケットデータが、予め定められたメタデータなどの形式で記録または記憶されていない場合、光ディスクディレクトリ管理部６５、または、ローカルストレージディレクトリ管理部６４は、記録または記憶されているデータの中から、必要に応じて、対応する画像データを抽出する。
【０３４６】
ステップＳ２４３において、アプリケーションプログラム連動処理制御部７１は、ステップＳ２４１およびステップＳ２４２の処理により検索または抽出された、コンテンツのタイトル名および付属情報、並びに、ジャケットデータをIXC制御部７２に供給する。IXC制御部７２は、コンテンツのタイトル名および付属情報、並びに、ジャケットデータをアプリケーションプログラム４７に送信、すなわち、具体的には、IxcRegistryへバインドする。
【０３４７】
ステップＳ２４４において、コンテンツ情報の登録処理を制御するアプリケーションプログラム４７は、コンテンツのタイトル名および付属情報、並びに、ジャケットデータをナビゲーションプログラム４５から受信、すなわち、具体的には、IxcRegistryをルックアップする。
【０３４８】
ステップＳ２４５において、アプリケーションプログラム４７は、この光ディスク１１が、この記録再生装置１に始めて装着されて再生された場合、ローカルストレージ２４の、ナビゲーションプログラム４５により管理されない領域に、そのコンテンツが所属するシリーズの登録数カウンタが存在しなければ、登録数カウンタを設定してカウント数１を登録し、存在する場合は、その登録数カウンタをインクリメントする。
【０３４９】
具体的には、ナビゲーションプログラム４５から供給される付属情報には、例えば、同一のシリーズの映画を全部揃えた場合、あるアーチストのビデオクリップを所定の数以上揃えた場合、または、あるコンテンツオーサが提供しているコンテンツを所定の数以上揃えた場合など、所定の条件が満たされたか否かを判断するために、所属するシリーズなどを示す情報が含まれている。アプリケーションプログラム４７は、その情報を参照して、登録数カウンタをインクリメントする。
【０３５０】
ステップＳ２４６において、アプリケーションプログラム４７は、登録数カウンタを参照し、特定のシリーズのコンテンツが全て登録されたか、または、所定数以上のコンテンツが登録されたかなどにより、おまけコンテンツを提供するための所定の条件が満たされたか否かを判断する。ステップＳ２４６において、所定の条件が満たされていないと判断された場合、処理は、後述するステップＳ２５１に進む。
【０３５１】
ステップＳ２４６において、所定の条件が満たされていると判断された場合、ステップＳ２４７において、アプリケーションプログラム４７は、組み込みアプリケーション４９として記録再生装置１にインストールされている、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１(いわゆる、ウェブブラウザ)を起動させ、おまけコンテンツをダウンロードするためのウェブサイトにアクセスさせるためのＵＲＬなどの情報を通知する。
【０３５２】
なお、組み込みアプリケーション４９は、Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良く、アプリケーションプログラム４７は、組み込みアプリケーション４９がXletである場合、IXCを用いてアプリケーション間通信を実行し、組み込みアプリケーション４９がJAVA(登録商標)以外のアプリケーションプログラムである場合、JNIを用いてアプリケーション間通信を実行する。
【０３５３】
なお、おまけコンテンツをダウンロードするためのウェブサイトのアドレス（ＵＲＬ）は、ナビゲーションプログラム４５が管理し、コンテンツに関する情報とともに、アプリケーションプログラム４７に通知するものとしても良いし、アプリケーションプログラム４７が管理していても良い。
【０３５４】
ステップＳ２４８において、コントローラ２１により実行される記録再生装置１の組み込みアプリケーション４９であるウェブブラウザは、インターネットインタフェース２５を制御して、おまけコンテンツをダウンロードするためのウェブサイトに、ネットワーク２を介してアクセスする。
【０３５５】
ステップＳ２４９において、組み込みアプリケーション４９であるウェブブラウザは、インターネットインタフェース２５から、対応するウェブサイトのデータを取得し、外部の表示装置に取得したデータを供給して、ウェブサイトの表示画面を外部の表示装置に表示させる。
【０３５６】
ステップＳ２５０において、組み込みアプリケーション４９であるウェブブラウザは、操作入力部２９から供給されるユーザの操作入力に基づいて、例えば、おまけコンテンツのダウンロードが指令された場合、インターネットインタフェース２５を制御して、おまけコンテンツのダウンロードを要求する信号を、ネットワーク２を介して、所定のサーバに供給したり、ウェブサイトの表示の終了が指令された場合、外部の表示装置におけるウェブサイトの表示を終了させるなど、ユーザの操作入力に基づいた処理を実行する。
【０３５７】
なお、おまけコンテンツが特定の光ディスク１１と対応付けられて再生されるようになされている場合、おまけコンテンツは、上述したManifestファイルを有し、光ディスク１１に記録されているデータとバインディングされて、再生されるようになされている。そして、おまけコンテンツが、特定の複数の光ディスク１１と対応付けられて再生されるようになされている場合、おまけコンテンツのManifestファイルのcredentialは、特定の複数の光ディスク１１を再生するナビゲーションプログラムによりアクセス可能なように設定される。
【０３５８】
ステップＳ２４６において、所定の条件が満たされていないと判断された場合、または、ステップＳ２４７の処理の終了後、ステップＳ２５１において、アプリケーションプログラム４７は、記録再生装置１の組み込みアプリケーション４９である、ローカルストレージ２４へのデータの記憶を制御するデータベースソフトウェアを起動し、コンテンツのタイトル名および付属情報、並びに、ジャケットデータを、組み込みアプリケーション４９に送信する。
【０３５９】
なお、ここでも、組み込みアプリケーション４９は、Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良く、アプリケーションプログラム４７は、組み込みアプリケーション４９がXletである場合、IXCを用いてアプリケーション間通信を実行し、組み込みアプリケーション４９がJAVA(登録商標)以外のアプリケーションプログラムである場合、JNIを用いてアプリケーション間通信を実行する。
【０３６０】
ステップＳ２５２において、記録再生装置１の組み込みアプリケーション４９である、ローカルストレージ２４へのデータの記憶を制御するデータベースソフトウェアは、コンテンツのタイトル名および付属情報、並びに、ジャケットデータを、アプリケーションプログラム４７から受信する。
【０３６１】
ステップＳ２５３において、組み込みアプリケーション４９は、自分自身が管理するデータベースのライブラリ一覧に、コンテンツのタイトル名および付属情報、並びに、ジャケットデータを登録する。
【０３６２】
組み込みアプリケーション４９である、ローカルストレージ２４へのデータの記憶を制御するデータベースソフトウェアは、光ディスク１１が記録再生装置１に装着されていない場合においても、コントローラ２１により実行可能であり、図２８を用いて後述する処理により、光ディスク１１が記録再生装置１に装着されているか否かにかかわらず、ユーザが所望した場合に、登録されたコンテンツの情報のユーザへの提示処理を行うことができるようになされている。
【０３６３】
このような処理により、光ディスク１１に対応付けられたナビゲーションプログラム４５と、記録再生装置１にインストールされているアプリケーションプログラム４７とが、連動して実行され、記録再生装置１の組み込みアプリケーション４９である、ローカルストレージ２４へのデータの記憶を制御するデータベースソフトウェアが起動されて、光ディスク１１により再生されるコンテンツのタイトル名および付属情報、並びに、ジャケットデータが登録される。
【０３６４】
更に、アプリケーションプログラム４７は、複数のナビゲーションプログラム４５と連動して実行され（複数のナビゲーションプログラム４５により起動され）、記録再生装置１において再生されたコンテンツ（光ディスク１１）の数をカウントすることなどにより管理して、所定の条件が満たされた場合に、記録再生装置１の組み込みアプリケーション４９であるウェブブラウザを起動して、おまけコンテンツをダウンロードすることができる。
【０３６５】
なお、ここでは、記録再生装置１の組み込みアプリケーション４９であるウェブブラウザを起動して、おまけコンテンツをダウンロードすることができるものとして説明したが、おまけコンテンツのダウンロードには、ナビゲーションプログラム４５に含まれるコンテンツのダウンロード機能を用いるようにしてもよいことは言うまでもない。この場合、ウェブブラウザやデータベースソフトウェアなどの組み込みアプリケーション４９がインストールされていなくても、ナビゲーションプログラム４５とアプリケーションプログラム４７とで連動して処理を実行して、記録再生装置１において再生されたコンテンツ（光ディスク１１）の数をカウントし、おまけコンテンツをダウンロードする処理を実行することが可能であることはいうまでもない。
【０３６６】
ナビゲーションプログラム４５、および、アプリケーションプログラム４７は、いずれも、JAVA(登録商標)によって記述されているXletであるので、共通実行環境で動作し、アプリケーション間通信を実行することができる。また、記録再生装置１の独自機能としてのアプリケーションプログラム４７をJAVA(登録商標) Xletで構築することにより、より柔軟なアプリケーション環境を構築できる。そして、アプリケーションプログラム４７は、JNIを利用して、他の言語(例えば、C言語やC++言語など)で開発されたネイティブコードのプログラムを利用することができる。記録再生装置１に組み込まれたアプリケーションで提供可能なサービスは、限られてしまうが、JNIを利用することにより、光ディスク１１により実行可能なナビゲーションプログラム４５とアプリケーション間通信が可能なアプリケーションプログラム４７は、記録再生装置１に予め埋め込まれている機能にアクセスすることも可能となるので、ユーザに提供することができるサービスの自由度が増す。
【０３６７】
従来、放送信号に、JAVA(登録商標)アプレットを含ませることにより、放送信号を受信する受信機の機能を操作することは行われてきたが、放送は、基本的に同一の画面がどの受信機にも表示されることを想定して行われているため、特定の装置にのみ、動作可能なようなアプリケーションは想定されていなかった。それに対して、上述した処理においては、アプリケーションプログラム４７と連動した処理を実行可能なナビゲーションプログラム４５を実行することができる光ディスク１１を、対応するアプリケーションプログラム４７がインストールされていない再生装置等に装着して再生させても、アプリケーションプログラム４７と連動した処理を実行することができないのはいうまでもない。また、さまざまな組み込みアプリケーション４９がインストールされていても、アプリケーションプログラム４７の介在がないと、光ディスク１１と対応付けられたナビゲーションプログラム４５と対応する処理は実行されない。
【０３６８】
すなわち、所定のアプリケーションプログラム４７がインストールされている記録再生装置１に、対応するナビゲーションプログラム４５が記録されている特定の光ディスク１１が装着された場合にのみ、光ディスク１１に対応付けられているナビゲーションプログラム４５と、記録再生装置１が保有するアプリケーションプログラム４７が連動して実行されて、所定の動作が行われるようになされている。すなわち、記録再生装置１は、単純にさまざまなソフトウェアがインストールされている従来の装置によって実行可能な処理とは異なる処理を実行することができるものである。このような構成を実現することにより、装置の差別化が可能となる。
【０３６９】
図２７を用いて説明した処理によって、記録再生装置１の組み込みアプリケーション４９である、ローカルストレージ２４へのデータの記憶を制御するデータベースソフトウェアは、自分自身が管理するデータベースのライブラリ一覧に、コンテンツのタイトル名および付属情報、並びに、ジャケットデータを登録する。
【０３７０】
したがって、コントローラ２１がこの組み込みアプリケーション４９を実行した場合、光ディスク１１が記録再生装置１に装着されているか否かにかかわらず、登録されたコンテンツの情報のユーザへの提示処理を行うことができるようになされている。
【０３７１】
図２８を参照して、組み込みアプリケーション４９（ローカルストレージ２４へのデータの記憶を制御するデータベースソフトウェア）の処理について説明する。
【０３７２】
ステップＳ２８１において、記録再生装置１の組み込みアプリケーション４９である、ローカルストレージ２４へのデータの記憶を制御するデータベースソフトウェアを実行しているコントローラ２１は、操作入力部２９から供給される信号に基づいて、ユーザから、登録コンテンツ情報の一覧の閲覧を指令する操作入力を受けたか否かを判断する。ステップＳ２８１において、ユーザから、登録コンテンツ情報の一覧の閲覧を指令する操作入力を受けなかったと判断された場合、登録コンテンツ情報の一覧の閲覧を指令する操作入力を受けたと判断されるまで、ステップＳ２８１の処理が繰り返される。
【０３７３】
ステップＳ２８１において、ユーザから、登録コンテンツ情報の一覧の閲覧を指令する操作入力を受けたと判断された場合、ステップＳ２８２においてコントローラ２１は、ライブラリ一覧登録に登録された、コンテンツのタイトル名および付属情報、並びに、ジャケットデータを読み込む。
【０３７４】
ステップＳ２８３において、コントローラ２１は、コンテンツのタイトル名および付属情報、並びに、ジャケットデータを表示させるための表示画像データを生成して外部の表示装置に出力し、表示させて、処理が終了される。
【０３７５】
このような処理により、コントローラ２１がこの組み込みアプリケーション４９を実行した場合、光ディスク１１が記録再生装置１に装着されているか否かにかかわらず、登録されたコンテンツの情報のユーザへの提示処理を行うことができる。
【０３７６】
次に、図２９を参照して、放送波を受信したり、例えば、ケーブルテレビジョンなどの番組コンテンツを取得して、録画する機能を更に備えた、録画記録再生装置１０１について説明する。
【０３７７】
なお、図１を用いて説明した記録再生装置１と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０３７８】
すなわち、図２９の録画記録再生装置１０１は、基本的に、図１を用いて説明した記録再生装置１が有する構成に加えて、コンテンツ取得部１１１、放送信号取得部１１２、録画処理部１１３、入力端子１２１、および、アンテナ１２２が新たに設けられている構成となっている。
【０３７９】
コンテンツ取得部１１１は、入力端子１２１から入力された、例えば、ケーブルテレビジョンなどの番組コンテンツを取得し、録画処理部１１３に供給する。
【０３８０】
放送信号取得部１１２は、アンテナ１２２により受信された放送信号を取得し、録画処理部１１３に供給する。
【０３８１】
録画処理部１１３は、コンテンツ取得部１１１または放送信号取得部１１２から供給された番組コンテンツ、または、インターネットインタフェース２５から供給される、ネットワーク２を介して配信された番組コンテンツなどをローカルストレージ２４に記録する、すなわち、録画する処理を実行する。録画処理部１１３は、コントローラ２１の制御に基づいて、録画予約を行うこともできる。
【０３８２】
ローカルストレージ２４に記録された録画データは、トランスコーダ２６によって必要に応じてデコードされて、外部の表示部に出力されて再生表示される。また、ローカルストレージ２４に記録された録画データに、上述したManifestファイルが対応付けられて供給された場合、録画されたデータは、Manifestファイルに基づいたパスが設定されて、ナビゲーションプログラム４５により上述したバインディング処理が実行されて、特定の光ディスク１１に記録されているコンテンツとともに再生されるようにすることも可能である。
【０３８３】
コンテンツ取得部１１１または放送信号取得部１１２、もしくは、インターネットインタフェース２５によるコンテンツデータの取得は、録画記録再生装置１０１に予め埋め込まれている機能であるものとして、組み込みアプリケーション４９の処理により実行されるものとすることができる。また、録画処理部１１３によるコンテンツデータの録画処理も、録画記録再生装置１０１に予め埋め込まれている機能であるものとして、組み込みアプリケーション４９の処理により実行されるものとすることができる。
【０３８４】
コントローラ２１が有する機能のうち、JAVA(登録商標)環境によって提供される機能は、図６または図７を用いて説明した場合と、基本的に同様のものであり、光ディスク１１が装着されたときにナビゲーションプログラム４５が実行されることにより実現される機能は、図９を用いて説明した場合と、基本的に同様のものである。
【０３８５】
また、コンテンツ取得部１１１または放送信号取得部１１２は、番組コンテンツとともに、JAVA(登録商標)のXletを取得することも可能である。コントローラ２１は、取得されたJAVA(登録商標)のXletをローカルストレージ２４に記憶させて実行可能な状態とする、すなわち、インストールすることができる。
【０３８６】
図２９の録画記録再生装置１０１において、放送波を受信したり、例えば、ケーブルテレビジョンなどの番組コンテンツを取得して、録画する機能などを制御するソフトウェアプラットフォームは、光ディスク１１を再生する処理を制御するソフトウェアプラットフォームと異なる環境であるかもしれない。したがって、従来、装着された光ディスク１１に記載されている、または、対応付けられて実行されるアプリケーションが、これらの機能と連携した処理を実行するためのＡＰＩを全て用意することは困難であった。
【０３８７】
これに対して、録画記録再生装置１０１に装着された光ディスク１１に記載されているアプリケーションであるナビゲーションプログラム４５と、録画記録再生装置１０１固有のアプリケーションプログラム４７とは、いずれも、仮想マシン上で動作可能な、すなわち、マルチプラットフォームで動作可能なプログラミング言語であるJAVA(登録商標)のXletであるので、共通実行環境で動作し、相互にアプリケーション間通信を実行することができるので、連動して動作可能である。更に、アプリケーションプログラム４７に、JNI（JAVA(登録商標) Native Interface）を利用して、他の言語(例えば、C言語やC++言語など)で開発されたネイティブコードのプログラムを利用する機能を持たせることが可能となる。したがって、光ディスク１１により実行可能なナビゲーションプログラム４５は、アプリケーションプログラム４７を介して、録画記録再生装置１０１に予め埋め込まれている機能にアクセスする、換言すれば、JNIまたはIXCを用いて組み込みアプリケーション４９と通信して、その処理を制御することが可能となる。したがって、既に存在する技術（録画記録再生装置１０１に予め埋め込まれている機能）をそのまま流用して開発コストを抑えつつ、ユーザに提供することができるサービスの自由度を向上させることができる。
【０３８８】
すなわち、組み込みアプリケーション４９は、Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なモジュールであっても良く、アプリケーションプログラム４７は、組み込みアプリケーション４９がXletである場合、IXCを用いてアプリケーション間通信を実行し、組み込みアプリケーション４９がJAVA(登録商標)以外のアプリケーションプログラムである場合、JNIを用いてアプリケーション間通信を実行する。
【０３８９】
次に、図３０のフローチャートを参照して、図２９の録画記録再生装置１０１において、または、外部に録画装置が接続されている図１の記録再生装置１において実行される、ナビゲーションプログラム４５と録画予約処理を制御するアプリケーションプログラム４７とが連動することにより実行される処理の第２の例について説明する。
【０３９０】
録画記録再生装置１０１には、録画予約処理を制御するアプリケーションプログラム４７（Xlet）が記憶されており、実行可能な状態になされている。具体的には、録画予約処理を制御するアプリケーションプログラム４７は、ナビゲーションプログラム４５により起動され、録画記録再生装置１０１の組み込みアプリケーション４９である、放送波を受信したり、例えば、ケーブルテレビジョンなどの番組コンテンツを取得して、録画する機能を実行するための組み込みアプリケーション４９（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し、アプリケーション間通信を行って、その処理を制御することが出来るようになされている。
【０３９１】
なお、図１を用いて説明した記録再生装置１に、放送波を受信したり、例えば、ケーブルテレビジョンなどの番組コンテンツを取得して、録画する機能を有する録画装置、すなわち、図２９の録画記録再生装置１０１における、コンテンツ取得部１１１、放送信号取得部１１２、録画処理部１１３、入力端子１２１、および、アンテナ１２２と同様の構成を有する録画装置が接続されている場合、録画予約処理を制御するアプリケーションプログラム４７は、外部に制御信号を送出して、録画装置に組み込まれている組み込みアプリケーション４９による録画処理を制御する。
【０３９２】
ステップＳ３１１において、アプリケーションプログラム連動処理制御部７１は、光ディスクディレクトリ管理部６５、または、ローカルストレージディレクトリ管理部６４を制御して、光ディスク１１に記録されている、または、ローカルストレージ２４の光ディスク１１に対応するパスに記憶されている、光ディスク１１、または、光ディスク１１により再生されるコンテンツに関連した番組コンテンツの放送または提供日時とチャンネルなどの番組コンテンツの取得に必要な情報、並びに、録画された番組コンテンツがローカルストレージ２４に記憶される場合のパス情報を検出する。
【０３９３】
ステップＳ３１２において、アプリケーションプログラム連動処理制御部７１は、ステップＳ３１１の処理により検出された、番組コンテンツの取得に必要な情報、および、録画された番組コンテンツがローカルストレージ２４に記憶される場合のパス情報をアプリケーションプログラム４７に送信、具体的には、IxcRegistryへバインドする。
【０３９４】
ステップＳ３１３において、録画予約処理を制御するアプリケーションプログラム４７は、番組コンテンツの取得に必要な情報、および、録画された番組コンテンツがローカルストレージ２４に記憶される場合のパス情報をナビゲーションプログラム４５から受信、具体的には、IxcRegistryをルックアップする。
【０３９５】
ステップＳ３１４において、アプリケーションプログラム４７は、受信した情報に基づいて、録画予約処理を実行させるための制御情報を生成する。
【０３９６】
ステップＳ３１５において、アプリケーションプログラム４７は、録画予約を実行させるための制御情報を、録画処理を実行する外部の録画装置などに出力する（外部の録画装置に組み込まれている組み込みアプリケーション４９に送信する）か、または、録画処理を実行する組み込みアプリケーション４９を起動させて、この組み込みアプリケーション４９に制御情報を送信する。
【０３９７】
ステップＳ３１６において、録画処理を実行する外部の録画装置、または、録画処理を実行する組み込みアプリケーション４９は、アプリケーションプログラム４７から供給された制御情報を基に、録画予約処理を実行する。
【０３９８】
ステップＳ３１７において、録画処理を実行する外部の録画装置、または、録画処理を実行する組み込みアプリケーション４９は、所定の番組コンテンツの録画が終了したか否かを判断する。ステップＳ３１７において、番組コンテンツの録画が終了していないと判断された場合、番組コンテンツの録画が終了したと判断されるまで、ステップＳ３１７の処理が繰り返される。
【０３９９】
ステップＳ３１７において、番組コンテンツの録画が終了したと判断された場合、ステップＳ３１８において、録画処理を実行する外部の録画装置、または、録画処理を実行する組み込みアプリケーション４９は、ローカルストレージ２４の所定のパスに、録画された番組コンテンツのデータを設定する、または、供給して記憶させる。また、録画処理を実行する外部の録画装置、または、録画処理を実行する組み込みアプリケーション４９は、アプリケーションプログラム４７に、録画処理の終了を通知するので、アプリケーションプログラム４７は、ナビゲーションプログラム４５に、録画処理の終了を通知する。
【０４００】
ステップＳ３１９において、ナビゲーションプログラム４５のファイルシステムマージ処理部６６は、図２１を用いて説明したバインディング処理を実行し、録画された番組コンテンツと、光ディスクに記録されたコンテンツ（そのコンテンツに対応するローカルストレージに記憶されているデータを含む）とを組み合わせて再生することが可能な状態とする。
【０４０１】
このような処理を実行するために、光ディスク１１、または、ローカルストレージ２４の光ディスク１１に対応するパスに、所定の番組コンテンツを録画するために必要な情報と、録画された番組コンテンツのローカルストレージ２４におけるパス情報とを記録しておく。パス情報は、録画された番組コンテンツを光ディスク１１に記録されているコンテンツのファイルシステムとバインディングさせるために必要な情報である。そして、その光ディスク１１が、録画処理を実行する外部の録画装置、または、録画処理を実行する組み込みアプリケーション４９を制御することが可能なアプリケーションプログラム４７をインストールしている記録再生装置１または録画記録再生装置１０１に装着された場合にのみ、所定の番組コンテンツが自動的に録画されて、光ディスク１１に記録されているコンテンツのファイルシステムとバインディングされて、再生される。
【０４０２】
このようにして、ナビゲーションプログラム４５とアプリケーションプログラム４７が連動して実行さるので、組み込みアプリケーション４９または外部の装置の機能や構成を大きく変更することなく、組み込みアプリケーション４９のみではユーザに提供することができないサービスを、アプリケーションプログラム４７をインストールしている記録再生装置１または録画記録再生装置１０１の固有のサービスとして、ユーザに提供することができる。
【０４０３】
次に、図３１のフローチャートを参照して、図２９の録画記録再生装置１０１において、または、外部に録画装置が接続されている図１の記録再生装置１において実行される、ナビゲーションプログラム４５と録画処理を制御するアプリケーションプログラム４７とが連動して実行される処理の第３の例について説明する。
【０４０４】
ここでも、録画記録再生装置１０１には、録画予約処理を制御するアプリケーションプログラム４７（Xlet）が記憶されており、実行可能な状態になされている。録画予約処理を制御するアプリケーションプログラム４７は、ナビゲーションプログラム４５により起動され、所定の番組等の録画予約を制御する処理を実行する。また、録画処理部１１３は、キーワードの入力を受け、例えば、EPG(Electronic Program Guide)など、番組コンテンツの内容を示す情報やメタデータに基づいて録画処理を行うことが可能なようになされている。また、ここでも、図１を用いて説明した記録再生装置１に、放送波を受信したり、例えば、ケーブルテレビジョンなどの番組コンテンツを取得して、録画する機能を有する録画装置、すなわち、図２９の録画記録再生装置１０１における、コンテンツ取得部１１１、放送信号取得部１１２、録画処理部１１３、入力端子１２１、および、アンテナ１２２と同様の構成を有する録画装置が接続されている場合、録画予約処理を制御するアプリケーションプログラム４７は、外部に制御信号を送出して、録画装置による録画処理を制御するようになされている。
【０４０５】
ステップＳ３４１において、アプリケーションプログラム連動処理制御部７１は、光ディスクディレクトリ管理部６５、または、ローカルストレージディレクトリ管理部６４を制御して、光ディスク１１に記録されている、または、ローカルストレージ２４の光ディスク１１に対応するパスに記憶されている、光ディスク１１、または、光ディスク１１により再生されるコンテンツに関連したキーワード、並びに、録画された番組コンテンツがローカルストレージ２４に記録される場合のパス情報を検出する。
【０４０６】
ステップＳ３４２において、アプリケーションプログラム連動処理制御部７１は、ステップＳ３４１の処理により検出された、キーワード、および、録画された番組コンテンツがローカルストレージ２４に記録される場合のパス情報をアプリケーションプログラム４７に送信、具体的には、IxcRegistryへバインドする。
【０４０７】
ステップＳ３４３において、録画予約処理を制御するアプリケーションプログラム４７は、キーワード、および、録画された番組コンテンツがローカルストレージ２４に記録される場合のパス情報をナビゲーションプログラム４５から受信、具体的には、IxcRegistryをルックアップする。
【０４０８】
ステップＳ３４４において、アプリケーションプログラム４７は、受信した情報に基づいて、録画予約処理を実行させるための制御情報を生成する。
【０４０９】
ステップＳ３４５乃至ステップＳ３４９において、図３０を用いて説明したステップＳ３１５乃至ステップＳ３１９と基本的に同様の処理が実行されて、処理が終了される。
【０４１０】
すなわち、アプリケーションプログラム４７は、録画予約のための制御情報を、録画処理を実行する外部の録画装置などに出力する（外部の録画装置に組み込まれている組み込みアプリケーション４９に送信する）か、または、録画処理を実行する組み込みアプリケーション４９を起動させて、この組み込みアプリケーション４９に制御情報を送信する。そして、録画処理を実行する外部の録画装置、または、録画処理を実行する組み込みアプリケーション４９は、アプリケーションプログラム４７から供給された制御情報を基に、例えば、EPGなどの番組コンテンツに関する情報を参照して、キーサードに合致する番組コンテンツの録画予約処理を実行し、番組コンテンツの録画が終了したと判断された場合、ローカルストレージ２４の所定のパスに、録画された番組コンテンツのデータを設定する、または、供給して記憶させとともに、アプリケーションプログラム４７に、録画処理の終了を通知する。アプリケーションプログラム４７は、ナビゲーションプログラム４５に、録画処理の終了を通知する。そして、ナビゲーションプログラム４５のファイルシステムマージ処理部６６は、図２１を用いて説明したバインディング処理を実行し、録画された番組コンテンツと、光ディスクに記録されたコンテンツ（そのコンテンツに対応するローカルストレージに記憶されているデータを含む）とを組み合わせて再生することが可能な状態とする。
【０４１１】
このような処理を実行するために、光ディスク１１、または、ローカルストレージ２４の光ディスク１１に対応するパスに、所定の番組コンテンツを録画するために必要な情報として、キーワードが記録されるとともに、録画された番組コンテンツのローカルストレージ２４におけるパス情報が記録される。そして、その光ディスク１１が、録画処理を実行する外部の録画装置、または、録画処理を実行する組み込みアプリケーション４９を制御することが可能なアプリケーションプログラム４７をインストールしている記録再生装置１または録画記録再生装置１０１に装着された場合にのみ、所定の番組コンテンツが自動的に録画されて、光ディスク１１に記録されているコンテンツのファイルシステムとバインディングされて、再生される。
【０４１２】
また、このように自動的に録画された番組コンテンツは、光ディスク１１に記録されているコンテンツのファイルシステムとバインディングされずに、単独で再生可能なようにしてもよいことは言うまでもない。このようにすることにより、例えば、ユーザが自分自身でキーワードを入力しなくても、記録再生装置１または録画記録再生装置１０１において再生されたことがある光ディスク１１に関連する、すなわち、ユーザが興味をもっている可能性が大きい番組コンテンツを、自動的に録画することができるので、ユーザの嗜好に合致した番組コンテンツを自動的に録画するというサービスを提供することが可能となる。
【０４１３】
このようにして、ナビゲーションプログラム４５とアプリケーションプログラム４７が連動して実行され、組み込みアプリケーション４９または外部の装置の機能や構成を大きく変更することなく、組み込みアプリケーション４９のみではユーザに提供することができないサービスを、アプリケーションプログラム４７をインストールしている記録再生装置１または録画記録再生装置１０１の固有のサービスとして、ユーザに提供することができる。
【０４１４】
また、ナビゲーションプログラム４５とアプリケーションプログラム４７とが連動して実行可能なようになされることにより、図１の記録再生装置１または図２９の録画記録再生装置１０１において、例えば、テレビジョン受像機や、録画再生装置など、さまざまな装置において、ユーザの操作入力を補助するために広く用いられているＧＵＩ（Graphic User Interface）表示画面を用いることができる。
【０４１５】
具体的には、例えば、出願人が、“SONY WEGA | 体験！XMB”、<URL: http://www.sony.jp/products/Consumer/wega/xmb/index.html>において、平成１８年６月２０日の時点において公開しているように、近年、放送される番組を受信し、内蔵のハードディスクに録画してそれを再生する機能、ハードディスクに記録させておいた音楽や静止画を再生する機能などの各種の機能が搭載された家電製品が販売されており、このような機器の中には、各種の機能をユーザが利用するためのメニュー画面として、画面の横方向にそれぞれのカテゴリのアイコンが並べて表示され、縦方向に、選択されているカテゴリのそれぞれの項目が並べて表示される画面が用意されているものがある。
【０４１６】
項目を分類するカテゴリとしては、番組の録画や録画済みの番組の再生に関する「ビデオ」、静止画の再生に関する「フォト」、音楽の再生に関する「ミュージック」などが用意される。
【０４１７】
例えば、複数のカテゴリの中から「フォト」のカテゴリを選択したとき、画面には、機器に取り込まれている全ての画像（サムネイル画像）が縦方向に一列に並べて表示され、ユーザは、上下方向の操作だけで目的の画像を探し出すことができる。このような画面を表示する機器においては、上下方向の操作に対する表示の応答時間を素早いものとすることによって、ユーザが目的の画像を容易に探し出すことのできる環境が実現されている。
【０４１８】
このようなＧＵＩ表示機能は、組み込みアプリケーション４９として各種の装置にインストールされ、ユーザに提供される。
【０４１９】
次に、図３２のフローチャートを参照して、図１の記録再生装置１または図２９の録画記録再生装置１０１において実行される、ナビゲーションプログラム４５と、ＧＵＩ表示画面の表示を制御するアプリケーションプログラム４７とが連動して実行される処理の第４の例について説明する。
【０４２０】
ステップＳ３７１において、アプリケーションプログラム連動処理制御部７１は、光ディスクディレクトリ管理部６５、または、ローカルストレージディレクトリ管理部６４を制御して、光ディスク１１に記録されている、または、ローカルストレージ２４の光ディスク１１に対応するパスに記憶されている、光ディスク１１、または、光ディスク１１により再生されるコンテンツ(サブコンテンツを含む)のタイトルや付属情報などを検出する。
【０４２１】
ステップＳ３７２において、アプリケーションプログラム連動処理制御部７１は、ステップＳ３７１の処理により検出された、コンテンツ(サブコンテンツを含む)のタイトルや付属情報などの一覧を、アプリケーションプログラム４７に送信、具体的には、IxcRegistryへバインドする。
【０４２２】
ステップＳ３７３において、ＧＵＩ表示画面の表示処理を制御するアプリケーションプログラム４７は、コンテンツ(サブコンテンツを含む)のタイトルや付属情報などの一覧をナビゲーションプログラム４５から受信、具体的には、IxcRegistryをルックアップする。
【０４２３】
ステップＳ３７４において、アプリケーションプログラム４７は、受信したコンテンツ(サブコンテンツを含む)のタイトルや付属情報などのデータを、所定のＧＵＩによって表示可能なデータに変換するための処理を実行する。
【０４２４】
ステップＳ３７５において、アプリケーションプログラム４７は、生成されたデータを、ＧＵＩ表示処理やＧＵＩ表示画面を参照したユーザによるユーザオペレーションの取得処理を実行する外部の表示装置などに出力する（外部の表示装置に組み込まれている組み込みアプリケーション４９に送信する）か、または、ＧＵＩ表示処理やＧＵＩ表示画面を参照したユーザによるユーザオペレーションの取得処理を実行する組み込みアプリケーション４９を起動させて、この組み込みアプリケーション４９に制御情報を送信する。
【０４２５】
ステップＳ３７６において、外部の表示装置、または、組み込みアプリケーション４９は、ユーザから所定のＧＵＩ表示画面の表示が指令されたか否かを判断する。ステップＳ３７６において、ユーザから所定のＧＵＩ表示画面の表示が指令されていないと判断された場合、表示が指令されたと判断されるまで、ステップＳ３７６の処理が繰り返される。
【０４２６】
ステップＳ３７６において、ユーザから所定のＧＵＩ表示画面の表示が指令されたと判断された場合、ステップＳ３７７において、外部の表示装置、または、組み込みアプリケーション４９は、装着された光ディスク１１によって再生可能なコンテンツ(サブコンテンツを含む)のタイトルや付属情報などの一覧を表示することが可能なＧＵＩ表示画面の表示を制御する。
【０４２７】
ステップＳ３７８において、外部の表示装置、または、組み込みアプリケーション４９は、ＧＵＩ表示画面に表示されている装着された光ディスク１１によって再生可能なコンテンツ(サブコンテンツを含む)のタイトルや付属情報などの一覧から、所定のコンテンツが選択決定されて、その再生が指令されたか否かを判断する。ステップＳ３７８において、再生が指令されていないと判断された場合、再生が指令されたと判断されるまで、ステップＳ３７８の処理が繰り返される。
【０４２８】
ステップＳ３７８において、再生が指令されたと判断された場合、外部の表示装置、または、組み込みアプリケーション４９は、ユーザによる指令をアプリケーションプログラム４７に通知するので、ステップＳ３７９において、アプリケーションプログラム４７は、ユーザから指定されたコンテンツを示す情報を、外部の表示装置、または、組み込みアプリケーション４９から取得する。
【０４２９】
ステップＳ３８０において、アプリケーションプログラム４７は、外部の表示装置、または、組み込みアプリケーション４９から取得した、ユーザから指定されたコンテンツを示す情報を、ナビゲーションプログラム４５に送信する。
【０４３０】
ステップＳ３８１において、ナビゲーションプログラム４５は、ユーザにより再生が指令されたコンテンツの読み出しとその再生処理を制御する。
【０４３１】
このような処理により、組み込みアプリケーション４９として提供されている（例えば、他の装置において広く用いられているものであってもよい）ＧＵＩ表示画面の表示機能を用いて、光ディスク１１によって表示可能なコンテンツ(サブコンテンツを含む)のタイトルや付属情報などの一覧を表示することが出来る。これにより、ユーザは、見慣れた、そして、操作に慣れているＧＵＩ表示画面を用いて、再生可能なコンテンツの内容を容易に確認したり、再生させるコンテンツを指令することができる。そして、記録再生装置１または、録画記録再生装置１０１のメーカは、独自のＧＵＩ表示画面の開発を新たに行わないでよいので、開発コストを削減しつつ、ユーザにとって、見慣れた、そして、操作に慣れているＧＵＩ表示画面をユーザに提供することが可能となる。
【０４３２】
以上説明したように、例えば、JAVA(登録商標)などのように、仮想マシンの実装によりマルチプラットフォームで動作可能な、装置側に固有にインストールされているアプリケーションプログラム４７と、装置に装着される光ディスクなどの記録媒体に対応付けられているナビゲーションプログラム４５とを、IXCなどのアプリケーション間通信を利用して連動して実行するものとすることができる。そして、光ディスクなどの記録媒体を再生する機能を有する装置のメーカは、その装置に、光ディスクなどの記録媒体に対応付けられているナビゲーションプログラムと連動して動作可能なアプリケーションプログラムをインストールしておくか、または、インストール可能なようにしておくことにより、装置の差別化を図ることができる。
【０４３３】
また、これらの手法を利用して、光ディスクなどの記録媒体を用いてコンテンツを提供する提供者（コンテンツオーサ）とその記録媒体を再生する装置の提供者とが個別に契約を結ぶことにより、個別のサービスをユーザに提供することができるようになされている。このため、例えば、光ディスクなどの記録媒体を用いてコンテンツを提供する提供者は、自社の物販サイトへの誘導など、すべてのメーカに対して要求するのが困難な内容のサービスであっても、その記録媒体を再生する装置の提供者と個別に提携することにより、ユーザに対して提供することができる。
【０４３４】
ところで、上述したように、アプリケーションプログラム４７は、他の装置からダウンロードされるものであってもかまわない。また、アプリケーションプログラム４７によって、他のアプリケーションプログラム４７がダウンロードされるものであってもかまわない。
【０４３５】
図３３を参照して、アプリケーションプログラム４７のダウンロードおよび起動について説明する。
【０４３６】
disc_idに加えて、アプリケーションプログラム４７のダウンロード先のURL情報などが記録された光ディスク１５１が装着された、上述した記録再生装置１または録画記録再生装置１０１などのクライアント１５２に、アプリケーションプログラム４７を所定のサーバからダウンロードして内部に記憶し、起動させる処理を実行するブートローダ（Boot loader for client application）１６１をインストールしておく。ブートローダ１６１は、Java(登録商標)のXletであるアプリケーションプログラム４７のひとつである。
【０４３７】
このブートローダ１６１が起動された場合、ブートローダ１６１は、装着されている光ディスク１５１のナビゲーションプログラム４５とIXCでプログラム間通信を行って、ダウンロードされる新たなアプリケーションプログラム４７のダウンロード先のURL情報などを取得し、所定のサーバ１５３に、例えば、一般的なHTTPなどのプロトコルによりアクセスして、指定されたアプリケーションプログラム４７をダウンロードし、所定の記憶領域に記憶する。ブートローダ１６１は、必要に応じて、上述した再生処理に必須でない機能群５４や組み込みアプリケーション４９などと連携した処理を行うことにより、ダウンロードや記憶の処理を実行する。ここでは、サーバ１５３からJava(登録商標)のXletであるClass#1がダウンロードされ、所定の記憶領域に記憶されるものとする。
【０４３８】
ブートローダ１６１は、ダウンロードされ、所定の記憶領域に記憶されたClass#1を、IxcRegistryにバインドする。また、ブートローダ１６１は、ダウンロードされたClass#1を起動するとき、IxcRegistryからルックアップする。ブートローダ１６１が実行する機能には、複数のアプリケーションプログラム４７をダウンロードする機能が含まれていてもよいことは言うまでもない。
【０４３９】
また、ダウンロードされたClass#1が実行する処理に、更に異なるアプリケーションプログラム４７をダウンロードする処理が含まれていた場合、Java(登録商標)のXletであるClass#1は、所定のサーバ（例えば、サーバ１５３）に、Class#1において記述されているロジックに基づいて接続し、Class#1とは異なる、Java(登録商標)のXletであるClass#2を、アプリケーションプログラム４７としてダウンロードし、所定の記憶領域に記憶する。図３３においては、Class#2は、Class#1と同じサーバ１５３からダウンロードされるものとして記載されているが、Class#2のダウンロードのURL情報などは、Class#1に記述されていれば良いのであって、Class#2は、Class#1とは異なるサーバからダウンロードされるものであってもよいことは言うまでもない。また、Class#1には、3つ以上のアプリケーションプログラム４７をダウンロードする機能が含まれていてもよく、また、Class#２にも、複数のアプリケーションプログラム４７をダウンロードする機能が含まれていてもよいことは言うまでもない。
【０４４０】
なお、図２５乃至図３２を用いて説明した処理においては、アプリケーションプログラム４７は、装着されている光ディスク１１に記録されているナビゲーションプログラム４５により起動されるものとして説明した。これに対して、アプリケーションプログラム４７であるブートローダ１６１は、装着されている光ディスク１１に記録されているナビゲーションプログラム４５により起動されても良いが、例えば、ユーザの操作入力により起動されても良い。ブートローダ１６１は、装着されている光ディスク１１に記録されているナビゲーションプログラム４５に対応したアプリケーションプログラム４７をダウンロードすることができるようになされている。すなわち、アプリケーションプログラム４７であるブートローダ１６１は、上述した処理と同様に、ナビゲーションプログラム４５と連動した処理を行うものであるし、ブートローダによりダウンロードされるナビゲーションプログラム４５は、もちろん、装着されている光ディスク１１に対応するものである。
【０４４１】
また、ここでは、ブートローダ１６１が、装着されている光ディスク１１に記録されているナビゲーションプログラム４５に対応したアプリケーションプログラム４７をダウンロードする処理と起動する処理とを実行するものとして説明したが、ダウンロードと起動は、異なるアプリケーションプログラム４７によって実行されてもよいことは言うまでもない。ダウンロードと起動を、異なるアプリケーションプログラム４７によって実行する場合においても、それらのアプリケーションプログラム４７は、Java(登録商標)のXletであり、IXCを用いてアプリケーション間通信を行うことが可能であるので、連携してダウンロードおよび起動を行うことが可能である。
【０４４２】
次に、図３４のフローチャートを参照して、アプリケーションプログラム４７であるブートローダを用いて、他のアプリケーションプログラム４７をダウンロードする処理について説明する。
【０４４３】
ステップＳ４３１において、コントローラ２１は、操作入力部２９から供給されるユーザの操作入力、または、ナビゲーションプログラム４５が実行中である場合は、そのナビゲーションプログラムの処理により発行されるコマンドに基づいて、ブートローダ１６１の起動が指令されたか否かを判断する。ステップＳ４３１において、ブートローダ１６１の起動が指令されていないと判断された場合、ブートローダ１６１の起動が指令されたと判断されるまで、ステップＳ４３１の処理が繰り返される。
【０４４４】
ステップＳ４３１において、ブートローダ１６１の起動が指令されたと判断された場合、ステップＳ４３２において、コントローラ２１のアプリケーションプログラム連動処理制御部７１、および、IXC制御部７２により、ブートローダ１６１が起動され、アプリケーションプログラム実行処理部７３によるブートローダ１６１の処理が開始される。基本的には、図２６を用いて説明した、アプリケーションプログラムの呼び出し処理と同様の処理により、アプリケーションプログラム４７であるブートローダ１６１が起動される。
【０４４５】
ステップＳ４３３において、ブートローダ１６１を実行するアプリケーションプログラム実行処理部７３は、IXC制御部７２により制御されるブートローダ１６１とナビゲーションプログラム４５とのプログラム間通信により、例えば、装着された光ディスク１５１に記録されているdisc_idや、ダウンロード先のサーバ１５３のURL情報など、装着されている光ディスク１５１からナビゲーションプログラム４５によって読み込まれたアプリケーションプログラム４７のダウンロードのために必要な情報を取得する。
【０４４６】
ステップＳ４３４において、ブートローダ１６１を実行するアプリケーションプログラム実行処理部７３は、必要に応じて、再生処理に必須でない機能群５４または組み込みアプリケーション４９と連動して処理を実行することにより、対応するサーバ１５３へHTTP接続し、必要な情報を送信する。
【０４４７】
ステップＳ４３５において、ブートローダ１６１を実行するアプリケーションプログラム実行処理部７３は、必要に応じて、再生処理に必須でない機能群５４または組み込みアプリケーション４９と連動して処理を実行することにより、対応するサーバ１５３から、所定のアプリケーションプログラム４７をダウンロードし、ローカルストレージ２４に記録する。
【０４４８】
ステップＳ４３６において、ブートローダ１６１を実行するアプリケーションプログラム実行処理部７３は、ダウンロードされたアプリケーションプログラム４７を起動するために、ixcRegistryへのバインド処理を実行する。
【０４４９】
ステップＳ４３７において、ブートローダ１６１を実行するアプリケーションプログラム実行処理部７３は、ダウンロードされたアプリケーションプログラム４７をixcRegistryからルックアップして起動する。
【０４５０】
ステップＳ４３８において、図３５を用いて説明するアプリケーションプログラム実行処理が実行され、処理が終了される。すなわち、アプリケーションプログラム実行処理部７３は、ブートローダ１６１により起動されたアプリケーションプログラム４７の処理を実行する。
【０４５１】
このような処理により、ブートローダ１６１とナビゲーションプログラム４５とは、IXCによるプログラム間通信を行って連係して動作することが可能であるとともに、ブートローダ１６１は、APIまたはJNIを利用することにより再生処理に必須でない機能群５４または組み込みアプリケーション４９と連動して処理を実行することが可能である。そして、なブートローダ１６１は、APIまたはJNIを利用することにより再生処理に必須でない機能群５４または組み込みアプリケーション４９と連動して処理を実行することが可能な、ブートローダ１６１とは異なるアプリケーションプログラム４７をサーバなどからダウンロードして、起動することが可能となる。
【０４５２】
次に、図３５のフローチャートを参照して、図３４のステップＳ４３８において実行されるアプリケーションプログラム実行処理について説明する。
【０４５３】
ステップＳ４６１において、図３４を用いて説明した処理によりブートローダ１６１によりダウンロードされたアプリケーションプログラム４７を実行するアプリケーションプログラム実行処理部７３は、このアプリケーションプログラム４７が実行されることにより、他のアプリケーションプログラム４７がダウンロードされ実行されるか否かを判断する。以下、図３４を用いて説明した処理によりブートローダ１６１によりダウンロードされたアプリケーションプログラム４７をアプリケーションプログラム４７−２、新たにダウンロードされるアプリケーションプログラム４７をアプリケーションプログラム４７−３と称するものとする。ステップＳ４６１において、アプリケーションプログラム４７−３がダウンロードされないと判断された場合、処理は、後述するステップＳ４６７に進む。
【０４５４】
ステップＳ４６１において、アプリケーションプログラム４７−３がダウンロードされ実行されると判断された場合、ステップＳ４６２において、アプリケーションプログラム４７−２を実行するアプリケーションプログラム実行処理部７３は、アプリケーションプログラム４７−２に記述されたロジックにしたがって、必要に応じて、再生処理に必須でない機能群５４または組み込みアプリケーション４９と連動して処理を実行することにより、対応するサーバ１５３へ接続する。
【０４５５】
ステップＳ４６３において、アプリケーションプログラム４７−２を実行するアプリケーションプログラム実行処理部７３は、必要に応じて、再生処理に必須でない機能群５４または組み込みアプリケーション４９と連動して処理を実行することにより、対応するサーバ１５３から、所定のアプリケーションプログラム４７−３をダウンロードし、ローカルストレージ２４に供給して記録する。
【０４５６】
ステップＳ４６４において、アプリケーションプログラム４７−２を実行するアプリケーションプログラム実行処理部７３は、ダウンロードされたアプリケーションプログラム４７−３を起動するために、ixcRegistryへのバインド処理を実行する。
【０４５７】
ステップＳ４６５において、アプリケーションプログラム４７−２を実行するアプリケーションプログラム実行処理部７３は、ダウンロードされたアプリケーションプログラム４７−３をixcRegistryからルックアップして起動させる。
【０４５８】
ステップＳ４６６において、アプリケーションプログラム４７−２を実行するアプリケーションプログラム実行処理部７３は、アプリケーションプログラム４７−２によって指定された全ての他のアプリケーションプログラム４７−３のダウンロードおよび起動が実行されたか否かを判断する。ステップＳ４６６において、全ての他のアプリケーションプログラム４７−３のダウンロードおよび起動がまだ実行されていないと判断された場合、処理は、ステップＳ４６２に戻り、それ以降の処理が繰り返される。
【０４５９】
ステップＳ４６１において、アプリケーションプログラム４７−３がダウンロードされないと判断された場合、または、ステップＳ４６６において、全ての他のアプリケーションプログラム４７−３のダウンロードおよび起動が実行されたと判断された場合、アプリケーションプログラム実行処理部７３により、起動状態の１つまたは複数のアプリケーションプログラムの処理が実行されて、処理が終了される。
【０４６０】
このような処理により、ダウンロードされたアプリケーションプログラム４７−２によって、更に、他のアプリケーションプログラム４７−３がダウンロードされる。
【０４６１】
ところで、上述したように、アプリケーションプログラム４７は、APIライブラリ４６とは異なる独自のAPIライブラリ５１および５２を用意することにより、再生処理に必須である機能群５３にアクセスすることも、記録再生装置１が有する再生処理に必須でない機能群５４にアクセスすることも可能であり、更に、記録再生装置１のローカルな機能である組み込みアプリケーション４９にJNI（または、場合によってはIXC）を用いてアクセスすることも可能である。記録再生装置１または録画記録再生装置１０１においては、再生処理に必須でない機能群５４として、例えば、装着された記録媒体に記録されているデータを読み出して他の記録媒体にコピーする機能や、コピーするデータのフォーマットを変換する機能などを更に備えることができ、また、記録再生装置１のローカルな機能である組み込みアプリケーション４９として、記録媒体へのデータのコピーやコピーのためのフォーマット変換などの処理を制御する組み込みアプリケーション４９を更に備えることができる。
【０４６２】
光ディスクなどの記録媒体に記録されている映像パッケージソフトの著作権保護に関する枠組みとして、AACS（Advanced Access Content System）がある。AACSには、所定の認証処理が実行された場合にのみ、光ディスクなどのパッケージ・メディアに収録したコンテンツを、たとえば、ホームメディアサーバのHDDや、装着された他の光ディスクなど、他の媒体にコピーしたり、ネットワークを介して接続された他の機器にストリーム配信することを許可することができるManaged Copyという機能についての取り決めが含まれている。
【０４６３】
Managed Copy機能を利用するには、Managed Copyに対応した機器が、インターネット上の認証サーバにアクセスし、コピー処理に対する認証を受ける必要がある。Managed Copyに対応した機器は、まずコピー元となるパッケージ・メディアに記録された、Title Usage File（TUF)と称される認証に必要な情報が記載されたファイルを読み出し、コンテンツを識別するcontent_idと、機器の認証を行う認証サーバのURL情報を得る。Managed Copyに対応した機器は、さらに、パッケージ・メディアから、パッケージ・メディアに固有に割り当てられているSerial Number（例えば、disc_id）を読み出す。そして、Managed Copyに対応した機器は、取得したURL情報を基に、認証サーバにアクセスし、content_idやdisc_idなど、認証のために必要な情報を認証サーバに送信して、認証処理を行うことができるようになされている。そして、認証処理が正しく実行された場合にのみ、コンテンツのコピーが許可される。
【０４６４】
図３６を参照して、Managed Copyについて説明する。なお、図３６においては、Managed Copyに対応した機器として、記録再生装置１に対応するコンテンツの記録再生機能を有する従来の記録再生装置２０１が用いられているものとして説明する。
【０４６５】
記録再生装置２０１に装着される、コンテンツのコピー元となる第１の光ディスク２０２には、上述した光ディスク１１に記録されていた、ナビゲーションプログラム４５、プレイリスト、クリップなどの、コンテンツの再生に必要なデータ以外に、Managed Copyの認証のために必要なTitle Usage File（TUF)である、Managed Copy Manifest Fileが記録されている。Managed Copy Manifest Fileには、disc_id，content_idおよび認証サーバ２０３にアクセスするために必要なURL情報などが記載されている。
【０４６６】
記録再生装置２０１は、第１の光ディスク２０２からManaged Copy Manifest Fileを読み出し、URL情報に基づいて認証サーバ２０３にアクセスし、例えば、disc_id，content_idなどの情報を、認証サーバ２０３に送信する。
【０４６７】
認証サーバ２０３は、送信された情報に基づいて、記録再生装置２０１に装着されている第１の光ディスク２０２に記録されているデータのうち、Managed Copyが可能なコンテンツまたはデータなど、提供可能なManaged Copyサービスの一覧（Create Offer List）を検索し、記録再生装置２０１に送信する。
【０４６８】
記録再生装置２０１は、認証サーバ２０３から供給されたCreate Offer Listに記載されているサービスのうち、例えば、ユーザの操作入力に基づいて、認証を申し込む内容を選択し、認証サーバ２０３に認証を申し込むとともに、認証を申し込む内容に関する課金処理を行う。
【０４６９】
認証処理および課金処理が実行された後、認証サーバ２０３は、記録再生装置２０１に、Managed Copyを許可する。
【０４７０】
Managed Copyの許可を受けた記録再生装置２０１は、装着されている第１の光ディスク２０２から、AACSに関する情報、および、暗号化された、コピーされるコンテンツを読み込み、AACSに関する情報を用いて、暗号化されたコンテンツのフォーマット変換、すなわち、コンテンツをデコードした後、たとえば、ウィンドウメディアフォーマットなどの所定の形式でエンコードを実行し、第２の光ディスク２０４に書き込む。
【０４７１】
このように、AACSの枠組みに則ってManaged Copyを実行するには、記録再生装置２０１は、組み込みアプリケーションとして、認証サーバ２０３と情報を授受することにより実行される認証処理や、認証処理のための課金処理、また、認証を受けた場合のみにManaged Copyの実行を許可する一連の処理を制御するアプリケーションを、予め備えていなければならなかった。
【０４７２】
更に、記録再生装置２０１は、装着される第１の光ディスク２０２の提供者が異なる場合などにおいては、１つの認証サーバ２０３とのみ認証処理を行うのではなく、複数の認証サーバとの認証処理を実行する可能性がある。例えば、それぞれの認証サーバにおいて、認証処理のトランザクション（例えば、認証のための情報の授受の方法や、課金処理の方法など）が異なってしまうような場合、記録再生装置２０１に、それぞれのトランザクションに対応可能な複数の組み込みアプリケーションを用意する必要が生じてしまう。また、認証方法や、サーバとManaged Copyを実行する装置との情報の授受の方法が変更されてしまった場合、Managed Copyの実行を制御する記録再生装置２０１において、アプリケーションをその都度バージョンアップする必要が生じる。
【０４７３】
そこで、それぞれの認証サーバ２０３に、Managed Copyの実行を制御するアプリケーションをJava(登録商標)のXletとして用意しておく。そして、記録再生装置１および録画記録再生装置１０１は、Managed Copyの実行を制御するアプリケーションをダウンロードして起動させるためのブートローダのみを予め備えておき、装着された第１の光ディスク２０２に記憶されているコンテンツのManaged Copyを許可する認証サーバ２０３から、Managed Copyの実行を制御するアプリケーションをダウンロードする。
【０４７４】
ダウンロードされたManaged Copyの実行を制御するアプリケーションは、アプリケーションプログラム４７として、他のJava(登録商標)のXletとIXCによるアプリケーション間通信を行うことが可能であり、また、APIライブラリ４６とは異なる独自のAPIライブラリ５１および５２を用意することにより、再生処理に必須である機能群５３にアクセスすることも、記録再生装置１および録画記録再生装置１０１が有する再生処理に必須でない機能群５４にアクセスすることも可能であり、更に、記録再生装置１のローカルな機能である組み込みアプリケーション４９にJNIを用いてアクセスすることも可能である。
【０４７５】
図３７を参照して、認証サーバ２０３から、アプリケーションプログラム４７としてManaged Copyの実行を制御するJava(登録商標)のXletをダウンロードした場合のManaged Copyについて説明する。なお、図３７においては、Managed Copyに対応した機器として、記録再生装置１における場合を例として説明するが、録画記録再生装置１０１における場合においても、同様の処理が実行可能であることはいうまでもない。
【０４７６】
記録再生装置１は、ユーザから、Managed Copyの開始の指令を受け、Managed Copyの実行を制御するJava(登録商標)のXletをダウンロードして起動する処理を実行するアプリケーションプログラム４７であるManaged Copyブートローダ４７−１を起動する。装着されている第１の光ディスク２０２が、Managed Copyに対応するディスクであるか否かを判断し、Managed Copyに対応するディスクである場合、Managed Copyブートローダ４７−１は、第１の光ディスク２０２のナビゲーションプログラム４５とIXCを利用してアプリケーション間通信を行って連携して処理を実行することにより、第１の光ディスク２０２に記録されている、Managed Copyの認証のために必要なTitle Usage File（TUF)であるManaged Copy Manifest Fileを読み出し、disc_id，content_idおよび認証サーバ２０３にアクセスするために必要なURL情報などを取得する。
【０４７７】
そして、記録再生装置１は、第１の光ディスク２０２から読み出したURL情報に基づいて認証サーバ２０３にアクセスし、例えば、disc_id，content_idなどの情報を、認証サーバ２０３に送信し、記録再生装置１に装着されている第１の光ディスク２０２に対応するManaged Copyの実行を制御するJava(登録商標)のXletであるManaged Copy Application for content_id４７−２のダウンロードを要求する。
【０４７８】
認証サーバ２０３は、送信された情報に基づいて、記録再生装置１に装着されている第１の光ディスク２０２に対応するManaged Copy Application for content_id４７−２を記録再生装置１に送信する。
【０４７９】
記録再生装置１は、ダウンロードされたManaged Copy Application for content_id４７−２をローカルストレージ２４に記憶するとともに、IxcRegistryへのバインドおよびルックアップを実行して、Managed Copy Application for content_id４７−２を起動させる。
【０４８０】
ダウンロードされるManaged Copy Application for content_id４７−２は、Managed Copyの実行を制御する全てのステップを含むものであっても良いし、その一部のオブジェクトが、異なるJava(登録商標)のXletとして構成されるものであっても良い。例えば、Managed Copy Application for content_id４７−２のうち、認証サーバ２０３から送信された提供可能なManaged Copyサービスの一覧をユーザに提示し、ユーザが希望するサービスの選択を受けて、認証サーバ２０３に対して認証を要求する処理、および、課金処理を実行する部分（Offers４７−３）や、認証サーバ２０３によりManaged Copyの許可を受け、これを基に、対応するデータを、第１の光ディスク２０２から第２の光ディスク２０４にコピーする処理を制御する部分（Permission４７−４）などのオブジェクトを、独立したXletとして構成されるものとすることが可能である。
【０４８１】
Managed Copyの実行を制御する一部のオブジェクトが異なるJava(登録商標)のXletとして構成されている場合、Managed Copy Application for content_id４７−２は、更に、必要なオブジェクト（例えば、Offers４７−３やPermission４７−４などのオブジェクト）を認証サーバ２０３、または、異なるサーバからダウンロードして起動させることができるようになされている。
【０４８２】
Managed Copy Application for content_id４７−２（または、これに含まれるOffers４７−３）は、第１の光ディスク２０２のナビゲーションプログラム４５とIXCを利用してアプリケーション間通信を行って連携して処理を実行することにより、第１の光ディスク２０２に記録されている、Managed Copyの認証のために必要なTitle Usage File（TUF)である、Managed Copy Manifest Fileを読み出し、disc_id，content_idおよび認証サーバ２０３にアクセスするために必要なURL情報などを取得する。
【０４８３】
そして、Managed Copy Application for content_id４７−２（または、これに含まれるOffers４７−３）は、第１の光ディスク２０２から読み出したURL情報に基づいて認証サーバ２０３にアクセスし、例えば、disc_id，content_idなどの情報を、認証サーバ２０３に送信する。
【０４８４】
認証サーバ２０３は、送信された情報に基づいて、記録再生装置１に装着されている第１の光ディスク２０２に記録されているデータのうち、Managed Copyが可能なコンテンツまたはデータなど、提供可能なManaged Copyサービスの一覧（Create Offer List）を検索し、Managed Copy Application for content_id４７−２（または、これに含まれるOffers４７−３）を実行している記録再生装置１に送信する。
【０４８５】
記録再生装置１において、Managed Copy Application for content_id４７−２（または、これに含まれるOffers４７−３）は、認証サーバ２０３から供給されたCreate Offer Listに記載されているサービスのうち、例えば、ユーザの操作入力に基づいて、認証を申し込む内容を選択し、認証サーバ２０３に認証を申し込むとともに、認証を申し込む内容に関する課金処理を行う。
【０４８６】
認証処理および課金処理が実行された後、認証サーバ２０３は、記録再生装置１に、Managed Copyを許可する。
【０４８７】
Managed Copyの許可を受けた記録再生装置１において、Managed Copy Application for content_id４７−２（または、これに含まれるPermission４７−４）は、装着されている第１の光ディスク２０２から、AACSに関する情報、および、暗号化された、コピーされるコンテンツを読み込み、AACSに関する情報を用いて、暗号化されたコンテンツのフォーマット変換、すなわち、コンテンツをデコードした後、たとえば、ウィンドウメディアフォーマットなどの所定の形式でエンコードを実行し、第２の光ディスク２０４に書き込む。
【０４８８】
なお、このとき、装着されている第１の光ディスク２０２から第２の光ディスク２０４にコピーされるコンテンツ等のアップデートデータがローカルストレージ２４に記録されており、上述したようにして仮想ファイルシステムが構築され、アップデートされたコンテンツを再生することが可能なようになされていた場合、Managed Copy Application for content_id４７−２（または、これに含まれるPermission４７−４）は、ナビゲーションプログラム４５とIXCによりアプリケーション間通信を行い、仮想ファイルシステムの更新処理を要求して、アップデートされたコンテンツを再生するために必要な情報を取得し、アップデートされたコンテンツを再生することができるように、対応するコンテンツとそれに関する情報を第２の光ディスク２０４に書き込むようにしても良い。
【０４８９】
Managed Copy Application for content_id４７−２（または、これに含まれるOffers４７−３およびPermission４７−４）は、上述した処理を実行するにあたって、ナビゲーションプログラム４５とIXCによるプログラム通信を用いて情報を授受し、第１の光ディスク２０２に記録されている必要な情報を読み込むとともに、必要に応じて、組み込みアプリケーション４９とJNIを利用して連携して動作を行ったり、API５２を利用して再生処理に必須でない機能群５４を制御する。
【０４９０】
このようにすることにより、Managed Copyの実行のためのアプリケーションの開発が容易になる（ナビゲーションプログラム４５や、組み込みアプリケーション４９が有する機能を利用することができる）とともに、それぞれのバージョンアップにも容易に対応することが可能となる。
【０４９１】
次に、図３８および図３９のフローチャートを参照して、図３７を用いて説明したManaged Copyを実行するための処理について説明する。
【０４９２】
ステップＳ５０１において、ユーザの操作入力を監視する組み込みアプリケーション４９は、操作入力部２９から供給されるユーザの操作入力に基づいて、Managed Copyブートローダ４７−１の起動が指令されたか否かを判断する。ステップＳ５０１において、Managed Copyブートローダ４７−１の起動が指令されていないと判断された場合、Managed Copyブートローダ４７−１の起動が指令されたと判断されるまで、ステップＳ５０１の処理が繰り返される。
【０４９３】
ステップＳ５０１において、Managed Copyブートローダ４７−１の起動が指令されたと判断された場合、ステップＳ５０２において、組み込みアプリケーション４９は、Managed Copyブートローダ４７−１を起動する。
【０４９４】
なお、ここでは、組み込みアプリケーション４９がユーザの操作入力を監視し、Managed Copyブートローダ４７−１を起動するものとして説明したが、たとえば、ナビゲーションプログラム４５が、ナビゲーションプログラム４５の実行中にManaged Copyブートローダ４７−１を起動する操作入力を受けるか否かを監視する機能を備え、Managed Copyブートローダ４７−１を起動する操作入力を受けた場合、割り込み処理として、Managed Copyブートローダ４７−１を起動する処理を実行することができるものとしても良い。
【０４９５】
ステップＳ５０３において、Managed Copyブートローダ４７−１は、IXCを利用して、ナビゲーションプログラム４５に対して、Managed Copyの認証のために必要なManaged Copy Manifest Fileを要求する。
【０４９６】
ステップＳ５０４において、ナビゲーションプログラム４５は、Managed Copyの認証のために必要なManaged Copy Manifest Fileを、Managed Copyブートローダ４７−１に送信する。
【０４９７】
ステップＳ５０５において、Managed Copyブートローダ４７−１は、Managed Copyを実行するために必要なアプリケーションプログラム４７をダウンロードするために対応するサーバ（例えば、図３７の認証サーバ２０３）へHTTP接続するための処理を実行する。
【０４９８】
具体的には、Managed Copyブートローダ４７−１は、対応するサーバ（例えば、図３７の認証サーバ２０３）へHTTP接続するために、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し、アプリケーション間通信を行って、その処理を制御する。
【０４９９】
ステップＳ５０６において、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１は、対応するサーバとHTTP接続する。
【０５００】
ステップＳ５０７において、Managed Copyブートローダ４７−１は、対応するサーバから、Managed Copy Application for content_id４７−２をダウンロードし、ローカルストレージ２４に記録する。
【０５０１】
具体的には、Managed Copyブートローダ４７−１は、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１の機能を用いて、対応するサーバから、Managed Copy Application for content_id４７−２をダウンロードするとともに、ローカルストレージ２４へのデータの記録を制御する組み込みアプリケーション４９の機能を利用して、ダウンロードされたManaged Copy Application for content_id４７−２をローカルストレージ２４に記録させる。
【０５０２】
ステップＳ５０８において、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１は、ダウンロードされたデータ、すなわち、Managed Copy Application for content_id４７−２のローカルストレージ２４への記録処理を実行する。
【０５０３】
ステップＳ５０９において、Managed Copyブートローダ４７−１は、ダウンロードされたManaged Copy Application for content_id４７−２を起動するために、ixcRegistryへのバインド処理を実行する。
【０５０４】
ステップＳ５１０において、Managed Copyブートローダ４７−１は、ダウンロードされたManaged Copy Application for content_id４７−２をixcRegistryからルックアップして起動する。
【０５０５】
ステップＳ５１１において、Managed Copy Application for content_id４７−２は、Offers Managed Application４７−３のダウンロードのために、対応するサーバ（例えば、図３７の認証サーバ２０３）へ、Managed Copy Application for content_id４７−２に記述されている所定のロジックで接続する。
【０５０６】
具体的には、Managed Copy Application for content_id４７−２は、対応するサーバ（例えば、図３７の認証サーバ２０３）へ接続するために、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し、アプリケーション間通信を行って、その処理を制御する。
【０５０７】
ステップＳ５１２において、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１は、対応するサーバと所定のロジックで接続する。
【０５０８】
ステップＳ５１３において、Managed Copy Application for content_id４７−２は、対応するサーバから、Offers Managed Application４７−３をダウンロードし、ローカルストレージ２４に記録する。
【０５０９】
具体的には、Managed Copy Application for content_id４７−２は、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１（いわゆるウェブブラウザ）の機能を用いて、対応するサーバから、Offers Managed Application４７−３をダウンロードするとともに、ローカルストレージ２４へのデータの記録を制御する組み込みアプリケーション４９の機能を利用して、ダウンロードされたOffers Managed Application４７−３をローカルストレージ２４に記録させる。
【０５１０】
ステップＳ５１４において、ローカルストレージ２４へのデータの記録を制御する組み込みアプリケーション４９は、ダウンロードされたデータ、すなわち、Offers Managed Application４７−３のローカルストレージ２４への記録処理を実行する。
【０５１１】
ステップＳ５１５において、Managed Copy Application for content_id４７−２は、ダウンロードされたOffers Managed Application４７−３を起動するために、ixcRegistryへのバインド処理を実行する。
【０５１２】
ステップＳ５１６において、Managed Copy Application for content_id４７−２は、ダウンロードされたOffers Managed Application４７−３をixcRegistryからルックアップして起動する。
【０５１３】
なお、Managed Copy Application for content_id４７−２は、ステップＳ５１６の処理の終了後、後述するステップＳ５２４の処理を実行する。
【０５１４】
ステップＳ５１７において、Offers Managed Application４７−３は、IXCを利用して、ナビゲーションプログラム４５に対して、Managed Copyの認証のために必要なManaged Copy Manifest Fileを要求する。
【０５１５】
ステップＳ５１８において、ナビゲーションプログラム４５は、Managed Copyの認証のために必要なManaged Copy Manifest Fileを、Offers Managed Application４７−３に送信する。
【０５１６】
ステップＳ５１９において、Offers Managed Application４７−３は、Managed Copyのための認証処理を行うために、所定のサーバ（例えば、図３７の認証サーバ２０３）に所定のロジックで接続するとともに、実行可能な機能として提供されるものの一覧（Offers)をダウンロードする。
【０５１７】
具体的には、Offers Managed Application４７−３は、対応するサーバ（例えば、図３７の認証サーバ２０３）へ接続するために、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し（または、既に起動されている状態である場合は、そのウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１との間で）、アプリケーション間通信を行って、その処理を制御し、実行可能な機能として提供されるものの一覧（Offers)をダウンロードする。
【０５１８】
ステップＳ５２０において、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１は、対応するサーバと所定のロジックで接続する。
【０５１９】
ステップＳ５２１において、Offers Managed Application４７−３は、実行可能な機能として提供されるものの一覧（例えば、対応する第１の光ディスク２０２に記録されているコンテンツなどのデータのうち、Managed Copyが可能なデータの一覧など）がリストとして表示されるように、制御を実行する。
【０５２０】
具体的には、Offers Managed Application４７−３は、GUI表示画面に関する機能をコントロールする組み込みアプリケーション４９−４（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し、アプリケーション間通信を行って、その処理を制御する。
【０５２１】
ステップＳ５２２において、GUI表示画面に関する機能をコントロールする組み込みアプリケーション４９−４は、外部の表示装置に、実行可能な機能として提供されるものの一覧（例えば、対応する第１の光ディスク２０２に記録されているコンテンツなどのデータのうち、Managed Copyが可能なデータの一覧など）に対応するリストを表示させる。
【０５２２】
ステップＳ５２３において、Offers Managed Application４７−３は、必要に応じて、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１の機能を利用して所定の課金サーバなどにアクセスしたり、所定の課金サーバと必要な情報を授受することにより、選択されたOfferに対する課金処理を実行する。
【０５２３】
ステップＳ５２４において、Managed Copy Application for content_id４７−２は、Permission Managed Application４７−４のダウンロードのために、対応するサーバへ所定のロジックで接続する。
【０５２４】
具体的には、Managed Copy Application for content_id４７−２は、対応するサーバ（例えば、図３７の認証サーバ２０３）へ接続するために、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し（または、既に起動されている状態である場合は、そのウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１との間で）、アプリケーション間通信を行って、その処理を制御する。
【０５２５】
ステップＳ５２５において、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１は、対応するサーバ（例えば、図３７の認証サーバ２０３）と所定のロジックで接続する。
【０５２６】
ステップＳ５２６において、Managed Copy Application for content_id４７−２は、対応するサーバから、Permission Managed Application４７−４をダウンロードし、ローカルストレージ２４に記録する。
【０５２７】
具体的には、Managed Copy Application for content_id４７−２は、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１の機能を用いて、対応するサーバから、Permission Managed Application４７−４をダウンロードするとともに、ローカルストレージ２４へのデータの記録を制御する組み込みアプリケーション４９の機能を利用して、ダウンロードされたPermission Managed Application４７−４をローカルストレージ２４に記録させる。
【０５２８】
ステップＳ５２７において、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１は、ダウンロードされたデータ、すなわち、Permission Managed Application４７−４のローカルストレージ２４への記録処理を実行する。
【０５２９】
ステップＳ５２８において、Managed Copy Application for content_id４７−２は、ダウンロードされたPermission Managed Application４７−４を起動するために、ixcRegistryへのバインド処理を実行する。
【０５３０】
ステップＳ５２９において、Managed Copy Application for content_id４７−２は、ダウンロードされたPermission Managed Application４７−４をixcRegistryからルックアップして起動する。
【０５３１】
ステップＳ５３０において、Permission Managed Application４７−４は、所定のサーバ（例えば、図３７の認証サーバ２０３）と、Permission Managed Application４７−４に記述されている所定のロジックで接続し、認証が正しく行われたことの通知を受ける。
【０５３２】
具体的には、Permission Managed Application４７−４は、対応するサーバ（例えば、図３７の認証サーバ２０３）へ接続するために、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し（または、既に起動されている状態である場合は、そのウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１との間で）、アプリケーション間通信を行って、その処理を制御する。
【０５３３】
ステップＳ５３１において、ウェブブラウジング機能をコントロールする組み込みアプリケーション４９−１は、対応するサーバと所定のロジックで接続する。
【０５３４】
ステップＳ５３２において、Permission Managed Application４７−４は、コピーされるコンテンツの第１の光ディスク２０２からの読み出し、および、フォーマット変換を制御する。
【０５３５】
具体的には、Permission Managed Application４７−４は、装着された第１の光ディスク２０２に記録されている、または、第１の光ディスク２０２に対応付けられてローカルストレージ２４に記録されているナビゲーションプログラム４５に対して、第１の光ディスク２０２に記録されているコンテンツなどのデータのうち、Managed Copyが許可されて、第２の光ディスク２０４にManaged Copyされるものを、IXCを用いて通知する。また、Permission Managed Application４７−４は、装着された光ディスクなどの記録媒体からデータを読み出す組み込みアプリケーション４９、および、トランスコーダ２６によるフォーマット変換処理を制御する組み込みアプリケーション４９を（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し、それらの処理を制御する。
【０５３６】
ステップＳ５３３において、ナビゲーションプログラム４５は、コピーされるコンテンツの仮想ファイルシステムを更新するために定義されたAPI（例えば、update()）を呼び出し、図２１を用いて説明したバインディング処理を実行することにより、コピーされるコンテンツの仮想ファイルシステムを構築し、仮想ファイルシステムの情報を、IXCを用いてPermission Managed Application４７−４に通知する。
【０５３７】
ステップＳ５３４において、ナビゲーションプログラム４５は、Manifest fileを用いて、コピーされるコンテンツに含まれるべきデータの読み出しを制御するために必要な情報を、IXCを用いてPermission Managed Application４７−４に通知する。
【０５３８】
ステップＳ５３５において、装着された光ディスクなどの記録媒体からデータを読み出す組み込みアプリケーション４９は、Permission Managed Application４７−４とデータの読み出しに必要な情報を授受することにより、光ディスクドライブ２２を制御して、装着されている第１の光ディスク２０２からコピーされる所定のコンテンツを読み出すとともに、必要であれば、ローカルストレージ２４のドライブを制御して、コピーされる所定のコンテンツを再生するために必要なデータを読み出す。
【０５３９】
ステップＳ５３６において、トランスコーダ２６によるフォーマット変換処理を制御する組み込みアプリケーション４９は、Permission Managed Application４７−４と情報を授受してトランスコーダ２６を制御し、読み出されたコンテンツを第２の光ディスク２０４にコピーするためのフォーマットに変換する。
【０５４０】
ステップＳ５３７において、Permission Managed Application４７−４は、フォーマット変換されたコンテンツの第２の光ディスク２０４への書き込みを制御する。
【０５４１】
具体的には、Permission Managed Application４７−４は、装着された光ディスクなどの記録媒体にデータを記録する組み込みアプリケーション４９（Xletであっても、JAVA(登録商標)以外のJNIを利用してアプリケーション間通信が可能なものであっても良い）を起動し、それらの処理を制御する。
【０５４２】
ステップＳ５３７において、装着された光ディスクなどの記録媒体にデータを記録する組み込みアプリケーション４９は、Permission Managed Application４７−４と情報を授受し、光ディスクドライブ２２を制御して、読み出されたコンテンツを第２の光ディスク２０４へ書き込む処理を実行する。
【０５４３】
AACSの枠組みに則ってManaged Copyを実行する場合においてこのような構成を適用することにより、記録再生装置１（または、録画記録再生装置１０１）は、Managed Copyの実行を制御するアプリケーションを予め備えておかなくても、Managed Copyを実行することができる。
【０５４４】
また、Managed Copyの実行を制御するアプリケーションプログラム（Managed Copy Application for content_id４７−２、Offers Managed Application４７−３、Permission Managed Application４７−４）は、Managed Copyの実行時に、ナビゲーションプログラム４５や、組み込みアプリケーション４９と連携して処理を実行することができるので、Managed Copyの実行のためのアプリケーションの開発が容易になる（ナビゲーションプログラム４５や、組み込みアプリケーション４９が有する機能を利用することができる）とともに、それぞれのバージョンアップにも容易に対応することができる。
【０５４５】
以上説明した処理によって、例えば、JAVA(登録商標)などのように、仮想マシンの実装によりマルチプラットフォームで動作可能な、装置側に固有にインストールされているアプリケーションプログラム４７と、装置に装着される光ディスクなどの記録媒体に対応付けられているナビゲーションプログラム４５とを、IXCなどのアプリケーション間通信を利用して連動して実行するものとすることができる。そして、光ディスクなどの記録媒体を再生する機能を有する装置のメーカは、その装置に、光ディスクなどの記録媒体に対応付けられているナビゲーションプログラムと連動して動作可能なアプリケーションプログラムをインストールしておくか、または、インストール可能なようにしておくことにより、装置の差別化を図ることができる。
【０５４６】
また、アプリケーションプログラム４７は、所定のサーバからダウンロードされてインストールされるものとしても良いため、例えば、装着される光ディスク（例えば、第１の光ディスク２０２）に記録されている情報（例えば、URL情報）を基に、ダウンロード先のサーバ等にアクセスすることができるようにし、光ディスクに記録されている情報（例えば、disc_idやcontent_idなど）に応じて、ダウンロードされてインストールされるアプリケーションプログラム４７が決まるようにすることができるので、記録再生装置１（または、録画記録再生装置１０１）においては、装着された第１の光ディスク２０２に対応するアプリケーションプログラム４７をダウンロードし、装着された第１の光ディスク２０２に対応するナビゲーションプログラム、および、記録再生装置１に予め用意されているネイティブな機能または記録再生装置１に組み込まれている組み込みアプリケーション４９と連動した処理を実行させるようにすることができる。
【０５４７】
また、例えば、AACSの枠組みに則ってManaged Copyを実行する場合においてこのような構成を適用することにより、記録再生装置１（または、録画記録再生装置１０１）は、Managed Copyの実行を制御するアプリケーションを予め備えておく必要がなくなる。
【０５４８】
これにより、Managed Copyの実行を制御するアプリケーションのバージョンアップが発生した場合でも、記録再生装置１においてはその都度最新のバージョンに更新する必要が無い。また、例えば、複数の認証サーバそれぞれにおいて、認証処理のトランザクション（例えば、認証のための情報の授受の方法や、課金処理の方法など）が異なってしまうような場合、記録再生装置２０１に、それぞれのトランザクションに対応可能な複数の組み込みアプリケーションを用意する必要もない。
【０５４９】
すなわち、記録再生装置１（または、録画記録再生装置１０１）の提供者は、コンテンツオーサごとのManaged Copyに関する取り決め等を意識しなくても良い。同様に、コンテンツオーサは、自分自身が提供するコンテンツ等のManaged Copyの手法や課金処理等について、記録再生装置１などのManaged Copyの機能を有するそれぞれの装置の区別を意識しなくても良い。したがって、記録再生装置１（または、録画記録再生装置１０１）の提供者においても、コンテンツオーサにおいても、ユーザに提供するサービスの自由度が高くなる。
【０５５０】
次に、図４０および図４１を参照して、記録再生装置１または録画記録再生装置１０１において再生可能なデータ、すなわち、図１５を用いて説明したデータ構造のデータであって、MovieObjectに、ナビゲーションプログラム４５と連動して実行されるアプリケーションプログラム４７が記録再生装置１にインストールされているか否かを問い合わせるコマンド、ナビゲーションプログラム４５と連動して実行されるアプリケーションプログラム４７が記録再生装置１にインストールされている場合に、そのアプリケーションプログラム４７を起動させるコマンド、及び、アプリケーションプログラム４７と連動して処理を実行するために必要な各種コマンドを含んでいるデータが記録された光ディスクの製造方法について説明する。ここでは、記録媒体を光ディスクとして図示して例示しており、図中の記録媒体は、図１における光ディスク１１、または、リムーバブルメディア２８に対応している。なお、リムーバブルメディア２８がディスク状の記録媒体以外である場合は、公知の記録媒体の製造方法によって、同様にして、記録再生装置１または録画記録再生装置１０１において再生可能なデータが記録媒体に記録される。
【０５５１】
即ち、図４０に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
【０５５２】
そして、図４１に示すように、ソフト製作処理部において、符号化装置（ビデオエンコーダ）で符号化された、記録再生装置１または録画記録再生装置１０１において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ（例えば、Indexes、Playlist、PlayItemなど）が一時バッファに記憶される。それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータは、多重化器（ＭＰＸ）で同期信号と共に多重化され、誤り訂正符号回路（ＥＣＣ）でエラー訂正用のコードが付加される。そして、変調回路（ＭＯＤ）で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、記録再生装置１または録画記録再生装置１０１において再生可能な光ディスク１１、または、リムーバブルメディア２８に記録されるソフトウェアが製作される。
【０５５３】
このソフトウェアを必要に応じて編集（プリマスタリング）し、光ディスクに記録すべきフォーマットの信号が生成される。そして、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
【０５５４】
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
【０５５５】
この成形用金型に、例えばインジェクションなどによりＰＭＭＡ（アクリル）またはＰＣ（ポリカーボネート）などの材料を注入し、固定化させる。あるいは、金属スタンパ上に２Ｐ（紫外線硬化樹脂）などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
【０５５６】
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
【０５５７】
その後、このディスクに対して内外径の加工が施され、２枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして記録再生装置１または録画記録再生装置１０１によって再生可能なデータが記録された光ディスク１１、または、リムーバブルメディア２８が完成する。
【０５５８】
また、上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０５５９】
このプログラム格納媒体は、図１または図２９に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが格納されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ（Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２８により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが格納されているROMまたはRAMなどのメモリ２３や、ハードディスクなどのローカルストレージ２４などにより構成される。
【０５６０】
また、本明細書において、プログラム格納媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的または個別に実行される処理をも含むものである。
【０５６１】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０５６２】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０５６３】
【図１】再生装置の構成例を示すブロック図である。
【図２】再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。
【図３】再生装置に装着される記録媒体上のアプリケーションフォーマットの例の異なる例について説明するための図である。
【図４】ファイルのダウンロードが行われた状態について説明するための図である。
【図５】ＡＶストリームの構成について説明するための図である。
【図６】図１のコントローラの機能について説明するためのソフトウェアスタック図である。
【図７】図１のコントローラの、図６を用いて説明した場合とは異なるソフトウェア構成における機能について説明するためのソフトウェアスタック図である。
【図８】図１のコントローラの機能における記述言語とアプリケーション間の関連について説明するための図である。
【図９】図１のコントローラの機能について説明するための機能ブロック図である。
【図１０】仮想ファイルシステムについて説明するための図である。
【図１１】仮想ファイルシステムについて説明するための図である。
【図１２】ローカルストレージのディレクトリ構造について説明するための図である。
【図１３】Manifestファイルのシンタックスを示す図である。
【図１４】Manifest（）に含まれるpermissionに指定可能な値について説明するための図である。
【図１５】光ディスクのファイルシステムの例について説明するための図である。
【図１６】ローカルストレージ２４のファイルシステムの例について説明するための図である。
【図１７】パス名称の指定について説明するための図である。
【図１８】仮想ディスクにおけるディレクトリ／ファイル構造の例について説明するための図である。
【図１９】コンテンツオーサがコンテンツを配布する際のコンテンツ配布用ファイル形式の定義について説明するための図である。
【図２０】ファイルベースの追加および更新処理について説明するためのフローチャートである。
【図２１】バインディング処理について説明するためのフローチャートである。
【図２２】ディスクベースの追加および更新処理について説明するためのフローチャートである。
【図２３】再生処理およびファイルシステム構成処理１について説明するためのフローチャートである。
【図２４】アプリケーションプログラム４７とナビゲーションプログラム４５との連動について説明するための図である。
【図２５】ナビゲーションプログラムとアプリケーションプログラムとの連動処理について説明するためのフローチャートである。
【図２６】アプリケーションプログラムの呼び出し処理について説明するためのフローチャートである。
【図２７】ナビゲーションプログラムとアプリケーションプログラムとが連動することにより実行される処理の第１の例について説明するためのフローチャートである。
【図２８】組み込みアプリケーションの処理について説明するためのフローチャートである。
【図２９】再生装置の異なる構成例を示すブロック図である。
【図３０】ナビゲーションプログラムとアプリケーションプログラムとが連動することにより実行される処理の第２の例について説明するためのフローチャートである。
【図３１】ナビゲーションプログラムとアプリケーションプログラムとが連動することにより実行される処理の第３の例について説明するためのフローチャートである。
【図３２】ナビゲーションプログラムとアプリケーションプログラムとが連動することにより実行される処理の第４の例について説明するためのフローチャートである。
【図３３】アプリケーションプログラムのダウンロードについて説明するための図である。
【図３４】アプリケーションプログラムダウンロード処理について説明するためのフローチャートである。
【図３５】アプリケーションプログラム実行処理について説明するためのフローチャートである。
【図３６】Managed Copyについて説明するための図である。
【図３７】アプリケーションプログラムをダウンロードすることにより実現されるManaged Copyについて説明するための図である。
【図３８】Managed Copyを実行するための処理について説明するためのフローチャートである。
【図３９】Managed Copyを実行するための処理について説明するためのフローチャートである。
【図４０】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【図４１】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【符号の説明】
【０５６４】
１  記録再生装置，  １１  光ディスク，  ２１  コントローラ，  ２２  光ディスクドライブ，  ２３  メモリ，  ２４  ローカルストレージ，  ２６  トランスコーダ，  ４１  ドライバ，  ４２  OS，  ４３  アプリケーションマネージャ，  ４４  JVM，  ４５  ナビゲーションプログラム，  ４６  APIライブラリ，  ４７  アプリケーションプログラム，  ６１  操作入力取得部，  ６２  メニュー画面表示制御部，  ６３  データ取得部，  ６４  ローカルストレージディレクトリ管理部，  ６５  光ディスクディレクトリ管理部，  ６６  ファイルシステムマージ処理部，  ６７  再生制御部，  ７１  アプリケーションプログラム連動処理制御部，  ７２  IXC制御部，  ７４  JNI制御部，  １０１  録画記録再生装置，  １１１  コンテンツ取得部，  １１２  放送信号取得部，  １１３  録画処理部
【図１】
2008034076.tif 000003
【図２】
2008034076.tif 000004
【図３】
2008034076.tif 000005
【図４】
2008034076.tif 000006
【図５】
2008034076.tif 000007
【図６】
2008034076.tif 000008
【図７】
2008034076.tif 000009
【図８】
2008034076.tif 000010
【図９】
2008034076.tif 000011
【図１０】
2008034076.tif 000012
【図１１】
2008034076.tif 000013
【図１２】
2008034076.tif 000014
【図１３】
2008034076.tif 000015
【図１４】
2008034076.tif 000016
【図１５】
2008034076.tif 000017
【図１６】
2008034076.tif 000018
【図１７】
2008034076.tif 000019
【図１８】
2008034076.tif 000020
【図１９】
2008034076.tif 000021
【図２０】
2008034076.tif 000022
【図２１】
2008034076.tif 000023
【図２２】
2008034076.tif 000024
【図２３】
2008034076.tif 000025
【図２４】
2008034076.tif 000026
【図２５】
2008034076.tif 000027
【図２６】
2008034076.tif 000028
【図２７】
2008034076.tif 000029
【図２８】
2008034076.tif 000030
【図２９】
2008034076.tif 000031
【図３０】
2008034076.tif 000032
【図３１】
2008034076.tif 000033
【図３２】
2008034076.tif 000034
【図３３】
2008034076.tif 000035
【図３４】
2008034076.tif 000036
【図３５】
2008034076.tif 000037
【図３６】
2008034076.tif 000038
【図３７】
2008034076.tif 000039
【図３８】
2008034076.tif 000040
【図３９】
2008034076.tif 000041
【図４０】
2008034076.tif 000042
【図４１】
2008034076.tif 000043