(57)【要約】【課題】ディスクに記録されたコンテンツのメニューなどに用いられる、ユーザによるインタラクティブな操作を実現するためのボタン画像のアニメーション表示を、プレーヤの実装によらず適切に表示できるようにする。【解決手段】アニメーション表示を行うボタン画像の表示制御情報として、ユーザオペレーションに応じて通常状態のボタンに対して、状態が選択状態へ遷移する際に、アニメーション表示を最後まで行うか否かを示すフラグnormal_complete_flagを設ける。選択状態のボタンに対しても同様に、通常状態および実行状態に遷移する場合に対するフラグselected_complete_flagを設ける。ボタンのアニメーション表示中にボタンの状態遷移を伴うユーザオペレーションがあった際のアニメーション表示の挙動を、プレーヤ側の実装によらず、コンテンツの制作側で、制御することができる。【選択図】  図２５
2007172716.tif 000002
【特許請求の範囲】
【請求項１】
円盤状記録媒体に記録されたコンテンツデータを再生する再生装置において、
記録媒体から再生された、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、該ボタン画像に対する表示制御情報とが入力される入力部と、
ユーザ操作を受け付ける操作入力部と、
上記表示制御情報に基づき上記ボタン画像のアニメーション表示を制御する表示制御部と
を有し、
上記表示制御情報は、
上記ボタン画像の上記アニメーション表示中に該ボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合に該アニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含み、
上記表示制御部は、
上記ボタン画像の上記アニメーション表示中に上記操作入力部により該ボタン画像に対応するボタンの状態を遷移させるような上記ユーザ操作が受け付けられたときに、上記アニメーション表示制御フラグの指示に従い該アニメーション表示を継続または中断するように制御する
ことを特徴とする再生装置。
【請求項２】
請求項１に記載の再生装置において、
上記アニメーション表示制御フラグは、上記ボタン毎に設定することができる
ことを特徴とする再生装置。
【請求項３】
請求項１に記載の再生装置において、
上記ボタンは、割り当てられた機能の実行が指示されたことを示す第１の状態と、選択されていることを示す第２の状態と、上記第１および第２の状態の何れでもない第３の状態とを有し、
上記アニメーション表示制御フラグは、上記第２の状態および上記第３の状態にそれぞれ設定することができる
ことを特徴とする再生装置。
【請求項４】
請求項１に記載の再生装置において、
上記表示制御部は、
上記アニメーション表示制御フラグによりアニメーション表示の上記継続が指示されている上記ボタン画像がアニメーション表示中に、該ボタン画像を消去する指示がなされても、該アニメーション表示を継続する
ことを特徴とする再生装置。
【請求項５】
請求項１に記載の再生装置において、
上記表示制御部は、
上記アニメーション表示制御フラグによりアニメーション表示の上記継続が指示されている上記ボタン画像がアニメーション表示中に、該ボタン画像を無効にする指示がなされても、該アニメーション表示を継続する
ことを特徴とする再生装置。
【請求項６】
請求項１に記載の再生装置において、
上記表示制御情報は、少なくとも上記アニメーション表示の最初に用いるボタン画像と最後に用いるボタン画像とがそれぞれ指定され、
上記表示制御部は、
上記アニメーション表示制御フラグによりアニメーション表示の上記継続が指示され、且つ、該アニメーション表示の繰り返し表示が指定された上記ボタン画像は、上記表示制御情報に指定される上記最後に用いるボタン画像まで該アニメーション表示を継続する
ことを特徴とする再生装置。
【請求項７】
円盤状記録媒体に記録されたコンテンツデータを再生する再生方法において、
記録媒体から再生された、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、該ボタン画像に対する表示制御情報とが入力される入力のステップと、
ユーザ操作を受け付ける操作入力のステップと、
上記表示制御情報に基づき上記ボタン画像のアニメーション表示を制御する表示制御のステップと
を有し、
上記表示制御情報は、
上記ボタン画像の上記アニメーション表示中に該ボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合に該アニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含み、
上記表示制御のステップは、
上記ボタン画像の上記アニメーション表示中に上記操作入力のステップにより該ボタン画像に対応するボタンの状態を遷移させるような上記ユーザ操作が受け付けられたときに、上記アニメーション表示制御フラグの指示に従い該アニメーション表示を継続または中断するように制御する
ことを特徴とする再生方法。
【請求項８】
円盤状記録媒体に記録されたコンテンツデータを再生する再生方法をコンピュータ装置に実行させる再生プログラムにおいて、
上記再生方法は、
記録媒体から再生された、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、該ボタン画像に対する表示制御情報とが入力される入力のステップと、
ユーザ操作を受け付ける操作入力のステップと、
上記表示制御情報に基づき上記ボタン画像のアニメーション表示を制御する表示制御のステップと
を有し、
上記表示制御情報は、
上記ボタン画像の上記アニメーション表示中に該ボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合に該アニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含み、
上記表示制御のステップは、
上記ボタン画像の上記アニメーション表示中に上記操作入力のステップにより該ボタン画像に対応するボタンの状態を遷移させるような上記ユーザ操作が受け付けられたときに、上記アニメーション表示制御フラグの指示に従い該アニメーション表示を継続または中断するように制御する
ことを特徴とする再生プログラム。
【請求項９】
コンテンツデータが記録された円盤状の記録媒体において、
少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、該ボタン画像に対する表示制御情報とが記録され、
上記表示制御情報は、上記ボタン画像の上記アニメーション表示中に該ボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合に該アニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含む
ことを特徴とする記録媒体。
【請求項１０】
請求項９に記載の記録媒体において、
上記アニメーション表示制御フラグは、上記ボタン毎に設定することができる
ことを特徴とする記録媒体。
【請求項１１】
請求項９に記載の記録媒体において、
上記ボタンは、割り当てられた機能の実行が指示されたことを示す第１の状態と、選択されていることを示す第２の状態と、上記第１および第２の状態の何れでもない第３の状態とを有し、
上記アニメーション表示制御フラグは、上記第２の状態および上記第３の状態にそれぞれ設定することができる
ことを特徴とする記録媒体。
【請求項１２】
少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、該ボタン画像に対する表示制御情報とからなるデータ構造であって、
上記表示制御情報は、上記ボタン画像の上記アニメーション表示中に該ボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合に該アニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含む
ことを特徴とするデータ構造。
【請求項１３】
円盤状記録媒体に記録するコンテンツデータを作成するオーサリング装置において、
少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、該ボタン画像に対する表示制御情報とからなるデータ構造を作成するデータ作成部を有し、
上記データ作成部は、
上記表示制御情報に対し、上記ボタン画像の上記アニメーション表示中に該ボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合に該アニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含めることができる
ことを特徴とするオーサリング装置。
【請求項１４】
円盤状記録媒体に記録するコンテンツデータを作成するオーサリング方法において、
少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、該ボタン画像に対する表示制御情報とからなるデータ構造を作成するデータ作成のステップを有し、
上記データ作成のステップは、
上記表示制御情報に対し、上記ボタン画像の上記アニメーション表示中に該ボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合に該アニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含めることができる
ことを特徴とするオーサリング方法。
【請求項１５】
円盤状記録媒体に記録するコンテンツデータを作成するオーサリング方法をコンピュータ装置に実行させるオーサリングプログラムにおいて、
上記オーサリング方法は、
少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、該ボタン画像に対する表示制御情報とからなるデータ構造を作成するデータ作成のステップを有し、
上記データ作成のステップは、
上記表示制御情報に対し、上記ボタン画像の上記アニメーション表示中に該ボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合に該アニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含めることができる
ことを特徴とするオーサリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブルーレイディスク(Blu-ray Disc)といった大容量の記録媒体に記録されたプログラムに対する、ユーザによるインタラクティブな操作の操作性を向上させるような再生装置、再生方法および再生プログラム、記録媒体およびデータ構造、ならびに、オーサリング装置、オーサリング方法およびオーサリングプログラムに関する。
【背景技術】
【０００２】
近年、記録可能で記録再生装置から取り外し可能なディスク型記録媒体の規格として、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（ブルーレイディスク）規格が提案されている。Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格では、記録媒体として直径１２ｃｍ、カバー層０．１ｍｍのディスクを用い、光学系として波長４０５ｎｍの青紫色レーザ、開口数０．８５の対物レンズを用いて、最大で２７ＧＢ（ギガバイト）の記録容量を実現している。これにより、日本のＢＳディジタルハイビジョン放送を、画質を劣化させることなく２時間以上記録することが可能である。
【０００３】
この記録可能光ディスクに記録するＡＶ(Audio/Video)信号のソース（供給源）としては、従来からの、例えばアナログテレビジョン放送によるアナログ信号によるものと、例えばＢＳディジタル放送をはじめとするディジタルテレビジョン放送によるディジタル信号によるものとが想定されている。Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格では、これらの放送によるＡＶ信号を記録する方法を定めた規格は、既に作られている。
【０００４】
一方で、現状のＢｌｕ−ｒａｙ  Ｄｉｓｃのの派生規格として、映画や音楽などが予め記録された、再生専用の記録媒体を開発する動きが進んでいる。映画や音楽を記録するためのディスク状記録媒体としては、既にＤＶＤ(Digital Versatile Disc)が広く普及しているが、このＢｌｕ−ｒａｙ  Ｄｉｓｃの企画に基づいた再生専用光ディスクは、Ｂｌｕ−ｒａｙ  Ｄｉｓｃの大容量および高速な転送速度などを活かし、ハイビジョン映像を高画質なままで２時間以上収録できる点が、既存のＤＶＤとは大きく異なり、優位である。
【０００５】
ところで、ディスクに映画などのコンテンツを記録して、パッケージメディアとして販売等を行う場合、コンテンツに伴う様々なプログラムの実行などを制御するためのユーザインターフェイスをコンテンツと共にディスクに記録することが行われる。代表的なユーザインターフェイスとしては、メニュー表示が挙げられる。一例として、メニュー表示においては、機能を選択するためのボタンがボタン画像として用意され、所定の入力手段によりボタンを選択し決定することで、当該ボタンに割り当てられた機能が実行されるようになっている。一般的には、プレーヤに対応したリモートコントロールコマンダの十字キーなどを用いて、画面に表示されたボタンを選択し、決定キーを押下することで、当該ボタンに割り当てられた機能が実行される。
【０００６】
特許文献１には、ブルーレイディスクにおいて、このようなボタン画像を用いたメニュー表示を実現するための技術が記載されている。
【特許文献１】特開２００４−３０４７６７号公報
【０００７】
ところで、ブルーレイディスクは、上述したように記録容量が大容量であることに加え、従来のＤＶＤなどに比べてより高機能なプログラミング言語やスクリプト言語を使用可能となっている。また、記録されるコンテンツ自体も従来のＤＶＤに記録されていたコンテンツに対して高画質となっている。そこで、上述のメニュー表示などにおいても、例えばボタン画像のアニメーション表示などを用いて、ユーザの操作性を向上させると共に、より付加価値を高めることが考えられている。
【０００８】
現状で提案されている規格におけるボタン画像のアニメーション表示について、概略的に説明する。図３０は、ボタンのアニメーション表示の例を示す。この図３０の例では、ボタン画像の点灯状態と非点灯状態とに基づきアニメーション表示を行っている。図３０において、斜線が付されたボタン画像は、点灯しているボタン画像を示し、斜線の密度によって点灯の明るさを示している。
【０００９】
ボタンのアニメーション表示のより簡単な例として、（１）点滅、（２）フェードイン、フェードアウトの２種類について考える。図３０Ａは、（１）点滅の例を示す。時間の推移に伴い、ボタン画像の点灯状態および非点灯状態が繰り返される。
【００１０】
図３０Ｂおよび図３０Ｃは、（２）フェードイン、フェードアウトの例を示す。図３０Ｂは、フェードインの例であって、時間の推移に伴い、非点灯状態から点灯状態に徐々に遷移し、点灯状態になったらその状態が維持される。図３０Ｃは、フェードアウトの例であって、時間の推移に伴い、点灯状態から非点灯状態に徐々に遷移し、非点灯状態になったらその状態が維持される。また、図３０Ｄに一例が示される、リピート表示を行うこともできる。この図３０Ｄの例では、非点灯状態から徐々に点灯状態に遷移し、点灯状態になったら非点灯状態に戻る動作を繰り返す。図３０Ａの点滅表示においても、このリピート表示が可能である。
【００１１】
一方、ボタンの状態としては、一般的に、そのボタンが選択された状態になっている選択状態と、選択されたボタンに対して機能の実行が指示された状態の実行状態と、選択状態にも実行状態にもなっていない通常状態の３状態が定義される。このボタンの３状態に応じて、プレーヤの状態遷移もなされる。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ここで、ボタン画像がアニメーション表示されている途中で、当該アニメーション表示されているボタンの状態を遷移させるような入力がユーザによりなされた場合について考える。
【００１３】
従来の、ブルーレイディスクにおける再生専用ディスクであるＢＤ−ＲＯＭ(Blu-Ray Disc-Read Only Memory)に適用可能とされた規格によれば、アニメーション表示の途中で状態遷移される入力がなされた場合のプレーヤの動作として、次の２種類が定義されていた。
（１）アニメーション表示に定義された動きの最後まで表示しきってからプレーヤの状態を遷移させる。（以下、第１の動作）
（２）状態遷移させる入力があった時点でアニメーション表示の動きを止め、プレーヤの状態を遷移させる。（以下、第２の動作）
【００１４】
第１の動作および第２の動作のうち何れを用いるかは、プレーヤの実装に依存しており、ＢＤ−ＲＯＭに収録するコンテンツを制作するオーサ側では、第１の動作および第２の動作の何れを用いるかを選択することができなかった。そのため、図３０で示したアニメーション表示を用いた場合に、ユーザの入力のタイミングによっては、アニメーションとして矛盾を感じてしまうような表示になってしまったり、ユーザオペレーション上、不都合が生じてしまう可能性があるという問題点があった。
【００１５】
この問題点について、より具体的に説明する。第１の例として、プレーヤが上述の第２の動作を実装されている場合に、フェードイン、フェードアウトによるアニメーション表示を行うボタン画像を用いた場合ついて考える。例えば、通常状態から選択状態に遷移した際にはフェードイン表示とされ、選択状態から通常状態に遷移した際にはフェードアウトするように定義されたボタンを考える。
【００１６】
図３１に例示されるように、ボタン画像が、最も明度の低い１段階目から最も明度の高い４段階目まで、４段階の明度変化でフェードインおよびフェードアウトするものとする。通常状態から選択状態に状態遷移され、図３１Ａに示されるようにフェードイン表示がなされている途中の例えば２段階目の明度の時点でボタン状態が選択状態から通常状態に遷移すると、第２の動作の場合、アニメーション表示が２段階目の明度の段階で止められ、フェードアウトのアニメーション表示に移行する。すると、図３１Ｂに示されるように、２段階目の明度の表示から、フェードアウトの最初の段階である４段階目の明度の表示へと、ボタン画像の表示が突然、切り替わることになり、非常に不自然な表示になってしまうという問題点があった。
【００１７】
第２の例として、プレーヤが上述の第１の動作を実装されている場合に、点滅表示を行うボタン画像を用いた場合について考える。例えば、通常状態では非表示で、選択状態で点滅表示とされ、図３２Ａに一例が示されるように、点灯状態と非点灯状態とが繰り返され、計７コマでアニメーション表示が完了するように定義されたボタンを考える。
【００１８】
この場合、選択状態にあり点滅表示しているボタンが点滅表示の３コマ目の時点で、選択状態から通常状態に遷移させる入力があった場合、第１の動作によれば、アニメーション表示が７コマ目まで表示され、その後、入力に応じてボタン状態が通常状態に遷移されることになる（図３２Ｂ参照）。この場合、入力があった点滅表示の３コマ目からアニメーション表示が完了される７コマ目までの間、ユーザによる入力が受け付けられないことになってしまうという問題点があった。
【００１９】
また、オーサリング側、ディスク製作側ではプレーヤの実装を選ぶことができないため、上述したような問題点を回避するためには、第１の動作が実装されたプレーヤおよび第２の動作が実装されたプレーヤの何れで表示した場合にもそれぞれ問題が発生しないようなアニメーション表示を作らなくてはならず、ディスク製作に大きな制約が生じてしまうという問題点があった。
【００２０】
したがって、この発明の目的は、ブルーレイディスクといった大容量の記録媒体に記録されたプログラムに対する、ユーザによるインタラクティブな操作を実現するためのボタン画像などに用いられるアニメーション表示において、プレーヤの実装によらず適切に表示できるようにした再生装置、再生方法および再生プログラム、記録媒体およびデータ構造、ならびに、オーサリング装置、オーサリング方法およびオーサリングプログラムを提供することにある。
【課題を解決するための手段】
【００２１】
上述した課題を解決するために、第１の発明は、円盤状記録媒体に記録されたコンテンツデータを再生する再生装置において、記録媒体から再生された、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とが入力される入力部と、ユーザ操作を受け付ける操作入力部と、表示制御情報に基づきボタン画像のアニメーション表示を制御する表示制御部とを有し、表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含み、表示制御部は、ボタン画像のアニメーション表示中に操作入力部によりボタン画像に対応するボタンの状態を遷移させるようなユーザ操作が受け付けられたときに、アニメーション表示制御フラグの指示に従いアニメーション表示を継続または中断するように制御することを特徴とする再生装置である。
【００２２】
また、第２の発明は、円盤状記録媒体に記録されたコンテンツデータを再生する再生方法において、記録媒体から再生された、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とが入力される入力のステップと、ユーザ操作を受け付ける操作入力のステップと、表示制御情報に基づきボタン画像のアニメーション表示を制御する表示制御のステップとを有し、表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含み、表示制御のステップは、ボタン画像のアニメーション表示中に操作入力のステップによりボタン画像に対応するボタンの状態を遷移させるようなユーザ操作が受け付けられたときに、アニメーション表示制御フラグの指示に従いアニメーション表示を継続または中断するように制御することを特徴とする再生方法である。
【００２３】
また、第３の発明は、円盤状記録媒体に記録されたコンテンツデータを再生する再生方法をコンピュータ装置に実行させる再生プログラムにおいて、再生方法は、記録媒体から再生された、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とが入力される入力のステップと、ユーザ操作を受け付ける操作入力のステップと、表示制御情報に基づきボタン画像のアニメーション表示を制御する表示制御のステップとを有し、表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含み、表示制御のステップは、ボタン画像のアニメーション表示中に操作入力のステップによりボタン画像に対応するボタンの状態を遷移させるようなユーザ操作が受け付けられたときに、アニメーション表示制御フラグの指示に従いアニメーション表示を継続または中断するように制御することを特徴とする再生プログラムである。
【００２４】
また、第４の発明は、コンテンツデータが記録された円盤状の記録媒体において、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とが記録され、表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含むことを特徴とする記録媒体である。
【００２５】
また、第５の発明は、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とからなるデータ構造であって、表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含むことを特徴とするデータ構造である。
【００２６】
また、第６の発明は、円盤状記録媒体に記録するコンテンツデータを作成するオーサリング装置において、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とからなるデータ構造を作成するデータ作成部を有し、データ作成部は、表示制御情報に対し、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含めることができることを特徴とするオーサリング装置である。
【００２７】
また、第７の発明は、円盤状記録媒体に記録するコンテンツデータを作成するオーサリング方法において、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とからなるデータ構造を作成するデータ作成のステップを有し、データ作成のステップは、表示制御情報に対し、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含めることができることを特徴とするオーサリング方法である。
【００２８】
また、第８の発明は、円盤状記録媒体に記録するコンテンツデータを作成するオーサリング方法をコンピュータ装置に実行させるオーサリングプログラムにおいて、オーサリング方法は、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とからなるデータ構造を作成するデータ作成のステップを有し、データ作成のステップは、表示制御情報に対し、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含めることができることを特徴とするオーサリングプログラムである。
【００２９】
上述したように、第１、第２および第３の発明は、記録媒体から再生された、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とが入力され、表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含み、表示制御情報に基づく制御によりボタン画像のアニメーションを表示中に、ボタン画像に対応するボタンの状態を遷移させるようなユーザ操作が受け付けられたときに、アニメーション表示制御フラグの指示に従いアニメーション表示を継続または中断するように制御するようにしているため、アニメーション表示中にボタンの状態を遷移させるユーザオペレーションがあった際のボタン画像のアニメーション表示の挙動を、コンテンツの制作側で制御することができる。
【００３０】
また、第４の発明は、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とが記録され、表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含むようにしているため、記録媒体の再生側における、アニメーション表示中にボタンの状態を遷移させるユーザオペレーションがあった際のボタン画像のアニメーション表示の挙動を、コンテンツの制作側で制御することができる。
【００３１】
また、第５の発明は、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とからなるデータ構造であって、表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含むため、このデータ構造を有するデータが記録された記録媒体を再生する側における、アニメーション表示中にボタンの状態を遷移させるユーザオペレーションがあった際のボタン画像のアニメーション表示の挙動を、コンテンツの制作側で制御することができる。
【００３２】
また、第６〜第８の発明は、円盤状記録媒体に記録するコンテンツデータを作成するオーサリング装置において、少なくともコンテンツデータと、ユーザに対して操作を促す操作画面に用いるボタンを表示するための、アニメーション表示が可能なボタン画像と、ボタン画像に対する表示制御情報とからなるデータ構造を作成するようにされ、データ作成に際して、表示制御情報に対し、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含めることができるようにしているため、作成されたデータが記録された記録媒体を再生する側における、アニメーション表示中にボタンの状態を遷移させるユーザオペレーションがあった際のボタン画像のアニメーション表示の挙動を、コンテンツの制作側で制御することができる。
【発明の効果】
【００３３】
この発明は、上述したように、ボタン画像に対する表示制御情報は、ボタン画像のアニメーション表示中にボタン画像に対応するボタンの状態を遷移させるユーザ入力があった場合にアニメーション表示を継続するか中断するかを指示するアニメーション表示制御フラグを含むようにしているため、再生側における、アニメーション表示中にボタンの状態を遷移させるユーザオペレーションがあった際のボタン画像のアニメーション表示の挙動を、コンテンツの制作側で制御することができる効果がある。
【発明を実施するための最良の形態】
【００３４】
以下、この発明の実施の一形態を、図面を参照しながら説明する。先ず、理解を容易とするために、Ｂｌｕ−ｒａｙ  Ｄｉｓｃに関し、"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)としてファイルに記録される。
【００３９】
また、クリップＡＶストリームには、字幕を表示するグラフィクスストリームであるプレゼンテーショングラフィクス（ＰＧ）ストリームや、メニュー表示などに用いられるデータをストリームにしたインタラクティブグラフィクス（ＩＧ）ストリームも多重化される。インタラクティブグラフィクスは、例えばメニュー表示に用いられるボタン画像であって、図１では、ボタンオブジェクト(Button Object)として示されている。
【００４０】
クリップＡＶストリームファイルと、対応するクリップ情報が記録されたクリップ情報ファイルとをひとまとまりのオブジェクトと見なし、クリップ(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）。再生が指示されると、先ず、レジスタすなわち共通パラメータが初期化され（ステップＳ４１）、次のステップＳ４２で、プレイリストの再生フェイズに移行する。なお、この場合にレジスタがリセットされない実装としてもよい。
【００６３】
プレイリストの再生フェイズにおけるプレイリストの再生について、図８を用いて説明する。図８Ａは、プレイリストが単一のプレイアイテムからなる場合の例である。プレイリストは、プレコマンド領域、プレイアイテムコマンド領域およびポストコマンド領域の３箇所にプログラムが配される。プレイリストの再生フェイズに移行すると、先ずプレコマンド領域のプレコマンドが実行され（ステップＳ１０）、プレコマンドの実行が終了されると、プレイリストを構成するプレイアイテムの再生フェイズに移行する（ステップＳ１１）。プレイアイテムの再生フェイズでは、プレイアイテムにおいて開始点および終了点で指定されたストリームが再生される（ステップＳ１１０）。終了点までの再生が終了した時点で、プレイアイテムコマンドが実行される（ステップＳ１１１）。プレイアイテムコマンドが実行されると、次にポストコマンド領域のポストコマンドが実行され（ステップＳ１２）、プレイリストの再生が終了される。
【００６４】
なお、ポストコマンドは、一般的な使用においては、次に再生すべきプレイリストへのジャンプ命令や、メニュー画面を構成するプレイリストへのジャンプ命令が記述される。ジャンプ命令が無い場合には、そこで再生が停止し、プレーヤは、停止状態に遷移される。
【００６５】
図８Ｂは、プレイリストが複数のプレイアイテムを含む場合の例である。この場合でも、プレイリスト中にプレコマンド領域、プレイアイテムコマンド領域およびポストコマンド領域が配され、それぞれプログラムが格納される。複数のプレイアイテムを含む場合、プレイアイテムコマンド領域では、プレイアイテム数分のプレイアイテムストリームおよびプレイアイテムコマンドが、時系列に従って配置される。
【００６６】
プレイリストが複数のプレイアイテムを含む場合でも、プレイリストの再生フェーズに移行すると、先ず、プレコマンドが実行される（ステップＳ１０）。次のプレイアイテムの再生フェイズでは、プレイアイテムの開始点から終了点までのストリームの再生と、プレイアイテムコマンドの実行とが、プレイリストが含むプレイアイテムの数だけ実行される。図８Ｂの例では、最初のプレイアイテムストリームが再生され（ステップＳ１１０−１）、対応するプレイアイテムコマンドが実行される（ステップＳ１１１−１）。次に、図示は省略するが、２番目のプレイアイテムストリームが再生され（ステップＳ１１０−２）、対応するプレイアイテムコマンドが実行される（ステップＳ１１１−２）。これをプレイアイテムの数だけ行い、最後のプレイアイテムストリームが再生され（ステップＳ１１０−ｎ）、対応するプレイアイテムコマンドが実行されると（ステップＳ１１１−ｎ）、プレイアイテムの再生フェイズが終了する。プレイアイテムの再生フェイズが終了すると、ポストコマンドが実行され（ステップＳ１２）、このプレイリストの再生フェーズが終了される。
【００６７】
次に、この発明の実施の一形態に適用可能な画像の表示系について説明する。この発明の実施の一形態では、画像の表示系について、図９に一例が示されるようなプレーン構成を取る。動画プレーン１０は、最も後ろ側（ボトム）に表示され、プレイリストで指定された画像（主に動画データ）が扱われる。字幕プレーン１１は、動画プレーン１０の上に表示され、動画再生中に表示される字幕データが扱われる。グラフィクスプレーン１２は、最も前面に表示され、メニュー画面を表示するための文字データや、ボタン画像用のビットマップデータなどのグラフィクスデータが扱われる。１つの表示画面は、これら３つのプレーンが合成されて表示される。
【００６８】
動画プレーン１０、字幕プレーン１１およびグラフィクスプレーン１２は、それぞれ独立して表示が可能とされ、例えば、図１０に一例が示されるような解像度および表示可能色を有する。動画プレーン１０は、解像度が１９２０画素×１０８０ラインで１画素当たりに換算したデータ長が１６ビットであって、輝度信号Ｙ、色差信号Ｃｂ、Ｃｒが４：２：２のシステム（以下、ＹＣｂＣｒ（４：２：２））とされる。なお、ＹＣｂＣｒ（４：２：２）は、各画素当たり輝度信号Ｙが８ビット、色差信号Ｃｂ、Ｃｒがそれぞれ８ビットで、色差信号Ｃｂ、Ｃｒが水平２画素で一つの色データを構成すると見なすカラーシステムである。グラフィクスプレーン１２および字幕プレーン１１は、１９２０画素×１０８０ラインで各画素のサンプリング深さが８ビットとされ、カラーシステムは、２５６色のパレットを用いた８ビットカラーマップアドレスとされる。
【００６９】
グラフィクスプレーン１２および字幕プレーン１１は、２５６段階のアルファブレンディングが可能とされており、他のプレーンとの合成の際に、不透明度を２５６段階で設定することが可能とされている。不透明度の設定は、画素毎に行うことができる。以下では、不透明度αが（０≦α≦１）の範囲で表され、不透明度α＝０で完全に透明、不透明度α＝１で完全に不透明であるものとする。
【００７０】
字幕プレーン１１では、例えばＰＮＧ(Portable Network Graphics)形式の画像データが扱われる。また、グラフィクスプレーン１２でも、例えばＰＮＧ形式の画像データを扱うことができる。ＰＮＧ形式は、１画素のサンプリング深さが１ビット〜１６ビットとされ、サンプリング深さが８ビットまたは１６ビットの場合に、アルファチャンネル、すなわち、それぞれの画素成分の不透明度情報（アルファデータと称する）を付加することができる。サンプリング深さが８ビットの場合には、２５６段階で不透明度を指定することができる。このアルファチャンネルによる不透明度情報を用いてアルファブレンディングが行われる。また、２５６色までのパレットイメージを用いることができ、予め用意されたパレットの何番目の要素（インデックス）であるかがインデックス番号により表現される。
【００７１】
なお、字幕プレーン１１およびグラフィクスプレーン１２で扱われる画像データは、ＰＮＧ形式に限定されない。ＪＰＥＧ方式など他の圧縮符号化方式で圧縮符号化された画像データや、ランレングス圧縮された画像データ、圧縮符号化がなされていないビットマップデータなどを扱うようにしてもよい。
【００７２】
図１１は、上述の図９および図１０に従い３つのプレーンを合成するグラフィクス処理部の一例の構成を示す。動画プレーン１０の動画データが４２２／４４４変換回路２０に供給される。動画データは、４２２／４４４変換回路２０でカラーシステムがＹＣｂＣｒ（４：２：２）からＹＣｂＣｒ（４：４：４）に変換され、乗算器２１に入力される。
【００７３】
字幕プレーン１１の画像データがパレット２２Ａに入力され、ＲＧＢ（４：４：４）の画像データとして出力される。この画像データに対してアルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α１（０≦α１≦１）がパレット２２Ａから出力される。
【００７４】
図１２は、パレット２２Ａの入出力データの一例を示す。パレット２２Ａは、例えばＰＮＧ形式のファイルに対応したパレット情報がテーブルとして格納される。パレット２２Ａは、入力された８ビットの画素データをアドレスとして、インデックス番号が参照される。このインデックス番号に基づき、それぞれ８ビットのデータからなるＲＧＢ（４：４：４）のデータが出力される。それと共に、パレット２２Ａでは、不透明度を表すアルファチャンネルのデータαが取り出される。
【００７５】
図１３は、パレット２２Ａに格納される一例のパレットテーブルを示す。２５６個のカラーインデックス値〔０ｘ００〕〜〔０ｘＦＦ〕（〔０ｘ〕は１６進表記であることを示す）のそれぞれに対して、各々８ビットで表現される三原色の値Ｒ、ＧおよびＢと、不透明度αとが割り当てられる。パレット２２Ａは、入力されたＰＮＧ形式の画像データに基づきパレットテーブルが参照され、画像データにより指定されたインデックス値に対応する、それぞれ８ビットのデータからなるＲ、ＧおよびＢ各色のデータ（ＲＧＢデータ）と、不透明度αとを画素毎に出力する。
【００７６】
パレット２２Ａから出力されたＲＧＢデータは、ＲＧＢ／ＹＣｂＣｒ変換回路２２Ｂに供給され、各データ長が８ビットの輝度信号Ｙと色信号Ｃｂ、Ｃｒのデータに変換される（以下、まとめてＹＣｂＣｒデータと称する）。これは、以降のプレーン間合成を共通のデータ形式で行う必要があるためで、動画データのデータ形式であるＹＣｂＣｒデータに統一している。
【００７７】
ＲＧＢ／ＹＣｂＣｒ変換回路２２Ｂから出力されたＹＣｂＣｒデータと不透明度データα１とがそれぞれ乗算器２３に入力される。乗算器２３では、入力されたＹＣｂＣｒデータに不透明度データα１が乗ぜられる。乗算結果は、加算器２４の一方の入力端に入力される。なお、乗算器２３では、ＹＣｂＣｒデータにおける輝度信号Ｙ、色差信号Ｃｂ、Ｃｒのそれぞれについて、不透明度データα１との乗算が行われる。また、不透明度データα１の補数（１−α１）が乗算器２１に供給される。
【００７８】
乗算器２１では、４２２／４４４変換回路２０から入力された動画データに不透明度データα１の補数（１−α１）が乗ぜられる。乗算結果は、加算器２４の他方の入力端に入力される。加算器２４において、乗算器２１および２３の乗算結果が加算される。これにより、動画プレーン１０と字幕プレーン１１とが合成される。加算器２４の加算結果が乗算器２５に入力される。
【００７９】
グラフィクスプレーン１２の画像データがパレット２６Ａに入力され、ＲＧＢ（４：４：４）の画像データとして出力される。この画像データに対してアルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α２（０≦α２≦１）がパレット２６Ａから出力される。パレット２６Ａから出力されたＲＧＢデータは、ＲＧＢ／ＹＣｂＣｒ変換回路２６Ｂに供給されてＹＣｂＣｒデータに変換され、動画データのデータ形式であるＹＣｂＣｒデータに統一される。ＲＧＢ／ＹＣｂＣｒ変換回路２６Ｂから出力されたＹＣｂＣｒデータが乗算器２７に入力される。
【００８０】
グラフィクスプレーン１２’で用いられる画像データがＰＮＧ形式である場合には、画像データ中に、画素毎に不透明度データα２（０≦α２≦１）を設定することができる。不透明度データα２は、乗算器２７に供給される。乗算器２７では、ＲＧＢ／ＹＣｂＣｒ変換回路２６から入力されたＹＣｂＣｒデータに対し、輝度信号Ｙ、色差信号Ｃｂ、Ｃｒのそれぞれについて、不透明度データα２との乗算が行われる。乗算器２７による乗算結果が加算器２８の一方の入力端に入力される。また、不透明度データα２の補数（１−α２）が乗算器２５に供給される。
【００８１】
乗算器２５では、加算器２４の加算結果に対して不透明度データα２の補数（１−α２）が乗ぜられる。乗算器２５の乗算結果は、加算器２８の他方の入力端に入力され、上述した乗算器２７による乗算結果と加算される。これにより、動画プレーン１０と字幕プレーン１１との合成結果に対して、さらに、グラフィクスプレーン１２が合成される。
【００８２】
字幕プレーン１１およびグラフィクスプレーン１２において、例えば、表示すべき画像の無い領域の不透明度α＝０と設定することで、そのプレーンの下に表示されるプレーンを透過表示させることができ、例えば動画プレーン１０に表示されている動画データを、字幕プレーン１１やグラフィクスプレーン１２の背景として表示することができる。
【００８３】
なお、この図１１に示される構成は、ハードウェアおよびソフトウェアの何れでも実現可能なものである。
【００８４】
グラフィクスプレーン１２には、ユーザに対して操作を促す画面、例えばメニュー画面を表示させることができる。図１４は、グラフィクスプレーン１２に表示されるメニュー画面１６０の一例を示す。メニュー画面１６０は、文字や画像を特定の位置に表示させ、ユーザが選択や実行を指示することで新たな動作が開始される「ボタン」を配置することができ、ユーザに対してＧＵＩ(Graphical User Interface)を提供する。
【００８５】
「ボタン」は、プログラムの所定の機能が割り当てられた画像であり、ユーザにより当該ボタン画像が指定された際に、当該ボタンに割り当てられた機能が実行されるようにしたものである。すなわち、ＧＵＩにおける「ボタン」は、ユーザオペレーションに応じてプログラムの機能を実行させて装置の状態を遷移させるための、ＧＵＩ上の部品である。「ボタン」において、例えば通常の状態、選択された状態および押された状態（または実行が指定された状態）の３種類の画像データを用意し、ユーザにより当該ボタン画像が指定された際に、３種類の画像データの表示を切り換えることが一般的に行われている。このように「ボタン」を構成することで、ユーザが行った操作をユーザ自身が認識し易くなり、好ましい。また、この「ボタン」に用いられる３種類の画像データのそれぞれには、アニメーション表示を定義することができる。
【００８６】
なお、「ボタン」に対する指定動作は、例えば、リモートコントロールコマンダに設けられたキー操作により行うことができる。例えば、上下左右の方向をそれぞれ指定可能な方向キーなど所定のキーを用いて、指定を行いたい「ボタン」を選択し、決定キーなどにより選択された「ボタン」を指定する。これに限らず。マウスなどのポインティングデバイスを用いて画面上のカーソル表示を移動させ、「ボタン」による画像上で、マウスボタンを１または複数回押すクリック動作を行うことで、「ボタン」に対する指定動作を行うこともできる。マウス以外のポインティングデバイスによっても、同様の動作を行うことができる。
【００８７】
図１４の例では、グラフィクスプレーン１２上に表示されたメニュー画面１６０の上部に、画像データとしてタイトル１６１が表示される。タイトル１６１に続けて、ボタン１６２Ａ、１６２Ｂ、１２Ｃおよび１６２Ｄが表示される。例えばリモートコントロールコマンダのキー操作により、ボタン１６２Ａ、１６２Ｂ、１６２Ｃおよび１６２Ｄのうち１つを選択し指定することで、指定されたボタンに対して割り当てられた機能が実行される。
【００８８】
メニュー画面１６０の下部に、字幕の表示の有無や、出力される音声を例えば英語および日本語から選択するためのボタン１６４および１６５が表示される。これらボタン１６４や１６５を上述のように操作することで、例えば、それぞれの設定を行う画面を表示するための機能が実行され、所定の画面表示がなされる。
【００８９】
また、メニュー画面１６０の左下部分には、項目の選択方法を示す文字列１６３が表示される。この文字列１６３も、グラフィクスプレーン１２上の表示である。
【００９０】
図１５は、グラフィクスプレーン１２上に表示されるボタン表示の一例の状態遷移図である。ボタン表示の状態は、画面にボタンが表示されるボタン表示状態と、画面にボタンが表示されていないボタン非表示状態とに大別される。ボタン非表示状態からボタン表示が開始されボタン表示状態に遷移する。ボタン表示状態からボタン表示が終了され、ボタン非表示状態に遷移する。ボタン表示状態は、さらに、通常状態、選択状態および実行状態の３種類の状態を有する。ボタン表示は、これら３種類の状態間をそれぞれ互いに遷移することができる。遷移方向を一方向に限定することも可能である。また、３種類のボタン表示の状態のそれぞれに、アニメーションを定義することができる。
【００９１】
上述の図１４を用いて、より具体的に説明する。一例として、ディスク挿入時や、ユーザがリモートコントロールコマンダのメニューキーを押したときに、メニュー画面１６０が表示される。メニュー画面１６０の表示に伴い、ボタン１６２Ａ、１６２Ｂ、１６２Ｃ、１６３Ｄ、１６４および１６５が非表示状態から表示状態へと遷移する。ボタン表示開始時は、ボタン１６２Ａ、１６２Ｂ、１６２Ｃ、１６３Ｄ、１６４および１６５のうち一つが予め選択状態にされていることが多い。例えばボタン１６２Ａが予め選択状態とされ、他のボタンが通常状態とされているものとする。
【００９２】
この状態で、ユーザがリモートコントロールコマンダの例えば矢印キーを操作すると、通常状態のボタンの一つ（例えばボタン１６２Ｂ）が選択状態に遷移すると共に、選択状態だったボタン１６２Ａが通常状態へと遷移する。このようにして、ユーザ操作によってカーソルが移動していく。ユーザがリモートコントロールコマンダの決定キーを操作すると、そのときに選択状態にあったボタン１６２Ｂが選択状態から実行状態へと遷移し、当該ボタン１６２Ｂに予め割り当てられているプレーヤ動作が実行される。
【００９３】
次に、この発明の実施の一形態に適用されるメニュー画面について、ボタン画像に注目して説明する。図１６は、メニュー画面およびボタンの構成を概略的に示す。図１６Ａに一例が示されるような、複数のボタン１００、１００、・・・が配置されたメニュー画面１０１を考える。
【００９４】
このメニュー画面１０１は、図１６Ｂに一例が示されるように、複数枚のメニュー画面によって階層的に構成することができる。例えば、最前面に表示されたメニュー画面のあるボタン１００を、所定の入力手段によって選択状態から実行状態に遷移させると、そのメニュー画面の１枚後ろに位置するメニュー画面が最前面のメニュー画面となるような構成が考えられる。なお、以下では、「所定の入力手段によりボタンの状態を変化させる」ことを、煩雑さを避けるために、「ボタンを操作する」などと、適宜、表記する。
【００９５】
メニュー画面１０１に表示される１つのボタン１００は、複数のボタン１０２Ａ、１０２Ｂ、・・・が階層化された構成とすることができる（図１６Ｃおよび図１５Ｄ参照）。これは、換言すれば、１つのボタン表示位置に複数のボタンを選択的に表示することができることを意味する。例えば、複数のボタンのうち所定のボタンを操作した際に、同時に表示されている他の幾つかのボタンの機能および表示が変更されるような場合に、メニュー画面自体を書き換える必要が無いので、用いて好適である。このような、１つのボタン位置に選択的に表示される複数のボタンからなる組を、ＢＯＧｓ(Button Overlap Group)と呼ぶ。
【００９６】
ＢＯＧｓを構成するボタンのそれぞれは、さらに、上述した３状態を有することができる。すなわち、図１６Ｅに一例が示されるように、ＢＯＧｓを構成するボタンのそれぞれに対して、通常状態、選択状態および実行状態をそれぞれ表すボタン１０３Ａ、１０３Ｂおよび１０３Ｃを用意することができる。さらに、これら３状態を表すボタン１０３Ａ、１０３Ｂおよび１０３Ｃのそれぞれに対して、図１６Ｆに一例が示されるように、アニメーション表示を設定することができる。この場合には、アニメーション表示が設定されたボタンは、アニメーション表示に用いるだけの枚数のボタン画像からなることになる。
【００９７】
なお、以下では、ボタンのアニメーションを構成するための複数枚のボタン画像のそれぞれを適宜、アニメーションフレームと呼ぶことにする。
【００９８】
次に、上述したような構造のボタン画像の一例の格納形式について、図１７を用いて説明する。既に説明したように、ボタン画像は、インタラクティブグラフィクス（ＩＧ）ストリームとして（図１７Ａ参照）、クリップＡＶストリームに多重化される。インタラクティブグラフィクスストリームは、図１７Ｂに一例が示されるように、ＩＣＳ(Interactive Composition Segment)、ＰＤＳ(Palette Definition Segment)およびＯＤＳ(Object Definition Segment)の３種類のセグメントからなる。
【００９９】
３種類のセグメントのうち、ＩＣＳは、詳細は後述するが、ＩＧの基本構造を保持するためのセグメントである。ＰＤＳは、ボタン画像の色情報を保持するためのセグメントである。また、ＯＤＳは、ボタンの形状を保持するための情報である。より具体的には、ＯＤＳは、ボタン画像そのもの、例えばボタン画像を表示するためのビットマップデータが、ランレングス圧縮など所定の圧縮符号化方式で圧縮符号化されて格納される。
【０１００】
ＩＣＳ、ＰＤＳおよびＯＤＳは、図１７Ｃに一例が示されるように、それぞれ必要に応じて所定に分割され、ＰＩＤ(Packet Identification)により区別されてＰＥＳ(Packetized Elementary Stream)パケットのペイロードに格納される。ＰＥＳパケットは、サイズが６４ＫＢ（キロバイト）と決められているため、比較的サイズが大きなＩＣＳおよびＯＤＳは、それぞれ所定に分割されてＰＥＳパケットのペイロードに詰め込まれる。一方、ＰＤＳは、サイズが６４ＫＢに満たないことが多いので、１つのＰＥＳパケットに１ＩＧ分のＰＤＳが格納可能である。ＰＥＳパケットのそれぞれには、ペイロードに格納されたデータがＩＣＳ、ＰＤＳおよびＯＤＳのうち何れであるかの情報や、パケット毎の順番などを示す識別情報がＰＩＤに格納される。
【０１０１】
ＰＥＳパケットのそれぞれは、さらに所定に分割され、ＭＰＥＧ  ＴＳ（トランスポートストリーム）によるトランスポートパケットに詰め込まれる（図１７Ｄ）。トランスポートパケット毎の順序や、トランスポートパケットに格納されたデータを識別する識別情報などがＰＩＤに格納される。
【０１０２】
この発明の実施の一形態では、ＩＣＳに対して所定のフラグを設けることで、ボタン画像のアニメーション表示を適切に制御できるようにしている。以下、この発明の実施の一形態によるＩＣＳの構造について、図１８〜図２２を用いて説明する。
【０１０３】
図１８は、ＩＣＳのヘッダ情報の一例の構造を表すシンタクスを示す。ここでは、シンタクスをコンピュータ装置などのプログラムの記述言語として用いられるＣ言語の記述法に基づき示す。これは、他のシンタクスを表す図において、同様である。
【０１０４】
ＩＣＳのヘッダは、ブロックsegment_descriptor()、ブロックvideo_descriptor()、ブロックcomposition_descriptor()、ブロックsequence_descriptor()およびブロックinteractive_composition_data_fragemnt()からなる。ブロックsegment_descriptor()は、このセグメントがＩＣＳであることを示す。ブロックvideo_descriptor()は、このメニューと同時に表示されるビデオのフレームレートや画枠サイズを示す。ブロックcomposition_descriptor()は、このＩＣＳのステータスを示す。ブロックsequence_descriptor()は、このＩＣＳが複数のＰＥＳパケットに跨るか否かを示す。
【０１０５】
より具体的には、このブロックsequence_descriptor()は、現在のＰＥＳパケットに含まれるＩＣＳが１つのＩＧストリームの先頭または最後尾の何れのＩＣＳであるか否かを示す。
【０１０６】
すなわち、上述したように、データサイズが６４ＫＢと固定的とされたＰＥＳパケットに対して、ＩＣＳのデータサイズが大きい場合には、ＩＣＳが所定に分割されてＰＥＳパケットにそれぞれ詰め込まれる。このとき、この図１８に示されるヘッダ部分は、ＩＣＳが分割して詰め込まれたＰＥＳパケットのうち先頭および最後尾のＰＥＳパケットにだけあればよく、途中のＰＥＳパケットにおいては省略することができる。このブロックsequence_descriptor()が先頭および最後尾を示していれば、ＩＣＳが１つのＰＥＳパケットに収まっていることが分かる。
【０１０７】
図１９は、ブロックinteractive_composition_data_fragemnt()の一例の構造を表すシンタクスを示す。なお、図１９では、自身のブロックがブロックinteractive_composition()として示されている。フィールドintaractive_composition_lengthは、２４ビットのデータ長を有し、ブロックinteractive_composition()のこのフィールドintaractive_composition_length以降の長さを示す。フィールドstream_modelは、１ビットのデータ長を有し、このストリームが多重化されているか否かを示す。すなわち、インタラクティブグラフィクスストリームは、ＡＶストリームに対して多重化することもできるし、単独でクリップＡＶストリームを構成することもできる。
【０１０８】
フィールドuser_interface_modelは、１ビットのデータ長を有し、このストリームが表示するメニューがポップアップメニューか、常時表示メニューの何れであるかを示す。ポップアップメニューは、例えばリモートコントロールコマンダのボタンのＯＮ／ＯＦＦといった、所定の入力手段で表示の有無を制御できるメニューである。一方、常時表示メニューは、ユーザ操作により表示の有無を制御できない。フィールドuser_interface_modelの値が"０"で、ポップアップメニューを示し、"１"で常時表示メニューを示す。
【０１０９】
フィールドuser_interface_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)で記述される。
【０１１０】
フィールドuser_time_out_durationは、２４ビットのデータ長を有し、このメニュー表示の自動初期化時間を示す。次のフィールドnumber_of_pageは、８ビットのデータ長を有し、このメニューが有するページ数を、初期値を０として示す。すなわち、このメニュー表示が図１６Ｂを用いて説明した階層構造を有し、複数のページを有するときは、フィールドnumber_of_pageの値は、１以上を示す。このフィールドnumber_of_pageで示された回数だけ、次のfor文からのループが繰り返され、メニュー表示における各ページがそれぞれ定義される。
【０１１１】
図２０は、ブロック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は、１ビットのデータ長を有するフラグであって、このボタンが選択状態になったときに、当該ボタンに割り当てられた機能が自動的に実行されるか否かを示す。
【０１２０】
次のフィールド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_satte_info()およびブロックselected_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は、１ビットのデータ長を有するフラグであって、このフラグがこの発明により定義される。このフラグnormal_complete_flagは、このボタンが通常状態から選択状態に遷移する際のアニメーション動作を制御するフラグである。
【０１２６】
すなわち、フラグnormal_complete_flagの値が"１"であれば、このボタンが通常状態から選択状態へと遷移する際に、通常状態に定義されているアニメーションを、全て表示する。より具体的には、フラグnormal_complete_flagの値が"１"であったなら、当該ボタンの通常状態のアニメーション表示中に当該ボタンを通常状態から選択状態に遷移させるような入力がなされた場合、その時点で表示されているアニメーションフレームから、上述したフィールドnormal_end_object_id_refで示されるアニメーションフレームまで、アニメーション表示を行う。
【０１２７】
また、フラグnormal_complete_flagの値が"１"であって、且つ、フラグnormal_repeat_flagがリピートすることを示している場合（例えば値"１"）も、その時点で表示されているアニメーションフレームから、上述したフィールドnormal_end_object_id_refで示されるアニメーションフレームまで、アニメーション表示を行う。
【０１２８】
この場合、例えばボタンが選択できない状態にされた場合や、ボタンの表示そのものが消されてしまうような場合でも、これらの状態に遷移する時点がアニメーションの表示中であれば、フィールドnormal_end_object_id_refで示されるアニメーションフレームまでアニメーション表示を行い、その後、ボタンの状態を遷移させる。
【０１２９】
ボタンが選択できない状態は、例えば上述したフィールドselection_time_out_ptsの指定により、ボタンが選択できないような状態になった場合や、フィールドuser_time_out_durationの指定によりメニューが自動的に初期化されるような場合が考えられる。
【０１３０】
一方、フラグnormal_complete_flagの値が"０"であれば、このボタンが通常状態から選択状態へと遷移する際に、通常状態のボタンに定義されたアニメーションをフィールドnormal_end_object_id_refで示されるアニメーションフレームまで表示せずに、状態の遷移が指示された時点でアニメーション表示を停止し、選択状態のボタンを表示する。
【０１３１】
次に、ブロック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は、１ビットのデータ長を有するフラグであって、上述のフラグnormal_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()は、上述したブロックnormal_state_info()およびブロックselected_state_info()に対して、アニメーションのリピートを行うか否かを示すフラグと、ボタンが実行状態から他の状態に遷移する際のアニメーション動作を制御するフラグが定義されない。ボタンが実行状態にされた後は、当該ボタンに割り当てられた機能が実行されることになり、ボタンが実行状態にある時間は非常に短いと考えられる。また、実行状態にあるボタンが他の状態に遷移するような制御も、一般的には好ましくないといえる。そのため、ブロックactivated_state_info()において、これらのフラグを省略している。勿論、ブロックactivated_state_info()においてこれらのフラグを定義することも可能である。
【０１４０】
ブロックactivated_state_info()において、フィールドactivated_state_sound_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()が定義される。これは、換言すれば、１つのボタンから複数のコマンドを実行させることができることを意味する。
【０１４２】
次に、この発明の実施の一形態に適用可能な再生装置について説明する。図２３は、この発明の実施の一形態に適用可能な再生装置１の一例の構成を示す。再生装置１は、ストレージドライブ５０、スイッチ回路５１、ＡＶデコーダ部５２およびコントローラ部５３を有する。ストレージドライブ５０は、例えば、上述したＢＤ−ＲＯＭを装填し再生可能とされているものとする。
【０１４３】
コントローラ部５３は、例えばＣＰＵ(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()中のフィールドnormal_start_object_id_refで示されるアニメーションフレームから、フィールドnormal_end_object_id_refで示されるアニメーションフレームまでを、図２０で説明したフィールドanimation_frame_rate_codeに示される値に基づき、フレーム毎に書き換えることで、ボタンのアニメーション表示を実現することができる。フレームの更新を任意のタイミングで止めることで、アニメーション表示も、停止させることができる。
【０１６３】
ビデオデータ処理部７１は、例えば図１１を用いて説明したグラフィクス処理部を含み、供給されたビデオプレーン（図１１における動画プレーン１０）、プレゼンテーショングラフィクスプレーン（図１１における字幕プレーン１１）およびインタラクティブグラフィクスプレーン（図１１におけるグラフィクスプレーン１２）を、所定に合成して１枚の画像データとし、ビデオ信号にして出力する。
【０１６４】
ＰＩＤフィルタ６４により振り分けられたオーディオストリームと、ＰＩＤフィルタ９０により振り分けられたオーディオストリームは、それぞれスイッチ回路６８に供給される。スイッチ回路６８は、供給された２つのオーディオストリームのうち一方を１ｓｔオーディオデコーダ８０に、他方を２ｎｄオーディオデコーダ８１に供給するように、所定に選択する。１ｓｔオーディオデコーダ８０および２ｎｄオーディオデコーダ８１でそれぞれデコードされたオーディオストリームは、加算器８２で合成され、さらに加算器８３で、バッファ６２から読み出されたサウンドデータと合成され、出力される。
【０１６５】
バッファ６３から読み出されたテキストデータは、Ｔｅｘｔ−ＳＴコンポジション部で所定に処理され、スイッチ回路７５に供給される。
【０１６６】
上述では、再生装置１の各部がハードウェアで構成されるように説明したが、これはこの例に限られない。例えば、再生装置１をソフトウェア上の処理として実現することも可能である。この場合、再生装置１をコンピュータ装置上で動作させることができる。また、再生装置１をハードウェアおよびソフトウェアが混合された構成で実現することもできる。例えば、再生装置１における各デコーダ、特に、１ｓｔビデオデコーダ６９、２ｎｄビデオデコーダ７２など処理の負荷が他と比べて大きな部分をハードウェアで構成し、その他をソフトウェアで構成することが考えられる。
【０１６７】
再生装置１をソフトウェアのみ、または、ハードウェアおよびソフトウェアの混合により構成し、コンピュータ装置で実行させるためのプログラムは、例えばＣＤ−ＲＯＭ(Compact Disc-Read Only Memory)やＤＶＤ−ＲＯＭ(Digital Versatile Disc Read Only Memory)といった記録媒体に記録されて提供される。この記録媒体をコンピュータ装置のドライブに装填し、記録媒体上に記録されたプログラムを所定にコンピュータ装置にインストールすることで、上述の処理をコンピュータ装置上で実行可能な状態とすることができる。プログラムをＢＤ−ＲＯＭに記録することも考えられる。なお、コンピュータ装置の構成は、極めて周知であるため、説明は省略する。
【０１６８】
次に、この発明の実施の一形態による、メニュー表示におけるボタンの表示制御について、図２４〜図２７のフローチャートを用いて説明する。なお、図２４〜図２７のフローチャートによる処理は、インタラクティブグラフィクスデコーダ７７において行われる。これに限らず、コントローラ部５３とインタラクティブグラフィクスデコーダ７７とにより協同的になされるようにもできるし、コントローラ部５３が全ての処理を制御するようにもできる。
【０１６９】
図２４は、ＩＧストリームを取得してから、メニュー画面の表示が消去されるまでの一例の処理を示すフローチャートである。先ず、ステップＳ５０で、インタラクティブグラフィクスデコーダ７７（以下、ＩＧデコーダ７７）によりＩＧストリームが取得される。ＩＧデコーダ７７は、取得したＩＧストリームからＩＣＳ、ＰＤＳおよびＯＤＳをそれぞれ取り出し、それぞれ対応するバッファに格納する（ステップＳ５１）。ＩＣＳのＰＴＳに達したら（ステップＳ５２）、取得されたＩＧストリームに基づきメニュー画面の初期画面が表示される（ステップＳ５３）。
【０１７０】
なお、初期画面においては、図２０を用いて説明したように、メニュー画面に表示される１または複数のボタンのうち、フィールドdefault_selected_button_id_refで示されるボタンが予め選択状態とされている。このボタンに選択状態のアニメーション表示を行うように設定されていれば、初期画面において、アニメーション表示がなされる。また、通常状態のボタンにおいても、アニメーション表示が設定されていれば、初期画面において、アニメーション表示がなされる。
【０１７１】
次のステップＳ５４で、コントローラ部５３がユーザオペレーション（ＵＯ）を受け付けたか否かが判断される。例えば、リモートコントロールコマンダに対してユーザが何らかの操作を行った場合、ユーザインターフェイスからコントローラ部５３に対して、操作に対応する制御信号が供給される。コントローラ部５３は、この制御信号に応じて、ＩＧデコーダ７７に対して、ＵＯを受け付けた旨を通知する。ＵＯを受け付けたと判断されれば、処理はステップＳ５５に移行され、ＵＯを受け付けた際に実行される処理ルーチン（ＵＯルーチン）に処理が移される。ステップＳ５５による処理ルーチンが終了すると、処理はステップＳ５６に移行される。
【０１７２】
一方、ステップＳ５４でＵＯを受け付けていないと判断されれば、処理はステップＳ５６に移行され、時刻が図１９で説明したフィールドcomposition_time_out_ptsで示される時刻に達したか否かが判断される。時刻の判断は、例えば上述のステップＳ５２におけるＩＣＳのＰＴＳからの時間に基づきなされる。若し、達したと判断されれば、このメニュー画面の表示が消去され、一連の処理が終了される。
【０１７３】
ステップＳ５６で、フィールドcomposition_time_out_ptsで示される時刻に達していないと判断されれば、処理はステップＳ５７に移行される。ステップＳ５７では、時刻が図１９で説明したフィールドselection_time_out_ptsで示す時刻に達したか否かが判断される。若し、達していると判断されれば、処理はステップＳ５８に移行され、フィールドselection_time_out_ptsで示す時刻に達した際に実行される処理ルーチン（selection_time_outルーチン）に処理が移される。ステップＳ５８による処理ルーチンが終了すると、処理はステップＳ５９に移行される。
【０１７４】
一方、ステップＳ５７で、時刻がフィールドselection_time_out_ptsで示す時刻に達していないと判断されれば、処理はステップＳ５９に移行され、時刻が図１９で説明したフィールドuser_time_out_ptsで示す時刻に達したか否かが判断される。若し、達していると判断されれば、処理はステップＳ６０に移行され、フィールドuser_time_out_ptsで示す時刻に達した際に実行される処理ルーチン（user_time_outルーチン）に処理が移される。ステップＳ６０による処理ルーチンが終了すると、処理はステップＳ６１に移行され、所定のボタンアニメーションが表示される。そして、処理はステップＳ５４に戻され、再びＵＯを受け付けたか否かが判断される。
【０１７５】
図２５は、上述したステップＳ５５の「ＵＯルーチン」の一例の処理をより具体的に示すフローチャートである。先ず、最初のステップＳ７０で、ステップＳ５４で受け付けたＵＯがメニュー画面に表示されているボタンの状態を変更するものであるか否かが判断される。受け付けたＵＯがボタン状態を変更しないものであると判断されれば、この図２５のフローチャートによる処理を抜け、処理は図２４のステップＳ５６に移行される。
【０１７６】
ステップＳ７０で、受け付けたＵＯがボタン状態を変更するものであると判断されたら、処理はステップＳ７１に移行され、当該ＵＯにより変更後のボタンの状態が実行状態であるか否かが判断される。
【０１７７】
例えば、あるボタンが選択状態となっているときに、リモートコントロールコマンダの決定ボタンを押下するなどの、選択状態を決定する操作がなされると、当該選択状態のボタンが実行状態に変更されることになる。一方、あるボタンが選択状態となっているときに、リモートコントロールコマンダの上下左右の何れかの方向を指示する方向キーが押下されるなど、別のボタンを選択状態にするような操作がなされると、当該選択状態のボタンは、選択状態から通常状態に変更され、別のボタンが通常状態から選択状態に変更されることになる。
【０１７８】
ステップＳ７１で、ボタン状態が実行状態に変更されると判断されれば、処理はステップＳ７２に移行され、実行状態用のアニメーション表示がなされる。実行状態用のアニメーションは、図２２を用いて説明したように、実行状態のボタンにおいてフィールドactivated_start_object_id_refで示される先頭のアニメーションフレームから、フィールドactivated_end_object_id_refで示される末尾のアニメーションフレームまで、全てが表示される。アニメーションの表示が終了した後、当該ボタンに埋め込まれたコマンドが実行される。コマンドが実行されると、この図２５のフローチャートの処理を抜け、処理は図２４のステップＳ５６に移行される。
【０１７９】
一方、上述のステップＳ７１で、変更後のボタンの状態が実行状態ではないと判断されれば、処理はステップＳ７４に移行され、変更後のボタン状態が選択状態であるか否かが判断される、若し、選択状態であると判断されれば、処理はステップＳ７５に移行される。これはすなわち、ボタンが現在は通常状態であって、ＵＯにより選択状態に遷移されることを示す。
【０１８０】
ステップＳ７５では、フラグnormal_complete_flagの値が判断される。若し、フラグnormal_complete_flagの値が"１"であると判断されれば、次のステップＳ７６で、現在当該ボタンに対して表示中のアニメーション表示がフィールドnormal_end_object_id_refで示されるアニメーションフレームまで表示されてから、処理がステップＳ７７に移行され、当該ボタンが選択状態とされる。
【０１８１】
ステップＳ７７でボタンが選択状態とされると、この図２５のフローチャートの処理を抜け、処理は図２４のステップＳ５６に移行される。
【０１８２】
一方、フラグnormal_complete_flagの値が"０"であると判断されれば、処理はステップＳ７７に移行され、現在当該ボタンに対して表示中のアニメーション表示が停止され、当該ボタンが選択状態とされる。
【０１８３】
なお、メニュー画面の状態は、例えばコントローラ部５３が有するＲＡＭに記憶されている。再生装置１が有する不揮発性メモリなどに記憶させておいてもよい。例えば、現在表示されているメニュー画面が何ページ目のメニューであるか、メニュー画面に表示されているボタンそれぞれのＩＤ、各ボタンの現在の状態といった、メニュー画面に関する情報がメモリに記憶され、コントローラ部５３などにより監視される。
【０１８４】
上述のステップＳ７４で、変更後のボタンの状態が選択状態ではないと判断されれば、処理はステップＳ７８に移行する。これはすなわち、ボタンが現在は選択状態であって、ＵＯによって通常状態に遷移されることを示す。
【０１８５】
ステップＳ７８では、フラグselected_complete_flagの値が判断される。若し、フラグselected_complete_flagの値が"１"であると判断されれば、次のステップＳ７９で、現在当該ボタンに対して表示中のアニメーション表示がフィールドselected_end_object_id_refで示されるアニメーションフレームまで表示されてから、処理がステップＳ８０に移行され、当該ボタンが通常状態とされる。
【０１８６】
一方、フラグselected_complete_flagの値が"０"であると判断されれば、処理はステップＳ８０に移行され、現在当該ボタンに対して表示中のアニメーション表示が停止され、当該ボタンが通常状態とされる。
【０１８７】
ステップＳ８０でボタンが通常状態とされると、この図２５のフローチャートの処理を抜け、処理は図２４のステップＳ５６に移行される。  
【０１８８】
このように、この発明の実施の一形態においては、ボタンのアニメーション表示中にボタン状態を遷移させるようなユーザオペレーションがあった際に、当該アニメーション表示を最後まで行うか、ユーザオペレーションの時点で終了させるかを指定するフラグを設けた。そのため、アニメーション表示のユーザオペレーションに対する挙動を、コンテンツの制作者側で制御することができる。
【０１８９】
図２６は、上述したステップＳ５８の「selection_time_outルーチン」の一例の処理をより具体的に示すフローチャートである。先ず、ステップＳ９０で、現在表示されているメニュー画面の全てのボタンを通常状態にする。次に、ステップＳ９１で、当該メニュー画面において、図２０に示されるフィールドdefault_activatedbutton_id_refに有効な値が設定されているか否かが判断される。若し、設定されていないと判断されれば、この図２６のフローチャートによる処理を抜け、処理が図２４のステップＳ５９に移行される。
【０１９０】
一方、ステップＳ９１で、フィールドdefault_activatedbutton_id_refに有効な値が設定されていると判断されれば、処理はステップＳ９２に移行され、当該フィールドdefault_activatedbutton_id_refに示されるボタンが自動実行される。すなわち、当該ボタンが自動的に実行状態にされると共に、当該ボタンに対して設定されているコマンドが自動的に実行される。そして、この図２６のフローチャートによる処理を抜け、処理が図２４のステップＳ５９に移行される。
【０１９１】
図２７は、上述したステップＳ６０の「user_time_outルーチン」の一例の処理をより具体的に示すフローチャートである。先ず、ステップＳ１００で、図２０を用いて説明した、ブロックout_effects()により現在表示されているページに定義される、メニュー画面終了時のアニメーションが表示される。次に、ステップＳ１０１で、図１９を用いて説明したフィールドuser_interface_modelの値に基づき、現在メニュー画面を表示させているＩＣＳが含まれるＩＧストリームに定義されるメニュー画面が、ポップアップメニューか、常時表示メニューの何れであるかが判断される。
【０１９２】
若し、ポップアップメニューであると判断されれば（フィールドuser_interface_model＝"１"）、処理はステップＳ１０３に移行され、画面からメニュー表示が消去され、この図２７のフローチャートを抜けて処理がステップＳ６１に移行する。一方、常時表示メニューであると判断されれば、処理はステップＳ１０２に移行され、当該ＩＧストリームにおいてデフォルトのメニュー画面が表示される。例えば、最初のページのメニュー画面（フィールドpage_idの値が"０"）で、当該メニュー画面に表示されるボタンが初期化された状態（当該メニュー画面上に表示される全てのボタンについて、フィールドbutton_idの値が"default"）とされる。そして、この図２７のフローチャートを抜けて処理がステップＳ６１に移行する。
【０１９３】
なお、ステップＳ１０３でメニュー画面が消去されてから、処理がステップＳ６１に移行した場合には、アニメーション表示は行われない。
【０１９４】
上述では、この発明の実施の一形態によるＩＧストリームが予めディスクに記録されているように説明したが、これはこの例に限定されない。すなわち、ＩＧストリーム自体や、ＩＧストリームを構成するＩＣＳ、ＰＧＳおよびＯＤＳのそれぞれ、また、ＩＣＳに定義される各パラメータのそれぞれは、インターネットといったネットワークを介して取得するようにもできる。
【０１９５】
一例として、再生装置１に対してインターネットと通信可能な通信インターフェイスを設ける。あるディスクを再生中に、通信インターフェイスによりインターネットを介してサーバなどと通信し、再生中のディスクに対応する例えばダウンロードにより取得されたＩＧストリームからＩＣＳを取得する。取得されたＩＣＳをスイッチ回路５１から入力して、所定の経路を介してインタラクティブグラフィクスデコーダ７７に供給する。このようにすれば、ディスクから取得されたＩＧストリームまたはＩＣＳの代わりに、インターネットを介して取得されたＩＧストリームやＩＣＳを用いることが可能となる。なお、この場合には、例えばＩＧストリームのみ、または同期して再生される映像データとを含むトランスポートストリームとしてハードディスクなどに記録され、上述したサブプレイアイテムを用いて、光ディスクに記録されているビデオデータなどと同時に再生される。
【０１９６】
これに限らず、コンテンツが記録されたディスクとは別の記録媒体からＩＧストリーム自体や、ＩＧストリームを構成するＩＣＳ、ＰＧＳおよびＯＤＳのそれぞれ、また、ＩＣＳに定義される各パラメータのそれぞれを取得することも可能である。この場合は、再生装置１に対して、用いる記録媒体に対応したドライブを接続する。
【０１９７】
次に、図２８および図２９を参照して、再生装置１において再生可能なディスクの一例の製造方法について説明する。図２８に一例を示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
【０１９８】
そして、図２９に示すように、ソフト製作処理部において、符号化装置（ビデオエンコーダ）で符号化された、再生装置１において再生可能な形式のビデオデータが一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが一時バッファに記憶される。また、プレゼンテーショングラフィクスデータおよびインタラクティブグラフィクスデータがそれぞれ所定に符号化され、一時バッファに記憶される。インタラクティブグラフィクスデータには、上述したフラグselect_complete_flagやフラグnormal_complete_flagを含ませることができる。さらに、データエンコーダで符号化された、ストリーム以外のデータ（例えば、インデックス、プレイリスト、プレイアイテムなど）が一時バッファに記憶される。
【０１９９】
それぞれのバッファに記憶されたビデオデータ、オーディオデータ、プレゼンテーショングラフィクスデータ、インタラクティブグラフィクスデータ、ならびに、ストリーム以外のデータは、多重化器（ＭＰＸ）で同期信号と共に多重化され、誤り訂正符号回路（ＥＣＣ）でエラー訂正用のコードが付加される。そして、変調回路（ＭＯＤ）で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置２０や再生装置４０１において再生可能な記録媒体２１に記録されるソフトウェアが製作される。
【０２００】
なお、ソフト製作処理部は、周知の構成のコンピュータ装置で構成することが可能で（図示しない）、所定のプログラムに従いＣＰＵなどで全体の動作を制御することが可能である。プログラムは、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭといった記録媒体に記録されて提供される。プログラムを記録した記録媒体をコンピュータ装置に所定に装填し、プログラムをコンピュータ装置のシステムに所定にインストールすることで、コンピュータ装置においてソフトウェア製作処理部を構成することができる。
【０２０１】
このソフトウェアを必要に応じて編集（プリマスタリング）し、光ディスクに記録すべきフォーマットの信号が生成される。そして、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
【０２０２】
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
【０２０３】
この成形用金型に、例えばインジェクションなどによりＰＭＭＡ（アクリル）またはＰＣ（ポリカーボネート）などの材料を注入し、固定化させる。あるいは、金属スタンパ上に２Ｐ（紫外線硬化樹脂）などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
【０２０４】
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
【０２０５】
その後、このディスクに対して内外径の加工が施され、２枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置１などによって再生可能なデータが記録されたディスクが完成する。
【図面の簡単な説明】
【０２０６】
【図１】ＢＤ−ＲＯＭのデータモデルを概略的に示す略線図である。
【図２】インデックステーブルを説明するための略線図である。
【図３】クリップＡＶストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ図である。
【図４】複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。
【図５】サブパスについて説明するための略線図である。
【図６】記録媒体に記録されるファイルの管理構造を説明するための略線図である。
【図７】ＢＤ仮想プレーヤの動作を概略的に示すフローチャートである。
【図８】ＢＤ仮想プレーヤの動作を概略的に示すフローチャートである。
【図９】この発明の実施の一形態で画像の表示系として用いられるプレーン構造の一例を示す略線図である。
【図１０】動画プレーン、字幕プレーンおよびグラフィクスプレーンの一例の解像度および表示可能色を示す略線図である。
【図１１】動画プレーン、字幕プレーンおよびグラフィクスプレーンを合成する一例の構成を示すブロック図である。
【図１２】パレットの入出力データの一例を示す略線図である。
【図１３】パレットに格納される一例のパレットテーブルを示す略線図である。
【図１４】グラフィクスプレーンに表示されるメニュー画面の一例を示す略線図である。
【図１５】グラフィクスプレーン上に表示されるボタン表示の一例の状態遷移図である。
【図１６】メニュー画面およびボタンの構成を概略的に示す略線図である。
【図１７】ボタン画像の一例の格納形式を説明するための略線図である。
【図１８】ＩＣＳのヘッダ情報の一例の構造を表すシンタクスを示す略線図である。
【図１９】ブロックinteractive_composition_data_fragemnt()の一例の構造を表すシンタクスを示す略線図である。
【図２０】ブロックpage()の一例の構造を表すシンタクスを示す略線図である。
【図２１】ブロックbutton_overlap_group()の一例の構造を表すシンタクスを示す略線図である。
【図２２】ブロックbutton()の一例の構造を表すシンタクスを示す略線図である。
【図２３】この発明の実施の一形態に適用可能な再生装置の一例の構成を示すブロック図である。
【図２４】ＩＧストリームを取得してから、メニュー画面の表示が消去されるまでの一例の処理を示すフローチャートである。
【図２５】「ＵＯルーチン」の一例の処理をより具体的に示すフローチャートである。
【図２６】「selection_time_outルーチン」の一例の処理をより具体的に示すフローチャートである。
【図２７】「user_time_outルーチン」の一例の処理をより具体的に示すフローチャートである。
【図２８】一例のディスク製造過程を示す略線図である。
【図２９】ソフト製作処理部の一例の構成を示すブロック図である。
【図３０】従来の技術によるボタンのアニメーション表示における問題点を説明するための略線図である。
【図３１】従来の技術によるボタンのアニメーション表示における問題点を説明するための略線図である。
【図３２】従来の技術によるボタンのアニメーション表示における問題点を説明するための略線図である。
【符号の説明】
【０２０７】
１  再生装置
１０  動画プレーン
１１  字幕プレーン
１２  グラフィクスプレーン
７７  インタラクティブグラフィクスデコーダ
１００  ボタン
１０１  メニュー画面
【図１】
2007172716.tif 000003
【図２】
2007172716.tif 000004
【図３】
2007172716.tif 000005
【図４】
2007172716.tif 000006
【図５】
2007172716.tif 000007
【図６】
2007172716.tif 000008
【図７】
2007172716.tif 000009
【図８】
2007172716.tif 000010
【図９】
2007172716.tif 000011
【図１０】
2007172716.tif 000012
【図１１】
2007172716.tif 000013
【図１２】
2007172716.tif 000014
【図１３】
2007172716.tif 000015
【図１４】
2007172716.tif 000016
【図１５】
2007172716.tif 000017
【図１６】
2007172716.tif 000018
【図１７】
2007172716.tif 000019
【図１８】
2007172716.tif 000020
【図１９】
2007172716.tif 000021
【図２０】
2007172716.tif 000022
【図２１】
2007172716.tif 000023
【図２２】
2007172716.tif 000024
【図２３】
2007172716.tif 000025
【図２４】
2007172716.tif 000026
【図２５】
2007172716.tif 000027
【図２６】
2007172716.tif 000028
【図２７】
2007172716.tif 000029
【図２８】
2007172716.tif 000030
【図２９】
2007172716.tif 000031
【図３０】
2007172716.tif 000032
【図３１】
2007172716.tif 000033
【図３２】
2007172716.tif 000034