(57)【要約】【課題】ムービーモード・エンハンスドモードという2つのモードによる再生を実現しつつも、エンハンスドモード用プログラムによる円滑な画面描画を実現することができる記録媒体を提供する。【解決手段】BD-ROMには、AVClipと、複数の再生区間情報(PlayItem)とが記録されている。AVClipは、動画ストリームと、複数のエレメンタリストリームとを多重化したものであり、前記各再生区間情報は、動画ストリームにおける再生開始点及び再生終了点を、各エレメンタリストリームのフィルタリング指定と対応づけて示すPlayable_PID_entriesであり、フィルタリング指定とは、複数エレメンタリストリームのそれぞれの再生が可能であるか不可能であるかの指定である。【選択図】図９
2006191653.tif 000002
【特許請求の範囲】
【請求項１】
デジタルストリームの再生と、アプリケーションの実行とを同時に行う再生装置であって、
ビデオストリームと、グラフィクスストリームとを前記デジタルストリームから、分離する分離手段と、
分離により得られたビデオストリームをデコードするビデオデコーダと、
プレーンメモリと、
分離により得られたグラフィクスストリームをデコードして、非圧縮グラフィクスをプレーンメモリに書き込むグラフィクスデコーダと、
ムービーモードにおいてアプリケーションを実行する第１モジュールと、
仮想マシン向けプログラミング言語の動作モードにおいてアプリケーションを実行する第２モジュールとを備え、
ムービーモードでは、
グラフィクスストリーム内に存在するパレットデータを用いて、プレーンメモリに格納されたインデックスカラーを、輝度及び色差に変換することにより、グラフィクス表示を実現し、
仮想マシン向けプログラミング言語の動作モードでは、
前記第２モジュールが、RGB値を用いて表現された画素を、プレーンメモリに書き込むことにより、グラフィクス表示を実現する。  
ことを特徴とする再生装置。
【請求項２】
デジタルストリームの再生と、アプリケーションの実行とを同時に行う再生装置であって、
ビデオストリームと、グラフィクスストリームとを前記デジタルストリームから、分離する分離手段と、
分離により得られたビデオストリームをデコードするビデオデコーダと、
プレーンメモリと、
分離により得られたグラフィクスストリームをデコードして、非圧縮グラフィクスをプレーンメモリに書き込むグラフィクスデコーダと、
ムービーモードにおいてアプリケーションを実行する第１モジュールと、
仮想マシン向けプログラミング言語の動作モードにおいてアプリケーションを実行する第２モジュールとを備え、
前記ムービーモードでは、
ビデオストリームと多重されたグラフィクスストリームをグラフィクスデコーダに供給するよう分離手段に指示することにより、グラフィクス表示を行い、
仮想マシン向けプログラミング言語の動作モードでは、
ビデオストリームと多重されたグラフィクスストリームをグラフィクスデコーダに供給させず、代わりに第２モジュールが自ら非圧縮グラフィクスをプレーンメモリに書き込むことによりグラフィクス表示を行う
ことを特徴とする再生装置。
【請求項３】
デジタルストリームの再生と、アプリケーションの実行とを同時に行う再生装置であって、
ビデオストリームと、グラフィクスストリームとを前記デジタルストリームから、分離する分離手段と、
分離により得られたビデオストリームをデコードするビデオデコーダと、
プレーンメモリと、
分離により得られたグラフィクスストリームをデコードして、第１ビット幅のインデックス値にて表現された非圧縮グラフィクスをプレーンメモリに書き込むグラフィクスデコーダと、
ムービーモードにおいてアプリケーションを実行する第１モジュールと、
仮想マシン向けプログラミング言語の動作モードにおいてアプリケーションを実行すると共に、第２ビット幅を有するRGB値を用いて表現された非圧縮グラフィクスを、プレーンメモリに書き込む第２モジュールとを備え、
前記プレーンメモリは、
ムービーモードにおいて第１アロケーションになり、仮想マシン向けプログラミング言語の動作モードにおいて第２アロケーションになるメモリであり、
第１アロケーションとは、
第１ビット幅の領域を、縦m個×横n個配置してなるアロケーションであり、
第２アロケーションとは、
第２ビット幅の領域を、縦s個×横t個配置してなるアロケーションである
ことを特徴とする再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、BD-ROM等の再生装置に関し、記録媒体に記録された動画データの再生を、ムービーモード・エンハンスドモードという2つのモードで実行する技術に関する。
【背景技術】
【０００２】
ムービーモード・エンハンスドモードという2つのモードによる再生は、DVDとの互換を守りつつも、DVDとの差別化を図る目的で、BD-ROMの再生装置に導入される技術である。ムービーモードとは、DVDライクな制御を行うプログラムを再生装置に実行させて、DVD互換の再生制御を行う再生モードである。一方エンハンスドモードとは、ムービーモードと同じデジタルストリームを再生させながら、Java（登録商標）プログラム等を実行する再生モードである。図１は、ムービーモード、エンハンスドモードによる画面表示を示す図である。Java（登録商標）プログラムの実行を伴った動画再生は、Java（登録商標）プログラムにより描画されたグラフィックスを動画に合成させ再生させることができる。かかる合成はDVDにはないものなので、かかるエンハンスドモードは、DVDとの差別化の尖兵になり得る。
【０００３】
DVDにおける付加価値の高め方には、以下の特許文献1に記載された先行技術がある。
【特許文献１】特許第2813245号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで字幕やボタンを構成するグラフィクスデータは、動画を構成するビデオストリームと多重化されて一本のトランスポートストリームを構成している。これらを多重化しておくのは、字幕やボタンの表示を、動画と緻密に同期させるためである。そうすると、字幕やボタンを構成するグラフィクスデータは、エンハンスドモードであっても、ムービーモードであっても再生装置に読み出される。これらグラフィクスデータはデジタルストリームから読み出され、余白領域に配置される。かかる配置によりグラフィクスデータは、図１の字幕「私はこのままハイウェイを進むこととした」やボタン「はい  いいえ」のように画面に現れる。しかしかかる余白領域に、Java（登録商標）プログラムが文字列や図形を描画しようとする場合、かかる描画は、字幕、ボタンにより遮られることになる。また動画を縮小してJava（登録商標）プログラムで引用しようとする場合も、かかる字幕、ボタンは邪魔となる。何故なら、字幕、ボタンを動画と同率で縮小しようとすると、字幕は小さすぎて読むことができず、単なるゴミにしか見えないからである。Java（登録商標）プログラムによる描画領域が遮られると、Java（登録商標）プログラムのプログラマは、字幕・ボタンを消去するか、隠したいとの衝動にかられる。しかし映画作品が複数デジタルストリームから構成されている場合、字幕・ボタンの多重化数は各デジタルストリーム毎に異なる。また字幕・ボタンの表示位置も、デジタルストリーム毎に変わってくる。つまり、あるデジタルストリームにはボタン・字幕が存在するが、別のデジタルストリームにはボタン・字幕が存在しないというバラツキがでる。かかるバラツキがあると、字幕・ボタンを消去したり、隠すようにJava（登録商標）プログラムを記述することは至って困難になり、Java（登録商標）プログラミングの阻害要因になりかねない。
【０００５】
本発明の目的は、ムービーモード・エンハンスドモードという2つのモードによる再生を実現しつつも、エンハンスドモード用プログラムによる円滑な画面描画を実現することができる再生装置を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る再生装置は、デジタルストリームの再生と、アプリケーションの実行とを同時に行う再生装置であって、ビデオストリームと、グラフィクスストリームとを前記デジタルストリームから、分離する分離手段と、分離により得られたビデオストリームをデコードするビデオデコーダと、プレーンメモリと、分離により得られたグラフィクスストリームをデコードして、非圧縮グラフィクスをプレーンメモリに書き込むグラフィクスデコーダと、ムービーモードにおいてアプリケーションを実行する第１モジュールと、仮想マシン向けプログラミング言語の動作モードにおいてアプリケーションを実行する第２モジュールとを備え、
ムービーモードでは、グラフィクスストリーム内に存在するパレットデータを用いて、プレーンメモリに格納されたインデックスカラーを、輝度及び色差に変換することにより、グラフィクス表示を実現し、
仮想マシン向けプログラミング言語の動作モードでは、前記第２モジュールが、RGB値を用いて表現された画素を、プレーンメモリに書き込むことにより、グラフィクス表示を実現する。  
【発明の効果】
【０００７】
エンハンスドモードにおいてJava（登録商標）プログラムがインタラクティブグラフィクスストリームに多重されているエレメンタリストリームを引用しようとする場合、字幕やボタン等を表すエレメンタリストリームを再生しないようフィルタリング指定がなされた再生区間情報を介して、再生制御を行えば、Java（登録商標）プログラムは字幕やボタンに邪魔されることなく、自身の描画処理を実現することができる。
【０００８】
1つの映画作品が複数のデジタルストリームから構成されており、字幕・ボタンが多重されているものと多重されていないものとがあったとしても、デジタルストリームに対して設けられた再生区間情報を介せば、それら多重数のバラツキを意識せずに、Java（登録商標）（登録商標）プログラムによる描画の邪魔となるような字幕・ボタンを再生させないようにすることができる。そのため、Java（登録商標）（登録商標）プログラムのプログラミングを行うプログラマの手間を軽減することができ、動画を引用したプログラム作りが容易になるので、映画作品頒布用のディスク作りに多くのソフトハウスの参入を促すことができる。
【発明を実施するための最良の形態】
【０００９】
(第１実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図２は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図２において、本発明に係る記録媒体は、BD-ROM１００である。このBD-ROM１００は、再生装置２００、テレビ３００、リモコン４００により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
【００１０】
続いて本発明に係る記録媒体の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録媒体は、BD-ROMの応用層に対する改良により実施することができる。図３は、BD-ROMの構成を示す図である。
本図の第４段目にBD-ROMを示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。図３に示すようなデータフォーマットを、BD-ROMの応用層上に形成することにより本発明に係る記録媒体は、工業的に生産される。尚、XXX.M2TS、XXX.CLPI,YYY.MPLSといったファイルが、それぞれ複数存在する場合は、BDMVディレクトリの配下に、STREAMディレクトリ、CLIPINFディレクトリ、STREAMディレクトリという3つのディレクトリを設け、STREAMディレクトリにXXX.M2TSと同じ種別のファイルを、CLIPINFディレクトリにXXX.CLPIと同じ種別のファイルを、PLAYLISTディレクトリにYYY.MPLSと同じ種別のファイルを格納することが望ましい。
【００１１】
図４は、ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現した図である。本図に示すようにBD-ROMには、ROOTディレクトリの下にBDMVディレクトリがあり、その下にJCLASSディレクトリ、BROWSERディレクトリがある。
BDMVディレクトリの配下には、INFO.BD、XXX.M2TS、XXX.CLPI,YYY.MPLS、ZZZ.MOVIEといったファイルが存在する。JCLASSディレクトリの配下には、ZZZ.CLASSというファイルが、BROWSERディレクトリの配下には、ZZZ.HTMというファイルが配置されている。
【００１２】
図５は、機能的な観点から、これらのファイルを分類した場合の分類図である。本図において、第１層、第２層、第３層、第４層からなる階層が本図における分類を象徴的に示す。本図においてXXX.M2TSは第２層に分類される。XXX.CLPI,YYY.MPLSは、第３層(静的シナリオ)に分類される。BDMVディレクトリ配下のZZZ.MOVIE、JCLASSディレクトリ配下のZZZ.CLASS、BROWSERディレクトリ配下のZZZ.HTMは、第４層に分類される。
【００１３】
本図の分類(第１層〜第４層)は、図６に示すようなレイヤモデルを対象とした分類である。以降、図５を参照しながら、BD-ROMが対象としている、制御ソフトウェアのレイヤモデルについて説明する。
図６の第１層は、物理層であり、処理対象たるストリーム本体の供給制御である。この第１層に示すように、処理対象たるストリームは、BD-ROMだけではなく、HD、メモリカード、ネットワークといったあらゆる記録媒体、通信媒体を供給源としている。これらHD、メモリカード、ネットワークといった供給源に対する制御(ディスクアクセス、カードアクセス、ネットワーク通信)が第１層の制御である。
【００１４】
第２層は、復号化方式のレイヤである。第１層で供給されたストリームを、どのような復号化方式を用いて復号するのかを規定しているのがこの第２層である。本実施形態で採用する復号化方式は、MPEG2の復号化方式である。
第３層(静的シナリオ)は、ストリームの静的なシナリオを規定するレイヤである。静的なシナリオとは、ディスク制作者によって予め規定された再生経路情報、Clip情報であり、これらに基づく再生制御を規定しているのがこの第３層(静的シナリオ)である。
【００１５】
第４層は、ストリームにおける動的なシナリオを実現するレイヤである。動的なシナリオとは、ユーザ操作や装置の状態によって再生進行を動的に変化させるためのシナリオであり、これらに基づく再生制御を規定しているのがこの第４層である。以降、このレイヤモデルに従い、ストリーム本体、静的なシナリオ、動的なシナリオにあたるファイルについて説明してゆく。
【００１６】
先ず第２層に属するAVClip(XXX.M2TS)について説明する。
AVClip(XXX.M2TS)は、MPEG-TS(Transport Stream)形式のデジタルストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、1つ以上のプレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、プレゼンテーショングラフィクスストリームは、映画の字幕を、インタラクティブグラフィクスストリームは、メニューを対象とした動的な再生制御の手順をそれぞれ示している。図７は、AVClipがどのように構成されているかを模式的に示す図である。
【００１７】
AVClipは(第４段目)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(第１段目)、PESパケット列に変換し(第２段目)、更にTSパケットに変換し(第３段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム、対話系のインタラクティブグラフィクスストリーム(第７段目)を、PESパケット列に変換し(第６段目)、更にTSパケットに変換して(第５段目)、これらを多重化することで構成される。
【００１８】
プレゼンテーショングラフィクスストリームは、言語毎の字幕を構成するグラフィクスストリームであり、英語、日本語、フランス語というように複数言語についてのプレゼンテーショングラフィクスストリームが存在する。プレゼンテーショングラフィクスストリームは、PCS(Presentation Control Segment)、PDS(Pallet Define Segment)、WDS(Window Define Segment)、ODS(Object Define Segment)、END(END of Display Set 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によるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。
【００２０】
インタラクティブグラフィクスストリームは、対話制御を実現するグラフィクスストリームである。インタラクティブグラフィクスストリームにて定義される対話制御は、DVD再生装置上の対話制御と互換性がある対話制御である。かかるインタラクティブグラフィクスストリームは、ICS(Interactive Composition Segment)、PDS(Palette Difinition Segment)、ODS(Object Definition Segment)、END(END of Display Set Segment)と呼ばれる機能セグメントからなる。ODS(Object Definition Segment)は、グラフィクスオブジェクトを定義する機能セグメントである。このグラフィクスオブジェクトが複数集まって、対話画面上のボタンが描画される。PDS(Palette Difinition Segment)は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。ICS(Interactive Composition Segment)は、ユーザ操作に応じてボタンの状態を変化させるという状態変化を実現する機能セグメントである。ICSは、ボタンに対して確定操作がなされた際、実行すべきボタンコマンドを含む。
【００２１】
以上がAVClipに多重化されるエレメンタリストリームである。かかる過程を経て生成されたAVClipは、通常のコンピュータファイル同様、複数のエクステントに分割され、BD-ROM上の領域に記録される。AVClipは、1つ以上のACCESS UNITとからなり、このACCESS UNITの単位で頭出し可能である。ACCESS UNITとは、1つのGOP(Group Of Picture)と、このGOPと同時に読み出されるべきオーディオフレームとを含む最小デコード単位である。GOPは、過去方向および未来方向に再生されるべき画像との時間相関特性を用いて圧縮されているBidirectionally predictive Predictive(B)ピクチャ、過去方向に再生されるべき画像との時間相関特性を用いて圧縮されているPredictive(P)ピクチャ、時間相関特性を用いず、一フレーム分の画像内での空間周波数特性を利用して圧縮されているIntra(Ｉ)ピクチャを含む。
【００２２】
尚、XXX.M2TSのファイル名XXXは、BD-ROMにおいてAVClipに付与される3桁の識別番号を抽象化している。つまり本図におけるAVClipは、このXXXを用いて一意に識別される。以上がストリーム(XXX.M2TS)についての説明である(ここでの3桁という桁数は例示に過ぎず、何桁でもよい。)。
＜静的なシナリオ＞
続いて、静的なシナリオであるファイル(XXX.CLPI,YYY.MPLS)について説明する。
【００２３】
Clip情報(XXX.CLPI)は、個々のAVClipについての管理情報である。図８は、Clip情報の内部構成を示す図である。AVClipはビデオストリーム、オーディオストリームを多重化することで得られ、AVClipはACCESS UNITと呼ばれる単位での頭出しが可能なので、各ビデオストリーム、オーディオストリームはどのような属性をもっているか、頭出し位置がAVClip内の何処に存在するかが、Clip情報の管理項目になる。図中の引き出し線はClip情報の構成をクローズアップしている。引き出し線hn1に示すように、Clip情報(XXX.CLPI)は、「Program Info.」と、ACCESS UNITを頭出しするための「EP＿map」とを含む。
【００２４】
『Program info』は、AVClipに多重化されている個々のエレメンタリストリームについてのPID及び属性を、stream＿indexに対応づけて示す情報である。stream＿indexは、本Clip情報が対応するAVClipxxxに多重化されている個々のエレメンタリストリームについてのインデックスである。本Clip情報に対応するAVClipをAVClipxxxとすると、stream＿indexで識別されるエレメンタリストリームのPIDは、破線の矢印hn2に示す複数のstream＿PID[xxx][stream＿index]entryに示される。
【００２５】
また各エレメンタリストリームの属性は、破線の矢印hn2に示す複数のstream＿Attribute[xxx][stream＿index]に示される。これに示される属性には、ビデオの属性、オーディオの属性、グラフィクスの属性といったものがある。ビデオ属性は、PIDに対応するエレメンタリストリームがどのような圧縮方式で圧縮されたか(Coding)、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか(Resolution)、アスペクト比はどれだけであるか(Aspect)、フレームレートはどれだけであるか(Framerate)を示す。一方、オーディオ属性は、そのオーディオストリームがどのような圧縮方式で圧縮されたか(Coding)、そのオーディオストリームのチャネル番号が何であるか(Ch.)、何という言語に対応しているか(Lang)を示す。stream＿indexを介することにより、所望のエレメンタリストリームの属性をProgram Info.から検索することができる。
【００２６】
『EP＿map』は、複数の頭出し位置のアドレスを、時刻情報を用いて間接参照するためのリファレンステーブルであり、破線の引き出し線hn5に示すように複数のエントリー情報(ACCESS UNIT#1エントリー、ACCESS UNIT#2エントリー、ACCESS UNIT#3エントリー・・・・・)と、エントリー数(Number)とからなる。各エントリーは、引き出し線hn6に示すように、対応するACCESS UNITの再生開始時刻を、アドレスと、ACCESS UNITにおける先頭Iピクチャのサイズ(I-size)とを対応づけて示す。ACCESS UNITの再生開始時刻は、ACCESS UNIT先頭に位置するピクチャデータのタイムスタンプ(Presentation Time Stamp)で表現される。またACCESS UNITにおけるアドレスは、TSパケットの連番(SPN(Source Packet Number))で表現される。可変長符号圧縮方式が採用されるため、GOPを含む各ACCESS UNITのサイズや再生時間がバラバラであっても、このACCESS UNITについてのエントリーを参照することにより、任意の再生時刻から、その再生時刻に対応するACCESS UNIT内のピクチャデータへと頭出しを行うことが可能になる。尚、XXX.CLPIのファイル名XXXは、Clip情報が対応しているAVClipと同じ名称が使用される。つまり本図におけるAVClipのファイル名はXXXであるから、AVClip(XXX.M2TS)に対応していることを意味する。以上がClip情報についての説明である。続いてプレイリスト情報について説明する。
【００２７】
YYY.MPLS(プレイリスト情報)は、再生経路情報であるプレイリストを構成するテーブルであり、複数のPlayItem情報(PlayItem情報#1,#2,#3・・・#n)と、これらPlayItem情報数(Number)とからなる。図９は、PL情報の内部構成を示す図である。PlayItem情報は、プレイリストを構成する1つ以上の論理的な再生区間を定義する。PlayItem情報の構成は、引き出し線hs1によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIn点及びOut点が属するAVClipの再生区間情報のファイル名を示す『Clip＿Information＿file＿name』と、当該AVClipがどのような符号化方式で符号化されているかを示す『Clip＿codec＿identifier』と、再生区間の始点を示す時間情報『IN＿time』と、再生区間の終点を示す時間情報『OUT＿time』と、『Playable＿PID＿entries』とから構成される。
【００２８】
PlayItem情報の特徴は、その表記法にある。つまりEP＿mapをリファレンステーブルとして用いた間接参照の形式で、再生区間が定義されている。図１０は、PL情報による間接参照を模式化した図である。本図においてAVClipは、複数のACCESS UNITから構成されている。Clip情報内のEP＿mapは、これら複数ACCESS UNITのセクタアドレスを、矢印ay1,2,3,4に示すように指定している。図中の矢印jy1,2,3,4は、PlayItem情報によるACCESS UNITの参照を模式化して示している。つまり、PlayItem情報による参照(矢印jy1,2,3,4)は、EP＿mapを介することにより、AVClip内に含まれる複数ACCESS UNITのアドレスを指定するという間接参照であることがわかる。
【００２９】
PlayItem情報−Clip情報−AVClipの組みからなるBD-ROM上の再生区間を『プレイアイテム』という。PL情報−Clip情報−AVClipの組みからなるBD-ROM上の論理的な再生単位を『プレイリスト(PLと略す)』という。BD-ROMに記録された映画作品は、この論理的な再生単位(PL)にて構成される。論理的な再生単位にて、BD-ROMにおける映画作品は構成されるので、本編たる映画作品とは別に、あるキャラクタが登場するようなシーンのみを指定するようなPLを定義すれば、そのキャラクタが登場するシーンのみからなる映画作品を簡単に制作することができる。図１１は、図１０に示したPL情報(PL情報#1)とは、別のPL(PL情報#2)を定義する場合の一例を示す図である。
【００３０】
様々なPL情報を定義するだけで、映画作品のバリエーションは増えるので、映画制作者の表現の幅を増やせることが、静的なシナリオの最大のメリットである。また、BD-ROMにおける再生単位には、PL、PlayItemといったものの他、Chapterがある。Chapterは、1つ、2つ以上のPlayItemから構成される。
尚、PL情報のファイル名YYYは、BD-ROMにおいてPL情報に付与される3桁の識別番号を抽象化している。つまり本図におけるPL情報は、この識別番号YYYを用いて一意に識別される。PL情報の識別番号を”YYY”と表現しているのは、PL情報の識別番号が、AVClip及びAVClip情報の識別番号XXXとは別の番号体系であることを意味している(ここでの3桁という桁数は例示に過ぎず、何桁でもよい。)。
【００３１】
以上が、静的なシナリオについての説明である。続いて動的なシナリオについて説明する。
＜動的なシナリオ＞
動的なシナリオは、AVClipの動的な再生制御手順を示すコマンド列である。動的な再生制御手順とは、装置に対するユーザ操作に応じて変化するものであり、プログラム的な性質をもつ。ここでの動的な再生制御には、2つのモードがある。2つのモードのうち1つは、AV機器特有の再生環境で、BD-ROMに記録された動画データを再生するモード(ノーマルモード)であり、もう1つはBD-ROMに記録された動画データの付加価値を高めるモード(エンハンスドモード)である。図１２は、レイヤモデルの第４層における再生モードを示す図である。本図において第４層には、1つのノーマルモードと、2つのエンハンスドモードとが記述されている。1つのノーマルモードは、DVDライクな再生環境での再生モードでありMOVIEモードと呼ばれる。2つのエンハンスドモードのうち、1つ目は、Java（登録商標）仮想マシンを主体とした再生モードであり、Java（登録商標）モードと呼ばれる。2つ目のエンハンスドモードのうち、2つ目はブラウザを主体とした再生モードであり、Browserモードと呼ばれる。第４層には、MOVIEモード、Java（登録商標）モード、Browserモードという3つのモードがあるので、動的シナリオはどれかのモードで実行できるように記述されればよい。
【００３２】
尚、ファイル名ZZZ.MOVIE、ZZZ.CLASS、ZZZ.HTMにおけるファイルボディ「ZZZ」は、BD-ROMにおいて動的シナリオに付与される3桁の識別番号を抽象化している。つまり本図におけるシナリオは、この識別番号ZZZを用いて一意に識別される。シナリオの識別番号を”ZZZ”と表現しているのは、シナリオの識別番号が、AVストリームの識別番号XXX、PL情報の識別番号YYYとは別の番号体系であることを意味している(ここでの3桁という桁数は例示に過ぎず、何桁でもよい。)。
【００３３】
以降各モードの動的シナリオについてより詳しく説明する。
「ZZZ.MOVIE」は、MOVIEモードを対象とした動的シナリオである。この動的シナリオでは、既存のDVD再生装置と良く似た再生制御を再生装置に実行させることができる。
「ZZZ.HTM」は、Browserモードを対象とした動的シナリオである。この動的シナリオでは、ネットワーク上のサイトをアクセスしたり、ファイルをダウンロードするような制御手順を記述することができる。エンハンスドモードには、Java（登録商標）モードの他に、ブラウザモードの2つの動作モードがあるが、これら2つの動作モードで説明を進行させるのは煩雑となる。簡略化を期すため、以降の説明ではエンハンスドモードにおける動的シナリオを、Java（登録商標）モードに限るものとする。
【００３４】
「ZZZ.CLASS」は、Java（登録商標）モードを対象とした動的シナリオであり、Java（登録商標）言語のアプリケーションプログラムである。Java（登録商標）言語のアプリケーションプログラムなのでJava（登録商標）モードの動的シナリオの実行主体は、Java（登録商標）プラットフォームとなる。ここでJava（登録商標）モードのアプリケーションと、Java（登録商標）プラットフォームとの関係を図１３を参照しながら詳しく説明する。図１３は、Java（登録商標）言語が対象とするJava（登録商標）プラットフォームのレイヤモデルを示す図である。Java（登録商標）モードのアプリケーションは、このレイヤモデルの最上位のレイヤに位置する。このJava（登録商標）モードのアプリケーションの下位にAPI(Application Interface)がある。本実施形態におけるAPIには、文字描画のためのライブラリィ集Java（登録商標）.awtがある。更にその下位のレイヤにJava（登録商標）プラットフォームがある。ネイティブ描画系は、再生装置が本来具備しているグラフィクス描画機能であり、Java（登録商標）プラットフォームと同一階層にあたる。
【００３５】
「Java（登録商標）プラットフォーム」は、「Java（登録商標）仮想マシン(Java（登録商標）VM)」、「コンフィグレーション」、「プロファイル」、「オプション」からなる。Java（登録商標）仮想マシンは、Java（登録商標）言語で記述されたJava（登録商標）モードアプリケーションを、再生装置におけるCPUのネィティブコードに変換して、CPUに実行させる。コンフィグレーションは、再生装置における簡単な入出力を実現する。プロファイルは、再生装置におけるIP通信や、画面描画を行う。
【００３６】
「オプション」は、様々なライブラリを含む。これらはJava（登録商標）プラットフォームからは供給され得ない様々な機能をJava（登録商標）モードのアプリケーションに供給するものである。具体的にいえば、再生装置におけるセキュリティ確保の処理やBD-ROM〜Java（登録商標）アプリケーション間の入出力がこのライブラリで規定されることになる。  以上のように、Java（登録商標）プラットフォームでは文字描画や簡単な入出力を行うためのプログラムが予め準備されているため、プレゼンテーショングラフィクスストリームによる字幕の描画、インタラクティブグラフィクスストリームによるボタンの描画は、Java（登録商標）オブジェクトによる描画の妨げになる。本実施形態では、プレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームによる阻害を避けるため、PlayItemにフィルタ指定の機能を持たせている。
【００３７】
ではどのようなフィルタ指定かというと、AVClipに多重化されている複数エレメンタリストリームのうち、どれが再生可能であり、どれが再生不可能かを選別するというものである。図９に示したPlayItemの情報要素のうち、Playable＿PID＿entriesがこのフィルタ指定を実現する。
続いて、playable＿PID＿entriesについてより詳しく説明する。図１４（ａ）はPlayable＿PID＿entriesの内部構成を示す図である。図中の引き出し線hp1はplayable＿PID＿entriesの構成をクローズアップしている。playable＿PID＿entriesは、複数のref＿to＿stream＿PID[]からなる。ref＿to＿stream＿PIDは、16ビットのフィールドであり、各フィールドの値は、Clip情報のprogram Infoに定義されているstream＿PID[xxx][stream＿index]entryのうち、どれかを示す。ref＿to＿stream＿PIDに、stream＿PID[xxx][stream＿index]entryを指示させることにより、PlayItemはフィルタ指定機能をもつことになる。
【００３８】
図１４（ｂ）は、Clip情報のprogram Infoに定義されているstream＿PID[xxx][stream＿index]entryと、PlayItem情報におけるref＿to＿stream＿PIDとの対応を示す図である。Clip情報のprogram Infoに、m+1個のPIDエントリー(stream＿PID[xxx][0]entry,stream＿PID[xxx][1]entry,stream＿PID[xxx][2]entry・・・・stream＿PID[xxx][m]entry)が存在するものとする。図中の矢印tc1,2,3,4は、m+1個のPIDエントリーに示されるPIDのうち、どれとどれをPlayable＿PID＿entriesに記述するかという記述の選択を示す。本図では、矢印tc1,2,3,4に示すようにm+1個のPIDエントリーのうち、stream＿PID[xxx][0]entry,stream＿PID[xxx][2]entry,stream＿PID[xxx][4]entry,stream＿PID[xxx][m]entryに示されるPIDが、それぞれref＿to＿stream＿PID(0),(1),(2),(n)に設定されていることがわかる。
【００３９】
以降、PlayItemにおけるフィルタ指定により、どのような再生制御が実現されるかについて説明する。図１５は、MOVIEオブジェクト、Java（登録商標）オブジェクトにより再生制御がなされる、PLの階層構造を示す図である。本図は、図１０に示した第１段(AV-Clip)、第２段(Clip情報)、第３段(PL情報)からなる階層構造に、第４段目を追加したものである。第４段目におけるMOVIEオブジェクトは、PL#1の再生を行わせるコマンド(PlayPL(PL#1))を含む。このPL#1を構成する3つのPlayItem#1,#2,#3のうち、PlayItem#3は、Playable＿PID＿entriesを含んでおりフィルタ指定が可能である。  
【００４０】
図１５の第４段目におけるJava（登録商標）オブジェクトは、PL#2の再生を行わせるコマンド(PlayPL(PL#2))を含む。このPL#2を構成する2つのPlayItem#11,#12のうち、PlayItem#12は、Playable＿PID＿entriesを含んでおりフィルタ指定が可能である。
図１６は、PlayItem#3,#12におけるplayable＿PID＿entriesにより、どのようにフィルタ指定が行われるかを示す図である。本図では、下側にAVClipを構成する各ACCESS UNITを、上側に2つのPlayItem#3,#12を示している。このACCESS UNITには、1本のビデオストリーム、3本のオーディオストリーム、2本のプレゼンテーショングラフィクスストリーム、1本のインタラクティブグラフィクスストリームが多重化されている。ビデオストリームには、Video＿PIDというPIDが、プレゼンテーショングラフィクスストリームには、P.Graphics＿PIDというPIDが、インタラクティブグラフィクスストリームには、I.Graphics＿PIDというPIDが付加される。3本のオーディオストリームのうち、Audio＿PID1が付されたものは英語音声(0:English)、Audio＿PID2が付されたものは日本語音声(1:Japanese)、Audio＿PID3が付されたものはコメンタリ音声(2:Commentary)である。2本のプレゼンテーショングラフィクスストリームのうち、P.Graphics＿PID1が付されたものは英語音声(0:English)、P.Graphics＿PID2が付されたものは日本語音声(1:Japanese)である。
【００４１】
図中右側のPlayItem#3,#12は、互いにフィルタ指定が異なる。PlayItem#3,#12内の升めの羅列は、playable＿PID＿entriesの具体的内容であり、PlayItem#3では、Video＿PIDのビデオストリーム、Audio＿PID1のオーディオストリーム、Audio＿PID2のオーディオストリーム、P.Graphics＿PID1のプレゼンテーショングラフィクスストリーム、P.Graphics＿PID2のプレゼンテーショングラフィクスストリーム、I.Graphics＿PIDのインタラクティブグラフィクスストリームの再生が可能であると設定されている。PlayItem#12では、Video＿PIDのビデオストリーム、Audio＿PID3のオーディオストリームの再生が可能であると設定されている。PlayItem#3の再生時において、PlayItem#3のplayable＿PID＿entriesは再生装置におけるデマルチプレクサに設定される。これにより多重分離時には、Video＿PIDのビデオストリームをビデオデコーダに出力し、Audio＿PID1、Audio＿PID2のオーディオストリームをオーディオデコーダに出力する。P.Graphics＿PID1、P.Graphics＿PID2のプレゼンテーショングラフィクスストリームをグラフィクスデコーダに出力し、I.Graphics＿PIDのインタラクティブグラフィクスストリームもグラフィクスデコーダに出力する。PlayItem#3では、全てのグラフィクスストリームが再生可能と設定されているので、AVClipに多重化されている全てのグラフィクスストリームの再生が可能になる。
【００４２】
一方、PlayItem#12では、全てのグラフィクスストリームが再生不可能と設定されているので、Java（登録商標）モードにおける動的シナリオとの干渉は有り得ず、Java（登録商標）言語での制御が可能になる。
図１７は、PlayItem#3のPlayable＿PID＿entriesにより、どのような再生出力が可能になるかを示す図である。PlayItem#3では、Video＿PIDのビデオストリーム、Audio＿PID1のオーディオストリーム、Audio＿PID2のオーディオストリーム、P.Graphics＿PID1のプレゼンテーショングラフィクスストリーム、P.Graphics＿PID2のプレゼンテーショングラフィクスストリーム、I.Graphics＿PIDのインタラクティブグラフィクスストリームの再生が可能であるので、MOVIEオブジェクトによる再生では、Audio＿PID1のオーディオストリームの再生出力と(図中の『She is captive of her own lies』というナレーション)、P.Graphics＿PID1のプレゼンテーショングラフィクスストリームの再生出力と(『彼女は自分のうそに酔いしれた』という日本語字幕)、I.Graphics＿PIDのインタラクティブグラフィクスストリームの再生出力と(『続けますかはい  いいえ』)を伴って、ビデオストリームの再生出力を行うことができる。
【００４３】
PlayItem#12では、全てのグラフィクスストリームが再生不可能と設定されており、Video＿PIDのビデオストリーム、Audio＿PID3のオーディオストリームという2つのストリームの再生出力のみが可能になる。このPlayItemの再生を命じているJava（登録商標）オブジェクトが、仮想的なスタジオ(図中のカメラや椅子、照明が配された一室)を描画するものなら、グラフィクスストリームに含まれる字幕や、ボタンに妨げられることなく、かかるスタジオの描画を実現することができる。PlayItem#12により再生可と設定されたAudio＿PID3のオーディオストリームは、映画監督のコメンタリであり(『私は彼女の演技力に脱帽した』という台詞)、上述した仮想的なスタジオで、このような監督のコメンタリを再生させることで、制作現場の雰囲気を作り出すことができる。
【００４４】
このJava（登録商標）オブジェクトにより、映画スタジオを模した部屋において背景画として映画シーンを再生させながら、映画監督のコメンタリが聴くことができる。
かかるタイトルを、ボーナストラック的なタイトルとしてBD-ROMに記録することにより、BD-ROMの商品価値を高めることができる。PlayItemにおけるフィルタ指定を利用して、ボーナストラック的なタイトルをBD-ROMに記録することは、以下のようなメリットをもたらす。
【００４５】
世界的に著名な映画監督のコメンタリは、映画愛好家にとって、是非とも聞きたいものであり、映画作品の付加価値を高めるものとして、現行の販売用DVDにも存在する。
かかるタイトルは、ディレクタのコメンタリを聴けることが最大の魅力であるが、背景画として映画シーンが再生されることも、その魅力を高めている要因である。つまり、映画のハイライトシーンと共に、映画制作の裏話が聴けるというのは、コメンタリの臨場感を高めるからである。この場合、このコメンタリのオーディオストリームをどのように扱うかが問題になる。本編とは別に、背景画としたい映画シーンを設けてオーディオストリームと多重化し、上述したボーナストラックを作成するというのがオーソドックスな手法だが、これでは本編とは別に背景画の映画シーンをBD-ROMに記録せねばならず、記録対象が増え、容量的な問題が生じる。
【００４６】
コメンタリの音声ストリームを映画本編で使用する音声ストリームと共に、本編用の動画ストリームに多重化する方法も考えられる。こうすれば本編のシーンをコメンタリの背景画として使用できるが、このコメンタリデータが、映画本編の再生時に聞こえてしまう恐れがある。そこで本編タイトルを構成するPlayItemには、コメンタリの音声ストリームだけを無効とし、残りのオーディオストリームを有効とするようフィルタ指定しておく。一方、ボーナスタイトルを構成するPlayItemには、コメンタリの音声ストリームだけを有効とし、残りのオーディオストリームを無効とするようフィルタ指定しておく。こうすることにより、本編のオーディオストリーム、コメンタリの音声ストリームを全部まとめて一本のAVClipに多重化してBD-ROMに記録しておけばよい。
【００４７】
本編のオーディオストリームのみのAVClip、コメンタリの音声ストリームのみのAVClipというように、本編、コメンタリのAVClipを別々に作成する必要はないので、BD-ROMに記録すべきAVClipの本数を少なくすることができ、オーサリング時の手間を軽減することができる。
PlayItemに、Playable＿PID＿entriesを設けているのは、PlayItemには、1つのAVClipに専属するという専属性、非排他性という2つの性質があるからである。AVClipへの専属性とは、PlayItemは、1つのAVClipに対してのみ設定され、2以上のAVClipを跨ぐように設定されないという性質である。かかる専属性があるので、Playable＿PID＿entriesによるフィルタ指定は、対応する1つのAVClipの再生時のみ有効となり、他のAVClipの再生時には、有効にならない。かかる性質をもつPlayItemに、Playable＿PID＿entriesを持たせているので、1つの映画作品を構成する複数AVClipにおいて、AVClip毎にエレメンタリストリームの多重化数にバラツキがあっても、一貫したエレメンタリストリーム選択を、再生装置に実行させることができる。ここで多重化数のバラツキとは、アクションシーン等にあたるAVClipと、会話等のシーンにあたるAVClipとで、多重化されているエレメンタリストリームの数が違うことをいう。つまり、アクションシーンにあたるAVClipでは、台詞やナレーションが全く存在しない。かかるシーンに必要な音声は、BGMや車のアクセル音や爆発音等であり、かかる音声は単一の音声で再生させればよい。従ってかかるシーンにあたるAVClipでは、言語毎の音声や字幕は不要であり、動画にあたるエレメンタリストリームと、音声にあたるエレメンタリストリームとがAVClipに多重化されていればよい。一方、会話シーンにあたるAVClipには、台詞やナレーションが必要になるので、かかる台詞を示す音声を、言語毎の音声や字幕で表現せねばならない。そのため、かかるシーンにあたるAVClipには、動画にあたるエレメンタリストリーム、各言語での音声・字幕にあたるエレメンタリストリームが多重化されねばならない。
【００４８】
図１８は、AVClip毎の多重化数のバラツキを示す図である。本図において、AVClip#2,#4は会話のシーンにあたり、AVClip#1,#3はアクションシーンにあたる。AVClip#1には、ビデオストリームと(Video)、1本のオーディオストリーム(Audio1)が多重化されている。AVClip#2には、ビデオストリームの他に3本のオーディオストリーム(Audio1,2,3)、2本のプレゼンテーショングラフィクスストリーム(P.Graphics1,2)が多重化されている。AVClip#3には、ビデオストリームのみが多重化されている。AVClip#4には、ビデオストリーム、3本のオーディオストリーム(Audio1,2,3)、2本のプレゼンテーショングラフィクスストリーム(P.Graphics1,2,3)の他に1本のインタラクティブグラフィクスストリーム(I.Graghics1)が多重化されている。
【００４９】
本図に示すような多重化数のバラツキがあれば、AVClipを再生させるにあたって、これから再生しようとするAVClipにどのようなエレメンタリストリームが多重化されており、それらのAVClipにどのようなPIDが割り当てられているかを、MOVIEモードやJava（登録商標）オブジェクトは事前に検出しておかねばならない。新たなAVClipの再生を開始する度に、かかる検出を行うというのは、Java（登録商標）オブジェクトにとって負担であるし、またAVClipの再生時間が短いと、かかる検出が間に合わない場合も生じる。かかる事情に鑑み、多重化されているエレメンタリストリームのダイレクトな選択をJava（登録商標）オブジェクトに許容せず、PlayItem内のPlayable＿PID＿entriesを介した間接的なエレメンタリストリーム選択を許容している。即ち、再生すべきエレメンタリストリームの指定は、PlayItemに示されるので、新たに再生すべきAVClipにおいて、どのエレメンタリストリームを再生するかの選択をJava（登録商標）オブジェクトがダイレクトに行わなくとも、PlayItemを介した再生を再生装置が行えば、所望のエレメンタリストリームのみが再生されることになる。
【００５０】
かかる間接的なエレメンタリストリーム選択では、再生すべきPlayItemを選ぶという行為が、AVClipに多重化されているエレメンタリストリームを選ぶ行為と等価になる。フィルタ指定を示す情報をPlayItemにもたせて、これを介したエレメンタリストリーム選択をJava（登録商標）オブジェクトに行わせれば、複数PlayItemからなる単位、つまり、PLという大きな再生単位において、一貫したエレメンタリストリームを選択が可能になる。
【００５１】
図１９は、ムービーモードでのMOVIEオブジェクトによるエレメンタリストリーム選択を示す図である。図中の上向き矢印は、各PlayItemのPlayable＿PID＿entriesにより、エレメンタリストリームがどのように読み出されるかを示す。本図に示すようにムービーモードでは、各AVClipに多重化されているビデオストリーム(Video)、オーディオストリーム(Audio1,2)、プレゼンテーショングラフィクスストリーム(P.Graphics1,2,3)、インタラクティブグラフィクスストリーム(1.Graphics1,2,3)といったエレメンタリストリームが読み出されていることがわかる。
【００５２】
図２０は、エンハンスドモードでのJava（登録商標）オブジェクトによるエレメンタリストリーム選択を示す図である。図中の上向き矢印は、各PlayItemのPlayable＿PID＿entriesにより、エレメンタリストリームがどのように読み出されるかを示す。本図に示すようにムービーモードでは、ビデオストリーム(Video)、オーディオストリーム(Audio3)といったエレメンタリストリームが読み出されていることがわかる。言語毎の音声をもったAVClipや、言語毎の字幕をもったAVClip、ボタンをもったAVClipが映画作品において飛び飛びに存在する場合でも、Playable＿PID＿entriesの設定次第で、PLにおいて一貫したエレメンタリストリーム選択を実現することができる。音声を全くもたないAVClipや、一本の音声しかないAVClipが前後にあったとしても、自身のモードに必要なエレメンタリストリームのみが読み出されることになる。また、各AVClipにおけるエレメンタリストリームと、PIDとの対応づけがバラバラであったとしても、一貫したエレメンタリストリーム再生を実現することができる。
【００５３】
PlayItemには、非排他性があるので、フィルタ指定が異なる2以上のPlayItemを、同じAVClipに対し、重複して設定することができる。そのため、あるPlayItemではグラフィクスストリームの再生が可能であるが、別のPlayItemではグラフィクスストリームの再生を禁じるような、PlayItemの作り分けを実現することができる。仮にClip情報にフィルタ指定機能をもたせようとすると、Clip情報には専属性があるが、1つのAVClipにつき1つのClip情報しか設定できないので非排他性がない。よってClip情報にフィルタ指定情報をもたせると、互いにフィルタ指定の内容が異なる複数情報を、1つのAVClipに設定することができない。これでは作り分けが困難になるので、フィルタ指定を示す情報をClip情報に設けることは賢明ではない。一方、フィルタ指定を示す情報を動的シナリオに持たせようとすると、動的シナリオには非排他性はあるが専属性はない。エレメンタリストリームの多重化数にバラツキがあると、エレメンタリストリームの選択に苦慮する。これらを統合すれば、専属性、非排他性を兼ね備えたPlayItemに、フィルタ指定を示す情報を持たせることが理にかなっている。尚、この記載は、Clip情報、動的シナリオにフィルタ指定情報をもたせることを否定するものではなく、無論Clip情報、動的シナリオにフィルタ指定情報をもたせてもよい。
【００５４】
またPlayable＿PID＿entriesは、インタラクティブグラフィクスストリームに埋め込まれたボタンコマンドとの干渉を避けるためにも有意義である。ボタンコマンドとは、インタラクティブグラフィクスストリームで記述されたボタンに対し、確定操作が行われた場合に実行されるコマンドである。ボタンコマンドはAVClipに組み込まれているので、ある動画の一コマが画面に現れたタイミングに、特定の処理を再生装置に実行させるという再生制御、つまり、動画内容と緻密に同期した再生制御の記述に便利である。またボタンコマンドは、AVClip自身に多重化されているので、再生制御を行いたい区間が数百個であっても、それらに対応するボタンコマンドの全てをメモリに格納しておく必要はない。ボタンコマンドはACCESS UNIT毎にビデオパケットと共にBD-ROMから読み出されるので、現在再生すべき動画区間に対応するボタンコマンドをメモリに常駐させ、この動画区間の再生が終われば、そのボタンコマンドをメモリから削除して、次の動画区間に対応するボタンコマンドをメモリに格納すればよい。ボタンコマンドは、AVClipに多重化されるので、たとえボタンコマンドの数が数百個になってもメモリの搭載量を必要最低限にすることができる。
【００５５】
ボタンコマンドをストリーム中に埋め込んでいる場合、Java（登録商標）モードにおける動的シナリオとの干渉が問題になる。例えばJava（登録商標）モードによる再生制御を実行している場合、ストリーム中に埋め込まれたボタンコマンドが再生装置における制御部に供給されれば、Java（登録商標）モードの動的シナリオとボタンコマンドが同時に実行されることとなり、プレーヤの誤動作を招いてしまう。そこでJava（登録商標）モードで呼び出されるPlayItemには、インタラクティブグラフィクスストリームは多重分離しないようPlayable＿PID＿entriesを設定しておく。こうすることにより、インタラクティブグラフィクスストリーム内のボタンコマンドが、Java（登録商標）プログラムにおける命令と干渉するような事態はなくなる。
【００５６】
以上説明したデータ構造は、プログラミング言語で記述されたクラス構造体のインスタンスであり、オーサリングを行う制作者は、このクラス構造体を記述することにより、BD-ROM上のこれらのデータ構造を得ることができる。
以上が本発明に係る記録媒体の実施形態である。続いて本発明に係る再生装置の実施形態について説明する。図２１は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、BDドライブ１、リードバッファ２、デマルチプレクサ３、ビデオデコーダ４、ビデオプレーン５、Background stillプレーン６、合成部７、スイッチ８、P-Graphicsデコーダ９、Presentation Graphicsプレーン１０、合成部１１、フォントゼネレータ１２、I-Graphicsデコーダ１３、スイッチ１４、Enhanced Interactive Graphicsプレーン１５、合成部１６、HDD１７、リードバッファ１８、デマルチプレクサ１９、オーディオデコーダ２０、スイッチ２１、スイッチ２２、静的シナリオメモリ２３、動的シナリオメモリ２４、CLUT部２６、CLUT部２７、スイッチ２８、制御部２９から構成される。
【００５７】
BD-ROMドライブ１は、BD-ROMのローディング／イジェクトを行い、BD-ROMに対するアクセスを実行する。
リードバッファ２は、FIFOメモリであり、BD-ROMから読み出されたACCESS UNITが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX)３は、リードバッファ２からACCESS UNITを取り出して、このACCESS UNITを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、Playable＿PID＿entriesに示されたPIDをもつものをビデオデコーダ４、オーディオデコーダ２０、P-Graphicsデコーダ９、I-Graphicsデコーダ１３のどれかに出力する。
【００５８】
ビデオデコーダ４は、デマルチプレクサ３から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン５に書き込む。
ビデオプレーン５は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。再生装置に複数のプレーンを設けておき、これらプレーンの格納内容を画素毎に加算して、映像出力を行えば、複数の映像内容を合成させた上で映像出力を行うことができる。ビデオプレーン５における解像度は1920×1080であり、このビデオプレーン５に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
【００５９】
Background stillプレーン６は、エンハンスドモードにおいて背景画として用いるべき静止画を格納しておくプレーンである。本プレーンにおける解像度は1920×1080であり、このBackground stillプレーン６に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
合成部７は、ビデオプレーン５に格納されている非圧縮状態のピクチャデータを、Background stillプレーン６に格納されている静止画と合成する。
【００６０】
スイッチ８は、ビデオプレーン５における非圧縮状態のピクチャデータをそのまま出力するか、Background stillプレーン６の格納内容と合成して出力するかを切り換えるスイッチである。
P-Graphicsデコーダ９は、BD-ROM、HDから読み出されたグラフィクスストリームをデコードして、ラスタグラフィクスをPresentation Graphicsプレーン１０に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
【００６１】
Presentation Graphicsプレーン１０は、一画面分の領域をもったメモリであり、一画面分のラスタグラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、Presentation Graphicsプレーン１０中のラスタグラフィクスの各画素は8ビットのインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、Presentation Graphicsプレーン１０に格納されたラスタグラフィクスは、表示に供される。Java（登録商標）オブジェクトは、本Presentation Graphicsプレーン１０をダイレクトにアクセスすることはできない。かかる禁止を設けたのは以下の要請による。DVD互換プログラム、Java（登録商標）オブジェクトが1つのグラフィックスプレーンを共有している場合、最新の書き込み内容が、優先的に表示されることになる。ここでの優先的な表示とは、最新の書込内容が、古い書込内容を覆い隠すように表示されるこという。しかしDVD互換プログラム、Java（登録商標）オブジェクトは非同期で動作するので、グラフィックスプレーンにおいてどちらの書込内容が優先されているかをDVD互換プログラム、Java（登録商標）オブジェクトは知り得ない。どちらの書き込みが優先されているかを知り得ないので、DVD互換プログラムの書込内容が優先しているのに、Java（登録商標）オブジェクトが書き込みを行い、DVD互換プログラムが書き込んだ内容を、Java（登録商標）オブジェクトが好きなように書き換えてしまうことが起こり得る。かかる書き換えがなされると、DVD互換プログラムの動作保証が至って困難になるため、Java（登録商標）オブジェクトによるPresentation Graphicsプレーン１０へのダイレクトなアクセスは禁止している。
【００６２】
合成部１１は、非圧縮状態のピクチャデータ(i)、Background stillプレーン６の格納内容が合成されたピクチャデータ(ii)の何れかを、Presentation Graphicsプレーン１０の格納内容と合成する。
フォントゼネレータ１２は、制御部２９から出力されたテキストコードを、文字フォントに変換する。どの文字フォントに変換するかの指示は、制御部２９によるフォント種の指定に基づく。
【００６３】
I-Graphicsデコーダ１３は、BD-ROM、HDから読み出されたインタラクティブグラフィクスストリームをデコードして、ラスタグラフィクスをEnhanced Interactive Graphicsプレーン１５に書き込む。インタラクティブグラフィクスストリームのデコードにより、対話画面を構成するボタンが画面上に現れることになる。
スイッチ１４は、フォントゼネレータ１２が生成したフォント列及びJava（登録商標）オブジェクトがダイレクトに描画した描画内容、I-Graphicsデコーダ１３が生成したボタンの何れかを選択的にEnhanced Interactive Graphicsプレーン１５に投入するスイッチである。
【００６４】
Enhanced Interactive Graphicsプレーン１５は、ムービーモードとエンハンスドモードとでメモリアロケーションが変わるグラフィックスプレーンである。図２２（ａ）はムービーモードにおけるEnhanced Interactive Graphicsプレーン１５のメモリアロケーションを示す図であり、図２２（ｂ）はエンハンスドモードにおけるEnhanced Interactive Graphicsプレーン１５のメモリアロケーションを示す図である。ムービーモードにおけるメモリアロケーションとは、図２２（ａ）に示すように横1920×縦1080の8ビット領域からなる。これは1920×1080の解像度で、1画素当たり8ビットのインデックス値を格納できるメモリアロケーションである。一方、エンハンスドモードにおけるメモリアロケーションとは、図２２（ｂ）に示すように横960×縦540の32ビット領域からなる。これは960×540の解像度で、1画素当たり32ビットのRGB値を格納できるメモリアロケーションである。ムービーモードにおける一画素当たりの割当ビット長が8ビットであり、16,777,216色から選ばれた256色しか表現できないことに比べれば、Enhanced Interactive グラフィクスプレーンは自然色に近い発色が可能になっている。これは、2×2画素を1画素に間引き、1画素当たりの発色数を増やすことにより、華やかなで動きのある画面描画を実現することを意図している。Enhanced Interactive Graphicsプレーン１５がどちらのメモリアロケーションになるかは、再生装置における動作モードに基づく。動作モードがムービーモードならEnhanced Interactive Graphicsプレーン１５は、横1920×縦1080×8ビット領域のメモリアロケーションになり、エンハンスドモードならEnhanced Interactive Graphicsプレーン１５は横960×縦540×32ビット領域のメモリアロケーションになる。
【００６５】
合成部１６は、非圧縮状態のピクチャデータ(i)、Background stillプレーン６の格納内容が合成されたピクチャデータ(ii)、Presentation Graphicsプレーン１０及びBackground stillプレーン６の格納内容と合成されたピクチャデータ(iii)をEnhanced Interactive Graphicsプレーン１５の格納内容と合成する。
HDD１７は、BD-ROMに記録されているAVClip、Clip情報、PL情報、動的シナリオのアップデート版を格納した記録媒体である。HDDの記録内容を読み出し、BD-ROMの記録内容と動的に組み合わせることにより、BD-ROMに存在しないオーディオストリーム、グラフィクスストリームの再生や、BD-ROMに存在しない静的シナリオ、動的シナリオによる再生を実現することができる。
【００６６】
リードバッファ１８は、FIFOメモリであり、HDD１７から読み出されたACCESS UNITが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX)１９は、リードバッファ１８からACCESS UNITを取り出して、このACCESS UNITを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、Playable＿PID＿entriesに示されたPIDをもつものをオーディオデコーダ２０、P-Graphicsデコーダ９のどれかに出力する。
【００６７】
オーディオデコーダ２０は、デマルチプレクサ１９から出力されたPESパケットを復号して、非圧縮形式のオーディオデータを出力する。
スイッチ２１は、オーディオデコーダ２０への入力源を切り換えるためのスイッチであり、本スイッチによりオーディオデコーダ２０への入力は、BD-ROM側、HDD側に切り換わる。
【００６８】
スイッチ２２は、P-Graphicsデコーダ９への入力源を切り換えるスイッチであり、本スイッチ２２によりHDから読み出されたプレゼンテーショングラフィクスストリーム、BD-ROMから読み出されたプレゼンテーショングラフィクスストリームを選択的にP-Graphicsデコーダ９に投入することができる。
静的シナリオメモリ２３は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMに記録されている複数PL情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
【００６９】
動的シナリオメモリ２４は、カレント動的シナリオを格納しておき、DVDライクモジュール３３〜BROWSERモジュール３５による処理に供するメモリである。カレント動的シナリオとは、BD-ROMに記録されている複数シナリオのうち、現在実行対象になっているものをいう。
スイッチ２５は、BD-ROM及びHDから読み出された各種データを、リードバッファ２、リードバッファ１８、静的シナリオメモリ２３、動的シナリオメモリ２４のどれかに選択的に投入するスイッチである。
【００７０】
CLUT部２６は、ビデオプレーン５に格納されたラスタグラフィクスにおけるインデックスカラーを、PDSに示されるY,Cr,Cb値に基づき変換する。
CLUT部２７は、Enhanced Interactive Graphicsプレーン１５に格納されたラスタグラフィクスにおけるインデックスカラーを、プレゼンテーショングラフィクスストリームに含まれるPDSに示されるY,Cr,Cb値に基づき変換する。
【００７１】
スイッチ２８は、エンハンスドモードにおいてCLUT部２７による変換をスルー出力するよう切り換えるスイッチである。
制御部２９は、PlayItemに含まれるPlayable＿PID＿entriesを、ビデオデコーダ４に出力することにより、AVClipに多重化されているエレメンタリストリームのうち、どれを再生するかをビデオデコーダ４に命じる(Stream Selection)。再生すべきエレメンタリストリームを、PlayItemを介して指定するのは、Java（登録商標）オブジェクトによるPresentation Graphicsプレーン１０のダイレクトアクセスは禁止されているからである。そうしてPlayable＿PID＿entriesに示されるエレメンタリストリームがAVClipから読み出されれば、Enhanced Interactive Graphicsプレーン１５をダイレクトにアクセスするか(Dynamic graphics drawing)、或は、テキストやフォント種をフォントゼネレータ１２に与えることにより(Text and Font)、フォントゼネレータ１２にフォント列を生成させ、Enhanced Interactive Graphicsプレーン１５に配置させる。こうしてEnhanced Interactive Graphicsプレーン１５の描画がなされれば、ビデオプレーン５の格納内容の拡大・縮小を命じた上で、Enhanced Interactive Graphicsプレーン１５の格納内容を合成部１６に合成させる(Display layout Control)。
【００７２】
以上が再生装置の内部構成である。図２３は、制御部２９の内部構成を示す図である。本図に示すように制御部２９は、再生制御エンジン３１、プレーヤレジスタ３２、DVDライクモジュール３３、Java（登録商標）モジュール３４、BROWSERモジュール３５、UOコントローラ３６、モジュールマネージャ３７から構成される。
再生制御エンジン３１は、DVD互換プログラムであり、AV再生機能(1)、プレイリストの再生機能(2)、再生装置における状態取得／設定機能(3)といった諸機能を実行する。再生装置のAV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始(Play)、再生停止(Stop)、一時停止(Pause On)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(Backward Play(speed))、音声切り換え(Audio Change)、副映像切り換え(Subtitle Change)、アングル切り換え(Angle Change)といった処理をユーザからの操作に応じて実行することである。PL再生機能とは、このAV再生機能のうち、再生開始や再生停止をPL情報に従って行うことをいう。このPL再生機能の実行により、再生制御エンジン３１はレイヤモデルの第３層(静的なシナリオに基づく再生制御)の役割を果たす。再生制御エンジン３１は、AV再生機能をユーザからの操作に従って実行する。一方、機能(2)〜(3)を、DVDライクモジュール３３〜BROWSERモジュール３５からの関数呼出に応じて実行する。つまり再生制御エンジン３１は、ユーザ操作による指示、レイヤモデルにおける上位層からの指示に応じて、自身の機能を実行する。
【００７３】
プレーヤレジスタ３２は、32個のSystem Parameter Registerと、32個のGeneral Purppose Registerとからなる。これらのレジスタの格納値は変数SPRM,GPRMとしてプログラミングに利用される。System Parameter Register、及び、General Purppose Registerは、DVDライクモジュール３３〜BROWSERモジュール３５から分離した再生制御エンジン３１で管理されるため、たとえ再生モードの切り換わりが生じたとしても、切換後の再生モードを実行するモジュールは、再生制御エンジン３１におけるSPRM(0)〜(31)、GPRM(0)〜(31)を参照しさえすれば、再生装置の再生状態を知得することができる。
【００７４】
DVDライクモジュール３３は、MOVIEモードの実行主体となるDVD仮想プレーヤであり、動的シナリオメモリ２４に読み出されたカレントのMOVIEオブジェクトを実行する。
Java（登録商標）モジュール３４は、Java（登録商標）プラットフォームであり、動的シナリオメモリ２４に読み出されたZZZ.CLASSからカレントのJava（登録商標）オブジェクトを生成し、実行する。かかる実行は、Java（登録商標）言語で記述されたJava（登録商標）オブジェクトを、再生装置におけるCPUのネィティブコードに変換して、CPUに実行させることにより実現される。
【００７５】
BROWSERモジュール３５は、Browserモードの実行主体となるブラウザであり、動的シナリオメモリ２４に読み出されたカレントのWebPageオブジェクトを実行する。
UOコントローラ３６は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報(以降UO(User Operation)という)をモジュールマネージャ３７に出力する。
【００７６】
モジュールマネージャ３７は、モード管理及び分岐制御を行う。モジュールマネージャ３７によるモード管理とは、動的シナリオをどのDVDライクモジュール３３〜BROWSERモジュール３５に実行させるかという、モジュールの割り当てである。モジュール割り当ての原則は、動的シナリオをDVDライクモジュール３３に実行させるというものである。イントラモードでの分岐(同一モード内の分岐)があったとしても、この原則は維持される。例外は、インターモードでの分岐(モード間の分岐)が発生した場合である。MOVIEオブジェクトからJava（登録商標）オブジェクト／WebPageオブジェクトへの分岐が発生した場合、Java（登録商標）モジュール３４、BROWSERモジュール３５がカレントオブジェクトを実行することになる。またモジュールマネージャ３７は、UOコントローラ３６がUOを受け付けた際、そのUOを示すイベント(ユーザイベント)を生成して再生制御エンジン３１、Java（登録商標）モジュール３４、BROWSERモジュール３５に出力する。
【００７７】
本実施形態における再生装置の処理は、再生制御エンジン３１が、図２４の処理手順を実行することにより実現される。
図２４は、再生制御エンジン３１によるPLPlayコマンドの実行手順を示すフローチャートである。本フローチャートにおいて処理対象たるPlayItemをPIy、処理対象たるACCESS UNITをACCESS UNITvとする。本フローチャートは、LinkPLの引数で指定されたカレントPL情報(.mpls)の読み込みを行い(ステップＳ１)、カレントPL情報の先頭のPI情報をPIyにする(ステップＳ２)。そして PIyのClip＿information＿file＿nameで指定されるClip情報を読み込む(ステップＳ３)。
【００７８】
Clip情報を読み込めば、PIyのPlayable＿PID＿entriesをデマルチプレクサ３に設定する。これによりPIyにて再生が行われている間、このPIyのPlayable＿PID＿entriesは有効となる。
このようにPlayable＿PID＿entriesが有効になれば、カレントClip情報のEP＿mapを用いてPIyのIN＿timeを、アドレスに変換する(ステップＳ５)。そして変換アドレスにより特定されるACCESS UNITを ACCESS UNITvにする(ステップＳ６)。一方、PIyのOut＿timeを,カレントClip情報のEP＿mapを用いてアドレスに変換する(ステップＳ７)。そして、その変換アドレスにより特定されるACCESS UNITをACCESS UNITwにする(ステップＳ８)。
【００７９】
こうしてACCESS UNITv,wが決まれば、ACCESS UNITvからACCESS UNITwまでの読み出しをBDドライブ１に命じ(ステップＳ９)、PIyのIN＿timeからOut＿timeまでのデコード出力をビデオデコーダ４、オーディオデコーダ２０に命じる(ステップＳ１０)。
ステップＳ１１は、本フローチャートの終了判定であり、PIyがPIzになったかを判定している。もしステップＳ１１がYesなら本フローチャートを終了し、そうでないなら、PIyのPlayable＿PID＿entriesをデマルチプレクサ３から解放した上で(ステップＳ１２)、PIyを次のPlayItemに設定し(ステップＳ１３)、ステップＳ３に戻る。以降、ステップＳ１１がYesと判定されるまで、ステップＳ１〜ステップＳ１０の処理は繰り返される。以上が再生制御エンジン３１の処理手順である。
【００８０】
以上のように本実施形態によれば、AVClipに多重化されている複数エレメンタリストリームのうち、どれを再生可とし、どれを再生不可とするフィルタ指定を、PlayItemにもたせるので、各モードの動的シナリオは自身に応じたPlayItemを選ぶことにより、AVClipに多重化されているエレメンタリストリーム内のボタン、字幕、ボタンコマンドによる影響を避けることができる。
(第２実施形態)
第２実施形態は、UOの発生時における再生制御エンジン３１、Java（登録商標）モジュール３４との競合を回避することができる実施形態に関する。Java（登録商標）モジュール３４は、処理を行うにあたって、ユーザによりなされた操作を示すユーザイベントをトリガとする。これは再生制御エンジン３１も同様であり、再生制御エンジン３１はインタラクティブグラフィクスストリームの再生時に対話制御を行うにあたって、ユーザイベントをトリガにして処理を行う。そうすると1つのユーザイベントにより再生装置内では再生制御エンジン３１、Java（登録商標）モジュール３４の双方が動作するという不都合が生じる。これを避けるにはエンハンスドモードにおいて再生制御エンジン３１を動作させないようにしておけばよい。しかし再生制御エンジン３１はJava（登録商標）モジュール３４からの関数呼出に応じて機能を提供することが有り、再生制御エンジン３１の動作を止める訳にはいかない。これらのことに鑑み第２実施形態では、ある種のUOについては再生制御エンジン３１に出力しないよう処理する。図２５は、第２実施形態に係る制御部２９の内部構成を示す図である。本図で新規なのは、マスクテーブル保持部３８が設けられており、モジュールマネージャ３７はマスクテーブル保持部３８の設定に従い、ユーザイベントを発生する点である。
【００８１】
マスクテーブル保持部３８はマスクテーブルを保持する。マスクテーブルとは、モジュールマネージャ３７が発生し得る複数ユーザイベントをマスクするか否かを示す。ユーザイベントには、リモコンにおけるMoveUpキー,MoveDownキー,MoveRightキー,MoveLeftキー,activateキー,数値キー,特殊再生(早送り,巻戻し,タイムサーチ,チャプターサーチ)の押下を示すものがあり、これらユーザイベントのマスクとは、これらのキーが押下がされたとしても、この押下を示すユーザイベントを再生制御エンジン３１に出力しないことを示す。
【００８２】
マスクテーブル保持部３８に対するマスクテーブルの設定には、PlayItemに示されているUO＿mask＿Tableを読み出して、そのままマスクテーブル保持部３８に保持させるというものと(1)、PlayItemに示されているUO＿mask＿Tableを読み出し、変換を施した上でマスクテーブル保持部３８に保持させるというものがある(2)。この変換は、PlayItemに示されるUO＿mask＿Tableと、所定のビットパターンとの論理和をとり、論理和の結果をマスクテーブル保持部３８に書き込むことでなされる。
【００８３】
図２６は、UO＿mask＿Tableが設けられたPlayItemを示す図である。本図においてUO＿mask＿Tableは、move＿up＿selected＿button＿maskフラグ、move＿down＿selected＿button＿maskフラグ、move＿left＿selected＿button＿maskフラグ、move＿right＿selected＿button＿maskフラグ、select＿button＿maskフラグ、activate＿button＿maskフラグ、select＿and＿activate＿button＿maskフラグ、TrickPlay＿maskフラグを含む。
【００８４】
move＿up＿selected＿button＿maskフラグは、MoveUpキー押下を示すユーザイベントをマスクするか否かを示す。
move＿down＿selected＿button＿maskフラグは、MoveDownキー押下を示すユーザイベントをマスクするか否かを示す。
move＿left＿selected＿button＿maskフラグは、MoveLeftキー押下を示すユーザイベントをマスクするか否かを示す。
【００８５】
move＿right＿selected＿button＿maskフラグは、MoveRightキー押下を示すユーザイベントをマスクするか否かを示す。
select＿button＿maskフラグは、数値キー押下を示すユーザイベントをマスクするか否かを示す。
activate＿button＿maskフラグは、activateキー押下を示すユーザイベントをマスクするか否かを示す。
【００８６】
select＿and＿activate＿button＿maskフラグは、数値キー押下を示すユーザイベントをマスクするか否かを示す。
TrickPlay＿maskフラグは、早送り,巻戻し,タイムサーチ,チャプターサーチの操作を示すユーザイベントをマスクするか否かを示す。
かかるUO＿mask＿TableがPlayItemに設けられているので、再生制御エンジン３１はPlayItemによる再生を開始するにあたって、そのPlayItemに含まれるUO＿mask＿Tableをマスクテーブルとしてマスクテーブル保持部３８に設定し、PlayItemによる再生が終了するにあたってマスクテーブル保持部３８におけるマスクテーブルを削除する。
【００８７】
一方、エンハンスドモードで参照されるPlayItemでは、上述したUO＿mask＿Tableをマスクするよう設定しておき、ムービーモードで参照されるPlayItemでは、上述したUO＿mask＿Tableをマスクしないよう設定しておけば、再生装置側でかかる設定・削除が行われることにより、PlayItemという論理的な再生区間で、再生制御エンジン３１、Java（登録商標）モジュール３４間の競合を避けることができる。
【００８８】
またムービーモードで参照されるPlayItemであっても、あるPlayItemでは、上述したUO＿mask＿Tableをマスクしないよう設定しておき、別のPlayItemでは、上述したUO＿mask＿Tableをマスクするよう設定しておけば、あるバージョンのTitleにおいてユーザオペレーションが受け付けられ、別のバージョンのTitleでは、ユーザオペレーションが受け付けられないというユーザオペレーションの使い分けをすることができる。かかる使い分けにより、デモンストレーションバージョンの作成が容易になるとのメリットがある。
(第３実施形態)
本実施形態は、BD-ROMの製造工程に関する実施形態である。図２７は、BD-ROMの製造工程を示すフローチャートである。
【００８９】
BD-ROMの制作工程は、動画収録、音声収録等の素材作成を行う素材制作工程Ｓ１０１、オーサリング装置を用いて、アプリケーションフォーマットを生成するオーサリング工程Ｓ１０２、BD-ROMの原盤を作成し、プレス・貼り合わせを行って、BD-ROMを完成させるプレス工程１０３を含む。
これらの工程のうち、BD-ROMを対象としたオーサリング工程は、ステップＳ１０４〜ステップＳ１０９という工程からなる。
【００９０】
シナリオ編集工程Ｓ１０４とは、企画段階において作成された筋書きを再生装置が理解できる形式に変換する工程である。シナリオ編集の結果は、BD-ROM用シナリオとして生成される。また、このシナリオ編集において、多重化を実現するため多重化パラメータの等も生成される。本実施形態では、このシナリオ編集の工程において、フィルタリング指定が互いに異なる複数PlayItem情報を生成し(ステップＳ１０４)、どれかのPlayItem情報を用いた再生制御を、DVD向けコマンド又はJava（登録商標）言語で記述して動的シナリオを生成する(ステップＳ１０５)。かかる工程にて静的シナリオ、動的シナリオが完成する。
【００９１】
素材エンコード工程Ｓ１０６とは、ビデオ素材、オーディオ素材、副映像素材のそれぞれをエンコードして、ビデオストリーム、オーディオストリーム、グラフィクスストリームを得る作業である。
多重化工程Ｓ１０７では、素材エンコードにより得られた、ビデオストリーム、オーディオストリーム、グラフィクスストリームをインターリーブ多重して、これらを1本のデジタルストリームに変換する。
【００９２】
フォーマッティング工程Ｓ１０８では、BD-ROM向けシナリオを元に、各種情報を作成して、シナリオ及びデジタルストリームをBD-ROMのフォーマットに適合させる。
エミュレーション工程Ｓ１０９では、オーサリング作業の結果が正しいか否かの確認を行う。
上述したシナリオ編集工程において、Java（登録商標）オブジェクト及びWebPageオブジェクトは、Java（登録商標）言語、マークアップ言語を用いた記述が可能であるから、通常のコンピュータ向けのソフトウェアを開発するのと同じ感覚で、開発することができる。よって本実施形態では、このシナリオ制作の効率を高めることができるという効果がある。
【００９３】
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の［技術分野］の、出願当時の技術水準の特性に基づく。しかし請求項に係る各発明は、従来技術の技術的課題を解決するための手段を反映したものであるから、請求項に係る各発明の技術範囲は、従来技術の技術的課題解決が当業者により認識される技術範囲を超えることはない。故に、本願の請求項に係る各発明は、詳細説明の記載と、実質的な対応関係を有する。
【００９４】
(A)全ての実施形態では、本発明に係る光ディスクをBD-ROMとして実施したが、本発明の光ディスクは、記録される動的シナリオ、Index Tableに特徴があり、この特徴は、BD-ROMの物理的性質に依存するものではない。動的シナリオ、Index Tableを記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、DVD-ROM,DVD-RAM,DVD-RW,DVD-R,DVD+RW,DVD+R,CD-R,CD-RW等の光ディスク、PD,MO等の光磁気ディスクであってもよい。また、コンパクトフラッシュ（登録商標）カード、スマートメディア、メモリスティック、マルチメディアカード、PCM-CIAカード等の半導体メモリカードであってもよい。フレシキブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク(i)、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバルハードディスクドライブ(ii)であってもよい。更に、機器内蔵型のハードディスクであってもよい。
【００９５】
動的シナリオ、Index Table、プレイリスト情報は、AVClip及びストリーム管理情報と別々の記録媒体に記録されてもよい。そしてこれらをパラレルに読み出して、1つの映画作品として再生させてもよい。
(B) 全ての実施形態における再生装置は、BD-ROMに記録されたAVClipをデコードした上でTVに出力していたが、再生装置をBD-ROMドライブのみとし、これ以外の構成要素をTVに具備させてもい、この場合、再生装置と、TVとをIEEE1394で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレィと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなす部分のみを、再生装置としてもよい。これらの再生装置は、何れも本願明 細 書に記載された発明であるから、これらの何れの態様であろうとも、第１実施形態〜第３実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第１実施形態〜第３実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。製品・半製品を所持して、店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
【００９６】
(C)図２４のフローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、第１実施形態〜第３実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
【００９７】
(D)図２４のフロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
【００９８】
(E)BD-ROMに記録するにあたって、AVClipを構成する各TSパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、TP＿extra＿headerと呼ばれ、『Arribval＿Time＿Stamp』と、『copy＿permission＿indicator』とを含み4バイトのデータ長を有する。TP＿extra＿header付きTSパケット(以下EX付きTSパケットと略す)は、32個毎にグループ化されて、3つのセクタに書き込まれる。32個のEX付きTSパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のEX付きTSパケットを”Aligned Unit”という。
【００９９】
IEEE1394を介して接続されたホームネットワークでの利用時において、再生装置２００は、以下のような送信処理にてAligned Unitの送信を行う。つまり送り手側の機器は、Aligned Unitに含まれる32個のEX付きTSパケットのそれぞれからTP＿extra＿headerを取り外し、TSパケット本体をDTCP規格に基づき暗号化して出力する。TSパケットの出力にあたっては、TSパケット間の随所に、isochronousパケットを挿入する。この挿入箇所は、TP＿extra＿headerのArribval＿Time＿Stampに示される時刻に基づいた位置である。TSパケットの出力に伴い、再生装置２００はDTCP＿Descriptorを出力する。DTCP＿Descriptorは、TP＿extra＿headerにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようDTCP＿Descriptorを記述しておけば、IEEE1394を介して接続されたホームネットワークでの利用時においてTSパケットは、他の機器に記録されることはない。
【０１００】
(F)各実施形態において、記録媒体に記録されるデジタルストリームはAVClipであったが、DVD-Video規格、DVD-Video Recording規格のVOB(Video Object)であってもよい。VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818-1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリームは、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear-PCM方式、Dolby-AC3方式、MP3方式、MPEG-AAC方式であってもよい。
【０１０１】
(G)BD-ROMのレイヤモデルにおいて、Java（登録商標）モードの上にブラウザモード及びMOVIEモードを配置してもよい。特にMOVIEモードでの動的シナリオの解釈や、動的シナリオに基づく制御手順の実行は、再生装置に対する負担が軽いので、MOVIEモードをJava（登録商標）モード上で実行させても何等問題は生じないからである。また再生装置や映画作品の開発にあたって、動作保証が1つのモードで済むからである。
【０１０２】
更に3つのモードを設けず、Java（登録商標）モードだけでJava（登録商標）モードの処理を実行してもよい。Java（登録商標）モードでもPLの再生と同期した再生制御が可能になるから、強いてMOVIEモードを設けなくてもよいという理由による。更に動的シナリオにおける制御は、MOVIEモードだけでも、ブラウザモードだけでもよい。
(H)PLを構成する2以上のPlay Itemを連続再生させるには、これらのPlay Itemがシームレス接続されるよう、加工を施しておくことが望ましい。
【０１０３】
シームレス接続のための加工は、動画データにおいて先行する側の再生区間の終端部と、後続する側の再生区間の先端部とを複製することにより、予め複製部分を作成しておき、これらを再エンコードすることで、実現される。尚、シームレス接続のために作成された複製部分を、Bridge-Clipと呼んでもよい。
ここで終端部と、先端部は、以下のように設定するのが望ましい。
【０１０４】
つまり先行するAVClip#xのうち先行再生区間のOut点を含むACCESS UNITから、2個先のACCESS UNITまでを終端部とし、また後続するPlay Item情報#x+1のうち後続再生区間のIn点を含むACCESS UNITを先端部とするのが望ましい。終端部及び先端部をこのように定める根拠は、同出願人の先行技術米国特許USP,6148,140公報により記載されているので、詳細に関してはこの公報を参照されたい。
【０１０５】
更に、シームレス接続のために作成された複製部分については、シームレス接続情報をClip情報に設けておくことが望ましい。シ−ムレス接続情報とは、最初のビデオフレームの再生開始時刻、最後のビデオフレームの再生終了時刻、オーディオギャップの開始時刻、オーディオギャップの時間長、オーディオギャップの位置情報を含む情報である。かかるシームレス接続情報が定義されていれば、最初のビデオフレームの再生開始時刻、最後のビデオフレームの再生終了時刻から、両区間のタイムスタンプの差(STC-Offset)を計算して、再生装置に設定することができる。また、これらオーディオギャップの情報を参照して、オーディオデコーダを制御すれば、1つの区間から別の区間への移行する際の音声の途切れを防止することができる。
【０１０６】
(I)Java（登録商標）オブジェクトは、Java（登録商標）言語で記述されるアプリケーションであればどのようなものであってもよい。例えば電子商取引(EC(Electronic Commerce))のクライアントアプリケーションであってもよい。映画作品の動画を交えながら商品案内を行うようなJava（登録商標）オブジェクトを実現することができるので、映画作品に関連するキャラクタビジネスを成功に導くことができる。またJava（登録商標）オブジェクトのアプリケーションは、ネット対戦型のオンラインゲームであってもよい。
【０１０７】
Java（登録商標）オブジェクトが用いるようなライブラリィをBD-ROMに記録しておいてもよい。そのようなライブラリィには、PNGファイル、アニメーションデータを格納したMNGファイル、ストリームに関連した情報を格納したXMLファイル、HTML/SMILファイルがある。
WebPageオブジェクトがWEBサイトから取得する情報は、WEBページであってもよいし、画像データであってもよい。また、AVストリーム、ストリーム管理情報、PL情報であってもよい。またWebPageオブジェクトは、検索エンジンと連携して処理を行ってもよい。
【０１０８】
更に、エンハンスドモードにおける記述言語は、C++やC#言語であってもよい。
(J)Java（登録商標）モジュールは、衛星放送受信のために機器に組み込まれたJava（登録商標）プラットフォームであってもよい。Java（登録商標）モジュールがかかるJava（登録商標）プラットフォームであれば、本発明に係る生成装置は、MHP用STBとしての処理を兼用することになる。
【０１０９】
更に携帯電話の処理制御のために機器に組み込まれたJava（登録商標）プラットフォームであってもよい。かかるJava（登録商標）モジュールがかかるJava（登録商標）プラットフォームであれば、本発明に係る生成装置は、携帯電話としての処理を兼用することになる。
またBROWSERモジュールは、MicroSoft社のInternet Explore等、パソコン組み込み型のブラウザソフトであってもよい。
【０１１０】
(K)Java（登録商標）オブジェクトは、Java（登録商標）言語で記述されるアプリケーションであればどのようなものであってもよい。例えば電子商取引(EC(Electronic Commerce))のクライアントアプリケーションであってもよい。映画作品の動画を交えながら商品案内を行うようなJava（登録商標）オブジェクトを実現することができるので、映画作品に関連するキャラクタビジネスを成功に導くことができる。またJava（登録商標）オブジェクトのアプリケーションは、ネット対戦型のオンラインゲームであってもよい。
【０１１１】
Java（登録商標）オブジェクトが用いるようなライブラリィをBD-ROMに記録しておいてもよい。そのようなライブラリィには、PNGファイル、アニメーションデータを格納したMNGファイル、ストリームに関連した情報を格納したXMLファイル、HTML/SMILファイルがある。
【０１１２】
WebPageオブジェクトがWEBサイトから取得する情報は、WEBページであってもよいし、画像データであってもよい。また、AVストリーム、ストリーム管理情報、PL情報であってもよい。またWebPageオブジェクトは、検索エンジンと連携して処理を行ってもよい。更に、エンハンスドモードにおける記述言語は、C++やC#言語,Perlであってもよい。
【産業上の利用可能性】
【０１１３】
本発明に係る記録媒体、再生装置は、対話的な制御を映画作品に付与することができるので、より付加価値が高い映画作品を市場に供給することができ、映画市場や民生機器市場を活性化させることができる。故に本発明に係る記録媒体、再生装置は、映画産業や民生機器産業において高い利用可能性をもつ。
【図面の簡単な説明】
【０１１４】
【図１】デジタルストリームに多重化されたグラフィクスが再生装置により読み出されて表示される様子を模式的に示す図である。
【図２】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図３】BD-ROMの構成を示す図である。
【図４】ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現した図である。
【図５】機能的な観点から、BD-ROM上のファイルを分類した場合の分類図である。
【図６】BD-ROMが対象としているレイヤモデルを示す図である。
【図７】AVClipがどのように構成されているかを模式的に示す図である。
【図８】Clip情報の内部構成を示す図である。
【図９】PL情報の内部構成を示す図である。
【図１０】PL情報による間接参照を模式化した図である。
【図１１】図１０に示したPL情報(PL情報#1)と別のPL(PL情報#2)を定義する場合の一例を示す図である。
【図１２】レイヤモデルの第４層における再生モードを示す図である。
【図１３】Java（登録商標）言語が対象とするJava（登録商標）プラットフォームのレイヤモデルを示す図である。
【図１４】はPlayable＿PID＿entriesの内部構成を示す図である。
【図１５】MOVIEオブジェクト、Java（登録商標）オブジェクトにより再生制御がなされる、PLの階層構造を示す図である。
【図１６】PlayItem#3,#12におけるplayable＿PID＿entriesにより、どのようにフィルタ指定が行われるかを示す図である。
【図１７】PlayItem#3のPlayable＿PID＿entriesにより、どのような再生出力が可能になるかを示す図である。
【図１８】AVClip毎の多重化数のバラツキを示す図である。
【図１９】ムービーモードでのMOVIEオブジェクトによるエレメンタリストリーム選択を示す図である。
【図２０】エンハンスドモードでのJava（登録商標）オブジェクトによるエレメンタリストリーム選択を示す図である。
【図２１】本発明に係る再生装置の内部構成を示す図である。
【図２２】（ａ）ムービーモードにおけるEnhanced Interactive Graphicsプレーン１５のメモリアロケーションを示す図である。
【０１１５】
（ｂ）エンハンスドモードにおけるEnhanced Interactive Graphicsプレーン１５のメモリアロケーションを示す図である。
【図２３】制御部２９の内部構成を示す図である。
【図２４】再生制御エンジン３１によるPLPlayコマンドの実行手順を示すフローチャートである。
【図２５】第２実施形態に係る制御部２９の内部構成を示す図である。
【図２６】UO＿mask＿Tableが設けられたPlayItemを示す図である。
【図２７】BD-ROMの製造工程を示すフローチャートである。
【符号の説明】
【０１１６】
１    BDドライブ
２    リードバッファ
３    デマルチプレクサ
４    ビデオデコーダ
５    ビデオプレーン
６    プレーン
７    合成部
８    スイッチ
９    デコーダ
１０    Presentation Graphicsプレーン
１１    合成部
１２    フォントゼネレータ
１３    I-Graphicsデコーダ１３
１４    スイッチ
１５    Enhanced Interactive Graphicsプレーン
１６    合成部
１８    リードバッファ
１９    デマルチプレクサ
２０    オーディオデコーダ
２１    スイッチ
２２    スイッチ
２３    静的シナリオメモリ
２４    動的シナリオメモリ
２５    スイッチ
２６    CLUT部
２７    CLUT部
２８    スイッチ
２９    制御部
３１    再生制御エンジン
３２    プレーヤレジスタ
３３    DVDライクモジュール
３４    Java（登録商標）モジュール
３５    BROWSERモジュール
３６    UOマネージャ
３７    モジュールマネージャ
２００    再生装置
３００    テレビ
４００    リモコン
【図１】
2006191653.tif 000003
【図２】
2006191653.tif 000004
【図３】
2006191653.tif 000005
【図４】
2006191653.tif 000006
【図５】
2006191653.tif 000007
【図６】
2006191653.tif 000008
【図７】
2006191653.tif 000009
【図８】
2006191653.tif 000010
【図９】
2006191653.tif 000011
【図１０】
2006191653.tif 000012
【図１１】
2006191653.tif 000013
【図１２】
2006191653.tif 000014
【図１３】
2006191653.tif 000015
【図１４】
2006191653.tif 000016
【図１５】
2006191653.tif 000017
【図１６】
2006191653.tif 000018
【図１７】
2006191653.tif 000019
【図１８】
2006191653.tif 000020
【図１９】
2006191653.tif 000021
【図２０】
2006191653.tif 000022
【図２１】
2006191653.tif 000023
【図２２】
2006191653.tif 000024
【図２３】
2006191653.tif 000025
【図２４】
2006191653.tif 000026
【図２５】
2006191653.tif 000027
【図２６】
2006191653.tif 000028
【図２７】
2006191653.tif 000029