(57)【要約】【課題】  ボタン状態の変化を検証するという作業を、オーサリングの早い時期に行うことができる記録媒体を提供する。【解決手段】  ＢＤ−ＲＯＭには、ビデオストリーム及びグラフィクスストリームを多重化することにより得られたデジタルストリームが記録されている。ビデオストリームは動画データを構成し、グラフィクスストリームは状態制御情報を格納したＰＥＳパケット（ＩＣＳ）及びクラフィクスデータを格納したＰＥＳパケット（ＯＤＳ）を含む。クラフィクスデータは対話画面を構成するデータであり、状態制御情報は当該対話画面におけるボタンの状態を、動画データの再生進行及びユーザ操作に応じて変化させる情報である。ＩＣＳには、対話画面と同期すべきピクチャデータの表示タイミングを示すＰＴＳが付加されており、ＯＤＳには、クラフィクスデータのデコードタイミングであって、当該表示タイミングより前の時点を示すＰＴＳが付加されている。【選択図】図４
2008198354.tif 000002
【特許請求の範囲】
【請求項１】
ビデオストリーム、グラフィクスストリームが多重化されたデジタルストリームについての再生装置に組み込まれるシステムＬＳＩであって、
ビデオストリームをデコードして動画像を得るビデオデコーダと、
グラフィクスストリームをデコードして対話画面をえるグラフィクスデコーダと、を備え、
グラフィクスストリームは、グラフィクスデータ及び状態制御情報の組みを複数含み、
前記グラフィクスデータ及び前記状態制御情報の各組みはディスプレィセットを構成しており、
ディスプレィセットとは、ビデオストリームの再生進行に伴って対話画面を表示させる場合に、個々の対話画面の表示状態を規定するデータの集合であり、
状態制御情報は対話画面の状態を、ビデオストリームの再生進行及びユーザ操作に応じて変化させる情報であり、ディスプレィセットにより規定される対話画面の表示状態のタイプを示すタイプ情報を備え、
前記グラフィクスデコーダは、
グラフィクスストリームに含まれるグラフィクスデータをデコードして対話画面を得る処理部と、
対話画面の状態を、状態制御情報に基づき制御するコントローラと、を備え、
前記コントローラは、
通常再生が行われる場合、ディスプレィセットのうち、タイプ情報が先行ディスプレィセットにより規定される対話画面の表示状態と同じである旨を示しているものを無視し、
頭出しが行われる場合、頭出し位置以降に存在するディスプレィセットのうち、タイプ情報が先行ディスプレィセットにより規定される対話画面の表示状態と同じである旨を示しているものをデコードする
ことを特徴とするシステムＬＳＩ。
【発明の詳細な説明】
【技術分野】
【０００１】
ＢＤ−ＲＯＭ等、映画作品の頒布のための記録媒体と、その再生装置とに関し、特に、対話的な制御を実現する場合の改良に関する。
【背景技術】
【０００２】
動画の再生に伴ってボタンが画面に出現し、このボタンに対する操作によって再生の進行が変化するという対話制御は、制作者にとって長年の夢であり、ＤＶＤはかかる再生制御を現実のものにした画期的な記録媒体である。動画と、ボタンとの同期再生は、動画の再生時間軸における任意の時点に、ボタンが表示されるようタイムスタンプを設定することにより、実現される。ただし、対話性を実現するには、ボタンを構成するグラフィクスデータを記録媒体に記録しておくだけでは足りない。画面に配置された複数ボタンの状態を、ユーザ操作に応じて変化させたり、動画データの再生進行に応じてボタンの状態を変化させたりという制御を再生装置に実行させねばならない。かかる状態制御を実現するため、ＤＶＤでは音声・動画を多重化したストリーム（ＶｉｄｅｏＯｂｊｅｃｔ）において、各ＶＯＢＵの先頭に位置するＮＡＶＩパックに状態制御情報を設けている。ＶＯＢＵとは、動画ストリームの１つのＧＯＰと、これと同時にＤＶＤから読み出されるべきオーディオデータ、副映像データを含む。また状態制御情報は、画面に配置された複数ボタンの状態を、ユーザ操作に応じて変化させる情報であり、ＮＡＶＩパックとは、ＧＯＰにおいてストリーム毎に必要とされる転送レートやバッファサイズを示す情報である。ＤＶＤではＮＡＶＩパックに、かかる状態制御情報を設けることにより、ＧＯＰの時間精度でのボタンの状態変化を実現している。以上の対話制御を現したのが図１である。本図の最下段が、ＤＶＤにおけるデータアロケーションであり、状態制御情報は、ＮＡＶＩパックに格納されていることがわかる。そしてこのＮＡＶＩパックが属するＧＯＰの時間帯において、この状態制御情報は有効になっている。またグラフィクスオブジェクトは、ＰＥＳパケットに格納され、同期表示すべきピクチャデータと同じタイミングで表示される。かかる先行技術を示した文献１には、以下の特許文献１がある。
【特許文献１】特許第２８１３２４５号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところがＤＶＤのオーサリングにおいて、ＧＯＰ及びＶＯＢＵの構造が決まるのは、ビデオ，副映像、オーディオという個々のエレメンタリストリームのエンコードが完了し、これらを１つのＶＯＢに多重化するという多重化の段階である。かかる多重化は、オーサリングにおいて終盤の工程であり、この終盤の段階になるまで、状態制御情報をＶＯＢに組み込むことはできないので、画面におけるボタンがどのように変化するかというボタン状態変化の検証作業は、この終盤の工程になるまで、待たねばならない。終盤の工程にならないと、ボタン状態の変化を検証することはできないので、出荷間際になってボタンの状態に係るバグが発覚し、関係者が慌てふためくという事例が、オーサリングの現場では数多く見られる。更に検証期間が極僅かなので、アニメーションにより複雑に動くようなボタンを映画作品に組み入れることは、大きなリスクを伴うことになる。そのため現状のオーサリングでは、ユーザ操作に応じて、色が変換するような単純な形態のボタンが主流になっている。
【０００４】
本発明の目的は、ボタン状態の変化を検証するという作業を、オーサリングの早い時期に行うことができる記録媒体を提供することである。
ＶＯＢＵに対するＮＡＶＩパックに、状態制御情報を格納するというのは、ＤＶＤにおける読出レートを考えれば有効な手法であった。何故なら、状態制御情報をＮＡＶＩパックに格納しておけば、ＮＡＶＩパックに対する読み出しで、同時に状態制御情報をＤＶＤから読み出することができるので、読み出し時の帯域を低く抑えることができるからである。
【０００５】
しかしＢＤ−ＲＯＭにおける読出レートを考えればそれ程有効とはいえない。何故なら、ＢＤ−ＲＯＭの読出レートはＤＶＤより遥かに高く、かかる帯域抑制に対する危惧は薄れるからである。
【課題を解決するための手段】
【０００６】
かかる媒体側の進歩に鑑み、本発明は、ビデオストリーム、グラフィクスストリームが多重化されたデジタルストリームについての再生装置に組み込まれるシステムＬＳＩであって、ビデオストリームをデコードして動画像を得るビデオデコーダと、グラフィクスストリームをデコードして対話画面をえるグラフィクスデコーダと、を備え、グラフィクスストリームは、グラフィクスデータ及び状態制御情報の組みを複数含み、前記グラフィクスデータ及び前記状態制御情報の各組みはディスプレィセットを構成しており、ディスプレィセットとは、ビデオストリームの再生進行に伴って対話画面を表示させる場合に、個々の対話画面の表示状態を規定するデータの集合であり、状態制御情報は対話画面の状態を、ビデオストリームの再生進行及びユーザ操作に応じて変化させる情報であり、ディスプレィセットにより規定される対話画面の表示状態のタイプを示すタイプ情報を備え、前記グラフィクスデコーダは、グラフィクスストリームに含まれるグラフィクスデータをデコードして対話画面を得る処理部と、対話画面の状態を、状態制御情報に基づき制御するコントローラと、を備え、前記コントローラは、通常再生が行われる場合、ディスプレィセットのうち、タイプ情報が先行ディスプレィセットにより規定される対話画面の表示状態と同じである旨を示しているものを無視し、頭出しが行われる場合、頭出し位置以降に存在するディスプレィセットのうち、タイプ情報が先行ディスプレィセットにより規定される対話画面の表示状態と同じである旨を示しているものをデコードすることを特徴とするシステムＬＳＩである。
【発明の効果】
【０００７】
本発明は上記の構成を備えることにより、ボタンの状態を変化させる情報は、グラフィクスデータと一体になってグラフィクスストリームを構成しているので、動画ストリームのエンコード完了や、多重化完了を待たなくても、グラフィクスストリーム単体を完成しさえすれば、再生進行に応じてボタンの状態がどのように変化するかの検証が可能になる。かかる状態変化の検証がオーサリングの早い段階（多重化作業より前）で可能になるので、記録媒体の出荷直前に不具合が発見され、関係者が慌てふためくという事態はなくなる。グラフィクスストリーム単体での動作検証が可能になるので、アニメーションにより複雑に動くようなボタンを積極的に映画作品に組み入れることができる。
【０００８】
また、上述した構成では、再生が進行することにより、ボタンコマンドによる分岐先が変化してゆくようなタイトルを制作することができる。ここで制作すべきタイトルがクイズ集であり、２つのディスプレィセットが設問である場合、ユーザの回答が遅れれば遅れる程不利な分岐先に分岐するようなタイトルを制作することができる。
ここで対話画面におけるｎ個のボタンのそれぞれには、数値が割り当てられており、前記ｎ個のボタン情報は、自身に割り当てられた数値と、その数値によるボタン選択が可能か否かを示すフラグを含んでいてもよい。ボタンの１つ１つに飛び飛びの番号を割り当てることができるので、プロ野球選手の選手名鑑のようなタイトルの作成に便利である。
【０００９】
つまり各選手が活躍するプレーの映像に分岐するようなボタンコマンドを作成し、このボタンコマンドを含むボタン情報に、選手の背番号を割り当てることにより、背番号の数値入力にて、各選手のプレーのシーンに分岐するような再生制御を実現することができる。
【発明を実施するための最良の形態】
【００１０】
（第１実施形態）
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図２（ａ）は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図２において、本発明に係る記録媒体は、ＢＤ−ＲＯＭ１００である。このＢＤ−ＲＯＭ１００は、再生装置２００、テレビ３００、リモコン４００により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。このうちリモコン４００は、対話画面の状態を変化させるための操作をユーザから受け付けるものであり、本発明に係る記録媒体に深い係りをもつ。図２（ｂ）は、対話画面に対する操作をユーザから受け付けるためのリモコン４００におけるキーを示す図である。本図に示すようにリモコン４００は、ＭｏｖｅＵｐキー、ＭｏｖｅＤｏｗｎキー、ＭｏｖｅＲｉｇｈｔキー、ＭｏｖｅＬｅｆｔキーが設けられている。ここで対話画面におけるボタンは、ノーマル状態、セレクテッド状態、アクティブ状態という３つの状態をもち、これらＭｏｖｅＵｐキー、ＭｏｖｅＤｏｗｎキー、ＭｏｖｅＲｉｇｈｔキー、ＭｏｖｅＬｅｆｔキーは、このボタンの状態をノーマル状態→セレクテッド状態→アクティブ状態と変化させる操作をユーザから受け付ける。ノーマル状態とは、単に表示されているに過ぎない状態である。これに対しセレクテッド状態とは、ユーザ操作によりフォーカスが当てられているが、確定に至っていない状態をいう。アクティブ状態とは、確定に至った状態をいう。ＭｏｖｅＵｐキーは、対話画面においてあるボタンがセレクテッド状態である場合、このボタンより上にあるボタンをセレクテッド状態に設定するためのキーである。ＭｏｖｅＤｏｗｎキーは、このボタンより下にあるボタンをセレクテッド状態に設定するためのキー、ＭｏｖｅＲｉｇｈｔキーは、このボタンより右にあるボタンをセレクテッド状態に設定するためのキー、ＭｏｖｅＬｅｆｔキーは、このボタンより左にあるボタンをセレクテッド状態に設定するためのキーである。
【００１１】
Ａｃｔｉｖａｔｅｄキーは、セレクテッド状態にあるボタンをアクティブ状態（アクティベート）するためのキーである。「０」〜「９」の数値キーは、該当する数値が割り当てられたボタンをセレクテッド状態にするキーである。「＋１０」キーとは、これまで入力された数値に１０をプラスするという操作を受け付けるキーである。尚、「０」キー、「＋１０」キーは、何れも１０桁以上の数値の入力を受け付けるものなので、「０」キー、「＋１０」キーは、どちらかが具備されていればよい。
【００１２】
以上が本発明に係る記録媒体の使用形態についての説明である。
続いて本発明に係る記録媒体の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録媒体は、ＢＤ−ＲＯＭの応用層に対する改良により実施することができる。図３は、ＢＤ−ＲＯＭの構成を示す図である。
本図の第４段目にＢＤ−ＲＯＭを示し、第３段目にＢＤ−ＲＯＭ上のトラックを示す。本図のトラックは、ＢＤ−ＲＯＭの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてＢＤ−ＲＯＭの応用層フォーマット（アプリケーションフォーマット）を表現すると、図中の第１段目のようになる。本図に示すようにＢＤ−ＲＯＭには、ＲＯＯＴディレクトリの下にＢＤＭＶディレクトリがあり、ＢＤＭＶディレクトリの配下には、ＸＸＸ．Ｍ２ＴＳ、ＸＸＸ．ＣＬＰＩ，ＹＹＹ．ＭＰＬＳといったファイルが存在する。本図に示すようなアプリケーションフォーマットを作成することにより、本発明に係る記録媒体は生産される。
【００１３】
このアプリケーションフォーマットにおける各ファイルについて説明する。最初に説明するのは、ＡＶＣｌｉｐ（ＸＸＸ．Ｍ２ＴＳ）である。
ＡＶＣｌｉｐ（ＸＸＸ．Ｍ２ＴＳ）は、ＭＰＥＧ−ＴＳ（Ｔｒａｎｓｐｏｒｔ Ｓｔｒｅａｍ）形式のデジタルストリームであり、ビデオストリーム、１つ以上のオーディオストリーム、プレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、プレゼンテーショングラフィクスストリームは、映画の字幕を、インタラクティブグラフィクスストリームは、メニューを対象とした動的な再生制御の手順をそれぞれ示している。図４は、ＡＶＣｌｉｐがどのように構成されているかを模式的に示す図である。
【００１４】
ＡＶＣｌｉｐは（中段）、複数のビデオフレーム（ピクチャｐｊ１，２，３）からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを（上１段目）、ＰＥＳパケット列に変換し（上２段目）、更にＴＳパケットに変換し（上３段目）、同じくプレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリーム（下１段目）を、ＰＥＳパケット列に変換し（下２段目）、更にＴＳパケットに変換して（下３段目）、これらを多重化することで構成される。
【００１５】
かかる過程を経て生成されたＡＶＣｌｉｐは、通常のコンピュータファイル同様、複数のエクステントに分割され、ＢＤ−ＲＯＭ上の領域に記録される。ＡＶＣｌｉｐは、１つ以上のＡＣＣＥＳＳＵＮＩＴとからなり、このＡＣＣＥＳＳ ＵＮＩＴの単位で頭出し可能である。ＡＣＣＥＳＳ ＵＮＩＴとは、１つのＧＯＰ（Ｇｒｏｕｐ Ｏｆ Ｐｉｃｔｕｒｅ）と、このＧＯＰと同時に読み出されるべきオーディオフレームとを含む最小デコード単位である。ＧＯＰは、過去方向および未来方向に再生されるべき画像との時間相関特性を用いて圧縮されているＢｉｄｉｒｅｃｔｉｏｎａｌｌｙｐｒｅｄｉｃｔｉｖｅ Ｐｒｅｄｉｃｔｉｖｅ（Ｂ）ピクチャ、過去方向に再生されるべき画像との時間相関特性を用いて圧縮されているＰｒｅｄｉｃｔｉｖｅ（Ｐ）ピクチャ、時間相関特性を用いず、一フレーム分の画像内での空間周波数特性を利用して圧縮されているＩｎｔｒａ（Ｉ）ピクチャを含む。
【００１６】
Ｃｌｉｐ情報（ＸＸＸ．ＣＬＰＩ）は、個々のＡＶＣｌｉｐについての管理情報である。図５は、Ｃｌｉｐ情報の内部構成を示す図である。ＡＶＣｌｉｐはビデオストリーム、オーディオストリームを多重化することで得られ、ＡＶＣｌｉｐはＡＣＣＥＳＳＵＮＩＴと呼ばれる単位での頭出しが可能なので、各ビデオストリーム、オーディオストリームはどのような属性をもっているか、頭出し位置がＡＶＣｌｉｐ内の何処に存在するかが、Ｃｌｉｐ情報の管理項目になる。図中の引き出し線はＣｌｉｐ情報の構成をクローズアップしている。引き出し線ｈｎ１に示すように、Ｃｌｉｐ情報（ＸＸＸ．ＣＬＰＩ）は、ビデオストリーム、オーディオストリームについての「属性情報」と、ＡＣＣＥＳＳＵＮＩＴを頭出しするためのリファレンステーブルである「ＥＰ＿ｍａｐ」とからなる。
【００１７】
属性情報（Ａｔｔｒｉｂｕｔｅ）は、破線の引き出し線ｈｎ２に示すようにビデオストリームについての属性情報（Ｖｉｄｅｏ属性情報）、属性情報数（Ｎｕｍｂｅｒ）、ＡＶＣｌｉｐに多重化される複数オーディオストリームのそれぞれについての属性情報（Ａｕｄｉｏ属性情報＃１〜＃ｍ）からなる。ビデオ属性情報は、破線の引き出し線ｈｎ３に示すようにそのビデオストリームがどのような圧縮方式で圧縮されたか（Ｃｏｄｉｎｇ）、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか（Ｒｅｓｏｌｕｔｉｏｎ）、アスペクト比はどれだけであるか（Ａｓｐｅｃｔ）、フレームレートはどれだけであるか（Ｆｒａｍｅｒａｔｅ）を示す。
【００１８】
一方、オーディオストリームについての属性情報（Ａｕｄｉｏ属性情報＃１〜＃ｍ）は、破線の引き出し線ｈｎ４に示すようにそのオーディオストリームがどのような圧縮方式で圧縮されたか（Ｃｏｄｉｎｇ）、そのオーディオストリームのチャネル番号が何であるか（Ｃｈ．）、何という言語に対応しているか（Ｌａｎｇ）、サンプリング周波数がどれだけであるかを示す。
【００１９】
ＥＰ＿ｍａｐは、複数の頭出し位置のアドレスを、時刻情報を用いて間接参照するためのリファレンステーブルであり、破線の引き出し線ｈｎ５に示すように複数のエントリー情報（ＡＣＣＥＳＳＵＮＩＴ＃１エントリー、ＡＣＣＥＳＳ ＵＮＩＴ＃２エントリー、ＡＣＣＥＳＳ ＵＮＩＴ＃３エントリー・・・・・）と、エントリー数（Ｎｕｍｂｅｒ）とからなる。各エントリーは、引き出し線ｈｎ６に示すように、対応するＡＣＣＥＳＳＵＮＩＴの再生開始時刻を、ＡＣＣＥＳＳ ＵＮＩＴのアドレスと対応づけて示す（尚、ＡＣＣＥＳＳＵＮＩＴにおける先頭Ｉピクチャのサイズ（Ｉ−ｓｉｚｅ）を記載してもよい。）。ＡＣＣＥＳＳ ＵＮＩＴの再生開始時刻は、ＡＣＣＥＳＳ ＵＮＩＴ先頭に位置するピクチャデータのタイムスタンプ（ＰｒｅｓｅｎｔａｔｉｏｎＴｉｍｅ Ｓｔａｍｐ）で表現される。またＡＣＣＥＳＳ ＵＮＩＴにおけるアドレスは、ＴＳパケットの連番（ＳＰＮ（Ｓｏｕｒｃｅ ＰａｃｋｅｔＮｕｍｂｅｒ））で表現される。可変長符号圧縮方式が採用されるため、ＧＯＰを含む各ＡＣＣＥＳＳ ＵＮＩＴのサイズや再生時間がバラバラであっても、このＡＣＣＥＳＳ ＵＮＩＴについてのエントリーを参照することにより、任意の再生時刻から、その再生時刻に対応するＡＣＣＥＳＳＵＮＩＴ内のピクチャデータへと頭出しを行うことが可能になる。尚、ＸＸＸ．ＣＬＰＩのファイル名ＸＸＸは、Ｃｌｉｐ情報が対応しているＡＶＣｌｉｐと同じ名称が使用される。つまり本図におけるＡＶＣｌｉｐのファイル名はＸＸＸであるから、ＡＶＣｌｉｐ（ＸＸＸ．Ｍ２ＴＳ）に対応していることを意味する。以上がＣｌｉｐ情報についての説明である。続いてプレイリスト情報について説明する。
【００２０】
ＹＹＹ．ＭＰＬＳ（プレイリスト情報）は、再生経路情報であるプレイリストを構成するテーブルであり、複数のＰｌａｙＩｔｅｍ情報（ＰｌａｙＩｔｅｍ情報＃１，＃２，＃３・・・＃ｎ）と、これらＰｌａｙＩｔｅｍ情報数（Ｎｕｍｂｅｒ）とからなる。図６は、ＰＬ情報の内部構成を示す図である。ＰｌａｙＩｔｅｍ情報は、プレイリストを構成する１つ以上の論理的な再生区間を定義する。ＰｌａｙＩｔｅｍ情報の構成は、引き出し線ｈｓ１によりクローズアップされている。この引き出し線に示すようにＰｌａｙＩｔｅｍ情報は、再生区間のＩｎ点及びＯｕｔ点が属するＡＶＣｌｉｐの再生区間情報のファイル名を示す『Ｃｌｉｐ＿Ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅ』と、当該ＡＶＣｌｉｐがどのような符号化方式で符号化されているかを示す『Ｃｌｉｐ＿ｃｏｄｅｃ＿ｉｄｅｎｔｉｆｉｅｒ』と、再生区間の始点を示す時間情報『ＩＮ＿ｔｉｍｅ』と、再生区間の終点を示す時間情報『ＯＵＴ＿ｔｉｍｅ』とから構成される。
【００２１】
ＰｌａｙＩｔｅｍ情報の特徴は、その表記法にある。つまりＥＰ＿ｍａｐをリファレンステーブルとして用いた時間による間接参照の形式で、再生区間が定義されている。図７は、時間による間接参照を模式化した図である。本図においてＡＶＣｌｉｐは、複数のＡＣＣＥＳＳＵＮＩＴから構成されている。Ｃｌｉｐ情報内のＥＰ＿ｍａｐは、これら複数ＡＣＣＥＳＳ ＵＮＩＴのセクタアドレスを、矢印ａｙ１，２，３，４に示すように指定している。図中の矢印ｊｙ１，２，３，４は、ＰｌａｙＩｔｅｍ情報によるＡＣＣＥＳＳＵＮＩＴの参照を模式化して示している。つまり、ＰｌａｙＩｔｅｍ情報による参照（矢印ｊｙ１，２，３，４）は、ＥＰ＿ｍａｐを介することにより、ＡＶＣｌｉｐ内に含まれる複数ＡＣＣＥＳＳＵＮＩＴのアドレスを指定するという時間による間接参照であることがわかる。
【００２２】
ＰｌａｙＩｔｅｍ情報−Ｃｌｉｐ情報−ＡＶＣｌｉｐの組みからなるＢＤ−ＲＯＭ上の再生区間を『プレイアイテム』という。ＰＬ情報−Ｃｌｉｐ情報−ＡＶＣｌｉｐの組みからなるＢＤ−ＲＯＭ上の論理的な再生単位を『プレイリスト（ＰＬと略す）』という。ＢＤ−ＲＯＭに記録された映画作品は、この論理的な再生単位（ＰＬ）にて構成される。論理的な再生単位にて、ＢＤ−ＲＯＭにおける映画作品は構成されるので、本編たる映画作品とは別に、あるキャラクタが登場するようなシーンのみを指定するようなＰＬを定義すれば、そのキャラクタが登場するシーンのみからなる映画作品を簡単に制作することができる。
【００２３】
ＢＤ−ＲＯＭに記録される映画作品は、上述した論理構造をもっているので、ある映画作品のシーンを構成するＡＶＣｌｉｐを他の映画作品で引用するという”使い回し”を効率良く行うことができる。
続いてインタラクティブグラフィクスストリームについて説明する。図８（ａ）は、インタラクティブグラフィクスストリームの構成を示す図である。第１段目は、ＡＶＣｌｉｐを構成するＴＳパケット列を示す。第２段目は、グラフィクスストリームを構成するＰＥＳパケット列を示す。第２段目におけるＰＥＳパケット列は、第１段目におけるＴＳパケットのうち、所定のＰＩＤをもつＴＳパケットからペイロードを取り出して、連結することにより構成される。尚、プレゼンテーショングラフィクスストリームについては、本願の主眼ではないので説明は行わない。
【００２４】
第３段目は、グラフィクスストリームの構成を示す。グラフィクスストリームは、ＩＣＳ（ＩｎｔｅｒａｃｔｉｖｅＣｏｍｐｏｓｉｔｉｏｎ Ｓｅｇｍｅｎｔ）、ＰＤＳ（Ｐａｌｅｔｔｅ Ｄｉｆｉｎｉｔｉｏｎ Ｓｅｇｍｅｎｔ）、ＯＤＳ（Ｏｂｊｅｃｔ＿Ｄｅｆｉｎｉｔｉｏｎ＿Ｓｅｇｍｅｎｔ）、ＥＮＤ（ＥＮＤｏｆ Ｄｉｓｐｌａｙ Ｓｅｔ Ｓｅｇｍｅｎｔ）と呼ばれる機能セグメントからなる。これらの機能セグメントのうち、ＩＣＳは、画面構成セグメントと呼ばれ、ＰＤＳ、ＯＤＳ、ＥＮＤは定義セグメントと呼ばれる。ＰＥＳパケットと機能セグメントとの対応関係は、１対１の関係、１対多の関係である。つまり機能セグメントは、１つのＰＥＳパケットに変換されてＢＤ−ＲＯＭに記録されるか、又は、フラグメント化され、複数ＰＥＳパケットに変換されてＢＤ−ＲＯＭに記録される。
【００２５】
図８（ｂ）は、機能セグメントを変換することで得られるＰＥＳパケットを示す図である。図８（ｂ）に示すようにＰＥＳパケットは、パケットヘッダと、ペイロードとからなり、このペイロードが機能セグメント実体にあたる。またパケットヘッダには、この機能セグメントに対応するＤＴＳ、ＰＴＳが存在する。尚以降の説明では、機能セグメントが格納されるＰＥＳパケットのヘッダ内に存在するＤＴＳ及びＰＴＳを、機能セグメントのＤＴＳ及びＰＴＳとして扱う。
【００２６】
これら様々な種別の機能セグメントは、図９のような論理構造を構築する。図９は、様々な種別の機能セグメントにて構成される論理構造を示す図である。本図は第３段目に機能セグメントを、第２段目にＤｉｓｐｌａｙＳｅｔを、第１段目にＥｐｏｃｈをそれぞれ示す。
第２段目のＤｉｓｐｌａｙ Ｓｅｔ（ＤＳと略す）とは、グラフィクスストリームを構成する複数機能セグメントのうち、一画面分のグラフィクスを構成するものの集合をいう。図中の破線は、第３段目の機能セグメントが、どのＤＳに帰属しているかという帰属関係を示す。ＩＣＳ−ＰＤＳ−ＯＤＳ−ＥＮＤという一連の機能セグメントが、１つのＤＳを構成していることがわかる。再生装置は、このＤＳを構成する複数機能セグメントをＢＤ−ＲＯＭから読み出せば、一画面分のグラフィクスを構成することができる。
【００２７】
第１段目のＥｐｏｃｈとは、ＡＶＣｌｉｐの再生時間軸上においてメモリ管理の連続性をもっている一つの期間、及び、この期間に割り当てられたデータ群をいう。ここで想定しているメモリとは、一画面分のグラフィクスを格納しておくためのグラフィクスプレーン、伸長された状態のグラフィクスデータを格納しておくためのオブジェクトバッファである。これらについてのメモリ管理に、連続性があるというのは、このＥｐｏｃｈにあたる期間を通じてこれらグラフィクスプレーン及びオブジェクトバッファのフラッシュは発生せず、グラフィックプレーン内のある決められた矩形領域内でのみ、グラフィクスの消去及び再描画が行われることをいう（※ここでフラッシュとは、プレーン及びバッファの格納内容を全部クリアしてしまうことである。）。この矩形領域の縦横の大きさ及び位置は、Ｅｐｏｃｈにあたる期間において、終始固定されている。グラフィックプレーンにおいて、この固定化された領域内で、グラフィクスの消去及び再描画を行っている限り、シームレス再生が保障される。つまりＥｐｏｃｈは、シームレス再生の保障が可能な再生時間軸上の一単位ということができる。グラフィックプレーンにおいて、グラフィクスの消去・再描画を行うべき領域を変更したい場合は、再生時間軸上においてその変更時点を定義し、その変更時点以降を、新たなＥｐｏｃｈにせねばならない。この場合、２つのＥｐｏｃｈの境界では、シームレス再生は保証されない。
【００２８】
尚、ここでのシームレス再生とは、グラフィクスの消去及び再描画が、所定のビデオフレーム数で完遂することをいう。インタラクティブグラフィクスストリームの場合、このビデオフレーム数は、４，５フレームとなる。このビデオフレームをどれだけにするかは、グラフィックプレーン全体に対する固定領域の大きさの比率と、オブジェクトバッファ−グラフィックプレーン間の転送レートとによって定まる。
【００２９】
図中の破線ｈｋ１，２は、第２段目の機能セグメントが、どのＥｐｏｃｈに帰属しているかという帰属関係を示す。ＥｐｏｃｈＳｔａｒｔ，Ａｃｑｕｉｓｉｔｉｏｎ Ｐｏｉｎｔ，Ｎｏｒｍａｌ Ｃａｓｅという一連のＤＳは、第１段目のＥｐｏｃｈを構成していることがわかる。『Ｅｐｏｃｈ Ｓｔａｒｔ』、『Ａｃｑｕｉｓｉｔｉｏｎ Ｐｏｉｎｔ』、『ＮｏｒｍａｌＣａｓｅ』は、ＤＳの類型である。本図におけるＡｃｑｕｉｓｉｔｉｏｎ Ｐｏｉｎｔ、ＮｏｒｍａｌＣａｓｅの順序は、一例にすぎず、どちらが先であってもよい。
【００３０】
『Ｅｐｏｃｈ Ｓｔａｒｔ』は、”新表示”という表示効果をもたらすＤＳであり、新たなＥｐｏｃｈの開始を示す。そのためＥｐｏｃｈＳｔａｒｔは、次の画面合成に必要な全ての機能セグメントを含んでいる。Ｅｐｏｃｈ Ｓｔａｒｔは、映画作品におけるチャプター等、ＡＶＣｌｉｐのうち、頭出しがなされることが判明している位置に配置される。
【００３１】
『Ａｃｑｕｉｓｉｔｉｏｎ Ｐｏｉｎｔ』は、”表示リフレッシュ”という表示効果をもたらすＤｉｓｐｌａｙＳｅｔであり、先行するＥｐｏｃｈ Ｓｔａｒｔと関連性をもつ。Ａｃｑｕｉｓｉｔｉｏｎ Ｐｏｉｎｔの類型には、『Ｄｕｐｌｉｃａｔｅ』と、『Ｉｎｈｅｒｉｔ』とがある。Ｄｕｐｌｉｃａｔｅとは、先行するＥｐｏｃｈ Ｓｔａｒｔと全く同じＤｉｓｐｌａｙ Ｓｅｔをいい、Ｉｎｈｅｒｉｔとは、先行するＥｐｏｃｈ Ｓｔａｒｔの機能セグメントを継承しているが、ボタンコマンドのみが違うＤｉｓｐｌａｙ Ｓｅｔをいう。Ａｃｑｕｉｓｉｔｉｏｎ ＰｏｉｎｔたるＤＳは、Ｅｐｏｃｈの開始時点ではないが、次の画面合成に必要な全ての機能セグメントを含んでいるので、ＡｃｑｕｉｓｉｔｉｏｎＰｏｉｎｔたるＤＳから頭出しを行えば、グラフィックス表示を確実に実現することができる。つまりＡｃｑｕｉｓｉｔｉｏｎ ＰｏｉｎｔたるＤＳは、Ｅｐｏｃｈの途中からの画面構成を可能するという役割をもつ。
【００３２】
Ａｃｑｕｉｓｉｔｉｏｎ ＰｏｉｎｔたるＤｉｓｐｌａｙＳｅｔは、頭出し先になり得る位置に組み込まれる。そのような位置には、タイムサーチにより指定され得る位置がある。タイムサーチとは、何分何秒という時間入力をユーザから受け付けて、その時間入力に相当する再生時点から頭出しを行う操作である。かかる時間入力は、１０分単位、１０秒単位というように、大まかな単位でなされるので、１０分間隔の再生位置、１０秒間隔の再生位置がタイムサーチにより指定され得る位置になる。このようにタイムサーチにより指定され得る位置にＡｃｑｕｉｓｉｔｉｏｎＰｏｉｎｔを設けておくことにより、タイムサーチ時のグラフィクスストリーム再生を好適に行うことができる。
【００３３】
『Ｎｏｒｍａｌ Ｃａｓｅ』は、”表示アップデート”という表示効果をもたらすＤＳであり、前の画面合成からの差分のみを含む。例えば、あるＤＳｖのボタンは、先行するＤＳｕと同じ絵柄であるが、状態制御が、この先行するＤＳｕとは異なる場合、ＩＣＳのみのＤＳｖ、又は、ＩＣＳとＰＤＳのみのＤＳｖを設けてこのＤＳｖをＮｏｒｍａｌＣａｓｅのＤＳにする。こうすれば、重複するＯＤＳを設ける必要はなくなるので、ＢＤ−ＲＯＭにおける容量削減に寄与することができる。一方、ＮｏｒｍａｌＣａｓｅのＤＳは、差分にすぎないので、Ｎｏｒｍａｌ Ｃａｓｅ単独では画面構成は行えない。
【００３４】
これらのＤＳにより定義される対話画面は、画面上にＧＵＩ部品を配置することにより作成される対話画面である。そしてＤＳにおける対話性とは、ＧＵＩ部品の状態をユーザ操作に応じて変化させることをいう。本実施形態では、ユーザ操作の対象となるＧＵＩ部品をボタンという。ボタンにおける状態には、ノーマル状態、セレクテッド状態、アクティブ状態といったものがある。ノーマル状態、セレクテッド状態、アクティブ状態といった各状態は、複数の非圧縮状態のグラフィクスから構成される。ボタンの各状態を表現する個々の非圧縮グラフィクスを”グラフィクスオブジェクト”という。あるボタンの１つの状態を、複数の非圧縮グラフィクスで表現しているのは、各ボタンの１つの状態をアニメーション表示することを念頭に置いているからである。
【００３５】
続いてＤｅｆｉｎｉｔｉｏｎ Ｓｅｇｍｅｎｔ（ＯＤＳ、ＰＤＳ）について説明する。
『Ｏｂｊｅｃｔ＿Ｄｅｆｉｎｉｔｉｏｎ＿Ｓｅｇｍｅｎｔ』は、グラフィクスオブジェクトを定義する情報である。このグラフィクスオブジェクトについて以下説明する。ＢＤ−ＲＯＭに記録されているＡＶＣｌｉｐは、ハイビジョン並みの高画質をセールスポイントにしているため、グラフィクスオブジェクトの解像度も、１９２０×１０８０画素という高精細な大きさに設定されている。画素の色にあたっては、一画素当たりのインデックス値（赤色差成分（Ｃｒ値），青色差成分（Ｃｂ値），輝度成分Ｙ値，透明度（Ｔ値））のビット長が８ビットになっており、これによりフルカラーの１６，７７７，２１６色から任意の２５６色を選んで画素の色として設定することができる。
【００３６】
ＯＤＳによるグラフィクスオブジェクトの定義は、図１０（ａ）に示すようにデータ構造をもってなされる。ＯＤＳは、自身がＯＤＳであることを示す『Ｓｅｇｍｅｎｔ＿Ｔｙｐｅ』と、ＯＤＳのデータ長を示す『ｓｅｇｍｅｎｔ＿ｌｅｎｇｔｈ』と、ＥｐｏｃｈにおいてこのＯＤＳに対応するグラフィクスオブジェクトを一意に識別する『ｏｂｊｅｃｔ＿ＩＤ』と、ＥｐｏｃｈにおけるＯＤＳのバージョンを示す『ｏｂｊｅｃｔ＿ｖｅｒｓｉｏｎ＿ｎｕｍｂｅｒ』と、『ｌａｓｔ＿ｉｎｓｅｑｕｅｎｃｅ＿ｆｌａｇ』と、グラフィクスオブジェクトの一部又は全部である連続バイト長データ『ｏｂｊｅｃｔ＿ｄａｔａ＿ｆｒａｇｍｅｎｔ』とからなる。
【００３７】
『ｏｂｊｅｃｔ＿ＩＤ』は、ＥｐｏｃｈにおいてこのＯＤＳに対応するグラフィクスオブジェクトを一意に識別するものだが、複数ＯＤＳにより定義される複数グラフィックオブジェクトがアニメーションを構成する場合、これらのＯＤＳに付加された一連の『ｏｂｊｅｃｔ＿ＩＤ』は、連番になる。
『ｌａｓｔ＿ｉｎｓｅｑｕｅｎｃｅ＿ｆｌａｇ』、『ｏｂｊｅｃｔ＿ｄａｔａ＿ｆｒａｇｍｅｎｔ』について説明する。ＰＥＳパケットのペイロードの制限から、ボタンを構成する非圧縮グラフィクスが１つのＯＤＳでは格納できない場合がある。そのような場合、ボタンコマンドを分割することにより得られた１部分（フラグメント）がｏｂｊｅｃｔ＿ｄａｔａ＿ｆｒａｇｍｅｎｔに設定される。１つのグラフィクスオブジェクトを複数ＯＤＳで格納する場合、最後のフラグメントを除く全てのフラグメントは同じサイズになる。つまり最後のフラグメントは、それ以前のフラグメントサイズ以下となる。これらフラグメントを格納したＯＤＳは、ＤＳにおいて同じ順序で出現する。グラフィクスオブジェクトの最後は、ｌａｓｔ＿ｓｅｑｕｅｎｃｅ＿ｆｌａｇをもつＯＤＳにより指示される。上述したＯＤＳのデータ構造は、前のＰＥＳパケットからフラグメントを詰めてゆく格納法を前提にしているが、各ＰＥＳパケットに空きが生じるように、詰めてゆくという格納法であっても良い。以上がＯＤＳの説明である。
【００３８】
『Ｐａｌｅｔｔｅ Ｄｉｆｉｎｉｔｉｏｎ Ｓｅｇｍｅｎｔ』は、色変換用のパレットを定義する情報である。ＰＤＳのデータ構造を図１０（ｂ）に示す。図１０（ｂ）に示すようにＰＤＳは、”０ｘ１５”に設定されることにより、自身がＰＤＳであることを示す『ｓｅｇｍｅｎｔ＿ｔｙｐｅ』、ＰＤＳのデータ長を示す『ｓｅｇｍｅｎｔ＿ｌｅｎｇｔｈ』、このＰＤＳに含まれるパレットを一意に識別する『Ｐａｌｌｅｔ＿ｉｄ』、ＥｐｏｃｈにおけるＥｐｏｃｈのＰＤＳのバージョンを示す『ｖｅｒｓｉｏｎ＿ｎｕｍｂｅｒ』、各エントリーについての情報『Ｐａｌｌｅｔ＿ｅｎｔｒｙ』からなる。『Ｐａｌｌｅｔ＿ｅｎｔｒｙ』は、各エントリーにおける赤色差成分（Ｃｒ値），青色差成分（Ｃｂ値），輝度成分Ｙ値，透明度（Ｔ値）を示す。
【００３９】
続いてＩＣＳについて説明する。Ｉｎｔｅｒａｃｔｉｖｅ Ｃｏｍｐｏｓｉｔｉｏｎ Ｓｅｇｍｅｎｔは、対話的な画面を構成する機能セグメントである。ＩｎｔｅｒａｃｔｉｖｅＣｏｍｐｏｓｉｔｉｏｎ Ｓｅｇｍｅｎｔは、図１１に示すデータ構造で構成される。本図に示すようにＩＣＳは、『ｓｅｇｍｅｎｔ＿ｔｙｐｅ』と、『ｓｅｇｍｅｎｔ＿ｌｅｎｇｔｈ』と、『ｃｏｍｐｏｓｉｔｉｏｎ＿ｎｕｍｂｅｒ』と、『ｃｏｍｐｏｓｉｔｉｏｎ＿ｓｔａｔｅ』と、『ｃｏｍｍａｎｄ＿ｕｐｄａｔｅ＿ｆｌａｇ』と、『Ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅｏｕｔ＿ＰＴＳ』と、『Ｓｅｌｅｃｔｉｏｎ＿ｔｉｍｅｏｕｔ＿ＰＴＳ』と、『ＵＯ＿Ｍａｓｋ＿Ｔａｂｌｅ』と、『ａｎｉｍａｔｉｏｎ＿ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅ』と、『ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』と、『ｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』と、『ボタン情報群（ｂｕｔｔｏｎｉｎｆｏ（１）（２）（３）・・・・）』とからなる。
【００４０】
『Ｃｏｍｐｏｓｉｔｉｏｎ＿Ｎｕｍｂｅｒ』は、ＩＣＳが属するＤＳにおいて、Ｕｐｄａｔｅがなされることを示す０から１５までの数値である。
『ｃｏｍｐｏｓｉｔｉｏｎ＿ｓｔａｔｅ』は、本ＩＣＳから始まるＤＳが、ＮｏｒｍａｌＣａｓｅであるか、Ａｃｑｕｉｓｉｔｉｏｎ Ｐｏｉｎｔであるか、ＥｐｏｃｈＳｔａｒｔであるかを示す。
【００４１】
『ｃｏｍｍａｎｄ＿ｕｐｄａｔｅ＿ｆｌａｇ』は、本ＩＣＳ内のボタンコマンドは、前のＩＣＳから変化しているかを否かを示す。例えば、あるＩＣＳが属するＤＳが、ＡｃｑｕｉｓｉｔｉｏｎＰｏｉｎｔであれば、このＩＣＳは、原則１つ前のＩＣＳと同じ内容になる。しかしｃｏｍｍａｎｄ＿ｕｐｄａｔｅ＿ｆｌａｇをオンに設定しておけば、１つ前のＤＳと違うボタンコマンドをＩＣＳに設定しておくことができる。本フラグは、グラフィックオブジェクトは流用するが、コマンドは変更したい場合に有効となる。
【００４２】
『Ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅｏｕｔ＿ＰＴＳ』は、ボタンによる対話画面の終了時刻を記述する。終了時刻において対話画面の表示は、もはや有効ではなく表示されない。Ｃｏｍｐｏｓｉｔｉｏｎ＿ＰＴＳは、動画データにおける再生時間軸の時間精度で記述しておくことが好ましい。
『Ｓｅｌｅｃｔｉｏｎ＿Ｔｉｍｅｏｕｔ＿ＰＴＳ』は、有効なボタン選択期間の終了時点を記述する。Ｓｅｌｅｃｔｉｏｎ＿Ｔｉｍｅｏｕｔ＿ＰＴＳの時点において、Ｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒにより特定されるボタンがアクティベートされる。Ｓｅｌｅｃｔｉｏｎ＿Ｔｉｍｅｏｕｔ＿ＰＴＳは、ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ＰＴＳの時間と等しいかそれより短い。Ｓｅｌｅｃｔｉｏｎ＿Ｔｉｍｅｏｕｔ＿ＰＴＳはビデオフレームの時間精度で記述される。
【００４３】
『ＵＯ＿Ｍａｓｋ＿Ｔａｂｌｅ』は、ＩＣＳに対応するＤｉｓｐｌａｙ Ｓｅｔにおけるユーザ操作の許可／不許可を示す。このマスクフィールドが不許可に設定されていれば、再生装置に対するユーザ操作は無効になる。
『ａｎｉｍａｔｉｏｎ＿ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅ』は、アニメーション型ボタンに適用すべきフレームレートを記述する。アニメーションフレームレートは、本フィールドの値を用いて、ビデオフレームレートを割ることにより与えられる。本フィールドが００なら、各ボタンのグラフィクスオブジェクトを定義するＯＤＳのうち、Ｓｔａｒｔ＿Ｏｂｊｅｃｔ＿ｉｄ＿ｘｘｘにて特定されるもののみが表示され、アニメーションされない。
【００４４】
『ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』は、対話画面の表示が始まったとき、デフォルトとしてセレクテッド状態に設定すべきボタン番号を指示する。本フィールドが”０”であれば、再生装置のレジスタに格納されたボタン番号のボタンが自動的にアクティブ状態に設定される。もしこのフィールドが非ゼロであれば、このフィールドは、有効なボタンの値を意味する。
【００４５】
『ｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』は、Ｓｅｌｅｃｔｉｏｎ＿Ｔｉｍｅｏｕｔ＿ＰＴＳにより定義された時間の前に、ユーザがどのボタンもアクティブ状態にしなかったとき、自動的にアクティブ状態に設定されるボタンを示す。ｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが”ＦＦ”であれば、Ｓｅｌｅｃｔｉｏｎ＿Ｔｉｍｅｏｕｔ＿ＰＴＳにより定義される時刻において、現在セレクテッド状態にあるボタンが自動的に選択される。このｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが００であれば、自動選択はなされない。００，ＦＦ以外の値であれば本フィールドは、有効なボタン番号として解釈される。
【００４６】
『ボタン情報（Ｂｕｔｔｏｎ＿ｉｎｆｏ）』は、対話画面において合成される各ボタンを定義する情報である。図中の引き出し線ｈｐ１はＩＣＳにより制御されるｉ番目のボタンについてのボタン情報ｉの内部構成をクローズアップしている。以降、ボタン情報ｉを構成する情報要素について説明する。
『ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』は、ボタンｉを、ＩＣＳにおいて一意に識別する数値である。
【００４７】
『ｎｕｍｅｒｉｃａｌｌｙ＿ｓｅｌｅｃｔａｂｌｅ＿ｆｌａｇ』は、ボタンｉの数値選択を許可するか否かを示すフラグである。
『ａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇ』は、ボタンｉを自動的にアクティブ状態にするかどうかを示す。ａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇがオン（ビット値１）に設定されれば、ボタンｉは、セレクテッド状態になる代わりにアクティブ状態になる。ａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇがオフ（ビット値０）に設定されれば、ボタンｉは、選択されたとしてもセレクテッド状態になるにすぎない。
【００４８】
『ｏｂｊｅｃｔ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ』、『ｏｂｊｅｃｔ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎ』は、対話画面におけるボタンｉの左上画素の水平位置、垂直位置を示す。
『ｕｐｐｅｒ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』は、ボタンｉがセレクテッド状態である場合においてＭＯＶＥＵＰキーが押下された場合、ボタンｉの代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタンｉの番号が設定されていれば、ＭＯＶＥＵＰキーの押下は無視される。
【００４９】
『ｌｏｗｅｒ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』，『ｌｅｆｔ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』，『ｒｉｇｈｔ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ』は、ボタンｉがセレクテッド状態である場合においてＭＯＶＥＤｏｗｎキー，ＭＯＶＥ Ｌｅｆｔキー，ＭＯＶＥ Ｒｉｇｈｔキーが押下された場合、ボタンｉの押下の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタンｉの番号が設定されていれば、これらのキーの押下は無視される。
【００５０】
『ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌ』は、ノーマル状態のボタンｉをアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番のうち、最初の番号がこのｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌに記述される。
『ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌ』は、ノーマル状態のボタンｉをアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番たる『ｏｂｊｅｃｔ＿ＩＤ』のうち、最後の番号がこのｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌに記述される。このＥｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌに示されるＩＤが、ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌに示されるＩＤと同じである場合、このＩＤにて示されるグラフィックオブジェクトの静止画が、ボタンｉの絵柄になる。
【００５１】
『ｒｅｐｅａｔｅｄ＿ｓｅｌｅｃｔｅｄ＿ｆｌａｇ』は、セレクテッド状態にあるボタンｉのアニメーション表示を反復させるかどうかを示す。
『ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄ』は、セレクテッド状態のボタンｉをアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番のうち、最初の番号がこのｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄに記述される。このＥｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄに示されるＩＤが、ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｄに示されるＩＤと同じである場合、このＩＤにて示されるグラフィックオブジェクトの静止画が、ボタンｉの絵柄になる。
【００５２】
『ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄ』は、セレクト状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番たる『ｏｂｊｅｃｔ＿ＩＤ』のうち、最後の番号がこのｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄに記述される。
『ｒｅｐｅａｔ＿ｓｅｌｅｃｔｅｄ＿ｆｌａｇ』は、セレクテッド状態にあるボタンｉのアニメーション表示を、反復継続するかどうかを示す。ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄと、ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄとが同じ値になるなら、本フィールド００に設定される。
【００５３】
『ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄ』は、アクティブ状態のボタンｉをアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番のうち、最初の番号がこのｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄに記述される。
『ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄ』は、アクティブ状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ＯＤＳに付加された連番たる『ｏｂｊｅｃｔ＿ＩＤ』のうち、最後の番号がこのｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄに記述される。
【００５４】
続いてボタンコマンドについて説明する。
『ボタンコマンド（ｂｕｔｔｏｎ＿ｃｏｍｍａｎｄ）』は、ボタンｉがアクティブ状態になれば、実行されるコマンドである。ボタンコマンドでは、ＰＬ、ＰｌａｙＩｔｅｍを対象とした再生を再生装置に命じることができる。ＰｌａｙＩｔｅｍ、ＰｌａｙＩｔｅｍを対象とした再生を、再生装置に命じるコマンドをＬｉｎｋＰＬコマンドという。本コマンドは、第１引数で指定するプレイリストの再生を、第２引数で指定する位置から再生を開始させるものである。
【００５５】
書式：ＬｉｎｋＰＬ（第１引数，第２引数）
第１引数は、プレイリストの番号で、再生すべきＰＬを指定することができる。第２引数は、そのＰＬに含まれるＰｌａｙＩｔｅｍや、そのＰＬにおけるＣｈａｐｔｅｒ、Ｍａｒｋを用いて再生開始位置を指定することができる。
ＰｌａｙＩｔｅｍにより再生開始位置を指定したＬｉｎｋＰＬ関数をＬｉｎｋＰＬａｔＰｌａｙＩｔｅｍ（）、
Ｃｈａｐｔｅｒにより再生開始位置を指定したＬｉｎｋＰＬ関数をＬｉｎｋＰＬａｔＣｈａｐｔｅｒ（）、
Ｍａｒｋにより再生開始位置を指定したＬｉｎｋＰＬ関数をＬｉｎｋＰＬａｔＭａｒｋ（）という。
【００５６】
またボタンコマンドでは、再生装置の状態取得や状態設定を再生装置に命じることができる。再生装置の状態は、６４個のＰｌａｙｅｒＳｔａｔｕｓ Ｒｅｇｉｓｔｅｒ（これの設定値は、ＰＳＲと呼ばれる）と、４０９６個のＧｅｎｅｒａｌＰｕｒｐｏｓｅ Ｒｅｇｉｓｔｅｒ（これの設定値は、ＧＰＲと呼ばれる）とに示されている。ボタンコマンドでは、以下の（ｉ）〜（ｉｖ）のコマンドを使用することにより、これらのレジスタに値を設定したり、これらのレジスタから値を取得したりすることができる。
【００５７】
（ｉ）Ｇｅｔ ｖａｌｕｅ ｏｆ Ｐｌａｙｅｒ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒコマンド
書式：Ｇｅｔ ｖａｌｕｅ ｏｆ Ｐｌａｙｅｒ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒ（引数）
この関数は、引数で指定されたＰｌａｙｅｒ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒの設定値を取得する。
【００５８】
（ｉｉ）Ｓｅｔ ｖａｌｕｅ ｏｆ Ｐｌａｙｅｒ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒコマンド
書式：Ｓｅｔ ｖａｌｕｅ ｏｆ Ｐｌａｙｅｒ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒ（第１引数、第２引数）
この関数は、第１引数で指定されたＰｌａｙｅｒ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒに、第２引数で指定された値を設定させる。
【００５９】
（ｉｉｉ）Ｇｅｔ ｖａｌｕｅ ｏｆ Ｇｅｎｅｒａｌ Ｐｕｒｐｏｓｅ Ｒｅｇｉｓｔｅｒコマンド
書式：Ｇｅｔ ｖａｌｕｅ ｏｆ Ｇｅｎｅｒａｌ Ｐｕｒｐｏｓｅ Ｒｅｇｉｓｔｅｒ（引数）
この関数は、引数で指定されたＧｅｎｅｒａｌ Ｐｕｒｐｏｓｅ Ｒｅｇｉｓｔｅｒの設定値を取得する関数である。
【００６０】
（ｉｖ）Ｓｅｔ ｖａｌｕｅ ｏｆ Ｇｅｎｅｒａｌ Ｐｕｒｐｏｓｅ Ｒｅｇｉｓｔｅｒコマンド
書式：Ｓｅｔ ｖａｌｕｅ ｏｆ Ｇｅｎｅｒａｌ Ｐｕｒｐｏｓｅ Ｒｅｇｉｓｔｅｒ（第１引数、第２引数）
この関数は、第１引数で指定されたＧｅｎｅｒａｌ Ｐｕｒｐｏｓｅ Ｒｅｇｉｓｔｅｒに、第２引数で指定された値を設定させる。
【００６１】
以上がＩＣＳの内部構成である。ＩＣＳによる対話制御の具体例について以下説明する。本具体例は、図１２のようなＯＤＳ、ＩＣＳを想定している。図１２は、あるＤＳｎに含まれるＯＤＳと、ＩＣＳとの関係を示す図である。このＤＳｎには、ＯＤＳ１１〜１９，２１〜２９，３１〜３９，４１〜４９が含まれているものとする。これらのＯＤＳのうち、ＯＤＳ１１〜１９は、ボタンＡの各状態を描いたものであり、ＯＤＳ２１〜２９は、ボタンＢの各状態を描いたもの、ＯＤＳ３１〜３９は、ボタンＣの各状態を描いたもの、ＯＤＳ４１〜４９は、ボタンＤの各状態を描いたものとする（図中の括弧｝を参照）。そしてＩＣＳにおけるｂｕｔｔｏｎ＿ｉｎｆｏ（１），（２），（３），（４）にて、これらのボタンＡ〜ボタンＤの状態制御が記述されているものとする（図中の矢印ｂｈ１，２，３，４参照）。
【００６２】
このＩＣＳによる制御の実行タイミングが、図１３に示す動画のうち、任意のピクチャデータｐｔ１の表示タイミングであれば、ボタンＡ〜ボタンＤからなる対話画面ｔｍ１が、このピクチャデータｐｔ１に合成（ｇｓ１）されて表示されることになる（ｇｓ２）。動画の中身に併せて、複数ボタンからなる対話画面が表示されるので、ＩＣＳによりボタンを用いたリアルな演出が可能になる。
【００６３】
図１５に示すボタンＡ〜ボタンＤの状態遷移を実行する場合のＩＣＳの記述例を図１４に示す。図１５における矢印ｈｈ１，ｈｈ２は、ｂｕｔｔｏｎｉｎｆｏ（１）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）よる状態遷移を象徴的に表現している。ｂｕｔｔｏｎ ｉｎｆｏ（１）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）におけるｌｏｗｅｒ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒは、ボタンＣに設定されているため、ボタンＡがセレクテッド状態になっている状態で、ＭＯＶＥＤｏｗｎキー押下のＵＯが発生すれば（図１５のｕｐ１）、ボタンＣがセレクテッド状態になる（図１５のｓｊ１）。ｂｕｔｔｏｎｉｎｆｏ（１）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）におけるｒｉｇｈｔ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒは、ボタンＢに設定されているため、ボタンＡがセレクテッド状態になっている状態で、ＭＯＶＥＲｉｇｈｔキー押下のＵＯが発生すれば（図１５のｕｐ２）、ボタンＢがセレクテッド状態になる（図１５のｓｊ２）。
【００６４】
図１５における矢印ｈｈ３は、ｂｕｔｔｏｎ ｉｎｆｏ（３）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）による状態遷移の制御を示す。ｂｕｔｔｏｎ ｉｎｆｏ（３）のｎｅｉｇｈｂｏｒ＿ｉｎｆｏ（）におけるｕｐｐｅｒ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒは、ボタンＡに設定されているため、ボタンＣがセレクテッド状態になっている状態で（ｕｐ３）、ＭＯＶＥＵｐキー押下のＵＯが発生すれば、ボタンＡがセレクテッド状態に戻る。
【００６５】
続いてボタンＡ〜ボタンＤの絵柄について説明する。ＯＤＳ１１，２１，３１，４１が図１６に示す絵柄であるものとする。そしてボタンＡに割り当てられたＯＤＳ１１〜１９は、図１７のような絵柄であるものとする。ＩＣＳにおけるｂｕｔｔｏｎ＿ｉｎｆｏ（１）のｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ（）におけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌ，ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌは、ＯＤＳ１１〜１３を指定しているため、ボタンＡのノーマル状態は、ＯＤＳ１１〜１３によるアニメーションで表現される。またｂｕｔｔｏｎ＿ｉｎｆｏ（１）のｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ（）におけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄ，ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄは、ＯＤＳ１４〜１６を指定しているため、ボタンＡのセレクテッド状態は、ＯＤＳ１４〜１６で表現される。ユーザがこのボタンＡをセレクテッド状態にすることにより、ボタンＡの絵柄たる肖像は、ＯＤＳ１１〜１３によるものから、ＯＤＳ１４〜１６によるものへと変化する。ここでｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ（）、ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ（）におけるｒｅｐｅａｔ＿ｎｏｒｍａｌ＿ｆｌａｇ，ｒｅｐｅａｔ＿ｓｅｌｅｃｔ＿ｆｌａｇを１にしておけば、ＯＤＳ１１〜１３によるアニメーション、ＯＤＳ１４〜１６によるアニメーションは、図中の「→（Ａ）」，「（Ａ）→」，「→（Ｂ）」，「（Ｂ）→」，に示すように、アニメーション表示は反復継続する。
【００６６】
アニメーション描画が可能な複数ＯＤＳが、ボタンＡ〜ボタンＤに割り当てられており、これらによる制御がＩＣＳに記述されていれば、ユーザ操作に併せてキャラクタの表情が変わるような、リアルなボタンの状態制御を実現することができる。
続いてｎｕｍｅｒｉｃａｌｌｙ＿ｓｅｌｅｃｔａｂｌｅ＿ｆｌａｇによる応用について説明する。図１８は、ＤＳに含まれるＩＣＳ、ＯＤＳの一例を示す図である。本図におけるＯＤＳ３１〜３３は、図中上段に示すような３人の野球選手の肖像及び選手名、背番号を示すものとする。一方、このＤＳに属するＩＣＳは、３つのボタン情報を含んでおり、ボタン情報（１）のｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄは、ＯＤＳ３１を示すよう設定され、ボタン情報（２）のｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄは、ＯＤＳ３２を示すよう、ボタン情報（３）のｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄは、ＯＤＳ３３を示すよう設定されているものとする。一方、ボタン情報（１）は、ｂｕｔｔｏｎｎｕｍｂｅｒが９９に、ボタン情報（２）はｂｕｔｔｏｎ ｎｕｍｂｅｒが４２に、ボタン情報（３）はｂｕｔｔｏｎｎｕｍｂｅｒが９４に設定されているものとする。またボタン情報（１）〜（３）は、全てｎｕｍｅｒｉｃａｌｌｙ＿ｓｅｌｅｃｔａｂｌｅ＿ｆｌａｇが１に設定されているものとする。この場合、ボタン情報（１）〜（３）に対応する各ボタンの数値選択が可能になるので、ユーザによりリモコン４００による「９９」の数値入力がなされれば、ビギナーズ・ラック選手のボタンがセレクテッド状態になる。数値「９９」の入力は、「４」キーの押下と、「９」キーの押下とを連続して受け付けることで実現しても良い。また「９」キーの押下と、「＋１０」キーの４回の押下とを連続して受け付けることで実現しても良い。「４２」の数値入力がなされれば、ケアレス・ミス選手のボタンがセレクテッド状態、「９４」の数値入力がなされれば、デッド・ストック選手のボタンがセレクテッド状態になる。
【００６７】
これらのボタン情報（１）〜（３）のａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇが１に設定されていれば、これら３つのボタンはセレクテッド状態になる代わりにアクティブ状態になり、ボタン情報の内部に含まれるボタンコマンド（ＬｉｎｋＰＬ（ＰＬ＃２１），ＬｉｎｋＰＬ（ＰＬ＃２２），ＬｉｎｋＰＬ（ＰＬ＃２３））が実行される。３つのボタン情報に含まれるボタンコマンドのリンク先ＰＬ＃２１，＃２２，＃２３が、それぞれの選手の打撃シーン、投球シーンであれば、これら打撃シーン、投球シーンは、選手の背番号にあたる数値入力で再生されることになる。背番号という、知名度が高い番号でのダイレクトなボタン選択が可能になるので、ユーザによる操作性は一段と高まる。
【００６８】
続いてＤｉｓｐｌａｙ ＳｅｔにおけるＯＤＳの順序について説明する。ＤｉｓｐｌａｙＳｅｔに属するＯＤＳは、ボタンの１つの状態を表すようＩＣＳにて指定されていることは、上述した通りである。ＯＤＳは、こうした指定、つまり、ボタンのどの状態を示すかという指定に応じて、ＤｉｓｐｌａｙＳｅｔにおける順序が決められる。
詳しくいうとＤｉｓｐｌａｙ ＳｅｔにおいてＯＤＳは、ノーマル状態を表すもの（１）、セレクテッド状態を表すもの（２）、アクティブ状態を示すもの（３）というように、同じ状態を表すもの同士がグループ化される。このボタンの１つの状態を表すグループをｂｕｔｔｏｎ−ｓｔａｔｅグループという。そしてこれらｂｕｔｔｏｎ−ｓｔａｔｅグループを、ノーマル状態→セレクテッド状態→アクティブ状態というように並べる。このようにボタンのどの状態を表すかに応じて、ＯＤＳの順序を決めるというのが、ＤｉｓｐｌａｙＳｅｔにおけるＯＤＳの順序である。
【００６９】
図１９は、Ｄｉｓｐｌａｙ Ｓｅｔに属するＯＤＳの順序を示す図である。本図の第２段目に、ＤｉｓｐｌａｙＳｅｔにおける３つのｂｕｔｔｏｎ−ｓｔａｔｅグループを示す。本図においてノーマル状態を描くＯＤＳの集合（ＯＤＳｓ ｆｏｒ Ｎｏｒｍａｌ ｓｔａｔｅ）、ボタンのセレクテッド状態を描くＯＤＳの集合（ＯＤＳｓｆｏｒ Ｓｅｌｅｃｔｅｄ ｓｔａｔｅ）、ボタンのアクティブ状態を描くＯＤＳの集合（ＯＤＳｓｆｏｒ Ａｃｔｉｏｎｅｄ ｓｔａｔｅ）が示されている。そしてこれらｂｕｔｔｏｎ−ｓｔａｔｅグループの順序は、ノーマル状態→セレクテッド状態→アクティブ状態というように並べられている。これはＯＤＳのうち、対話画面の初期表示を構成するものを早く読み出させ、アップデート後の画面表示を構成するものの読み出しを後にするという配慮である。
【００７０】
図１９の第１段目は、これらｂｕｔｔｏｎ−ｓｔａｔｅグループにより描かれるグラフィクスオブジェクトＡｎ，Ｂｎ，Ｃｎ，Ｄｎ，Ａｓ，Ｂｓ，Ｃｓ，Ｄｓ，Ａａ，Ｂａ，Ｃａ，Ｄａを示す。本図におけるＡｎ，Ｂｎ，Ｃｎ，Ｄｎにおける添字ｎは各ボタンのノーマル状態を表し、Ａｓ，Ｂｓ，Ｃｓ，Ｄｓにおける添字ｓは各ボタンのセレクテッド状態を表す。Ａａ，Ｂａ，Ｃａ，Ｄａにおける添字ａは各ボタンのアクティブ状態を表す。図１９の第２段目は、第１段目のグラフィクスオブジェクトが属するｂｕｔｔｏｎ−ｓｔａｔｅグループを示す。尚、本図におけるＯＤＳ１〜ＯＤＳｎという表記は、「１」，「ｎ」というような同じ番号が付されているが、これらＮ−ＯＤＳｓ，Ｓ−ＯＤＳｓ，Ａ−ＯＤＳｓに属するＯＤＳは別々のものである。以降、同様の表記の図は同じ意味であるとする。
【００７１】
図２０は、図１９のｂｕｔｔｏｎ−ｓｔａｔｅグループが配置された対話画面における状態遷移を示す図である。
本図における対話画面は、”初期表示”、”１ｓｔユーザアクションによる更新表示”、”２ｎｄユーザアクションによる更新表示”という複数の状態をもつ。図中の矢印は、状態遷移のトリガとなるユーザアクションを表す。この図を参照すると、４つのボタンＡ，Ｂ，Ｃ，Ｄはそれぞれノーマル状態、セレクテッド状態、アクティブ状態という状態をもっている。このうち初期表示に必要なのは、３つのノーマル状態を描くグラフィクスオブジェクトと、１つのセレクテッド状態を描くグラフィクスオブジェクトであることがわかる。
【００７２】
デフォルトセレクテッドボタンが未確定であり、ボタンＡ〜ボタンＤのうち、どのボタンがセレクテッド状態になるかが不定であっても、各ボタンのノーマル状態、セレクテッド状態を表すグラフィクスオブジェクトのデコードが完了すれば、初期表示を実現することができる。このことを意識して、本実施形態では、各状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループを、図１９の第２段目に示すようにノーマル状態→セレクテッド状態→アクティブ状態の順に配列している。かかる配列により、アクティブ状態を構成するＯＤＳの読み出しやデコードが未完であっても、初期表示を実現することができ、ＤｉｓｐｌａｙＳｅｔの読み出し開始から初期表示の完了までの期間を短くすることができる。
【００７３】
図２１は、図１６、図１７に示したＯＤＳを、どのような順序で配列させるかについて説明する。図２１は、ＤｉｓｐｌａｙＳｅｔにおけるＯＤＳの順序を示す図である。本図においてＯＤＳｓ ｆｏｒ Ｎｏｒｍａｌ ｓｔａｔｅは、ＯＤＳ１１〜１３，ＯＤＳ２１〜２３，ＯＤＳ３１〜３３，ＯＤＳ４１〜４３から構成されている。またＯＤＳｓｆｏｒ Ｓｅｌｅｃｔｅｄ ｓｔａｔｅは、ＯＤＳ１４〜１６，ＯＤＳ２４〜２６，ＯＤＳ３４〜３６，ＯＤＳ４４〜４６から構成され、ＯＤＳｓｆｏｒ Ａｃｔｉｏｎｅｄ ｓｔａｔｅは、ＯＤＳ１７〜１９，ＯＤＳ２７〜２９，ＯＤＳ３７〜３９，ＯＤＳ４７〜４９から構成されている。ＯＤＳ１１〜１３は、図１７に示したような、キャラクターの表情変化を描くものであり、ＯＤＳ２１〜２３，ＯＤＳ３１〜３３，ＯＤＳ４１〜４３も同様なので、これらのＯＤＳを先頭のｂｕｔｔｏｎ−ｓｔａｔｅグループに配置することにより、ＤｉｓｐｌａｙＳｅｔの読み出しの途中であっても、初期表示の準備を整えることができる。これによりアニメーションを取り入れた対話画面を、遅滞なく実行することができる。
【００７４】
続いて複数のボタン状態からの多重参照されるＯＤＳの順序について説明する。多重参照とは、あるＯＤＳについてのｏｂｊｅｃｔ＿ｉｄがＩＣＳにおける２以上のｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ，ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ，ａｃｔｉｖａｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏにより指定されていることをいう。かかる多重参照を行えば、あるボタンのノーマル状態を描くグラフィクスオブジェクトを用いて、他のボタンのセレクテッド状態を描くことができ、グラフィクスオブジェクトの絵柄を共用することができる。かかる共用により、ＯＤＳの数を少なくすることができる。多重参照されるＯＤＳについては、どのｂｕｔｔｏｎ−ｓｔａｔｅグループに属するかが問題になる。つまりあるボタンのノーマル状態と、別のボタンのセレクテッド状態とが１つのＯＤＳで描かれている場合、このＯＤＳは、ノーマル状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループに属するか、セレクテッド状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループに属するかが問題となる。この場合ＯＤＳは、複数状態のうち、最も早く出現する状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループに配置される。ノーマル状態−セレクテッド状態−アクティブ状態という３つの状態があり、あるＯＤＳがノーマル状態、セレクテッド状態で多重参照されるなら、ノーマル状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループにこのＯＤＳは配置される。また別のＯＤＳがセレクテッド状態、アクティブ状態で多重参照されるなら、セレクテッド状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループにこのＯＤＳは配置される。以上が多重参照されるＯＤＳの順序についての説明である。
【００７５】
セレクテッド状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループにおける、ＯＤＳの順序について説明する。セレクテッド状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループにおいて、どのＯＤＳが先頭に位置するかは、デフォルトセレクテッドボタンが確定しているか未確定であるかによって変わる。確定したデフォルトセレクテッドボタンとは、ＩＣＳにおけるｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒに００以外の有効な値が設定され、この値で指示されるボタンのことをいう。この場合、デフォルトセレクテッドボタンを表すＯＤＳが、ｂｕｔｔｏｎ−ｓｔａｔｅグループの先頭に配置される。
【００７６】
未確定のデフォルトセレクテッドボタンとは、ＩＣＳにおけるｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが値００を示しているようなＤｉｓｐｌａｙＳｅｔにおいて、デフォルトでセレクテッド状態に設定されるボタンをいう。値００を示すよう、ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒを設定しておくのは、例えば、ＤｉｓｐｌａｙＳｅｔが多重されているＡＶＣｌｉｐが、複数再生経路の合流点になっているようなケースである。先行する複数再生経路がそれぞれ第１、第２、第３章であり、合流点にあたるＤｉｓｐｌａｙＳｅｔが第１章、第２章、第３章に対応するボタンを表示させるものである場合、ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒにおいて、デフォルトでセレクテッド状態とすべきボタンを決めてしまうのは、おかしい。
【００７７】
第１章からの到達時には第２章にあたるボタン、第２章からの到達時には第３章にあたるボタン、第３章からの到達時には第４章にあたるボタンというように、このＤｉｓｐｌａｙＳｅｔに到達するまでに、先行する複数再生経路のうち、どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化させるのが理想的である。先行する再生経路によって、セレクテッド状態とすべきボタンが変わるようなケースにおいて、ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒは無効を示すよう、０に設定される。どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化するから、特定のＯＤＳをｂｕｔｔｏｎ−ｓｔａｔｅグループの先頭に配置するというような配慮は行わない。
【００７８】
以上がＯＤＳの順序についての説明である。続いてこれらＩＣＳ、ＯＤＳを有したＤｉｓｐｌａｙＳｅｔが、ＡＶＣｌｉｐの再生時間軸上にどのように割り当てられるかについて説明する。Ｅｐｏｃｈは、再生時間軸上においてメモリ管理が連続する期間であり、Ｅｐｏｃｈは１つ以上のＤｉｓｐｌａｙＳｅｔから構成されるので、Ｄｉｓｐｌａｙ ＳｅｔをどうやってＡＶＣｌｉｐの再生時間軸に割り当てるかが問題になる。ここでＡＶＣｌｉｐの再生時間軸とは、ＡＶＣｌｉｐに多重されたビデオストリームを構成する個々のピクチャデータのデコードタイミング、再生タイミングを規定するための想定される時間軸をいう。この再生時間軸においてデコードタイミング、再生タイミングは、９０ＫＨｚの時間精度で表現される。９０ＫＨｚの時間精度は、ＮＴＳＣ信号、ＰＡＬ信号、ＤｏｌｂｙＡＣ−３、ＭＰＥＧオーディオのフレーム周波数の公倍数を考慮したものである。ＤｉｓｐｌａｙＳｅｔ内のＩＣＳ、ＯＤＳに付加されたＤＴＳ、ＰＴＳは、この再生時間軸において同期制御を実現すべきタイミングを示す。このＩＣＳ、ＯＤＳに付加されたＤＴＳ、ＰＴＳを用いて同期制御を行うことが、再生時間軸へのＤｉｓｐｌａｙＳｅｔの割り当てである。
【００７９】
先ず、ＯＤＳに付加されたＤＴＳ、ＰＴＳにより、どのような同期制御がなされるかについて説明する。
ＤＴＳは、ＯＤＳのデコードを開始すべき時間を９０ＫＨｚの時間精度で示しており、ＰＴＳはデコードデッドラインを示す。
ＯＤＳのデコードは、瞬時には完了せず、時間的な長さをもっている。このデコード期間の開始点・終了点を明らかにしたいとの要望から、ＯＤＳについてのＤＴＳ、ＰＴＳはデコード開始時刻、デコードデッドラインを示している。
【００８０】
ＰＴＳの値はデッドラインであるので、ＰＴＳに示される時刻までにＯＤＳｊのデコードがなされて、非圧縮状態のグラフィックオブジェクトが、再生装置上のオブジェクトバッファに得られなければならない。
Ｄｉｓｐｌａｙ Ｓｅｔｎに属する任意のＯＤＳｊのデコード開始時刻は、９０ＫＨｚの時間精度でＤＴＳ（ＤＳｎ［ＯＤＳ］）に示されるので、これにデコードを要する最長時間を加えた時刻が、ＤｉｓｐｌａｙＳｅｔのＯＤＳｊのデコードデッドラインになる。
ＯＤＳｊのサイズを”ＳＩＺＥ（ＤＳｎ［ＯＤＳｊ］）”、ＯＤＳのデコードレートを”Ｒｄ”とすると、デコードに要する最長時間（秒）は、”ＳＩＺＥ（ＤＳｎ［ＯＤＳｊ］）／／Ｒｄ”になる。
【００８１】
この最長時間を９０ＫＨｚの時間精度に変換し、ＯＤＳｊのＤＴＳに加算することにより、ＰＴＳで示されるべきデコードデッドライン（９０ＫＨｚ）は算出される。
ＤＳｎに属するＯＤＳｊのＰＴＳを、数式で表すと、以下の式のようになる。
PTS(DS[ODSj])=DTS(DSn[ODSj])+90,000×(SIZE(DSn[ODSj])//Rd)
次にＩＣＳの、ＰＴＳ値について説明する。
ＩＣＳのＰＴＳは、ＤＳｎの初期表示を構成するＯＤＳのうち、デコード時刻が最も遅いＯＤＳのＰＴＳ値（１）、グラフィクスプレーンのクリアに要する時間（２）、ＯＤＳのデコードにより得られたグラフィクスオブジェクトをグラフィクスプレーンに転送する転送時間（３）を足した値に設定される。
【００８２】
ＩＣＳにおいてｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが指定されている場合は、全てのボタンのノーマル状態を描画するＯＤＳのデコードと、デフォルトボタンのセレクテッド状態を描画するＯＤＳのデコードさえ完了すれば、初期表示を行うことができる。初期表示における複数ボタンのセレクテッド状態を描画するＯＤＳを、Ｓ−ＯＤＳｓと呼び、そのうちデコード時刻が最も早いもの（この場合、デフォルトボタンを描画するもの）をＳ−ＯＤＳｓｆｉｒｓｔと呼ぶ。このＳ−ＯＤＳｓｆｉｒｓｔのＰＴＳ値を、デコード時刻が最も遅いＯＤＳのＰＴＳ値として、ＩＣＳのＰＴＳの基準に用いる。
【００８３】
ＩＣＳにおいてｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが指定されていない場合は、どのボタンがセレクテッド状態になるかわからないから、全ボタンのノーマル状態、セレクテッド状態を描画する準備が整なわないと、初期表示の準備が完了しない。初期表示における複数ボタンのセレクテッド状態を描画するＳ−ＯＤＳｓのうち、デコード時刻が最も遅いものをＳ−ＯＤＳｓｌａｓｔと呼ぶ。このＳ−ＯＤＳｓｌａｓｔのＰＴＳ値を、デコード時刻が最も遅いＯＤＳのＰＴＳ値として、ＩＣＳのＰＴＳの基準値に用いる。
【００８４】
Ｓ−ＯＤＳｓｆｉｒｓｔのデコードデッドラインをＰＴＳ（ＤＳｎ［Ｓ−ＯＤＳｓｆｉｒｓｔ］）とすると、ＰＴＳ（ＤＳｎ［ＩＣＳ］）は、ＰＴＳ（ＤＳｎ［Ｓ−ＯＤＳｓｆｉｒｓｔ］）に、グラフィクスプレーンのクリアに要する時間（２）、ＯＤＳのデコードにより得られたグラフィクスオブジェクトをグラフィクスプレーンに書き込む書込時間（３）を足した値になる。
【００８５】
グラフィックプレーン内において描画可能な矩形領域の横幅をｖｉｄｅｏ＿ｗｉｄｔｈ，縦幅をｖｉｄｅｏ＿ｈｅｉｇｈｔとし、グラフィックプレーンへの書込レートを１２８Ｍｂｐｓとすると、グラフィックプレーンのクリアに要する時間は、８×ｖｉｄｅｏ＿ｗｉｄｔｈ×ｖｉｄｅｏ＿ｈｅｉｇｈｔ／／１２８，０００，０００と表現される。これを９０ＫＨｚの時間精度で表現すれば、グラフィックプレーンのクリア時間（２）は９０，０００×（８×ｖｉｄｅｏ＿ｗｉｄｔｈ×ｖｉｄｅｏ＿ｈｅｉｇｈｔ／／１２８，０００，０００）になる。
【００８６】
ＩＣＳに含まれる全ボタン情報により、指定されるグラフィックオブジェクトの総サイズをΣＳＩＺＥ（ＤＳｎ［ＩＣＳ．ＢＵＴＴＯＮ［ｉ］］とし、グラフィックプレーンへの書込レートを１２８Ｍｂｐｓとすると、グラフィックプレーンへの書き込みに要する時間は、ΣＳＩＺＥ（ＤＳｎ［ＩＣＳ．ＢＵＴＴＯＮ［ｉ］］）／／１２８，０００，０００と表現される。これを９０ＫＨｚの時間精度で表現すれば、グラフィックプレーンのクリア時間（３）は９０，０００×（ΣＳＩＺＥ（ＤＳｎ［ＩＣＳ．ＢＵＴＴＯＮ［ｉ］］）／／１２８，０００，０００）になる。
【００８７】
以上の数式を用いることにより、ＰＴＳ（ＤＳｎ［ＩＣＳ］）は、以下の数式のように表現される。
PTS(DSn[ICS])≧PTS(DSn[S-ODSsfirst])
+90,000×(8×video_width×video_height//128,000,000)
+90,000×(ΣSIZE(DSn[ICS.BUTTON[i]])//128,000,000)
尚、本式は、ＩＣＳにおけるｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが有効である場合の算出式に過ぎない。ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが無効である場合の算出式は、以下の通りになる。
【００８８】
PTS(DSn[ICS])≧PTS(DSn[S-ODSslast])
+90,000×(8×video_width×video_height//128,000,000)
+90,000×(ΣSIZE(DSn[ICS.BUTTON[i]])//128,000,000)
以上のようにしてＰＴＳ、ＤＴＳを設定することにより、同期表示を実現する場合の一例を図２２に示す。本図において動画における任意のピクチャデータｐｙ１の表示タイミングで、ボタンを表示させる場合を想定する。この場合、ＩＣＳのＰＴＳ値は、このピクチャデータの表示時点になるよう設定せねばならない。尚ＩＣＳのＤＴＳは、ＰＴＳにより示される時刻より前の時刻を示すよう設定される。
【００８９】
そしてＩＣＳのＰＴＳから、画面のクリア期間ｃｄ１、グラフィクスオブジェクトの転送期間ｔｄ１を差し引いた時刻に、ＤＳｎの初期表示を構成するＯＤＳのうち、デコード時刻が最も遅いＯＤＳのデコードが完了せねばならないから、図中の時点（★１）に、ＯＤＳのＰＴＳ値が設定しなければならない。更に、ＯＤＳのデコードには期間ｄｄ１を要するから、このＰＴＳより期間ｄｄ１だけ早い時点に、このＯＤＳのＤＴＳ値を設定せねばならない。
【００９０】
図２２において、動画と合成されるＯＤＳは１つだけであり、単純化されたケースを想定している。動画と合成されるべき対話画面の初期表示が、複数のＯＤＳで実現される場合、ＩＣＳのＰＴＳ及びＤＴＳ、ＯＤＳのＰＴＳ、ＤＴＳは図２３のように設定せねばならない。
図２３は、対話画面の初期表示が複数ＯＤＳにて構成され、デフォルトセレクテッドボタンが確定している場合のＤＴＳ、ＰＴＳの設定を示す図である。初期表示を実現するＯＤＳのうち、デコードが最も遅いＳ−ＯＤＳｓｆｉｒｓｔのデコードが図中の期間ｄｄ１の経過時に終了するなら、このＳ−ＯＤＳｓｆｉｒｓｔのＰＴＳ（ＤＳｎ［Ｓ−ＯＤＳｓｆｉｒｓｔ］）は、期間ｄｄ１の経過時を示すよう設定される。
更に、初期表示の実現には、画面クリアを行い、デコードされたグラフィクスオブジェクトを転送せねばならないから、このＰＴＳ（ＤＳｎ［Ｓ−ＯＤＳｓｆｉｒｓｔ］）の値に画面クリアに要する期間（９０，０００×（８×ｖｉｄｅｏ＿ｗｉｄｔｈ×ｖｉｄｅｏ＿ｈｅｉｇｈｔ／／１２８，０００，０００））、デコードされたグラフィクスオブジェクトの転送期間（９０，０００×（ΣＳＩＺＥ（ＤＳｎ［ＩＣＳ．ＢＵＴＴＯＮ［ｉ］］）／／１２８，０００，０００））を足した時点以降を、ＩＣＳのＰＴＳ（ＤＳｎ［ＩＣＳ］）として設定せねばならない。
【００９１】
図２４は、対話画面の初期表示が複数ＯＤＳにて構成され、デフォルトセレクテッドボタンが未定である場合のＤＴＳ、ＰＴＳの設定を示す図である。初期表示を実現するＳ−ＯＤＳｓのうち、デコードが最も遅いＳ−ＯＤＳｓｌａｓｔのデコードが図中の期間ｄｄ２の経過時に終了するなら、このＳ−ＯＤＳｓｌａｓｔのＰＴＳ（ＤＳｎ［Ｓ−ＯＤＳｓｌａｓｔ］）は、期間ｄｄ２の経過時を示すように設定される。
【００９２】
更に、初期表示の実現には、画面クリアを行い、デコードされたグラフィクスオブジェクトを転送せねばならないから、このＰＴＳ（ＤＳｎ［Ｓ−ＯＤＳｓｌａｓｔ］）の値に画面クリアに要する期間（９０，０００×（８×ｖｉｄｅｏ＿ｗｉｄｔｈ×ｖｉｄｅｏ＿ｈｅｉｇｈｔ／／１２８，０００，０００））、デコードされたグラフィクスオブジェクトの転送期間（９０，０００×（ΣＳＩＺＥ（ＤＳｎ［ＩＣＳ．ＢＵＴＴＯＮ［ｉ］］）／／１２８，０００，０００））を足した時点以降を、ＩＣＳのＰＴＳ（ＤＳｎ［ＩＣＳ］）として設定せねばならない。以上がＩＣＳによる同期制御である。
【００９３】
ＤＶＤにおいて、対話制御が有効になる期間は、そのビデオストリームのＧＯＰにあたるＶＯＢＵの期間であったが、ＢＤ−ＲＯＭでは、Ｅｐｏｃｈに含まれるＩＣＳのＰＴＳ、ＤＴＳによりこの有効期間を任意に設定し得る。このためＢＤ−ＲＯＭにおける対話制御は、ＧＯＰとの依存性をもたない。
尚、ＩＣＳのＰＴＳによる同期制御は、再生時間軸上のあるタイミングでボタンを表示するという制御のみならず、再生時間軸上のある期間でＰｏｐｕｐメニューの表示を可能とする制御を含む。Ｐｏｐｕｐメニューとは、リモコン４００に設けられたメニューキーの押下でＰｏｐｕｐ表示されるメニューであり、このＰｏｐｕｐ表示が、ＡＶＣｌｉｐにおけるあるピクチャデータの表示タイミングで可能になることも、ＩＣＳのＰＴＳによる同期制御である。Ｐｏｐｕｐメニューを構成するＯＤＳは、ボタンを構成するＯＤＳと同様、ＯＤＳのデコードが完了し、デコードにより得られたグラフィックオブジェクトがグラフィックプレーンに書き込まれる。このグラフィックプレーンへの書き込みが完了していなければ、ユーザからのメニューコールに応ずることはできない。そこでＰｏｐｕｐメニューの同期表示にあたって、ＩＣＳのＰＴＳに、Ｐｏｐｕｐ表示が可能になる時刻を示しておくのである。
【００９４】
以上が本発明に係る記録媒体の実施形態である。続いて本発明に係る再生装置の実施形態について説明する。図２５は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムＬＳＩと、ドライブ装置、マイコンシステムという３つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムＬＳＩは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、ＢＤドライブ１、トラックバッファ２、ＰＩＤフィルタ３、ＴｒａｎｓｐｏｒｔＢｕｆｆｅｒ４ａ，ｂ，ｃ、周辺回路４ｄ、ビデオデコーダ５、ビデオプレーン６、オーディオデコーダ７、グラフィクスプレーン８、ＣＬＵＴ部９、加算器１０、グラフィクスデコーダ１２、ＣｏｄｅｄＤａｔａバッファ１３、周辺回路１３ａ、Ｓｔｒｅａｍ Ｇｒａｐｈｉｃｓプロセッサ１４、ＯｂｊｅｃｔＢｕｆｆｅｒ１５、Ｃｏｍｐｏｓｉｔｉｏｎバッファ１６、Ｇｒａｐｈｉｃａｌコントローラ１７、ＵＯコントローラ１８、プレーヤレジスタ群１９、制御部２０から構成される。
ＢＤ−ＲＯＭドライブ１は、ＢＤ−ＲＯＭのローディング／リード／イジェクトを行い、ＢＤ−ＲＯＭに対するアクセスを実行する。
【００９５】
トラックバッファ２は、ＦＩＦＯメモリであり、ＢＤ−ＲＯＭから読み出されたＴＳパケットが先入れ先出し式に格納される。
ＰＩＤフィルタ３は、トラックバッファ２から出力される複数ＴＳパケットに対してフィルタリングを施す。ＰＩＤフィルタ３によるフィルタリングは、ＴＳパケットのうち、所望のＰＩＤをもつもののみをＴｒａｎｓｐｏｒｔＢｕｆｆｅｒ４ａ，ｂ，ｃに書き込むことでなされる。ＰＩＤフィルタ３によるフィルタリングでは、バッファリングは必要ではない。従って、ＰＩＤフィルタ３に入力されたＴＳパケットは、時間遅延なく、ＴｒａｎｓｐｏｒｔＢｕｆｆｅｒ４ａ，ｂ，ｃに書き込まれる。
【００９６】
Ｔｒａｎｓｐｏｒｔ Ｂｕｆｆｅｒ４ａ，ｂ，ｃは、ＰＩＤフィルタ３から出力されたＴＳパケットを先入れ先出し式に格納しておくメモリである。
周辺回路４ｄは、Ｔｒａｎｓｐｏｒｔ Ｂｕｆｆｅｒ４ａ，ｂ，ｃから読み出されたＴＳパケットを、機能セグメントに変換する処理を行うワイアロジックである。変換により得られた機能セグメントはＣｏｄｅｄＤａｔａバッファ１３に格納される。
【００９７】
ビデオデコーダ５は、ＰＩＤフィルタ３から出力された複数ＴＳパケットを復号して非圧縮形式のピクチャを得てビデオプレーン６に書き込む。
ビデオプレーン６は、動画用のプレーンである。
オーディオデコーダ７は、ＰＩＤフィルタ３から出力されたＴＳパケットを復号して、非圧縮形式のオーディオデータを出力する。
【００９８】
グラフィクスプレーン８は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
ＣＬＵＴ部９は、グラフィクスプレーン８に格納された非圧縮グラフィクスにおけるインデックスカラーを、ＰＤＳに示されるＹ，Ｃｒ，Ｃｂ値に基づき変換する。
加算器１０は、ＣＬＵＴ部９により色変換された非圧縮グラフィクスに、ＰＤＳに示されるＴ値（透過率）を乗じて、ビデオプレーン６に格納された非圧縮状態のピクチャデータと画素毎に加算し、合成画像を得て出力する。
【００９９】
グラフィクスデコーダ１２は、グラフィクスストリームをデコードして、非圧縮グラフィクスを得て、これをグラフィクスオブジェクトとしてグラフィクスプレーン８に書き込む。グラフィクスストリームのデコードにより、字幕やメニューが画面上に現れることになる。このグラフィクスデコーダ１２は、ＣｏｄｅｄＤａｔａバッファ１３、周辺回路１３ａ、Ｓｔｒｅａｍ Ｇｒａｐｈｉｃｓプロセッサ１４、ＯｂｊｅｃｔＢｕｆｆｅｒ１５、Ｃｏｍｐｏｓｉｔｉｏｎバッファ１６、Ｇｒａｐｈｉｃａｌコントローラ１７から構成される。
【０１００】
Ｃｏｄｅ Ｄａｔａ Ｂｕｆｆｅｒ１３は、機能セグメントがＤＴＳ、ＰＴＳと共に格納されるバッファである。かかる機能セグメントは、Ｔｒａｎｓｐｏｒｔ Ｂｕｆｆｅｒ４ａ，ｂ，ｃに格納されたトランスポートストリームの各ＴＳパケットから、ＴＳパケットヘッダ、ＰＥＳパケットヘッダを取り除き、ペイロードをシーケンシャルに配列することにより得られたものである。取り除かれたＴＳパケットヘッダ、ＰＥＳパケットヘッダのうち、ＰＴＳ／ＤＴＳは、ＰＥＳパケットと対応付けて格納される。
【０１０１】
周辺回路１３ａは、Ｃｏｄｅｄ Ｄａｔａバッファ１３−ＳｔｒｅａｍＧｒａｐｈｉｃｓプロセッサ１４間の転送、Ｃｏｄｅｄ Ｄａｔａバッファ１３−Ｃｏｍｐｏｓｉｔｉｏｎバッファ１６間の転送を実現するワイヤロジックである。この転送処理において現在時点がＯＤＳのＤＴＳに示される時刻になれば、ＯＤＳを、ＣｏｄｅｄＤａｔａバッファ１３からＳｔｒｅａｍ Ｇｒａｐｈｉｃｓプロセッサ１４に転送する。また現在時刻がＩＣＳ、ＰＤＳのＤＴＳに示される時刻になれば、ＩＣＳ、ＰＤＳをＣｏｍｐｏｓｉｔｉｏｎバッファ１６に転送するという処理を行う。
【０１０２】
Ｓｔｒｅａｍ Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｏｒ１４は、ＯＤＳをデコードして、デコードにより得られたインデックスカラーからなる非圧縮状態の非圧縮グラフィクスをグラフィクスオブジェクトとしてＯｂｊｅｃｔＢｕｆｆｅｒ１５に書き込む。このＳｔｒｅａｍ Ｇｒａｐｈｉｃｓプロセッサ１４によるデコードは、ＯＤＳに関連付けられたＤＴＳの時刻に開始し、ＯＤＳに関連付けられたＰＴＳに示されるデコードデッドラインまでに終了する。上述したグラフィックオブジェクトのデコードレートＲｄは、このＳｔｒｅａｍＧｒａｐｈｉｃｓプロセッサ１４の出力レートである。
【０１０３】
Ｏｂｊｅｃｔ Ｂｕｆｆｅｒ１５には、ＳｔｒｅａｍＧｒａｐｈｉｃｓプロセッサ１４のデコードにより得られたグラフィクスオブジェクトが配置される。
Ｃｏｍｐｏｓｉｔｉｏｎバッファ１６は、ＩＣＳ、ＰＤＳが配置されるメモリである。
Ｇｒａｐｈｉｃａｌコントローラ１７は、Ｃｏｍｐｏｓｉｔｉｏｎバッファ１６に配置されたＩＣＳを解読して、ＩＣＳに基づく制御をする。この制御の実行タイミングは、ＩＣＳに付加されたＰＴＳの値に基づく。
【０１０４】
ＵＯコントローラ１８は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報（以降ＵＯ（ＵｓｅｒＯｐｅｒａｔｉｏｎ）という）を制御部２０に出力する。
プレーヤレジスタ群１９は、制御部２０に内蔵されるレジスタであり、３２個のＰｌａｙｅｒＳｔａｔｕｓ Ｒｅｇｉｓｔｅｒと、３２個のＧｅｎｅｒａｌ Ｐｕｒｐｐｏｓｅ Ｒｅｇｉｓｔｅｒとからなる。Ｐｌａｙｅｒ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒの設定値（ＰＳＲ）がどのような意味をもつかは、以下に示す通りである。以下のＰＳＲ（ｘ）という表記は、ｘ番目のＰｌａｙｅｒＳｔａｔｕｓ Ｒｅｇｉｓｔｅｒの設定値を意味する。
ＰＳＲ（０） ： Ｒｅｓｅｒｖｅｄ
ＰＳＲ（１） ： デコード対象たるオーディオストリームのストリーム番号
ＰＳＲ（２） ： デコード対象たる副映像ストリームのストリーム番号
ＰＳＲ（３） ： ユーザによるアングル設定を示す番号
ＰＳＲ（４） ： 現在再生対象とされているタイトルの番号
ＰＳＲ（５） ： 現在再生対象とされているＣｈａｐｔｅｒの番号
ＰＳＲ（６） ： 現在再生対象とされているＰＬの番号
ＰＳＲ（７） ： 現在再生対象とされているＰｌａｙＩｔｅｍの番号
ＰＳＲ（８） ： 現在の再生時点を示す時刻情報
ＰＳＲ（９） ： ナビゲーションタイマのカウント値
ＰＳＲ（１０） ： 現在セレクテッド状態にあるボタンの番号
ＰＳＲ（１１）〜（１２）： Ｒｅｓｅｒｖｅｄ
ＰＳＲ（１３） ： ユーザによるパレンタルレベルの設定
ＰＳＲ（１４） ： 再生装置の映像再生に関する設定
ＰＳＲ（１５） ： 再生装置の音声再生に関する設定
ＰＳＲ（１６） ： 再生装置における音声設定を示す言語コード
ＰＳＲ（１７） ： 再生装置における字幕設定を示す言語コード
ＰＳＲ（１８） ： メニュー描画のための言語設定
ＰＳＲ（１９）〜（６３）： Ｒｅｓｅｒｖｅｄ
ＰＳＲ（８）は、ＡＶＣｌｉｐに属する各ピクチャデータが表示される度に更新される。つまり再生装置が新たなピクチャデータを表示させれば、その新たなピクチャデータの表示開始時刻（ＰｒｅｓｅｎｔａｔｉｏｎＴｉｍｅ）を示す値にＰＳＲ（８）は更新される。このＰＳＲ（８）を参照すれば、現在の再生時点を知得することができる。
【０１０５】
制御部２０は、グラフィクスデコーダ１２との双方向のやりとりを通じて、統合制御を行う。制御部２０からグラフィクスデコーダ１２へのやりとりとは、ＵＯコントローラ１８が受け付けたＵＯを、グラフィクスデコーダ１２に出力することである。グラフィクスデコーダ１２から制御部２０へのやりとりとは、ＩＣＳに含まれるボタンコマンドを制御部２０に出力することである。
【０１０６】
以上のように構成された再生装置において、各構成要素はパイプライン式にデコード処理を行う。
図２６は、ＯＤＳのデコードがどのように行われるかの時間的遷移を示すタイミングチャートである。ＯＤＳのデコードがどのように行われるかの時間的遷移を示すタイミングチャートである。第４段目は、ＢＤ−ＲＯＭにおけるＤｉｓｐｌａｙＳｅｔを示し、第３段目は、Ｃｏｄｅｄ Ｄａｔａバッファ１３へのＩＣＳ、ＰＤＳ、ＯＤＳの読出期間を示す。第２段目は、ＳｔｒｅａｍＧｒａｐｈｉｃｓプロセッサ１４による各ＯＤＳのデコード期間を示す。第１段目は、Ｇｒａｐｈｉｃａｌコントローラ１７による処理期間を示す。各ＯＤＳのデコード開始時刻は、図中のＤＴＳ１１，ＤＴＳ１２，ＤＴＳ１３に示されている。デコード開始時刻がＤＴＳに規定されているので、各ＯＤＳは、自身のＤＴＳに示される時刻までにＣｏｄｅｄＤａｔａバッファ１３に読み出されなければならない。そのためＯＤＳ１の読み出しは、Ｃｏｄｅｄ Ｄａｔａバッファ１３へのＯＤＳ１のデコード期間ｄｐ１の直前までに完了している。Ｃｏｄｅｄ Ｄａｔａバッファ１３へのＯＤＳｎの読み出しは、ＯＤＳ２のデコード期間ｄｐ２の直前までに完了している。
【０１０７】
一方、各ＯＤＳのデコードデッドラインは、図中のＰＴＳ１１，ＰＴＳ１２，ＰＴＳ１３に示されている。ＳｔｒｅａｍＧｒａｐｈｉｃｓプロセッサ１４によるＯＤＳ１のデコードはＰＴＳ１１までに完了し、ＯＤＳｎのデコードは、ＰＴＳ１２に示される時刻までに完了する。以上のように、各ＯＤＳのＤＴＳに示される時刻までに、ＯＤＳをＣｏｄｅｄＤａｔａバッファ１３に読み出し、Ｃｏｄｅｄ Ｄａｔａバッファ１３に読み出されたＯＤＳを、各ＯＤＳのＰＴＳに示される時刻までに、デコードしてＯｂｊｅｃｔＢｕｆｆｅｒ１５に書き込む。これらの処理を、１つのＳｔｒｅａｍ Ｇｒａｐｈｉｃｓプロセッサ１４は、パイプライン式に行う。
【０１０８】
デフォルトセレクテッドボタンが確定している場合、対話画面の初期表示に必要なグラフィクスオブジェクトがＯｂｊｅｃｔＢｕｆｆｅｒ１５上で全て揃うのは、ノーマル状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループ、セレクテッド状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループの先頭ＯＤＳのデコードが完了した時点である。本図でいえば、ＰＴＳ１３に示される時点で、対話画面の初期表示に必要なグラフィクスオブジェクトは全て揃う。
【０１０９】
本図の第１段目における期間ｃｄ１は、Ｇｒａｐｈｉｃａｌコントローラ１７がグラフィクスプレーン８をクリアするのに要する期間である。また期間ｔｄ１は、ＯｂｊｅｃｔＢｕｆｆｅｒ１５上にえられたグラフィクスオブジェクトを、グラフィクスプレーン８に書き込むのに要する期間である。グラフィクスプレーン８における書込先は、ＩＣＳにおけるｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されている場所である。つまりＯＤＳのＰＴＳ１３の値に、画面クリアの期間ｃｄ１と、デコードにより得られたグラフィクスオブジェクトの書込期間ｔｄ１とを足し合わせれば、対話画面を構成する非圧縮グラフィクスがグラフィクスプレーン８上に得られることになる。この非圧縮グラフィクスの色変換をＣＬＵＴ部９に行わせ、ビデオプレーン６に格納されている非圧縮ピクチャとの合成を加算器１０に行わせれば、合成画像が得られることになる。
【０１１０】
Ｄｉｓｐｌａｙ Ｓｅｔに含まれる全てのＯＤＳをデコードした上で初期表示を行う場合と比較すると、セレクテッド状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループ、アクティブ状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループのデコード完了を待つことなく、初期表示は可能になるので、図中の期間ｈｙ１だけ、初期表示の実行は早められることになる。
【０１１１】
尚、本図におけるＯＤＳ１〜ＯＤＳｎという表記は、「１」，「ｎ」というような同じ番号が付されているが、これらＮ−ＯＤＳｓ，Ｓ−ＯＤＳｓ，Ａ−ＯＤＳｓに属するＯＤＳは別々のものである。以降、同様の表記の図は同じ意味であるとする。
グラフィクスデコーダ１２において、Ｇｒａｐｈｉｃａｌコントローラ１７がグラフィクスプレーン８のクリアやグラフィクスプレーン８への書き込みを実行している間においても、ＳｔｒｅａｍＧｒａｐｈｉｃｓプロセッサ１４のデコードは継続して行われる（第２段目のＯＤＳｎのデコード期間，ＯＤＳ１のデコード期間，ＯＤＳｎのデコード期間ｎ，）。Ｇｒａｐｈｉｃａｌコントローラ１７によるグラフィクスプレーン８のクリアやグラフィクスプレーン８への書き込みが行われている間に、残りのＯＤＳに対するデコードは、継続してなされるので、残りのＯＤＳのデコードは早く完了する。残りのＯＤＳのデコードが早く完了することにより対話画面を更新するための準備は早く整うので、これら残りのＯＤＳを用いた対話画面更新も、ユーザ操作に即応することができる。以上のようなパイプライン処理により、対話画面の初期表示、更新の双方を迅速に実施することができる。
【０１１２】
図２６ではデフォルトセレクテッドボタンが確定している場合を想定したが、図２７は、デフォルトセレクテッドボタンが未確定である場合の、再生装置によるパイプライン処理を示すタイミングチャートである。デフォルトセレクテッドボタンが未確定している場合、ｂｕｔｔｏｎ−ｓｔａｔｅグループに属する全てのＯＤＳをデコードして、グラフィクスオブジェクトをグラフィクスプレーン８に得れば、初期表示に必要なグラフィクスオブジェクトは全て揃う。ＤｉｓｐｌａｙＳｅｔに含まれる全てのＯＤＳをデコードした上で初期表示を行う場合と比較すると、アクティブ状態に対応するｂｕｔｔｏｎ−ｓｔａｔｅグループのデコード完了を待つことなく、初期表示は可能になる。そのため図中の期間ｈｙ２だけ、初期表示の実行は早められることになる。
【０１１３】
以上が再生装置の内部構成である。続いて制御部２０及びグラフィクスデコーダ１２を、どのようにして実装するかについて説明する。制御部２０は、図２８、図２９の処理手順を行うプログラムを作成し、汎用ＣＰＵに実行させることにより実装可能である。以降、図２８、図２９を参照しながら、制御部２０の処理手順について説明する。
図２８は、制御部２０によるＬｉｎｋＰＬ関数の実行手順を示すフローチャートである。ＬｉｎｋＰＬ関数を含むコマンドの解読時において、制御部２０は本図のフローチャートに従って、処理を行う。
【０１１４】
本フローチャートにおいて処理対象たるＰｌａｙＩｔｅｍをＰＩｙ、処理対象たるＡＣＣＥＳＳＵＮＩＴをＡＣＣＥＳＳ ＵＮＩＴｖとする。本フローチャートは、ＬｉｎｋＰＬの引数で指定されたカレントＰＬ情報（．ｍｐｌｓ）の読み込みを行い（ステップＳ１）、カレントＰＬ情報の先頭のＰＩ情報をＰＩｙにする（ステップＳ２）。そしてＰＩｙのＣｌｉｐ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅで指定されるＣｌｉｐ情報を読み込む（ステップＳ３）。
【０１１５】
Ｃｌｉｐ情報を読み込めば、カレントＣｌｉｐ情報のＥＰ＿ｍａｐを用いてＰＩｙのＩＮ＿ｔｉｍｅを、アドレスに変換する（ステップＳ４）。そして変換アドレスにより特定されるＡＣＣＥＳＳＵＮＩＴをＡＣＣＥＳＳ ＵＮＩＴｖにする（ステップＳ５）。一方、ＰＩｙのＯｕｔ＿ｔｉｍｅを，カレントＣｌｉｐ情報のＥＰ＿ｍａｐを用いてアドレスに変換する（ステップＳ６）。そして、その変換アドレスにより特定されるＡＣＣＥＳＳＵＮＩＴをＡＣＣＥＳＳ ＵＮＩＴｗにする（ステップＳ７）。
【０１１６】
こうしてＡＣＣＥＳＳ ＵＮＩＴｖ，ｗが決まれば、ＡＣＣＥＳＳＵＮＩＴｖからＡＣＣＥＳＳ ＵＮＩＴｗまでの読み出しをＢＤドライブに命じ（ステップＳ８）、ＰＩｙのＩＮ＿ｔｉｍｅからＯｕｔ＿ｔｉｍｅまでのデコード出力をビデオデコーダ５、オーディオデコーダ７、グラフィクスデコーダ１２に命じる（ステップＳ９）。
ステップＳ１１は、本フローチャートの終了判定であり、ＰＩｙがＰＩｚになったかを判定している。もしステップＳ１１がＹｅｓなら本フローチャートを終了し、そうでないなら、ＰＩｙを次のＰｌａｙＩｔｅｍに設定して（ステップＳ１２）、ステップＳ３に戻る。以降、ステップＳ１１がＹｅｓと判定されるまで、ステップＳ１〜ステップＳ１０の処理は繰り返される。
【０１１７】
ステップＳ１０は、ＡＣＣＥＳＳ ＵＮＩＴの読み出しにともなって機能セグメントをＣｏｄｅｄＤａｔａバッファ１３にロードするステップである。
図２９は、機能セグメントのロード処理の処理手順を示すフローチャートである。本フローチャートにおいてＳｅｇｍｅｎｔＫとは、ＡＣＣＥＳＳＵＮＩＴと共に読み出されたＳｅｇｍｅｎｔ（ＩＣＳ，ＯＤＳ，ＰＤＳ）のそれぞれを意味する変数であり、無視フラグは、このＳｅｇｍｅｎｔＫを無視するかロードするかを切り換えるフラグである。本フローチャートは、無視フラグを０に初期化した上で、ステップＳ２１〜Ｓ２４、ステップＳ２７〜Ｓ３５の処理を全てのＳｅｇｍｅｎｔＫについて繰り返すループ構造を有している（ステップＳ２５、ステップＳ２６）。
【０１１８】
ステップＳ２１は、ＳｅｇｍｅｎｔＫがＩＣＳであるか否かの判定であり、もしＳｅｇｍｅｎｔＫがＩＣＳであれば、ステップＳ２７、ステップＳ２８の判定を行う。
ステップＳ２７は、ＩＣＳにおけるＳｅｇｍｅｎｔ＿ＴｙｐｅがＡｃｑｕｉｓｉｔｉｏｎＰｏｉｎｔであるか否かの判定である。ＳｅｇｍｅｎｔＫがＡｃｑｕｉｓｉｔｉｏｎ Ｐｏｉｎｔであるなら、ステップＳ２８に移行し、ＳｅｇｍｅｎｔＫがもしＥｐｏｃｈＳｔａｒｔかＮｏｒｍａｌ Ｃａｓｅであるなら、ステップＳ３３に移行する。
【０１１９】
ステップＳ２８は、先行するＤＳがプレーヤ上のＣｏｄｅｄ Ｄａｔａバッファ１３に存在するかどうかの判定であり、ステップＳ２７がＹｅｓである場合に実行される。Ｃｏｄｅｄ Ｄａｔａバッファ１３上にＤＳが存在しないケースとは、頭出しがなされたケースをいう。この場合、Ａｃｑｕｉｓｉｔｉｏｎ ＰｏｉｎｔたるＤＳから、表示を開始せねばならないので、ステップＳ３０に移行する（ステップＳ２８でＮｏ）。
【０１２０】
Ｃｏｄｅｄ Ｄａｔａバッファ１３上に先行するＤＳが存在する場合は（ステップＳ２８でＹｅｓ）、無視フラグを１に設定して（ステップＳ２９）、ステップＳ３１に移行する。
ステップＳ３１は、ｃｏｍｍａｎｄ＿ｕｐｄａｔｅ＿ｆｌａｇが１であるか否かの判定である。もし１であるなら（ステップＳ３１でＹｅｓ）、ボタン情報のボタンコマンドのみをＣｏｄｅｄＤａｔａバッファ１３にロードし、それ以外を無視する（ステップＳ３２）。もし０であるなら、ステップＳ２２に移行する。これによりＡｃｑｕｉｓｉｔｉｏｎＰｏｉｎｔを示すＩＣＳは無視されることになる（ステップＳ２４）。
【０１２１】
無視フラグが１に設定されていれば、Ａｃｑｕｉｓｉｔｉｏｎ ＰｏｉｎｔたるＤＳに属する機能セグメントは全て、ステップＳ２２がＮｏになって、無視されることになる。
ステップＳ３３は、ＩＣＳにおけるＳｅｇｍｅｎｔ＿ＴｙｐｅがＮｏｒｍａｌ Ｃａｓｅであるか否かの判定である。ＳｅｇｍｅｎｔＫがＥｐｏｃｈ Ｓｔａｒｔであるなら、ステップＳ３０において無視フラグを０に設定する。
【０１２２】
無視フラグが０であれば（ステップＳ２２でＹｅｓ）、ＳｅｇｍｅｎｔＫをＣｏｄｅｄ Ｄａｔａバッファ１３にロードし（ステップＳ２３）、ＳｅｇｍｅｎｔＫがもしＥｐｏｃｈ ＳｔａｒｔかＮｏｒｍａｌ Ｃａｓｅであるなら、ステップＳ３４に移行する。ステップＳ３４は、ステップＳ２８と同じであり、先行するＤＳがプレーヤ上のＣｏｄｅｄＤａｔａバッファ１３に存在するかどうかの判定を行う。もし存在するなら、無視フラグを０に設定する（ステップＳ３０）。存在しないなら、無視フラグを１に設定する（ステップＳ３５）。かかるフラグ設定により、先行するＤＳがプレーヤ上のＣｏｄｅｄＤａｔａバッファ１３に存在しない場合、Ｎｏｒｍａｌ Ｃａｓｅを構成する機能セグメントは無視されることになる。
【０１２３】
これらのボタン情報（１）〜（３）のａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇが１に設定されていれば、これら３つのボタンはセレクテッド状態になる代わりにアクティブ状態になり、ボタン情報の内部に含まれるボタンコマンド（ＬｉｎｋＰＬ（ＰＬ＃２１），ＬｉｎｋＰＬ（ＰＬ＃２２），ＬｉｎｋＰＬ（ＰＬ＃２３））が実行される。３つのボタン情報に含まれるボタンコマンドのリンク先ＰＬ＃２１，＃２２，＃２３が、それぞれの選手の打撃シーン、投球シーンであれば、これら打撃シーン、投球シーンは、選手の背番号にあたる数値入力で再生されることになる。背番号という、知名度が高い番号でのダイレクトなボタン選択が可能になるので、ユーザによる操作性は一段と高まる。
【０１２４】
ＤＳが、図３０のように多重化されている場合を想定して、ＤＳの読み出しがどのように行われるかを説明する。図３０の一例では、３つのＤＳが動画と多重化されている。この３つのＤＳのうち、初めのＤＳ１は、Ｓｅｇｍｅｎｔ＿ＴｙｐｅがＥｐｏｃｈ＿Ｓｔａｒｔであり、Ｃｏｍｍａｎｄ＿ｕｐｄａｔｅ＿ｆｌａｇが０に設定され、ＬｉｎｋＰＬ（ＰＬ＃５）というボタンコマンドを含む。
【０１２５】
ＤＳ１０は、ＤＳ１のｄｕｐｌｉｃａｔｅであり、Ｓｅｇｍｅｎｔ＿ＴｙｐｅはＡｃｑｕｉｓｉｏｎＰｏｉｎｔ、Ｃｏｍｍａｎｄ＿ｕｐｄａｔｅ＿ｆｌａｇが０に設定され、ＬｉｎｋＰＬ（ＰＬ＃５）というボタンコマンドを含む。
ＤＳ２０は、ＤＳ１のＩｎｈｅｒｉｔであり、Ｓｅｇｍｅｎｔ＿ＴｙｐｅはＡｃｑｕｉｓｉｏｎＰｏｉｎｔになっている。ＤＳ１から変化があるのはボタンコマンドであり（ＬｉｎｋＰＬ（ＰＬ＃１０））、これを示すべくＣｏｍｍａｎｄ＿ｕｐｄａｔｅ＿ｆｌａｇが１に設定されている。
【０１２６】
かかる３つのＤＳが、動画と多重化されているＡＶＣｌｉｐにおいて、ピクチャデータｐｔ１０からの頭出しが行われたものとする。この場合、頭出し位置に最も近いＤＳ１０が、図２９のフローチャートの対象となる。ステップＳ２７においてｓｅｇｍｅｎｔ＿ｔｙｐｅはＡｃｑｕｉｓｉｔｉｏｎＰｏｉｎｔと判定されるが、先行するＤＳはＣｏｄｅｄ Ｄａｔａバッファ１３上に存在しないため、無視フラグは０に設定され、このＤＳ１０が図３１に示すように再生装置のＣｏｄｅｄＤａｔａバッファ１３にロードされる。一方、頭出し位置がＤｉｓｐｌａｙ Ｓｅｔの存在位置より後である場合は（図３０の破線ｈｓｔ１）、ＤｉｓｐｌａｙＳｅｔ１０に後続するＤｉｓｐｌａｙ Ｓｅｔ２０（図３１のｈｓｔ２）がＣｏｄｅｄ Ｄａｔａバッファ１３に読み出される。
【０１２７】
図３２のように通常再生が行われた場合のＤＳ１，１０，２０のロードは、図３３に示すものとなる。３つのＤＳのうち、ＩＣＳのＳｅｇｍｅｎｔ＿ＴｙｐｅがＥｐｏｃｈＳｔａｒｔであるＤＳ１は、そのままＣｏｄｅｄ Ｄａｔａバッファ１３にロードされるが（ステップＳ２３）、ＩＣＳのＳｅｇｍｅｎｔ＿ＴｙｐｅがＡｃｑｕｉｓｉｔｉｏｎＰｏｉｎｔであるＤＳ１０については、無視フラグが１に設定されるため（ステップＳ２９）、これを構成する機能セグメントはＣｏｄｅｄＤａｔａバッファ１３にロードされず無視される（ステップＳ２４）。またＤＳ２０については、ＩＣＳのＳｅｇｍｅｎｔ＿ＴｙｐｅはＡｃｑｕｉｓｉｔｉｏｎＰｏｉｎｔであるが、Ｃｏｍｍａｎｄ＿ｕｐｄａｔｅ＿ｆｌａｇが１に設定されているので、ステップＳ３１がＹｅｓになり、ボタンコマンドのみがロードされて、ＣｏｄｅｄＤａｔａバッファ１３上のＤＳのうち、ＩＣＳ内のボタンコマンドのみをこれに置き換えられる（ステップＳ３２）。しかし無視フラグは依然として１を示しているので、このボタンコマンド以外は、ロードされることなく無視される。
【０１２８】
ＤＳによる表示内容は同じであるが、ＤＳ２０への到達時には、ボタンコマンドは、ＤＳのＬｉｎｋＰＬ（＃５）からＬｉｎｋＰＬ（＃１０）に置き換えられている。かかる置き換えにより、再生進行に伴い、ボタンコマンドの内容が変化するという制御が可能になる。続いてＧｒａｐｈｉｃａｌコントローラ１７の処理手順について説明する。図３４はＧｒａｐｈｉｃａｌコントローラ１７の処理手順のうち、メインルーチンにあたる処理を描いたフローチャートである。本フローチャートは、タイムスタンプ同期処理（ステップＳ３５）、アニメーション表示処理（ステップＳ３６）、ＵＯ処理（ステップＳ３７）という３つの処理を繰り返し実行するというものである。
【０１２９】
続いてＧｒａｐｈｉｃａｌコントローラ１７の処理手順について説明する。図３４はＧｒａｐｈｉｃａｌコントローラ１７の処理手順のうち、メインルーチンにあたる処理を描いたフローチャートである。本フローチャートは、同期処理（ステップＳ３５）、アニメーション表示処理（ステップＳ３６）、ＵＯ処理（ステップＳ３７）という３つの処理を繰り返し実行するというものである。
【０１３０】
図３５は、タイムスタンプによる同期制御の処理手順を示すフローチャートである。本フローチャートは、ステップＳ４３〜ステップＳ４７の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンするというサブルーチンを構成する。
ステップＳ４３は、現在の再生時点がＯＤＳのＰＴＳに示される時刻であるかの判定であり、もしそうであれば、グラフィクスプレーン８への書き込み処理を行って（ステップＳ５１）、メインルーチンにリターンする。
【０１３１】
ステップＳ４５は、現在の再生時点がＩＣＳのＰＴＳであるかの判定である。もしそうであれば、グラフィクスプレーン８の格納内容の出力を開始させる。この格納内容の出力先は、ＣＬＵＴ部９であり、ＣＬＵＴ部９により色変換がなされた上で、対話画面はビデオプレーン６の格納内容と合成される。これにより初期表示が実行される（ステップＳ５２）。そして変数ｑに１を設定して（ステップＳ５３）、メインルーチンにリターンする。尚、変数ｑはアニメーション表示に用いられるグローバル変数（複数フローチャートにわたって有効になるという意味である）であり、その意味合いについては後述する。
【０１３２】
ステップＳ４６、ステップＳ４７は、ＩＣＳに記述された時間情報に現在の再生時点が到達したかどうかの判定である。
ステップＳ４６は、現在の再生時点がｓｅｌｅｃｔｉｏｎ＿ＴｉｍｅＯｕｔ＿ＰＴＳに示される時刻であるかの判定であり、もしそうであれば、ｄｅｆａｕｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒで指定されるボタンをアクティベートする処理を行い、メインルーチンにリターンする（ステップＳ５４）。
【０１３３】
ステップＳ４７は、現在の再生時点がＣｏｍｐｏｓｉｔｉｏｎ＿ＴｉｍｅＯｕｔ＿ＰＴＳであるかの判定であり、もしそうであれば、画面クリアを行ってメインルーチンにリターンする（ステップＳ５５）。以上がタイムスタンプによる同期処理である。この同期処理において、ステップＳ５１、ステップＳ５４の処理手順は、サブルーチン化されている。ステップＳ５１のサブルーチンの処理手順を、図３６を参照しながら説明する。
【０１３４】
図３６は、グラフィクスプレーン８の書込処理の処理手順を示すフローチャートである。グラフィクスプレーン８への書込は、初期表示に先立ち必要なものである。本フローチャートにおけるＯＤＳｘとは、ＰＳＲ（１０）に示される、現在の再生時点にあたるＰＴＳをもつＯＤＳのことである。ステップＳ６１〜ステップＳ６３は、このＯＤＳが、対話画面の初期表示に必要なＯＤＳのうち、最後のものであるかの判定であり、もし最後のＯＤＳであれば、ステップＳ６４〜ステップＳ７２の処理を実行する。
【０１３５】
ステップＳ６１は、ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒによる指定が有効であるか否かの判定であり、もし有効であるなら、ステップＳ６３においてＯＤＳｘはＳ−ＯＤＳｓｆｉｒｓｔであるかを判定する。ステップＳ６３がＮｏならそのまま本フローチャートを終了してメインルーチンにリターンする。
ステップＳ６１においてＮｏと判定されれば、ステップＳ６２においてＯＤＳｘは，Ｓ−ＯＤＳｓｌａｓｔであるか否かを判定する。ステップＳ６２がＮｏならそのまま本フローチャートを終了してメインルーチンにリターンする。
【０１３６】
ステップＳ６４は、ＩＣＳにおけるＳｅｇｍｅｎｔ＿ｔｙｐｅがＥｐｏｃｈ Ｓｔａｒｔであるか否かの判定であり、もしＥｐｏｃｈ ＳｔａｒｔであればステップＳ６５においてグラフィクスプレーン８をクリアしてから、ステップＳ６６〜ステップＳ７２の処理を行う。グラフィクスプレーン８のクリアに要する期間が、図２３、図２４の期間ｃｄ１である。もしＥｐｏｃｈＳｔａｒｔでなければステップＳ６５をスキップしてステップＳ６６〜ステップＳ７２の処理を行う。
【０１３７】
ステップＳ６６〜ステップＳ７２は、ＩＣＳにおける各ボタン情報について繰り返されるループ処理を形成している（ステップＳ６６、ステップＳ６７）。本ループ処理において処理対象になるべきボタン情報をボタン情報（ｐ）という。ステップＳ６８は、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｐ）はｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒにより指定されたデフォルトセレクテッドボタンに対応するボタン情報であるかの判定である。
【０１３８】
デフォルトセレクテッドボタンに対応するボタン情報でないなら、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｐ）のｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏに指定されているｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌのグラフィクスオブジェクトを、グラフィクスオブジェクト（ｐ）としてＯｂｊｅｃｔＢｕｆｆｅｒ１５から特定する（ステップＳ６９）。
デフォルトセレクテッドボタンに対応するボタン情報であるなら、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｐ）のｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏに指定されているｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄのグラフィクスオブジェクトを、グラフィクスオブジェクト（ｐ）としてＯｂｊｅｃｔＢｕｆｆｅｒ１５から特定して（ステップＳ７０）、ボタン（ｐ）をカレントボタンにする（ステップＳ７１）。カレントボタンとは、現在表示中の対話画面において、セレクテッド状態になっているボタンであり、再生装置はこのカレントボタンの識別子を、ＰＳＲ（１０）として格納している。
【０１３９】
ステップＳ６９、ステップＳ７０を経ることでグラフィクスオブジェクト（ｐ）が特定されれば、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｐ）のｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されるグラフィクスプレーン８上の位置に、グラフィクスオブジェクト（ｐ）を書き込む（ステップＳ７２）。かかる処理をＩＣＳにおける各ボタン情報について繰り返せば、各ボタンの状態を表す複数グラフィクスオブジェクトのうち、最初のグラフィクスオブジェクトがグラフィクスプレーン８上に書き込まれることになる。ＯｂｊｅｃｔＢｕｆｆｅｒ１５上の全てのグラフィクスオブジェクトについて、かかる処理を実行するのに要する期間が、図２３、図２４の期間ｔｄ１である。以上がステップＳ５１の詳細である。続いてステップＳ５４のサブルーチンの処理手順を、図３７を参照しながら説明する。
【０１４０】
図３７は、デフォルトセレクテッドボタンのオートアクティベートの処理手順を示すフローチャートである。先ずｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが０であるか，ＦＦであるかどうかを判定し（ステップＳ９１）、００であれば何の処理も行わずメインルーチンにリターンする。もしｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒがＦＦなら、カレントボタンをボタンｕとする（ステップＳ９５）。
【０１４１】
００でも、ＦＦでもなければ、ｄｅｆａｕｌｔ＿ａｃｔｉｖａｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒで指定されるボタンをボタンｕとし（ステップＳ９２）、ボタンｕをアクティブ状態に遷移する（ステップＳ９３）。この遷移は、ボタンｕのａｃｔｉｖａｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ．におけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄからｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄまでのグラフィクスオブジェクトを、ボタンｕのｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されている位置に書き込むことでなされる。そしてボタンｕに対応するボタンコマンドを実行した後（ステップＳ９４）、メインルーチンにリターンする。
【０１４２】
以上の処理により、セレクテッド状態のボタンは、所定時間の経過時においてアクティブ状態に遷移させられることになる。以上が、図３７のフローチャートの全容である。
続いて、メニューにおけるアニメーション（ステップＳ３６）について説明する。図３８は、アニメーション表示の処理手順を示すフローチャートである。
ここで初期表示は、各ｂｕｔｔｏｎ＿ｉｎｆｏのｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌ、ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄで指定されているグラフィクスオブジェクトを、グラフィクスプレーン８に書き込まれることにより実現した。アニメーションとは、ステップＳ３５〜ステップＳ３７のループ処理が一巡する度に、各ボタンにおける任意のコマ（ｑコマ目にあるグラフィクスオブジェクト）をこのグラフィクスプレーン８に上書する処理である。この更新は、ｂｕｔｔｏｎ＿ｉｎｆｏのｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ、ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏで指定されているグラフィクスオブジェクトを、一枚ずつグラフィクスプレーン８に書き込んでメインルーチンにリターンすることでなされる。ここで変数ｑとは、各ボタン情報のｂｕｔｔｏｎ＿ｉｎｆｏのｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏ、ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏで指定されている個々のグラフィクスオブジェクトを指定するための変数である。
【０１４３】
このアニメーション表示を実現するための処理を、図３８を参照しながら説明する。尚本フローチャートにおいては、各ボタンにおけるアニメーションのコマ数を同じであるとの想定で作図している。これはコマ数がボタン毎に異なると、処理手順が複雑になるため、簡略化したいとの配慮である。また本フローチャートは、記述の簡略化を期するため、ＩＣＳのｒｅｐｅａｔ＿ｎｏｒｍａｌ＿ｆｌａｇ、ｒｅｐｅａｔ＿ｓｅｌｅｃｔｅｄ＿ｆｌａｇが繰り返し要と設定されているとの前提で作図している。
【０１４４】
ステップＳ８０は初期表示が済んでいるか否かの判定であり、もし済んでいなければ何の処理も行わずにリターンする。もし済んでいればステップＳ８１〜ステップＳ９０の処理を実行する。ステップＳ８１〜ステップＳ９０は、ＩＣＳにおける各ｂｕｔｔｏｎ＿ｉｎｆｏについて、ステップＳ８３〜ステップＳ８７の処理を繰り返すというループ処理を構成している（ステップＳ８１、ステップＳ８２）。
【０１４５】
ステップＳ８３は、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｐ）が、カレントボタンに対応するｂｕｔｔｏｎ＿ｉｎｆｏであるか否かの判定である。
カレントボタンに対応するボタンであれば、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｐ）．ｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄに変数ｑを足した識別子をＩＤ（ｑ）とする（ステップＳ８４）。
【０１４６】
カレントボタン以外のボタンならば、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｐ）．ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｅｔｅｄに変数ｑを足した識別子をＩＤ（ｑ）とする（ステップＳ８５）。
そしてＯｂｊｅｃｔ Ｂｕｆｆｅｒ１５に存在する、ＩＤ（ｑ）を有するグラフィクスオブジェクト（ｐ）を、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｐ）のｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されるＧｒａｐｈｉｃｓＰｌａｎｅ８上の位置に書き込む（ステップＳ８７）。以上の処理は、ＩＣＳにおける全てのｂｕｔｔｏｎ＿ｉｎｆｏについて繰り返される（ステップＳ８１、ステップＳ８２）。
【０１４７】
以上のループ処理により、カレントボタンのセレクテッド状態及びその他のボタンのノーマル状態を構成する複数グラフィクスオブジェクトのうち、ｑ枚目のものがグラフィクスプレーン８に書き込まれることになる。
ステップＳ８８は、ｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌがｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌ＋ｑに達したか否かの判定であり、もし達したならｑを０に初期化した後メインルーチンにリターンする（ステップＳ８９）。まだ達しないなら変数ｑをインクリメントした後メインルーチンにリターンする（ステップＳ９０）。
【０１４８】
以上のステップＳ８０〜ステップＳ９０により対話画面における各ボタンの絵柄は、ステップＳ３５〜ステップＳ３７が一巡する度に新たなグラフィクスオブジェクトに更新される。ステップＳ３５〜ステップＳ３７の処理が何度も反復されれば、いわゆるアニメーションが可能になる。アニメーションにあたって、グラフィクスオブジェクト一コマの表示間隔は、ａｎｉｍａｔｉｏｎ＿ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅに示される値になるようにＧｒａｐｈｉｃａｌコントローラ１７は時間調整を行う。このような時間調整を実行するのは、他のフローチャートでも同様である。以上でアニメーション表示処理についての説明を終わる。続いてメインルーチンのステップＳ３７におけるＵＯ処理の処理手順について図３９を参照しながら説明する。
【０１４９】
図３９は、ＵＯ処理の処理手順を示すフローチャートである。本フローチャートは、ステップＳ１００〜ステップＳ１０３の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。ステップＳ１００は、ＵＯｍａｓｋＴａｂｌｅが”１”に設定されているかどうかの判定であり、もしに設定されていれば、何の処理も行わずに、メインルーチンにリターンする。
【０１５０】
ステップＳ１０１は、ＭｏｖｅＵＰ／Ｄｏｗｎ／Ｌｅｆｔ／Ｒｉｇｈｔキーが押下されたかどうかの判定であり、もしこれらのキーが押下されれば、カレントボタンを変更して（ステップＳ１０４）、カレントボタンのａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇが０１かどうかを判定する（ステップＳ１０８）。もし違うならメインルーチンにリターンする。もしそうであるなら、ステップＳ１０５に移行する。
【０１５１】
ステップＳ１０２は、ａｃｔｉｖａｔｅｄキーが押下されたかどうかの判定であり、もしそうであれば、ステップＳ１０５においてカレントボタンをアクティブ状態に遷移する。この状態遷移は、カレントボタンのａｃｔｉｖａｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ．におけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄからｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄまでのグラフィクスオブジェクトを、ＧｒａｐｈｉｃｓＰｌａｎｅ８内のカレントボタンのｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されている位置に書き込むことでなされる。これにより、ボタンで描かれたキャラクタが、ユーザ操作に応じて動くような状態遷移を実現することができる。かかる状態遷移の後、カレントボタンに対応するボタンコマンドを実行する（ステップＳ１０６）。
【０１５２】
ステップＳ１０３は、数値入力であるかどうかの判定であり、もし数値入力であれば、数値入力処理を行って（ステップＳ１０７）、メインルーチンにリターンする。図３９の処理手順のうち、ステップＳ１０４、ステップＳ１０７はサブルーチン化されている。このサブルーチンの処理手順を示したのが図４０、図４１である。以降これらのフローチャートについて説明する。
【０１５３】
図４０は、カレントボタンの変更処理の処理手順を示すフローチャートである。尚本フローチャートにおいては、各ボタンにおけるアニメーションのコマ数を同じであるとの想定で作図している。これはコマ数がボタン毎に異なると、処理手順が複雑になるため、簡略化したいとの配慮である。先ず初めに、カレントボタンのｎｅｉｇｈｂｏｒ＿ｉｎｆｏにおけるｕｐｐｅｒ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ，ｌｏｗｅｒ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ，ｌｅｆｔ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒ，ｒｉｇｈｔ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒのうち、押下されたキーに対応するものを特定する（ステップＳ１１０）。
【０１５４】
そしてカレントボタンをボタンｉとし、新たにカレントボタンになるボタンをボタンｊとする（ステップＳ１１１）。ステップＳ１１２は、ステップＳ１１１で特定されたボタンｊが、ボタンｉと一致しているかどうかの判定である。もし一致していれば、何の処理も行わずにメインルーチンにリターンする。もし一致しなければ、ステップＳ１１３〜ステップＳ１２０の処理を行う。ステップＳ１１３〜ステップＳ１２０の処理は、ボタンｊをセレクテッド状態に遷移させ、ボタンｉをノーマル状態に遷移させるという処理をアニメーションで実現する。アニメーションにおいてまず初めに、変数ｒを０で初期化する。変数ｒは、アニメーションの一コマを示す変数である。このステップＳ１１３〜ステップＳ１１９の処理は、ボタンｉのノーマル状態を示す複数グラフィックオブジェクトのうちｒ枚目のもの、ボタンｊのセレクテッド状態を示す複数グラフィックオブジェクトのうちｒ枚目のものを、グラフィックプレーンに書き込むという処理を、複数グラフィックオブジェクトのそれぞれについて繰り返すものである。
【０１５５】
具体的にいうと、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｉ）．ｎｏｒｍａｌ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌに変数ｒを足すことにより特定される識別子をＩＤ（ｒ）とする（ステップＳ１１４）。このようにしてＩＤ（ｒ）を特定すると、ＯｂｊｅｃｔＢｕｆｆｅｒ１５においてＩＤ（ｒ）を有するグラフィックオブジェクトを、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｉ）のｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されるＧｒａｐｈｉｃｓＰｌａｎｅ８上の位置に書き込む（ステップＳ１１５）。
【０１５６】
ｂｕｔｔｏｎ＿ｉｎｆｏ（ｊ）．ｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏにおけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄに変数ｒを足すことにより特定される識別子をＩＤ（ｒ）とする（ステップＳ１１６）。このようにしてＩＤ（ｒ）を特定すると、ＯｂｊｅｃｔＢｕｆｆｅｒ１５においてＩＤ（ｒ）を有するグラフィックオブジェクトを、ｂｕｔｔｏｎ＿ｉｎｆｏ（ｊ）のｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されるＧｒａｐｈｉｃｓＰｌａｎｅ８上の位置に書き込む（ステップＳ１１７）。
【０１５７】
ステップＳ１１８は、ｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌに変数ｒを足した識別子がｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｎｏｒｍａｌに一致するかの判定であり、一致しなければ、変数ｒをインクリメントして（ステップＳ１２０）、ステップＳ１１４に戻る。ステップＳ１１４〜ステップＳ１２０の処理は、ステップＳ１１８がＹｅｓと判定されるまで繰り返される。この繰り返しにより、ボタンで描かれたキャラクタが、ユーザ操作に応じて動くような状態遷移を実現することができる。この繰り返しにおいてステップＳ１１８がＹｅｓと判定されれば、ボタンｊをカレントボタンにして（ステップＳ１１９）メインルーチンにリターンする。
【０１５８】
図４１は、数値入力処理の処理手順を示すフローチャートである。入力された数値に合致するｂｕｔｔｏｎ＿ｎｕｍｂｅｒを有したＢｕｔｔｏｎｉｎｆｏ．ｊが存在するかどうかの判定を行い（ステップＳ１２１）、Ｂｕｔｔｏｎ ｉｎｆｏ．ｊにおけるｎｕｍｅｒｉｃａｌｌｙ＿ｓｅｌｅｃｔａｂｌｅ＿ｆｌａｇは１であるかどうかの判定を行う（ステップＳ１２２）。ステップＳ１２１及びステップＳ１２２がＹｅｓなら、Ｂｕｔｔｏｎｉｎｆｏ．ｊのａｕｔｏ＿ａｃｔｉｏｎ＿ｆｌａｇは０１であるかを判定する（ステップＳ１２３）。
【０１５９】
０１でないなら、ボタンｊのｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ．におけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄからｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ｓｅｌｅｃｔｅｄまでのグラフィクスオブジェクトを、ボタンｊのｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されている位置に書き込む（ステップＳ１２４）。これにより、ボタンｊをセレクテッド状態に遷移させる。その後、ボタンｊをカレントボタンにして（ステップＳ１２５）メインルーチンにリターンする。
【０１６０】
０１であるなら、ステップＳ１２６においてカレントボタンをアクティブ状態に遷移する。この状態遷移は、カレントボタンのａｃｔｉｖａｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ．におけるｓｔａｒｔ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄからｅｎｄ＿ｏｂｊｅｃｔ＿ｉｄ＿ａｃｔｉｖａｔｅｄまでのグラフィクスオブジェクトを、ＧｒａｐｈｉｃｓＰｌａｎｅ８内のカレントボタンのｂｕｔｔｏｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｐｏｓｉｔｉｏｎ，ｂｕｔｔｏｎ＿ｖｅｒｔｉｃａｌ＿ｐｏｓｉｔｉｏｎに示されている位置に書き込むことでなされる。その後、ステップＳ１２７においてボタンｊに対応するボタンコマンドを実行してメインルーチンにリターンする。
【０１６１】
ステップＳ１２１〜Ｓ１２３のどちらかがＮｏなら、そのままメインルーチンにリターンする。
以上が同期表示を行う場合のＧｒａｐｈｉｃａｌコントローラ１７の処理手順である。Ｐｏｐｕｐ表示のように、ユーザ操作をトリガとした対話画面表示を行う場合、ＳｔｒｅａｍＧｒａｐｈｉｃｓプロセッサ１４、Ｇｒａｐｈｉｃａｌコントローラ１７は以下のような処理を行う。つまり、同期表示の場合と同様の処理を行う。これにより、グラフィクスプレーン８にはグラフィックオブジェクトが得られる。このようにグラフィックオブジェクトを得た後、現在の再生時点が、ＩＣＳに付加されたＰＴＳに示される時点を経過するのを待つ。そしてこの再生時点の経過後、ＵＯコントローラ１８がメニューコールを示すＵＯを受け付ければ、グラフィクスプレーン８に格納されたグラフィックオブジェクトを合成させるよう、ＣＬＵＴ部９に出力する。ＵＯに同期して、かかる出力を行えば、メニューコールの押下に応じたＰｏｐｕｐ表示を実現することができる。
【０１６２】
以上のように本実施形態によれば、ＩＣＳ，ＯＤＳから構成されるＥｐｏｃｈをＡＶＣｌｉｐに組み込んでおくので、ある動画の一コマが画面に現れたタイミングに、特定の処理を再生装置に実行させるという対話制御、つまり動画内容と緻密に同期した対話制御の記述に便利である。またＥｐｏｃｈは、ＡＶＣｌｉｐ自身に多重化されているので、再生制御を行いたい区間が数百個であっても、それらに対応するＥｐｏｃｈの全てをメモリに格納しておく必要はない。Ｅｐｏｃｈはビデオパケットと共にＢＤ−ＲＯＭから読み出されるので、現在再生すべき動画区間に対応するＩＣＳをメモリに常駐させ、この動画区間の再生が終われば、そのＥｐｏｃｈをメモリから削除して、次の動画区間に対応するＩＣＳをメモリに格納すればよい。Ｅｐｏｃｈは、ＡＶＣｌｉｐに多重化されるので、たとえＥｐｏｃｈの数が数百個になってもメモリの搭載量を必要最低限にすることができる。
（第２実施形態）
第２実施形態は、ボタンの状態がセレクテッド状態、アクティブ状態に変化した際、この変化に伴いクリック音を発音させる改良に関する。例えば図１６、図１７のようなボタン、つまり、映画作品のキャラクターを象徴するようなボタンが操作対象である場合、それらボタンの状態変化時に、キャラクタの音声をクリック音として再生させることができれば、ユーザは、自分がどのボタンを操作しているかを直感的に知ることができる。こうすることにより、ユーザに対するボタン操作の認知度は高まる。ボタン毎のクリック音を発音させるにあたって、問題になるのが主音声との併存である。ここでの主音声とは、映画作品における登場人物の台詞やＢＧＭのことである。主音声たるオーディオストリームは、ビデオストリーム、グラフィクスストリームと多重されてＡＶＣｌｉｐを構成しているので、オーディオデコーダ７はこれのデコードを行う。しかしクリック音を再生しようとすると、主音声を消してクリック音を再生するという制御が必要になる。この際、オーディオデコーダ７の動作を止める必要があるが、この動作停止により、再生の途切れ音が出力される恐れがあり望ましくない。
【０１６３】
かかる途切れ音の発生を防止するべく、再生装置は図４２に示すような内部構成を有する。本図の内部構成図は、図２５に示した内部構成にプリロードメモリ２１、ミキシング部２２を新規に設けたものである。
プリロードメモリ２１は、クリック音として発音すべき非圧縮ＬＰＣＭデータを予め格納しているメモリである。
【０１６４】
ミキシング部２２は、プリロードメモリ２１に格納されている非圧縮ＬＰＣＭデータをオーディオデコーダ７の再生出力にミキシングする。このミキシングにあたっての混合比率は、グラフィクスデコーダ１２内のＧｒａｐｈｉｃａｌコントローラ１７（図２５参照）からの指示に従う。かかるミキシングパラメータでクリック音を発音させるので、オーディオデコーダ７のデコード出力を止めなくても、クリック音を発音させることができる。
以上が第２実施形態に係る再生装置の内部構成である。
【０１６５】
以上のような併存を実現するには、ＢＤ−ＲＯＭに記録された非圧縮ＬＰＣＭデータを予めＢＤ−ＲＯＭからプリロードメモリ２１にロードしておかねばならない。だが非圧縮ＬＰＣＭデータは、データサイズが大きい。サンプリング周波数が４８ＫＨｚ、量子化ビット数が１６ビットのＬＰＣＭ形式のオーディオデータは、１０秒足らずの短いものでも、そのサイズは１メガバイトになる。
【０１６６】
プリロードメモリ２１の規模を小さくしたいとの要望に応えるべく、本実施形態に係るＩＣＳは、図４３のデータ構造を有する。図４３は、かかるクリック音の発音を実現する場合のＩＣＳのデータ構造を示す図である。本図のＩＣＳが図１１に示したものと異なるのは、ｂｕｔｔｏｎ＿ｉｎｆｏのｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ（）、ａｃｔｉｏｎｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ（）に『オーディオ指定情報』、『発音制御情報』が備えられている点である。
【０１６７】
『オーディオ指定情報』は、ｂｕｔｔｏｎ＿ｉｎｆｏに対応するボタンの状態が変化した際、再生装置に読み出させ、クリック音として再生させるべきオーディオ指定情報をファイル名又は識別子で示す。プリロードメモリ２１に読み出されるクリック音データは、ＩＣＳのｂｕｔｔｏｎ＿ｉｎｆｏのｓｅｌｅｃｔｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ（）、ａｃｔｉｏｎｅｄ＿ｓｔａｔｅ＿ｉｎｆｏ（）により指定されたものである。かかるプリロードメモリ２１に読み出されたクリック音データはミキシング部２２に供される。
【０１６８】
『発音制御情報』は、複数のミキシングパラメータからなる。各ミキシングパラメータは、オーディオデータの各成分をどれだけの比率で主音声に混合するかを示す。ミキシングパラメータは０〜１．０の値をとり、クリック音データの発音時において、クリック音データの再生出力時には、このミキシングパラメータに示される値が乗じられる。ここでオーディオデータにＲ成分、Ｌ成分がある場合、発音制御情報は、Ｌ成分のミキシングパラメータ、Ｒ成分のミキシングパラメータを備え、これらの混合比に示されるミキシングをミキシング部２２に命じる。
【０１６９】
このような発音制御情報が設けられたことにより、非圧縮ＬＰＣＭデータのＬ成分がボタンＡのクリック音、Ｒ成分がボタンＢのクリック音というように、２つのボタンについてのクリック音を１つにまとめることができる。
かかる統合を行いつつも、Ｌ成分のみの出力を行うよう規定した発音制御情報をボタン情報（１）に組み込み、Ｒ成分のみの出力を行うよう規定した発音制御情報をボタン情報（２）に組み込んでおけば、ボタンＡがセレクテッド状態に遷移したタイミングで、ボタン情報（１）の発音制御情報に基づき、非圧縮ＬＰＣＭデータのＬ成分の再生を開始させることにより、ボタンＡ用のクリック音を発音させることができる。
【０１７０】
またボタンＢがセレクテッド状態に遷移したタイミングで、ボタン情報（２）の発音制御情報に基づき、非圧縮ＬＰＣＭデータのＲ成分の再生を開始させることにより、ボタンＢ用のクリック音を発音させることができる。
以上のように構成されたＩＣＳ、再生装置によりクリック音の発音がどのように行われるかの具体例を、図４４、図４５を参照しながら説明する。本具体例は、図４４（ａ）（ｂ）のような状態制御情報を想定している。図４４（ａ）における状態制御情報は、ｂｕｔｔｏｎ＿ｉｎｆｏ（１）（２）を含んでいる。本図における矢印ｓｙ１，２に示すようにｂｕｔｔｏｎ＿ｉｎｆｏ（１）（２）のオーディオ指定情報は何れも、同じ、ステレオ音声たるクリック音データを指定している。一方、ｂｕｔｔｏｎ＿ｉｎｆｏ（１）の発音制御情報は、Ｌ音声のミキシングパラメータを含み、ｂｕｔｔｏｎ＿ｉｎｆｏ（２）の発音制御情報は、Ｒ音声のミキシングパラメータを含む。
【０１７１】
図４４（ｂ）は、かかる状態制御情報を含むＩＣＳが読み出される過程を示す。このＩＣＳの読み出しに先立ち、クリック音データがプリロードメモリ２１に読み出す。
図４５（ａ）（ｂ）は、プリロードメモリ２１に読み出されたＩＣＳによるクリック音データの発音制御を示す。ｂｕｔｔｏｎ＿ｉｎｆｏ（１）に対応するボタンＡがセレクテッド状態である場合、グラフィクスデコーダ１２はｂｕｔｔｏｎ＿ｉｎｆｏ（１）における発音制御情報に基づき再生を行うようオーディオデコーダ７を制御する。これによりステレオ音声たるクリック音データのうち、Ｌ音声が出力される。ｂｕｔｔｏｎ＿ｉｎｆｏ（２）に対応するボタンＢがセレクテッド状態である場合、グラフィクスデコーダ１２はｂｕｔｔｏｎ＿ｉｎｆｏ（２）における発音制御情報に基づき再生を行うようオーディオデコーダ７を制御する。これによりステレオ音声たるクリック音データのうち、Ｒ音声が出力される。
【０１７２】
かかる制御により、クリック音データをステレオ音声として構成しておき、ボタンＡのセレクテッド状態時にはボタンＡのクリック音としてＬ音声の再生を、ボタンＢのセレクテッド状態時にはボタンＢのクリック音としてＲ音声の再生を開始させることができる。
以上は、複数ボタンのクリック音を１つの非圧縮ＬＰＣＭデータに統合する場合の具体例であったが、本実施形態のボタン情報は、ボタンの操作時に、異なる方向から聞こえるように、クリック音を発音させることもできる。そのような具体例を図４５を参照しながら説明する。図４５（ｃ）は、横方向に並べられた３つのボタン（ボタンＡ、ボタンＢ、ボタンＣ）と、これらのボタンについてのボタン情報の設定例である。これら３つのボタン情報のうち、左側のボタンＡについてのミキシングパラメータは、Ｌ音声が１．０、真ん中のボタンＢについてのミキシングパラメータはＬ，Ｒ音声がそれぞれ０．５，０．５、右側のボタンＣについてのミキシングパラメータは、Ｒ音声が１．０になっている。ミキシングパラメータがこのように設定されているので、左側のボタンＡがセレクテッド状態になった際には、左側のスピーカから、右側のボタンＣがセレクテッド状態になった際には右側のスピーカから、真ん中のボタンＢがセレクテッド状態になった際には、両方のスピーカから発音が聞こえる。このようなボタン情報の設定により、画面におけるボタンの位置に応じて、クリック音が聞こえる方向を変えることができる。このように押下されたボタンの位置に応じて、クリック音が聞こえる方向を変えることができるので、ボタン操作に対する臨場感が増す。
【０１７３】
以上のように本実施形態によれば、複数ボタンについてのクリック音がステレオ音声たる１つのクリック音データに統合されたとしても、各ｂｕｔｔｏｎ＿ｉｎｆｏについてのオーディオ指定情報、発音制御情報を用いて、統合された音声を個々のボタンのクリック音として再生させることができる。かかる統合により、クリック音データのサイズを少なくすることができ、クリック音データを読み出しておくためのプリロードメモリ２１の規模を小規模にすることができる。
【０１７４】
尚、本実施形態においてステレオ音声である場合のクリック音データの一例を示したが、クリック音データは５．２ｃｈの非圧縮オーディオデータであってもよい。図４５（ｃ）のような具体例を、５．２ＣＨの音声で再生する場合のミキシングパラメータの設定例を図４４（ｃ）に示す。５．２チャネルのオーディオデータには、Ｌ成分、Ｒ成分に加え、Ｃｅｎｔｅｒ成分、ＲｅａｒＬｅｆｔ成分、Ｒｅａｒ Ｒｉｇｈｔ成分がある。そして、対話画面に配置されるボタンは、ボタンＡ、ボタンＢ、ボタンＣのように対角線上に配置されているものとする。この場合、ボタンＡのボタン情報についてはＬ成分のミキシングパラメータを１．０に、ボタンＣのボタン情報についてはＲｅａｒＲｉｇｈｔ成分のミキシングパラメータを１．０に、ボタンＢのボタン情報については、Ｌ成分、Ｒ成分、Ｃｅｎｔｅｒ成分、Ｒｅａｒ Ｌｅｆｔ成分、Ｒｅａｒ Ｒｉｇｈｔ成分を、０．１、０．１、０．４、０．２、０．２に設定しておく。このように設定することで、ボタンＡがセレクテッド状態になった際には、左側からクリック音が発音され、ボタンＣがセレクテッド状態になった際には右側からクリック音が聞こえる。そして真ん中のボタンＢがセレクテッド状態になった際には、全ての方向からクリック音が聞こえる。このように押下されたボタンの位置に応じて、クリック音が聞こえる方向を変えることができるので、ボタン操作に対する臨場感が増す（この具体例において、ボタンＢについてはＣｅｎｔｅｒ成分を１．０にし、それ以外を１．０にしてもよい。）。
【０１７５】
また、クリック音用のオーディオデコーダを、オーディオデコーダ７とは別に設けてもよい。かかるプリロードメモリ２１には、圧縮されたオーディオデータを格納しておく。そしてクリック音用オーディオデコーダは、ボタンの状態変化に応じてプリロードメモリ２１におけるオーディオデータを取り出し、デコードする。クリック音用オーディオデコーダを設ければ、圧縮された状態のオーディオデータをプリロードメモリ２１にロードしておけばよいので、プリロードメモリ２１の容量削減を実現することができる。
（第３実施形態）
本実施形態は、ＢＤ−ＲＯＭの製造工程に関する実施形態である。図４６は、第３実施形態に係るＢＤ−ＲＯＭの製造工程を示すフローチャートである。
【０１７６】
ＢＤ−ＲＯＭの制作工程は、動画収録、音声収録等の素材作成を行う素材制作工程Ｓ２０１、オーサリング装置を用いて、アプリケーションフォーマットを生成するオーサリング工程Ｓ２０２、ＢＤ−ＲＯＭの原盤を作成し、プレス・貼り合わせを行って、ＢＤ−ＲＯＭを完成させるプレス工程Ｓ２０３を含む。
これらの工程のうち、ＢＤ−ＲＯＭを対象としたオーサリング工程は、以下のステップＳ２０４〜ステップＳ２０９を含む。
【０１７７】
先ずステップＳ２０４において、ビデオ素材、オーディオ素材、副映像素材のそれぞれをエンコードして、ビデオストリーム、オーディオストリーム、グラフィクスストリームを得る。次にステップＳ２０５において、グラフィクスストリームの動作検証を行う。第１実施形態に示したように、グラフィクスストリームにはボタンを構成するグラフィクスデータと共に、ボタンの状態制御情報が含まれているため、グラフィクスストリーム単体での動作検証が可能になる。もし異常があれば（ステップＳ２０６でＮｏ）、グラフィクスストリーム単体の修正を行い（ステップＳ２０７）、再度グラフィクスストリームの動作検証を行う。
【０１７８】
動作検証において、グラフィクスストリームに異常がなければ（ステップＳ２０６でＹｅｓ）、ステップＳ２０８において素材エンコードにより得られた、ビデオストリーム、オーディオストリーム、グラフィクスストリームをインターリーブ多重して、これらを１本のデジタルストリームに変換する。続くステップＳ２０９において、ＢＤ−ＲＯＭ向けシナリオを元に、各種情報を作成して、シナリオ及びデジタルストリームをＢＤ−ＲＯＭのフォーマットに適合させる。
【０１７９】
以上のように本実施形態によれば、ボタンの状態を変化させるＩＣＳは、グラフィクスデータと一体になってグラフィクスストリームを構成しているので、動画ストリームのエンコード完了や、多重化完了を待たなくても、グラフィクスストリーム単体を完成しさえすれば、再生進行に応じてボタンの状態がどのように変化するかの検証が可能になる。かかる状態変化の検証がオーサリングの早い段階で可能になるので、ＢＤ−ＲＯＭの出荷直前に不具合が発見され、関係者が慌てふためくという事態はなくなる。グラフィクスストリーム単体での動作検証が可能になるので、アニメーションにより複雑に動くようなボタンを積極的に映画作品に組み入れることができる。
（備考）
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記（Ａ）（Ｂ）（Ｃ）（Ｄ）・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。しかし請求項に係る各発明は、従来技術の技術的課題を解決するための手段を反映したものであるから、請求項に係る各発明の技術範囲は、従来技術の技術的課題解決が当業者により認識される技術範囲を超えることはない。故に、本願の請求項に係る各発明は、詳細説明の記載と、実質的な対応関係を有する。
【０１８０】
（Ａ）全ての実施形態では、本発明に係る記録媒体をＢＤ−ＲＯＭとして実施したが、本発明の記録媒体は、記録されるグラフィクスストリームに特徴があり、この特徴は、ＢＤ−ＲＯＭの物理的性質に依存するものではない。動的シナリオ、グラフィクスストリームを記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ＋ＲＷ，ＤＶＤ＋Ｒ，ＣＤ−Ｒ，ＣＤ−ＲＷ等の光ディスク、ＰＤ，ＭＯ等の光磁気ディスクであってもよい。また、コンパクトフラッシュ（登録商標）カード、スマートメディア、メモリスティック、マルチメディアカード、ＰＣＭ−ＣＩＡカード等の半導体メモリカードであってもよい。フレシキブルディスク、ＳｕｐｅｒＤｉｓｋ，Ｚｉｐ，Ｃｌｉｋ！等の磁気記録ディスク（ｉ）、ＯＲＢ，Ｊａｚ，ＳｐａｒＱ，ＳｙＪｅｔ，ＥＺＦｌｅｙ，マイクロドライブ等のリムーバルハードディスクドライブ（ｉｉ）であってもよい。更に、機器内蔵型のハードディスクであってもよい。
【０１８１】
（Ｂ）全ての実施形態における再生装置は、ＢＤ−ＲＯＭに記録されたＡＶＣｌｉｐをデコードした上でＴＶに出力していたが、再生装置をＢＤ−ＲＯＭドライブのみとし、これ以外の構成要素をＴＶに具備させてもよい、この場合、再生装置と、ＴＶとをＩＥＥＥ１３９４で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレィと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなす部分のみを、再生装置としてもよい。これらの再生装置は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、第１実施形態〜第３実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第１実施形態〜第３実施形態に示した再生装置の有償・無償による譲渡（有償の場合は販売、無償の場合は贈与になる）、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
【０１８２】
（Ｃ）各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、第１実施形態〜第３実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為（１）や、有償・無償によりプログラムを譲渡する行為（２）、貸与する行為（３）、輸入する行為（４）、双方向の電子通信回線を介して公衆に提供する行為（５）、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為（６）がある。
【０１８３】
（Ｄ）各フローチャートにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフローチャートによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフローチャートの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
【０１８４】
（Ｅ）ＢＤ−ＲＯＭに記録するにあたって、ＡＶＣｌｉｐを構成する各ＴＳパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒと呼ばれ、『Ａｒｒｉｂｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐ』と、『ｃｏｐｙ＿ｐｅｒｍｉｓｓｉｏｎ＿ｉｎｄｉｃａｔｏｒ』とを含み４バイトのデータ長を有する。ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒ付きＴＳパケット（以下ＥＸ付きＴＳパケットと略す）は、３２個毎にグループ化されて、３つのセクタに書き込まれる。３２個のＥＸ付きＴＳパケットからなるグループは、６１４４バイト（＝３２×１９２）であり、これは３個のセクタサイズ６１４４バイト（＝２０４８×３）と一致する。３個のセクタに収められた３２個のＥＸ付きＴＳパケットを”ＡｌｉｇｎｅｄＵｎｉｔ”という。
【０１８５】
ＩＥＥＥ１３９４を介して接続されたホームネットワークでの利用時において、再生装置２００は、以下のような送信処理にてＡｌｉｇｎｅｄＵｎｉｔの送信を行う。つまり送り手側の機器は、Ａｌｉｇｎｅｄ Ｕｎｉｔに含まれる３２個のＥＸ付きＴＳパケットのそれぞれからＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒを取り外し、ＴＳパケット本体をＤＴＣＰ規格に基づき暗号化して出力する。ＴＳパケットの出力にあたっては、ＴＳパケット間の随所に、ｉｓｏｃｈｒｏｎｏｕｓパケットを挿入する。この挿入箇所は、ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒのＡｒｒｉｂｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐに示される時刻に基づいた位置である。ＴＳパケットの出力に伴い、再生装置２００はＤＴＣＰ＿Ｄｅｓｃｒｉｐｔｏｒを出力する。ＤＴＣＰ＿Ｄｅｓｃｒｉｐｔｏｒは、ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようＤＴＣＰ＿Ｄｅｓｃｒｉｐｔｏｒを記述しておけば、ＩＥＥＥ１３９４を介して接続されたホームネットワークでの利用時においてＴＳパケットは、他の機器に記録されることはない。
【０１８６】
（Ｆ）各実施形態におけるデジタルストリームは、ＢＤ−ＲＯＭ規格のＡＶＣｌｉｐであったが、ＤＶＤ−Ｖｉｄｅｏ規格、ＤＶＤ−ＶｉｄｅｏＲｅｃｏｒｄｉｎｇ規格のＶＯＢ（Ｖｉｄｅｏ Ｏｂｊｅｃｔ）であってもよい。ＶＯＢは、ビデオストリーム、オーディオストリームを多重化することにより得られたＩＳＯ／ＩＥＣ１３８１８−１規格準拠のプログラムストリームである。またＡＶＣｌｉｐにおけるビデオストリームは、ＭＰＥＧ４やＷＭＶ方式であってもよい。更にオーディオストリームは、Ｌｉｎｅａｒ−ＰＣＭ方式、Ｄｏｌｂｙ−ＡＣ３方式、ＭＰ３方式、ＭＰＥＧ−ＡＡＣ方式であってもよい。
【０１８７】
（Ｇ）各実施形態における映像編集は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ／デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
【０１８８】
（Ｈ）ＩＣＳは、タイムアウト時にどのような処理を行うかを規定してもよい。ＩＣＳのタイムアウトは、第１実施形態に示したｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓにより規定される。図４７は、ＩＣＳの変更実施の形態を示す図である。本図のＩＣＳで新規なのは、Ｐａｕｓｅ／Ｓｔｉｌｌ情報が設けられていることである。Ｐａｕｓｅ／Ｓｔｉｌｌ情報は、ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｕｔ＿ｐｔｓに示されるタイムアウトが発生した際、再生装置の動作をＳｔｉｌｌするか、Ｐａｕｓｅするかを示す。再生装置における動作には、ビデオデコーダ５、ＳｔｒｅａｍＧｒａｐｈｉｃｓプロセッサ１４、グラフィクスデコーダ１２によるデコード動作と、Ｇｒａｐｈｉｃａｌコントローラ１７、制御部２０によるナビ動作とがある。Ｓｔｉｌｌとは、再生装置におけるデコード動作、ナビ動作の双方を停止することである。一方Ｐａｕｓｅとは、デコード動作、ナビ動作のうちデコード動作を止めて、ナビ動作を継続実行することである。Ｓｔｉｌｌでは、ナビ動作が停止するので、タイムアウトの時点で最後に再生されたピクチャデータが止め絵として表示され、ボタンの状態を遷移させられない状態となる。
【０１８９】
Ｐａｕｓｅではナビ動作は停止しないので、ユーザによるボタンの状態遷移は可能となる。Ｐａｕｓｅ／Ｓｔｉｌｌ情報をＩＣＳに設けることにより、タイムアウト時にどのような制御を行うべきかをオーサリング時に規定しておくことができる。
（Ｉ）第２実施形態では、各ボタンについてのクリック音をボタン情報に定義できるようにしたが、リモコンにおけるキー毎のクリック音をＩＣＳに定義できるようにしてもよい。図４８は、リモコンのキー毎にクリック音を定義するようにしたＩＣＳを示す図である。
『ｕｐｐｅｒ＿ａｕｄｉｏ』は、ＭｏｖｅＵｐキーの押下時に参照すべきオーディオ指定情報及び発音制御情報、
『ｌｏｗｅｒ＿ａｕｄｉｏ』は、ＭｏｖｅＤｏｗｎキーの押下時に参照すべきオーディオ指定情報及び発音制御情報、
『ｌｅｆｔ＿ａｕｄｉｏ』は、ＭｏｖｅＬｅｆｔキーの押下時に参照すべきオーディオ指定情報及び発音制御情報、
『Ｒｉｇｈｔ＿ａｕｄｉｏ』は、ＭｏｖｅＲｉｇｈｔキーの押下時に参照すべきオーディオ指定情報及び発音制御情報、
『Ａｃｔｉｖａｔｅｄ＿ａｕｄｉｏ』は、Ａｃｔｉｖａｔｅｄキーの押下時に参照すべきオーディオ指定情報及び発音制御情報である。リモコン４００におけるキー押下時に、該当するキーのオーディオ指定情報及び発音制御情報を参照した処理をプリロードメモリ２１、ミキシング部２２に行わせることにより、クリック音の発音が可能になる。
【０１９０】
（Ｊ）第１実施形態〜第３実施形態に示したグラフィックオブジェクトは、ランレングス符号化されたラスタデータである。グラフィックオブジェクトの圧縮・符号化方式にランレングス符号方式を採用したのは、ランレングス符号化は字幕の圧縮・伸長に最も適しているためである。字幕には、同じ画素値の水平方向の連続長が比較的長くなるという特性があり、ランレングス符号化による圧縮を行えば、高い圧縮率を得ることができる。また伸長のための負荷も軽く、復号処理のソフトウェア化に向いている。デコードを実現する装置構成を、字幕−グラフィックオブジェクト間で共通化する目的で、字幕と同じ圧縮・伸長方式をグラフィックオブジェクトに採用している。しかし、グラフィックオブジェクトにランレングス符号化方式を採用したというのは、本発明の必須事項ではなく、グラフィックオブジェクトはＰＮＧデータであってもよい。またラスタデータではなくベクタデータであってもよい、更に透明な絵柄であってもよい。
【産業上の利用可能性】
【０１９１】
本発明に係る記録媒体、再生装置は、対話的な制御を映画作品に付与することができるので、より付加価値が高い映画作品を市場に供給することができ、映画市場や民生機器市場を活性化させることができる。故に本発明に係る記録媒体、再生装置は、映画産業や民生機器産業において高い利用可能性をもつ。
【図面の簡単な説明】
【０１９２】
【図１】ＤＶＤにおける対話制御を示す図である。
【図２】（ａ）本発明に係る記録媒体の、使用行為についての形態を示す図である。（ｂ）対話画面に対する操作をユーザから受け付けるためのリモコン４００におけるキー配置を示す図である。
【図３】ＢＤ−ＲＯＭの構成を示す図である。
【図４】ＡＶＣｌｉｐがどのように構成されているかを模式的に示す図である。
【図５】Ｃｌｉｐ情報の内部構成を示す図である。
【図６】ＰＬ情報の内部構成を示す図である。
【図７】ＰＬ情報による間接参照を模式化した図である。
【図８】（ａ）グラフィクスストリームの構成を示す図である。（ｂ）ＩＣＳ、ＯＤＳの内部構成を示す図である。
【図９】様々な種別の機能セグメントにて構成される論理構造を示す図である。
【図１０】（ａ）ＯＤＳによるグラフィクスオブジェクトを定義するためのデータ構造を示す図である。（ｂ）ＰＤＳのデータ構造を示す図である。
【図１１】Ｉｎｔｅｒａｃｔｉｖｅ ＣｏｍｐｏｓｉｔｉｏｎＳｅｇｍｅｎｔのデータ構造を示す図である。
【図１２】あるＤＳｎに含まれるＯＤＳと、ＩＣＳとの関係を示す図である。
【図１３】任意のピクチャデータｐｔ１の表示タイミングにおける画面合成を示す図である。
【図１４】ＩＣＳにおけるボタン情報の設定例を示す図である。
【図１５】ボタンＡ〜ボタンＤの状態遷移を示す図である。
【図１６】ＯＤＳ１１，２１，３１，４１の絵柄の一例を示す図である。
【図１７】ボタンＡ用のＯＤＳ１１〜１９の絵柄の一例を示す図である。
【図１８】ＤＳに含まれるＩＣＳ、ＯＤＳの一例を示す図である。
【図１９】Ｄｉｓｐｌａｙ Ｓｅｔに属するＯＤＳの順序及びｂｕｔｔｏｎ−ｓｔａｔｅグループを示す図である。
【図２０】図１９のｂｕｔｔｏｎ−ｓｔａｔｅグループが配置された対話画面における状態遷移を示す図である。
【図２１】Ｄｉｓｐｌａｙ ＳｅｔにおけるＯＤＳの順序を示す図である。
【図２２】ＩＣＳによる同期表示時のタイミングを示す図である。
【図２３】対話画面の初期表示が複数ＯＤＳにて構成され、ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが有効である場合のＤＴＳ、ＰＴＳの設定を示す図である。
【図２４】対話画面の初期表示が複数ＯＤＳにて構成され、ｄｅｆａｕｌｔ＿ｓｅｌｅｃｔｅｄ＿ｂｕｔｔｏｎ＿ｎｕｍｂｅｒが無効である場合のＤＴＳ、ＰＴＳの設定を示す図である。
【図２５】本発明に係る再生装置の内部構成を示す図である。
【図２６】再生装置によるパイプライン処理を示すタイミングチャートである。
【図２７】デフォルトセレクテッドボタンが未確定である場合の、再生装置によるパイプライン処理を示すタイミングチャートである。
【図２８】制御部２０によるＬｉｎｋＰＬ関数の実行手順を示すフローチャートである。
【図２９】Ｓｅｇｍｅｎｔのロード処理の処理手順を示すフローチャートである。
【図３０】頭出し時におけるロード処理がどのように行われるかを示す図である。
【図３１】ＤＳ１０が再生装置のＣｏｄｅｄ Ｄａｔａバッファ１３にロードされる様子を示す図である。
【図３２】通常再生が行われる場合を示す図である。
【図３３】図３２のように通常再生が行われた場合のＤＳ１，１０，２０のロードを示す図である。
【図３４】Ｇｒａｐｈｉｃａｌコントローラ１７の処理手順のうち、メインルーチンにあたる処理を描いたフローチャートである。
【図３５】タイムスタンプによる同期制御の処理手順を示すフローチャートである。
【図３６】グラフィクスプレーン８の書込処理の処理手順を示すフローチャートである。
【図３７】デフォルトセレクテッドボタンのオートアクティベートの処理手順を示すフローチャートである。
【図３８】アニメーション表示の処理手順を示すフローチャートである。
【図３９】ＵＯ処理の処理手順を示すフローチャートである。
【図４０】カレントボタンの変更処理の処理手順を示すフローチャートである。
【図４１】数値入力処理の処理手順を示すフローチャートである。
【図４２】再生装置の内部構成を示す図である。
【図４３】クリック音の発音を実現する場合のＩＣＳのデータ構造を示す図である。
【図４４】（ａ）ｂｕｔｔｏｎ＿ｉｎｆｏ（１）（２）を含む状態制御情報を示す図である。（ｂ）状態制御情報を含むＩＣＳが読み出される過程を示す図である。（ｃ）対角線方向に並べられた３つのボタン（ボタンＡ、ボタンＢ、ボタンＣ）と、これらのボタンについてのボタン情報の設定例である。
【図４５】（ａ）（ｂ）プリロードメモリ２１に読み出されたＩＣＳによるクリック音データの発音制御を示す。（ｃ）横方向に並べられた３つのボタン（ボタンＡ、ボタンＢ、ボタンＣ）と、これらのボタンについてのボタン情報の設定例である。
【図４６】第３実施形態に係るＢＤ−ＲＯＭの製造工程を示すフローチャートである。
【図４７】ＩＣＳの変更実施の形態を示す図である。
【図４８】リモコンのキー毎にクリック音を定義するようにしたＩＣＳを示す図である。
【符号の説明】
【０１９３】
１  BDドライブ
２  トラックバッファ
３  PIDフィルタ
４a,b,c  Transport Buffer
４d  周辺回路
５  ビデオデコーダ
６  ビデオプレーン
７  オーディオデコーダ
８  グラフィクスプレーン
９  CLUT部
１０  加算器
１２  グラフィクスデコーダ
１３  Coded Dataバッファ
１３a  周辺回路
１４  Stream Graphicsプロセッサ
１５  Object Buffer
１６  Compositionバッファ
１７  Graphicsコントローラ
１８  UOコントローラ
１９  プレーヤレジスタ群
２０  制御部
【図１】
2008198354.tif 000003
【図２】
2008198354.tif 000004
【図３】
2008198354.tif 000005
【図４】
2008198354.tif 000006
【図５】
2008198354.tif 000007
【図６】
2008198354.tif 000008
【図７】
2008198354.tif 000009
【図８】
2008198354.tif 000010
【図９】
2008198354.tif 000011
【図１０】
2008198354.tif 000012
【図１１】
2008198354.tif 000013
【図１２】
2008198354.tif 000014
【図１３】
2008198354.tif 000015
【図１４】
2008198354.tif 000016
【図１５】
2008198354.tif 000017
【図１６】
2008198354.tif 000018
【図１７】
2008198354.tif 000019
【図１８】
2008198354.tif 000020
【図１９】
2008198354.tif 000021
【図２０】
2008198354.tif 000022
【図２１】
2008198354.tif 000023
【図２２】
2008198354.tif 000024
【図２３】
2008198354.tif 000025
【図２４】
2008198354.tif 000026
【図２５】
2008198354.tif 000027
【図２６】
2008198354.tif 000028
【図２７】
2008198354.tif 000029
【図２８】
2008198354.tif 000030
【図２９】
2008198354.tif 000031
【図３０】
2008198354.tif 000032
【図３１】
2008198354.tif 000033
【図３２】
2008198354.tif 000034
【図３３】
2008198354.tif 000035
【図３４】
2008198354.tif 000036
【図３５】
2008198354.tif 000037
【図３６】
2008198354.tif 000038
【図３７】
2008198354.tif 000039
【図３８】
2008198354.tif 000040
【図３９】
2008198354.tif 000041
【図４０】
2008198354.tif 000042
【図４１】
2008198354.tif 000043
【図４２】
2008198354.tif 000044
【図４３】
2008198354.tif 000045
【図４４】
2008198354.tif 000046
【図４５】
2008198354.tif 000047
【図４６】
2008198354.tif 000048
【図４７】
2008198354.tif 000049
【図４８】
2008198354.tif 000050