(57)【特許請求の範囲】
【請求項１】
階層的に連結された複数のノードを利用して記述され、選択可能な複数の項目を表すインターフェースデータの前記ノードを分析する分析部と、
前記分析された結果に基づいて、前記インターフェースデータをレンダリングするレンダリング部と、を備え、
前記複数のノードは、
少なくとも一つのユーザーインターフェースノードと、
前記ユーザーインターフェースノードの最近の下位ノードである複数のメニューノードと、
前記メニューノードの最近の下位ノードであり、選択可能な項目を記述する複数の項目ノードを含み、
前記メニューノード及び項目ノードは、アニメーション情報を含む、前記メニューノード及び項目ノードにそれぞれ従属する、定形化されたフォーマットによって記述された、アニメーションノードを含み、
前記分析部は、レンダリング装置の操作によって分析するメニューノードまたは項目ノードを決定し、前記決定されたメニューノードまたは前記決定された項目ノードに従属するアニメーションノードに含まれた内容を分析する、前記内容は操作による前記メニューノード及び項目ノードに適用されるアニメーション効果であることを特徴とするレンダリング装置。
【請求項２】
前記メニューノードのアニメーションノードは、ユーザーインターフェース画面についてのアニメーション情報を含み、
前記レンダリング部は、前記決定されたメニューノードのアニメーションノードに記述されたアニメーション効果をユーザーインターフェース画面に適用することを特徴とする請求項１に記載のレンダリング装置。
【請求項３】
前記レンダリング部は、
前記決定されたメニューノードのアニメーション効果を適用して、ユーザーインターフェース画面の大きさを次第に縮小させることを特徴とする請求項１に記載のレンダリング装置。
【請求項４】
前記項目ノードのアニメーションノードは、客体に適用するアニメーション情報を含み、
前記レンダリング部は、前記決定された項目ノードのアニメーションノードに記述されたアニメーション効果を客体に適用することを特徴とする請求項１に記載のレンダリング装置。
【請求項５】
前記レンダリング部は、前記決定された項目ノードのアニメーション効果を適用して、ユーザーインターフェース画面に表示された客体のうちいずれか一つの客体を突出させることを特徴とする請求項１に記載のレンダリング装置。
【請求項６】
階層的に連結された複数のノードを利用して記述され、選択可能な複数の項目を表すインターフェースデータの前記ノードを分析するステップと、
前記分析された結果に基づいて、前記インターフェースデータをレンダリングするステップと、を含み、
前記複数のノードは、
少なくとも一つのユーザーインターフェースノードと、
前記ユーザーインターフェースノードの最近の下位ノードである複数のメニューノードと、
前記メニューノードの最近の下位ノードであり、選択可能な項目を記述する複数の項目ノードを含み、
前記メニューノード及び項目ノードは、アニメーション情報を含む、前記メニューノード及び項目ノードにそれぞれ従属する、定形化されたフォーマットによって記述された、アニメーションノードを含み、
前記分析するステップは、レンダリング装置の操作によって分析するメニューノードまたは項目ノードを決定し、前記決定されたメニューノードまたは前記決定された項目ノードに従属するアニメーションノードに含まれた内容を分析する、前記内容は操作による前記メニューノード及び項目ノードに適用されるアニメーション効果であることを特徴とするレンダリング方法。
【請求項７】
前記メニューノードのアニメーションノードは、ユーザーインターフェース画面についてのアニメーション情報を含み、
前記レンダリングするステップは、前記決定されたメニューノードのアニメーションノードに記述されたアニメーション効果をユーザーインターフェース画面に適用することを特徴とする請求項６に記載のレンダリング方法。
【請求項８】
前記レンダリングするステップは、前記決定されたメニューノードのアニメーション効果を適用して、ユーザーインターフェース画面の大きさを次第に縮小させることを特徴とする請求項６に記載のレンダリング方法。
【請求項９】
前記項目ノードのアニメーションノードは客体に適用するアニメーション情報を含み、
前記レンダリングするステップは、前記決定された項目ノードのアニメーションノードに記述されたアニメーション効果を客体に適用することを特徴とする請求項６に記載のレンダリング方法。
【請求項１０】
前記レンダリングするステップは、前記決定された項目ノードのアニメーション効果を適用して、ユーザーインターフェース画面に表示された客体のうちいずれか一つの客体を突出させることを特徴とする請求項６に記載のレンダリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はレンダリングに係り、特に選択可能な複数の項目を有するインターフェースデータのレンダリングに関する。
【背景技術】
【０００２】
端末機のユーザーは、端末機の操作された結果によって変わるユーザーインターフェース（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ：ＵＩ）画面を端末機から提供され、端末機を操作できる。かかるＵＩ画面は、端末機が提供できる多様なメニューのうち一つを表す。このとき、一つのメニューは、選択可能な複数の項目からなる。
【０００３】
このようにメニューを表すＵＩ画面のグラフィック情報を有するデータであるインターフェースデータは、端末機ごとに端末機固有のフォーマットで記述される。したがって、ある著作されたコンテンツを表すインターフェースデータを製作しようとするプログラマは、その著作されたコンテンツを端末機固有のフォーマットに合わせて再構成せねばならない。
【０００４】
結局、たとえコンテンツが迅速に著作されるとしても、インターフェースデータを製作するためには、その著作されたコンテンツを端末機固有のフォーマットを考慮して再構成する過程が要求されるところ、インターフェースデータの迅速な製作には限界があるしかない。かかる限界は、プログラマが端末機固有のフォーマットに習熟しない時及びコンテンツが３次元コンテンツである時にさらに目立つ。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、迅速に製作可能に記述されたインターフェースデータをレンダリングするレンダリング装置を提供するところにある。
【０００６】
本発明が解決しようとする他の課題は、迅速に製作可能に記述されたインターフェースデータをレンダリングするレンダリング方法を提供するところにある。
【０００７】
本発明が解決しようとするさらに他の課題は、迅速に製作可能に記述されたインターフェースデータを保存したコンピュータで読み取り可能な記録媒体を提供するところにある。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明によるレンダリング装置は、階層的に連結された複数のノードを利用して記述され、選択可能な複数の項目を表すインターフェースデータの前記ノードを分析する分析部と、前記分析された結果に基づいて、前記インターフェースデータをレンダリングするレンダリング部と、を備えることが望ましい。
【０００９】
前記他の課題を解決するために、本発明によるレンダリング方法は、階層的に連結された複数のノードを利用して記述され、選択可能な複数の項目を表すインターフェースデータの前記ノードを分析するステップと、前記分析された結果に基づいて、前記インターフェースデータをレンダリングするステップと、を含むことが望ましい。
【００１０】
前記さらに他の課題を解決するために、階層的に連結された複数のノードを利用して記述されたデータを保存した本発明によるコンピュータで読み取り可能な記録媒体は、前記複数のノードが一つ以上のＵＩノードと、前記ＵＩノードの最近接の下位ノードであり、選択可能な複数のメニューノードと、前記メニューノードの最近接の下位ノードであり、選択可能な複数の項目を含むデータと、を保存したことが望ましい。
【発明の効果】
【００１１】
本発明によるレンダリング装置及び方法は、レンダリングしようとするインターフェースデータであって、定形化されたフォーマットによって記述されたインターフェースデータ、特にＶＲＭＬ規格を応用したフォーマットによって記述されることによって、インターフェースデータが搭載される端末機に関係なくいつも迅速に製作できるインターフェースデータを利用するので、レンダリングされるインターフェースデータを製作する製作者は、著作しようとするコンテンツを決定してからインターフェースデータが製作されるまでの時間を画期的に短縮できる。すなわち、インターフェースデータの製作者は、本発明のように定形化されたフォーマットによって記述されたインターフェースデータを製作する場合、タイムツーマーケット低減効果を期待できる。
【図面の簡単な説明】
【００１２】
【図１Ａ】選択可能な項目を３次元的に示すＵＩ画面を説明するための図である。
【図１Ｂ】選択可能な項目を３次元的に示すＵＩ画面を説明するための図である。
【図１Ｃ】選択可能な項目を３次元的に示すＵＩ画面を説明するための図である。
【図２】本発明によるレンダリング装置を説明するためのブロック図である。
【図３】本発明によるレンダリング装置によりレンダリングされるインターフェースデータを記述する複数のノードを説明するための参考図である。
【図４】ＵＩノードのシンタックスを説明するための参考図である。
【図５】図４に示したシンタックスの一例を示す図である。
【図６】メニューノードのシンタックスを説明するための参考図である。
【図７】図６に示したシンタックスの一例を示す図である。
【図８】項目ノードのシンタックスを説明するための参考図である。
【図９】図８に示したシンタックスの一例を示す図である。
【図１０】転移ノードのシンタックスを説明するための参考図である。
【図１１】アニメーターグループノードのシンタックスを説明するための参考図である。
【図１２】アニメーターノードのシンタックスを説明するための参考図である。
【図１３Ａ】アニメーターノードのシンタックスを説明するための参考図である。
【図１３Ｂ】アニメーターノードのシンタックスを説明するための参考図である。
【図１４】ＵＩノードがバインドされる場合の本発明によるレンダリング過程を説明するための参考図である。
【図１５】レンダリング装置が操作される場合の本発明の第１実施形態によるレンダリング過程を説明するための参考図である。
【図１６】レンダリング装置が操作される場合の本発明の第２実施形態によるレンダリング過程を説明するための参考図である。
【図１７】本発明によるレンダリング方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
本発明と、本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及びその添付図面を説明する内容を参照せねばならない。
【００１４】
以下、本発明によるレンダリング装置及び方法を、添付した図面を参照して次のように説明する。
【００１５】
図１Ａないし図１Ｃは、選択可能な項目を３次元的に示すＵＩ画面を説明するための図である。具体的に、図１Ａないし図１Ｃは、“文字メッセージサービス機能、カメラ機能、個人文書管理機能、音楽再生機能、インターネット機能、日程管理機能、電話発／受信機能、カムコーダ機能、環境設定機能”など９個の機能を行える端末機が端末機に備えられたディスプレイ窓１１０を通じてディスプレイするメニューの一例を意味する。
【００１６】
さらに具体的に、図１Ａは、端末機がディスプレイする初期画面を表す。図１Ａに示したように、メニューは、９個の項目で構成されている。このとき、９個の項目、すなわち“Ｍｅｓｓａｇｅ，Ｃａｍｅｒａ，Ｍｙ ｔｈｉｎｇｓ，Ｍｕｓｉｃ，Ｉｎｔｅｒｎｅｔ，Ｏｒｇａｎｉｚｅｒ，Ｃｏｎｔａｃｔｓ，Ｃａｍｃｏｄｅｒ，Ｓｅｔｔｉｎｇｓ”それぞれは、“文字メッセージサービス機能、カメラ機能、個人文書管理機能、音楽再生機能、インターネット機能、日程管理機能、電話発／受信機能、カムコーダ機能、環境設定機能”それぞれを意味する。
【００１７】
この場合、ユーザーは、端末機を操作してその９個の項目のうち一つの項目を選択することによって、端末機がその選択された項目を行うことを指示する。例えば、ユーザーは、端末機に備えられたボタンなどを操作してその９個の項目のうち“Ｍｅｓｓａｇｅ”を選択することによって、端末機が文字メッセージサービス（ＳｈｏｒｔＭｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ：ＳＭＳ）機能を行うことを指示する。
【００１８】
図１Ａに示したように、９個の項目それぞれは、キュービックのような３次元形状にディスプレイされる。このように項目が３次元的にディスプレイされる場合、端末機は、その９個の項目のうち選択された項目がいかなる項目であるかをユーザーに確実に認識させるために、その選択された項目に対してある‘アニメーション（すなわち、動き情報）’を適用できる。例えば、端末機は、その選択された項目“Ｍｅｓｓａｇｅ”を図１Ａに示したように突出させることをディスプレイする。さらに、端末機は、その選択された項目をユーザーにさらに確実に認識させるために、その選択された項目に対して付加的なアニメーションをさらに適用することもできる。例えば、端末機は、その選択された項目“Ｍｅｓｓａｇｅ”を回転させることをディスプレイすることもできる。この場合、端末機は、その選択された項目を突出させ始めると共に回転させ始めることもでき、完全に突出させた後に回転させ始めることもできる。かかる突出及び回転がいずれも終了して始めて、端末機は、その選択された項目“Ｍｅｓｓａｇｅ”の細部項目を図１Ｂのようにディスプレイする。
【００１９】
図１Ｂは、図１Ａで“Ｍｅｓｓａｇｅ”が選択された場合にディスプレイされるＵＩ画面を表す。すなわち、図１Ｂに示したＵＩ画面は、図１Ａに示したＵＩ画面の下位画面である。図１Ｂに示したように、メニューは、５個の項目で構成されている。このとき、５個の項目、すなわち“Ｃｒｅａｔｅ  Ｎｅｗ，Ｉｎｂｏｘ，Ｏｕｔｂｏｘ，Ｄｒａｆｔｓ，Ｓｅｎｔｂｏｘ”それぞれは、“新たな項目生成機能、受信メッセージ管理機能、発送失敗メッセージ管理機能、メッセージ作成機能、発信メッセージ管理機能”それぞれを意味する。
【００２０】
この場合、ユーザーは、端末機を操作してその５個の項目のうち一つの項目を選択することによって、端末機がその選択された項目を行うことを指示する。例えば、ユーザーは、端末機に備えられたボタンなどを操作してその５個の項目のうち“Ｓｅｎｔｂｏｘ”を選択することによって、端末機が発信メッセージ管理機能を行うことを指示する。
【００２１】
図１Ｂに示したように、５個の項目それぞれは、３次元状にディスプレイされる。これにより、図１Ａと同様に、端末機は、その選択された項目“Ｓｅｎｔｂｏｘ”を突出させることをディスプレイすることもでき、突出させ始めると共に回転させ始めることもでき、完全に突出させた後に回転させ始めることもできる。かかる突出及び回転がいずれも終了して始めて、端末機は、その選択された項目“Ｓｅｎｔｂｏｘ”の細部項目を図１Ｃのようにディスプレイする。
【００２２】
図１Ｃも、図１Ｂについての説明と同じく説明される。具体的に、図１Ｃは、図１Ｂで“Ｓｅｎｔｂｏｘ”が選択された場合にディスプレイされるＵＩ画面を表す。すなわち、図１Ｃに示したＵＩ画面は、図１Ｂに示したＵＩ画面の下位画面である。
【００２３】
図１Ｃに示したように、メニューは、５個の項目で構成されている。このとき、５個の項目、すなわち“Ｗｉｎｎｉ，Ｄｉａｎａ，Ｖａｎｅｓｓａ，Ａｌｅｘａｎｄｒａ，Ｂａｓｉｌ”は、“発信された文字メッセージの受信人がウィニ、ダイアナ、バネッサ、アレキサンドラ、バジルであること”を意味する。
【００２４】
この場合、ユーザーは、端末機を操作してその５個の項目のうち一つの項目を選択することによって、端末機がその選択された項目を行うことを指示する。例えば、ユーザーは、端末機に備えられたボタンなどを操作してその５個の項目のうち“Ｗｉｎｎｉ”を選択することによって、Ｗｉｎｎｉに発信されたその文字メッセージを確認できる。
【００２５】
図１Ｃでも、５個の項目それぞれは、３次元状にディスプレイされる。これにより、図１Ｂと同様に、端末機は、その選択された項目“Ｗｉｎｎｉ”を突出させてディスプレイすることもでき、突出させ始めると共に回転させ始めることもでき、完全に突出させた後に回転させ始めることもできる。かかる突出及び回転がいずれも終了して始めて、端末機は、Ｗｉｎｎｉに発信されたその文字メッセージをディスプレイする。
【００２６】
本明細書において、“状態”とは、ディスプレイ機能を有する端末機がディスプレイした（または、ディスプレイする）映像を指す。かかる端末機、具体的に、ディスプレイ機能はいうまでもなく、電話発／受信機能、音楽再生機能、カメラ機能など多様な機能を行える携帯用電話機のような端末機は、本発明によるレンダリング装置の一例である。例えば、図１Ａに示した“状態”（＝端末機が初期画面をディスプレイする状態）、図１Ｂに示した“状態”（＝端末機がＭｅｓｓａｇｅの下位項目をディスプレイする状態）及び図１Ｃに示した“状態”（＝端末機がＳｅｎｔｂｏｘの下位項目をディスプレイする状態）はいずれも異なる。
【００２７】
このように、互いに上下位関係にあるＵＩ画面間の“状態”が異なることはいうまでもなく、上下位関係が存在しないＵＩ画面間の“状態”も異なる。例えば、映像を図１Ｂ及び図１Ｃに示したように列の形態にディスプレイする場合、端末機がｍ（ただし、ｍは、ｍ＞６である整数）個の映像をディスプレイしようとしても、ディスプレイ窓１１０のサイズによる制約によりｍ個の映像のうち最大６個の映像のみをディスプレイできると仮定すれば、ユーザーは、端末機の方向キー→、←、↑、↓などを操作することによって、そのｍ個の映像をスクロールする。このように、スクロールされる度に変更されるＵＩ画面間には、上下位関係が存在しない。かかるＵＩ画面間の“状態”も異なる。
【００２８】
図２は、本発明によるレンダリング装置を説明するためのブロック図であって、ローディング部２１０、分析部２２０、ノード更新部２３０、操作認識部２４０及びレンダリング部２５０から形成される。
【００２９】
本発明によるレンダリング装置によりレンダリング（すなわち、視覚化）されるインターフェースデータは、定形化されたフォーマットで記述されている。具体的に、本発明によるインターフェースデータは、階層的に連結された複数のノードを利用して記述される。説明の便宜上、本明細書で言及されるノード、フィールド、イベントそれぞれの意味は、３次元グラフィックを表現する代表的なテキスト形式の言語であるＶＲＭＬ（バーチャル  リアリティ  モデリング  ランゲージ）で規定されたノード、フィールド、イベントそれぞれの意味と同一であると仮定する。すなわち、ノードは、ノードの属性を定義するフィールドと、一つのノードから他のノードに伝達されるメッセージであるイベントと、を含む。かかるノードそれぞれは、そのノードそれぞれの固定されたフィールド集合を有する。
【００３０】
ただし、本発明によるインターフェースデータを記述するノードは、ＶＲＭＬで規定されていないノードである。すなわち、ＶＲＭＬは、インターフェースデータ、すなわちメニューを表すＵＩ画面のグラフィック情報を有するデータを記述するためのノードに対して規定しない。本発明によるインターフェースデータを記述するノードは、一つ以上のＵＩノードと、ＵＩノードの最近接の下位ノードであり、選択可能な複数のメニューノードと、メニューノードの最近接の下位ノードであり、選択可能な複数の項目を記述する複数の項目ノードと、を備える。かかるノードについてのさらに具体的な説明は、図３ないし図１３についての説明で後述する。
【００３１】
本発明によるレンダリング装置は、ファイル保存部（図示せず）を備えることが望ましい。かかるファイル保存部（図示せず）は、本発明によるレンダリング装置に与えられたインターフェースデータを保存する。
【００３２】
本発明によるレンダリング装置がその保存されたインターフェースデータをレンダリングしようとする場合、ローディング部２１０は、その保存されたインターフェースデータをローディングする。
【００３３】
分析部２２０は、そのローディングされたインターフェースデータを記述するノードを分析する。具体的に、分析部２２０は、そのローディングされたインターフェースデータを記述するあらゆるノードのうちレンダリングされるノードが何か分析し、そのレンダリングされるノードの内容を分析する。
【００３４】
ノード更新部２３０は、そのローディングされたインターフェースデータを記述するあらゆるノードそれぞれに、そのそれぞれのノードに従属された一つ以上のノードの状態転移テーブル（Ｓｔａｔｅ  Ｔｒａｎｓｉｔｉｏｎ  Ｔａｂｌｅ：ＳＴＴ）をそのそれぞれのノードに含める。ここで、ＳＴＴとは、本発明によるレンダリング装置の操作された結果をアドレスとして“転移される状態についての情報”を保存したテーブルを意味する。前述した“状態”は、本明細書において、項目ノード固有の識別情報（例えば、項目ノード固有のＩＤ）を意味する。一方、本明細書において“ノードＡは、ノードＢに従属されている”と表現された場合、ノードＡは、ノードＢの最近接の下位ノードであって、ノードＢに従属されていることを意味することが望ましい。後述するが、本発明によるレンダリング装置に与えられるインターフェースデータを記述するあらゆるノードのうち、当初から状態情報テーブルを表すノードは、項目ノードである。また後述するが、本発明によるレンダリング装置に設けられたボタンなどが操作された場合、分析部２２０は、“その操作された結果”に相応する状態を決定し、決定された状態に該当するノードをレンダリングされるノードと決定する。このとき、分析部２２０は、その転移される“状態”の決定において、“その操作された結果”だけでなく、後述する“レンダリング部２５０により最近にレンダリングされた結果”も考慮すべきことはいうまでもない。一方、分析部２２０は、各項目ノードのＳＴＴを分析して“その操作された結果”に相応する状態を決定することもできるが、この場合、インターフェースデータを記述するＵＩノードから項目ノードまでいずれも分析すべきところ、ＳＴＴの分析に相当時間がかかる確率が高い。
【００３５】
かかるＳＴＴの分析をさらに迅速に完了するために、ノード更新部２３０は、それぞれのメニューノードに従属された複数の項目ノードのＳＴＴを取り集めて一つのＳＴＴを生成し、生成されたＳＴＴをそのそれぞれのメニューノードに含める。次いで、ノード更新部２３０は、それぞれのＵＩノードに従属された複数のメニューノードのＳＴＴを取り集めて一つのＳＴＴを生成し、生成されたＳＴＴをそのそれぞれのＵＩノードに含める。これにより、分析部２２０は、項目ノードまで分析せず、ＵＩノードのみを分析することによっても、レンダリング装置の操作された結果に相応する状態を決定できる。
【００３６】
このように、ノード更新部２３０がそのローディングされたインターフェースデータを記述するあらゆるノードそれぞれに、そのそれぞれのノードに従属された一つ以上のノードのＳＴＴをそのそれぞれのノードに含める場合、分析部２２０は、ノード更新部２３０から出力されたインターフェースデータを分析することが望ましい。
【００３７】
一方、インターフェースデータを記述する複数のノードは、分析部２２０が動作する途中で変更可能である。具体的に、本発明によるレンダリング装置が動作する途中で、レンダリング装置が入力端子ＩＮを通じて外部からノードを提供されてインターフェースデータを記述する複数のノードの個数が増加することもあり、インターフェースデータを記述する複数のノードの個数が減少することもある。特に、インターフェースデータを構成するメニューノードに新たなメニューノードが追加されることもあり、インターフェースデータを構成するメニューノードのうち一部のメニューノードが削除されることもある。同様に、インターフェースデータを構成する項目ノードに新たな項目ノードが追加されることもあり、インターフェースデータを構成する項目ノードのうち一部の項目ノードが削除されることもある。このように、メニューノードが追加される場合、その追加されるメニューノードには、所定のＳＴＴが含まれていることが望ましい。
【００３８】
一方、レンダリング装置がディスプレイする初期画面を表すノードは、インターフェースデータを記述するノードのうち一部ノードである。ここで、初期画面とは、レンダリング装置の電源がターンオンされた後にユーザーが何の操作もしない状態でそのレンダリング装置がディスプレイするＵＩ画面でありうる。
【００３９】
具体的に、インターフェースデータを記述するノードのうちＵＩノードの個数は、一つ以上であり、レンダリング装置が初期画面をディスプレイするためには、そのＵＩノードのうち一つのＵＩノードが選択されねばならない。以下、色々なＵＩノードのうち一つのＵＩノードが選択されることを、その一つのＵＩノードがバインドされると命名する。すなわち、本明細書において、ＵＩノードは、バインド可能なノードである。“バインド”の基本概念は、ＶＲＭＬ規格にも詳細に開示されている。
【００４０】
色々なＵＩノードのうちいかなるＵＩノードがバインドされるかは、インターフェースデータに規定されてもよく、規定されなくてもよい。もし、いかなるＵＩノードがバインドされるかについてインターフェースデータに規定されていなければ、分析部２２０により最初に分析されるＵＩノードがバインドされる。
【００４１】
このようにいずれか一つのＵＩノードがバインドされれば、そのＵＩノードの下位ノードのうち一つのメニューノードと一つの項目ノードとがレンダリングされる下位ノードとして選択されねばならない。以下、バインドされたＵＩノードの下位ノードのうち一つの下位ノードが選択されることを、その一つの下位ノードが活性化されると命名する。
【００４２】
バインドされたＵＩノードの下位ノードのうち、レンダリング装置が初期画面をディスプレイするために活性化させる下位ノードは、インターフェースデータに規定されている。ただし、かかる活性化される下位ノードは、レンダリング装置が操作される度に変更される。すなわち、レンダリング装置が操作される度に、レンダリング装置の“状態”は変更される。
【００４３】
操作認識部２４０は、レンダリング装置の操作された結果を認識する。例えば、ユーザーがレンダリング装置に設けられたボタンなどを操作した場合、操作認識部２４０は、いかなるボタンが操作されたかを認識できる。さらに、操作認識部２４０は、ユーザーがそのボタンを短く押しているか、そのボタンを長く押しているか、そのボタンから指を離したかなど、そのボタンがどのように操作されたかも認識できる。操作認識部２４０は、かかる認識された結果をそのローディングされたインターフェースデータのバインドされたＵＩノードに含める。
【００４４】
この場合、ノード更新部２３０は、その認識された結果を活性化された項目ノードに含め、分析部２２０は、その活性化された項目ノードに含まれたその認識された結果に対応した“状態”を、ＳＴＴを検索して決定する。このとき、分析部２２０は、項目ノードに含まれたＳＴＴを検索することもでき、ノード更新部２３０によりＵＩノードに含まれたＳＴＴを検索することもできる。
【００４５】
この場合、分析部２２０は、そのバインドされたＵＩノードの下位ノードのうち、その対応した“状態”に該当する項目ノード及びメニューノードがいかなるノードであるかを探す。具体的に、分析部２２０は、そのバインドされたＵＩノードの下位ノードのうち、その対応した“状態”を意味する固有識別情報を有する項目ノードとメニューノードとを探す。
【００４６】
このために、分析部２２０は、その活性化された項目ノードが従属されたメニューノードに従属された他の項目ノードから分析する。もし、その活性化された項目ノードが従属されたメニューノードに従属された他の項目ノードのうち、その対応した“状態”に該当する項目ノードが存在しないと分析されれば、分析部２２０は、その活性化された項目ノードが従属されていないメニューノードに従属された項目ノードを分析する。
【００４７】
次いで、分析部２２０は、その決定された“状態”に対応したノードの内容を分析する。すなわち、分析部２２０は、その探した項目ノードとメニューノードとの内容を分析する。
【００４８】
レンダリング部２５０は、分析部２２０で分析された結果に基づいてインターフェースデータをレンダリングし、レンダリングされた結果を、出力端子ＯＵＴ１を通じて出力する。ＬＣＤ（液晶表示装置）のようなディスプレイ機器は、かかるレンダリングされた結果をディスプレイする。
【００４９】
前述したレンダリング装置の動作、特にＵＩノードがバインドされる場合のレンダリング装置の動作についてのさらに具体的な説明は、図１４についての説明で後述し、レンダリング装置が操作される場合のレンダリング装置の動作についてのさらに具体的な説明は、図１５及び図１６についての説明で後述する。
【００５０】
図３は、本発明によるレンダリング装置によりレンダリングされるインターフェースデータを記述する複数のノードを説明するための参考図である。以下、ＵｓｅｒＩｎｔｅｒｆａｃｅ３Ｄノード、Ｍｅｎｕノード、ＭｅｎｕＣｏｍｐｏｎｅｎｔノードそれぞれは、ＵＩノード、メニューノード、項目ノードそれぞれを意味する。
【００５１】
前述したように、ＵＩノードは、インターフェースデータを記述するあらゆるノードのうち最も上位ノードを意味する。また、インターフェースデータを記述するＵＩノードの個数は、一つ以上である。すなわち、ＵＩノードは、バインド可能なノードである。また、メニューノードは、ＵＩノードそれぞれの最近接の下位ノードを意味し、項目ノードは、メニューノードそれぞれの最近接の下位ノードを意味する。かかるＵＩノード、メニューノード、項目ノードの関係は、前述した図１Ａないし図１Ｃを利用して説明されることもある。すなわち、図１Ａに示したＵＩ画面を表すノード、図１Ｂに示したＵＩ画面を表すノード、図１Ｃに示したＵＩ画面を表すノードそれぞれのＵＩノードは互いに一致する。また、図１Ａに示したＵＩ画面を表すメニューノードには、“Ｍｅｓｓａｇｅ，Ｃａｍｅｒａ，Ｍｙ ｔｈｉｎｇｓ，Ｍｕｓｉｃ，Ｉｎｔｅｒｎｅｔ，Ｏｒｇａｎｉｚｅｒ，Ｃｏｎｔａｃｔｓ，Ｃａｍｃｏｄｅｒ，Ｓｅｔｔｉｎｇｓ”という９個の項目を記述する項目ノードを含む複数の項目ノードが従属される。同様に、図１Ｂに示したＵＩ画面を表すメニューノードには、“Ｃｒｅａｔｅ Ｎｅｗ，Ｉｎｂｏｘ，Ｏｕｔｂｏｘ，Ｄｒａｆｔｓ，Ｓｅｎｔｂｏｘ”という５個の項目を記述する項目ノードを含む複数の項目ノードが従属される。これと同様に、図１Ｃに示したＵＩ画面を表すメニューノードは、“Ｗｉｎｎｉ，Ｄｉａｎａ，Ｖａｎｅｓｓａ，Ａｌｅｘａｎｄｒａ，Ｂａｓｉｌ”という５個の項目を記述する項目ノードを含む複数の項目ノードが従属される。このように、メニューノード及びそれに従属された項目ノードが表すＵＩ画面は、多様な階層のＵＩ画面でありうる。
【００５２】
ＵＩノード、メニューノード、項目ノード以外にも、インターフェースデータを記述する複数のノードには、転移ノード、アニメーターノード、アニメーターグループノード、キーセンサーノード、スイッチノードが含まれる。
【００５３】
メニューノードには、アクティブアニメーションについての情報を記述しているアニメーターノード、及びインアクティブアニメーションについての情報を記述しているアニメーターノードのうち少なくとも一つが従属される。以下では、説明の便宜上、アクティブアニメーションについての情報を記述しているアニメーターノード、及びインアクティブアニメーションについての情報を記述しているアニメーターノードがいずれもメニューノードに従属されていると仮定する。
【００５４】
項目ノードには、ＳＴＴの内容を記述している転移ノード、トランスアニメーションについての情報を記述しているアニメーターノード、アクティブアニメーションについての情報を記述しているアニメーターノード、及びフォーカスアニメーションについての情報を記述しているアニメーターノードのうち少なくとも一つが従属される。以下では、説明の便宜上、転移ノード、トランスアニメーションについての情報を記述しているアニメーターノード、アクティブアニメーションについての情報を記述しているアニメーターノード、及びフォーカスアニメーションについての情報を記述しているアニメーターノードがいずれも項目ノードに従属されていると仮定する。
【００５５】
アニメーターノードとは、ディスプレイしようとする客体に適用するアニメーションを記述しているノードを意味する。このとき、客体は、‘メニューノードが表す客体（＝ＵＩ画面で項目を除いた部分の映像）’であってもよく、‘項目ノードが表す客体（＝ＵＩ画面に表れた項目）’であってもよい。また、ディスプレイしようとする客体は、３次元客体であることが望ましい。一方、本明細書において、客体データとは、客体を表すデータを意味する。
【００５６】
アニメーターグループノードとは、一つ以上のアニメーターノードを含むノードを意味する。
【００５７】
アクティブアニメーション、インアクティブアニメーション、トランスアニメーション、フォーカスアニメーションは、客体に適用可能なアニメーションの一例である。
【００５８】
メニューノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたアクティブアニメーションとは、ＵＩ画面上で客体の存在を浮き上げる動き情報を意味する。このときの客体が、メニューノードが表す客体であることはいうまでもない。
【００５９】
同様に、メニューノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたインアクティブアニメーションとは、ＵＩ画面上で客体の存在を隠す動き情報を意味する。
【００６０】
項目ノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたトランスアニメーションとは、レンダリング装置が操作されてレンダリング装置の“状態”が変更される場合に要求される動き情報であって、かかる変更をユーザーに認知させるための動き情報を意味する。
【００６１】
項目ノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたアクティブアニメーションとは、ＵＩ画面上で客体の存在を浮き上げる動き情報を意味する。このときの客体が、項目ノードが表す客体であることはいうまでもない。
【００６２】
項目ノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたフォーカスアニメーションとは、アクティブアニメーションによって動く客体の動きをさらに強調するための動き情報を意味する。
【００６３】
メニューノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたアクティブアニメーション、メニューノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたインアクティブアニメーション、項目ノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたトランスアニメーション、項目ノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたアクティブアニメーション、項目ノードに従属されたアニメーターグループノードに含まれたアニメーターノードに記述されたフォーカスアニメーションそれぞれは、図１Ａ及び図１Ｂを利用して次のように説明される。
【００６４】
図１Ａに示したように、ユーザーがレンダリング装置に設けられたボタンを適切に操作して９個の項目のうち“Ｍｅｓｓａｇｅ”という項目を選択すれば、その“Ｍｅｓｓａｇｅ”という項目は、停止している他の８個の項目と異なって振動してディスプレイされ、その９個の項目が表れたＵＩ画面は、サイズが次第に小さくなりつつユーザーの視野から順次に遠くなる。このとき、その９個の項目が表れたＵＩ画面のサイズが次第に小さくなることは、その選択された項目“Ｍｅｓｓａｇｅ”の振動と同時に開始されてもよく、その選択された項目“Ｍｅｓｓａｇｅ”の振動が完了して始めて開始されてもよい。この場合、その選択された項目“Ｍｅｓｓａｇｅ”が振動するのは、図１Ａに示したＵＩ画面を記述するノードのうち項目ノードに従属されたアニメーターノードに記述されたトランスアニメーションに該当し、その９個の項目が表れたＵＩ画面のサイズが次第に小さくなるのは、図１Ａに示したＵＩ画面を記述するノードのうちメニューノードに従属されたアニメーターノードに記述されたインアクティブアニメーションに該当する。
【００６５】
一方、図１Ａに示した９個の項目のうち一つの項目“Ｍｅｓｓａｇｅ”が選択されれば、レンダリング装置は、図１Ｂに示したＵＩ画面を記述するノードをレンダリングする。これにより、図１Ａに示したＵＩ画面は、ユーザーの視野から次第に遠くなる一方、図１Ｂに示したＵＩ画面は、サイズが次第に大きくなりつつユーザーの視野に次第に近くなる。これと共に、図１Ｂに示した５個の項目のうち一つの項目（例えば、“Ｓｅｎｔｂｏｘ”）は、残りの４個の項目より突出してディスプレイされる。このとき、その一つの項目“Ｓｅｎｔｂｏｘ”には、項目の突出を表すアニメーションだけでなく、項目の回転を表すアニメーションも適用される。一方、その一つの項目“Ｓｅｎｔｂｏｘ”が回転するのは、その一つの項目“Ｓｅｎｔｂｏｘ”が突出すると共に開始されてもよく、その一つの項目“Ｓｅｎｔｂｏｘ”が完全に突出して始めて開始されてもよい。
【００６６】
この場合、その５個の項目が表れたＵＩ画面のサイズが次第に大きくなるのは、図１Ｂに示したＵＩ画面を記述するノードのうちメニューノードに従属されたアニメーターノードに記述されたアクティブアニメーションに該当し、その一つの項目“Ｓｅｎｔｂｏｘ”が突出するのは、図１Ｂに示したＵＩ画面を記述するノードのうち項目ノードに従属されたアニメーターノードに記述されたアクティブアニメーションに該当し、その一つの項目“Ｓｅｎｔｂｏｘ”が回転するのは、図１Ｂに示したＵＩ画面を記述するノードのうち項目ノードに従属されたアニメーターノードに記述されたフォーカスアニメーションに該当する。
【００６７】
キーセンサーノードは、レンダリング装置の操作された結果を記述する。具体的に、キーセンサーノードは、レンダリング装置に設けられたボタンの操作された結果を記述する。ここで、ボタンの操作された結果とは、‘レンダリング装置に設けられたボタンのうちどのボタンが操作されたか’及び‘ボタンがどのように操作されたか’を意味する。このとき、‘ボタンがどのように操作されたか’は、ボタンが短く押されたか、ボタンが長く押されたか、または押されたボタンが上昇したかなどの区分を意味する。
【００６８】
スイッチノードは、レンダリングされる項目ノードを意味する“状態”及びレンダリングされない項目ノードを意味する“状態”についての情報を記述する。
【００６９】
分析部２２０は、前述したノード（ＵＩノード、メニューノード、項目ノード、転移ノード、アニメーターノード、アニメーターグループノード、キーセンサーノード、スイッチノード）を分析し、分析された結果を、出力端子ＯＵＴ２を通じてレンダリング部２５０に出力する。
【００７０】
図４は、ＵＩノードのシンタックスを説明するための参考図である。４１０は、フィールドの属性を意味し、４２０は、フィールド値の形態を意味し、４３０は、フィールドを意味し、４４０は、フィールド値の初期値を意味する。
【００７１】
フィールドの属性と関連して、ｆｉｅｌｄとは、該ノードに／から伝達されるイベントとならないことを意味する。また、ｅｖｅｎｔＩｎとは、該ノードに伝達されるイベントを意味し、ｅｖｅｎｔＯｕｔとは、該ノードから伝達されるイベントを意味し、ｅｘｐｏｓｅｄＦｉｅｌｄとは、該ノードに／から伝達されるイベントを意味する。図４において、該ノードは、ＵＩノードである。
【００７２】
フィールド値の形態と関連して、ＳＦＩｎｔ３２とは、フィールド値が一つの整数値であることを意味し、ＭＦＮｏｄｅとは、フィールド値が複数のノードであることを意味し、ＳＦＢｏｏｌとは、フィールド値が一つのブーリアン数値（ＴＲＵＥ  ｏｒ  ＦＡＬＳＥ）であることを意味し、ＳＦＴｉｍｅとは、フィールド値が一つの時刻値であることを意味し、ＳＦＮｏｄｅとは、フィールド値が一つのノードであることを意味する。
【００７３】
フィールドと関連して、ｓｔａｔｅフィールドは、“状態”を意味し、ｓｔａｔｅフィールド値、すなわち状態情報は、いずれか一つの項目ノードの固有識別情報（例えば、固有ＩＤ）を意味する。ｓｔａｔｅフィールド値は、可変可能であるが、必ずＵＩノードに従属された項目ノードの固有識別情報のうち一つでなければならない。
【００７４】
ＵＩノードに定義されたｓｔａｔｅフィールド値の最初値は、ＵＩノードがバインドされる時に最初に活性化されるメニューノードに従属された項目ノードのうち最初に活性化される項目ノードを意味する。
【００７５】
レンダリング装置の“状態”は、レンダリング装置が操作される場合に変更される。このように“状態”が変更されれば、すなわち活性化される項目ノードが変更されれば、‘その変更された項目ノードを意味する状態情報（すなわち、転移される状態についての情報）’がＵＩノードのｓｔａｔｅフィールドを通じてＵＩノードに伝達される。この場合、ＵＩノードのｓｔａｔｅフィールド値は、その伝達された状態情報に更新される。一方、ＵＩノードは、その伝達された状態情報をスイッチノードに伝達する。この場合、分析部２２０は、その伝達された状態情報が意味する項目ノードがレンダリングされるかどうかを、スイッチノードを分析することによって判断できる。
【００７６】
ｃｈｉｌｄｒｅｎフィールドは、複数のメニューノードをフィールド値として有する。
【００７７】
ｒｅｓｅｔＷｈｅｎＢｉｎｄフィールドは、フィールド値が所定値であれば（例えば、ｒｅｓｅｔＷｈｅｎＢｉｎｄ＝ＴＲＵＥ）、“同じＵＩノードが再びバインドされるとき、ＵＩノードのｓｔａｔｅフィールド値が最初値に変更される”ことを意味し、フィールド値が所定値でなければ（例えば、ｒｅｓｅｔＷｈｅｎＢｉｎｄ＝ＦＡＬＳＥ）、“同じＵＩノードが再びバインドされるとき、ＵＩノードのｓｔａｔｅフィールド値は最近の数値を維持する”ことを意味する。
【００７８】
ｋｅｙＰｒｅｓｓｅｄフィールドは、ユーザーがレンダリング装置に設けられたボタンを短く押す場合にフィールド値を有し、ｋｅｙＲｅｌｅａｓｅｄフィールドは、ユーザーがレンダリング装置に設けられたボタンとして押していたボタンが解除される場合にフィールド値を有し、ｋｅｙＬｏｎｇＰｒｅｓｓｅｄフィールドは、ユーザーがレンダリング装置に設けられたボタンを長く押す場合にフィールド値を有する。
【００７９】
ユーザーがレンダリング装置に設けられたボタンを操作する場合、操作認識部２４０は、その操作された結果を認識し、認識された結果をＵＩノードに含める。このとき、その認識された結果は、ｋｅｙＰｒｅｓｓｅｄフィールド値、ｋｅｙＲｅｌｅａｓｅｄフィールド値、ｋｅｙＬｏｎｇＰｒｅｓｓｅｄフィールド値のうち一つであって、ＵＩノードのｋｅｙＰｒｅｓｓｅｄフィールド、ｋｅｙＲｅｌｅａｓｅｄフィールド、ｋｅｙＬｏｎｇＰｒｅｓｓｅｄフィールドのうち一つを通じてＵＩノードに伝達される。この場合、ＵＩノードは、その伝達されたフィールド値を下位ノード（厳密には、ＵＩに従属された項目ノードのうち活性化されている項目ノード、すなわちａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールド値が意味する項目ノード）に伝達する。
【００８０】
ｓｅｔ＿ｂｉｎｄフィールド、ｂｉｎｄＴｉｍｅフィールド、ｉｓＢｏｕｎｄフィールドは、バインド可能なノードと関連したフィールドである。ｓｅｔ＿ｂｉｎｄフィールド、ｂｉｎｄＴｉｍｅフィールド、ｉｓＢｏｕｎｄフィールドの概念は、ＶＲＭＬ規格に詳細に開示されている。
【００８１】
あるＵＩノードがバインドされた場合、ＵＩノードは、ＵＩノードのｂｉｎｄＴｉｍｅフィールド値を、ＵＩノードのｓｔａｔｅフィールド値が意味する項目ノードが従属されたメニューノードのａｃｔｉｖｅＴｉｍｅフィールドを通じてそのメニューノードに伝達する。メニューノードのａｃｔｉｖｅＴｉｍｅフィールドについては後述する。
【００８２】
一方、ユーザーがレンダリング装置を操作することによって転移される状態が意味するメニューノードと、ユーザーがレンダリング装置を操作する当時に活性化されているメニューノードとが異なる場合、ＵＩノードは、その活性化されているメニューノードのｉｎａｃｔｉｖｅＴｉｍｅフィールドを通じてその活性化されているメニューノードから伝達されたｉｎａｃｔｉｖｅＴｉｍｅフィールド値を、ＵＩノードのｔｒａｎｓｉｔｉｏｎＴｉｍｅフィールドを通じて伝達される。さらに、ＵＩノードは、その活性化されているメニューノードのｓｔａｔｅフィールドを通じてその活性化されているメニューノードから伝達されたｓｔａｔｅフィールド値を、ＵＩノードのｓｔａｔｅフィールドを通じて伝達される。これにより、ＵＩノードのｓｔａｔｅフィールド値は、その伝達されたｓｔａｔｅフィールド値に更新される。この場合、ＵＩノードのｔｒａｎｓｉｔｉｏｎＴｉｍｅフィールド値は、その更新されたｓｔａｔｅフィールド値が意味する項目ノードが従属されたメニューノードのａｃｔｉｖｅＴｉｍｅフィールドを通じてメニューノードに伝達される。これにより、その更新されたｓｔａｔｅフィールド値が意味する項目ノードが従属されたメニューノードは、新たに活性化される。
【００８３】
ａｃｔｉｖｅＭｅｎｕフィールドは、バインドされたＵＩノードに従属されたメニューノードのうちどのメニューノードが現在活性化されているかを意味する情報をフィールド値として有し、ａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールドは、バインドされたＵＩノードに従属された項目ノードのうちどの項目ノードが現在活性化されているかを意味する情報をフィールド値として有する。かかるａｃｔｉｖｅＭｅｎｕフィールド、ａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールドは、レンダリング部２５０がインターフェースデータのレンダリング時に考慮するフィールドであるために、インターフェースデータのシンタックスを構想しようとするユーザーが使用できないフィールドである。
【００８４】
図５は、図４に示したシンタックスの一例を示す図である。図５において、定義するＤＥＦ及びイベントの伝達経路を指定するＲＯＵＴＥは、ＶＲＭＬ規格で使われるＤＥＦ及びＲＯＵＴＥと同一である。図５において、ＯＢＪＥＣＴ＿ＤＢ，ＵＳＥＲ＿ＩＮＰＵＴ，ＭＥＮＵ＿ＳＹＳＴＥＭ，ＯＴＨＥＲ＿ＴＩＭＥＲそれぞれは、スイッチノード、キーセンサーノード、ＵＩノード、タイムセンサーノードそれぞれを意味する。このとき、タイムセンサーノードは、ＶＲＭＬ規格でアニメーションのために使われるＴｉｍｅＳｅｎｓｏｒノードを意味する。
【００８５】
ｓｔａｔｅ５とは、活性化される項目ノードの固有ＩＤが５であることを意味する。図５に示したように、ＵＩノードのｃｈｉｌｄｒｅｎフィールド値は、複数のメニューノードＦＩＲＳＴ＿ＭＥＮＵ，ＳＥＣＯＮＤ＿ＭＥＮＵ，ＴＨＩＲＤ＿ＭＥＮＵ，…である。
【００８６】
ＲＯＵＴＥ ＵＳＥＲ＿ＩＮＰＵＴ．ａｃｔｉｏｎＫｅｙＰｒｅｓｓｅｄ ＴＯ ＭＥＮＵ＿ＳＹＳＴＥＭ．ｋｅｙＰｒｅｓｓｅｄは、‘ユーザーが端末機に備えられたボタンを短く押すことによってそのボタンを操作した場合、ＵＳＥＲ＿ＩＮＰＵＴと定義されたキーセンサーノードが有するイベントであるａｃｔｉｏｎ．ＫｅｙＰｒｅｓｓｅｄは、ＭＥＮＵ＿ＳＹＳＴＥＭと定義されたＵＩノードのｋｅｙＰｒｅｓｓｅｄフィールドを通じてＵＩノードに伝達される’ことを意味する。
【００８７】
その他のシンタックスも、これと同じ論理で説明される。
【００８８】
図６は、メニューノードのシンタックスを説明するための参考図である。６１０は、フィールドの属性を意味し、６２０は、フィールド値の形態を意味し、６３０は、フィールドを意味し、６４０は、フィールド値の初期値を意味する。フィールドの属性、フィールド値の形態と関連した説明は、図４についての説明でのフィールドの属性、フィールド値の形態についての説明に代替する。
【００８９】
フィールドと関連して、ｓｔａｔｅフィールドは、“状態”を意味し、ｓｔａｔｅフィールド値、すなわち状態情報は、いずれか一つの項目ノードの固有識別情報（例えば、固有ＩＤ）を意味する。ｓｔａｔｅフィールド値は、可変可能であるが、必ずメニューノードに従属された項目ノードの固有識別情報のうち一つでなければならない。
【００９０】
メニューノードに定義されたｓｔａｔｅフィールド値の最初値は、メニューノードが活性化されるとき、そのメニューノードに従属された項目ノードのうち最初に活性化される項目ノードを意味する。
【００９１】
前述したように、レンダリング装置の“状態”は、レンダリング装置が操作される場合に変更される。このように“状態”が変更されれば、すなわち活性化される項目ノードが変更されれば、‘その変更された項目ノードを意味する状態情報（すなわち、転移される状態についての情報）’がメニューノードのｓｔａｔｅフィールドを通じてメニューノードに伝達される。この場合、メニューノードのｓｔａｔｅフィールド値は、その伝達された状態情報に更新される。
【００９２】
ｃｈｉｌｄｒｅｎフィールドは、複数の項目ノードをフィールド値として有する。
【００９３】
ａｃｔｉｖｅＡｎｉｍａｔｉｏｎフィールドは、アクティブアニメーションについての情報を記述しているアニメーターノードをフィールド値として有し、ｉｎａｃｔｉｖｅＡｎｉｍａｔｉｏｎフィールドは、インアクティブアニメーションについての情報を記述しているアニメーターノードをフィールド値として有する。
【００９４】
ａｎｉｍａｔｉｏｎＯｒｄｅｒフィールドは、メニューノードが活性化されるとき、その活性化されたメニューノードに記述されたアクティブアニメーションのレンダリング開始時点と、その活性化されたメニューノードに従属された項目ノードが活性化される時点との先後関係をフィールド値として表す。例えば、ａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値が０であれば、活性化されたメニューノードに記述されたアクティブアニメーションのレンダリング開始時点と、その活性化されたメニューノードに従属された項目ノードが活性化される時点とは同一である。また、ａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値が１であれば、活性化されたメニューノードに記述されたアニメーションのレンダリング完了時点と、その活性化されたメニューノードに従属された項目ノードが活性化される時点とは同一である。
【００９５】
ｒｅｓｅｔＷｈｅｎＡｃｔｉｖｅフィールドは、フィールド値が所定値であれば（例えば、ｒｅｓｅｔＷｈｅｎＡｃｔｉｖｅ＝ＴＲＵＥ）、“同じメニューノードが再び活性化されるとき、メニューノードのｓｔａｔｅフィールド値が最初値に変更される”ことを意味し、フィールド値が所定値でなければ（例えば、ｒｅｓｅｔＷｈｅｎＡｃｔｉｖｅ＝ＦＡＬＳＥ）、“同じメニューノードが再びバインドされるとき、メニューノードのｓｔａｔｅフィールド値は、最近の数値を維持する”ことを意味する。
【００９６】
ａｃｔｉｖｅＴｉｍｅ及びｉｎａｃｔｉｖｅＴｉｍｅについて説明すれば、次の通りである。すなわち、メニューノードは、ＵＩノードからメニューノードのａｃｔｉｖｅＴｉｍｅフィールド値を伝達されれば活性化され、ＵＩノードからメニューノードのｉｎａｃｔｉｖｅＴｉｍｅフィールド値を伝達されれば不活性化される。
【００９７】
これと類似した原理により、項目ノードは、自身が従属されたメニューノードからａｃｔｉｖｅＴｉｍｅを伝達されて活性化される。具体的に、項目ノードは、メニューノードのａｃｔｉｖｅＴｉｍｅフィールド値を、項目ノードのａｃｔｉｖｅＴｉｍｅフィールドを通じて伝達されることによって活性化される。項目ノードにａｃｔｉｖｅＴｉｍｅフィールド以外にいかなるフィールドが含まれるかは、図８及び図９についての説明で後述する。
【００９８】
ｔｒａｎｓｉｔｉｏｎＴｉｍｅフィールドは、ユーザーがレンダリング装置を操作することによって転移される状態が意味するメニューノードと、ユーザーがレンダリング装置を操作する当時に活性化されているメニューノードとが異なる場合、その転移される状態が意味するメニューノードを活性化させるために要求される時刻値をフィールド値として有する。
【００９９】
ａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールドは、図４及び図５についての説明で言及されたａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールドと同一であるので、説明を省略する。
【０１００】
図７は、図６に示したシンタックスの一例を示す図である。図７に示したシンタックスは、図５に示したシンタックスと結合される。すなわち、図７は、ＦＩＲＳＴ＿ＭＥＮＵとして定義されたメニューノードのシンタックスを表す。図７において、ＭＥＮＵ１＿ＯＢＪＥＣＴ２＿ＰＯＳＩＮＴＥＲＰ，ＭＥＮＵ１＿ＯＢＪＥＣＴ３＿ＰＯＳＩＮＴＥＲＰ，ＭＥＮＵ１＿ＯＢＪＥＣＴ４＿ＰＯＳＩＮＴＥＲＰなどは、メニューノードに記述されたアクティブアニメーションをレンダリングするために考慮される位置インターポレータノードを意味する。メニューノードに従属されたアニメーターノードだけでなく、後述する項目ノードに従属されたアニメーターノードにも、位置インターポレータノード、座標インターポレータノード、回転インターポレータノードなど多様なインターポレータノードが従属される。かかる多様なインターポレータノードの細部内容は、ＶＲＭＬ規格に開示されている。ただし、ＶＲＭＬ規格に規定されているインターポレータノードは、いつもｆｒａｃｔｉｏｎｓ＝０から１までのアニメーションのみを記述するが、本発明によるインターフェースデータで利用するインターポレータノードは、ｆｒａｃｔｉｏｎｓ＝ａからｂまで（ただし、ａ，ｂは、０＜ａ＜ｂ＜１の実数）のアニメーションを記述することもでき、ｆｒａｃｔｉｏｎｓ＝１から０までのアニメーションを記述することもできる。すなわち、本発明によるレンダリング装置は、本来のアニメーション（すなわち、ｆｒａｃｔｉｏｎｓ＝０から１までのアニメーション）のうち一部のみをレンダリングすることもでき、本来のアニメーションを逆にレンダリングすることもできる。ここで、ｆｒａｃｔｉｏｎとは、正規化された時刻を意味する。すなわち、アニメーションがｔｉｍｅ＝０［秒］から１０［秒］までの動き情報を意味するとしても、そのアニメーションは、ｆｒａｃｔｉｏｎｓ＝０から１までの動き情報を意味すると見られる。すなわち、アニメーションが規定された時刻の非正規化された数値（例えば、１０秒）に関係なく、アニメーションが規定された時刻の正規化された数値はいつも１である。
【０１０１】
ｓｔａｔｅ５とは、活性化される項目ノードの固有ＩＤが５であることを意味する。一方、ｌｏｏｐ ＦＡＬＳＥとは、本発明によるレンダリング装置がアニメーターノードに記述されたアニメーションを反復的にレンダリングしないことを意味する。図７において、本発明によるレンダリング装置は、アニメーターノードに記述されたアニメーション（ｆｒａｃｔｉｏｎｓ＝０．０から０．２５まで）を１回レンダリングする。
【０１０２】
一方、図７に示したように、メニューノードＦＩＲＳＴ＿ＭＥＮＵのｃｈｉｌｄｒｅｎフィールド値は、複数の項目ノードＭＥＮＵ＿１＿１，ＭＥＮＵ＿１＿２，ＭＥＮＵ＿１＿３，ＭＥＮＵ＿１＿４，ＭＥＮＵ＿１＿５である。
【０１０３】
図８は、項目ノードのシンタックスを説明するための参考図である。８１０は、フィールドの属性を意味し、８２０は、フィールド値の形態を意味し、８３０は、フィールドを意味し、８４０は、フィールド値の初期値を意味する。フィールドの属性、フィールド値の形態と関連した説明は、図４についての説明でのフィールドの属性、フィールド値の形態についての説明に代替する。
【０１０４】
フィールドと関連して、ｓｔａｔｅフィールドは、“状態”を意味し、ｓｔａｔｅフィールド値、すなわち状態情報は、活性化される項目ノードの固有識別情報（例えば、固有ＩＤ）を意味する。
【０１０５】
ｔｒａｎｓｉｔｉｏｎｓフィールドは、一つ以上の転移ノードをフィールド値として有する。それぞれの転移ノードは、“レンダリング装置の操作された結果”とそれに対応した“転移される状態”とについて記述する。これにより、ｔｒａｎｓｉｔｉｏｎｓフィールド値は、ＳＴＴと命名可能である。
【０１０６】
ｔｒａｎｓＡｎｉｍａｔｉｏｎｓフィールドは、それぞれ‘トランスアニメーションについての情報を記述しているアニメーターノードを含むアニメーターグループノード’をフィールド値として有する。ｔｒａｎｓＡｎｉｍａｔｉｏｎｓフィールド値を構成するアニメーターグループノードそれぞれは、ｔｒａｎｓｉｔｉｏｎｓフィールド値を構成する転移ノードそれぞれと対応する。したがって、ｔｒａｎｓＡｎｉｍａｔｉｏｎｓフィールド値を構成するアニメーターグループノードの個数は、ｔｒａｎｓｉｔｉｏｎｓフィールド値を構成する転移ノードの個数と同一である。
【０１０７】
ａｃｔｉｖｅＡｎｉｍａｔｉｏｎフィールドは、アクティブアニメーションについての情報を記述しているアニメーターノードをフィールド値として有し、ｆｏｃｕｓＡｎｉｍａｔｉｏｎフィールドは、フォーカスアニメーションについての情報を記述しているアニメーターノードをフィールド値として有する。
【０１０８】
ａｎｉｍａｔｉｏｎＯｒｄｅｒフィールドは、活性化されている一つの項目ノードが不活性化され、不活性化されている他の項目ノードが活性化されるとき、その他の項目ノードに記述されたアクティブアニメーションのレンダリング開始時点とその他の項目ノードに記述されたフォーカスアニメーションのレンダリング開始時点との先後関係をフィールド値として表すことはいうまでもなく、その一つの項目ノードに記述されたトランスアニメーションのレンダリング開始時点とその他の項目ノードが活性化される時点との先後関係もフィールド値として表す。
【０１０９】
具体的に、ａｎｉｍａｔｉｏｎＯｒｄｅｒフィールドは、二つのビットで表現される。
【０１１０】
このとき、上位ビットは、その他の項目ノードに記述されたアクティブアニメーションのレンダリング開始時点とその他の項目ノードに記述されたフォーカスアニメーションのレンダリング開始時点との先後関係を表す。例えば、上位ビットが０であれば、その他の項目ノードに記述されたアクティブアニメーションのレンダリング開始時点と、その他の項目ノードに記述されたフォーカスアニメーションのレンダリング開始時点とが一致することを意味する。これに対し、上位ビットが１であれば、その他の項目ノードに記述されたアクティブアニメーションのレンダリング完了時点が、その他の項目ノードに記述されたフォーカスアニメーションのレンダリング開始時点と一致することを意味する。
【０１１１】
一方、下位ビットは、その一つの項目ノードに記述されたトランスアニメーションのレンダリング開始時点とその他の項目ノードが活性化される時点との先後関係を表す。例えば、下位ビットが０であれば、その一つの項目ノードに記述されたトランスアニメーションのレンダリング開始時点ｔｒａｎｓｉｔｉｏｎＳｔａｒｔＴｉｍｅと、その他の項目ノードが活性化される時点とが一致することを意味する。これに対し、下位ビットが１であれば、その一つの項目ノードに記述されたトランスアニメーションのレンダリング完了時点ｔｒａｎｓｉｔｉｏｎＳｔｏｐＴｉｍｅが、その他の項目ノードが活性化される時点と一致することを意味する。
【０１１２】
ａｃｔｉｖｅＴｉｍｅ及びｉｎａｃｔｉｖｅＴｉｍｅについて説明すれば、次の通りである。すなわち、項目ノードは、メニューノードから項目ノードのａｃｔｉｖｅＴｉｍｅフィールド値を伝達されれば活性化され、メニューノードから項目ノードのｉｎａｃｔｉｖｅＴｉｍｅフィールド値を伝達されれば不活性化される。
【０１１３】
ｋｅｙＰｒｅｓｓｅｄフィールド値は、ＵＩノードのｋｅｙＰｒｅｓｓｅｄフィールド値が更新される時に共に更新され、ｋｅｙＲｅｌｅａｓｅｄフィールド値は、ＵＩノードのｋｅｙＲｅｌｅａｓｅｄフィールド値が更新される時に共に更新され、ｋｅｙＬｏｎｇＰｒｅｓｓｅｄフィールド値は、ＵＩノードのｋｅｙＬｏｎｇＰｒｅｓｓｅｄフィールド値が更新される時に共に更新される。
【０１１４】
図９は、図８に示したシンタックスの一例を示す図である。図９に示したシンタックスは、図５及び図７に示したシンタックスと結合される。すなわち、図９は、ＭＥＮＵ＿１＿５として定義された項目ノードのシンタックスを表す。図９において、ｓｔａｔｅ５は、項目ノードＭＥＮＵ＿１＿５の固有ＩＤを意味し、ｔｒａｎｓｉｔｉｏｎｓフィールド値を構成する転移ノードの個数と、ｔｒａｎｓＡｎｉｍａｔｉｏｎｓフィールド値を構成するアニメーターグループノードの個数とは、それぞれ５個と同じである。
【０１１５】
一方、ｋｅｙ１７  ｓｔａｔｅ７は、ユーザーが１７に該当するボタンを短く押せば、レンダリング装置の“状態”が７に該当する状態に転移されることを意味し、ｋｅｙ１８  ｓｔａｔｅ７は、ユーザーが１８に該当するボタンを短く押せば、レンダリング装置の“状態”が７に該当する状態に転移されることを意味し、ｋｅｙ１９  ｓｔａｔｅ６は、ユーザーが１９に該当するボタンを短く押せば、レンダリング装置の“状態”が６に該当する状態に転移されることを意味し、ｋｅｙ２０  ｓｔａｔｅ６は、ユーザーが２０に該当するボタンを短く押せば、レンダリング装置の“状態”が６に該当する状態に転移されることを意味し、ｋｅｙ２１  ｓｔａｔｅ１は、ユーザーが２１に該当するボタンを短く押せば、レンダリング装置の“状態”が１に該当する状態に転移されることを意味する。
【０１１６】
ｔｒａｎｓＡｎｉｍａｔｉｏｎｓフィールド値を構成する５個のアニメーターグループノードのうち４個のアニメーターグループノードそれぞれは、ＣＡＭＥＲＡ＿ＰＯＳＩＮＴＥＲＰとして定義された位置インターポレータノードに記述されたアニメーションであって、正方向にレンダリングされるアニメーション（ｆｒａｃｔｉｏｎｓ＝０．７５から０．８まで、または０．８から０．８５まで、または０．８５から０．９まで、または０．９から０．９５まで）を表す一方、残りの一つのアニメーターグループノードは、ＣＡＭＥＲＡ＿ＰＯＳＩＮＴＥＲＰ，ＭＥＮＵ２＿ＯＢＪＥＣＴ１＿ＰＯＳＩＮＴＥＲＰ，ＭＥＮＵ２＿ＯＢＪＥＣＴ２＿ＰＯＳＩＮＴＥＲＰ，ＭＥＮＵ２＿ＯＢＪＥＣＴ３＿ＰＯＳＩＮＴＥＲＰ，ＭＥＮＵ２＿ＯＢＪＥＣＴ４＿ＰＯＳＩＮＴＥＲＰとして定義された位置インターポレータノードに記述されたアニメーションであって、逆方向にレンダリングされるアニメーション（ｆｒａｃｔｉｏｎｓ＝０．７５から０．５まで）を表す。
【０１１７】
一方、ｆｏｃｕｓＡｎｉｍａｔｉｏｎフィールド値であるアニメーターグループノードは、ＭＥＮＵ２＿ＯＢＪＥＣＴ１＿ＭＥＳＨ１＿ＩＮＴＥＲＰとして定義されたインターポレータノードに記述されたアニメーションであって、正方向にレンダリングされるアニメーション（ｆｒａｃｔｉｏｎｓ＝０．０から０．５まで）を表す。
【０１１８】
図９において、ｔｒａｎｓＡｎｉｍａｔｉｏｎｓフィールド値を構成する５個のアニメーターグループノードそれぞれには、ｌｏｏｐ
ＦＡＬＳＥが記述されている一方、ｆｏｃｕｓＡｎｉｍａｔｉｏｎフィールド値であるアニメーターグループノードには、ｌｏｏｐ  ＴＲＵＥが記述されているので、トランスアニメーションは、反復的にレンダリングされない一方、フォーカスアニメーションは、反復的にレンダリングされる。
【０１１９】
図１０は、転移ノードのシンタックスを説明するための参考図である。前述したように、一つ以上の転移ノードは、ｔｒａｎｓｉｔｉｏｎｓフィールド値を構成する。このとき、それぞれの転移ノードは、“レンダリング装置の操作された結果”とそれに対応した“転移される状態”とについて記述する。図１０において、ｋｅｙＰｒｅｓｓｅｄフィールド値、ｋｅｙＲｅｌｅａｓｅｄフィールド値、ｋｅｙＬｏｎｇＰｒｅｓｓｅｄフィールド値のうち一つは、その“レンダリング装置の操作された結果”を意味し、ｓｔａｔｅフィールド値は、その“転移される状態”を意味する。
【０１２０】
図１１は、アニメーターグループノードのシンタックスを説明するための参考図である。図１１に示したように、アニメーターグループノードは、ｃｈｉｌｄｒｅｎフィールドを有し、ｃｈｉｌｄｒｅｎフィールドは、一つ以上のアニメーターノードをフィールド値として有する。
【０１２１】
図１２ないし図１３Ｃは、アニメーターノードのシンタックスを説明するための参考図である。図１２において、１２１０は、フィールドの属性を意味し、１２２０は、フィールド値の形態を意味し、１２３０は、フィールドを意味し、１２４０は、フィールド値の初期値を意味する。フィールドの属性、フィールド値の形態と関連した説明は、図４についての説明でのフィールドの属性、フィールド値の形態についての説明に代替する。ただし、図４に示していないＳＦＶｅｃ２ｆ，ＳＦＦｌｏａｔは、ＶＲＭＬ規格で定義されたＳＦＶｅｃ２ｆ，ＳＦＦｌｏａｔと同一である。
【０１２２】
その他にも、ｆｒａｃｔｉｏｎｓフィールド、ｃｙｃｌｅＩｎｔｅｒｖａｌフィールド、ｅｎａｂｌｅｄフィールド、ｌｏｏｐフィールド、ｓｔａｒｔＴｉｍｅフィールド、ｓｔｏｐＴｉｍｅフィールド、ｃｙｃｌｅＴｉｍｅフィールド、ｉｓＡｃｔｉｖｅフィールドも、ＶＲＭＬ規格で定義されたＴｉｍｅＳｅｎｓｏｒノードのフィールドである。
【０１２３】
ただし、ｉｎｔｅｒｐｏｌａｔｏｒｓフィールド、ｆｒａｃｔｉｏｎ＿ｃｈａｎｇｅｄフィールドについては別途に説明する。
【０１２４】
図７及び図９で前述したように、本発明によるインターフェースデータで利用するインターポレータノードは、ＶＲＭＬ規格に規定されているインターポレータノードと異なり、ｆｒａｃｔｉｏｎｓ＝０から１までのアニメーションでないｆｒａｃｔｉｏｎｓ＝ｆｒａｃｔｉｏｎｓ．ｘからｆｒａｃｔｉｏｎｓ．ｙまで（ただし、ｆｒａｃｔｉｏｎｓ．ｘ，ｆｒａｃｔｉｏｎｓ．ｙそれぞれは、０と１との間の値）のアニメーションを記述できる。特に、ｆｒａｃｔｉｏｎｓ．ｘ≦ｆｒａｃｔｉｏｎｓ．ｙであれば、インターポレータノードが記述するアニメーションは、正方向にレンダリングされるアニメーションであり、ｆｒａｃｔｉｏｎｓ．ｘ＞ｆｒａｃｔｉｏｎｓ．ｙであれば、インターポレータノードが記述するアニメーションは、逆方向にレンダリングされるアニメーションである。
【０１２５】
ｆｒａｃｔｉｏｎｓ．ｘは、アニメーションのレンダリング開始時点を意味し、ｆｒａｃｔｉｏｎｓ．ｙは、アニメーションのレンダリング終了時点を意味するので、アニメーションのレンダリングのためには、ｆｒａｃｔｉｏｎｓ．ｘとｆｒａｃｔｉｏｎｓ．ｙとの間に存在する複数のｆｒａｃｔｉｏｎが計算されねばならない。‘その計算されたｆｒａｃｔｉｏｎ（ｆｒａｃｔｉｏｎ＿ｃｈａｎｇｅｄ）’は、アニメーターノードのｆｒａｃｔｉｏｎ＿ｃｈａｎｇｅｄフィールド値となる。
【０１２６】
一方、ｆｒａｃｔｉｏｎ＿ｃｈａｎｇｅｄは、図１３Ａまたは図１３Ｂに示したように計算される。具体的に、図１３Ａは、インターポレータノードに記述されたアニメーションが正方向にレンダリングされるアニメーションである場合（すなわち、ｆｒａｃｔｉｏｎｓ．ｘ≦ｆｒａｃｔｉｏｎｓ．ｙである場合）のｆｒａｃｔｉｏｎ＿ｃｈａｎｇｅｄ計算原理を表す。一方、図１３Ｂは、インターポレータノードに記述されたアニメーションが逆方向にレンダリングされるアニメーションである場合（すなわち、ｆｒａｃｔｉｏｎｓ．ｘ＞ｆｒａｃｔｉｏｎｓ．ｙである場合）のｆｒａｃｔｉｏｎ＿ｃｈａｎｇｅｄ計算原理を表す。
【０１２７】
図１３Ａ及び図１３Ｂにおいて、ｎｏｗは、本発明によるレンダリング装置が“現在時刻”と認識する時刻を意味する。ユーザーは、ｎｏｗの数値を設定できず、本発明によるレンダリング装置は、既定の方式によってｎｏｗの数値を獲得するだけである。例えば、ユーザーがレンダリング装置に備えられたボタンを操作する度に、本発明によるレンダリング装置は、そのボタンが操作された時点をｎｏｗとして認識する。この場合、その既定の方式は、‘ｎｏｗの数値は、ユーザーがボタンを操作する度に更新される’である。ただし、ｎｏｗは、ｆｒａｃｔｉｏｎのように正規化された時刻でなく、非正規化された時刻であることが望ましい。また、ｔｅｍｐは、アニメーションのレンダリング開始時点を意味するが、非正規化された時刻である。例えば、ｆｒａｃｔｉｏｎｓ．ｘ＝０．７５［無単位］、ｆｒａｃｔｉｏｎｓ．ｙ＝０．８［無単位］、ｔｅｍｐ＝２秒、アニメーションのレンダリング終了時点＝５秒である。
【０１２８】
図１４は、ＵＩノードがバインドされる場合の本発明によるレンダリング過程を説明するための参考図である。
【０１２９】
ローディング部２１０がインターフェースデータをローディングすれば、インターフェースデータを構成する複数のノードに存在する一つ以上のＵＩノードのうち一つのＵＩノードがバインドされる。具体的に、本発明によるレンダリング装置は、ｎｏｗを認識し、認識されたｎｏｗは、その一つ以上のＵＩノードのうち一つのＵＩノードのｂｉｎｄＴｉｍｅフィールドを通じてその一つのＵＩノードに伝達され、これにより、その一つのＵＩノードはバインドされる。このとき、本発明によるレンダリング装置は、インターフェースデータを構成する複数のノードに存在する一つ以上のＵＩノードのうちいかなるＵＩノードもバインドされない時をｎｏｗとして認識する。
【０１３０】
もし、バインドされたＵＩノードが以前にはバインドされたことがなければ、今度にバインドされたＵＩノードに従属されたメニューノードのうち‘デフォルトと指定されたメニューノード’が今度に活性化されるメニューノードとなる。この場合、デフォルトと指定されたメニューノードを意味する情報がＵＩノードのａｃｔｉｖｅＭｅｎｕフィールド値となる。
【０１３１】
これに対し、バインドされたＵＩノードが以前にもバインドされたことがあれば、今度にバインドされたＵＩノードに従属されたメニューノードのうちいかなるメニューノードが活性化されるかは、ｒｅｓｅｔＷｈｅｎＢｉｎｄフィールド値によって異なって決定される。
【０１３２】
すなわち、ｒｅｓｅｔＷｈｅｎＢｉｎｄフィールド値がＦＡＬＳＥというブーリアン数値（例えば、０）であれば、今度にバインドされたＵＩノードに従属されたメニューノードのうち、最近に活性化されたメニューノードが今度に活性化されるメニューノードとなる。この場合、最近に活性化されたメニューノードを意味する情報は、ａｃｔｉｖｅＭｅｎｕフィールド値としてＵＩノードに既に含まれている。
【０１３３】
一方、ｒｅｓｅｔＷｈｅｎＢｉｎｄフィールド値がＴＲＵＥというブーリアン数値（例えば、１）であれば、今度にバインドされたＵＩノードに従属されたメニューノードのうち、‘デフォルトと指定されたメニューノード’が今度に活性化されるメニューノードとなる。この場合、デフォルトと指定されたメニューノードを意味する情報がＵＩノードのａｃｔｉｖｅＭｅｎｕフィールド値となる。
【０１３４】
次いで、ＵＩノードは、自身のｓｔａｔｅフィールド値とｂｉｎｄＴｉｍｅフィールド値とを、自身のａｃｔｉｖｅＭｅｎｕフィールドを通じてその今度に活性化されるメニューノードに伝達する。これにより、その今度に活性化されるメニューノードのｓｔａｔｅフィールド値とａｃｔｉｖｅＴｉｍｅフィールド値とは、その伝達されたｓｔａｔｅフィールド値とｂｉｎｄＴｉｍｅフィールド値とに更新される。これにより、その今度に活性化されるメニューノードは活性化される。
【０１３５】
このとき、もし、活性化されたメニューノードが以前には活性化されたことがなければ、今度に活性化されたメニューノードに従属された項目ノードのうち、‘デフォルトと指定された項目ノード’が今度に活性化される項目ノードとなる。この場合、デフォルトと指定された項目ノードを意味する情報が、メニューノード及びそのメニューノードが従属されたＵＩノードそれぞれのａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールド値となる。
【０１３６】
これに対し、活性化されたメニューノードが以前にも活性化されたことがあれば、今度に活性化されたメニューノードに従属された項目ノードのうちいかなる項目ノードが活性化されるかは、ｒｅｓｅｔＷｈｅｎＡｃｔｉｖｅフィールド値によって異なって決定される。
【０１３７】
すなわち、ｒｅｓｅｔＷｈｅｎＡｃｔｉｖｅフィールド値がＦＡＬＳＥというブーリアン数値（例えば、０）であれば、今度に活性化されたメニューノードに従属された項目ノードのうち、最近に活性化された項目ノードが今度に活性化される項目ノードとなる。この場合、最近に活性化された項目ノードを意味する情報は、ａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールド値としてメニューノード及びそのメニューノードが従属されたＵＩノードに既に含まれている。
【０１３８】
一方、ｒｅｓｅｔＷｈｅｎＡｃｔｉｖｅフィールド値がＴＲＵＥというブーリアン数値（例えば、１）であれば、今度に活性化されたメニューノードに従属された項目ノードのうち、‘デフォルトと指定された項目ノード’が今度に活性化される項目ノードとなる。この場合、デフォルトと指定された項目ノードを意味する情報が、メニューノード及びそのメニューノードが従属されたＵＩノードそれぞれのａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールド値となる。
【０１３９】
一方、もし、活性化されたメニューノードがアクティブアニメーションを表せば、すなわち活性化されたメニューノードにアクティブアニメーションについての情報を記述しているアニメーターノードが従属されれば、メニューノードは、メニューノードのａｃｔｉｖｅＴｉｍｅフィールド値を、メニューノードのａｃｔｉｖｅＴｉｍｅフィールドを通じてアニメーターノードに伝達する。これにより、アニメーターノードのｓｔａｒｔＴｉｍｅフィールド値は、その伝達されたａｃｔｉｖｅＴｉｍｅフィールド値に更新される。これにより、そのアニメーターノードに記述されたアクティブアニメーションのレンダリングが開始される。
【０１４０】
このとき、もし、メニューノードのａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値が“活性化されたメニューノードに記述されたアクティブアニメーションのレンダリング開始時点と、活性化された項目ノードに記述されたアニメーションのレンダリング開始時点とが一致すること”を表せば、メニューノードは、自身のｓｔａｔｅフィールド値とａｃｔｉｖｅＴｉｍｅフィールド値とを、自身のａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールド値が意味する項目ノード（すなわち、その今度に活性化される項目ノード）に伝達する。これにより、その今度に活性化される項目ノードのｓｔａｔｅフィールド値とａｃｔｉｖｅＴｉｍｅフィールド値とは、その伝達されたｓｔａｔｅフィールド値とａｃｔｉｖｅＴｉｍｅフィールド値とに更新される。これにより、その今度に活性化される項目ノードは活性化される。
【０１４１】
これに対し、メニューノードのａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値が“活性化されたメニューノードに記述されたアクティブアニメーションのレンダリング終了時点と、活性化された項目ノードに記述されたアニメーションのレンダリング開始時点とが一致すること”を表せば、メニューノードは、‘そのメニューノードに表れたアクティブアニメーションのレンダリング終了時点（すなわち、そのメニューノードに従属され、アクティブアニメーションを表すアニメーターノードのｓｔｏｐＴｉｍｅフィールド値）’をそのメニューノードに従属されたアニメーターノードから獲得する。次いで、メニューノードは、自身のｓｔａｔｅフィールド値とその獲得されたｓｔｏｐＴｉｍｅフィールド値とを、自身のａｃｔｉｖｅＭｅｎｕＣｏｍｐｏｎｅｎｔフィールド値が意味する項目ノード（すなわち、その今度に活性化される項目ノード）に伝達する。これにより、その今度に活性化される項目ノードのｓｔａｔｅフィールド値とａｃｔｉｖｅＴｉｍｅフィールド値とは、その伝達されたｓｔａｔｅフィールド値とｓｔｏｐＴｉｍｅフィールド値とに更新される。これにより、その今度に活性化される項目ノードは活性化される。
【０１４２】
一方、もし、活性化された項目ノードがアクティブアニメーションとフォーカスアニメーションとを表せば、すなわち活性化された項目ノードにアクティブアニメーションとフォーカスアニメーションとについての情報を記述しているアニメーターグループノードが従属されれば、かかるアクティブアニメーション、フォーカスアニメーションのレンダリングは、その活性化された項目ノードに表れたａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値を考慮して行われることが望ましい。
【０１４３】
具体的に、もし、項目ノードのａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値が“活性化された項目ノードに記述されたアクティブアニメーションのレンダリング開始時点と、活性化された項目ノードに記述されたフォーカスアニメーションのレンダリング開始時点とが一致すること”を表せば、項目ノードは、自身のａｃｔｉｖｅＴｉｍｅフィールド値を、自身に従属され、かつアクティブアニメーションを表すアニメーターグループノードと、自身に従属され、かつフォーカスアニメーションを表すアニメーターグループノードとにいずれも伝達する。これにより、アクティブアニメーションを表すアニメーターグループノードに含まれたアニメーターノードそれぞれのｓｔａｒｔＴｉｍｅフィールド値と、フォーカスアニメーションを表すアニメーターグループノードに含まれたアニメーターノードそれぞれのｓｔａｒｔＴｉｍｅフィールド値とは互いに一致する。これにより、活性化された項目ノードに記述されたアクティブアニメーションのレンダリング開始時点と、活性化された項目ノードに記述されたフォーカスアニメーションのレンダリング開始時点とが一致する。
【０１４４】
これに対し、項目ノードのａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値が“活性化された項目ノードに記述されたアクティブアニメーションのレンダリング終了時点と、活性化された項目ノードに記述されたフォーカスアニメーションのレンダリング開始時点とが一致すること”を表せば、項目ノードは、‘その項目ノードに表れたアクティブアニメーションのレンダリング終了時点（すなわち、その項目ノードに従属され、アクティブアニメーションを表すアニメーターグループノードに含まれたアニメーターノードのｓｔｏｐＴｉｍｅフィールド値）’を、その項目ノードに従属され、かつアクティブアニメーションを表すアニメーターグループノードから獲得する。次いで、その項目ノードは、その獲得されたｓｔｏｐＴｉｍｅフィールド値を、その項目ノードに従属され、フォーカスアニメーションを表すアニメーターグループに伝達する。これにより、アクティブアニメーションを表すアニメーターグループノードに含まれたアニメーターノードそれぞれのｓｔｏｐＴｉｍｅフィールド値と、フォーカスアニメーションを表すアニメーターグループノードに含まれたアニメーターノードそれぞれのｓｔａｒｔＴｉｍｅフィールド値とは互いに一致する。これにより、活性化された項目ノードに記述されたアクティブアニメーションのレンダリング終了時点と、活性化された項目ノードに記述されたフォーカスアニメーションのレンダリング開始時点とが一致する。
【０１４５】
分析部２２０は、前述したノード（ＵＩノード、メニューノード、項目ノード、転移ノード、アニメーターノード、アニメーターグループノード）を分析し、分析された結果を、出力端子ＯＵＴ３を通じてレンダリング部２５０に出力する。
【０１４６】
図１５は、レンダリング装置が操作される場合の本発明の第１実施形態によるレンダリング過程を説明するための参考図である。本発明の第１実施形態によれば、ユーザーがレンダリング装置を操作することによって転移される状態が意味するメニューノードと、ユーザーがレンダリング装置を操作する当時に活性化されているメニューノードとが同一である。すなわち、本発明の第１実施形態は、レンダリング装置に発生した状態転移が、活性化されたメニューノードは維持されたままで活性化された項目ノードのみが変わる場合を意味する。結局、ユーザーがＵＩ画面をスクロールする場合のレンダリング過程は、第１実施形態によるレンダリング過程であって後述する。
【０１４７】
ユーザーがレンダリング装置に備えられたボタンのうちいずれかのボタンを短く押せば、その操作された結果は、キーセンサーノードのｋｅｙＰｒｅｓｓｅｄフィールド値となる。次いで、キーセンサーノードのｋｅｙＰｒｅｓｓｅｄフィールド値は、ＵＩノードに伝達され、これにより、ＵＩノードのｋｅｙＰｒｅｓｓｅｄフィールド値は、その伝達されたｋｅｙＰｒｅｓｓｅｄフィールド値に更新される。
【０１４８】
一方、活性化された項目ノードのｔｒａｎｓｉｔｉｏｎｓフィールド値に記述されたところによって、ＵＩノードのｋｅｙＰｒｅｓｓｅｄフィールド値に対応する“転移される状態”が決定され、決定された状態についての情報は、転移ノードのｓｔａｔｅフィールド値としてメニューノードに伝達される。これにより、メニューノードのｓｔａｔｅフィールド値は、その伝達されたｓｔａｔｅフィールド値に更新される。さらに、メニューノードのｓｔａｔｅフィールド値は、ＵＩノードのｓｔａｔｅフィールド値としてＵＩノードに伝達されることによって、ＵＩノードのｓｔａｔｅフィールド値は、その伝達されたｓｔａｔｅフィールド値に更新される。また、ＵＩノードのｓｔａｔｅフィールド値は、スイッチノードのｓｔａｔｅフィールド値としてスイッチノードに伝達されることによって、スイッチノードのｓｔａｔｅフィールド値は、その伝達されたｓｔａｔｅフィールド値に更新される。
【０１４９】
一方、本発明の第１実施形態のように、メニューノードに従属された項目ノードのうち、その転移される状態が意味する項目ノードが存在すれば、ｎｏｗは、その転移される状態が意味する項目ノードのａｃｔｉｖｅＴｉｍｅフィールド値となる。これと共に、ｎｏｗは、ユーザーがレンダリング装置に備えられたボタンを操作する当時に活性化されている項目ノードに表れたトランスアニメーションが記述されたアニメーターグループノードに含まれたアニメーターノードのｓｔａｒｔＴｉｍｅフィールド値となりうる。図１５において、本発明によるレンダリング装置は、ユーザーがレンダリング装置に備えられたボタンを操作する度にその操作された時点をｎｏｗとして認識する。
【０１５０】
ｎｏｗが、その転移される状態が意味する項目ノードのａｃｔｉｖｅＴｉｍｅフィールド値となることによって、その転移される状態が意味する項目ノードは活性化される。この場合、その転移される状態が意味する項目ノードに表れたアクティブアニメーションのレンダリング開始時点と、その転移される状態が意味する項目ノードに表れたフォーカスアニメーションのレンダリング開始時点との先後関係は、その転移される状態が意味する項目ノードに表れたａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値に規定されている。
【０１５１】
分析部２２０は、前述したノード（ＵＩノード、メニューノード、項目ノード、転移ノード、アニメーターノード、アニメーターグループノード、キーセンサーノード、スイッチノード）を分析し、分析された結果を、出力端子ＯＵＴ４を通じてレンダリング部２５０に出力する。
【０１５２】
図１６は、レンダリング装置が操作される場合の本発明の第２実施形態によるレンダリング過程を説明するための参考図である。本発明の第２実施形態によれば、ユーザーがレンダリング装置を操作することによって転移される状態が意味するメニューノードと、ユーザーがレンダリング装置を操作する当時に活性化されているメニューノードとが異なる。図１Ａ（または、図１Ｂ）に示したＵＩ画面がディスプレイされた状態で、ユーザーが図１Ｂ（または、図１Ｃ）に示したＵＩ画面を鑑賞するためにレンダリング装置を操作する場合のレンダリング過程は、第２実施形態によるレンダリング過程であって後述する。
【０１５３】
ユーザーがレンダリング装置に備えられたボタンのうちいずれかのボタンを短く押せば、その操作された結果は、キーセンサーノードのｋｅｙＰｒｅｓｓｅｄフィールド値となる。次いで、キーセンサーノードのｋｅｙＰｒｅｓｓｅｄフィールド値は、ＵＩノードに伝達され、これにより、ＵＩノードのｋｅｙＰｒｅｓｓｅｄフィールド値は、その伝達されたｋｅｙＰｒｅｓｓｅｄフィールド値に更新される。
【０１５４】
一方、活性化された項目ノードのｔｒａｎｓｉｔｉｏｎｓフィールド値に記述されたところによって、ＵＩノードのｋｅｙＰｒｅｓｓｅｄフィールド値に対応する“転移される状態”が決定され、決定された状態についての情報は、転移ノードのｓｔａｔｅフィールド値としてメニューノードに伝達される。これにより、メニューノードのｓｔａｔｅフィールド値は、その伝達されたｓｔａｔｅフィールド値に更新される。さらに、メニューノードのｓｔａｔｅフィールド値は、ＵＩノードのｓｔａｔｅフィールド値としてＵＩノードに伝達されることによって、ＵＩノードのｓｔａｔｅフィールド値は、その伝達されたｓｔａｔｅフィールド値に更新される。また、ＵＩノードのｓｔａｔｅフィールド値は、スイッチノードのｓｔａｔｅフィールド値としてスイッチノードに伝達されることによって、スイッチノードのｓｔａｔｅフィールド値は、その伝達されたｓｔａｔｅフィールド値に更新される。
【０１５５】
一方、本発明の第２実施形態のように、メニューノードに従属された項目ノードのうち、その転移される状態が意味する項目ノードが存在しなければ、ＵＩノードのｔｒａｎｓｉｔｉｏｎＴｉｍｅフィールド値は、その転移される状態が意味する項目ノードのａｃｔｉｖｅＴｉｍｅフィールド値となる。このために、ユーザーがレンダリング装置に備えられたボタンを操作する当時に活性化されているメニューノードに表れたインアクティブアニメーションが記述されたアニメーターグループノードに含まれたアニメーターノードのｓｔａｒｔＴｉｍｅフィールド値は、ｎｏｗに更新され、ＵＩノードのｔｒａｎｓｉｔｉｏｎＴｉｍｅフィールド値は、その更新されたｓｔａｒｔＴｉｍｅフィールド値に更新される。これと共に、ｎｏｗは、ユーザーがレンダリング装置に備えられたボタンを操作する当時に活性化されている項目ノードに表れたトランスアニメーションが記述されたアニメーターグループノードに含まれたアニメーターノードのｓｔａｒｔＴｉｍｅフィールド値となりうる。図１６において、本発明によるレンダリング装置は、ユーザーがレンダリング装置を操作する度にその操作された時点をｎｏｗとして認識する。一方、ユーザーがレンダリング装置を操作する当時に活性化されているメニューノードに表れたインアクティブアニメーションのレンダリング開始時点が、図１６に示したように、ユーザーがレンダリング装置を操作する当時に活性化されている項目ノードに表れたトランスアニメーションのレンダリング開始時点と一致するか、または図１６に示したことと異なり、ユーザーがレンダリング装置を操作する当時に活性化されている項目ノードに表れたトランスアニメーションのレンダリング終了時点と一致するかについては、ユーザーがレンダリング装置を操作する当時に活性化されているメニューノードに記述されたａｎｉｍａｔｉｏｎＯｒｄｅｒに規定されている。
【０１５６】
ＵＩノードのｔｒａｎｓｉｔｉｏｎＴｉｍｅフィールド値が、その転移される状態が意味するメニューノードのａｃｔｉｖｅＴｉｍｅフィールド値となることによって、その転移される状態が意味するメニューノードは活性化される。
【０１５７】
この場合、その転移される状態が意味する項目ノードに表れたアクティブアニメーションのレンダリング開始時点が、その転移される状態が意味するメニューノードに表れたアクティブアニメーションのレンダリング開始時点と一致するか否か、またはその転移される状態が意味するメニューノードに表れたアクティブアニメーションのレンダリング終了時点と一致するか否かは、その転移される状態が意味するメニューノードに表れたａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値に規定されている。
【０１５８】
また、その転移される状態が意味する項目ノードに表れたフォーカスアニメーションのレンダリング開始時点が、その転移される状態が意味する項目ノードに表れたアクティブアニメーションのレンダリング開始時点であるか否か、またはその転移される状態が意味する項目ノードに表れたアクティブアニメーションのレンダリング終了時点であるか否かは、その転移される状態が意味する項目ノードに表れたａｎｉｍａｔｉｏｎＯｒｄｅｒフィールド値に規定されている。
【０１５９】
分析部２２０は、前述したノード（ＵＩノード、メニューノード、項目ノード、転移ノード、アニメーターノード、アニメーターグループノード、キーセンサーノード、スイッチノード）を分析し、分析された結果を、出力端子ＯＵＴ５を通じてレンダリング部２５０に出力する。
【０１６０】
図１７は、本発明によるレンダリング方法を説明するためのフローチャートであって、迅速に製作可能に記述されたインターフェースデータをレンダリングするステップ（ステップ１７１０ないし１７２０）を含む。
【０１６１】
分析部２２０は、階層的に連結された複数のノードを利用して記述され、選択可能な複数の項目を表すインターフェースデータのノードを分析する（ステップ１７１０）。
【０１６２】
ステップ１７１０後に、レンダリング部２５０は、インターフェースデータをステップ１７１０で分析された結果に基づいてレンダリングする（ステップ１７２０）。
【０１６３】
かかる本発明によるレンダリング方法は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現される。同様に、本発明によるインターフェースデータも、コンピュータで読み取り可能な記録媒体に保存される。ここで、コンピュータで読み取り可能な記録媒体は、コンピュータシステムにより読み取られるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ（リード  オンリ  メモリ）、ＲＡＭ（ランダム  アクセス  メモリ）、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、また、キャリアウェーブ（例えば、インターネットを通じた伝送）の形態に具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存されて実行される。
【０１６４】
以上、図面と明細書で最適の実施形態が開示された。ここで、特定の用語が使われたが、これは単に、本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、当業者であれば、これから多様な変形及び均等な他の実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的な保護範囲は、特許請求の範囲の技術的思想により決まらねばならない。
【０１６５】
なお、上記の実施形態について以下の付記を記す。
（付記１）階層的に連結された複数のノードを利用して記述され、選択可能な複数の項目を表すインターフェースデータの前記ノードを分析する分析部と、
前記分析された結果に基づいて、前記インターフェースデータをレンダリングするレンダリング部と、を備えることを特徴とするレンダリング装置。
（付記２）前記複数のノードは、前記分析部が動作する途中で変更可能であることを特徴とする付記１に記載のレンダリング装置。
（付記３）前記レンダリング装置は、
所定の前記ノードに従属された一つ以上の前記ノードの状態転移テーブルを所定の前記ノードに含めるノード更新部をさらに備えることを特徴とする付記１または２に記載のレンダリング装置。
（付記４）最上位の前記ノードは、バインド可能であることを特徴とする付記１に記載のレンダリング装置。
（付記５）前記分析部は、所定の前記ノードの従属されたノードのうち活性化されるノードを所定の前記ノードのバインド情報を考慮して決定し、決定されたノードを分析することを特徴とする付記１に記載のレンダリング装置。
（付記６）最上位の前記ノードが再びバインドされた場合、前記分析部は、最近に活性化された前記ノードを分析することを特徴とする付記１に記載のレンダリング装置。
（付記７）最上位の前記ノードが再びバインドされた場合、前記分析部は、デフォルトと指定された前記ノードを分析することを特徴とする付記１に記載のレンダリング装置。
（付記８）最上位の前記ノードが最初にバインドされた場合、デフォルトと指定された前記ノードを指示するノード指示情報は、バインドされた最上位の前記ノードに含まれることを特徴とする付記１に記載のレンダリング装置。
（付記９）前記レンダリング装置は、
前記レンダリング装置の操作された結果を認識し、認識された結果を所定の前記ノードに含める操作認識部をさらに備えることを特徴とする付記１に記載のレンダリング装置。
（付記１０）所定の前記ノードは、最上位の前記ノードであることを特徴とする付記９に記載のレンダリング装置。
（付記１１）前記分析部は、最近のレンダリングされた結果及び前記レンダリング装置の操作された結果に相応する前記ノードを分析することを特徴とする付記１に記載のレンダリング装置。
（付記１２）前記分析部は、最近のレンダリングされた結果及び前記操作された結果に相応する状態を決定し、決定された状態に対応した前記ノードを分析することを特徴とする付記１１に記載のレンダリング装置。
（付記１３）前記分析部は、前記決定された状態に対応した前記ノードに表れた客体データ及びアニメーションを分析することを特徴とする付記１２に記載のレンダリング装置。
（付記１４）前記分析部は、前記決定された状態が既定の状態であるか否かを検査し、前記決定された状態に対応した前記ノードを前記検査された結果に応答して分析することを特徴とする付記１２に記載のレンダリング装置。
（付記１５）一つの前記ノードが活性化された場合、前記レンダリング部は、一つの前記ノードに表れたアニメーションのレンダリングと他の前記ノードに表れたアニメーションのレンダリングとを同時に開始することを特徴とする付記１に記載のレンダリング装置。
（付記１６）一つの前記ノードが活性化された場合、前記レンダリング部は、一つの前記ノードに表れたアニメーションのレンダリングを完了した後、他の前記ノードに表れたアニメーションのレンダリングを開始することを特徴とする付記１に記載のレンダリング装置。
（付記１７）一つの前記ノードと他の前記ノードとは、同じノードに従属されたことを特徴とする付記１５または１６に記載のレンダリング装置。
（付記１８）一つの前記ノードに表れたアニメーションは、アクティブアニメーションであり、他の前記ノードに表れたアニメーションは、フォーカスアニメーションであることを特徴とする付記１７に記載のレンダリング装置。
（付記１９）一つの前記ノード及び他の前記ノードのうち一方は、他方に従属されたことを特徴とする付記１５または１６に記載のレンダリング装置。
（付記２０）一つの前記ノードは、アクティブアニメーション及びインアクティブアニメーションのうち少なくとも一つを含み、他の前記ノードは、アクティブアニメーションを含むことを特徴とする付記１９に記載のレンダリング装置。
（付記２１）一つの前記ノードは、トランスアニメーションを含み、他の前記ノードは、インアクティブアニメーションを含むことを特徴とする付記１９に記載のレンダリング装置。
（付記２２）他の前記ノードは、一つの前記ノードに従属され、前記レンダリング部は、他の前記ノードに表れたアニメーションのレンダリングを開始すると共に、他の前記ノードを活性化させることを特徴とする付記１５に記載のレンダリング装置。
（付記２３）階層的に連結された複数のノードを利用して記述され、選択可能な複数の項目を表すインターフェースデータの前記ノードを分析するステップと、
前記分析された結果に基づいて、前記インターフェースデータをレンダリングするステップと、を含むことを特徴とするレンダリング方法。
（付記２４）階層的に連結された複数のノードを利用して記述されたデータを保存したコンピュータで読み取り可能な記録媒体において、前記複数のノードは、
一つ以上のユーザーインターフェースノードと、
前記ユーザーインターフェースノードの最近接の下位ノードであり、選択可能な複数のメニューノードと、
前記メニューノードの最近接の下位ノードであり、選択可能な複数の項目を記述する複数の項目ノードと、を備えることを特徴とするコンピュータで読み取り可能な記録媒体。
（付記２５）前記ユーザーインターフェースノード、前記メニューノード及び前記項目ノードそれぞれは、固有の状態情報を有することを特徴とする付記２４に記載のコンピュータで読み取り可能な記録媒体。
（付記２６）前記ユーザーインターフェースノードは、活性化された前記メニューノード及び前記項目ノードが変更される度に、変更された前記メニューノード及び前記項目ノードの識別情報を含むことを特徴とする付記２４に記載のコンピュータで読み取り可能な記録媒体。
（付記２７）前記メニューノードは、活性化された前記項目ノードが変更される度に、変更された前記項目ノードの識別情報を含むことを特徴とする付記２６に記載のコンピュータで読み取り可能な記録媒体。
（付記２８）前記ユーザーインターフェースノードは、バインドに関連した時刻情報を含むことを特徴とする付記２４に記載のコンピュータで読み取り可能な記録媒体。
（付記２９）前記ユーザーインターフェースノードは、操作結果を含むことを特徴とする付記２４に記載のコンピュータで読み取り可能な記録媒体。
（付記３０）前記メニューノード及び前記項目ノードそれぞれは、一つ以上のアニメーションと前記アニメーションのレンダリング開始時点とを表すことを特徴とする付記２４に記載のコンピュータで読み取り可能な記録媒体。
（付記３１）一つ以上の操作結果とマッピングされた一つ以上の状態情報を含む一つ以上の転移ノードは、前記項目ノードに従属されたことを特徴とする付記２４に記載のコンピュータで読み取り可能な記録媒体。
【産業上の利用可能性】
【０１６６】
本発明は、レンダリング関連の技術分野に適用可能である。
【符号の説明】
【０１６７】
２１０  ローディング部
２２０  分析部
２３０  ノード更新部
２４０  操作認識部
２５０  レンダリング部
【図１Ａ】
0006049548.tif 000002
【図１Ｂ】
0006049548.tif 000003
【図１Ｃ】
0006049548.tif 000004
【図２】
0006049548.tif 000005
【図３】
0006049548.tif 000006
【図４】
0006049548.tif 000007
【図５】
0006049548.tif 000008
【図６】
0006049548.tif 000009
【図７】
0006049548.tif 000010
【図８】
0006049548.tif 000011
【図９】
0006049548.tif 000012
【図１０】
0006049548.tif 000013
【図１１】
0006049548.tif 000014
【図１２】
0006049548.tif 000015
【図１３Ａ】
0006049548.tif 000016
【図１３Ｂ】
0006049548.tif 000017
【図１４】
0006049548.tif 000018
【図１５】
0006049548.tif 000019
【図１６】
0006049548.tif 000020
【図１７】
0006049548.tif 000021