(57)【要約】      （修正有）【課題】ストリームや再生経路の数を増やすことなく、映画作品を充実させることができる記録媒体を提供する。【解決手段】記録媒体であるBD-ROMには、AVClipと、動的シナリオとが記録されている。動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されている。属性情報は、AVClipの再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、title_search_maskフラグを含んでおり、title_search_maskフラグは、動的シナリオによる動画データ再生中にユーザがタイトルサーチを要求した場合、その要求をマスクするか否かを示す。【選択図】図１３
2008112561.tif 000002
【特許請求の範囲】
【請求項１】
動画データと、動的シナリオとが記録された記録媒体であって、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
サーチマスクフラグは、動的シナリオによる動画データ再生中にユーザがタイトルサーチを要求した場合、その要求をマスクするか否かを示す
ことを特徴とする記録媒体。
【請求項２】
動画データ及び動的シナリオが記録された記録媒体についての再生装置であって、
動的シナリオに示される制御手順を解読するモジュールと、
モジュールによる解読に従い、動画データを再生する再生手段と、
動画データの再生中に、ユーザによる要求を受け付ける受付手段とを備え、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
受付手段は、サーチマスクフラグがオンを示している場合、動画データ再生中のユーザによるタイトルサーチ要求をマスクする
ことを特徴とする再生装置。
【請求項３】
記録媒体の記録方法であって、
アプリケーションデータを作成するステップと、
作成したデータを記録媒体に記録するステップとを有し、
前記アプリケーションデータは、
動画データと、動的シナリオとを含み、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体は、複数タイトルが記録されるものであり、
属性情報は、サーチマスクフラグを含み、
サーチマスクフラグは、動的シナリオによる動画データ再生中にユーザがタイトルサーチを要求した場合、その要求をマスクするか否かを示す
ことを特徴とする記録方法。
【請求項４】
動的シナリオに従って、記録媒体に記録された動画データを再生する制御を、再生装置内で実行する集積回路であって、
動的シナリオに示される制御手順を解読するモジュールと、
モジュールによる解読に従い、動画データを再生する再生手段と、
動画データの再生中に、ユーザによる要求を受け付ける受付手段とを備え、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
受付手段は、サーチマスクフラグがオンを示している場合、動画データ再生中のユーザによるタイトルサーチ要求をマスクする
ことを特徴とする集積回路。
【請求項５】
動画データ及び動的シナリオが記録された記録媒体についての再生方法であって、
動的シナリオに示される制御手順の実行、
動画データの再生、
動画データの再生中における、ユーザによる要求の受け付けを含み、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
前記ユーザによる要求受付けは、サーチマスクフラグがオンを示している場合、動画データ再生中のユーザによるタイトルサーチ要求をマスクする
ことを特徴とする再生方法。
【請求項６】
動画データ及び動的シナリオが記録された記録媒体についての再生をコンピュータに実行させるプログラムであって、
動的シナリオに示される制御手順の実行、
動画データの再生、
動画データの再生中における、ユーザによる要求の受け付けをコンピュータに実行させ、
前記動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
前記属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
前記ユーザによる要求受付けは、サーチマスクフラグがオンを示している場合、動画データ再生中のユーザによるタイトルサーチ要求をマスクする
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
BD-ROM等、映画作品の頒布のための記録媒体と、その再生装置とに関し、特に、動的な再生制御を実現する映画作品を提供する場合の改良に関する。
【背景技術】
【０００２】
DVD-ROM,BD-ROMの販売にあたっては、1枚のディスクで販売できる映画作品(タイトル)のバリエーションの数が多ければ多いほど、商品としての付加価値は高まる。タイトルのバリエーションを増やすにあたって、静的シナリオ、動的シナリオと呼ばれるシナリオデータは、積極的な役割をもつ。静的なシナリオとは、ディスク制作者によって予め規定された再生経路を示す情報である。これに対し動的なシナリオとは、装置の状態設定によって再生進行を動的に変化させるシナリオである。
【０００３】
図１は、動的シナリオを示す図である。かかる動的シナリオは、再生装置における言語設定によって再生シーンを切り替える「ランゲージクレジット」を実現する。図１において”PL”とは、再生経路であるPlayLIstを意味し、”PI”とは、再生区間であるPlayItemを意味する。本図における動的シナリオは、再生装置における言語設定(SPRM(0))が「日本語」なら(if(SPRM(0)==Japanese))、再生経路PL＃4の再生区間PI＃1を再生し(Link(PL＃4,PI＃1)、再生装置における言語設定がそれ以外なら(else)、再生経路PL＃2における再生区間PI＃1を再生する(Link(PL＃2,PI＃1)という条件付き再生を実現する。かかる条件付き再生により、ユーザによる言語設定に応じて異なる再生経路による再生がなされることになる。図中（ｂ）の矢印hb1,hb2は、動的シナリオによる条件付き分岐を象徴的に示したものである。尚、DVDの再生制御に関する先行技術には、以下の特許文献1に記載されたものが知られている。
【特許文献１】特許第2856363号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献1では、ユーザ操作の可否をストリームレベル、再生経路で設定するという技術を開示しているものの、この技術では、タイトル選択のためのメニューコールを許可すべき再生制御、タイトル選択のためのメニューコールを禁止すべき再生制御という２通りの再生制御を作り分けようとすると、ストリームや再生経路の数がやたら増えてしまうという問題がある。
【０００５】
ここで、本願の図１８に記載されているような再生制御を特許文献１で規定しようとする場合、制作者がどのような状況に陥るかについて述べる。図１８は、予告編をユーザに視聴させた上で、本編再生を行うという再生制御を規定した図である。本図におけるPL(PlayList)＃6は、予告編（１）であり、PL＃7は予告編（２）、PL＃5は、PL＃6,PL＃7のうち、どちらかをユーザに選択させる映像である。どちらの予告編を選択したかは、GPRM(0)に設定される。そしてif文による再生の切り換えは、GPRM(0)に応じてなされる。こうした記述を含むのが、Movieオブジェクト(0)である。Movieオブジェクト(0)におけるJmp MovieObject(1)は、かかる切り換え後に実行される分岐コマンドであり、MOVIEオブジェクト(1)を分岐先としている。このMOVIEオブジェクト(1)は、本編再生のためのものである。
【０００６】
特許文献1では再生経路であるPlayListそのものに対してユーザ操作の許否を設定するので、PL＃5,PL＃6など、択一的に再生可能な予告編の数が多ければ、その数だけ、ユーザ操作が否と設定された再生経路を設けねばならない。そうすると、再生可能な予告編の数が多ければ多い程、多くの再生経路を用意せねばならず、動的シナリオの記述が複雑になり、制作者にとっての煩雑さが増す(原出願の段落００４８、００４９)。
【０００７】
本発明の目的は、ストリームや再生経路の数を増やすことなく、再生制御を充実させることができる記録媒体を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る記録媒体は、動画データと、動的シナリオとが記録された記録媒体であって、動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、前記記録媒体には、複数タイトルが記録されており、属性情報は、サーチマスクフラグを含み、サーチマスクフラグは、動的シナリオによる動画データ再生中にユーザがタイトルサーチを要求した場合、その要求をマスクするか否かを示すことを特徴としている。 
【発明の効果】
【０００９】
本発明では、動的シナリオのレベルでメニューコール終了時における再生再開の可否を設定しているので、ストリームや再生経路の数を増やすことはない。ストリームや再生経路の数を余り増やさないので、本発明では、メニューコールを許可すべき再生制御、メニューコールを禁止すべき再生制御の作り分けを容易に実現することができる。
以下、上述したサーチマスクフラグを導入したことで、図１８（ａ）に示した動的シナリオの記述が、どのように簡略化されるかについて説明する。図１８（ａ）におけるMOVIEオブジェクト(0)は、MOVIEオブジェクト(1)に先立ち実行されるMOVIEオブジェクトである。このMOVIEオブジェクト(0)においてTitle_search_maskは、“1”に設定されているので、MOVIEオブジェクト(0)により再生制御がなされている間は、PL＃5,PL＃6の何れで再生を行う場合も、タイトルサーチの要求はマスクされることになる(原出願の段落００４８)。
【００１０】
一方、MOVIEオブジェクト(1)においてTitle_search_maskは、“0”に設定されているので、MOVIEオブジェクト(1)による再生制御が開始すれば、タイトルサーチのマスクは解除される。つまり、MOVIEオブジェクトにて参照された予告編（１）、（２）のどちらかを視聴すれば、タイトルサーチは起動されることになる(図１８（ｂ）)。たった1ビットのTitle_search_maskを設定するだけで、『予告編（１）、（２）のどちらかを視聴するまで、タイトルサーチを禁ずる』という制御を実現することができるので、メニューコールを許可すべき再生制御、メニューコールを禁止すべき再生制御の作り分けを容易に実現することができ、再生制御の記述の自由度が増すことができる(原出願の段落００４８)。
【発明を実施するための最良の形態】
【００１１】
(第１実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図２は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図２において、本発明に係る記録媒体は、BD-ROM１００である。このBD-ROM１００は、再生装置２００、テレビ３００、リモコン４００により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
【００１２】
続いて本発明に係る記録媒体の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録媒体は、BD-ROMの応用層に対する改良により実施することができる。図３は、BD-ROMの構成を示す図である。
本図の第４段目にBD-ROMを示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。図３に示すようなデータフォーマットを、BD-ROMの応用層上に形成することにより本発明に係る記録媒体は、工業的に生産される。
【００１３】
図４は、ディレクトリ構造を用いて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(Hard Disc)、メモリカード、ネットワークといったあらゆる記録媒体、通信媒体を供給源としている。これらHD、メモリカード、ネットワークといった供給源に対する制御(ディスクアクセス、カードアクセス、ネットワーク通信)が第１層の制御である。
【００１６】
第２層は、復号化方式のレイアである。第１層で供給されたストリームを、どのような復号化方式を用いて復号するのかを規定しているのがこの第２層である。本実施形態で採用する復号化方式は、MPEG2の復号化方式である。
第３層(静的シナリオ)は、ストリームの静的なシナリオを規定するレイアである。静的なシナリオとは、ディスク制作者によって予め規定された再生経路情報、Clip情報であり、これらに基づく再生制御を規定しているのがこの第３層(静的シナリオ)である。
【００１７】
第４層は、ストリームにおける動的なシナリオを実現するレイヤである。動的なシナリオとは、ユーザ操作や装置の状態によって再生進行を動的に変化させるためのシナリオであり、これらに基づく再生制御を規定しているのがこの第４層である。以降、このレイヤモデルに従い、ストリーム本体、静的なシナリオ、動的なシナリオにあたるファイルについて説明してゆく。
【００１８】
先ず第２層に属するAVClip(XXX.M2TS)について説明する。
AVClip(XXX.M2TS)は、MPEG-TS(Transport Stream)形式のデジタルストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、1つ以上のグラフィカルストリーム、プレゼンテーショングラフィカルストリーム、インタラクティブグラフィカルストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、プレゼンテーショングラフィカルストリームは、映画の字幕を、インタラクティブグラフィカルストリームは、メニューを対象とした動的な再生制御の手順をそれぞれ示している。図７は、AVClipがどのように構成されているかを模式的に示す図である。
【００１９】
AVClipは(第４段目)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(第１段目)、PESパケット列に変換し(第２段目)、更にTSパケットに変換し(第３段目)、同じく字幕系のプレゼンテーショングラフィカルストリーム、対話系のインタラクティブグラフィカルストリーム(第７段目)を、PESパケット列に変換し(第６段目)、更にTSパケットに変換して(第５段目)、これらを多重化することで構成される。この多重化は、オーディオフレームが、同じ時刻にBD-ROMから読み出されるべきビデオフレームの近くにくるように、ビデオフレームを格納したTSパケット、オーディオフレームを格納したTSパケットを並べるというものである。
【００２０】
かかる過程を経て生成された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)は、ビデオストリーム、オーディオストリームについての「属性情報」と、ACCESS UNITを頭出しするためのリファレンステーブルである「EP_map」とからなる。
【００２３】
属性情報(Attribute)は、破線の引き出し線hn2に示すようにビデオストリームについての属性情報(Video属性情報)、属性情報数(Number)、AVClipに多重化される複数オーディオストリームのそれぞれについての属性情報(Audio属性情報＃1〜＃m)からなる。Video属性情報は、破線の引き出し線hn3に示すようにそのビデオストリームがどのような圧縮方式で圧縮されたか(Coding)、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか(Resolution)、アスペクト比はどれだけであるか(Aspect)、フレームレートはどれだけであるか(Framerate)を示す。
【００２４】
一方、オーディオストリームについての属性情報(Audio属性情報＃1〜＃m)は、破線の引き出し線hn4に示すようにそのオーディオストリームがどのような圧縮方式で圧縮されたか(Coding)、そのオーディオストリームのチャネル番号が何であるか(Ch.)、何という言語に対応しているか(Lang)を示す。
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』とから構成される。
【００２６】
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つのモードがあるので、動的シナリオはどれかのモードで実行できるように記述されればよい。DVDプレーヤ向けのコマンドと良く似たコマンドで、制御手順を記述したい場合は、MOVIEモードの再生制御手順を記述すればよい。そうすれば既存のDVD再生装置と良く似た再生制御を再生装置に実行させることができる。ページ記述言語で制御手順を記述した場合は、Browserモードの再生制御手順を記述すればよい。ネットワーク上のサイトをアクセスしたり、ファイルをダウンロードするような制御手順を記述することができる。Java（登録商標）モードの動的シナリオが図４に示したZZZ.CLASSであり、ブラウザモードの動的シナリオがZZZ.HTMである。MOVIEモードの動的シナリオがZZZ.MOVIEである。
【００３０】
＜MOVIEモードにおける動的なシナリオ＞
MOVIEモードにおける動的シナリオについて説明する。MOVIEオブジェクト(ZZZ.MOVIE)は、DVD再生装置用コマンドに類似したコマンドにて記述された、動的シナリオである。PLの再生を命じる再生コマンド、その再生に先立ち実行すべきコマンド(PREコマンド)、その再生後に実行すべきコマンド(POSTコマンド)からなる。1つ以上の動的シナリオと、各動的シナリオにて再生が命じられるPLとの組みをTitleという。Titleは、BD-ROMにおける映画作品全体に相当する単位である。またMOVIEオブジェクトは、M-OBJと略記する場合がある。
【００３１】
＜シナリオの記述手法＞
以上の動的シナリオは、第３層(静的シナリオ)から供給される関数を用いた記述が可能である。以降、第３層(静的シナリオ)から供給される関数について説明する。
(a)再生関数：第１引数で指定するプレイリストの再生を、第２引数で指定する位置から再生を開始させる；
書式:PlayPL(第１引数，第２引数)
第１引数は、プレイリストの番号で、再生すべきPLを指定することができる。第２引数は、そのPLに含まれるPlayItemや、そのPLにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
【００３２】
PlayItemにより再生開始位置を指定したPlayPL関数をPlayPLatPlayItem()、
Chapterにより再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報により再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。
(b)再生装置の状態取得や状態設定のための関数
再生装置の状態は、32個のPlayer Status Register(これの設定値は、System Parameter(SPRM)と呼ばれる)と、32個のGeneral Purpose Register（これの設定値は、General Parameter(GPRM)と呼ばれる)とに示されている。
【００３３】
MOVIEオブジェクト、Java（登録商標）オブジェクト、WebPageオブジェクトは、以下の(i)〜(iv)の関数を使用することにより、これらのレジスタに値を設定したり、これらのレジスタから値を取得したりすることができる。
(i)Get value of Player Status Register関数
書式：Get value of Player Status Register(引数)
この関数は、引数で指定されたPlayer Status Registerの設定値を取得する関数である。
【００３４】
(ii)Set value of Player Status Register関数
書式：Set value of Player Status Register(第１引数、第２引数)
この関数は、第１引数で指定されたPlayer Status Registerに、第２引数で指定された値を設定させる関数である。
(iii)Get value of General Purpose Register関数
書式：Get value of General Purpose Register(引数)
この関数は、引数で指定されたGeneral Purpose Registerの設定値を取得する関数である。
【００３５】
(iv)Set value of General Purpose Register関数
書式：Set value of General Purpose Register(第１引数、第２引数)
この関数は、第１引数で指定されたGeneral Purpose Registerに、第２引数で指定された値を設定させる関数である。 
Player Status Registerの設定値(SPRM)がどのような意味をもつかは、以下に示す通りである。以下のSPRM(x)という表記は、x番目のPlayer Status Registerの設定値を意味する。
【００３６】
SPRM(0) ： Reserved
SPRM(1) ： デコード対象たるオーディオストリーム
のストリーム番号
SPRM(2) ： デコード対象たるグラフィカルストリーム
のストリーム番号
SPRM(3) ： ユーザによるアングル設定を示す番号
SPRM(4) ： 現在再生対象とされているタイトルの番号
SPRM(5) ： 現在再生対象とされているChapterの番号
SPRM(6) ： 現在再生対象とされているPLの番号
SPRM(7) ： 現在再生対象とされているPlayItemの番号
SPRM(8) ： 現在の再生時点を示す時刻情報
SPRM(9) ： ナビゲーションタイマのカウント値
SPRM(10) ： 現在選択状態にあるボタンの番号
SPRM(11)〜(12)： Reserved
SPRM(13) ： ユーザによるパレンタルレベルの設定
SPRM(14) ： 再生装置の映像再生に関する設定
SPRM(15) ： 再生装置の音声再生に関する設定
SPRM(16) ： 再生装置における音声設定を示す言語コード
SPRM(17) ： 再生装置における字幕設定を示す言語コード
SPRM(18) ： メニュー描画のための言語設定
SPRM(19)〜(31)： Reserved
これらのSPRMのうち、SPRM(4)は、メニュー操作を介して、ユーザによりTitleが選択された場合に更新される。SPRM(5)〜(7)は、現在の再生時点が進行する度に更新される。つまり現在の再生時点があるPlayItemから別のPlayItemに移行すれば、SPRM(7)が更新される。あるPLから別のPLへの切り換えがなされればSPRM(6)が更新される。Chapterの切り換えがなされればSPRM(5)が更新される。
【００３７】
これにより再生装置が、どのTitleを再生しているか、どのPLを再生しているか、またそのPLにおいてどのPlayItem、どのChapterを再生しているか、どのPlayItemを再生しているのかは、SPRM(4)〜(7)を参照すればわかる。
SPRM(8)は、現在の再生時点を示す時刻情報であり、AVClipに属する各ピクチャデータが表示される度に更新される。つまり再生装置が新たなピクチャデータを表示させれば、その新たなピクチャデータの表示開始時刻(Presentation Time)を示す値にSPRM(8)は更新される。
【００３８】
Get value of Player Status Register関数、Get value of General Purpose Register関数を用いて以上のようなPlayer Status Registerを参照すれば、Java（登録商標）オブジェクト及びWebPageオブジェクトは再生装置の状態を詳細に知得することができる。
(C)第３層(静的シナリオ)から供給されるプログラミング関数ではないが、動的シナリオから動的シナリオへの分岐も存在する。動的シナリオから動的シナリオへの分岐を行わせる関数には、以下のJMP関数と、CALL関数とがある。
【００３９】
JMP関数
書式：JMP 引数
CALL関数 
書式：CALL 引数
JMP関数は、現在の動的シナリオを途中で廃棄し(discard)、引数たる分岐先動的シナリオを実行するという分岐である。JMP命令の形式には、分岐先動的シナリオを直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間接参照のものがある。
【００４０】
Call関数とは、動的シナリオの動作を一旦停止してから(Suspend)、引数たる分岐先動的シナリオを動作させ、分岐先動的シナリオの動作終了後、停止中の動的シナリオの動作を再開するという分岐である。Call命令の分岐先となる動的シナリオは、その末尾にResume命令が配置されている。Resume命令とは、いわゆるサブルーチンのReturn命令であり、Call関数を実行したためにSuspend状態になっている動的シナリオを、再起動させるための命令である。Call関数の形式には、JMP命令同様、分岐先動的シナリオを直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間接参照のものがある。
【００４１】
以上が、第３層(静的シナリオ)により供給される関数及び変数である。
図１３は、MOVIEオブジェクトの内部構成を示す図である。本図に示すようにMOVIEオブジェクトは、属性情報と、コマンド列とからなる。属性情報は、resume_intension_flag、menu_call_mask、Title_search_maskからなる。
『resume_intension_flag』は、メニューコールが要求された際、MOVIEオブジェクトがどのような制御を行うべきかを示す。resume_intension_flagがオフであるなら、メニューコールがユーザから要求された場合、状態設定ルーチンを呼び出す。この際、上述したような再開は行わず、現在実行中のカレントMOVIEオブジェクトは廃棄される。再生装置側でカレントMOVIEオブジェクトが廃棄されれば、再生装置側の再生を、リスタートさせねばならない。リスタートにあたって、どの再生位置まで遡るかについては、2つの考えがある。1つはカレントMOVIEオブジェクトに分岐する直前の状態にまで遡ってリスタートを行うというものである。
【００４２】
もう1つは、カレントMOVIEオブジェクトを構成する複数コマンドのうち、途中までが再生装置により実行されていた場合、カレントMOVIEオブジェクトを構成する複数コマンドの先頭にまで遡って、リスタートを行うというものである。前者のリスタートでは、分岐直前の状態を再現させるという処理が煩雑になるので本実施形態では後者のリスタートを行う。
【００４３】
この後者のリスタートは、MOVIEオブジェクトの実行位置を示すパラメータや、現在の再生位置を示すパラメータを初期化することでなされる。つまりメニューコール時の状態設定ルーチンの分岐にあたって、再生位置を示すSPRM(5)〜(8)を初期化しておく。初期化された後にSPRM(4)〜(8)が退避されれば、状態設定ルーチンの終了時の復帰処理にて、SPRM(4)〜(8)が、元のレジスタに再設定されることになる。このうちSPRM(5)〜(8)は初期化されているので、かかる再設定により、再生装置はリスタートを行う。
【００４４】
一方、resume_intension_flagがオンであるなら、カレントMOVIEオブジェクトを停止し(suspend)、SPRMを退避した上で、メニューコール用MOVIEオブジェクトにジャンプする。メニューコール用MOVIEオブジェクトの処理を終えれば、SPRMを復帰してカレントMOVIEオブジェクトによる再生を再開する(Resume)。図１に示したようなラングゲージクレジットを実現するMOVIEオブジェクトでは、resume_intension_flagをオフに設定しておくことが望ましい。何故なら、再生位置がPL＃2上にある場合に、メニューコールが要求され、言語設定が英語から日本語に変更されれば、再生装置は再生の再開位置を失うからである。
【００４５】
このように再生再開位置の消失が危惧されるようなMOVIEオブジェクトにおいて、制作者は属性情報たるresume_intension_flagをオフに設定することにより、再生時における再生装置の誤動作を防ぐことができる。これにより制作者は、SPRMの設定に応じた再生制御を行うMOVIEオブジェクトを安心して作成することができる。
resume_intension_flagによる再生再開又はリスタートは、MOVIEオブジェクトの単位で可能になるので、1つ、2つのコマンドからなるMOVIEオブジェクトを作成し、これらのMOVIEオブジェクトを分岐させてゆけば、1つ、2つのコマンドの単位で、再生再開又はリスタートが可能になる。つまり再生再開、リスタートをどの単位で実行するかに応じて、MOVIEオブジェクトを作成すればよい。以上がresume_intension_flagの説明である。
【００４６】
『menu_call_mask』は、メニューコールそのものがマスクされているか否かを示すフラグである。本フラグがオフであるなら、ユーザによるメニューコールの要求は許可され、オンであるなら、ユーザによるメニューコールの要求は禁じられる。
『Title_search_mask』は、タイトルサーチがマスクされているか否かを示すフラグである。本フラグがオフであるなら、ユーザによるタイトルサーチの要求は許可され、オンであるなら、ユーザによるタイトルサーチの要求は禁じられる。カレントMOVIEオブジェクトが、FBIによる警告映像やTrailer(予告編映像)の再生を行うものである場合、MOVIEオブジェクトのTitle_search_maskをオンに設定することにより、これらの映像の内容を確実にユーザに視聴させ、内容を理解させることができる。 
【００４７】
以降、resume_intension_flag、Title_search_maskの具体的な設定例について説明する。図１４は、ラングゲージクレジットを実現する場合のMOVIEオブジェクトの記述例と、この記述例による再生制御とを示す図である。
この図１４（ａ）のMOVIEオブジェクトの記述例は、図１（ａ）に示したMOVIEオブジェクトの記述例に、resume_intension_flag、menu_call_mask、Title_search_maskを付加したものである。これらresume_intension_flag、menu_call_mask、Title_search_maskは全て0に設定されている。図１４（ｂ）は、こうして記述されたMOVIEオブジェクトに基づく再生制御を示す図である。図１４（ａ）の記述例は、再生装置における言語設定(SPRM(0))が「日本語」なら(if(SPRM(0)==Japanese))、PL＃4を再生し(Link(PL＃4,PI＃1)、再生装置における言語設定がそれ以外なら(else)、PL＃2を再生する(Link(PL＃2,PI＃1)という条件付き再生を実現するものである。ここで再生装置側の言語設定が英語であるなら、再生位置はPL＃2上を進行することになる。
【００４８】
再生位置がPL＃2上にある状態で、ユーザからメニューコールが要求されたものとする(rg1)。この際、本MOVIEオブジェクトではresume_intension_flagが0に設定されているので、再生をリスタートさせるよう図１５（ａ）〜（ｃ）の処理を行う。図１５（ａ）〜（ｃ）は、再生のリスタートを開始させるための再生装置側の処理を示す。resume_intension_flagが0に設定されている場合、再生位置を示すSPRM(4)〜(8)のうち、SPRM(5)〜(8)を初期化した上で(図１５（ａ）)、SPRM(4)〜(8)をメモリに退避する(図１５（ｂ）)。退避後、状態設定ルーチンrc1への分岐br1を実行する。この状態設定ルーチンでユーザは、言語設定を英語から日本語に変更したものとする(図中の英語→日本語)。こうして、状態設定ルーチンの処理が終了すれば、再生装置側では、メモリに退避されたSPRM(4)〜(8)を、レジスタに復帰する。初期化された再生位置を示すSPRM(5)〜(8)がレジスタに設定されるので、再生位置は、図１４（ｂ）のタイトルの先頭に設定されることになる。これによりタイトルの先頭からのリスタートがかけられる。尚、図１４（ｃ）の一例は、再生装置側が現在再生中のタイトル番号を示すSPRM(4)を初期化しなかったため、再生位置はタイトル先頭に設定されている。もしこのタイトル番号を初期化すれば、タイトル選択をユーザに促すタイトルメニューから、再生はリスタートすることになる。
【００４９】
他の記述例を図１６（ａ）〜（ｃ）に示す。
図１６は、設問による分岐を実現する場合のMOVIEオブジェクトの記述例と、この記述例による再生制御とを示す図である。この図１６（ａ）のMOVIEオブジェクトの記述例が、図１４（ａ）のものと異なるのは、図１４（ａ）はラングゲージクレジットを実現するものであるのに対し、図１６（ａ）は、対話的な再生制御を実現する点である。この図１６（ａ）においてPL＃1が設問のシーンであり、PL＃2はその設問に対し、回答（１）を選択した場合に現れるシーン、PL＃4はその設問に対し、回答（２）を選択した場合に現れるシーンである。どの回答を選択したかは、GPRM(0)に設定されている。そしてif文による再生の切り換えは、GPRM(0)に応じてなされる。GPRM(0)は、汎用レジスタの値に過ぎず、状態設定ルーチンへの設定に応じて更新されるものではない。そして本記述例では、resume_intension_flagは1に設定されている。
【００５０】
図１６（ｂ）は、こうして記述されたMOVIEオブジェクトに基づく再生制御を示す図である。
再生位置がPL＃2上にある状態で、ユーザからメニューコールが要求されたものとする。この際、本MOVIEオブジェクトではresume_intension_flagが1に設定されているので、再生装置側では、図１５（ａ）を省いて、図１５（ｂ）の処理を行う。つまり再生位置を示すSPRM(4)〜(8)をレジスタからメモリに退避する。退避後、状態設定ルーチンrc1への分岐br1を実行する。この状態設定ルーチンでユーザは、言語設定を英語から日本語に変更したものとする(図中の英語→日本語)。そうして、この状態設定ルーチンの処理を終えれば、再生装置側では、SPRM(4)〜(8)をメモリからレジスタに復帰する処理を行う。かかる復帰がなされれば、SPRM(4)〜(8)が再生装置側のレジスタに設定されるので、再生位置は、前回の再生位置から再開することになる。
【００５１】
MOVIEオブジェクトの別の一例を図１７（ａ）〜（ｃ）に示す。図１７（ａ）のMOVIEオブジェクトにおいて再生装置におけるパレンタルレベルの設定SPRM(13)が「kids」なら(if(SPRM(13)==kids))、PL＃4を再生(Link(PL＃4,PI＃1)、再生装置におけるパレンタルレベルがそれ以外なら(else)、PL＃2を再生することになる(Link(PL＃2,PI＃1))。ここでPL＃2が過激なシーンの再生、PL＃4が子供向けシーンであると仮定すると、SPRM(13)の設定如何で、過激なシーンの再生、子供向けシーンの再生が切り換わるので、いわゆるパレンタルロックを実現することができる。このSPRM(13)は、状態設定ルーチンで変更されうるから、属性情報におけるresume_intension_flagは、1に設定されている。
【００５２】
図１７（ｂ）は、こうして記述されたMOVIEオブジェクトによる再生制御を示す。この再生制御は、再生装置側のSPRM(13)が、kidsに設定されているものとする。そして再生装置側でも、SPRM(13)がkidsを示すように設定されているので、PL＃4が再生されることになる(Link(PL＃4,PI＃1))
再生位置がPL＃4上にある時点でメニューコールが要求されたものとする。図１７（ａ）では、resume_intension_flagが0に設定されているので、SPRM(5)〜(8)を初期化した上で(図１５（ａ）)、SPRM(4)〜(8)を退避する(図１５（ｂ）)。その後、状態設定ルーチンへの分岐を行う。
【００５３】
ここで状態設定ルーチンにおいて、SPRM(13)を更新する操作が行われ、状態設定ルーチンを終了したものとする。状態設定ルーチン終了後の状態復帰において、SPRM(4)〜(8)が再生装置側のレジスタに復帰するので(図１５（ｂ）)、再生位置はタイトルの先頭に設定されることになり、再生のリスタートがなされる(図１７（ｃ）)。
以上の図１４、図１６、図１７の一例は、resume_intension_flagに対する設定例であった。図１８は、Title_search_maskに対するMOVIEオブジェクトの設定例を示す図である。
【００５４】
図１８（ａ）におけるMOVIEオブジェクト(0)は、図１４（ａ）に示したMOVIEオブジェクト(1)に先立ち実行されるMOVIEオブジェクトである。このMOVIEオブジェクト(0)においてPL＃6は、予告編（１）であり、PL＃7は予告編（２）、PL＃5は、PL＃6,PL＃7のうち、どちらかをユーザに選択させる映像である。どちらの予告編を選択したかは、GPRM(0)に設定される。そしてif文による再生の切り換えは、GPRM(0)に応じてなされる。Jmp MovieObject(1)は、かかる切り換え後に実行される分岐コマンドであり、MOVIEオブジェクト(1)を分岐先としている。このMOVIEオブジェクト(0)においてTitle_search_maskは、1に設定されているので、MOVIEオブジェクトにより再生制御がなされている間は、タイトルサーチの要求はマスクされることになる。逆にいえば予告編（１）、（２）のどちらかを視聴すれば、タイトルサーチは起動されることになる(図１８（ｂ）)。たった1ビットのTitle_search_maskを設定するだけで、『予告編（１）、（２）のどちらかを視聴するまで、タイトルサーチを禁ずる』という制御を実現することができるので、かかる制御の記述の自由度が増す。また、特許文献1で本図と同様の再生制御を行う場合と比較すると、特許文献1では再生経路そのものに対してユーザ操作の許否を設定するので、択一的に再生可能な予告編の数が多ければ、その数だけ、ユーザ操作が否と設定された再生経路を設けねばならない。そうすると、再生可能な予告編の数が多ければ多い程、多くの再生経路を用意せねばならず、煩雑化を招く。
【００５５】
これに対し図１８のMOVIEオブジェクトでは、択一的に再生可能な予告編の数が多くても、それらの予告編のうちどれかが再生されるまで、タイトルサーチを認めないという再生制御をMOVIEオブジェクトのTitle_search_maskを1に設定しさえすれば、記述できる。
かかる再生制御の簡易な記述を実現するので、本実施形態に係るMOVIEオブジェクトは、タイトルの頒布時に有効である。
【００５６】
以上が本発明に係る記録媒体の実施形態である。続いて本発明に係る再生装置の実施形態について説明する。図１９は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、DVDドライブ１、トラックバッファ２、PIDフィルタ４、ビデオデコーダ５、ピクチャプレーン６、オーディオデコーダ７、グラフィカルプレーン８、グラフィカルデコーダ９、加算器１０、静的シナリオメモリ１１、再生制御エンジン１２、プレーヤレジスタ１３、BACKUPメモリ１４、動的シナリオメモリ１５、DVDライクモジュール１６、Java（登録商標）モジュール１７、BROWSERモジュール１８、UOコントローラ１９、モジュールマネージャ２０、ディスパッチャ２１から構成される。
【００５７】
BD-ROMドライブ１は、BD-ROMのローディング／イジェクトを行い、BD-ROMに対するアクセスを実行する。
トラックバッファ２は、FIFOメモリであり、BD-ROMから読み出されたACCESS UNITが先入れ先出し式に格納される。
PIDフィルタ４は、トラックバッファ２からACCESS UNITを取り出して、このACCESS UNITを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、所望のものをビデオデコーダ５、オーディオデコーダ７、グラフィカルデコーダ９のどれかに出力する。この出力は、PESパケットのID(PID)を参照して行われる。PIDがビデオを示しているならビデオデコーダ５にPESパケットを出力し、PIDがオーディオを示しているならオーディオデコーダ７に、PIDがグラフィカルイメージを示しているならグラフィカルデコーダ９にPESパケットを出力する。
【００５８】
ビデオデコーダ５は、PIDフィルタ４から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てピクチャプレーン６に書き込む。
ピクチャプレーン６は、非圧縮形式のピクチャを格納しておくためのメモリである。
オーディオデコーダ７は、PIDフィルタ４から出力されたPESパケットを復号して、非圧縮形式のオーディオデータを出力する。
【００５９】
グラフィカルプレーン８は、一画面分の領域をもったメモリであり、一画面分のラスタイメージを格納することができる。
グラフィカルデコーダ９は、グラフィカルストリームをデコードして、ラスタイメージをグラフィカルプレーン８に書き込む。グラフィカルストリームのデコードにより、字幕やメニューが画面上に現れることになる。
【００６０】
加算器１０は、ピクチャプレーン６に格納された非圧縮形式のピクチャデータに、グラフィカルプレーン８に展開されたイメージを合成して出力する。
静的シナリオメモリ１１は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPLとは、BD-ROMに記録されている複数PL情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
【００６１】
再生制御エンジン１２は、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)を参照しさえすれば、再生装置の再生状態を知得することができる。
【００６３】
BACKUPメモリ１４は、DVDライクモジュール１６〜BROWSERモジュール１８の何れかがSuspendを実行した際に、再生装置レジスタの格納値の退避しておくためのスタックメモリである。このBACKUPメモリ１４の格納値は、DVDライクモジュール１６〜BROWSERモジュール１８の何れかが動的シナリオのResumeを実行した際、再生装置が具備するレジスタ格納値に復帰される。DVDライクモジュール１６〜BROWSERモジュール１８のうち、同じものが2回以上Suspendを行った場合、レジスタの格納値は、先入先出し式に格納される。このスタックの段数以上に格納値が格納された場合、それより前に退避された格納値が上書きされる。BACKUPメモリ１４に退避されるSPRMには、現在再生中のTitleの番号(Title Number)、現在再生中のChapter番号、現在再生中のPL番号(PlayList Number)、現在再生中のPlayItem番号(PlayItem Number)、選択状態にあるボタンの番号(Selected Button)、現在の再生時点を示す時刻情報といったものがある。
【００６４】
動的シナリオメモリ１５は、カレント動的シナリオを格納しておき、DVDライクモジュール１６〜BROWSERモジュール１８による処理に供されるメモリである。カレント動的シナリオとは、BD-ROMに記録されている複数シナリオのうち、現在実行対象になっているものをいう。
DVDライクモジュール１６は、MOVIEモードの実行主体となるDVD仮想プレーヤであり、動的シナリオメモリ１５に読み出されたカレントのMOVIEオブジェクトを実行する。
【００６５】
Java（登録商標）モジュール１７は、Java（登録商標）プラットフォームであり、Java（登録商標）仮想マシン、コンフィグレーション、プロファイルからなる。
Java（登録商標）モジュール１７は、動的シナリオメモリ１５に読み出されたZZZ.CLASSからカレントのJava（登録商標）オブジェクトを生成し、実行する。Java（登録商標）仮想マシンは、Java（登録商標）言語で記述されたJava（登録商標）オブジェクトを、再生装置におけるCPUのネィティブコードに変換して、CPUに実行させる。
【００６６】
BROWSERモジュール１８は、Browserモードの実行主体となるブラウザであり、動的シナリオメモリ１５に読み出されたカレントのWebPageオブジェクトを実行する。
UOコントローラ１９は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報(以降UO(User Operation)という)をモジュールマネージャ２０に出力する。
【００６７】
モジュールマネージャ２０は、BD-ROMから読み出されたIndex Tableを保持して、モード管理及び分岐制御を行う。モジュールマネージャ２０によるモード管理とは、動的シナリオをどのDVDライクモジュール１６〜BROWSERモジュール１８に実行させるかという、モジュールの割り当てである。モジュール割り当ての原則は、動的シナリオをDVDライクモジュール１６に実行させるというものである。イントラモードでの分岐(同一モード内の分岐)があったとしても、この原則は維持される。例外は、インターモードでの分岐(モード間の分岐)が発生した場合である。MOVIEオブジェクトからJava（登録商標）オブジェクト／WebPageオブジェクトへの分岐が発生した場合、Java（登録商標）モジュール１７、BROWSERモジュール１８がカレントオブジェクトを実行することになる。
【００６８】
ディスパッチャ２１は、UOから、現在の再生装置におけるモードに適切なUOのみを選んで、そのモードを実行するモジュールに受け渡す。例えばMOVIEモードの実行中に、上下左右、アクティベートといったUOを受け付けた場合、MOVIEモードのモジュールにこれらのUOを出力するというのがディスパッチャ２１の処理である。これらのUOは、MOVIEモードにおけるメニュー挙動にのみ必要であり、Java（登録商標）モード／Browserモードでは、不必要だからである。
【００６９】
以上が再生装置の構成要素である。続いてモジュールマネージャ２０についてより詳しく説明する。
モジュールマネージャ２０は、汎用のCPUに、図２０〜図２２の処理手順を行うプログラムを読み取せることで実施することができる。図２０〜図２２は、モジュールマネージャ２０による処理手順を示すフローチャートである。以降本フローチャートを参照しながら、モジュールマネージャ２０による分岐制御について説明する。本フローチャートは、Index TableのFirstPlayのIndexからファイル名を取り出す(ステップＳ１)。Index Tableとは、BD-ROMにおけるMOVIEオブジェクトの統合情報であり、FirstPlayのIndexとは、MOVIEオブジェクトのうち、BD-ROMのスタートアップ手順を記述したものを示すIndexである。
【００７０】
かかるファイル名が取り出されれば、カレントモードをMOVIEモードに設定して(ステップＳ２)、取り出されたファイル名の動的シナリオをカレントの動的シナリオに設定し(ステップＳ３)、カレントの動的シナリオiを、メモリに読み出してから(ステップＳ４)、メモリ中のカレントの動的シナリオを実行する(ステップＳ５〜ステップＳ９)。
このステップＳ４〜ステップＳ９は、カレントの動的シナリオが新たに設定される度に、実行される。
【００７１】
ステップＳ５〜ステップＳ９は、シナリオを構成する各コマンドについて、ステップＳ６〜ステップＳ９の処理を繰り返すというループ処理を形成している。本フローチャートにおける”x”とは、動的シナリオを構成するコマンドのうち、処理対象たるものを特定する変数である。このループ処理は、変数xを初期化し(ステップＳ５)、カレントの動的シナリオi内のコマンドxを、カレントモードのモジュールに実行させてから(ステップＳ６)、ステップＳ７〜ステップＳ８に規定された判定処理を行い、その後、変数xをインクリメントして(ステップＳ９)、ステップＳ６に戻るという処理を繰り返すのである。シナリオを構成する全てのコマンドに対し、ステップＳ６〜ステップＳ９の処理は繰り返される。
【００７２】
ループ処理の実行中、UOが発生した場合は(ステップＳ７でYes)、図２１のステップＳ１０〜ステップＳ１２の判定処理を経て、カレントモードのモジュールにUOを出力する(ステップＳ２６)。
ステップＳ１０は、ユーザ操作がメニューコールによるものかを判定するステップである。もしメニューコールであるなら、ステップＳ１３、ステップＳ１４の判定を経て、図２１のステップＳ１５、ステップＳ１６の何れかで退避処理を行う。そして、状態設定を行う動的シナリオをカレントの動的シナリオiに設定して(ステップＳ１７)、ステップＳ４に戻る。このステップＳ１７により、状態設定を行う動的シナリオがカレントの動的シナリオiになるので、状態設定用動的シナリオが、ステップＳ５〜ステップＳ９で実行されることになる。
【００７３】
ステップＳ１３は、カレント動的シナリオiにおけるmenu_call_maskが1かどうかの判定であり、もし1なら何の処理も行わず図２０のステップＳ８に戻る。
ステップＳ１５は、カレント動的シナリオiをsuspendし、変数x,SPRM(4)〜(8)をBACKUPメモリ１４に退避するという処理であり、resume_intension_flagが1なら(ステップＳ１４でYes)、このステップＳ１５が実行される。
【００７４】
ステップＳ１６は、カレント動的シナリオiをsuspendし、変数x,SPRM(5)〜(8)を初期化した上でBACKUPメモリ１４に退避するという処理であり、resume_intension_flagが0なら(ステップＳ１４でNo)、このステップＳ１６が実行される。
ステップＳ１１は、ユーザ操作がタイトルサーチを要求するものかどうかの判定であり、もしタイトルサーチを要求するものなら、ステップＳ１８においてカレント動的シナリオiのTitle_search_maskが1であるか否かを判定する。もし1であるなら、ステップＳ１９においてタイトルサーチを行う動的シナリオをカレント動的シナリオiに設定する。
【００７５】
ステップＳ１２は、UOのディスパッチ処理を実行するものである。UOのディスパッチ処理とは、コマンド実行中に発生したUOが上下左右、アクティベートであり(ステップＳ１２)、カレントモードがMOVIEモードである場合に(ステップＳ２０)、カレントモードのモジュールにUOを出力するというものである。コマンド実行中に発生したUOが上下左右、アクティベート以外のUOなら、そのままカレントモードのモジュールにUOが出力される(ステップＳ２６)。コマンド実行中に発生したUOが上下左右、アクティベートのUOであるが、カレントモードがMOVIEモードでないなら、発生したUOは、モジュールに出力されない。以上がディスパッチ処理である。
【００７６】
このステップＳ４〜ステップＳ１９のループ処理の終了要件は、ステップＳ８においてYesと判定されることである。コマンドxが動的シナリオiの最後のコマンドであるなら(ステップＳ８がYes)、動的シナリオiの末尾にResumeコマンドがあるかどうかの判定がなされる(図２２のステップＳ２１)。
Resumeコマンドとは、呼出元となる動的シナリオの状態復帰を再生装置に命じるコマンドであり、状態設定ルーチンとなる状態設定用の動的シナリオの末尾には、このコマンドが配されている。
【００７７】
もし動的シナリオiの末尾にResumeコマンドが存在するなら、Suspend中の動的シナリオを動的シナリオiに設定し(ステップＳ２２)、動的シナリオiのモードをカレントモードに設定して(ステップＳ２３)、 BACKUPメモリ１４に退避されたSPRMをレジスタに復帰させ(ステップＳ２４)、変数xを退避された値に戻す(ステップＳ２５)。
ここでresume_intension_flagが1であるなら、SPRM(4)〜(8)及び変数xは、それまでの再生位置を示す値に設定されており、このSPRM(4)〜(8)及び変数xがメモリ１４に退避されているので、ステップＳ２４の復帰によりプレーヤレジスタは状態設定ルーチンを呼び出す前の再生位置を示すことになる。プレーヤレジスタにかかる値が設定されたので、タイトル再生の再開が行われることになる。
【００７８】
一方、resume_intension_flagが0であるなら、SPRM(5)〜(8)及び変数xは、初期化されており、初期化後のSPRM(5)〜(8)及び変数xが、元のSPRM(4)と共にメモリ１４に退避されているので、ステップＳ２４の復帰によりプレーヤレジスタは、現在再生中のタイトルにおける再生開始位置を示すことになる。プレーヤレジスタにかかる値が設定されたので、タイトルのリスタートがなされることになる。尚図２０〜図２２のフローチャートでは、現在再生中のタイトルからのリスタートを実行したが、ステップＳ１６で再生位置を示すSPRMを全て初期化することにより、BD-ROM全体の再生からリスタートを行ってもよい。以上がモジュールマネージャ２０の処理手順である。
【００７９】
以上のように本実施形態によれば、ストリーム−再生経路−動的シナリオというレイヤモデルにおいて、最上位の動的シナリオのレベルでメニューコールに係る制御手順を設定する。特に制作者が制作しようとするタイトルが、ラングゲージクレジットを実現するものである場合、メニューコールの要求は受け付けるが、再生の再開は行わないという制御を実現することができる。これによりストリームや再生経路は同じでも、メニューコールは許可されているタイトル、メニューコールは禁止されているタイトルという2種類のタイトルを簡単に作り分けることができる。かかるタイトルの作成では、再生経路やストリームの数を増やさないので、僅かな手間で、制御手順が異なるバリエーションの数を増やすことができる。
【００８０】
(第２実施形態)
第２実施形態は、再生装置における再生停止やリスタートの回避を実現する改良に関する。再生装置における再生停止やリスタートは、以下の（１）〜（３）のケースが再生装置で生じた場合にも、起こりうる。
（１） MOVIEモードだけに対応している再生装置において、Java（登録商標）モード、ブラウザモードに対応しているBD-ROMが装填され、Java（登録商標）オブジェクトやWebPageオブジェクトへの分岐が生じた場合
（２）存在しないストリームを読み出そうとした場合、
又は存在しない動的シナリオから構成されるタイトルへと分岐しようとした場合、
（３）Java（登録商標）オブジェクトでエラーが生じてしまい、Java（登録商標）プラットフォームではこれの復旧が不可能である場合
かかる再生停止、リスタートを回避するため本実施形態では、動的シナリオを統合管理するための情報に、例外処理用のタイトルについてのINDEXを設けている。
【００８１】
MOVIEモードにおける動的シナリオ、Java（登録商標）モードにおける動的シナリオ、Browserモードにおける動的シナリオを統合管理するための情報は、図４に示したINFO.BDである。
図２３（ａ）は、INFO.BDの内部構成を示す図である。本図に示すようにINFO.BDはIndex Tableを含む。Index Tableは、動的シナリオから動的シナリオへの分岐の際、参照される間接参照用テーブルであり、複数ラベルのそれぞれに対するIndexからなる。各Indexには、そのラベルに対応する動的シナリオのファイル名が記述されている。図２３（ｂ）に示すように、このファイル名は、ファイルボディと、拡張子とからなる。ラベルには、Title＃1〜＃m、Title＃m+1〜＃n、Title＃0といったものがある。Index Tableは、3つのモードの何れの動的シナリオからも参照される。MOVIEオブジェクトからJava（登録商標）オブジェクト、MOVIEオブジェクトからWebPageオブジェクトへの分岐は、Index Tableを介した場合のみ可能となる。逆に言えば、Index TableにIndexがないJava（登録商標）オブジェクト、WebPageオブジェクトには、MOVIEオブジェクトからは分岐できない。
【００８２】
Title＃1〜＃mINDEXは、BD-ROMにおいて1からm番目にエントリーされているTitleについてのIndexであり、これら1からmまでのTitle番号の選択時において分岐先となるMOVIEオブジェクトのファイル名が記述される。図２３（ｂ）は、Title＃1〜＃mINDEXの内容を示す。本図に示すようにTitle＃1〜＃mINDEXには、MOVIEオブジェクトのファイル名が記述されている。このファイル名は、ファイルボディ(ZZZ)、拡張子(.MOVIE)からなる。
【００８３】
Title＃m+1〜＃nINDEXは、BD-ROMにおいてm+1からn番目にエントリーされているTitleについてのIndexであり、これらm+1からnまでのTitle番号の選択時において分岐先となるWebPageオブジェクト／Java（登録商標）オブジェクトのファイル名が記述される。図２３（ｃ）は、Title＃m+1〜＃nINDEXの内部構成を示す。本図に示すようにTitle＃m+1〜＃nINDEXには、Java（登録商標）オブジェクトのファイルボディ(ZZZ)、拡張子(.CLASS)か、又は、WebPageオブジェクトのファイルボディ(ZZZ)、拡張子(.HTM)が格納されている。尚INDEXのフォーマットは、図２３（ｄ）に示すものであってもよい。図２３（ｄ）のフォーマットにおいてINDEXは、分岐先Titleの属性を示す属性領域を有しており、この属性領域に、対応する分岐先Titleの動的シナリオが、Movieモードであるか(00の設定時)、Java（登録商標）モードであるか(01の設定時)、Browserモードであるか(10の設定時)を示すようにしている。
【００８４】
Title＃0INDEXは、例外処理タイトルについてのINDEXであり、ムービーモードシナリオのファイル名が格納される。ここでの例外処理は、上述した（１）〜（３）のケースが生じた場合に実行される。（１）〜（３）の理由で、エンハンスドモードの実行が不可能な状態の再生装置をコアシステムという。またJava（登録商標）仮想マシン、ブラウザによるプログラムの実行が可能な状態にある再生装置をフルシステムという。以下、コアシステム、フルシステムによるBD-ROMの間接参照について、図２４を参照しながら説明する。この間接参照の説明では、図２４（ａ）に示すような複数の動的シナリオ(001.MOVIE,002.MOVIE,003.MOVIE・・・・、001.CLASS,002.CLASS,003.CLASS・・・・・・)が記録されているBD-ROMを想定している。BD-ROMに図２４（ａ）に示すような複数動的シナリオが記述されている場合のIndex Tableの記述例を図２４（ｂ）に示す。図２４（ｂ）の記述例において、Title＃1Index〜Title＃mIndexには、ムービーモードシナリオであるファイル名(001.MOVIE,002.MOVIE,003.MOVIE・・・・)が記述されている。一方、Title＃m+1Index〜Title＃nIndexには、エンハンスドモードシナリオのファイル名(001.CLASS,002.CLASS,003.CLASS・・・・・・)が記述されている。
【００８５】
図２５（ａ）は、図２４（ｂ）のようにIndex Tableが記述された場合のフルシステムにおける間接参照を示す。Index Tableがこのように記述されているので、ラベルTitle＃1〜Title＃mを分岐先とした分岐コマンドの実行時には、Title＃1Index〜Title＃mIndexからファイル名『001.MOVIE,002.MOVIE,003.MOVIE・・・・・』が、ラベルTitle＃m+1〜Title＃nを分岐とした分岐コマンドの実行時には、Title＃m+1Index〜Title＃nIndexからファイル名『001.CLASS,002.CLASS,003.CLASS・・・』が取り出され、そのファイル名の動的シナリオがメモリに読み出されて、実行されることになる。これがフルシステムによる間接参照である。
【００８６】
図２５（ｂ）は、コアシステムにおける間接参照を示す図である。ラベルTitle＃1〜Title＃mを分岐先に指定した分岐コマンドの実行時には、図２５（ａ）と同様、Title＃1Index〜Title＃mIndexからファイル名『001.MOVIE,002.MOVIE,003.MOVIE・・・・・』が取り出されるが、ラベルTitle＃m+1〜Title＃nを分岐先に指定した分岐コマンドの実行時には、Title＃m+1Index〜Title＃nIndexに代えてTitle＃0Indexからファイル名『000.MOVIE』が取り出されて、そのファイル名の動的シナリオが再生装置により実行される。以上がフルシステム、コアシステムにおける間接参照である。
【００８７】
図２６は、MOVIEオブジェクトからJava（登録商標）オブジェクトへの分岐がどのように行われるかを模式的に示す図である。本図のMOVIEオブジェクトは、GPRM(0)に0を設定するPREコマンド、PLの再生を再生装置に命じるコマンド(PlayPl(PL＃1))、他の動的シナリオへの分岐を再生装置に命じるPOSTコマンド(IF(GPRM(0)=0){Jump Title＃m}else{Jump Title＃m+1})からなる。このPREコマンドにより、PLの再生に先立ち、GPRM(0)が初期化されることになる。またPOSTコマンドによりGPRM(0)が初期化時の0を示すなら、MOVIEオブジェクト＃m+1に分岐することになる。一方、メニュー表示時にボタン選択がなされ、GPRM(0)が0以外の値に設定されたなら、他のタイトル(Title＃m)に分岐することになる。
【００８８】
またAVClipには、以下のような対話処理を実現するインタラクティブグラフィカルストリームが多重化されている。このインタラクティブグラフィカルストリームは、キャラクタA,B,Cに対応するボタンを表示するものであり、キャラクタAのボタンの確定時には、GPRM(0)を1に設定し、キャラクタBのボタンの確定時には、GPRM(0)に2を、キャラクタCのボタンの確定時には、GPRM(0)に3を設定するものである。
【００８９】
図中の矢印jn1,2は、MOVIEオブジェクトからJava（登録商標）オブジェクトへの分岐を象徴的に示している。本図におけるJmp Title＃m+1がJava（登録商標）オブジェクトにおける分岐コマンドであり、ラベルTitle＃m+1のIndexを介した間接参照の形式で分岐先のJava（登録商標）オブジェクトを指定している。ラベルTitle＃m+1のIndexにはJava（登録商標）オブジェクトのファイル名が記述されておリ、これを参照することにより、再生装置はどのファイルをJava（登録商標）オブジェクトとして読み出せばよいかを知ることができる。
【００９０】
Java（登録商標）オブジェクトにおいて、『A.DrawCharacter();』とは、キャラクタAというClassの1つのmethod(※図中のDrawCharacter関数のことである)を用いて、キャラクタAのObjectを画面上に描画させることを意味する。『B.DrawCharacter();』,『C.DrawCharacter();』も同じ意味であり、キャラクタB,CというClassの1つのmethod(※図中のDrawCharacter関数のことである)を用いて、キャラクタB,CのObjectを画面上に描画させることを意味する。
【００９１】
『A.DrawCharacter();』、『B.DrawCharacter();』、『C.DrawCharacter();』は、GPRM(0)の値によって排他的に実行されるので(図中のif文)、GPRM(0)が1ならキャラクタAのCGが、GPRM(0)が2ならキャラクタBのCGが、GPRM(0)が3ならキャラクタCのCGが、それぞれ描画される。
図２７は、コアシステムの再生装置に図２６に示したシナリオが記録されたBD-ROMが装填された場合、どのような分岐が行われるかを示す。図２６に示した矢印が、図２７において破線hs1で描かれているのは、コアシステムでは、Java（登録商標）オブジェクトを実行する主体が存在しないので、図２６に示した分岐が無効化されていることを示す。図中の実線矢印js1は、この分岐に代えてなされる例外処理用の分岐を示す。この例外処理用の分岐は、Title＃0のIndexを介した間接参照である。Title＃0のIndexには、MOVIEオブジェクトsg1のファイル名が格納されており、この分岐ではMOVIEオブジェクトsg1が再生装置により読み出され、実行されることになる。コアシステムのみの再生装置に本BD-ROMが装填された場合、MOVIEモードにおける映像を表示させるので、再生停止やリスタートを回避することができる。
【００９２】
以上が第２実施形態におけるBD-ROM側の改良である。続いて再生装置側の改良について説明する。
第２実施形態におけるモジュールマネージャ２０の特徴は、分岐制御にある。分岐制御とは、分岐先となる動的シナリオを特定し、これをメモリに読み出して、DVDライクモジュール１６〜BROWSERモジュール１８のどれかに実行させることをいう。分岐先動的シナリオの特定は、間接参照形式で分岐先動的シナリオが指定されている場合に特に必要となる。この特定は、分岐コマンドの分岐先ラベルを参照し、これに対応するIndexから、ファイル名を取り出すことでなされる。この特定にあたってモード切り換えの要否を併せて判定する。モード切り換えの要否判定は、分岐先ラベルに対応するIndexにおいて、何というファイル拡張子が格納されているか、又は、どのモードを示す属性情報が格納されているかを参照することでなされる。Indexの格納内容が何であるかで、モード切り換えが必要かどうかがわかる。モード切り換えが必要なら、分岐先動的シナリオをメモリに読み出させて、切り換え後のモードを実行するモジュールに、モード遷移要求を出力する。切り換え後のモードを実行するモジュールは、この遷移要求の出力により、メモリ中の分岐先動的シナリオを実行することとなる。
【００９３】
モジュールマネージャ２０が以上の分岐制御を行うため、第２実施形態におけるモジュールマネージャ２０の処理手順は、図２８に示すものとなる。図２８は、図２０に示したフローチャートをベースにしているため、差違部分について説明する。
本フローチャートは、ステップＳ６〜ステップＳ９を繰り返することにより、カレント動的シナリオiのコマンドを1つずつ実行してゆくものだが、このステップＳ６〜ステップＳ９のループ処理において、ステップＳ３０が新規に追加されている。
【００９４】
ステップＳ３０は、コマンドxが分岐コマンドであるかどうかの判定であり、このステップＳ３０がYesならば、ステップＳ３１〜ステップＳ４３においてカレントの動的シナリオを、新たな動的シナリオに設定してステップＳ４に戻る。これにより、新たな動的シナリオがメモリに読み込まれて実行されることになる。
以降、ステップＳ３１〜ステップＳ４３の処理について説明する。この処理は、分岐制御であり、ステップＳ３１、ステップＳ３４、ステップＳ３９、ステップＳ４２の判定結果に応じて、異なる処理を実行するものである。ステップＳ３１は、分岐コマンドの分岐先がTitleラベルを用いて記述されているか否かの判定であり、もしYesならステップＳ４２の判定を経て分岐先ラベルであるTitlejを取得し(ステップＳ３２)、Index TableにおけるTitlejのIndexiからファイル名jを取り出す(ステップＳ３３)という処理を行う。もしNoなら、分岐先を示すファイル名jを取り出す(ステップＳ４１)という処理を行う。
【００９５】
ステップＳ３４は、分岐コマンドがCallコマンドであるか、Jmpコマンドであるかの判定であり、Callコマンドなら、カレントの動的シナリオiをSuspendして、変数xやSPRMを退避する(ステップＳ３５)。Jmpコマンドなら、カレントの動的シナリオiをdiscardする(ステップＳ３６)。
以上の処理を経れば、ファイル名jから特定される動的シナリオをカレントの動的シナリオiに設定し(ステップＳ３７)、取り出された拡張子から特定される再生モードを再生モードkに設定する(ステップＳ３８)。これらの設定後、ステップＳ３９を実行する。ステップＳ３９は、再生モードkがカレントモードかどうかの判定であり、違うなら再生モードkをカレントモードに設定してから(ステップＳ４０)、ステップＳ４に移行する。その後、新たに設定されたカレント動的シナリオに対して、ステップＳ４〜ステップＳ９の処理が繰り返されることになる。尚ステップＳ４２は、再生装置がコアシステムであるか、フルシステムであるかの判定であり、もしコアシステムであるなら、Title＃0のIndexからファイル名を取り出し、これを分岐先とする(ステップＳ４３)。
【００９６】
以上のように本実施形態によれば、何等かの事情により、エンハンスドモードの実行が困難になった場合、再生装置をコアシステムとし、Index Tableにおける例外処理用のINDEXを参照して分岐を行うので、再生停止やリスタートを回避することができる。
(第３実施形態)
第３実施形態は、様々な規格の再生装置、BD-ROMが登場する場合の改良に関する。BD-ROMや再生装置を早く商品化したいという要望が強ければ、ムービーモードのみサポートしたバージョン1.0、ムービーモードとエンハンスドモードをとサポートしたバージョン1.1というように、サポート可能な機能数が少ないバージョンのBD-ROMから徐々に商品化され、市場に投入される。この場合、バージョン1.0のBD-ROM、バージョン1.1のBD-ROM、バージョン1.0の再生装置、バージョン1.1の再生装置というように、複数バージョンの再生装置が市場を賑わすことになる。そうすると、例えばバージョン1.0の再生装置にバージョン1.1のBD-ROMが装填された場合、ムービーモードのMOVIEオブジェクトからエンハンスドモードのMOVIEオブジェクトへの分岐が生じる場合がある。この場合、バージョン1.0の再生装置は、ムービーモードのモジュールしかもたないから、エンハンスドモードのMOVIEオブジェクトを実行することはできない。そこで本実施形態では、BD-ROMにそれまでのバージョンの全てについてのIndex Tableを記録しておく。図２９は、バージョン1.1のBD-ROMである。本図におけるBD-ROMには、バージョン1.1のIndex Table、バージョン1.0のIndex Tableが記録される。バージョン1.0のIndex Tableには、TITLE＃1INDEX〜TITLE＃mINDEXが存在する。第２実施形態に示したようにこれらのINDEXは、ムービーモードの動的シナリオへの分岐時に参照されるINDEXである。
【００９７】
バージョン1.1のIndex Tableには、TITLE＃1INDEX〜TITLE＃mINDEX,TITLE＃m+1INDEX〜TITLE＃nINDEX,TITLE＃0INDEXが存在する。第２実施形態に示したようにこれらのINDEXは、ムービーモードの動的シナリオへの分岐時、エンハンスドモードの動的シナリオへの分岐時、例外処理用動的シナリオへの分岐時に参照されるINDEXである。
そしてどれかのバージョンのBD-ROMが再生装置に装填された場合、再生装置はBD-ROMに記録された複数バージョンについてのIndex Tableのうち、自身のバージョンに合致したものを用いて、MOVIEオブジェクトの選択を行う。
【００９８】
図２９（ｂ）は、図２９（ａ）に示したBD-ROMが、バージョン1.0の再生装置に装填された状態を想定した図である。本図では再生装置側がバージョン1.0なので、分岐時にはバージョン1.0,1.1のIndex Tableのうち、バージョン1.0のIndex Tableが参照されて分岐先のMOVIEオブジェクトが特定されることになる。
図２９（ｃ）は、図２９（ａ）に示したBD-ROMが、バージョン1.1の再生装置に装填された状態を想定した図である。本図では再生装置側がバージョン1.1なので、分岐時にはバージョン1.0,バージョン1.1のIndex Tableのうち、バージョン1.1のIndex Tableが参照されて分岐先のMOVIEオブジェクトが特定されることになる。
【００９９】
以上のような処理を行うため、第３実施形態の再生装置におけるモジュールマネージャ２０は、図３０のフローチャートに基づく処理を行う。もし再生装置にBD-ROMが装填されれば、装置におけるバージョン番号を取得して(ステップＳ４５)、 BD-ROMに記録されている複数INDEX TABLEのうち,装置側のバージョン番号に合致するものを読み出し、モジュールマネージャ２０に保持させる(ステップＳ４６)。以降、保持したIndex Tableを参照して、ステップＳ１〜ステップＳ４２の処理を行う。このステップＳ１〜ステップＳ４２の処理は、第２実施形態に示したものと同一なので、説明は省略する。
【０１００】
以上のように本実施形態によれば、バージョン1.0のBD-ROM、バージョン1.1のBD-ROMというように、様々なバージョンの再生装置、BD-ROMが市場に現れる場合でも、再生装置側のバージョンに合致したIndex Tableを選んで、このIndex Tableを参照して再生を行うことにより、過去のバージョンの再生装置との互換を保障することができる。
(第４実施形態)
本実施形態は、DVDと同様のメニュー制御をBD-ROM上で実現する場合の改良に関する。図３１は、BD-ROMにより実現されるメニュー階層を示す図である。本図におけるメニュー階層は、TopMenuを最上位に配し、このTopMenuから下位のTitleMenu、SubTitleMenu、AudioMenuを選択できる構造になっている。図中の矢印sw1,2,3は、ボタン選択によるメニュー切り換えを模式的に示す。TopMenuとは、音声選択、字幕選択、タイトル選択の何れを行うかを受け付けるボタン(図中のボタンsn1,sn2,sn3)を配置したメニューである。
【０１０１】
TitleMenuとは、映画作品(Title)の劇場版を選択するか、ディレクターズカット版を選択するか、ゲーム版を選択するか等、映画作品の選択を受け付けるボタンを配置したメニューである。AudioMenuとは、音声再生を日本語で行うか、英語で行うかを受け付けるボタンを配置したメニュー、SubTitleMenuとは、字幕表示を日本語で行うか、英語で行うかを受け付けるボタンを配置したメニューである。
【０１０２】
こうした階層をもったメニューを動作させるためのMOVIEオブジェクトを図３２に示す。
FirstPlayオブジェクト(FirstPlay OBJ)は、再生装置へのBD-ROMのローディング時におけるスタートアップ手順を記述した動的シナリオである。FirstPlayオブジェクトを表す四角枠は、このスタートアップ手順を実行するためのコマンドを示す。FirstPlayオブジェクトの最後のコマンドは分岐コマンドであり、TopMenuオブジェクトを分岐先にしている。
【０１０３】
TopMenuオブジェクト(TopMenu OBJ)は、TopMenuの挙動を制御する動的シナリオである。ユーザがメニューコールを要求した際、呼び出されるのはこのTopMenuオブジェクトであり、第１実施形態で述べた状態設定ルーチンは、このTopMenuオブジェクトにあたる。TopMenuオブジェクトを表す四角の枠は、この制御手順を現した個々のコマンドを模式化したものである。このコマンドには、ユーザからの操作に応じてTopMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて分岐を行う分岐コマンドがある。この分岐コマンドは、TopMenuからTitleMenu、TopMenuからSubTitleMenu、TopMenuからAudioMenuというメニュー切り換えを実現するものである。
【０１０４】
AudioMenuオブジェクト(AudioMenu OBJ)は、AudioMenuの挙動を制御する動的シナリオである。AudioMenuオブジェクトを構成する四角の枠は、この制御手順を現した個々のコマンドを模式化したものである。このコマンドには、ユーザからの操作に応じてAudioMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて音声設定用のSPRMを更新するコマンドがある。
【０１０５】
SubTitleMenuオブジェクト(SubTitleMenu OBJ)は、SubTitleMenuの挙動を制御する動的なシナリオである。SubTitleMenuオブジェクトを構成する四角の枠は、この制御手順を現した個々のコマンドを模式化したものである。このコマンドには、ユーザからの操作に応じてSubTitleMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて音声設定用のSPRMを更新するコマンドがある。
【０１０６】
TitleMenuオブジェクト(TitleMenu OBJ)は、TitleMenuの挙動を制御する動的シナリオである。ユーザがタイトルサーチを要求した際、呼び出される動的シナリオは、このTitleMenuオブジェクトである。つまり第１実施形態で述べたタイトルサーチ用の動的シナリオとは、このTitleMenuオブジェクトにあたる。TitleMenuオブジェクトを表す四角の枠は、この制御手順を現した個々のコマンドを模式化したものである。このコマンドには、ユーザからの操作に応じてTitleMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて分岐を行う分岐コマンドがある。この分岐コマンドは、個々のTitleへの分岐を実現するものである。
【０１０７】
これらのメニュー用MOVIEオブジェクトにより、DVDで実現されているようなメニューの挙動を実現することができる。以上がメニュー制御に関連するMOVIEオブジェクトである。
続いて本実施形態におけるIndex Tableの改良について説明する。本実施形態におけるIndex Tableには、FirstPLayINDEX、TopMenuINDEX, Audio MenuINDEX、Subtitle MenuINDEX、Title MenuINDEXが追加されている。第１実施形態に示したように、これらのIndexは、3つのモードの何れの動的シナリオからも参照される。
【０１０８】
First PlayINDEXは、BD-ROMのスタートアップ時に参照されるIndexである。FirstPlayオブジェクトのファイル名が本Indexに記述される。
Top MenuINDEX、Audio MenuINDEX、Subtitle MenuINDEX、Title MenuINDEXは、それぞれAudio Menu、Subtitle Menu、Title Menuをダイレクトにコールするようなユーザ操作がなされた際、参照されるIndexである。ユーザによるダイレクトなコールは、ユーザがリモコンにおけるAudio選択キー、Subtitle選択キー、Title選択キーを押下することにより場合になされる。
【０１０９】
以上が本実施形態におけるMOVIEオブジェクトの改良である。続いて、本実施形態における再生装置の改良点について説明する。上述したようなMOVIEオブジェクトを動作させるには、モジュールマネージャ２０に図３３のフローチャートに示すような処理手順を行わせればよい。
メニュー制御を行うべく、本実施形態を示すモジュールマネージャ２０は、図３３に示すような処理手順で分岐制御を行う。本フローチャートが新規なのは、ステップＳ３０とステップＳ３１との間にステップＳ５０が挿入されており、このステップＳ５０がYesである場合に、ステップＳ５１〜ステップＳ５４の処理を行って、ステップＳ４に戻る点である。ステップＳ５１〜ステップＳ５４は、メニューの制御を行うシナリオを、カレント動的シナリオに設定するものである。つまり分岐コマンドの分岐先がxxxMenuであるなら(ステップＳ５０でYes)、カレントの動的シナリオiをSuspendし、SPRM及び変数xを退避して(ステップＳ５２)、分岐先Menuに対応するIndexからファイル名を取り出し(ステップＳ５２)、取り出されたファイル名の動的シナリオをカレントの動的シナリオiに設定し(ステップＳ５３)、カレントモードをMOVIEモードに戻す(ステップＳ５４)。その後、カレント動的シナリオを実行してゆく。
【０１１０】
以上のように本実施形態によれば、メニュー制御のための動的シナリオへの分岐は、Index TableのIndexを介した間接参照にて実現されるので、Java（登録商標）モード、Browserモードの実行時においてメニューキーが押下された場合でも、これらメニュー制御用の動的シナリオへと分岐することができる。Java（登録商標）仮想マシン、Browserモードからの音声切り換え、字幕切り換えの実現が可能となり、Java（登録商標）仮想マシン、Browserモードでの再生にあたっても、通常のDVD同様、音声切り換え、字幕切り換えが可能となる。
【０１１１】
（第５実施形態）
第５実施形態は、ムービーモードのために設けられたデータが、他のモードに与え得る弊害を防止するための改良に関する。ムービーモードでの制御はMOVIEオブジェクトだけでなく、AVClipに多重化されたインタラクティブグラフィカルストリーム中のコマンド(ボタンコマンド)によってもなされ得る。
【０１１２】
ボタンコマンドとは、グラフィカルストリームで記述されたボタンに対し、確定操作が行われた場合に実行されるコマンドである。ボタンコマンドはAVClipに組み込まれているので、ある動画の一コマが画面に現れたタイミングに、特定の処理を再生装置に実行させるという再生制御、つまり、動画内容と緻密に同期した再生制御の記述に便利である。またボタンコマンドは、AVClip自身に多重化されているので、再生制御を行いたい区間が数百個であっても、それらに対応するボタンコマンドの全てをメモリに格納しておく必要はない。ボタンコマンドはACCESS UNIT毎にビデオパケットと共にBD-ROMから読み出されるので、現在再生すべき動画区間に対応するボタンコマンドをメモリに常駐させ、この動画区間の再生が終われば、そのボタンコマンドをメモリから削除して、次の動画区間に対応するボタンコマンドをメモリに格納すればよい。ボタンコマンドは、AVClipに多重化されるので、たとえボタンコマンドの数が数百個になってもメモリの搭載量を必要最低限にすることができる。
【０１１３】
ボタンコマンドをストリーム中に埋め込んでいる場合、Java（登録商標）モードにおける動的シナリオとの干渉が問題になる。例えばJava（登録商標）モードによる再生制御を実行している場合、ストリーム中に埋め込まれたボタンコマンドがモジュールに供給されれば、Java（登録商標）モードの動的シナリオとボタンコマンドが同時に実行されることとなり、プレーヤの誤動作を招いてしまう。この問題を解決するため本実施形態では、PlayItemにフィルタ指定の機能を持たせている。
【０１１４】
ではどのようなフィルタ指定かというと、AVClipに多重化されている複数エレメンタリストリームのうち、どれが再生可能であり、どれが再生不可能かを選別するというものである。
図３４は、第５実施形態に係るPlayItemの内部構成を示す図である。本図ではplayable_PID_entriesが追加されている。図中の引き出し線hp1はplayable_PID_entriesの構成をクローズアップしている。これからも分かるように、playable_PID_entriesは再生を行うべきエレメンタリストリームのPIDを羅列してなる。
【０１１５】
以降、PlayItemにおけるフィルタ指定により、どのような再生制御が実現されるかについて説明する。図３５は、MOVIEオブジェクト、Java（登録商標）オブジェクトにより再生制御がなされる、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は再生装置におけるPIDフィルタ４に設定される。これによりPIDフィルタ４は、Video_PIDのビデオストリームをビデオデコーダ５に出力し、Audio_PID1、Audio_PID2のオーディオストリームをオーディオデコーダ７に出力する。P.Graphics_PID1、P.Graphics_PID2のプレゼンテーショングラフィカルストリームをグラフィカルデコーダ９に出力し、I.Graphics_PIDのインタラクティブグラフィカルストリームもグラフィカルデコーダ９に出力する。PlayItem＃3では、全てのグラフィカルストリームが再生可能と設定されているので、AVClipに多重化されている全てのグラフィカルストリームの再生が可能になる。
【０１１８】
一方、PlayItem＃12では、全てのグラフィカルストリームが再生不可能と設定されているので、Java（登録商標）モードにおける動的シナリオとの干渉は有り得ず、Java（登録商標）言語での制御が可能になる。
図３７は、PlayItem＃3,＃12の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（登録商標）オブジェクトが、仮想的なスタジオ(図中のカメラや椅子、照明が配された一室)を描画するものなら、この描画のためのJava（登録商標）オブジェクトは、グラフィカルストリームに含まれるコマンドの干渉を受けることはない。グラフィカルストリームに含まれるコマンドによる干渉を避けながら、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の本数を少なくすることができ、オーサリング時の手間を軽減することができる。
以上が第５実施形態におけるBD-ROM側の改良である。続いて第５実施形態における再生装置側の改良について説明する。
【０１２４】
第５実施形態における再生装置の処理は、再生制御エンジン１２が、図３８の処理手順を実行することにより実現される。
図３８は、再生制御エンジン１２によるPLPlay関数の実行手順を示すフローチャートである。本フローチャートにおいて処理対象たるPLをPLx、処理対象たるPIをPIy、処理対象たるACCESS UNITをACCESS UNITvとする。本フローチャートは、PLPlay関数の引数で指定されたPLをPLxに設定し、PLxをメモリに読み込んでから(ステップＳ６１)、処理対象たるPIを特定し(ステップＳ６２〜ステップＳ６４)、以降、このPIを構成するACCESS UNITを読み出す(ステップＳ６５〜ステップＳ７６)という手順からなる。
【０１２５】
ステップＳ６２は、PIの引数指定が有るかどうかの判定であり、もし引数指定があれば、PIyをPLxの先頭PIに設定し、PIzをPLxの最後のPIに設定する(ステップＳ６３)。PIzとは、読出範囲の最後を規定するPIである。
引数指定がなければ、PIyを引数指定されたPIに設定し、PIzを同じ引数指定されたPIに設定する(ステップＳ６４)。PIy、PIzを、引数指定されたPIに設定しておくのは、引数でPIが指定されている場合は、そのPIさえ読み出せばよいからである。
【０１２６】
ステップＳ６５〜ステップＳ７６は、PIyを構成するACCESS UNITの読み出しと、復号手順とを示す。この手順は、PIyのPlayable_PID_entriesをPIDフィルタ４に設定して(ステップＳ６５)、PIyのIn点ビデオフレームを含むACCESS UNITvをEP_mapから特定し(ステップＳ６６)、ACCESS UNITvの読み出しをBD-ROMドライブ１に命じて(ステップＳ６７)、ステップＳ６８−ステップＳ６９の判定を経てから、ACCESS UNITvに含まれるビデオフレームのデコードを行うようビデオデコーダ５に指示して(ステップＳ７０)、ACCESS UNITvを次のACCESS UNITに設定する(ステップＳ７１)というものである。以降、PIyに属する全てのACCESS UNITについて、このステップＳ６７〜ステップＳ７１の処理が繰り返される。
【０１２７】
ステップＳ６８は、ACCESS UNITvがIn点ビデオフレームを含んでいるかどうかの判定である。もしIN点ビデオフレームを含んでいる場合は(ステップＳ６８でYes)、In点のビデオフレームからACCESS UNITvの最後のビデオフレームまでのデコードを行うようビデオデコーダ５に指示してから(ステップＳ７２)、ステップＳ７０に移行する。
ステップＳ６９は、Out点vがPIyのOut点ビデオフレームを含んでいるかどうかの判定である。もしOut点ビデオフレームを含んでいる場合は(ステップＳ６９でYes)、ACCESS UNITvの先頭ビデオフレームからOut点ビデオフレームまでのデコードを行うようビデオデコーダ５に指示してから(ステップＳ７３)、PIyのPlayable_PID_entriesをPIDフィルタ４から解放する(ステップＳ７４)。これにより、PIyによるフィルタ指定は、無効となる。以降ステップＳ７５の判定を行う。ステップＳ７５は、本フローチャートの終了判定であり、PIyがPIzになったかを判定している。もしステップＳ７５がYesなら本フローチャートを終了し、そうでないなら、PIyを次のPIに設定して(ステップＳ７６)、ステップＳ６５に戻る。以降、ステップＳ７５がYesと判定されるまで、ステップＳ６５〜ステップＳ７７の処理は繰り返される。以上が再生制御エンジン１２の処理手順である。
【０１２８】
以上のように本実施形態によれば、AVClipに多重化されている複数エレメンタリストリームのうち、どれを再生可とし、どれを再生不可とするフィルタ指定を、PlayItemにもたせるので、各モードの動的シナリオは自身に応じたPlayItemを選ぶことにより、AVClipに多重化されているエレメンタリストリーム内のボタンコマンドによる影響を避けることができる。これによりJava（登録商標）モジュール１７がボタンコマンドの干渉を受ける事態はなくなり、再生装置の安定動作に寄与することができる。
【０１２９】
(第６実施形態)
本実施形態は、BD-ROMの製造工程に関する実施形態である。図３９は、第６実施形態に係るBD-ROMの製造工程を示すフローチャートである。
BD-ROMの制作工程は、動画収録、音声収録等の素材作成を行う素材制作工程Ｓ１０１、オーサリング装置を用いて、アプリケーションフォーマットを生成するオーサリング工程Ｓ１０２、BD-ROMの原盤を作成し、プレス・貼り合わせを行って、BD-ROMを完成させるプレス工程１０３を含む。
【０１３０】
これらの工程のうち、BD-ROMを対象としたオーサリング工程は、ステップＳ１０４〜ステップＳ１０９という工程からなる。
シナリオ編集工程Ｓ１０４とは、企画段階において作成された筋書きを再生装置が理解できる形式に変換する工程である。シナリオ編集の結果は、BD-ROM用シナリオとして生成される。また、このシナリオ編集において、多重化を実現するため多重化パラメータ等も生成される。
【０１３１】
かかる工程にて動的シナリオが完成すれば、ステップＳ１０５において各動的シナリオのresume_intension_flag、menu_call_mask、Title_search_maskを設定する。この設定は、各動的シナリオによる再生制御がSPRMにより影響を受けるかどうかに応じてなされる。かかる設定により、再生時でのメニューコール、タイトルサーチによる弊害が防止される。
【０１３２】
素材エンコード工程Ｓ１０６とは、ビデオ素材、オーディオ素材、副映像素材のそれぞれをエンコードして、ビデオストリーム、オーディオストリーム、グラフィカルストリームを得る作業である。
多重化工程Ｓ１０７では、素材エンコードにより得られた、ビデオストリーム、オーディオストリーム、グラフィカルストリームをインターリーブ多重して、これらを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)第５実施形態では、Chapterを一覧表示するためのMenu(Chapter Menu)と、これの挙動を制御するMOVIEオブジェクトとをBD-ROMに記録しておき、Top Menuから分岐できるようにしてもよい。またリモコンキーのChapterキーの押下により呼出されるようにしてもよい。
(F)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パケットは、他の機器に記録されることはない。
【０１４１】
(G)各実施形態において、記録媒体に記録されるデジタルストリームはAVClipであったが、DVD-Video規格、DVD-Video Recording規格のVOB(Video Object)であってもよい。VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818-1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリームは、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear-PCM方式、Dolby-AC3方式、MP3方式、MPEG-AAC方式、Dts、WMA(Windows（登録商標） media audio)であってもよい。
【０１４２】
(H)再生装置の構成において、動的シナリオメモリ１５には、カレントの動的シナリオのみを格納し、静的シナリオメモリ１１には、カレントのストリーム管理情報、カレントのPL情報のみを格納するとしたが、キャッシュメモリのように、複数のシナリオ、ストリーム管理情報、PL情報を予め格納しておいてもよい。こうすれば、これらのデータをBD-ROMから読み出すまでのタイムラグを短くすることができる。またBACKUPメモリ１４は、スタック式にレジスタの格納値を退避しておくとしたが、メモリ規模との関連を考えると、退避すべき格納値は一段とするのが現実的である。
【０１４３】
(I)各実施形態における映像作品は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
【０１４４】
(J)Java（登録商標）モジュール１７は、衛星放送受信のために機器に組み込まれたJava（登録商標）プラットフォームであってもよい。Java（登録商標）モジュール１７がかかるJava（登録商標）プラットフォームであれば、本発明に係る再生装置は、MHP用STBとしての処理を兼用することになる。
更に携帯電話の処理制御のために機器に組み込まれたJava（登録商標）プラットフォームであってもよい。かかるJava（登録商標）モジュール１７がかかるJava（登録商標）プラットフォームであれば、本発明に係る再生装置は、携帯電話としての処理を兼用することになる。
【０１４５】
またBROWSERモジュール１８は、MicroSoft社のInternet Explore等、パソコン組み込み型のブラウザソフトであってもよい。
(K)図に示したレイアモデルにおいて、Java（登録商標）モードの上にブラウザモード及びMOVIEモードを配置してもよい。特にMOVIEモードでの動的シナリオの解釈や、動的シナリオに基づく制御手順の実行は、再生装置に対する負担が軽いので、MOVIEモードをJava（登録商標）モード上で実行させても何等問題は生じないからである。また再生装置や映画作品の開発にあたって、動作保証が1つのモードで済むからである。
【０１４６】
更に3つのモードを設けず、Java（登録商標）モードだけでJava（登録商標）モードの処理を実行してもよい。第２実施形態に示したように、Java（登録商標）モードでもPLの再生と同期した再生制御が可能になるから、強いてMOVIEモードを設けなくてもよいという理由による。更に動的シナリオにおける制御は、MOVIEモードだけでも、ブラウザモードだけでもよい。
【産業上の利用可能性】
【０１４７】
本発明に係る記録媒体、再生装置は、対話的な制御を映画作品に付与することができるので、より付加価値が高い映画作品を市場に供給することができ、映画市場や民生機器市場を活性化させることができる。故に本発明に係る記録媒体、再生装置は、映画産業や民生機器産業において高い利用可能性をもつ。
【図面の簡単な説明】
【０１４８】
【図１】（ａ）〜（ｃ）動的シナリオを示す図である。
【図２】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図３】BD-ROMの構成を示す図である。
【図４】ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーション)を表現した図である。
【図５】機能的な観点から、図４に示したファイルを分類した場合の分類図である。
【図６】BD-ROMが対象としているレイヤモデルを示す図である。
【図７】AVClipがどのように構成されているかを模式的に示す図である。
【図８】Clip情報の内部構成を示す図である。
【図９】PL情報の内部構成を示す図である。
【図１０】PL情報による間接参照を模式化した図である。
【図１１】図１０に示したPL情報(PL情報＃1)と別のPL(PL情報＃2)を定義する場合の一例を示す図である。
【図１２】レイヤモデルの第４層における再生モードを示す図である。
【図１３】MOVIEオブジェクトの内部構成を示す図である。
【図１４】（ａ）resume_intension_flag、menu_call_mask、Title_search_maskが付加された動的シナリオを示す図である。 （ｂ）図１４（ｂ）のMOVIEオブジェクトに基づく再生制御を示す図である。 （ｃ）タイトル先頭からリスタートを行う場合を示す図である。
【図１５】（ａ）〜（ｃ）再生のリスタートを開始させるための再生装置側の処理を示す。
【図１６】（ａ）〜（ｃ）設問による分岐を実現する場合のMOVIEオブジェクトの記述例と、この記述例による再生制御とを示す図である。
【図１７】（ａ）〜（ｃ）パレンタルロックを示す場合の動的シナリオの記述例を示す図である。
【図１８】（ａ）〜（ｂ）Title_search_maskの設定例を示す図である。
【図１９】本発明に係る再生装置の内部構成を示す図である。
【図２０】モジュールマネージャ２０による処理手順を示すフローチャートである。
【図２１】モジュールマネージャ２０による処理手順を示すフローチャートである。
【図２２】モジュールマネージャ２０による処理手順を示すフローチャートである。
【図２３】（ａ）〜（ｄ）INFO.BDの内部構成を示す図である。
【図２４】（ａ）複数の動的シナリオ(001.MOVIE,002.MOVIE,003.MOVIE・・・・、001.CLASS,002.CLASS,003.CLASS・・・・・・)が記録されているBD-ROMを示す図である。 （ｂ）図２４（ａ）に示すような複数動的シナリオが記述されている場合のIndex Tableの記述例を示す図である。
【図２５】（ａ）図２４（ｂ）のようにIndex Tableが記述された場合のフルシステムにおける間接参照を示す。 （ｂ）コアシステムにおける間接参照を示す図である。
【図２６】MOVIEオブジェクトからJava（登録商標）オブジェクトへの分岐がどのように行われるかを模式的に示す図である。
【図２７】コアシステムの再生装置に図１８に示したシナリオが記録されたBD-ROMが装填された場合、どのような分岐が行われるかを示す。
【図２８】第２実施形態におけるモジュールマネージャ２０の処理手順を示す図である。
【図２９】（ａ）複数のバージョン用のIndex Tableが記録されたBD-ROMを示す図である。 （ｂ）図２９（ａ）に示したBD-ROMが、バージョン1.0の再生装置に装填された状態を想定した図である。 （ｃ）図２９（ａ）に示したBD-ROMが、バージョン1.1の再生装置に装填された状態を想定した図である。
【図３０】モジュールマネージャ２０による処理手順を示すフローチャートである。
【図３１】BD-ROMにより実現されるメニュー階層を示す図である。
【図３２】階層をもったメニューを動作させるためのMOVIEオブジェクトを示す図である。
【図３３】分岐制御の処理手順を示すフローチャートである。
【図３４】第５実施形態に係るPlayItemの内部構成を示す図である。
【図３５】MOVIEオブジェクト、Java（登録商標）オブジェクトにより再生制御がなされる、PLの階層構造を示す図である。
【図３６】PlayItem＃3,＃12におけるplayable_PID_entriesにより、どのようにフィルタ指定が行われるかを示す図である。
【図３７】PlayItem＃3,＃12のPlayable_PID_entriesにより、どのような再生出力が可能になるかを示す図である。
【図３８】再生制御エンジン１２によるPLPlay関数の実行手順を示すフローチャートである。
【図３９】BD-ROMの製造工程を示すフローチャートである。
【符号の説明】
【０１４９】
１ BDドライブ
２ トラックバッファ
４ PIDフィルタ
５ ビデオデコーダ
６ ピクチャプレーン
７ オーディオデコーダ
８ グラフィカルプレーン
９ グラフィカルデコーダ
１０ 加算器
１１ 静的シナリオメモリ
１２ 再生制御エンジン
１３ プレーヤレジスタ
１４ BACKUPメモリ
１５ 動的シナリオメモリ
１６ DVDライクモジュール
１７ Java（登録商標）モジュール
１８ BROWSERモジュール
１９ UOコントローラ
２０ モジュールマネージャ
２１ ディスパッチャ
１００ BD-ROM
２００ 再生装置
３００ テレビ
４００ リモコン
【図１】
2008112561.tif 000003
【図２】
2008112561.tif 000004
【図３】
2008112561.tif 000005
【図４】
2008112561.tif 000006
【図５】
2008112561.tif 000007
【図６】
2008112561.tif 000008
【図７】
2008112561.tif 000009
【図８】
2008112561.tif 000010
【図９】
2008112561.tif 000011
【図１０】
2008112561.tif 000012
【図１１】
2008112561.tif 000013
【図１２】
2008112561.tif 000014
【図１３】
2008112561.tif 000015
【図１４】
2008112561.tif 000016
【図１５】
2008112561.tif 000017
【図１６】
2008112561.tif 000018
【図１７】
2008112561.tif 000019
【図１８】
2008112561.tif 000020
【図１９】
2008112561.tif 000021
【図２０】
2008112561.tif 000022
【図２１】
2008112561.tif 000023
【図２２】
2008112561.tif 000024
【図２３】
2008112561.tif 000025
【図２４】
2008112561.tif 000026
【図２５】
2008112561.tif 000027
【図２６】
2008112561.tif 000028
【図２７】
2008112561.tif 000029
【図２８】
2008112561.tif 000030
【図２９】
2008112561.tif 000031
【図３０】
2008112561.tif 000032
【図３１】
2008112561.tif 000033
【図３２】
2008112561.tif 000034
【図３３】
2008112561.tif 000035
【図３４】
2008112561.tif 000036
【図３５】
2008112561.tif 000037
【図３６】
2008112561.tif 000038
【図３７】
2008112561.tif 000039
【図３８】
2008112561.tif 000040
【図３９】
2008112561.tif 000041