(57)【要約】【課題】アニメーションを伴った対話画面の表示を、遅滞なく実現することができる記録媒体を提供する。【解決手段】BD-ROMには、動画ストリームとグラフィクスストリームとを多重することにより得られたAVClipが記録されている。グラフィクスストリームは、3つのBotton Stateグループの配列を含んでいる。Botton Stateグループのうち第１順位のグループ(N-ODSs)は、ボタンのノーマル状態を表す複数グラフィクスデータからなり、第２順位のグループ(S-ODSs)は、ボタンのセレクテッド状態を表す複数グラフィクスデータ、第３順位のグループ(A-ODSs)は、ボタンのアクティブ状態を表す複数グラフィクスデータからなる。対話画面の初期表示において、デフォルトでセレクテッド状態になるボタン部材を動的に変化させる場合(default_selected_butturn_number=0)、S-ODSsには、各ボタン部材のセレクテッド状態を構成するグラフィクスデータが順不同に配置される。【選択図】図２２
2006309936.tif 000002
【特許請求の範囲】
【請求項１】
動画ストリームとグラフィクスストリームとを多重化することにより得られたデジタルストリームが記録されている記録媒体であって、
グラフィクスストリームは、複数のボタン部材を含む対話画面を、動画像に合成して表示させるものであり、グラフィクスデータを複数含み、それらグラフィクスデータは、複数の状態集合のどれかにグルーピングされており、
各状態集合は、各ボタン部材が遷移し得るノーマル状態、セレクテッド状態、アクティブ状態のうち、それぞれの状態に対応しているグラフィクスデータの集合であり、各状態集合はストリーム中において、対応する状態の順に、シーケンシャルに並んでおり、
前記グラフィクスストリームにおいて、前記複数のグラフィクスデータの前にはボタン部材の状態を制御する状態制御情報が配され、当該状態制御情報には、デフォルトでセレクテッド状態となるボタン部材が、動的に変化する旨を示す指定情報が記述されており、
対話画面の初期表示において、デフォルトでセレクテッド状態となるボタン部材を、再生装置の内部状態に応じて動的に変化させる場合、当該ボタン部材のセレクテッド状態を構成するグラフィクスデータは、セレクテッド状態に対応する状態集合において順不同に配置される
ことを特徴とする記録媒体。
【請求項２】
デジタルストリームに多重化されたビデオストリーム、グラフィクスストリームを再生する再生装置であって、
ビデオストリームをデコードして動画像を得るビデオデコーダと、
複数のボタン部材を含む対話画面を、動画像に合成して表示させるグラフィクスデコーダとを備え、
グラフィクスストリームはグラフィクスデータを複数含み、それらグラフィクスデータは、複数の状態集合のどれかにグルーピングされており、
各状態集合は、各ボタン部材が遷移し得るノーマル状態、セレクテッド状態、アクティブ状態のうち、それぞれの状態に対応しているグラフィクスデータの集合であり、各状態集合はストリーム中において、対応する状態の順に、シーケンシャルに並んでおり、
前記グラフィクスストリームにおいて、前記複数のグラフィクスデータの前にはボタン部材の状態を制御する状態制御情報が配され、当該状態制御情報には、デフォルトでセレクテッド状態となるボタン部材が、動的に変化する旨を示す指定情報が記述されていて、
対話画面の初期表示において、デフォルトでセレクテッド状態となるボタン部材を、再生装置の内部状態に応じて動的に変化させる場合、当該ボタン部材のセレクテッド状態を構成するグラフィクスデータは、セレクテッド状態に対応する状態集合において順不同に配置されており、
前記グラフィクスデコーダは、
複数の状態集合に含まれるグラフィクスデータをデコードするグラフィクスプロセッサと、
デコードされた非圧縮グラフィクスデータを複数格納するオブジェクトバッファと、
動画像と合成すべき非圧縮グラフィクスデータが格納されるグラフィクスプレーンと、
制御部とを備え、
前記制御部は、
セレクテッド状態に対応する状態集合の最後に配置されているグラフィクスデータのデコードが完了した時点で、非圧縮のグラフィクスデータをオブジェクトバッファから読み出して、グラフィックスプレーンに書き込む制御を行う
ことを特徴とする再生装置。
【請求項３】
記録媒体の記録方法であって、
アプリケーションデータを作成するステップと、
作成したデータを記録媒体に記録するステップとを有し、
前記アプリケーションデータは、
動画ストリームとグラフィクスストリームとを多重化することにより得られたデジタルストリームを含み、
グラフィクスストリームは、複数のボタン部材を含む対話画面を、動画像に合成して表示させるものであり、グラフィクスデータを複数含み、それらグラフィクスデータは、複数の状態集合のどれかにグルーピングされており、
各状態集合は、各ボタン部材が遷移し得るノーマル状態、セレクテッド状態、アクティブ状態のうち、それぞれの状態に対応しているグラフィクスデータの集合であり、各状態集合はストリーム中において、対応する状態の順に、シーケンシャルに並んでおり、
前記グラフィクスストリームにおいて、前記複数のグラフィクスデータの前にはボタン部材の状態を制御する状態制御情報が配され、当該状態制御情報には、デフォルトでセレクテッド状態となるボタン部材が、動的に変化する旨を示す指定情報が記述されており、
対話画面の初期表示において、デフォルトでセレクテッド状態となるボタン部材を、再生装置の内部状態に応じて動的に変化させる場合、当該ボタン部材のセレクテッド状態を構成するグラフィクスデータは、セレクテッド状態に対応する状態集合において順不同に配置しておく
ことを特徴とする記録方法。
【請求項４】
ビデオストリーム、グラフィクスストリームが多重化されたデジタルストリームについての再生をコンピュータに実行させるプログラムであって、
ビデオストリームをデコードして動画像を得る第１ステップと、
複数のボタン部材を含む対話画面を、動画像に合成して表示させる第２ステップとをコンピュータに実行させ、
グラフィクスストリームはグラフィクスデータを複数含み、それらグラフィクスデータは、複数の状態集合のどれかにグルーピングされており、
各状態集合は、各ボタン部材が遷移し得るノーマル状態、セレクテッド状態、アクティブ状態のうち、それぞれの状態に対応しているグラフィクスデータの集合であり、各状態集合はストリーム中において、対応する状態の順に、シーケンシャルに並んでおり、
前記グラフィクスストリームにおいて、前記複数のグラフィクスデータの前にはボタン部材の状態を制御する状態制御情報が配され、当該状態制御情報には、デフォルトでセレクテッド状態となるボタン部材が、動的に変化する旨を示す指定情報が記述されていて、
対話画面の初期表示において、デフォルトでセレクテッド状態となるボタン部材を、再生装置の内部状態に応じて動的に変化させる場合、当該ボタン部材のセレクテッド状態を構成するグラフィクスデータは、セレクテッド状態に対応する状態集合において順不同に配置されており、
前記コンピュータは、
デコードされた非圧縮グラフィクスデータを複数格納するオブジェクトバッファと、
動画像と合成すべき非圧縮グラフィクスデータが格納されるグラフィクスプレーンとを備え、
前記第２ステップは、
セレクテッド状態に対応する状態集合の最後に配置されているグラフィクスデータのデコードが完了した時点で、非圧縮のグラフィクスデータをオブジェクトバッファから読み出して、グラフィックスプレーンに書き込む制御を行う
ことを特徴とするプログラム。
【請求項５】
ビデオストリーム、グラフィクスストリームが多重化されたデジタルストリームについての再生方法であって、
ビデオストリームをデコードして動画像を得る第１ステップと、
複数のボタン部材を含む対話画面を、動画像に合成して表示させる第２ステップとを有し、
グラフィクスストリームはグラフィクスデータを複数含み、それらグラフィクスデータは、複数の状態集合のどれかにグルーピングされており、
各状態集合は、各ボタン部材が遷移し得るノーマル状態、セレクテッド状態、アクティブ状態のうち、それぞれの状態に対応しているグラフィクスデータの集合であり、各状態集合はストリーム中において、対応する状態の順に、シーケンシャルに並んでおり、
前記グラフィクスストリームにおいて、前記複数のグラフィクスデータの前にはボタン部材の状態を制御する状態制御情報が配され、当該状態制御情報には、デフォルトでセレクテッド状態となるボタン部材が、動的に変化する旨を示す指定情報が記述されていて、
対話画面の初期表示において、デフォルトでセレクテッド状態となるボタン部材を、再生装置の内部状態に応じて動的に変化させる場合、当該ボタン部材のセレクテッド状態を構成するグラフィクスデータは、セレクテッド状態に対応する状態集合において順不同に配置されており、
デコードされた非圧縮グラフィクスデータは、オブジェクトバッファに格納されていて、
動画像と合成すべき非圧縮グラフィクスデータはグラフィクスプレーンに格納され、
前記第２ステップは、
セレクテッド状態に対応する状態集合の最後に配置されているグラフィクスデータのデコードが完了した時点で、非圧縮のグラフィクスデータをオブジェクトバッファから読み出して、グラフィックスプレーンに書き込む制御を行う
ことを特徴とする再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、BD-ROM等の記録媒体、再生装置に関し、動画像に複数ボタンからなる対話画面を合成させ、このボタンに対するユーザ操作に応じて再生制御を実現するという対話制御の技術に関する。
【背景技術】
【０００２】
上述した対話制御は、再生すべきタイトルやチャプターの選択、クイズの設問に対する回答等、ユーザ操作を再生装置が受け付ける際、なくてはならない機能であり、DVD再生装置上で実現されているものがよく知られている。DVD再生装置による対話制御は、図形に文字列を貼りつけたボタンを画面に表示し、ユーザ操作に応じて、ボタンの枠の色を変化させるというOSD(On Screen Display)技術の応用である。かかる色変化により、対話画面におけるボタンのうちどれがセレクテッド状態になっているかをユーザは直感的に理解することができる。
【０００３】
DVDにおける対話制御の難点は、アミューズメントの要素が殆どない点である。つまり、操作をしてみて楽しくなるというような工夫はあまり見られない。こうした批判を踏まえ、現在規格化が進められているBD-ROM(Blu-ray Disk Prerecorded Format)での対話画面は、ボタンのアニメーション表示が模索されている。具体的にいうと、BD-ROMで表示される対話画面は、各ボタンが、独自のアニメーションにて表現され、主映像たる映画のワンシーンに合成される。そしてこのアニメーション表示は、ユーザによる操作に応じて内容が変わる。かかるアニメーションが、映画作品に登場するキャラクターであるなら、ユーザは、対話画面に対して操作を行うことにより、キャラクターの表情や動きを変化させることができる。かかるアニメーション表示により、幼年者が楽しく遊べるような対話画面を作成することができる。DVDにおける対話制御は、以下の特許文献1に記載された先行技術がある。
【特許文献１】特許第2813245号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながらボタンのアニメーション表示はデコードの負荷が大きいため、対話画面を初期表示させるまでの待ち時間がかなり大きくなるという問題点がある。例えば、映画作品のワンシーンに、図１に示すような対話画面を合成させたいと考えているものとする。この対話画面には、4つのボタンが存在しており、各ボタンが”ノーマル状態””セレクテッド状態”、”アクティブ状態”という3つの状態をもっている。各ボタンの状態を、2〜3秒のアニメーション表示で表現する場合を考える。たとえ映像信号の5フレーム置きに1枚のグラフィクスデータを表示させるとしても、2〜3秒のアニメーションを実現するには、約30枚のグラフィクスデータを表示せねばならない。更にボタンの状態には、ノーマル状態、セレクテッド状態、アクティブ状態という3つの状態があるので、グラフィクスデータの表示枚数は、90枚(=3×30)というオーダになる。かかるボタンを対話画面上で4つ配置する場合は、360枚(=4×90)という膨大な数のグラフィクスデータをデコードせねばならない。グラフィクスデータ一枚当たりのデコードは軽くても、数百枚という数のグラフィクスデータをデコードするには、数十秒という時間がかかってしまう。いくら対話画面を楽しくするためとはいえ、1枚の対話画面を表示する度に、数十秒もユーザを待たせるのは行き過ぎであり、ユーザからの厳しい批判を浴びかねない。
【０００５】
本発明の目的は、アニメーションを伴った対話画面の表示を、遅滞なく実現することができる記録媒体を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る記録媒体は、動画ストリームとグラフィクスストリームとを多重化することにより得られたデジタルストリームが記録されている記録媒体であって、グラフィクスストリームは、複数のボタン部材を含む対話画面を、動画像に合成して表示させるものであり、グラフィクスデータを複数含み、それらグラフィクスデータは、複数の状態集合のどれかにグルーピングされており、各状態集合は、各ボタン部材が遷移し得るノーマル状態、セレクテッド状態、アクティブ状態のうち、それぞれの状態に対応しているグラフィクスデータの集合であり、各状態集合はストリーム中において、対応する状態の順に、シーケンシャルに並んでおり、前記グラフィクスストリームにおいて、前記複数のグラフィクスデータの前にはボタン部材の状態を制御する状態制御情報が配され、当該状態制御情報には、デフォルトでセレクテッド状態となるボタン部材が、動的に変化する旨を示す指定情報が記述されており、対話画面の初期表示において、デフォルトでセレクテッド状態となるボタン部材を、再生装置の内部状態に応じて動的に変化させる場合、当該ボタン部材のセレクテッド状態を構成するグラフィクスデータは、セレクテッド状態に対応する状態集合において順不同に配置されることを特徴としている。
【発明の効果】
【０００７】
ここで対話画面における初期表示において、デフォルトでセレクテッド状態になるボタン部材が動的に変化させる場合、その旨を状態制御情報に示しておくので、この場合、ノーマル状態を構成するグラフィクスデータ、セレクテッド状態を構成するグラフィクスデータのデコードが完了すれば、アクティブ状態を構成するようなグラフィクスデータのデコードが未完であっても、対話画面の初期表示を実行することができる。こうすることで、アクティブ状態を構成するグラフィクスデータのデコードを待つことなく、対話画面の初期表示を実行することができ、ユーザ操作に対するレスポンスを高めることができる。
【０００８】
全体の約2/3のグラフィクスデータの読み出し/デコードの完了時点で、初期表示のための処理を開始させることができるので、たとえ読み出し/デコードすべきグラフィクスデータが大量にあっても、初期表示の実行は遅滞することはない。このため、アニメーションを伴った楽しい対話画面の表示を、迅速に実行することができる。
【発明を実施するための最良の形態】
【０００９】
(第１実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図２（ａ）は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図２において、本発明に係る記録媒体は、BD-ROM１００である。このBD-ROM１００は、再生装置２００、テレビ３００、リモコン４００により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。このうちリモコン４００は、対話画面の状態を変化させるための操作をユーザから受け付けるものであり、本発明に係る記録媒体に深い係りをもつ。図２（ｂ）は、対話画面に対する操作をユーザから受け付けるためのリモコン４００におけるキーを示す図である。本図に示すようにリモコン４００は、MoveUpキー、MoveDownキー、MoveRightキー、MoveLeftキーが設けられている。ここで対話画面におけるボタンは、ノーマル状態、セレクテッド状態、アクティブ状態という3つの状態をもち、これらMoveUpキー、MoveDownキー、MoveRightキー、MoveLeftキーは、このボタンの状態をノーマル状態→セレクテッド状態→アクティブ状態と変化させる操作をユーザから受け付ける。ノーマル状態とは、単に表示されているに過ぎない状態である。これに対しセレクテッド状態とは、ユーザ操作によりフォーカスが当てられているが、確定に至っていない状態をいう。アクティブ状態とは、確定に至った状態をいう。MoveUpキーは、対話画面においてあるボタンがセレクテッド状態である場合、このボタンより上にあるボタンをセレクテッド状態に設定するためのキーである。MoveDownキーは、このボタンより下にあるボタンをセレクテッド状態に設定するためのキー、MoveRightキーは、このボタンより右にあるボタンをセレクテッド状態に設定するためのキー、MoveLeftキーは、このボタンより左にあるボタンをセレクテッド状態に設定するためのキーである。
【００１０】
Activatedキーは、セレクテッド状態にあるボタンをアクティブ状態(アクティベート)するためのキーである。「0」〜「9」の数値キーは、該当する数値が割り当てられたボタンをセレクテッド状態にするキーである。「+10」キーとは、これまで入力された数値に10をプラスするという操作を受け付けるキーである。尚、「0」キー、「+10」キーは、何れも10桁以上の数値の入力を受け付けるものなので、「0」キー、「+10」キーは、どちらかが具備されていればよい。
【００１１】
以上が本発明に係る記録媒体の使用形態についての説明である。
続いて本発明に係る記録媒体の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録媒体は、BD-ROMの応用層に対する改良により実施することができる。図３は、BD-ROMの構成を示す図である。
本図の第４段目にBD-ROMを示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第１段目のようになる。本図に示すようにBD-ROMには、ROOTディレクトリの下にBDMVディレクトリがあり、BDMVディレクトリの配下には、XXX.M2TS、XXX.CLPI,YYY.MPLSといったファイルが存在する。本図に示すようなアプリケーションフォーマットを作成することにより、本発明に係る記録媒体は生産される。尚、XXX.M2TS、XXX.CLPI,YYY.MPLSといったファイルが、それぞれ複数存在する場合は、BDMVディレクトリの配下に、STREAMディレクトリ、CLIPINFディレクトリ、STREAMディレクトリという3つのディレクトリを設け、STREAMディレクトリにXXX.M2TSと同じ種別のファイルを、CLIPINFディレクトリにXXX.CLPIと同じ種別のファイルを、PLAYLISTディレクトリにYYY.MPLSと同じ種別のファイルを格納することが望ましい。
【００１２】
このアプリケーションフォーマットにおける各ファイルについて説明する。最初に説明するのは、AVClip(XXX.M2TS)である。
AVClip(XXX.M2TS)は、MPEG-TS(Transport Stream)形式のデジタルストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、プレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、プレゼンテーショングラフィクスストリームは、映画の字幕を、インタラクティブグラフィクスストリームは、メニューを対象とした動的な再生制御の手順をそれぞれ示している。図４は、AVClipがどのように構成されているかを模式的に示す図である。
【００１３】
AVClipは(中段)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(上１段目)、PESパケット列に変換し(上２段目)、更にTSパケットに変換し(上３段目)、同じくプレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリーム(下１段目)を、PESパケット列に変換し(下２段目)、更にTSパケットに変換して(下３段目)、これらを多重化することで構成される。
【００１４】
かかる過程を経て生成されたAVClipは、通常のコンピュータファイル同様、複数のエクステントに分割され、BD-ROM上の領域に記録される。AVClipは、1つ以上のACCESS UNITとからなり、このACCESS UNITの単位で頭出し可能である。ACCESS UNITとは、Intra(Ｉ)ピクチャから始まる1つのデコード単位である。
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)からなる。ビデオ属性情報は、破線の引き出し線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のアドレスと対応づけて示す(尚、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をリファレンステーブルとして用いた時間による間接参照の形式で、再生区間が定義されている。図７は、時間による間接参照を模式化した図である。本図において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を定義すれば、そのキャラクタが登場するシーンのみからなる映画作品を簡単に制作することができる。
【００２０】
BD-ROMに記録される映画作品は、上述した論理構造をもっているので、ある映画作品のシーンを構成するAVClipを他の映画作品で引用するという”使い回し”を効率良く行うことができる。
続いてインタラクティブグラフィクスストリームについて説明する。図８（ａ）は、インタラクティブグラフィクスストリームの構成を示す図である。第１段目は、AVClipを構成するTSパケット列を示す。第２段目は、グラフィクスストリームを構成するPESパケット列を示す。第２段目におけるPESパケット列は、第１段目におけるTSパケットのうち、所定のPIDをもつTSパケットからペイロードを取り出して、連結することにより構成される。尚、プレゼンテーショングラフィクスストリームについては、本願の主眼ではないので説明は行わない。
【００２１】
第３段目は、グラフィクスストリームの構成を示す。グラフィクスストリームは、ICS(Interactive Composition Segment)、PDS(Palette Difinition Segment)、ODS(Object_Definition_Segment)、END(END of Display Set Segment)と呼ばれる機能セグメントからなる。これらの機能セグメントのうち、ICSは、画面構成セグメントと呼ばれ、PDS、ODS、ENDは定義セグメントと呼ばれる。PESパケットと機能セグメントとの対応関係は、1対1の関係、1対多の関係である。つまり機能セグメントは、1つのPESパケットに変換されてBD-ROMに記録されるか、又は、フラグメント化され、複数PESパケットに変換されてBD-ROMに記録される。
【００２２】
図８（ｂ）は、機能セグメントを変換することで得られるPESパケットを示す図である。図８（ｂ）に示すようにPESパケットは、パケットヘッダと、ペイロードとからなり、このペイロードが機能セグメント実体にあたる。またパケットヘッダには、この機能セグメントに対応するDTS、PTSが存在する。尚以降の説明では、機能セグメントが格納されるPESパケットのヘッダ内に存在するDTS及びPTSを、機能セグメントのDTS及びPTSとして扱う。
【００２３】
これら様々な種別の機能セグメントは、図９のような論理構造を構築する。図９は、様々な種別の機能セグメントにて構成される論理構造を示す図である。本図は第３段目に機能セグメントを、第２段目にDisplay Setを、第１段目にEpochをそれぞれ示す。
第２段目のDisplay Set(DSと略す)とは、グラフィクスストリームを構成する複数機能セグメントのうち、一画面分のグラフィクスを構成するものの集合をいう。図中の破線は、第３段目の機能セグメントが、どのDSに帰属しているかという帰属関係を示す。ICS−PDS−ODS−ENDという一連の機能セグメントが、1つのDSを構成していることがわかる。再生装置は、このDSを構成する複数機能セグメントをBD-ROMから読み出せば、一画面分のグラフィクスを構成することができる。
【００２４】
第１段目のEpochとは、AVClipの再生時間軸上においてメモリ管理の連続性をもっている一つの期間、及び、この期間に割り当てられたデータ群をいう。ここで想定しているメモリとは、一画面分のグラフィクスを格納しておくためのグラフィクスプレーン、伸長された状態のクラフィクスデータを格納しておくためのオブジェクトバッファである。これらについてのメモリ管理に、連続性があるというのは、このEpochにあたる期間を通じてこれらグラフィクスプレーン及びオブジェクトバッファのフラッシュは発生せず、グラフィックプレーン内のある決められた矩形領域内でのみ、グラフィクスの消去及び再描画が行われることをいう(※ここでフラッシュとは、プレーン及びバッファの格納内容を全部クリアしてしまうことである。)。この矩形領域の縦横の大きさ及び位置は、Epochにあたる期間において、終始固定されている。グラフィックプレーンにおいて、この固定化された領域内で、グラフィクスの消去及び再描画を行っている限り、シームレス再生が保障される。つまりEpochは、シームレス再生の保障が可能な再生時間軸上の一単位ということができる。グラフィックプレーンにおいて、グラフィクスの消去・再描画を行うべき領域を変更したい場合は、再生時間軸上においてその変更時点を定義し、その変更時点以降を、新たなEpochにせねばならない。この場合、2つのEpochの境界では、シームレス再生は保証されない。
【００２５】
尚、ここでのシームレス再生とは、グラフィクスの消去及び再描画が、所定のビデオフレーム数で完遂することをいう。インタラクティブグラフィクスストリームの場合、このビデオフレーム数は、4,5フレームとなる。このビデオフレームをどれだけにするかは、グラフィックプレーン全体に対する固定領域の大きさの比率と、オブジェクトバッファ−グラフィックプレーン間の転送レートとによって定まる。
【００２６】
図中の破線hk1,2は、第２段目の機能セグメントが、どのEpochに帰属しているかという帰属関係を示す。Epoch Start,Acquisition Point,Normal Caseという一連のDSは、第１段目のEpochを構成していることがわかる。『Epoch Start』、『Acquisition Point』、『Normal Case』は、DSの類型である。本図におけるAcquisition Point、Normal Caseの順序は、一例にすぎず、どちらが先であってもよい。
【００２７】
『Epoch Start』は、”新表示”という表示効果をもたらすDSであり、新たなEpochの開始を示す。そのためEpoch Startは、次の画面合成に必要な全ての機能セグメントを含んでいる。Epoch Startは、映画作品におけるチャプター等、AVClipのうち、頭出しがなされることが判明している位置に配置される。
『Acquisition Point』は、”表示リフレッシュ”という表示効果をもたらすDisplay Setであり、先行するEpoch Startと関連性をもつ。Acquisition Pointの類型には、『Duplicate』と、『Inherit』とがある。Duplicateとは、先行するEpoch Startと全く同じDisplay Setをいい、Inheritとは、先行するEpoch Startの機能セグメントを継承しているが、ボタンコマンドのみが違うDisplay Setをいう。Acquisition PointたるDSは、Epochの開始時点ではないが、次の画面合成に必要な全ての機能セグメントを含んでいるので、Acquisition PointたるDSから頭出しを行えば、グラフィックス表示を確実に実現することができる。つまりAcquisition PointたるDSは、Epochの途中からの画面構成を可能するという役割をもつ。
【００２８】
Acquisition PointたるDisplay Setは、頭出し先になり得る位置に組み込まれる。そのような位置には、タイムサーチにより指定され得る位置がある。タイムサーチとは、何分何秒という時間入力をユーザから受け付けて、その時間入力に相当する再生時点から頭出しを行う操作である。かかる時間入力は、10分単位、10秒単位というように、大まかな単位でなされるので、10分間隔の再生位置、10秒間隔の再生位置がタイムサーチにより指定され得る位置になる。このようにタイムサーチにより指定され得る位置にAcquisition Pointを設けておくことにより、タイムサーチ時のグラフィクスストリーム再生を好適に行うことができる。
【００２９】
『Normal Case』は、”表示アップデート”という表示効果をもたらすDSであり、前の画面合成からの差分のみを含む。例えば、あるDSvのボタンは、先行するDSuと同じ絵柄であるが、状態制御が、この先行するDSuとは異なる場合、ICSのみのDSv、又は、ICSとPDSのみのDSvを設けてこのDSvをNormal CaseのDSにする。こうすれば、重複するODSを設ける必要はなくなるので、BD-ROMにおける容量削減に寄与することができる。一方、Normal CaseのDSは、差分にすぎないので、Normal Case単独では画面構成は行えない。
【００３０】
これらのDSにより定義される対話画面は、画面上にGUI部品を配置することにより作成される対話画面である。そしてDSにおける対話性とは、GUI部品の状態をユーザ操作に応じて変化させることをいう。本実施形態では、ユーザ操作の対象となるGUI部品をボタンという。ボタンにおける状態には、ノーマル状態、セレクテッド状態、アクティブ状態といったものがある。ノーマル状態、セレクテッド状態、アクティブ状態といった各状態は、複数の非圧縮状態のグラフィクスから構成される。ボタンの各状態を表現する個々の非圧縮グラフィクスを”グラフィクスオブジェクト”という。あるボタンの1つの状態を、複数の非圧縮グラフィクスで表現しているのは、各ボタンの1つの状態をアニメーション表示することを念頭に置いているからである。
【００３１】
続いてDefinition Segment(ODS、PDS)について説明する。
『Object_Definition_Segment』は、グラフィクスオブジェクトを定義する情報である。このグラフィクスオブジェクトについて以下説明する。BD-ROMに記録されているAVClipは、ハイビジョン並みの高画質をセールスポイントにしているため、グラフィクスオブジェクトの解像度も、1920×1080画素という高精細な大きさに設定されている。画素の色にあたっては、一画素当たりのインデックス値(赤色差成分(Cr値),青色差成分(Cb値),輝度成分Y値,透明度(T値))のビット長が8ビットになっており、これによりフルカラーの16,777,216色から任意の256色を選んで画素の色として設定することができる。
【００３２】
ODSによるグラフィクスオブジェクトの定義は、図１０（ａ）に示すようにデータ構造をもってなされる。ODSは、自身がODSであることを示す『Segment_Type』と、ODSのデータ長を示す『segment_length』と、EpochにおいてこのODSに対応するグラフィクスオブジェクトを一意に識別する『object_ID』と、EpochにおけるODSのバージョンを示す『object_version_number』と、『last_insequence_flag』と、グラフィクスオブジェクトの一部又は全部である連続バイト長データ『object_data_fragment』とからなる。
【００３３】
『object_ID』は、EpochにおいてこのODSに対応するグラフィクスオブジェクトを一意に識別するものだが、複数ODSにより定義される複数グラフィックスオブジェクトがアニメーションを構成する場合、これらのODSに付加された一連の『object_ID』は、連番になる。
『last_insequence_flag』、『object_data_fragment』について説明する。PESパケットのペイロードの制限から、ボタンを構成する非圧縮グラフィクスが1つのODSでは格納できない場合がある。そのような場合、ボタンコマンドを分割することにより得られた1部分(フラグメント)がobject_data_fragmentに設定される。1つのグラフィクスオブジェクトを複数ODSで格納する場合、最後のフラグメントを除く全てのフラグメントは同じサイズになる。つまり最後のフラグメントは、それ以前のフラグメントサイズ以下となる。これらフラグメントを格納したODSは、DSにおいて同じ順序で出現する。グラフィクスオブジェクトの最後は、last_sequence_flagをもつODSにより指示される。上述したODSのデータ構造は、前のPESパケットからフラグメントを詰めてゆく格納法を前提にしているが、各PESパケットに空きが生じるように、詰めてゆくという格納法であっても良い。以上がODSの説明である。
【００３４】
『Palette Difinition Segment』は、色変換用のパレットを定義する情報である。PDSのデータ構造を図１０（ｂ）に示す。図１０（ｂ）に示すようにPDSは、自身がPDSであることを示す『segment_type』、PDSのデータ長を示す『segment_length』、このPDSに含まれるパレットを一意に識別する『Pallet_id』、EpochにおけるEpochのPDSのバージョンを示す『version_number』、各エントリーについての情報『Pallet_entry』からなる。『Pallet_entry』は、各エントリーにおける赤色差成分(Cr値),青色差成分(Cb値),輝度成分Y値,透明度(T値)を示す。
【００３５】
続いて END of Display Set Segmentについて説明する。
『END of Display Set Segment』は、Display Setの伝送の終わりを示す指標であり、Display SetにおけるICS、PDS、ODSのうち、最後のODSの直後に配置される。この END of Display SetSegmentの内部構成は、当該機能セグメントが END of Display SetSegmentであることを示すsegment_typeと、当該機能セグメントのデータ長を示すsegment_lengthとからなり、これといって説明が必要な構成要素はない。故に図示は省略する。
【００３６】
続いてICSについて説明する。Interactive Composition Segmentは、対話的な画面を構成する機能セグメントである。Interactive Composition Segmentは、図１１に示すデータ構造で構成される。本図に示すようにICSは、『segment_type』と、『segment_length』と、『composition_number』と、『composition_state』と、『command_update_flag』と、『Composition_timeout_PTS』と、『Selection_timeout_PTS』と、『UO_Mask_Table』と、『animation_frame_rate_code』と、『default_selected_button_number』と、『default_activated_button_number』と、『ボタン情報群(button info(1)(2)(3)・・・・)』とからなる。
【００３７】
『Composition_Number』は、ICSが属するDSにおいて、Updateがなされることを示す0から15までの数値である。
『composition_state』は、本ICSから始まるDSが、Normal Caseであるか、Acquisition Pointであるか、Epoch Startであるかを示す。
『command_update_flag』は、本ICS内のボタンコマンドは、前のICSから変化しているかを否かを示す。例えば、あるICSが属するDSが、Acquisition Pointであれば、このICSは、原則1つ前のICSと同じ内容になる。しかしcommand_update_flagをオンに設定しておけば、1つ前のDSと違うボタンコマンドをICSに設定しておくことができる。本フラグは、グラフィックスオブジェクトは流用するが、コマンドは変更したい場合に有効となる。
【００３８】
『Composition_timeout_PTS』は、ボタンによる対話画面の終了時刻を記述する。終了時刻において対話画面の表示は、もはや有効ではなく表示されない。Composition_timeout_PTSは、動画データにおける再生時間軸の時間精度で記述しておくことが好ましい。
『Selection_Timeout_PTS』は、有効なボタン選択期間の終了時点を記述する。Selection_Timeout_PTSの時点において、Default_activated_button_numberにより特定されるボタンがアクティベートされる。Selection_Timeout_PTSは、composition_time_out_PTSの時間と等しいかそれより短い。Selection_Timeout_PTSはビデオフレームの時間精度で記述される。
【００３９】
『UO_Mask_Table』は、ICSに対応するDisplay Setにおけるユーザ操作の許可／不許可を示す。このマスクフィールドが不許可に設定されていれば、再生装置に対するユーザ操作は無効になる。
『animation_frame_rate_code』は、アニメーション型ボタンに適用すべきフレームレートを記述する。アニメーションフレームレートは、本フィールドの値を用いて、ビデオフレームレートを割ることにより与えられる。本フィールドが00なら、各ボタンのグラフィクスオブジェクトを定義するODSのうち、Start_Object_id_xxxにて特定されるもののみが表示され、アニメーションされない。
【００４０】
『default_selected_button_number』は、対話画面の表示が始まったとき、デフォルトとしてセレクテッド状態に設定すべきボタン番号を指示する。本フィールドが”0”であれば、再生装置のレジスタに格納されたボタン番号のボタンが自動的にアクティブ状態に設定される。もしこのフィールドが非ゼロであれば、このフィールドは、有効なボタンの値を意味する。
【００４１】
『default_activated_button_number』は、Selection_Timeout_PTSにより定義された時間の前に、ユーザがどのボタンもアクティブ状態にしなかったとき、自動的にアクティブ状態に設定されるボタンを示す。default_activated_button_numberが”FF”であれば、Selection_Timeout_PTSにより定義される時刻において、現在セレクテッド状態にあるボタンが自動的に選択される。このdefault_activated_button_numberが00であれば、自動選択はなされない。00,FF以外の値であれば本フィールドは、有効なボタン番号として解釈される。
【００４２】
『ボタン情報(Button_info)』は、対話画面において合成される各ボタンを定義する情報である。図中の引き出し線hp1はICSにより制御されるi番目のボタンについてのボタン情報iの内部構成をクローズアップしている。以降、ボタン情報iを構成する情報要素について説明する。
『button_number』は、ボタンiを、ICSにおいて一意に識別する数値である。
【００４３】
『numerically_selectable_flag』は、ボタンiの数値選択を許可するか否かを示すフラグである。
『auto_action_flag』は、ボタンiを自動的にアクティブ状態にするかどうかを示す。auto_action_flagがオン(ビット値1)に設定されれば、ボタンiは、セレクテッド状態になる代わりにアクティブ状態になる。auto_action_flagがオフ(ビット値0)に設定されれば、ボタンiは、選択されたとしてもセレクテッド状態になるにすぎない。
【００４４】
『object_horizontal_position』、『object_vertical_position』は、対話画面におけるボタンiの左上画素の水平位置、垂直位置を示す。
『upper_button_number』は、ボタンiがセレクテッド状態である場合においてMOVEUPキーが押下された場合、ボタンiの代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタンiの番号が設定されていれば、MOVEUPキーの押下は無視される。
【００４５】
『lower_button_number』,『left_button_number』,『right_button_number』は、ボタンiがセレクテッド状態である場合においてMOVE Down キー,MOVE Left キー,MOVE Right キーが押下された場合、ボタンiの押下の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタンiの番号が設定されていれば、これらのキーの押下は無視される。
【００４６】
『start_object_id_normal』は、ノーマル状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのstart_object_id_normalに記述される。
『end_object_id_normal』は、ノーマル状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのend_object_id_normalに記述される。このEnd_object_id_normalに示されるIDが、start_object_id_normalに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタンiの絵柄になる。
【００４７】
『repeated_normal_flag』は、ノーマル状態にあるボタンiのアニメーション表示を反復継続させるかどうかを示す。
『start_object_id_selected』は、セレクテッド状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのstart_object_id_selectedに記述される。このEnd_object_id_selectedに示されるIDが、start_object_id_selectdに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタンiの絵柄になる。
【００４８】
『end_object_id_selected』は、セレクト状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのend_object_id_selectedに記述される。
『repeat_selected_flag』は、セレクテッド状態にあるボタンiのアニメーション表示を、反復継続するかどうかを示す。start_object_id_selectedと、end_object_id_selectedとが同じ値になるなら、本フィールド00に設定される。
【００４９】
『start_object_id_activated』は、アクティブ状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのstart_object_id_activatedに記述される。
『end_object_id_activated』は、アクティブ状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのend_object_id_activatedに記述される。
【００５０】
続いてボタンコマンドについて説明する。
『ボタンコマンド(button_command)』は、ボタンiがアクティブ状態になれば、実行されるコマンドである。
ボタンコマンドでは、PL、PlayItemを対象とした再生を再生装置に命じることができる。PL、PlayItemを対象とした再生を、再生装置に命じるコマンドをLinkPLコマンドという。本コマンドは、第１引数で指定するプレイリストの再生を、第２引数で指定する位置から再生を開始させるものである。
書式:LinkPL(第１引数，第２引数)
第１引数は、プレイリストの番号で、再生すべきPLを指定することができる。第２引数は、そのPLに含まれるPlayItemや、そのPLにおけるChapter、Markを用いて再生開始位置を指定することができる。
【００５１】
PlayItemにより再生開始位置を指定したLinkPL関数をLinkPLatPlayItem()、
Chapterにより再生開始位置を指定したLinkPL関数をLinkPLatChapter()、
Markにより再生開始位置を指定したLinkPL関数をLinkPLatMark()という。
またボタンコマンドでは、再生装置の状態取得や状態設定を再生装置に命じることができる。再生装置の状態は、64個のPlayer Status Register(これの設定値は、PSRと呼ばれる)と、4096個のGeneral Purpose Register（これの設定値は、GPRと呼ばれる)とに示されている。ボタンコマンドでは、以下の(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に、第２引数で指定された値を設定させる。  
以上がICSの内部構成である。ICSによる対話制御の具体例について以下説明する。本具体例は、図１２のようなODS、ICSを想定している。図１２は、あるDSnに含まれるODSと、ICSとの関係を示す図である。このDSnには、ODS11〜19,21〜29,31〜39,41〜49が含まれているものとする。これらのODSのうち、ODS11〜19は、ボタンAの各状態を描いたものであり、ODS21〜29は、ボタンBの各状態を描いたもの、ODS31〜39は、ボタンCの各状態を描いたもの、ODS41〜49は、ボタンDの各状態を描いたものとする(図中の括弧}を参照)。そしてICSにおけるbutton_info(1),(2),(3),(4)にて、これらのボタンA〜ボタンDの状態制御が記述されているものとする(図中の矢印bh1,2,3,4参照)。
【００５４】
このICSによる制御の実行タイミングが、図１３に示す動画のうち、任意のピクチャデータpt1の表示タイミングであれば、ボタンA〜ボタンDからなる対話画面tm1が、このピクチャデータpt1に合成(gs1)されて表示されることになる(gs2)。動画の中身に併せて、複数ボタンからなる対話画面が表示されるので、ICSによりボタンを用いたリアルな演出が可能になる。
【００５５】
図１５に示すボタンA〜ボタンDの状態遷移を実行する場合のICSの記述例を図１４に示す。図１５における矢印hh1,hh2は、button info(1)のneighbor_info()による状態遷移を象徴的に表現している。button info(1)のneighbor_info()におけるlower_button_numberは、ボタンCに設定されているため、ボタンAがセレクテッド状態になっている状態で、MOVEDownキー押下のUOが発生すれば(図１５のup1)、ボタンCがセレクテッド状態になる(図１５のsj1)。button info(1)のneighbor_info()におけるright_button_numberは、ボタンBに設定されているため、ボタンAがセレクテッド状態になっている状態で、MOVERightキー押下のUOが発生すれば(図１５のup2)、ボタンBがセレクテッド状態になる(図１５のsj2)。
【００５６】
図１５における矢印hh3は、button info(3)のneighbor_info()による状態遷移の制御を示す。button info(3)のneighbor_info()におけるupper_button_numberは、ボタンAに設定されているため、ボタンCがセレクテッド状態になっている状態で(up3)、MOVEUpキー押下のUOが発生すれば、ボタンAがセレクテッド状態に戻る。
続いてボタンA〜ボタンDの絵柄について説明する。ODS11,21,31,41が図１６に示す絵柄であるものとする。そしてボタンAに割り当てられたODS11〜19は、図１７のような絵柄であるものとする。ICSにおけるbutton_info(1)のnormal_state_info()におけるstart_object_id_normal,end_object_id_normalは、ODS11〜13を指定しているため、ボタンAのノーマル状態は、ODS11〜13によるアニメーションで表現される。またbutton_info(1)のselected_state_info()におけるstart_object_id_selected,end_object_id_selectedは、ODS14〜16を指定しているため、ボタンAのセレクテッド状態は、ODS14〜16で表現される。ユーザがこのボタンAをセレクテッド状態にすることにより、ボタンAの絵柄たる肖像は、ODS11〜13によるものから、ODS14〜16によるものへと変化する。ここでnormal_state_info()、selected_state_info()におけるrepeat_normal_flag,repeat_select_flagを1にしておけば、ODS11〜13によるアニメーション、ODS14〜16によるアニメーションは、図中の「→(A)」,「(A)→」,「→(B)」,「(B)→」,に示すように、アニメーション表示は反復継続する。
【００５７】
アニメーション描画が可能な複数ODSが、ボタンA〜ボタンDに割り当てられており、これらによる制御がICSに記述されていれば、ユーザ操作に併せてキャラクタの表情が変わるような、リアルなボタンの状態制御を実現することができる。
続いてnumerically_selectable_flagによる応用について説明する。図１８は、DSに含まれるICS、ODSの一例を示す図である。本図におけるODS31〜33は、図中上段に示すような３人の野球選手の肖像及び選手名、背番号を示すものとする。一方、このDSに属するICSは、3つのボタン情報を含んでおり、ボタン情報(1)のstart_object_idは、ODS31を示すよう設定され、ボタン情報(2)のstart_object_idは、ODS32を示すよう、ボタン情報(3)のstart_object_idは、ODS33を示すよう設定されているものとする。一方、ボタン情報(1)は、button numberが99に、ボタン情報(2)はbutton numberが42に、ボタン情報(3)はbutton numberが94に設定されているものとする。またボタン情報(1)〜(3)は、全てnumerically_selectable_flagが1に設定されているものとする。この場合、ボタン情報(1)〜(3)に対応する各ボタンの数値選択が可能になるので、ユーザによりリモコン４００による「99」の数値入力がなされれば、ビギナーズ・ラック選手のボタンがセレクテッド状態になる。数値「99」の入力は、「9」キーの押下と、「9」キーの押下とを連続して受け付けることで実現しても良い。また「9」キーの押下と、「+10」キーの9回の押下とを連続して受け付けることで実現しても良い。「42」の数値入力がなされれば、ケアレス・ミス選手のボタンがセレクテッド状態、「94」の数値入力がなされれば、デッド・ストック選手のボタンがセレクテッド状態になる。
【００５８】
これらのボタン情報(1)〜(3)のauto_action_flagが1に設定されていれば、これら3つのボタンはセレクテッド状態になる代わりにアクティブ状態になり、ボタン情報の内部に含まれるボタンコマンド(LinkPL(PL#21),LinkPL(PL#22),LinkPL(PL#23))が実行される。3つのボタン情報に含まれるボタンコマンドのリンク先PL#21,#22,#23が、それぞれの選手の打撃シーン、投球シーンであれば、これら打撃シーン、投球シーンは、選手の背番号にあたる数値入力で再生されることになる。背番号という、知名度が高い番号でのダイレクトなボタン選択が可能になるので、ユーザによる操作性は一段と高まる。
【００５９】
続いてDisplay SetにおけるODSの順序について説明する。Display Setに属するODSは、ボタンの1つの状態を表すようICSにて指定されていることは、上述した通りである。ODSは、こうした指定、つまり、ボタンのどの状態を示すかという指定に応じて、Display Setにおける順序が決められる。
詳しくいうとDisplay SetにおいてODSは、ノーマル状態を表すもの(1)、セレクテッド状態を表すもの(2)、アクティブ状態を示すもの(3)というように、同じ状態を表すもの同士がグループ化される。このボタンの1つの状態を表すグループをbutton-stateグループという。そしてこれらbutton-stateグループを、ノーマル状態→セレクテッド状態→アクティブ状態というように並べる。このようにボタンのどの状態を表すかに応じて、ODSの順序を決めるというのが、Display SetにおけるODSの順序である。
【００６０】
図１９は、Display Setに属するODSの順序を示す図である。本図の第２段目に、Display Setにおける3つのbutton-stateグループを示す。本図においてノーマル状態を描くODSの集合(ODSs for Normal state)、ボタンのセレクテッド状態を描くODSの集合(ODSs for Selected state)、ボタンのアクティブ状態を描くODSの集合(ODSs for Actioned state)が示されている。そしてこれらbutton-stateグループの順序は、ノーマル状態→セレクテッド状態→アクティブ状態というように並べられている。これはODSのうち、対話画面の初期表示を構成するものを早く読み出させ、アップデート後の画面表示を構成するものの読み出しを後にするという配慮である。
【００６１】
図１９の第１段目は、これらbutton-stateグループにより描かれるグラフィクスオブジェクトAn,Bn,Cn,Dn,As,Bs,Cs,Ds,Aa,Ba,Ca,Daを示す。本図におけるAn,Bn,Cn,Dnにおける添字nは各ボタンのノーマル状態を表し、As,Bs,Cs,Dsにおける添字sは各ボタンのセレクテッド状態を表す。Aa,Ba,Ca,Daにおける添字aは各ボタンのアクティブ状態を表す。図１９の第２段目は、第１段目のグラフィクスオブジェクトが属するbutton-stateグループを示す。尚、本図におけるODS1〜ODSnという表記は、「1」,「n」というような同じ番号が付されているが、これらN-ODSs,S-ODSs,A-ODSsに属するODSは別々のものである。以降、同様の表記の図は同じ意味であるとする。
【００６２】
図２０は、図１９のbutton-stateグループが配置された対話画面における状態遷移を示す図である。
本図における対話画面は、”初期表示”、”1stユーザアクションによる更新表示”、”2ndユーザアクションによる更新表示”という複数の状態をもつ。図中の矢印は、状態遷移のトリガとなるユーザアクションを表す。この図を参照すると、4つのボタンA,B,C,Dはそれぞれノーマル状態、セレクテッド状態、アクティブ状態という状態をもっている。このうち初期表示に必要なのは、3つのノーマル状態を描くグラフィクスオブジェクトと、1つのセレクテッド状態を描くグラフィクスオブジェクトであることがわかる。
【００６３】
デフォルトセレクテッドボタンが未確定であり、ボタンA〜ボタンDのうち、どのボタンがセレクテッド状態になるかが動的に変わる場合であっても、各ボタンのノーマル状態、セレクテッド状態を表すグラフィクスオブジェクトのデコードが完了すれば、初期表示を実現することができる。このことを意識して、本実施形態では、各状態に対応するbutton-stateグループを、図１９の第２段目に示すようにノーマル状態→セレクテッド状態→アクティブ状態の順に配列している。かかる配列により、アクティブ状態を構成するODSの読み出しやデコードが未完であっても、初期表示を実現することができ、Display Setの読み出し開始から初期表示の完了までの期間を短くすることができる。
【００６４】
続いて図１６、図１７に示したODSを、どのような順序で配列させるかについて説明する。図２１は、Display SetにおけるODSの順序を示す図である。本図においてODSs for Normal stateは、ODS11〜13,ODS21〜23,ODS31〜33,ODS41〜43から構成されている。またODSs for Selected stateは、ODS14〜16,ODS24〜26,ODS34〜36,ODS44〜46から構成され、ODSs for Actioned stateは、ODS17〜19,ODS27〜29,ODS37〜39,ODS47〜49から構成されている。ODS11〜13は、図１７に示したような、キャラクターの表情変化を描くものであり、ODS21〜23,ODS31〜33,ODS41〜43も同様なので、これらのODSを先頭のbutton-stateグループに配置することにより、Display Setの読み出しの途中であっても、初期表示の準備を整えることができる。これによりアニメーションを取り入れた対話画面を、遅滞なく実行することができる。
【００６５】
続いて複数のボタン状態からの多重参照されるODSの順序について説明する。多重参照とは、あるODSについてのobject_idがICSにおける2以上のnormal_state_info,selected_state_info,activated_state_infoにより指定されていることをいう。かかる多重参照を行えば、あるボタンのノーマル状態を描くグラフィクスオブジェクトを用いて、他のボタンのセレクテッド状態を描くことができ、グラフィクスオブジェクトの絵柄を共用することができる。かかる共用により、ODSの数を少なくすることができる。多重参照されるODSについては、どのbutton-stateグループに属するかが問題になる。
【００６６】
つまりあるボタンのノーマル状態と、別のボタンのセレクテッド状態とが1つのODSで描かれている場合、このODSは、ノーマル状態に対応するbutton-stateグループに属するか、セレクテッド状態に対応するbutton-stateグループに属するかが問題となる。
この場合ODSは、複数状態のうち、最も早く出現する状態に対応するbutton-stateグループだけ1回のみ配置される。
【００６７】
あるODSがノーマル状態、セレクテッド状態で多重参照されるなら、ノーマル状態に対応するbutton-stateグループ(N-ODSs)にこのODSは配置され、セレクテッド状態に対応するbutton-stateグループ(S-ODSs)には配置されない。また別のODSがセレクテッド状態、アクティブ状態で多重参照されるなら、セレクテッド状態に対応するbutton-stateグループ(S-ODSs)にこのODSは配置され、アクティブ状態に対応するbutton-stateグループ(A-ODSs)には配置されない。このように多重参照されるODSは、最も早く出現する状態に対応するbutton-stateグループ内に一回だけ配置される。以上が多重参照されるODSの順序についての説明である。
【００６８】
S-ODSsにおける、ODSの順序について説明する。S-ODSsにおいて、どのODSが先頭に位置するかは、デフォルトセレクテッドボタンが静的に確定しているか、動的であるかによって違う。確定したデフォルトセレクテッドボタンとは、ICSにおけるdefault_selected_button_numberに00以外の有効な値が設定され、この値で指示されるボタンのことをいう。default_selected_button_numberが有効な値を示しており、尚且つデフォルトセレクテッドボタンを表すODSが、N-ODSsに無い場合は、デフォルトセレクテッドボタンを表すODSが、S-ODSsの先頭に配置される。
【００６９】
default_selected_button_numberが値00を示している場合、デフォルトでセレクテッド状態に設定されるボタンは、再生装置側の状態によって動的に変化する。
値0を示すよう、default_selected_button_numberを設定しておくのは、例えば、Display Setが多重されているAVClipが、複数再生経路の合流点になっているようなケースである。先行する複数再生経路がそれぞれ第１、第２、第３章であり、合流点にあたるDisplay Setが第１章、第２章、第３章に対応するボタンを表示させるものである場合、default_selected_button_numberにおいて、デフォルトでセレクテッド状態とすべきボタンを決めてしまうのは、おかしい。
【００７０】
第１章からの到達時には第２章にあたるボタン、第２章からの到達時には第３章にあたるボタン、第３章からの到達時には第４章にあたるボタンというように、このDisplay Setに到達するまでに、先行する複数再生経路のうち、どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化させるのが理想的である。先行する再生経路によって、セレクテッド状態とすべきボタンが変わるようなケースにおいて、default_selected_button_numberは無効を示すよう、0に設定される。どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化するから、特定のODSをbutton-stateグループの先頭に配置するというような配慮は行わない。
【００７１】
図２２は、default_selected_button_numberが”=0”である場合と、”＝ボタンB”である場合とでS-ODSsにおいてODSの並びがどのように変わるかを示す図である。本図において破線ss1は、default_selected_button_numberがボタンBを示している場合に、S-ODSsにおけるODSの配列がどのようになるかを示しており、破線ss2は、default_selected_button_numberが=0を示している場合に、S-ODSsにおけるODSの配列がどのようになるかを示している。この図の表記からもわるように、default_selected_button_numberがボタンBを示している場合、ボタンBのセレクテッド状態を示すODSBsがS-ODSsの先頭に配され、その他のボタンのODSは、後回しにされている。一方、default_selected_button_numberが”=0”である場合、ボタンAのセレクテッド状態を表すODSAsが先頭に配置されている。このようにdefault_selected_button_numberが有効かどうかは、S-ODSs内の順序に大きな変動をもたらす。
【００７２】
以上がODSの順序についての説明である。続いてこれらICS、ODSを有したDisplay Setが、AVClipの再生時間軸上にどのように割り当てられるかについて説明する。Epochは、再生時間軸上においてメモリ管理が連続する期間であり、Epochは1つ以上のDisplay Setから構成されるので、Display SetをどうやってAVClipの再生時間軸に割り当てるかが問題になる。ここでAVClipの再生時間軸とは、AVClipに多重されたビデオストリームを構成する個々のピクチャデータのデコードタイミング、再生タイミングを規定するための想定される時間軸をいう。この再生時間軸においてデコードタイミング、再生タイミングは、90KHzの時間精度で表現される。Display Set内のICS、ODSに付加されたDTS、PTSは、この再生時間軸において同期制御を実現すべきタイミングを示す。このICS、ODSに付加されたDTS、PTSを用いて同期制御を行うことが、再生時間軸へのDisplay Setの割り当てである。
【００７３】
先ず、ODSに付加されたDTS、PTSにより、どのような同期制御がなされるかについて説明する。
DTSは、ODSのデコードを開始すべき時間を90KHzの時間精度で示しており、PTSはデコード終了時刻を示す。
ODSのデコードは、瞬時には完了せず、時間的な長さをもっている。このデコード期間の開始点・終了点を明らかにしたいとの要望から、ODSについてのDTS、PTSはデコード開始時刻、デコード終了時刻を示している。
【００７４】
PTSの値は終了時刻であるので、PTSに示される時刻までにODSjのデコードがなされて、非圧縮状態のグラフィックスオブジェクトが、再生装置上のオブジェクトバッファに得られなければならない。
Display Setnに属する任意のODSjのデコード開始時刻は、90KHzの時間精度でDTS(DSn[ODS])に示されるので、これにデコードを要する最長時間を加えた時刻が、Display SetのODSjのデコード終了保証時刻になる。
【００７５】
ODSjの伸長後のサイズを”SIZE(DSn[ODSj])”、ODSのデコードレートを”Rd”とすると、デコードに要する最長時間(秒)は、”SIZE(DSn[ODSj])//Rd”になる。
尚、本明細書において演算子”//”は、小数点以下切り上げの割算を示す。
この最長時間を90KHzの時間精度に変換し、ODSjのDTSに加算することにより、PTSで示されるべきデコード終了時刻(90KHz)は算出される。
DSnに属するODSjのPTSを、数式で表すと、以下の式のようになる。
PTS(DS[ODSj])=DTS(DSn[ODSj])+90,000×(SIZE(DSn[ODSj])//Rd)
そして互いに隣接する2つのODS(ODSj,ODSj+1)との間では、以下の関係を満たす必要がある。
PTS(DSn[ODSj])≦DTS(DSn[ODSj+1])
以上がODSについてのPTS,DTSの説明である。次にICSの、PTS値について説明する。
【００７６】
ICSのPTSは、Epoch開始直後であればDSnの初期表示を構成するODSのうち、デコード時刻が最も遅いODSのPTS値(1)、グラフィクスプレーンのクリアに要する時間(2)、ODSのデコードにより得られたグラフィクスオブジェクトをグラフィクスプレーンに書き込む書込時間(3)を足した値以降に設定される。一方Acquisition Pointであれば、ODSのPTS値(1)にプレーン書込期間(3)を足した値(ODSのPTS値(1)＋プレーン書込期間(3))以降に設定される。
【００７７】
ICSにおいてdefault_selected_button_numberが指定されている場合は、全てのボタンのノーマル状態を描画するODSのデコードと、デフォルトボタンのセレクテッド状態を描画するODSのデコードさえ完了すれば、初期表示を行うことができる。初期表示における複数ボタンのセレクテッド状態を描画するODSを、S-ODSsと呼び、そのうちデコード時刻が最も早いもの(この場合、デフォルトボタンを描画するもの)をS-ODSsfirstと呼ぶ。このS-ODSsfirstのPTS値を、デコード時刻が最も遅いODSのPTS値として、ICSのPTSの基準に用いる。
【００７８】
ICSにおいてdefault_selected_button_numberが指定されていない場合は、どのボタンがセレクテッド状態になるかわからないから、全ボタンのノーマル状態、セレクテッド状態を描画する準備が整なわないと、初期表示の準備が完了しない。初期表示における複数ボタンのセレクテッド状態を描画するS-ODSsのうち、デコード時刻が最も遅いものをS-ODSslastと呼ぶ。このS-ODSslastのPTS値を、デコード時刻が最も遅いODSのPTS値として、ICSのPTSの基準値に用いる。
【００７９】
S-ODSsfirstのデコード終了時刻をPTS(DSn[S-ODSsfirst])とすると、PTS(DSn[ICS])は、PTS(DSn[S-ODSsfirst])に、グラフィクスプレーンのクリアに要する時間(2)、ODSのデコードにより得られたグラフィクスオブジェクトをグラフィクスプレーンに書き込む書込時間(3)を足した値になる。
グラフィックプレーン内において描画可能な矩形領域の横幅をvideo_width,縦幅をvideo_heightとし、グラフィックプレーンへの書込レートを128Mbpsとすると、グラフィックプレーンのクリアに要する時間は、8×video_width×video_height//128,000,000と表現される。これを90KHzの時間精度で表現すれば、グラフィックプレーンのクリア時間(2)は90,000×(8×video_width×video_height//128,000,000)になる。
【００８０】
ICSに含まれる全ボタン情報により、指定されるグラフィックスオブジェクトの総サイズをΣSIZE(DSn[ICS.BUTTON[i]])とし、グラフィックプレーンへの書込レートを128Mbpsとすると、グラフィックプレーンへの書き込みに要する時間は、ΣSIZE(DSn[ICS.BUTTON[i]])//128,000,000と表現される。これを90KHzの時間精度で表現すれば、グラフィックプレーンのクリア時間(2)は90,000×(ΣSIZE(DSn[ICS.BUTTON[i]])//128,000,000)になる。      
【００８１】
ここでΣSIZE(DSn[ICS.BUTTON[i]])は、各ボタンを表すグラフィクスオブジェクトのうち、最初に表示されるもののサイズの総和を意味する。このΣSIZE(DSn[ICS.BUTTON[i]])はデフォルトセレクテッドボタンが確定している場合と、動的に変わる場合とで、違う値になる。デフォルトセレクテッドボタンが静的に確定している場合、ΣSIZE(DSn[ICS.BUTTON[i]])は、デフォルトセレクテッドボタンのセレクテッド状態を表す複数ODSのうち最初に表示されるもの、デフォルトセレクテッドボタン以外のボタンのノーマル状態を表す複数ODSのうち、最初に表示されるものの総和になる。
【００８２】
続いてデフォルトセレクテッドボタンが動的に変わる場合、どのボタンがデフォルトセレクテッドボタンになるかはわからないから、書き込み時間が最も長くなるケースを想定しせねばならない。ここで、任意のボタンxのノーマル状態における最初の一枚を表すグラフィクスオブジェクト(ODSn1)、及び、ボタンxのセレクテッド状態における最初の一枚を表すグラフィクスオブジェクト(ODSs1)のうち、サイズが大きいもの(Max(ODSn1,ODSs1))を、1つのボタンxにおいて最初に表示すべきグラフィクスオブジェクトと考える。
【００８３】
このMax(ODSn1,ODSs1)を、全てのボタンについて足し合わせた結果が、ΣSIZE(DSn[ICS.BUTTON[i]])になる。
図２３（ａ）（ｂ）は、N-ODSsにボタンA〜Dを構成する複数ODSが含まれており、S-ODSsにボタンA〜Dを構成する複数ODSが含まれている場合、ΣSIZE(DSn[ICS.BUTTON[i]])がどのような値になるかを示す図である。ここでdefault_selected_button_numberが有効な値を示している場合、ΣSIZE(DSn[ICS.BUTTON[i]])は太い枠で示す4つのODSのサイズの総和となる。”As1”は、ボタンAのセレクテッド状態を表す複数のODSのうち最初に表示されるODSである。”Bn1”,”Cn1”,”Dn1”は、ボタンB〜ボタンDのノーマル状態を表す複数のODSのうち最初に表示されるODSを示す。これらのサイズをsize()で表すと、ΣSIZE(DSn[ICS.BUTTON[i]]) は、size(As1)+size(Bn1)+size(Cn1)+size(Dn1)になる。
【００８４】
一方、default_selected_button_numberが”=0”であるなら、An1,As1のうち大きいODS、Bn1,Bs1のうち大きいODS、Cn1,Cs1のうち大きいODS、Dn1,Ds1のうち大きいODSの和がΣSIZE(DSn[ICS.BUTTON[i]])になる。
故にΣSIZE(DSn[ICS.BUTTON[i]])は、
ΣSIZE(DSn[ICS.BUTTON[i]])
= max(size(An1),size(As1))+max(size(Bn1),size(Bs1))
+max(size(Cn1),size(Cs1))+max(size(Dn1),size(Ds1))
になる。
以上の数式を用いることにより、Epoch Start開始直後のPTS(DSn[ICS])は、以下の数式のように表現される。
PTS(DSn[ICS])≧PTS(DSn[S-ODSsfirst])
+90,000×(8×video_width×video_height//128,000,000)
+90,000×(ΣSIZE(DSn[ICS.BUTTON[i]])//128,000,000)
一方、default_selected_button_numberが無効である場合、PTS(DSn[S-ODSsfirst])をPTS(DSn[S-ODSslast])に置き換えればよい。つまり算出式は、以下の通りになる。
PTS(DSn[ICS])≧PTS(DSn[S-ODSslast])
+90,000×(8×video_width×video_height//128,000,000)
+90,000×(ΣSIZE(DSn[ICS.BUTTON[i]])//128,000,000)
以上のようにしてPTS、DTSを設定することにより、同期表示を実現する場合の一例を図２４に示す。本図において動画における任意のピクチャデータpy1の表示タイミングで、ボタンを表示させる場合を想定する。この場合、ICSのPTS値は、このピクチャデータの表示時点になるよう設定せねばならない。
【００８５】
そしてICSのPTSから、画面のクリア期間cd1、グラフィクスオブジェクトの転送期間td1を差し引いた時刻に、DSnの初期表示を構成するODSのうち、デコード時刻が最も遅いODSのデコードが完了せねばならないから、図中の時点(1)に、ODSのPTS値が設定しなければならない。更に、ODSのデコードには期間dd1を要するから、このPTSより期間dd1だけ早い時点に、このODSのDTS値を設定せねばならない。
【００８６】
図２４において、動画と合成されるODSは1つだけであり、単純化されたケースを想定している。動画と合成されるべき対話画面の初期表示が、複数のODSで実現される場合、ICSのPTS及びDTS、ODSのPTS、DTSは図２５のように設定せねばならない。
図２５は、対話画面の初期表示が複数ODSにて構成され、デフォルトセレクテッドボタンが静的に確定している場合のDTS、PTSの設定を示す図である。初期表示を実現するODSのうち、デコードが最も遅いS-ODSsfirstのデコードが図中の期間dd1の経過時に終了するなら、このS-ODSsfirstのPTS(DSn[S-ODSsfirst])は、期間dd1の経過時を示すよう設定される。
【００８７】
更に、初期表示の実現には、画面クリアを行い、デコードされたグラフィクスオブジェクトを転送せねばならないから、このPTS(DSn[S-ODSsfirst])の値に画面クリアに要する期間(90,000×(8×video_width×video_height//128,000,000))、デコードされたグラフィクスオブジェクトの転送期間(90,000×(ΣSIZE(DSn[ICS.BUTTON[i]])//128,000,000))を足した時点以降を、ICSのPTS(DSn[ICS])として設定せねばならない。
【００８８】
図２６は、対話画面の初期表示が複数ODSにて構成され、デフォルトセレクテッドボタンが未定である場合のDTS、PTSの設定を示す図である。初期表示を実現するS-ODSsのうち、デコードが最も遅いS-ODSslastのデコードが図中の期間dd2の経過時に終了するなら、このS-ODSslastのPTS(DSn[S-ODSslast])は、期間dd2の経過時を示すように設定される。
更に、初期表示の実現には、画面クリアを行い、デコードされたグラフィクスオブジェクトを転送せねばならないから、このPTS(DSn[S-ODSslast])の値に画面クリアに要する期間(90,000×(8×video_width×video_height//128,000,000))、デコードされたグラフィクスオブジェクトの転送期間(90,000×(ΣSIZE(DSn[ICS.BUTTON[i]])//128,000,000))を足した時点以降を、ICSのPTS(DSn[ICS])として設定せねばならない。以上がICSによる同期制御である。
【００８９】
DVDにおいて、対話制御が有効になる期間は、そのビデオストリームのGOPにあたるVOBUの期間であったが、BD-ROMでは、Epochに含まれるICSのPTS、DTSによりこの有効期間を任意に設定し得る。このためBD-ROMにおける対話制御は、GOPとの依存性をもたない。
尚、ICSのPTSによる同期制御は、再生時間軸上のあるタイミングでボタンを表示するという制御のみならず、再生時間軸上のある期間でPopupメニューの表示を可能とする制御を含む。Popupメニューとは、リモコン４００に設けられたメニューキーの押下でPopup表示されるメニューであり、このPopup表示が、AVClipにおけるあるピクチャデータの表示タイミングで可能になることも、ICSのPTSによる同期制御である。Popupメニューを構成するODSは、ボタンを構成するODSと同様、ODSのデコードが完了し、デコードにより得られたグラフィックスオブジェクトがグラフィックプレーンに書き込まれる。このグラフィックプレーンへの書き込みが完了していなければ、ユーザからのメニューコールに応ずることはできない。そこでPopupメニューの同期表示にあたって、ICSのPTSに、Popup表示が可能になる時刻を示しておくのである。
【００９０】
以上説明したDisplay Set(ICS、PDS、ODS)のデータ構造は、プログラミング言語で記述されたクラス構造体のインスタンスであり、オーサリングを行う制作者は、このクラス構造体を記述することにより、BD-ROM上のこれらのデータ構造を得ることができる。
以上が本発明に係る記録媒体の実施形態である。続いて本発明に係る再生装置の実施形態について説明する。図２７は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置、マイコンシステムという3つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、BDドライブ１、トラックバッファ２、PIDフィルタ３、Transport Buffer４a,b,c、周辺回路４d、ビデオデコーダ５、ビデオプレーン６、オーディオデコーダ７、グラフィクスプレーン８、CLUT部９、加算器１０、グラフィクスデコーダ１２、Coded Dataバッファ１３、周辺回路１３a、Stream Graphicsプロセッサ１４、Object Buffer１５、Compositionバッファ１６、Graphicsコントローラ１７、UOコントローラ１８、プレーヤレジスタ群１９、制御部２０から構成される。
【００９１】
BD-ROMドライブ１は、BD-ROMのローディング／リード／イジェクトを行い、BD-ROMに対するアクセスを実行する。
トラックバッファ２は、FIFOメモリであり、BD-ROMから読み出されたTSパケットが先入れ先出し式に格納される。
PIDフィルタ３は、トラックバッファ２から出力される複数TSパケットに対してフィルタリングを施す。PIDフィルタ３によるフィルタリングは、TSパケットのうち、所望のPIDをもつもののみをTransport Buffer４a,b,cに書き込むことでなされる。PIDフィルタ３によるフィルタリングでは、バッファリングは必要ではない。従って、PIDフィルタ３に入力されたTSパケットは、時間遅延なく、Transport Buffer４a,b,cに書き込まれる。
【００９２】
Transport Buffer４a,b,cは、PIDフィルタ３から出力されたTSパケットを先入れ先出し式に格納しておくメモリである。
周辺回路４dは、Transport Buffer４aから読み出されたTSパケットを、機能セグメントに変換する処理を行うワイアロジックである。変換により得られた機能セグメントはCoded Dataバッファ１３に格納される。
ビデオデコーダ５は、PIDフィルタ３から出力された複数TSパケットを復号して非圧縮形式のピクチャを得てビデオプレーン６に書き込む。
【００９３】
ビデオプレーン６は、動画用のプレーンである。
オーディオデコーダ７は、PIDフィルタ３から出力されたTSパケットを復号して、非圧縮形式のオーディオデータを出力する。
グラフィクスプレーン８は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
【００９４】
CLUT部９は、グラフィクスプレーン８に格納された非圧縮グラフィクスにおけるインデックスカラーを、PDSに示されるY,Cr,Cb値に基づき変換する。
加算器１０は、CLUT部９により色変換された非圧縮グラフィクスに、PDSに示されるT値(透過率)を乗じて、ビデオプレーン６に格納された非圧縮状態のピクチャデータと画素毎に加算し、合成画像を得て出力する。
【００９５】
グラフィクスデコーダ１２は、グラフィクスストリームをデコードして、非圧縮グラフィクスを得て、これをグラフィクスオブジェクトとしてグラフィクスプレーン８に書き込む。グラフィクスストリームのデコードにより、字幕やメニューが画面上に現れることになる。このグラフィクスデコーダ１２は、Coded Dataバッファ１３、周辺回路１３a、Stream Graphicsプロセッサ１４、Object Buffer１５、Compositionバッファ１６、Graphicsコントローラ１７から構成される。
【００９６】
Code Data Buffer１３は、機能セグメントがDTS、PTSと共に格納されるバッファである。かかる機能セグメントは、Transport Buffer４aに格納されたトランスポートストリームの各TSパケットから、TSパケットヘッダ、PESパケットヘッダを取り除き、ペイロードをシーケンシャルに配列することにより得られたものである。取り除かれたTSパケットヘッダ、PESパケットヘッダのうち、PTS／DTSは、PESパケットと対応付けて格納される。
【００９７】
周辺回路１３aは、Coded Dataバッファ１３−Stream Graphicsプロセッサ１４間の転送、Coded Dataバッファ１３−Compositionバッファ１６間の転送を実現するワイヤロジックである。この転送処理において現在時点がODSのDTSに示される時刻になれば、ODSを、Coded Dataバッファ１３からStream Graphicsプロセッサ１４に転送する。また現在時刻がICS、PDSのDTSに示される時刻になれば、ICS、PDSをCompositionバッファ１６に転送するという処理を行う。
【００９８】
Stream Graphics Processor１４は、ODSをデコードして、デコードにより得られたインデックスカラーからなる非圧縮状態の非圧縮グラフィクスをグラフィクスオブジェクトとしてObject Buffer１５に書き込む。このStream Graphicsプロセッサ１４によるデコードは、ODSに関連付けられたDTSの時刻に開始し、ODSに関連付けられたPTSに示されるデコード終了時刻までに終了する。上述したグラフィックスオブジェクトのデコードレートRdは、このStream Graphicsプロセッサ１４の出力レートである。
【００９９】
Object Buffer１５には、Stream Graphicsプロセッサ１４のデコードにより得られたグラフィクスオブジェクトが配置される。図２８は、Object Buffer１５の格納内容をグラフィクスプレーン８と対比して示す図である。この格納内容は、図１６、図１７に示した具体例のODSが、Object Buffer１５に書き込まれる場合を想定している。図１６、図１７の具体例は、4つのボタンのアニメーションを、36個のODS(ODS11〜49)により実現するものであったが、このアニメーションの全てのコマを表すODSが、このObject Buffer１５に格納される。一方グラフィクスプレーン８には、このObject Buffer１５に格納された個々のODSの表示位置が規定されれる。この表示位置は、各ボタン情報のButton_horizontal_position、Button_vertical_positionにより定義されるものであり、Object Buffer１５に格納されている複数ODSのそれぞれを、1コマずつ転送してグラフィクスプレーン８の表示位置に書き込んでゆくことにより、アニメーションは実現される。
Compositionバッファ１６は、ICS、PDSが配置されるメモリである。
【０１００】
Graphicsコントローラ１７は、Compositionバッファ１６に配置されたICSを解読して、ICSに基づく制御をする。この制御の実行タイミングは、ICSに付加されたPTSの値に基づく。このGraphicsコントローラ１７のうち、重要なものは対話画面の初期表示時、更新時における書込処理である。以降、Graphicsコントローラ１７による対話画面の初期表示時、更新時における書込処理を、図２９を参照しながら説明する。図２９は、初期表示時におけるGraphicsコントローラ１７の処理を示す図である。本図に示すように、ボタンAにおけるボタン情報のButton_horizontal_position、Button_vertical_positionに規定される表示位置に、ボタンAのS-ODSsに属するODSを書き込み、ボタンB,C,Dにおけるボタン情報のButton_horizontal_position、Button_vertical_positionに規定される表示位置に、ボタンB,C,DのN-ODSsに属するODSを書き込むようGraphicsコントローラ１７は制御を行う(図中の矢印w1,w2,w3,w4は、この書き込みを象徴的に示す)。この書き込みにより、図２０に示した初期表示を作成することができる。ここで注目すべきは、対話画面の初期表示にあたっては、全てのODSが必要ではなく、デフォルトセレクテッドボタンのS-ODSsに属するODS、それ以外のボタンのN-ODSsに属するODSさえObject Buffer１５に存在すれば、対話画面の初期表示は完了する点である。このことから、Object Buffer１５に格納されるべき複数ODSのうち、デフォルトセレクテッドボタンのS-ODSsに属するODS、それ以外のボタンのN-ODSsに属するODSのデコードさえ完了すれば、Graphicsコントローラ１７は対話画面の初期表示のための書き込みを開始することができる。
【０１０１】
図３０は、1stUserAction(MoveRight)による対話画面更新時におけるGraphicsコントローラ１７の処理を示す図である。本図に示すように、ボタンBのボタン情報におけるボタン情報のButton_horizontal_position、Button_vertical_positionに規定される表示位置に、ボタンBのS-ODSsに属するODSを書き込み、ボタンAのボタン情報におけるボタン情報のButton_horizontal_position、Button_vertical_positionに規定される表示位置に、ボタンAのN-ODSsに属するODSを書き込むようGraphicsコントローラ１７は制御を行う(図中の矢印w5,w6,w7,w8は、この書き込みを象徴的に示す)。この書き込みにより、図２０に示したような状態遷移を実現することができる。ボタンC,Dは対話画面の初期表示時と同じくノーマル状態のままであるが、アニメーションを継続するため、グラフィクスプレーン８への書き込みが継続してなされている。
【０１０２】
同じく、1stUserActionが、MoveDown,Activatedである場合の、対話画面更新時におけるGraphicsコントローラ１７の処理を図３１、図３２に示す。対話画面更新にあたっては、デフォルトセレクテッドボタン以外のボタンについてのS-ODSsや、A-ODSsも必要になり、全てのODSがObject Buffer１５に格納されていることが望まれる。以上がGraphicsコントローラ１７の処理内容である。
【０１０３】
UOコントローラ１８は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報(以降UO(User Operation)という)を制御部２０に出力する。
プレーヤレジスタ群１９は、制御部２０に内蔵されるレジスタであり、32個のPlayer Status Registerと、32個のGeneral Purppose Registerとからなる。Player Status Registerの設定値(PSR)がどのような意味をもつかは、以下に示す通りである。以下のPSR(x)という表記は、x番目のPlayer Status Registerの設定値を意味する。
PSR(0)      ：  Reserved
PSR(1)      ：  デコード対象たるオーディオストリーム
のストリーム番号
PSR(2)      ：  デコード対象たる副映像ストリームのストリーム番号
PSR(3)      ：  ユーザによるアングル設定を示す番号
PSR(4)      ：  現在再生対象とされているタイトルの番号
PSR(5)      ：  現在再生対象とされているChapterの番号
PSR(6)      ：  現在再生対象とされているPLの番号
PSR(7)      ：  現在再生対象とされているPlayItemの番号
PSR(8)      ：  現在の再生時点を示す時刻情報
PSR(9)      ：  ナビゲーションタイマのカウント値
PSR(10)      ：  現在セレクテッド状態にあるボタンの番号
PSR(11)〜(12)：  Reserved
PSR(13)      ：  ユーザによるパレンタルレベルの設定
PSR(14)      ：  再生装置の映像再生に関する設定
PSR(15)      ：  再生装置の音声再生に関する設定
PSR(16)      ：  再生装置における音声設定を示す言語コード
PSR(17)      ：  再生装置における字幕設定を示す言語コード
PSR(18)      ：  メニュー描画のための言語設定
PSR(19)〜(63)：  Reserved
PSR(8)は、AVClipに属する各ピクチャデータが表示される度に更新される。つまり再生装置が新たなピクチャデータを表示させれば、その新たなピクチャデータの表示開始時刻(Presentation Time)を示す値にPSR(8)は更新される。このPSR(8)を参照すれば、現在の再生時点を知得することができる。
【０１０４】
制御部２０は、グラフィクスデコーダ１２との双方向のやりとりを通じて、統合制御を行う。制御部２０からグラフィクスデコーダ１２へのやりとりとは、UOコントローラ１８が受け付けたUOを、グラフィクスデコーダ１２に出力することである。グラフィクスデコーダ１２から制御部２０へのやりとりとは、ICSに含まれるボタンコマンドを制御部２０に出力することである。
【０１０５】
以上のように構成された再生装置において、各構成要素はパイプライン式にデコード処理を行う。
図３３は、再生装置によるパイプライン処理を示すタイミングチャートである。第４段目は、BD-ROMにおけるDisplay Setを示し、第３段目は、Coded Dataバッファ１３へのICS、PDS、ODSの読出期間を示す。第２段目は、Stream Graphicsプロセッサ１４による各ODSのデコード期間を示す。第１段目は、Graphicsコントローラ１７による処理期間を示す。各ODSのデコード開始時刻は、図中のDTS11,DTS12,DTS13に示されている。Coded Dataバッファ１３へのN-ODSsに属する最初のODS(N-ODSs[ODS1])の格納はDTS11までに完了し、Coded Dataバッファ１３へのN-ODSsに属する最後のODS(N-ODSs[ODSn])の格納は、DTS12に示される時刻までに完了する。このように各ODSは、自身のDTSに示される時刻までにCoded Dataバッファ１３への読み出しが完了している。
【０１０６】
一方、各ODSのデコード終了時刻は、図中のPTS11,PTS12,PTS13に示されている。Stream Graphicsプロセッサ１４によるN-ODSs(ODS1)のデコードはPTS11までに完了し、N-ODSs(ODSn)のデコードは、PTS12に示される時刻までに完了する。以上のように、各ODSのDTSに示される時刻までに、ODSをCoded Dataバッファ１３に読み出し、Coded Dataバッファ１３に読み出されたODSを、各ODSのPTSに示される時刻までに、デコードしてObject Buffer１５に書き込む。これらの処理を、1つのStream Graphicsプロセッサ１４は、パイプライン式に行う。
【０１０７】
デフォルトセレクテッドボタンが静的に確定している場合、対話画面の初期表示に必要なグラフィクスオブジェクトがObject Buffer１５上で全て揃うのは、ノーマル状態に対応するbutton-stateグループ、セレクテッド状態に対応するbutton-stateグループの先頭ODSのデコードが完了した時点である。本図でいえば、PTS13に示される時点で、対話画面の初期表示に必要なグラフィクスオブジェクトは全て揃う。
【０１０８】
本図の第１段目における期間cd1は、Graphicsコントローラ１７がグラフィクスプレーン８をクリアするのに要する期間である。また期間td1は、Object Buffer１５上にえられたグラフィクスオブジェクトのうち、対話画面の最初の一枚を構成するグラフィクスオブジェクトを、グラフィクスプレーン８に書き込むのに要する期間である。グラフィクスプレーン８における書込先は、ICSにおけるbutton_horizontal_position,button_vertical_positionに示されている場所である。つまりODSのPTS13の値に、画面クリアの期間cd1と、デコードにより得られたグラフィクスオブジェクトの書込期間td1とを足し合わせれば、対話画面を構成する非圧縮グラフィクスがグラフィクスプレーン８上に得られることになる。この非圧縮グラフィクスの色変換をCLUT部９に行わせ、ビデオプレーン６に格納されている非圧縮ピクチャとの合成を加算器１０に行わせれば、合成画像が得られることになる。
【０１０９】
Display Setに含まれる全てのODSをデコードした上で初期表示を行う場合と比較すると、セレクテッド状態に対応するbutton-stateグループ、アクティブ状態に対応するbutton-stateグループのデコード完了を待つことなく、初期表示は可能になるので、図中の期間hy1だけ、初期表示の実行は早められることになる。
尚、本図におけるODS1〜ODSnという表記は、「1」,「n」というような同じ番号が付されているが、これらN-ODSs,S-ODSs,A-ODSsに属するODSは別々のものである。以降、同様の表記の図は同じ意味であるとする。
【０１１０】
グラフィクスデコーダ１２において、Graphicsコントローラ１７がグラフィクスプレーン８のクリアやグラフィクスプレーン８への書き込みを実行している間においても、Stream Graphicsプロセッサ１４のデコードは継続して行われる(第２段目のODSnのデコード期間,ODS1のデコード期間,ODSnのデコード期間n,)。Graphicsコントローラ１７によるグラフィクスプレーン８のクリアやグラフィクスプレーン８への書き込みが行われている間に、残りのODSに対するデコードは、継続してなされるので、残りのODSのデコードは早く完了する。残りのODSのデコードが早く完了することにより対話画面を更新するための準備は早く整うので、これら残りのODSを用いた対話画面更新も、ユーザ操作に即応することができる。以上のようなパイプライン処理により、対話画面の初期表示、更新の双方を迅速に実施することができる。
【０１１１】
図３３ではデフォルトセレクテッドボタンが静的に確定している場合を想定したが、図３４は、デフォルトセレクテッドボタンが動的に変わる場合の、再生装置によるパイプライン処理を示すタイミングチャートである。デフォルトセレクテッドボタンが動的に変わる場合、button-stateグループに属する全てのODSをデコードして、グラフィクスオブジェクトをグラフィクスプレーン８に得れば、初期表示に必要なグラフィクスオブジェクトは全て揃う。Display Setに含まれる全てのODSをデコードした上で初期表示を行う場合と比較すると、アクティブ状態に対応するbutton-stateグループのデコード完了を待つことなく、初期表示は可能になる。そのため図中の期間hy2だけ、初期表示の実行は早められることになる。
【０１１２】
以上が再生装置の内部構成である。続いて制御部２０及びグラフィクスデコーダ１２を、どのようにして実装するかについて説明する。制御部２０は、図３５、図３６の処理手順を行うプログラムを作成し、汎用ＣＰＵに実行させることにより実装可能である。以降、図３５、図３６を参照しながら、制御部２０の処理手順について説明する。
図３５は、制御部２０によるLinkPL関数の実行手順を示すフローチャートである。LinkPL関数を含むコマンドの解読時において、制御部２０は本図のフローチャートに従って、処理を行う。
【０１１３】
本フローチャートにおいて処理対象たるPlayItemをPIy、処理対象たるACCESS UNITをACCESS UNITvとする。本フローチャートは、LinkPLの引数で指定されたカレントPL情報(.mpls)の読み込みを行い(ステップＳ１)、カレントPL情報の先頭のPI情報をPIyにする(ステップＳ２)。そして PIyのClip_information_file_nameで指定されるClip情報を読み込む(ステップＳ３)。
【０１１４】
Clip情報を読み込めば、カレントClip情報のEP_mapを用いてPIyのIN_timeを、アドレスに変換する(ステップＳ４)。そして変換アドレスにより特定されるACCESS UNITを ACCESS UNITvにする(ステップＳ５)。一方、PIyのOut_timeを,カレントClip情報のEP_mapを用いてアドレスに変換する(ステップＳ６)。そして、その変換アドレスにより特定されるACCESS UNITをACCESS UNITwにする(ステップＳ７)。
【０１１５】
こうしてACCESS UNITv,wが決まれば、ACCESS UNITvからACCESS UNITwまでの読み出しをBDドライブに命じ(ステップＳ８)、PIyのIN_timeからOut_timeまでのデコード出力をビデオデコーダ５、オーディオデコーダ７、グラフィクスデコーダ１２に命じる(ステップＳ９)。
ステップＳ１１は、本フローチャートの終了判定であり、PIyが最後のPIになったかを判定している。もしステップＳ１１がYesなら本フローチャートを終了し、そうでないなら、PIyを次のPlayItemに設定して(ステップＳ１２)、ステップＳ３に戻る。以降、ステップＳ１１がYesと判定されるまで、ステップＳ１〜ステップＳ１０の処理は繰り返される。
【０１１６】
ステップＳ１０は、ACCESS UNITの読み出しにともなって機能セグメントをCoded Dataバッファ１３にロードするステップである。
図３６は、機能セグメントのロード処理の処理手順を示すフローチャートである。本フローチャートにおいてSegmentKとは、ACCESS UNITと共に読み出されたSegment(ICS,ODS,PDS)のそれぞれを意味する変数であり、無視フラグは、このSegmentKを無視するかロードするかを切り換えるフラグである。本フローチャートは、無視フラグを0に初期化した上で、ステップＳ２１〜Ｓ２４、ステップＳ２７〜Ｓ３５の処理を全てのSegmentKについて繰り返すループ構造を有している(ステップＳ２５、ステップＳ２６)。
【０１１７】
ステップＳ２１は、SegmentKがICSであるか否かの判定であり、もしSegmentKがICSであれば、ステップＳ２７、ステップＳ２８の判定を行う。
ステップＳ２７は、ICSにおけるSegment_TypeがAcquisition Pointであるか否かの判定である。SegmentKがAcquisition Pointであるなら、ステップＳ２８に移行し、SegmentKがもしEpoch StartかNormal Caseであるなら、ステップＳ３３に移行する。
【０１１８】
ステップＳ２８は、先行するDSがグラフィクスデコーダ１２内のどれかのバッファ(Coded Dataバッファ１３、Stream Graphicsプロセッサ１４、Object Buffer１５、Compositionバッファ１６)に存在するかどうかの判定であり、ステップＳ２７がYesである場合に実行される。グラフィクスデコーダ１２内にDSが存在しないケースとは、頭出しがなされたケースをいう。この場合、Acquisition PointたるDSから、表示を開始せねばならないので、ステップＳ３０に移行する(ステップＳ２８でNo)。
【０１１９】
グラフィクスデコーダ１２に先行するDSが存在する場合は(ステップＳ２８でYes)、無視フラグを1に設定して(ステップＳ２９)、ステップＳ３１に移行する。
ステップＳ３１は、command_update_flagが1であるか否かの判定である。もし1であるなら(ステップＳ３１でYes)、ボタン情報のボタンコマンドのみをCoded Dataバッファ１３にロードし、それ以外を無視する(ステップＳ３２)。もし0であるなら、ステップＳ２２に移行する。これによりAcquisition Pointを示すICSは無視されることになる(ステップＳ２４)。
【０１２０】
無視フラグが1に設定されていれば、Acquisition PointたるDSに属する機能セグメントは全て、ステップＳ２２がNoになって、無視されることになる。
ステップＳ３３は、ICSにおけるSegment_TypeがNormal Caseであるか否かの判定である。SegmentKがEpoch Startであるなら、ステップＳ３０において無視フラグを0に設定する。
【０１２１】
無視フラグが0であれば(ステップＳ２２でYes)、SegmentKをCoded Dataバッファ１３にロードし(ステップＳ２３)、
SegmentKがもしNormal Caseであるなら、ステップＳ３４に移行する。ステップＳ３４は、ステップＳ２８と同じであり、先行するDSがグラフィクスデコーダ１２内に存在するかどうかの判定を行う。もし存在するなら、無視フラグを0に設定する(ステップＳ３０)。存在しないなら、元々、対話画面を構成する充分な機能セグメントが得られないため、無視フラグを1に設定する(ステップＳ３５)。かかるフラグ設定により、先行するDSがグラフィクスデコーダ１２に存在しない場合、Normal Caseを構成する機能セグメントは無視されることになる。
【０１２２】
DSが、図３７のように多重化されている場合を想定して、DSの読み出しがどのように行われるかを説明する。図３７の一例では、3つのDSが動画と多重化されている。この3つのDSのうち、初めのDS1は、Segment_TypeがEpoch_Startであり、Command_update_flagが0に設定され、LinkPL(PL#5)というボタンコマンドを含む。
DS10は、DS1のduplicateであり、Segment_TypeはAcquision Point、Command_update_flagが0に設定され、LinkPL(PL#5)というボタンコマンドを含む。
【０１２３】
DS20は、DS1のInheritであり、Segment_TypeはAcquision Pointになっている。DS1から変化があるのはボタンコマンドであり(LinkPL(PL#10))、これを示すべくCommand_update_flagが1に設定されている。
かかる3つのDSが、動画と多重化されているAVClipにおいて、ピクチャデータpt10からの頭出しが行われたものとする。この場合、頭出し位置に最も近いDS10が、図３６のフローチャートの対象となる。ステップＳ２７においてsegment_typeはAcquisition Pointと判定されるが、先行するDSはグラフィクスデコーダ１２内に存在しないため、無視フラグは0に設定され、このDS10が図３８に示すように再生装置のCoded Dataバッファ１３にロードされる。一方、頭出し位置がDisplay Setの存在位置より後である場合は(図３７の破線hst1)、Display Set10に後続するDisplay Set20(図３８のhst2)がCoded Dataバッファ１３に読み出される。
【０１２４】
図３９のように通常再生が行われた場合のDS1,10,20のロードは、図４０に示すものとなる。3つのDSのうち、ICSのSegment_TypeがEpoch StartであるDS1は、そのままCoded Dataバッファ１３にロードされるが(ステップＳ２３)、ICSのSegment_TypeがAcquisition PointであるDS10については、無視フラグが1に設定されるため(ステップＳ２９)、これを構成する機能セグメントはCoded Dataバッファ１３にロードされず無視される(ステップＳ２４)。またDS20については、ICSのSegment_TypeはAcquisition Pointであるが、Command_update_flagが1に設定されているので、ステップＳ３１がYesになり、ボタンコマンドのみがロードされて、Coded Dataバッファ１３上のDSのうち、ICS内のボタンコマンドのみをこれに置き換えられる(ステップＳ３２)。しかし無視フラグは依然として1を示しているので、このボタンコマンド以外は、ロードされることなく無視される。
【０１２５】
DSによる表示内容は同じであるが、DS20への到達時には、ボタンコマンドは、DSのLinkPL(#5)からLinkPL(#10)に置き換えられている。かかる置き換えにより、再生進行に伴い、ボタンコマンドの内容が変化するという制御が可能になる。  続いてGraphicsコントローラ１７の処理手順について説明する。図４１はGraphicsコントローラ１７の処理手順のうち、メインルーチンにあたる処理を描いたフローチャートである。本フローチャートは、タイムスタンプ同期処理(ステップＳ３５)、アニメーション表示処理(ステップＳ３６)、UO処理(ステップＳ３７)という3つの処理を繰り返し実行するというものである。
【０１２６】
続いてGraphicsコントローラ１７の処理手順について説明する。図４１はGraphicsコントローラ１７の処理手順のうち、メインルーチンにあたる処理を描いたフローチャートである。本フローチャートは、同期処理(ステップＳ３５)、アニメーション表示処理(ステップＳ３６)、UO処理(ステップＳ３７)という3つの処理を繰り返し実行するというものである。
【０１２７】
図４２は、タイムスタンプによる同期制御の処理手順を示すフローチャートである。本フローチャートは、ステップＳ４１、Ｓ４３〜ステップＳ４７の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンするというサブルーチンを構成する。
ステップＳ４１は、現在の再生時点がS-ODSsfirstのPTSに示される時刻であるか、S-ODSslastのPTSに示される時刻であるかの判定であり、もしそうであるなら、ステップＳ４２において期間αを算出する。期間αとは、グラフィクスプレーンのクリアに要する時間(2)、ODSのデコードにより得られたグラフィクスオブジェクトをグラフィクスプレーンに書き込む書込時間(3)を足し合わせた期間である。
【０１２８】
ステップＳ４２においてGraphicalコントローラ１７は、ICSのSegment_Typeを参照し、もしSegment_TypeがEpoch Startなら、プレーンクリア期間(2)＋プレーン書込期間(3)をαとする。Acquisition Pointならプレーン書込期間(3)をαとする。またプレーン書込期間(3)の算出にあたっては、default_selected_button_numberが有効な値であれば図２３（ａ）の計算で、default_selected_button_numberが=0であれば図２３（ｂ）の計算で算出する。こうして期間αを算出した後、ループ処理にリターンする。
【０１２９】
ステップＳ４３は、現在の再生時点がICSのPTS-αに示される時刻であるかの判定であり、もしそうであれば、グラフィクスプレーン８への書き込み処理を行って(ステップＳ５１)、メインルーチンにリターンする。
ステップＳ４５は、現在の再生時点がICSのPTSであるかの判定である。もしそうであれば、グラフィクスプレーン８の格納内容の出力を開始させる。この格納内容の出力先は、CLUT部９であり、CLUT部９により色変換がなされた上で、対話画面はビデオプレーン６の格納内容と合成される。これにより初期表示が実行される(ステップＳ５２)。そして変数animation(p)(p=1,2,3・・・n)を0を設定して(ステップＳ５３)、メインルーチンにリターンする。ここで変数animation(p)とは、ボタン(p)のアニメーション表示を実行するにあたって、今何コマ目を表示しているかを示すグローバル変数(複数フローチャートにわたって有効になる変数)である。ステップＳ５３では、全てのボタンについてのボタン(p)が、0に設定されることになる。
【０１３０】
ステップＳ４６、ステップＳ４７は、ICSに記述された時間情報に現在の再生時点が到達したかどうかの判定である。
ステップＳ４６は、現在の再生時点がselection_TimeOut_PTSに示される時刻であるかの判定であり、もしそうであれば、defaut_activated_button_numberで指定されるボタンをアクティベートする処理を行い、メインルーチンにリターンする(ステップＳ５４)。
【０１３１】
ステップＳ４７は、現在の再生時点がComposition_TimeOut_PTSであるかの判定であり、もしそうであれば、画面クリアを行ってメインルーチンにリターンする(ステップＳ５５)。以上がタイムスタンプによる同期処理である。この同期処理において、ステップＳ５１、ステップＳ５４の処理手順は、サブルーチン化されている。ステップＳ５１のサブルーチンの処理手順を、図４３を参照しながら説明する。
【０１３２】
図４３は、メニューの初期表示をグラフィクスプレーン８へ書き込む処理の処理手順を示すフローチャートである。ステップＳ６４は、ICSにおけるSegment_typeがEpoch Startであるか否かの判定であり、もしEpoch StartであればステップＳ６５においてグラフィクスプレーン８をクリアしてから、ステップＳ６６〜ステップＳ７３の処理を行う。グラフィクスプレーン８のクリアに要する期間が、図２５、図２６の期間cd1である。もしEpoch StartでなければステップＳ６５をスキップしてステップＳ６６〜ステップＳ７３の処理を行う。
【０１３３】
ステップＳ６６〜ステップＳ７３は、ICSにおける各ボタン情報について繰り返されるループ処理を形成している(ステップＳ６６、ステップＳ６７)。本ループ処理において処理対象になるべきボタン情報をボタン情報(p)という。
ステップＳ６７は、default_selected_button_numberによる指定が有効であるか否かの判定であり、ステップＳ６８は、button_info(p)はdefault_selected_button_numberにより指定されたデフォルトセレクテッドボタンに対応するボタン情報であるかの判定である。
【０１３４】
デフォルトセレクテッドボタンに対応するボタン情報でないなら、button_info(p)のnormal_state_infoに指定されているstart_object_id_normalのグラフィクスオブジェクトを、グラフィクスオブジェクト(p)としてObject Buffer15から特定する(ステップＳ６９)。
デフォルトセレクテッドボタンに対応するボタン情報であるなら、button_info(p)のselected_state_infoに指定されているstart_object_id_selectedのグラフィクスオブジェクトを、グラフィクスオブジェクト(p)としてObject Buffer15から特定して(ステップＳ７０)、ボタン(p)をカレントボタンにする(ステップＳ７１)。カレントボタンとは、現在表示中の対話画面において、セレクテッド状態になっているボタンであり、再生装置はこのカレントボタンの識別子を、PSR(10)として格納している。
【０１３５】
ステップＳ６９、ステップＳ７０を経ることでグラフィクスオブジェクト(p)が特定されれば、button_info(p)のbutton_horizontal_position,button_vertical_positionに示されるグラフィクスプレーン８上の位置に、グラフィクスオブジェクト(p)を書き込む(ステップＳ７２)。かかる処理をICSにおける各ボタン情報について繰り返せば、各ボタンの状態を表す複数グラフィクスオブジェクトのうち、最初のグラフィクスオブジェクトがグラフィクスプレーン８上に書き込まれることになる。Object Buffer１５上の少なくとも初期表示に必要なグラフィクスオブジェクトについて、かかる処理を実行するのに要する期間が、図２５、図２６の期間td1である。以上がステップＳ５１の詳細である。
【０１３６】
default_selected_button_numberが”=0”であり、デフォルトセレクテッドボタンが動的に変わる場合は、ステップＳ６７がNoになり、ステップＳ７３においてbutton_info(p)は、カレントボタンに対応するbutton_infoであるか否かを判定する。もしそうであれば、ステップＳ７０に、異なるならステップＳ６９に移行する。
続いてステップＳ５４のサブルーチンの処理手順を、図４４を参照しながら説明する。
【０１３７】
図４４は、デフォルトセレクテッドボタンのオートアクティベートの処理手順を示すフローチャートである。先ずdefault_activated__button_numberが0であるか,FFであるかどうかを判定し(ステップＳ７５)、00であれば何の処理も行わずメインルーチンにリターンする。FFであれば、カレントボタンiをアクティブ状態に遷移する(ステップＳ７７)。そしてカレントボタンiに対応する変数animation(i)を0に設定してメインルーチンにリターンする(ステップＳ７８)。
【０１３８】
00でも、FFでもなければ、default_activated__button_numberで指定されるボタンをカレントボタンとし(ステップＳ７６)、カレントボタンiをアクティブ状態に遷移し(ステップＳ７７)、カレントボタンiに対応する変数animation(i)を0に設定してメインルーチンにリターンする(ステップＳ７８)。
以上の処理により、セレクテッド状態のボタンは、所定時間の経過時においてアクティブ状態に遷移させられることになる。以上が、図４４のフローチャートの全容である。
【０１３９】
続いて、メニューにおけるアニメーション(ステップＳ３６)について説明する。図４５は、アニメーション表示の処理手順を示すフローチャートである。
ここで初期表示は、各button_infoのnormal_state_infoにおけるstart_object_id_normal、selected_state_infoにおけるstart_object_id_selectedで指定されているグラフィクスオブジェクトを、グラフィクスプレーン８に書き込まれることにより実現した。アニメーションとは、ステップＳ３５〜ステップＳ３７のループ処理が一巡する度に、各ボタンにおける任意のコマ(qコマ目にあるグラフィクスオブジェクト)をこのグラフィクスプレーン８に上書する処理である。この更新は、button_infoのnormal_state_info、selected_state_infoで指定されているグラフィクスオブジェクトを、一枚ずつグラフィクスプレーン８に書き込んでメインルーチンにリターンすることでなされる。ここで変数qとは、各ボタン情報のbutton_infoのnormal_state_info、selected_state_infoで指定されている個々のグラフィクスオブジェクトを指定するための変数である。
【０１４０】
このアニメーション表示を実現するための処理を、図４５を参照しながら説明する。尚本フローチャートは、記述の簡略化を期するため、ICSのrepeat_normal_flag、repeat_selected_flagが繰り返し要と設定されているとの前提で作図している。
ステップＳ８０は初期表示が済んでいるか否かの判定であり、もし済んでいなけれ何の処理も行わずにリターンする。もし済んでいればステップＳ８１〜ステップＳ９３の処理を実行する。ステップＳ８１〜ステップＳ９３は、ICSにおける各button_infoについて、ステップＳ８３〜ステップＳ９３の処理を繰り返すというループ処理を構成している(ステップＳ８１、ステップＳ８２)。
【０１４１】
ステップＳ８３は、button_info(p)に対応する変数animation(p)を変数qに設定する。こうして、変数qは、button_info(p)に対応する、現在のコマ数を示すことになる。
ステップＳ８４は、button_info(p)が、現在セレクテッド状態にあるボタン(カレントボタン)に対応するbutton_infoであるか否かの判定である。
カレントボタン以外のボタンならば、button_info(p).normal_state_infoにおけるstart_object_id_normalに変数qを足した識別子をID(q)とする(ステップＳ８５)。
【０１４２】
カレントボタンに対応するボタンであれば、ステップＳ８６の判定を行う。
ステップＳ８６は、カレントボタンがアクティブ状態であるかの判定であり、もしそうであれば、ステップＳ８７においてbutton_info(p).actioned_state_infoにおけるstart_object_id_actionedに変数qを足した識別子をID(q)とする。そしてbutton_info(p)に含まれるボタンコマンドのうち、1つを実行する(ステップＳ８８)。
【０１４３】
カレントボタンがアクティブ状態でなければ、button_info(p).selected_state_infoにおけるstart_object_id_selectedに変数qを足した識別子をID(q)とする(ステップＳ８９)。
こうしてID(q)が決まれば、Object Buffer15に存在する、ID(q)を有するグラフィクスオブジェクト(p)を、button_info(p)のbutton_horizontal_position,button_vertical_positionに示されるGraphics Plane8上の位置に書き込む(ステップＳ９０)。
【０１４４】
以上のループ処理により、カレントボタンのセレクテッド状態(若しくはアクティブ状態)及びその他のボタンのノーマル状態を構成する複数グラフィクスオブジェクトのうち、q枚目のものがグラフィクスプレーン８に書き込まれることになる。
ステップＳ９１は、start_object_id_normal＋qがend_object_id_normalに達したか否かの判定であり、もし達しないなら変数qをインクリメントした値を変数animation(p)に設定する(ステップＳ９２)。もし達したなら変数animation(p)を0に初期化する(ステップＳ９３)。以上の処理は、ICSにおける全てのbutton_infoについて繰り返される(ステップＳ８１、ステップＳ８２)。全てのbutton_infoについて、処理がなされれば、メインルーチンにリターンする。
【０１４５】
以上のステップＳ８０〜ステップＳ９３により対話画面における各ボタンの絵柄は、ステップＳ３５〜ステップＳ３７が一巡する度に新たなグラフィクスオブジェクトに更新される。ステップＳ３５〜ステップＳ３７の処理が何度も反復されれば、いわゆるアニメーションが可能になる。アニメーションにあたって、グラフィクスオブジェクト一コマの表示間隔は、animation_frame_rate_codeに示される値になるようにGraphicsコントローラ１７は時間調整を行う。
【０１４６】
尚、ステップＳ８８においてbutton_info(p)に含まれるボタンコマンドを1つずつ実行したが、アクティブ状態に対応するグラフィクスオブジェクトを一通り表示した後に、button_info(p)に含まれるボタンコマンドをまとめて実行してもよい。以上でアニメーション表示処理についての説明を終わる。続いてメインルーチンのステップＳ３７におけるUO処理の処理手順について図４６を参照しながら説明する。
【０１４７】
図４６は、UO処理の処理手順を示すフローチャートである。本フローチャートは、ステップＳ１００〜ステップＳ１０３の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。ステップＳ１００は、UOmaskTableが"1"に設定されているかどうかの判定であり、もしに設定されていれば、何の処理も行わずに、メインルーチンにリターンする。
【０１４８】
ステップＳ１０１は、MoveUP/Down/Left/Rightキーが押下されたかどうかの判定であり、もしこれらのキーが押下されれば、カレントボタンを変更して(ステップＳ１０４)、カレントボタンのauto_action_flagが01かどうかを判定する(ステップＳ１０８)。もし違うならメインルーチンにリターンする。もしそうであるなら、ステップＳ１０５に移行する。
【０１４９】
ステップＳ１０２は、activatedキーが押下されたかどうかの判定であり、もしそうであれば、カレントボタンiをアクティブ状態に遷移する(ステップＳ１０５)。その後、変数animation(i)を0に設定する(ステップＳ１０６)。
ステップＳ１０３は、数値入力であるかどうかの判定であり、もし数値入力であれば、数値入力処理を行って(ステップＳ１０７)、メインルーチンにリターンする。図４６の処理手順のうち、ステップＳ１０４、ステップＳ１０７はサブルーチン化されている。このサブルーチンの処理手順を示したのが図４７、図４８である。以降これらのフローチャートについて説明する。
【０１５０】
図４７は、カレントボタンの変更処理の処理手順を示すフローチャートである。先ず初めに、カレントボタンのneighbor_infoにおけるupper_button_number,lower_button_number,left_button_number,right_button_numberのうち、押下されたキーに対応するものを特定する(ステップＳ１１０)。
そしてカレントボタンをボタンiとし、新たにカレントボタンになるボタンをボタンjとする(ステップＳ１１１)。ステップＳ１１２は、ステップＳ１１１で特定されたボタンjが、ボタンiと一致しているかどうかの判定である。もし一致していれば、何の処理も行わずにメインルーチンにリターンする。もし一致しなければ、ボタンjをカレントボタンにして(ステップＳ１１３)、変数animation(i),変数animation(j)を0に設定した上でメインルーチンにリターンする(ステップＳ１１４)。
【０１５１】
図４８は、数値入力処理の処理手順を示すフローチャートである。入力された数値に合致するbutton_numberを有したButton info.jが存在するかどうかの判定を行い(ステップＳ１２１)、Button info.jにおけるnumerically_selectable_flagは1であるかどうかの判定を行う(ステップＳ１２２)。ステップＳ１２１及びステップＳ１２２がYesなら、カレントボタンをノーマル状態に遷移させ、ボタンjをカレントボタンにして(ステップＳ１２３)、変数animation(i),変数animation(j)を0に設定した上で(ステップＳ１２４)、Button info.jのauto_action_flagは1であるかを判定する(ステップＳ１２５)。1でないならメインルーチンにリターンする。
【０１５２】
1であるなら、ステップＳ１２６においてカレントボタンをアクティブ状態に遷移した上でメインルーチンにリターンする。
ステップＳ１２１〜Ｓ１２３のどちらかがNoなら、そのままメインルーチンにリターンする。
以上が同期表示を行う場合のGraphicsコントローラ１７の処理手順である。Popup表示のように、ユーザ操作をトリガとした対話画面表示を行う場合、Stream Graphicsプロセッサ１４、Graphicsコントローラ１７は以下のような処理を行う。つまり、同期表示の場合と同様の処理を行う。これにより、グラフィクスプレーン８にはグラフィックスオブジェクトが得られる。このようにグラフィックスオブジェクトを得た後、現在の再生時点が、ICSに付加されたPTSに示される時点を経過するのを待つ。そしてこの再生時点の経過後、UOコントローラ１８がメニューコールを示すUOを受け付れば、グラフィクスプレーン８に格納されたグラフィックスオブジェクトを合成させるよう、CLUT部９に出力する。UOに同期して、かかる出力を行えば、メニューコールの押下に応じたPopup表示を実現することができる。
【０１５３】
以上、DSnに属するICSのPTS,ODSのDTS、PTSの設定について説明したが、ICSのDTSや、PDSのDTS、PTS、ENDのDTS、PTSについては説明していない。以下、これらのタイムスタンプについて説明する。ICSは、DSnにおける最初のODS(ODS1)のデコード開始時点(DTS(DSn[ODS1]))以前、及び、DSnにおける最初のPDS(PDS1)が有効になる時点(PTS(DSn[PDS1]))以前に、Compositionバッファ１６にロードされねばならない。よって以下の式の関係を満たす値に、設定されねばならない。
【０１５４】
DTS(DSn[ICS])≦DTS(DSn[ODS1])
DTS(DSn[ICS])≦PTS(DSn[PDS1])
続いてDSnに属する各PDSのDTS,PTSの設定について説明する。
DSnに属する各PDSは、ICSがCompositionバッファ１６にロードされる時点(DTS(DSn[ICS]))から、最初のODSのデコード開始時点(DTS(DSn[ODS1]))までに、CLUT部９において、有効になればよい。このことからDSnに属する各PDS(PDS1〜PDSlast)のPTS値は、以下の関係を満たす値に、設定されねばならない。
DTS(DSn[ICS])≦PTS(DSn[PDS1])
PTS(DSn[PDSj])≦PTS(DSn[PDSj+1])≦PTS(DSn[PDSlast])
PTS(DSn[PDSlast])≦DTS(DSn[ODS1])
尚、PDSにおいてDTSは再生時に参照されないが、MPEG2規格を満たすため、PDSのDTSは、そのPTSと同じ値に設定される。
以上の関係を満たすようDTS、PDSが設定された場合、再生装置のパイプラインにおいてこれらDTS、PTSがどのような役割をもつかについて説明する。図４９は、ICSにおけるDTS、PDSにおけるPTSに基づく、再生装置におけるパイプラインを示す図である。この図４９は、図３３をベースにして作図されている。図３３の第３段目に示したCoded Dataバッファ１３への読み出しは、本図では第５段目に記述しており、また第２段目に示したStream Graphicsプロセッサ１４によるデコードは、第４段目に記述している。そしてICS、PTSは、上述した式の関係を満たすよう設定されている。
【０１５５】
図４９において第２段目は、CLUT部９へのPDS設定を示しており、第３段目は、Compositionバッファ１６の格納内容を示している。ICSのDTSは、PDSのDTSや、ODSのDTSより前の時点に設定されているので、図中の矢印up1に示すように、Compositionバッファ１６へのICSのロードは真っ先になされる。またPDS1〜lastのCLUT部９への設定は、ICSの転送後、ODS1のデコードより前になされるので、矢印up2,up3に示すようにODS1のDTSに示される時点より前に設定されている。
【０１５６】
以上のようにICSのロード、PDSの設定は、ODSのデコードの先立ちなされることがわかる。
続いてDSnに属するEND of Display SetSegmentのPTSの設定について説明する。DSnに属するENDは、DSnの終わりを示すものだから、DSnに属する最後のODS(ODSlast)のデコード終了時刻を示せばよい。このデコード終了時刻は、ODSlastのPTS(PTS(DSn[ODSlast]))に示されているので、ENDのPTSは、以下の式に示される値に設定されねばならない。
PTS(DSn[END]) = PTS(DSn[ODSlast])
DSn,DSn+1に属するICSとの関係で考えれば、DSnにおけるICSは、最初のODS(ODS1)のロード時刻以前に、Compositionバッファ１６にロードされるから、ENDのPTSは、DSnに属するICSのロード時刻(DTS(DSn[ICS]))以降、DSn+1に属するICSのロード時刻(DTS(DSn+1[ICS]))以前でなければならない。そのためENDのPTSは、以下の式の関係を満たす必要がある。
DTS(DSn[ICS])≦PTS(DSn[END])≦DTS(DSn+1[ICS])
一方、最初のODS(ODS1)のロード時刻は、最後のPDS(PDSlast)のロード時刻以後であるから、ENDのPTS(PTS(DSn[END]))は、DSnに属するPDSのロード時刻以降(PTS(DSn[PDSlast]))でなければならない。そのためENDのPTSは、以下の式の関係を満たす必要がある。
PTS(DSn[PDSlast])≦PTS(DSn[END])
続いて再生装置のパイプラインにおいて、ENDのPTSが、どのような意味合いをなすのかについて説明する。図５０は、再生装置のパイプライン動作時における、ENDの意味合いを示す図である。本図は、図３３をベースに作図しており、第１段目がCompositionバッファ１６の格納内容を示している以外は、各段の意味合いは図３３と同一である。また図５０では、DSn,DSn+1という2つのDisplay Setを描いている。DSnにおいてODSlastになるのは、A-ODSsの最後のODSnであるので、ENDのPTSは、このODSnのPTSを示すよう設定されている。そして、このENDのPTSに示される時点は、DSn+1のICSのDTSにより示される時点より早いものになっている。
【０１５７】
このENDのPTSにより、再生時にあたっては、DSnについてのODSのロードが、どの時点で完了するのかを知得することができる。
尚、ENDにおいてDTSは再生時に参照されないが、MPEG2規格を満たすため、PDSのDTSは、そのPTSと同じ値に設定される。
DTS,PTSが設定されたICS,PDS,ODSをAVClipに組み込んでおくので、ある動画の一コマが画面に現れたタイミングに、特定の処理を再生装置に実行させるという対話制御、つまり動画内容と緻密に同期した対話制御の記述に便利である。またICS,PDS,ODSは、AVClip自身に多重化されているので、再生制御を行いたい区間が数百個であっても、それらに対応するICS,PDS,ODSの全てをメモリに格納しておく必要はない。ICS,PDS,ODSはビデオパケットと共にBD-ROMから読み出されるので、現在再生すべき動画区間に対応するICS,PDS,ODSをメモリに常駐させ、この動画区間の再生が終われば、ICS,PDS,ODSをメモリから削除して、次の動画区間に対応するICS,PDS,ODSをメモリに格納すればよい。ICS,PDS,ODSは、AVClipに多重化されるので、たとえICS,PDS,ODSの数が数百個になってもメモリの搭載量を必要最低限にすることができる。
【０１５８】
以上のように本実施形態によれば、アニメーションを実現するためのODSが360枚存在しており、ボタン部材が3つの状態をもっている場合、ODSは、120枚＋120枚＋120枚というように、3つのbutton-stateグループにグルーピングされる。そして個々のbutton-stateグループは、早く現れる状態に対応するもの程、前に置かれ、遅く現れる状態に対応するもの程、後に置かれる。このため、再生時にあたって、早く現れる状態に対応するbutton-stateグループの再生装置へのロードは早く行われ、遅く現れる状態に対応するbutton-stateグループのロードは、後回しにされる。早く現れる状態に対応するbutton-stateグループのロードは早い時期になされるので、360枚のものODSの読み出し/デコードは未完であっても、全体の約1/3〜2/3のODSの読み出し/デコードが完了していれば、初期表示のための準備は整う。全体の約1/3〜2/3のODSの読み出し/デコードの完了時点で、初期表示のための処理を開始させることができるので、たとえ読み出し/デコードすべきODSが大量にあっても、初期表示の実行は遅滞することはない。このため、アニメーションを伴った楽しい対話画面の表示を、迅速に実行することができる。
【０１５９】
(第２実施形態)
本実施形態は、BD-ROMの製造工程に関する実施形態である。図５１は、第２施形態に係るBD-ROMの製造工程を示すフローチャートである。
BD-ROMの制作工程は、動画収録、音声収録等の素材作成を行う素材制作工程Ｓ２０１、オーサリング装置を用いて、アプリケーションフォーマットを生成するオーサリング工程Ｓ２０２、BD-ROMの原盤を作成し、プレス・貼り合わせを行って、BD-ROMを完成させるプレス工程Ｓ２０３を含む。
【０１６０】
これらの工程のうち、BD-ROMを対象としたオーサリング工程は、以下のステップＳ２０４〜ステップＳ２０９を含む。
先ずステップＳ２０４において、ボタンの状態における動きの一コマ一コマおアニメーションを、複数のランレングス符号化方式のグラフィクスデータで作成する。
ステップＳ２０５では、作成した複数グラフィックスデータを、ボタンの同じ状態を示すもの同士でグループ化する。そして、各グラフィクスデータの識別子をICSにおける各ボタン情報に指定させることにより、ICSを作成する。この際、ステップＳ２０６においてデフォルトセレクテッドボタンの設定や、各ボタン間の状態をどのように変化させるかを、ICSに記述する。その後ステップＳ２０７では、ICS、グループ化されたグラフィクスデータを一体化させて、グラフィクスストリームを生成する。グラフィクスストリームが得られれば、ステップＳ２０８においてグラフィクスストリームを別途生成されたビデオストリーム、オーディオストリームと多重してAVClipを得る。AVClipが得られれば、ステップＳ２０９において、静的シナリオ、動的シナリオ及びAVClipをBD-ROMのフォーマットに適合させることにより、アプリケーションフォーマットが完成する。
【０１６１】
以上のように本実施形態によれば、グラフィクスデータのグループ化という作業をオーサリング時に行うことにより、第１実施形態に示したようなグラフィクスストリームを得ることができるので、第１実施形態に示したBD-ROM用のアプリケーションフォーマットを容易に得ることができる。
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の[技術分野]の、出願当時の技術水準の特性に基づく。しかし請求項に係る各発明は、従来技術の技術的課題を解決するための手段を反映したものであるから、請求項に係る各発明の技術範囲は、従来技術の技術的課題解決が当業者により認識される技術範囲を超えることはない。故に、本願の請求項に係る各発明は、詳細説明の記載と、実質的な対応関係を有する。
【０１６２】
(A)全ての実施形態では、本発明に係る記録媒体をBD-ROMとして実施したが、本発明の記録媒体は、記録されるグラフィクスストリームに特徴があり、この特徴は、BD-ROMの物理的性質に依存するものではない。動的シナリオ、グラフィクスストリームを記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、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)であってもよい。更に、機器内蔵型のハードディスクであってもよい。
【０１６３】
(B)全ての実施形態における再生装置は、BD-ROMに記録されたAVClipをデコードした上でTVに出力していたが、再生装置をBD-ROMドライブのみとし、これ以外の構成要素をTVに具備させてもよい。この場合、再生装置と、TVとをIEEE1394で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレィと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなす部分のみを、再生装置としてもよい。これらの再生装置は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、第１実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第１実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
【０１６４】
(C)各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、第１実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
【０１６５】
(D)各フロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
【０１６６】
(E)BD-ROMに記録するにあたって、AVClipを構成する各TSパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、TP_extra_headerと呼ばれ、『Arribval_Time_Stamp』と、『copy_permission_indicator』とを含み4バイトのデータ長を有する。TP_extra_header付きTSパケット(以下EX付きTSパケットと略す)は、32個毎にグループ化されて、3つのセクタに書き込まれる。32個のEX付きTSパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のEX付きTSパケットを”Aligned Unit”という。
【０１６７】
IEEE1394を介して接続されたホームネットワークでの利用時において、再生装置２００は、以下のような送信処理にてAligned Unitの送信を行う。つまり送り手側の機器は、Aligned Unitに含まれる32個のEX付きTSパケットのそれぞれからTP_extra_headerを取り外し、TSパケット本体をDTCP規格に基づき暗号化して出力する。TSパケットの出力にあたっては、TSパケット間の随所に、isochronousパケットを挿入する。この挿入箇所は、TP_extra_headerのArribval_Time_Stampに示される時刻に基づいた位置である。TSパケットの出力に伴い、再生装置２００はDTCP_Descriptorを出力する。DTCP_Descriptorは、TP_extra_headerにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようDTCP_Descriptorを記述しておけば、IEEE1394を介して接続されたホームネットワークでの利用時においてTSパケットは、他の機器に記録されることはない。
(F)各実施形態におけるデジタルストリームは、BD-ROM規格のAVClipであったが、DVD-Video規格、DVD-Video Recording規格のVOB(Video Object)であってもよい。VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818-1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリームは、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear-PCM方式、Dolby-AC3方式、MP3方式、MPEG-AAC方式であってもよい。
【０１６８】
(G)各実施形態におけるAVClipは、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
【０１６９】
(H)第１実施形態〜第２実施形態に示したグラフィックスオブジェクトは、ランレングス符号化されたラスタデータである。グラフィックスオブジェクトの圧縮・符号化方式にランレングス符号方式を採用したのは、ランレングス符号化は字幕の圧縮・伸長に最も適しているためである。字幕には、同じ画素値の水平方向の連続長が比較的長くなるという特性があり、ランレングス符号化による圧縮を行えば、高い圧縮率を得ることができる。また伸長のための負荷も軽く、復号処理のソフトウェア化に向いている。デコードを実現する装置構成を、字幕−グラフィックスオブジェクト間で共通化する目的で、字幕と同じ圧縮・伸長方式をグラフィックスオブジェクトに採用している。しかし、グラフィックスオブジェクトにランレングス符号化方式を採用したというのは、本発明の必須事項ではなく、グラフィックスオブジェクトはPNGデータであってもよい。またラスタデータではなくベクタデータであってもよい、更に透明な絵柄であってもよい。
【０１７０】
(I)先行する再生経路によって、セレクテッド状態とすべきボタンが変わるようなケースでは、複数再生経路のそれぞれの経由時に、固有の値を再生装置側のレジスタに設定するよう、動的シナリオにおいて再生制御を記述しておくことが望ましい。そして、そのレジスタの設定値に応じたボタンをセレクテッド状態に設定するよう再生手順を記述しておけば、どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化させることができる。
【産業上の利用可能性】
【０１７１】
本発明に係る記録媒体、再生装置は、対話的な制御を映画作品に付与することができるので、より付加価値が高い映画作品を市場に供給することができ、映画市場や民生機器市場を活性化させることができる。故に本発明に係る記録媒体、再生装置は、映画産業や民生機器産業において高い利用可能性をもつ。
【図面の簡単な説明】
【０１７２】
【図１】アニメーションで構成される対話画面を示す図である。
【図２】（ａ）本発明に係る記録媒体の、使用行為についての形態を示す図である。          （ｂ）対話画面に対する操作をユーザから受け付けるためのリモコン４００におけるキー配置を示す図である。
【図３】BD-ROMの構成を示す図である。
【図４】AVClipがどのように構成されているかを模式的に示す図である。
【図５】Clip情報の内部構成を示す図である。
【図６】PL情報の内部構成を示す図である。
【図７】PL情報による間接参照を模式化した図である。
【図８】（ａ）グラフィクスストリームの構成を示す図である。
【０１７３】
（ｂ）ICS、ODSの内部構成を示す図である。
【図９】様々な種別の機能セグメントにて構成される論理構造を示す図である。
【図１０】（ａ）ODSによるグラフィクスオブジェクトを定義するためのデータ構造を示す図である。            （ｂ）PDSのデータ構造を示す図である。
【図１１】Interactive Composition Segmentのデータ構造を示す図である。
【図１２】あるDSnに含まれるODSと、ICSとの関係を示す図である。
【図１３】任意のピクチャデータpt1の表示タイミングにおける画面合成を示す図である。
【図１４】ICSにおけるボタン情報の設定例を示す図である。
【図１５】ボタンA〜ボタンDの状態遷移を示す図である。
【図１６】ODS11,21,31,41の絵柄の一例を示す図である。
【図１７】ボタンA用のODS11〜19の絵柄の一例を示す図である。
【図１８】DSに含まれるICS、ODSの一例を示す図である。
【図１９】Display Setに属するODSの順序及びbutton-stateグループを示す図である。
【図２０】図１９のbutton-stateグループが配置された対話画面における状態遷移を示す図である。
【図２１】Display SetにおけるODSの順序を示す図である。
【図２２】default_selected_button_numberが”=0”である場合と、”＝ボタンB”である場合とでS-ODSsにおいてODSの並びがどのように変わるかを示す図である。
【図２３】（ａ）（ｂ）N-ODSsにボタンA〜Dを構成する複数ODSが含まれており、S-ODSsにボタンA〜Dを構成する複数ODSが含まれている場合、ΣSIZE(DSn[ICS.BUTTON[i]])がどのような値になるかを示す図である。
【図２４】ICSによる同期表示時のタイミングを示す図である。
【図２５】対話画面の初期表示が複数ODSにて構成され、default_selected_button_numberが有効である場合のDTS、PTSの設定を示す図である。
【図２６】対話画面の初期表示が複数ODSにて構成され、default_selected_button_numberが無効である場合のDTS、PTSの設定を示す図である。
【図２７】本発明に係る再生装置の内部構成を示す図である。
【図２８】Object Buffer１５の格納内容をグラフィクスプレーン８と対比して示す図である。
【図２９】初期表示時におけるGraphicsコントローラ１７の処理を示す図である。
【図３０】1stUserAction(MoveRight)による対話画面更新時におけるGraphicsコントローラ１７の処理を示す図である。
【図３１】1stUserAction(MoveDown)による対話画面更新時におけるGraphicsコントローラ１７の処理を示す図である。
【図３２】1stUserAction(Activated)による対話画面更新時におけるGraphicsコントローラ１７の処理を示す図である。
【図３３】再生装置によるパイプライン処理を示すタイミングチャートである。
【図３４】デフォルトセレクテッドボタンが動的に変わる場合の、再生装置によるパイプライン処理を示すタイミングチャートである。
【図３５】制御部２０によるLinkPL関数の実行手順を示すフローチャートである。
【図３６】Segmentのロード処理の処理手順を示すフローチャートである。
【図３７】多重化の一例を示す図である。
【図３８】DS10が再生装置のCoded Dataバッファ１３にロードされる様子を示す図である。
【図３９】通常再生が行われる場合を示す図である。
【図４０】図３９のように通常再生が行われた場合のDS1,10,20のロードを示す図である。
【図４１】Graphicsコントローラ１７の処理手順のうち、メインルーチンにあたる処理を描いたフローチャートである。
【図４２】タイムスタンプによる同期制御の処理手順を示すフローチャートである。
【図４３】グラフィクスプレーン８の書込処理の処理手順を示すフローチャートである。
【図４４】デフォルトセレクテッドボタンのオートアクティベートの処理手順を示すフローチャートである。
【図４５】アニメーション表示の処理手順を示すフローチャートである。
【図４６】UO処理の処理手順を示すフローチャートである。
【図４７】カレントボタンの変更処理の処理手順を示すフローチャートである。
【図４８】数値入力処理の処理手順を示すフローチャートである。
【図４９】DTS、PDSにおけるPTSに基づく、再生装置におけるパイプラインを示す図である。
【図５０】再生装置のパイプライン動作時における、ENDの意味合いを示す図である。
【図５１】第２施形態に係るBD-ROMの製造工程を示すフローチャートである。
【符号の説明】
【０１７４】
１  BDドライブ
２  トラックバッファ
３  PIDフィルタ
４a,b,c  Transport Buffer
４d  周辺回路
５  ビデオデコーダ
６  ビデオプレーン
７  オーディオデコーダ
８  グラフィクスプレーン
９  CLUT部
１０  加算器
１２  グラフィクスデコーダ
１３  Coded Dataバッファ
１３a  周辺回路
１４  Stream Graphicsプロセッサ
１５  Object Buffer
１６  Compositionバッファ
１７  Graphicsコントローラ
１８  UOコントローラ
１９  プレーヤレジスタ群
２０  制御部
【図１】
2006309936.tif 000003
【図２】
2006309936.tif 000004
【図３】
2006309936.tif 000005
【図４】
2006309936.tif 000006
【図５】
2006309936.tif 000007
【図６】
2006309936.tif 000008
【図７】
2006309936.tif 000009
【図８】
2006309936.tif 000010
【図９】
2006309936.tif 000011
【図１０】
2006309936.tif 000012
【図１１】
2006309936.tif 000013
【図１２】
2006309936.tif 000014
【図１３】
2006309936.tif 000015
【図１４】
2006309936.tif 000016
【図１５】
2006309936.tif 000017
【図１６】
2006309936.tif 000018
【図１７】
2006309936.tif 000019
【図１８】
2006309936.tif 000020
【図１９】
2006309936.tif 000021
【図２０】
2006309936.tif 000022
【図２１】
2006309936.tif 000023
【図２２】
2006309936.tif 000024
【図２３】
2006309936.tif 000025
【図２４】
2006309936.tif 000026
【図２５】
2006309936.tif 000027
【図２６】
2006309936.tif 000028
【図２７】
2006309936.tif 000029
【図２８】
2006309936.tif 000030
【図２９】
2006309936.tif 000031
【図３０】
2006309936.tif 000032
【図３１】
2006309936.tif 000033
【図３２】
2006309936.tif 000034
【図３３】
2006309936.tif 000035
【図３４】
2006309936.tif 000036
【図３５】
2006309936.tif 000037
【図３６】
2006309936.tif 000038
【図３７】
2006309936.tif 000039
【図３８】
2006309936.tif 000040
【図３９】
2006309936.tif 000041
【図４０】
2006309936.tif 000042
【図４１】
2006309936.tif 000043
【図４２】
2006309936.tif 000044
【図４３】
2006309936.tif 000045
【図４４】
2006309936.tif 000046
【図４５】
2006309936.tif 000047
【図４６】
2006309936.tif 000048
【図４７】
2006309936.tif 000049
【図４８】
2006309936.tif 000050
【図４９】
2006309936.tif 000051
【図５０】
2006309936.tif 000052
【図５１】
2006309936.tif 000053
【手続補正書】
【提出日】平成18年9月4日(2006.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動画ストリームとグラフィクスストリームとを多重化することにより得られたデジタルストリームが記録されている記録媒体であって、
グラフィクスストリームは、状態制御情報及び複数のグラフィクスデータ集合を含み、個々のグラフィクスデータ集合が再生装置により読み取られ、再生装置内のグラフィクスデコーダに投入されることで、グラフィカルなボタン部材を含む対話画面を再生装置内のプレーンメモリ内に生成させ、動画ストリームの復号動画像と合成させるものであり、
前記ボタン部材は、ノーマル状態、セレクテッド状態、アクティブ状態の何れかの状態をとり、グラフィクスストリームの内部には、ボタン部材の状態を制御する状態制御情報と、ボタン部材のノーマル状態を表すグラフィクスデータから構成される第１のグラフィクスデータ集合と、ボタン部材のセレクテッド状態を表すグラフィクスデータから構成される第２のグラフィクスデータ集合と、ボタン部材のアクティブ状態を表すグラフィクスデータから構成される第３のグラフィクスデータ集合とが、シーケンシャルに並べられており、前記状態制御情報は、指定情報を含み、
前記指定情報は、対話画面に含まれている複数のボタン部材のうち、再生装置内の状態レジスタに格納されたボタン番号に対応するものを、デフォルトでセレクテッド状態に設定する旨を示す
ことを特徴とする記録媒体。
【請求項２】
デジタルストリームに多重化されたビデオストリーム、グラフィクスストリームを再生する再生装置であって、
ビデオストリームをデコードして動画像を得るビデオデコーダと、
グラフィクスストリームをデコードしてグラフィカルなボタン部材を含む対話画面を表示させるグラフィクスデコーダと、
非圧縮グラフィクスデータが格納されるグラフィクスプレーンとを備え、
グラフィクスストリームは、状態制御情報及び複数のグラフィクスデータ集合を含み、グラフィカルなボタン部材を含む対話画面を生成させ、動画ストリームの復号動画像と合成させるものであり、
前記ボタン部材は、ノーマル状態、セレクテッド状態、アクティブ状態の何れかの状態をとり、グラフィクスストリームの内部には、ボタン部材の状態を制御する状態制御情報と、ボタン部材のノーマル状態を表すグラフィクスデータから構成される第１のグラフィクスデータ集合と、ボタン部材のセレクテッド状態を表すグラフィクスデータから構成される第２のグラフィクスデータ集合と、ボタン部材のアクティブ状態を表すグラフィクスデータから構成される第３のグラフィクスデータ集合とが、シーケンシャルに並べられており、前記状態制御情報は、指定情報を含み、
前記指定情報は、対話画面に含まれている複数のボタン部材のうち、再生装置内の状態レジスタに格納されたボタン番号に対応するものを、デフォルトでセレクテッド状態に設定する旨を示し、
前記グラフィクスデコーダは、
第１、第２、第３のグラフィクスデータ集合に含まれるグラフィクスデータをデコードするグラフィクスプロセッサと、
デコードされた非圧縮グラフィクスデータを複数格納するオブジェクトバッファと、
グラフィクスコントローラとを備え、
前記グラフィクスコントローラは、
セレクテッド状態に対応する第２のグラフィクスデータ集合に属する非圧縮のグラフィクスデータをオブジェクトバッファから読み出して、グラフィクスプレーンに書き込む制御を行う
ことを特徴とする再生装置。
【請求項３】
記録媒体の記録方法であって、
アプリケーションデータを作成するステップと、
作成したデータを記録媒体に記録するステップとを有し、
前記アプリケーションデータは、
動画ストリームとグラフィクスストリームとを多重化することにより得られたデジタルストリームを含み、
グラフィクスストリームは、状態制御情報及び複数のグラフィクスデータ集合を含み、個々のグラフィクスデータ集合が再生装置により読み取られ、再生装置内のグラフィクスデコーダに投入されることで、グラフィカルなボタン部材を含む対話画面を再生装置内のプレーンメモリ内に生成させ、動画ストリームの復号動画像と合成させるものであり、
前記ボタン部材は、ノーマル状態、セレクテッド状態、アクティブ状態の何れかの状態をとり、グラフィクスストリームの内部には、ボタン部材の状態を制御する状態制御情報と、ボタン部材のノーマル状態を表すグラフィクスデータから構成される第１のグラフィクスデータ集合と、ボタン部材のセレクテッド状態を表すグラフィクスデータから構成される第２のグラフィクスデータ集合と、ボタン部材のアクティブ状態を表すグラフィクスデータから構成される第３のグラフィクスデータ集合とが、シーケンシャルに並べられており、前記状態制御情報は、指定情報を含み、
前記指定情報は、対話画面に含まれている複数のボタン部材のうち、再生装置内の状態レジスタに格納されたボタン番号に対応するものを、デフォルトでセレクテッド状態に設定する旨を示す
ことを特徴とする記録方法。
【請求項４】
ビデオストリーム、グラフィクスストリームが多重化されたデジタルストリームについての再生をコンピュータに実行させるプログラムであって、
ビデオストリームをデコードして動画像を得る第１ステップと、
複数のボタン部材を含む対話画面を、動画像に合成して表示させる第２ステップとをコンピュータに実行させ、
グラフィクスストリームは、状態制御情報及び複数のグラフィクスデータ集合を含み、グラフィカルなボタン部材を含む対話画面を生成させ、動画ストリームの復号動画像と合成させるものであり、
前記ボタン部材は、ノーマル状態、セレクテッド状態、アクティブ状態の何れかの状態をとり、グラフィクスストリームの内部には、ボタン部材の状態を制御する状態制御情報と、ボタン部材のノーマル状態を表すグラフィクスデータから構成される第１のグラフィクスデータ集合と、ボタン部材のセレクテッド状態を表すグラフィクスデータから構成される第２のグラフィクスデータ集合と、ボタン部材のアクティブ状態を表すグラフィクスデータから構成される第３のグラフィクスデータ集合とが、シーケンシャルに並べられており、前記状態制御情報は、指定情報を含み、
前記指定情報は、対話画面に含まれている複数のボタン部材のうち、再生装置内の状態レジスタに格納されたボタン番号に対応するものを、デフォルトでセレクテッド状態に設定する旨を示し、
前記コンピュータは、複数のボタン部材を含む対話画面を、動画像に合成して表示させるグラフィクスデコーダと、
動画像と合成すべき非圧縮グラフィクスデータが格納されるグラフィクスプレーンとを備え、
前記グラフィクスデコーダは、
複数のグラフィクスデータ集合に含まれるグラフィクスデータをデコードするグラフィクスプロセッサと、
デコードされた非圧縮グラフィクスデータを複数格納するオブジェクトバッファとを備え、
前記第２ステップは、
セレクテッド状態に対応するグラフィクスデータ集合に属する非圧縮のグラフィクスデータをオブジェクトバッファから読み出して、グラフィックスプレーンに書き込む制御を行う
ことを特徴とするプログラム。
【請求項５】
ビデオストリーム、グラフィクスストリームが多重化されたデジタルストリームについての再生を、装置上で実現する再生方法であって、
ビデオストリームをデコードして動画像を得る第１ステップと、
複数のボタン部材を含む対話画面を、動画像に合成して表示させる第２ステップとを有し、
グラフィクスストリームは、状態制御情報及び複数のグラフィクスデータ集合を含み、グラフィカルなボタン部材を含む対話画面を生成させ、動画ストリームの復号動画像と合成させるものであり、
前記ボタン部材は、ノーマル状態、セレクテッド状態、アクティブ状態の何れかの状態をとり、
複数のグラフィクスデータ集合には、ボタン部材のノーマル状態を表すグラフィクスデータから構成される第１のグラフィクスデータ集合、ボタン部材のセレクテッド状態を表すグラフィクスデータから構成される第２のグラフィクスデータ集合、ボタン部材のアクティブ状態を表すグラフィクスデータから構成される第３のグラフィクスデータ集合があり、これらは第１のグラフィクスデータ集合、第２のグラフィクスデータ集合、第３のグラフィクスデータ集合の順に、シーケンシャルに並べられており、
前記状態制御情報には、対話画面の初期表示において、デフォルトでセレクテッド状態となるボタン部材を指定する指定情報が記述されており、
前記装置は、複数のボタン部材を含む対話画面を、動画像に合成して表示させるグラフィクスデコーダと、
動画像と合成すべき非圧縮グラフィクスデータが格納されるグラフィクスプレーンとを備え、
前記グラフィクスデコーダは、
複数のグラフィクスデータ集合に含まれるグラフィクスデータをデコードするグラフィクスプロセッサと、
デコードされた非圧縮グラフィクスデータを複数格納するオブジェクトバッファとを備え、
前記第２ステップは、
セレクテッド状態に対応するグラフィクスデータ集合に属する非圧縮のグラフィクスデータをオブジェクトバッファから読み出して、グラフィックスプレーンに書き込む制御を行う
ことを特徴とする再生方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するため、本発明に係る記録媒体は、動画ストリームとグラフィクスストリームとを多重化することにより得られたデジタルストリームが記録されている記録媒体であって、グラフィクスストリームは、状態制御情報及び複数のグラフィクスデータ集合を含み、個々のグラフィクスデータ集合が再生装置により読み取られ、再生装置内のグラフィクスデコーダに投入されることで、グラフィカルなボタン部材を含む対話画面を再生装置内のプレーンメモリ内に生成させ、動画ストリームの復号動画像と合成させるものであり、前記ボタン部材は、ノーマル状態、セレクテッド状態、アクティブ状態の何れかの状態をとり、グラフィクスストリームの内部には、ボタン部材の状態を制御する状態制御情報と、ボタン部材のノーマル状態を表すグラフィクスデータから構成される第１のグラフィクスデータ集合と、ボタン部材のセレクテッド状態を表すグラフィクスデータから構成される第２のグラフィクスデータ集合と、ボタン部材のアクティブ状態を表すグラフィクスデータから構成される第３のグラフィクスデータ集合とが、シーケンシャルに並べられており、前記状態制御情報は、指定情報を含み、前記指定情報は、対話画面に含まれている複数のボタン部材のうち、再生装置内の状態レジスタに格納されたボタン番号に対応するものを、デフォルトでセレクテッド状態に設定する旨を示すことを特徴としている。