(57)【要約】【課題】  再生されるコンテンツに対するユーザによるインタラクティブな操作を行うためのボタンを適切に表示する。【解決手段】  ボタンの実行状態に対し、１のボタン画像のみが関連付けられている場合、当該実行状態が選択状態から自動的に遷移したものか、当該実行状態により実行されるコマンドがページの切り換えを伴うものであれば、当該１のボタン画像を１フレーム期間だけ表示し、コマンドが実行される。一方、これらの何れでもない場合には、実行状態をユーザに明示的に提示可能な所定時間（例えば５００ｍｓｅｃ）の長さで表示し、コマンドが実行される。また、当該ボタンの実行状態にサウンドデータおよび１のボタン画像が関連付けられていれば、サウンドデータの再生終了後にコマンドが実行される。ボタンの実行状態に対して１のボタン画像のみが関連付けられている場合でも、ボタンの表示を適切に行うことができる。【選択図】  図２８
2008090627.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを再生する再生装置において、
少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いる、通常状態、選択状態および実行状態の３状態が定義可能なボタンを表示するための該３状態に関連付けられる複数のボタン画像と、該複数のボタン画像の表示を制御する表示制御情報と上記実行状態に応じて実行されるコマンドとを含むボタン制御情報とが入力される入力部と、
ユーザ操作を受け付ける操作入力部と、
上記操作入力部に対する上記ユーザ操作に応じて、上記表示制御情報に基づき上記複数のボタン画像による上記ボタンの通常状態、選択状態および実行状態の表示制御を行い、上記コマンドの実行制御を行う制御部と
を有し、
上記制御部は、
上記ボタンの上記実行状態に１の上記ボタン画像のみが関連付けられている場合に、上記表示制御情報に基づき、該１のボタン画像の表示を該ボタンの実行状態を明示的に提示可能な所定時間の長さで行うか否かを判断し、
上記ボタンの実行状態に関連付けられたボタン画像の表示が終了した後に、上記コマンドが実行されるようにした
ことを特徴とする再生装置。
【請求項２】
請求項１に記載の再生装置において、
上記制御部は、
上記表示制御情報により上記ボタンが上記選択状態から上記実行状態に自動的に遷移するように指示されている場合に、該ボタンの実行状態に関連付けられた上記１のボタン画像の上記所定時間の長さでの表示を行わないと判断する
ことを特徴とする再生装置。
【請求項３】
請求項１に記載の再生装置において、
上記操作画面は、複数ページを用いて構成可能とされ、
上記制御部は、
上記表示制御情報に基づき、上記１のボタン画像のみが関連付けられた上記ボタンの実行状態に応じて実行される上記コマンドが上記操作画面の上記ページの切り換えを伴う場合に、該ボタンの実行状態に関連付けられた上記１のボタン画像の上記所定時間の長さでの表示を行わないと判断する
ことを特徴とする再生装置。
【請求項４】
請求項１に記載の再生装置において、
上記制御部は、
上記表示制御情報に基づき、
上記ボタンの上記実行状態に１の上記ボタン画像のみが関連付けられている場合に、該ボタンの実行状態を明示的に提示可能な上記所定時間の長さでの該１のボタン画像の表示を行わないと判断したら、該１のボタン画像を１フレーム期間だけ表示するように制御する
ことを特徴とする再生装置。
【請求項５】
請求項１に記載の再生装置において、
上記入力部に、上記ボタンに関連付けられたサウンドデータがさらに入力され、
上記制御部は、
上記ボタンの上記実行状態に上記サウンドデータと１の上記ボタン画像とが関連付けられている場合、該サウンドデータの再生が終了した後に上記コマンドを実行する
ことを特徴とする再生装置。
【請求項６】
ユーザ操作を受け付けるユーザ操作入力部に対するユーザ操作に応じて、ユーザに対して操作を促す操作画面に用いる通常状態、選択状態および実行状態の３状態が定義可能なボタンを表示するための該３状態に関連付けられる複数のボタン画像の表示を制御する表示制御情報に基づき上記複数のボタン画像による上記ボタンの通常状態、選択状態および実行状態の表示制御を行い、
上記ボタンの上記実行状態に１の上記ボタン画像のみが関連付けられている場合、上記表示制御情報に基づき、該１のボタン画像の表示を該ボタンの実行状態を明示的に提示可能な所定時間の長さで行うか否かを判断し、
上記ボタンの実行状態に関連付けられたボタン画像の表示が終了した後に、上記ボタンの実行状態に応じて実行される上記コマンドが実行されるようにした
ことを特徴とする表示制御方法。
【請求項７】
ユーザ操作を受け付けるユーザ操作入力部に対するユーザ操作に応じて、ユーザに対して操作を促す操作画面に用いる通常状態、選択状態および実行状態の３状態が定義可能なボタンを表示するための該３状態に関連付けられる複数のボタン画像の表示を制御する表示制御情報に基づき上記複数のボタン画像による上記ボタンの通常状態、選択状態および実行状態の表示制御を行い、
上記ボタンの上記実行状態に１の上記ボタン画像のみが関連付けられている場合、上記表示制御情報に基づき、該１のボタン画像の表示を該ボタンの実行状態を明示的に提示可能な所定時間の長さで行うか否かを判断し、
上記ボタンの実行状態に関連付けられたボタン画像の表示が終了した後に、上記ボタンの実行状態に応じて実行される上記コマンドが実行されるようにした表示制御方法をコンピュータ装置に実行させる
ことを特徴とする表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブルーレイディスク(Blu-ray Disc)といった大容量の記録媒体に記録されたコンテンツに対する、ユーザによるインタラクティブな操作の操作性を向上させるような再生装置、表示制御方法および表示制御プログラムに関する。
【背景技術】
【０００２】
近年、記録可能で記録再生装置から取り外し可能なディスク型記録媒体の規格として、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（ブルーレイディスク：登録商標）規格が実用化されている。Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格では、記録媒体として直径１２ｃｍ、カバー層０．１ｍｍのディスクを用い、光学系として波長４０５ｎｍの青紫色レーザ、開口数０．８５の対物レンズを用いて、最大で２７ＧＢ（ギガバイト）の記録容量を実現している。これにより、日本のＢＳディジタルハイビジョン放送を、画質を劣化させることなく２時間以上記録することが可能である。
【０００３】
この記録可能光ディスクに記録するＡＶ(Audio/Video)信号のソース（供給源）としては、従来からの、例えばアナログテレビジョン放送によるアナログ信号によるものと、例えばＢＳディジタル放送をはじめとするディジタルテレビジョン放送によるディジタル信号によるものとが想定されている。Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格では、これらの放送によるＡＶ信号を記録する方法を定めた規格は、既に作られている。
【０００４】
一方で、現状のＢｌｕ−ｒａｙ  Ｄｉｓｃの派生規格として、映画や音楽などが予め記録された、再生専用の記録媒体を開発する動きが進んでいる。映画や音楽を記録するためのディスク状記録媒体としては、既にＤＶＤ(Digital Versatile 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)を実現するムービーオブジェクトの実行が開始される。
【００５０】
次に、この発明の実施の形態に適用可能な画像の表示系について説明する。この発明の実施の形態では、画像の表示系について、図９に一例が示されるようなプレーン構成を取る。動画プレーン１０は、最も後ろ側（ボトム）に表示され、プレイリストで指定された画像（主に動画データ）が扱われる。字幕プレーン１１は、動画プレーン１０の上に表示され、動画再生中に表示される字幕データが扱われる。グラフィクスプレーン１２は、最も前面に表示され、メニュー画面を表示するための文字データや、ボタン画像用のビットマップデータなどのグラフィクスデータが扱われる。１つの表示画面は、これら３つのプレーンが合成されて表示される。
【００５１】
なお、グラフィクスプレーン１２は、このようにメニュー画面を表示するためのデータが扱われることから、以下では、グラフィクスプレーン１２をインタラクティブグラフィクスプレーン１２と称する。
【００５２】
動画プレーン１０、字幕プレーン１１およびインタラクティブグラフィクスプレーン１２は、それぞれ独立して表示が可能とされる。動画プレーン１０は、解像度が１９２０画素×１０８０ラインで１画素当たりに換算したデータ長が１６ビットであって、輝度信号Ｙ、色差信号Ｃｂ、Ｃｒが４：２：２のシステム（以下、ＹＣｂＣｒ（４：２：２））とされる。なお、ＹＣｂＣｒ（４：２：２）は、各画素当たり輝度信号Ｙが８ビット、色差信号Ｃｂ、Ｃｒがそれぞれ８ビットで、色差信号Ｃｂ、Ｃｒが水平２画素で一つの色データを構成すると見なすカラーシステムである。インタラクティブグラフィクスプレーン１２および字幕プレーン１１は、１９２０画素×１０８０ラインで各画素のサンプリング深さが８ビットとされ、カラーシステムは、２５６色のパレットを用いた８ビットカラーマップアドレスとされる。
【００５３】
インタラクティブグラフィクスプレーン１２および字幕プレーン１１は、２５６段階のアルファブレンディングが可能とされており、他のプレーンとの合成の際に、不透明度を２５６段階で設定することが可能とされている。不透明度の設定は、画素毎に行うことができる。以下では、不透明度αが（０≦α≦１）の範囲で表され、不透明度α＝０で完全に透明、不透明度α＝１で完全に不透明であるものとする。
【００５４】
字幕プレーン１１では、例えばＰＮＧ(Portable Network Graphics)形式の画像データが扱われる。また、インタラクティブグラフィクスプレーン１２でも、例えばＰＮＧ形式の画像データを扱うことができる。ＰＮＧ形式は、１画素のサンプリング深さが１ビット〜１６ビットとされ、サンプリング深さが８ビットまたは１６ビットの場合に、アルファチャンネル、すなわち、それぞれの画素成分の不透明度情報（アルファデータと称する）を付加することができる。サンプリング深さが８ビットの場合には、２５６段階で不透明度を指定することができる。このアルファチャンネルによる不透明度情報を用いてアルファブレンディングが行われる。また、２５６色までのパレットイメージを用いることができ、予め用意されたパレットの何番目の要素（インデックス）であるかがインデックス番号により表現される。
【００５５】
なお、字幕プレーン１１およびインタラクティブグラフィクスプレーン１２で扱われる画像データは、ＰＮＧ形式に限定されない。ＪＰＥＧ方式など他の圧縮符号化方式で圧縮符号化された画像データや、ランレングス圧縮された画像データ、圧縮符号化がなされていないビットマップデータなどを扱うようにしてもよい。
【００５６】
図１０は、上述の図９に示したプレーン構成に従い３つのプレーンを合成するグラフィクス処理部の一例の構成を示す。なお、この図１０に示される構成は、ハードウェアおよびソフトウェアの何れでも実現可能なものである。動画プレーン１０の動画データが４２２／４４４変換回路２０に供給される。動画データは、４２２／４４４変換回路２０でカラーシステムがＹＣｂＣｒ（４：２：２）からＹＣｂＣｒ（４：４：４）に変換され、乗算器２１に入力される。
【００５７】
字幕プレーン１１の画像データがパレット２２Ａに入力され、ＲＧＢ（４：４：４）の画像データとして出力される。この画像データに対してアルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α１（０≦α１≦１）がパレット２２Ａから出力される。
【００５８】
パレット２２Ａは、例えばＰＮＧ形式のファイルに対応したパレット情報がテーブルとして格納される。パレット２２Ａは、入力された８ビットの画素データをアドレスとして、インデックス番号が参照される。このインデックス番号に基づき、それぞれ８ビットのデータからなるＲＧＢ（４：４：４）のデータが出力される。それと共に、パレット２２Ａでは、不透明度を表すアルファチャンネルのデータαが取り出される。
【００５９】
図１１は、パレット２２Ａに格納される一例のパレットテーブルを示す。２５６個のカラーインデックス値〔０ｘ００〕〜〔０ｘＦＦ〕（〔０ｘ〕は１６進表記であることを示す）のそれぞれに対して、各々８ビットで表現される三原色の値Ｒ、ＧおよびＢと、不透明度αとが割り当てられる。パレット２２Ａは、入力されたＰＮＧ形式の画像データに基づきパレットテーブルが参照され、画像データにより指定されたインデックス値に対応する、それぞれ８ビットのデータからなるＲ、ＧおよびＢ各色のデータ（ＲＧＢデータ）と、不透明度αとを画素毎に出力する。
【００６０】
パレット２２Ａから出力されたＲＧＢデータは、ＲＧＢ／ＹＣｂＣｒ変換回路２２Ｂに供給され、各データ長が８ビットの輝度信号Ｙと色信号Ｃｂ、Ｃｒのデータに変換される（以下、まとめてＹＣｂＣｒデータと称する）。これは、以降のプレーン間合成を共通のデータ形式で行う必要があるためで、動画データのデータ形式であるＹＣｂＣｒデータに統一している。
【００６１】
ＲＧＢ／ＹＣｂＣｒ変換回路２２Ｂから出力されたＹＣｂＣｒデータと不透明度データα１とがそれぞれ乗算器２３に入力される。乗算器２３では、入力されたＹＣｂＣｒデータに不透明度データα１が乗ぜられる。乗算結果は、加算器２４の一方の入力端に入力される。なお、乗算器２３では、ＹＣｂＣｒデータにおける輝度信号Ｙ、色差信号Ｃｂ、Ｃｒのそれぞれについて、不透明度データα１との乗算が行われる。また、不透明度データα１の補数（１−α１）が乗算器２１に供給される。
【００６２】
乗算器２１では、４２２／４４４変換回路２０から入力された動画データに不透明度データα１の補数（１−α１）が乗ぜられる。乗算結果は、加算器２４の他方の入力端に入力される。加算器２４において、乗算器２１および２３の乗算結果が加算される。これにより、動画プレーン１０と字幕プレーン１１とが合成される。加算器２４の加算結果が乗算器２５に入力される。
【００６３】
インタラクティブグラフィクスプレーン１２の画像データがパレット２６Ａに入力され、ＲＧＢ（４：４：４）の画像データとして出力される。この画像データに対してアルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α２（０≦α２≦１）がパレット２６Ａから出力される。パレット２６Ａから出力されたＲＧＢデータは、ＲＧＢ／ＹＣｂＣｒ変換回路２６Ｂに供給されてＹＣｂＣｒデータに変換され、動画データのデータ形式であるＹＣｂＣｒデータに統一される。ＲＧＢ／ＹＣｂＣｒ変換回路２６Ｂから出力されたＹＣｂＣｒデータが乗算器２７に入力される。
【００６４】
インタラクティブグラフィクスプレーン１２で用いられる画像データがＰＮＧ形式である場合には、画像データ中に、画素毎に不透明度データα２（０≦α２≦１）を設定することができる。不透明度データα２は、乗算器２７に供給される。乗算器２７では、ＲＧＢ／ＹＣｂＣｒ変換回路２６から入力されたＹＣｂＣｒデータに対し、輝度信号Ｙ、色差信号Ｃｂ、Ｃｒのそれぞれについて、不透明度データα２との乗算が行われる。乗算器２７による乗算結果が加算器２８の一方の入力端に入力される。また、不透明度データα２の補数（１−α２）が乗算器２５に供給される。
【００６５】
乗算器２５では、加算器２４の加算結果に対して不透明度データα２の補数（１−α２）が乗ぜられる。乗算器２５の乗算結果は、加算器２８の他方の入力端に入力され、上述した乗算器２７による乗算結果と加算される。これにより、動画プレーン１０と字幕プレーン１１との合成結果に対して、さらに、インタラクティブグラフィクスプレーン１２が合成される。
【００６６】
字幕プレーン１１およびインタラクティブグラフィクスプレーン１２において、例えば、表示すべき画像の無い領域の不透明度α＝０と設定することで、そのプレーンの下に表示されるプレーンを透過表示させることができ、例えば動画プレーン１０に表示されている動画データを、字幕プレーン１１やインタラクティブグラフィクスプレーン１２の背景として表示することができる。
【００６７】
次に、インタラクティブグラフィクスストリーム（ＩＧストリーム）について説明する。ここでは、ＩＧストリームのうち、この発明に関わりの深い部分に注目して説明する。ＩＧストリームは、上述したように、メニュー表示に用いられるデータストリームにしたものである。例えば、メニュー表示に用いられるボタン画像がＩＧストリームに格納される。
【００６８】
ＩＧストリームは、クリップＡＶストリームに多重化される。インタラクティブグラフィクスストリーム（図１２Ａ参照）は、図１２Ｂに一例が示されるように、ＩＣＳ(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'以下のフィールド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で示される回数だけ、次のfor文からのループが繰り返され、ブロック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()が定義される。これは、換言すれば、１つのボタンから複数のコマンドを実行させることができることを意味する。
【０１１１】
次に、インタラクティブグラフィクス（以下、適宜、ＩＧと略称する）のデコーダモデルについて、図２０を用いて説明する。なお、この図２０に示す構成は、インタラクティブグラフィクスのデコードを行うと共に、プレゼンテーショングラフィクスのデコードにおいても共通的に用いることができるものである。
【０１１２】
先ず、ディスクがプレーヤに装填されると、インデックスファイル"index.bdmv"およびムービーオブジェクトファイル"MovieObject.bdmv"がディスクから読み込まれ、所定にトップメニューが表示される。トップメニューの表示に基づき、再生するタイトルを指示すると、ムービーオブジェクトファイル中の対応するナビゲーションコマンドにより、指示されたタイトルを再生するためのプレイリストファイルが呼び出される。そして、当該プレイリストファイルの記述に従い、プレイリストから再生を要求されたクリップＡＶストリームファイル、すなわち、ＭＰＥＧ２のトランスポートストリームがディスクから読み出される。
【０１１３】
トランスポートストリームは、ＴＳパケットとしてＰＩＤフィルタ１００に供給されてＰＩＤが解析される。ＰＩＤフィルタ１００では、供給されたＴＳパケットがビデオデータ、オーディオデータ、メニューデータおよびサブタイトル（字幕）データの何れを格納したパケットであるかを分類する。ＰＩＤがメニューデータすなわちインタラクティブグラフィクスを表している場合、若しくは、ＰＩＤがプレゼンテーショングラフィクスを表している場合に、図２０の構成が有効とされる。なお、プレゼンテーショングラフィクスに関しては、この発明と直接的な関連性がないので、説明を省略する。
【０１１４】
ＰＩＤフィルタ１００において、トランスポートストリームからデコーダモデルが対応するデータを格納するＴＳパケットが選択されて、トランスポートバッファ（以下、ＴＢ：Transport Buffer）１０１に溜め込まれる。そして、ＴＢ１０１上でＴＳパケットのペイロードに格納されているデータが取り出される。ＰＥＳパケットを構成可能なだけのデータがＴＢ１０１に溜め込まれたら、ＰＩＤに基づきＰＥＳパケットが再構築される。すなわち、この段階で、ＴＳパケットに分割されていた各セグメントがそれぞれ統合されることになる。
【０１１５】
各セグメントによるＰＥＳパケットは、ＰＥＳヘッダが取り除かれエレメンタリストリーム形式でデコーダ１０２にそれぞれ供給され、ＣＤＢ(コーデッドデータバッファ：Coded Data Buffer)１１０に一旦溜め込まれる。ＳＴＣに基づき、ＣＤＢ１１０に溜め込まれたエレメンタリストリームのうち、対応するＤＴＳに示される時刻に達したエレメンタリストリームがあれば、当該セグメントは、ＣＤＢ１１０から読み出されてストリームグラフィックプロセッサ１１１に転送され、それぞれデコードされセグメントに展開される。
【０１１６】
ストリームグラフィックプロセッサ１１１は、デコードが完了したセグメントを、ＤＢ(デコーデッドオブジェクトバッファ：Decoded Object Buffer)１１２またはＣＢ(コンポジションバッファ：Composition Buffer)１１３に所定に格納する。ＰＣＳ、ＩＣＳ、ＷＤＳおよびＯＤＳのようにＤＴＳを持つタイプのセグメントであれば、対応するＤＴＳに示されるタイミングで、ＤＢ１１２またはＣＢ１１３に格納する。また、ＰＤＳのようにＤＴＳを持たないタイプのセグメントは、即座にＣＢ１１３に格納される。
【０１１７】
グラフィクスコントローラ１１４は、セグメントを制御する。グラフィクスコントローラ１１４は、ＣＢ１１３からＩＣＳを、当該ＩＣＳに対応するＰＴＳに示されるタイミングで読み出すと共に、当該ＩＣＳにより参照されるＰＤＳを読み出す。また、グラフィクスコントローラ１１４は、当該ＩＣＳから参照されるＯＤＳをＤＢ１１２から読み出す。そして、読み出されたＩＣＳおよびＯＤＳをそれぞれデコードし、ボタン画像などメニュー画面を表示するためのデータを形成し、グラフィクスプレーン１０３に書き込む。
【０１１８】
また、グラフィクスコントローラ１１４は、ＣＢ１１３から読み出されたＰＤＳをデコードして、例えば図１１を用いて説明したようなカラーパレットテーブルを形成し、ＣＬＵＴ１０４に書き込む。
【０１１９】
グラフィクスプレーン１０３に書き込まれた画像イメージは、所定のタイミング、例えばフレームタイミングで読み出され、ＣＬＵＴ１０４のカラーパレットテーブルが参照されて色情報が付加されて出力画像データが構成され、この出力画像データが出力される。
【０１２０】
図２１〜図２３を用いて、ＩＧストリームによるメニュー表示と、メインパスのプレイリストに基づき再生されるビデオストリームとを合成して表示する例について、概略的に説明する。
【０１２１】
図２１は、ＩＧストリームにより表示される一例のメニュー表示を示す。この例では、ＩＧストリームにより、メニューの背景２００が表示されると共に、ボタン２０１Ａ、ボタン２０１Ｂおよびボタン２０１Ｃが表示される。ボタン２０１Ａ、２０１Ｂおよび２０１Ｃのそれぞれには、通常状態、選択状態および実行状態を示すボタン画像を各々、用意することができる。メニューの背景２００は、移動が禁止され、且つ、コマンドが設定されていないボタン（特殊ボタンと称する）により、表示される。なお、各ボタンは重なって表示できないという制約が設けられている。そのため、ボタン２０１Ａ、２０１Ｂおよび２０１Ｃそれぞれに挟まれる部分、ボタン２０１Ａの左側の部分、ならびに、ボタン２０１Ｃの右側の部分は、それぞれ独立した特殊ボタンが配置される。
【０１２２】
これらボタン２０１Ａ、２０１Ｂおよび２０１Ｃは、例えばリモートコントロールコマンダの十字キーの操作により右または左が指示されると、操作に応じて通常状態のボタン画像と選択状態のボタン画像とが順次、切り換えて表示される。さらに、この図２１の例では、ボタンが選択状態になっているときに、例えば十字キーに対する下方向を指示する操作、または、決定キーの操作などにより、選択状態のボタンに対応するプルダウンメニュー２０２が表示される。
【０１２３】
プルダウンメニュー２０２は、例えば複数のボタン２０３Ａ、２０３Ｂおよび２０３Ｃから構成される。これら複数のボタン２０３Ａ、２０３Ｂおよび２０３Ｃも、上述のボタン２０１Ａ、２０１Ｂおよび２０１Ｃと同様に、通常状態、選択状態および実行状態を示すボタン画像を各々、用意することができる。プルダウンメニュー２０２が表示されている状態で例えば十字キーの操作により上または下が指示されると、プルダウンメニュー２０２の各ボタン２０３Ａ、２０３Ｂおよび２０３Ｃが操作に応じて通常状態のボタン画像と選択状態のボタン画像とが順次、切り換えて表示される。例えば決定ボタンの操作により、選択状態のボタン画像が実行状態のボタン画像に切り換えられて表示され、実行状態のボタン画像が、後述するような、この発明の実施の一形態による表示制御に基づき表示され、当該ボタンに割り当てられた機能がプレーヤに実行される。
【０１２４】
このようなメニュー表示と、図２２に一例が示される、メインパスのプレイアイテムにより再生され動画プレーン１０に表示される動画データとを合成する場合について考える。図２１の画面中、プルダウンメニュー２０２部分を含むメニュー表示以外の部分の不透明度αが"０"に設定され、インタラクティブグラフィクスプレーン１２と、動画プレーン１０とが合成される。これにより、図２３に一例が示されるように、図２２に例示される動画データに対して図２１に例示されるメニュー表示が合成された表示が得られる。
【０１２５】
上述したメニュー表示におけるプルダウンメニュー表示を実現するための方法の例について、概略的に説明する。一例として、ボタン２０１Ａが選択状態になっているときに、リモートコントロールコマンダの決定キーを操作してプルダウンメニュー２０２を表示させる例について、図２４を用いて説明する。なお、図２４において上述した図２１と共通する部分には同一の符号を付し、詳細な説明を省略する。
【０１２６】
この図２４の例では、背景２００、ボタン２０１Ａ、２０１Ｂおよび２０１Ｃ、ならびに、プルダウンメニュー２０２を含むメニュー表示がページ"０"で示されるメニュー画面に表示されるものとする。ボタン２０１Ａ、ボタン２０１Ｂおよびボタン２０１Ｃは、それぞれボタンを識別するためのＩＤである値button_idが"１"、"２"および"３"で定義されるボタンオーバーラップグループ(BOG)とされる。また、ボタン２０１Ａに対応するプルダウンメニュー２０２における各ボタン２０３Ａ、２０３Ｂおよび２０３Ｃは、値button_idがそれぞれ"３"、"４"および"５"で定義されるボタンオーバーラップグループとされる。
【０１２７】
ボタン２０１Ａを例にとると、ボタン２０１Ａを定義するブロックbutton()において、当該ボタン２０１Ａにより実行されるコマンドnavigation_command()の部分に、例えば次のようにコマンドを記述する。
EnableButton(3);
EnableButton(4);
EnableButton(5);
SetButtonPage(1,0,3,0,0);
【０１２８】
これらのコマンドにおいて、コマンドEnableButton()は、括弧「()」内に示される値を値button_idとして定義されたボタンをイネーブル状態（有効状態）とすることを示す。コマンド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()の記述に従い、２番目のＰＧストリームが選択され、字幕表示が英語による字幕に切り換えられる。
【０１３３】
別の例として、ボタン２０１Ａが選択状態となっているときに、リモートコントロールコマンダの十字キーなどにより下方向を指定する操作を行って、プルダウンメニュー２０２を表示させる例について、図２５および図２６を用いて説明する。これら図２５および図２６では、メニュー表示に対して、メインパスのプレイアイテムにより動画プレーン１０に表示される動画データが合成されている。
【０１３４】
なお、図２５および図２６において、上述した図２１、図２３および図２４などと共通する部分には同一の符号を付し、詳細な説明を省略する。例えば、図２６に示される、プルダウンメニュー２０２上のボタン２０３Ａ、２０３Ｂおよび２０３Ｃは、それぞれ値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()の記述に従い、２番目のプレゼンテーショングラフィクスストリームが選択され、字幕表示が英語による字幕に切り換えられる。
【０１４０】
次に、この発明の実施の一形態について説明する。図１９を用いて既に説明したように、実行状態のボタンに対して、ボタン画像とサウンドデータとを関連付けることができる。この発明では、実行状態のボタンに対して実行状態を示す１枚のボタン画像のみが関連付けられ、他のオブジェクトが関連付けられていない場合の、当該実行状態を示すボタン画像の表示制御方法を与える。
【０１４１】
図２７は、この実施の一形態による、ボタンが実行状態になった際の表示制御の例を、ボタンの実行状態に対して関連付けられたオブジェクトにより分類して示す。ボタンは、実行状態に遷移してから、この図２７に示した何れかの制御に基づき表示を行った後に、ナビゲーションコマンドの実行がなされる。
【０１４２】
ボタンの実行状態に対して複数のボタン画像すなわちアニメーションが関連付けられ、且つ、サウンドデータが関連付けられている場合、アニメーションの再生が終了し、且つ、サウンドデータの再生が終了してから、ナビゲーションコマンドが実行される。ボタンの実行状態に対してアニメーションが関連付けられ、且つ、サウンドデータが関連付けられていない場合、アニメーションの表示が終了してからナビゲーションコマンドが実行される。
【０１４３】
ボタンの実行状態に対してボタン画像が１枚のみ、関連付けられ、且つ、サウンドデータが関連付けられている場合、サウンドデータの再生が終了してからナビゲーションコマンドが実行される。
【０１４４】
ボタンの実行状態に対してボタン画像が１枚のみ、関連付けられ、且つ、サウンドデータが関連付けられていない場合に、この発明の実施の一形態に特有の表示制御がなされる。この場合、当該ボタンに定義されるナビゲーションコマンドの内容と、当該ボタンに定義されるフラグauto_action_flagの値とに基づき、異なる処理とされる。
【０１４５】
すなわち、当該ボタンに定義されるナビゲーションコマンドが、メニュー表示のページの切り換えを伴うコマンドである場合、または、当該ボタンに定義されるフラグauto_action_flagが、ボタンが選択状態になったときに、当該ボタンに割り当てられた機能が自動的に実行される、オートアクションボタンであることを示す場合に、実行状態のボタン画像が１フレーム期間だけ表示されるように制御され、その後、ナビゲーションコマンドが実行される。なお、フラグauto_action_flagによりオートアクションボタンと定義されたボタンは、選択状態になった際に、自動的に実行状態に遷移するものと考える。
【０１４６】
一方、ボタンの実行状態に対してボタン画像が１枚のみ、関連付けられ、且つ、サウンドデータが関連付けられていない場合で、当該ボタンに定義されるナビゲーションコマンドがメニュー表示のページ切り換えを伴うコマンドではなく、且つ、当該ボタンがオートアクションボタンと定義されていない場合には、実行状態のボタン画像は、当該ボタンが実行状態であることを明示的に提示可能な所定時間の間、表示され、その後、ナビゲーションコマンドが実行される。
【０１４７】
一例として、所定時間を５００ｍｓｅｃ程度とすることで、当該ボタンが実行状態であることがユーザに対して明示的に示されると共に、ユーザによる操作の流れを妨げないと考えられる。勿論、この所定時間は５００ｍｓｅｃに限られず、当該ボタンが実行状態であることがユーザに対して明示的に示されると共に、ユーザによる操作の流れを妨げないという所期の目的を解決し得る長さであれば、他の長さでもよい。
【０１４８】
ボタンの実行状態に対してボタン画像が関連付けられていない場合には、透明なボタン画像が表示される。当該ボタンにサウンドデータが関連付けられている場合には、サウンドデータの再生終了後にナビゲーションコマンドが実行される。実行状態のボタンに対してボタン画像およびサウンドデータの何れも関連付けられていない場合には、透明なボタン画像が１フレーム期間だけ表示され、その後、ナビゲーションコマンドが実行される。なお、透明なボタン画像は、例えばボタン画像の不透明度α＝０とすることで、実現可能である。
【０１４９】
このように、この発明の実施の一形態によれば、ボタンの実行状態に対してボタン画像が１枚のみ、関連付けられ、且つ、サウンドデータが関連付けられていない場合で、当該ボタンに定義されるナビゲーションコマンドがメニュー表示のページ切り換えを伴うコマンドではなく、且つ、当該ボタンがオートアクションボタンと定義されていない場合に、当該ボタンの実行状態に関連付けられた１のボタン画像が当該ボタンが実行状態であることを明示的に提示可能な所定時間の長さで表示されるようにしている。そのため、ユーザは、当該ボタンが実行状態であることを容易に認識できる。
【０１５０】
すなわち、この発明の実施の一形態によれば、ボタンの実行状態に対してボタン画像が１枚のみ、関連付けられ、且つ、サウンドデータが関連付けられていない場合で、当該ボタンに定義されるナビゲーションコマンドがメニュー表示のページ切り換えを伴うコマンドではなく、且つ、当該ボタンがオートアクションボタンと定義されていない場合であっても、当該ボタンの実行状態の表示が適切になされる。
【０１５１】
図２８は、上述したような、この発明の実施の一形態によるボタンの表示制御を行う一例の方法を示すフローチャートである。この図２８のフローチャートの処理は、図２０を用いて説明したインタラクティブグラフィクスのデコーダモデルにおいては、ＣＢ１１３に溜め込まれたシンタクスに基づくグラフィクスコントローラ１１４の制御によりなされる。
【０１５２】
メニュー表示において、あるボタンが実行状態に遷移すると（ステップＳ１０）、ステップＳ１１で、当該ボタンの実行状態に対して関連付けられているボタン画像が調べられ、当該ボタンの実行状態に対して複数のボタン画像が関連付けられているか、１のボタン画像のみが関連付けられているか、若しくは、ボタン画像が関連付けられていないかによって、処理が分岐される。
【０１５３】
例えば、ＣＢ１１３に格納されたデコードされたＩＣＳにおいてブロックbutton()が参照され（図１９参照）、このブロックbutton()内のブロックactivated_state_info()が検索され、フィールド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_start_object_id_refおよびフィールドactivated_end_object_id_refの値が互いに異なる有効なボタン画像を示している場合には、当該ボタンの実行状態に対して、複数のボタン画像が関連付けられていると判断できる。
【０１５５】
なお、詳細は後述するが、上述のステップＳ１０の段階で、当該ボタンに関連付けられたナビゲーションコマンドが予め読み込まれる。
【０１５６】
若し、ステップＳ１１で、当該ボタンの実行状態に対して複数のボタン画像が関連付けられていると判断されれば、処理はステップＳ１２に移行され、当該ボタンの実行状態に対してサウンドデータがさらに関連付けられているか否かが判断される。例えば、上述と同様にして、ＣＢ１１３に格納されたデコードされたＩＣＳにおいてブロックbutton()が参照され、このブロックbutton()内のブロックactivated_state_info()が検索され、フィールドactivated_state_sound_id_refの値が取得される。このフィールドactivated_state_sound_id_refの値に基づき、当該ボタンの実行状態に対してサウンドデータが関連付けられているか否かを判断することができる。
【０１５７】
若し、当該ボタンの実行状態に対してサウンドデータがさらに関連付けられていると判断されれば、処理はステップＳ１３に移行される。ステップＳ１３では、当該ボタンの実行状態に対して関連付けられた複数のボタン画像によるアニメーション表示が行われると共に、サウンドデータが再生される。そして、これらアニメーション表示およびサウンドデータの再生が終了するのを待って、当該ボタンに関連付けられたナビゲーションコマンドが実行される。
【０１５８】
一例として、グラフィクスコントローラ１１４は、ＣＢ１１３に格納されたデコードされているＩＣＳから参照される、デコードされているＰＤＳをＣＢ１１３から読み出すと共に、対応するデコードされているＯＤＳをＤＢ１１２から読み出し、ボタン画像を表示するためのデータを形成する。そして、グラフィクスコントローラ１１４は、このボタン画像データを、ＩＣＳのブロックpage()に記述されるアニメーションの設定に基づき所定に表示制御してグラフィクスプレーン１０３に書き込み、アニメーション表示を行う。また、グラフィクスコントローラ１１４は、サウンドデータの再生を制御するサウンドコントローラ（図示しない）とやりとりを行い、サウンドデータの再生終了を検出する。グラフィクスコントローラ１１４およびサウンドコントローラを制御するより上位のコントローラからの制御信号などに基づき、アニメーション表示およびサウンドデータの再生終了を判断することもできる。
【０１５９】
一方、ステップＳ１２で、当該ボタンの実行状態に対してサウンドデータが関連付けられていないと判断されれば、処理はステップＳ１４に移行される。ステップＳ１４では、当該ボタンの実行状態に対して関連付けられた複数のボタン画像によるアニメーション表示が行われる。このアニメーション表示が終了するのを待って、当該ボタンに関連付けられたナビゲーションコマンドが実行される。
【０１６０】
上述のステップＳ１１において、当該ボタンの実行状態に対して１のボタン画像が関連付けられていると判断されれば、処理はステップＳ１５に移行され、当該ボタンの実行状態に対してサウンドデータがさらに関連付けられているか否かが判断される。若し、サウンドデータがさらに関連付けられていると判断されれば、処理はステップＳ１６に移行され、当該サウンドデータが再生される。そして、このサウンドデータの再生が終了するのを待って、当該ボタンに関連付けられたナビゲーションコマンドが実行される。
【０１６１】
一方、ステップＳ１５で、当該ボタンの実行状態に対して１のボタン画像が関連付けられ、且つ、当該ボタンの実行状態に対してサウンドデータが関連付けられていないと判断されれば、処理はステップＳ１７に移行される。ステップＳ１７では、当該ボタンに定義されるナビゲーションコマンドが、当該ボタンがオートアクションボタンとして定義されているか、若しくは、メニュー表示のページの切り換えを伴うコマンドであるかの何れかであるか否かが判断される。
【０１６２】
当該ボタンがオートアクションボタンとして定義されているか否かは、図１９に例示される、当該ボタンのブロックbutton()におけるフラグauto_action_flagを参照することで行う。
【０１６３】
また、当該ボタンがメニュー表示のページの切り換えを伴うコマンドであるか否かは、当該ボタンの状態が実行状態になった時点で、図１９に例示される、当該ボタンのブロックbutton()における終端側の、ボタンの実行状態を定義するブロックactivated_state_info()より後ろに記述されるナビゲーションコマンド（コマンドnavigation_command()）を予め読み込むことで、可能とされる。この例では、上述したように、ステップＳ１０の段階で、当該ナビゲーションコマンドが予め読み込まれている。ナビゲーションコマンドは、グラフィクスコントローラ１１４が読み込んでもよいし、グラフィクスコントローラ１１４の上位のコントローラが読み込み、グラフィクスコントローラ１１４に対して情報を渡すようにしてもよい。
【０１６４】
若し、ステップＳ１７で、当該ボタンがオートアクションボタンとして定義されているか、若しくは、当該ボタンに定義されるナビゲーションコマンドが、メニュー表示のページの切り換えを伴うコマンドであると判断されれば、処理はステップＳ１８に移行される。ステップＳ１８では、実行状態のボタン画像が１フレーム期間だけ表示されるように制御され、その後、ナビゲーションコマンドが実行される。
【０１６５】
一方、ステップＳ１７で、当該ボタンに定義されるナビゲーションコマンドが、メニュー表示のページの切り換えを伴うコマンドではなく、且つ、当該ボタンがオートアクションボタンとして定義されていないと判断されれば、処理はステップＳ１９に移行される。ステップＳ１９では、当該ボタンに関連付けられた１のボタン画像が所定時間（例えば５００ｍｓｅｃ）表示され、当該ボタン画像がユーザに対して明示的に提示されてから後に、ナビゲーションコマンドが実行される。
【０１６６】
上述のステップＳ１１において、当該ボタンの実行状態に対してボタン画像が関連付けられていないと判断されると、処理はステップＳ２０に移行され、当該ボタンの実行状態に対してサウンドデータがさらに関連付けられているか否かが判断される。若し、サウンドデータがさらに関連付けられていると判断されれば、処理はステップＳ２１に移行され、透明なボタン画像が表示されると共に、当該サウンドデータが再生される。そして、このサウンドデータの再生が終了するのを待って、当該ボタンに関連付けられたナビゲーションコマンドが実行される。
【０１６７】
一方、ステップＳ２０で、当該ボタンの実行状態に対してサウンドデータが関連付けられていないと判断されれば、処理はステップＳ２２に移行され、透明なボタン画像が１フレーム期間だけ、表示され、当該ボタンに関連付けられたナビゲーションコマンドが実行される。
【０１６８】
次に、この発明の実施の一形態に適用可能な再生装置について説明する。図２９は、この発明の実施の一形態に適用可能な再生装置１の一例の構成を示す。再生装置１は、ストレージドライブ５０、スイッチ回路５１、ＡＶデコーダ部５２およびコントローラ部５３を有する。ストレージドライブ５０は、例えば、上述したＢＤ−ＲＯＭを装填し再生可能とされているものとする。
【０１６９】
コントローラ部５３は、例えばＣＰＵ(Central Processing Unit)と、ＣＰＵ上で動作されるプログラムが予め格納されたＲＯＭ(Read Only Memory)、ＣＰＵによりプログラムの実行時にワークメモリとして用いられるＲＡＭ(Random Access Memory)などからなり、この再生装置１の全体的な動作を制御する。
【０１７０】
また、図示は省略するが、再生装置１には、ユーザに対して所定の制御情報を提供すると共に、ユーザの操作に応じた制御信号を出力するようにされたユーザインターフェイスが設けられる。例えば、赤外線通信など所定の無線通信手段を介して再生装置１と遠隔的に通信を行うリモートコントロールコマンダがユーザインターフェイスとして用いられる。リモートコントロールコマンダ上には、上下左右方向をそれぞれ指示可能な十字キーといった方向キーや、数字キー、各種機能が予め割り当てられた機能キーなど、複数の入力手段が設けられる。なお、十字キーは、上下左右方向をそれぞれ指定可能であれば、形状は問わない。
【０１７１】
リモートコントロールコマンダは、これらの入力手段に対してなされた操作に応じた制御信号を生成し、生成された制御信号を例えば赤外線信号に変調して送信する。再生装置１は、図示されない赤外線受信部においてこの赤外線信号を受信し、赤外線信号を電気信号に変換して復調し、元の制御信号を復元する。この制御信号がコントローラ部５３に供給される。コントローラ部５３は、この制御信号に応じて、プログラムに従い、再生装置１の動作を制御する。
【０１７２】
ユーザインターフェイスは、リモートコントロールコマンダに限らず、例えば再生装置１の操作パネルに設けられたスイッチ群により構成することができる。また、再生装置１に、ＬＡＮ(Local Area Network)などを介して通信を行う通信手段を設け、この通信手段を介して外部のコンピュータ装置などから供給された信号を、ユーザインターフェイスによる制御信号としてコントローラ部５３に供給することも可能である。
【０１７３】
また、当該再生装置１の言語設定の初期情報が、再生装置１が有する不揮発性メモリなどに記憶される。この言語設定の初期情報は、例えば再生装置１の電源投入時などにメモリから読み出され、コントローラ部５３に供給される。
【０１７４】
ストレージドライブ５０にディスクが装填されると、コントローラ部５３は、ストレージドライブ５０を介してディスク上のファイルindex.bdmvやファイルMovieObject.bdmvを読み出し、読み出されたファイルの記述に基づきディレクトリ"PLAYLIST"内のプレイリストファイルを読み出す。コントローラ部５３は、プレイリストファイルに含まれるプレイアイテムが参照するクリップＡＶストリームを、ディスクからストレージドライブ５０を介して読み出す。また、コントローラ部５３は、プレイリストがサブプレイアイテムを含む場合は、サブプレイアイテムにより参照されるクリップＡＶストリームやサブタイトルデータも、ディスクからストレージドライブ５０を介して読み出す。
【０１７５】
なお、以下では、サブプレイアイテムに対応するクリップＡＶストリームを、サブクリップＡＶストリームと呼び、サブプレイアイテムに対する主たるプレイアイテムに対応するクリップＡＶストリームを、メインクリップＡＶストリームと呼ぶ。
【０１７６】
ストレージドライブ５０から出力されたデータは、図示されない復調部およびエラー訂正部により復調処理およびエラー訂正処理を所定に施され、多重化ストリームが復元される。ここでの多重化ストリームは、ＰＩＤによりデータの種類や並び順などが識別され、所定サイズに分割され時分割多重されたトランスポートストリームである。この多重化ストリームは、スイッチ回路５１に供給される。コントローラ部５３は、例えばＰＩＤに基づきスイッチ回路５１を所定に制御してデータを種類毎に分類し、メインクリップＡＶストリームのパケットをバッファ６０に供給し、サブクリップＡＶストリームのパケットをバッファ６１に供給し、サウンドデータのパケットをサウンド出力部６２に供給し、テキストデータのパケットをバッファ６３に供給する。
【０１７７】
バッファ６０に溜め込まれたメインクリップＡＶストリームのパケットは、コントローラ部５３の制御に基づきバッファ６０からパケット毎に読み出され、ＰＩＤフィルタ６４に供給される。ＰＩＤフィルタ６４は、供給されたパケットのＰＩＤに基づき、パケットを、ビデオストリームによるパケット、プレゼンテーショングラフィクスストリーム（以下、ＰＧストリーム）によるパケット、インタラクティブグラフィクスストリーム（以下、ＩＧストリーム）によるパケットおよびオーディオストリームによるパケットに振り分ける。
【０１７８】
一方、バッファ６１に溜め込まれたサブクリップＡＶストリームのパケットは、コントローラ部５３の制御に基づきバッファ６１からパケット毎に読み出され、ＰＩＤフィルタ９０に供給される。ＰＩＤフィルタ９０は、供給されたパケットのＰＩＤに基づき、パケットを、ビデオストリームによるパケット、ＰＧストリームによるパケット、ＩＧストリームによるパケットおよびオーディオストリームによるパケットに振り分ける。
【０１７９】
ＰＩＤフィルタ６４により振り分けられたビデオストリームによるパケットと、ＰＩＤフィルタ９０により振り分けられたビデオストリームによるパケットは、それぞれＰＩＤフィルタ６５に供給され、ＰＩＤに応じて振り分けられる。すなわち、ＰＩＤフィルタ６５は、ＰＩＤフィルタ６４から供給された、メインクリップＡＶストリームによるパケットを１ｓｔビデオデコーダ６９に、ＰＩＤフィルタ９０から供給された、サブクリップＡＶストリームによるパケットを２ｎｄビデオデコーダ７２に、それぞれ供給するように、パケットを振り分ける。
【０１８０】
１ｓｔビデオデコーダ６９は、供給されたパケットのペイロードからビデオストリームを所定に取り出し、取り出されたビデオストリームのＭＰＥＧ２方式による圧縮符号を復号化する。１ｓｔビデオデコーダ６９の出力は、１ｓｔビデオプレーン生成部７０に供給され、ビデオプレーンが生成される。ビデオプレーンの生成は、例えばベースバンドのディジタルビデオデータの１フレームがフレームメモリに書き込まれることで生成される。１ｓｔビデオプレーン生成部７０で生成されたビデオプレーンは、ビデオデータ処理部７１に供給される。
【０１８１】
２ｎｄビデオデコーダ７２および２ｎｄビデオプレーン生成部７３において、上述の１ｓｔビデオデコーダ６９および１ｓｔビデオプレーン生成部７０と略同様の処理がなされ、ビデオストリームが復号化されビデオプレーンが生成される。２ｎｄビデオプレーン生成部７３で生成されたビデオプレーンは、ビデオデータ処理部７１に供給される。
【０１８２】
ビデオデータ処理部７１は、１ｓｔビデオプレーン生成部７０で生成されたビデオプレーンと、２ｎｄビデオプレーン生成部７３で生成されたビデオプレーンとを、１つのフレームに例えば所定に嵌め込んで１枚のビデオプレーンを生成することができる。１ｓｔビデオプレーン生成部７０で生成されたビデオプレーンと、２ｎｄビデオプレーン生成部７３で生成されたビデオプレーンとを、選択的に用いてビデオプレーンを生成してもよい。このビデオプレーンは、例えば上述の図９に例示した動画プレーン１０に対応する。
【０１８３】
ＰＩＤフィルタ６４により振り分けられたＰＧストリームによるパケットと、ＰＩＤフィルタ９０により振り分けられたＰＧストリームによるパケットは、それぞれスイッチ回路６６に供給されて一方が所定に選択され、プレゼンテーショングラフィクスデコーダ７４に供給される。プレゼンテーショングラフィクスデコーダ７４は、供給されたパケットのペイロードからＰＧストリームを所定に取り出してデコードして字幕を表示するグラフィクスデータを生成し、スイッチ回路７５に供給する。
【０１８４】
スイッチ回路７５は、このグラフィクスデータと、後述するテキストデータによる字幕データとを所定に選択し、プレゼンテーショングラフィクスプレーン生成部７６に供給する。プレゼンテーショングラフィクスプレーン生成部７６は、供給されたデータに基づきプレゼンテーショングラフィクスプレーンを生成し、ビデオデータ処理部７１に供給する。このプレゼンテーショングラフィクスプレーンは、例えば上述の図９に例示した字幕プレーン１１に対応する。
【０１８５】
ＰＩＤフィルタ６４により振り分けられたＩＧストリームによるパケットと、ＰＩＤフィルタ９０により振り分けられたＩＧストリームによるパケットは、それぞれスイッチ回路６７に供給されて一方が所定に選択され、インタラクティブグラフィクスデコーダ７７に供給される。インタラクティブグラフィクスデコーダ７７は、供給されたＩＧストリームによるパケットからＩＧストリームのＩＣＳ、ＰＤＳおよびＯＤＳを所定に取り出してデコードする。例えば、インタラクティブグラフィクスデコーダ７７は、供給されたパケットのペイロードからデータを取り出し、ＰＥＳパケットを再構築する。そして、このＰＥＳパケットのヘッダ情報などに基づき、ＩＧストリームのＩＣＳ、ＰＤＳおよびＯＤＳをそれぞれ取り出す。デコードされたＩＣＳはおよびＰＤＳは、ＣＢ(Composition Buffer)と呼ばれるバッファに格納される。また、ＯＤＳは、ＤＢ(Decoded Buffer)と呼ばれるバッファに格納される。例えば図２９におけるプリロードバッファ７８が、これらＣＢおよびＤＢに相当する。
【０１８６】
なお、ＰＥＳパケットは、再生出力に関する時間管理情報であるＰＴＳ(Presentation Time Stamp)と、復号化に関する時間管理情報であるＤＴＳ(Decoding Time Stamp)とを有している。ＩＧストリームによるメニュー表示は、対応するＰＥＳパケットに格納されるＰＴＳにより時間管理されて表示される。例えば、上述したプリロードバッファに格納されたＩＧストリームを構成する各データは、ＰＴＳに基づき所定の時間に読み出すように制御される。
【０１８７】
プリロードバッファ７８から読み出されたＩＧストリームのデータは、インタラクティブグラフィクスプレーン生成部７９に供給され、インタラクティブグラフィクスプレーンが生成される。このインタラクティブグラフィクスプレーンは、例えば上述の図９に例示したグラフィクスプレーン１２に対応する。
【０１８８】
例えば、ユーザインターフェイスに設けられた入力手段に対する所定の操作に応じて、表示するボタンの状態が例えば選択状態から実行状態へと遷移したときには、インタラクティブグラフィクスデコーダ７７は、この発明の実施の一形態による、図２７および図２８を用いて説明した処理により、ボタンの実行状態に関連付けられたボタン画像およびサウンドデータに基づき、当該ボタンの実行状態に関連付けられたボタン画像の表示制御を行う。
【０１８９】
例えば、ＩＣＳにおける、図１９で説明したブロックbutton()中のフィールドactivated_start_object_id_refおよびフィールドactivated_end_object_id_refの値に基づき、当該ボタンの実行状態に対して複数のボタン画像が関連付けられているか、１のボタン画像が関連付けられているか、ボタン画像が関連付けられていないかが判断され、さらに、サウンドデータが関連付けられているか否かが判断される。また、当該ボタンに関連付けられたナビゲーションコマンドが予め読み込まれ、メニュー表示のページを切り換える処理を伴うコマンドであるか否かを判断する。これらの判断結果に基づき、当該ボタンの実行状態に関連付けられたボタン画像を、アニメーション表示するか、１フレーム期間だけの表示とするか、ユーザに対してボタンの実行状態を明示的に提示可能な所定時間（例えば５００ｍｓｅｃ）の表示とするかを判断する。
【０１９０】
ビデオデータ処理部７１は、例えば図１０を用いて説明したグラフィクス処理部を含み、供給されたビデオプレーン（図１０における動画プレーン１０）、プレゼンテーショングラフィクスプレーン（図１０における字幕プレーン１１）およびインタラクティブグラフィクスプレーン（図１０におけるグラフィクスプレーン１２）を、所定に合成して１枚の画像データとし、ビデオ信号にして出力する。
【０１９１】
ＰＩＤフィルタ６４により振り分けられたオーディオストリームと、ＰＩＤフィルタ９０により振り分けられたオーディオストリームは、それぞれスイッチ回路６８に供給される。スイッチ回路６８は、供給された２つのオーディオストリームのうち一方を１ｓｔオーディオデコーダ８０に、他方を２ｎｄオーディオデコーダ８１に供給するように、所定に選択する。１ｓｔオーディオデコーダ８０および２ｎｄオーディオデコーダ８１でそれぞれデコードされたオーディオストリームは、加算器８２で合成される。
【０１９２】
サウンド出力部６２は、バッファメモリを有し、スイッチ回路５１から供給されたサウンドデータをバッファメモリに溜め込む。そして、例えばインタラクティブグラフィクスデコーダ７７からの指示に基づき、バッファメモリに溜め込まれたサウンドデータをデコードし、出力する。出力されたサウンドデータは、加算器８３に供給され、加算器８２から出力されたオーディオストリームと合成される。サウンドデータの再生終了時刻は、例えば、サウンド出力部６２からインタラクティブグラフィクスデコーダ７７に対して通知される。なお、サウンドデータの再生と、ボタン画像の表示との協調的な制御は、より上位のコントローラ５３の命令に基づき行うようにしてもよい。
【０１９３】
バッファ６３から読み出されたテキストデータは、Ｔｅｘｔ−ＳＴコンポジション部で所定に処理され、スイッチ回路７５に供給される。
【０１９４】
上述では、再生装置１の各部がハードウェアで構成されるように説明したが、これはこの例に限られない。例えば、再生装置１をソフトウェア上の処理として実現することも可能である。この場合、再生装置１をコンピュータ装置上で動作させることができる。また、再生装置１をハードウェアおよびソフトウェアが混合された構成で実現することもできる。例えば、再生装置１における各デコーダ、特に、１ｓｔビデオデコーダ６９、２ｎｄビデオデコーダ７２など処理の負荷が他と比べて大きな部分をハードウェアで構成し、その他をソフトウェアで構成することが考えられる。
【０１９５】
再生装置１をソフトウェアのみ、または、ハードウェアおよびソフトウェアの混合により構成し、コンピュータ装置で実行させるためのプログラムは、例えばＣＤ−ＲＯＭ(Compact Disc-Read Only Memory)やＤＶＤ−ＲＯＭ(Digital Versatile Disc Read Only Memory)といった記録媒体に記録されて提供される。この記録媒体をコンピュータ装置のドライブに装填し、記録媒体上に記録されたプログラムを所定にコンピュータ装置にインストールすることで、上述の処理をコンピュータ装置上で実行可能な状態とすることができる。プログラムをＢＤ−ＲＯＭに記録することも考えられる。なお、コンピュータ装置の構成は、極めて周知であるため、説明は省略する。
【図面の簡単な説明】
【０１９６】
【図１】ＢＤ−ＲＯＭのデータモデルを概略的に示す略線図である。
【図２】インデックステーブルを説明するための略線図である。
【図３】クリップＡＶストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ図である。
【図４】複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。
【図５】サブパスについて説明するための略線図である。
【図６】記録媒体に記録されるファイルの管理構造を説明するための略線図である。
【図７】ＢＤ仮想プレーヤの動作を概略的に示すフローチャートである。
【図８】ＢＤ仮想プレーヤの動作を概略的に示す略線図である。
【図９】この発明の実施の一形態で画像の表示系として用いられるプレーン構造の一例を示す略線図である。
【図１０】動画プレーン、字幕プレーンおよびグラフィクスプレーンを合成する一例の構成を示すブロック図である。
【図１１】パレットに格納される一例のパレットテーブルを示す略線図である。
【図１２】ボタン画像の一例の格納形式を説明するための略線図である。
【図１３】グラフィクスプレーン上に表示されるボタン表示の一例の状態遷移図である。
【図１４】メニュー画面およびボタンの構成を概略的に示す略線図である。
【図１５】ＩＣＳのヘッダ情報の一例の構造を表すシンタクスを示す略線図である。
【図１６】ブロックinteractive_composition_data_fragemnt()の一例の構造を表すシンタクスを示す略線図である。
【図１７】ブロックpage()の一例の構造を表すシンタクスを示す略線図である。
【図１８】ブロックbutton_overlap_group()の一例の構造を表すシンタクスを示す略線図である。
【図１９】ブロックbutton()の一例の構造を表すシンタクスを示す略線図である。
【図２０】インタラクティブグラフィクスの一例のデコーダモデルを示すブロック図である。
【図２１】ＩＧストリームにより表示される一例のメニュー表示を示す略線図である。
【図２２】メインパスのプレイアイテムにより再生された動画データが動画プレーンに表示された様子を示す略線図である。
【図２３】メニュー表示とメインパスのプレイアイテムにより再生され動画プレーンに表示される動画データとを合成した一例の表示を示す略線図である。
【図２４】決定キーを操作してプルダウンメニューを表示させる例を説明するための略線図である。
【図２５】十字キーなどにより下方向を指定する操作を行ってプルダウンメニューを表示させる例を説明するための略線図である。
【図２６】十字キーなどにより下方向を指定する操作を行ってプルダウンメニューを表示させる例を説明するための略線図である。
【図２７】ボタンが実行状態になった際の表示制御の例を、ボタンの実行状態に対して関連付けられたオブジェクトにより分類して示す略線図である。
【図２８】この発明の実施の一形態によるボタンの表示制御を行う一例の方法を示すフローチャートである。
【図２９】この発明の実施の一形態に適用可能な再生装置の一例の構成を示すブロック図である。
【符号の説明】
【０１９７】
１  再生装置
１０  動画プレーン
１１  字幕プレーン
１２  インタラクティブグラフィクスプレーン
５０  ストレージドライブ
５１  スイッチ部
５２  ＡＶデコーダ部
５３  コントローラ
６２  サウンド出力部
７７  インタラクティブグラフィクスデコーダ
１０２  グラフィクスデコーダ
１０３  グラフィクスプレーン
１０４  ＣＬＵＴ
１１１  ストリームグラフィクスプロセッサ
１１２  ＤＢ
１１３  ＣＢ
１１４  グラフィクスコントローラ
２０１Ａ，２０１Ｂ，２０１Ｃ  ボタン
２０２  プルダウンメニュー
２０３Ａ，２０３Ｂ，２０３Ｃ  ボタン
２０４  隠しボタン
３００  ボタン
３０１  メニュー画面
３０３Ａ  通常状態を表すボタン
３０３Ｂ  選択状態を表すボタン
３０３Ｃ  実行状態を表すボタン
【図１】
2008090627.tif 000003
【図２】
2008090627.tif 000004
【図３】
2008090627.tif 000005
【図４】
2008090627.tif 000006
【図５】
2008090627.tif 000007
【図６】
2008090627.tif 000008
【図７】
2008090627.tif 000009
【図８】
2008090627.tif 000010
【図９】
2008090627.tif 000011
【図１０】
2008090627.tif 000012
【図１１】
2008090627.tif 000013
【図１２】
2008090627.tif 000014
【図１３】
2008090627.tif 000015
【図１４】
2008090627.tif 000016
【図１５】
2008090627.tif 000017
【図１６】
2008090627.tif 000018
【図１７】
2008090627.tif 000019
【図１８】
2008090627.tif 000020
【図１９】
2008090627.tif 000021
【図２０】
2008090627.tif 000022
【図２１】
2008090627.tif 000023
【図２２】
2008090627.tif 000024
【図２３】
2008090627.tif 000025
【図２４】
2008090627.tif 000026
【図２５】
2008090627.tif 000027
【図２６】
2008090627.tif 000028
【図２７】
2008090627.tif 000029
【図２８】
2008090627.tif 000030
【図２９】
2008090627.tif 000031