(57)【要約】ＢＤ−ＲＯＭには、動画ストリームと、インタラクティブグラフィクスストリームとを多重化したＡＶＣｌｉｐが記録されている。この動画ストリームは、動画像を構成するものである。一方、グラフィクスストリームは、動画像と合成されるべきメニュー表示を構成するものである。グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数含む。そして各ディスプレイセットは、対話制御情報（ＩＣＳ）を有している。グラフィクスストリームに属する複数ディスプレイセットのうち、先頭以外のものに属する対話制御情報（ＩＣＳ）は、先行するディスプレイセットからの内容変化の有無を、前記メニューにおける個々のページ毎に示すバージョン情報（Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒ）を含む。【特許請求の範囲】
【請求項１】
記録媒体であって、
動画ストリームと、グラフィクスストリームとが記録されており、
前記動画ストリームは、動画像を構成するものであり、
前記グラフィクスストリームは、動画像と合成されるべきメニュー表示を構成するものであり、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数含み、
前記ディスプレイセットは、前記メニューを構成する一つまたは複数のページを含み、
グラフィクスストリームに属する複数ディスプレイセットは、
先行するディスプレイセットからの内容変化の有無を、前記メニューにおける個々のページ毎に示すバージョン情報を含む
ことを特徴とする記録媒体。
【請求項２】
前記グラフィクスストリームは、動画ストリームと多重化された状態で、記録媒体に記録されており、
前記ディスプレイセットは、動画ストリームの再生時間軸上における任意の一時点を示すタイムスタンプを含み、
ディスプレイセットによるメニュー表示は、前記タイムスタンプに示されるタイミングでなされる
ことを特徴とする請求項１記載の記録媒体。
【請求項３】
前記ディスプレイセットは更に、
タイムスタンプにより示される一時点の経過時において、メニュー表示を自動的に動画像に合成させる旨を再生装置に指示するユーザインターフェイス情報を含む
ことを特徴とする請求項２記載の記録媒体。
【請求項４】
前記ディスプレイセットは更に、
タイムスタンプにより示される一時点の経過時において、ユーザからのポップアップメニューの呼出操作を待ってメニュー表示を動画像に合成させる旨を再生装置に指示するユーザインターフェイス情報を含む
ことを特徴とする請求項２記載の記録媒体。
【請求項５】
前記複数のディスプレイセットは、エポックに帰属しており、
前記エポックは、再生装置上でグラフィックスデータを格納するメモリの、連続性を管理するための、再生時間軸上の管理単位であり、
前記複数のディスプレイセットのうち、前記エポックの先頭にあたるディスプレイセットには、
メニュー表示を構成するグラフィクスデータが存在しており、
前記エポック先頭ディスプレイセットに続く、他のディスプレイセットには、再生装置上のメモリにおいて前記グラフィクスデータを上書きするようなグラフィクスデータが一切存在しない
ことを特徴とする請求項１記載の記録媒体。
【請求項６】
前記複数グラフィクスストリームは、複数のセグメント情報から構成され、
複数のセグメント情報には、個々のグラフィックスデータを有するグラフィックスオブジェクトセグメントと、メニュー画面の構成および表示時刻を有するコンポジションセグメントとがある
ことを特徴とする請求項１〜５の何れかに記載の記録媒体。
【請求項７】
再生装置であって、
ビデオストリームをデコードして動画像を得るビデオデコーダと、
グラフィクスストリームをデコードして動画像と合成されるべきメニュー表示を得るグラフィクスデコーダとを備え、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数有し、
前記グラフィクスデコーダは、
メニュー表示における個々のページに対応するページ情報を有するコンポジションセグメントを格納しているコンポジションバッファと、
動画ストリームの再生進行に伴って新たなディスプレイセットが読み出された場合、新たに読み出されたディスプレイセットにおける複数ページ情報と、コンポジションバッファに格納されているページ情報のページバージョン番号を夫々比較して、ページ情報の内容が更新されたかを検出し、更新されたページ情報がある場合、更新されたページ情報を用いて、コンポジションバッファ上のページ情報を上書きする書込制御部と
を備えることを特徴とする再生装置。
【請求項８】
前記再生装置は表示制御部を有し、
前記ページ情報の上書きがなされれば、メニュー表示における複数ページのうち、上書きされたページ情報に対応するページを再表示させる
ことを特徴とする請求項７記載の再生装置。
【請求項９】
前記再生装置は、
メニュー表示を構成する非圧縮グラフィクスを格納するグラフィクスプレーンを備え、
前記グラフィクスデコーダは、
ディスプレイセットに含まれるグラフィクスデータをデコードするプロセッサと、
プロセッサにより得られた非圧縮グラフィクスを格納するオブジェクトバッファとを備え、
前記ページの再表示は、
オブジェクトバッファ上の非圧縮グラフィクスのうち、前記上書き後のページ情報により参照されているものをオブジェクトバッファから読み出し、グラフィクスプレーンに書き込むことでなされる
ことを特徴とする請求項８記載の再生装置。
【請求項１０】
前記グラフィクスストリームは、動画ストリームと多重化された状態で、記録媒体に記録されており、
前記ページ情報は、パケットに格納されており、当該パケットは、動画ストリームの再生時間軸上における任意の一時点を示すプレゼンテーションタイムスタンプを含み、
前記表示制御部によるグラフィクスプレーンへの書き込みは、
動画ストリームにおける再生時点が、前記プレゼンテーションタイムスタンプに示される一時点に到達するまでに完了する
ことを特徴とする請求項９記載の再生装置。
【請求項１１】
前記表示制御部は、
動画ストリームにおける再生時点が前記所定の時点に到達し、尚且つ、ユーザによるポップアップメニューの呼出操作が行われた時点で、前記再表示されたメニューを、動画像に合成させる
ことを特徴とする請求項１０記載の再生装置。
【請求項１２】
前記表示制御部は、
動画ストリームにおける再生時点が前記所定の時点に到達した時点で、前記再表示されたメニューを、動画像に合成させる
ことを特徴とする請求項１０記載の再生装置。
【請求項１３】
前記ページ情報を格納したパケットは、プレゼンテーションタイムスタンプの他に、デコードタイムスタンプを有しており、
前記オブジェクトバッファからグラフィクスプレーンへの書き込みは、
動画ストリームの時間軸のうち、デコードタイムスタンプに示される時点から、プレゼンテーションタイムスタンプに示される時点までの期間になされ、
前記グラフィクスプレーンに書き込まれる非圧縮グラフィクスは、ページ上のグラフィカルなボタン部材を構成するものであり、
前記表示制御部は、
前記期間において、各ボタン部材の状態の変化を禁止する
ことを特徴とする請求項１０記載の再生装置。
【請求項１４】
前記グラフィクスデコーダは、ディスプレイセットに含まれるグラフィクスデータをデコードして、デコードにより得られた非圧縮グラフィクスをオブジェクトバッファに格納させるプロセッサを備え、
前記プロセッサは、
オブジェクトバッファに対する非圧縮グラフィクスの書き込みを、最初のディスプレイセットの読み出し時に行い、次順位以降のディスプレイセットの読み出し時には、既に書き込まれているオブジェクトバッファ上の非圧縮グラフィックスに対する上書きを行わない
ことを特徴とする請求項７記載の再生装置。
【請求項１５】
記録媒体の記録方法であって、
アプリケーションデータを作成するステップと、
作成したデータを記録媒体に記録するステップとを有し、
前記アプリケーションデータは、動画ストリーム及びグラフィクスストリームを含み、
前記動画ストリームは、動画像を構成するものであり、
前記グラフィクスストリームは、動画像と合成されるべきメニュー表示を構成するものであり、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数含み、
前記ディスプレイセットは、前記メニューを構成する一つまたは複数のページを含み、
グラフィクスストリームに属する複数ディスプレイセットは、
先行するディスプレイセットからの内容変化の有無を、前記メニューにおける個々のページ毎に示すバージョン情報を含む
ことを特徴とする記録方法。
【請求項１６】
再生処理をコンピュータに実行させるプログラムであって、
ビデオストリームをデコードして動画像を得て、
グラフィクスストリームをデコードして動画像に合成すべきメニュー表示を得る処理をコンピュータに行わせるコードを備え、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数有し、
前記グラフィクスのデコードにおいて、
動画ストリームの再生進行に伴って新たなディスプレイセットが読み出された場合、新たに読み出されたディスプレイセットにおける複数ページ情報と、コンピュータにおけるバッファに格納されているページ情報のページバージョン番号を夫々比較して、ページ情報の内容が更新されたかを検出し、更新されたページ情報がある場合、更新されたページ情報を用いて、前記バッファ上のページ情報を上書きする処理をコンピュータに行わせる
ことを特徴とするプログラム。
【請求項１７】
再生方法であって、
ビデオストリームをデコードして動画像を得て、
グラフィクスストリームをデコードしてメニュー表示を得て、動画像に合成する処理を行うステップを有し、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数有し、
前記グラフィクスのデコードにおいて、
動画ストリームの再生進行に伴って新たなディスプレイセットが読み出された場合、新たに読み出されたディスプレイセットにおける複数ページ情報と、コンピュータにおけるバッファに格納されているページ情報のページバージョン番号を夫々比較して、ページ情報の内容が更新されたかを検出し、更新されたページ情報がある場合、更新されたページ情報を用いて、前記バッファ上のページ情報を上書きする処理をコンピュータに行わせる手順を含む
ことを特徴とする再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、デジタル化された映画作品におけるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）技術の技術分野に属する発明であり、ＢＤ−ＲＯＭ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＤＶＤ−Ｖｉｄｅｏ等の記録媒体、民生用の再生装置に、かかるＧＵＩ技術を応用する場合の改良に関する。
【背景技術】
【０００２】  デジタル化された映画作品におけるＧＵＩは、再生位置選択や言語選択等、何等かの操作をユーザから受け付けるにあたっての必要不可欠なものである。ユーザからの選択を求める選択項目は、上述した項目の他に映画監督のコメンタリ選択やエキストラのプロフィール選択、映画作品に関連するエピーソード選択等、様々なものが加わることがあり、近年、選択項目は、更に増加する傾向がある。増加した項目選択を、好適に受け付けるため、デジタルされた映画作品では、音声選択ページ、字幕選択ページ、チャプター選択ページ、タイトル選択ページ等、複数ページを表示させ得る対話制御情報を記録媒体に記録しておき、これに従い、マルチページメニューを表示させるという制御を実現するという工夫が模索されている。デジタル化された映画作品におけるＧＵＩ技術に関しては、以下の特許文献１、２に記載された先行技術がある。
【特許文献１】国際公開公報Ｗ０  ２００４／０６８８５４  Ａ１
【特許文献２】国際公開公報Ｗ０  ２００４／０７７８２６  Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００３】  しかしながら、マルチページメニューの各ページにおいて選択を受け付けるべき項目は、映画作品全編を通じて同じ内容であるとは限らない。映画作品の特定のシーンについて述べられているコメンタリー項目の選択は、本来そのシーンが再生されている期間のみ受け付けるべきものであり、その特定のシーン以外では、受け付けるべきではない。仮に、そのようなコメンタリー選択を受け付けるようなボタン部材が、特定シーン外で表示されれば、ユーザ側の誤解を生むことになり望ましくないからである。しかしマルチページメニューにおける複数ページのうち一部を、動画の再生進行に応じて変化させるという制御は、再生装置側に大きな処理負荷をもたらし、グラフィクス表示を途切れさせる原因になりかねない。【０００４】  その理由は以下の通りである。上述した特許文献１に記載された先行技術では、ページ内容を変化させるにあたって、再生装置側のメモリにロードされた対話制御情報の総入れ替えを行う。ここで１つのページからなるメニューでは、対話制御情報のサイズが僅かであり、かかる総入れ替えに、大きな処理負荷は生じない。しかしマルチページメニューを実現するような対話制御情報であると、対話制御情報のサイズが０．５Ｍ〜１．０Ｍバイトに及ぶことがあり、再生装置側に多大な処理負荷が生じることになる。対話制御情報のサイズが多大であると、これの総入れ替えの発生によりマルチページメニューの表示が一時途切れる結果を招きかねない。グラフィクスデコーダのリセットが必要になる場合も同様である。【０００５】  従来技術は、マルチページメニューを変化させる毎に、グラフィクスデコーダのリセットや対話制御情報の総入れ替えを行う必要があり、表示が一旦消えてしまう恐れがあるので、動画の再生進行に伴って、マルチページメニューを微妙に変化させるという制御には不向きであった。
本発明の目的は、マルチページメニューの表示を中断しなくても、特定のページの内容を僅かずつ変化させることができる記録媒体を提供することである。
【課題を解決するための手段】
【０００６】  上記目的を達成するため本発明に係る記録媒体は、動画ストリームと、グラフィクスストリームとが記録されており、前記動画ストリームは、動画像を構成するものであり、前記グラフィクスストリームは、動画像と合成されるべきメニュー表示を構成するものであり、グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数含み、前記ディスプレイセットは、前記メニューを構成する一つまたは複数のページを含み、グラフィクスストリームに属する複数ディスプレイセットは、先行するディスプレイセットからの内容変化の有無を、前記メニューにおける個々のページ毎に示すバージョン情報を含むことを特徴としている。
【発明の効果】
【０００７】  上記構成によれば、先行するディスプレイセットからの各ページ毎の変化が、ページ情報毎に示されているので、たとえ対話制御情報全体のサイズが大きくても、内容の変化があったページ情報のみ、バッファ上で入れ替えれば、マルチページメニューの内容を僅かに変化させることができる。バッファ上の入れ替えを行うべきページ情報は、バージョンが増えたページのみになるので、再描画に要する処理負荷を必要最低限にすることができる。【０００８】  処理負荷を必要最低限にすることにより、表示の途切れを抑えることができ、マルチページメニューにおける一部のページを、僅かずつ変化させるという表示制御が可能になる。かかる表示制御の実現により、マルチページメニューの緻密な変化が可能になり、映画製作者は、様々な工夫でユーザを楽しませるような映画作品を、世界中に送り出すことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図２】ＢＤ−ＲＯＭの内部構成を示す図である。
【図３】ＡＶＣｌｉｐがどのように構成されているかを模式的に示す図である。
【図４】（ａ）インタラクティブグラフィクスストリームの構成を示す図である。
【００１０】  （ｂ）機能セグメントを変換することで得られるＰＥＳパケットを示す図である。【図５】様々な種別の機能セグメントにて構成される論理構造を示す図である。
【図６】ＤＳｎが割り当てられた、ＡＶＣｌｉｐの再生時間軸を示す図である。
【図７】（ａ）（ｂ）ＩＣＳとＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎとの対応関係を示す図である。
【図８】ＩＣＳの内部構成を示す図である。
【図９】１つのＤｉｓｐｌａｙ  Ｓｅｔにおけるｘ番目のＤｉｓｐｌａｙ  Ｓｅｔに属する複数ページ情報のうち、任意のもの（ｙ枚目のページ）についてのページ情報の内部構成を示す図である。
【図１０】連続する２つのＤｉｓｐｌａｙ  Ｓｅｔ（ＤＳｘ＋１、ＤＳｘ）におけるＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒ設定を示す図である。
【図１１】ＤＳｘ．Ｐａｇｅ情報（ｙ）により構成されるページと、ＤＳｘ＋１．Ｐａｇｅ情報（ｙ）により構成されるページとを対比して示す図である。
【図１２】ＤＳｘ．Ｐａｇｅ情報（ｙ）により構成されるページと、ＤＳｘ＋１．Ｐａｇｅ情報（ｙ）により構成されるページとを対比して示す図である。
【図１３】本発明に係る再生装置の内部構成を示す図である。
【図１４】Ｉ−Ｇｒａｐｈｉｃｓデコーダ９の内部構成を示す図である。
【図１５】機能セグメントのロード処理の処理手順を示すフローチャートである。
【図１６】Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが変化したページ情報を用いたアップデート処理の手順を示すフローチャートである。
【図１７】本具体例の対象となるＡＶＣｌｉｐの内部構成を示す図である。
【図１８】図１１と同様の表記で示したＡＶＣｌｉｐの内部構成を示す図である。
【図１９】通常再生時におけるページ描画を模式的に示す図である。
【図２０】飛び込み再生時の描画処理を示す図である。
【図２１】図２０に示した描画により、どのような合成画像が得られるかを示す図である。
【図２２】３つの連続するＤｉｓｐｌａｙ  Ｓｅｔ（ＤＳ１、ＤＳ２、ＤＳ３）のＰａｇｅ情報（２）を示す図である。
【図２３】ＡＶＣｌｉｐ再生進行に伴うグラフィックスプレーンの格納内容の時間的変移を示す図である。
【図２４】図２２に示したＡＶＣｌｉｐに対する飛び込み時において、グラフィクス描画がどのように行われるかを示す図である。
【図２５】複数ページのうち、任意のもの（ｘ枚目のページ）についてのページ情報の内部構成を示す図である。
【図２６】ボタン０−Ａ〜ボタン０−Ｄの状態遷移を示す図である。
【図２７】図２６の状態遷移を実現する場合のボタン情報の記述例を示す図である。
【図２８】ＯＤＳ１１〜１９の絵柄を示す図である。
【図２９】Ｅｆｆｅｃｔ＿Ｓｅｑｕｅｎｃｅの内部構成を示す図である。
【図３０】任意のｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（ｉ）の内部構成をクローズアップした図である。
【図３１】右ＳｃｒｏｌｌによりＩｎ＿Ｅｆｆｅｃｔを実現するという具体例を示す図である。
【図３２】ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（０）の記述例を示す図である。
【図３３】ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（１）の記述例を示す図である。
【図３４】ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（２）の記述例を示す図である。
【図３５】ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（３）の記述例を示す図である。
【図３６】（ａ）ＰＳＲ１１についてのＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄを示すフローチャートである。
【００１１】  （ｂ）ＰＳＲ１１についてのＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄを示すフローチャートである。【図３７】（ａ）ＰＳＲ１０のＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄを示すフローチャートである。
【００１２】  （ｂ）ＰＳＲ１０のＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄを示すフローチャートである。【図３８】Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ３７の処理のうち、メインルーチンにあたる処理を示すフローチャートである。
【図３９】Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６においてページ情報のアップデートがあった場合の再表示処理の手順を示すフローチャートである。
【図４０】ページの最初の表示の処理手順を示すフローチャートである。
【図４１】Ｉｎ＿ｅｆｆｅｃｔを再生するにあたっての処理手順を示すフローチャートである。
【図４２】ボタン表示をアニメーション的に更新するための処理手順を示すフローチャートである。
【図４３】ナビゲーションコマンド実行時における処理手順を示すフローチャートである。
【図４４】ＵＯ処理の処理手順を示すフローチャートである。
【図４５】カレントボタンの変更処理の処理手順を示すフローチャートである。
【図４６】Ｅｐｏｃｈ  ＳｔａｒｔタイプＤｉｓｐｌａｙ  Ｓｅｔの内部構成を示す。
【図４７】（ａ）Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔタイプＤｉｓｐｌａｙ  Ｓｅｔの内部構成を示す。
【００１３】  （ｂ）Ｎｏｒｍａｌ  ＣａｓｅタイプのＤｉｓｐｌａｙ  Ｓｅｔの内部構成を示す。【図４８】第１実施形態〜第４実施形態に示したＢＤ−ＲＯＭを作成するための製造工程を示す図である。
【発明を実施するための最良の形態】
【００１４】  （第１実施形態）
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図１は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図１において、本発明に係る記録媒体は、ＢＤ−ＲＯＭ１００である。このＢＤ−ＲＯＭ１００は、再生装置２００、リモコン３００、テレビ４００により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。【００１５】  以上が本発明に係る記録媒体の使用形態についての説明である。続いて本発明に係る記録媒体の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録媒体は、ＢＤ−ＲＯＭの応用層に対する改良により実施することができる。図２は、ＢＤ−ＲＯＭの構成を示す図である。
本図の第４段目にＢＤ−ＲＯＭを示し、第３段目にＢＤ−ＲＯＭ上のトラックを示す。本図のトラックは、ＢＤ−ＲＯＭの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてＢＤ−ＲＯＭの応用層フォーマット（アプリケーションフォーマット）を表現すると、第１段目のようになる。【００１６】  第１段目は、ＢＤ−ＲＯＭの応用層レイアウト（アプリケーションフォーマット）を示す図である。本図において、Ｒｏｏｔディレクトリの配下にはＢＤＭＶというサブディレクトリが形成されている。このＢＤＭＶディレクトリの下には、ＳＴＲＥＡＭディレクトリが存在する。
ＳＴＲＥＡＭディレクトリは、ＡＶＣｌｉｐを格納したディレクトリである。ＳＴＲＥＡＭディレクトリにおける『００００１．ｍ２ｔｓ』，『００００２．ｍ２ｔｓ』，『００００３．ｍ２ｔｓ』はＡＶＣｌｉｐを格納したファイルであり、これらのファイルには「ｘｘｘｘｘ．ｍ２ｔｓ（ｘは任意の整数）」という統一形式のファイル名が付与されている。【００１７】  ＜ＡＶＣｌｉｐの構成＞
ＡＶＣｌｉｐについて説明する。図３は、ＡＶＣｌｉｐがどのように構成されているかを模式的に示す図である。
ＡＶＣｌｉｐは（中段）、複数のビデオフレーム（ピクチャｐｊ１，２，３）からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを（上１段目）、ＰＥＳパケット列に変換し（上２段目）、更にＴＳパケットに変換し（上３段目）、同じく字幕系のプレゼンテーショングラフィクスストリーム（ＰＧストリーム）及び対話系のインタラクティブグラフィクスストリーム（ＩＧストリーム）を（下１段目）を、ＰＥＳパケット列に変換し（下２段目）、更にＴＳパケットに変換して（下３段目）、これらを多重化することで構成される。【００１８】  プレゼンテーショングラフィクスストリーム及びインタラクティブグラフィクスストリームは、ビデオストリームにおける個々のピクチャにグラフィクスを合成させるという画面構成を実現するストリーム形式のデータである。これらプレゼンテーショングラフィクスストリーム及びインタラクティブグラフィクスストリームにより、ピクチャに合成される合成客体を”グラフィクスオブジェクト”という。【００１９】  プレゼンテーショングラフィクスストリームは、グラフィクスオブジェクトを用いた字幕表示を実現するグラフィクスストリームである。
インタラクティブグラフィクスストリームは、グラフィクスオブジェクトの対話的な表示を実現するグラフィクスストリームである。以上がＡＶＣｌｉｐの構成である。このＡＶＣｌｉｐには、上述したような複数エレメンタリストリームから構成されているものだけではなく、単一のエレメンタリストリームから構成されているものがある。単一のエレメンタリストリームから構成されているＡＶＣｌｉｐをＳｕｂＣｌｉｐという。ＳｕｂＣｌｉｐは、インタラクティブグラフィクスストリームのみ、オーディオストリームのみ、テキストデータのみを格納したファイルである。ＳｕｂＣｌｉｐたるインタラクティブグラフィクスストリームは、再生時において予めメモリにロードされた上で、他のＡＶＣｌｉｐと同期して再生される。ここで、ＡＶＣｌｉｐを再生するにあたって、ＳｕｂＣｌｉｐを前もってメモリにロードしておくことをプリロードという。【００２０】  続いてインタラクティブグラフィクスストリームについて説明する。図４（ａ）は、インタラクティブグラフィクスストリームの構成を示す図である。第１段目は、ＡＶＣｌｉｐを構成するＴＳパケット列を示す。第２段目は、グラフィクスストリームを構成するＰＥＳパケット列を示す。第２段目におけるＰＥＳパケット列は、第１段目におけるＴＳパケットのうち、所定のＰＩＤをもつＴＳパケットからペイロードを取り出して、連結することにより構成される。尚、プレゼンテーショングラフィクスストリームについては、本願の主眼ではないので説明は行わない。【００２１】  第３段目は、グラフィクスストリームの構成を示す。グラフィクスストリームは、ＩＣＳ（Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｍｐｏｓｉｔｉｏｎ  Ｓｅｇｍｅｎｔ）、ＰＤＳ（Ｐａｌｅｔｔｅ  Ｄｉｆｉｎｉｔｉｏｎ  Ｓｅｇｍｅｎｔ）、ＯＤＳ（Ｏｂｊｅｃｔ＿Ｄｅｆｉｎｉｔｉｏｎ＿Ｓｅｇｍｅｎｔ）、ＥＮＤ（ＥＮＤ  ｏｆ  Ｄｉｓｐｌａｙ  Ｓｅｔ  Ｓｅｇｍｅｎｔ）と呼ばれる機能セグメントからなる。これらの機能セグメントのうち、ＩＣＳは、画面構成セグメントと呼ばれ、ＰＤＳ、ＯＤＳ、ＥＮＤは定義セグメントと呼ばれる。ＰＥＳパケットと機能セグメントとの対応関係は、１対１の関係、１対多の関係である。つまり機能セグメントは、１つのＰＥＳパケットに変換されてＢＤ−ＲＯＭに記録されるか、又は、フラグメント化され、複数ＰＥＳパケットに変換されてＢＤ−ＲＯＭに記録される。【００２２】  以降、各機能セグメントについて説明する。
『Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｍｐｏｓｉｔｉｏｎ  Ｓｅｇｍｅｎｔ（ＩＣＳ）』は、対話的なグラフィクスオブジェクトの画面構成を制御する機能セグメントである。対話的な画面構成の１つとして、本実施形態のＩＣＳは、マルチページメニューを実現するものとする。
『Ｏｂｊｅｃｔ＿Ｄｅｆｉｎｉｔｉｏｎ＿Ｓｅｇｍｅｎｔ（ＯＤＳ）』は、ランレングス符号化形式のグラフィクスオブジェクトである。ランレングス符号化形式のグラフィクスオブジェクトは複数のランレングスデータからなる。ランレングスデータとは、画素値を示すＰｉｘｅｌ  Ｃｏｄｅと、画素値の連続長とにより、画素列を表現したデータである。Ｐｉｘｅｌ  Ｃｏｄｅは、８ビットの値であり、０〜２５５の値をとる。ランレングスデータでは、このＰｉｘｅｌ  Ｃｏｄｅによりフルカラーの１６，７７７，２１６色から任意の２５６色を選んで画素の色として設定することができる。【００２３】  『Ｐａｌｅｔｔｅ  Ｄｉｆｉｎｉｔｉｏｎ  Ｓｅｇｍｅｎｔ（ＰＤＳ）』は、パレットデータを格納する機能セグメントである。パレットデータとは、０〜２５５のＰｉｘｅｌ  Ｃｏｄｅと、画素値との組合せを示すデータである。ここで画素値は、赤色差成分（Ｃｒ値），青色差成分（Ｃｂ値），輝度成分（Ｙ値），透明度（Ｔ値）から構成される。各ランレングスデータが有するＰｉｘｅｌ  Ｃｏｄｅを、パレットに示される画素値に置き換えることで、ランレングスデータは発色されることになる。【００２４】  『ＥＮＤ  ｏｆ  Ｄｉｓｐｌａｙ  Ｓｅｔ  Ｓｅｇｍｅｎｔ（ＥＮＤ）』は、機能セグメントの伝送の終わりを示す指標であり、最後のＯＤＳの直後に配置される。以上が各機能セグメントについての説明である。
図４（ｂ）は、機能セグメントを変換することで得られるＰＥＳパケットを示す図である。図４（ｂ）に示すようにＰＥＳパケットは、パケットヘッダと、ペイロードとからなり、このペイロードが機能セグメント実体にあたる。またパケットヘッダには、この機能セグメントに対応するＤＴＳ、ＰＴＳが存在する。尚以降の説明では、機能セグメントが格納されるＰＥＳパケットのヘッダ内に存在するＤＴＳ及びＰＴＳを、機能セグメントのＤＴＳ及びＰＴＳとして扱う。【００２５】  これら様々な種別の機能セグメントは、図５のような論理構造を構築する。図５は、様々な種別の機能セグメントにて構成される論理構造を示す図である。本図は第１段目にＥｐｏｃｈを、第２段目にＤｉｓｐｌａｙ  Ｓｅｔを、第３段目にＤｉｓｐｌａｙ  Ｓｅｔの類型をそれぞれ示す。図４（ａ）の第３段目に示した機能セグメントは第４段目に描かれている。
第１段目のＥｐｏｃｈとは、ＡＶＣｌｉｐの再生時間軸上においてメモリ管理の連続性をもっている一つの期間、及び、この期間に割り当てられたデータ群をいう。ここで想定しているメモリとは、表示を構成するグラフィクスオブジェクトを格納しておくためのグラフィクスプレーン、非圧縮グラフィクスオブジェクトを格納しておくためのオブジェクトバッファである。これらについてのメモリ管理に、連続性があるというのは、このＥｐｏｃｈにあたる期間を通じてこれらグラフィクスプレーン及びオブジェクトバッファのフラッシュは発生せず、グラフィックプレーン内のある決められた矩形領域内でのみ、グラフィクスの消去及び再描画が行われることをいう（※ここでフラッシュとは、プレーン及びバッファの格納内容を全部クリアしてしまうことである。）。この矩形領域の縦横の大きさ及び位置は、Ｅｐｏｃｈにあたる期間において、終始固定されている。グラフィックプレーンにおいて、この固定化された領域内で、グラフィクスの消去及び再描画を行っている限り、シームレス再生が保障される。つまりＥｐｏｃｈは、シームレス再生の保障が可能な再生時間軸上の一単位ということができる。グラフィックプレーンにおいて、グラフィクスの消去・再描画を行うべき領域を変更したい場合は、再生時間軸上においてその変更時点を定義し、その変更時点以降を、新たなＥｐｏｃｈにせねばならない。この場合、２つのＥｐｏｃｈの境界では、シームレス再生は保証されない。【００２６】  尚、ここでのシームレス再生とは、グラフィクスの消去及び再描画が、所定のビデオフレーム数で完遂することをいう。インタラクティブグラフィクスストリームの場合、このビデオフレーム数は、４，５フレームとなる。このビデオフレームをどれだけにするかは、グラフィックプレーン全体に対する固定領域の大きさの比率と、オブジェクトバッファ−グラフィックプレーン間の転送レートとによって定まる。【００２７】  第２段目のＤｉｓｐｌａｙ  Ｓｅｔ（ＤＳと略す）とは、グラフィクスストリームを構成する複数機能セグメントのうち、一つの画面構成を実現するものの集合をいう。図５における破線ｈｋ１は、第２段目のＤｉｓｐｌａｙ  Ｓｅｔが、どのＥｐｏｃｈに帰属しているかという帰属関係を示す。ＤＳ１，２，３・・・ｎは、第１段目のＥｐｏｃｈを構成していることがわかる。
第３段目はＤｉｓｐｌａｙ  Ｓｅｔの類型を示す。Ｅｐｏｃｈの先頭に位置するＤｉｓｐｌａｙ  Ｓｅｔの類型はＥｐｏｃｈ  Ｓｔａｒｔである。先頭ではないＤｉｓｐｌａｙ  Ｓｅｔの類型は『Ａｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔ』、『Ｎｏｒｍａｌ  Ｃａｓｅ』、『Ｅｐｏｃｈ  Ｃｏｎｔｉｎｕｅ』である。本図におけるＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔ、Ｎｏｒｍａｌ  Ｃａｓｅ、Ｅｐｏｃｈ  Ｃｏｎｔｉｎｕｅの順序は、一例にすぎず、どちらが先であってもよい。【００２８】  『Ｅｐｏｃｈ  Ｓｔａｒｔ』は、新たなＥｐｏｃｈの開始にあたるＤｉｓｐｌａｙ  Ｓｅｔである。そのためＥｐｏｃｈ  Ｓｔａｒｔは、次の画面合成に必要な全ての機能セグメントを含んでいる。Ｅｐｏｃｈ  Ｓｔａｒｔは、映画作品におけるチャプター等、頭出しがなされることが判明している位置に配置される。
『Ａｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔ』は、Ｅｐｏｃｈの開始時点ではないが、次の画面合成に必要な全ての機能セグメントを含んでいるＤｉｓｐｌａｙ  Ｓｅｔである。Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔたるＤＳから頭出しを行えば、グラフィックス表示を確実に実現することができる。つまりＡｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔたるＤＳは、Ｅｐｏｃｈの途中からの画面構成を可能するという役割をもつ。Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔたるＤｉｓｐｌａｙ  Ｓｅｔは、頭出し先になり得る位置に組み込まれる。そのような位置には、タイムサーチにより指定され得る位置がある。タイムサーチとは、何分何秒という時間入力をユーザから受け付けて、その時間入力に相当する再生時点から頭出しを行う操作である。かかる時間入力は、１０分単位、１０秒単位というように、大まかな単位でなされるので、１０分間隔の再生位置、１０秒間隔の再生位置がタイムサーチにより指定され得る位置になる。このようにタイムサーチにより指定され得る位置にＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔを設けておくことにより、タイムサーチ時のグラフィクスストリーム再生を好適に行うことができる。【００２９】  『Ｎｏｒｍａｌ  Ｃａｓｅ』は、”表示アップデート”という表示効果をもたらすＤＳであり、前の画面合成からの差分のみを含む。例えば、あるＤＳｖは、先行するＤＳｕと同じ内容であるが、画面構成が、この先行するＤＳｕとは異なる場合、ＩＣＳのみのＤＳｖ、又は、ＯＤＳのみのＤＳｖを設けてこのＤＳｖをＮｏｒｍａｌ  ＣａｓｅのＤＳにする。こうすれば、重複するＯＤＳを設ける必要はなくなるので、ＢＤ−ＲＯＭにおける容量削減に寄与することができる。Ｎｏｒｍａｌ  ＣａｓｅのＤＳは、差分にすぎないので、Ｎｏｒｍａｌ  Ｃａｓｅ単独では画面構成は行えない。【００３０】  『Ｅｐｏｃｈ  Ｃｏｎｔｉｎｕｅ』とは、ＡＶＣｌｉｐの境界において、Ｅｐｏｃｈが連続していることを示す。１つのＤＳｎのＣｏｍｐｏｓｉｔｉｏｎ  ＳｔａｔｅがＥｐｏｃｈ  Ｃｏｎｔｉｎｕｅに設定されていれば、たとえＤＳｎが、その直前に位置するＤＳｎ−１と異なるＡＶＣｌｉｐ上に存在していたとしても、同じＥｐｏｃｈに属することになる。これらＤＳｎ，ＤＳｎ−１は、同じＥｐｏｃｈに帰属するので、たとえこれら２つのＤＳ間で、ＡＶＣｌｉｐの分岐が発生したとしても、グラフィックスプレーン、オブジェクトバッファのフラッシュは発生しない。【００３１】  図中の破線ｋｚ１は、第４段目の機能セグメントが、どのＤＳに帰属しているかという帰属関係を示す。第４段目の機能セグメントは、図４（ａ）に示したものと同じものなので、これら図４（ａ）の一連の機能セグメントは、Ｅｐｏｃｈ  Ｓｔａｒｔに帰属していることがわかる。Ａｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔに帰属する機能セグメントは、Ｅｐｏｃｈ  Ｓｔａｒｔに帰属するものと同じであり、Ｎｏｒｍａｌ  Ｃａｓｅに帰属する機能セグメントは、Ｅｐｏｃｈ  Ｓｔａｒｔに帰属するものの一部を省略したものである。【００３２】  以上が機能セグメントにより構成される論理構造についての説明である。続いてこれらＩＣＳ、ＯＤＳを有したＤｉｓｐｌａｙ  Ｓｅｔが、ＡＶＣｌｉｐの再生時間軸上にどのように割り当てられるかについて説明する。Ｅｐｏｃｈは、再生時間軸上においてメモリ管理が連続する期間であり、Ｅｐｏｃｈは１つ以上のＤｉｓｐｌａｙ  Ｓｅｔから構成されるので、Ｄｉｓｐｌａｙ  ＳｅｔをどうやってＡＶＣｌｉｐの再生時間軸に割り当てるかが問題になる。ここでＡＶＣｌｉｐの再生時間軸とは、ＡＶＣｌｉｐに多重されたビデオストリームを構成する個々のピクチャデータのデコードタイミング、再生タイミングを規定するための想定される時間軸をいう。この再生時間軸においてデコードタイミング、再生タイミングは、９０ＫＨｚの時間精度で表現される。Ｄｉｓｐｌａｙ  Ｓｅｔ内のＩＣＳ、ＯＤＳに付加されたＤＴＳ、ＰＴＳは、この再生時間軸において同期制御を実現すべきタイミングを示す。このＩＣＳ、ＯＤＳに付加されたＤＴＳ、ＰＴＳを用いて同期制御を行うことが、再生時間軸へのＤｉｓｐｌａｙ  Ｓｅｔの割り当てである。【００３３】  Ｅｐｏｃｈに属するＤｉｓｐｌａｙ  Ｓｅｔのうち、任意のＤｉｓｐｌａｙ  ＳｅｔをＤＳｎとすると、ＤＳｎは、図６に示すようなＤＴＳ、ＰＴＳ設定によりＡＶＣｌｉｐの再生時間軸に割り当てられる。図６は、ＤＳｎが割り当てられた、ＡＶＣｌｉｐの再生時間軸を示す図である。本図においてＤＳｎの始期は、ＤＳｎに属するＩＣＳのＤＴＳ値（ＤＴＳ（ＤＳｎ［ＩＣＳ］））により示されており、終期は、ＤＳｎに属するＥＮＤのＰＴＳ値（ＰＴＳ（ＤＳｎ［ＥＮＤ］））により示されている。そしてＤＳｎにおいて最初の表示が行われるタイミングは、ＩＣＳのＰＴＳ値（ＰＴＳ（ＤＳｎ［ＩＣＳ］））に示されている。ＡＶＣｌｉｐ再生時間軸において、ビデオストリームの所望のピクチャが出現するタイミングと、ＰＴＳ（ＤＳｎ［ＩＣＳ］）とを一致させれば、ＤＳｎの最初の表示は、そのビデオストリームと同期することになる。【００３４】  ＰＴＳ（ＤＳｎ［ＩＣＳ］）は、ＤＴＳ（ＤＳｎ［ＩＣＳ］）に、ＯＤＳのデコードに要する期間（ＤＥＣＯＤＥＤＵＲＡＴＩＯＮ）と、デコードにより得られたグラフィクスオブジェクトの転送に要する期間（ＴＲＡＮＳＦＥＲＤＵＲＡＴＩＯＮ）とを足し合わせた値である。
最初の表示に必要なＯＤＳのデコードは、このＤＥＣＯＤＥＤＵＲＡＴＩＯＮ内に行われることになる。図６の期間ｍｃ１は、ＤＳｎに属する任意のＯＤＳ（ＯＤＳｍ）のデコードがなされる期間を示す。このデコード期間の開始点は、ＤＴＳ（ＯＤＳｎ［ＯＤＳｍ］）により示され、このデコードの終了点は、ＰＴＳ（ＯＤＳｎ［ＯＤＳｍ］）により示される。【００３５】  以上のような再生時間軸への割り付けを、Ｅｐｏｃｈに属する全てのＯＤＳに対して行うことで、Ｅｐｏｃｈは規定されることになる。以上が再生時間軸に対する割り付けについての説明である。
本実施形態は、上述した再生時間軸における動画の再生進行に応じて、マルチページメニューの挙動を制御することを特徴としている。この特徴を実現するための新規な構成は、ＩＣＳ内のＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎに存在する。以降ＩＣＳ、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎの内部構成について以下説明する。【００３６】  図７（ａ）（ｂ）は、ＩＣＳとＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎとの対応関係を示す図である。ＩＣＳとＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎとの対応関係には、図７（ａ）に示すような１対１のものと、図７（ｂ）に示すような１対多のものとがある。
対応関係が１対１になるのは、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎのサイズが小さく、１つのＩＣＳ内にＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎが収まる場合である。【００３７】  １対多の対応関係になるのは、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎのサイズが大きく、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎがフラグメント化され、複数ＩＣＳに格納される場合である。複数ＩＣＳへの格納が可能なので、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎサイズには制限がなく、５１２Ｋバイトであろうと、１Ｍバイトであろうと、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎのサイズを大きくすることができる。ＩＣＳ、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎには１対多の対応関係もあり得るが、簡単を期するため、以降の説明では、ＩＣＳ、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎの対応関係は、１対１であるとする。【００３８】  図８は、ＩＣＳの内部構成を示す図である。ＩＣＳには、Ｉｎｔｅｒａｃｔｉｖｅ＿Ｃｏｍｐｏｓｉｔｉｏｎの全体、又は、Ｉｎｔｅｒａｃｔｉｖｅ＿Ｃｏｍｐｏｓｉｔｉｏｎをフラグメント化することで得られた一部が格納されている。図８の左側に示すように、ＩＣＳは、自身がＩＣＳであることを示す『ｓｅｇｍｅｎｔ＿ｄｅｓｃｒｉｐｔｏｒ』と、本ＩＣＳが想定している縦横の画素数、フレームレートを示す『ｖｉｄｅｏ＿ｄｅｓｃｒｉｐｔｏｒ』と、本ＩＣＳが属するＤｉｓｐｌａｙ  Ｓｅｔが、Ｎｏｒｍａｌ  Ｃａｓｅ、Ａｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔ、Ｅｐｏｃｈ  Ｓｔａｒｔ、Ｅｆｆｅｃｔ＿Ｓｅｑｕｅｎｃｅの何れであるかを示すｃｏｍｐｏｓｉｔｉｏｎ＿ｓｔａｔｅと、画面合成の回数を示すＣｏｍｐｏｓｉｔｉｏｎ＿Ｓｔａｔｅとを含む『ｃｏｍｐｏｓｉｔｉｏｎ＿ｄｅｓｃｒｉｐｔｏｒ』と、Ｉｎｔｅｒａｃｔｉｖｅ＿Ｃｏｍｐｏｓｉｔｉｏｎの全体、又は、Ｉｎｔｅｒａｃｔｉｖｅ＿Ｃｏｍｐｏｓｉｔｉｏｎをフラグメント化することで得られた一部である『Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎ＿ｄａｔａ＿ｆｒａｇｍｅｎｔ』とからなる。【００３９】  図８の矢印ｃｕ１は、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎの内部構成をクローズアップしている。この矢印に示すようにＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎは、『Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎ＿ｌｅｎｇｔｈ』，『Ｓｔｒｅａｍ＿ｍｏｄｅｌ』，『ｕｓｅｒ＿ｉｎｔｅｒｆａｃｅ＿ｍｏｄｅｌ』，『ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓ』，『ｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓ』，『ｕｓｅｒ＿ｔｉｍｅ＿ｏｕｔ＿ｄｕｒａｔｉｏｎ』、マルチページメニューにおいて表示可能な複数ページのそれぞれに対応する『ページ情報（１）（２）・・・（ｉ）・・・（ｎｕｍｂｅｒ＿ｏｆ＿ｐａｇｅ−１）』を含む。【００４０】  『Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎ＿ｌｅｎｇｔｈ』は、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎのデータ長を示す。
『Ｓｔｒｅａｍ＿ｍｏｄｅｌ』は、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎが想定しているストリームモデルのタイプを示す。ストリームモデルとは、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎがどのような形態でＢＤ−ＲＯＭに記録されて、再生装置におけるバッファ（コンポジションバッファと呼ばれる）上でどのように扱われるかを示すものであり、Ｓｔｒｅａｍ＿ｍｏｄｅｌは、グラフィクスストリームがＡＶＣｌｉｐから多重分離されてコンポジションバッファ上にロードされたものであるか（ｉ）、ＳｕｂＣｌｉｐとして、コンポジションバッファにプリロードされたものであるか（ｉｉ）を示す。【００４１】  『ｕｓｅｒ＿ｉｎｔｅｒｆａｃｅ＿ｍｏｄｅｌ』は、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎが想定しているユーザインターフェイスモデルが、Ａｌｗａｙｓ−ｏｎＵ／ＩであるかＰｏｐ−ｕｐＵ／Ｉであるかを示す。Ａｌｗａｙｓ−ｏｎＵ／Ｉとは、ＡＶＣｌｉｐの再生進行に伴ってメニューの表示・消去がなされるユーザインターフェイスであり、ポップアップＵ／Ｉとは、ユーザによる操作をトリガにしてメニューの表示・消去がなされるユーザインターフェイスである。【００４２】  『Ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓ』は、ＩＣＳが帰属するＥｐｏｃｈの終期（Ｅｐｏｃｈ  ＥＮＤ）を示す。ＩＣＳによる対話制御は、このＥｐｏｃｈ終期（Ｅｐｏｃｈ  ＥＮＤ）においてもはや不可能となるので、このｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓに示される時点が、対話制御の終期を意味する。
『ｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓ』は、セレクテッド状態にあるボタンを自動的にアクティベートするためのタイムアウト時刻を示す。ボタンとは、マルチページメニューにおける個々の選択項目であり、かかるボタンの状態をアクティブ状態に変化させる時間を規定しているのがこのｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓである。【００４３】  図中のＩＦ文（ｉｆ（Ｓｔｒｅａｍ＿ｍｏｄｅｌ＝＝’０ｂ’））は、上述したｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓ及びｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓが、Ｓｔｒｅａｍ＿ｍｏｄｅｌ＝Ｍｕｌｔｉｐｌｅｘｅｄの際、出現する任意の情報要素であることを示してる。ＩＣＳが想定しているストリームモデルがプリロードである場合、これらｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓ、ｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓは存在しない。
『ｕｓｅｒ＿ｔｉｍｅ＿ｏｕｔ＿ｄｕｔｒａｔｉｏｎ』は、ユーザ操作により表示され得るページを消去するためのタイムアウト時刻を示す。Ａｌｗａｙｓ−ｏｎＵ／Ｉでは、２ｎｄＰａｇｅ以降のＰａｇｅ（ＳｕｂＰａｇｅという）がユーザ操作により表示されるので、このｕｓｅｒ＿ｔｉｍｅ＿ｏｕｔ＿ｄｕｔｒａｔｉｏｎのタイムアウトにより、ＳｕｂＰａｇｅのみが消去され、１ｓｔＰａｇｅのみとなる。Ｐｏｐ−ｕｐＵ／Ｉでは、ＳｕｂＰａｇｅだけではなく、マルチページメニュー全体がユーザ操作により表示されるので、ｕｓｅｒ＿ｔｉｍｅ＿ｏｕｔ＿ｄｕｔｒａｔｉｏｎのタイムアウトにより、全てのページが消去され何も表示されない状態（Ｎｏ  Ｍｅｎｕ  Ｄｉｓｐｌａｙ）になる。【００４４】  図９は、１つのＤｉｓｐｌａｙ  Ｓｅｔにおけるｘ番目のＤｉｓｐｌａｙ  Ｓｅｔに属する複数ページのうち、任意のもの（ｙ枚目のページ）についてのページ情報の内部構成を示す図である。この図９の右側に示すようにＰａｇｅ情報（ｙ）は、
ｉ）Ｐａｇｅ（ｙ）を一意に識別する『ｐａｇｅ＿ｉｄ』、
ｉｉ）Ｐａｇｅ情報（ｙ）により運搬されるデータ構造の中身にあたる，『ＵＯ＿Ｍａｓｋ＿Ｔａｂｌｅ』、『ｉｎ＿ｅｆｆｅｃｔ』，『ｏｕｔ＿ｅｆｆｅｃｔ』，『ａｎｉｍａｔｉｏｎ＿ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅ』，『ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』、『ｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』，『ｐａｌｌｅｔ＿ｉｄ＿ｒｅｆ』，『ボタン情報（１）（２）・・・・・（ｎｕｍｂｅｒ＿ｏｆ＿ｂｕｔｔｏｎｓ−１）』、
ｉｉｉ）Ｐａｇｅ情報（ｙ）の中身のバージョンを示す『Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒ』
から構成される。
先ず初めに、Ｐａｇｅ情報（ｙ）により運搬されるデータ構造を構成する各フィールドについて説明する。【００４５】  『ＵＯ＿Ｍａｓｋ＿Ｔａｂｌｅ』は、Ｐａｇｅ（ｙ）におけるユーザ操作の許可／不許可が設定されるテーブルである。
『ｉｎ＿ｅｆｆｅｃｔ』は、Ｐａｇｅ（ｙ）の表示開始時あたって再生すべき表示効果を示す。『ｏｕｔ＿ｅｆｆｅｃｔ』は、Ｐａｇｅ（ｙ）の表示終了時あたって再生すべき表示効果を示す。
『ａｎｉｍａｔｉｏｎ＿ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅ』は、Ｐａｇｅ（ｙ）にアニメーション表示を適用する際、適用すべきフレームレートを記述する。【００４６】  『ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』は、Ｐａｇｅ（ｙ）の表示が始まったとき、デフォルトでセレクテッド状態に設定すべきボタンを動的に定めるか、静的に定めるかを示す。本フィールドが”ＯｘＦＦ”であれば、デフォルトでセレクテッド状態に設定すべきボタンを動的に定める旨を示す。動的に定める場合、再生装置における状態レジスタ（Ｐｌａｙｅｒ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ（ＰＳＲ））の設定値が優先的に解釈され、ＰＳＲに示されるボタンがセレクテッド状態になる。本フィールドが０ｘＦＦでなければ、デフォルトでセレクテッド状態に設定すべきボタンを静的に定める旨を示す。この場合、『ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』に規定されたボタン番号でＰＳＲを上書きし、本フィールドで指示されるボタンをセレクテッド状態にする。【００４７】  『ｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』は、ｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓに示される時点に達した際、自動的にアクティブ状態に設定されるボタンを示す。ｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆが”ＦＦ”であれば、所定のタイムアウト時刻において、現在セレクテッド状態になっているボタンが自動的に選択される。このｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆが００であれば、自動選択はなされない。００，ＦＦ以外の値であれば本フィールドは、有効なボタン番号として解釈される。【００４８】  『ｐａｌｌｅｔ＿ｉｄ＿ｒｅｆ』は、Ｐａｇｅ（ｙ）において、ＣＬＵＴ部に設定すべきパレットのｉｄを示す。
『ボタン情報（Ｂｕｔｔｏｎ＿ｉｎｆｏ）』は、Ｐａｇｅ（ｙ）上に表示される各ボタンを定義する情報である。以上のフィールドにより、マルチページメニューにおける個々のページの中身は特定される。
『Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒ』は、ＥｐｏｃｈにおいてＰａｇｅ情報（ｙ）のデータ構造により運搬される中身のバージョンを示すフィールドである。このＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒは本願の主眼となるものであるので、このＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒについて詳しく説明する。ページ情報（ｙ）のバージョンとは、ページ情報で運搬されるデータ構造の中身が、何回目のアップデートを経たものであるかを示す。Ｐａｇｅ情報（ｙ）のデータ構造において、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒ直後のフィールドのうち、どれかの値が変化した場合、又は、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒ直後の各フィールドに何等かの変化があった場合、Ｐａｇｅ情報（ｙ）は、アップデートされたとみなされる。【００４９】  Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒによるバージョンは、１つのＥｐｏｃｈにおける通し番号で表現される。そのため、このＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒの値は、ページ情報が１つのＥｐｏｃｈにおいてどのＤｉｓｐｌａｙ  Ｓｅｔに属するかによって変わる。１つのＥｐｏｃｈにおいてＥｐｏｃｈ  Ｓｔａｒｔに属するページ情報では、このＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒは初期値（＝０）に設定される。一方、２つ目以降のＤｉｓｐｌａｙ  Ｓｅｔのうち、アップデートをもたらすもの（Ａｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔ、Ｎｏｒｍａｌ  Ｃａｓｅ）に属するＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒには、アップデート回数を示す１〜２５５の値が設定される。【００５０】  以降図１０の具体例を交えてこのＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒについて詳しく説明する。
図１０は、連続する２つのＤｉｓｐｌａｙ  Ｓｅｔ（ＤＳｘ＋１、ＤＳｘ）におけるＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒ設定を示す図である。ＤＳｘ＋１はＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔであり、このＤｉｓｐｌａｙ  Ｓｅｔの任意のページ情報（ｙ）を着眼する。このＤＳｘ＋１のＰａｇｅ情報（ｙ）の中身が、ＤＳｘと全く同一であれば、ＤＳｘ＋１．Ｐａｇｅ情報（ｙ）のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒは、ＤＳｘ．Ｐａｇｅ情報（ｙ）のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒと同じ値に設定される。このＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒを参照することにより再生装置は、ＤＳｘ、ＤＳｘ＋１の間において、Ｐａｇｅ情報（ｙ）の中身から変わっていないと判断することができる。これに対し図１１では、ＤＳｘ＋１におけるＰａｇｅ情報（ｙ）の中身は、ＤＳｘにおけるＰａｇｅ情報（ｙ）のそれから変わっている。この場合、ＤＳｘ＋１．Ｐａｇｅ情報（ｙ）のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒは、ＤＳｘ．Ｐａｇｅ情報（ｙ）の値に１を加えた値（＝Ａ＋１）になっている。かかるＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒの値を参照することで再生装置は、ＤＳｘ＋１におけるＰａｇｅ情報（ｙ）が、ＤＳｘのＰａｇｅ情報（ｙ）から変化していることを知ることができる。【００５１】  図１２は、ＤＳｘ．Ｐａｇｅ情報（ｙ）により構成されるページと、ＤＳｘ＋１．Ｐａｇｅ情報（ｙ）により構成されるページとを対比して示す図である。
ＤＳｘ＋１におけるＰａｇｅ情報（ｙ）により構成されるページは、３つのボタン（Ａ，Ｂ，Ｃ）をボタンＢ→ボタンＣ→ボタンＡの順に配置するものである。
一方、ＤＳｘにおけるＰａｇｅ情報（ｙ）により構成されるページは、３つのボタン（ボタンＡ、ボタンＢ、ボタンＣ）を、ボタンＡ→ボタンＢ→ボタンＣの順に配置するものである。２枚のページの違いは、ボタンの順序がボタンＡ→ボタンＢ→ボタンＣからボタンＢ→ボタンＣ→ボタンＡに変化している点に過ぎない。たとえ変化が僅かなものであったとしても、ＤＳｘ＋１のＰａｇｅ情報（ｙ）におけるＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒの値は、ＤＳｘより増えた値になる。Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒをこのように設定しておくことでＰａｇｅ情報（ｙ）における些細な変化を、再生装置にシグナリングすることができる。【００５２】  これまでの説明は、Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔＤｉｓｐｌａｙ  ＳｅｔにおけるＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎをアップデートする一例であったが、Ｎｏｒｍａｌ  Ｃａｓｅに属するＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎにおいても、ページ情報毎にＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが存在する。そしてページ情報毎の内容変化を、このＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒに示させておくことができる。
以上が記録媒体についての説明である。続いて本発明に係る再生装置について説明する。【００５３】  図１３は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムＬＳＩと、ドライブ装置という２つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムＬＳＩは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、
主としてシステムＬＳＩと、ドライブ装置という２つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムＬＳＩは、再生装置の機能を果たす様々な処理部を集積した集積回路である。【００５４】  こうして生産される再生装置は、ＢＤドライブ１、リードバッファ２、デマルチプレクサ（Ｄｅ−ＭＵＸ）３、ビデオデコーダ４、ビデオプレーン１１、Ｐ−Ｇｒａｐｈｉｃｓデコーダ６、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１８、合成部８、Ｉ−Ｇｒａｐｈｉｃｓデコーダ９、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０、合成部１１、オーディオデコーダ１３、ＣＬＵＴ部１９、ＣＬＵＴ部２０、ＰＳＲセット１６、システムクロック１７、Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８、Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９、Ｃｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ２０、Ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎタイマ２１、操作受付部２２、状態制御部２３から構成される。【００５５】ＢＤ−ＲＯＭドライブ１は、ＢＤ−ＲＯＭのローディング／イジェクトを行い、ＢＤ−ＲＯＭに対するアクセスを実行する。
リードバッファ２は、ＦＩＦＯメモリであり、ＢＤ−ＲＯＭから読み出されたＴＳパケットが先入れ先出し式に格納される。
デマルチプレクサ（Ｄｅ−ＭＵＸ）３は、リードバッファ２からＴＳパケットを取り出して、このＴＳパケットを構成するＴＳパケットをＰＥＳパケットに変換する。そして変換により得られたＰＥＳパケットのうち、所定のｓｔｒｅａｍＰＩＤをもつものをビデオデコーダ４、オーディオデコーダ１３、Ｐ−Ｇｒａｐｈｉｃｓデコーダ６、Ｉ−Ｇｒａｐｈｉｃｓデコーダ９のどれかに出力する。【００５６】  ビデオデコーダ４は、デマルチプレクサ３から出力された複数ＰＥＳパケットを復号して非圧縮形式のピクチャを得てビデオプレーン１１に書き込む。
ビデオプレーン１１は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。再生装置に複数のプレーンを設けておき、これらプレーンの格納内容を画素毎に加算して、映像出力を行えば、複数の映像内容を合成させた上で映像出力を行うことができる。ビデオプレーン１１における解像度は１９２０×１０８０であり、このビデオプレーン１１に格納されたピクチャデータは、１６ビットのＹＵＶ値で表現された画素データにより構成される。【００５７】  Ｐ−Ｇｒａｐｈｉｃｓデコーダ６は、ＢＤ−ＲＯＭ、ＨＤから読み出されたグラフィクスストリームをデコードして、非圧縮グラフィクスをＰｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１８に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１８は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は１９２０×１０８０であり、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１８中の非圧縮グラフィクスの各画素は８ビットのインデックスカラーで表現される。ＣＬＵＴ（Ｃｏｌｏｒ  Ｌｏｏｋｕｐ  Ｔａｂｌｅ）を用いてかかるインデックスカラーを変換することにより、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１８に格納された非圧縮グラフィクスは、表示に供される。【００５８】  合成部８は、非圧縮状態のピクチャデータ（ｉ）を、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１８の格納内容と合成する。
Ｉ−Ｇｒａｐｈｉｃｓデコーダ９は、ＢＤ−ＲＯＭ又はＨＤから読み出されたＩＧストリームをデコードして、非圧縮グラフィクスをＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に書き込む。
Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０は、Ｉ−Ｇｒａｐｈｉｃｓデコーダ９によるデコードで得られた非圧縮グラフィクスが書き込まれる。このＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０は、通常ターンオフ状態に設定されており、Ｉ−Ｇｒａｐｈｉｃｓデコーダ９からの指示があった場合に、ターンオン状態になる。ターンオフ状態とは、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に格納された非圧縮グラフィクスを、動画像に合成せず、ページを表示しない制御をいう。一方、ターンオン状態とは、ターンオフされているＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０の格納内容を、ＣＬＵＴ部１５に出力して動画像に合成させる制御をいう。【００５９】  合成部１１は、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０の格納内容と、合成部８の出力である合成画像（非圧縮状態のピクチャデータと、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１８の格納内容とを合成したもの）とを合成する。
オーディオデコーダ１３は、デマルチプレクサ３から出力されたＰＥＳパケットを復号して、非圧縮形式のオーディオデータを出力する。【００６０】  ＣＬＵＴ部１９は、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１８に格納された非圧縮グラフィクスにおけるインデックスカラーを、Ｙ，Ｃｒ，Ｃｂ値に変換する。
ＣＬＵＴ部２０は、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に格納された非圧縮グラフィクスにおけるインデックスカラーを、Ｙ，Ｃｒ，Ｃｂ値に変換する。
ＰＳＲセット１６は、再生装置に内蔵されるレジスタであり、６４個のＰｌａｙｅｒ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ（ＰＳＲ）と、４０９６個のＧｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｒｅｇｉｓｔｅｒ（ＧＰＲ）とからなる。６４個のＰｌａｙｅｒ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ（ＰＳＲ）は、それぞれ現在の再生時点等、再生装置における諸状態を示す。６４個のＰＳＲのうちＰＳＲ５〜ＰＳＲ８は、現在の再生時点を表すものである。このうちＰＳＲ８は、０〜ＯｘＦＦＦＦＦＦＦＦの値に設定されることで、４５ＫＨｚの時間精度を用いてＡＶＣｌｉｐ上の現在の再生時点（カレントＰＴＭ）を示す。ＰＳＲ１１は、マルチページメニューにおけるカレントページのＰａｇｅ＿ｉｄを示し、ＰＳＲ１０は、そのカレントページにおいてセレクテッド状態になっているボタン（カレントボタン）を示す。【００６１】  システムクロック１７は、クロック信号を発生する。Ｄｅ−ＭＵＸ３によるＰＥＳパケット変換は、このクロック信号に同期してなされる。
ｕｓｅｒ＿ｔｉｍｅｏｕｔタイマ１８は、ＰＴＳ（ＤＳｎ［ＩＣＳ］）の時点において、ｕｓｅｒ＿ｔｉｍｅ＿ｏｕｔ＿ｄｕｔｒａｔｉｏｎが設定されるタイマである。ｕｓｅｒ＿ｔｉｍｅ＿ｏｕｔ＿ｄｕｔｒａｔｉｏｎが設定されると本Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８は、システムクロックの計時に伴い、カウントダウンを始める。タイマーによるカウントダウンは、ユーザ操作がなされる度にリセットされ、ｕｓｅｒ＿ｔｉｍｅ＿ｏｕｔ＿ｄｕｔｒａｔｉｏｎにより示される値に戻る。ユーザ操作が無い期間が長く続けば、カウント値はゼロに達し、Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８はタイムアウトする。【００６２】  Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９は、ＰＴＳ（ＤＳｎ［ＩＣＳ］）の時点において、ｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓが設定されるタイマである。ｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓが設定されると本Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９は、システムクロックの計時に伴い、カウントダウンを始める。Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９によるカウントダウンは、ユーザ操作がなされる度にリセットされ、ｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓにより示される値に戻るが、ユーザ操作が無い期間が長く続けば、タイマーのカウント値はゼロに達し、Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９はタイムアウトする。かかるタイムアウトにより、図９に示したＶａｌｉｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｐｅｒｉｏｄの経過を知ることができる。【００６３】  Ｃｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ２０は、ＤＴＳ（ＤＳｎ［ＩＣＳ］）の時点において、ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓが設定されるタイマである。ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓが設定されると本Ｃｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ２０は、システムクロックの計時に伴い、カウントダウンを始める。Ｃｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ２０によるカウントダウンは、ユーザ操作がなされもリセットされない。カウント値がゼロに達して、Ｃｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ２０がタイムアウトすれば、Ｅｐｏｃｈ  Ｅｎｄの到来を知ることができる。【００６４】  Ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎタイマ２１は、ＤＳｎがＥｐｏｃｈ  Ｓｔａｒｔである場合、ＤＴＳ（ＤＳｎ［ＩＣＳ］）の時点において、ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎが設定されるタイマである。ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎとは、ｅｆｆｅｃｔ映像の再生にあたっての表示期間をいう。ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎが設定されると本Ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎタイマ２１は、システムクロックの計時に伴い、カウントダウンを始める。Ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎタイマ２１によるカウントダウンは、ユーザ操作がなされもリセットされない。Ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎタイマ２１のカウント値はゼロに達し、Ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎタイマ２１がタイムアウトすれば、かかるタイムアウトにより、次のＥｆｆｅｃｔ映像の表示タイミングを知ることができる。【００６５】  操作受付部２２は、リモコンや再生装置のフロントパネルになされたキ��操作を受け付け、ユーザ操作を示す情報（ＵＯ）をＩ−Ｇｒａｐｈｉｃｓデコーダ９に出力する。
状態制御部２３は、Ｉ−Ｇｒａｐｈｉｃｓデコーダ９からの設定指示に従い、ＰＳＲに所望の値を設定する。
＜Ｉ−Ｇｒａｐｈｉｃｓデコーダ９の内部構成＞
続いて図１４を参照しながら、Ｉ−Ｇｒａｐｈｉｃｓデコーダ９の内部構成について説明する。図１４に示すようにＩ−Ｇｒａｐｈｉｃｓデコーダ９は、Ｃｏｄｅｄ  Ｄａｔａ  Ｂｕｆｆｅｒ３３、Ｓｔｒｅａｍ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ３４、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５、Ｃｏｍｐｏｓｉｔｉｏｎ  Ｂｕｆｆｅｒ３６、Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ３７から構成される。【００６６】  Ｃｏｄｅｄ  Ｄａｔａ  Ｂｕｆｆｅｒ３３は、ＩＣＳ、ＰＤＳ、ＯＤＳがＤＴＳ、ＰＴＳと共に一時的に格納されるバッファである。
Ｓｔｒｅａｍ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ３４は、ＯＤＳをデコードして、デコードにより得られた非圧縮グラフィクスをＯｂｊｅｃｔ  Ｂｕｆｆｅｒ３５に書き込む。
Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５は、Ｓｔｒｅａｍ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ３４のデコードにより得られた非圧縮のグラフィクスオブジェクト（図中の四角枠）が多数配置されるバッファである。このＯｂｊｅｃｔ  Ｂｕｆｆｅｒ３５において各グラフィクスオブジェクトが占める矩形領域は、Ｏｂｊｅｃｔ＿ｉｄにより識別される。従って、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上にあるグラフィクスオブジェクトが存在している状態で、同じＯｂｊｅｃｔ＿ｉｄをもつグラフィクスオブジェクトが許可要求されれば、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上においてそのグラフィクスオブジェクトが占める領域は、同じＯｂｊｅｃｔ＿ｉｄをもつグラフィクスオブジェクトにより上書きされることになる。【００６７】  Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６は、１つ以上のＩＣＳに対応する運搬されるＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎを格納しておくためのバッファである。格納されているＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎは、Ｇｒａｐｈｉｃｓコントローラ３７による解読に供される。
Ｇｒａｐｈｉｃｓコントローラ３７は、現在の再生時点が新たなＤｉｓｐｌａｙ  Ｓｅｔに到達する度に、そのＤｉｓｐｌａｙ  Ｓｅｔに含まれるＩＣＳのＣｏｍｐｏｓｉｔｉｏｎ＿Ｓｔａｔｅが、Ｅｐｏｃｈ  Ｓｔａｒｔ、Ａｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔ、Ｎｏｒｍａｌ  Ｃａｓｅのどれであるかを判定する、Ｅｐｏｃｈ  Ｓｔａｒｔであれば、Ｃｏｄｅｄ  Ｄａｔａバッファ３３上の新たなＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎを、Ｃｏｄｅｄ  Ｄａｔａバッファ３３からＣｏｍｐｏｓｉｔｉｏｎバッファ３６に転送する。【００６８】  Ｇｒａｐｈｉｃｓコントローラ３７は、Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔタイプのＤｉｓｐｌａｙ  ＳｅｔにおけるＩＣＳがＣｏｄｅｄ  Ｄａｔａバッファ３３に読み出される度に、そのＩＣＳに属する各ページ情報のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒと、Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６に格納済みのＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎにおける各ページ情報のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒとを照合する。そしてＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが大きいページ情報がＣｏｄｅｄ  Ｄａｔａバッファ３３上に存在していれば、そのページ情報をＣｏｄｅｄ  Ｄａｔａバッファ３３からＣｏｍｐｏｓｉｔｉｏｎバッファ３６に転送することで、Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６における所望のページ情報をアップデートする。そしてそうやってアップデートされたページ情報に該当するページが現在表示中であるか否かを判定し、もし表示中であれば、該当するページの再描画を行う。図中の◎１，２，３，４は、Ｃｏｄｅｄ  Ｄａｔａバッファ３３に読み出されたＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎにおけるＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒ参照（◎１）、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが高いページ情報の転送（◎２）、アップデートされたページ情報の参照（◎３）、アップデートされたページ情報に基づく再描画（◎４）を模式化している。更に図中の矢印ｂｇ１，２，３，４は、Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ３７による再描画を象徴的に示している。かかる描画により、ボタン０−Ａ〜ボタン０−Ｄが配されたページがＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に現れ、動画に合成されることになる。【００６９】  図１５は、機能セグメントのロード処理の処理手順を示すフローチャートである。本フローチャートにおいてＳｅｇｍｅｎｔＫとは、ＡＶＣｌｉｐの再生時において、読み出されたＳｅｇｍｅｎｔ（ＩＣＳ，ＰＤＳ，ＯＤＳ）のそれぞれを意味する変数であり、無視フラグは、このＳｅｇｍｅｎｔＫを無視するかロードするかを切り換えるフラグである。本フローチャートは、無視フラグを０に初期化した上で（ステップＳ９８）、ステップＳ１０１〜Ｓ１１６の処理を全てのＳｅｇｍｅｎｔについて繰り返すループ構造を有している（ステップＳ９９、ステップＳ１００）。【００７０】  ループ構造をもつステップＳ１０１〜ステップＳ１１６の処理は、無視フラグが１かどうかを判定して（ステップＳ１０２）、無視フラグが０であるなら、対象となる機能セグメントをＣｏｄｅｄ  Ｄａｔａバッファ３３からＣｏｍｐｏｓｉｔ��ｏｎバッファ３６、Ｓｔｒｅａｍ  Ｇｒａｐｈｉｃｓプロセッサ３４のどれかに転送し（ステップＳ１０３）、無視フラグが１であるならかかる転送を行わずＣｏｄｅｄ  Ｄａｔａバッファ３３上で、対象となる機能セグメントを削除する（ステップＳ１０４）という処理を、機能セグメントの読み出しが継続している限り繰り返すものである。【００７１】  ＳｅｇｍｅｎｔＫが無視されるか、ロードされるかは、無視フラグの設定により決まる。ステップＳ１０７〜Ｓ１１１、Ｓ１１４、Ｓ１１５は、この無視フラグを設定する処理である。
ステップＳ１０７は、ＩＣＳにおけるＣｏｍｐｏｓｉｔｉｏｎ＿ＳｔａｔｅがＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔであるか否かの判定である。ＳｅｇｍｅｎｔＫがＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔであるなら、ステップＳ１０８に移行し、ＳｅｇｍｅｎｔＫがもしＥｐｏｃｈ  ＳｔａｒｔかＮｏｒｍａｌ  Ｃａｓｅであるなら、ステップＳ１１１に移行する。【００７２】  ステップＳ１０８は、先行するＩＣＳがＣｏｍｐｏｓｉｔｉｏｎバッファ３６上に存在するかどうかの判定であり、ステップＳ１０７がＹｅｓである場合に実行される。Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６にＩＣＳが存在しないケースとは、頭出しがなされたケースをいう。この場合、Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔたるＤＳから、表示を開始せねばならないので、ステップＳ１１０に移行する（ステップＳ１０８でＮｏ）。【００７３】  Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６上に先行するＩＣＳが存在する場合は（ステップＳ１０８でＹｅｓ）、無視フラグを”２”に設定して（ステップＳ１０９）、ステップＳ１１２に移行する。
ステップＳ１１２は、Ｃｏｄｅｄ  Ｄａｔａバッファ３３に新たに読み出されたＩＣＳ（新しい機能セグメントに属するＩＣＳ）に、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが増えたページ情報が存在するか否かの判定である。【００７４】  もし存在するなら（ステップＳ１１２でＹｅｓ）、Ｃｏｄｅｄ  Ｄａｔａバッファ３３上に存在する新たなＩＣＳのうち、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが増えたページ情報のみをＣｏｍｐｏｓｉｔｉｏｎバッファ３６に転送し、それ以外のページ情報を無視する（ステップＳ１１６）。Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが増えたページ情報が存在しない場合、ステップＳ１０２に移行する。これによりＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔを示すＩＣＳは無視されることになる（ステップＳ１０４）。【００７５】  ステップＳ１１１は、ＩＣＳにおけるＣｏｍｐｏｓｉｔｉｏｎ＿ＳｔａｔｅがＮｏｒｍａｌ  Ｃａｓｅであるか否かの判定である。ＳｅｇｍｅｎｔＫがもしＮｏｒｍａｌ  Ｃａｓｅであるなら、ステップＳ１１４に移行する。ステップＳ１１４は、先行するＩＣＳがＣｏｍｐｏｓｉｔｉｏｎバッファ３６内に存在するかどうかの判定を行う。もし存在するなら、ステップＳ１１０に移行して、無視フラグを”０”に設定する。存在しないなら、元々、対話画面を構成する充分な機能セグメントが得られないため、無視フラグを”１”に設定する（ステップＳ１１５）。かかるフラグ設定により、先行するＤＳがグラフィクスデコーダ１２に存在しない場合、Ｎｏｒｍａｌ  Ｃａｓｅを構成する機能セグメントは無視されることになる。【００７６】  対象となる機能セグメントがＥｐｏｃｈ  Ｓｔａｒｔを示している場合（ｉ）、頭出し時におけるＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔである場合（ｉｉ）、通常再生時におけるＮｏｒｍａｌ  Ｃａｓｅである場合（ｉｉｉ）、ステップＳ１１１がＮｏ、ステップＳ１０８がＮｏ、ステップＳ１１４がＹｅｓになって無視フラグは、何れも”０”に設定されることになる（ステップＳ１１０）。これにより、対象となる機能セグメントがＥｐｏｃｈ  Ｓｔａｒｔを示している場合（ｉ）、頭出し時におけるＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔである場合（ｉｉ）、通常再生時におけるＮｏｒｍａｌ  Ｃａｓｅである場合（ｉｉｉ）は何れも、Ｄｉｓｐｌａｙ  Ｓｅｔに属する機能セグメントは、Ｓｔｒｅａｍ  Ｇｒａｐｈｉｃｓプロセッサ３４、Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６のどれかに転送されることになる。【００７７】  図１６は、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが変化したページ情報を用いたアップデート処理の手順を示すフローチャートである。本フローチャートは、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが変化したページ情報のそれぞれについて、ステップＳ１２３〜ステップＳ１２４の手順を繰り返すループ構造になっている（ステップＳ１２１、ステップＳ１２２）。このループ構造において対象となる個々のページ情報をページ情報（ｘ）とすると、本ループ処理は、対象となるページ情報をＣｏｄｅｄ  Ｄａｔａバッファ３３からＣｏｍｐｏｓｉｔｉｏｎバッファ３６にロードした上で（ステップＳ１２３）、そのページ情報がアップデートされた旨を示すｕｐｄａｔｅ���ラグを１に設定する（ステップＳ１２４）。尚、このｕｐｄａｔｅフラグの用途については第２実施形態で説明する。【００７８】  以降、具体例を交えながら、図１５及び図１６の制御について説明する。図１７は、本具体例の対象となるＡＶＣｌｉｐの内部構成を示す図である。この具体例で対象となるＡＶＣｌｉｐは、本編映像にあたる『ビデオストリーム』、英語音声を表す『オーディオストリーム＃０』、日本語音声を表す『オーディオストリーム＃１』、コメンタリ音声を示す『オーディオストリーム＃２』、『グラフィクスストリーム』からなる。【００７９】  日本語音声、英語音声は、映画作品全編を通じて存在するが、コメンタリ音声は、映画作品の途中にしか存在しない。一方グラフィクスストリームは、３つのＤｉｓｐｌａｙ  Ｓｅｔ（ＤＳ０、ＤＳ１、ＤＳ２）からなる。ＤＳ０は、映画作品先頭からコメンタリィ音声が始まるまでの区間、ＤＳ１は、コメンタリィ音声が存在する区間、ＤＳ２は、コメンタリィ音声の終わりから映画作品末尾までの区間にそれぞれ該当する。【００８０】  ＤＳ１、ＤＳ２はそれぞれこのように対応しているため、ＤＳ１のＩＣＳにおけるＰＴＳ（ＤＳ１［ＩＣＳ］））は、コメンタリィ音声が存在する区間の始点を示すよう設定されている。ＤＳ２のＩＣＳにおけるＰＴＳ（ＤＳ２［ＩＣＳ］））は、コメンタリィ音声が存在する区間の終点を示すよう設定されている。
続いて３つのＤｉｓｐｌａｙ  Ｓｅｔに属するＰａｇｅ情報（２）のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが全て異なる場合のページ情報読み出しについて説明する。図１８は、図１１と同様の表記で示したＡＶＣｌｉｐの内部構成を示す図である。本図に示すようにこれら３つのＤｉｓｐｌａｙ  Ｓｅｔ（ＤＳ０、ＤＳ１、ＤＳ２）は、ｎ個のページ情報を有している。図中の引き出し線ｈｓ１，２，３はページ情報の中身をクローズアップしている。この引き出し線に示すように、ＤＳ０，ＤＳ２におけるページ情報は、２つのボタン情報を含むが、ＤＳ１におけるページ情報のボタン情報の数は１つ多い。ページ情報の中身が違っているので、ＤＳ０、ＤＳ１、ＤＳ２におけるＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒはそれぞれｖｅｒｓｉｏｎ０，１，２を示すよう設定されている。【００８１】  図１９は、通常再生時におけるページ描画を模式的に示す図である。ＤＳ０においては、Ｐａｇｅ情報（０）、Ｐａｇｅ情報（１）、Ｐａｇｅ情報（２）がＣｏｍｐｏｓｉｔｉｏｎバッファ３６にロードされるため、Ｐａｇｅ情報（０）、Ｐａｇｅ情報（１）、Ｐａｇｅ情報（２）から構成されるメニューを描画することができる。一方、ＤＳ１への到達時においては、ページ情報のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒを参照することで、再生装置はＰａｇｅ情報（２）の中身が変わっていることを知得することができる。そのため再生装置は、Ｐａｇｅ情報（２）のみをＣｏｄｅｄ  Ｄａｔａバッファ３３からＣｏｍｐｏｓｉｔｉｏｎバッファ３６に転送し、これに基づく再描画を行うことで、グラフィックスプレーンの格納内容を更新する。図中の矢印ｕｐ１，ｕｐ２はＤＳ１への到達時におけるアップデートと、再描画を模式的に示す。このアップデートによりＣｏｍｐｏｓｉｔｉｏｎバッファ３６に格納されているＰａｇｅ情報（２）の中身は２つのボタン情報を含むものから、３つのボタン情報を含むものへと変化する。かかるＣｏｍｐｏｓｉｔｉｏｎバッファ３６の格納内容に基づきグラフィクスプレーンの再描画を行えば、Ｐａｇｅ情報（２）に対応するページ上のボタンは、３つから２つに変化する。【００８２】  図中の矢印ｕｐ３，ｕｐ４はＤＳ２への到達時におけるアップデートと、再描画を模式的に示す。このアップデートによりＣｏｍｐｏｓｉｔｉｏｎバッファ３６に格納されているＰａｇｅ情報（２）の中身は３つのボタン情報を含むものから、２つのボタン情報を含むものへと変化する。かかるＣｏｍｐｏｓｉｔｉｏｎバッファ３６の格納内容に基づきグラフィクスプレーンの再描画を行えば、Ｐａｇｅ情報（２）に対応するページ上のボタンは、２つから３つに変化する。【００８３】  図２０は、飛び込み再生時の描画処理を示す。この飛び込み位置がＤＳ１の手前であれば、ＤＳ１に属するＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎのＰａｇｅ情報（０）〜Ｐａｇｅ情報（２）に基づき、各ページが描画される。この飛び込み後の現在の再生時点がＤＳ２に到達すれば、再生装置はＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが変化したことによりＰａｇｅ（２）を再描画させるとの処理を行う。これにより表示されている３枚のページのうち、Ｐａｇｅ（２）が再描画されることになる。図２１は、図２０に示した描画により、どのような合成画像が得られるかを示す図である。本図に示すように現在の再生時点がＰＴＳ（ＤＳｏ［ＩＣＳ］）に到達した場合、２つのボタンからなるＰａｇｅ（２）が動画と合成されて表示されることになる。動画の再生が進行して現在の再生時点がＰＴＳ（ＤＳ１［ＩＣＳ］）に到達すれば、３つのボタンからなるＰａｇｅ（２）が動画と合成され、表示されることになる。動画の再生が進行して現在の再生時点がＰＴＳ（ＤＳ２［ＩＣＳ］）に到達すれば、ボタンの数は、２つに戻るこことになる。【００８４】  本具体例では、コメンタリィ音声が存在しているシーンにおいて、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒを変化させるとした。しかしかかる設定は一例であり、上述したようなページ毎のｕｐｄａｔｅの応用の幅は広い。動画の再生が進行するにつれ、同じページのボタンを減ってゆき、選択の幅が狭まるという画面演出を実現することができる。このようなスリル感ある演出をゲームに応用してもよい。【００８５】  特定の商品が動画中に出現している区間のみ、商品の購入のためのボタンを表示することができる。かかる応用は、オンラインショッピングのような商業的な映画作品を制作するにあたって、特に真価を発揮する。
続いて３つのＤｉｓｐｌａｙ  Ｓｅｔ（ＤＳ０、ＤＳ１、ＤＳ２）に属するＰａｇｅ情報（２）のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが全て同じである場合の読み出しについて説明する。この具体例で想定しているのは、図２２に示すような、３つの連続するＤｉｓｐｌａｙ  Ｓｅｔ（ＤＳ１、ＤＳ２、ＤＳ３）のＰａｇｅ情報（２）である。破線の矢印ｈｈ１，２，３は、３つのＤｉｓｐｌａｙ  ＳｅｔにおけるＰａｇｅ情報（２）の中身をクローズアップして示す。この破線に示されるように３つのＤｉｓｐｌａｙ  ＳｅｔにおけるＰａｇｅ情報（２）は何れも、３つのボタン情報（ボタン情報（０）（１）（２））をもつ。【００８６】  図２３は、ＡＶＣｌｉｐ再生進行に伴うグラフィックスプレーンの格納内容の時間的変移を示す図である。かかる３つのＤｉｓｐｌａｙ  Ｓｅｔを含むＡＶＣｌｉｐが再生装置により読み出され、再生されるものとする。３つのＤｉｓｐｌａｙ  ＳｅｔのうちＤＳ０はＡＶＣｌｉｐの最初に位置するものなので、このＤＳ０におけるＰａｇｅ情報（２）に基づき、ページが描画される。図中の矢印は、Ｐａｇｅ情報（０）、Ｐａｇｅ情報（１）、Ｐａｇｅ情報（２）に基づく再生装置による描画を模式的に示す。【００８７】  これに後続するＤＳ１、ＤＳ２の読み出し時にあたっては、Ｐａｇｅ情報（２）のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒは、Ｄｉｓｐｌａｙ  ＳｅｔのＰａｇｅ情報（２）のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒと同じ値になっているので、これらＤＳ１、ＤＳ２におけるページ情報による再描画はなされない。×付きの矢印は、Ｇｒａｐｈｉｃｓコントローラ３７が、これら２つのＤｉｓｐｌａｙ  ＳｅｔにおけるＰａｇｅ情報（２）を無視していることを示す。図２４は、図２２に示したＡＶＣｌｉｐに対する飛び込み時において、グラフィクス描画がどのように行われるかを示す。本図における飛び込み先は、ＤＳ１の手前であるので、このＤＳ１に属するＰａｇｅ情報（０）、Ｐａｇｅ情報（１）に基づき、ページ描画が行われる。Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが全て同じである場合の再生装置による描画処理は以上の通りである。【００８８】  以上のように本実施形態によれば、マルチページメニューの内容を変化させようとする場合、コンポジションバッファ内に格納されているＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎ全部を総入れ替えするのではなく、コンポジションバッファ上に格納されているＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎのうち、特定のページのみ入れ替えれば、マルチページメニューの内容を変化させることができる。Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎの総入れ替えが不要なので、変化前後の状態を１つのＥｐｏｃｈとして扱うことができ、不要な再生途切れを避けることができる。これにより、表示の途切れのない、マルチページメニュー変化を実現することができる。【００８９】  （第２実施形態）
第２実施形態は、第１実施形態に示したページ情報をより詳細に開示するための実施形態である。
先ず初めにボタン情報について説明する。ページに表示される個々のボタンには、ノーマル状態、セレクテッド状態、アクティブ状態という３つの状態がある。ノーマル状態とは、単に表示されているに過ぎない状態である。これに対しセレクテッド状態とはユーザ操作によりフォーカスが当てられているが、確定に至っていない状態をいう。アクティブ状態とは、確定に至った状態をいう。かかる状態があるので、Ｐａｇｅ情報（ｙ）における任意のボタンを規定するボタン情報（ボタン情報ｉ）には、以下の情報要素が規定されている。図２５は、Ｐａｇｅ情報（ｙ）におけるボタン情報（ｉ）の内部構成を示す図である。【００９０】  『ｂｕｔｔｏｎ＿ｉｄ』は、ボタン（ｉ）を、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎにおいて一意に識別する数値である。
『ｂｕｔｔｏｎ＿ｎｕｍｅｒｉｃ＿ｓｅｌｅｃｔ＿ｖａｌｕｅ』は、ボタン（ｉ）の数値選択を許可するか否かを示すフラグである。
『ａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇ』は、ボタン（ｉ）を自動的にアクティブ状態にするかどうかを示す。ａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇがオン（ビット値１）に設定されれば、ボタン（ｉ）は、セレクテッド状態になる代わりにアクティブ状態になる。ａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇがオフ（ビット値０）に設定されれば、ボタン（ｉ）は、選択されたとしてもセレクテッド状態になるにすぎない。【００９１】  『ｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ』、『ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ』は、対話画面におけるボタン（ｉ）の左上画素の水平位置、垂直位置を示す。
『ｎｅｉｇｈｂｏｒ＿ｉｎｆｏ』は、ボタン（ｉ）がセレクテッド状態になっていて、上下左右方向へのフォーカス移動が命じられた場合、どのボタンをセレクテッド状態に設定するかを示す情報であり、『ｕｐｐｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』，『ｌｏｗｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』，『ｌｅｆｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』，『ｒｉｇｈｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』からなる。【００９２】  『ｕｐｐｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』は、ボタン（ｉ）がセレクテッド状態である場合においてリモコンが操作され、上方向へのフォーカス移動を命じるキー（ＭＯＶＥＵＰキー）が押下された場合、ボタン（ｉ）の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタン（ｉ）の番号が設定されていれば、ＭＯＶＥＵＰキーの押下は無視される。
『ｌｏｗｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』，『ｌｅｆｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』，『ｒｉｇｈｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ』は、ボタン（ｉ）がセレクテッド状態である場合において、リモコンが操作され、下方向へのフォーカス移動を命じるキー（ＭＯＶＥ  Ｄｏｗｎキー），左方向へのフォーカス移動を命じるキー（ＭＯＶＥ  Ｌｅｆｔキー），右方向へのフォーカス移動を命じるキー（ＭＯＶＥ  Ｒｉｇｈｔキー）が押下された場合、ボタン（ｉ）の押下の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタン（ｉ）の番号が設定されていれば、これらのキーの押下は無視される。【００９３】  『ｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ』は、ボタン（ｉ）のノーマル状態を規定する情報であり、『ｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』、『ｎｏｒｍａｌ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』、『ｎｏｒｍａｌ＿ｒｅｐｅａｔｅｄ＿ｆｌａｇ』を含む。
『ｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』は、ノーマル状態のボタン（ｉ）をアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番のうち、最初の番号がこのｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに記述される。【００９４】  『ｎｏｒｍａｌ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』は、ノーマル状態のボタン（ｉ）をアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番たる『ｏｂｊｅｃｔ＿ＩＤ』のうち、最後の番号がこのｎｏｒｍａｌ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに記述される。このａｃｔｉｖａｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに示されるＩＤが、ｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに示されるＩＤと同じである場合、このＩＤにて示されるグラフィックスオブジェクトの静止画が、ボタン（ｉ）の絵柄になる。【００９５】  『ｎｏｒｍａｌ＿ｒｅｐｅａｔ＿ｆｌａｇ』は、ノーマル状態にあるボタン（ｉ）のアニメーション表示を反復継続させるかどうかを示す。
『ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ』は、ボタン（ｉ）のセレクテッド状態を規定する情報であり、『ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｓｏｕｎｄ＿ｉｄ＿ｒｅｆ』、『ｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』、『ｓｅｌｅｃｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』、『ｓｅｌｅｃｔｅｄ＿ｒｅｐｅａｔ＿ｆｌａｇ』を含む。【００９６】  『ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｓｏｕｎｄ＿ｉｄ＿ｒｅｆ』は、ボタン（ｉ）の状態がセレクテッド状態が変化した際、クリック音として再生させるべきサウンドデータを指定する情報である。この指定は、ｓｏｕｎｄ．ｂｄｍｖと呼ばれるファイルに格納されているサウンドデータの識別子を記述することでなされる。本フィールドが０ｘＦＦである場合、サウンドデータは指定されていないことを意味し、クリック音再生はなされない。【００９７】  『ｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』は、セレクテッド状態のボタン（ｉ）をアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番のうち、最初の番号がこのｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに記述される。
『ｓｅｌｅｃｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』は、セレクト状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番たる『ｏｂｊｅｃｔ＿ＩＤ』のうち、最後の番号がこのｓｅｌｅｃｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに記述される。このｓｅｌｅｃｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに示されるＩＤが、ｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに示されるＩＤと同じである場合、このＩＤにて示されるグラフィックスオブジェクトの静止画が、ボタン（ｉ）の絵柄になる。【００９８】  『ｓｅｌｅｃｔｅｄ＿ｒｅｐｅａｔ＿ｆｌａｇ』は、セレクテッド状態にあるボタン（ｉ）のアニメーション表示を、反復継続するかどうかを示す。ｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆと、ｓｅｌｅｃｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆとが同じ値になるなら、本フィールド００に設定される。
『ａｃｔｉｖａｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ』は、ボタン（ｉ）のアクティブ状態を規定する情報であり、『ａｃｔｉｖａｔｅｄ＿ｓｔａｔｅ＿ｓｏｕｎｄ＿ｉｄ＿ｒｅｆ』、『ａｃｔｉｖａｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』、『ａｃｔｉｖａｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』を含む。【００９９】  『ａｃｔｉｖａｔｅｄ＿ｓｔａｔｅ＿ｓｏｕｎｄ＿ｉｄ＿ｒｅｆ』は、ｂｕｔｔｏｎ情報に対応するボタンのセレクテッド状態が変化した際、クリック音として再生させるべきサウンドデータを指定する情報である。この指定は、ｓｏｕｎｄ．ｂｄｍｖに格納されているサウンドデータの識別子を記述することでなされる。本フィールドが０ｘＦＦである場合、サウンドデータは指定されていないことを意味し、クリック音再生はなされない。【０１００】  『ａｃｔｉｖａｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』は、アクティブ状態のボタン（ｉ）をアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番のうち、最初の番号がこのａｃｔｉｖａｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに記述される。
『ａｃｔｉｖａｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』は、アクティブ状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番たる『ｏｂｊｅｃｔ＿ＩＤ』のうち、最後の番号がこのａｃｔｉｖａｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに記述される。【０１０１】  『ナビゲーションコマンド（ｎａｖｉｇａｔｉｏｎ＿ｃｏｍｍａｎｄ）』は、ボタン（ｉ）がアクティブ状態になれば、実行されるコマンドである。ナビゲーションコマンドの代表的なものは、ＳｅｔＢｕｔｔｏｎＰａｇｅコマンドである。ＳｅｔＢｕｔｔｏｎＰａｇｅコマンドは、マルチページメニューの所望のページを表示させ、そのページにおける所望のボタンをセレクテッド状態に設定させることを再生装置に命じるコマンドである。かかるナビゲーションコマンドを用いることにより、オーサリング担当者は、ページ切り換えを簡易に記述することができる。【０１０２】  上述した特許文献１，２には、ボタン情報中のナビゲーションコマンドが更新された際、その更新を示すフラグが記述されている。本願では、このフラグの役割を、ページ情報毎のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが果たすことになる。つまりどれかのページのどれかのボタンに対するナビゲーションコマンドが変化した際、そのボタン情報が属するページ情報のＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒがインクリメントすることになる。【０１０３】  以上がボタン情報の内部構成である。図２６に示すボタン０−Ａ〜ボタン０−Ｄの状態遷移を実行する場合のボタン情報の記述例を図２７に示す。図２６における矢印ｈｈ１，ｈｈ２は、ｂｕｔｔｏｎ  ｉｎｆｏ（１）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）による状態遷移を象徴的に表現している。ｂｕｔｔｏｎ  ｉｎｆｏ（１）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）におけるｌｏｗｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆは、ボタン０−Ｃに設定されているため、ボタン０−Ａがセレクテッド状態になっている状態で、ＭＯＶＥＤｏｗｎキー押下のＵＯが発生すれば（図２６のｕｐ１）、ボタン０−Ｃがセレクテッド状態になる（図２６のｓｊ１）。ｂｕｔｔｏｎ  ｉｎｆｏ（１）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）におけるｒｉｇｈｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆは、ボタン０−Ｂに設定されているため、ボタン０−Ａがセレクテッド状態になっている状態で、ＭＯＶＥＲｉｇｈｔキー押下のＵＯが発生すれば（図２６のｕｐ２）、ボタン０−Ｂがセレクテッド状態になる（図２６のｓｊ２）。【０１０４】  図２６における矢印ｈｈ３は、ｂｕｔｔｏｎ  ｉｎｆｏ（２）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）による状態遷移の制御を示す。ｂｕｔｔｏｎ  ｉｎｆｏ（２）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）におけるｕｐｐｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆは、ボタン０−Ａに設定されているため、ボタン０−Ｃがセレクテッド状態になっている状態で、ＭＯＶＥＵｐキー押下のＵＯが発生すれば（ｕｐ３）、ボタン０−Ａがセレクテッド状態に戻る（ｓｊ３）。続いてボタン０−Ａ〜ボタン０−Ｄの絵柄について説明する。図２７のＩＣＳを含むＤＳｎは、図２８のような絵柄を示すＯＤＳ１１〜１９を含んでいるものとする。ＩＣＳにおけるｂｕｔｔｏｎ情報（０）のｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ（）におけるｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ，ｎｏｒｍａｌ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆは、ＯＤＳ１１〜１３を指定しているため、ボタン０−Ａのノーマル状態は、ＯＤＳ１１〜１３によるアニメーションで表現される。またｂｕｔｔｏｎ情報（０）のｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ（）におけるｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ，ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄは、ＯＤＳ１４〜１６を指定しているため、ボタン０−Ａのセレクテッド状態は、ＯＤＳ１４〜１６で表現される。ユーザがこのボタン０−Ａをセレクテッド状態にすることにより、ボタン０−Ａの絵柄たる肖像は、ＯＤＳ１１〜１３によるものから、ＯＤＳ１４〜１６によるものへと変化する。ここでｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ（）、ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ（）におけるｎｏｒｍａｌ＿ｒｅｐｅａｔ＿ｆｌａｇ，ｓｅｌｅｃｔｅｄ＿ｒｅｐｅａｔ＿ｆｌａｇを１にしておけば、ＯＤＳ１１〜１３によるアニメーション、ＯＤＳ１４〜１６によるアニメーションは、図中の「→（Ａ）」，「（Ａ）→」，「→（Ｂ）」，「（Ｂ）→」，に示すように、アニメーション表示は反復継続する。【０１０５】  アニメーション描画が可能な複数ＯＤＳが、ボタン０−Ａ〜ボタン０−Ｄに割り当てられており、これらによる制御がＩＣＳに記述されていれば、ユーザ操作に併せてキャラクタの表情が変わるような、リアルなボタンの状態制御を実現することができる。
ボタン情報は以上のような構成を有しているが、１つのページ内のボタン情報の個数が変わったり、又は、ボタンのアニメーション表示時に用いられるグラフィクスオブジェクトやナビゲーションコマンドの中身が変わった場合、これらの変化を示すべくＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒは＋１の値に設定されることになる。【０１０６】  以上がボタン情報についての説明である。続いてＥｆｆｅｃｔ画像について説明する。Ｉｎ＿Ｅｆｆｅｃｔ及びＯｕｔ＿Ｅｆｆｅｃｔは、何れもＥｆｆｅｃｔ＿Ｓｅｑｕｅｎｃｅにより定義される。図２９は、Ｅｆｆｅｃｔ＿Ｓｅｑｕｅｎｃｅの内部構成を示す図である。Ｅｆｆｅｃｔ＿Ｓｅｑｕｅｎｃｅは、図２９の左半分に示す通りであり、ｎｕｍｂｅｒ＿ｏｆ＿ｗｉｎｄｏｗｓ個のウィンドゥ情報（ウィンドゥ情報（０）（１）（２）・・・（ｎｕｍｂｅｒ＿ｏｆ＿ｗｉｎｄｏｗｓ−１））と、ｎｕｍｂｅｒ＿ｏｆ＿ｅｆｆｅｃｔｓ個のｅｆｆｅｃｔ情報（Ｅｆｆｅｃｔ情報（０）（１）（２）・・・（ｎｕｍｂｅｒ＿ｏｆ＿ｅｆｆｅｃｔｓ−１））とからなる。【０１０７】  ここでＥｆｆｅｃｔ画像は、一定間隔置きの画面構成（Ｄｉｓｐｌａｙ  Ｃｏｍｐｏｓｉｔｉｏｎ）を繰り返すことで再生される。Ｅｆｆｅｃｔ情報は、個々の画面構成を規定する情報であり、破線ｅｃ１は、Ｅｆｆｅｃｔ情報の内部構成をクローズアップして示す。本矢印に示すように、Ｅｆｆｅｃｔ情報は、上記一定間隔を示す『ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎ』と、その画面構成に用いられるパレットデータを示す『ｐａｌｌｅｔ＿ｉｄ＿ｒｅｆ』と、画面構成の詳細を規定する『ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（０）（１）（２）・・・・（ｎｕｍｂｅｒ＿ｏｆ＿Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔ−１）』とからなる。【０１０８】  ウィンドゥ情報は、グラフィックスプレーンでの画面構成に用いられる領域を規定するものである。図中の引き出し線ｗｃ１はウィンドゥ情報の構成をクローズアップしている。この引き出し線に示すようにｗｉｎｄｏｗ情報は、グラフィックスプレーンにおいてウィンドゥを一意に識別する『ｗｉｎｄｏｗ＿ｉｄ』と、グラフィックスプレーンにおける左上画素の水平位置を示す『ｗｉｎｄｏｗ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ』と、グラフィックスプレーンにおける左上画素の垂直位置を示す『ｗｉｎｄｏｗ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ』と、グラフィックスプレーンにおけるウィンドゥの横幅を示す『ｗｉｎｄｏｗ＿ｗｉｄｔｈ』と、グラフィックスプレーンにおける縦幅を示す『ｗｉｎｄｏｗ＿ｈｅｉｇｈｔ』とを用いて表現される。【０１０９】  ｗｉｎｄｏｗ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ、ｗｉｎｄｏｗ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ、ｗｉｎｄｏｗ＿ｗｉｄｔｈ、ｗｉｎｄｏｗ＿ｈｅｉｇｈｔがとりうる値について説明する。これらが想定している座標系は、グラフィックスプレーンの内部領域であり、このグラフィックスプレーンは、縦：ｖｉｄｅｏ＿ｈｅｉｇｈｔ、横：ｖｉｄｅｏ＿ｗｉｄｔｈという二次元状の大きさをもつ。
ｗｉｎｄｏｗ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎは、グラフィックスプレーンにおける左上画素の水平アドレスであるので、１〜ｖｉｄｅｏ＿ｗｉｄｔｈの値をとり、ｗｉｎｄｏｗ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎは、グラフィックスプレーンにおける左上画素の垂直アドレスであるので１〜ｖｉｄｅｏ＿ｈｅｉｇｈｔの値をとる。【０１１０】  ｗｉｎｄｏｗ＿ｗｉｄｔｈは、グラフィックスプレーンにおけるウィンドゥの横幅であるので、１〜ｖｉｄｅｏ＿ｗｉｄｔｈ−ｗｉｎｄｏｗ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎの値をとり、ｗｉｎｄｏｗ＿ｈｅｉｇｈｔは、グラフィックスプレーンにおける縦幅であるので１〜ｖｉｄｅｏ＿ｈｅｉｇｈｔ−ｗｉｎｄｏｗ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎの値をとる。
ｗｉｎｄｏｗ情報のｗｉｎｄｏｗ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ、ｗｉｎｄｏｗ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ、ｗｉｎｄｏｗ＿ｗｉｄｔｈ、ｗｉｎｄｏｗ＿ｈｅｉｇｈｔにより、グラフィックスプレーンの何処にウィンドゥを配置するか、ウィンドゥの大きさをどれだけにするかを規定することができる。【０１１１】  続いてＣｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔについて説明する。図３０は、任意のｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（ｉ）の内部構成をクローズアップした図である。この本図に示すように、ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（ｉ）は、『ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』、『ｗｉｎｄｏｗ＿ｉｄ＿ｒｅｆ』、『ｏｂｊｅｃｔ＿ｃｒｏｐｐｅｄ＿ｆｌａｇ』、『ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ』、『ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ』、『ｃｒｏｐｐｉｎｇ＿ｒｅｃｔａｎｇｌｅ』からなる。【０１１２】  『ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ』は、グラフィクスオブジェクト識別子（ｏｂｊｅｃｔ＿ｉｄ）の参照値である。この参照値は、ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（ｉ）に対応する画面構成を実現するにあたって、用いるべきグラフィクスオブジェクトの識別子を意味する。
『ｗｉｎｄｏｗ＿ｉｄ＿ｒｅｆ』は、ウィンドゥ識別子（ｗｉｎｄｏｗ＿ｉｄ）の参照値である。この参照値は、ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（ｉ）に対応する画面構成を実現するにあたって、どのウィンドゥに、グラフィクスオブジェクトを表示させるべきかを示す。【０１１３】  『ｏｂｊｅｃｔ＿ｃｒｏｐｐｅｄ＿ｆｌａｇ』は、オブジェクトバッファにおいてクロップされたグラフィクスオブジェクトを表示するか、グラフィクスオブジェクトを非表示とするかを切り換えるフラグである。”１”と設定された場合、オブジェクトバッファにおいてクロップされたグラフィクスオブジェクトが表示され、”０”と設定された場合、グラフィクスオブジェクトは非表示となる。【０１１４】  『ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ』は、グラフィックスプレーンにおけるグラフィクスオブジェクトの左上画素の水平位置を示す。
『ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ』は、グラフィックスプレーンにおける左上画素の垂直位置を示す。
『ｃｒｏｐｐｉｎｇ＿ｒｅｃｔａｎｇｌｅ』は、『ｏｂｊｅｃｔ＿ｃｒｏｐｐｅｄ＿ｆｌａｇ』が１に設定されている場合に有効となる情報要素である。破線ｗｄ２は、ｃｒｏｐｐｉｎｇ＿ｒｅｃｔａｎｇｌｅの内部構成をクローズアップしている。この破線に示すようにｃｒｏｐｐｉｎｇ＿ｒｅｃｔａｎｇｌｅは、『ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ』、『ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ』、『ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｗｉｄｔｈ』、『ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｅｉｇｈｔ』からなる。【０１１５】  『ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ』は、グラフィックスプレーンにおけるクロップ矩形の左上画素の水平位置を示す。クロップ矩形は、グラフィクスオブジェクトの一部を切り出すための枠である。
『ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ』は、グラフィックスプレーンにおけるクロップ矩形の左上画素の垂直位置を示す。【０１１６】  『ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｗｉｄｔｈ』は、グラフィックスプレーンにおけるクロップ矩形の横幅を示す。
『ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｅｉｇｈｔ』は、グラフィックスプレーンにおけるクロップ矩形の縦幅を示す。
以上がｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔのデータ構造である。続いてｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔの具体的な記述について説明する。【０１１７】  図３１は、右ＳｃｒｏｌｌによりＩｎ＿Ｅｆｆｅｃｔを実現するという具体例を示す図である。この具体例は、言語設定メニューを右端から徐々に引き出してゆくというものである。かかる表示効果を実現するため、時点ｔ０，ｔ１，ｔ２，ｔ３には、４つのＣｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔ（０）〜（３）を配置しておく。そしてこれらのＣｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔを以下のように定義する。
次に個々のｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔをどのように記述するかについて説明する。４つのｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（０）〜（３）の記述例を図３２〜図３５に示す。図３２は、ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（０）の記述例を示す図である。【０１１８】  図３２において、ｗｉｎｄｏｗ情報のｗｉｎｄｏｗ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ、ｗｉｎｄｏｗ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎは、グラフィックスプレーンにおけるウィンドゥの左上座標ＬＰ０を、ｗｉｎｄｏｗ＿ｗｉｄｔｈ，ｗｉｎｄｏｗ＿ｈｅｉｇｈｔは、ウィンドゥの表示枠の横幅、縦幅を示す。
図３２におけるｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（０）のｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎは、オブジェクトバッファにおけるグラフィクスオブジェクトの左上座標を原点とした座標系においてクロップ範囲の基準ＳＴ１を示している。そして基準点からｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｗｉｄｔｈ、ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｅｉｇｈｔに示される範囲（図中の太枠部分）がクロップ範囲になる。クロップされたグラフィクスオブジェクトは、グラフィックスプレーンの座標系においてｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎを基準点（左上）とした範囲に配置される。こうすることにより、言語選択メニューの右端がグラフィックスプレーンにおけるウィンドゥ内に書き込まれる。これにより言語選択メニューの右端は動画像と合成され表示される。【０１１９】  図３３、図３４、図３５は、ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（１）（２）（３）の記述例を示す図である。本図におけるｗｉｎｄｏｗ情報の記述は、図３２と同じなので説明を省略する。ｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔの記述は、図３２と異なる。図３３におけるｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（１）のｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ，は、オブジェクトバッファ上の言語選択メニューのうち、右半分の左上座標を示し、ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｅｉｇｈｔ，ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｗｉｄｔｈは、右半分の横幅、縦幅を示す。また図３４におけるｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（２）のｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎは、オブジェクトバッファ上の言語選択メニューのうち、右端から３／４の部分の左上座標を示し、ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｅｉｇｈｔ，ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｗｉｄｔｈは、３／４の部分の横幅、縦幅を示す。図３５におけるｃｏｍｐｏｓｉｔｉｏｎ＿ｏｂｊｅｃｔ（３）のｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ，は、オブジェクトバッファ上の言語選択メニュー全体の左上座標を示し、ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｅｉｇｈｔ，ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｗｉｄｔｈは、全体の横幅、縦幅を示す。これら図３３、図３４、図３５に示すような書き込みがなされることにより、右半分、３／４、全体がグラフィックスプレーンにおけるウィンドゥ内に書き込まれる。これにより言語選択メニューが動画像と合成され表示される。【０１２０】  以上の構成によりオブジェクトバッファ上のグラフィクスオブジェクトを徐々に画面に出現させたり、徐々に画面から消すという処理を、Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊ��ｃｔの記述次第で簡単に実現することができる。
Ｉｎ＿Ｅｆｆｅｃｔ及びＯｕｔ＿Ｅｆｆｅｃｔは以上のような構成を有しているが、Ｉｎ＿Ｅｆｆｅｃｔ及びＯｕｔ＿Ｅｆｆｅｃｔのアニメーション表示時に用いられるグラフィクスオブジェクトの絵柄が変わった場合、これらの変化を示すべくＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒは＋１の値に設定されることになる。【０１２１】  以上が第２実施形態に係るＢＤ−ＲＯＭの改良である。続いて第２実施形態に係る再生装置の改良について説明する。
第２実施形態に係る状態制御部２３は、Ｉ−Ｇｒａｐｈｉｃｓデコーダ９からの設定指示に従い、カレントページを示すＰＳＲの値（ＰＳＲ１１）を設定すると共に、カレントボタンを示すＰＳＲの値（ＰＳＲ１１）を設定する。状態制御部２３によるＰＳＲ設定には、設定すべき即値をＩ−Ｇｒａｐｈｉｃｓデコーダ９から受け取り、ＰＳＲセット１６に設定するという直接指定のもの（ｉ）、再生装置における状態変化や、ユーザからの変更要求があった場合、設定値を状態制御部２３が決定した上でＰＳＲセット１６に設定するという間接指定のもの（ｉｉ）がある。状態変化時における、設定値の決定手順は、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄと呼ばれる。変更要求時における設定値の決定処理手順は、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄと呼ばれる。ＰＳＲ１１（カレントページ）、ＰＳＲ１０（カレントボタン）を設定するための処理手順について説明する。【０１２２】  図３６（ａ）は、ＰＳＲ１１についてのＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄを示すフローチャートである。Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄは、ＩＣＳにおける最初のページ情報をＰＳＲ１１を設定するというものである（ステップＳ９９）。
図３６（ｂ）は、ＰＳＲ１１についてのＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄを示すフローチャートである。ここでユーザから要求されたページ番号をＸとすると、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄは、ＸがＶａｌｉｄであるか否かを判定し（ステップＳ１００）、もしＶａｌｉｄであれば、このＸをＰＳＲ１１に設定し（ステップＳ１０１）、もしＩｎｖａｌｉｄであるなら、このＰＳＲ１１を維持するというものである（ステップＳ１０２）。【０１２３】  以上がＰＳＲ１１の状態遷移である。続いてＰＳＲ１０のＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄ、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄについて説明する。
図３７（ａ）は、ＰＳＲ１０のＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄを示すフローチャートである。
ステップＳ１１１は、カレントページにおけるデフォルトセレクテッドボタンが有効であるか否かの判定である。もしステップＳ１１１がＹｅｓであるなら、ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆに記述されたボタン番号をＰＳＲ１０に設定する（ステップＳ１１２）。【０１２４】  ステップＳ１１３は、デフォルトセレクテッドボタンがＩｎｖａｌｉｄである場合にＰＳＲ１０が有効かどうかの判定を行う判定ステップである。もしＰＳＲ１０がＶａｌｉｄであるなら、ＰＳＲ１０の値を維持し（ステップＳ１１４）、ＰＳＲ１０がＩｎｖａｌｉｄであるなら、カレントページの最初のボタン情報を特定するｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆをＰＳＲ１０に設定する（ステップＳ１１５）。
図３７（ｂ）は、ＰＳＲ１０のＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄを示すフローチャートである。ここでユーザから要求されたボタン番号をＸとすると、本フローチャートにおけるステップＳ１１６は、ＸがＶａｌｉｄなＢｕｔｔｏｎ＿ｉｄであるか否かを判定し、もしＶａｌｉｄであるならＸをＰＳＲ１０に設定する（ステップＳ１１８）。もしＸがＩｎｖａｌｉｄであるなら、ＰＳＲ１０の設定値を維持する（ステップＳ１１７）。こうした処理により、ＰＳＲ１０、ＰＳＲ１１の内容は、常に保証されることになる。以上が再生装置の内部構成である。【０１２５】  また本実施形態においてＩ−Ｇｒａｐｈｉｃｓデコーダ９は、Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ３７の他にＧｒａｐｈｉｃｓコントローラ３７を有している。このＧｒａｐｈｉｃｓコントローラ３７は、ＰＳＲセット１６におけるＰＳＲ１０、ＰＳＲ１１の数値変化、Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８〜Ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎタイマ２１におけるタイムアウト、操作受付部２２が受け付けたユーザ操作に応じて、上述した描画内容を変化するという処理を行う。Ｇｒａｐｈｉｃｓコントローラ３７が行うべき処理の詳細は、図３８〜図４５に示したものとなる。【０１２６】  図３８は、Ｇｒａｐｈｉｃｓコントローラ３７の処理のうち、メインルーチンにあたる処理を示すフローチャートである。
このフローチャートの処理の開始時において、Ｇｒａｐｈｉｃｓコントローラ３７はＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０の格納内容をＣＬＵＴ部２０に出力していない。Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０の格納内容の出力を行わず、ページを表示しない状態を”ターンオフ”という。【０１２７】  本フローチャートは、メインルーチンにあたる処理であり、ステップＳ１〜ステップＳ６からなるループ処理を実行する。このループ処理は、ステップＳ１〜ステップＳ４の何れかの事象が成立しているかという判定処理と、アニメーションによるマルチページメニュー表示の更新処理（ステップＳ５）と、ユーザ操作に応じた処理（ＵＯ（ＵｓｅｒＯｐｅｒａｔｉｏｎ処理）：ステップＳ６）とを繰り返し実行するというものである。ステップＳ１〜ステップＳ４のうち、どれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。【０１２８】  ステップＳ１は、現在の再生時点が、ＤＴＳ（ＤＳｎ［ＩＣＳ］）に到達したか否かを判定するステップである。このステップＳ１がＹｅｓになれば、図３９のフローチャートを実行する。図３９は、Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６においてページ情報のアップデートがあった場合の再表示処理の手順を示すフローチャートである。
本フローチャートにおいて、先ず無視フラグが０であるか否かを判定する（ステップＳ８１）。図１５で説明したように、無視フラグは、ＩＣＳにおけるＣｏｍｐｏｓｉｔｉｏｎ＿ｓｔａｔｅと、Ｃｏｍｐｏｓｉｔｉｏｎバッファ３６におけるＩＣＳの有無とに応じて値が変わるフラグであり、ステップＳ８１では、この無視フラグが０であるか、つまり、Ｅｐｏｃｈ  Ｓｔａｒｔ、頭出し時のＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔ、通常再生時のＮｏｒｍａｌ  Ｃａｓｅの何れであるかを判定する。もし無視フラグが０であれば、上述したＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄを実行し、１ｓｔＰａｇｅであるＰａｇｅ［０］をカレントページを設定した上で（ステップＳ７）、Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８、Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９、Ｃｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ２０をリセットし（ステップＳ８）、このカレントページを表示して（ステップＳ９）、ステップＳ１〜ステップＳ６からなるループ処理に戻る。【０１２９】  無視フラグが０でない場合、無視フラグが２であるか否かを判定する（ステップＳ８２）。無視フラグ＝２に設定されるのは、通常再生時におけるＡｃｑｕｉｓｉｔｉｏｎ  Ｐｏｉｎｔの読み取り時である。もし無視フラグが２であれば、ステップＳ８３〜ステップＳ８５の処理を繰り返す。この処理は、Ｐａｇｅ情報（ｙ）についてのｕｐｄａｔｅフラグがＯＮであるか否かを判定し（ステップＳ８６）、もしＯＮであれば、アップデートされたＰａｇｅ情報（ｙ）に対するページ表示処理を行う（ステップＳ８７）という処理を、表示中の全てのページ情報について繰り返すというものである（ステップＳ８３、ステップＳ８４）。かかる繰り返しが行われば、全てのｕｐｄａｔｅフラグをオフに設定して（ステップＳ８５）、ステップＳ８８に移行する。【０１３０】  ステップＳ８８では、現在の再生時点がＰＴＳ（ＤＳｎ［ＩＣＳ］）になるのを待ち、もしなればＩＣＳのｕｓｅｒ＿ｉｎｔｅｒｆａｃｅ＿ｍｏｄｅｌがＡｌｗａｙｓ−ＯｎＵ／Ｉであるか否かを判定する（ステップＳ８９）。Ａｌｗａｙｓ−Ｏｎなら、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０の格納内容をターンオンして、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に格納されたページをＣＬＵＴ部２０に出力して動画像に合成させる（ステップＳ９０）。【０１３１】  ｕｓｅｒ＿ｉｎｔｅｒｆａｃｅ＿ｍｏｄｅｌがＰｏｐ−ｕｐＵ／Ｉであるなら、Ｇｒａｐｈｉｃｓコントローラ３７は、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０のターンオフ状態を維持する。つまりＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に格納されたページを、動画像に合成せず、ページを表示しないのである。こうしたターンオフの状態のまま、Ｇｒａｐｈｉｃｓコントローラ３７はＰｏｐ−ｕｐ＿Ｏｎ操作がユーザによりなされるのを待つ。ユーザによりＰｏｐ−ｕｐ＿Ｏｎ操作がなされれば（ステップＳ９１でＹｅｓ）、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に格納されたページをＣＬＵＴ部２０に出力して動画像に合成させる（ステップＳ９０）。このよ��にターンオフされているＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０の格納内容を、ＣＬＵＴ部２０に出力して動画像に合成させる制御を”ターンオン”という。以上のターンオフ、ターンオン制御によりＰｏｐ−ｕｐ表示がなされる。その後、ステップＳ１〜ステップＳ６のループ処理に戻る。以上の処理により、アップデートされたページ情報は、ＰＴＳ（ＤＳｎ［ＩＣＳ］）のタイミングにおいて再表示がなされることになる。【０１３２】  ステップＳ２は、Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８がタイムアウトしたかどうかの判定である。ステップＳ２がＹｅｓになれば、ステップＳ１１〜ステップＳ１４からなるループ処理を実行する。このループ処理は、マルチページメニューにおける任意のｐａｇｅ（ｊ）を消去して（ステップＳ１３）、ｐａｇｅ（ｊ）．Ｏｕｔ＿ｅｆｆｅｃｔを実行する（ステップＳ１４）という処理を、ＩＣＳにおけるｐａｇｅ［０］以降の全てのページについて繰り返すというものである（ステップＳ１１、Ｓ１２）。【０１３３】  ステップＳ３は、Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９がタイムアウトしたかどうかの判定である。Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９がタイムアウトしたなら、カレントページにおけるボタンを自動的にアクティブ状態に設定した上で（オートアクィベート：ステップＳ１０）、ステップＳ１〜ステップＳ６からなるループに戻る。
ステップＳ４は、Ｃｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ２０がタイムアウトしたかどうかの判定である。Ｃｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ２０がタイムアウトしたなら、１ｓｔＰａｇｅたるＰａｇｅ［０］を消去して（ステップＳ１５）、Ｐａｇｅ［０］．Ｏｕｔ＿ｅｆｆｅｃｔを再生し（ステップＳ１６）、その後、ステップＳ１〜ステップＳ６からなるループに戻る。【０１３４】  以上のメインルーチンにおけるページ表示処理は、図４０の処理手順により実現される。
図４０は、Ｐａｇｅ情報に対する表示手順を示すフローチャートである。ステップＳ２４は、カレントページのＩｎ＿ｅｆｆｅｃｔに規定された表示効果の実行であり、これを実行した後、カレントボタンの設定処理を行う（ステップＳ２５）。カレントボタンは、ＰＳＲ１０に規定されており、このＰＳＲ１０についてのＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄの実行が、このステップＳ２５の処理である。かかるステップＳ２５によりカレントボタンが決定されれば、ステップＳ１７〜ステップＳ２２に移行する。【０１３５】  ステップＳ１７〜ステップＳ２２は、カレントページにおける各ボタン情報について繰り返されるループ処理を形成している（ステップＳ１７、ステップＳ１８）。本ループ処理において処理対象になるべきボタン情報をボタン情報（ｐ）という。
ステップＳ１９では、ｂｕｔｔｏｎ情報（ｐ）がカレントボタンに対応するｂｕｔｔｏｎ情報であるか否かを判定する。もしそうであれば、ステップＳ２０に、異なるならステッステップＳ２１に移行する。【０１３６】  ステップＳ２１では、ｂｕｔｔｏｎ情報（ｐ）のｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏに指定されているｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆのグラフィクスオブジェクトを、グラフィクスオブジェクト（ｐ）としてＯｂｊｅｃｔ  Ｂｕｆｆｅｒ３５から特定する。
ステップＳ２０では、ｂｕｔｔｏｎ情報（ｐ）のｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏに指定されているｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆのグラフィクスオブジェクトを、グラフィクスオブジェクト（ｐ）として特定する。【０１３７】  ステップＳ２０、ステップＳ２１を経ることでグラフィクスオブジェクト（ｐ）が特定されれば、ｂｕｔｔｏｎ情報（ｐ）のｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されるＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０上の位置に、グラフィクスオブジェクト（ｐ）を書き込む（ステップＳ２２）。かかる処理をカレントページにおける各ボタン情報について繰り返せば、各ボタンの状態を表す複数グラフィクスオブジェクトのうち、最初のグラフィクスオブジェクトがＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０上に書き込まれることになる。以上の繰り返しを経た後、カレントページにおけるＰａｌｌｅｔ＿ｉｄ＿ｒｅｆに示されるパレットデータで表示を行うよう、ＣＬＵＴ部２０を設定して（ステップＳ２３）、本フローチャートの処理を終える。【０１３８】  この図４０のフローチャートに示される処理手順は、Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔタイプのＤｉｓｐｌａｙ  Ｓｅｔの読み出し時において、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが変化したページ情報についてのみ実行される。つまりＡｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔタイプのＤｉｓｐｌａｙ  Ｓｅｔにおいて、Ｐａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが変化したページ情報が表示中であれば（ステップＳ１６のステップＳ１２４）、その表示中ページ情報に対し、この図４０の処理が実行されるのである。かかる処理の実行により、アップデートされたページ情報に基づく再表示がなされる。【０１３９】  図４１は、Ｉｎ＿ｅｆｆｅｃｔを再生するにあたっての処理手順を示すフローチャートである。本フローチャートにおいて変数ｔは、Ｅｆｆｅｃｔ＿Ｓｅｑｕｅｎｃｅにおける任意のＥｆｆｅｃｔ画像を示す変数であり、変数ｕは、ｅｆｆｅｃｔ（ｔ）におけるＣｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔのうち、任意のＣｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔを指示する変数である。本フローチャートは、変数ｔ、変数ｕを０に初期化して（ステップＳ３０）、ｅｆｆｅｃｔ（ｔ）．ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎをＥｆｆｅｃｔ＿ｄｕｒａｔｉｏｎタイマ２１にセットし（ステップＳ３１）、ｅｆｆｅｃｔ（ｔ）．ｐａｌｌｅｔ＿ｉｄ＿ｒｅｆで示されるパレットデータで表示を行うようＣＬＵＴ部１９、１５に設定した上で（ステップＳ３２）、ステップＳ３３〜ステップＳ４０とからなるループ処理を実行するというものである。このループ処理は、二重ループであり、一重目のループ（ステップＳ３３〜ステップＳ３７）は、変数ｕを制御変数にしており、二重目のループ（ステップＳ３３〜ステップＳ４０）は、変数ｔを制御変数にしている。【０１４０】  一重目のループは、ｅｆｆｅｃｔ（ｔ）．Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔ（ｕ）．ｏｂｊｅｃｔ＿ｃｒｏｐｐｅｄ＿ｆｌａｇが０であるか否かを判定し（ステップＳ３３）、０ならｅｆｆｅ���ｔ（ｔ）．Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔ（ｕ）においてグラフィクスオブジェクトを非表示にする（ステップＳ３５）。１なら、ｅｆｆｅｃｔ（ｔ）．Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔ（ｕ）のｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｏｂｊｅｃｔ＿ｃｒｏｐｐｉｎｇ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ，ｃｒｏｐｐｉｎｇ＿ｗｉｄｔｈ，ｃｒｏｐｐｉｎｇ＿ｈｅｉｇｈｔに基づき、グラフィクスオブジェクトに対するクロップを行い、そしてクロップで得られたグラフィクスオブジェクトの一部分を、ｅｆｆｅｃｔ（ｔ）．Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔ（ｕ）のｗｉｎｄｏｗ＿ｉｄ＿ｒｅｆに示されるウィンドゥにおいて、ｅｆｆｅｃｔ（ｔ）．Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔ（ｕ）のｃｏｍｐｏｓｉｔｉｎ＿ｏｂｊｅｃｔ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ、ｃｏｍｐｏｓｉｔｉｎ＿ｏｂｊｅｃｔ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示される位置に書き込んで（ステップＳ３４）、変数ｕをインクリメントする（ステップＳ３６）という処理を、変数ｕがｎｕｍｂｅｒ＿ｏｆ＿Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｏｂｊｅｃｔになるまで、繰り返すというものである。【０１４１】  ２重目のループは、ステップＳ３３〜ステップＳ３７のループが一巡する度に、ｅｆｆｅｃｔ＿ｄｕｒａｔｉｏｎの経過を待った上で（ステップＳ３８）、変数ｔのインクリメントと、変数ｕの初期化（ｕ←０）とを行う（ステップＳ３９）という処理を、変数ｔがｎｕｍｂｅｒ＿ｏｆ＿ｅｆｆｅｃｔ（ｔ）になるまで繰り返すというものである（ステップＳ４０）。以上がＩｎ＿Ｅｆｆｅｃｔを再生する際の処理手順である。尚、Ｏｕｔ＿ｅｆｆｅｃｔを再生するにあたっても、原則同様の処理を行えばよいので、Ｏｕｔ＿Ｅｆｆｅｃｔ再生時の処理については説明を省略する。【０１４２】  こうしてＩｎ＿ｅｆｆｅｃｔの表示がなされた後、カレントページを表示して、最初の表示をアニメーション的に更新してゆく。ここで最初の表示は、各ｂｕｔｔｏｎ情報のｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ、ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆで指定されているグラフィクスオブジェクトを、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に書き込まれることにより実現した。アニメーション的な更新は、メインルーチンのループ処理が一巡する度に、各ボタンにおける任意のコマ（ｑコマ目にあるグラフィクスオブジェクト）をこのＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に上書することである。つまりこの更新は、ｂｕｔｔｏｎ情報のｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ、ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏで指定されているグラフィクスオブジェクトを、一枚ずつＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に書き込んでメインルーチンにリターンすることでなされる。ここで変数ｑとは、各ボタン情報のｂｕｔｔｏｎ情報のｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ、ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏで指定されている個々のグラフィクスオブジェクトを指定するための変数である。【０１４３】  このアニメーション的な表示更新を実現するための処理を、図４２を参照しながら説明する。
ステップＳ４１は最初の表示が済んでいるか否かの判定であり、もし済んでいなけれ何の処理も行わずにメインルーチンにリターンする。もし済んでいればステップＳ４２〜ステップＳ５３の処理を実行する。ステップＳ４１〜ステップＳ５５は、ＩＣＳにおける各ｂｕｔｔｏｎ情報について、ステップＳ４４〜ステップＳ５５の処理を繰り返すというループ処理を構成している（ステップＳ４２、ステップＳ４３）。【０１４４】  ステップＳ４４は、ｂｕｔｔｏｎ情報（ｐ）に対応する変数ａｎｉｍａｔｉｏｎ（ｐ）を変数ｑに設定する。こうして、変数ｑは、ｂｕｔｔｏｎ情報（ｐ）に対応する、現在のコマ数を示すことになる。
ステップＳ４５は、ｂｕｔｔｏｎ情報（ｐ）が、現在セレクテッド状態にあるボタン（カレントボタン）に対応するｂｕｔｔｏｎ情報であるか否かの判定である。
カレントボタン以外のボタンならば、ｂｕｔｔｏｎ情報（ｐ）．ｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに変数ｑを足した識別子をＩＤ（ｑ）とする（ステップＳ４６）。【０１４５】  カレントボタンに対応するボタンであれば、ステップＳ４７の判定を行う。
ステップＳ４７は、カレントボタンがアクティブ状態であるかの判定であり、もしそうであれば、ステップＳ５４においてｂｕｔｔｏｎ情報（ｐ）．ａｃｔｉｏｎｅｄ＿ｓｔａｔｅ＿ｉｎｆｏにおけるａｃｔｉｖａｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに変数ｑを足した識別子をＩＤ（ｑ）とする。そしてｂｕｔｔｏｎ情報（ｐ）に含まれるナビゲーションコマンドのうち、１つを実行する（ステップＳ５５）。【０１４６】  カレントボタンがアクティブ状態でなければ、ｂｕｔｔｏｎ情報（ｐ）．ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに変数ｑを足した識別子をＩＤ（ｑ）とする（ステップＳ４８）。
こうしてＩＤ（ｑ）が決まれば、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５に存在する、ＩＤ（ｑ）を有するグラフィクスオブジェクト（ｑ）を、ｂｕｔｔｏｎ情報（ｐ）のｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されるＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０上の位置に書き込む（ステップＳ４９）。【０１４７】  以上のループ処理により、カレントボタンのセレクテッド状態（若しくはアクティブ状態）及びその他のボタンのノーマル状態を構成する複数グラフィクスオブジェクトのうち、ｑ枚目のものがＩｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１０に書き込まれることになる。
ステップＳ５０は、ｎｏｒｍａｌ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆ＋ｑがｎｏｒｍａｌ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆに達したか否かの判定であり、もし達しないなら変数ｑをインクリメントし、インクリメントされた値を変数ａｎｉｍａｔｉｏｎ（ｐ）に設定する（ステップＳ５１）。もし達したなら、ステップＳ４３に移行する。以上の処理は、ＩＣＳにおける全てのｂｕｔｔｏｎ情報について繰り返される（ステップＳ４２、ステップＳ４３）。全てのｂｕｔｔｏｎ情報について、処理がなされれば、メインルーチンにリターンする。【０１４８】  以上のステップＳ４１〜ステップＳ５３により対話画面における各ボタンの絵柄は、メインルーチンが一巡する度に新たなグラフィクスオブジェクトに更新される。メインルーチンが何度も反復されれば、いわゆるアニメーションが可能になる。アニメーションにあたって、グラフィクスオブジェクト一コマの表示間隔は、ａｎｉｍａｔｉｏｎ＿ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅに示される値になるようにＧｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ３７は時間調整を行う。以上がアニメーション的な更新処理である。【０１４９】  上述したフローチャートのステップＳ４７において１つのボタンがアクティブ状態になっていると、このボタンに対応するボタン情報のナビコマンドを、ステップＳ５５において実行せねばならない。図４３は、ナビゲーションコマンド実行時における処理手順を示すフローチャートである。ステップＳ５６はナビゲーションコマンドがＳｅｔＢｕｔｔｏｎＰａｇｅＣｏｍｍａｎｄであるか否かの判定である。もしＳｅｔＢｕｔｔｏｎＰａｇｅＣｏｍｍａｎｄでないなら、ステップＳ５７においてナビゲーションコマンドをそのまま実行する。もしＳｅｔＢｕｔｔｏｎＰａｇｅＣｏｍｍａｎｄであるなら、ナビコマンドのオペランドから特定される切換先ページをＸにし、ナビコマンドのオペランドから特定されるｂｕｔｔｏｎ番号をＰＳＲ１０に格納するよう状態制御部２３に指示した上で（ステップＳ５８）、ＰＳＲ１１についてのＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄを状態制御部２３に実行させる（ステップＳ５９）。ここでＰＳＲ１１は、現在表示されているページを示すものであり、これについてのＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄを実行することで、カレントページが定まる。その後、ＰＳＲ（１０）についてのＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄを状態制御部２３に実行させて（ステップＳ６０）、図４３のフローチャートの処理を終える。【０１５０】  以上でナビコマンド実行処理についての説明を終わる。ナビコマンドは、対応するボタンがアクティブ状態であった際実行された。ボタン状態の変化は、ユーザ操作（ＵＯ）に従って、図４４の処理手順を実行することによりなされる。図４４は、ＵＯ処理の処理手順を示すフローチャートである。本フローチャートは、ステップＳ６１〜ステップＳ６４の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。ステップＳ６１は、ＵＯｍ��ｓｋＴａｂｌｅが″１″に設定されているかどうかの判定であり、もしに設定されていれば、何の処理も行わずに、メインルーチンにリターンする。【０１５１】  ステップＳ６２は、リモコンにおけるＭｏｖｅＵＰ／Ｄｏｗｎ／Ｌｅｆｔ／Ｒｉｇｈｔキーが押下されたかどうかの判定であり、もしこれらのキーが押下されれば、Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８、Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９をリセットする（ステップＳ６５）。そしてカレントボタンを変更して（ステップＳ６６）、カレントボタンのａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇが１かどうかを判定する（ステップＳ６７）。もし違うならメインルーチンにリターンする。もしそうであるなら、ステップＳ６９に移行して、カレントボタン（ｉ）をアクティブ状態に遷移する。その後、変数ａｎｉｍａｔｉｏｎ（ｉ）を０に設定する（ステップＳ７０）。【０１５２】  ステップＳ６３は、数値入力であるかどうかの判定であり、もし数値入力であれば、Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８、Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９をリセットした上で（ステップＳ７１）、カレントボタンの変更処理を行い（ステップＳ７２）、メインルーチンにリターンする。
ステップＳ６４は、リモコンにおけるａｃｔｉｖａｔｅｄキーが押下されたかどうかの判定であり、もしそうであれば、Ｕｓｅｒ＿ＴｉｍｅＯｕｔタイマ１８、Ｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔタイマ１９をリセットした上で（ステップＳ６８）、カレントボタン（ｉ）をアクティブ状態に遷移する（ステップＳ６９）。その後、変数ａｎｉｍａｔｉｏｎ（ｉ）を０に設定する（ステップＳ７０）。図４４の処理手順のうち、ステップＳ６６におけるカレントボタンを変化させる処理はサブルーチン化されている。このサブルーチンの処理手順を示したのが図４５である。以降このフローチャートについて説明する。【０１５３】  図４５は、カレントボタンの変更処理の処理手順を示すフローチャートである。先ず初めに、カレントボタンのｎｅｉｇｈｂｏｒ＿ｉｎｆｏにおけるｕｐｐｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ，ｌｏｗｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ，ｌｅｆｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ，ｒｉｇｈｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆのうち、押下されたキーに対応するものを特定する（ステップＳ７５）。
そしてカレントボタンをボタンＹとし、ｕｐｐｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ，ｌｏｗｅｒ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ，ｌｅｆｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆ，ｒｉｇｈｔ＿ｂｕｔｔｏｎ＿ｉｄ＿ｒｅｆにより特定されるボタンをボタンＸとする（ステップＳ７６）。ＸをＰＳＲ１０に設定するため、状態制御部２３にＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄを実行させる（ステップＳ７７）。【０１５４】  設定後、変数ａｎｉｍａｔｉｏｎ（Ｘ），変数ａｎｉｍａｔｉｏｎ（Ｙ）を０に設定した上でメインルーチンにリターンする（ステップＳ７８）。変数ａｎｉｍａｔｉｏｎ（）は、ボタンの状態が変化した際、″０″にリセットされるので、ボタンの状態変化時においてのみ、アニメーション表示は開始されることになる。
以上のように本実施形態によれば、何れかのペｇがカレントページになっている状態において、そのページにおけるボタン部材の表示をアニメーション的に更新することができるので、映画作品のイメージに沿った画面作りが可能になる。【０１５５】  （第３実施形態）
第１実施形態は、ページ情報のアップデートについて説明したが、本実施形態は、ＤＳｎに属するグラフィクスオブジェクトのアップデートを実現する改良に関する。ここでグラフィクスオブジェクトのアップデートとは、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上にグラフィクスオブジェクトが存在している状態で、同じＯｂｊｅｃｔ＿ｉｄを有するＯＤＳをＳｔｒｅａｍ  Ｇｒａｐｈｉｃｓプロセッサ１４に送り込み、これをデコードさせてＯｂｊｅｃｔ  Ｂｕｆｆｅｒ３５に書き込ませることにより、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上のグラフィクスオブジェクトを上書きすることである。【０１５６】  かかるグラフィクスオブジェクトアップデートを実現する際、問題となるのは、ページにおけるアニメーション表示の阻害である。第２実施形態で述べたように、メニュー上のフォーカスを移動する操作をユーザが行った場合、各ボタンの状態が、ノーマル状態からセレクテッド状態へ、セレクテッド状態からノーマル状態へそれぞれ変化する。ノーマル状態からセレクテッド状態への変化にあたって、ｓｅｌｅｃｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆで指定されているＯＤＳからｓｅｌｅｃｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆで指定されているＯＤＳまでを順次表示することになる（図２８のＯＤＳ１４〜１６）。【０１５７】  また、セレクテッド状態からアクティブ状態への変化にあたって、ａｃｔｉｖａｔｅｄ＿ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆで指定されているＯＤＳからａｃｔｉｖａｔｅｄ＿ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｒｅｆで指定されているＯＤＳまでを順次表示することになる（図２８のＯＤＳ１７〜１９）。
かかる順次表示がアニメーション表示である。このようなアニメーション表示の際中に、上述したようなグラフィクスオブジェクトのアップデートが生じると、同じＯｂｊｅｃｔ＿ｉｄで識別されるＯｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上の矩形領域に、別のグラフィクスオブジェクトが配置されることになる。アニメーション表示の途中で、かかるグラフィクスオブジェクトがＯｂｊｅｃｔ  Ｂｕｆｆｅｒ３５からグラフィクスプレーンに読み出されると、グラフィクスの絵柄が変わってしまう。【０１５８】  アニメーション表示の絵柄がアニメーション表示の途中で変わってしまうというのはおかしいので、グラフィクスオブジェクトのアップデートがなされる期間は、アニメーション表示を実行させないようにする。
ここでグラフィクスオブジェクトのアップデートがなされる期間とは、ページの再表示がなされる期間のことであり、ＤＴＳ（ＤＳｎ［ＩＣＳ］）からＰＴＳ（ＤＳｎ［ＩＣＳ］）までの期間をいう。この期間においてＧｒａｐｈｉｃｓコントローラ３７は、フォーカスを移動させる操作や、ボタンを確定する操作を受け付けたとしても、その操作に従った操作を実行せず、ボタンの状態変化を禁止する、
こうすることで、アニメーション表示のおかしな変化を避けることができる。【０１５９】  （第４実施形態）第４実施形態は、Ｅｐｏｃｈにおける各Ｄｉｓｐｌａｙ  ＳｅｔのＯＤＳ配置改良に関する。図４６、図４７（ａ）（ｂ）は、本実施形態における各Ｄｉｓｐｌａｙ  Ｓｅｔの内部構成を示す。図４６は、Ｅｐｏｃｈ  ＳｔａｒｔタイプＤｉｓｐｌａｙ  Ｓｅｔの内部構成を示し、図４７（ａ）は、Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔタイプＤｉｓｐｌａｙ  Ｓｅｔの内部構成を示す。図４７（ｂ）は、Ｎｏｒｍａｌ  ＣａｓｅタイプのＤｉｓｐｌａｙ  Ｓｅｔの内部構成を示す。【０１６０】  続いてＤＳｎにおけるＯＤＳの配列について説明する。
図４６においてＯＤＳ１〜ｇは、Ｐａｇｅ［０］のＩｎ＿ｅｆｆｅｃｔを構成するＯＤＳの集合である（ｉｎ−ｅｆｆｅｃｔ  ｇｒｏｕｐ）。
ＯＤＳｇ＋１〜ｈは、ボタンのノーマル状態を描くＯＤＳの集合（ＯＤＳｓ  ｆｏｒ  Ｎｏｒｍａｌ  ｓｔａｔｅ）である。【０１６１】  ＯＤＳｈ＋１〜ｉは、ボタンのセレクテッド状態を描くＯＤＳの集合（ＯＤＳｓ  ｆｏｒ  Ｓｅｌｅｃｔｅｄ  ｓｔａｔｅ）である。
ＯＤＳｉ＋１〜ｊは、ボタンのアクティブ状態を描くＯＤＳの集合（ＯＤＳｓ  ｆｏｒ  Ａｃｔｉｏｎｅｄ  ｓｔａｔｅ）である。
ＯＤＳｊ＋１〜ｋは、Ｐａｇｅ［０］のＯｕｔ＿Ｅｆｆｅｃｔ及びＰａｇｅ［１］以降のＩｎ＿Ｅｆｆｅｃｔ・Ｏｕｔ＿Ｅｆｆｅｃｔを表現するＯＤＳの集合である。【０１６２】  これらグループの順序は、Ｉｎ＿Ｅｆｆｅｃｔ→ノーマル状態→セレクテッド状態→アクティブ状態→その他というように並べられている。これはＯＤＳのうち、対話画面の最初の表示を構成するものを早く読み出させ、アップデート後の画面表示を構成するものの読み出しを後にするという配慮である。これがＥｐｏｃｈ  ＳｔａｒｔにおけるＯＤＳの構成である。
ＯＤＳ群はＥｐｏｃｈ  Ｓｔａｒｔのみに存在しており、Ｎｏｒｍａｌ  ＣａｓｅのＤｉｓｐｌａｙ  Ｓｅｔには、一切のＯＤＳが存在しない（図４７（ａ））。Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔのＤｉｓｐｌａｙ  Ｓｅｔには、ＯＤＳが存在したとしても、Ｅｐｏｃｈ  Ｓｔａｒｔに帰属するＯＤＳの複製物が存在しているに過ぎない（図４７（ｂ））。【０１６３】  これら図４６、図４７（ａ）〜（ｂ）からも分かるように、Ｅｐｏｃｈにおいて新たな表示をもたらすＯＤＳは、Ｅｐｏｃｈ  Ｓｔａｒｔ内のみにあり、Ｅｐｏｃｈ  Ｓｔａｒｔ以降のＤｉｓｐｌａｙ  Ｓｅｔには、グラフィクスオブジェクトのアップデートをもたらすようなＯＤＳは一切ない。このようにすることでＩＣＳのＥｐｏｃｈにおけるグラフィクスオブジェクトのアップデートは、一切禁じられることになる。【０１６４】  いうまでもないが、以上の制限は、１つのＥｐｏｃｈ限りの制限であり、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上のグラフィクスオブジェクトを総入れ替えするようなＯＤＳをＤｉｓｐｌａｙ  Ｓｅｔに配置してもよい。
以上が本実施形態に係る記録媒体の改良である。続いて本実施形態にかかる再生装置の改良について説明する。【０１６５】  図４６のようにＯＤＳ群が配置されているので、ＡＶＣｌｉｐの通常再生がなされた場合、グラフィクスデコーダは、Ｅｐｏｃｈ  Ｓｔａｒｔの読み出し時において、Ｓｔｒｅａｍ  Ｇｒａｐｈｉｃｓプロセッサ１４にデコードを行わせ、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上に非圧縮グラフィクスを格納させる。
そして、以降のＤｉｓｐｌａｙ  Ｓｅｔの読み出し時において、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上のグラフィクスオブジェクトのアップデートを禁じる。つまりＮｏｒｍａｌ  ＣａｓｅタイプのＤｉｓｐｌａｙ  Ｓｅｔの読み出し時には、元来ＯＤＳが含まれていないので、Ｓｔｒｅａｍ  Ｇｒａｐｈｉｃｓプロセッサ１４に一切のデコードを行わせない。Ａｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔタイプのＤｉｓｐｌａｙ  Ｓｅｔの読み出し時において、Ｃｏｄｅｄ  Ｄａｔａバッファ３３にはＯＤＳが読み出されるが、これはＥｐｏｃｈ  Ｓｔａｒｔに属するＯＤＳの複製物に過ぎないので、Ｇｒａｐｈｉｃｓコントローラ３７にデコードさせることなく、Ｃｏｄｅｄ  Ｄａｔａバッファ３３上でこれらを廃棄する。【０１６６】  次に飛び込み再生時について説明する。飛び込み再生時にはＡｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔタイプのＤｉｓｐｌａｙ  Ｓｅｔが一番最初に読み出されることになる。かかるＡｃｑｕｉｓｉｔｉｏｎ  ＰｏｉｎｔタイプＤｉｓｐｌａｙ  Ｓｅｔの読み出し時において、Ｓｔｒｅａｍ  Ｇｒａｐｈｉｃｓプロセッサ１４にＯＤＳのデコードを行わせる。そして後続するＤｉｓｐｌａｙ  Ｓｅｔの読み出しがなされている期間は、通常再生と同様、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上のグラフィクスオブジェクトを上書きしない。【０１６７】  かかる処理により、ユーザがいつ、フォーカス移動操作や確定操作を行ったとしても、ボタンのアニメーション表示がおかしくなることはない。
以上のように本実施形態によれば、ＯＤＳのデコード及びＢＤ−ＲＯＭへの書き込みを最初の読み出し時に実行し、後続のＯＤＳの読出時においては、Ｏｂｊｅｃｔ  Ｂｕｆｆｅｒ３５上のグラフィクスオブジェクトをアップデートしないので、ボタン状態が変化するにあたってのアニメーション表示がおかしくなることはない。【０１６８】  （第５実施形態）
本実施形態は、ＢＤ−ＲＯＭの製造工程に関する実施形態である。図４８は、第１実施形態〜第４実施形態に示したＢＤ−ＲＯＭを作成するための製造工程を示す図である。
ＢＤ−ＲＯＭの制作工程は、動画収録、音声収録等の素材作成を行う素材制作工程Ｓ２０１、オーサリング装置を用いて、アプリケーションフォーマットを生成するオーサリング工程Ｓ２０２、ＢＤ−ＲＯＭの原盤を作成し、プレス・貼り合わせを行って、ＢＤ−ＲＯＭを完成させるプレス工程Ｓ２０３を含む。【０１６９】  これらの工程のうち、ＢＤ−ＲＯＭを対象としたオーサリング工程は、以下のステップＳ２０４〜ステップＳ２１３を含む。
以降ステップＳ２０４〜ステップＳ２１３について説明する。ステップＳ２０４において制御情報、パレット定義情報、グラフィクスを記述し、ステップＳ２０５において、制御情報、パレット定義情報、グラフィクスを機能セグメントに変換する。ステップＳ２０６では、同期したいピクチャが出現するタイミングに基づき、ＩＣＳのＰＴＳを設定する。そしてステップＳ２０７では、ＰＴＳ［ＩＣＳ］の値に基づき、ＤＴＳ［ＯＤＳ］，ＰＴＳ［ＯＤＳ］を設定し、ステップＳ２０８においてＤＴＳ［ＯＤＳ］の値に基づき、ＤＴＳ［ＩＣＳ］，ＰＴＳ［ＰＤＳ］を設定する。【０１７０】  ステップＳ２０９では、プレーヤモデルにおける各バッファの占有量の時間的遷移をグラフ化する。ステップＳ２１０では、グラフ化された時間的遷移がプレーヤモデルの制約を満たすか否かを判定し、もし満たさないなら、ステップＳ２１１において各機能セグメントのＤＴＳ、ＰＴＳを書き換える。もし満たすならステップＳ２１２においてグラフィクスストリームを生成し、ステップＳ２１３においてグラフィクスストリームを別途生成されたビデオストリーム、オーディオストリームと多重してＡＶＣｌｉｐを得る。以降、ＡＶＣｌｉｐをＢＤ−ＲＯＭのフォーマットに適合させることにより、アプリケーションフォーマットが完成する。
（備考）
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記（Ａ）（Ｂ）（Ｃ）（Ｄ）・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。【０１７１】  （Ａ）全ての実施形態では、本発明に係る記録媒体をＢＤ−ＲＯＭとして実施したが、本発明の記録媒体は、記録されるグラフィクスストリームに特徴があり、この特徴は、ＢＤ−ＲＯＭの物理的性質に依存するものではない。グラフィクスストリームを記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ＋ＲＷ，ＤＶＤ＋Ｒ，ＣＤ−Ｒ，ＣＤ−ＲＷ等の光ディスク、ＰＤ，ＭＯ等の光磁気ディスクであってもよい。また、コンパクトフラッシュ（登録商標）カード、スマートメディア、メモリスティック、マルチメディアカード、ＰＣＭ−ＣＩＡカード等の半導体メモリカードであってもよい。フレキシブルディスク、ＳｕｐｅｒＤｉｓｋ，Ｚｉｐ，Ｃｌｉｋ！等の磁気記録ディスク（ｉ）、ＯＲＢ，Ｊａｚ，ＳｐａｒＱ，ＳｙＪｅｔ，ＥＺＦｌｅｙ，マイクロドライブ等のリムーバブルハードディスクドライブ（ｉｉ）であってもよい。更に、機器内蔵型のハードディスクであってもよい。【０１７２】  （Ｂ）全ての実施形態における再生装置は、ＢＤ−ＲＯＭに記録されたＡＶＣｌｉｐをデコードした上でＴＶに出力していたが、再生装置をＢＤ−ＲＯＭドライブのみとし、これ以外の構成要素をＴＶに具備させてもい、この場合、再生装置と、ＴＶとをＩＥＥＥ１３９４で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレイと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなすシステムＬＳＩ（集積回路）のみを、実施としてもよい。これらの再生装置及び集積回路は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、各実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第１実施形態に示した再生装置の有償・無償による譲渡（有償の場合は販売、無償の場合は贈与になる）、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。【０１７３】  （Ｃ）各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムが使用される行為の形態を示したが、再生装置から分離して、第１実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為（１）や、有償・無償によりプログラムを譲渡する行為（２）、貸与する行為（３）、輸入する行為（４）、双方向の電子通信回線を介して公衆に提供する行為（５）、店頭、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為（６）がある。【０１７４】  （Ｄ）各フロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。【０１７５】  （Ｅ）ＢＤ−ＲＯＭに記録するにあたって、ＡＶＣｌｉｐを構成する各ＴＳパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒと呼ばれ、『Ａｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐ』と、『ｃｏｐｙ＿ｐｅｒｍｉｓｓｉｏｎ＿ｉｎｄｉｃａｔｏｒ』とを含み４バイトのデータ長を有する。ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒ付きＴＳパケット（以下ＥＸ付きＴＳパケットと略す）は、３２個毎にグループ化されて、３つのセクタに書き込まれる。３２個のＥＸ付きＴＳパケットからなるグループは、６１４４バイト（＝３２×１９２）であり、これは３個のセクタサイズ６１４４バイト（＝２０４８×３）と一致する。３個のセクタに収められた３２個のＥＸ付きＴＳパケットを”Ａｌｉｇｎｅｄ  Ｕｎｉｔ”という。【０１７６】  ＩＥＥＥ１３９４を介して接続されたホームネットワークでの利用時において、再生装置は、以下のような送信処理にてＡｌｉｇｎｅｄ  Ｕｎｉｔの送信を行う。つまり送り手側の機器は、Ａｌｉｇｎｅｄ  Ｕｎｉｔに含まれる３２個のＥＸ付きＴＳパケットのそれぞれからＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒを取り外し、ＴＳパケット本体をＤＴＣＰ規格に基づき暗号化して出力する。ＴＳパケットの出力にあたっては、ＴＳパケット間の随所に、ｉｓｏｃｈｒｏｎｏｕｓパケットを挿入する。この挿入箇所は、ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒのＡｒｒｉｂｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐに示される時刻に基づいた位置である。ＴＳパケットの出力に伴い、再生装置はＤＴＣＰ＿Ｄｅｓｃｒｉｐｔｏｒを出力する。ＤＴＣＰ＿Ｄｅｓｃｒｉｐｔｏｒは、ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようＤＴＣＰ＿Ｄｅｓｃｒｉｐｔｏｒを記述しておけば、ＩＥＥＥ１３９４を介して接続されたホームネットワークでの利用時においてＴＳパケットは、他の機器に記録されることはない。
（Ｆ）各実施形態におけるデジタルストリームは、ＢＤ−ＲＯＭ規格のＡＶＣｌｉｐであったが、ＤＶＤ−Ｖｉｄｅｏ規格、ＤＶＤ−Ｖｉｄｅｏ  Ｒｅｃｏｒｄｉｎｇ規格のＶＯＢ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ）であってもよい。ＶＯＢは、ビデオストリーム、オーディオストリームを多重化することにより得られたＩＳＯ／ＩＥＣ１３８１８−１規格準拠のプログラムストリームである。またＡＶＣｌｉｐにおけるビデオストリームは、ＭＰＥＧ４やＷＭＶ方式であってもよい。更にオーディオストリームは、Ｌｉｎｅａｒ−ＰＣＭ方式、Ｄｏｌｂｙ−ＡＣ３方式、ＭＰ３方式、ＭＰＥＧ−ＡＡＣ方式、ｄｔｓ方式であってもよい。【０１７７】  （Ｇ）各実施形態における映画作品は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。【０１７８】  （Ｈ）各実施形態に示したグラフィックスオブジェクトは、ランレングス符号化されたラスタデータである。グラフィックスオブジェクトの圧縮・符号化方式にランレングス符号方式を採用したのは、ランレングス符号化は字幕の圧縮・伸長に最も適しているためである。字幕には、同じ画素値の水平方向の連続長が比較的長くなるという特性があり、ランレングス符号化による圧縮を行えば、高い圧縮率を得ることができる。また伸長のための負荷も軽く、復号処理のソフトウェア化に向いている。デコードを実現する装置構成を、字幕−グラフィックスオブジェクト間で共通化する目的で、字幕と同じ圧縮・伸長方式をグラフィックスオブジェクトに採用している。しかし、グラフィックスオブジェクトにランレングス符号化方式を採用したというのは、本発明の必須事項ではなく、グラフィックスオブジェクトはＰＮＧデータであってもよい。またラスタデータではなくベクタデータであってもよい、更に透明な絵柄であってもよい。【０１７９】  （Ｉ）グラフィックスプレーンクリア及び再描画が垂直帰線期間に完遂するよう、Ｒｃを定めても良い。垂直帰線期間は１／２９．９３秒の２５％と仮定すると、Ｒｃは１Ｇｂｐｓになる。Ｒｃをこのように設定することでグラフィクス表示はスムーズになされるので、実用上の効果は大きい。
また垂直帰線期間での書き込みに加え、ラインスキャンに同期した書き込みを併用してもよい。これにより、Ｒｃ＝２５６Ｍｂｐｓの転送レートであっても、スムーズな表示の実現が可能になる。【０１８０】  （Ｊ）各実施形態において再生装置には、グラフィックスプレーンを実装したが、このグラフィックスプレーンに代えて、一ライン分の非圧縮画素を格納するラインバッファを具備してもよい。映像信号への変換は水平行（ライン）毎に行われるので、このラインバッファさえ具備していれば、この映像信号への変換は行なえるからである。
（Ｋ）複数再生経路の合流点においてデフォルトセレクテッドボタンが変わるようなケースでは、複数再生経路のそれぞれの経由時に、固有の値を再生装置側のレジスタに設定するよう、動的シナリオにおいて再生制御を記述しておくことが望ましい。そして、そのレジスタの設定値に応じたボタンをセレクテッド状態に設定するよう再生手順を記述しておけば、どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化させることができる。【０１８１】  （Ｌ）各実施形態におけるグラフィックスプレーンは、ダブルバッファとして構成することが望ましい。グラフィックスプレーンをダブルバッファで構成すれば数フレームをかけて大きなサイズのグラフィクスをグラフィックスプレーンに書き込む場合でも、瞬時に画面切り換えを実現することができるので、画面一杯にメニューを表示する場合に有意義である。【０１８２】  （Ｍ）第１実施形態は、Ｉｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎのページ情報をアップデートする一例であるが、Ｎｏｒｍａｌ  ＣａｓｅにおけるＩｎｔｅｒａｃｔｉｖｅ＿ｃｏｍｐｏｓｉｔｉｏｎにおいても、ページ情報毎にＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒが存在する。そしてページ情報毎の内容変化を、このＰａｇｅ＿Ｖｅｒｓｉｏｎ＿Ｎｕｍｂｅｒに示させておくことができる。
【産業上の利用可能性】
【０１８３】  本発明に係る記録媒体及び再生装置は、ホームシアターシステムでの利用のように、個人的な用途で利用されることがありうる。しかし本発明は上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る記録媒体及び再生装置は、産業上の利用可能性を有する。
【図１】
2005069615.tif 000002
【図２】
2005069615.tif 000003
【図３】
2005069615.tif 000004
【図４】
2005069615.tif 000005
【図５】
2005069615.tif 000006
【図６】
2005069615.tif 000007
【図７】
2005069615.tif 000008
【図８】
2005069615.tif 000009
【図９】
2005069615.tif 000010
【図１０】
2005069615.tif 000011
【図１１】
2005069615.tif 000012
【図１２】
2005069615.tif 000013
【図１３】
2005069615.tif 000014
【図１４】
2005069615.tif 000015
【図１５】
2005069615.tif 000016
【図１６】
2005069615.tif 000017
【図１７】
2005069615.tif 000018
【図１８】
2005069615.tif 000019
【図１９】
2005069615.tif 000020
【図２０】
2005069615.tif 000021
【図２１】
2005069615.tif 000022
【図２２】
2005069615.tif 000023
【図２３】
2005069615.tif 000024
【図２４】
2005069615.tif 000025
【図２５】
2005069615.tif 000026
【図２６】
2005069615.tif 000027
【図２７】
2005069615.tif 000028
【図２８】
2005069615.tif 000029
【図２９】
2005069615.tif 000030
【図３０】
2005069615.tif 000031
【図３１】
2005069615.tif 000032
【図３２】
2005069615.tif 000033
【図３３】
2005069615.tif 000034
【図３４】
2005069615.tif 000035
【図３５】
2005069615.tif 000036
【図３６】
2005069615.tif 000037
【図３７】
2005069615.tif 000038
【図３８】
2005069615.tif 000039
【図３９】
2005069615.tif 000040
【図４０】
2005069615.tif 000041
【図４１】
2005069615.tif 000042
【図４２】
2005069615.tif 000043
【図４３】
2005069615.tif 000044
【図４４】
2005069615.tif 000045
【図４５】
2005069615.tif 000046
【図４６】
2005069615.tif 000047
【図４７】
2005069615.tif 000048
【図４８】
2005069615.tif 000049
【手続補正書】
【提出日】平成18年6月26日(2006.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記録媒体であって、
動画ストリームと、グラフィクスストリームとが記録されており、
前記動画ストリームは、動画像を構成するものであり、
前記グラフィクスストリームは、動画像と合成されるべきメニュー表示を構成するものであり、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数含み、
前記ディスプレイセットは、前記メニューを構成する一つまたは複数のページを含み、
グラフィクスストリームに属する複数ディスプレイセットは、
先行するディスプレイセットからの内容変化の有無を、前記メニューにおける個々のページ毎に示すバージョン情報を含む
ことを特徴とする記録媒体。
【請求項２】
前記グラフィクスストリームは、動画ストリームと多重化された状態で、記録媒体に記録されており、
前記ディスプレイセットは、動画ストリームの再生時間軸上における任意の一時点を示すタイムスタンプを含み、
ディスプレイセットによるメニュー表示は、前記タイムスタンプに示されるタイミングでなされる
ことを特徴とする請求項１記載の記録媒体。
【請求項３】
前記ディスプレイセットは更に、
タイムスタンプにより示される一時点の経過時において、メニュー表示を自動的に動画像に合成させる旨を再生装置に指示するユーザインターフェイス情報を含む
ことを特徴とする請求項２記載の記録媒体。
【請求項４】
前記ディスプレイセットは更に、
タイムスタンプにより示される一時点の経過時において、ユーザからのポップアップメニューの呼出操作を待ってメニュー表示を動画像に合成させる旨を再生装置に指示するユーザインターフェイス情報を含む
ことを特徴とする請求項２記載の記録媒体。
【請求項５】
前記複数のディスプレイセットは、エポックに帰属しており、
前記エポックは、再生装置上でグラフィックスデータを格納するメモリの、連続性を管理するための、再生時間軸上の管理単位であり、
前記複数のディスプレイセットのうち、前記エポックの先頭にあたるディスプレイセットには、
メニュー表示を構成するグラフィクスデータが存在しており、
前記エポック先頭ディスプレイセットに続く、他のディスプレイセットには、再生装置上のメモリにおいて前記グラフィクスデータを上書きするようなグラフィクスデータが一切存在しない
ことを特徴とする請求項１記載の記録媒体。
【請求項６】
前記複数グラフィクスストリームは、複数のセグメント情報から構成され、
複数のセグメント情報には、個々のグラフィックスデータを有するグラフィックスオブジェクトセグメントと、メニュー画面の構成および表示時刻を有するコンポジションセグメントとがある
ことを特徴とする請求項１〜５の何れかに記載の記録媒体。
【請求項７】
再生装置であって、
ビデオストリームをデコードして動画像を得るビデオデコーダと、
グラフィクスストリームをデコードして動画像と合成されるべきメニュー表示を得るグラフィクスデコーダとを備え、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数有し、
前記グラフィクスデコーダは、
メニュー表示における個々のページに対応するページ情報を有するコンポジションセグメントを格納しているコンポジションバッファと、
動画ストリームの再生進行に伴って新たなディスプレイセットが読み出された場合、新たに読み出されたディスプレイセットにおける複数ページ情報と、コンポジションバッファに格納されているページ情報のページバージョン番号を夫々比較して、ページ情報の内容が更新されたかを検出し、更新されたページ情報がある場合、更新されたページ情報を用いて、コンポジションバッファ上のページ情報を上書きする書込制御部と
を備えることを特徴とする再生装置。
【請求項８】
前記再生装置は表示制御部を有し、
前記ページ情報の上書きがなされれば、メニュー表示における複数ページのうち、上書きされたページ情報に対応するページを再表示させる
ことを特徴とする請求項７記載の再生装置。
【請求項９】
前記再生装置は、
メニュー表示を構成する非圧縮グラフィクスを格納するグラフィクスプレーンを備え、
前記グラフィクスデコーダは、
ディスプレイセットに含まれるグラフィクスデータをデコードするプロセッサと、
プロセッサにより得られた非圧縮グラフィクスを格納するオブジェクトバッファとを備え、
前記ページの再表示は、
オブジェクトバッファ上の非圧縮グラフィクスのうち、前記上書き後のページ情報により参照されているものをオブジェクトバッファから読み出し、グラフィクスプレーンに書き込むことでなされる
ことを特徴とする請求項８記載の再生装置。
【請求項１０】
前記グラフィクスストリームは、動画ストリームと多重化された状態で、記録媒体に記録されており、
前記ページ情報は、パケットに格納されており、当該パケットは、動画ストリームの再生時間軸上における任意の一時点を示すプレゼンテーションタイムスタンプを含み、
前記表示制御部によるグラフィクスプレーンへの書き込みは、
動画ストリームにおける再生時点が、前記プレゼンテーションタイムスタンプに示される一時点に到達するまでに完了する
ことを特徴とする請求項９記載の再生装置。
【請求項１１】
前記表示制御部は、
動画ストリームにおける再生時点が前記所定の時点に到達し、尚且つ、ユーザによるポップアップメニューの呼出操作が行われた時点で、前記再表示されたメニューを、動画像に合成させる
ことを特徴とする請求項１０記載の再生装置。
【請求項１２】
前記表示制御部は、
動画ストリームにおける再生時点が前記所定の時点に到達した時点で、前記再表示されたメニューを、動画像に合成させる
ことを特徴とする請求項１０記載の再生装置。
【請求項１３】
前記ページ情報を格納したパケットは、プレゼンテーションタイムスタンプの他に、デコードタイムスタンプを有しており、
前記オブジェクトバッファからグラフィクスプレーンへの書き込みは、
動画ストリームの時間軸のうち、デコードタイムスタンプに示される時点から、プレゼンテーションタイムスタンプに示される時点までの期間になされ、
前記グラフィクスプレーンに書き込まれる非圧縮グラフィクスは、ページ上のグラフィカルなボタン部材を構成するものであり、
前記表示制御部は、
前記期間において、各ボタン部材の状態の変化を禁止する
ことを特徴とする請求項１０記載の再生装置。
【請求項１４】
前記グラフィクスデコーダは、ディスプレイセットに含まれるグラフィクスデータをデコードして、デコードにより得られた非圧縮グラフィクスをオブジェクトバッファに格納させるプロセッサを備え、
前記プロセッサは、
オブジェクトバッファに対する非圧縮グラフィクスの書き込みを、最初のディスプレイセットの読み出し時に行い、次順位以降のディスプレイセットの読み出し時には、既に書き込まれているオブジェクトバッファ上の非圧縮グラフィックスに対する上書きを行わない
ことを特徴とする請求項７記載の再生装置。
【請求項１５】
記録媒体の記録方法であって、
アプリケーションデータを作成するステップと、
作成したデータを記録媒体に記録するステップとを有し、
前記アプリケーションデータは、動画ストリーム及びグラフィクスストリームを含み、
前記動画ストリームは、動画像を構成するものであり、
前記グラフィクスストリームは、動画像と合成されるべきメニュー表示を構成するものであり、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数含み、
前記ディスプレイセットは、前記メニューを構成する一つまたは複数のページを含み、
グラフィクスストリームに属する複数ディスプレイセットは、
先行するディスプレイセットからの内容変化の有無を、前記メニューにおける個々のページ毎に示すバージョン情報を含む
ことを特徴とする記録方法。
【請求項１６】
再生処理をコンピュータに実行させるプログラムであって、
ビデオストリームをデコードして動画像を得て、
グラフィクスストリームをデコードして動画像に合成すべきメニュー表示を得る処理をコンピュータに行わせるコードを備え、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数有し、
前記グラフィクスのデコードにおいて、
動画ストリームの再生進行に伴って新たなディスプレイセットが読み出された場合、新たに読み出されたディスプレイセットにおける複数ページ情報と、コンピュータにおけるバッファに格納されているページ情報のページバージョン番号を夫々比較して、ページ情報の内容が更新されたかを検出し、更新されたページ情報がある場合、更新されたページ情報を用いて、前記バッファ上のページ情報を上書きする処理をコンピュータに行わせる
ことを特徴とするプログラム。
【請求項１７】
再生方法であって、
ビデオストリームをデコードして動画像を得て、
グラフィクスストリームをデコードしてメニュー表示を得て、動画像に合成する処理を行うステップを有し、
グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数有し、
前記グラフィクスのデコードにおいて、
動画ストリームの再生進行に伴って新たなディスプレイセットが読み出された場合、新たに読み出されたディスプレイセットにおける複数ページ情報と、コンピュータにおけるバッファに格納されているページ情報のページバージョン番号を夫々比較して、ページ情報の内容が更新されたかを検出し、更新されたページ情報がある場合、更新されたページ情報を用いて、前記バッファ上のページ情報を上書きする処理をコンピュータに行わせる手順を含む
ことを特徴とする再生方法。  
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル化された映画作品におけるGUI(Graphical User Interface)技術の技術分野に属する発明であり、BD-ROM(Blu-ray Disc Read Only Memory)やDVD-Video等の記録媒体、民生用の再生装置に、かかるGUI技術を応用する場合の改良に関する。
【背景技術】
【０００２】
デジタル化された映画作品におけるGUIは、再生位置選択や言語選択等、何等かの操作をユーザから受け付けるにあたっての必要不可欠なものである。ユーザからの選択を求める選択項目は、上述した項目の他に映画監督のコメンタリ選択やエキストラのプロフィール選択、映画作品に関連するエピーソード選択等、様々なものが加わることがあり、近年、選択項目は、更に増加する傾向がある。増加した項目選択を、好適に受け付けるため、デジタルされた映画作品では、音声選択ページ、字幕選択ページ、チャプター選択ページ、タイトル選択ページ等、複数ページを表示させ得る対話制御情報を記録媒体に記録しておき、これに従い、マルチページメニューを表示させるという制御を実現するという工夫が模索されている。デジタル化された映画作品におけるGUI技術に関しては、以下の特許文献１、２に記載された先行技術がある。
【特許文献１】国際公開公報W0 2004/068854 A1
【特許文献２】国際公開公報W0 2004/077826 A1
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、マルチページメニューの各ページにおいて選択を受け付けるべき項目は、映画作品全編を通じて同じ内容であるとは限らない。映画作品の特定のシーンについて述べられているコメンタリー項目の選択は、本来そのシーンが再生されている期間のみ受け付けるべきものであり、その特定のシーン以外では、受け付けるべきではない。仮に、そのようなコメンタリー選択を受け付けるようなボタン部材が、特定シーン外で表示されれば、ユーザ側の誤解を生むことになり望ましくないからである。しかしマルチページメニューにおける複数ページのうち一部を、動画の再生進行に応じて変化させるという制御は、再生装置側に大きな処理負荷をもたらし、グラフィクス表示を途切れさせる原因になりかねない。
【０００４】
その理由は以下の通りである。上述した特許文献１に記載された先行技術では、ページ内容を変化させるにあたって、再生装置側のメモリにロードされた対話制御情報の総入れ替えを行う。ここで1つのページからなるメニューでは、対話制御情報のサイズが僅かであり、かかる総入れ替えに、大きな処理負荷は生じない。しかしマルチページメニューを実現するような対話制御情報であると、対話制御情報のサイズが0.5M〜1.0Mバイトに及ぶことがあり、再生装置側に多大な処理負荷が生じることになる。対話制御情報のサイズが多大であると、これの総入れ替えの発生によりマルチページメニューの表示が一時途切れる結果を招きかねない。グラフィクスデコーダのリセットが必要になる場合も同様である。
【０００５】
従来技術は、マルチページメニューを変化させる毎に、グラフィクスデコーダのリセットや対話制御情報の総入れ替えを行う必要があり、表示が一旦消えてしまう恐れがあるので、動画の再生進行に伴って、マルチページメニューを微妙に変化させるという制御には不向きであった。
本発明の目的は、マルチページメニューの表示を中断しなくても、特定のページの内容を僅かずつ変化させることができる記録媒体を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するため本発明に係る記録媒体は、動画ストリームと、グラフィクスストリームとが記録されており、前記動画ストリームは、動画像を構成するものであり、前記グラフィクスストリームは、動画像と合成されるべきメニュー表示を構成するものであり、グラフィクスストリームは、メニュー表示を構成するディスプレイセットを複数含み、前記ディスプレイセットは、前記メニューを構成する一つまたは複数のページを含み、グラフィクスストリームに属する複数ディスプレイセットは、先行するディスプレイセットからの内容変化の有無を、前記メニューにおける個々のページ毎に示すバージョン情報を含むことを特徴としている。
【発明の効果】
【０００７】
上記構成によれば、先行するディスプレイセットからの各ページ毎の変化が、ページ情報毎に示されているので、たとえ対話制御情報全体のサイズが大きくても、内容の変化があったページ情報のみ、バッファ上で入れ替えれば、マルチページメニューの内容を僅かに変化させることができる。バッファ上の入れ替えを行うべきページ情報は、バージョンが増えたページのみになるので、再描画に要する処理負荷を必要最低限にすることができる。
【０００８】
処理負荷を必要最低限にすることにより、表示の途切れを抑えることができ、マルチページメニューにおける一部のページを、僅かずつ変化させるという表示制御が可能になる。かかる表示制御の実現により、マルチページメニューの緻密な変化が可能になり、映画製作者は、様々な工夫でユーザを楽しませるような映画作品を、世界中に送り出すことができる。
【発明を実施するための最良の形態】
【０００９】
(第１実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図１は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図１において、本発明に係る記録媒体は、BD-ROM１００である。このBD-ROM１００は、再生装置２００、リモコン３００、テレビ４００により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
【００１０】
以上が本発明に係る記録媒体の使用形態についての説明である。続いて本発明に係る記録媒体の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録媒体は、BD-ROMの応用層に対する改良により実施することができる。図２は、BD-ROMの構成を示す図である。
本図の第４段目にBD-ROMを示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、第1段目のようになる。
【００１１】
第1段目は、BD-ROMの応用層レイアウト(アプリケーションフォーマット)を示す図である。本図において、Rootディレクトリの配下にはBDMVというサブディレクトリが形成されている。このBDMVディレクトリの下には、STREAMディレクトリが存在する。
STREAMディレクトリは、AVClipを格納したディレクトリである。STREAMディレクトリにおける『00001.m2ts』,『00002.m2ts』,『00003.m2ts』はAVClipを格納したファイルであり、これらのファイルには「xxxxx.m2ts(xは任意の整数)」という統一形式のファイル名が付与されている。
【００１２】
＜AVClipの構成＞
AVClipについて説明する。図３は、AVClipがどのように構成されているかを模式的に示す図である。
AVClipは(中段)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(上１段目)、PESパケット列に変換し(上２段目)、更にTSパケットに変換し(上３段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(PGストリーム)及び対話系のインタラクティブグラフィクスストリーム(IGストリーム)を(下１段目)を、PESパケット列に変換し(下２段目)、更にTSパケットに変換して(下３段目)、これらを多重化することで構成される。
【００１３】
プレゼンテーショングラフィクスストリーム及びインタラクティブグラフィクスストリームは、ビデオストリームにおける個々のピクチャにグラフィクスを合成させるという画面構成を実現するストリーム形式のデータである。これらプレゼンテーショングラフィクスストリーム及びインタラクティブグラフィクスストリームにより、ピクチャに合成される合成客体を”グラフィクスオブジェクト”という。
【００１４】
プレゼンテーショングラフィクスストリームは、グラフィクスオブジェクトを用いた字幕表示を実現するグラフィクスストリームである。
インタラクティブグラフィクスストリームは、グラフィクスオブジェクトの対話的な表示を実現するグラフィクスストリームである。以上がAVClipの構成である。このAVClipには、上述したような複数エレメンタリストリームから構成されているものだけではなく、単一のエレメンタリストリームから構成されているものがある。単一のエレメンタリストリームから構成されているAVClipをSubClipという。SubClipは、インタラクティブグラフィクスストリームのみ、オーディオストリームのみ、テキストデータのみを格納したファイルである。SubClipたるインタラクティブグラフィクスストリームは、再生時において予めメモリにロードされた上で、他のAVClipと同期して再生される。ここで、AVClipを再生するにあたって、SubClipを前もってメモリにロードしておくことをプリロードという。
【００１５】
続いてインタラクティブグラフィクスストリームについて説明する。図４（ａ）は、インタラクティブグラフィクスストリームの構成を示す図である。第１段目は、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に記録される。
【００１７】
以降、各機能セグメントについて説明する。
『Interactive Composition Segment(ICS)』は、対話的なグラフィクスオブジェクトの画面構成を制御する機能セグメントである。対話的な画面構成の1つとして、本実施形態のICSは、マルチページメニューを実現するものとする。
『Object_Definition_Segment(ODS)』は、ランレングス符号化形式のグラフィクスオブジェクトである。ランレングス符号化形式のグラフィクスオブジェクトは複数のランレングスデータからなる。ランレングスデータとは、画素値を示すPixel Codeと、画素値の連続長とにより、画素列を表現したデータである。Pixel Codeは、8ビットの値であり、0〜255の値をとる。ランレングスデータでは、このPixel Codeによりフルカラーの16,777,216色から任意の256色を選んで画素の色として設定することができる。
【００１８】
『Palette Difinition Segment(PDS)』は、パレットデータを格納する機能セグメントである。パレットデータとは、0〜255のPixel Codeと、画素値との組合せを示すデータである。ここで画素値は、赤色差成分(Cr値),青色差成分(Cb値),輝度成分(Y値),透明度(T値)から構成される。各ランレングスデータが有するPixel Codeを、パレットに示される画素値に置き換えることで、ランレングスデータは発色されることになる。
【００１９】
『END of Display Set Segment(END)』は、機能セグメントの伝送の終わりを示す指標であり、最後のODSの直後に配置される。以上が各機能セグメントについての説明である。
図４（ｂ）は、機能セグメントを変換することで得られるPESパケットを示す図である。図４（ｂ）に示すようにPESパケットは、パケットヘッダと、ペイロードとからなり、このペイロードが機能セグメント実体にあたる。またパケットヘッダには、この機能セグメントに対応するDTS、PTSが存在する。尚以降の説明では、機能セグメントが格納されるPESパケットのヘッダ内に存在するDTS及びPTSを、機能セグメントのDTS及びPTSとして扱う。
【００２０】
これら様々な種別の機能セグメントは、図５のような論理構造を構築する。図５は、様々な種別の機能セグメントにて構成される論理構造を示す図である。本図は第１段目にEpochを、第２段目にDisplay Setを、第３段目にDisplay Setの類型をそれぞれ示す。図４（ａ）の第3段目に示した機能セグメントは第４段目に描かれている。
第１段目のEpochとは、AVClipの再生時間軸上においてメモリ管理の連続性をもっている一つの期間、及び、この期間に割り当てられたデータ群をいう。ここで想定しているメモリとは、表示を構成するグラフィクスオブジェクトを格納しておくためのグラフィクスプレーン、非圧縮グラフィクスオブジェクトを格納しておくためのオブジェクトバッファである。これらについてのメモリ管理に、連続性があるというのは、このEpochにあたる期間を通じてこれらグラフィクスプレーン及びオブジェクトバッファのフラッシュは発生せず、グラフィックプレーン内のある決められた矩形領域内でのみ、グラフィクスの消去及び再描画が行われることをいう(※ここでフラッシュとは、プレーン及びバッファの格納内容を全部クリアしてしまうことである。)。この矩形領域の縦横の大きさ及び位置は、Epochにあたる期間において、終始固定されている。グラフィックプレーンにおいて、この固定化された領域内で、グラフィクスの消去及び再描画を行っている限り、シームレス再生が保障される。つまりEpochは、シームレス再生の保障が可能な再生時間軸上の一単位ということができる。グラフィックプレーンにおいて、グラフィクスの消去・再描画を行うべき領域を変更したい場合は、再生時間軸上においてその変更時点を定義し、その変更時点以降を、新たなEpochにせねばならない。この場合、2つのEpochの境界では、シームレス再生は保証されない。
【００２１】
尚、ここでのシームレス再生とは、グラフィクスの消去及び再描画が、所定のビデオフレーム数で完遂することをいう。インタラクティブグラフィクスストリームの場合、このビデオフレーム数は、4,5フレームとなる。このビデオフレームをどれだけにするかは、グラフィックプレーン全体に対する固定領域の大きさの比率と、オブジェクトバッファ−グラフィックプレーン間の転送レートとによって定まる。
【００２２】
第２段目のDisplay Set(DSと略す)とは、グラフィクスストリームを構成する複数機能セグメントのうち、一つの画面構成を実現するものの集合をいう。図５における破線hk1は、第２段目のDisplay Setが、どのEpochに帰属しているかという帰属関係を示す。DS1,2,3・・・nは、第１段目のEpochを構成していることがわかる。
第３段目はDisplay Setの類型を示す。Epochの先頭に位置するDisplay Setの類型はEpoch Startである。先頭ではない Display Setの類型は『Acquisition Point』、『Normal Case』、『Epoch Continue』である。本図におけるAcquisition Point、Normal Case、Epoch Continueの順序は、一例にすぎず、どちらが先であってもよい。
【００２３】
『Epoch Start』は、新たなEpochの開始にあたるDisplay Setである。そのためEpoch Startは、次の画面合成に必要な全ての機能セグメントを含んでいる。Epoch Startは、映画作品におけるチャプター等、頭出しがなされることが判明している位置に配置される。
『Acquisition Point』は、Epochの開始時点ではないが、次の画面合成に必要な全ての機能セグメントを含んでいるDisplay Setである。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、又は、ODSのみのDSvを設けてこのDSvをNormal CaseのDSにする。こうすれば、重複するODSを設ける必要はなくなるので、BD-ROMにおける容量削減に寄与することができる。Normal CaseのDSは、差分にすぎないので、Normal Case単独では画面構成は行えない。
【００２５】
『Epoch Continue』とは、AVClipの境界において、Epochが連続していることを示す。1つのDSnのComposition StateがEpoch Continueに設定されていれば、たとえDSnが、その直前に位置するDSn-1と異なるAVClip上に存在していたとしても、同じEpochに属することになる。これらDSn,DSn-1は、同じEpochに帰属するので、たとえこれら2つのDS間で、AVClipの分岐が発生したとしても、グラフィックスプレーン、オブジェクトバッファのフラッシュは発生しない。  
【００２６】
図中の破線kz1は、第４段目の機能セグメントが、どのDSに帰属しているかという帰属関係を示す。第４段目の機能セグメントは、図４（ａ）に示したものと同じものなので、これら図４（ａ）の一連の機能セグメントは、Epoch Startに帰属していることがわかる。Acquisition Pointに帰属する機能セグメントは、Epoch Startに帰属するものと同じであり、Normal Caseに帰属する機能セグメントは、Epoch Startに帰属するものの一部を省略したものである。
【００２７】
以上が機能セグメントにより構成される論理構造についての説明である。続いてこれら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の割り当てである。
【００２８】
Epochに属するDisplay Setのうち、任意のDisplay SetをDSnとすると、DSnは、図６に示すようなDTS、PTS設定によりAVClipの再生時間軸に割り当てられる。  図６は、DSnが割り当てられた、AVClipの再生時間軸を示す図である。本図においてDSnの始期は、DSnに属するICSのDTS値(DTS(DSn[ICS]))により示されており、終期は、DSnに属するENDのPTS値(PTS(DSn[END]))により示されている。そしてDSnにおいて最初の表示が行われるタイミングは、ICSのPTS値(PTS(DSn[ICS]))に示されている。AVClip再生時間軸において、ビデオストリームの所望のピクチャが出現するタイミングと、PTS(DSn[ICS])とを一致させれば、DSnの最初の表示は、そのビデオストリームと同期することになる。
【００２９】
PTS(DSn[ICS])は、DTS(DSn[ICS])に、ODSのデコードに要する期間(DECODEDURATION)と、デコードにより得られたグラフィクスオブジェクトの転送に要する期間(TRANSFERDURATION)とを足し合わせた値である。
最初の表示に必要なODSのデコードは、このDECODEDURATION内に行われることになる。図６の期間mc1は、DSnに属する任意のODS(ODSm)のデコードがなされる期間を示す。このデコード期間の開始点は、DTS(ODSn[ODSm])により示され、このデコードの終了点は、PTS(ODSn[ODSm])により示される。
【００３０】
以上のような再生時間軸への割り付けを、Epochに属する全てのODSに対して行うことで、Epochは規定されることになる。以上が再生時間軸に対する割り付けについての説明である。
本実施形態は、上述した再生時間軸における動画の再生進行に応じて、マルチページメニューの挙動を制御することを特徴としている。この特徴を実現するための新規な構成は、ICS内のInteractive_compositionに存在する。以降ICS、Interactive_compositionの内部構成について以下説明する。
【００３１】
図７（ａ）（ｂ）は、ICSとInteractive_compositionとの対応関係を示す図である。ICSとInteractive_compositionとの対応関係には、図７（ａ）に示すような1対1のものと、図７（ｂ）に示すような1対多のものとがある。
対応関係が1対1になるのは、Interactive_compositionのサイズが小さく、1つのICS内にInteractive_compositionが収まる場合である。
【００３２】
1対多の対応関係になるのは、Interactive_compositionのサイズが大きく、Interactive_compositionがフラグメント化され、複数ICSに格納される場合である。複数ICSへの格納が可能なので、Interactive_compositionサイズには制限がなく、512Kバイトであろうと、1Mバイトであろうと、Interactive_compositionのサイズを大きくすることができる。ICS、Interactive_compositionには1対多の対応関係もあり得るが、簡単を期するため、以降の説明では、ICS、Interactive_compositionの対応関係は、1対1であるとする。
【００３３】
図８は、ICSの内部構成を示す図である。ICSには、Interactive_Compositionの全体、又は、Interactive_Compositionをフラグメント化することで得られた一部が格納されている。図８の左側に示すように、ICSは、自身がICSであることを示す『segment_descriptor』と、本ICSが想定している縦横の画素数、フレームレートを示す『video_descriptor』と、本ICSが属するDisplay Setが、Normal Case、Acquisition Point、Epoch Start、Effect_Sequenceの何れであるかを示すcomposition_stateと、画面合成の回数を示すComposition_Stateとを含む『composition_descriptor』と、Interactive_Compositionの全体、又は、Interactive_Compositionをフラグメント化することで得られた一部である『Interactive_composition_data_fragment』とからなる。
【００３４】
図８の矢印cu1は、Interactive_compositionの内部構成をクローズアップしている。この矢印に示すようにInteractive_compositionは、『Interactive_composition_length』,『Stream_model』,『user_interface_model』,『composition_time_out_pts』,『selection_time_out_pts』,『user_time_out_duration』、マルチページメニューにおいて表示可能な複数ページのそれぞれに対応する『ページ情報(1)(2)・・・(i)・・・(number_of_page-1)』を含む。
【００３５】
『Interactive_composition_length』は、Interactive_compositionのデータ長を示す。
『Stream_model』は、Interactive_compositionが想定しているストリームモデルのタイプを示す。ストリームモデルとは、Interactive_compositionがどのような形態でBD-ROMに記録されて、再生装置におけるバッファ(コンポジションバッファと呼ばれる)上でどのように扱われるかを示すものであり、Stream_modelは、グラフィクスストリームがAVClipから多重分離されてコンポジションバッファ上にロードされたものであるか(i)、SubClipとして、コンポジションバッファにプリロードされたものであるか(ii)を示す。
【００３６】
『user_interface_model』は、Interactive_compositionが想定しているユーザインターフェイスモデルが、Always-onU/IであるかPop-upU/Iであるかを示す。Always-onU/Iとは、AVClipの再生進行に伴ってメニューの表示・消去がなされるユーザインターフェイスであり、ポップアップU/Iとは、ユーザによる操作をトリガにしてメニューの表示・消去がなされるユーザインターフェイスである。
【００３７】
『Composition_time_out_pts』は、ICSが帰属するEpochの終期(Epoch END)を示す。ICSによる対話制御は、このEpoch終期(Epoch END)においてもはや不可能となるので、このcomposition_time_out_ptsに示される時点が、対話制御の終期を意味する。
『selection_time_out_pts』は、セレクテッド状態にあるボタンを自動的にアクティベートするためのタイムアウト時刻を示す。ボタンとは、マルチページメニューにおける個々の選択項目であり、かかるボタンの状態をアクティブ状態に変化させる時間を規定しているのがこのselection_time_out_ptsである。
【００３８】
図中のIF文(if(Stream_model=='0b'))は、上述したcomposition_time_out_pts及びselection_time_out_ptsが、Stream_model=Multiplexedの際、出現する任意の情報要素であることを示してる。ICSが想定しているストリームモデルがプリロードである場合、これらcomposition_time_out_pts、selection_time_out_ptsは存在しない。
『user_time_out_dutration』は、ユーザ操作により表示され得るページを消去するためのタイムアウト時刻を示す。Always-onU/Iでは、2ndPage以降のPage(SubPageという)がユーザ操作により表示されるので、このuser_time_out_dutrationのタイムアウトにより、SubPageのみが消去され、1stPageのみとなる。Pop-upU/Iでは、SubPageだけではなく、マルチページメニュー全体がユーザ操作により表示されるので、user_time_out_dutrationのタイムアウトにより、全てのページが消去され何も表示されない状態(No Menu Display)になる。
【００３９】
図９は、1つのDisplay Setにおけるx番目のDisplay Setに属する複数ページのうち、任意のもの(y枚目のページ)についてのページ情報の内部構成を示す図である。この図９の右側に示すようにPage情報(y)は、
i)Page(y)を一意に識別する『page_id』、
ii)Page情報(y)により運搬されるデータ構造の中身にあたる,『UO_Mask_Table』、『in_effect』,『out_effect』,『animation_frame_rate_code』,『default_selected_button_id_ref』、『default_activated_button_id_ref』,『pallet_id_ref』,『ボタン情報(1)(2)・・・・・(number_of_buttons-1)』、
iii)Page情報(y)の中身のバージョンを示す『Page_Version_Number』
から構成される。
先ず初めに、Page情報(y)により運搬されるデータ構造を構成する各フィールドについて説明する。
【００４０】
『UO_Mask_Table』は、Page(y)におけるユーザ操作の許可／不許可が設定されるテーブルである。
『in_effect』は、Page(y)の表示開始時あたって再生すべき表示効果を示す。  『out_effect』は、Page(y)の表示終了時あたって再生すべき表示効果を示す。
『animation_frame_rate_code』は、Page(y)にアニメーション表示を適用する際、適用すべきフレームレートを記述する。
【００４１】
『default_selected_button_id_ref』は、Page(y)の表示が始まったとき、デフォルトでセレクテッド状態に設定すべきボタンを動的に定めるか、静的に定めるかを示す。本フィールドが”OxFF”であれば、デフォルトでセレクテッド状態に設定すべきボタンを動的に定める旨を示す。動的に定める場合、再生装置における状態レジスタ(Player Status Register(PSR))の設定値が優先的に解釈され、PSRに示されるボタンがセレクテッド状態になる。本フィールドが0xFFでなければ、デフォルトでセレクテッド状態に設定すべきボタンを静的に定める旨を示す。この場合、『default_selected_button_id_ref』に規定されたボタン番号でPSRを上書きし、本フィールドで指示されるボタンをセレクテッド状態にする。
【００４２】
『default_activated_button_id_ref』は、selection_time_out_ptsに示される時点に達した際、自動的にアクティブ状態に設定されるボタンを示す。default_activated_button_id_refが”FF”であれば、所定のタイムアウト時刻において、現在セレクテッド状態になっているボタンが自動的に選択される。このdefault_activated_button_id_refが00であれば、自動選択はなされない。00,FF以外の値であれば本フィールドは、有効なボタン番号として解釈される。
【００４３】
『pallet_id_ref』は、Page(y)において、CLUT部に設定すべきパレットのidを示す。
『ボタン情報(Button_info)』は、Page(y)上に表示される各ボタンを定義する情報である。以上のフィールドにより、マルチページメニューにおける個々のページの中身は特定される。
『Page_Version_Number』は、EpochにおいてPage情報(y)のデータ構造により運搬される中身のバージョンを示すフィールドである。このPage_Version_Numberは本願の主眼となるものであるので、このPage_Version_Numberについて詳しく説明する。ページ情報(y)のバージョンとは、ページ情報で運搬されるデータ構造の中身が、何回目のアップデートを経たものであるかを示す。Page情報(y)のデータ構造において、Page_Version_Number直後のフィールドのうち、どれかの値が変化した場合、又は、Page_Version_Number直後の各フィールドに何等かの変化があった場合、Page情報(y)は、アップデートされたとみなされる。
【００４４】
Page_Version_Numberによるバージョンは、1つのEpochにおける通し番号で表現される。そのため、このPage_Version_Numberの値は、ページ情報が1つのEpochにおいてどのDisplay Setに属するかによって変わる。1つのEpochにおいてEpoch Startに属するページ情報では、このPage_Version_Numberは初期値(=0)に設定される。一方、2つ目以降のDisplay Setのうち、アップデートをもたらすもの(Acquisition Point、Normal Case)に属するPage_Version_Numberには、アップデート回数を示す1〜255の値が設定される。
【００４５】
以降図１０の具体例を交えてこのPage_Version_Numberについて詳しく説明する。
図１０は、連続する2つのDisplay Set(DSx+1、DSx)におけるPage_Version_Number設定を示す図である。DSx+1はAcquisition Pointであり、このDisplay Setの任意のページ情報(y)を着眼する。このDSx+1のPage情報(y)の中身が、DSxと全く同一であれば、DSx+1.Page情報(y)のPage_Version_Numberは、DSx.Page情報(y)のPage_Version_Numberと同じ値に設定される。このPage_Version_Numberを参照することにより再生装置は、DSx、DSx+1の間において、Page情報(y)の中身から変わっていないと判断することができる。これに対し図１１では、DSx+1におけるPage情報(y)の中身は、DSxにおけるPage情報(y)のそれから変わっている。この場合、DSx+1.Page情報(y)のPage_Version_Numberは、DSx.Page情報(y)の値に1を加えた値(=A+1)になっている。かかるPage_Version_Numberの値を参照することで再生装置は、DSx+1におけるPage情報(y)が、DSxのPage情報(y)から変化していることを知ることができる。
【００４６】
図１２は、DSx.Page情報(y)により構成されるページと、DSx+1.Page情報(y)により構成されるページとを対比して示す図である。
DSx+1におけるPage情報(y)により構成されるページは、3つのボタン(A,B,C)をボタンB→ボタンC→ボタンAの順に配置するものである。
一方、DSxにおけるPage情報(y)により構成されるページは、3つのボタン(ボタンA、ボタンB、ボタンC)を、ボタンA→ボタンB→ボタンCの順に配置するものである。２枚のページの違いは、ボタンの順序がボタンA→ボタンB→ボタンCからボタンB→ボタンC→ボタンAに変化している点に過ぎない。たとえ変化が僅かなものであったとしても、DSx+1のPage情報(y)におけるPage_Version_Numberの値は、DSxより増えた値になる。Page_Version_Numberをこのように設定しておくことでPage情報(y)における些細な変化を、再生装置にシグナリングすることができる。
【００４７】
これまでの説明は、Acquisition PointDisplay SetにおけるInteractive_compositionをアップデートする一例であったが、Normal Caseに属するInteractive_compositionにおいても、ページ情報毎にPage_Version_Numberが存在する。そしてページ情報毎の内容変化を、このPage_Version_Numberに示させておくことができる。
以上が記録媒体についての説明である。続いて本発明に係る再生装置について説明する。
【００４８】
図１３は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、
主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。
【００４９】
こうして生産される再生装置は、BDドライブ１、リードバッファ２、デマルチプレクサ(De-MUX)３、ビデオデコーダ４、ビデオプレーン１１、P-Graphicsデコーダ６、Presentation Graphicsプレーン１８、合成部８、I-Graphicsデコーダ９、Interactive Graphicsプレーン１０、合成部１１、オーディオデコーダ１３、CLUT部１９、CLUT部２０、PSRセット１６、システムクロック１７、User_TimeOutタイマ１８、Selection_TimeOutタイマ１９、Composition_TimeOutタイマ２０、Effect_durationタイマ２１、操作受付部２２、状態制御部２３から構成される。
【００５０】
BD-ROMドライブ１は、BD-ROMのローディング／イジェクトを行い、BD-ROMに対するアクセスを実行する。
リードバッファ２は、FIFOメモリであり、BD-ROMから読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX)３は、リードバッファ２からTSパケットを取り出して、このTSパケットを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、所定のstreamPIDをもつものをビデオデコーダ４、オーディオデコーダ１３、P-Graphicsデコーダ６、I-Graphicsデコーダ９のどれかに出力する。
【００５１】
ビデオデコーダ４は、デマルチプレクサ３から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン１１に書き込む。
ビデオプレーン１１は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。再生装置に複数のプレーンを設けておき、これらプレーンの格納内容を画素毎に加算して、映像出力を行えば、複数の映像内容を合成させた上で映像出力を行うことができる。ビデオプレーン１１における解像度は1920×1080であり、このビデオプレーン１１に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
【００５２】
P-Graphicsデコーダ６は、BD-ROM、HDから読み出されたグラフィクスストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン１８に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
Presentation Graphicsプレーン１８は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、Presentation Graphicsプレーン１８中の非圧縮グラフィクスの各画素は8ビットのインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、Presentation Graphicsプレーン１８に格納された非圧縮グラフィクスは、表示に供される。
【００５３】
合成部８は、非圧縮状態のピクチャデータ(i)を、Presentation Graphicsプレーン１８の格納内容と合成する。
I-Graphicsデコーダ９は、BD-ROM又はHDから読み出されたIGストリームをデコードして、非圧縮グラフィクスをInteractive Graphicsプレーン１０に書き込む。
Interactive Graphicsプレーン１０は、I-Graphicsデコーダ９によるデコードで得られた非圧縮グラフィクスが書き込まれる。このInteractive Graphicsプレーン１０は、通常ターンオフ状態に設定されており、I-Graphicsデコーダ９からの指示があった場合に、ターンオン状態になる。ターンオフ状態とは、Interactive Graphicsプレーン１０に格納された非圧縮グラフィクスを、動画像に合成せず、ページを表示しない制御をいう。一方、ターンオン状態とは、ターンオフされているInteractive Graphicsプレーン１０の格納内容を、CLUT部１５に出力して動画像に合成させる制御をいう。
【００５４】
合成部１１は、Interactive Graphicsプレーン１０の格納内容と、合成部８の出力である合成画像(非圧縮状態のピクチャデータと、Presentation Graphicsプレーン１８の格納内容とを合成したもの)とを合成する。
オーディオデコーダ１３は、デマルチプレクサ３から出力されたPESパケットを復号して、非圧縮形式のオーディオデータを出力する。
【００５５】
CLUT部１９は、Presentation Graphicsプレーン１８に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
CLUT部２０は、Interactive Graphicsプレーン１０に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
PSRセット１６は、再生装置に内蔵されるレジスタであり、64個のPlayer Status Register(PSR)と、4096個のGeneral Purpose Register（GPR)とからなる。64個のPlayer Status Register(PSR)は、それぞれ現在の再生時点等、再生装置における諸状態を示す。64個のPSRのうちPSR5〜PSR8は、現在の再生時点を表すものである。このうちPSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いてAVClip上の現在の再生時点(カレントPTM)を示す。PSR11は、マルチページメニューにおけるカレントページのPage_idを示し、PSR10は、そのカレントページにおいてセレクテッド状態になっているボタン(カレントボタン)を示す。
【００５６】
システムクロック１７は、クロック信号を発生する。De-MUX３によるPESパケット変換は、このクロック信号に同期してなされる。
user_timeoutタイマ１８は、PTS(DSn[ICS])の時点において、user_time_out_dutrationが設定されるタイマである。user_time_out_dutrationが設定されると本User_TimeOutタイマ１８は、システムクロックの計時に伴い、カウントダウンを始める。タイマーによるカウントダウンは、ユーザ操作がなされる度にリセットされ、user_time_out_dutrationにより示される値に戻る。ユーザ操作が無い期間が長く続けば、カウント値はゼロに達し、User_TimeOutタイマ１８はタイムアウトする。
【００５７】
Selection_TimeOutタイマ１９は、PTS(DSn[ICS])の時点において、selection_time_out_ptsが設定されるタイマである。selection_time_out_ptsが設定されると本Selection_TimeOutタイマ１９は、システムクロックの計時に伴い、カウントダウンを始める。Selection_TimeOutタイマ１９によるカウントダウンは、ユーザ操作がなされる度にリセットされ、selection_time_out_ptsにより示される値に戻るが、ユーザ操作が無い期間が長く続けば、タイマーのカウント値はゼロに達し、Selection_TimeOutタイマ１９はタイムアウトする。かかるタイムアウトにより、図９に示したValid Interactive Periodの経過を知ることができる。
【００５８】
Composition_TimeOutタイマ２０は、DTS(DSn[ICS])の時点において、composition_time_out_ptsが設定されるタイマである。composition_time_out_ptsが設定されると本Composition_TimeOutタイマ２０は、システムクロックの計時に伴い、カウントダウンを始める。Composition_TimeOutタイマ２０によるカウントダウンは、ユーザ操作がなされもリセットされない。カウント値がゼロに達して、Composition_TimeOutタイマ２０がタイムアウトすれば、Epoch Endの到来を知ることができる。
【００５９】
Effect_durationタイマ２１は、DSnがEpoch Startである場合、DTS(DSn[ICS])の時点において、effect_durationが設定されるタイマである。effect_durationとは、effect映像の再生にあたっての表示期間をいう。effect_durationが設定されると本Effect_durationタイマ２１は、システムクロックの計時に伴い、カウントダウンを始める。Effect_durationタイマ２１によるカウントダウンは、ユーザ操作がなされもリセットされない。Effect_durationタイマ２１のカウント値はゼロに達し、Effect_durationタイマ２１がタイムアウトすれば、かかるタイムアウトにより、次のEffect映像の表示タイミングを知ることができる。
【００６０】
操作受付部２２は、リモコンや再生装置のフロントパネルになされたキー操作を受け付け、ユーザ操作を示す情報(UO)をI-Graphicsデコーダ９に出力する。
状態制御部２３は、I-Graphicsデコーダ９からの設定指示に従い、PSRに所望の値を設定する。
＜I-Graphicsデコーダ９の内部構成＞
続いて図１４を参照しながら、I-Graphicsデコーダ９の内部構成について説明する。図１４に示すようにI-Graphicsデコーダ９は、Coded Data Buffer３３、Stream Graphics Processor３４、Object Buffer３５、Composition Buffer３６、Graphics Controller３７から構成される。
【００６１】
Coded Data Buffer３３は、ICS、PDS、ODSがDTS、PTSと共に一時的に格納されるバッファである。
Stream Graphics Processor３４は、ODSをデコードして、デコードにより得られた非圧縮グラフィクスをObject Buffer３５に書き込む。
Object Buffer３５は、Stream Graphics Processor３４のデコードにより得られた非圧縮のグラフィクスオブジェクト(図中の四角枠)が多数配置されるバッファである。このObject Buffer３５において各グラフィクスオブジェクトが占める矩形領域は、Object_idにより識別される。従って、Object Buffer３５上にあるグラフィクスオブジェクトが存在している状態で、同じObject_idをもつグラフィクスオブジェクトが許可要求されれば、Object Buffer３５上においてそのグラフィクスオブジェクトが占める領域は、同じObject_idをもつグラフィクスオブジェクトにより上書きされることになる。
【００６２】
Compositionバッファ３６は、1つ以上のICSに対応する運搬されるInteractive_compositionを格納しておくためのバッファである。格納されているInteractive_compositionは、Graphicsコントローラ３７による解読に供される。
Graphicsコントローラ３７は、現在の再生時点が新たなDisplay Setに到達する度に、そのDisplay Setに含まれるICSのComposition_Stateが、Epoch Start、Acquisition Point、Normal Caseのどれであるかを判定する、Epoch Startであれば、Coded Dataバッファ３３上の新たなInteractive_compositionを、Coded Dataバッファ３３からCompositionバッファ３６に転送する。
【００６３】
Graphicsコントローラ３７は、Acquisition PointタイプのDisplay SetにおけるICSがCoded Dataバッファ３３に読み出される度に、そのICSに属する各ページ情報のPage_Version_Numberと、Compositionバッファ３６に格納済みのInteractive_compositionにおける各ページ情報のPage_Version_Numberとを照合する。そしてPage_Version_Numberが大きいページ情報がCoded Dataバッファ３３上に存在していれば、そのページ情報をCoded Dataバッファ３３からCompositionバッファ３６に転送することで、Compositionバッファ３６における所望のページ情報をアップデートする。そしてそうやってアップデートされたページ情報に該当するページが現在表示中であるか否かを判定し、もし表示中であれば、該当するページの再描画を行う。図中の◎1,2,3,4は、Coded Dataバッファ３３に読み出されたInteractive_compositionにおけるPage_Version_Number参照(◎1)、Page_Version_Numberが高いページ情報の転送(◎2)、アップデートされたページ情報の参照(◎3)、アップデートされたページ情報に基づく再描画(◎4)を模式化している。更に図中の矢印bg1,2,3,4は、Graphics Controller３７による再描画を象徴的に示している。かかる描画により、ボタン0-A〜ボタン0-Dが配されたページがInteractive Graphicsプレーン１０に現れ、動画に合成されることになる。
【００６４】
図１５は、機能セグメントのロード処理の処理手順を示すフローチャートである。本フローチャートにおいてSegmentKとは、AVClipの再生時において、読み出されたSegment(ICS,PDS,ODS)のそれぞれを意味する変数であり、無視フラグは、このSegmentKを無視するかロードするかを切り換えるフラグである。本フローチャートは、無視フラグを0に初期化した上で(ステップＳ９８)、ステップＳ１０１〜Ｓ１１６の処理を全てのSegmentについて繰り返すループ構造を有している(ステップＳ９９、ステップＳ１００)。
【００６５】
ループ構造をもつステップＳ１０１〜ステップＳ１１６の処理は、無視フラグが1かどうかを判定して(ステップＳ１０２)、無視フラグが0であるなら、対象となる機能セグメントをCoded Dataバッファ３３からCompositionバッファ３６、Stream Graphicsプロセッサ３４のどれかに転送し(ステップＳ１０３)、無視フラグが1であるならかかる転送を行わずCoded Dataバッファ３３上で、対象となる機能セグメントを削除する(ステップＳ１０４)という処理を、機能セグメントの読み出しが継続している限り繰り返すものである。
【００６６】
SegmentKが無視されるか、ロードされるかは、無視フラグの設定により決まる。ステップＳ１０７〜Ｓ１１１、Ｓ１１４、Ｓ１１５は、この無視フラグを設定する処理である。
ステップＳ１０７は、ICSにおけるComposition_StateがAcquisition Pointであるか否かの判定である。SegmentKがAcquisition Pointであるなら、ステップＳ１０８に移行し、SegmentKがもしEpoch StartかNormal Caseであるなら、ステップＳ１１１に移行する。
【００６７】
ステップＳ１０８は、先行するICSがCompositionバッファ３６上に存在するかどうかの判定であり、ステップＳ１０７がYesである場合に実行される。Compositionバッファ３６にICSが存在しないケースとは、頭出しがなされたケースをいう。この場合、Acquisition PointたるDSから、表示を開始せねばならないので、ステップＳ１１０に移行する(ステップＳ１０８でNo)。
【００６８】
Compositionバッファ３６上に先行するICSが存在する場合は(ステップＳ１０８でYes)、無視フラグを”2”に設定して(ステップＳ１０９)、ステップＳ１１２に移行する。
ステップＳ１１２は、Coded Dataバッファ３３に新たに読み出されたICS(新しい機能セグメントに属するICS)に、Page_Version_Numberが増えたページ情報が存在するか否かの判定である。
【００６９】
もし存在するなら(ステップＳ１１２でYes)、Coded Dataバッファ３３上に存在する新たなICSのうち、Page_Version_Numberが増えたページ情報のみをCompositionバッファ３６に転送し、それ以外のページ情報を無視する(ステップＳ１１６)。Page_Version_Numberが増えたページ情報が存在しない場合、ステップＳ１０２に移行する。これによりAcquisition Pointを示すICSは無視されることになる(ステップＳ１０４)。
【００７０】
ステップＳ１１１は、ICSにおけるComposition_StateがNormal Caseであるか否かの判定である。SegmentKがもしNormal Caseであるなら、ステップＳ１１４に移行する。ステップＳ１１４は、先行するICSがCompositionバッファ３６内に存在するかどうかの判定を行う。もし存在するなら、ステップＳ１１０に移行して、無視フラグを”0”に設定する。存在しないなら、元々、対話画面を構成する充分な機能セグメントが得られないため、無視フラグを”1”に設定する(ステップＳ１１５)。かかるフラグ設定により、先行するDSがグラフィクスデコーダ１２に存在しない場合、Normal Caseを構成する機能セグメントは無視されることになる。
【００７１】
対象となる機能セグメントがEpoch Startを示している場合(i)、頭出し時におけるAcquisition Pointである場合(ii)、通常再生時におけるNormal Caseである場合(iii)、ステップＳ１１１がNo、ステップＳ１０８がNo、ステップＳ１１４がYesになって無視フラグは、何れも”0”に設定されることになる(ステップＳ１１０)。これにより、対象となる機能セグメントがEpoch Startを示している場合(i)、頭出し時におけるAcquisition Pointである場合(ii)、通常再生時におけるNormal Caseである場合(iii)は何れも、Display Setに属する機能セグメントは、Stream Graphicsプロセッサ３４、Compositionバッファ３６のどれかに転送されることになる。
【００７２】
図１６は、Page_Version_Numberが変化したページ情報を用いたアップデート処理の手順を示すフローチャートである。本フローチャートは、Page_Version_Numberが変化したページ情報のそれぞれについて、ステップＳ１２３〜ステップＳ１２４の手順を繰り返すループ構造になっている(ステップＳ１２１、ステップＳ１２２)。このループ構造において対象となる個々のページ情報をページ情報(x)とすると、本ループ処理は、対象となるページ情報をCoded Dataバッファ３３からCompositionバッファ３６にロードした上で(ステップＳ１２３)、そのページ情報がアップデートされた旨を示すupdateフラグを1に設定する(ステップＳ１２４)。尚、このupdateフラグの用途については第２実施形態で説明する。
【００７３】
以降、具体例を交えながら、図１５及び図１６の制御について説明する。図１７は、本具体例の対象となるAVClipの内部構成を示す図である。この具体例で対象となるAVClipは、本編映像にあたる『ビデオストリーム』、英語音声を表す『オーディオストリーム#0』、日本語音声を表す『オーディオストリーム#1』、コメンタリ音声を示す『オーディオストリーム#2』、『グラフィクスストリーム』からなる。
【００７４】
日本語音声、英語音声は、映画作品全編を通じて存在するが、コメンタリ音声は、映画作品の途中にしか存在しない。一方グラフィクスストリームは、3つのDisplay Set(DS0、DS1、DS2)からなる。DS0は、映画作品先頭からコメンタリィ音声が始まるまでの区間、DS1は、コメンタリィ音声が存在する区間、DS2は、コメンタリィ音声の終わりから映画作品末尾までの区間にそれぞれ該当する。
【００７５】
DS1、DS2はそれぞれこのように対応しているため、DS1のICSにおけるPTS(DS1[ICS]))は、コメンタリィ音声が存在する区間の始点を示すよう設定されている。DS2のICSにおけるPTS(DS2[ICS]))は、コメンタリィ音声が存在する区間の終点を示すよう設定されている。
続いて3つのDisplay Setに属するPage情報(2)のPage_Version_Numberが全て異なる場合のページ情報読み出しについて説明する。図１８は、図１１と同様の表記で示したAVClipの内部構成を示す図である。本図に示すようにこれら3つのDisplay Set(DS0、DS1、DS2)は、n個のページ情報を有している。図中の引き出し線hs1,2,3はページ情報の中身をクローズアップしている。この引き出し線に示すように、DS0,DS2におけるページ情報は、2つのボタン情報を含むが、DS1におけるページ情報のボタン情報の数は1つ多い。ページ情報の中身が違っているので、DS0、DS1、DS2におけるPage_Version_Numberはそれぞれversion0,1,2を示すよう設定されている。
【００７６】
図１９は、通常再生時におけるページ描画を模式的に示す図である。DS0においては、Page情報(0)、Page情報(1)、Page情報(2)がCompositionバッファ３６にロードされるため、Page情報(0)、Page情報(1)、Page情報(2)から構成されるメニューを描画することができる。一方、DS1への到達時においては、ページ情報のPage_Version_Numberを参照することで、再生装置はPage情報(2)の中身が変わっていることを知得することができる。そのため再生装置は、Page情報(2)のみをCoded Dataバッファ３３からCompositionバッファ３６に転送し、これに基づく再描画を行うことで、グラフィックスプレーンの格納内容を更新する。図中の矢印up1,up2はDS1への到達時におけるアップデートと、再描画を模式的に示す。このアップデートによりCompositionバッファ３６に格納されているPage情報(2)の中身は2つのボタン情報を含むものから、3つのボタン情報を含むものへと変化する。かかるCompositionバッファ３６の格納内容に基づきグラフィクスプレーンの再描画を行えば、Page情報(2)に対応するページ上のボタンは、3つから2つに変化する。
【００７７】
図中の矢印up3,up4はDS2への到達時におけるアップデートと、再描画を模式的に示す。このアップデートによりCompositionバッファ３６に格納されているPage情報(2)の中身は3つのボタン情報を含むものから、2つのボタン情報を含むものへと変化する。かかるCompositionバッファ３６の格納内容に基づきグラフィクスプレーンの再描画を行えば、Page情報(2)に対応するページ上のボタンは、2つから3つに変化する。
【００７８】
図２０は、飛び込み再生時の描画処理を示す。この飛び込み位置がDS1の手前であれば、DS1に属するInteractive_compositionのPage情報(0)〜Page情報(2)に基づき、各ページが描画される。この飛び込み後の現在の再生時点がDS2に到達すれば、再生装置はPage_Version_Numberが変化したことによりPage(2)を再描画させるとの処理を行う。これにより表示されている3枚のページのうち、Page(2)が再描画されることになる。図２１は、図２０に示した描画により、どのような合成画像が得られるかを示す図である。本図に示すように現在の再生時点がPTS(DSo[ICS])に到達した場合、2つのボタンからなるPage(2)が動画と合成されて表示されることになる。動画の再生が進行して現在の再生時点がPTS(DS1[ICS])に到達すれば、3つのボタンからなるPage(2)が動画と合成され、表示されることになる。動画の再生が進行して現在の再生時点がPTS(DS2[ICS])に到達すれば、ボタンの数は、2つに戻るこことになる。
【００７９】
本具体例では、コメンタリィ音声が存在しているシーンにおいて、Page_Version_Numberを変化させるとした。しかしかかる設定は一例であり、上述したようなページ毎のupdateの応用の幅は広い。動画の再生が進行するにつれ、同じページのボタンを減ってゆき、選択の幅が狭まるという画面演出を実現することができる。このようなスリル感ある演出をゲームに応用してもよい。
【００８０】
特定の商品が動画中に出現している区間のみ、商品の購入のためのボタンを表示することができる。かかる応用は、オンラインショッピングのような商業的な映画作品を制作するにあたって、特に真価を発揮する。
続いて3つのDisplay Set(DS0、DS1、DS2)に属するPage情報(2)のPage_Version_Numberが全て同じである場合の読み出しについて説明する。この具体例で想定しているのは、図２２に示すような、3つの連続するDisplay Set(DS1、DS2、DS3)のPage情報(2)である。破線の矢印hh1,2,3は、3つのDisplay SetにおけるPage情報(2)の中身をクローズアップして示す。この破線に示されるように3つのDisplay SetにおけるPage情報(2)は何れも、3つのボタン情報(ボタン情報(0)(1)(2))をもつ。
【００８１】
図２３は、AVClip再生進行に伴うグラフィックスプレーンの格納内容の時間的変移を示す図である。かかる3つのDisplay Setを含むAVClipが再生装置により読み出され、再生されるものとする。3つのDisplay SetのうちDS0はAVClipの最初に位置するものなので、このDS0におけるPage情報(2)に基づき、ページが描画される。図中の矢印は、Page情報(0)、Page情報(1)、Page情報(2)に基づく再生装置による描画を模式的に示す。
【００８２】
これに後続するDS1、DS2の読み出し時にあたっては、Page情報(2)のPage_Version_Numberは、Display SetのPage情報(2)のPage_Version_Numberと同じ値になっているので、これらDS1、DS2におけるページ情報による再描画はなされない。×付きの矢印は、Graphicsコントローラ３７が、これら2つのDisplay SetにおけるPage情報(2)を無視していることを示す。図２４は、図２２に示したAVClipに対する飛び込み時において、グラフィクス描画がどのように行われるかを示す。本図における飛び込み先は、DS1の手前であるので、このDS1に属するPage情報(0)、Page情報(1)に基づき、ページ描画が行われる。Page_Version_Numberが全て同じである場合の再生装置による描画処理は以上の通りである。
【００８３】
以上のように本実施形態によれば、マルチページメニューの内容を変化させようとする場合、コンポジションバッファ内に格納されているInteractive_composition全部を総入れ替えするのではなく、コンポジションバッファ上に格納されているInteractive_compositionのうち、特定のページのみ入れ替えれば、マルチページメニューの内容を変化させることができる。Interactive_compositionの総入れ替えが不要なので、変化前後の状態を1つのEpochとして扱うことができ、不要な再生途切れを避けることができる。これにより、表示の途切れのない、マルチページメニュー変化を実現することができる。
【００８４】
(第２実施形態)
第２実施形態は、第１実施形態に示したページ情報をより詳細に開示するための実施形態である。
先ず初めにボタン情報について説明する。ページに表示される個々のボタンには、ノーマル状態、セレクテッド状態、アクティブ状態という3つの状態がある。ノーマル状態とは、単に表示されているに過ぎない状態である。これに対しセレクテッド状態とは、ユーザ操作によりフォーカスが当てられているが、確定に至っていない状態をいう。アクティブ状態とは、確定に至った状態をいう。かかる状態があるので、Page情報(y)における任意のボタンを規定するボタン情報(ボタン情報i)には、以下の情報要素が規定されている。図２５は、Page情報(y)におけるボタン情報(i)の内部構成を示す図である。
【００８５】
『button_id』は、ボタン(i)を、Interactive_compositionにおいて一意に識別する数値である。
『button_numeric_select_value』は、ボタン(i)の数値選択を許可するか否かを示すフラグである。
『auto_action_flag』は、ボタン(i)を自動的にアクティブ状態にするかどうかを示す。auto_action_flagがオン(ビット値1)に設定されれば、ボタン(i)は、セレクテッド状態になる代わりにアクティブ状態になる。auto_action_flagがオフ(ビット値0)に設定されれば、ボタン(i)は、選択されたとしてもセレクテッド状態になるにすぎない。
【００８６】
『button_horizontal_position』、『button_vertical_position』は、対話画面におけるボタン(i)の左上画素の水平位置、垂直位置を示す。
『neighbor_info』は、ボタン(i)がセレクテッド状態になっていて、上下左右方向へのフォーカス移動が命じられた場合、どのボタンをセレクテッド状態に設定するかを示す情報であり、『upper_button_id_ref』,『lower_button_id_ref』,『left_button_id_ref』,『right_button_id_ref』からなる。
【００８７】
『upper_button_id_ref』は、ボタン(i)がセレクテッド状態である場合においてリモコンが操作され、上方向へのフォーカス移動を命じるキー(MOVEUPキー)が押下された場合、ボタン(i)の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタン(i)の番号が設定されていれば、MOVEUPキーの押下は無視される。
『lower_button_id_ref』,『left_button_id_ref』,『right_button_id_ref』は、ボタン(i)がセレクテッド状態である場合において、リモコンが操作され、下方向へのフォーカス移動を命じるキー(MOVE Downキー),左方向へのフォーカス移動を命じるキー(MOVE Left キー),右方向へのフォーカス移動を命じるキー(MOVE Right キー)が押下された場合、ボタン(i)の押下の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタン(i)の番号が設定されていれば、これらのキーの押下は無視される。
【００８８】
『normal_state_info』は、ボタン(i)のノーマル状態を規定する情報であり、『normal_start_object_id_ref』、『normal_end_object_id_ref』、『normal_repeated_flag』を含む。
『normal_start_object_id_ref』は、ノーマル状態のボタン(i)をアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのnormal_start_object_id_refに記述される。
【００８９】
『normal_end_object_id_ref』は、ノーマル状態のボタン(i)をアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのnormal_end_object_id_refに記述される。このactivated_end_object_id_refに示されるIDが、normal_start_object_id_refに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタン(i)の絵柄になる。
【００９０】
『normal_repeat_flag』は、ノーマル状態にあるボタン(i)のアニメーション表示を反復継続させるかどうかを示す。
『selected_state_info』は、ボタン(i)のセレクテッド状態を規定する情報であり、 『selected_state_sound_id_ref』、『selected_start_object_id_ref』、『selected_end_object_id_ref』、『selected_repeat_flag』を含む。
『selected_state_sound_id_ref』は、ボタン(i)の状態がセレクテッド状態が変化した際、クリック音として再生させるべきサウンドデータを指定する情報である。この指定は、sound.bdmvと呼ばれるファイルに格納されているサウンドデータの識別子を記述することでなされる。本フィールドが0xFFである場合、サウンドデータは指定されていないことを意味し、クリック音再生はなされない。
【００９１】
『selected_start_object_id_ref』は、セレクテッド状態のボタン(i)をアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのselected_start_object_id_refに記述される。
『selected_end_object_id_ref』は、セレクト状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのselected_end_object_id_refに記述される。このselected_end_object_id_refに示されるIDが、selected_start_object_id_refに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタン(i)の絵柄になる。
【００９２】
『selected_repeat_flag』は、セレクテッド状態にあるボタン(i)のアニメーション表示を、反復継続するかどうかを示す。selected_start_object_id_refと、selected_end_object_id_refとが同じ値になるなら、本フィールド00に設定される。
『activated_state_info』は、ボタン(i)のアクティブ状態を規定する情報であり、 『activated_state_sound_id_ref』、『activated_start_object_id_ref』、『activated_end_object_id_ref』を含む。
【００９３】
『activated_state_sound_id_ref』は、button情報に対応するボタンのセレクテッド状態が変化した際、クリック音として再生させるべきサウンドデータを指定する情報である。この指定は、sound.bdmvに格納されているサウンドデータの識別子を記述することでなされる。本フィールドが0xFFである場合、サウンドデータは指定されていないことを意味し、クリック音再生はなされない。
【００９４】
『activated_start_object_id_ref』は、アクティブ状態のボタン(i)をアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのactivated_start_object_id_refに記述される。
『activated_end_object_id_ref』は、アクティブ状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのactivated_end_object_id_refに記述される。
【００９５】
『ナビゲーションコマンド(navigation_command)』は、ボタン(i)がアクティブ状態になれば、実行されるコマンドである。ナビゲーションコマンドの代表的なものは、SetButtonPageコマンドである。SetButtonPageコマンドは、マルチページメニューの所望のページを表示させ、そのページにおける所望のボタンをセレクテッド状態に設定させることを再生装置に命じるコマンドである。かかるナビゲーションコマンドを用いることにより、オーサリング担当者は、ページ切り換えを簡易に記述することができる。
【００９６】
上述した特許文献1,2には、ボタン情報中のナビゲーションコマンドが更新された際、その更新を示すフラグが記述されている。本願では、このフラグの役割を、ページ情報毎のPage_Version_Numberが果たすことになる。つまりどれかのページのどれかのボタンに対するナビゲーションコマンドが変化した際、そのボタン情報が属するページ情報のPage_Version_Numberがインクリメントすることになる。  
【００９７】
以上がボタン情報の内部構成である。図２６に示すボタン0-A〜ボタン0-Dの状態遷移を実行する場合のボタン情報の記述例を図２７に示す。図２６における矢印hh1,hh2は、button info(1)のneighbor_info()による状態遷移を象徴的に表現している。button info(1)のneighbor_info()におけるlower_button_id_refは、ボタン0-Cに設定されているため、ボタン0-Aがセレクテッド状態になっている状態で、MOVEDownキー押下のUOが発生すれば(図２６のup1)、ボタン0-Cがセレクテッド状態になる(図２６のsj1)。button info(1)のneighbor_info()におけるright_button_id_refは、ボタン0-Bに設定されているため、ボタン0-Aがセレクテッド状態になっている状態で、MOVERightキー押下のUOが発生すれば(図２６のup2)、ボタン0-Bがセレクテッド状態になる(図２６のsj2)。
【００９８】
図２６における矢印hh3は、button info(2)のneighbor_info()による状態遷移の制御を示す。button info(2)のneighbor_info()におけるupper_button_id_refは、ボタン0-Aに設定されているため、ボタン0-Cがセレクテッド状態になっている状態で、MOVEUpキー押下のUOが発生すれば(up3)、ボタン0-Aがセレクテッド状態に戻る(sj3)。続いてボタン0-A〜ボタン0-Dの絵柄について説明する。図２７のICSを含むDSnは、図２８のような絵柄を示すODS11〜19を含んでいるものとする。ICSにおけるbutton情報(0)のnormal_state_info()におけるnormal_start_object_id_ref,normal_end_object_id_refは、ODS11〜13を指定しているため、ボタン0-Aのノーマル状態は、ODS11〜13によるアニメーションで表現される。またbutton情報(0)のselected_state_info()におけるselected_start_object_id_ref,end_object_id_selectedは、ODS14〜16を指定しているため、ボタン0-Aのセレクテッド状態は、ODS14〜16で表現される。ユーザがこのボタン0-Aをセレクテッド状態にすることにより、ボタン0-Aの絵柄たる肖像は、ODS11〜13によるものから、ODS14〜16によるものへと変化する。ここでnormal_state_info()、selected_state_info()におけるnormal_repeat_flag,selected_repeat_flagを1にしておけば、ODS11〜13によるアニメーション、ODS14〜16によるアニメーションは、図中の「→(A)」,「(A)→」,「→(B)」,「(B)→」,に示すように、アニメーション表示は反復継続する。
【００９９】
アニメーション描画が可能な複数ODSが、ボタン0-A〜ボタン0-Dに割り当てられており、これらによる制御がICSに記述されていれば、ユーザ操作に併せてキャラクタの表情が変わるような、リアルなボタンの状態制御を実現することができる。  
ボタン情報は以上のような構成を有しているが、1つのページ内のボタン情報の個数が変わったり、又は、ボタンのアニメーション表示時に用いられるグラフィクスオブジェクトやナビゲーションコマンドの中身が変わった場合、これらの変化を示すべくPage_Version_Numberは+1の値に設定されることになる。
【０１００】
以上がボタン情報についての説明である。続いてEffect画像について説明する。In_Effect及びOut_Effectは、何れもEffect_Sequenceにより定義される。図２９は、Effect_Sequenceの内部構成を示す図である。Effect_Sequenceは、図２９の左半分に示す通りであり、number_of_windows個のウィンドゥ情報(ウィンドゥ情報(0)(1)(2)・・・(number_of_windows-1))と、number_of_effects個のeffect情報(Effect情報(0)(1)(2)・・・(number_of_effects-1))とからなる。
【０１０１】
ここでEffect画像は、一定間隔置きの画面構成(Display Composition)を繰り返すことで再生される。Effect情報は、個々の画面構成を規定する情報であり、破線ec1は、Effect情報の内部構成をクローズアップして示す。本矢印に示すように、Effect情報は、上記一定間隔を示す『effect_duration』と、その画面構成に用いられるパレットデータを示す『pallet_id_ref』と、画面構成の詳細を規定する『composition_object(0)(1)(2)・・・・(number_of_Composition_Object-1)』とからなる。
【０１０２】
ウィンドゥ情報は、グラフィックスプレーンでの画面構成に用いられる領域を規定するものである。図中の引き出し線wc1はウィンドゥ情報の構成をクローズアップしている。この引き出し線に示すようにwindow情報は、グラフィックスプレーンにおいてウィンドゥを一意に識別する『window_id』と、グラフィックスプレーンにおける左上画素の水平位置を示す『window_horizontal_position』と、グラフィックスプレーンにおける左上画素の垂直位置を示す『window_vertical_position』と、グラフィックスプレーンにおけるウィンドゥの横幅を示す『window_width』と、グラフィックスプレーンにおける縦幅を示す『window_height』とを用いて表現される。
【０１０３】
window_horizontal_position、window_vertical_position、window_width、window_heightがとりうる値について説明する。これらが想定している座標系は、グラフィックスプレーンの内部領域であり、このグラフィックスプレーンは、縦:video_height、横:video_widthという二次元状の大きさをもつ。
window_horizontal_positionは、グラフィックスプレーンにおける左上画素の水平アドレスであるので、1〜video_widthの値をとり、window_vertical_positionは、グラフィックスプレーンにおける左上画素の垂直アドレスであるので1〜video_heightの値をとる。
【０１０４】
window_widthは、グラフィックスプレーンにおけるウィンドゥの横幅であるので、1〜video_width-window_horizontal_positionの値をとり、window_heightは、グラフィックスプレーンにおける縦幅であるので1〜video_height-window_vertical_positionの値をとる。
window情報のwindow_horizontal_position、window_vertical_position、window_width、window_heightにより、グラフィックスプレーンの何処にウィンドゥを配置するか、ウィンドゥの大きさをどれだけにするかを規定することができる。
【０１０５】
続いてComposition_Objectについて説明する。図３０は、任意のcomposition_object(i)の内部構成をクローズアップした図である。この本図に示すように、composition_object(i)は、『object_id_ref』、『window_id_ref』、『object_cropped_flag』、『composition_object_horizontal_position』、『composition_object_vertical_position』、『cropping_rectangle』からなる。
【０１０６】
『object_id_ref』は、グラフィクスオブジェクト識別子(object_id)の参照値である。この参照値は、composition_object(i)に対応する画面構成を実現するにあたって、用いるべきグラフィクスオブジェクトの識別子を意味する。
『window_id_ref』は、ウィンドゥ識別子(window_id)の参照値である。この参照値は、composition_object(i)に対応する画面構成を実現するにあたって、どのウィンドゥに、グラフィクスオブジェクトを表示させるべきかを示す。
【０１０７】
『object_cropped_flag』は、オブジェクトバッファにおいてクロップされたグラフィクスオブジェクトを表示するか、グラフィクスオブジェクトを非表示とするかを切り換えるフラグである。”1”と設定された場合、オブジェクトバッファにおいてクロップされたグラフィクスオブジェクトが表示され、”0”と設定された場合、グラフィクスオブジェクトは非表示となる。
【０１０８】
『composition_object_horizontal_position』は、グラフィックスプレーンにおけるグラフィクスオブジェクトの左上画素の水平位置を示す。
『composition_object_vertical_position』は、グラフィックスプレーンにおける左上画素の垂直位置を示す。
『cropping_rectangle』は、『object_cropped_flag』が1に設定されている場合に有効となる情報要素である。破線wd2は、cropping_rectangleの内部構成をクローズアップしている。この破線に示すようにcropping_rectangleは、『object_cropping_horizontal_position』、『object_cropping_vertical_position』、『object_cropping_width』、『object_cropping_height』からなる。
【０１０９】
『object_cropping_horizontal_position』は、グラフィックスプレーンにおけるクロップ矩形の左上画素の水平位置を示す。クロップ矩形は、グラフィクスオブジェクトの一部を切り出すための枠である。
『object_cropping_vertical_position』は、グラフィックスプレーンにおけるクロップ矩形の左上画素の垂直位置を示す。
【０１１０】
『object_cropping_width』は、グラフィックスプレーンにおけるクロップ矩形の横幅を示す。
『object_cropping_height』は、グラフィックスプレーンにおけるクロップ矩形の縦幅を示す。
以上がcomposition_objectのデータ構造である。続いてcomposition_objectの具体的な記述について説明する。
【０１１１】
図３１は、右ScrollによりIn_Effectを実現するという具体例を示す図である。この具体例は、言語設定メニューを右端から徐々に引き出してゆくというものである。かかる表示効果を実現するため、時点t0,t1,t2,t3には、4つのComposition_Object(0)〜(3)を配置しておく。そしてこれらのComposition_Objectを以下のように定義する。
次に個々のcomposition_objectをどのように記述するかについて説明する。4つのcomposition_object(0)〜(3)の記述例を図３２〜図３５に示す。図３２は、composition_object(0)の記述例を示す図である。
【０１１２】
図３２において、window情報のwindow_horizontal_position、window_vertical_positionは、グラフィックスプレーンにおけるウィンドゥの左上座標LP0を、window_width,window_heightは、ウィンドゥの表示枠の横幅、縦幅を示す。
図３２におけるcomposition_object(0)のobject_cropping_horizontal_position,object_cropping_vertical_positionは、オブジェクトバッファにおけるグラフィクスオブジェクトの左上座標を原点とした座標系においてクロップ範囲の基準ST1を示している。そして基準点からobject_cropping_width、object_cropping_heightに示される範囲(図中の太枠部分)がクロップ範囲になる。クロップされたグラフィクスオブジェクトは、グラフィックスプレーンの座標系においてcomposition_object_horizontal_position,composition_object_vertical_positionを基準点(左上)とした範囲に配置される。こうすることにより、言語選択メニューの右端がグラフィックスプレーンにおけるウィンドゥ内に書き込まれる。これにより言語選択メニューの右端は動画像と合成され表示される。
【０１１３】
図３３、図３４、図３５は、composition_object(1)(2)(3)の記述例を示す図である。本図におけるwindow情報の記述は、図３２と同じなので説明を省略する。composition_objectの記述は、図３２と異なる。図３３におけるcomposition_object(1)のobject_cropping_horizontal_position,object_cropping_vertical_position,は、オブジェクトバッファ上の言語選択メニューのうち、右半分の左上座標を示し、object_cropping_height,object_cropping_widthは、右半分の横幅、縦幅を示す。また図３４におけるcomposition_object(2)のobject_cropping_horizontal_position,object_cropping_vertical_positionは、オブジェクトバッファ上の言語選択メニューのうち、右端から3/4の部分の左上座標を示し、object_cropping_height,object_cropping_widthは、3/4の部分の横幅、縦幅を示す。図３５におけるcomposition_object(3)のobject_cropping_horizontal_position,object_cropping_vertical_position,は、オブジェクトバッファ上の言語選択メニュー全体の左上座標を示し、object_cropping_height,object_cropping_widthは、全体の横幅、縦幅を示す。これら図３３、図３４、図３５に示すような書き込みがなされることにより、右半分、3/4、全体がグラフィックスプレーンにおけるウィンドゥ内に書き込まれる。これにより言語選択メニューが動画像と合成され表示される。
【０１１４】
以上の構成によりオブジェクトバッファ上のグラフィクスオブジェクトを徐々に画面に出現させたり、徐々に画面から消すという処理を、Composition_Objectの記述次第で簡単に実現することができる。
In_Effect及びOut_Effectは以上のような構成を有しているが、In_Effect及びOut_Effectのアニメーション表示時に用いられるグラフィクスオブジェクトの絵柄が変わった場合、これらの変化を示すべくPage_Version_Numberは+1の値に設定されることになる。
【０１１５】
以上が第２実施形態に係るBD-ROMの改良である。続いて第２実施形態に係る再生装置の改良について説明する。
第２実施形態に係る状態制御部２３は、I-Graphicsデコーダ９からの設定指示に従い、カレントページを示すPSRの値(PSR11)を設定すると共に、カレントボタンを示すPSRの値(PSR11)を設定する。状態制御部２３によるPSR設定には、設定すべき即値をI-Graphicsデコーダ９から受け取り、PSRセット１６に設定するという直接指定のもの(i)、再生装置における状態変化や、ユーザからの変更要求があった場合、設定値を状態制御部２３が決定した上でPSRセット１６に設定するという間接指定のもの(ii)がある。状態変化時における、設定値の決定手順は、Procedure when playback condition is changedと呼ばれる。変更要求時における設定値の決定処理手順は、Procedure when change is requestedと呼ばれる。PSR11(カレントページ)、PSR10(カレントボタン)を設定するための処理手順について説明する。
【０１１６】
図３６（ａ）は、PSR11についてのProcedure when playback condition is changedを示すフローチャートである。Procedure when playback condition is changedは、ICSにおける最初のページ情報をPSR11を設定するというものである(ステップＳ９９)。
図３６（ｂ）は、PSR11についてのProcedure when change is requestedを示すフローチャートである。ここでユーザから要求されたページ番号をXとすると、Procedure when change is requestedは、XがValidであるか否かを判定し(ステップＳ１００)、もしValidであれば、このXをPSR11に設定し(ステップＳ１０１)、もしInvalidであるなら、このPSR11を維持するというものである(ステップＳ１０２)。
【０１１７】
以上がPSR11の状態遷移である。続いてPSR10のProcedure when playback condition is changed、Procedure when change is requestedについて説明する。
図３７（ａ）は、PSR10のProcedure when playback condition is changedを示すフローチャートである。
ステップＳ１１１は、カレントページにおけるデフォルトセレクテッドボタンが有効であるか否かの判定である。もしステップＳ１１１がYesであるなら、default_selected_button_id_refに記述されたボタン番号をPSR10に設定する(ステップＳ１１２)。
【０１１８】
ステップＳ１１３は、デフォルトセレクテッドボタンがInvalidである場合にPSR10が有効かどうかの判定を行う判定ステップである。もしPSR10がValidであるなら、PSR10の値を維持し(ステップＳ１１４)、PSR10がInvalidであるなら、カレントページの最初のボタン情報を特定するbutton_id_refをPSR10に設定する(ステップＳ１１５)。
図３７（ｂ）は、PSR10のProcedure when change is requestedを示すフローチャートである。ここでユーザから要求されたボタン番号をXとすると、本フローチャートにおけるステップＳ１１６は、XがValidなButton_idであるか否かを判定し、もしValidであるならXをPSR10に設定する(ステップＳ１１８)。もしXがInvalidであるなら、PSR10の設定値を維持する(ステップＳ１１７)。こうした処理により、PSR10、PSR11の内容は、常に保証されることになる。以上が再生装置の内部構成である。
【０１１９】
また本実施形態においてI-Graphicsデコーダ９は、Graphics Controller３７の他にGraphicsコントローラ３７を有している。このGraphicsコントローラ３７は、PSRセット１６におけるPSR10、PSR11の数値変化、User_TimeOutタイマ１８〜Effect_durationタイマ２１におけるタイムアウト、操作受付部２２が受け付けたユーザ操作に応じて、上述した描画内容を変化するという処理を行う。Graphicsコントローラ３７が行うべき処理の詳細は、図３８〜図４５に示したものとなる。
【０１２０】
図３８は、Graphicsコントローラ３７の処理のうち、メインルーチンにあたる処理を示すフローチャートである。
このフローチャートの処理の開始時において、Graphicsコントローラ３７はInteractive Graphicsプレーン１０の格納内容をCLUT部２０に出力していない。Interactive Graphicsプレーン１０の格納内容の出力を行わず、ページを表示しない状態を”ターンオフ”という。
【０１２１】
本フローチャートは、メインルーチンにあたる処理であり、ステップＳ１〜ステップＳ６からなるループ処理を実行する。このループ処理は、ステップＳ１〜ステップＳ４の何れかの事象が成立しているかという判定処理と、アニメーションによるマルチページメニュー表示の更新処理(ステップＳ５)と、ユーザ操作に応じた処理(UO(UserOperation処理):ステップＳ６)とを繰り返し実行するというものである。ステップＳ１〜ステップＳ４のうち、どれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。
【０１２２】
ステップＳ１は、現在の再生時点が、DTS(DSn[ICS])に到達したか否かを判定するステップである。このステップＳ１がYesになれば、図３９のフローチャートを実行する。図３９は、Compositionバッファ３６においてページ情報のアップデートがあった場合の再表示処理の手順を示すフローチャートである。
本フローチャートにおいて、先ず無視フラグが0であるか否かを判定する(ステップＳ８１)。図１５で説明したように、無視フラグは、ICSにおけるComposition_stateと、Compositionバッファ３６におけるICSの有無とに応じて値が変わるフラグであり、ステップＳ８１では、この無視フラグが0であるか、つまり、Epoch Start、頭出し時のAcquisition Point、通常再生時のNormal Caseの何れであるかを判定する。もし無視フラグが0であれば、上述したProcedure when playback condition is changedを実行し、1stPageであるPage[0]をカレントページを設定した上で(ステップＳ７)、User_TimeOutタイマ１８、Selection_TimeOutタイマ１９、Composition_TimeOutタイマ２０をリセットし(ステップＳ８)、このカレントページを表示して(ステップＳ９)、ステップＳ１〜ステップＳ６からなるループ処理に戻る。
【０１２３】
無視フラグが0でない場合、無視フラグが2であるか否かを判定する(ステップＳ８２)。無視フラグ=2に設定されるのは、通常再生時におけるAcquisition Pointの読み取り時である。もし無視フラグが2であれば、ステップＳ８３〜ステップＳ８５の処理を繰り返す。この処理は、Page情報(y)についてのupdateフラグがONであるか否かを判定し(ステップＳ８６)、もしONであれば、アップデートされたPage情報(y)に対するページ表示処理を行う(ステップＳ８７)という処理を、表示中の全てのページ情報について繰り返すというものである(ステップＳ８３、ステップＳ８４)。かかる繰り返しが行われば、全てのupdateフラグをオフに設定して(ステップＳ８５)、ステップＳ８８に移行する。
【０１２４】
ステップＳ８８では、現在の再生時点がPTS(DSn[ICS])になるのを待ち、もしなればICSのuser_interface_modelがAlways-OnU/Iであるか否かを判定する(ステップＳ８９)。Always-Onなら、Interactive Graphicsプレーン１０の格納内容をターンオンして、Interactive Graphicsプレーン１０に格納されたページをCLUT部２０に出力して動画像に合成させる(ステップＳ９０)。
【０１２５】
user_interface_modelがPop-upU/Iであるなら、Graphicsコントローラ３７は、Interactive Graphicsプレーン１０のターンオフ状態を維持する。つまりInteractive Graphicsプレーン１０に格納されたページを、動画像に合成せず、ページを表示しないのである。こうしたターンオフの状態のまま、Graphicsコントローラ３７はPop-up_On操作がユーザによりなされるのを待つ。ユーザによりPop-up_On操作がなされれば(ステップＳ９１でYes)、Interactive Graphicsプレーン１０に格納されたページをCLUT部２０に出力して動画像に合成させる(ステップＳ９０)。このようにターンオフされているInteractive Graphicsプレーン１０の格納内容を、CLUT部２０に出力して動画像に合成させる制御を”ターンオン”という。以上のターンオフ、ターンオン制御によりPop-up表示がなされる。その後、ステップＳ１〜ステップＳ６のループ処理に戻る。以上の処理により、アップデートされたページ情報は、PTS(DSn[ICS])のタイミングにおいて再表示がなされることになる。
【０１２６】
ステップＳ２は、User_TimeOutタイマ１８がタイムアウトしたかどうかの判定である。ステップＳ２がYesになれば、ステップＳ１１〜ステップＳ１４からなるループ処理を実行する。このループ処理は、マルチページメニューにおける任意のpage(j)を消去して(ステップＳ１３)、page(j).Out_effectを実行する(ステップＳ１４)という処理を、ICSにおけるpage[0]以降の全てのページについて繰り返すというものである(ステップＳ１１、Ｓ１２)。
【０１２７】
ステップＳ３は、Selection_TimeOutタイマ１９がタイムアウトしたかどうかの判定である。Selection_TimeOutタイマ１９がタイムアウトしたなら、カレントページにおけるボタンを自動的にアクティブ状態に設定した上で(オートアクィベート:ステップＳ１０)、ステップＳ１〜ステップＳ６からなるループに戻る。
ステップＳ４は、Composition_TimeOutタイマ２０がタイムアウトしたかどうかの判定である。Composition_TimeOutタイマ２０がタイムアウトしたなら、1stPageたるPage[0]を消去して(ステップＳ１５)、Page[0].Out_effectを再生し(ステップＳ１６)、その後、ステップＳ１〜ステップＳ６からなるループに戻る。
【０１２８】
以上のメインルーチンにおけるページ表示処理は、図４０の処理手順により実現される。
図４０は、Page情報に対する表示手順を示すフローチャートである。ステップＳ２４は、カレントページのIn_effectに規定された表示効果の実行であり、これを実行した後、カレントボタンの設定処理を行う(ステップＳ２５)。カレントボタンは、PSR10に規定されており、このPSR10についてのProcedure when playback condition is changedの実行が、このステップＳ２５の処理である。かかるステップＳ２５によりカレントボタンが決定されれば、ステップＳ１７〜ステップＳ２２に移行する。
【０１２９】
ステップＳ１７〜ステップＳ２２は、カレントページにおける各ボタン情報について繰り返されるループ処理を形成している(ステップＳ１７、ステップＳ１８)。本ループ処理において処理対象になるべきボタン情報をボタン情報(p)という。
ステップＳ１９では、button情報(p)がカレントボタンに対応するbutton情報であるか否かを判定する。もしそうであれば、ステップＳ２０に、異なるならステッステップＳ２１に移行する。
【０１３０】
ステップＳ２１では、button情報(p)のnormal_state_infoに指定されているnormal_start_object_id_refのグラフィクスオブジェクトを、グラフィクスオブジェクト(p)としてObject Buffer３５から特定する。
ステップＳ２０では、button情報(p)のselected_state_infoに指定されているselected_start_object_id_refのグラフィクスオブジェクトを、グラフィクスオブジェクト(p)として特定する。
【０１３１】
ステップＳ２０、ステップＳ２１を経ることでグラフィクスオブジェクト(p)が特定されれば、button情報(p)のbutton_horizontal_position,button_vertical_positionに示されるInteractive Graphicsプレーン１０上の位置に、グラフィクスオブジェクト(p)を書き込む(ステップＳ２２)。かかる処理をカレントページにおける各ボタン情報について繰り返せば、各ボタンの状態を表す複数グラフィクスオブジェクトのうち、最初のグラフィクスオブジェクトがInteractive Graphicsプレーン１０上に書き込まれることになる。以上の繰り返しを経た後、カレントページにおけるPallet_id_refに示されるパレットデータで表示を行うよう、CLUT部２０を設定して(ステップＳ２３)、本フローチャートの処理を終える。
【０１３２】
この図４０のフローチャートに示される処理手順は、Acquisition PointタイプのDisplay Setの読み出し時において、Page_Version_Numberが変化したページ情報についてのみ実行される。つまりAcquisition PointタイプのDisplay Setにおいて、Page_Version_Numberが変化したページ情報が表示中であれば(ステップＳ１６のステップＳ１２４)、その表示中ページ情報に対し、この図４０の処理が実行されるのである。かかる処理の実行により、アップデートされたページ情報に基づく再表示がなされる。
【０１３３】
図４１は、In_effectを再生するにあたっての処理手順を示すフローチャートである。本フローチャートにおいて変数tは、Effect_Sequenceにおける任意のEffect画像を示す変数であり、変数uは、effect(t)におけるComposition_Objectのうち、任意のComposition_Objectを指示する変数である。本フローチャートは、変数t、変数uを0に初期化して(ステップＳ３０)、effect(t).effect_durationをEffect_durationタイマ２１にセットし(ステップＳ３１)、effect(t).pallet_id_refで示されるパレットデータで表示を行うようCLUT部１９、１５に設定した上で(ステップＳ３２)、ステップＳ３３〜ステップＳ４０とからなるループ処理を実行するというものである。このループ処理は、二重ループであり、一重目のループ(ステップＳ３３〜ステップＳ３７)は、変数uを制御変数にしており、二重目のループ(ステップＳ３３〜ステップＳ４０)は、変数tを制御変数にしている。
【０１３４】
一重目のループは、effect(t).Composition_Object(u).object_cropped_flagが0であるか否かを判定し(ステップＳ３３)、0ならeffect(t).Composition_Object(u)においてグラフィクスオブジェクトを非表示にする(ステップＳ３５)。1なら、effect(t).Composition_Object(u)のobject_cropping_horizontal_position,object_cropping_vertical_position,cropping_width,cropping_heightに基づき、グラフィクスオブジェクトに対するクロップを行い、そしてクロップで得られたグラフィクスオブジェクトの一部分を、effect(t).Composition_Object(u)のwindow_id_refに示されるウィンドゥにおいて、effect(t).Composition_Object(u)のcompositin_object_horizontal_position、compositin_object_vertical_positionに示される位置に書き込んで(ステップＳ３４)、変数uをインクリメントする(ステップＳ３６)という処理を、変数uがnumber_of_Composition_Objectになるまで、繰り返すというものである。
【０１３５】
２重目のループは、ステップＳ３３〜ステップＳ３７のループが一巡する度に、effect_durationの経過を待った上で(ステップＳ３８)、変数tのインクリメントと、変数uの初期化(u←0)とを行う(ステップＳ３９)という処理を、変数tがnumber_of_effect(t)になるまで繰り返すというものである(ステップＳ４０)。以上がIn_Effectを再生する際の処理手順である。尚、Out_effectを再生するにあたっても、原則同様の処理を行えばよいので、Out_Effect再生時の処理については説明を省略する。
【０１３６】
こうしてIn_effectの表示がなされた後、カレントページを表示して、最初の表示をアニメーション的に更新してゆく。ここで最初の表示は、各button情報のnormal_state_infoにおけるnormal_start_object_id_ref、selected_state_infoにおけるselected_start_object_id_refで指定されているグラフィクスオブジェクトを、Interactive Graphicsプレーン１０に書き込まれることにより実現した。アニメーション的な更新は、メインルーチンのループ処理が一巡する度に、各ボタンにおける任意のコマ(qコマ目にあるグラフィクスオブジェクト)をこのInteractive Graphicsプレーン１０に上書することである。つまりこの更新は、button情報のnormal_state_info、selected_state_infoで指定されているグラフィクスオブジェクトを、一枚ずつInteractive Graphicsプレーン１０に書き込んでメインルーチンにリターンすることでなされる。ここで変数qとは、各ボタン情報のbutton情報のnormal_state_info、selected_state_infoで指定されている個々のグラフィクスオブジェクトを指定するための変数である。
【０１３７】
このアニメーション的な表示更新を実現するための処理を、図４２を参照しながら説明する。
ステップＳ４１は最初の表示が済んでいるか否かの判定であり、もし済んでいなけれ何の処理も行わずにメインルーチンにリターンする。もし済んでいればステップＳ４２〜ステップＳ５３の処理を実行する。ステップＳ４１〜ステップＳ５５は、ICSにおける各button情報について、ステップＳ４４〜ステップＳ５５の処理を繰り返すというループ処理を構成している(ステップＳ４２、ステップＳ４３)。
【０１３８】
ステップＳ４４は、button情報(p)に対応する変数animation(p)を変数qに設定する。こうして、変数qは、button情報(p)に対応する、現在のコマ数を示すことになる。
ステップＳ４５は、button情報(p)が、現在セレクテッド状態にあるボタン(カレントボタン)に対応するbutton情報であるか否かの判定である。
カレントボタン以外のボタンならば、button情報(p).normal_state_infoにおけるnormal_start_object_id_refに変数qを足した識別子をID(q)とする(ステップＳ４６)。
【０１３９】
カレントボタンに対応するボタンであれば、ステップＳ４７の判定を行う。
ステップＳ４７は、カレントボタンがアクティブ状態であるかの判定であり、もしそうであれば、ステップＳ５４においてbutton情報(p).actioned_state_infoにおけるactivated_start_object_id_refに変数qを足した識別子をID(q)とする。そしてbutton情報(p)に含まれるナビゲーションコマンドのうち、1つを実行する(ステップＳ５５)。
【０１４０】
カレントボタンがアクティブ状態でなければ、button情報(p).selected_state_infoにおけるselected_start_object_id_refに変数qを足した識別子をID(q)とする(ステップＳ４８)。
こうしてID(q)が決まれば、Object Buffer３５に存在する、ID(q)を有するグラフィクスオブジェクト(q)を、button情報(p)のbutton_horizontal_position,button_vertical_positionに示されるInteractive Graphicsプレーン１０上の位置に書き込む(ステップＳ４９)。
【０１４１】
以上のループ処理により、カレントボタンのセレクテッド状態(若しくはアクティブ状態)及びその他のボタンのノーマル状態を構成する複数グラフィクスオブジェクトのうち、q枚目のものがInteractive Graphicsプレーン１０に書き込まれることになる。
ステップＳ５０は、normal_start_object_id_ref＋qがnormal_end_object_id_refに達したか否かの判定であり、もし達しないなら変数qをインクリメントし、インクリメントされた値を変数animation(p)に設定する(ステップＳ５１)。もし達したなら、ステップＳ４３に移行する。以上の処理は、ICSにおける全てのbutton情報について繰り返される(ステップＳ４２、ステップＳ４３)。全てのbutton情報について、処理がなされれば、メインルーチンにリターンする。
【０１４２】
以上のステップＳ４１〜ステップＳ５３により対話画面における各ボタンの絵柄は、メインルーチンが一巡する度に新たなグラフィクスオブジェクトに更新される。メインルーチンが何度も反復されれば、いわゆるアニメーションが可能になる。アニメーションにあたって、グラフィクスオブジェクト一コマの表示間隔は、animation_frame_rate_codeに示される値になるようにGraphics Controller３７は時間調整を行う。以上がアニメーション的な更新処理である。
【０１４３】
上述したフローチャートのステップＳ４７において1つのボタンがアクティブ状態になっていると、このボタンに対応するボタン情報のナビコマンドを、ステップＳ５５において実行せねばならない。図４３は、ナビゲーションコマンド実行時における処理手順を示すフローチャートである。ステップＳ５６はナビゲーションコマンドがSetButtonPageCommandであるか否かの判定である。もしSetButtonPageCommandでないなら、ステップＳ５７においてナビゲーションコマンドをそのまま実行する。もしSetButtonPageCommandであるなら、ナビコマンドのオペランドから特定される切換先ページをXにし、ナビコマンドのオペランドから特定されるbutton番号をPSR10に格納するよう状態制御部２３に指示した上で(ステップＳ５８)、PSR11についてのProcedure when change is requestedを状態制御部２３に実行させる(ステップＳ５９)。ここでPSR11は、現在表示されているページを示すものであり、これについてのProcedure when change is requestedを実行することで、カレントページが定まる。その後、PSR(10)についてのProcedure when playback condition is changedを状態制御部２３に実行させて(ステップＳ６０)、図４３のフローチャートの処理を終える。
【０１４４】
以上でナビコマンド実行処理についての説明を終わる。ナビコマンドは、対応するボタンがアクティブ状態であった際実行された。ボタン状態の変化は、ユーザ操作(UO)に従って、図４４の処理手順を実行することによりなされる。図４４は、UO処理の処理手順を示すフローチャートである。本フローチャートは、ステップＳ６１〜ステップＳ６４の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。ステップＳ６１は、UOmaskTableが"1"に設定されているかどうかの判定であり、もしに設定されていれば、何の処理も行わずに、メインルーチンにリターンする。
【０１４５】
ステップＳ６２は、リモコンにおけるMoveUP/Down/Left/Rightキーが押下されたかどうかの判定であり、もしこれらのキーが押下されれば、User_TimeOutタイマ１８、Selection_TimeOutタイマ１９をリセットする(ステップＳ６５)。そしてカレントボタンを変更して(ステップＳ６６)、カレントボタンのauto_action_flagが1かどうかを判定する(ステップＳ６７)。もし違うならメインルーチンにリターンする。もしそうであるなら、ステップＳ６９に移行して、カレントボタン(i)をアクティブ状態に遷移する。その後、変数animation(i)を0に設定する(ステップＳ７０)。
【０１４６】
ステップＳ６３は、数値入力であるかどうかの判定であり、もし数値入力であれば、User_TimeOutタイマ１８、Selection_TimeOutタイマ１９をリセットした上で(ステップＳ７１)、カレントボタンの変更処理を行い(ステップＳ７２)、メインルーチンにリターンする。
ステップＳ６４は、リモコンにおけるactivatedキーが押下されたかどうかの判定であり、もしそうであれば、User_TimeOutタイマ１８、Selection_TimeOutタイマ１９をリセットした上で(ステップＳ６８)、カレントボタン(i)をアクティブ状態に遷移する(ステップＳ６９)。その後、変数animation(i)を0に設定する(ステップＳ７０)。図４４の処理手順のうち、ステップＳ６６におけるカレントボタンを変化させる処理はサブルーチン化されている。このサブルーチンの処理手順を示したのが図４５である。以降このフローチャートについて説明する。
【０１４７】
図４５は、カレントボタンの変更処理の処理手順を示すフローチャートである。先ず初めに、カレントボタンのneighbor_infoにおけるupper_button_id_ref,lower_button_id_ref,left_button_id_ref,right_button_id_refのうち、押下されたキーに対応するものを特定する(ステップＳ７５)。
そしてカレントボタンをボタンYとし、upper_button_id_ref,lower_button_id_ref,left_button_id_ref,right_button_id_refにより特定されるボタンをボタンXとする(ステップＳ７６)。XをPSR10に設定するため、状態制御部２３にProcedure when change is requestedを実行させる(ステップＳ７７)。
【０１４８】
設定後、変数animation(X),変数animation(Y)を0に設定した上でメインルーチンにリターンする(ステップＳ７８)。変数animation()は、ボタンの状態が変化した際、"0"にリセットされるので、ボタンの状態変化時においてのみ、アニメーション表示は開始されることになる。
以上のように本実施形態によれば、何れかのペｇがカレントページになっている状態において、そのページにおけるボタン部材の表示をアニメーション的に更新することができるので、映画作品のイメージに沿った画面作りが可能になる。
【０１４９】
(第３実施形態)
第１実施形態は、ページ情報のアップデートについて説明したが、本実施形態は、DSnに属するグラフィクスオブジェクトのアップデートを実現する改良に関する。ここでグラフィクスオブジェクトのアップデートとは、Object Buffer３５上にグラフィクスオブジェクトが存在している状態で、同じObject_idを有するODSをStream Graphicsプロセッサ１４に送り込み、これをデコードさせてObject Buffer３５に書き込ませることにより、Object Buffer３５上のグラフィクスオブジェクトを上書きすることである。
【０１５０】
かかるグラフィクスオブジェクトアップデートを実現する際、問題となるのは、ページにおけるアニメーション表示の阻害である。第２実施形態で述べたように、メニュー上のフォーカスを移動する操作をユーザが行った場合、各ボタンの状態が、ノーマル状態からセレクテッド状態へ、セレクテッド状態からノーマル状態へそれぞれ変化する。ノーマル状態からセレクテッド状態への変化にあたって、selected_start_object_id_refで指定されているODSからselected_end_object_id_refで指定されているODSまでを順次表示することになる(図２８のODS14〜16)。
【０１５１】
また、セレクテッド状態からアクティブ状態への変化にあたって、activated_start_object_id_refで指定されているODSからactivated_end_object_id_refで指定されているODSまでを順次表示することになる(図２８のODS17〜19)。
かかる順次表示がアニメーション表示である。このようなアニメーション表示の際中に、上述したようなグラフィクスオブジェクトのアップデートが生じると、同じObject_idで識別されるObject Buffer３５上の矩形領域に、別のグラフィクスオブジェクトが配置されることになる。アニメーション表示の途中で、かかるグラフィクスオブジェクトがObject Buffer３５からグラフィクスプレーンに読み出されると、グラフィクスの絵柄が変わってしまう。
【０１５２】
アニメーション表示の絵柄がアニメーション表示の途中で変わってしまうというのはおかしいので、グラフィクスオブジェクトのアップデートがなされる期間は、アニメーション表示を実行させないようにする。
ここでグラフィクスオブジェクトのアップデートがなされる期間とは、ページの再表示がなされる期間のことであり、DTS(DSn[ICS])からPTS(DSn[ICS])までの期間をいう。この期間においてGraphicsコントローラ３７は、フォーカスを移動させる操作や、ボタンを確定する操作を受け付けたとしても、その操作に従った操作を実行せず、ボタンの状態変化を禁止する、
こうすることで、アニメーション表示のおかしな変化を避けることができる。
【０１５３】
(第４実施形態)  第４実施形態は、Epochにおける各Display SetのODS配置改良に関する。図４６、図４７（ａ）（ｂ）は、本実施形態における各Display Setの内部構成を示す。図４６は、Epoch StartタイプDisplay Setの内部構成を示し、図４７（ａ）は、Acquisition PointタイプDisplay Setの内部構成を示す。図４７（ｂ）は、Normal CaseタイプのDisplay Setの内部構成を示す。
【０１５４】
続いてDSnにおけるODSの配列について説明する。
図４６においてODS1〜gは、Page[0]のIn_effectを構成するODSの集合である(in-effect group)。
ODSg+1〜hは、ボタンのノーマル状態を描くODSの集合(ODSs for Normal state)である。
【０１５５】
ODSh+1〜iは、ボタンのセレクテッド状態を描くODSの集合(ODSs for Selected state)である。
ODSi+1〜jは、ボタンのアクティブ状態を描くODSの集合(ODSs for Actioned state)である。
ODSj+1〜kは、Page[0]のOut_Effect及びPage[1]以降のIn_Effect・Out_Effectを表現するODSの集合である。
【０１５６】
これらグループの順序は、In_Effect→ノーマル状態→セレクテッド状態→アクティブ状態→その他というように並べられている。これはODSのうち、対話画面の最初の表示を構成するものを早く読み出させ、アップデート後の画面表示を構成するものの読み出しを後にするという配慮である。これがEpoch StartにおけるODSの構成である。
ODS群はEpoch Startのみに存在しており、Normal CaseのDisplay Setには、一切のODSが存在しない(図４７（ａ）)。Acquisition PointのDisplay Setには、ODSが存在したとしても、Epoch Startに帰属するODSの複製物が存在しているに過ぎない(図４７（ｂ）)。
【０１５７】
これら図４６、図４７（ａ）〜（ｂ）からも分かるように、Epochにおいて新たな表示をもたらすODSは、Epoch Start内のみにあり、Epoch Start以降のDisplay Setには、グラフィクスオブジェクトのアップデートをもたらすようなODSは一切ない。このようにすることでICSのEpochにおけるグラフィクスオブジェクトのアップデートは、一切禁じられることになる。
【０１５８】
いうまでもないが、以上の制限は、1つのEpoch限りの制限であり、Object Buffer３５上のグラフィクスオブジェクトを総入れ替えするようなODSをDisplay Setに配置してもよい。
以上が本実施形態に係る記録媒体の改良である。続いて本実施形態にかかる再生装置の改良について説明する。
【０１５９】
図４６のようにODS群が配置されているので、AVClipの通常再生がなされた場合、グラフィクスデコーダは、Epoch Startの読み出し時において、Stream Graphicsプロセッサ１４にデコードを行わせ、Object Buffer３５上に非圧縮グラフィクスを格納させる。
そして、以降のDisplay Setの読み出し時において、Object Buffer３５上のグラフィクスオブジェクトのアップデートを禁じる。つまりNormal CaseタイプのDisplay Setの読み出し時には、元来ODSが含まれていないので、Stream Graphicsプロセッサ１４に一切のデコードを行わせない。Acquisition PointタイプのDisplay Setの読み出し時において、Coded Dataバッファ３３にはODSが読み出されるが、これはEpoch Startに属するODSの複製物に過ぎないので、Graphicsコントローラ３７にデコードさせることなく、Coded Dataバッファ３３上でこれらを廃棄する。
【０１６０】
次に飛び込み再生時について説明する。飛び込み再生時にはAcquisition PointタイプのDisplay Setが一番最初に読み出されることになる。かかるAcquisition PointタイプDisplay Setの読み出し時において、Stream Graphicsプロセッサ１４にODSのデコードを行わせる。そして後続するDisplay Setの読み出しがなされている期間は、通常再生と同様、Object Buffer３５上のグラフィクスオブジェクトを上書きしない。
【０１６１】
かかる処理により、ユーザがいつ、フォーカス移動操作や確定操作を行ったとしても、ボタンのアニメーション表示がおかしくなることはない。
以上のように本実施形態によれば、ODSのデコード及びBD-ROMへの書き込みを最初の読み出し時に実行し、後続のODSの読出時においては、Object Buffer３５上のグラフィクスオブジェクトをアップデートしないので、ボタン状態が変化するにあたってのアニメーション表示がおかしくなることはない。
【０１６２】
(第５実施形態)
本実施形態は、BD-ROMの製造工程に関する実施形態である。図４８は、第１実施形態〜第４実施形態に示したBD-ROMを作成するための製造工程を示す図である。
BD-ROMの制作工程は、動画収録、音声収録等の素材作成を行う素材制作工程Ｓ２０１、オーサリング装置を用いて、アプリケーションフォーマットを生成するオーサリング工程Ｓ２０２、BD-ROMの原盤を作成し、プレス・貼り合わせを行って、BD-ROMを完成させるプレス工程Ｓ２０３を含む。
【０１６３】
これらの工程のうち、BD-ROMを対象としたオーサリング工程は、以下のステップＳ２０４〜ステップＳ２１３を含む。
以降ステップＳ２０４〜ステップＳ２１３について説明する。ステップＳ２０４において制御情報、パレット定義情報、グラフィクスを記述し、ステップＳ２０５において、制御情報、パレット定義情報、グラフィクスを機能セグメントに変換する。ステップＳ２０６では、同期したいピクチャが出現するタイミングに基づき、ICSのPTSを設定する。そしてステップＳ２０７では、PTS[ICS]の値に基づき、DTS[ODS],PTS[ODS]を設定し、ステップＳ２０８においてDTS[ODS]の値に基づき、DTS[ICS],PTS[PDS]を設定する。
【０１６４】
ステップＳ２０９では、プレーヤモデルにおける各バッファの占有量の時間的遷移をグラフ化する。ステップＳ２１０では、グラフ化された時間的遷移がプレーヤモデルの制約を満たすか否かを判定し、もし満たさないなら、ステップＳ２１１において各機能セグメントのDTS、PTSを書き換える。もし満たすならステップＳ２１２においてグラフィクスストリームを生成し、ステップＳ２１３においてグラフィクスストリームを別途生成されたビデオストリーム、オーディオストリームと多重してAVClipを得る。以降、AVClipを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で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレイと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなすシステムLSI(集積回路)のみを、実施としてもよい。これらの再生装置及び集積回路は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、各実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第１実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
【０１６７】
(C)各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムが使用される行為の形態を示したが、再生装置から分離して、第１実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
(D)各フロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
【０１６８】
(E)BD-ROMに記録するにあたって、AVClipを構成する各TSパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、TP_extra_headerと呼ばれ、『Arrival_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方式、dts方式であってもよい。
【０１７０】
(G)各実施形態における映画作品は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
【０１７１】
(H)各実施形態に示したグラフィックスオブジェクトは、ランレングス符号化されたラスタデータである。グラフィックスオブジェクトの圧縮・符号化方式にランレングス符号方式を採用したのは、ランレングス符号化は字幕の圧縮・伸長に最も適しているためである。字幕には、同じ画素値の水平方向の連続長が比較的長くなるという特性があり、ランレングス符号化による圧縮を行えば、高い圧縮率を得ることができる。また伸長のための負荷も軽く、復号処理のソフトウェア化に向いている。デコードを実現する装置構成を、字幕−グラフィックスオブジェクト間で共通化する目的で、字幕と同じ圧縮・伸長方式をグラフィックスオブジェクトに採用している。しかし、グラフィックスオブジェクトにランレングス符号化方式を採用したというのは、本発明の必須事項ではなく、グラフィックスオブジェクトはPNGデータであってもよい。またラスタデータではなくベクタデータであってもよい、更に透明な絵柄であってもよい。
【０１７２】
(I)グラフィックスプレーンクリア及び再描画が垂直帰線期間に完遂するよう、Rcを定めても良い。垂直帰線期間は1/29.93秒の25%と仮定すると、Rcは1Gbpsになる。Rcをこのように設定することでグラフィクス表示はスムーズになされるので、実用上の効果は大きい。
また垂直帰線期間での書き込みに加え、ラインスキャンに同期した書き込みを併用してもよい。これにより、Rc=256Mbpsの転送レートであっても、スムーズな表示の実現が可能になる。
【０１７３】
(J)各実施形態において再生装置には、グラフィックスプレーンを実装したが、このグラフィックスプレーンに代えて、一ライン分の非圧縮画素を格納するラインバッファを具備してもよい。映像信号への変換は水平行(ライン)毎に行われるので、このラインバッファさえ具備していれば、この映像信号への変換は行なえるからである。
(K)複数再生経路の合流点においてデフォルトセレクテッドボタンが変わるようなケースでは、複数再生経路のそれぞれの経由時に、固有の値を再生装置側のレジスタに設定するよう、動的シナリオにおいて再生制御を記述しておくことが望ましい。そして、そのレジスタの設定値に応じたボタンをセレクテッド状態に設定するよう再生手順を記述しておけば、どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化させることができる。  
【０１７４】
(L)各実施形態におけるグラフィックスプレーンは、ダブルバッファとして構成することが望ましい。グラフィックスプレーンをダブルバッファで構成すれば数フレームをかけて大きなサイズのグラフィクスをグラフィックスプレーンに書き込む場合でも、瞬時に画面切り換えを実現することができるので、画面一杯にメニューを表示する場合に有意義である。
【０１７５】
(M)第１実施形態は、Interactive_compositionのページ情報をアップデートする一例であるが、Normal CaseにおけるInteractive_compositionにおいても、ページ情報毎にPage_Version_Numberが存在する。そしてページ情報毎の内容変化を、このPage_Version_Numberに示させておくことができる。
【産業上の利用可能性】
【０１７６】
本発明に係る記録媒体及び再生装置は、ホームシアターシステムでの利用のように、個人的な用途で利用されることがありうる。しかし本発明は上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る記録媒体及び再生装置は、産業上の利用可能性を有する。
【図面の簡単な説明】
【０１７７】
【図１】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図２】BD-ROMの内部構成を示す図である。
【図３】AVClipがどのように構成されているかを模式的に示す図である。
【図４】（ａ）インタラクティブグラフィクスストリームの構成を示す図である。  （ｂ）機能セグメントを変換することで得られるPESパケットを示す図である。
【図５】様々な種別の機能セグメントにて構成される論理構造を示す図である。
【図６】DSnが割り当てられた、AVClipの再生時間軸を示す図である。
【図７】（ａ）（ｂ）ICSとInteractive_compositionとの対応関係を示す図である。
【図８】ICSの内部構成を示す図である。
【図９】1つのDisplay Setにおけるx番目のDisplay Setに属する複数ページ情報のうち、任意のもの(y枚目のページ)についてのページ情報の内部構成を示す図である。
【図１０】連続する2つのDisplay Set(DSx+1、DSx)におけるPage_Version_Number設定を示す図である。
【図１１】DSx.Page情報(y)により構成されるページと、DSx+1.Page情報(y)により構成されるページとを対比して示す図である。
【図１２】DSx.Page情報(y)により構成されるページと、DSx+1.Page情報(y)により構成されるページとを対比して示す図である。
【図１３】本発明に係る再生装置の内部構成を示す図である。
【図１４】I-Graphicsデコーダ９の内部構成を示す図である。
【図１５】機能セグメントのロード処理の処理手順を示すフローチャートである。
【図１６】Page_Version_Numberが変化したページ情報を用いたアップデート処理の手順を示すフローチャートである。
【図１７】本具体例の対象となるAVClipの内部構成を示す図である。
【図１８】図１１と同様の表記で示したAVClipの内部構成を示す図である。
【図１９】通常再生時におけるページ描画を模式的に示す図である。
【図２０】飛び込み再生時の描画処理を示す図である。
【図２１】図２０に示した描画により、どのような合成画像が得られるかを示す図である。
【図２２】3つの連続するDisplay Set(DS1、DS2、DS3)のPage情報(2)を示す図である。
【図２３】AVClip再生進行に伴うグラフィックスプレーンの格納内容の時間的変移を示す図である。
【図２４】図２２に示したAVClipに対する飛び込み時において、グラフィクス描画がどのように行われるかを示す図である。
【図２５】複数ページのうち、任意のもの(x枚目のページ)についてのページ情報の内部構成を示す図である。
【図２６】ボタン0-A〜ボタン0-Dの状態遷移を示す図である。
【図２７】図２６の状態遷移を実現する場合のボタン情報の記述例を示す図である。
【図２８】ODS11〜19の絵柄を示す図である。
【図２９】Effect_Sequenceの内部構成を示す図である。
【図３０】任意のcomposition_object(i)の内部構成をクローズアップした図である。
【図３１】右ScrollによりIn_Effectを実現するという具体例を示す図である。
【図３２】composition_object(0)の記述例を示す図である。
【図３３】composition_object(1)の記述例を示す図である。
【図３４】composition_object(2)の記述例を示す図である。
【図３５】composition_object(3)の記述例を示す図である。
【図３６】（ａ）PSR11についてのProcedure when playback condition is changedを示すフローチャートである。  （ｂ）PSR11についてのProcedure when change is requestedを示すフローチャートである。
【図３７】（ａ）PSR10のProcedure when playback condition is changedを示すフローチャートである。  （ｂ）PSR10のProcedure when change is requestedを示すフローチャートである。
【図３８】Graphics Controller３７の処理のうち、メインルーチンにあたる処理を示すフローチャートである。
【図３９】Compositionバッファ３６においてページ情報のアップデートがあった場合の再表示処理の手順を示すフローチャートである。
【図４０】ページの最初の表示の処理手順を示すフローチャートである。
【図４１】In_effectを再生するにあたっての処理手順を示すフローチャートである。
【図４２】ボタン表示をアニメーション的に更新するための処理手順を示すフローチャートである。
【図４３】ナビゲーションコマンド実行時における処理手順を示すフローチャートである。
【図４４】UO処理の処理手順を示すフローチャートである。
【図４５】カレントボタンの変更処理の処理手順を示すフローチャートである。
【図４６】Epoch StartタイプDisplay Setの内部構成を示す。
【図４７】（ａ）Acquisition PointタイプDisplay Setの内部構成を示す。
【０１７８】
（ｂ）Normal CaseタイプのDisplay Setの内部構成を示す。
【図４８】第１実施形態〜第４実施形態に示したBD-ROMを作成するための製造工程を示す図である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2005069615.tif 000050
【図２】
2005069615.tif 000051
【図３】
2005069615.tif 000052
【図４】
2005069615.tif 000053
【図５】
2005069615.tif 000054
【図６】
2005069615.tif 000055
【図７】
2005069615.tif 000056
【図８】
2005069615.tif 000057
【図９】
2005069615.tif 000058
【図１０】
2005069615.tif 000059
【図１１】
2005069615.tif 000060
【図１２】
2005069615.tif 000061
【図１３】
2005069615.tif 000062
【図１４】
2005069615.tif 000063
【図１５】
2005069615.tif 000064
【図１６】
2005069615.tif 000065
【図１７】
2005069615.tif 000066
【図１８】
2005069615.tif 000067
【図１９】
2005069615.tif 000068
【図２０】
2005069615.tif 000069
【図２１】
2005069615.tif 000070
【図２２】
2005069615.tif 000071
【図２３】
2005069615.tif 000072
【図２４】
2005069615.tif 000073
【図２５】
2005069615.tif 000074
【図２６】
2005069615.tif 000075
【図２７】
2005069615.tif 000076
【図２８】
2005069615.tif 000077
【図２９】
2005069615.tif 000078
【図３０】
2005069615.tif 000079
【図３１】
2005069615.tif 000080
【図３２】
2005069615.tif 000081
【図３３】
2005069615.tif 000082
【図３４】
2005069615.tif 000083
【図３５】
2005069615.tif 000084
【図３６】
2005069615.tif 000085
【図３７】
2005069615.tif 000086
【図３８】
2005069615.tif 000087
【図３９】
2005069615.tif 000088
【図４０】
2005069615.tif 000089
【図４１】
2005069615.tif 000090
【図４２】
2005069615.tif 000091
【図４３】
2005069615.tif 000092
【図４４】
2005069615.tif 000093
【図４５】
2005069615.tif 000094
【図４６】
2005069615.tif 000095
【図４７】
2005069615.tif 000096
【図４８】
2005069615.tif 000097
【国際調査報告】
2005069615.tif 000098
2005069615.tif 000099
2005069615.tif 000100
2005069615.tif 000101