(57)【特許請求の範囲】
【請求項１】
ディレクトリ階層を有する記録媒体であって、
ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
サービスドメインディレクトリは、オンデマンドマニュファクチャ又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、
ムービーディレクトリは、AVストリームが記録されるディレクトリであり、
前記スタートアッププログラムは、記録媒体が再生装置に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置に表示させて、ルート変更機能を再生装置に実行させ、
ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能である
ことを特徴とする記録媒体。
【請求項２】
前記ルート変更機能は、プログラミングインターフェイスのコールにて実行され、
プログラミングインターフェイスのコールによって例外処理が発生した場合、装填された再生装置では、本記録媒体の再生が不可能な旨をユーザに通知する
ことを特徴とする請求項１記載の記録媒体。
【請求項３】
前記ルート変更機能は、プログラミングインターフェイスのコールにて実行され、
前記スタートアッププログラムは、ルート変更機能に対応しているか否かを示すシステムプロパティを参照することで、本記録媒体を装填した再生装置がルート変更機能に対応しているかどうかを判定し、
対応していない場合、装填された再生装置では、本記録媒体の再生が不可能な旨をユーザに通知する
ことを特徴とする請求項１記載の記録媒体。
【請求項４】
ムービーディレクトリには、再生制御のための再生制御プログラムが存在し、
再生制御プログラムは、AVストリームの再生を前記再生装置に命じるものであり、再生ストップの操作がユーザによってなされた場合の手順を規定しており、
再生ストップの操作がなされた場合の手順とは、
再生装置がルート変更機能を具備している場合、ムービーディレクトリの選択のためのメニューの再表示を、前記再生装置に実行させるというものである
請求項１記載の記録媒体。
【請求項５】
ムービーディレクトリには、再生制御のための再生制御プログラムが存在し、
再生制御プログラムは、仮想パッケージの再生を命じるものであり、
仮想パッケージは、ムービーディレクトリの格納内容に、他の記録媒体におけるディレクトリの格納内容、又は、本記録媒体の他のディレクトリの格納内容を組合せたものであり、
前記再生制御プログラムは、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとしたファイルパスを用いて仮想パッケージの構築を再生装置に命じる
請求項１記載の記録媒体。
【請求項６】
記録装置であって、
オンデマンドマニュファクチャサービス又はセルスルーサービスによってAVストリームの供給を受ける際、ルートディレクトリの配下に、デフォルトのディレクトリと、サービスドメインディレクトリとをクリエイトして、サービスドメインディレクトリの配下に、ムービーディレクトリをクリエイトするクリエイト手段と、
AVストリームを取得する取得手段と、
デフォルトディレクトリにスタートアッププログラムを書き込み、サービスドメインディレクトリ配下のムービーディレクトリにAVストリームを書き込む書込手段とを備え、
前記スタートアッププログラムは、記録媒体が再生装置に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置に表示させて、ルート変更機能を再生装置に実行させ、
ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能である
ことを特徴とする記録装置。
【請求項７】
サービスドメインディレクトリは、ファーストサービスドメインディレクトリであり、ファーストサービスドメインディレクトリは、前記サービスを初めて受けた際、クリエイトされるサービスドメインディレクトリであり、
書込手段は、ユーザが２回目以降にサービスを受ける際、２回目以降のサービスに対応するサービスドメインディレクトリをクリエイトするが、デフォルトディレクトリを更新しない
ことを特徴とする請求項６記載の記録装置。
【請求項８】
ユーザが２回目以降にサービスを受ける際、デフォルトディレクトリにおけるスタートアッププログラムを更新しない
ことを特徴とする請求項６記載の記録装置。
【請求項９】
ディレクトリ階層を有する記録媒体からAVストリームを読み出して再生する再生装置であって、
ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
サービスドメインディレクトリは、オンデマンドマニュファクチャサービス又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、
ムービーディレクトリは、AVストリームが記録されるディレクトリであり、
記録媒体が再生装置に装填された際、デフォルトディレクトリにおけるスタートアッププログラムを実行することで、メニューを表示して、ムービーディレクトリを選択する操作をユーザから受け付ける選択手段と、
ユーザによって選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識した上で、ムービーディレクトリにおけるAVストリームを再生する再生手段と
を備えることを特徴とする再生装置。
【請求項１０】
前記再生手段は、仮想パッケージの再生を行い、
仮想パッケージは、ムービーディレクトリの格納内容に、前記記録媒体の他のディレクトリにおける格納内容、又は、前記記録媒体とは異なる他の記録媒体におけるディレクトリの格納内容を組合せたものであり、
ムービーディレクトリには、再生制御プログラムが存在しており、再生制御プログラムは、仮想パッケージの構築を命じる際、ムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとしたファイルパスを用いる
ことを特徴とする請求項９記載の再生装置。
【請求項１１】
記録方法であって、
オンデマンドマニュファクチャサービス又はセルスルーサービスによってAVストリームの供給を受ける際、ルートディレクトリの配下に、デフォルトのディレクトリと、サービスドメインディレクトリとをクリエイトして、サービスドメインディレクトリの配下に、ムービーディレクトリをクリエイトするクリエイトステップと、
AVストリームを取得する取得ステップと、
デフォルトディレクトリにスタートアッププログラムを書き込み、サービスドメインディレクトリ配下のムービーディレクトリにAVストリームを書き込む書込ステップとを有し、
前記スタートアッププログラムは、記録媒体が再生装置に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置に表示させて、ルート変更機能を再生装置に実行させ、
ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能である
ことを特徴とする記録方法。
【請求項１２】
ディレクトリ階層を有する記録媒体からAVストリームを読み出して再生する再生方法であって、
ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
サービスドメインディレクトリは、オンデマンドマニュファクチャサービス又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、
ムービーディレクトリは、AVストリームが記録されるディレクトリであり、
記録媒体が再生装置に装填された際、デフォルトディレクトリにおけるスタートアッププログラムを実行することで、メニューを表示して、ムービーディレクトリを選択する操作をユーザから受け付ける選択ステップと、
ユーザによって選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識した上で、ムービーディレクトリにおけるAVストリームを再生する再生ステップと
を有することを特徴とする再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、AVコンテンツの記録技術の技術分野に属する改良である。
【背景技術】
【０００２】
AVコンテンツは、AVストリームと、プレイリスト情報等の再生制御情報との組みによって定義されるコンテンツであり、その記録には、大容量なリムーバブルメディアが使用される。ところが昨今、リムーバブルメディアにおいて記録可能な容量は増え続けており、今や１層ブルーレィディスクでは２５GBという容量が将来可能になるといわれている。更に８層ブルーレィディスクでは２００GBという大容量なものが実用化に入るといわれている。他にも、強固な著作権保護機能をもつ半導体メモリカードでは、５年にはテラバイトというオーダのものが登場すると考えられる。
【０００３】
その一方で符号化技術は年々圧縮効率の改善が進んでおり、２時間の映画をMPEG-４  AVCで符号化すれば、映像に割り当てるべきビットレートが8Mbps程度であっても、十分に高精細なハイビジョンコンテンツを提供することができる。この場合、２時間のハイビジョンコンテンツのデータサイズはおよそ、2*60*60*8Mbits = 7.2GBとなり、25GBの１層リムーバブルメディアでは、２時間のハイビジョンコンテンツである映画が３本記録される計算になる。また、２層５０GBのブルーレィディスクでは、１時間長のハイビジョンコンテンツであるドラマが、１２話分（１クール）記録される計算になる。
【０００４】
尚、AVストリーム、プレイリスト情報によって規定されるAVコンテンツの記録技術には、以下の特許文献に記載されているものが知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２８２８４８号公
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし映画作品を配布するための読出専用のブルーレイディスク(BD-ROMと呼ばれる)では、AVストリームのストリーム本数、定義可能なプレイリストの上限数、これらを管理する管理情報のデータサイズが詳細に規定されており、たとえリムーバブルメディアに充分な容量が存在したとしても、複数枚のBD-ROMにて記録されるべき複数のコンテンツを１つのリムーバブルメディアに収めて欲しいとの要請に応えることはできない。BD-ROMコンテンツにおけるこれらの規定は、ミニマムスタンダードなハードウェア規模で、コンテンツの再生を行えることを保障するものであり、仮に、これらの上限数を越えるようなストリーム本数、プレイリスト数、データサイズが供給された場合、再生装置は正常な再生を保障することはできないという理由による。具体的には、再生装置は、プレイリスト情報やストリーム情報をメモリに読み出してから、AVストリームの再生を開始するので、メモリに搭載できない本数のAVストリームやデータサイズの管理情報が存在する場合、もはや正常再生を保障しえないから、リムーバブルメディアをイジェクトして、再生を拒否せざるをえない。
【０００７】
故に、複数枚のBD-ROMにて記録されるべき複数のコンテンツを１枚の記録媒体に収めて供給して欲しいとの要請は、正常再生を保障し得ないという再生装置のハードウェア側の現実的な事情によって、その実現が阻まれるという問題がある。そこで、浮かぶのは、BDMVディレクトリの個数を増やすというアイデアである
“BDMVディレクトリ”とは、BD-ROMにおいて、コンテンツを構成する複数のプレイリスト情報や複数のAVストリームを格納しておくための規定のディレクトリであり、再生装置は、このBDMVディレクトリに存在する複数のAVストリームや複数のプレイリスト情報を認識して再生制御を行う。コンテンツ記録のためのリムーバブルメディアに、複数のBDMVディレクトリを設けておいて、これらに、複数の映画作品を構成するAVストリーム、プレイリスト情報を記録しておけば、規格の制限を越えて、ムービーを記録しておくことができる。
【０００８】
ところがこの案も別の障壁により現実化は阻まれる。これまで、BD-ROMを対象とした再生装置は、リムーバブルメディア挿入後に自動的にルート直下のBDMVディレクトリをアクセスして、最初に再生すべきタイトル(FirstPlaybackタイトル)の再生を開始するという機能を標準的に具備している。しかし、上記のように複数のBDMVディレクトリを１枚のメディアに記録すると、BDMVディレクトリにおけるFirstPlaybackタイトルが複数存在することになり、どのFirstPlayBackタイトルを最初に再生すべきなのか、特定できなくなる。
【０００９】
BD-ROMに複数のBDMVディレクトリが存在すると、複数のBDMVディレクトリのうち、最初のものを“BDMVディレクトリ１”とし、２個目以降のものを“BDMVディレクトリ２,３・・・”というように命名する必要がある。そうすると、個々のBDMVディレクトリに帰属するファイルは、それぞれ相異なるファイルパスで特定されることになる。
【００１０】
一方、BD-ROM等のリムーバブルメディアによって再生装置に供給される再生制御プログラムは、ファイルパスを利用した処理の実行を再生装置に命じる。再生制御プログラムが、どのBDMVディレクトリに帰属するかによって、ファイルパスを変更するとなると、オーサリングを行う者の手間が増大する。
【００１１】
以上の事情を踏まえると、1つの記録媒体に記録されるべきコンテンツは、BDMVディレクトリ1つに格納されるべき容量に制限されねばならず、メディアの容量差を、記録できるコンテンツ数の差としてユーザに訴求するのは困難である。
【００１２】
本発明の目的は、メディアの容量差を、記録できるコンテンツ数の差としてユーザに実感させることができる記録媒体を提供することである。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明にかかる記録媒体は、ディレクトリ階層を有する記録媒体であって、ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
サービスドメインディレクトリは、オンデマンドマニュファクチャ又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、ムービーディレクトリは、AVストリームが記録されるディレクトリであり、前記スタートアッププログラムは、記録媒体が再生装置に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置に表示させて、ルート変更機能を再生装置に実行させ、ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能であることを特徴としている。
【発明の効果】
【００１４】
前記スタートアッププログラムは、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させるので、再生装置は、ルートディレクトリの配下にムービーディレクトリが存在する記録媒体が、装填されたの如く、再生処理を開始することになる。サービスドメインディレクトリ配下のムービーディレクトリにオンデマンドマニュファクチャサービス、又は、セルスルーサービスによって供給されたAVストリームが存在する場合、当該AVストリームの再生が自動的に開始することになる。よって、再生装置における正常動作を保障しつつも、複数のBD-ROMに記録されるべきコンテンツを、一枚の記録媒体に記録することができ、メディアの容量差を、記録できるコンテンツ数の差としてユーザに実感させることができる。
【００１５】
そして、実際のAVストリームの再生制御を行う再生制御プログラムは、どのディレクトリに帰属するかによって、ファイルパスを変更する必要はなくなり、あたかもBD-ROMから供給されたの如く、記録媒体に対するアクセスを行えばよい。
【００１６】
こうすることで、複数のBD-ROMで供給されるべき映画作品を1つの記録媒体で供給する場合も、一枚のBD-ROMで映画作品を配給する場合も、スタジオが行うべきオーサリングの内容は同一となる。
【００１７】
１年前、２年前にBD-ROMで販売した旧作の映画作品を、オンラインで販売するというサービスの受け皿に、本発明にかかる記録媒体を用いれば、ユーザは、複数のBD-ROMに記録されるべき複数の映画作品をオンラインで改めて購入することにより、複数のBD-ROMに記録されるべき複数の映画作品を1つの記録媒体にまとめて保管することが可能になる。こうすることで、個人的な映画作品のライブラリィの整理促進を図ることができる。
【００１８】
かかるサービスの実行において、オーサリングの負担が皆無であるから、スタジオは、このようなオンライン販売のサービスを実行することにより、BD-ROMを用いて映画作品を販売した後も、同じ映画作品を用いることで収益を得ることができる
【図面の簡単な説明】
【００１９】
【図１】記録媒体、記録装置、再生装置が用いられるコンテンツ提供システムを示す図である。
【図２】リムーバブルメディア１００,１０１の内部構成を示した図である。
【図３】ユーザによって、映画A1〜A30という30個のコンテンツが購入された後のディレクトリ構成を示す図である。
【図４】複数回のコンテンツの書き込みによって、リムーバブルメディアの記録内容がどのように更新されるかを模式的に示す図である。
【図５】記録装置における記録処理の手順を示すフローチャートである。
【図６】MoDESTRootChangeAPIによって、どのようなファイルシステムが認識されるかを模式的に示す図である。
【図７】MoDESTRootChangeAPIの実行前後で、認識されるファイルシステム構造がどのように変化するかを示す。
【図８】再生装置１０３の状態遷移を示す図である。
【図９】（ａ）Index.bdmvの内部構成を示す図である。  （ｂ）BD-Jオブジェクトの内部構成を示す図である。  （ｃ）Java(登録商標)アーカイブファイルの内部構成を示す図である。
【図１０】（ａ）root/BDMVメニューを示す図である。  （ｂ）MoDEST非対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューを示す。
【図１１】FirstPlayBackタイトルを構成するBD-Jアプリケーション、つまり、スタートアッププログラムとなるBD-Jアプリケーションの処理手順を示すフローチャートである。
【図１２】オーサリングシステムの内部構成を示す図である。
【図１３】BD-ROMディスクイメージ及びMoDEST/BDMVコンテンツの作成手順を示すフローチャートである。
【図１４】プレイリストの再生中にSTOPキーイベントが押下された際、実行すべき処理手順を示すフローチャートである。
【図１５】MoDESTxxディレクトリ配下のディレクトリ・ファイル構成を示す図である。
【図１６】再生装置１０３の機能構成を示すブロック図である。
【図１７】BUDAディレクトリのディレクトリ構成を示す図である。
【図１８】マージ管理情報の内部構成を示す図である。
【図１９】マージ管理情報の内容を元にして、MoDESTxx/BDMVコンテンツと、BUDAコンテンツをマージする様子を示す。
【図２０】仮想パッケージの構築を行うための処理手順を示すフローチャートである。
【図２１】MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームを示す図である。
【図２２】MoDESTxx/BDMVディレクトリに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。
【図２３】BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームを示す図である。
【図２４】BUDAディレクトリに配されるべきAVストリームに多重化されたエレメンタリストリームにおけるPID割当マップを示す図である。
【図２５】AV再生部２４の内部構成を示す図である。
【図２６】再生装置１０３の出力段の構成を示す図である。
【発明を実施するための形態】
【００２０】
(第１実施形態)
図面を参照しながら、課題解決手段を具備した記録媒体、記録装置、再生装置の実施形態について説明する。
【００２１】
図１は、記録媒体、記録装置、再生装置が用いられるコンテンツ提供システムを示す図である。このコンテンツ提供システムは、MoD（Manufacturing on Demand）サービス、EST（Electric Sell Through）サービスを実現するものである。
【００２２】
MoD（Manufacturing on Demand）サービス、EST（Electric Sell Through）サービスによるコンテンツ提供が求める背景は以下の通りである。BD-ROMによる供給は、リムーバブルメディアのプレスにかかるコストのため、大量には売れないコンテンツは販売しづらい側面や、Read-Only型のメディアで配布することによる輸送コスト、小売店での管理コストが大きくなる側面がある。よって、近年求められているのは、Recordable型もしくはRewritable型のリムーバブルメディアに対してユーザーから要求のあったコンテンツだけを記録して販売するというサービスである。このサービスにおいて、販売の対象となるコンテンツは、１年前、２年前にBD-ROMで販売した旧作の映画作品であると仮定する。これらのMoDサービス・ESTサービスで、過去にBD-ROMを用いて販売した映画作品の再販売を行うことで、二次的な収益を得ようというものである。尚、MoDサービス・ESTサービスにおいて、ユーザに配布されるコンテンツを“MOD/ESTコンテンツ”という。
【００２３】
以下、本システムの構成要素について説明する。図１におけるコンテンツ提供システムは、リムーバブルメディア１００,１０１、記録装置１０２a,b、再生装置１０３、ビルドインメディア１０４、テレビ１０５から構成される。
【００２４】
＜リムーバブルメディア１００＞
リムーバブルメディア１００は、書き換え可能型のBD-RE,追記型のBD-Rであり、MoD（Manufacturing on Demand）サービス、EST（Electric Sell Through）サービスにおいて、コンテンツの受け皿として用いられる。
【００２５】
＜リムーバブルメディア１０１＞
リムーバブルメディア１０１は、SDメモリカード、メモリスティックなどの半導体メモリカードであり、MoD（Manufacturing on Demand）サービス、EST（Electric Sell Through）サービスにおいて、コンテンツの受け皿として用いられる。
＜記録装置１０２a,b＞
記録装置１０２aは、KIOSK端末であり、ユーザーによるコンテンツの選択操作に応じて、コンテンツをWWWサーバからダウンロードし、リムーバブルメディア１００,１０１に書き込むという有償のサービス(MoD（Manufacturing on Demand）サービス)を実現する。
【００２６】
記録装置１０２bは、PCであり、ユーザーによるコンテンツの選択操作に応じて、コンテンツをWWWサーバからダウンロードし、リムーバブルメディア１００,１０１に書き込むという有償のサービス(EST（Electric Sell Through）サービス)を実現する。
＜再生装置１０３＞
再生装置１０３は、テレビ１０５と共に、ホームシアターシステムを構築して、BD-ROMやリムーバブルメディア１００,１０１を再生する。再生装置１０３には、MoDサービス・ESTサービスに対応しているものと、そうでないものとがある。前者の再生装置１０３を“MoD/EST対応プレーヤ”と呼ぶ。後者の再生装置１０３を“MoDEST非対応プレーヤ”と呼ぶ。
【００２７】
＜ビルドインメディア１０４＞
ビルドインメディア１０４は、映画配給者のWWWサーバから配信された特典コンテンツの受け皿として利用される。特典コンテンツとは、BD-ROMを購入した者に、おまけや景品、懸賞品として与えられるコンテンツであり、特典コンテンツだけでは再生することができないが、BD-ROMと組合せて初めて再生可能となる。例えば特典コンテンツには、BD-ROMには記録されていない言語の副音声及び字幕、特典映像、予告編などが該当する。BD-ROMにおけるコンテンツと組合せて、ピクチャインピクチャを実現するためのビデオストリームや、BD-ROMにおけるコンテンツと組合せて、立体視映像を実現するためのビデオストリームも、この特典コンテンツに該当する。本サービスは、BD-ROMで過去に販売したコンテンツをオンラインで販売するものであるから、BD-ROMでユーザに与えられた特典コンテンツと同様のものをユーザに譲与するため、再生装置１０３にはビルドインメディア１０４が存在する。特典コンテンツは、ビルドインメディア１０４だけではなく、リムーバブルメディア１００,１０１にも記録することができる。ビルドインメディア１０４やリムーバブルメディア１００,１０１において、特典コンテンツの格納場所となるディレクトリを“BUDA(Binding Unit Data Area)ディレクトリ”という。また、このBUDAディレクトリに格納されるべきファイル一式であって、特典コンテンツとして再生されるものを、“BUDAコンテンツ”という。かかるBUDAコンテンツは、仮想パッケージを構築することで再生可能となる。あるディレクトリの格納内容を、他のディレクトリの格納内容に組み合わせることで作成される仮想的なパッケージを“仮想パッケージ”という。
【００２８】
ここで、組合せの対象となるディレクトリは、基本的には、BD-ROMのroot/BDMVディレクトリと、ビルドインメディア１０４のBUDAディレクトリの組合せとなるが、本実施形態はこれに限らず、あるリムーバブルメディアに存在するMoDESTxx/BDMVディレクトリと、同じリムーバブルメディアに存在するBUDAディレクトリとの組合せであってもよいし、リムーバブルメディア１００,１０１に存在するMoDESTxx/BDMVディレクトリと、ビルドインメディア１０４に存在するBUDAディレクトリとの組合せであってもよい。つまり、本実施形態の仮想パッケージは、様々な組合せを許容するものであり、同じ記録媒体に存在する2つのディレクトリを組み合わせて構築することができるし、別々の記録媒体に存在する2つのディレクトリの組み合わせて構築することもできる。
【００２９】
＜テレビ１０５＞
テレビ１０５は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
【００３０】
以上がMoDサービス・ESTサービスを実行するシステムについての説明である。続いてリムーバブルメディア１００,１０１の生産の形態について説明する。
＜リムーバブルメディア１００,１０１の内部構成＞
図２は、リムーバブルメディア１００,１０１の内部構成を示した図である。本図の第１段目に、リムーバブルメディア１００,１０１を示し、第２段目は、リムーバブルメディア１００,１０１の記録領域を、横方向に引き伸ばして直線状に描いている。この第２段目に示すように、記録領域は、「論理アドレス空間」を有している。
【００３１】
「論理アドレス空間」は、ファイルシステムのための領域管理情報を先頭にして、各種データが記録されている。“ファイルシステム”とは、UDFやISO９６６０などのことであり、本実施形態では、Extention2.3形式のファイルシステムを採用する。このファイルシステムを介すれば、論理アドレス空間に記録されているデータをディレクトリ、ファイル構造を使って読み出すことができる。このファイルシステムにおけるファイルの配置位置は、２５５文字以下のディレクトリ名と、２５５文字以下のファイル名とを組合せたファイルの経路情報(ファイルパスと呼ばれる)で特定される。
【００３２】
本図の第３段目は、第２段目におけるファイルシステムを前提にして構築された、ディレクトリ・ファイル構成を示す。本図に示すように、BD-ROMのルートディレクトリ（ROOT）直下には、BDMVディレクトリと、MoDESTxxディレクトリとが置かれている。
【００３３】
以下、リムーバブルメディア１００,１０１におけるファイル・ディレクトリ構成について説明する。
＜ルート直下のBDMVディレクトリ＞
ルート直下のBDMVディレクトリはMoDESTxx下のBDMVディレクトリを記録する際に一緒に記録される。尚、ROOTディレクトリ直下のBDMVディレクトリを、“root/BDMVディレクトリ”と表記する。
【００３４】
root/BDMVディレクトリは、BD-ROM Part3のBDMVに準拠しており、root/BDMVはMoDESTxx/BDMVの初回記録時に合わせて記録されるディレクトリである。新しいコンテンツが追加されMoDESTxxディレクトリ下のBDMVディレクトリが記録される場合には、以前記録されていたルート直下のBDMVディレクトリは更新されても良いし、更新されなくても良い。root/BDMVディレクトリの格納内容は、MoDESTxx/BDMVディレクトリの追加/更新時に更新されてもよい。MoD/EST用にroot/BDMVの格納内容だけが配布/記録されてもよい。このroot/BDMVディレクトリは、リムーバブルメディア１００,１０１が認識されるため、なくてはならない不可欠なディレクトリ、つまり“デフォルト”のディレクトリである。
【００３５】
root/BDMVを編集(削除、追記)する予定が無い場合、root/BDMVはBD-ROM Part3のBDMVに準拠して、作り込むことができる。この作り込みとは、BD-ROMのフォーマットに従い、コンテンツを構成するAVストリームやプレイリスト情報を格納することであり、図中のroot/BDMVディレクトリに存在するIndex.bdmvファイル、JARディレクトリ、BDJOディレクトリは、BD-ROM Part3のBDMVに準拠したコンテンツを構成するものである。これらのディレクトリ・ファイルの内部構成の詳細については、説明の場を後段に譲ることにする。
＜MoDESTxxディレクトリの下のBDMVディレクトリ＞
MoDESTxxディレクトリは、ユーザがMoDサービス・ESTサービスを受ける際、追加されるディレクトリであり、サービスに依存したディレクトリ、つまり、“サービスドメインディレクトリ”である。このMoDESTxxディレクトリの直下には、root/BDMVディレクトリと同じ、BDMVディレクトリが存在する。尚、MoDESTxxディレクトリ直下のBDMVディレクトリを、“MoDESTxx/BDMVディレクトリ”と表記する。
【００３６】
MoDESTxxディレクトリの配下は、BD-ROM Part3に準拠したものとなり、MoDESTxxディレクトリには、BD-ROM Part3に準拠する形で、AVストリーム、プレイリスト情報が記録されることになる。これらのAVストリーム、プレイリスト情報は、映画作品がBD-ROMにて配給された際、BD-ROMにおいてroot/BDMVディレクトリに記録されていたものであり、実際の映画作品を構成するものである。MOD/ESTコンテンツのうち、MoDESTxx/BDMVディレクトリに記録され、実際の映画作品を構成するファイル一式を“MoDEST/BDMVコンテンツ”とよぶ。本実施形態におけるMoDサービス・ESTサービスは、過去にBD-ROMで頒布された映画作品を、オンラインで販売しようというものであるから、このMoDEST/BDMVコンテンツは、BD-ROMで配給されたコンテンツ(BD-ROMコンテンツ)と同じ内容になる。このMoDESTxxディレクトリは、上記サービスに対応しない再生装置(MoDEST非対応プレーヤ)は認識することができず、仮に、非対応プレーヤに装填されたなら、リムーバブルメディア１００,１０１は、ブランクメディアとして扱われることになる。
【００３７】
MoDESTxxディレクトリに属するディレクトリの内容のうち、PLAYLISTディレクトリ、STREAMディレクトリ、CLIPINFディレクトリは、映画作品の実体を規定するデータである。以下、これらのディレクトリについて説明する。
＜PLAYLISTディレクトリ＞
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(xxxxx.mpls[“xxxxx”は可変、拡張子”mpls”は固定])が存在する。
【００３８】
拡張子”mpls”が付与されたファイルは、プレイリスト情報を格納したファイルである。プレイリスト情報は、MainPath情報、Subpath情報、PlayListMark情報を含む。
1)MainPath情報は、AVストリームの再生時間軸のうち、In＿Timeとなる時点と、Out＿Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN＿table)をもつ。
【００３９】
2)PlayListMark情報は、In＿Time情報及びOut＿Time情報の組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
3)Subpath情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるIn＿Time情報及びOut＿Time情報の組みとを含む。再生制御のためのJava(登録商標)アプリケーションが、このプレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(登録商標)仮想マシンに命じることで、AV再生を開始させることができる。JMF(Java(登録商標) Media Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
【００４０】
AVストリームと、プレイリスト情報との組みは、“タイトル”という再生単位を構成する。BD-ROMにおけるAV再生は、このタイトルを一単位としてなされる。root/BDMVディレクトリ又はMoDESTxx/BDMVディレクトリに存在するタイトルのうち、最初に再生されるべきタイトルを、特に“FirstPlayBackタイトル”とよぶ。
【００４１】
＜STREAMディレクトリ＞
STREAMディレクトリには、拡張子M2TSが付与されたファイル(xxxxx.m2ts[“xxxxx”は可変、拡張子”m2ts”は固定])が存在する。
【００４２】
拡張子”m2ts”が付与されたファイルは、M P E G - T S ( T r a n s p o r t S t r e a m )形式のデジタルAVストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、プレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、プレゼンテーショングラフィクスストリームは、映画の字幕を、インタラクティブグラフィクスストリームは映画のメニューをそれぞれ示している。
＜CLIPINFディレクトリ＞
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(xxxxx.clpi [“xxxxx”は可変、拡張子”clpi”は固定])が存在する。
【００４３】
拡張子”clpi”が付与されたファイルは、AVストリームのそれぞれに1対1に対応する管理情報である。管理情報故に、Clip情報は、デジタルAVストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP＿mapをもっている。
【００４４】
尚、これらのディレクトリ以外のディレクトリについては、説明の場を後段に譲るものとする。以上が、MoDESTxxディレクトリについての説明である。
続いて、映画A1〜A30という30個のコンテンツが購入された場合の、ディレクトリ構成について説明する。
【００４５】
図３は、ユーザによって、映画A1〜A30という30個のコンテンツが購入された後のディレクトリ構成を示す図である。本図において、MoDEST０１、MoDEST０２、...MoDEST３０ディレクトリは、ユーザーがコンテンツを購入した際、リムーバブルメディア１００,１０１の容量の限り追加されるディレクトリである。
【００４６】
ルート直下に配置されるMoDESTディレクトリの最大個数は３０個以下に制限されている。これは、詳しくは後述するが、リムーバブルメディア１００,１０１の装填の際、ROOTディレクトリ直下のBDMVディレクトリにあるスタートアッププログラムがリムーバブルメディア１００,１０１に記録されているコンテンツの一覧メニューを動的に作成する必要があり、MoDESTディレクトリの数があまりに多いと、リムーバブルメディア１００,１０１に存在するMoDESTxxディレクトリを一覧するためのメニュー（root/BDMVメニューとよぶ）の作成に、時間がかかるためである。また、リムーバブルメディアの容量から考えて、１２cmの８層の光ディスク（BDなら200GB）１枚に、ビデオカメラなどで使用される８cmの１層の光ディスク（BDならば７.５GB）のコンテンツをコピーすることを想定した場合の、コピー可能なコンテンツ数の上限が２７GB(約３０GB)であることに基づいている。
【００４７】
MoDESTxx/BDMVディレクトリには、root/BDMVメニューの構成要素となる名前とサムネイルを必ず記録しておくことが求められる。
MoDESTxx/BDMVディレクトリは、実体的なコンテンツを格納しておくためのディレクトリ、つまり、“真正なムービーディレクトリ”である。このMoDESTxx/BDMVディレクトリの格納内容はBD-ROM Part3のBDMVに準拠する。MoDESTxxディレクトリは、ユーザーのファイル操作によっては、何が記録されているかは伺い知ることはできない。MoDESTxx/BDMVには、Disc Library Metadataが記述されており、<name>, <thumbnail>という2つのタグの2つが必須となる。ただし、root/BDMVディレクトリがDisc Library Metadataを使うかは自由となる。MoD/EST対応プレーヤは、リムーバブルメディア１００,１０１上の仮想的なrootディレクトリを変更するAPIの実装が必須として具備している。仮想的なrootディレクトリを変更した後は、BD-ROMの再生と同等なため、新規開発/検証は不要となる。
【００４８】
以上が記録媒体の実施形態について説明である。続いて、記録装置１０２a,bについて説明する。
（記録装置１０２a,b）
記録装置１０２a,bは、rootディレクトリ直下のBDMVディレクトリに新たなコンテンツを記録する代わりに、MoDESTxxディレクトリというディレクトリをクリエイトして、このMoDESTxxディレクトリの直下にBDMVディレクトリを作成し、このMoDESTxx/BDMVディレクトリにコンテンツを書き込む。仮に、ルート直下にBDMVディレクトリを設け、BDMVディレクトリに、当該コンテンツを構成するAVストリーム、プレイリスト情報を書き込むと、別のコンテンツを同じリムーバブルメディア１０１に追加購入した際、ルート直下におけるBDMVディレクトリは、もはやコンテンツを追加することができない。これは、詳しくは省略するが、root/BDMVディレクトリ内の2以上のコンテンツを再生できるように、BD-ROM再生装置におけるプログラムを作成することが技術的に困難であり、１つのBDMVディレクトリの中に異なるコンテンツを共存させることが技術的に困難であるとの事情による。
【００４９】
図４は、複数回のコンテンツの書き込みによって、リムーバブルメディア１００,１０１の記録内容がどのように更新されるかを模式的に示す図である。
本図における右側は、図３に示したディレクトリ構成と同一であり、左側は、記録装置１０２a,bの内部状態を示す。この内部状態には、映画A1の購入時、映画A2の購入時・・・映画A30の購入時というものがある。矢印k1,k2,k3,k4は、各内部状態におけるディレクトリの書き込みを象徴化したものである。映画A1の購入時においては、root/BDMVディレクトリと、MoDEST01/BDMVディレクトリとが同時にリムーバブルメディア１００,１０１に書き込まれる。映画A2の購入時にはMoDEST02/BDMVディレクトリがリムーバブルメディア１００,１０１に書き込まれ、映画A30の購入時には、MoDEST30/BDMVディレクトリがリムーバブルメディア１００,１０１に書き込まれる。
【００５０】
このように、初回の購入時(k1)には、root/BDMVディレクトリと、MoDEST01/BDMVディレクトリとが同時に書き込まれるが、２回目以降の購入時(k2,k3,k4)には、購入されたコンテンツに対応するMoDEST02/BDMVディレクトリ、MoDEST04/BDMVディレクトリ、MoDEST30/BDMVディレクトリのみがリムーバブルメディアに追加されてゆくことがわかる。
【００５１】
以下、記録装置１０２a,bによる記録処理がどのように行われるかについて図５を参照しながら説明する。図５は、記録装置における記録処理の手順を示すフローチャートである。
【００５２】
MoDサービス・ESTサービスにおいてコンテンツの書き込みが命じられた場合、記録装置１０２a,bは、root/BDMVディレクトリと、MoDESTxxディレクトリとの組みがリムーバブルメディアに存在するかどうかを判定して(ステップＳ１)、存在する場合、使用済みの番号yyを特定し(ステップＳ２)、MoDESTyy+1ディレクトリをクリエイトする(ステップＳ３)。そして、MoDESTディレクトリyy+1の直下に、BDMVディレクトリ、AACSディレクトリ、Certificateディレクトリを作成してコンテンツを書き込む(ステップＳ４)。rootディレクトリと、BDMVディレクトリとの組み、又は、rootディレクトリと、MoDESTxxディレクトリとの組みが存在しないが、root/BDMVディレクトリのみが存在する場合(ステップＳ５でYes)、リムーバブルメディア１００,１０１にはコンテンツは書き込めない旨を表示して、リムーバブルメディア１００をイジェクトする(ステップＳ８)。
【００５３】
BDMVディレクトリが存在しない場合、ROOT/BDMVディレクトリを作成して、root/BDMVメニューのためのIndex.bdmv、BD-Jオブジェクト、JARアーカイブファイルを書き込み(ステップＳ６)、yyを0に設定して(ステップＳ７)、ステップＳ３に移行する。その後、MoDESTyy+1ディレクトリをクリエイトする(ステップＳ３)。そして、MoDESTディレクトリyy+1の直下に、BDMVディレクトリ、AACSディレクトリ、Certificateディレクトリを書き込む(ステップＳ４)。
【００５４】
以上が記録装置１０２a,bについての説明である。
＜再生装置１０３＞
再生装置１０３は、リムーバブルメディア挿入時にROOTディレクトリ直下のBDMVディレクトリ内で指定された最初に再生されるべきFirstPlaybackタイトルから自動的に再生を開始するという基本動作を行う。これまでのBD-ROM再生装置の基本動作、つまり、ルート直下のBDMVディレクトリのFirstPlaybackタイトルを自動的に再生するという仕組みを活かしつつ、プレーヤのデザインポリシーを変更させないために、MoD/EST対応のプレーヤでは、以下のようなAPI(MoDESTRootChangeAPI)やSystem Property(MoDESTRootChangeSyetemProperty)が規定されている。
【００５５】
＜MoDESTRootChangeAPI＞
MoDESTRootChangeAPIは、ルートを変更するAPIであり、APIコール時において引数に記述されたファイルパスを、rootディレクトリに変更することができれば、コールを行ったアプリケーションにSUCCESSの応答を返す。引数に記述されたファイルパスを、rootディレクトリに変更することができなければ、コール元のアプリケーションにNoSuchMethodExceptionの応答を返す。
【００５６】
図６は、MoDESTRootChangeAPIのコールによって、どのようなファイルシステムが認識されるかを模式的に示す図である。左側は、図２に示したファイルシステム構造であり、右側は、MoDESTRootChangeAPIがなされた後の認識結果である。破線枠hh1,hh2は、ファイルシステム構造のうち、MoDESTRootChangeAPIがなされた後に認識される部位を示す。このように、左側のファイルシステム構造のうち、ROOTディレクトリと、MoDESTxx/BDMVディレクトリとが認識されて、rootディレクトリ直下に、MoDESTxx/BDMVディレクトリが存在するかのように、扱われることになる。
【００５７】
図７は、MoDESTRootChangeAPIの実行前後で、認識されるファイルシステム構造がどのように変化するかを示す。上段はMoDESTRootChangeAPIの実行前のファイルシステム構造を、下段はMoDESTRootChangeAPIの実行後のファイルシステム構造を示す。MoDESTRootChangeAPIの実行前では、ROOTディレクトリ直下に、映画作品を格納したBDMVディレクトリが存在するというファイルシステム構造が認識されることになる。
【００５８】
MoDESTRootChangeAPIの実行後では、ROOTディレクトリ直下に、映画A1を格納したBDMVディレクトリが存在するというファイルシステム構造が認識されることになる。
＜APIコールのための書式＞
MODESTRootChange APIをコールする際の書式について述べる。MODESTRootChange APIの引数には、ID/相対パス/絶対パスがある
ここでIDとは、MoDESTxxディレクトリのそれぞれを特定する下２桁の数値xxをいう。MoDESTxxディレクトリのIDを引き数にした、APIのコールは以下のようなものになる。
【００５９】
MoDESTRootChange( 01)
相対パスを引数にした、APIのコールは以下のようなものになる。
【００６０】
MoDESTRootChange( ../MoDEST01 )
MoDESTRootChange( /MoDEST01 )
また、第１引数、第２引数によって、ルート変更機能をコールできるようにしてもよい。
【００６１】
MoDESTRootChange( MoDEST01, root )
MoDESTRootChange( MoDEST01, NULL )
以上がMoDESTRootChangeAPIについての説明である。続いて、MoDESTRootChangeSystemPropertyの詳細について述べる。
【００６２】
＜MoDESTRootChangeSystemProperty＞
MoDESTRootChangeSystemPropertyは、ルートを変更するコマンドが再生装置で実行可能か否かを示すプレーヤ変数であり、YESかNOのどちらかの値を持つ。SystemProperty=NOである場合はMoD/EST対応プレーヤではないと判断する
再生装置がMoDESTRootChangeAPIに対応していないが、NoSuchMethodExceptionなどの値が必ず返る場合には、それを基にMoDEST非対応プレーヤであることを判定することができる。しかしNoSuchMethodExceptionが返るとは限らない場合、MoDESTRootChangeSystemPropertyを用いて、再生装置が、MoDESTRootChangeAPIに対応していないことを判定する。
【００６３】
また、MoDEST/BDMVコンテンツを再生する能力をもつが、MoDESTRootChangeAPIを具備していないような再生装置についても、本System Propertyを用いれば、MoDEST/BDMVコンテンツに対応していることを判定することができる。
【００６４】
これは、例えば、次のようなケースを想定している。複数の記録媒体の選択をユーザに行わせることができるGUI部品、いわゆるメディアクロスバーと呼ばれGUI部品を具備している再生装置１０３ではMoDESTRootChangeAPIを必要としないため、MoDESTRootChangeAPIを呼び出そうとすると、NoSuchMethodExceptionが返る。このようなMoD/EST対応プレーヤは、MoDESTRootChangeAPIの代わりとなるGUI部品を具備しているため、本来的にはMoDEST/BDMVコンテンツを再生できない訳ではない。MoDEST/BDMVコンテンツに対応することができるが、MoDESTRootChangeAPIは実装していない再生装置かどうかを判別するため、FirstPlayBackタイトルを構成するプログラムは、MoDESTRootChangeSystem Propertyを用いて、MoD/EST対応プレーヤかどうかを判定するのが望ましい。そのような判断を助けるため、再生装置１０３にはMoDESTRootChangeSystem Propertyが存在する。
【００６５】
＜状態遷移＞
再生装置１０３にリムーバブルメディア１００,１０１が挿入された際、自動でルート直下のBDMVディレクトリを再生させるのではなく、再生装置１０３が複数BDMVディレクトリが記録されていることを認識して1つ以上のMoDESTxxディレクトリが存在する場合、MoDESTxx/BDMVディレクトリを選択させ、そこから、MoDESTxxディレクトリ配下のBDMVディレクトリの再生に移行し、その再生が終われば、root/BDMVメニューの表示状態に戻る。このような制御の状態遷移について説明する。図８は、再生装置１０３の状態遷移を示す図である。
【００６６】
・状態j1
リムーバブルメディアがローディングされたという事象、つまり、MoD/EST対応のプレーヤにMoD/ESTコンテンツを記録したリムーバブルメディアが挿入されたとの事象が発生した場合、本状態に遷移する。この状態は、root/BDMVディレクトリのFirstPlaybackタイトルを再生するというものである。
【００６７】
・状態j2
状態j1において“映画xxを選択した”との事象が発生すると、本状態に遷移することになる。つまり“映画xxを選択した”との事象は、“root/BDMVメニュー上で、MoDESTxxディレクトリ配下のBDMVディレクトリを選択した”という事象と等価なので、状態j2では、“xxに対応するMoDESTxxディレクトリに、rootディレクトリを変更する“という処理を実行することになる。この結果、MoDESTxxディレクトリ以下のBDMV、AACS、Certificateディレクトリだけが記録されたBD-ROMとしてリムーバブルメディアを認識することになる。
【００６８】
・状態j3
状態j2において、“リムーバブルメディアの再認識に成功した”との事象が発生すると、本状態に遷移することになる。本状態は、“MoDESTxx/BDMVディレクトリにおけるFirstPlayBackタイトルを再生し、MoDESTxx/BDMVコンテンツを再生する”というものである。
【００６９】
・状態j4
状態j3において、FirstPlayBackタイトルを構成するスタートアッププログラムであるBD-Jアプリケーションによって、VFS構築が要求されたという事象が発生すると、この事象をトリガにして、本状態に遷移することになる。具体的な処理は、“リムーバブルメディア１００,１０１、ビルドインメディア１０４上に仮想的なファイルシステム(Virtual File System)を構築して、仮想パッケージを再生する”というものである。仮想的なファイルシステムとは、リムーバブルメディア１００,１０１、ビルドインメディア１０４を一体的に扱うことができるファイルシステムのことをいうから、プレーヤのリムーバブルメディア１００,１０１、ビルドインメディア１０４に特典コンテンツをダウンロードしてきて、それとリムーバブルメディア１００,１０１上のコンテンツとを組み合わせて（VFS：Virtual File System）を用いて再生することもBD-ROMと同等に可能となる。
【００７０】
・状態j5
状態j4において、“仮想パッケージの再生終了”という事象が発生すると、本状態に遷移することになる。本状態では、VFS解除という処理がなされ、解除に成功すれば、解除成功という事象をトリガにして、状態j3、つまり“MoDESTxx/BDMVディレクトリにおけるFirstPlayBackタイトルの再生”という状態j1に戻る。
【００７１】
・状態j6
状態j3において、MoDESTxx/BDMVの再生終了という事象が発生するか、状態j5においてVFSが解除されたとの事象が発生すれば、本状態に遷移することになる。この状態では、“仮想的なルートを元のリムーバブルメディアのルートに戻す”という処理が実行される。この処理に成功して、“元のリムーバブルメディアのルートに戻った”という事象が発生すると、この事象をトリガにして“root/BDMVのFirstPlaybackタイトルの再生”という状態に戻る。
【００７２】
MoDESTRootChangeAPIを使って再生装置に対するリムーバブルメディアの仮想的なルート位置を変更すると、再生装置ではBD-ROM、つまり、リムーバブルメディアのルート直下にBDMV、AACS、Certificateディレクトリが記録されているだけのリムーバブルメディアの再生挙動と等価となるため、再生装置のソフトウェア設計を変えることがなくなる。またルートを変更するAPIの検証は必要だがMoDEST/BDMVコンテンツの再生の検証は、BD-ROMの再生と同じになり不要となる。
【００７３】
また、複数のBD-ROMのコンテンツが、1枚のリムーバブルメディアなどに記録されているとして常に認識されることになり、ユーザーが操作できることもBD-ROM視聴時と同じになり扱いになるので、操作面においてユーザが困惑することはない。この状態遷移では、MoDESTxx/BDMVディレクトリから別のMoDESTxx/BDMVディレクトリへの状態遷移は想定しない。MoDESTxx/BDMVからroot/BDMVへの状態遷移を行い、root/BDMVからMoDESTxxに遷移するのが基本となる。MoDESTRootChangeAPIの実行によりMoDESTxxディレクトリがリムーバブルメディアの仮想ルートとして扱われるが、リムーバブルメディアを抜くと再びリムーバブルメディアにおけるROOTディレクトリが“root”として扱われるようプレーヤの状態がリセットされるのが望ましい。
【００７４】
以上で再生装置１０３についての説明を終える。かかる再生装置１０３の状態遷移は、MoDESTxxディレクトリに記録されたプレイリスト再生制御用のプログラムであるBD-Jアプリケーションに基づき実行される。図２におけるroot/BDMVディレクトリの格納内容のうち、かかる状態遷移をもたらすものは、Index.bdmvファイル、BDJOディレクトリに格納されたBD-Jオブジェクト、JARディレクトリに格納されたJava(登録商標)アーカイブファイルである。以下、これらのIndex.bdmvファイル、BD-Jオブジェクト、Java(登録商標)アーカイブファイルについて説明する。
＜Index.bdmv＞
Index.bdmvについて説明する。図９（ａ）は、Index.bdmvの内部構成を示す図である。リムーバブルメディア１００,１０１には、様々な種類のタイトルが存在しており、図９（ａ）の左側におけるIndex.bdmvには、それら様々な種類のタイトルに対して規定されたインデックスを含む。具体的には、リムーバブルメディア１００,１０１に格納されるFirstPlaybackタイトルについてのIndex Table Entry、TopMenuについてのIndex Table Entry、Title＃1についてのIndex Table Entry、Title＃2についてのIndex Table Entry,・・・・＃Nを含む。このテーブルには、全てのタイトル、TopMenu、FirstPlaybackタイトルを構成するMovieオブジェクトもしくはBD-Jオブジェクトが指定されている。BD-ROMの再生装置１０３は、タイトルあるいはメニューが呼び出されるたびにIndex.bdmvを参照して、所定のMovieオブジェクト、又は、BD-Jオブジェクトを実行する。また、TopMenuは、リモコンでのユーザ操作で、"MenuCall"のようなコマンドが実行されるときに、呼び出されるMovieオブジェクトもしくはBD-Jオブジェクトが指定されている。
【００７５】
引き出し線h1は、Index Table Entryの共通のデータ構造をクローズアップしている。Index Table Entryは、この共通のデータ構造で定義される。この共通のデータ構造は、『Title＿object＿type』と、『bdjo＿file＿name』とを含む。
【００７６】
『Title＿object＿type』は、"該当するタイトルに関付けられている動作モードオブジェクトが、MovieオブジェクトであるかBD-Jオブジェクトであるかを示す。
『bdjo＿file＿name』は、タイトルに関連付けられたBD-J オブジェクトのファイル名を示す。
【００７７】
このようなIndex.bdmvにより、タイトルと、動作モードオブジェクトとの対応が図られることになる。
＜BDMVディレクトリの構成.ZZZZZ.BDJO＞
ZZZZZ.BDJO（「ZZZZZ」は可変、拡張子「BDJO」は固定）は、上述したBD-Jオブジェクトを格納したファイルである。図９（ｂ）は、BD-Jオブジェクトの内部構成を示す図である。本図の左側に示すように、BD-Jオブジェクトは、アプリケーション管理テーブルを含む。
【００７８】
アプリケーション管理テーブル(AMT)とは、“アプリケーションシグナリング”を実現するテーブルである。“アプリケーションシグナリング”とは、BD-ROMにおける“タイトル”をアプリケーションの生存区間として管理し、アプリケーションの起動及び終了を司る制御をいう。ここで生存区間とは、BD-ROMに記録されたコンテンツ全体の時間軸において、仮想マシンのヒープメモリ上でアプリケーションが生存し得る区間を示す。“生存”とは、そのアプリケーションが、ヒープメモリに読み出され、仮想マシンによる実行が可能になっている状態をいう。このように、BD-Jオブジェクト内のアプリケーション管理テーブルに基づき、動作が制御されるJava(登録商標)アプリケーションを、“BD-Jアプリケーション”という。
【００７９】
引出線h2は、アプリケーション管理テーブルの内部構成をクローズアップしている。引出線h2に示すように、アプリケーション管理テーブルは複数のアプリケーションエントリー＃1〜＃nからなる。引出線h3は、アプリケーションエントリーの共通のデータ構造を示す。この引出線h3に示すように、アプリケーションエントリーは、タイトルにおいて、アプリケーションを自動的に起動させるべきか(AutoStart)、他のアプリケーションからの呼出しを待って起動すべきか(Present)という起動の仕方を示す「制御コード」、Java(登録商標)アーカイブファイルのファイル名となる５桁の数値を用いて、対象となるJava(登録商標)アプリケーションを示す「アプリケーションID」を含む。
【００８０】
＜JARディレクトリ＞
続いて、JARディレクトリについて説明する。JARディレクトリは、Java(登録商標)アーカイブファイル(XXXXX.JAR)を格納している。
【００８１】
Java(登録商標)アーカイブファイルは、http：//java(登録商標).sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じたファイルである。Java(登録商標)アーカイブファイル３０２は複数のファイルをディレクトリ構造の形で格納している。図９（ｃ）は、Java(登録商標)アーカイブファイルの内部構成を示す図である。
【００８２】
この構造は、ルートディレクトリ直下に「XXXX.class」が存在し、META-INFディレクトリにファイル「MANIFEST.MF」、ファイル「SIG-BD.SF」、ファイル「SIG-BD.RSA」、ファイル「bd.XXXX.perm」が存在するというものである。
【００８３】
このXXXX.class(クラスファイル)は、Java(登録商標)仮想マシン上で実行することができるBD-Jアプリケーションを定義するようなクラス構造体を格納したクラスファイルである。MANIFEST.MFは、デジタル証明書に対応するものであり、SIG-BD.SFは、MANIFEST.MFのハッシュ値が記載されているファイルである。SIG-BD.RSAは、デジタル証明書チェーン、署名情報が記載されているファイルである。bd.XXXX.permは、パーミッションリクエストファイルであり、実行されるBD-Jアプリケーションにどのパーミッションを与えるのかの情報を格納する。
【００８４】
Java(登録商標)アーカイブファイルにおけるクラスファイルにて定義されるBD-Jアプリケーションは、Xletインターフェイスを通じて、アプリケーションマネージャにより、制御されるJava(登録商標) Xletである。Xletインターフェイスは、“loaded”,“paused”、“active”,“destoryed”といった4つの状態をもつ。
【００８５】
またJava(登録商標)アプリケーションは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJava(登録商標)ライブラリを用いて、GEM1.0.2にて規定されたHAViフレームワークを実現する。HAViフレームワークは、GEM1.0.2におけるリモートコントロールナビゲーション機構を含むGUIフレームワークであり、Java(登録商標)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
【００８６】
以上がJARファイルについて説明である。
これらのJARファイルは、root/BDMVディレクトリにも、MoDESTxx/BDMVディレクトリにも存在している。そして、root/BDMVディレクトリ、MoDESTxx/BDMVディレクトリのうち、どちらに帰属するかによって、JARファイルが実行する処理が異なる。以降、各ディレクトリに存在するJARファイルによって、どのようなBD-Jアプリケーションが定義されるかについて説明する。
【００８７】
＜root/BDMVにおけるJARファイルで定義されるBD-Jアプリケーション＞
root/BDMVにおけるJARファイルで定義されるBD-Jアプリケーションは、リムーバブルメディア１００,１０１のFirstPlayBackタイトルを構成しており、リムーバブルメディア１００,１０１の装填時に最初に実行されるスタートアッププログラムである。全てのMoDESTxx/BDMVをユーザに提示して、選択されるためのメニュー(root/BDMVメニュー)をユーザに提供する。
＜MoDESTxx/BDMVにおけるJARファイルで定義されるBD-Jアプリケーション＞
MoDESTxx/BDMVにおけるJARファイルで定義されるBD-Jアプリケーションは、MoDESTxxコンテンツの再生にあたって、実際の再生制御を行うものであり、MoDESTxxディレクトリにおけるユーザ操作を受け付けるためのメニュー(MoDESTxx/BDMVメニュー)を表示して、MoDESTxx/BDMVメニューに対する操作に応じて、MoDESTxxディレクトリにおける再生開始や、チャプター選択、音声選択、字幕選択を受け付ける。そして必要に応じて、仮想パッケージの構築を行い、仮想パッケージから認識することができるプレイリストを再生する。このように、どのBDMVディレクトリに帰属するかによって、JARファイルにて定義されるBD-Jアプリケーションが行う処理は異なる。
【００８８】
以上でJava(登録商標)アーカイブファイルについての説明を終える。続いて、METAディレクトリに格納されるメタデータについて説明する。
＜メタデータ＞
METAディレクトリに格納されるメタデータは、リムーバブルメディア１００,１０１におけるメディアライブラリとなるXMLファイルであり、コンテンツを示す名前とJPEGサムネイルファイルへのリンク情報が少なくとも記述されている。これらは、root/BDMVディレクトリにおけるBD-Jアプリケーションが、root/BDMVメニューを作成する際に用いられる。リムーバブルメディア１００,１０１におけるライブラリメタデータはBD.INFOに記載されても良いし、BDMVディレクトリの下にXMLファイルなどとして別個に記載されても良い。Disc Library Metadataの<name>, <thumbnail>は必須であるが、これ以外は、任意的である。
【００８９】
＜MoD/ESTリムーバブルメディアでのメニュー構成＞
BD-Jアプリケーションが、上述したようなメタデータを用いることにより、どのようなメニューを表示するかを図１０を参照しながら説明する。図１０（ａ）は、root/BDMVメニューを示す図である。図１０には、一番左側にroot/BDMVメニューが存在し、真ん中にMoDESTxx/BDMVメニューが存在する。右側には、MoDESTxx/BDMVメニューに対する選択操作の結果、どのような処理がなされるかが記述されている。
【００９０】
・ROOT/BDMVメニュー
『ROOT/BDMVメニュー』は、root/BDMVメニューとは、各MoDESTxx/BDMVディレクトリに存在するタイトルを視覚的に表現して、リムーバブルメディア１００,１０１内の複数のMoDESTxxディレクトリのうち、何れかのタイトルを選択する操作をユーザから受け付けるメニューである。タイトルの視覚的な表現には、各MoDESTxx/BDMVディレクトリに存在する<name>, <thumbnail>という2つのタグが用いられる。これらの<name>, <thumbnail>という2つのタグは、リムーバブルメディアにおけるMoDESTディレクトリのそれぞれに対応した、GUI部品を構成する。
【００９１】
<name>, <thumbnail>という2つのタグから構成されるGUI部品は、リムーバブルメディア上の３０個のMoDESTコンテンツによって再生される３０本の映画作品A1,A2・・・・A30のそれぞれに対応しており、映画A1に対応するGUI部品であるA1ボタン、映画A2に対応するGUI部品であるA2ボタン、映画A30に対応するGUI部品であるA30ボタンが存在する。これらのボタンは、リムーバブルメディアにおけるライブラリメタデータの名前とサムネイルによって作らており、セレクテッド状態になることにより、対応する映画作品の再生を開始できる旨を示す。
【００９２】
これらの部品がアクティブ状態になることで、MoDESTRootChangeAPIが実行されて、GUI部品に対応するMoDESTxxディレクトリの配下のBDMVディレクトリが仮想的にルートディレクトリに設定されることになる。
【００９３】
・MoDEST01/BDMVメニュー
『MoDEST01/BDMVメニュー』は、MoDESTxx/BDMVディレクトリにおいて、メニューコールで呼び出すことができるTopメニューであり、MoDEST01/BDMVディレクトリにおいて、可能となる操作を視覚的に表現して、何れかの操作をユーザから受け付けことができる。リムーバブルメディア１００,１０１には、MoDESTxxディレクトリ毎にBDMVディレクトリが存在しており、個々のBDMVディレクトリにはIndex.bdmvが存在している。本図では、MoDEST01/BDMVディレクトリを選択する操作がなされた際、MoDEST01/BDMVディレクトリに固有なTopメニューを、MoDEST01/BDMVメニューとして表示させることで、MoDEST01/BDMVディレクトリにおいて固有な操作を実現できるようになっている。MoDEST01/BDMVメニューは、MoDEST01/BDMVディレクトリに格納されているコンテンツの本編再生を始めるための『Playボタン』と、チャプター選択を行うための『ChapterSelectionボタン』と、リムーバブルメディア全体のroot/BDMVメニューに戻るため『All Contents on discボタン』とが配置されている。
【００９４】
All Contents on discボタンがアクティブ状態になれば、MoDESTRootChangeAPIが実行され、リムーバブルメディアのルートディレクトリがルートに指定されて、root/BDMVメニューを再び表示させる。
【００９５】
・MoDEST02/BDMVメニュー
『MoDEST02/BDMVメニュー』は、MoDEST02/BDMVディレクトリにおいて、メニューコールで呼び出すことができるTopメニューであり、MoDEST02/BDMVディレクトリにおいて、可能となる操作を視覚的に表現して、何れかの操作をユーザから受け付けことができる。root/BDMVメニューにおいてMoDEST02/BDMVディレクトリを選択する操作がなされた際、MoDEST02/BDMVディレクトリに固有なTopメニューを、MoDEST02/BDMVメニューとして表示させることで、MoDEST02/BDMVディレクトリにおいて固有な操作を実現できるようになっている。MoDEST02/BDMVメニューは、MoDEST02/BDMVディレクトリに格納されているコンテンツの本編再生を始めるための『Playボタン』と、音声ストリームの選択を行うための『Audio Selectionボタン』と、リムーバブルメディア全体のroot/BDMVメニューに戻るための『MoDEST  root  menuボタン』とから構成される。
【００９６】
『MoDEST  root  menuボタン』がアクティブ状態になれば、MoDESTRootChangeAPIが実行され、リムーバブルメディアのルートディレクトリがルートに指定されて、root/BDMVメニューが再び表示される。
【００９７】
このようにMoDESTxxディレクトリ下のBDMVディレクトリには、仮想ルートをリムーバブルメディアのルートに戻すためのボタンが『MoDEST01/BDMVメニュー』、『MoDEST02/BDMVメニュー』に埋め込まれている。以上は、MoDEST対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューである。
【００９８】
図１０（ｂ）は、MoDEST非対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューを示す。このメニューでは、リムーバブルメディアがMoDEST/BDMVコンテンツを格納したリムーバブルメディアであること、このMoDEST/BDMVコンテンツを再生するには、このリムーバブルメディアをMoDEST対応プレーヤに装填すべきことを示している。
【００９９】
root/BDMVメニュー、MoDESTxx/BDMVメニューを用いることにより、スタートアッププログラムとなるBD-Jアプリケーションがどのような処理をを行うかについて説明する。図１１は、FirstPlayBackタイトルを構成するBD-Jアプリケーション、つまり、スタートアッププログラムとなるBD-Jアプリケーションの処理手順を示すフローチャートである。
【０１００】
MoDESTRootChangeSystemAPIをコールして(ステップＳ１１)、MoDESTRootChangeAPIを具備しているかどうかを判定する(ステップＳ１２)。もし具備していなければ、“THIS IS MoD/EST Media Menu”を表示する(ステップＳ１３)。非対応プレーヤに対してはこのプレーヤでは当該リムーバブルメディアを再生できない旨を示す通知を行う。
【０１０１】
MoDESTRootChangeAPIを具備している場合、ルート直下のBDMVディレクトリのBD-Jアプリケーションは、リムーバブルメディア上の全てのMoDEST01〜30ディレクトリ下のライブラリメタデータから、<name>と<thumbnail>エレメントを取得して(ステップＳ１４)、MoDESTxxディレクトリごとに格納されているコンテンツの名前と、代表サムネイル映像とからGUI部品を作成し、映画A01〜A30の選択を受け付けるroot/BDMVメニューを表示する(ステップＳ１５)。その後、ステップＳ１６〜ステップＳ１７からなる操作待ちループに移行する。ステップＳ１６は、矢印キーが押下されたかどうかの判定であり、押下されれば、押下された矢印キーに従って、別のGUI部品をセレクテッド状態に変更した後(ステップＳ１８)、ステップＳ１６に戻る。確定キーが押下されれば(ステップＳ１７でYes)、確定されたGUI部品xxに対応するMoDESTxx/BDMVディレクトリを特定する(ステップＳ１９)。そして、MoDESTxx/BDMVのファイルパスを引き数にして、MoDESTRootChangeAPIをコールする(ステップＳ２０)。コールに対してSUCESS応答が返れば(ステップＳ２１でYes)、MoDESTxxディレクトリが仮想的にrootディレクトリに設定される。root変更後は、MoDESTxxディレクトリ直下にBDMVディレクトリが存在し、rootディレクトリ直下に1つのBDMVディレクトリしかないBD-ROMと同等となる。ステップＳ２１においてNoSuchMethodExceptionの応答が返れば、ステップＳ１３に移行する。
【０１０２】
そして、MoDESTxx/BDMVがroot/BDMVに記録されているリムーバブルメディアとして、リムーバブルメディアを再認識させ、MoDESTxx/BDMVにおけるFirstPlaybackタイトルを再生させる(ステップＳ２２)。再生が終了すれば、仮想rootを解除する。こうすることで、MoDESTxxディレクトリは、rootディレクトリとして認識されない。再生終了時に仮想的なrootをリムーバブルメディア１００,１０１のrootディレクトリに戻す。
【０１０３】
以上のように本実施形態によれば、１年前、２年前にBD-ROMで販売した旧作の映画作品を、オンラインで販売するというMoDサービス・ESTサービスの受け皿に、リムーバブルメディア１００,１０１を用いることができるので、ユーザは、複数のBD-ROMに記録されるべき複数の映画作品をオンラインで改めて購入することにより、複数のBD-ROMに記録されるべき複数の映画作品を大容量のリムーバブルメディア１００,１０１にまとめて保管することが可能になる。こうすることで、個人的な映画作品のライブラリィの整理促進を図ることができる。
【０１０４】
かかるMoDサービス・ESTサービスの実行において、オーサリングの負担が皆無であるから、映画作品のスタジオは、このようなオンライン販売のサービスを実行することにより、高い収益を上げることができる。
【０１０５】
(第１実施形態の変更例)
本実施形態では、上述したようなリムーバブルメディア１００,１０１、記録装置１０２、再生装置１０３を実施するにあたっては、以下のような改変を施すのが望ましい。
【０１０６】
(付加情報の取得機能)
ROOT/BDMVディレクトリに存在するBD-Jアプリケーションは、MoDESTxxディレクトリに存在するタイトルの付加情報(監督名、トレーラー)を得てroot/BDMVメニューを描画するのが望ましい。その際、BD-Jアプリケーションは、MoDESTxxディレクトリにおけるDisc Library Metadataの<name>をキーワードとして、プロバイダにおけるデータベースの検索を行い、該当するタイトルの付加情報を取得する。
【０１０７】
(BD-Jアプリケーションによるアクセス参照情報)
root/BDMV, MODESTxx/BDMVごとに存在するBD-Jアプリケーションは、レジューム情報を作成して、MoDESTxx/BDMVディレクトリにおけるコンテンツの再生が行われる度に、レジューム情報を更新するのが望ましい。そして再生装置１０３は、リムーバブルメディア１００,１０１が挿入された際、また、MoDESTxxディレクトリがrootディレクトリに変更された際、レジューム情報に基づき、再生を再開させるのが望ましい。
【０１０８】
(root/BDMVメニューの作成素材)
FirstPlayBackタイトルを構成するBD-Jアプリケーションは、root/BDMVメニューの作成時に、BDMVディレクトリにおけるメタデータを利用したが、BDMVの下に使われているストリーム種別や属性をメタデータに列挙しておき、それを読んでメニューを自動生成するBD-Jアプリケーションを記録しておくことが望ましい。かかるBD-JアプリケーションによりメニューをBD-ROM/MoDEST兼用メニューとして使えばよい。
【０１０９】
FirstPlayBackタイトルを構成するBD-Jアプリケーションは、MoDESTxx/BDMV/META/DLなどから取得したコンテンツ特定情報に基づき、ネットアクセスしてrootメニュー用の素材を取得してもよい。
(第２実施形態)
第１実施形態では、専用の記録装置１０２a,bを用いてMoDEST/BDMVコンテンツをダウンロードしたが、本実施形態は、再生装置１０３がMoDEST/BDMVコンテンツのダウンロードを行う改良である。
【０１１０】
再生装置１０３が、いわゆる“ネット家電”であり、また、録画装置としての機能を兼備した“録再機”である場合、記録装置１０２と同様、MoDサービス・ESTサービスによってMoDEST/BDMVコンテンツを購入することが可能となる。この場合FirstPlayBackタイトルを構成するBD-Jアプリケーションは、以下のような処理を行う。
【０１１１】
つまりルート直下のBDMVディレクトリのBD-Jアプリケーションは、起動された際、再生装置１０３がネットワークに接続できるかどうかを判定する。ネットワーク接続が可能な状態にある場合、root/BDMVメニューを表示した上で、メディア上のMOD/ESTコンテンツを管理できる機能を再生装置１０３に実行させる。
【０１１２】
この管理機能とは、MoDEST/BDMVコンテンツの購入操作をユーザから受け付けて、MoDEST/BDMVコンテンツをダウンロードする機能、ダウンロードしたコンテンツをMoDESTxxディレクトリに格納して、再生可能なコンテンツとして追加する機能、不要となったMoDEST/BDMVコンテンツをMoDESTxxディレクトリから削除する機能から構成される。
【０１１３】
そのBD-Jアプリが特定のWebサイトから各種タイトルの購入情報を取得し、それを表示させ、ユーザーに購入させる。
１）購入機能
購入機能について説明する。FirstPlayBackタイトルを構成するBD-Jアプリケーションは、root/BDMVメニューの表示時において購入操作を受け付けるボタンを表示する。このボタンが押下されれば、root/BDMVのBD-Jアプリケーションは、タイトルを購入するページを表示する。このページには、各タイトルに対応付けて、同じタイトルをWalmart/Amazon/BlockBusterなどから購入する際の価格、ダウンロード時間、データサイズ（リムーバブルメディアへの記録に要するブロック数）が示されている。
【０１１４】
その際、ダウンロード先を、ビルドインメディア１０４とするか、リムーバブルメディア１００,１０１とするかをユーザーに選択させる。root/BDMVメニューを表示するにあたって、ビルドインメディア１０４およびリムーバブルメディアの空き容量(何ブロックか)を一緒に表示するのが望ましい。この際、リムーバブルメディア１００,１０１やビルドインメディア１０４の空き容量よりも大きなタイトルを購入画面でグレイアウトして表示することにより、選択から除外するようにしてもよい。
２）ダウンロード機能
ダウンロード機能について説明する。購入操作を受け付けた場合、BD-Jアプリケーションは購入するコンテンツのBDMVディレクトリとその著作権保護情報を記載しているAACS、Certificateディレクトリをダウンロードして、新しく作成したMoDESTxxディレクトリの下に記録する。
【０１１５】
この際、Permission Requestファイル(DVB-MHPにおけるdvb.persistent.rootにあたるもの)を、各MoDESTxxディレクトリに設定しておく。そしてMoDESTxxディレクトリにおけるPermission Requestファイルに、ファイルの作成/削除機能に対するYES|NOのプロパティを設けておき、当該System PropertyがYesであれば、BD-JアプリがMoDESTRootChange APIで指定された仮想rootディレクトリ以下のファイルを作成/削除できるようにする。
３）削除操作
ユーザによる削除操作は、root/BDMVメニューを介して受け付ける。root/BDMVメニューの表示にあたって、ドライブ/メディア種別/ファイルシステムの種別によって、MoDESTxxディレクトリの削除が可能か否かを前もって識別する。削除が可能であれば、root/BDMVメニューにおいてMoDESTxxディレクトリを削除する操作を受け付けるボタンを表示する。削除可能なMoDEST/BDMVコンテンツの削除が命じられれば、不要となったMoDESTxxディレクトリ以下を削除する。
【０１１６】
以上のように本実施形態によれば、再生装置１０３に、記録装置１０２としての機能をもたせるので、ユーザは自宅にいながら、MoDEST/BDMVコンテンツを購入して視聴を楽しむだけでなく、再生装置１０３のビルドインメディア１０４でライブラリィを構築して、このライブラリィの追加や削除を実行することができる。
【０１１７】
(第３実施形態)
BD-Jアプリケーションにおいて実現するものとしたが、本実施形態は、Movieオブジェクトにおいて変更を実現する。Movieオブジェクトとは、コマンドベースで記述されるプログラムであり、HDMVモードでの各タイトル再生で、再生進行を動的に変化させる。このMovieオブジェクトは、BDMVディレクトリ直下のMovieObject.bdmvにて格納される。
【０１１８】
ムービーモードにおいてルート変更を実現するため、以下のようなコマンド、PSRが規定されている。
・MoDESTRootChangeコマンド
MoDESTRootChangeコマンドは、引数にて指定されたMoDESTxxディレクトリにルートを変更するコマンであり、その内容は、APIと同じである。
【０１１９】
・PSR
PSR(Player Setting Register)は、再生装置１０３の状態設定を示すレジスタであり、ルート変更機能を行うことができるかどうかが、設定されている。このMovieオブジェクトは、実行時において、このPSRを参照し、ルート変更機能を行うことができるのであれば、MoDESTRootChangeコマンドを再生装置１０３に実行させる。
【０１２０】
ルート変更機能をコマンドによって実現する場合、メニューを構成するグラフィクスストリーム内のボタン情報に、MoDESTRootChangeコマンドを組込むことができる。
＜グラフィクスストリーム＞
以下、メニューを構成するグラフィクスストリームについて説明する。
【０１２１】
メニューを構成するグラフィクスストリームは、Interactive Graphics(IG)ストリームと呼ばれる。IGストリームにて定義される対話制御は、DVD再生装置上の対話制御と互換性がある対話制御である。かかるIGストリームは、ICS(Interactive Composition Segment)、PDS(Palette Difinition Segment)、ODS(Object Definition Segment)と呼ばれる機能セグメントからなる。
【０１２２】
ODS(Object Definition Segment)は、ボタンを描画するにあたっての絵柄のグラフィクスを定義するグラフィクスデータである。
PDS(Palette Difinition Segment)は、グラフィクスデータの描画にあたっての、発色を規定する機能セグメントである。
【０１２３】
ICS(Interactive Composition Segment)は、ユーザ操作に応じてボタンの状態を変化させるという対話制御を規定する機能セグメントである。
以下、ICSについて説明する。ICSは、複数のボタン情報からなる。ボタン情報は、対話制御画面における個々のボタンに対応するものである。具体的にいうと、対応するボタンにフォーカスが存在する状態において、移動キーの押下がなされた場合、どのボタンにフォーカス移動を移動させるかを示す『neighbor＿info』と、対応するボタンのノーマル状態、セレクテッド状態といった各状態を、どのODSで表現するかを示す『state＿info』と、対応ボタンの確定時において、再生装置に実行させるべき『ナビゲーションコマンド』とからなる。
【０１２４】
MoDESTRootChangeコマンドを、ボタン情報のナビゲーションコマンドとしてボタン情報に組み込んでおけば、Interactive Graphicsストリームによって描画されたメニューの確定操作に応じて、ルート変更機能コマンドを再生装置に実行させることができる。
【０１２５】
以上のように本実施形態によれば、ムービーモードにおいても、ルート変更機能を実現することができ、また、ルート変更機能を再生装置に行わせるコマンドを、Interactive Graphicsストリームに組込んでおくことができる。
【０１２６】
（第４実施形態)
本実施形態では、MoDESTコンテンツのためのオーサリングを実行するオーサリングシステムについて説明する。
【０１２７】
オーサリングシステムは、映画コンテンツの頒布のために制作スタジオに設置され、オーサリングスタッフの使用に供される。オーサリングスタッフからの操作に従い、MPEG規格に従い圧縮符号化されたデジタルストリーム及びどのように映画タイトルを再生するかを記したシナリオを生成し、これらのデータを含むBD-ROM向けのボリュームイメージを生成する。
【０１２８】
図１２は、オーサリングシステムの内部構成を示す図である。本図に示すように本発明にかかる記録装置は、素材制作部２０１、シナリオ生成部２０２、BD-J制作部２０３、多重化処理部２０４、フォーマット処理部２０５、BD-ROMコンテンツ格納部２０６、MoDEST制作部２０７、MoDEST/BDMVコンテンツ格納部２０８により構成される。
【０１２９】
＜素材制作部２０１＞
素材制作部２０１は、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックストリームなどの各ストリームを作成する。素材制作部２０１は、非圧縮のビットマップなどの画像イメージをMPEG４-AVCやMPEG２などの圧縮方式に従い符号化することでビデオストリームを作成する。また素材制作部２０１は、非圧縮のLinearPCM音声などをAC３などの圧縮方式に従い符号化することでオーディオストリームを作成する。素材制作部２０１は、字幕イメージと表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、BD-ROM規格に準拠した字幕ストリームのフォーマットであるプレゼンテーショングラフィックスストリームを作成する。素材制作部２０１は、メニューに使うビットマップイメージと、メニューに配置されるボタンの遷移や表示効果を記載したメニューファイルを元にして、BD-ROM規格に準拠したメニュー画面のフォーマットであるインタラクティブグラフィックスストリームを作成する。
【０１３０】
＜シナリオ生成部２０２＞
シナリオ生成部２０２は、素材制作部２０１で作成した各ストリームの情報や、オーサリングスタッフからのGUIを経由した操作にしたがって、BD-ROM規格に準拠したフォーマットでシナリオを作成する。ここで言うシナリオは、Index.bdmv、MOVIEオブジェクト、プレイリストを格納したファイルがそれにあたる。また、シナリオ生成部２０２は、多重化処理を実現するための各AVClipがどのストリームから構成されるかを記述したパラメータファイルを作成する。
【０１３１】
＜BD-J制作部２０３＞
BD-J制作部２０３は、IDE(IDE : Integrated DevelopmentEnvironment)環境においてJava(登録商標)コードを作成し、そうして得たJava(登録商標)プログラムソースコードをコンパイルした上、JARアーカイブファイルに変換する。
【０１３２】
＜多重化処理部２０４＞
多重化処理部２０４は、BD-ROMシナリオデータに記述されているビデオ、オーディオ、字幕、ボタンなどの複数のストリームを多重化して、MPEG２-TS形式のAVClipを作成する。このとき、AVClipと対になるClip情報も同時に作成する。
【０１３３】
＜フォーマット処理部２０５＞
フォーマット処理部２０５は、シナリオ生成部２０２で生成したBD-ROMシナリオデータと、BD-J制作部２０３で制作したBD-Jアプリケーション、多重化処理部２０４で生成したAVClipやClip情報ファイルや、BD-ROM規格に準拠したフォーマットでファイルやディレクトリを配置し、BD-ROM規格に準拠したファイルシステムであるUDFのフォーマットでBD-ROMディスクイメージを作成する。生成したBD-ROMディスクイメージをBD-ROMプレス用データに変換し、このデータに対してプレス工程を行うことで、BD-ROMの製造が可能となる。
【０１３４】
＜BD-ROMコンテンツ格納部２０６＞
BD-ROMコンテンツ格納部２０６は、フォーマット処理により得られたBD-ROMディスクイメージを格納する。
【０１３５】
＜MoDEST制作部２０７＞
MoDEST制作部２０７は、トランスコーダとストリーム削除ツールとを含み、BD-ROMをオーサリングした後に、MoDESTコンテンツをオーサリングを行う。具体的には、ストリーム削除ツールは、BD-ROMコンテンツからMoDESTコンテンツへの変換時のエレメンタリストリームの削除を自動で行う。
【０１３６】
＜MoDEST/BDMVコンテンツ格納部２０８＞
MoDEST/BDMVコンテンツ格納部２０８は、MoDEST制作部２０７によって作成されたMoDEST/BDMVコンテンツを格納する。再生制御エンジン２０８に格納されたMoDEST/BDMVコンテンツは、MoDサービス・ESTサービスに供される。
【０１３７】
以上がオーサリングシステムについての説明である。続いて、BD-J制作部２０３の内部構成について説明する。BD-J制作部２０３は、IDクラス作成部２１１、Java(登録商標)プログラミング部２１２、BD-Jオブジェクト作成部２１３、Java(登録商標)インポート部２１４、ID変換部２１５、Java(登録商標)プログラムビルド部２１６から構成される。
１.IDクラス作成部２１１
IDクラス作成部２１１は、タイトル構造情報を利用してIDクラスソースコードを作成する。
【０１３８】
タイトル構造情報とは、木構造を用いて、BD-ROMにおける再生単位の関係、例えば、タイトル、Movieオブジェクト、BD-Jオブジェクト、プレイリスト間の関係を規定する情報である。具体的にいうと、タイトル構造情報は、制作しようとするBD-ROMの「メディア」に対応するノード、そのBD-ROMにおいて、Index.bdmvから再生可能となる「タイトル」に対応するノード、そのタイトルを構成する「Movieオブジェクト及びBD-Jオブジェクト」に対応するノード、当該Movieオブジェクト及びBD-Jオブジェクトから再生される「プレイリスト」のノードを規定して、これらノードを、エッジ(辺)で結び付けることで、タイトル、Movieオブジェクト、BD-Jオブジェクト、プレイリスト間の関係を規定する。タイトル構造情報においてプレイリストは、00001.mpls,00002.mplsというような、実際のBD-ROMへの記録時に利用される、具体的なファイル名ではなく、MainPlaylist,MenuPlaylistというような、抽象的な名称で記載される。これは、BD-ROM向けのデータと、DVD-Video向けのデータとを同時に作成する場合、かかる再生単位の構造は、抽象的に表現されていることが望ましいからである。
IDクラスソースコードとは、Java(登録商標)プログラムが最終的に作成されるIndex.bdmvやPlayList情報にアクセスするためのJava(登録商標)クラスライブラリのソースコードである。IDクラスソースコードは、プレイリスト番号を指定することでリムーバブルメディアから所定のプレイリストファイルを読み込むコンストラクタをもち、このコンストラクタを実行して作成したインスタンスを利用することでAVClipの再生等が実現される。IDクラスライブラリの変数名は、MainPlaylist,MenuPlaylistのように、タイトル構造情報で定義されるプレイリストノードの名前を用いて定義される。このとき用いるプレイリスト番号は、ダミーの番号である。
【０１３９】
２.Java(登録商標)プログラミング部２１２
Java(登録商標)プログラミング部２１２は、GUI等のユーザインターフェースを通じて、ユーザからの編集操作に従って、Java(登録商標)プログラムのソースコードを作成する。このJava(登録商標)プログラムソースコードは、BD-Jアプリケーションの元になるのだが、かかるJava(登録商標)プログラムを、BD-Jアプリケーションとして作成するには、Index.bdmv、プレイリストといった、BD-ROM特有の情報を参照せねばならない。これら、BD-ROM特有の情報に関する参照部分の記述には、上述したようなIDクラスライブラリが用いられる。そして、FirstPlayBackタイトルを構成するBD-Jアプリケーションの記述にあたっては、MoDESTRootChangeAPIやMoDESTRootChangeSystemPropertyを用いて、ルート変更機能を再生装置に実行させるよう、BD-Jアプリケーションの記述を行う。
【０１４０】
３.BD-Jオブジェクト作成部２１３
BD-Jオブジェクト作成部２１３は、Java(登録商標)プログラミング部２１２で作成したJava(登録商標)プログラムソースコードと、IDクラスソースコードとを元に、BD-Jオブジェクト生成情報を作成する。BD-Jオブジェクト生成情報とは、最終的にBD-ROMに記録されるべきBD-Jオブジェクトの雛形となる情報であり、再生すべきプレイリストを、00001.mpls,00002.mplsというような具体的なファイル名ではなく、IDクラスライブラリで定義された変数名を用いて、指定している。
【０１４１】
４.Java(登録商標)インポート部２１４
Java(登録商標)インポート部２１４は、BD-Jオブジェクト作成部２１３によって作成されたJava(登録商標)プログラムソースコード、IDクラスソースコード、BD-Jオブジェクト生成情報をインポートする。Java(登録商標)インポート部２１４は、タイトル構造情報を利用し、インポートすべきJava(登録商標)プログラムソースコード、IDクラスソースコード、BD-Jオブジェクト生成情報と、それらのコード及び情報がどのBD-Jオブジェクトに対応するのかの関連付けを行い、タイトル構造情報のBD-JオブジェクトノードのBD-Jオブジェクト生成情報を設定する。
【０１４２】
５.ID変換部２１５
ID変換部２１５は、Java(登録商標)インポート部２１４によって、インポートされたIDクラスソースコードを、タイトル番号、プレイリスト番号に変換する。また、ID変換部２１５は、BD-Jオブジェクト生成情報についても、BD-Jオブジェクト内で定義されるプレイリスト名が、実際のリムーバブルメディア上のプレイリスト番号と一致するよう変換する。
【０１４３】
６.Java(登録商標)プログラムビルド部２１６
Java(登録商標)プログラムビルド部２１６は、ID変換部２１５によって変換されたIDクラスソースコードと、Java(登録商標)プログラムソースコードとに対してコンパイル処理を行って、BD-Jオブジェクト、及び、BD-Jアプリケーションを出力する。ここで出力されるBD-Jアプリケーションは、JARアーカイブファイルの形式になっている。
【０１４４】
以上が再生制御エンジン２０４についての説明である。
図１３は、BD-ROMディスクイメージ及びMoDEST/BDMVコンテンツの作成手順を示すフローチャートである。
【０１４５】
ステップS３１において、素材制作部２０１はビデオストリーム、オーディオストリーム、IGストリーム、PGストリームを生成する。
ステップS３２において、シナリオ生成部２０２は、index.bdmv、MOVIEオブジェクト、プレイリスト情報などの再生シナリオを記述するBD-ROMシナリオデータを作成する。
【０１４６】
ステップS３３において、BD-J制作部２０３は、BD-ROMコンテンツと、MoDEST/BDMVコンテンツとで兼用が可能なBD-Jアプリケーションを作成する。
ステップS３４において、多重化処理部２０４はBD-ROMシナリオデータを元にAVClipとClip情報ファイルを作成する。
【０１４７】
ステップS３５において、フォーマット処理部２０７は、BD-ROMシナリオデータ、変形AVClip、Clip情報ファイル、復元バイトコードデータを、BD-ROM規格のファイル・ディレクトリ構造に並び替え、BD-ROM規格準拠のBD-ROMディスクイメージを作成する。
【０１４８】
ステップＳ３６において、BD-ROMディスクイメージを用いて、BD-ROMの生産を行い、BD-ROMを用いた映画作品の配給を実行する。
ステップＳ３７において、BD-ROMディスクイメージを元に、MoDEST/BDMVコンテンツのボリュームイメージを作成する。
【０１４９】
ステップＳ３８において、MoDEST/BDMVコンテンツを用いた、MoDEST/BDMVコンテンツによる映画作品の配給を実行する。
＜BD-Jアプリケーションの作成＞
MoDEST/BDMVコンテンツでの利用を踏まえて、BD-ROMディスクイメージのオーサリングを行うには、BD-Jアプリケーションの作成時において、MoDEST/BDMVコンテンツで動作するような制御をBD-Jアプリケーションに組込んでおくのが望ましい。
【０１５０】
具体的にいうと、BD-ROMのメニューにおいてSTOPキーイベントを押下すると、スクリーンセーバの画面に戻る。これに対してMODESTxx/BDMVのメニューでSTOPボタンが押下された際、スクリーンセーバの画面に戻らずにMoDESTRootChangeAPIをコールし、rootディレクトリを元にもどすような処理をBD-Jアプリケーションに組込んでおけば、MoDEST/BDMVコンテンツのコンテンツを作成するにあたっても、BD-ROMディスクイメージからの変更は不要となる。
【０１５１】
本実施形態に係るオーサリングシステムでは、BD-ROMディスクイメージと、MoDEST/BDMVコンテンツとの共通開発を図るために、BD-Jアプリケーションの作成にあたって、Java(登録商標)言語で記述すべき処理手順について説明する。
【０１５２】
図１４は、プレイリストの再生中にSTOPキーが押下された際、実行すべき処理手順を示すフローチャートである。アプリケーションは、プレイリスト情報についてのJMFプレーヤインスタンスの生成を命じることにより、プレイリスト情報の再生を再生装置１０３に行わせる。その後に、図１４のフローチャートに制御が移る。ステップＳ４１はキーイベントが発生したかどうかを判定する判定ステップであり、キーイベントが発生すれば、ステップＳ４２においてSTOPキーイベントであるかどうかを判定する。STOPキーイベントでなければ、その他のキーイベントを処理するためのステップに移行する。STOPキーイベントであれば、ステップＳ４３においてrootディレクトリを引数にして、MoDESTRootChangeAPIをコールする。このMoDESTRootChangeAPIのコールがSUCCESSすれば(ステップＳ４４でYes)、ROOT/BDMVディレクトリにおけるFirstPlayBackタイトルを再生して、root/BDMVメニューを表示させる(ステップＳ４５)。NoSuchMethodExceptionがあれば、スクリーンセーバの画面を表示させる(ステップＳ４６)。
【０１５３】
以上のSTOPキーのキーイベントをキャッチして、MoDESTRootChangeAPIをコールするとの簡単なセンテンスをアプリケーションに一行追加するだけで、プレイリストの再生停止時にroot/BDMVメニューに戻るという処理を再生装置１０３に実行させることができる。BD-ROMを作成する際のオーサリング時にかかるセンテンスをBD-Jアプリケーションに追加しておけば、BD-ROMコンテンツに基づきMoDEST/BDMVコンテンツを作成するにあたってのFirstPlayBackタイトルを構成するBD-Jアプリケーションの変更は、一切不要となる。
【０１５４】
尚、BD-ROM用のroot/BDMVメニューと、MoD/EST用のMoDESTxx/BDMVメニューとがマージされてオーサリングされてもよい。このためには、カレントとなっているディレクトリのファイルパスをBD-Jアプリケーションに取得させるためのAPI(GetCurrentPath)が追加で必要であり、かかるAPIをコールすることで、root/BDMVメニュー、MoDESTxx/BDMVメニューの何れかを利用する。この際、STOP長押し、連続押しなどでroot/BDMVに戻る。
(本実施形態の応用例)
ユーザが、自身のPCを、記録装置１０２bとして利用する場合、MoDサービス・ESTサービスにおいて購入したMoDEST/BDMVコンテンツと共に、BD-J制作部２０３を構成する一連をソフトウェア構成要素を記録装置１０２bであるPCにダウンロードしてもよい。かかるソフトウェア要素を、ユーザが所有するPCにインストールすることにより、ユーザは、自身が所するPCをオーサリング装置として利用することができ、BD-Jアプリケーションを作成することができる。
【０１５５】
この場合ユーザは、MoDEST/BDMVコンテンツと共に配信されるFirstPlayBackタイトルを構成するBD-Jアプリケーションを、自分の好みに応じて作り替えることで、個人的なライブラリィ専用のroot/BDMVメニューで、購入したMoDEST/BDMVコンテンツを楽しむことができる。
【０１５６】
BD-J制作部２０３を構成する一連をソフトウェア構成要素をユーザに供与する際、ユーザが自作したrootメニューを使用した購入を促すため、rootメニューの表示時に、プロバイダは、期間限定のサービスが提供するのが望ましい。
(第５実施形態)
本実施形態では、MoDESTxxディレクトリの内部構成と、このMoDESTxxディレクトリのデータ・ファイル構造を前提した仮想パッケージの構築処理とについて説明する。
【０１５７】
図１５は、MoDESTxxディレクトリ配下のディレクトリ・ファイル構成を示す図である。
MoDESTxxディレクトリ直下には、bd.certファイルと、BDMVディレクトリとが置かれている。
【０１５８】
bd.cert（ファイル名固定）は、BUDAコンテンツをBD-ROMコンテンツ、又は、BD-ROMに対応するMoDEST/BDMVコンテンツと組み合わせる際に、署名検証に用いられる証明書（以下、マージ証明書）である。マージ証明書とは、BD-ROMにおけるマージ管理情報を格納したファイル(マージ管理情報ファイル)の認証に利用する証明書であり、プロバイダが公開する公開鍵を含む。マージ証明書のファイル形式は、例えば、X.５０９を利用することができる。X.５０９の詳細な仕様は、国際電信電話諮問委員会より発行されている、CCITT Recommendation X.509 (1988), "The Directory - Authentication Framework"に記載されている。本図における引き出し線f1は、bd.certファイルの用途を示している。この引き出し線に示すように、bd.certファイルは、証明書固有のID(CertIDと呼ばれる)を導きだすという用途に用いられる。
【０１５９】
BDMVディレクトリの配下には、「PLAYLISTディレクトリ」、「CLIPINFディレクトリ」、「STREAMディレクトリ」、「BDJOディレクトリ」、「JARディレクトリ」と呼ばれる５つのサブディレクトリが存在し、BDMVディレクトリには、index.bdmv，MovieObject.bdmvの２種類のファイルが配置されている。「CLIPINFディレクトリ」、「STREAMディレクトリ」、「BDJOディレクトリ」については、第１実施形態で説明済みであるから、残りのディレクトリ及びファイルについて説明する。
＜index.bdmv＞
index.bdmvは、MoDESTxx/BDMVディレクトリ全体に関する管理情報であり、MoDESTxx/BDMVディレクトリがルートディレクトリとして認識された後に、index.bdmvがMoDESTxx/BDMVディレクトリから最初に読み出されることで、再生装置においてMoDESTxx/BDMVディレクトリにおけるコンテンツが一意に認識される。引出し線f4は、Index.bdmvの構成をクローズアップしている。第１実施形態で述べたように、index.bdmv には、MoDESTxx/BDMVディレクトリがrootディレクトリとして再認識された際、最初に再生すべきFirstPlayBackタイトルを構成するBD-Jオブジェクトがどれであるかが記述されている。その他、映画作品のプロバイダを特定する識別子であるorganizationID(32ビット)や、プロバイダが提供するBD-ROMのそれぞれに割り当てられた識別子であるdiscID(128ビット)等の情報を持つ。MoDサービス・ESTサービスにおいてBD-ROMコンテンツを配給する場合、このdiscIDには、BD-ROMで映画作品を配給する際、BD-ROMに使用されていたものと同じものを用いる。
＜JARディレクトリ＞
MoDESTxx/BDMVディレクトリ配下のJARディレクトリには、拡張子jarが付与されたファイル(xxxxx.jar[“xxxxx”は可変、拡張子”jar”は固定])が存在する。
【０１６０】
拡張子”jar”が付与されたファイルは、Java(登録商標)アーカイブファイルであり、MoDEST/BDMVコンテンツにおいてFirstPlayBackタイトルを構成するアプリケーションが格納されているものとする。かかるアプリケーションは、MoDESTxx/BDMVディレクトリと、BUDAディレクトリとを組み合わせた仮想パッケージの構築を行う。
＜BDJOディレクトリ＞
MoDESTxx/BDMVディレクトリ配下のBDJOディレクトリには、拡張子bdjoが付与されたファイル(xxxxx.bdjo[“xxxxx”は可変、拡張子”bdjo”は固定])が存在する。MoDESTxx/BDMVディレクトリにおけるJava(登録商標)アプリケーションを、BD-Jアプリケーションとして動作させるためのBDJオブジェクトが、本ディレクトリに格納される。
【０１６１】
以上が、MoDESTxxディレクトリのディレクトリ及びファイルについての説明である。続いて、再生装置１０３の詳細について、説明する。
図１６は、再生装置１０３の機能構成を示すブロック図である。本図に示すように、再生装置１０３は、BDドライブ２０、ネットワークインターフェース２１、ローカルストレージ２２、仮想ファイルシステム２３、静的シナリオメモリ２６、動的シナリオメモリ２７、HDMVモジュール２８、BD-Jプラットフォーム２９、UO探知モジュール３０、モード管理モジュール３１、ルート変更部３２から構成される。本再生装置１０３は、オペレーティングシステムシステムとしてLinuxを採用しており、本再生装置１０３のハードウェア及びソフトウェアは、このLinuxを通じて制御される。本実施形態にかかる再生装置１０３は、CPU、ROM、RAM、ドライブ、AVデコーダ、入出力機器等を具備したコンピュータシステムに、Java(登録商標)2Micro＿Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装することでJava(登録商標)プラットフォームを構成し、以下に示す機能的な構成要素をこのJava(登録商標)プラットフォームに設けることで工業的に生産することができる。
（BDドライブ２０）
BDドライブ２０は、BD-ROM,BD-RE,BD-Rのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。本BD-ROM再生装置１０３は、オペレーションシステムとしてLinuxを採用しているので、“/mount point BD/BDMV”とのコマンドを発行することにより、BDドライブ２０に、BDMVディレクトリを割り当てる。
【０１６２】
（ネットワークインターフェース２１）
ネットワークインターフェース２１は、ネットワーク接続のためのプロトコルスタックを実行するものであり、ネットワーク上のサーバコンピュータが具備しているドライブを、ネットワークドライブとして、再生装置１０３に認識させる。そして、ネットワークドライブからデータをダウンロードしたり、データをアップロードすることができる。このネットワークインターフェイス２１は、インターネット上に公開されたBUDAコンテンツのダウンロードに用いられる。
【０１６３】
（ローカルストレージ２２）
ローカルストレージ２２は、半導体メモリカードであるリムーバブルメディア１０１をアクセスするためのドライブ２２aと、ビルドインメディア１０４をアクセスするためのドライブ２２bとからなり、特典コンテンツの保存に用いられる。特典コンテンツの保存領域であるBUDAディレクトリはBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。ダウンロードした特典コンテンツをどのようにBD-ROM上のデータと組合せるか(マージするか)を示す規則、つまりマージ規則が記載されたマージ管理情報も、このリムーバブルメディア１００,１０１、ビルドインメディア１０４に保存される。
【０１６４】
本BD-ROM再生装置１０３は、オペレーションシステムとしてLinuxを採用しているので、リムーバブルメディアドライブ２２bがSDメモリカードドライブであり、本ドライブに“SD”というドライブ名が割り当てられている場合、“/mount point SD/BUDA”とのコマンドを発行することにより、リムーバブルメディア１０１に対応するSDドライブに、BUDAコンテンツを格納するためのディレクトリ(BUDAディレクトリ)を割り当てることができる。同様にビルドインメディアをアクセスするためのドライブに、BUDAディレクトリを割り当てることもできる。こうすることで、仮想パッケージの構築にあたって、BUDAコンテンツの格納のためのBUDAディレクトリの配置場所を自在に変化させることができる。
【０１６５】
（仮想ファイルシステム２３）
仮想ファイルシステム２３は、特典コンテンツと共に、リムーバブルメディア１００,１０１、ビルドインメディア１０４に記録されたマージ管理情報を元に、ビルドインメディア１０４、もしくは、リムーバブルメディアに格納された特典コンテンツとBD-ROM上のコンテンツとをマージさせた仮想的なBD-ROM（仮想パッケージ）を構築する。HDMVモジュール２８やBD-Jプラットフォーム２９からは、VFSを通じることで、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置１０３はBD-ROM上のデータとビルドインメディア１０４もしくはリムーバブルメディア上のデータの両方を用いて再生制御を行うことになる。
【０１６６】
（AV再生部２４）
AV再生部２４は、リムーバブルメディア１００,１０１、ビルドインメディア１０４に記録されたAVストリームの再生を、プレイリスト情報、Clip情報に基づいて実行する。
【０１６７】
（AV再生ライブラリ２５）
AV再生ライブラリ２５は、HDMVモジュール２８、BD-Jプラットフォーム２９からの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、字幕切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をプレイリスト情報に従って行うことをいう。
【０１６８】
（静的シナリオメモリ２６）
静的シナリオメモリ２６は、カレントPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMまたは、リムーバブルメディア１００,１０１、ビルドインメディア１０４に記録されている複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMまたは、リムーバブルメディア１００,１０１、ビルドインメディア１０４に記録されている複数のClip情報のうち、現在処理対象になっているものをいう。
【０１６９】
（動的シナリオメモリ２７）
動的シナリオメモリ２７は、カレント動的シナリオを格納しておき、HDMVモジュール２８、BD-Jプラットフォーム２９による処理に供するメモリである。カレント動的シナリオとは、BD-ROMまたは、リムーバブルメディア１００,１０１、ビルドインメディア１０４に記録されているMovieオブジェクト,BD-Jオブジェクトのうち、現在実行対象になっているものをいう。
【０１７０】
（HDMVモジュール２８）
HDMVモジュール２８は、HDMVモードの実行主体となるDVD仮想プレーヤであり、動的シナリオメモリ２７に読み出されたMovieオブジェクトを実行する。
【０１７１】
（BD-Jプラットフォーム２９）
BD-Jプラットフォーム２９は、Java(登録商標)プラットフォームであり、Java(登録商標)仮想マシン、コンフィグレーション、プロファイルからなる。BD-Jプラットフォーム２９は、動的シナリオメモリ２７に読み出されたJava(登録商標)クラスファイルからJava(登録商標)バイトコードを生成することによりカレントのJava(登録商標)オブジェクトを生成し、実行する。Java(登録商標)仮想マシンは、Java(登録商標)言語で記述されたJava(登録商標)オブジェクトを、再生装置１０３におけるCPUのネィティブコードに変換して、CPUに実行させる。
【０１７２】
（UO探知モジュール３０）
UO探知モジュール３０は、リモコンや再生装置１０３のフロントパネルといった入力機器に対してなされたユーザ操作を検知して、モード管理モジュール３１に通知する。この通知は、これらの入力機器に対応するデバイスドライバ内の割込みハンドラが発生する割込みに従い、UO（User  Operation）を生成して、モード管理モジュール３１に出力することでなされる。UOとは、リモコンやフロントパネルに設けられたキーマトッリクスによるキー押下を検知した際、発生するイベント(UOイベント)であり、押下されたキーに対応したキーコードを含んでいる。具体的には、リモコンやフロントパネルに対応するデバイスドライバの割込みハンドルが、キーマトリックスに対するキーセンスでキー押下を検出した際、そのキー押下に基づき割込み信号を発生することで、UOイベントは、生成される。
【０１７３】
（モード管理モジュール３１）
モード管理モジュール３１は、BD-ROMまたは、リムーバブルメディア１００,１０１、ビルドインメディア１０４から読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モード管理モジュール３１によるモード管理とは、動的シナリオをどのHDMVモジュール２８、BD-Jプラットフォーム２９に実行させるかという、モジュールの割り当てである。
【０１７４】
(ルート変更部３２)
ルート変更部３２は、UNIX(登録商標)等のファイルシステムにおけるマウントの操作を応用することにより、MoDESTRootChangeAPIのコールに応じてルート変更機能を実行する。ここで、UNIX(登録商標)等のファイルシステムにおけるマウントの操作とは、計算機B（クライアント）のファイルシステムにより管理されるディレクトリXに、他の計算機A（サーバ）のファイルシステムにより管理されるディレクトリUを組み込むという操作を指す。この操作を行うと、計算機B上のアプリケーションが計算機AのディレクトリUをアクセスする場合、ディレクトリXを指定すればよく、計算機AのディレクトリUをアプリケーションが指定する必要はない。これを応用してルート変更部３２は、リムーバブルメディアにおけるrootディレクトを“マウント先のディレクトリX”に設定し、MoDEST直下のBDMVディレクトリを“マウント元のディレクトリU”に設定したマウントの操作をリアルタイムOSのカーネルに命じる。そうすると、OSで管理されているディレクトリ・ファイルの管理情報のうち、MoDESTxxディレクトリについての管理情報は、rootディレクトリの管理情報の直下におかれることになる。以上のようなマウント操作によって、ルート変更機能を実現する。
【０１７５】
このマウント操作は、ファイルコントロールブロックを操作することによりなされる。ファイルコントロールブロックとは、リアルタイムOSが使用するシステム領域のうち、ディレクトリ及びファイルの構造を示す情報(ディレクトリ・ファイル情報)が格納されている領域である。このファイルコントロールブロックに存在するディレクトリ・ファイル情報にて示されるディレクトリ・ファイルが、リムーバブルメディア１００,１０１に存在すると認識されるので、ルート変更機能の実行にあたってルート変更部３２は、ファイルコントロールブロックに存在するディレクトリ・ファイル情報のうち、root/BDMVディレクトリを構成するディレクトリ・ファイルの情報を削除する。その後、MoDESTxx/BDMVディレクトリがROOTディレクトリ直下に存在するように、ファイルコントロールブロックにおけるディレクトリ・ファイル情報を書き換えることにより、MoDESTxx/BDMVディレクトリを、root/BDMVディレクトリに変更する。ルート変更機能の実行にあたって、root/BDMVディレクトリを削除した上で、ルート変更機能を実行するので、root/BDMVディレクトリにて識別されるBDMVディレクトリが唯一つになる。一方、MoDESTxx/BDMVディレクトリの再生が終了して、仮想的なrootディレクトリの設定を解除する場合、リムーバブルメディア１００,１０１からディレクトリ・ファイル情報を読み出して、ファイルコントロールブロックに格納し直す。以上のようなディレクトリ・ファイル情報の書き換えにより、ルート変更機能は実行されることになる。
(リムーバブルメディア１００,１０１、ビルドインメディア１０４のファイルシステム構成)
続いて、BUDAコンテンツを格納するためのリムーバブルメディア１００,１０１、ビルドインメディア１０４のファイルシステムについて説明する。
【０１７６】
図１７は、BUDAディレクトリのディレクトリ構成を示す図である。リムーバブルメディア１００,１０１、ビルドインメディア１０４上には、特典コンテンツの格納領域であるBUDAディレクトリ、CertIDディレクトリ、OrganizationIDディレクトリ、DiscIDディレクトリが存在する。このDiscIDディレクトリには、マージ管理情報ファイル「bumf.xml」、署名情報ファイル「bumf.sf」、特典コンテンツ「00001.mpl」「mo.bdm」「00001.mts」が存在する。
【０１７７】
BUDAディレクトリのルートディレクトリ(BUDAディレクトリ)は、リムーバブルメディア１００,１０１、ビルドインメディア１０４のルートディレクトリの直下に存在する。
「CertIDディレクトリ」はBD-ROM上のマージ証明書(bd.cert)から導き出されるIDを名前に持つディレクトリで、マージ証明書のSHA-1ダイジェスト値160ビットのうち、先頭32ビットを16進表記で表した８文字の名前のディレクトリである。
【０１７８】
「OrganizationIDディレクトリ」は、BD-ROM上のBD管理情報(index.bdmv)に記載されている、映画作品のプロバイダを特定する32ビットの識別子(OrganizationID)を16進表記で表した８文字の名前のディレクトリである。
【０１７９】
「DiscIDディレクトリ」は、４階層のサブディレクトリからなる。これら４階層のサブディレクトリは、最大８文字のディレクトリ名が付与される。各サブディレクトリには、BD-ROMを特定する128ビットの識別子(DiscID)を先頭から32ビットずつ４分割し、それぞれを16進表記で表した８文字の名前が割り当てられている。このDiscIDは、BD-ROM上のBD管理情報(index.bdmv)に記載されているので、index.bdmvをオープンすることでDiscIDは、取得することができる。例えば、本図における、「12345678」「90abcdef」「12345678」「90abcdef」という4つのディレクトリ名は、「1234567890abcdef1234567890abcdef」という32文字(１２８ビット)のDiscIDを、下位の桁から８文字(３２ビット)ずつ分割することで得られたものである。DiscIDを構成する文字のうち、意味のあるものを省略することなく、DiscIDと、８.３形式との対応を図るので、４階層のサブディレクトリは、DiscIDと厳密に対応がとれたものとなる。
【０１８０】
DiscIDディレクトリの配下には、「マージ管理情報ファイル」、「署名情報ファイル」、「特典コンテンツ」が記録される。これらのファイルは、仮想パッケージ生成の中核を担うものであり、以降、これらのファイルの内容を詳細に説明する。
【０１８１】
「マージ管理情報ファイル」は、リムーバブルメディア１００,１０１、ビルドインメディア１０４上の特典コンテンツのファイルパスと、仮想パッケージにおける別名アクセスのためのファイルパスとの対応付けを示す情報であり、bumf.xmlというファイル名でDiscIDディレクトリに保存される。
【０１８２】
図１８は、マージ管理情報の内部構成を示す図である。本図におけるマージ管理情報では、00001.mpl、mo.bdm、00001.mtsという3つのファイルについて、リムーバブルメディア１００,１０１、ビルドインメディア１０４上のファイルパスと、仮想パッケージ上のファイルパスとの対応付けがなされている。リムーバブルメディア１００,１０１、ビルドインメディア１０４上のファイルパスは、８.３形式に準じている。
【０１８３】
本図におけるファイルパスの記述について具体的に説明する。リムーバブルメディア１００,１０１、ビルドインメディア１０４における“12345abc/12345678/90abcdef/12345678/90abcdef/00001.mpl”という８.３形式のファイルパスには、BDMV/PLAYLIST/00001.mplsという仮想パッケージ上のファイルパスが対応付けられている。この一例は、前図のものに準じており、CertIDディレクトリから特典コンテンツへのパスが明記されている。
【０１８４】
リムーバブルメディア１００,１０１、ビルドインメディア１０４における、“12345abc/12345678/90abcdef/12345678/90abcdef/mo.bdm”という８.３形式のファイルパスには、BDMV/MovieObject.bdmvという仮想パッケージ上のファイルパスが対応付けられている。
【０１８５】
リムーバブルメディア１００,１０１、ビルドインメディア１０４における“12345abc/12345678/90abcdef/12345678/90abcdef/00001.mts”という８.３形式のファイルパスには、BDMV/STREAM/000001.m2tsという仮想パッケージ上のファイルパスが対応付けられている。本図における仮想パッケージにマージすべきファイルは、本来MoDESTxx/BDMVディレクトリに存在するものだが、MoDESTRootChangeAPIによってROOT/BDMVディレクトリに存在するかのように扱われている。
【０１８６】
図１９は、マージ管理情報の内容を元にして、MoDESTxx/BDMVコンテンツと、BUDAコンテンツをマージする様子を示す。
左側はMoDESTxx/BDMVディレクトリ、中側はBUDAディレクトリ、右側は仮想パッケージの内容を示す。マージ管理情報ファイルは、図１９のように設定されているので、リムーバブルメディア１００,１０１、ビルドインメディア１０４における格納内容のうち、BUDAディレクトリ配下の12345abc/12345678/90abcdef/12345678/90abcdefに存在する3つの特典コンテンツ、つまり、mo.bdm、00001.mpl、00001.mtsのそれぞれを、矢印g1,g2,g3に示すように、マージ管理情報ファイルに記述されている仮想パッケージのディレクトリ構成に組み合わせる。以上のような、リムーバブルメディア１００,１０１、ビルドインメディア１０４のファイルを、マージ管理情報ファイルに記述されているディレクトリ構成に組合せることを“マージ”という。
【０１８７】
こうしたマージによって、BUDAディレクトリにおけるmo.bdmは、BDMVディレクトリに存在する“MovieObject.bdmv”という別名のファイル名でアクセスされることになる。
またBUDAディレクトリにおける00001.mplは、BDMVディレクトリ配下のPLAYLISTディレクトリに存在する“00001.mpls”という別名のファイル名でアクセスされることになる。
【０１８８】
00001.mtsは、BDMVディレクトリ配下のSTREAMディレクトリに存在する“00001.m2ts”という別名のファイル名でアクセスされることになる。
上述したような別名アクセスが可能になるので、mo.bdm、00001.mpl、00001.mtsのそれぞれは、BDMVにMovieObject.bdmv、BDMV/PLAYLIST/00001.mpls、BDMV/STREAM/00001.m2tsに存在するものとして扱うことができる。
【０１８９】
「署名情報ファイル」は、マージ管理情報ファイルに対するプロバイダの電子的な署名を示すファイルであり、bumf.sfというファイル名でDiscIDディレクトリに保存される。電子的な署名は、一般的に改竄防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。改竄防止が必要な情報としては、具体的には、特典コンテンツのファイル名や特典コンテンツをビルドインメディア１０４に記録するにあたってのファイルパスが挙げられる。かかるファイルパスはLFN形式であり、マージ管理情報ファイルに記載されているので、マージ管理情報ファイルに記載されたファイルパスに対して、ハッシュ値は算出されることになる。また、本署名情報ファイルでは、BD-ROM上にあるマージ証明書中の公開鍵に対応する秘密鍵を利用して、マージ管理情報ファイルのハッシュ値が暗号化されている。
【０１９０】
図１７に示した２つの特典コンテンツのうち、「00001.mpl」はプレイリスト情報を格納したものであり、「mo.bdm」は、Movieオブジェクトを格納したものである。これら以外にも、BD-ROMにて記録され、ユーザに供給することができるファイルであるなら、BD-ROMに記録されるべき他のファイルを特典コンテンツの対象として選ぶことができる。index.bdmvやClip情報を格納したファイル(拡張子がclpiのファイル)、Java(登録商標)アーカイブファイル(拡張子がJarのファイル)、BD-Jオブジェクトを格納したファイル(拡張子がbdjoのファイル)を、特典コンテンツの対象として選ぶことができる。以上が特典コンテンツについての説明である。
【０１９１】
図２０は、仮想パッケージの構築を行うための処理手順を示すフローチャートである。BD-Jモード用のタイトルが再生され（ステップS６１）、タイトル再生中にBD-Jアプリケーションは仮想パッケージ更新要求を行う（ステップS６２）。
【０１９２】
仮想パッケージ更新要求時に与える引数の値は、マージ管理情報ファイルの位置を示すファイルパス、マージ管理情報ファイルに対応する署名情報ファイルの位置を示すファイルパスである。
【０１９３】
仮想ファイルシステム２３が仮想パッケージ更新要求を受けると、仮想ファイルシステム２３の状態を「更新準備中」とし、指定されたマージ管理情報ファイルが、書き換えられないように、読み取り専用属性に変更する（ステップS６３）。そして、仮想パッケージ更新要求時に指定された署名情報ファイルを用いて、マージ管理情報ファイルの署名検証を行う（ステップS６４）。
【０１９４】
ステップS６４の署名検証に失敗した場合（ステップS６５でNo）、仮想ファイルシステム２３は仮想パッケージ更新要求を中断し、マージ管理情報ファイルの属性を読み取り専用から仮想パッケージ更新要求前の元の属性に戻し、BD-Jアプリケーションに対して、仮想パッケージ更新要求拒否通知イベントを投げる（ステップS６９）。
【０１９５】
ステップS６４の署名検証に成功した場合（ステップS６５でYes）、仮想ファイルシステム２３はマージ管理情報ファイルが参照しているリムーバブルメディア１００,１０１、ビルドインメディア１０４上のファイルの存在チェックを行い、それらのファイルをBD-Jアプリケーションから読み取り専用となるように属性を変更する（ステップS６６）。
【０１９６】
マージ管理情報ファイルから参照されていて仮想パッケージ構築に必要なファイルがリムーバブルメディア１００,１０１、ビルドインメディア１０４上に存在しなかった場合（ステップS６７でNo）、仮想ファイルシステム２３は仮想パッケージ更新処理を中断し、ステップS６３及びステップS６６で属性を変更したファイルを仮想パッケージ更新要求前の元の属性に戻し、BD-Jアプリケーションに対して、仮想パッケージ更新要求拒否通知イベントを投げる（ステップS６９）。
【０１９７】
マージ管理情報ファイルから参照されていて仮想パッケージ構築に必要なファイルがリムーバブルメディア１００,１０１、ビルドインメディア１０４上に全て存在していると確認でき、さらにそれらのファイルの属性をBD-Jアプリケーションから読み取り専用に変更する処理が完了すると（ステップS６７でYes）、マージ管理情報ファイルを元に仮想パッケージを構築する（ステップS６８）。
【０１９８】
仮想パッケージ構築後、旧マージ管理情報ファイルから参照されていたが、マージ管理情報ファイルからは参照されていないリムーバブルメディア１００,１０１、ビルドインメディア１０４上のファイルは読み取り専用属性が解除され、BD-Jアプリケーションから読み書き可能になる。マージ管理情報ファイル及び、マージ管理情報ファイルが参照しているリムーバブルメディア１００,１０１、ビルドインメディア１０４上のファイルに関しては読み取り専用属性のままとなる。
【０１９９】
以上のように本実施形態によれば、MoDESTxx/BDMVディレクトリに存在するファイルを、ファイルパスを用いて指定して仮想パッケージを構築することができるので、仮想パッケージに用いるべきファイルが、ROOT/BDMVディレクトリに存在するか、MoDESTxx/BDMVディレクトリに存在するか応じて、ファイルパスを使い分ける必要はない。よって、オーサリングの負担は軽減される。
(第６実施形態)
本実施形態では、MoDESTxxディレクトリに格納されるAVストリームに、どのようなエレメンタリストリームが多重化されているかについて説明する。
【０２００】
図２１は、MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームを示す図である。MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームは、0x1011のPIDをもつPrimaryビデオストリーム、0x1100から0x111FまでのPIDをもつプライマリオーディオストリーム、0x1200から0x121FまでのPIDをもつ32本のPGストリーム、0x1400から0x141FまでのPIDをもつ32本のIGストリーム、0x1B00から0x1B1FまでのPIDをもつ32本のSecondaryビデオストリームである。
【０２０１】
図２２は、MoDESTxx/BDMVディレクトリに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program＿mapに割り当てられ、0x1001のゾーンはPCRに、0x1011のゾーンはPrimaryビデオストリームに、0x1100から0x111Fまでのゾーンはプライマリオーディオストリームに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1B00から0x1B1FまでのゾーンはIN＿MUX＿Secondaryビデオストリームに割り当てられている。
【０２０２】
以上がMoDESTxx/BDMVディレクトリに記録されるべきAVストリームについての説明である。続いて、BUDAディレクトリに配されるべきAVストリームの詳細について説明する。
図２３は、BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームを示す図である。BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームは、0x1A00から0x1A1FまでのPIDをもつセカンダリオーディオストリーム、0x1B00から0x1B1FまでのPIDをもつ32本のOut＿of＿MUX＿Secondaryビデオストリーム、0x1200から0x121FまでのPIDをもつ32本のPGストリーム、0x1400から0x141FまでのPIDをもつ32本のIGストリームである。この図３６に示したセカンダリビデオストリームのように、プライマリビデオストリームと異なるAVストリームに多重化されるセカンダリビデオストリームを、“Out＿of＿MUX＿セカンダリビデオストリーム”という。またセカンダリビデオストリームに限らず、プライマリビデオストリームと異なるAVストリームに多重化されるエレメンタリストリーム全般を、“Out＿of＿MUXストリーム”という。
【０２０３】
図２４は、BUDAディレクトリに配されるべきAVストリームに多重化されたエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program＿mapに割り当てられ、0x1001のゾーンはPCRに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1A00から0x1A1Fまでのゾーンはセカンダリオーディオストリームに割り当てられている。0x1B00から0x1B1FまでのゾーンはSecondaryビデオストリームに割り当てられている。
＜プライマリビデオストリーム＞
プライマリビデオストリームは、映画作品の本編を構成するストリームであり、720×480フォーマットのSD画像、1920×1080フォーマットのHD画像であるピクチャデータから構成される。ビデオストリームには、VC-1のビデオストリーム、MPEG4-AVCのビデオストリーム、MPEG2-Videoのビデオストリームといった形式が存在する。MPEG4-AVCのビデオストリームでは、IDRピクチャ,Iピクチャ,Pピクチャ,Bピクチャに、PTS、DTSといったタイムスタンプが付され、このピクチャの単位で、再生制御がなされる。このように、PTS、DTSが付されて、再生制御の単位となる、ビデオストリームの一単位を“Video Presentation Unit”という。
【０２０４】
＜セカンダリビデオストリーム＞
セカンダリビデオストリームは、映画作品のコメンタリィ等を構成するストリームであり、このセカンダリビデオストリームの再生映像を、プライマリビデオストリームの再生映像内に合成することで、ピクチャインピクチャが実行される。ビデオストリームには、VC-1のビデオストリーム、MPEG4-AVCのビデオストリーム、MPEG2-Videoのビデオストリームといった形式が存在し、“Video Presentation Unit”をもつ。
【０２０５】
＜プライマリオーディオストリーム＞
プライマリオーディオストリームは、映画作品の主音声を表すストリームであり、LPCMオーディオストリーム、DTS-HDオーディオストリーム、DD/DD+オーディオストリームやDD/MLPオーディオストリームといった形式が存在する。オーディオストリームにおけるオーディオフレームに、タイムスタンプが付され、このオーディオフレームの単位で、再生制御がなされる。このように、タイムスタンプが付されて、再生制御の単位となる、オーディオストリームの一単位を“Audio Presentation Unit”という。
＜セカンダリオーディオストリーム＞
MoDESTxx/BDMVディレクトリには記録されていないが、映画作品の副音声を表すようなオーディオストリームである。
＜PGストリーム＞
PGストリームは、言語毎の字幕を構成するグラフィクスストリームであり、英語、日本語、フランス語というように複数言語についてのストリームが存在する。PGストリームは、PCS(Presentation Control Segment)、PDS(Pallet Define Segment)、WDS(Window Define Segment)、ODS(Object Define Segment)という一連の機能セグメントからなる。ODS(Object Define Segment)は、字幕たるグラフィクスオブジェクトを定義する機能セグメントである。
WDS(Window Define Segment)は、画面におけるグラフィクスオブジェクトのビット量を定義する機能セグメントであり、PDS(Pallet Define Segment)は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。PCS(Presentation Control Segment)は、字幕表示におけるページ制御を規定する機能セグメントである。かかるページ制御には、Cut-In/Out、Fade-In/Out、Color Change、Scroll、Wipe-In/Outといったものがあり、PCSによるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。
以上がBUDAディレクトリに記録されるAVストリームの説明である。
【０２０６】
続いて、本実施形態にかかるAV再生部２４の詳細について説明する。
図２５は、AV再生部２４の内部構成を示す図である。AV再生部２４は、本図に示すように、リードバッファ１a,b、ATCカウンタ２a,b、Source Depacketizer２c,d、STCカウンタ３a,c、PID Filter３b,d、Transport Buffer(TB)４a、Elementary Buffer(EB)４c、ビデオデコーダ４d、Re-order Buffer４e、Decoded Picture Buffer４f、ビデオプレーン４g、Transport Buffer(TB)５a、Elementary Buffer(EB)５c、ビデオデコーダ５d、Re-order Buffer５e、Decoded Picture Buffer５f、ビデオプレーン５g、バッファ６a,b、バッファ７a,b、オーディオデコーダ８a,b、ミキサー９a、スイッチ１０a,b,c,d,e、Transport Buffer(TB)１１a、Interactive Graphicsデコーダ１１b、Interactive Graphicsプレーン１１c、Transport Buffer(TB)１３a、Presentation Graphicsデコーダ１３ｂ、Presentation Graphicsプレーン １３cから構成される。尚本図では、再生装置１０３の出力段については、示していない。出力段については、別図に内部構成を示して説明することにする。
【０２０７】
リードバッファ(RB)１aは、MoDESTxx/BDMVディレクトリから読み出されたSourceパケット列を蓄積する。
リードバッファ(RB)１bは、BUDAディレクトリから読み出されたSourceパケット列を蓄積する。
【０２０８】
ATC Counter２aは、MoDESTxx/BDMVディレクトリにおけるAVストリームを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ２aにATCを出力してゆく。
【０２０９】
ATC Counter２bは、BUDAディレクトリにおけるAVストリームを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ２bにATCを出力してゆく。
【０２１０】
ソースデパケッタイザ(Source De-packetizer)２cは、MoDESTxx/BDMVディレクトリにおけるAVストリームを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、ATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter２aが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS＿Recording＿Rateで、そのTSパケットだけをPID Filter３aに転送する。
【０２１１】
ソースデパケッタイザ(Source De-packetizer)２dは、BUDAディレクトリにおけるAVストリームを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、各TSパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter２bが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS＿Recording＿Rateで、そのTSパケットだけをPID Filter３bに転送する。
【０２１２】
STC Counter３aは、MoDESTxx/BDMVディレクトリにおけるAVストリームのPCRによってリセットされ、STCを出力する。PIDフィルタ３aは、このSTCを参照して、多重分離を行う。  PID Filter３bは、MoDESTxx/BDMVディレクトリにおけるAVストリーム用の多重分離部であり、ソースデパケッタイザ２aから出力されたSourceパケットのうち、所望のPID参照値をもつものを、夫々オーディオデコーダ８b、Interactive Graphicsデコーダ１１b、Presentation Graphicsデコーダ１３bに出力する。このようにPID Filter３aを通過して各デコーダに入力されるエレメンタリストリームは、MoDESTxx/BDMVディレクトリにおけるAVストリームのPCRに従って、デコード及び再生に供されることになる。
STC Counter３cは、BUDAディレクトリにおけるAVストリームのPCRによってリセットされ、STCを出力する。
【０２１３】
PID Filter３dは、BUDAディレクトリにおけるAVストリーム用の多重分離部であり、ソースデパケッタイザ２bから出力されたSourceパケットのうち、所望のPID参照値をもつものを、夫々ビデオデコーダ４d、ビデオデコーダ５d、オーディオデコーダ８a、Interactive Graphicsデコーダ１１b、Presentation Graphicsデコーダ１３bに出力する。各デコーダは、PID Filter３bを経由したエレメンタリストリームを受け取って、BUDAディレクトリにおけるAVストリームのPCRに従いデコードから再生の処理を行う。このようにPID Filter３bを通過して各デコーダに入力されるエレメンタリストリームは、BUDAディレクトリにおけるAVストリームのPCRに従って、デコード及び再生に供されることになる。
【０２１４】
Transport Buffer(TB)４aは、MoDESTxx/BDMVディレクトリにおけるプライマリビデオストリームに帰属するTSパケットがPID Filter３bから出力された際、一旦蓄積されるバッファである。
【０２１５】
Elementary Buffer(EB)４cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)４dは、MoDESTxx/BDMVディレクトリにおけるプライマリビデオを構成する個々のピクチャを所定の復号時刻（DTS）ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン４gに書き込む。
【０２１６】
Re-order Buffer４eは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
Ducoded Picture Buffer４fは、デコーダ４dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
【０２１７】
プライマリビデオプレーン４gは、プライマリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、ビデオプレーン４gは、1920×1080という解像度にあたる画素データを格納している。
【０２１８】
Transport Buffer(TB)５aは、セカンダリビデオストリームに帰属するTSパケットがPID Filter３bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)５cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
【０２１９】
デコーダ(DEC.)５dは、セカンダリビデオを構成する個々のピクチャを所定の復号時刻（DTS）ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン５ｇに書き込む。
【０２２０】
Re-order Buffer５eは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
Ducoded Picture Buffer５fは、デコーダ５dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
【０２２１】
セカンダリビデオプレーン５gは、セカンダリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、セカンダリビデオは、1920×1080という解像度にあたる画素データを格納している。
【０２２２】
バッファ６aは、デマルチプレクサ３aから出力されたTSパケットのうち、プライマリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ８aに供する。
【０２２３】
バッファ６bは、デマルチプレクサ３ｂから出力されたTSパケットのうち、セカンダリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ８bに供する。
【０２２４】
オーディオデコーダ８aは、バッファ６aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりプライマリオーディオストリームにおけるデジタル出力がなされる。
【０２２５】
オーディオデコーダ８bは、バッファ６bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりセカンダリオーディオストリームにおけるデジタル出力がなされる。
【０２２６】
ミキサ９aは、オーディオデコーダ８aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ８bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
【０２２７】
スイッチ１０aは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にセカンダリビデオデコーダ５d側に供給する。
【０２２８】
スイッチ１０bは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にPresentation Graphicsデコーダ１３b側に供給する。
【０２２９】
スイッチ１０cは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にInteractive Graphicsデコーダ１１b側に供給する。
【０２３０】
スイッチ１０dは、デマルチプレクサ３dにより多重分離がなされた、プライマリオーディオストリームを構成するTSパケット、デマルチプレクサ３bにより多重分離がなされたプライマリオーディオストリームを構成するTSパケットのうちどちらをオーディオデコーダ８aに供給するかを切り換えるスイッチである。
【０２３１】
スイッチ１０eは、デマルチプレクサ３dにより多重分離がなされた、セカンダリオーディオストリームを構成するTSパケット、デマルチプレクサ３bにより多重分離がなされたセカンダリオーディオストリームを構成するTSパケットのどちらを、オーディオデコーダ８bに供給するかを切り換えるスイッチである。
【０２３２】
Transport Buffer(TB)１１aは、IGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Interactive Graphics(IG)デコーダ１１bは、MoDESTxx/BDMVディレクトリ又はBUDAディレクトリから読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン１１ｃに書き込む。
【０２３３】
Interactive Graphics(IG)プレーン１１ｃは、IGデコーダ１１bによるデコードで得られた非圧縮グラフィクスを構成する画素データが書き込まれる。
Transport Buffer(TB)１３aは、PGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
【０２３４】
Presentation Graphics(PG)デコーダ１３ｂは、MoDESTxx/BDMVディレクトリ又はBUDAディレクトリから読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン１３ｃに書き込む。PGデコーダ１３ｂによるデコードにより、字幕が画面上に現れることになる。
【０２３５】
Presentation Graphics(PG)プレーン１３ｃは、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
PSRセット１７は、再生装置１０３に内蔵されるレジスタであり、64個のPlayer Setting/Status Register(PSR)と、4096個のGeneral Purpose Register（GPR)とからなる。Player Setting/Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
【０２３６】
以上が、AV再生部２４の内部構成である。続いて、AV再生部２４の出力段の内部構成について説明する。図２６は、再生装置１０３の出力段の構成を示す図である。本図に示すようにAV再生部２４の出力段は、1−α3乗算部１５a、Scalling・Positioning部１５b、α3乗算部１５c、加算部１５d、1−α1乗算部１５e、α1乗算部１５f、加算部１５g、1−α2乗算部１５h、α2乗算部１５i、加算部１５ｊ、HDMI送受信部１６から構成される。
【０２３７】
1−α3乗算部１５aは、ビデオデコーダ４ｇに格納されている非圧縮のデジタルピクチャを構成する画素の揮度に、透過率1-α3を乗じる。
Scalling・Positioning部１５bは、ビデオプレーン５ｇに格納されている非圧縮のデジタルピクチャを拡大・縮小する処理(Scalling)を施し、また配置位置を変更する処理(Positioning)を行う。この拡大・縮小は、メタデータにおけるPiP＿scaleに基づき、配置位置の変更は、メタデータにおけるPiP＿horizontal＿position、PiP＿vertical＿positionに基づく。
【０２３８】
α3乗算部１５cは、Scalling・Positioning部１５bにより、Scalling、Positioningが施された非圧縮のピクチャを構成する画素の揮度に対し、透過率α3を乗じる。
加算部１５dは、α3乗算部１５cにより画素毎に透過率α3が乗じられた非圧縮デジタルピクチャと、1−α3乗算部１５aにより画素毎に透過率1-α3が乗じられた非圧縮デジタルピクチャとを合成して、合成ピクチャを得る。
【０２３９】
1−α1乗算部１５eは、加算部１５dにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α1を乗じる。
α1乗算部１５fは、Presentation Graphicsプレーン１３ｃに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α1を乗じる。
加算部１５gは、1−α1乗算部１５eにより画素毎に透過率1-α1が乗じられた非圧縮デジタルピクチャと、α1乗算部１５fにより画素毎に透過率α1が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。
【０２４０】
1−α2乗算部１５hは、加算部１５gにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α2を乗じる。
α2乗算部１５iは、Interactive Graphicsプレーン１１ｃに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α2を乗じる。
【０２４１】
加算部１５jは、1−α2乗算部１５hにより画素毎に透過率1-α2が乗じられた非圧縮デジタルピクチャと、α2乗算部１５iにより画素毎に透過率α2が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。
HDMI送受信部１６は、HDMI（HDMI:High Definition Multimedia Interface）を介して接続された他の機器から、その機器に関する情報を受信とすると共に、加算部１５jの合成により得られたデジタル非圧縮のビデオを、ミキサー９aにより合成がなされたオーディオデータと共に、HDMIを介して接続された他の機器に送信する。
【０２４２】
仮想パッケージを再生する際、以上したエレメンタリストリームのうち、どれを再生するかによって、BUDAディレクトリを設けるべき記録媒体を変えねばならない。
仮想パッケージとして再生されるべきコンテンツが、ピクチャインピクチャコンテンツであれば、1920×1080フォーマットのHD画像の解像度をもつプライマリビデオストリームと、720×480フォーマットのSD画像の解像度をもつセカンダリビデオストリームとを組合せる必要があるので、MoDESTxx/BDMVディレクトリからの読み出しと、BUDAディレクトリからの読み出しとに、高いバンド幅が必要となる。よって、BUDAディレクトリは、MoDESTxxディレクトリが設けられたリムーバブルメディアとは別の記録媒体上に設けることが望ましい。具体的には、MoDESTxx/BDMVディレクトリがリムーバブルメディア１００,１０１に存在するなら、BUDAディレクトリはビルドインメディア１０４に設けるべきである。リムーバブルメディアがBD-R、BD-REであるなら、BUDAディレクトリは半導体メモリカードに設けてもよい。
【０２４３】
同様に、仮想パッケージとして再生されるべきコンテンツが、立体視映像コンテンツであれば、1920×1080フォーマットのHD画像の解像度をもつ左目用のプライマリビデオストリームと、1920×1080フォーマットのHD画像の解像度をもつ右目用のセカンダリビデオストリームとを組合せる必要があるので、MoDESTxx/BDMVディレクトリからの読み出しと、BUDAディレクトリからの読み出しとに、更に高いバンド幅が必要となる。よって、BUDAディレクトリは、MoDESTxx/BDMVディレクトリが存在するリムーバブルメディア１００,１０１とは別の記録媒体、つまり、ビルドインメディア１０４に設けることが望ましい。
【０２４４】
ところが、仮想パッケージとして再生されるべきコンテンツが、MoDESTxx/BDMVディレクトリのAVストリームに、BUDAディレクトリにおけるPresentation Graphicsストリーム、Interactive Graphicsストリーム、セカンダリオーディオストリームを組み合わせるというものであるなら、それ程高いバンド幅は必要とされないので、MoDESTxxディレクトリが存在するリムーバブルメディア上にBUDAディレクトリを設けてもよい。
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
尚、上記の説明は一例に過ぎず、当該技術者にとっては、様々な応用が適用できる。
【０２４５】
(プログラミング言語の適用範囲)
上記実施形態では、仮想マシンのプログラミング言語としてJava(登録商標)を利用したが、Java(登録商標)ではなく、UNIX(登録商標) OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。
（記録装置によるリアルタイムレコーディング）
記録装置１０２が、家庭用のBDレコーダやBDカムコーダ、デジタルカメラである場合、記録装置１０２がリアルタイムレコーディングを行うことで、root/BDMVディレクトリ、MoDESTxx/BDMVディレクトリを記録してもよい。この際、AVストリームは、アナログ入力信号を記録装置がセルフエンコードすることにより得られたトランスポートストリームであってもよいし、記録装置がデジタル入力したトランスポートストリームをパーシャル化することで得られるトランスポートストリームであってもよい。
【０２４６】
リアルタイムレコーディングにあたって記録装置は、AVストリームの記録と共に、メモリ上でClip情報やプレイリスト情報を生成する処理を行うが、この際、上述した各実施形態に記載したClip情報、プレイリスト情報をメモリ上で生成する。そしてAVストリームの記録を終えた後、生成されたClip情報、プレイリスト情報を記録媒体に書き込む。こうすることで、オーサリングシステムを用いずとも、家庭用の記録装置や、記録装置としての機能を具備したパーソナルコンピュータにて、各実施形態に示したClip情報、プレイリスト情報を作成することができる。そうして作成されたAVストリーム、Clip情報、プレイリスト情報を、ライトワンス型の記録媒体に書き込んでもよい。
【０２４７】
(AV再生の対象)
AV再生の対象は、デジタルストリーム、マップ情報、プレイリスト情報から構成されるコンテンツであるなら、BD-ROMに規定されたものに限らない。デジタルストリームは、MPEG2,MPEG4-AVC等の符号化方式で符号化されたビデオストリーム、オーディオストリームを多重化することで、得られた多重化ストリームであり、DVD Video-Recording規格ではVOBと呼ばれる。
【０２４８】
マップ情報は、上述したビデオストリームにおけるアクセスユニット(独立復号可能な再生単位をいう)のアドレス情報と、ビデオストリームの再生時間軸における再生時刻との対応を示す情報であり、DVD Video-Recording規格ではTime Mapと呼ばれる。
【０２４９】
プレイリスト情報は、開始点たる時刻情報と、終了点たる時刻情報との組みにより、1つ以上の再生区間を定義する情報である。
(制御手順の実現)
各実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
【０２５０】
・FirstPlayBackタイトルを構成するスタートアッププログラムの生産形態
FirstPlayBackタイトルを構成するスタートアッププログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。この際、MoDESTRootChangeAPIコールやSystemPropertyを使用する。
【０２５１】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【０２５２】
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、FirstPlayBackタイトルを構成するスタートアッププログラムを作ることができる。
(システムLSI化)
再生装置１０３を構成するハードウェアのうち、機構的な構成要素(BDドライブ、リムーバブルメディアドライブ、ビルドインメディアドライブ)、大容量のメモリによって実装される構成要素(ビデオプレーン、グラフィクスプレーン)を除いた、論理素子を主要部とする部分を、1つのシステムLSIとして構成することが望ましい。何故なら、論理素子を主要部とする部分は、高密度に集積化することができるからである。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
【０２５３】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【０２５４】
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置１０３の中核としての役割を果たす。
【０２５５】
かかるシステムLSIは、再生装置１０３は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
【０２５６】
エレメンタバッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
【０２５７】
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
【０２５８】
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
【０２５９】
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
【０２６０】
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリムーバブルメディアドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
【０２６１】
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
【０２６２】
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
【０２６３】
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
【０２６４】
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
【０２６５】
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
【０２６６】
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置１０３の内部構成図を基に作ることができる。
【０２６７】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。
【産業上の利用可能性】
【０２６８】
本発明は、コンテンツの個別販売サービスをより魅力的に、既存のDVD/BD技術との整合性良く提供できるため、コンテンツ提供側、プレーヤ開発側にとって採用し易い利点がある。
【符号の説明】
【０２６９】
１００,１０１   リムーバブルメディア
１０２a,b   記録装置
１０３    再生装置
１０４    ビルドインメディア
１０５    テレビ
【図１】
0005406044.tif 000002
【図２】
0005406044.tif 000003
【図３】
0005406044.tif 000004
【図４】
0005406044.tif 000005
【図５】
0005406044.tif 000006
【図６】
0005406044.tif 000007
【図７】
0005406044.tif 000008
【図８】
0005406044.tif 000009
【図９】
0005406044.tif 000010
【図１０】
0005406044.tif 000011
【図１１】
0005406044.tif 000012
【図１２】
0005406044.tif 000013
【図１３】
0005406044.tif 000014
【図１４】
0005406044.tif 000015
【図１５】
0005406044.tif 000016
【図１６】
0005406044.tif 000017
【図１７】
0005406044.tif 000018
【図１８】
0005406044.tif 000019
【図１９】
0005406044.tif 000020
【図２０】
0005406044.tif 000021
【図２１】
0005406044.tif 000022
【図２２】
0005406044.tif 000023
【図２３】
0005406044.tif 000024
【図２４】
0005406044.tif 000025
【図２５】
0005406044.tif 000026
【図２６】
0005406044.tif 000027