説明

記録媒体、再生装置、記録方法、集積回路、再生方法、プログラム

【課題】ストリームや再生経路の数を増やすことなく、映画作品を充実させることができる記録媒体を提供する。
【解決手段】記録媒体であるBD-ROMには、AVClipと、動的シナリオとが記録されている。動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されている。属性情報は、AVClipの再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、title_search_maskフラグを含んでおり、title_search_maskフラグは、動的シナリオによる動画データ再生中にユーザがタイトルサーチを要求した場合、その要求をマスクするか否かを示す。

【発明の詳細な説明】
【技術分野】
【0001】
BD-ROM等、映画作品の頒布のための記録媒体と、その再生装置とに関し、特に、動的な再生制御を実現する映画作品を提供する場合の改良に関する。
【背景技術】
【0002】
DVD-ROM,BD-ROMの販売にあたっては、1枚のディスクで販売できる映画作品(タイトル)のバリエーションの数が多ければ多いほど、商品としての付加価値は高まる。タイトルのバリエーションを増やすにあたって、静的シナリオ、動的シナリオと呼ばれるシナリオデータは、積極的な役割をもつ。静的なシナリオとは、ディスク制作者によって予め規定された再生経路を示す情報である。これに対し動的なシナリオとは、装置の状態設定によって再生進行を動的に変化させるシナリオである。
【0003】
図1は、動的シナリオを示す図である。かかる動的シナリオは、再生装置における言語設定によって再生シーンを切り替える「ランゲージクレジット」を実現する。図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)という条件付き再生を実現する。かかる条件付き再生により、ユーザによる言語設定に応じて異なる再生経路による再生がなされることになる。図中(b)の矢印hb1,hb2は、動的シナリオによる条件付き分岐を象徴的に示したものである。尚、DVDの再生制御に関する先行技術には、以下の特許文献1に記載されたものが知られている。
【特許文献1】特許第2856363号
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1では、ユーザ操作の可否をストリームレベル、再生経路で設定するという技術を開示しているものの、この技術では、タイトル選択のためのメニューコールを許可すべき再生制御、タイトル選択のためのメニューコールを禁止すべき再生制御という2通りの再生制御を作り分けようとすると、ストリームや再生経路の数がやたら増えてしまうという問題がある。
【0005】
ここで、本願の図18に記載されているような再生制御を特許文献1で規定しようとする場合、制作者がどのような状況に陥るかについて述べる。図18は、予告編をユーザに視聴させた上で、本編再生を行うという再生制御を規定した図である。本図におけるPL(PlayList)#6は、予告編(1)であり、PL#7は予告編(2)、PL#5は、PL#6,PL#7のうち、どちらかをユーザに選択させる映像である。どちらの予告編を選択したかは、GPRM(0)に設定される。そしてif文による再生の切り換えは、GPRM(0)に応じてなされる。こうした記述を含むのが、Movieオブジェクト(0)である。Movieオブジェクト(0)におけるJmp MovieObject(1)は、かかる切り換え後に実行される分岐コマンドであり、MOVIEオブジェクト(1)を分岐先としている。このMOVIEオブジェクト(1)は、本編再生のためのものである。
【0006】
特許文献1では再生経路であるPlayListそのものに対してユーザ操作の許否を設定するので、PL#5,PL#6など、択一的に再生可能な予告編の数が多ければ、その数だけ、ユーザ操作が否と設定された再生経路を設けねばならない。そうすると、再生可能な予告編の数が多ければ多い程、多くの再生経路を用意せねばならず、動的シナリオの記述が複雑になり、制作者にとっての煩雑さが増す(原出願の段落0048、0049)。
【0007】
本発明の目的は、ストリームや再生経路の数を増やすことなく、再生制御を充実させることができる記録媒体を提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係る記録媒体は、動画データと、動的シナリオとが記録された記録媒体であって、動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、前記記録媒体には、複数タイトルが記録されており、属性情報は、サーチマスクフラグを含み、サーチマスクフラグは、動的シナリオによる動画データ再生中にユーザがタイトルサーチを要求した場合、その要求をマスクするか否かを示すことを特徴としている。
【発明の効果】
【0009】
本発明では、動的シナリオのレベルでメニューコール終了時における再生再開の可否を設定しているので、ストリームや再生経路の数を増やすことはない。ストリームや再生経路の数を余り増やさないので、本発明では、メニューコールを許可すべき再生制御、メニューコールを禁止すべき再生制御の作り分けを容易に実現することができる。
以下、上述したサーチマスクフラグを導入したことで、図18(a)に示した動的シナリオの記述が、どのように簡略化されるかについて説明する。図18(a)におけるMOVIEオブジェクト(0)は、MOVIEオブジェクト(1)に先立ち実行されるMOVIEオブジェクトである。このMOVIEオブジェクト(0)においてTitle_search_maskは、“1”に設定されているので、MOVIEオブジェクト(0)により再生制御がなされている間は、PL#5,PL#6の何れで再生を行う場合も、タイトルサーチの要求はマスクされることになる(原出願の段落0048)。
【0010】
一方、MOVIEオブジェクト(1)においてTitle_search_maskは、“0”に設定されているので、MOVIEオブジェクト(1)による再生制御が開始すれば、タイトルサーチのマスクは解除される。つまり、MOVIEオブジェクトにて参照された予告編(1)、(2)のどちらかを視聴すれば、タイトルサーチは起動されることになる(図18(b))。たった1ビットのTitle_search_maskを設定するだけで、『予告編(1)、(2)のどちらかを視聴するまで、タイトルサーチを禁ずる』という制御を実現することができるので、メニューコールを許可すべき再生制御、メニューコールを禁止すべき再生制御の作り分けを容易に実現することができ、再生制御の記述の自由度が増すことができる(原出願の段落0048)。
【発明を実施するための最良の形態】
【0011】
(第1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図2は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図2において、本発明に係る記録媒体は、BD-ROM100である。このBD-ROM100は、再生装置200、テレビ300、リモコン400により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
【0012】
続いて本発明に係る記録媒体の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録媒体は、BD-ROMの応用層に対する改良により実施することができる。図3は、BD-ROMの構成を示す図である。
本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。図3に示すようなデータフォーマットを、BD-ROMの応用層上に形成することにより本発明に係る記録媒体は、工業的に生産される。
【0013】
図4は、ディレクトリ構造を用いて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というファイルが配置されている。
【0014】
図5は、機能的な観点から、これらのファイルを分類した場合の分類図である。本図において、第1層、第2層、第3層、第4層からなる階層が本図における分類を象徴的に示す。本図においてXXX.M2TSは第2層に分類される。XXX.CLPI,YYY.MPLSは、第3層(静的シナリオ)に分類される。BDMVディレクトリ配下のZZZ.MOVIE、JCLASSディレクトリ配下のZZZ.CLASS、BROWSERディレクトリ配下のZZZ.HTMは、第4層に分類される。
【0015】
本図の分類(第1層〜第4層)は、図6に示すようなレイヤモデルを対象とした分類である。以降、図6を参照しながら、BD-ROMが対象としている、制御ソフトウェアのレイアモデルについて説明する。
図6の第1層は、物理層であり、処理対象たるストリーム本体の供給制御である。この第1層に示すように、処理対象たるストリームは、BD-ROMだけではなく、HD(Hard Disc)、メモリカード、ネットワークといったあらゆる記録媒体、通信媒体を供給源としている。これらHD、メモリカード、ネットワークといった供給源に対する制御(ディスクアクセス、カードアクセス、ネットワーク通信)が第1層の制御である。
【0016】
第2層は、復号化方式のレイアである。第1層で供給されたストリームを、どのような復号化方式を用いて復号するのかを規定しているのがこの第2層である。本実施形態で採用する復号化方式は、MPEG2の復号化方式である。
第3層(静的シナリオ)は、ストリームの静的なシナリオを規定するレイアである。静的なシナリオとは、ディスク制作者によって予め規定された再生経路情報、Clip情報であり、これらに基づく再生制御を規定しているのがこの第3層(静的シナリオ)である。
【0017】
第4層は、ストリームにおける動的なシナリオを実現するレイヤである。動的なシナリオとは、ユーザ操作や装置の状態によって再生進行を動的に変化させるためのシナリオであり、これらに基づく再生制御を規定しているのがこの第4層である。以降、このレイヤモデルに従い、ストリーム本体、静的なシナリオ、動的なシナリオにあたるファイルについて説明してゆく。
【0018】
先ず第2層に属するAVClip(XXX.M2TS)について説明する。
AVClip(XXX.M2TS)は、MPEG-TS(Transport Stream)形式のデジタルストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、1つ以上のグラフィカルストリーム、プレゼンテーショングラフィカルストリーム、インタラクティブグラフィカルストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、プレゼンテーショングラフィカルストリームは、映画の字幕を、インタラクティブグラフィカルストリームは、メニューを対象とした動的な再生制御の手順をそれぞれ示している。図7は、AVClipがどのように構成されているかを模式的に示す図である。
【0019】
AVClipは(第4段目)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(第1段目)、PESパケット列に変換し(第2段目)、更にTSパケットに変換し(第3段目)、同じく字幕系のプレゼンテーショングラフィカルストリーム、対話系のインタラクティブグラフィカルストリーム(第7段目)を、PESパケット列に変換し(第6段目)、更にTSパケットに変換して(第5段目)、これらを多重化することで構成される。この多重化は、オーディオフレームが、同じ時刻にBD-ROMから読み出されるべきビデオフレームの近くにくるように、ビデオフレームを格納したTSパケット、オーディオフレームを格納したTSパケットを並べるというものである。
【0020】
かかる過程を経て生成された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(I)ピクチャを含む。
【0021】
尚、XXX.M2TSのファイル名XXXは、BD-ROMにおいてAVClipに付与される3桁の識別番号を抽象化している。つまり本図におけるAVClipは、このXXXを用いて一意に識別される。以上がストリーム(XXX.M2TS)についての説明である(ここでの3桁という桁数は例示に過ぎず、何桁でもよい。)。

<静的なシナリオ>
続いて、静的なシナリオであるファイル(XXX.CLPI,YYY.MPLS)について説明する。
【0022】
Clip情報(XXX.CLPI)は、個々のAVClipについての管理情報である。図8は、Clip情報の内部構成を示す図である。AVClipはビデオストリーム、オーディオストリームを多重化することで得られ、AVClipはACCESS UNITと呼ばれる単位での頭出しが可能なので、各ビデオストリーム、オーディオストリームはどのような属性をもっているか、頭出し位置がAVClip内の何処に存在するかが、Clip情報の管理項目になる。図中の引き出し線はClip情報の構成をクローズアップしている。引き出し線hn1に示すように、Clip情報(XXX.CLPI)は、ビデオストリーム、オーディオストリームについての「属性情報」と、ACCESS UNITを頭出しするためのリファレンステーブルである「EP_map」とからなる。
【0023】
属性情報(Attribute)は、破線の引き出し線hn2に示すようにビデオストリームについての属性情報(Video属性情報)、属性情報数(Number)、AVClipに多重化される複数オーディオストリームのそれぞれについての属性情報(Audio属性情報#1〜#m)からなる。Video属性情報は、破線の引き出し線hn3に示すようにそのビデオストリームがどのような圧縮方式で圧縮されたか(Coding)、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか(Resolution)、アスペクト比はどれだけであるか(Aspect)、フレームレートはどれだけであるか(Framerate)を示す。
【0024】
一方、オーディオストリームについての属性情報(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情報についての説明である。続いてプレイリスト情報について説明する。
【0025】
YYY.MPLS(プレイリスト情報)は、再生経路情報であるプレイリストを構成するテーブルであり、複数のPlayItem情報(PlayItem情報#1,#2,#3・・・#n)と、これらPlayItem情報数(Number)とからなる。図9は、PL情報の内部構成を示す図である。PlayItem情報は、ポインタ情報であり、プレイリストを構成する1つ以上の論理的な再生区間を定義する。PlayItem情報の構成は、引き出し線hs1によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIn点及びOut点が属するAVClipの再生区間情報のファイル名を示す『Clip_Information_file_name』と、当該AVClipがどのような符号化方式で符号化されているかを示す『Clip_codec_identifier』と、再生区間の始点を示す時間情報『IN_time』と、再生区間の終点を示す時間情報『OUT_time』とから構成される。
【0026】
PlayItem情報の特徴は、その表記法にある。つまりEP_mapをリファレンステーブルとして用いた間接参照の形式で、再生区間が定義されている。図10は、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のアドレスを指定するという間接参照であることがわかる。
【0027】
PlayItem情報−Clip情報−AVClipの組みからなるBD-ROM上の再生区間を『プレイアイテム』という。PL情報−Clip情報−AVClipの組みからなるBD-ROM上の論理的な再生単位を『プレイリスト(PLと略す)』という。BD-ROMに記録された映画作品は、この論理的な再生単位(PL)にて構成される。論理的な再生単位にて、BD-ROMにおける映画作品は構成されるので、本編たる映画作品とは別に、あるキャラクタが登場するようなシーンのみを指定するようなPLを定義すれば、そのキャラクタが登場するシーンのみからなる映画作品を簡単に制作することができる。図11は、図10に示したPL情報(PL情報#1)とは、別のPL(PL情報#2)を定義する場合の一例を示す図である。
【0028】
様々な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桁という桁数は例示に過ぎず、何桁でもよい。)。
【0029】
以上が、静的なシナリオについての説明である。続いて動的なシナリオについて説明する。

<動的なシナリオ>
動的なシナリオは、AVClipの動的な再生制御手順を示すコマンド列である。動的な再生制御手順とは、装置に対するユーザ操作に応じて変化するものであり、プログラム的な性質をもつ。ここでの動的な再生制御には、2つのモードがある。2つのモードのうち1つは、AV機器特有の再生環境で、BD-ROMに記録された動画データを再生するモード(ノーマルモード)であり、もう1つはBD-ROMに記録された動画データの付加価値を高めるモード(エンハンスドモード)である。図12は、レイヤモデルの第4層における再生モードを示す図である。本図において第4層には、1つのノーマルモードと、2つのエンハンスドモードとが記述されている。1つのノーマルモードは、DVDライクな再生環境での再生モードでありMOVIEモードと呼ばれる。2つのエンハンスドモードのうち、1つ目は、Java(登録商標)仮想マシンを主体とした再生モードであり、Java(登録商標)モードと呼ばれる。2つ目のエンハンスドモードのうち、2つ目はブラウザを主体とした再生モードであり、Browserモードと呼ばれる。第4層には、MOVIEモード、Java(登録商標)モード、Browserモードという3つのモードがあるので、動的シナリオはどれかのモードで実行できるように記述されればよい。DVDプレーヤ向けのコマンドと良く似たコマンドで、制御手順を記述したい場合は、MOVIEモードの再生制御手順を記述すればよい。そうすれば既存のDVD再生装置と良く似た再生制御を再生装置に実行させることができる。ページ記述言語で制御手順を記述した場合は、Browserモードの再生制御手順を記述すればよい。ネットワーク上のサイトをアクセスしたり、ファイルをダウンロードするような制御手順を記述することができる。Java(登録商標)モードの動的シナリオが図4に示したZZZ.CLASSであり、ブラウザモードの動的シナリオがZZZ.HTMである。MOVIEモードの動的シナリオがZZZ.MOVIEである。
【0030】

<MOVIEモードにおける動的なシナリオ>
MOVIEモードにおける動的シナリオについて説明する。MOVIEオブジェクト(ZZZ.MOVIE)は、DVD再生装置用コマンドに類似したコマンドにて記述された、動的シナリオである。PLの再生を命じる再生コマンド、その再生に先立ち実行すべきコマンド(PREコマンド)、その再生後に実行すべきコマンド(POSTコマンド)からなる。1つ以上の動的シナリオと、各動的シナリオにて再生が命じられるPLとの組みをTitleという。Titleは、BD-ROMにおける映画作品全体に相当する単位である。またMOVIEオブジェクトは、M-OBJと略記する場合がある。
【0031】
<シナリオの記述手法>
以上の動的シナリオは、第3層(静的シナリオ)から供給される関数を用いた記述が可能である。以降、第3層(静的シナリオ)から供給される関数について説明する。

(a)再生関数:第1引数で指定するプレイリストの再生を、第2引数で指定する位置から再生を開始させる;

書式:PlayPL(第1引数,第2引数)
第1引数は、プレイリストの番号で、再生すべきPLを指定することができる。第2引数は、そのPLに含まれるPlayItemや、そのPLにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
【0032】
PlayItemにより再生開始位置を指定したPlayPL関数をPlayPLatPlayItem()、
Chapterにより再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報により再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。

(b)再生装置の状態取得や状態設定のための関数
再生装置の状態は、32個のPlayer Status Register(これの設定値は、System Parameter(SPRM)と呼ばれる)と、32個のGeneral Purpose Register(これの設定値は、General Parameter(GPRM)と呼ばれる)とに示されている。
【0033】
MOVIEオブジェクト、Java(登録商標)オブジェクト、WebPageオブジェクトは、以下の(i)〜(iv)の関数を使用することにより、これらのレジスタに値を設定したり、これらのレジスタから値を取得したりすることができる。

(i)Get value of Player Status Register関数
書式:Get value of Player Status Register(引数)
この関数は、引数で指定されたPlayer Status Registerの設定値を取得する関数である。
【0034】
(ii)Set value of Player Status Register関数
書式:Set value of Player Status Register(第1引数、第2引数)
この関数は、第1引数で指定されたPlayer Status Registerに、第2引数で指定された値を設定させる関数である。
(iii)Get value of General Purpose Register関数
書式:Get value of General Purpose Register(引数)
この関数は、引数で指定されたGeneral Purpose Registerの設定値を取得する関数である。
【0035】
(iv)Set value of General Purpose Register関数
書式:Set value of General Purpose Register(第1引数、第2引数)
この関数は、第1引数で指定されたGeneral Purpose Registerに、第2引数で指定された値を設定させる関数である。
Player Status Registerの設定値(SPRM)がどのような意味をもつかは、以下に示す通りである。以下のSPRM(x)という表記は、x番目のPlayer Status Registerの設定値を意味する。
【0036】

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)が更新される。
【0037】
これにより再生装置が、どのTitleを再生しているか、どのPLを再生しているか、またそのPLにおいてどのPlayItem、どのChapterを再生しているか、どのPlayItemを再生しているのかは、SPRM(4)〜(7)を参照すればわかる。
SPRM(8)は、現在の再生時点を示す時刻情報であり、AVClipに属する各ピクチャデータが表示される度に更新される。つまり再生装置が新たなピクチャデータを表示させれば、その新たなピクチャデータの表示開始時刻(Presentation Time)を示す値にSPRM(8)は更新される。
【0038】
Get value of Player Status Register関数、Get value of General Purpose Register関数を用いて以上のようなPlayer Status Registerを参照すれば、Java(登録商標)オブジェクト及びWebPageオブジェクトは再生装置の状態を詳細に知得することができる。

(C)第3層(静的シナリオ)から供給されるプログラミング関数ではないが、動的シナリオから動的シナリオへの分岐も存在する。動的シナリオから動的シナリオへの分岐を行わせる関数には、以下のJMP関数と、CALL関数とがある。
【0039】
JMP関数
書式:JMP 引数
CALL関数
書式:CALL 引数

JMP関数は、現在の動的シナリオを途中で廃棄し(discard)、引数たる分岐先動的シナリオを実行するという分岐である。JMP命令の形式には、分岐先動的シナリオを直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間接参照のものがある。
【0040】
Call関数とは、動的シナリオの動作を一旦停止してから(Suspend)、引数たる分岐先動的シナリオを動作させ、分岐先動的シナリオの動作終了後、停止中の動的シナリオの動作を再開するという分岐である。Call命令の分岐先となる動的シナリオは、その末尾にResume命令が配置されている。Resume命令とは、いわゆるサブルーチンのReturn命令であり、Call関数を実行したためにSuspend状態になっている動的シナリオを、再起動させるための命令である。Call関数の形式には、JMP命令同様、分岐先動的シナリオを直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間接参照のものがある。
【0041】
以上が、第3層(静的シナリオ)により供給される関数及び変数である。
図13は、MOVIEオブジェクトの内部構成を示す図である。本図に示すようにMOVIEオブジェクトは、属性情報と、コマンド列とからなる。属性情報は、resume_intension_flag、menu_call_mask、Title_search_maskからなる。
『resume_intension_flag』は、メニューコールが要求された際、MOVIEオブジェクトがどのような制御を行うべきかを示す。resume_intension_flagがオフであるなら、メニューコールがユーザから要求された場合、状態設定ルーチンを呼び出す。この際、上述したような再開は行わず、現在実行中のカレントMOVIEオブジェクトは廃棄される。再生装置側でカレントMOVIEオブジェクトが廃棄されれば、再生装置側の再生を、リスタートさせねばならない。リスタートにあたって、どの再生位置まで遡るかについては、2つの考えがある。1つはカレントMOVIEオブジェクトに分岐する直前の状態にまで遡ってリスタートを行うというものである。
【0042】
もう1つは、カレントMOVIEオブジェクトを構成する複数コマンドのうち、途中までが再生装置により実行されていた場合、カレントMOVIEオブジェクトを構成する複数コマンドの先頭にまで遡って、リスタートを行うというものである。前者のリスタートでは、分岐直前の状態を再現させるという処理が煩雑になるので本実施形態では後者のリスタートを行う。
【0043】
この後者のリスタートは、MOVIEオブジェクトの実行位置を示すパラメータや、現在の再生位置を示すパラメータを初期化することでなされる。つまりメニューコール時の状態設定ルーチンの分岐にあたって、再生位置を示すSPRM(5)〜(8)を初期化しておく。初期化された後にSPRM(4)〜(8)が退避されれば、状態設定ルーチンの終了時の復帰処理にて、SPRM(4)〜(8)が、元のレジスタに再設定されることになる。このうちSPRM(5)〜(8)は初期化されているので、かかる再設定により、再生装置はリスタートを行う。
【0044】
一方、resume_intension_flagがオンであるなら、カレントMOVIEオブジェクトを停止し(suspend)、SPRMを退避した上で、メニューコール用MOVIEオブジェクトにジャンプする。メニューコール用MOVIEオブジェクトの処理を終えれば、SPRMを復帰してカレントMOVIEオブジェクトによる再生を再開する(Resume)。図1に示したようなラングゲージクレジットを実現するMOVIEオブジェクトでは、resume_intension_flagをオフに設定しておくことが望ましい。何故なら、再生位置がPL#2上にある場合に、メニューコールが要求され、言語設定が英語から日本語に変更されれば、再生装置は再生の再開位置を失うからである。
【0045】
このように再生再開位置の消失が危惧されるようなMOVIEオブジェクトにおいて、制作者は属性情報たるresume_intension_flagをオフに設定することにより、再生時における再生装置の誤動作を防ぐことができる。これにより制作者は、SPRMの設定に応じた再生制御を行うMOVIEオブジェクトを安心して作成することができる。
resume_intension_flagによる再生再開又はリスタートは、MOVIEオブジェクトの単位で可能になるので、1つ、2つのコマンドからなるMOVIEオブジェクトを作成し、これらのMOVIEオブジェクトを分岐させてゆけば、1つ、2つのコマンドの単位で、再生再開又はリスタートが可能になる。つまり再生再開、リスタートをどの単位で実行するかに応じて、MOVIEオブジェクトを作成すればよい。以上がresume_intension_flagの説明である。
【0046】
『menu_call_mask』は、メニューコールそのものがマスクされているか否かを示すフラグである。本フラグがオフであるなら、ユーザによるメニューコールの要求は許可され、オンであるなら、ユーザによるメニューコールの要求は禁じられる。
『Title_search_mask』は、タイトルサーチがマスクされているか否かを示すフラグである。本フラグがオフであるなら、ユーザによるタイトルサーチの要求は許可され、オンであるなら、ユーザによるタイトルサーチの要求は禁じられる。カレントMOVIEオブジェクトが、FBIによる警告映像やTrailer(予告編映像)の再生を行うものである場合、MOVIEオブジェクトのTitle_search_maskをオンに設定することにより、これらの映像の内容を確実にユーザに視聴させ、内容を理解させることができる。
【0047】
以降、resume_intension_flag、Title_search_maskの具体的な設定例について説明する。図14は、ラングゲージクレジットを実現する場合のMOVIEオブジェクトの記述例と、この記述例による再生制御とを示す図である。
この図14(a)のMOVIEオブジェクトの記述例は、図1(a)に示したMOVIEオブジェクトの記述例に、resume_intension_flag、menu_call_mask、Title_search_maskを付加したものである。これらresume_intension_flag、menu_call_mask、Title_search_maskは全て0に設定されている。図14(b)は、こうして記述されたMOVIEオブジェクトに基づく再生制御を示す図である。図14(a)の記述例は、再生装置における言語設定(SPRM(0))が「日本語」なら(if(SPRM(0)==Japanese))、PL#4を再生し(Link(PL#4,PI#1)、再生装置における言語設定がそれ以外なら(else)、PL#2を再生する(Link(PL#2,PI#1)という条件付き再生を実現するものである。ここで再生装置側の言語設定が英語であるなら、再生位置はPL#2上を進行することになる。
【0048】
再生位置がPL#2上にある状態で、ユーザからメニューコールが要求されたものとする(rg1)。この際、本MOVIEオブジェクトではresume_intension_flagが0に設定されているので、再生をリスタートさせるよう図15(a)〜(c)の処理を行う。図15(a)〜(c)は、再生のリスタートを開始させるための再生装置側の処理を示す。resume_intension_flagが0に設定されている場合、再生位置を示すSPRM(4)〜(8)のうち、SPRM(5)〜(8)を初期化した上で(図15(a))、SPRM(4)〜(8)をメモリに退避する(図15(b))。退避後、状態設定ルーチンrc1への分岐br1を実行する。この状態設定ルーチンでユーザは、言語設定を英語から日本語に変更したものとする(図中の英語→日本語)。こうして、状態設定ルーチンの処理が終了すれば、再生装置側では、メモリに退避されたSPRM(4)〜(8)を、レジスタに復帰する。初期化された再生位置を示すSPRM(5)〜(8)がレジスタに設定されるので、再生位置は、図14(b)のタイトルの先頭に設定されることになる。これによりタイトルの先頭からのリスタートがかけられる。尚、図14(c)の一例は、再生装置側が現在再生中のタイトル番号を示すSPRM(4)を初期化しなかったため、再生位置はタイトル先頭に設定されている。もしこのタイトル番号を初期化すれば、タイトル選択をユーザに促すタイトルメニューから、再生はリスタートすることになる。
【0049】
他の記述例を図16(a)〜(c)に示す。
図16は、設問による分岐を実現する場合のMOVIEオブジェクトの記述例と、この記述例による再生制御とを示す図である。この図16(a)のMOVIEオブジェクトの記述例が、図14(a)のものと異なるのは、図14(a)はラングゲージクレジットを実現するものであるのに対し、図16(a)は、対話的な再生制御を実現する点である。この図16(a)においてPL#1が設問のシーンであり、PL#2はその設問に対し、回答(1)を選択した場合に現れるシーン、PL#4はその設問に対し、回答(2)を選択した場合に現れるシーンである。どの回答を選択したかは、GPRM(0)に設定されている。そしてif文による再生の切り換えは、GPRM(0)に応じてなされる。GPRM(0)は、汎用レジスタの値に過ぎず、状態設定ルーチンへの設定に応じて更新されるものではない。そして本記述例では、resume_intension_flagは1に設定されている。
【0050】
図16(b)は、こうして記述されたMOVIEオブジェクトに基づく再生制御を示す図である。
再生位置がPL#2上にある状態で、ユーザからメニューコールが要求されたものとする。この際、本MOVIEオブジェクトではresume_intension_flagが1に設定されているので、再生装置側では、図15(a)を省いて、図15(b)の処理を行う。つまり再生位置を示すSPRM(4)〜(8)をレジスタからメモリに退避する。退避後、状態設定ルーチンrc1への分岐br1を実行する。この状態設定ルーチンでユーザは、言語設定を英語から日本語に変更したものとする(図中の英語→日本語)。そうして、この状態設定ルーチンの処理を終えれば、再生装置側では、SPRM(4)〜(8)をメモリからレジスタに復帰する処理を行う。かかる復帰がなされれば、SPRM(4)〜(8)が再生装置側のレジスタに設定されるので、再生位置は、前回の再生位置から再開することになる。
【0051】
MOVIEオブジェクトの別の一例を図17(a)〜(c)に示す。図17(a)の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に設定されている。
【0052】
図17(b)は、こうして記述されたMOVIEオブジェクトによる再生制御を示す。この再生制御は、再生装置側のSPRM(13)が、kidsに設定されているものとする。そして再生装置側でも、SPRM(13)がkidsを示すように設定されているので、PL#4が再生されることになる(Link(PL#4,PI#1))
再生位置がPL#4上にある時点でメニューコールが要求されたものとする。図17(a)では、resume_intension_flagが0に設定されているので、SPRM(5)〜(8)を初期化した上で(図15(a))、SPRM(4)〜(8)を退避する(図15(b))。その後、状態設定ルーチンへの分岐を行う。
【0053】
ここで状態設定ルーチンにおいて、SPRM(13)を更新する操作が行われ、状態設定ルーチンを終了したものとする。状態設定ルーチン終了後の状態復帰において、SPRM(4)〜(8)が再生装置側のレジスタに復帰するので(図15(b))、再生位置はタイトルの先頭に設定されることになり、再生のリスタートがなされる(図17(c))。
以上の図14、図16、図17の一例は、resume_intension_flagに対する設定例であった。図18は、Title_search_maskに対するMOVIEオブジェクトの設定例を示す図である。
【0054】
図18(a)におけるMOVIEオブジェクト(0)は、図14(a)に示したMOVIEオブジェクト(1)に先立ち実行されるMOVIEオブジェクトである。このMOVIEオブジェクト(0)においてPL#6は、予告編(1)であり、PL#7は予告編(2)、PL#5は、PL#6,PL#7のうち、どちらかをユーザに選択させる映像である。どちらの予告編を選択したかは、GPRM(0)に設定される。そしてif文による再生の切り換えは、GPRM(0)に応じてなされる。Jmp MovieObject(1)は、かかる切り換え後に実行される分岐コマンドであり、MOVIEオブジェクト(1)を分岐先としている。このMOVIEオブジェクト(0)においてTitle_search_maskは、1に設定されているので、MOVIEオブジェクトにより再生制御がなされている間は、タイトルサーチの要求はマスクされることになる。逆にいえば予告編(1)、(2)のどちらかを視聴すれば、タイトルサーチは起動されることになる(図18(b))。たった1ビットのTitle_search_maskを設定するだけで、『予告編(1)、(2)のどちらかを視聴するまで、タイトルサーチを禁ずる』という制御を実現することができるので、かかる制御の記述の自由度が増す。また、特許文献1で本図と同様の再生制御を行う場合と比較すると、特許文献1では再生経路そのものに対してユーザ操作の許否を設定するので、択一的に再生可能な予告編の数が多ければ、その数だけ、ユーザ操作が否と設定された再生経路を設けねばならない。そうすると、再生可能な予告編の数が多ければ多い程、多くの再生経路を用意せねばならず、煩雑化を招く。
【0055】
これに対し図18のMOVIEオブジェクトでは、択一的に再生可能な予告編の数が多くても、それらの予告編のうちどれかが再生されるまで、タイトルサーチを認めないという再生制御をMOVIEオブジェクトのTitle_search_maskを1に設定しさえすれば、記述できる。
かかる再生制御の簡易な記述を実現するので、本実施形態に係るMOVIEオブジェクトは、タイトルの頒布時に有効である。
【0056】
以上が本発明に係る記録媒体の実施形態である。続いて本発明に係る再生装置の実施形態について説明する。図19は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、DVDドライブ1、トラックバッファ2、PIDフィルタ4、ビデオデコーダ5、ピクチャプレーン6、オーディオデコーダ7、グラフィカルプレーン8、グラフィカルデコーダ9、加算器10、静的シナリオメモリ11、再生制御エンジン12、プレーヤレジスタ13、BACKUPメモリ14、動的シナリオメモリ15、DVDライクモジュール16、Java(登録商標)モジュール17、BROWSERモジュール18、UOコントローラ19、モジュールマネージャ20、ディスパッチャ21から構成される。
【0057】
BD-ROMドライブ1は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
トラックバッファ2は、FIFOメモリであり、BD-ROMから読み出されたACCESS UNITが先入れ先出し式に格納される。
PIDフィルタ4は、トラックバッファ2からACCESS UNITを取り出して、このACCESS UNITを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、所望のものをビデオデコーダ5、オーディオデコーダ7、グラフィカルデコーダ9のどれかに出力する。この出力は、PESパケットのID(PID)を参照して行われる。PIDがビデオを示しているならビデオデコーダ5にPESパケットを出力し、PIDがオーディオを示しているならオーディオデコーダ7に、PIDがグラフィカルイメージを示しているならグラフィカルデコーダ9にPESパケットを出力する。
【0058】
ビデオデコーダ5は、PIDフィルタ4から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てピクチャプレーン6に書き込む。
ピクチャプレーン6は、非圧縮形式のピクチャを格納しておくためのメモリである。
オーディオデコーダ7は、PIDフィルタ4から出力されたPESパケットを復号して、非圧縮形式のオーディオデータを出力する。
【0059】
グラフィカルプレーン8は、一画面分の領域をもったメモリであり、一画面分のラスタイメージを格納することができる。
グラフィカルデコーダ9は、グラフィカルストリームをデコードして、ラスタイメージをグラフィカルプレーン8に書き込む。グラフィカルストリームのデコードにより、字幕やメニューが画面上に現れることになる。
【0060】
加算器10は、ピクチャプレーン6に格納された非圧縮形式のピクチャデータに、グラフィカルプレーン8に展開されたイメージを合成して出力する。
静的シナリオメモリ11は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPLとは、BD-ROMに記録されている複数PL情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
【0061】
再生制御エンジン12は、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再生機能の実行により、再生制御エンジン12はレイヤモデルの第3層(静的なシナリオに基づく再生制御)の役割を果たす。再生制御エンジン12は、AV再生機能をユーザからの操作に従って実行する。一方、機能(2)〜(3)を、DVDライクモジュール16〜BROWSERモジュール18からの関数呼出に応じて実行する。つまり再生制御エンジン12は、ユーザ操作による指示、レイヤモデルにおける上位層からの指示に応じて、自身の機能を実行する。
【0062】
プレーヤレジスタ13は、32個のSystem Parameter Registerと、32個のGeneral Purppose Registerとからなる。これらのレジスタの格納値は変数SPRM,GPRMとしてプログラミングに利用される。System Parameter Register、及び、General Purppose Registerは、DVDライクモジュール16〜BROWSERモジュール18から分離した再生制御エンジン12で管理されるため、たとえ再生モードの切り換わりが生じたとしても、切換後の再生モードを実行するモジュールは、再生制御エンジン12におけるSPRM(0)〜(31)、GPRM(0)〜(31)を参照しさえすれば、再生装置の再生状態を知得することができる。
【0063】
BACKUPメモリ14は、DVDライクモジュール16〜BROWSERモジュール18の何れかがSuspendを実行した際に、再生装置レジスタの格納値の退避しておくためのスタックメモリである。このBACKUPメモリ14の格納値は、DVDライクモジュール16〜BROWSERモジュール18の何れかが動的シナリオのResumeを実行した際、再生装置が具備するレジスタ格納値に復帰される。DVDライクモジュール16〜BROWSERモジュール18のうち、同じものが2回以上Suspendを行った場合、レジスタの格納値は、先入先出し式に格納される。このスタックの段数以上に格納値が格納された場合、それより前に退避された格納値が上書きされる。BACKUPメモリ14に退避されるSPRMには、現在再生中のTitleの番号(Title Number)、現在再生中のChapter番号、現在再生中のPL番号(PlayList Number)、現在再生中のPlayItem番号(PlayItem Number)、選択状態にあるボタンの番号(Selected Button)、現在の再生時点を示す時刻情報といったものがある。
【0064】
動的シナリオメモリ15は、カレント動的シナリオを格納しておき、DVDライクモジュール16〜BROWSERモジュール18による処理に供されるメモリである。カレント動的シナリオとは、BD-ROMに記録されている複数シナリオのうち、現在実行対象になっているものをいう。
DVDライクモジュール16は、MOVIEモードの実行主体となるDVD仮想プレーヤであり、動的シナリオメモリ15に読み出されたカレントのMOVIEオブジェクトを実行する。
【0065】
Java(登録商標)モジュール17は、Java(登録商標)プラットフォームであり、Java(登録商標)仮想マシン、コンフィグレーション、プロファイルからなる。
Java(登録商標)モジュール17は、動的シナリオメモリ15に読み出されたZZZ.CLASSからカレントのJava(登録商標)オブジェクトを生成し、実行する。Java(登録商標)仮想マシンは、Java(登録商標)言語で記述されたJava(登録商標)オブジェクトを、再生装置におけるCPUのネィティブコードに変換して、CPUに実行させる。
【0066】
BROWSERモジュール18は、Browserモードの実行主体となるブラウザであり、動的シナリオメモリ15に読み出されたカレントのWebPageオブジェクトを実行する。
UOコントローラ19は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報(以降UO(User Operation)という)をモジュールマネージャ20に出力する。
【0067】
モジュールマネージャ20は、BD-ROMから読み出されたIndex Tableを保持して、モード管理及び分岐制御を行う。モジュールマネージャ20によるモード管理とは、動的シナリオをどのDVDライクモジュール16〜BROWSERモジュール18に実行させるかという、モジュールの割り当てである。モジュール割り当ての原則は、動的シナリオをDVDライクモジュール16に実行させるというものである。イントラモードでの分岐(同一モード内の分岐)があったとしても、この原則は維持される。例外は、インターモードでの分岐(モード間の分岐)が発生した場合である。MOVIEオブジェクトからJava(登録商標)オブジェクト/WebPageオブジェクトへの分岐が発生した場合、Java(登録商標)モジュール17、BROWSERモジュール18がカレントオブジェクトを実行することになる。
【0068】
ディスパッチャ21は、UOから、現在の再生装置におけるモードに適切なUOのみを選んで、そのモードを実行するモジュールに受け渡す。例えばMOVIEモードの実行中に、上下左右、アクティベートといったUOを受け付けた場合、MOVIEモードのモジュールにこれらのUOを出力するというのがディスパッチャ21の処理である。これらのUOは、MOVIEモードにおけるメニュー挙動にのみ必要であり、Java(登録商標)モード/Browserモードでは、不必要だからである。
【0069】
以上が再生装置の構成要素である。続いてモジュールマネージャ20についてより詳しく説明する。
モジュールマネージャ20は、汎用のCPUに、図20〜図22の処理手順を行うプログラムを読み取せることで実施することができる。図20〜図22は、モジュールマネージャ20による処理手順を示すフローチャートである。以降本フローチャートを参照しながら、モジュールマネージャ20による分岐制御について説明する。本フローチャートは、Index TableのFirstPlayのIndexからファイル名を取り出す(ステップS1)。Index Tableとは、BD-ROMにおけるMOVIEオブジェクトの統合情報であり、FirstPlayのIndexとは、MOVIEオブジェクトのうち、BD-ROMのスタートアップ手順を記述したものを示すIndexである。
【0070】
かかるファイル名が取り出されれば、カレントモードをMOVIEモードに設定して(ステップS2)、取り出されたファイル名の動的シナリオをカレントの動的シナリオに設定し(ステップS3)、カレントの動的シナリオiを、メモリに読み出してから(ステップS4)、メモリ中のカレントの動的シナリオを実行する(ステップS5〜ステップS9)。
このステップS4〜ステップS9は、カレントの動的シナリオが新たに設定される度に、実行される。
【0071】
ステップS5〜ステップS9は、シナリオを構成する各コマンドについて、ステップS6〜ステップS9の処理を繰り返すというループ処理を形成している。本フローチャートにおける”x”とは、動的シナリオを構成するコマンドのうち、処理対象たるものを特定する変数である。このループ処理は、変数xを初期化し(ステップS5)、カレントの動的シナリオi内のコマンドxを、カレントモードのモジュールに実行させてから(ステップS6)、ステップS7〜ステップS8に規定された判定処理を行い、その後、変数xをインクリメントして(ステップS9)、ステップS6に戻るという処理を繰り返すのである。シナリオを構成する全てのコマンドに対し、ステップS6〜ステップS9の処理は繰り返される。
【0072】
ループ処理の実行中、UOが発生した場合は(ステップS7でYes)、図21のステップS10〜ステップS12の判定処理を経て、カレントモードのモジュールにUOを出力する(ステップS26)。
ステップS10は、ユーザ操作がメニューコールによるものかを判定するステップである。もしメニューコールであるなら、ステップS13、ステップS14の判定を経て、図21のステップS15、ステップS16の何れかで退避処理を行う。そして、状態設定を行う動的シナリオをカレントの動的シナリオiに設定して(ステップS17)、ステップS4に戻る。このステップS17により、状態設定を行う動的シナリオがカレントの動的シナリオiになるので、状態設定用動的シナリオが、ステップS5〜ステップS9で実行されることになる。
【0073】
ステップS13は、カレント動的シナリオiにおけるmenu_call_maskが1かどうかの判定であり、もし1なら何の処理も行わず図20のステップS8に戻る。
ステップS15は、カレント動的シナリオiをsuspendし、変数x,SPRM(4)〜(8)をBACKUPメモリ14に退避するという処理であり、resume_intension_flagが1なら(ステップS14でYes)、このステップS15が実行される。
【0074】
ステップS16は、カレント動的シナリオiをsuspendし、変数x,SPRM(5)〜(8)を初期化した上でBACKUPメモリ14に退避するという処理であり、resume_intension_flagが0なら(ステップS14でNo)、このステップS16が実行される。
ステップS11は、ユーザ操作がタイトルサーチを要求するものかどうかの判定であり、もしタイトルサーチを要求するものなら、ステップS18においてカレント動的シナリオiのTitle_search_maskが1であるか否かを判定する。もし1であるなら、ステップS19においてタイトルサーチを行う動的シナリオをカレント動的シナリオiに設定する。
【0075】
ステップS12は、UOのディスパッチ処理を実行するものである。UOのディスパッチ処理とは、コマンド実行中に発生したUOが上下左右、アクティベートであり(ステップS12)、カレントモードがMOVIEモードである場合に(ステップS20)、カレントモードのモジュールにUOを出力するというものである。コマンド実行中に発生したUOが上下左右、アクティベート以外のUOなら、そのままカレントモードのモジュールにUOが出力される(ステップS26)。コマンド実行中に発生したUOが上下左右、アクティベートのUOであるが、カレントモードがMOVIEモードでないなら、発生したUOは、モジュールに出力されない。以上がディスパッチ処理である。
【0076】
このステップS4〜ステップS19のループ処理の終了要件は、ステップS8においてYesと判定されることである。コマンドxが動的シナリオiの最後のコマンドであるなら(ステップS8がYes)、動的シナリオiの末尾にResumeコマンドがあるかどうかの判定がなされる(図22のステップS21)。
Resumeコマンドとは、呼出元となる動的シナリオの状態復帰を再生装置に命じるコマンドであり、状態設定ルーチンとなる状態設定用の動的シナリオの末尾には、このコマンドが配されている。
【0077】
もし動的シナリオiの末尾にResumeコマンドが存在するなら、Suspend中の動的シナリオを動的シナリオiに設定し(ステップS22)、動的シナリオiのモードをカレントモードに設定して(ステップS23)、 BACKUPメモリ14に退避されたSPRMをレジスタに復帰させ(ステップS24)、変数xを退避された値に戻す(ステップS25)。
ここでresume_intension_flagが1であるなら、SPRM(4)〜(8)及び変数xは、それまでの再生位置を示す値に設定されており、このSPRM(4)〜(8)及び変数xがメモリ14に退避されているので、ステップS24の復帰によりプレーヤレジスタは状態設定ルーチンを呼び出す前の再生位置を示すことになる。プレーヤレジスタにかかる値が設定されたので、タイトル再生の再開が行われることになる。
【0078】
一方、resume_intension_flagが0であるなら、SPRM(5)〜(8)及び変数xは、初期化されており、初期化後のSPRM(5)〜(8)及び変数xが、元のSPRM(4)と共にメモリ14に退避されているので、ステップS24の復帰によりプレーヤレジスタは、現在再生中のタイトルにおける再生開始位置を示すことになる。プレーヤレジスタにかかる値が設定されたので、タイトルのリスタートがなされることになる。尚図20〜図22のフローチャートでは、現在再生中のタイトルからのリスタートを実行したが、ステップS16で再生位置を示すSPRMを全て初期化することにより、BD-ROM全体の再生からリスタートを行ってもよい。以上がモジュールマネージャ20の処理手順である。
【0079】
以上のように本実施形態によれば、ストリーム−再生経路−動的シナリオというレイヤモデルにおいて、最上位の動的シナリオのレベルでメニューコールに係る制御手順を設定する。特に制作者が制作しようとするタイトルが、ラングゲージクレジットを実現するものである場合、メニューコールの要求は受け付けるが、再生の再開は行わないという制御を実現することができる。これによりストリームや再生経路は同じでも、メニューコールは許可されているタイトル、メニューコールは禁止されているタイトルという2種類のタイトルを簡単に作り分けることができる。かかるタイトルの作成では、再生経路やストリームの数を増やさないので、僅かな手間で、制御手順が異なるバリエーションの数を増やすことができる。
【0080】
(第2実施形態)
第2実施形態は、再生装置における再生停止やリスタートの回避を実現する改良に関する。再生装置における再生停止やリスタートは、以下の(1)〜(3)のケースが再生装置で生じた場合にも、起こりうる。
(1) MOVIEモードだけに対応している再生装置において、Java(登録商標)モード、ブラウザモードに対応しているBD-ROMが装填され、Java(登録商標)オブジェクトやWebPageオブジェクトへの分岐が生じた場合
(2)存在しないストリームを読み出そうとした場合、
又は存在しない動的シナリオから構成されるタイトルへと分岐しようとした場合、
(3)Java(登録商標)オブジェクトでエラーが生じてしまい、Java(登録商標)プラットフォームではこれの復旧が不可能である場合
かかる再生停止、リスタートを回避するため本実施形態では、動的シナリオを統合管理するための情報に、例外処理用のタイトルについてのINDEXを設けている。
【0081】
MOVIEモードにおける動的シナリオ、Java(登録商標)モードにおける動的シナリオ、Browserモードにおける動的シナリオを統合管理するための情報は、図4に示したINFO.BDである。
図23(a)は、INFO.BDの内部構成を示す図である。本図に示すようにINFO.BDはIndex Tableを含む。Index Tableは、動的シナリオから動的シナリオへの分岐の際、参照される間接参照用テーブルであり、複数ラベルのそれぞれに対するIndexからなる。各Indexには、そのラベルに対応する動的シナリオのファイル名が記述されている。図23(b)に示すように、このファイル名は、ファイルボディと、拡張子とからなる。ラベルには、Title#1〜#m、Title#m+1〜#n、Title#0といったものがある。Index Tableは、3つのモードの何れの動的シナリオからも参照される。MOVIEオブジェクトからJava(登録商標)オブジェクト、MOVIEオブジェクトからWebPageオブジェクトへの分岐は、Index Tableを介した場合のみ可能となる。逆に言えば、Index TableにIndexがないJava(登録商標)オブジェクト、WebPageオブジェクトには、MOVIEオブジェクトからは分岐できない。
【0082】
Title#1〜#mINDEXは、BD-ROMにおいて1からm番目にエントリーされているTitleについてのIndexであり、これら1からmまでのTitle番号の選択時において分岐先となるMOVIEオブジェクトのファイル名が記述される。図23(b)は、Title#1〜#mINDEXの内容を示す。本図に示すようにTitle#1〜#mINDEXには、MOVIEオブジェクトのファイル名が記述されている。このファイル名は、ファイルボディ(ZZZ)、拡張子(.MOVIE)からなる。
【0083】
Title#m+1〜#nINDEXは、BD-ROMにおいてm+1からn番目にエントリーされているTitleについてのIndexであり、これらm+1からnまでのTitle番号の選択時において分岐先となるWebPageオブジェクト/Java(登録商標)オブジェクトのファイル名が記述される。図23(c)は、Title#m+1〜#nINDEXの内部構成を示す。本図に示すようにTitle#m+1〜#nINDEXには、Java(登録商標)オブジェクトのファイルボディ(ZZZ)、拡張子(.CLASS)か、又は、WebPageオブジェクトのファイルボディ(ZZZ)、拡張子(.HTM)が格納されている。尚INDEXのフォーマットは、図23(d)に示すものであってもよい。図23(d)のフォーマットにおいてINDEXは、分岐先Titleの属性を示す属性領域を有しており、この属性領域に、対応する分岐先Titleの動的シナリオが、Movieモードであるか(00の設定時)、Java(登録商標)モードであるか(01の設定時)、Browserモードであるか(10の設定時)を示すようにしている。
【0084】
Title#0INDEXは、例外処理タイトルについてのINDEXであり、ムービーモードシナリオのファイル名が格納される。ここでの例外処理は、上述した(1)〜(3)のケースが生じた場合に実行される。(1)〜(3)の理由で、エンハンスドモードの実行が不可能な状態の再生装置をコアシステムという。またJava(登録商標)仮想マシン、ブラウザによるプログラムの実行が可能な状態にある再生装置をフルシステムという。以下、コアシステム、フルシステムによるBD-ROMの間接参照について、図24を参照しながら説明する。この間接参照の説明では、図24(a)に示すような複数の動的シナリオ(001.MOVIE,002.MOVIE,003.MOVIE・・・・、001.CLASS,002.CLASS,003.CLASS・・・・・・)が記録されているBD-ROMを想定している。BD-ROMに図24(a)に示すような複数動的シナリオが記述されている場合のIndex Tableの記述例を図24(b)に示す。図24(b)の記述例において、Title#1Index〜Title#mIndexには、ムービーモードシナリオであるファイル名(001.MOVIE,002.MOVIE,003.MOVIE・・・・)が記述されている。一方、Title#m+1Index〜Title#nIndexには、エンハンスドモードシナリオのファイル名(001.CLASS,002.CLASS,003.CLASS・・・・・・)が記述されている。
【0085】
図25(a)は、図24(b)のように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・・・』が取り出され、そのファイル名の動的シナリオがメモリに読み出されて、実行されることになる。これがフルシステムによる間接参照である。
【0086】
図25(b)は、コアシステムにおける間接参照を示す図である。ラベルTitle#1〜Title#mを分岐先に指定した分岐コマンドの実行時には、図25(a)と同様、Title#1Index〜Title#mIndexからファイル名『001.MOVIE,002.MOVIE,003.MOVIE・・・・・』が取り出されるが、ラベルTitle#m+1〜Title#nを分岐先に指定した分岐コマンドの実行時には、Title#m+1Index〜Title#nIndexに代えてTitle#0Indexからファイル名『000.MOVIE』が取り出されて、そのファイル名の動的シナリオが再生装置により実行される。以上がフルシステム、コアシステムにおける間接参照である。
【0087】
図26は、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)に分岐することになる。
【0088】
またAVClipには、以下のような対話処理を実現するインタラクティブグラフィカルストリームが多重化されている。このインタラクティブグラフィカルストリームは、キャラクタA,B,Cに対応するボタンを表示するものであり、キャラクタAのボタンの確定時には、GPRM(0)を1に設定し、キャラクタBのボタンの確定時には、GPRM(0)に2を、キャラクタCのボタンの確定時には、GPRM(0)に3を設定するものである。
【0089】
図中の矢印jn1,2は、MOVIEオブジェクトからJava(登録商標)オブジェクトへの分岐を象徴的に示している。本図におけるJmp Title#m+1がJava(登録商標)オブジェクトにおける分岐コマンドであり、ラベルTitle#m+1のIndexを介した間接参照の形式で分岐先のJava(登録商標)オブジェクトを指定している。ラベルTitle#m+1のIndexにはJava(登録商標)オブジェクトのファイル名が記述されておリ、これを参照することにより、再生装置はどのファイルをJava(登録商標)オブジェクトとして読み出せばよいかを知ることができる。
【0090】
Java(登録商標)オブジェクトにおいて、『A.DrawCharacter();』とは、キャラクタAというClassの1つのmethod(※図中のDrawCharacter関数のことである)を用いて、キャラクタAのObjectを画面上に描画させることを意味する。『B.DrawCharacter();』,『C.DrawCharacter();』も同じ意味であり、キャラクタB,CというClassの1つのmethod(※図中のDrawCharacter関数のことである)を用いて、キャラクタB,CのObjectを画面上に描画させることを意味する。
【0091】
『A.DrawCharacter();』、『B.DrawCharacter();』、『C.DrawCharacter();』は、GPRM(0)の値によって排他的に実行されるので(図中のif文)、GPRM(0)が1ならキャラクタAのCGが、GPRM(0)が2ならキャラクタBのCGが、GPRM(0)が3ならキャラクタCのCGが、それぞれ描画される。
図27は、コアシステムの再生装置に図26に示したシナリオが記録されたBD-ROMが装填された場合、どのような分岐が行われるかを示す。図26に示した矢印が、図27において破線hs1で描かれているのは、コアシステムでは、Java(登録商標)オブジェクトを実行する主体が存在しないので、図26に示した分岐が無効化されていることを示す。図中の実線矢印js1は、この分岐に代えてなされる例外処理用の分岐を示す。この例外処理用の分岐は、Title#0のIndexを介した間接参照である。Title#0のIndexには、MOVIEオブジェクトsg1のファイル名が格納されており、この分岐ではMOVIEオブジェクトsg1が再生装置により読み出され、実行されることになる。コアシステムのみの再生装置に本BD-ROMが装填された場合、MOVIEモードにおける映像を表示させるので、再生停止やリスタートを回避することができる。
【0092】
以上が第2実施形態におけるBD-ROM側の改良である。続いて再生装置側の改良について説明する。
第2実施形態におけるモジュールマネージャ20の特徴は、分岐制御にある。分岐制御とは、分岐先となる動的シナリオを特定し、これをメモリに読み出して、DVDライクモジュール16〜BROWSERモジュール18のどれかに実行させることをいう。分岐先動的シナリオの特定は、間接参照形式で分岐先動的シナリオが指定されている場合に特に必要となる。この特定は、分岐コマンドの分岐先ラベルを参照し、これに対応するIndexから、ファイル名を取り出すことでなされる。この特定にあたってモード切り換えの要否を併せて判定する。モード切り換えの要否判定は、分岐先ラベルに対応するIndexにおいて、何というファイル拡張子が格納されているか、又は、どのモードを示す属性情報が格納されているかを参照することでなされる。Indexの格納内容が何であるかで、モード切り換えが必要かどうかがわかる。モード切り換えが必要なら、分岐先動的シナリオをメモリに読み出させて、切り換え後のモードを実行するモジュールに、モード遷移要求を出力する。切り換え後のモードを実行するモジュールは、この遷移要求の出力により、メモリ中の分岐先動的シナリオを実行することとなる。
【0093】
モジュールマネージャ20が以上の分岐制御を行うため、第2実施形態におけるモジュールマネージャ20の処理手順は、図28に示すものとなる。図28は、図20に示したフローチャートをベースにしているため、差違部分について説明する。
本フローチャートは、ステップS6〜ステップS9を繰り返することにより、カレント動的シナリオiのコマンドを1つずつ実行してゆくものだが、このステップS6〜ステップS9のループ処理において、ステップS30が新規に追加されている。
【0094】
ステップS30は、コマンドxが分岐コマンドであるかどうかの判定であり、このステップS30がYesならば、ステップS31〜ステップS43においてカレントの動的シナリオを、新たな動的シナリオに設定してステップS4に戻る。これにより、新たな動的シナリオがメモリに読み込まれて実行されることになる。
以降、ステップS31〜ステップS43の処理について説明する。この処理は、分岐制御であり、ステップS31、ステップS34、ステップS39、ステップS42の判定結果に応じて、異なる処理を実行するものである。ステップS31は、分岐コマンドの分岐先がTitleラベルを用いて記述されているか否かの判定であり、もしYesならステップS42の判定を経て分岐先ラベルであるTitlejを取得し(ステップS32)、Index TableにおけるTitlejのIndexiからファイル名jを取り出す(ステップS33)という処理を行う。もしNoなら、分岐先を示すファイル名jを取り出す(ステップS41)という処理を行う。
【0095】
ステップS34は、分岐コマンドがCallコマンドであるか、Jmpコマンドであるかの判定であり、Callコマンドなら、カレントの動的シナリオiをSuspendして、変数xやSPRMを退避する(ステップS35)。Jmpコマンドなら、カレントの動的シナリオiをdiscardする(ステップS36)。
以上の処理を経れば、ファイル名jから特定される動的シナリオをカレントの動的シナリオiに設定し(ステップS37)、取り出された拡張子から特定される再生モードを再生モードkに設定する(ステップS38)。これらの設定後、ステップS39を実行する。ステップS39は、再生モードkがカレントモードかどうかの判定であり、違うなら再生モードkをカレントモードに設定してから(ステップS40)、ステップS4に移行する。その後、新たに設定されたカレント動的シナリオに対して、ステップS4〜ステップS9の処理が繰り返されることになる。尚ステップS42は、再生装置がコアシステムであるか、フルシステムであるかの判定であり、もしコアシステムであるなら、Title#0のIndexからファイル名を取り出し、これを分岐先とする(ステップS43)。
【0096】
以上のように本実施形態によれば、何等かの事情により、エンハンスドモードの実行が困難になった場合、再生装置をコアシステムとし、Index Tableにおける例外処理用のINDEXを参照して分岐を行うので、再生停止やリスタートを回避することができる。
(第3実施形態)
第3実施形態は、様々な規格の再生装置、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を記録しておく。図29は、バージョン1.1のBD-ROMである。本図におけるBD-ROMには、バージョン1.1のIndex Table、バージョン1.0のIndex Tableが記録される。バージョン1.0のIndex Tableには、TITLE#1INDEX〜TITLE#mINDEXが存在する。第2実施形態に示したようにこれらのINDEXは、ムービーモードの動的シナリオへの分岐時に参照されるINDEXである。
【0097】
バージョン1.1のIndex Tableには、TITLE#1INDEX〜TITLE#mINDEX,TITLE#m+1INDEX〜TITLE#nINDEX,TITLE#0INDEXが存在する。第2実施形態に示したようにこれらのINDEXは、ムービーモードの動的シナリオへの分岐時、エンハンスドモードの動的シナリオへの分岐時、例外処理用動的シナリオへの分岐時に参照されるINDEXである。
そしてどれかのバージョンのBD-ROMが再生装置に装填された場合、再生装置はBD-ROMに記録された複数バージョンについてのIndex Tableのうち、自身のバージョンに合致したものを用いて、MOVIEオブジェクトの選択を行う。
【0098】
図29(b)は、図29(a)に示したBD-ROMが、バージョン1.0の再生装置に装填された状態を想定した図である。本図では再生装置側がバージョン1.0なので、分岐時にはバージョン1.0,1.1のIndex Tableのうち、バージョン1.0のIndex Tableが参照されて分岐先のMOVIEオブジェクトが特定されることになる。
図29(c)は、図29(a)に示したBD-ROMが、バージョン1.1の再生装置に装填された状態を想定した図である。本図では再生装置側がバージョン1.1なので、分岐時にはバージョン1.0,バージョン1.1のIndex Tableのうち、バージョン1.1のIndex Tableが参照されて分岐先のMOVIEオブジェクトが特定されることになる。
【0099】
以上のような処理を行うため、第3実施形態の再生装置におけるモジュールマネージャ20は、図30のフローチャートに基づく処理を行う。もし再生装置にBD-ROMが装填されれば、装置におけるバージョン番号を取得して(ステップS45)、 BD-ROMに記録されている複数INDEX TABLEのうち,装置側のバージョン番号に合致するものを読み出し、モジュールマネージャ20に保持させる(ステップS46)。以降、保持したIndex Tableを参照して、ステップS1〜ステップS42の処理を行う。このステップS1〜ステップS42の処理は、第2実施形態に示したものと同一なので、説明は省略する。
【0100】
以上のように本実施形態によれば、バージョン1.0のBD-ROM、バージョン1.1のBD-ROMというように、様々なバージョンの再生装置、BD-ROMが市場に現れる場合でも、再生装置側のバージョンに合致したIndex Tableを選んで、このIndex Tableを参照して再生を行うことにより、過去のバージョンの再生装置との互換を保障することができる。
(第4実施形態)
本実施形態は、DVDと同様のメニュー制御をBD-ROM上で実現する場合の改良に関する。図31は、BD-ROMにより実現されるメニュー階層を示す図である。本図におけるメニュー階層は、TopMenuを最上位に配し、このTopMenuから下位のTitleMenu、SubTitleMenu、AudioMenuを選択できる構造になっている。図中の矢印sw1,2,3は、ボタン選択によるメニュー切り換えを模式的に示す。TopMenuとは、音声選択、字幕選択、タイトル選択の何れを行うかを受け付けるボタン(図中のボタンsn1,sn2,sn3)を配置したメニューである。
【0101】
TitleMenuとは、映画作品(Title)の劇場版を選択するか、ディレクターズカット版を選択するか、ゲーム版を選択するか等、映画作品の選択を受け付けるボタンを配置したメニューである。AudioMenuとは、音声再生を日本語で行うか、英語で行うかを受け付けるボタンを配置したメニュー、SubTitleMenuとは、字幕表示を日本語で行うか、英語で行うかを受け付けるボタンを配置したメニューである。
【0102】
こうした階層をもったメニューを動作させるためのMOVIEオブジェクトを図32に示す。
FirstPlayオブジェクト(FirstPlay OBJ)は、再生装置へのBD-ROMのローディング時におけるスタートアップ手順を記述した動的シナリオである。FirstPlayオブジェクトを表す四角枠は、このスタートアップ手順を実行するためのコマンドを示す。FirstPlayオブジェクトの最後のコマンドは分岐コマンドであり、TopMenuオブジェクトを分岐先にしている。
【0103】
TopMenuオブジェクト(TopMenu OBJ)は、TopMenuの挙動を制御する動的シナリオである。ユーザがメニューコールを要求した際、呼び出されるのはこのTopMenuオブジェクトであり、第1実施形態で述べた状態設定ルーチンは、このTopMenuオブジェクトにあたる。TopMenuオブジェクトを表す四角の枠は、この制御手順を現した個々のコマンドを模式化したものである。このコマンドには、ユーザからの操作に応じてTopMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて分岐を行う分岐コマンドがある。この分岐コマンドは、TopMenuからTitleMenu、TopMenuからSubTitleMenu、TopMenuからAudioMenuというメニュー切り換えを実現するものである。
【0104】
AudioMenuオブジェクト(AudioMenu OBJ)は、AudioMenuの挙動を制御する動的シナリオである。AudioMenuオブジェクトを構成する四角の枠は、この制御手順を現した個々のコマンドを模式化したものである。このコマンドには、ユーザからの操作に応じてAudioMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて音声設定用のSPRMを更新するコマンドがある。
【0105】
SubTitleMenuオブジェクト(SubTitleMenu OBJ)は、SubTitleMenuの挙動を制御する動的なシナリオである。SubTitleMenuオブジェクトを構成する四角の枠は、この制御手順を現した個々のコマンドを模式化したものである。このコマンドには、ユーザからの操作に応じてSubTitleMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて音声設定用のSPRMを更新するコマンドがある。
【0106】
TitleMenuオブジェクト(TitleMenu OBJ)は、TitleMenuの挙動を制御する動的シナリオである。ユーザがタイトルサーチを要求した際、呼び出される動的シナリオは、このTitleMenuオブジェクトである。つまり第1実施形態で述べたタイトルサーチ用の動的シナリオとは、このTitleMenuオブジェクトにあたる。TitleMenuオブジェクトを表す四角の枠は、この制御手順を現した個々のコマンドを模式化したものである。このコマンドには、ユーザからの操作に応じてTitleMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて分岐を行う分岐コマンドがある。この分岐コマンドは、個々のTitleへの分岐を実現するものである。
【0107】
これらのメニュー用MOVIEオブジェクトにより、DVDで実現されているようなメニューの挙動を実現することができる。以上がメニュー制御に関連するMOVIEオブジェクトである。
続いて本実施形態におけるIndex Tableの改良について説明する。本実施形態におけるIndex Tableには、FirstPLayINDEX、TopMenuINDEX, Audio MenuINDEX、Subtitle MenuINDEX、Title MenuINDEXが追加されている。第1実施形態に示したように、これらのIndexは、3つのモードの何れの動的シナリオからも参照される。
【0108】
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選択キーを押下することにより場合になされる。
【0109】
以上が本実施形態におけるMOVIEオブジェクトの改良である。続いて、本実施形態における再生装置の改良点について説明する。上述したようなMOVIEオブジェクトを動作させるには、モジュールマネージャ20に図33のフローチャートに示すような処理手順を行わせればよい。
メニュー制御を行うべく、本実施形態を示すモジュールマネージャ20は、図33に示すような処理手順で分岐制御を行う。本フローチャートが新規なのは、ステップS30とステップS31との間にステップS50が挿入されており、このステップS50がYesである場合に、ステップS51〜ステップS54の処理を行って、ステップS4に戻る点である。ステップS51〜ステップS54は、メニューの制御を行うシナリオを、カレント動的シナリオに設定するものである。つまり分岐コマンドの分岐先がxxxMenuであるなら(ステップS50でYes)、カレントの動的シナリオiをSuspendし、SPRM及び変数xを退避して(ステップS52)、分岐先Menuに対応するIndexからファイル名を取り出し(ステップS52)、取り出されたファイル名の動的シナリオをカレントの動的シナリオiに設定し(ステップS53)、カレントモードをMOVIEモードに戻す(ステップS54)。その後、カレント動的シナリオを実行してゆく。
【0110】
以上のように本実施形態によれば、メニュー制御のための動的シナリオへの分岐は、Index TableのIndexを介した間接参照にて実現されるので、Java(登録商標)モード、Browserモードの実行時においてメニューキーが押下された場合でも、これらメニュー制御用の動的シナリオへと分岐することができる。Java(登録商標)仮想マシン、Browserモードからの音声切り換え、字幕切り換えの実現が可能となり、Java(登録商標)仮想マシン、Browserモードでの再生にあたっても、通常のDVD同様、音声切り換え、字幕切り換えが可能となる。
【0111】
(第5実施形態)
第5実施形態は、ムービーモードのために設けられたデータが、他のモードに与え得る弊害を防止するための改良に関する。ムービーモードでの制御はMOVIEオブジェクトだけでなく、AVClipに多重化されたインタラクティブグラフィカルストリーム中のコマンド(ボタンコマンド)によってもなされ得る。
【0112】
ボタンコマンドとは、グラフィカルストリームで記述されたボタンに対し、確定操作が行われた場合に実行されるコマンドである。ボタンコマンドはAVClipに組み込まれているので、ある動画の一コマが画面に現れたタイミングに、特定の処理を再生装置に実行させるという再生制御、つまり、動画内容と緻密に同期した再生制御の記述に便利である。またボタンコマンドは、AVClip自身に多重化されているので、再生制御を行いたい区間が数百個であっても、それらに対応するボタンコマンドの全てをメモリに格納しておく必要はない。ボタンコマンドはACCESS UNIT毎にビデオパケットと共にBD-ROMから読み出されるので、現在再生すべき動画区間に対応するボタンコマンドをメモリに常駐させ、この動画区間の再生が終われば、そのボタンコマンドをメモリから削除して、次の動画区間に対応するボタンコマンドをメモリに格納すればよい。ボタンコマンドは、AVClipに多重化されるので、たとえボタンコマンドの数が数百個になってもメモリの搭載量を必要最低限にすることができる。
【0113】
ボタンコマンドをストリーム中に埋め込んでいる場合、Java(登録商標)モードにおける動的シナリオとの干渉が問題になる。例えばJava(登録商標)モードによる再生制御を実行している場合、ストリーム中に埋め込まれたボタンコマンドがモジュールに供給されれば、Java(登録商標)モードの動的シナリオとボタンコマンドが同時に実行されることとなり、プレーヤの誤動作を招いてしまう。この問題を解決するため本実施形態では、PlayItemにフィルタ指定の機能を持たせている。
【0114】
ではどのようなフィルタ指定かというと、AVClipに多重化されている複数エレメンタリストリームのうち、どれが再生可能であり、どれが再生不可能かを選別するというものである。
図34は、第5実施形態に係るPlayItemの内部構成を示す図である。本図ではplayable_PID_entriesが追加されている。図中の引き出し線hp1はplayable_PID_entriesの構成をクローズアップしている。これからも分かるように、playable_PID_entriesは再生を行うべきエレメンタリストリームのPIDを羅列してなる。
【0115】
以降、PlayItemにおけるフィルタ指定により、どのような再生制御が実現されるかについて説明する。図35は、MOVIEオブジェクト、Java(登録商標)オブジェクトにより再生制御がなされる、PLの階層構造を示す図である。本図の第4段目におけるMOVIEオブジェクトは、PL#1の再生を行わせるコマンド(PlayPL(PL#1))を含む。このPL#1を構成する3つのPlayItem#1,#2,#3のうち、PlayItem#3は、Playable_PID_entriesを含んでおりフィルタ指定が可能である。
【0116】
図35の第4段目におけるJava(登録商標)オブジェクトは、PL#2の再生を行わせるコマンド(PlayPL(PL#2))を含む。このPL#2を構成する2つのPlayItem#11,#12のうち、PlayItem#12は、Playable_PID_entriesを含んでおりフィルタ指定が可能である。
図36は、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)である。
【0117】
図中右側の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フィルタ4に設定される。これによりPIDフィルタ4は、Video_PIDのビデオストリームをビデオデコーダ5に出力し、Audio_PID1、Audio_PID2のオーディオストリームをオーディオデコーダ7に出力する。P.Graphics_PID1、P.Graphics_PID2のプレゼンテーショングラフィカルストリームをグラフィカルデコーダ9に出力し、I.Graphics_PIDのインタラクティブグラフィカルストリームもグラフィカルデコーダ9に出力する。PlayItem#3では、全てのグラフィカルストリームが再生可能と設定されているので、AVClipに多重化されている全てのグラフィカルストリームの再生が可能になる。
【0118】
一方、PlayItem#12では、全てのグラフィカルストリームが再生不可能と設定されているので、Java(登録商標)モードにおける動的シナリオとの干渉は有り得ず、Java(登録商標)言語での制御が可能になる。
図37は、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のインタラクティブグラフィカルストリームの再生出力(『続けますかはい いいえ』)とを伴って、ビデオストリームの再生出力を行うことができる。
【0119】
PlayItem#12では、全てのグラフィカルストリームが再生不可能と設定されており、Video_PIDのビデオストリーム、Audio_PID3のオーディオストリームという2つのストリームの再生出力のみが可能になる。このPlayItemの再生を命じているJava(登録商標)オブジェクトが、仮想的なスタジオ(図中のカメラや椅子、照明が配された一室)を描画するものなら、この描画のためのJava(登録商標)オブジェクトは、グラフィカルストリームに含まれるコマンドの干渉を受けることはない。グラフィカルストリームに含まれるコマンドによる干渉を避けながら、Java(登録商標)モード特有の処理を実行することができる。PlayItem#12により再生可と設定されたAudio_PID3のオーディオストリームは、映画監督のコメンタリであり(『私は彼女の演技力に脱帽した』という台詞)、上述した仮想的なスタジオで、このような監督のコメンタリを再生させることで、制作現場の雰囲気を作り出すことができる。
【0120】
このJava(登録商標)オブジェクトにより、映画スタジオを模した部屋において背景画として映画シーンを再生させながら、映画監督のコメンタリが聴くことができる。
かかるタイトルを、ボーナストラック的なタイトルとしてBD-ROMに記録することにより、BD-ROMの商品価値を高めることができる。PlayItemにおけるフィルタ指定を利用して、ボーナストラック的なタイトルをBD-ROMに記録することは、以下のようなメリットをもたらす。
【0121】
世界的に著名な映画監督のコメンタリは、映画愛好家にとって、是非とも聞きたいものであり、映画作品の付加価値を高めるものとして、現行の販売用DVDにも存在する。
かかるタイトルは、ディレクタのコメンタリを聴けることが最大の魅力であるが、背景画として映画シーンが再生されることも、その魅力を高めている要因である。つまり、映画のハイライトシーンと共に、映画制作の裏話が聴けるというのは、コメンタリの臨場感を高めるからである。この場合、このコメンタリのオーディオストリームをどのように扱うかが問題になる。本編とは別に、背景画としたい映画シーンを設けてオーディオストリームと多重化し、上述したボーナストラックを作成するというのがオーソドックスな手法だが、これでは本編とは別に背景画の映画シーンをBD-ROMに記録せねばならず、記録対象が増え、容量的な問題が生じる。
【0122】
コメンタリの音声ストリームを映画本編で使用する音声ストリームと共に、本編用の動画ストリームに多重化する方法も考えられる。こうすれば本編のシーンをコメンタリの背景画として使用できるが、このコメンタリデータが、映画本編の再生時に聞こえてしまう恐れがある。そこで本編タイトルを構成するPlayItemには、コメンタリの音声ストリームだけを無効とし、残りのオーディオストリームを有効とするようフィルタ指定しておく。一方、ボーナスタイトルを構成するPlayItemには、コメンタリの音声ストリームだけを有効とし、残りのオーディオストリームを無効とするようフィルタ指定しておく。こうすることにより、本編のオーディオストリーム、コメンタリの音声ストリームを全部まとめて一本のAVClipに多重化してBD-ROMに記録しておけばよい。
【0123】
本編のオーディオストリームのみのAVClip、コメンタリの音声ストリームのみのAVClipというように、本編、コメンタリのAVClipを別々に作成する必要はないので、BD-ROMに記録すべきAVClipの本数を少なくすることができ、オーサリング時の手間を軽減することができる。
以上が第5実施形態におけるBD-ROM側の改良である。続いて第5実施形態における再生装置側の改良について説明する。
【0124】
第5実施形態における再生装置の処理は、再生制御エンジン12が、図38の処理手順を実行することにより実現される。
図38は、再生制御エンジン12によるPLPlay関数の実行手順を示すフローチャートである。本フローチャートにおいて処理対象たるPLをPLx、処理対象たるPIをPIy、処理対象たるACCESS UNITをACCESS UNITvとする。本フローチャートは、PLPlay関数の引数で指定されたPLをPLxに設定し、PLxをメモリに読み込んでから(ステップS61)、処理対象たるPIを特定し(ステップS62〜ステップS64)、以降、このPIを構成するACCESS UNITを読み出す(ステップS65〜ステップS76)という手順からなる。
【0125】
ステップS62は、PIの引数指定が有るかどうかの判定であり、もし引数指定があれば、PIyをPLxの先頭PIに設定し、PIzをPLxの最後のPIに設定する(ステップS63)。PIzとは、読出範囲の最後を規定するPIである。
引数指定がなければ、PIyを引数指定されたPIに設定し、PIzを同じ引数指定されたPIに設定する(ステップS64)。PIy、PIzを、引数指定されたPIに設定しておくのは、引数でPIが指定されている場合は、そのPIさえ読み出せばよいからである。
【0126】
ステップS65〜ステップS76は、PIyを構成するACCESS UNITの読み出しと、復号手順とを示す。この手順は、PIyのPlayable_PID_entriesをPIDフィルタ4に設定して(ステップS65)、PIyのIn点ビデオフレームを含むACCESS UNITvをEP_mapから特定し(ステップS66)、ACCESS UNITvの読み出しをBD-ROMドライブ1に命じて(ステップS67)、ステップS68−ステップS69の判定を経てから、ACCESS UNITvに含まれるビデオフレームのデコードを行うようビデオデコーダ5に指示して(ステップS70)、ACCESS UNITvを次のACCESS UNITに設定する(ステップS71)というものである。以降、PIyに属する全てのACCESS UNITについて、このステップS67〜ステップS71の処理が繰り返される。
【0127】
ステップS68は、ACCESS UNITvがIn点ビデオフレームを含んでいるかどうかの判定である。もしIN点ビデオフレームを含んでいる場合は(ステップS68でYes)、In点のビデオフレームからACCESS UNITvの最後のビデオフレームまでのデコードを行うようビデオデコーダ5に指示してから(ステップS72)、ステップS70に移行する。
ステップS69は、Out点vがPIyのOut点ビデオフレームを含んでいるかどうかの判定である。もしOut点ビデオフレームを含んでいる場合は(ステップS69でYes)、ACCESS UNITvの先頭ビデオフレームからOut点ビデオフレームまでのデコードを行うようビデオデコーダ5に指示してから(ステップS73)、PIyのPlayable_PID_entriesをPIDフィルタ4から解放する(ステップS74)。これにより、PIyによるフィルタ指定は、無効となる。以降ステップS75の判定を行う。ステップS75は、本フローチャートの終了判定であり、PIyがPIzになったかを判定している。もしステップS75がYesなら本フローチャートを終了し、そうでないなら、PIyを次のPIに設定して(ステップS76)、ステップS65に戻る。以降、ステップS75がYesと判定されるまで、ステップS65〜ステップS77の処理は繰り返される。以上が再生制御エンジン12の処理手順である。
【0128】
以上のように本実施形態によれば、AVClipに多重化されている複数エレメンタリストリームのうち、どれを再生可とし、どれを再生不可とするフィルタ指定を、PlayItemにもたせるので、各モードの動的シナリオは自身に応じたPlayItemを選ぶことにより、AVClipに多重化されているエレメンタリストリーム内のボタンコマンドによる影響を避けることができる。これによりJava(登録商標)モジュール17がボタンコマンドの干渉を受ける事態はなくなり、再生装置の安定動作に寄与することができる。
【0129】
(第6実施形態)
本実施形態は、BD-ROMの製造工程に関する実施形態である。図39は、第6実施形態に係るBD-ROMの製造工程を示すフローチャートである。
BD-ROMの制作工程は、動画収録、音声収録等の素材作成を行う素材制作工程S101、オーサリング装置を用いて、アプリケーションフォーマットを生成するオーサリング工程S102、BD-ROMの原盤を作成し、プレス・貼り合わせを行って、BD-ROMを完成させるプレス工程103を含む。
【0130】
これらの工程のうち、BD-ROMを対象としたオーサリング工程は、ステップS104〜ステップS109という工程からなる。
シナリオ編集工程S104とは、企画段階において作成された筋書きを再生装置が理解できる形式に変換する工程である。シナリオ編集の結果は、BD-ROM用シナリオとして生成される。また、このシナリオ編集において、多重化を実現するため多重化パラメータ等も生成される。
【0131】
かかる工程にて動的シナリオが完成すれば、ステップS105において各動的シナリオのresume_intension_flag、menu_call_mask、Title_search_maskを設定する。この設定は、各動的シナリオによる再生制御がSPRMにより影響を受けるかどうかに応じてなされる。かかる設定により、再生時でのメニューコール、タイトルサーチによる弊害が防止される。
【0132】
素材エンコード工程S106とは、ビデオ素材、オーディオ素材、副映像素材のそれぞれをエンコードして、ビデオストリーム、オーディオストリーム、グラフィカルストリームを得る作業である。
多重化工程S107では、素材エンコードにより得られた、ビデオストリーム、オーディオストリーム、グラフィカルストリームをインターリーブ多重して、これらを1本のデジタルストリームに変換する。
【0133】
フォーマッティング工程S108では、BD-ROM向けシナリオを元に、各種情報を作成して、シナリオ及びデジタルストリームをBD-ROMのフォーマットに適合させる。
エミュレーション工程S109では、オーサリング作業の結果が正しいか否かの確認を行う。
上述したシナリオ編集工程において、Java(登録商標)オブジェクト及びWebPageオブジェクトは、Java(登録商標)言語、マークアップ言語を用いた記述が可能であるから、通常のコンピュータ向けのソフトウェアを開発するのと同じ感覚で、開発することができる。よって本実施形態では、このシナリオ制作の効率を高めることができるという効果がある。
【0134】
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の[技術分野]の、出願当時の技術水準の特性に基づく。
【0135】
しかし請求項に係る各発明は、従来技術の技術的課題を解決するための手段を反映したものであるから、請求項に係る各発明の技術範囲は、従来技術の技術的課題解決が当業者により認識される技術範囲を超えることはない。故に、本願の請求項に係る各発明は、詳細説明の記載と、実質的な対応関係を有する。

(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)であってもよい。更に、機器内蔵型のハードディスクであってもよい。
【0136】
動的シナリオ、Index Table、プレイリスト情報は、AVClip及びストリーム管理情報と別々の記録媒体に記録されてもよい。そしてこれらをパラレルに読み出して、1つの映像編集として再生させてもよい。

(B) 全ての実施形態における再生装置は、BD-ROMに記録されたAVClipをデコードした上でTVに出力していたが、再生装置をBD-ROMドライブのみとし、これ以外の構成要素をTVに具備させてもい、この場合、再生装置と、TVとをIEEE1394で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレィと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなす部分のみを、再生装置としてもよい。これらの再生装置は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、第1実施形態〜第6実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第1実施形態〜第6実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
【0137】
(C)図20〜図22、図28、図30、図33、図38のフローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、第1実施形態〜第6実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
【0138】
(D)図20〜図22、図28、図30、図33、図38のフロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
【0139】
(E)第5実施形態では、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”という。
【0140】
IEEE1394を介して接続されたホームネットワークでの利用時において、再生装置200は、以下のような送信処理にてAligned Unitの送信を行う。つまり送り手側の機器は、Aligned Unitに含まれる32個のEX付きTSパケットのそれぞれからTP_extra_headerを取り外し、TSパケット本体をDTCP規格に基づき暗号化して出力する。TSパケットの出力にあたっては、TSパケット間の随所に、isochronousパケットを挿入する。この挿入箇所は、TP_extra_headerのArribval_Time_Stampに示される時刻に基づいた位置である。TSパケットの出力に伴い、再生装置200はDTCP_Descriptorを出力する。DTCP_Descriptorは、TP_extra_headerにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようDTCP_Descriptorを記述しておけば、IEEE1394を介して接続されたホームネットワークでの利用時においてTSパケットは、他の機器に記録されることはない。
【0141】
(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)であってもよい。
【0142】
(H)再生装置の構成において、動的シナリオメモリ15には、カレントの動的シナリオのみを格納し、静的シナリオメモリ11には、カレントのストリーム管理情報、カレントのPL情報のみを格納するとしたが、キャッシュメモリのように、複数のシナリオ、ストリーム管理情報、PL情報を予め格納しておいてもよい。こうすれば、これらのデータをBD-ROMから読み出すまでのタイムラグを短くすることができる。またBACKUPメモリ14は、スタック式にレジスタの格納値を退避しておくとしたが、メモリ規模との関連を考えると、退避すべき格納値は一段とするのが現実的である。
【0143】

(I)各実施形態における映像作品は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
【0144】
(J)Java(登録商標)モジュール17は、衛星放送受信のために機器に組み込まれたJava(登録商標)プラットフォームであってもよい。Java(登録商標)モジュール17がかかるJava(登録商標)プラットフォームであれば、本発明に係る再生装置は、MHP用STBとしての処理を兼用することになる。
更に携帯電話の処理制御のために機器に組み込まれたJava(登録商標)プラットフォームであってもよい。かかるJava(登録商標)モジュール17がかかるJava(登録商標)プラットフォームであれば、本発明に係る再生装置は、携帯電話としての処理を兼用することになる。
【0145】
またBROWSERモジュール18は、MicroSoft社のInternet Explore等、パソコン組み込み型のブラウザソフトであってもよい。
(K)図に示したレイアモデルにおいて、Java(登録商標)モードの上にブラウザモード及びMOVIEモードを配置してもよい。特にMOVIEモードでの動的シナリオの解釈や、動的シナリオに基づく制御手順の実行は、再生装置に対する負担が軽いので、MOVIEモードをJava(登録商標)モード上で実行させても何等問題は生じないからである。また再生装置や映画作品の開発にあたって、動作保証が1つのモードで済むからである。
【0146】
更に3つのモードを設けず、Java(登録商標)モードだけでJava(登録商標)モードの処理を実行してもよい。第2実施形態に示したように、Java(登録商標)モードでもPLの再生と同期した再生制御が可能になるから、強いてMOVIEモードを設けなくてもよいという理由による。更に動的シナリオにおける制御は、MOVIEモードだけでも、ブラウザモードだけでもよい。
【産業上の利用可能性】
【0147】
本発明に係る記録媒体、再生装置は、対話的な制御を映画作品に付与することができるので、より付加価値が高い映画作品を市場に供給することができ、映画市場や民生機器市場を活性化させることができる。故に本発明に係る記録媒体、再生装置は、映画産業や民生機器産業において高い利用可能性をもつ。
【図面の簡単な説明】
【0148】
【図1】(a)〜(c)動的シナリオを示す図である。
【図2】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図3】BD-ROMの構成を示す図である。
【図4】ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーション)を表現した図である。
【図5】機能的な観点から、図4に示したファイルを分類した場合の分類図である。
【図6】BD-ROMが対象としているレイヤモデルを示す図である。
【図7】AVClipがどのように構成されているかを模式的に示す図である。
【図8】Clip情報の内部構成を示す図である。
【図9】PL情報の内部構成を示す図である。
【図10】PL情報による間接参照を模式化した図である。
【図11】図10に示したPL情報(PL情報#1)と別のPL(PL情報#2)を定義する場合の一例を示す図である。
【図12】レイヤモデルの第4層における再生モードを示す図である。
【図13】MOVIEオブジェクトの内部構成を示す図である。
【図14】(a)resume_intension_flag、menu_call_mask、Title_search_maskが付加された動的シナリオを示す図である。 (b)図14(b)のMOVIEオブジェクトに基づく再生制御を示す図である。 (c)タイトル先頭からリスタートを行う場合を示す図である。
【図15】(a)〜(c)再生のリスタートを開始させるための再生装置側の処理を示す。
【図16】(a)〜(c)設問による分岐を実現する場合のMOVIEオブジェクトの記述例と、この記述例による再生制御とを示す図である。
【図17】(a)〜(c)パレンタルロックを示す場合の動的シナリオの記述例を示す図である。
【図18】(a)〜()Title_search_maskの設定例を示す図である。
【図19】本発明に係る再生装置の内部構成を示す図である。
【図20】モジュールマネージャ20による処理手順を示すフローチャートである。
【図21】モジュールマネージャ20による処理手順を示すフローチャートである。
【図22】モジュールマネージャ20による処理手順を示すフローチャートである。
【図23】(a)〜(d)INFO.BDの内部構成を示す図である。
【図24】(a)複数の動的シナリオ(001.MOVIE,002.MOVIE,003.MOVIE・・・・、001.CLASS,002.CLASS,003.CLASS・・・・・・)が記録されているBD-ROMを示す図である。 (b)図24(a)に示すような複数動的シナリオが記述されている場合のIndex Tableの記述例を示す図である。
【図25】(a)図24(b)のようにIndex Tableが記述された場合のフルシステムにおける間接参照を示す。 (b)コアシステムにおける間接参照を示す図である。
【図26】MOVIEオブジェクトからJava(登録商標)オブジェクトへの分岐がどのように行われるかを模式的に示す図である。
【図27】コアシステムの再生装置に図18に示したシナリオが記録されたBD-ROMが装填された場合、どのような分岐が行われるかを示す。
【図28】第2実施形態におけるモジュールマネージャ20の処理手順を示す図である。
【図29】(a)複数のバージョン用のIndex Tableが記録されたBD-ROMを示す図である。 (b)図29(a)に示したBD-ROMが、バージョン1.0の再生装置に装填された状態を想定した図である。 (c)図29(a)に示したBD-ROMが、バージョン1.1の再生装置に装填された状態を想定した図である。
【図30】モジュールマネージャ20による処理手順を示すフローチャートである。
【図31】BD-ROMにより実現されるメニュー階層を示す図である。
【図32】階層をもったメニューを動作させるためのMOVIEオブジェクトを示す図である。
【図33】分岐制御の処理手順を示すフローチャートである。
【図34】第5実施形態に係るPlayItemの内部構成を示す図である。
【図35】MOVIEオブジェクト、Java(登録商標)オブジェクトにより再生制御がなされる、PLの階層構造を示す図である。
【図36】PlayItem#3,#12におけるplayable_PID_entriesにより、どのようにフィルタ指定が行われるかを示す図である。
【図37】PlayItem#3,#12のPlayable_PID_entriesにより、どのような再生出力が可能になるかを示す図である。
【図38】再生制御エンジン12によるPLPlay関数の実行手順を示すフローチャートである。
【図39】BD-ROMの製造工程を示すフローチャートである。
【符号の説明】
【0149】
1 BDドライブ
2 トラックバッファ
4 PIDフィルタ
5 ビデオデコーダ
6 ピクチャプレーン
7 オーディオデコーダ
8 グラフィカルプレーン
9 グラフィカルデコーダ
10 加算器
11 静的シナリオメモリ
12 再生制御エンジン
13 プレーヤレジスタ
14 BACKUPメモリ
15 動的シナリオメモリ
16 DVDライクモジュール
17 Java(登録商標)モジュール
18 BROWSERモジュール
19 UOコントローラ
20 モジュールマネージャ
21 ディスパッチャ
100 BD-ROM
200 再生装置
300 テレビ
400 リモコン

【特許請求の範囲】
【請求項1】
動画データと、動的シナリオとが記録された記録媒体であって、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
サーチマスクフラグは、動的シナリオによる動画データ再生中にユーザがタイトルサーチを要求した場合、その要求をマスクするか否かを示す
ことを特徴とする記録媒体。
【請求項2】
動画データ及び動的シナリオが記録された記録媒体についての再生装置であって、
動的シナリオに示される制御手順を解読するモジュールと、
モジュールによる解読に従い、動画データを再生する再生手段と、
動画データの再生中に、ユーザによる要求を受け付ける受付手段とを備え、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
受付手段は、サーチマスクフラグがオンを示している場合、動画データ再生中のユーザによるタイトルサーチ要求をマスクする
ことを特徴とする再生装置。
【請求項3】
記録媒体の記録方法であって、
アプリケーションデータを作成するステップと、
作成したデータを記録媒体に記録するステップとを有し、
前記アプリケーションデータは、
動画データと、動的シナリオとを含み、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体は、複数タイトルが記録されるものであり、
属性情報は、サーチマスクフラグを含み、
サーチマスクフラグは、動的シナリオによる動画データ再生中にユーザがタイトルサーチを要求した場合、その要求をマスクするか否かを示す
ことを特徴とする記録方法。
【請求項4】
動的シナリオに従って、記録媒体に記録された動画データを再生する制御を、再生装置内で実行する集積回路であって、
動的シナリオに示される制御手順を解読するモジュールと、
モジュールによる解読に従い、動画データを再生する再生手段と、
動画データの再生中に、ユーザによる要求を受け付ける受付手段とを備え、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
受付手段は、サーチマスクフラグがオンを示している場合、動画データ再生中のユーザによるタイトルサーチ要求をマスクする
ことを特徴とする集積回路。
【請求項5】
動画データ及び動的シナリオが記録された記録媒体についての再生方法であって、
動的シナリオに示される制御手順の実行、
動画データの再生、
動画データの再生中における、ユーザによる要求の受け付けを含み、
動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
前記ユーザによる要求受付けは、サーチマスクフラグがオンを示している場合、動画データ再生中のユーザによるタイトルサーチ要求をマスクする
ことを特徴とする再生方法。
【請求項6】
動画データ及び動的シナリオが記録された記録媒体についての再生をコンピュータに実行させるプログラムであって、
動的シナリオに示される制御手順の実行、
動画データの再生、
動画データの再生中における、ユーザによる要求の受け付けをコンピュータに実行させ、
前記動的シナリオは、動画データの再生制御手順を示すコマンド列であり、属性情報が付加されていて、
前記属性情報は、動画データ再生中にユーザがメニューコールを要求した場合の制御手順を示す情報であり、
前記動的シナリオ及び動画データの組みは、記録媒体においてタイトルを構成しており、
前記記録媒体には、複数タイトルが記録されており、
属性情報は、サーチマスクフラグを含み、
前記ユーザによる要求受付けは、サーチマスクフラグがオンを示している場合、動画データ再生中のユーザによるタイトルサーチ要求をマスクする
ことを特徴とするプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate


【公開番号】特開2008−112561(P2008−112561A)
【公開日】平成20年5月15日(2008.5.15)
【国際特許分類】
【出願番号】特願2007−277642(P2007−277642)
【出願日】平成19年10月25日(2007.10.25)
【分割の表示】特願2006−283106(P2006−283106)の分割
【原出願日】平成16年2月20日(2004.2.20)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】