(57)【特許請求の範囲】
【請求項１】
画面上に表示される各ボタンに関連する情報が上記ボタンごとに対応付けられて形成された情報であって所要の記録媒体に記録されたボタン関連情報と、上記記録媒体に記録された上記ボタン関連情報に基づいて上記画面上の所定の表示領域に表示されるボタンについて、個々のボタンの表示領域を直接的に指示する操作が可能とされた操作部からの操作入力情報とに基づいて、上記操作により指示されたボタンが、直接指示されることの想定されていないボタンであるか否かを判定し、
当該判定の結果、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるとした場合に、当該指示されたボタンについて上記ボタン関連情報において対応付けられているコマンドを非実行とする情報処理部を備え、
上記直接指示されることの想定されていないボタンは、他のボタンが実行状態にされたことに応じて選択状態となり、選択状態とされたことに応じて関連する機能が自動的に実行状態となるボタンとされている
情報処理装置。
【請求項２】
上記情報処理部は、
上記指示されたボタンについての上記ボタン関連情報として対応付けられているボタンの色情報に基づいて、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるか否かを判定する
請求項１に記載の情報処理装置。
【請求項３】
上記ボタン関連情報には、そのボタンの非選択状態・選択状態・実行状態の各状態ごとに表示されるべき画像を指し示すための画像参照情報が含まれており、
上記情報処理部は、
上記指示されたボタンについての上記非選択状態・選択状態・実行状態の各状態の上記画像参照情報として有効な情報が格納されているか否かを判別した結果に基づいて、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるか否かを判定する
請求項１に記載の情報処理装置。
【請求項４】
上記ボタン関連情報には、そのボタンが選択状態のときに行われた方向キー操作に応じて次に選択状態とされるべきボタンを指し示す情報である隣接ボタン情報が含まれており、
上記情報処理部は、
上記画面内におけるボタンの表示数が２以上であり且つ上記指示されたボタンについての上記隣接ボタン情報が全て上記指示されたボタン自らを指し示すか否かを判別した結果に基づいて、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるか否かを判定する
請求項１に記載の情報処理装置。
【請求項５】
上記ボタン関連情報には、
上記ボタンごとに上記画面内でのそのボタンの表示領域を特定するための座標情報と幅情報と高さ情報とが含まれており、
上記操作部は、
上記操作入力情報として、上記画面内における指示操作のあった場所を特定するための座標情報を上記情報処理部に供給すると共に、
上記情報処理部は、
上記操作部より供給される上記座標情報と、上記ボタン関連情報における上記座標情報及び上記幅情報及び上記高さ情報とに基づき、上記画面内に表示されるボタンを指示する操作があったか否かを判別する
請求項１に記載の情報処理装置。
【請求項６】
上記操作部はタッチパネルで構成される請求項１に記載の情報処理装置。
【請求項７】
上記記録媒体がBlu-ray Discとされる請求項１に記載の情報処理装置。
【請求項８】
画面上に表示される各ボタンに関連する情報が上記ボタンごとに対応付けられて形成された情報であって所要の記録媒体に記録されたボタン関連情報と、上記記録媒体に記録された上記ボタン関連情報に基づいて上記画面上の所定の表示領域に表示されるボタンについて、個々のボタンの表示領域を直接的に指示する操作が可能とされた操作部からの操作入力情報とに基づいて、上記操作により指示されたボタンが、直接指示されることの想定されていないボタンであるか否かを判定すると共に、
当該判定の結果、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるとした場合に、当該指示されたボタンについて上記ボタン関連情報において対応付けられているコマンドを非実行とするものであり、
上記直接指示されることの想定されていないボタンは、他のボタンが実行状態にされたことに応じて選択状態となり、選択状態とされたことに応じて関連する機能が自動的に実行状態となるボタンとされている
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体から再生した情報についての処理を行う情報処理装置とその方法とに関するものである。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２００４−３０４７６７号公報
【特許文献２】特開２００８−９７６９１号公報
【背景技術】
【０００３】
光の照射により情報の読み出しが行われる光記録媒体として、ＢＤ（Blu-ray Disc：登録商標）が広く普及している。
ＢＤのうち、再生専用のいわゆるＲＯＭタイプのもの（ＢＤ−ＲＯＭ）では、ディスクに映画などのコンテンツを記録して、パッケージメディアとして販売等を行う場合、コンテンツに伴う様々なプログラムの実行などを制御するためのユーザインターフェースをコンテンツと共にディスクに記録することが行われる。代表的なユーザインターフェースとしては、メニュー画像が挙げられる。一例として、メニュー画像においては、機能を選択するためのボタンがボタン画像として用意され、所定の入力手段によりボタンを選択し決定することで、当該ボタンに割り当てられた機能が実行されるようになっている。
【０００４】
ボタンは、一般的には、そのボタンが選択された状態になっている選択状態と、コマンドが関連付けられ所定の機能の実行が指示された状態の実行状態と、選択状態にも実行状態にもなっていない通常状態の３状態が定義される。例えば、プレーヤに付属のリモートコントローラに設けられた十字キーなどの方向指示キー（方向キー）を用いて、画面に表示されたボタンを選択状態とし、決定キーを操作することで、ボタンの状態が例えば選択状態から実行状態に遷移し、当該ボタンに関連付けられたコマンドが実行され、当該コマンドにより所定の機能が実現される。
【０００５】
このボタンの機能により、例えばシーン選択メニューの操作や字幕の選択、字幕のＯＮ／ＯＦＦ、音声言語の切り換えといった様々な機能を、動画データの再生を止めることなく実現することが可能とされる。
【０００６】
上記特許文献１には、ＢＤにおいて、このようなボタン画像を用いたメニュー表示を実現するための技術が記載されている。
【０００７】
なお、ボタンなどを含むメニュー表示を行うためのデータが格納されるストリームは、主として再生される動画データに対して関連付けられる副ストリームに格納される。副ストリームは、１の動画データに対して複数を対応付けることが可能である。
ボタンに関連付けられるコマンドは、表記上において所定のデリミタで区切って並べられ、指定された順に逐次的に実行される。
【０００８】
ここで、ボタンに対しては、選択状態から自動的に実行状態に遷移するように定義することができる。このように定義されたボタンは、オートアクションボタンと呼ばれる。例えば、オートアクションボタンに定義されたボタンの通常状態に対して、リモートコントローラなどを用いて選択状態に遷移するように操作すると、当該ボタンは、選択状態に遷移した時点で自動的に実行状態に遷移され、当該ボタンに関連付けられたコマンドが実行されることになる。
【０００９】
また、このようなオートアクションボタンとしての機能を利用してより有用な機能を実現するために、いわゆる隠しボタンというものが設定される場合がある。
隠しボタンは、画面上には表示されないが、ボタンの上記の３状態が定義されて、コマンドの関連付けが可能とされたボタンである。このような隠しボタンは、例えばボタンを表示するためのボタン画像に対して不透明度を最小に設定して背景表示を全て透過させることで実現可能である。
【００１０】
例えば、ポップアップメニューにおける或るボタンに対して、オートアクションボタンとして定義された隠しボタンを選択状態にするコマンドを関連付けておく。こうすることで、ポップアップメニューの当該ボタンを実行状態に遷移させた際に、隠しボタンに関連付けられたコマンドを自動的に実行させることができる。これにより、例えばシーンジャンプが行われた後に、ポップアップメニューを自動的にＯＦＦにするなどといった機能を実現できる。
【００１１】
なお、隠しボタンの具体的な用法については、例えば上記特許文献２にも記載されている。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記のようにＢＤにおいては、隠しボタンとしての、ユーザによって直接的に操作されることを意図したものでないボタンが存在し得る。
【００１３】
ここで、ＢＤの規格は、リモートコントローラによる操作を前提として策定されたものとなっている。つまり、リモートコントローラに設けられた十字キーや決定キーの操作でボタンの選択・決定を行うといったことを前提としたものである。
このため、上記隠しボタンを用いた機能としても、このことを前提としてその実現が可能とされるものとなる。
【００１４】
しかしながら、近年、ユーザインターフェースとしてはタッチパネルを用いたものが普及している。タッチパネルなど、画面上の任意位置を直接的に指示できるインターフェースが用いられた場合は、ユーザが、隠しボタンなどの直接操作が想定されていないボタンを直接操作することが可能となってしまう。つまりこのことによって、プレイヤ側が意図しないタイミングで隠しボタンに対応付けられたコマンドが実行されてしまう可能性があり、その結果、予期しない誤動作を誘発する虞があった。
【課題を解決するための手段】
【００１５】
本発明では上記の問題点に鑑み、情報処理装置として以下のように構成することとした。
すなわち、画面上に表示される各ボタンに関連する情報が上記ボタンごとに対応付けられて形成された情報であって所要の記録媒体に記録されたボタン関連情報と、上記記録媒体に記録された上記ボタン関連情報に基づいて上記画面上の所定の表示領域に表示されるボタンについて、個々のボタンの表示領域を直接的に指示する操作が可能とされた操作部からの操作入力情報とに基づいて、上記操作により指示されたボタンが、直接指示されることの想定されていないボタンであるか否かを判定し、
当該判定の結果、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるとした場合に、当該指示されたボタンについて上記ボタン関連情報において対応付けられているコマンドを非実行とする情報処理部を備える。
そして、上記直接指示されることの想定されていないボタンは、他のボタンが実行状態にされたことに応じて選択状態となり、選択状態とされたことに応じて関連する機能が自動的に実行状態となるボタンとされているものである。
【００１６】
上記本発明によれば、例えばＢＤ規格における上述の隠しボタンのように、ユーザによる直接操作（直接指示）が想定されていないボタンが存在する場合において、当該ボタンが不意に（予期しないタイミングで）操作されてしまうことによる誤動作の発生を効果的に防止することができる。
【００１７】
本発明により、操作部として、例えばタッチパネルなど画面上のボタンの表示領域を直接的に指示する操作が可能とされた操作部が備えられる場合に、例えばＢＤ規格における上述の隠しボタンのようにユーザによる直接操作が想定されていないボタンが直接操作されてしまうことによる誤動作の発生を効果的に防止することができる。
【図面の簡単な説明】
【００１８】
【図１】ＢＤ−ＲＯＭのデータモデルを概略的に示す略線図である。
【図２】インデックステーブルを説明するための略線図である。
【図３】クリップＡＶストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ図である。
【図４】複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。
【図５】サブパスについて説明するための略線図である。
【図６】記録媒体に記録されるファイルの管理構造を説明するための略線図である。
【図７】ＢＤ仮想プレーヤの動作を概略的に示すフローチャートである。
【図８】ＢＤ仮想プレーヤの動作を概略的に示す略線図である。
【図９】この発明の実施の一形態で画像の表示系として用いられるプレーン構造の一例を示す略線図である。
【図１０】動画プレーン、字幕プレーンおよびグラフィクスプレーンを合成する一例の構成を示すブロック図である。
【図１１】パレットに格納される一例のパレットテーブルを示す略線図である。
【図１２】ボタン画像の一例の格納形式を説明するための略線図である。
【図１３】グラフィクスプレーン上に表示されるボタン表示の一例の状態遷移図である。
【図１４】メニュー画面およびボタンの構成を概略的に示す略線図である。
【図１５】ＩＣＳのヘッダ情報の一例の構造を表すシンタクスを示す略線図である。
【図１６】ブロックinteractive_composition_data_fragemnt()の一例の構造を表すシンタクスを示す略線図である。
【図１７】ブロックpage()の一例の構造を表すシンタクスを示す略線図である。
【図１８】ブロックbutton_overlap_group()の一例の構造を表すシンタクスを示す略線図である。
【図１９】ブロックbutton()の一例の構造を表すシンタクスを示す略線図である。
【図２０】インタラクティブグラフィクスの一例のデコーダモデルを示すブロック図である。
【図２１】ＩＧストリームにより表示される一例のメニュー画像を示す略線図である。
【図２２】メインパスのプレイアイテムにより再生された動画データが動画プレーンに表示された様子を示す略線図である。
【図２３】メニュー画像とメインパスのプレイアイテムにより再生され動画プレーンに表示される動画データとを合成した一例の表示を示す略線図である。
【図２４】決定キーを操作してプルダウンメニューを表示させる例を説明するための略線図である。
【図２５】十字キーなどにより下方向を指定する操作を行ってプルダウンメニューを表示させる例を説明するための略線図である。
【図２６】十字キーなどにより下方向を指定する操作を行ってプルダウンメニューを表示させる例を説明するための略線図である。
【図２７】実施の形態の情報処理装置の全体的な内部構成について説明するための図である。
【図２８】タッチパネルに対応したボタンの当たり判定の手法について説明するための図である。
【図２９】実施の形態としての情報処理方法について説明するためのフローチャートである。
【発明を実施するための形態】
【００１９】
以下、発明を実施するための形態（以下実施の形態とする）について説明していく。
なお、説明は以下の順序で行うものとする。
＜１．ＢＤＭＶフォーマットについて＞
［1-1.フォーマットの概要］
［1-2.画像表示系］
［1-3.ＩＧストリームについて］
［1-4.ＩＧデコーダのモデル］
［1-5.メニュー画像のビデオストリームへの合成表示］
［1-6.隠しボタンについて］
＜２．再生装置の構成＞
＜３．ボタンの当たり判定について＞
＜４．実施の形態としての情報処理方法＞
＜５．変形例＞
【００２０】
＜１．ＢＤＭＶフォーマットについて＞
［1-1.フォーマットの概要］
先ずは、ＢＤ（Blu-ray Disc：登録商標）に関し、"Blu-ray Disc Read-Only Format Ver1.0 part3 Audio Visual Specifications"で規定されている、読み出し専用タイプのＢＤであるＢＤ−ＲＯＭに記録されたコンテンツすなわちＡＶ(Audio/Video)データの管理構造について説明する。以下では、このＢＤ−ＲＯＭにおける管理構造をＢＤＭＶフォーマットと称する。
【００２１】
例えばＭＰＥＧ(Moving Pictures Experts Group)ビデオやＭＰＥＧオーディオなどの符号化方式で符号化され、ＭＰＥＧ２システムに従い多重化されたビットストリームは、クリップＡＶストリーム（またはＡＶストリーム）と称される。クリップＡＶストリームは、ＢＤに関する規格の一つである"Blu-ray Disc Read-Only Format part2"で定義されたファイルシステムにより、ファイルとしてディスクに記録される。このファイルを、クリップＡＶストリームファイル（またはＡＶストリームファイル）と称する。
【００２２】
クリップＡＶストリームファイルは、ファイルシステム上での管理単位であり、ユーザにとって必ずしも分かりやすい管理単位であるとは限らない。ユーザの利便性を考えた場合、複数のクリップＡＶストリームファイルに分割された映像コンテンツを一つにまとめて再生する仕組みや、クリップＡＶストリームファイルの一部だけを再生する仕組み、さらには、特殊再生や頭出し再生を滑らかに行うための情報などをデータベースとしてディスクに記録しておく必要がある。ＢＤに関する規格の一つである"Blu-ray Disc Read-Only Format part3"で、このデータベースが規定される。
【００２３】
図１は、ＢＤ−ＲＯＭのデータモデルを概略的に示す。ＢＤ−ＲＯＭのデータ構造は、図１に示されるように４層のレイヤよりなる。最も最下層のレイヤは、クリップＡＶストリームが配置されるレイヤである（便宜上、クリップレイヤと呼ぶ）。その上のレイヤは、クリップＡＶストリームに対する再生箇所を指定するための、ムービープレイリスト(Movie PlayList)と、プレイアイテム(PlayItem)とが配置されるレイヤである（便宜上、プレイリストレイヤと呼ぶ）。さらにその上のレイヤは、ムービープレイリストに対して再生順などを指定するコマンドからなるムービーオブジェクト(Movie Object)などが配置されるレイヤである（便宜上、オブジェクトレイヤと呼ぶ）。最上層のレイヤは、このＢＤ−ＲＯＭに格納されるタイトルなどを管理するインデックステーブルが配置される（便宜上、インデックスレイヤと呼ぶ）。
【００２４】
クリップレイヤについて説明する。クリップＡＶストリームは、ビデオデータやオーディオデータがＭＰＥＧ２ ＴＳ（トランスポートストリーム）の形式などに多重化されたビットストリームである。このクリップＡＶストリームに関する情報がクリップ情報(Clip Information)としてファイルに記録される。
【００２５】
また、クリップＡＶストリームには、ビデオデータやオーディオデータによるコンテンツデータに対して付随して表示される字幕やメニュー表示を行うためのストリームも多重化される。字幕を表示するためのグラフィクスストリームは、プレゼンテーショングラフィクス（ＰＧ）ストリームと呼ばれる。また、メニュー表示などに用いられるデータをストリームにしたものは、インタラクティブグラフィクス（ＩＧ）ストリームと呼ばれる。
【００２６】
クリップＡＶストリームファイルと、対応するクリップ情報が記録されたクリップ情報ファイルとをひとまとまりのオブジェクトと見なし、クリップ(Clip)と称する。すなわち、クリップは、クリップＡＶストリームとクリップ情報とから構成される、一つのオブジェクトである。
【００２７】
ファイルは、一般的に、バイト列として扱われる。クリップＡＶストリームファイルのコンテンツは、時間軸上に展開され、クリップ中のエントリーポイントは、主に時間ベースで指定される。所定のクリップへのアクセスポイントのタイムスタンプが与えられた場合、クリップＡＶストリームファイルの中でデータの読み出しを開始すべきアドレス情報を見つけるために、クリップ情報ファイルを用いることができる。
【００２８】
プレイリストレイヤについて説明する。ムービープレイリストは、再生するＡＶストリームファイルの指定と、指定されたＡＶストリームファイルの再生箇所を指定する再生開始点（ＩＮ点）と再生終了点（ＯＵＴ点）の集まりとから構成される。この再生開始点と再生終了点の情報を一組としたものは、プレイアイテム(PlayItem)と称される。ムービープレイリストは、プレイアイテムの集合で構成される。プレイアイテムを再生するということは、そのプレイアイテムに参照されるＡＶストリームファイルの一部分を再生するということになる。すなわち、プレイアイテム中のＩＮ点およびＯＵＴ点情報に基づき、クリップ中の対応する区間が再生される。
【００２９】
オブジェクトレイヤについて説明する。ムービーオブジェクトは、ＨＤＭＶナビゲーションコマンドプログラム（ＨＤＭＶプログラム）と、ムービーオブジェクトとを連携するターミナルインフォメーションを含む。ＨＤＭＶプログラムは、プレイリストの再生を制御するためのコマンドである。ターミナルインフォメーションは、ユーザのＢＤ−ＲＯＭプレーヤに対するインタラクティブな操作を許可するための情報を含んでいる。このターミナルインフォメーションに基づき、メニュー画面の呼び出しや、タイトルサーチといったユーザオペレーションが制御される。
【００３０】
ＢＤ−Ｊオブジェクトは、Ｊａｖａプログラム（Ｊａｖａは登録商標）によるオブジェクトからなる。ＢＤ−Ｊオブジェクトは、本発明と関わりが薄いので、詳細な説明を省略する。
【００３１】
インデックスレイヤについて説明する。インデックスレイヤは、インデックステーブルからなる。インデックステーブルは、ＢＤ−ＲＯＭディスクのタイトルを定義する、トップレベルのテーブルである。インデックステーブルに格納されているタイトル情報に基づき、ＢＤ−ＲＯＭ常駐システムソフトウェア中のモジュールマネージャによりＢＤ−ＲＯＭディスクの再生が制御される。
【００３２】
すなわち、図２に概略的に示されるように、インデックステーブル中の任意のエントリは、タイトルと称され、インデックステーブルにエントリされるファーストプレイバック(First Playback)、トップメニュー(Top Menu)およびタイトル(Title)＃１、＃２、・・・は、全てタイトルである。各タイトルは、ムービーオブジェクトあるいはＢＤ−Ｊオブジェクトに対するリンクを示し、各タイトルは、ＨＤＭＶタイトルあるいはＢＤ−Ｊタイトルの何れかを示す。
【００３３】
例えば、ファーストプレイバックは、当該ＢＤ−ＲＯＭに格納されるコンテンツが映画であれば、映画本編に先立って映出される映画会社の宣伝用映像（トレーラ）である。トップメニューは、例えばコンテンツが映画である場合、本編再生、チャプタサーチ、字幕や言語設定、特典映像再生などを選択するためのメニュー画面である。また、タイトルは、トップメニューから選択される各映像である。タイトルがさらにメニュー画面であるような構成も可能である。
【００３４】
図３は、上述のようなクリップＡＶストリーム、クリップ情報(Stream Attributes)、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ(Unified Modeling Language)図である。プレイリストは、１または複数のプレイアイテムに対応付けられ、プレイアイテムは、１のクリップに対応付けられる。１のクリップに対して、それぞれ開始点および／または終了点が異なる複数のプレイアイテムを対応付けることができる。１のクリップから１のクリップＡＶストリームファイルが参照される。同様に、１のクリップから１のクリップ情報ファイルが参照される。また、クリップＡＶストリームファイルとクリップ情報ファイルとは、１対１の対応関係を有する。このような構造を定義することにより、クリップＡＶストリームファイルを変更することなく、任意の部分だけを再生する、非破壊の再生順序指定を行うことが可能となる。
【００３５】
また、図４のように、複数のプレイリストから同一のクリップを参照することもできる。また、１のプレイリストから複数のクリップを指定することもできる。クリップは、プレイリスト中のプレイアイテムに示されるＩＮ点およびＯＵＴ点により、参照される。図４の例では、クリップ５００は、プレイリスト５１０のプレイアイテム５２０から参照されると共に、プレイリスト５１１を構成するプレイアイテム５２１および５２２のうちプレイアイテム５２１から、ＩＮ点およびＯＵＴ点で示される区間が参照される。また、クリップ５０１は、プレイリスト５１１のプレイアイテム５２２からＩＮ点およびＯＵＴ点で示される区間が参照されると共に、プレイリスト５１２のプレイアイテム５２３および５２４のうち、プレイアイテム５２３のＩＮ点およびＯＵＴ点で示される区間が参照される。
【００３６】
なお、プレイリストは、図５に一例が示されるように、主として再生されるプレイアイテムに対応するメインパスに対して、サブプレイアイテムに対応するサブパスを持つことができる。サブプレイアイテムは、異なる複数のクリップと関連付けることができ、サブプレイアイテムは、サブプレイアイテムに関連付けられる複数のクリップのうち１を選択的に参照することができる。詳細は省略するが、プレイリストは、所定の条件を満たす場合にだけ、サブプレイアイテムを持つことができる。
【００３７】
次に、"Blu-ray Disc Read-Only Format part3"で規定された、ＢＤ−ＲＯＭに記録されるファイルの管理構造について、図６を用いて説明する。ファイルは、ディレクトリ構造により階層的に管理される。記録媒体上には、先ず、１つのディレクトリ（図６の例ではルート(root)ディレクトリ）が作成される。このディレクトリの下が、１つの記録再生システムで管理される範囲とする。
【００３８】
ルートディレクトリの下に、ディレクトリ"BDMV"およびディレクトリ"CERTIFICATE"が置かれる。ディレクトリ"CERTIFICATE"は、著作権に関する情報が格納される。ディレクトリ"BDMV"に、図１を用いて説明したデータ構造が格納される。
【００３９】
ディレクトリ"BDMV"の直下には、ファイルは、ファイル"index.bdmv"およびファイル"MovieObject.bdmv"の２つのみを置くことができる。また、ディレクトリ"BDMV"の下に、ディレクトリ"PLAYLIST"、ディレクトリ"CLIPINF"、ディレクトリ"STREAM"、ディレクトリ"AUXDATA"、ディレクトリ"META"、ディレクトリ"BDJO"、ディレクトリ"JAR"、およびディレクトリ"BACKUP"が置かれる。
【００４０】
ファイル"index.bdmv"は、ディレクトリBDMVの内容について記述される。すなわち、このファイル"index.bdmv"が上述した最上層のレイヤであるインデックスレイヤにおけるインデックステーブルに対応する。また、ファイルMovieObject.bdmvは、１つ以上のムービーオブジェクトの情報が格納される。すなわち、このファイル"MovieObject.bdmv"が上述したオブジェクトレイヤに対応する。
【００４１】
ディレクトリ"PLAYLIST"は、プレイリストのデータベースが置かれるディレクトリである。すなわち、ディレクトリ"PLAYLIST"は、ムービープレイリストに関するファイルであるファイル"xxxxx.mpls"を含む。ファイル"xxxxx.mpls"は、ムービープレイリストのそれぞれに対して作成されるファイルである。ファイル名において、"."（ピリオド）の前の"xxxxx"は、５桁の数字とされ、ピリオドの後ろの"mpls"は、このタイプのファイルに固定的とされた拡張子である。
【００４２】
ディレクトリ"CLIPINF"は、クリップのデータベースが置かれるディレクトリである。すなわち、ディレクトリCLIPINF"は、クリップＡＶストリームファイルのそれぞれに対するクリップインフォメーションファイルであるファイル"zzzzz.clpi"を含む。ファイル名において、"."（ピリオド）の前の"zzzzz"は、５桁の数字とされ、ピリオドの後ろの"clpi"は、このタイプのファイルに固定的とされた拡張子である。
【００４３】
ディレクトリ"STREAM"は、実体としてのＡＶストリームファイルが置かれるディレクトリである。すなわち、ディレクトリ"STREAM"は、クリップインフォメーションファイルのそれぞれに対応するクリップＡＶストリームファイルを含む。クリップＡＶストリームファイルは、ＭＰＥＧ２(Moving Pictures Experts Group 2)のトランスポートストリーム（以下、ＭＰＥＧ２ ＴＳと略称する）からなり、ファイル名が"zzzzz.m2ts"とされる。ファイル名において、ピリオドの前の"zzzzz"は、対応するクリップインフォメーションファイルと同一することで、クリップインフォメーションファイルとこのクリップＡＶストリームファイルとの対応関係を容易に把握することができる。
【００４４】
ディレクトリ"AUXDATA"は、メニュー表示などに用いられる、サウンドファイル、フォントファイル、フォントインデックスファイルおよびビットマップファイルなどが置かれる。ファイル"sound.bdmv"は、ＨＤＭＶのインタラクティブなグラフィクスストリームのアプリケーションに関連したサウンドデータが格納される。ファイル名は、"sound.bdmv"に固定的とされる。ファイル"aaaaa.otf"は、字幕表示や上述したＢＤ−Ｊアプリケーションなどで用いられるフォントデータが格納される。ファイル名において、ピリオドの前の"aaaaa"は、５桁の数字とされ、ピリオドの後ろの"otf"は、このタイプのファイルに固定的とされた拡張子である。ファイル"bdmv.fontindex"は、フォントのインデックスファイルである。
【００４５】
ディレクトリ"META"は、メタデータファイルが格納される。ディレクトリ"BDJO"およびディレクトリ"JAR"は、上述のＢＤ−Ｊオブジェクトに関連するファイルが格納される。また、ディレクトリ"BACKUP"は、上述までの各ディレクトリおよびファイルのバックアップが格納される。これらディレクトリ"META"、ディレクトリ"BDJO"、ディレクトリ"JAR"およびディレクトリ"BACKUP"は、本発明と直接的な関わりがないので、詳細な説明を省略する。
【００４６】
上述したようなデータ構造を有するディスクがプレーヤに装填されると、プレーヤは、ディスクから読み出されたムービーオブジェクトなどに記述されたコマンドを、プレーヤ内部のハードウェアを制御するための固有のコマンドに変換する必要がある。プレーヤは、このような変換を行うためのソフトウェアを、プレーヤに内蔵されるＲＯＭ(Read Only Memory)に予め記憶している。このソフトウェアは、ディスクとプレーヤを仲介してプレーヤにＢＤ−ＲＯＭの規格に従った動作をさせることから、ＢＤ仮想プレーヤと称される。
【００４７】
図７は、このＢＤ仮想プレーヤの動作を概略的に示す。図７Ａは、ディスクのローディング時の動作の例を示す。ディスクがプレーヤに装填されディスクに対するイニシャルアクセスがなされると（ステップＳ３０）、１のディスクにおいて共有的に用いられる共有パラメータが記憶されるレジスタが初期化される（ステップＳ３１）。そして、次のステップＳ３２で、プログラムがディスクから読み込まれて実行される。なお、イニシャルアクセスは、ディスク装填時のように、ディスクの再生が初めて行われることをいう。
【００４８】
図７Ｂは、プレーヤが停止状態からユーザにより例えばプレイキーが押下され再生が指示された場合の動作の例を示す。最初の停止状態（ステップＳ４０）に対して、ユーザにより、例えばリモートコントローラなどを用いて再生が指示される（ＵＯ：User Operation）。再生が指示されると、先ず、レジスタすなわち共通パラメータが初期化され（ステップＳ４１）、次のステップＳ４２で、プレイリストの再生フェイズに移行する。なお、この場合にレジスタがリセットされない実装としてもよい。
【００４９】
ムービーオブジェクトの実行フェイズにおけるプレイリストの再生について、図８を用いて説明する。ＵＯなどにより、タイトル番号＃１のコンテンツを再生開始する指示があった場合について考える。プレーヤは、コンテンツの再生開始指示に応じて、上述した図２に示されるインデックステーブル(Index Table)を参照し、タイトル＃１のコンテンツ再生に対応するオブジェクトの番号を取得する。例えばタイトル＃１のコンテンツ再生を実現するオブジェクトの番号が＃１であったとすると、プレーヤは、ムービーオブジェクト＃１の実行を開始する。
【００５０】
この図８の例では、ムービーオブジェクト＃１に記述されたプログラムは２行からなり、１行目のコマンドが"Play PlayList(1)"であるとすると、プレーヤは、プレイリスト＃１の再生を開始する。プレイリスト＃１は、１以上のプレイアイテムから構成され、プレイアイテムが順次再生される。プレイリスト＃１中のプレイアイテムの再生が終了すると、ムービーオブジェクト＃１の実行に戻り、２行目のコマンドが実行される。図８の例では、２行目のコマンドが"jump TopMenu"であって、このコマンドが実行されインデックステーブルに記述されたトップメニュー(Top Menu)を実現するムービーオブジェクトの実行が開始される。
【００５１】
［1-2.画像表示系］
次に、本発明に適用可能な画像の表示系について説明する。本実施の形態では、画像の表示系について、図９に一例が示されるようなプレーン構成を採る。
動画プレーン１０は、最も後ろ側（ボトム）に表示され、プレイリストで指定された画像（主に動画データ）が扱われる。字幕プレーン１１は、動画プレーン１０の上に表示され、動画再生中に表示される字幕データが扱われる。グラフィクスプレーン１２は、最も前面に表示され、メニュー画面を表示するための文字データや、ボタン画像用のビットマップデータなどのグラフィクスデータが扱われる。１つの表示画面は、これら３つのプレーンが合成されて表示される。
【００５２】
なお、グラフィクスプレーン１２は、このようにメニュー画面を表示するためのデータが扱われることから、以下では、グラフィクスプレーン１２をインタラクティブグラフィクスプレーン１２と称する。
【００５３】
動画プレーン１０、字幕プレーン１１およびインタラクティブグラフィクスプレーン１２は、それぞれ独立して表示が可能とされる。動画プレーン１０は、解像度が１９２０画素×１０８０ラインで１画素当たりに換算したデータ長が１６ビットであって、輝度信号Ｙ、色差信号Ｃｂ、Ｃｒが４：２：２のシステム（以下、ＹＣｂＣｒ（４：２：２））とされる。なお、ＹＣｂＣｒ（４：２：２）は、各画素当たり輝度信号Ｙが８ビット、色差信号Ｃｂ、Ｃｒがそれぞれ８ビットで、色差信号Ｃｂ、Ｃｒが水平２画素で一つの色データを構成すると見なすカラーシステムである。インタラクティブグラフィクスプレーン１２および字幕プレーン１１は、１９２０画素×１０８０ラインで各画素のサンプリング深さが８ビットとされ、カラーシステムは、２５６色のパレットを用いた８ビットカラーマップアドレスとされる。
【００５４】
インタラクティブグラフィクスプレーン１２および字幕プレーン１１は、２５６段階のアルファブレンディングが可能とされており、他のプレーンとの合成の際に、不透明度を２５６段階で設定することが可能とされている。不透明度の設定は、画素毎に行うことができる。以下では、不透明度αが（０≦α≦１）の範囲で表され、不透明度α＝０で完全に透明、不透明度α＝１で完全に不透明であるものとする。
【００５５】
字幕プレーン１１では、例えばＰＮＧ(Portable Network Graphics)形式の画像データが扱われる。
また、インタラクティブグラフィクスプレーン１２でも、例えばＰＮＧ形式の画像データを扱うことができる。
ＰＮＧ形式は、１画素のサンプリング深さが１ビット〜１６ビットとされ、サンプリング深さが８ビットまたは１６ビットの場合に、アルファチャンネル、すなわち、それぞれの画素成分の不透明度情報（アルファデータと称する）を付加することができる。サンプリング深さが８ビットの場合には、２５６段階で不透明度を指定することができる。このアルファチャンネルによる不透明度情報を用いてアルファブレンディングが行われる。また、２５６色までのパレットイメージを用いることができ、予め用意されたパレットの何番目の要素（インデックス）であるかがインデックス番号により表現される。
【００５６】
なお、字幕プレーン１１およびインタラクティブグラフィクスプレーン１２で扱われる画像データは、ＰＮＧ形式に限定されない。ＪＰＥＧ方式など他の圧縮符号化方式で圧縮符号化された画像データや、ランレングス圧縮された画像データ、圧縮符号化がなされていないビットマップデータなどを扱うようにしてもよい。
【００５７】
図１０は、図９に示したプレーン構成に従い３つのプレーンを合成するグラフィクス処理部の一例の構成を示す。なお、この図１０に示される構成は、ハードウェアおよびソフトウェアの何れでも実現可能なものである。動画プレーン１０の動画データが４２２／４４４変換回路２０に供給される。動画データは、４２２／４４４変換回路２０でカラーシステムがＹＣｂＣｒ（４：２：２）からＹＣｂＣｒ（４：４：４）に変換され、乗算器２１に入力される。
【００５８】
字幕プレーン１１の画像データがパレット２２Ａに入力され、ＲＧＢ（４：４：４）の画像データとして出力される。この画像データに対してアルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α１（０≦α１≦１）がパレット２２Ａから出力される。
【００５９】
パレット２２Ａは、例えばＰＮＧ形式のファイルに対応したパレット情報がテーブルとして格納される。パレット２２Ａは、入力された８ビットの画素データをアドレスとして、インデックス番号が参照される。このインデックス番号に基づき、それぞれ８ビットのデータからなるＲＧＢ（４：４：４）のデータが出力される。それと共に、パレット２２Ａでは、不透明度を表すアルファチャンネルのデータαが取り出される。
【００６０】
図１１は、パレット２２Ａに格納される一例のパレットテーブルを示す。２５６個のカラーインデックス値〔０ｘ００〕〜〔０ｘＦＦ〕（〔０ｘ〕は１６進表記であることを示す）のそれぞれに対して、各々８ビットで表現される三原色の値Ｒ、ＧおよびＢと、不透明度αとが割り当てられる。パレット２２Ａは、入力されたＰＮＧ形式の画像データに基づきパレットテーブルが参照され、画像データにより指定されたインデックス値に対応する、それぞれ８ビットのデータからなるＲ、ＧおよびＢ各色のデータ（ＲＧＢデータ）と、不透明度αとを画素毎に出力する。
【００６１】
パレット２２Ａから出力されたＲＧＢデータは、ＲＧＢ／ＹＣｂＣｒ変換回路２２Ｂに供給され、各データ長が８ビットの輝度信号Ｙと色信号Ｃｂ、Ｃｒのデータに変換される（以下、まとめてＹＣｂＣｒデータと称する）。これは、以降のプレーン間合成を共通のデータ形式で行う必要があるためで、動画データのデータ形式であるＹＣｂＣｒデータに統一している。
【００６２】
ＲＧＢ／ＹＣｂＣｒ変換回路２２Ｂから出力されたＹＣｂＣｒデータと不透明度データα１とがそれぞれ乗算器２３に入力される。乗算器２３では、入力されたＹＣｂＣｒデータに不透明度データα１が乗ぜられる。乗算結果は、加算器２４の一方の入力端に入力される。
なお、乗算器２３では、ＹＣｂＣｒデータにおける輝度信号Ｙ、色差信号Ｃｂ、Ｃｒのそれぞれについて、不透明度データα１との乗算が行われる。また、不透明度データα１の補数（１−α１）が乗算器２１に供給される。
【００６３】
乗算器２１では、４２２／４４４変換回路２０から入力された動画データに不透明度データα１の補数（１−α１）が乗ぜられる。乗算結果は、加算器２４の他方の入力端に入力される。加算器２４において、乗算器２１および２３の乗算結果が加算される。これにより、動画プレーン１０と字幕プレーン１１とが合成される。加算器２４の加算結果が乗算器２５に入力される。
【００６４】
インタラクティブグラフィクスプレーン１２の画像データがパレット２６Ａに入力され、ＲＧＢ（４：４：４）の画像データとして出力される。この画像データに対してアルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α２（０≦α２≦１）がパレット２６Ａから出力される。パレット２６Ａから出力されたＲＧＢデータは、ＲＧＢ／ＹＣｂＣｒ変換回路２６Ｂに供給されてＹＣｂＣｒデータに変換され、動画データのデータ形式であるＹＣｂＣｒデータに統一される。ＲＧＢ／ＹＣｂＣｒ変換回路２６Ｂから出力されたＹＣｂＣｒデータが乗算器２７に入力される。
【００６５】
インタラクティブグラフィクスプレーン１２で用いられる画像データがＰＮＧ形式である場合には、画像データ中に、画素毎に不透明度データα２（０≦α２≦１）を設定することができる。不透明度データα２は、乗算器２７に供給される。乗算器２７では、ＲＧＢ／ＹＣｂＣｒ変換回路２６Ｂから入力されたＹＣｂＣｒデータに対し、輝度信号Ｙ、色差信号Ｃｂ、Ｃｒのそれぞれについて、不透明度データα２との乗算が行われる。乗算器２７による乗算結果が加算器２８の一方の入力端に入力される。また、不透明度データα２の補数（１−α２）が乗算器２５に供給される。
【００６６】
乗算器２５では、加算器２４の加算結果に対して不透明度データα２の補数（１−α２）が乗ぜられる。乗算器２５の乗算結果は、加算器２８の他方の入力端に入力され、上述した乗算器２７による乗算結果と加算される。これにより、動画プレーン１０と字幕プレーン１１との合成結果に対して、さらに、インタラクティブグラフィクスプレーン１２が合成される。
【００６７】
字幕プレーン１１およびインタラクティブグラフィクスプレーン１２において、例えば、表示すべき画像の無い領域の不透明度α＝０と設定することで、そのプレーンの下に表示されるプレーンを透過表示させることができ、例えば動画プレーン１０に表示されている動画データを、字幕プレーン１１やインタラクティブグラフィクスプレーン１２の背景として表示することができる。
【００６８】
［1-3.ＩＧストリームについて］
次に、インタラクティブグラフィクスストリーム（ＩＧストリーム）について説明する。ここでは、ＩＧストリームのうち、本発明に関わりの深い部分に注目して説明する。
ＩＧストリームは、上述したように、メニュー表示に用いられるデータをストリームにしたものである。例えば、メニュー表示に用いられるボタン画像がＩＧストリームに格納される。
【００６９】
ＩＧストリームは、クリップＡＶストリームに多重化される。インタラクティブグラフィクスストリーム（図１２Ａ参照）は、図１２Ｂに一例が示されるように、ＩＣＳ(Interactive Composition Segment)、ＰＤＳ(Palette Definition Segment)およびＯＤＳ(Object Definition Segment)の３種類のセグメントからなる。
【００７０】
３種類のセグメントのうち、ＩＣＳは、詳細は後述するが、ＩＧ（インタラクティブグラフィクス）の基本構造を保持するためのセグメントである。
ＰＤＳは、ボタン画像の色情報を保持するためのセグメントである。
また、ＯＤＳは、ボタンの形状を保持するための情報である。より具体的には、ＯＤＳは、ボタン画像そのもの、例えばボタン画像を表示するためのビットマップデータが、ランレングス圧縮など所定の圧縮符号化方式で圧縮符号化されて格納される。
【００７１】
ＩＣＳ、ＰＤＳおよびＯＤＳは、図１２Ｃに一例が示されるように、それぞれ必要に応じて所定に分割され、ＰＩＤ(Packet Identification)により区別されてＰＥＳ(Packetized Elementary Stream)パケットのペイロードに格納される。
ＰＥＳパケットは、サイズが６４ＫＢ（キロバイト）と決められているため、比較的サイズが大きなＩＣＳおよびＯＤＳは、それぞれ所定に分割されてＰＥＳパケットのペイロードに詰め込まれる。一方、ＰＤＳは、サイズが６４ＫＢに満たないことが多いので、１つのＰＥＳパケットに１ＩＧ分のＰＤＳが格納可能である。ＰＥＳパケットのそれぞれには、ペイロードに格納されたデータがＩＣＳ、ＰＤＳおよびＯＤＳのうち何れであるかの情報や、パケット毎の順番などを示す識別情報がＰＩＤに格納される。
【００７２】
ＰＥＳパケットのそれぞれは、さらに所定に分割され、ＭＰＥＧ ＴＳ（トランスポートストリーム）によるトランスポートパケットに詰め込まれる（図１２Ｄ）。トランスポートパケット毎の順序や、トランスポートパケットに格納されたデータを識別する識別情報などがＰＩＤに格納される。
【００７３】
次にインタラクティブグラフィクスのディスプレイセット(DisplaySet)に含まれる、ＩＣＳについて説明する。
先ずはＩＣＳの説明に先んじて、図１３および図１４を用いてメニュー画面およびボタンの構成を概略的に示す。なお、ディスプレイセットは、ＩＧストリームにおいては、メニュー表示を行うためのデータのセットであって、上述したＩＣＳ、ＰＤＳおよびＯＤＳによりＩＧストリームのディスプレイセットが構成される。
【００７４】
図１３は、グラフィクスプレーン１２上に表示されるボタン表示の一例の状態遷移図である。ボタンは、大別すると、無効状態と有効状態の２つの状態を有し、無効状態では画面にボタンが表示されず、有効状態でボタン表示がなされる。ボタン無効状態からボタン有効状態に遷移し、ボタン表示が開始される。ボタン有効状態からボタン無効状態に遷移し、ボタン表示が終了される。ボタン有効状態は、さらに、通常状態（非選択状態）、選択状態および実行状態の３種類の状態を有する。ボタン表示は、これら３種類の状態間をそれぞれ互いに遷移することができる。遷移方向を一方向に限定することも可能である。また、３種類のボタン表示の状態のそれぞれに、アニメーションを定義することができる。
【００７５】
図１４は、メニュー画面およびボタンの構成を概略的に示す。図１４Ａに一例が示されるような、複数のボタン３００、３００、・・・が配置されたメニュー画面３０１を考える。
このメニュー画面３０１は、図１４Ｂに一例が示されるように、複数枚のメニュー画面によって階層的に構成することができる。各階層のメニュー画面のそれぞれは、ページと呼ばれる。例えば、最前面に表示されたメニュー画面のあるボタン３００を、所定の入力手段によって選択状態から実行状態に遷移させると、そのメニュー画面の１枚後ろに位置するメニュー画面が最前面のメニュー画面となるような構成が考えられる。
なお、本明細書では、「所定の入力手段によりボタンの状態を変化させる」ことを、煩雑さを避けるために、「ボタンを操作する」などと、適宜、表記する。
【００７６】
メニュー画面３０１に表示される１つのボタン３００は、複数のボタン３０２Ａ、３０２Ｂ、・・・が階層化された構成とすることができる（図１４Ｃおよび図１４Ｄ参照）。これは、換言すれば、１つのボタン表示位置に複数のボタンを選択的に表示することができることを意味する。例えば、複数のボタンのうち所定のボタンを操作した際に、同時に表示されている他の幾つかのボタンの機能および表示が変更されるような場合に、メニュー画面自体を書き換える必要が無いので、用いて好適である。このような、１つのボタン位置に選択的に表示される複数のボタンからなる組を、ＢＯＧ(Button Overlap Group)と呼ぶ。
【００７７】
１つのＢＯＧを構成するボタンのそれぞれは、通常状態、選択状態および実行状態の３状態を有することができる。すなわち、図１４Ｅに一例が示されるように、ＢＯＧを構成するボタンのそれぞれに対して、通常状態、選択状態および実行状態をそれぞれ表すボタン３０３Ａ、３０３Ｂおよび３０３Ｃを用意することができる。さらに、これら３状態を表すボタン３０３Ａ、３０３Ｂおよび３０３Ｃのそれぞれに対して、図１４Ｆに一例が示されるように、アニメーション表示を設定することができる。この場合には、アニメーション表示が設定されたボタンは、アニメーション表示に用いるだけの枚数のボタン画像からなることになる。
【００７８】
なお、以下では、ボタンのアニメーションを構成するための複数枚のボタン画像のそれぞれを適宜、アニメーションフレームと呼ぶことにする。
【００７９】
図１５は、ＩＣＳのヘッダ情報の一例の構造を表すシンタクスを示す。ＩＣＳのヘッダは、ブロックsegment_descriptor()、ブロックvideo_descriptor()、ブロックcomposition_descriptor()、ブロックsequence_descriptor()およびブロックinteractive_composition_data_fragemnt()からなる。ブロックsegment_descriptor()は、このセグメントがＩＣＳであることを示す。ブロックvideo_descriptor()は、このメニューと同時に表示されるビデオのフレームレートや画枠サイズを示す。ブロックcomposition_descriptor()は、フィールドcomposition_stateを含み（図示しない）、このＩＣＳのステータスを示す。ブロックsequence_descriptor()は、このＩＣＳが複数のＰＥＳパケットに跨るか否かを示す。
【００８０】
より具体的には、このブロックsequence_descriptor()は、現在のＰＥＳパケットに含まれるＩＣＳが１つのＩＧストリームの先頭または最後尾の何れのＩＣＳであるか否かを示す。
【００８１】
すなわち、上述したように、データサイズが６４ＫＢと固定的とされたＰＥＳパケットに対して、ＩＣＳのデータサイズが大きい場合には、ＩＣＳが所定に分割されてＰＥＳパケットにそれぞれ詰め込まれる。このとき、この図１５に示されるヘッダ部分は、ＩＣＳが分割して詰め込まれたＰＥＳパケットのうち先頭および最後尾のＰＥＳパケットにだけあればよく、途中のＰＥＳパケットにおいては省略することができる。このブロックsequence_descriptor()が先頭および最後尾を示していれば、ＩＣＳが１つのＰＥＳパケットに収まっていることが分かる。
【００８２】
図１６は、ブロックinteractive_composition_data_fragemnt()の一例の構造を表すシンタクスを示す。なお、図１６では、自身のブロックがブロックinteractive_composition()として示されている。フィールドintaractive_composition_lengthは、２４ビットのデータ長を有し、ブロックinteractive_composition()のこのフィールドintaractive_composition_length以降の長さを示す。フィールドstream_modelは、１ビットのデータ長を有し、このストリームが多重化されているか否かを示す。
【００８３】
フィールドstream_modelの値が"０"であれば、多重化されていることを示し、ＭＰＥＧ２トランスポートストリーム内に、インタラクティブグラフィクスストリームと共に関連する他のエレメンタリストリームが多重化されている可能性があることを示す。フィールドstream_modelの値が"１"で非多重化を示し、ＭＰＥＧ２トランスポートストリーム内にはインタラクティブグラフィクスストリームのみが存在することを示す。すなわち、インタラクティブグラフィクスストリームは、ＡＶストリームに対して多重化することもできるし、単独でクリップＡＶストリームを構成することもできる。なお、非多重化であるインタラクティブグラフィクスストリームは、非同期のサブパスとしてのみ、定義される。
【００８４】
フィールドuser_interface_modelは、１ビットのデータ長を有し、このストリームが表示するメニューがポップアップメニューか、常時表示メニューの何れであるかを示す。ポップアップメニューは、例えばリモートコントローラのボタンのＯＮ／ＯＦＦといった、所定の入力手段で表示の有無を制御できるメニューである。一方、常時表示メニューは、ユーザ操作により表示の有無を制御できない。フィールドuser_interface_modelの値が"０"で、ポップアップメニューを示し、"１"で常時表示メニューを示す。なお、フィールドstream_modelの値が"１"であり、且つ、他のエレメンタリストリームと多重化されていない場合に限り、ポップアップメニューが許可される。
【００８５】
フィールドstream_modelの値が"０"であれば、If文If(stream_model=='0b&apos;以下のフィールドcomposition_time_out_ptsおよびフィールドselection_time_out_ptsが有効になる。フィールドcomposition_time_out_ptsは、３３ビットのデータ長を有し、このメニュー表示が消える時刻を示す。また、フィールドselection_time_out_ptsは、３３ビットのデータ長を有し、このメニュー表示における選択操作が可能でなくなる時刻を示す。時刻は、それぞれＭＰＥＧ２に規定されるＰＴＳ(Presentation Time Stamp)で記述される。
【００８６】
図１７は、ブロックpage()の一例の構造を表すシンタクスを示す。フィールドpage_idは、８ビットのデータ長を有し、このページを識別するためのＩＤを示し、フィールドpage_version_numberは、８ビットのデータ長を有し、このページのバージョン番号を示す。次のブロックUO_mask_table()は、このページの表示中に禁止される、ユーザの入力手段に対する操作（ＵＯ：User Operation)が記述されるテーブルを示す。
【００８７】
ブロックin_effect()は、このページが表示される際に表示されるアニメーションブロックを示す。括弧{}内のブロックeffect_sequence()に、アニメーションのシーケンスが記述される。また、ブロックout_effect()は、このページが終了する際に表示されるアニメーションブロックを示す。括弧{}内のブロックeffect_sequence()に、アニメーションのシーケンスが記述される。これらブロックin_effect()およびブロックout_effect()は、それぞれページを移動した際にこのＩＣＳが発見された場合に実行されるアニメーションである。
【００８８】
次のフィールドanimation_frame_rate_codeは、８ビットのデータ長を有し、このページのボタン画像がアニメーションする場合の、アニメーションフレームレートの設定パラメータを示す。例えば、このＩＣＳが対応するクリップＡＶストリームファイルにおけるビデオデータのフレームレートをＶfrm、当該アニメーションフレームレートをＡfrmとした場合、フィールドanimation_frame_rate_codeの値を、Ｖfrm／Ａfrmのように、これらの比で表すことができる。
【００８９】
フィールドdefault_selected_button_id_refは、１６ビットのデータ長を有し、このページが表示される際に最初に選択状態とされるボタンを指定するためのＩＤを示す。また、次のフィールドdefault_activated_button_id_refは、１６ビットのデータ長を有し、図１６を用いて説明したフィールドselection_time_out_ptsで示される時間に達した際に、自動的に実行状態となるボタンを指定するためのＩＤを示す。
【００９０】
フィールドpalette_id_refは、８ビットのデータ長を有し、このページが参照するパレットのＩＤを示す。すなわち、このフィールドpalette_id_refにより、ＩＧストリームにおけるＰＤＳ中の色情報が指定される。
【００９１】
次のフィールドnumber_of_BOGsは、８ビットのデータ長を有し、このページで用いられるＢＯＧの数が示される。換言すれば、当該number_of_BOGsは、ページ内でＢＯＧを表示すべき位置の数を示すものであり、端的に言えばページ内でのボタンの表示数（同時表示数）を表すものとなる。
ＢＯＧ毎の定義は、ブロックbutton_overlap_group()によりなされる。
【００９２】
図１８は、ブロックbutton_overlap_group()の一例の構造を表すシンタクスを示す。フィールドdefault_valid_button_id_refは、１６ビットのデータ長を有し、このブロックbutton_overlap_group()で定義されるＢＯＧにおいて最初に表示されるボタンのIDを示す。次のフィールドnumber_of_buttonsは、８ビットのデータ長を有し、このＢＯＧで用いられるボタンの数を示す。そして、このフィールドnumber_of_buttonsで示される回数だけ、次のfor文からのループが繰り返され、ブロックbutton()によりボタンそれぞれの定義がなされる。
【００９３】
すなわち、既に説明したように、ＢＯＧは、複数のボタンを持つことができ、ＢＯＧが持つ複数のボタンのそれぞれの構造がブロックbutton()で定義される。このブロックbutton()で定義されるボタン構造が、実際に表示されるボタンである。
【００９４】
図１９は、ブロックbutton()の一例の構造を表すシンタクスを示す。
図１９において、フィールドbutton_idは、１６ビットのデータ長を有し、このボタンを識別するＩＤを示す。
フィールドbutton_numeric_select_valueは、１６ビットのデータ長を有し、このボタンがリモートコントローラ上の数字キーの何番に割り当てられているかを示す。
フラグauto_action_flagは、１ビットのデータ長を有するフラグであって、このボタンが選択状態になったときに、当該ボタンに割り当てられた機能が自動的に実行されるか否かを示す。
【００９５】
なお、以下では、フラグauto_action_flagにより、選択状態となったときに、割り当てられた機能が自動的に実行されるように定義されたボタンを、オートアクションボタンと呼ぶ。
【００９６】
次のフィールドbutton_horizontal_positionおよびフィールドbutton_vertical_positioは、それぞれ１６ビットのデータ長を有し、このボタンを表示する画面上の水平方向の位置および垂直方向の位置を示す。
【００９７】
ブロックneighbor_info()は、このボタンの周辺情報を示す。すなわち、このブロックneighbor_info()内の値により、このボタンが例えば選択状態となっている状態からリモートコントローラにおける上下左右の方向を指示できる方向キーが操作された際に、どのボタンが選択状態に遷移するかを示す。
このブロックneighbor_info()内のフィールドにおいて、それぞれ１６ビットのデータ長を有するフィールドupper_button_id_ref、フィールドlower_button_id_ref、フィールドleft_button_id_refおよびフィールドright_button_id_refは、上方向、下方向、左方向および右方向を指示する操作がなされた場合に選択状態に遷移されるボタンのＩＤをそれぞれ示す。
【００９８】
次からのブロックnormal_state_info()、ブロックselected_state_info()およびブロックactivated_state_info()は、それぞれ、通常状態（非選択状態）、選択状態および実行状態時のボタンの情報を示す。
【００９９】
先ず、ブロックnormal_state_info()について説明する。それぞれ１６ビットのデータ長を有するフィールドnormal_start_object_id_refおよびフィールドnormal_end_object_id_refは、この通常状態のボタンのアニメーションの先頭および末尾のオブジェクトを指定するＩＤがそれぞれ示される。すなわち、これらフィールドnormal_start_object_id_refおよびフィールドnormal_end_object_id_refにより、ボタンのアニメーション表示に用いられるボタン画像（すなわちアニメーションフレーム）が、対応するＯＤＳに対して指定される。
【０１００】
次のフラグnormal_repeat_flagは、１ビットのデータ長を有するフラグであって、このボタンのアニメーションがリピートするか否かが示される。例えば、フラグnormal_repeat_flagの値が"０"でリピートしないことを示し、値が"１"でリピートすることを示す。次のフラグnormal_complete_flagは、１ビットのデータ長を有するフラグであって、このボタンが通常状態から選択状態に遷移する際のアニメーション動作を制御する。
【０１０１】
次に、ブロックselected_state_info()について説明する。このブロックselected_state_info()は、上述のブロックnormal_state_info()に対して、サウンドを指示するためのフィールドselected_state_sound_id_refが付加されている。フィールドselected_state_sound_id_refは、８ビットのデータ長を有し、この選択状態のボタンに対して再生されるサウンドファイルを示す。例えば、サウンドファイルは、ボタンが通常状態から選択状態に遷移した際の効果音として用いられる。
【０１０２】
それぞれ１６ビットのデータ長を有するフィールドselected_start_object_id_refおよびフィールドselected_end_object_id_refは、この選択状態のボタンのアニメーションの先頭および末尾のオブジェクトを指定するＩＤがそれぞれ示される。
また、次の１ビットのデータ長を有するフラグであるフラグselected_repeat_flagは、このボタンのアニメーションがリピートするか否かが示される。例えば値が"０"でリピートしないことを示し、値が"１"でリピートすることを示す。
【０１０３】
次のフラグselected_complete_flagは、１ビットのデータ長を有するフラグである。このフラグselected_complete_flagは、このボタンが選択状態から他の状態に遷移する際のアニメーション動作を制御するフラグである。すなわち、フラグselected_complete_flagは、ボタンが選択状態から実行状態に遷移する場合と、選択状態から通常状態に遷移する場合とに、用いることができる。
【０１０４】
上述と同様、フラグselected_complete_flagの値が"１"であれば、このボタンが選択状態から他の状態へと遷移する際に、選択状態に定義されているアニメーションを、全て表示する。より具体的には、フラグselected_complete_flagの値が"１"であったなら、当該ボタンの選択状態のアニメーション表示中に当該ボタンを選択状態から他の状態に遷移させるような入力がなされた場合、その時点で表示されているアニメーションフレームから、上述したフィールドselected_end_object_id_refで示されるアニメーションフレームまで、アニメーション表示を行う。
【０１０５】
また、フラグselected_complete_flagの値が"１"であって、且つ、フラグselected_repeat_flagがリピートすることを示している場合（例えば値"１"）も、その時点で表示されているアニメーションフレームから、上述したフィールドselected_end_object_id_refで示されるアニメーションフレームまで、アニメーション表示を行う。
【０１０６】
この場合、例えばボタンが選択できない状態にされた場合や、ボタンの表示そのものが消されてしまうような場合でも、これらの状態に遷移する時点がアニメーションの表示中であれば、フィールドselected_end_object_id_refで示されるアニメーションフレームまでアニメーション表示を行い、その後、ボタンの状態を遷移させる。
【０１０７】
ボタンが選択できない状態は、例えば上述したフィールドselection_time_out_ptsの指定により、ボタンが選択できないような状態になった場合や、フィールドuser_time_out_durationの指定によりメニューが自動的に初期化されるような場合が考えられる。
【０１０８】
一方、フラグselected_complete_flagの値が"０"であれば、このボタンが選択状態から他の状態へと遷移する際に、選択状態のボタンに定義されたアニメーションをフィールドselected_end_object_id_refで示されるアニメーションフレームまで表示せずに、状態の遷移が指示された時点でアニメーション表示を停止し、他の状態のボタンを表示する。
【０１０９】
ブロックactivated_state_info()において、フィールドactivated_state_sound_id_refは、８ビットのデータ長を有し、この実行状態のボタンに対して再生されるサウンドファイルを示す。それぞれ１６ビットのデータ長を有するフィールドactivated_start_object_id_refおよびフィールドactivated_end_object_id_refは、この実行状態のボタンのアニメーションの先頭および末尾のアニメーションフレーム（すなわちボタン画像）を指定するＩＤがそれぞれ示される。フィールドactivated_start_object_id_refおよびフィールドactivated_end_object_id_refが同一のボタン画像を参照していれば、当該実行状態のボタンに対して、１のボタン画像のみが関連付けられていることを示す。
【０１１０】
なお、フィールドactivated_start_object_id_refまたはフィールドactivated_end_object_id_refは、値が〔０ｘＦＦＦＦ〕で、ボタン画像が指定されていないことを示す。一例として、フィールドactivated_start_object_id_refの値が〔０ｘＦＦＦＦ〕であって、且つ、フィールドactivated_end_object_id_refの値が有効なボタン画像を示していれば、当該実行状態のボタンに対してボタン画像が関連付けられていないとされる。また、フィールドactivated_start_object_id_refの値が有効なボタン画像を示し、且つ、フィールドactivated_end_object_id_refの値が〔０ｘＦＦＦＦ〕であれば、無効なボタンとして扱うことが考えられる。
【０１１１】
ブロックactivated_state_info()の説明を終わり、次のフィールドnumber_of_navigation_commandsは、１６ビットのデータ長を有し、このボタンに埋め込まれるコマンドの数を示す。
そして、このフィールドnumber_of_navigation_commandsで示される回数だけ、次のfor文からのループが繰り返され、このボタンにより実行されるコマンドnavigation_command()が定義される。これは、換言すれば、１つのボタンから複数のコマンドを実行させることができることを意味する。
【０１１２】
［1-4.ＩＧデコーダのモデル］
次に、インタラクティブグラフィクス（適宜、ＩＧと略称する）のデコーダモデルについて、図２０を用いて説明する。なお、この図２０に示す構成は、インタラクティブグラフィクスのデコードを行うと共に、プレゼンテーショングラフィクスのデコードにおいても共通的に用いることができるものである。
【０１１３】
先ず、ディスクがプレーヤに装填されると、インデックスファイル"index.bdmv"およびムービーオブジェクトファイル"MovieObject.bdmv"がディスクから読み込まれ、所定にトップメニューが表示される。トップメニューの表示に基づき、再生するタイトルを指示すると、ムービーオブジェクトファイル中の対応するナビゲーションコマンドにより、指示されたタイトルを再生するためのプレイリストファイルが呼び出される。そして、当該プレイリストファイルの記述に従い、プレイリストから再生を要求されたクリップＡＶストリームファイル、すなわち、ＭＰＥＧ２のトランスポートストリームがディスクから読み出される。
【０１１４】
トランスポートストリームは、ＴＳパケットとしてＰＩＤフィルタ１００に供給されてＰＩＤが解析される。ＰＩＤフィルタ１００では、供給されたＴＳパケットがビデオデータ、オーディオデータ、メニューデータおよびサブタイトル（字幕）データの何れを格納したパケットであるかを分類する。
ＰＩＤがメニューデータすなわちインタラクティブグラフィクスを表している場合、若しくは、ＰＩＤがプレゼンテーショングラフィクスを表している場合に、図２０の構成が有効とされる。
なお、プレゼンテーショングラフィクスに関しては、本発明と直接的な関連性がないので、説明を省略する。
【０１１５】
ＰＩＤフィルタ１００において、トランスポートストリームからデコーダモデルが対応するデータを格納するＴＳパケットが選択されて、トランスポートバッファ（以下、ＴＢ：Transport Buffer）１０１に溜め込まれる。そして、ＴＢ１０１上でＴＳパケットのペイロードに格納されているデータが取り出される。ＰＥＳパケットを構成可能なだけのデータがＴＢ１０１に溜め込まれたら、ＰＩＤに基づきＰＥＳパケットが再構築される。すなわち、この段階で、ＴＳパケットに分割されていた各セグメントがそれぞれ統合されることになる。
【０１１６】
各セグメントによるＰＥＳパケットは、ＰＥＳヘッダが取り除かれエレメンタリストリーム形式でデコーダ１０２にそれぞれ供給され、ＣＤＢ(コーデッドデータバッファ：Coded Data Buffer)１１０に一旦溜め込まれる。ＳＴＣに基づき、ＣＤＢ１１０に溜め込まれたエレメンタリストリームのうち、対応するＤＴＳに示される時刻に達したエレメンタリストリームがあれば、当該セグメントは、ＣＤＢ１１０から読み出されてストリームグラフィックプロセッサ１１１に転送され、それぞれデコードされセグメントに展開される。
【０１１７】
ストリームグラフィックプロセッサ１１１は、デコードが完了したセグメントを、ＤＢ(デコーデッドオブジェクトバッファ：Decoded Object Buffer)１１２またはＣＢ(コンポジションバッファ：Composition Buffer)１１３に所定に格納する。ＰＣＳ、ＩＣＳ、ＷＤＳおよびＯＤＳのようにＤＴＳを持つタイプのセグメントであれば、対応するＤＴＳに示されるタイミングで、ＤＢ１１２またはＣＢ１１３に格納する。また、ＰＤＳのようにＤＴＳを持たないタイプのセグメントは、即座にＣＢ１１３に格納される。
【０１１８】
グラフィクスコントローラ１１４は、セグメントを制御する。グラフィクスコントローラ１１４は、ＣＢ１１３からＩＣＳを、当該ＩＣＳに対応するＰＴＳに示されるタイミングで読み出すと共に、当該ＩＣＳにより参照されるＰＤＳを読み出す。また、グラフィクスコントローラ１１４は、当該ＩＣＳから参照されるＯＤＳをＤＢ１１２から読み出す。そして、読み出されたＩＣＳおよびＯＤＳをそれぞれデコードし、ボタン画像などメニュー画面を表示するためのデータを形成し、グラフィクスプレーン１０３に書き込む。
【０１１９】
また、グラフィクスコントローラ１１４は、ＣＢ１１３から読み出されたＰＤＳをデコードして、例えば図１１を用いて説明したようなカラーパレットテーブルを形成し、ＣＬＵＴ１０４に書き込む。
【０１２０】
グラフィクスプレーン１０３に書き込まれた画像イメージは、所定のタイミング、例えばフレームタイミングで読み出され、ＣＬＵＴ１０４のカラーパレットテーブルが参照されて色情報が付加され、出力画像データが構成されて、この出力画像データが出力される。
【０１２１】
［1-5.メニュー画像のビデオストリームへの合成表示］
図２１〜図２３を用いて、ＩＧストリームによるメニュー画像と、メインパスのプレイリストに基づき再生されるビデオストリームとを合成して表示する例について、概略的に説明する。
【０１２２】
図２１は、ＩＧストリームにより表示される一例のメニュー画像を示す。この例では、ＩＧストリームにより、メニューの背景２００が表示されると共に、ボタン２０１Ａ、ボタン２０１Ｂおよびボタン２０１Ｃが表示される。ボタン２０１Ａ、２０１Ｂおよび２０１Ｃのそれぞれには、通常状態、選択状態および実行状態を示すボタン画像を各々、用意することができる。メニューの背景２００は、移動が禁止され、且つ、コマンドが設定されていないボタン（特殊ボタンと称する）により、表示される。なお、各ボタンは重なって表示できないという制約が設けられている。そのため、ボタン２０１Ａ、２０１Ｂおよび２０１Ｃそれぞれに挟まれる部分、ボタン２０１Ａの左側の部分、ならびに、ボタン２０１Ｃの右側の部分は、それぞれ独立した特殊ボタンが配置される。
【０１２３】
これらボタン２０１Ａ、２０１Ｂおよび２０１Ｃは、例えばリモートコントローラの十字キーなどの方向指示キー（方向キー）の操作により右または左が指示されると、操作に応じて通常状態のボタン画像と選択状態のボタン画像とが順次、切り換えて表示される。さらに、この図２１の例では、ボタンが選択状態になっているときに、例えば十字キーに対する下方向を指示する操作、または、決定キーの操作などにより、選択状態のボタンに対応するプルダウンメニュー２０２が表示される。
【０１２４】
プルダウンメニュー２０２は、例えば複数のボタン２０３Ａ、２０３Ｂおよび２０３Ｃから構成される。これら複数のボタン２０３Ａ、２０３Ｂおよび２０３Ｃも、上述のボタン２０１Ａ、２０１Ｂおよび２０１Ｃと同様に、通常状態、選択状態および実行状態を示すボタン画像を各々、用意することができる。
プルダウンメニュー２０２が表示されている状態で例えば十字キーの操作により上または下が指示されると、プルダウンメニュー２０２の各ボタン２０３Ａ、２０３Ｂおよび２０３Ｃが操作に応じて通常状態のボタン画像と選択状態のボタン画像とが順次、切り換えて表示される。
そして、例えば決定ボタンの操作により、選択状態のボタン画像が実行状態のボタン画像に切り換えられて表示され、当該ボタンに割り当てられたコマンドに応じた機能動作がプレーヤにより実行される。
【０１２５】
このようなメニュー画像と、図２２に一例が示される、メインパスのプレイアイテムにより再生され動画プレーン１０に表示される動画データとを合成する場合について考える。
この図２１の画面中、プルダウンメニュー２０２部分を含むメニュー画像以外の部分の不透明度αが"０"に設定され、インタラクティブグラフィクスプレーン１２と、動画プレーン１０とが合成される。これにより、図２３に一例が示されるように、図２２に例示される動画データに対して図２１に例示されるメニュー画像が合成された表示が得られる。
【０１２６】
上述したメニュー画像におけるプルダウンメニュー表示を実現するための方法の例について、概略的に説明する。一例として、ボタン２０１Ａが選択状態になっているときに、リモートコントローラの決定キーを操作してプルダウンメニュー２０２を表示させる例について、図２４を用いて説明する。なお、図２４において、上述した図２１と共通する部分には同一の符号を付し詳細な説明を省略する。
【０１２７】
この図２４の例では、背景２００、ボタン２０１Ａ、２０１Ｂおよび２０１Ｃ、ならびに、プルダウンメニュー２０２を含むメニュー表示がページ"０"で示されるメニュー画面に表示されるものとする。ボタン２０１Ａ、ボタン２０１Ｂおよびボタン２０１Ｃは、それぞれボタンを識別するためのＩＤである値button_idが"１"、"２"および"３"で定義されるボタンオーバーラップグループ（ＢＯＧ）とされる。また、ボタン２０１Ａに対応するプルダウンメニュー２０２における各ボタン２０３Ａ、２０３Ｂおよび２０３Ｃは、値button_idがそれぞれ"３"、"４"および"５"で定義されるボタンオーバーラップグループとされる。
【０１２８】
ボタン２０１Ａを例にとると、ボタン２０１Ａを定義するブロックbutton()において、当該ボタン２０１Ａにより実行されるコマンドnavigation_command()の部分に、例えば次のようにコマンドを記述する。なお、以下に説明する各コマンドは、ＢＤ−ＲＯＭ論理フォーマットにより定義されるコマンドである。
EnableButton(3);
EnableButton(4);
EnableButton(5);
SetButtonPage(1,0,3,0,0);
【０１２９】
これらのコマンドにおいて、コマンドEnableButton()は、括弧「()」内に示される値を値button_idとして定義されたボタンをイネーブル状態（有効状態）とすることを示す。なお、ボタンを有効状態にするコマンドEnableButton()に対して、ボタンをディセーブル状態すなわち無効状態にする場合は、コマンドDisableButton()が用いられる。
【０１３０】
コマンドSetButtonPage()は、例えばコマンドEnableButton()で有効状態とされたボタンを選択可能とさせるためのコマンドである。コマンドSetButtonPage()は、５個のパラメータbutton_flag、パラメータpage_flag、パラメータbutton_id、パラメータpage_idおよびパラメータout_effect_off_flagを持つ。パラメータbutton_flagは、３番目のパラメータであるパラメータbutton_idの値をプレーヤが持つ、再生状態を管理するためのメモリ（ＰＳＲ：Player Status Register）に設定することを示す。パラメータpage_flagは、ＰＳＲに保持している、ページを識別する値page_idを、４番目のパラメータであるパラメータpage_idに変更するか否かを示す。また、パラメータout_effect_off_flagは、当該ボタン２０１Ａが非選択状態になったときに、当該ボタン２０１Ａに定義されるエフェクトが実行されるか否かが示される。
【０１３１】
一方、プルダウンメニュー２０２を構成するボタン２０３Ａ、ボタン２０３Ｂおよびボタン２０３Ｃに対しても、これらのボタンが決定状態となったときに実行されるコマンドnavigation_command()が記述される。図２４の例では、ボタン２０３Ｂに対して、用いるストリームを設定するコマンドSetStream()が記述される。この例では、コマンドSetStream()により２番目のＰＧストリームが用いられることが示される。
【０１３２】
なお、上述したような、各ボタンに対して記述されるコマンドnavigation_command()はあくまで一例であって、これに限られるものではない。例えば、字幕を選択するためのプルダウンメニュー２０２のボタン２０３Ａおよび２０３Ｃにも、上述のボタン２０３Ｂと同様に、コマンドSetStream()が記述されることが考えられる。
【０１３３】
図２４に例示されるメニュー画面において、ボタン２０１Ａが選択状態のときに決定キーを操作すると、値button_idが"３"、"４"および"５"で定義されるボタン、すなわち、プルダウンメニュー２０２におけるボタン２０３Ａ、２０３Ｂおよび２０３Ｃがそれぞれ有効状態とされ、対応するボタン画像が表示される。このとき、コマンドSetButtonPage(1,0,3,0,0)の記述に基づき、値button_idが"３"で示されるボタン２０３Ａが選択状態とされる。
【０１３４】
さらに十字キーなどの操作により下方向が指示されると、ボタンに対するフォーカスが下に移動されてボタン２０３Ａが選択状態から通常状態に遷移され、ボタン２０３Ｂが通常状態から選択状態へと遷移される。この状態で決定キーを操作すると、ボタン２０３Ｂにおけるコマンドnavigation_command()の記述に従い、２番目のＰＧストリームが選択され、字幕表示が英語による字幕に切り換えられる。
【０１３５】
［1-6.隠しボタンについて］
別の例として、ボタン２０１Ａが選択状態となっているときに、リモートコントローラの十字キーなどにより下方向を指定する操作を行って、プルダウンメニュー２０２を表示させる例について、図２５および図２６を用いて説明する。
この例は、いわゆる隠しボタンを用いる例である。
【０１３６】
これら図２５および図２６では、メニュー画像に対して、メインパスのプレイアイテムにより動画プレーン１０に表示される動画データが合成されている。
なお、図２５および図２６において、上述した図２１、図２３および図２４などと共通する部分には同一の符号を付し、詳細な説明を省略する。例えば、図２６に示される、プルダウンメニュー２０２上のボタン２０３Ａ、２０３Ｂおよび２０３Ｃは、それぞれ値button_idが"３"、"４"および"５"で定義され、ボタン２０３Ｂに対して、２番目のＰＧストリームを用いるとされたコマンドSetStream()が記述されるものとする。
【０１３７】
ボタンの選択状態に対して、決定キーではなく下方向キーなどでプルダウンメニュー２０２を表示させる場合、例えば、図２５および図２６に例示されるように、ユーザに対して見せないようにされた隠しボタン２０４を用いる方法が考えられる。隠しボタン２０４は、例えば隠しボタン２０４に関連付けられたボタン画像データに対して、不透明度α＝０を指定することで、実現することができる。
図２５および図２６では、説明のため隠しボタン２０４を点線の枠で示しているが、実際には、隠しボタン２０４は表示されておらず、後ろのプレーン（例えば動画プレーン１０）の画像が透過されて表示されていることになる。
【０１３８】
図２５において、隠しボタン２０４を定義するブロックbutton()については、隠しボタン２０４を識別する値button_idを例えば"７"とし、この隠しボタン２０４を値button_idが"７"で定義されるボタンオーバーラップグループとする。さらに、当該ブロックbutton()については、フラグauto_action_flagの値を例えば"１ｂ"（「ｂ」は、直前の数値がバイナリ値であることを示す）とし、この隠しボタン２０４を、選択状態から自動的に実行状態に遷移するように定義する。そして、当該隠しボタン２０４より実行されるコマンドnavigation_command()の部分に、例えば次のようにコマンドを記述する。
EnableButton(3);
EnableButton(4);
EnableButton(5);
SetButtonPage(1,0,3,0,0);
【０１３９】
一方、例えば字幕選択を行うボタン２０１Ａに対し、フィールドlower_button_id_refの値を"７"とし、ボタン２０１Ａが選択状態のときに十字キーなどの操作により下方向が指定されると、値button_idが"７"のボタン（この例では上述の隠しボタン２０４）が選択状態に遷移するように設定される。
【０１４０】
図２５に例示されるメニュー表示に対し、ボタン２０１Ａが選択状態とされているときに十字キーの操作などにより下方向が指示されると、ボタン２０１Ａにおけるフィールドlower_button_id_refの記述に従い、値button_idが"７"で示される隠しボタン２０４が選択状態とされる。ここで、この隠しボタン２０４には、フラグauto_action_flagにより選択状態から自動的に実行状態に遷移するように定義されている。そのため、隠しボタン２０４におけるコマンドnavigation_command()の部分のコマンドEnableButton()の記述に従い、値button_idが"３"、"４"および"５"で定義されるボタン、すなわちプルダウンメニュー２０２のボタン２０３Ａ、２０３Ｂおよび２０３Ｃがそれぞれ有効状態とされ、対応するボタン画像が表示される（図２６参照）。このとき、コマンドSetButtonPage(1,0,3,0,0)の記述に基づき、値button_idが"３"で示されるボタン２０３Ａが選択状態とされる。
【０１４１】
さらに十字キーなどの操作により下方向が指示されると、ボタンに対するフォーカスが移動されてボタン２０３Ａが選択状態から通常状態に遷移され、ボタン２０３Ｂが通常状態から選択状態へと遷移される。この状態で決定キーを操作すると、ボタン２０３Ｂにおけるコマンドnavigation_command()の記述に従い、２番目のプレゼンテーショングラフィクスストリームが選択され、字幕表示が英語による字幕に切り換えられる。
【０１４２】
＜２．再生装置の構成＞
次に、本発明の情報処理装置の一実施形態としての、再生装置１の全体的な構成について説明する。
図２７は、再生装置１の全体的な内部構成について説明するための図である。
図２７において、再生装置１は、ストレージドライブ５０、スイッチ部５１、ＡＶデコーダ部５２、コントローラ５３、及びタッチパネル９２ａを具備するディスプレイ９２が備えられる。
ストレージドライブ５０は、例えば、上述したＢＤ−ＲＯＭを装填し再生可能とされているものとする。
また、本実施の形態の再生装置１は、前述したリモートコントローラを用いた操作入力のみでなく、タッチパネル９２ａを用いた操作入力が可能とされているが、この点については後に改めて説明する。
【０１４３】
コントローラ５３は、例えばＣＰＵ(Central Processing Unit)と、ＣＰＵ上で動作されるプログラムが予め格納されたＲＯＭ(Read Only Memory)、ＣＰＵによりプログラムの実行時にワークメモリとして用いられるＲＡＭ(Random Access Memory)などからなり、再生装置１の全体的な動作を制御する。
【０１４４】
また、再生装置１には、ユーザに対して所定の制御情報を提供すると共に、ユーザの操作に応じた制御信号を出力するようにされたユーザインターフェース部が設けられる。詳細な図示は省略したが、本例の場合、当該ユーザインタフェース部としては、赤外線通信など所定の無線通信手段を介して再生装置１と遠隔的に通信を行うリモートコントローラが用いられる。リモートコントローラ上には、上下左右方向をそれぞれ指示可能な十字キーといった方向キーや、数字キー（いわゆる１０キー）、各種機能が予め割り当てられた機能キーなど、複数の入力手段が設けられる。なお、方向キーは、上下左右方向をそれぞれ指定可能であれば、形状は問わない。
【０１４５】
リモートコントローラは、これらの入力手段に対してなされた操作に応じた制御信号（操作入力信号）を生成し、生成された制御信号を例えば赤外線信号に変調して送信する。再生装置１は、図示されない赤外線受信部においてこの赤外線信号を受信し、赤外線信号を電気信号に変換して復調し、元の制御信号を復元する。この制御信号がコントローラ５３に供給される。
コントローラ５３は、この制御信号に応じて、プログラムに従い、再生装置１の動作を制御する。
【０１４６】
なお、ユーザインターフェース部は、リモートコントローラに限らず、例えば再生装置１の操作パネルに設けられたスイッチ群により構成することもできる。
【０１４７】
また、当該再生装置１の言語設定の初期情報が、再生装置１が有する不揮発性メモリなどに記憶される。この言語設定の初期情報は、例えば再生装置１の電源投入時などにメモリから読み出され、コントローラ５３に供給される。
【０１４８】
ストレージドライブ５０にディスクが装填されると、コントローラ５３は、ストレージドライブ５０を介してディスク上のファイルindex.bdmvやファイルMovieObject.bdmvを読み出し、読み出されたファイルの記述に基づきディレクトリ"PLAYLIST"内のプレイリストファイルを読み出す。
コントローラ５３は、プレイリストファイルに含まれるプレイアイテムが参照するクリップＡＶストリームを、ディスクからストレージドライブ５０を介して読み出す。また、コントローラ５３は、プレイリストがサブプレイアイテムを含む場合は、サブプレイアイテムにより参照されるクリップＡＶストリームやサブタイトルデータも、ディスクからストレージドライブ５０を介して読み出す。
【０１４９】
なお、以下では、サブプレイアイテムに対応するクリップＡＶストリームを、サブクリップＡＶストリームと呼び、サブプレイアイテムに対する主たるプレイアイテムに対応するクリップＡＶストリームを、メインクリップＡＶストリームと呼ぶ。
【０１５０】
ストレージドライブ５０から出力されたデータは、図示されない復調部およびエラー訂正部により復調処理およびエラー訂正処理を所定に施され、多重化ストリームが復元される。ここでの多重化ストリームは、ＰＩＤによりデータの種類や並び順などが識別され、所定サイズに分割され時分割多重されたトランスポートストリームである。この多重化ストリームは、スイッチ部５１に供給される。コントローラ５３は、例えばＰＩＤに基づきスイッチ部５１を所定に制御してデータを種類毎に分類し、メインクリップＡＶストリームのパケットをバッファ６０に供給し、サブクリップＡＶストリームのパケットをバッファ６１に供給し、サウンドデータのパケットをサウンド出力部６２に供給し、テキストデータのパケットをバッファ６３に供給する。
【０１５１】
バッファ６０に溜め込まれたメインクリップＡＶストリームのパケットは、コントローラ５３の制御に基づきバッファ６０からパケット毎に読み出され、ＰＩＤフィルタ６４に供給される。ＰＩＤフィルタ６４は、供給されたパケットのＰＩＤに基づき、パケットを、ビデオストリームによるパケット、プレゼンテーショングラフィクスストリーム（以下、ＰＧストリーム）によるパケット、インタラクティブグラフィクスストリーム（ＩＧストリーム）によるパケットおよびオーディオストリームによるパケットに振り分ける。
【０１５２】
一方、バッファ６１に溜め込まれたサブクリップＡＶストリームのパケットは、コントローラ５３の制御に基づきバッファ６１からパケット毎に読み出され、ＰＩＤフィルタ９０に供給される。ＰＩＤフィルタ９０は、供給されたパケットのＰＩＤに基づき、パケットを、ビデオストリームによるパケット、ＰＧストリームによるパケット、ＩＧストリームによるパケットおよびオーディオストリームによるパケットに振り分ける。
【０１５３】
ＰＩＤフィルタ６４により振り分けられたビデオストリームによるパケットと、ＰＩＤフィルタ９０により振り分けられたビデオストリームによるパケットは、それぞれＰＩＤフィルタ６５に供給され、ＰＩＤに応じて振り分けられる。すなわち、ＰＩＤフィルタ６５は、ＰＩＤフィルタ６４から供給された、メインクリップＡＶストリームによるパケットを１ｓｔビデオデコーダ６９に、ＰＩＤフィルタ９０から供給された、サブクリップＡＶストリームによるパケットを２ｎｄビデオデコーダ７２に、それぞれ供給するように、パケットを振り分ける。
【０１５４】
１ｓｔビデオデコーダ６９は、供給されたパケットのペイロードからビデオストリームを所定に取り出し、取り出されたビデオストリームのＭＰＥＧ２方式による圧縮符号を復号化する。１ｓｔビデオデコーダ６９の出力は、１ｓｔビデオプレーン生成部７０に供給され、ビデオプレーンが生成される。ビデオプレーンの生成は、例えばベースバンドのディジタルビデオデータの１フレームがフレームメモリに書き込まれることで生成される。１ｓｔビデオプレーン生成部７０で生成されたビデオプレーンは、ビデオデータ処理部７１に供給される。
【０１５５】
２ｎｄビデオデコーダ７２および２ｎｄビデオプレーン生成部７３において、上述の１ｓｔビデオデコーダ６９および１ｓｔビデオプレーン生成部７０と略同様の処理がなされ、ビデオストリームが復号化されビデオプレーンが生成される。２ｎｄビデオプレーン生成部７３で生成されたビデオプレーンは、ビデオデータ処理部７１に供給される。
【０１５６】
ビデオデータ処理部７１は、１ｓｔビデオプレーン生成部７０で生成されたビデオプレーンと、２ｎｄビデオプレーン生成部７３で生成されたビデオプレーンとを、１つのフレームに例えば所定に嵌め込んで１枚のビデオプレーンを生成することができる。１ｓｔビデオプレーン生成部７０で生成されたビデオプレーンと、２ｎｄビデオプレーン生成部７３で生成されたビデオプレーンとを、選択的に用いてビデオプレーンを生成してもよい。このビデオプレーンは、例えば先の図９に例示した動画プレーン１０に対応する。
【０１５７】
ＰＩＤフィルタ６４により振り分けられたＰＧストリームによるパケットと、ＰＩＤフィルタ９０により振り分けられたＰＧストリームによるパケットは、それぞれスイッチ部６６に供給されて一方が所定に選択され、プレゼンテーショングラフィクスデコーダ７４に供給される。プレゼンテーショングラフィクスデコーダ７４は、供給されたパケットのペイロードからＰＧストリームを所定に取り出してデコードして字幕を表示するグラフィクスデータを生成し、スイッチ部７５に供給する。
【０１５８】
スイッチ部７５は、このグラフィクスデータと、後述するテキストデータによる字幕データとを所定に選択し、プレゼンテーショングラフィクスプレーン生成部７６に供給する。プレゼンテーショングラフィクスプレーン生成部７６は、供給されたデータに基づきプレゼンテーショングラフィクスプレーンを生成し、ビデオデータ処理部７１に供給する。このプレゼンテーショングラフィクスプレーンは、例えば先の図９に例示した字幕プレーン１１に対応する。
【０１５９】
ＰＩＤフィルタ６４により振り分けられたＩＧストリームによるパケットと、ＰＩＤフィルタ９０により振り分けられたＩＧストリームによるパケットは、それぞれスイッチ部６７に供給されて一方が所定に選択され、インタラクティブグラフィクスデコーダ７７に供給される。インタラクティブグラフィクスデコーダ７７は、供給されたＩＧストリームによるパケットからＩＧストリームのＩＣＳ、ＰＤＳおよびＯＤＳを所定に取り出してデコードする。例えば、インタラクティブグラフィクスデコーダ７７は、供給されたパケットのペイロードからデータを取り出し、ＰＥＳパケットを再構築する。そして、このＰＥＳパケットのヘッダ情報などに基づき、ＩＧストリームのＩＣＳ、ＰＤＳおよびＯＤＳをそれぞれ取り出す。デコードされたＩＣＳはおよびＰＤＳは、ＣＢ(Composition Buffer)と呼ばれるバッファに格納される。また、ＯＤＳは、ＤＢ(Decoded Buffer)と呼ばれるバッファに格納される。例えば図２７におけるプリロードバッファ７８が、これらＣＢおよびＤＢに相当する。
【０１６０】
なお、ＰＥＳパケットは、再生出力に関する時間管理情報であるＰＴＳ(Presentation Time Stamp)と、復号化に関する時間管理情報であるＤＴＳ(Decoding Time Stamp)とを有している。ＩＧストリームによるメニュー表示は、対応するＰＥＳパケットに格納されるＰＴＳにより時間管理されて表示される。例えば、上述したプリロードバッファに格納されたＩＧストリームを構成する各データは、ＰＴＳに基づき所定の時間に読み出すように制御される。
【０１６１】
プリロードバッファ７８から読み出されたＩＧストリームのデータは、インタラクティブグラフィクスプレーン生成部７９に供給され、インタラクティブグラフィクスプレーンが生成される。このインタラクティブグラフィクスプレーンは、例えば先の図９に例示したグラフィクスプレーン１２に対応する。
【０１６２】
例えば、ユーザインターフェース部に設けられた入力手段に対する所定の操作に応じて、表示するボタンの状態が例えば選択状態から実行状態へと遷移したときには、インタラクティブグラフィクスデコーダ７７は、ボタンの実行状態に関連付けられたボタン画像およびサウンドデータに基づき、当該ボタンの実行状態に関連付けられたボタン画像の表示制御を行う。
【０１６３】
一例として、リモートコントローラに対して設けられた所定のキー操作により、メニュー画像の表示が指示された場合、再生中のプレイアイテムにメニュー画像の表示が定義されていれば、関連するＩＧストリームのデータに基づきメニュー画像をメインパスの動画データと合成して表示させるように制御する。例えば、インタラクティブグラフィクスデコーダ７７は、ＣＢに格納されたデコードされたＩＣＳから参照される、デコードされたＰＤＳをＣＢから読み出すと共に、対応するデコードされたＯＤＳをＤＢから読み出し、ボタン画像を表示するためのデータを形成する。
【０１６４】
また、インタラクティブグラフィクスデコーダ７７は、ＣＢに格納されたデコードされたＩＣＳから、各ボタンに関連付けられたナビゲーションコマンドを抽出する。抽出されたナビゲーションコマンドは、例えばコントローラ５３に渡される。コントローラ５３は、このナビゲーションコマンドに基づき再生装置１の各部を所定に制御する。これにより、そのボタンに対応付けられたコマンドに応じた機能動作が実現される。
【０１６５】
ビデオデータ処理部７１は、例えば図１０を用いて説明したグラフィクス処理部を含み、供給されたビデオプレーン（図１０における動画プレーン１０）、プレゼンテーショングラフィクスプレーン（図１０における字幕プレーン１１）およびインタラクティブグラフィクスプレーン（図１０におけるグラフィクスプレーン１２）を、所定に合成して１枚の画像データとし、ビデオ信号にして出力する。
当該ビデオ信号は、図のようにディスプレイ９２に対して供給される。
【０１６６】
ディスプレイ９２は、上記ビデオ信号に基づく画像を表示画面上に表示する。
【０１６７】
ＰＩＤフィルタ６４により振り分けられたオーディオストリームと、ＰＩＤフィルタ９０により振り分けられたオーディオストリームは、それぞれスイッチ部６８に供給される。スイッチ部６８は、供給された２つのオーディオストリームのうち一方を１ｓｔオーディオデコーダ８０に、他方を２ｎｄオーディオデコーダ８１に供給するように、所定に選択する。１ｓｔオーディオデコーダ８０および２ｎｄオーディオデコーダ８１でそれぞれデコードされたオーディオストリームは、加算器８２で合成される。
【０１６８】
サウンド出力部６２は、バッファメモリを有し、スイッチ部５１から供給されたサウンドデータをバッファメモリに溜め込む。そして、例えばインタラクティブグラフィクスデコーダ７７からの指示に基づき、バッファメモリに溜め込まれたサウンドデータをデコードし、出力する。出力されたサウンドデータは、加算器８３に供給され、加算器８２から出力されたオーディオストリームと合成される。サウンドデータの再生終了時刻は、例えば、サウンド出力部６２からインタラクティブグラフィクスデコーダ７７に対して通知される。なお、サウンドデータの再生と、ボタン画像の表示との協調的な制御は、より上位のコントローラ５３の命令に基づき行うようにしてもよい。
【０１６９】
バッファ６３から読み出されたテキストデータは、Ｔｅｘｔ−ＳＴコンポジション部９１で所定に処理され、スイッチ部７５に供給される。
【０１７０】
なお、上記では、再生装置１の各部がハードウェアで構成されるように説明したが、例えば再生装置１をソフトウェア上の処理として実現することも可能である。この場合、再生装置１をコンピュータ装置上で動作させることができる。
或いは、再生装置１をハードウェアおよびソフトウェアが混合された構成で実現することもできる。例えば、再生装置１における各デコーダ、特に、１ｓｔビデオデコーダ６９、２ｎｄビデオデコーダ７２など処理の負荷が他と比べて大きな部分をハードウェアで構成し、その他をソフトウェアで構成することが考えられる。
【０１７１】
再生装置１をソフトウェアのみ、または、ハードウェアおよびソフトウェアの混合により構成し、コンピュータ装置で実行させるためのプログラムは、例えばＣＤ−ＲＯＭ(Compact Disc-Read Only Memory)やＤＶＤ−ＲＯＭ(Digital Versatile Disc Read Only Memory)といった記録媒体に記録されて提供される。この記録媒体をコンピュータ装置のドライブに装填し、記録媒体上に記録されたプログラムを所定にコンピュータ装置にインストールすることで、上述の処理をコンピュータ装置上で実行可能な状態とすることができる。プログラムをＢＤ−ＲＯＭに記録することも考えられる。なお、コンピュータ装置の構成は、極めて周知であるため、説明は省略する。
【０１７２】
＜３．ボタンの当たり判定について＞
ここで、前述のように、本実施の形態の再生装置１は、タッチパネル９２ａによる操作入力が可能に構成されている。
このタッチパネル９２ａは、ディスプレイ９２の表示画面上に設けられ、タッチ操作が行われた位置を表す座標情報を、操作入力情報としてコントローラ５３に出力する。
【０１７３】
本実施の形態のコントローラ５３は、このようなタッチパネル９２ａからの操作入力情報に応じて、以下のようにして画面上に表示されたボタンについての当たり判定（ボタンに対する操作が行われたか否かの判定）を行う。
【０１７４】
図２８は、タッチパネル９２ａに対応したボタンの当たり判定の具体的手法について説明するための図である。
この図に示されるように、タッチパネル９２ａからの操作入力情報に応じたボタンの当たり判定を行うにあたっては、先の図１９に示した情報のうちのbutton_horizontal_positionおよびbutton_vertical_positioの情報と、object_widtheおよびobject_heightの情報とを用いる。
先の説明からも理解されるように、button_horizontal_positionおよびbutton_vertical_positioの情報は、そのボタンを表示する画面上の水平方向の位置および垂直方向の位置を示す情報であり、従ってそのボタンの画面上での表示位置を表すための座標情報として機能する。
また、object_widtheおよびobject_heightの情報は、そのボタンのサイズを表す情報であり、それぞれ、そのボタンの水平方向の長さ（幅）、垂直方向の長さ（高さ）を表す。
ここで、これらobject_widtheおよびobject_heightの情報は、ＯＤＳによって伝送されている情報である。具体的には、ＯＤＳ内のobject_data内に格納されている情報である。当該object_dataは、例えば図１９に示したnormal_start_object_id_refやnormal_end_object_id_refなど、そのボタンのobjectを指し示す情報を経て参照されることになる。
【０１７５】
この場合のコントローラ５３は、例えばメニュー画像などのＩＧ画像（ＩＧストリームデータに基づき画面上に表示される画像）を画面上に表示している状態において、インタラクティブグラフィクスデコーダ７７より、その画像内に表示される各ボタンについての上記button_horizontal_positionの情報、button_vertical_positioの情報、object_widtheの情報、およびobject_heightの情報を取得する。
そして、これら取得した情報から、画面内に表示される各ボタンについて、それらの表示領域を表す表示領域情報を生成する。
ボタンの当たり判定は、タッチパネル９２ａからの操作入力情報が示す座標（タッチ操作のあった位置を表す座標）が、このように生成した表示領域情報が示す表示領域の範囲内にあるか否かを判別することで行う。
【０１７６】
＜４．実施の形態としての情報処理方法＞
ここで、これまでの説明からも理解されるように、ＢＤ−ＲＯＭ規格（特にＩＧに係る部分）は、リモートコントローラ等の方向キーや決定キーを用いた操作を行うユーザインターフェースを用いることを前提として策定されたものとなっている。換言すれば、ＢＤ−ＲＯＭ規格は、タッチパネル９２ａなどの画面上の任意位置を直接的に指示できるインターフェースには本来非対応の規格とされている。
【０１７７】
またこの一方で、ＢＤ−ＲＯＭ規格では、例えば先の図２５や図２６を参照して説明したような隠しボタンの存在を許容しているが、この隠しボタンとしても、上記のようなＢＤ−ＲＯＭ規格上で成り立つようにされている以上、これが直接的に操作されることは想定外となる。
前述のように、隠しボタンは、方向キー操作によって選択された際に本来の機能を発揮するようにされているので、当該隠しボタンがタッチパネル９２ａを用いた操作によって予期しないタイミングで操作されてしまった場合には、誤動作が生じてしまう虞がある。
【０１７８】
そこで本実施の形態では、タッチパネル９２ａなど画面上のボタンを直接的に操作可能なユーザインタフェースが採用される場合におけるこのような誤動作の発生を防止すべく、以下で説明するような回避手法を採る。
【０１７９】
図２９は、実施の形態としての情報処理方法について説明するためのフローチャートである。
なお、この図２９に示すフローチャートは、図２７に示したコントローラ５３が例えば前述のＲＯＭ等のメモリに格納されたプログラムに従って実行するものである。
【０１８０】
先ず、ステップＳ１０では、画面タッチが行われるまで待機する。すなわち、タッチパネル９２ａからの操作入力情報の受信があるまで待機するものである。
そして、タッチパネル９２ａからの操作入力情報が受信され、画面タッチがあったとの肯定結果が得られた場合は、ステップＳ１１に進み、タッチされた座標の計算を行う。
【０１８１】
続くステップＳ１２では、ボタンへのタッチか否かを判別する。すなわち、先に説明した当たり判定を行うものである。
具体的には、ステップＳ１１にて算出した座標が、予めインタラクティブグラフィクスデコーダ７７から取得した画面内の各ボタンのbutton_horizontal_position、button_vertical_positio、object_widthe、object_heightの各情報に基づき生成した各ボタンの表示領域情報が示す範囲内の何れかにあるか否かを判別する。
【０１８２】
ステップＳ１２において、ステップＳ１１で算出した座標が上記各ボタンの表示領域情報が示す範囲内の何れにも無く、ボタンへのタッチではなかったとの否定結果が得られた場合は、図示するようにステップＳ１０に戻り、再度画面へのタッチを待機するようにされる。
【０１８３】
一方、ステップＳ１２において、ステップＳ１１で算出した座標が上記各ボタンの表示領域情報が示す範囲内の何れかにあり、ボタンへのタッチがあったとの肯定結果が得られた場合は、ステップＳ１３に進む。
このステップＳ１３を含むステップＳ１３〜Ｓ１５の処理により、隠しボタンに対する直接操作に伴う誤動作の発生の防止が図られる。
【０１８４】
先ず、ステップＳ１３では、ボタンの色が透明であるか否かを判別する。すなわち、ステップＳ１２でタッチされたとしたボタンの色が透明であるか否かを判別するものである。
先に説明したように、ボタンの色情報（不透明度の情報）は、ＩＧストリームによって伝送されるＰＤＳ内に格納されている。コントローラ５３は、上記タッチされたとしたボタンについての不透明度の情報をインタラクティブグラフィクスデコーダ７７を介して取得し、当該不透明度の情報に基づいてボタンの色が透明であるか否かの判別を行う。具体的には、例えば当該不透明度の情報が示す不透明度の値と予め設定された閾値とを比較した結果に基づき、上記タッチされたとしたボタンの色が透明であるか否かを判別する。
【０１８５】
ステップＳ１３において、ボタンの色が透明であるとして肯定結果が得られた場合は、図示するようにしてステップＳ１０に戻るようにされる。つまりこれにより、タッチされたボタンの色が透明である場合、換言すれば、タッチされたボタンが隠しボタンとしての直接操作の想定されていないボタンであるとされる場合に対応して、そのボタンに対応するコマンドが実行されないようにできる。
【０１８６】
一方、ステップＳ１３において、ボタンの色が透明ではないとの否定結果が得られた場合は、ステップＳ１４に進む。
ステップＳ１４においては、各stateのobjectへの参照が0xFFFFであるか否かを判別する。すなわち、図１９に示したnormal_state_info()、selected_state_info()およびactivated_state_info()における各object_id_refによるobjectへの参照が0xFFFFであるか否か（つまり画像参照情報として有効な情報が格納されているか否か）を判別する。
上記各object_id_refのobjectへの参照が0xFFFFであるとして肯定結果が得られた場合は、ステップＳ１０に戻る。これにより、タッチされたボタンに対応する画像参照情報が有効でなく（つまりボタンとしての画像が表示されない状態にあり）、当該タッチされたボタンが隠しボタンとしての直接操作の想定されていないボタンであるとされる場合に対応して、そのボタンに対応するコマンドが実行されないようにできる。
【０１８７】
また、ステップＳ１４において、各object_id_refのobjectへの参照が0xFFFFであるとの条件が満たされず否定結果が得られた場合は、ステップＳ１５に進む。
ステップＳ１５では、number_of_BOGs＞１で且つneighbor_info()が全て自分（自ボタン）を指すか否かを判別する。ここで、前述もしたようにnumber_of_BOGsは、ページ内でのボタンの表示数を表すものである。また、neighbor_info()は、そのボタンが選択状態のときに方向キーが操作された際に、どのボタンが選択状態に遷移するかを示す情報である。
ステップＳ１５において、number_of_BOGs＞１で且つneighbor_info()が全て自分を指すとの肯定結果が得られた場合は、ステップＳ１０に戻る。これによって、タッチされたボタンが隠しボタンとしての直接操作の想定されていないボタンであるとされる場合に対応して、そのボタンに対応するコマンドが実行されないようにできる。
【０１８８】
また、ステップＳ１５において、number_of_BOGs＞１で且つneighbor_info()が全て自分を指すとの条件が満たされず否定結果が得られた場合は、ステップＳ１６に進み、タッチされたボタンのコマンドを実行する。
このようにして、ステップＳ１３〜Ｓ１５の各判別処理の全てで否定結果が得られた場合、換言すれば、タッチされたボタンが隠しボタンとしての直接操作の想定されていないボタンではないとされる場合には、タッチされたボタンのコマンドが実行される。
【０１８９】
コントローラ５３は、上記ステップＳ１６の処理の実行を以て、この図に示される一連の処理動作を終了する。
【０１９０】
上記により説明したような本実施の形態としての情報処理方法により、タッチパネル９２ａのような画面上のボタンの表示領域を直接的に指示する操作が可能とされた操作部が備えられる場合に、隠しボタンとしてのユーザによる直接操作（直接指示）が想定されていないボタンが直接操作されてしまうことによる誤動作の発生を効果的に防止することができる。
【０１９１】
＜５．変形例＞
以上、本発明の実施の形態について説明したが、本発明としてはこれまでで説明した具体例に限定されるべきものではない。
例えば、直接操作が想定されていないボタンであるか否かの判定にあたっては、図２９における３つの条件（Ｓ１３〜Ｓ１５）を基準とするものとしたが、これらはあくまで一例であって、これらの条件に限定されるべきものではない。
一例として、ステップＳ１３の条件に関しては、必ずしも完全に透明であることを要しない。すなわち、透明と見なすことができる程度の不透明度であれば、それを透明と見なすようにすることもできる。
【０１９２】
また、ステップＳ１５に関しては、そのボタンのneighbor_info()が全て自ボタンを指すか否かを見るのではなく、ページ内の各ボタンのneighbor_info()を参照し、それらのneighbor_info()の何れによっても、タッチ操作のあったボタンが指し示されていないか否かを判別するようにしてもよい。
【０１９３】
また、これまでの説明では、直接操作が想定されていないボタンであるか否かを判定するための複数の条件の関して、それらのうち何れか１つが満たされることを以て直接操作されることが想定されていないボタンであるとの判定結果を得るものとしたが、それら複数の条件のうち２以上の条件が満たされたときに、直接操作されることが想定されていないボタンであるとの判定結果を得るようにしてもよい。
【０１９４】
また、これまでの説明では、画面上に表示されたボタンを直接指示可能な操作部として、タッチパネルを用いる例を挙げたが、マウス等のポインティングデバイスを用いた場合にも本発明は好適に適用できる。
この場合には、画面上でマウスのクリック操作が行われた位置（マウス操作に応じて移動するカーソルがクリック操作時に指し示していた画面上の位置）を表す座標の情報を、実施の形態で説明したタッチパネル９２ａが出力する操作入力情報に相当する情報として扱うものとすればよい。
【０１９５】
また、これまでの説明では、操作部を介して画面上のボタンが指示されたと判定された場合に、当該指示されたボタンが直接操作の想定されていないボタンであるか否かの判定を行うものとしたが、これに代えて、ページ内に表示される各ボタンについて事前にそのボタンが直接操作の想定されていないボタンであるか否かの判定を行っておくようにもできる。
【符号の説明】
【０１９６】
１ 再生装置、１０ 動画プレーン、１１ 字幕プレーン、１２ インタラクティブグラフィクスプレーン、５０ ストレージドライブ、５１ スイッチ部、５２ ＡＶデコーダ部、５３ コントローラ、６２ サウンド出力部、７７ インタラクティブグラフィクスデコーダ、９２  ディスプレイ、９２ａ  タッチパネル、１０２ グラフィクスデコーダ、１０３ グラフィクスプレーン、１０４ ＣＬＵＴ、１１１ ストリームグラフィクスプロセッサ、１１２ ＤＢ、１１３ ＣＢ、１１４ グラフィクスコントローラ、２０１Ａ，２０１Ｂ，２０１Ｃ ボタン、２０２ プルダウンメニュー、２０３Ａ，２０３Ｂ，２０３Ｃ ボタン、２０４ 隠しボタン
【図１】
0005655478.tif 000002
【図２】
0005655478.tif 000003
【図３】
0005655478.tif 000004
【図４】
0005655478.tif 000005
【図５】
0005655478.tif 000006
【図６】
0005655478.tif 000007
【図７】
0005655478.tif 000008
【図８】
0005655478.tif 000009
【図９】
0005655478.tif 000010
【図１０】
0005655478.tif 000011
【図１１】
0005655478.tif 000012
【図１２】
0005655478.tif 000013
【図１３】
0005655478.tif 000014
【図１４】
0005655478.tif 000015
【図１５】
0005655478.tif 000016
【図１６】
0005655478.tif 000017
【図１７】
0005655478.tif 000018
【図１８】
0005655478.tif 000019
【図１９】
0005655478.tif 000020
【図２０】
0005655478.tif 000021
【図２１】
0005655478.tif 000022
【図２４】
0005655478.tif 000023
【図２７】
0005655478.tif 000024
【図２８】
0005655478.tif 000025
【図２９】
0005655478.tif 000026
【図２２】
0005655478.tif 000027
【図２３】
0005655478.tif 000028
【図２５】
0005655478.tif 000029
【図２６】
0005655478.tif 000030