(57)【特許請求の範囲】
【請求項１】
ＵＩ（ユーザインタフェース）の画面を構成する複数のＵＩ部品のうちのキャッシュ対象部品群から、発生するイベントの内容に基づいて、不確定部品または動的変化部品を除外部品として取り除く除外部品抽出部と、
前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報を生成するキャッシュ情報生成部と、
前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報が登録される描画情報キャッシュ部と、
前記描画情報キャッシュ部に登録されている前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報を用いた画面の描画が実施される際、前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報に、前記除外部品に対応する描画情報を合成する除外部品合成部と、を備える
ことを特徴とするユーザインタフェース装置。
【請求項２】
前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報に対応する統合ＵＩ部品を生成し、前記統合ＵＩ部品の描画情報を前記描画情報キャッシュ部に登録する統合ＵＩ部品生成部をさらに備える
請求項１に記載のユーザインタフェース装置。
【請求項３】
前記除外部品と当該除外部品が取り除かれたＵＩ部品群との重なり領域に対応するマスク領域を生成し、前記マスク領域を前記描画情報キャッシュ部に登録するマスク領域生成部と、
前記描画情報キャッシュ部に登録されている前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報を用いた画面の描画が実施される際、前記除外部品に対応する描画情報に対し、前記描画情報キャッシュ部に登録されている前記マスク領域を適用するマスク処理部と、をさらに備える
請求項１または請求項２に記載のユーザインタフェース装置。
【請求項４】
現画面から遷移可能な画面の描画情報を事前に生成し、前記描画情報キャッシュ部に登録する画面モデル事前生成部をさらに備える
請求項１または請求項２に記載のユーザインタフェース装置。
【請求項５】
前記キャッシュ対象部品群が保持するパラメータ値に基づいて、前記除外部品を決定する除外部品決定部をさらに備える
請求項１または請求項２に記載のユーザインタフェース装置。
【請求項６】
画面モデルまたはＵＩ部品の構造的特徴ないしはＵＩ部品パラメータ値の数値的特徴である描画傾向が登録される描画傾向保持部と、
前記描画傾向を推定して、前記描画傾向保持部に登録する描画傾向推定部と、
前記描画傾向に基づいて前記キャッシュ対象部品群を決定するキャッシュ対象部品決定部と、
前記描画傾向に基づいて前記除外部品を決定する除外部品決定部と、をさらに備える
請求項１または請求項２に記載のユーザインタフェース装置。
【請求項７】
処理の一部の代理実行を外部装置に委託するかどうかを判断する代理実行判断部と、
前記代理実行判断部が外部装置に代理実行を委託する判断をしたときに、外部装置へ当該代理実行を委託する代理実行委託部をさらに備える
請求項１または請求項２に記載のユーザインタフェース装置。
【請求項８】
前記除外部品と当該除外部品が取り除かれた前記キャッシュ対象部品群との間の依存関係を抽出する依存関係抽出部をさらに備え、
前記キャッシュ対象部品群のうち前記除外部品に依存するＵＩ部品は、前記除外部品と判断される
請求項１または請求項２に記載のユーザインタフェース装置。
【請求項９】
ユーザインタフェース装置の画面表示方法であって、
前記ユーザインタフェース装置の除外部品抽出部が、画面を構成する複数のＵＩ部品のうちのキャッシュ対象部品群から、発生するイベントの内容に基づいて、不確定部品または動的変化部品を除外部品として取り除き、
前記ユーザインタフェース装置のキャッシュ情報生成部が、前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報を生成し、
前記ユーザインタフェース装置の描画情報キャッシュ部が、前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報を登録し、
前記描画情報キャッシュ部に登録されている前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報を用いた画面の描画が実施される際、前記ユーザインタフェース装置の除外部品合成部が、前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報に、前記除外部品に対応する描画情報を合成する
ことを特徴とするユーザインタフェース装置の画面表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザインタフェース装置に関するものである。
【背景技術】
【０００２】
近年、情報機器が提供する機能の高度化および複雑化に伴い、情報機器の操作手段を提供するユーザインタフェース（ＵＩ）の複雑化が進んでいる。その一方で、消費者は、情報機器に表示される画面の品質に、より高い期待を寄せるようになっている。その結果、情報機器のハードウェア性能の目覚ましい進歩にもかかわらず、画面の描画能力が不足するという事態が生じている。【０００３】
情報機器のユーザインタフェース装置（ＵＩ装置）としては、画像部品やテキスト部品など、複数のＵＩ部品から構成される画面群を選択的に切り替えて表示させるものがある。そのようなＵＩ装置では、ユーザに対して快適な応答性を確保するために、一度描画処理を実施した画面または予め構築した画面の描画情報を高速な記憶装置にキャッシュしておき、その後、それと同じ画面を表示するときは、キャッシュされている描画情報を使用することで、画面の描画を高速化している。例えば、下記の特許文献１には、遷移する可能性のある画面の描画情報を予めキャッシュしておくことで、実際に画面を遷移させるときの画面描画を高速化する技術が開示されている。【０００４】
また、画面を複数のＵＩ部品で構成するＵＩ装置では、画面の設計およびＵＩ部品の管理を容易にするために、一般にシーングラフと呼ばれる、画面を構成するＵＩ部品をツリー構造で階層化したモデルが使用される。また、シーングラフの一部を構成するサブグラフの描画内容を統合した１つのＵＩ部品（統合ＵＩ部品）を作成することで、シーングラフの構造を簡略化すると共に、統合ＵＩ部品の描画情報をキャッシュすることで、画面描画のさらなる高速化を実現する技法が知られている。例えば、下記の特許文献２には、シーングラフに対して、各ＵＩ部品が保持するパラメータ値などの描画情報をリスト化し、内容の異なる複数の描画情報を任意のＵＩ部品としてキャッシュする技術が開示されている。さらに、特許文献２では、任意のサブグラフの内容を表すビットマップ（画像）をパラメータ値の１つとして保持することで、描画速度の高速化を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１７５１４２号公報
【特許文献２】特開２００３−１６２７３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数のＵＩ部品の描画情報をキャッシュするＵＩ装置では、シーングラフ中のキャッシュ対象となるサブグラフが大きい程、シーングラフの構造が簡略化され、高速化の効果も高くなる。しかしながら、サブグラフを構成するＵＩ部品の中に、描画内容を確定できないＵＩ部品（不確定部品）が含まれる場合、あるいは、描画内容が動的に変化するＵＩ部品（動的変化部品）が含まれている場合に、キャッシュした描画情報をそのまま利用できないという課題がある。例えば、現在時刻を表す時計の画像のＵＩ部品は、実際の画面遷移時でなければ描画内容が確定しないので不確定部品であると共に、描画内容が動的に変化するため動的変化部品でもある。【０００７】
不確定部品は、描画情報を予め構築できないため、特許文献１のような遷移先画面の描画情報を事前に構築する技法は適用できない。また、特許文献２のようにサブグラフに対応する統合ＵＩ部品を構築する技法では、統合ＵＩ部品を構成する一部のＵＩ部品の内容が変更されれば、その統合ＵＩ部品は使用できなくなるため、統合ＵＩ部品に動的変化部品が含まれていると問題になる。例えば、統合ＵＩ部品に含まれる動的変化部品に変化が生じる度に統合ＵＩ部品を生成し直す必要が生じ、画面描画の高速化の妨げとなる。【０００８】
その対策として、不確定部品および動的変化部品の変化パターンの全てに対応できるように、複数通りの描画情報を事前に構築したり、複数通りの統合ＵＩ部品を生成したりして、それらをキャッシュする方法が考えられる。しかし、その方法ではキャッシュに必要な記憶容量が増大する問題が生じる。【０００９】
また、キャッシュ対象のサブグラフ（統合ＵＩ部品）に不確定部品および動的変化部品が含まれないように、キャッシュ対象のサブグラフをさらに小さな複数のサブグラフに分割するという対策も考えられるが、シーングラフ構造の簡略化効果が低下してしまう。さらに、統合ＵＩ部品の中の複数のサブグラフ同士に描画領域の重なりがある場合には、重なった領域の分だけキャッシュに必要な記憶容量が増大する。【００１０】
また、統合ＵＩ部品に不確定部品および動的変化部品が含まれないように、シーングラフ全体の構造を変更するという解決策も考えられる。しかし、画面の意味的構造を無視して作成したシーングラフでは、画面の設計およびＵＩ部品の管理が容易になるというシーングラフの利点が損なわれてしまう。【００１１】
本発明は以上のような課題を解決するためになされたものであり、シーングラフの構造を変更することなく、サブグラフ中に不確定部品または動的変化部品が含まれる場合においても各画面の描画情報を効率的にキャッシュできるユーザインタフェース装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係るユーザインタフェース装置は、ＵＩ（ユーザインタフェース）の画面を構成する複数のＵＩ部品のうちのキャッシュ対象部品群から、発生するイベントの内容に基づいて、不確定部品または動的変化部品を除外部品として取り除く除外部品抽出部と、前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報を生成するキャッシュ情報生成部と、前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報が登録される描画情報キャッシュ部と、前記描画情報キャッシュ部に登録されている前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報を用いた画面の描画が実施される際、前記除外部品が取り除かれた前記キャッシュ対象部品群の描画情報に、前記除外部品に対応する描画情報を合成する除外部品合成部と、を備えるものである。
【発明の効果】
【００１３】
本発明によれば、サブグラフ中に不確定部品または動的変化部品が含まれる場合においても、シーングラフの構造の変更を必要とせずに、効果的にキャッシュを利用することができるため、ユーザインタフェース装置における画面描画の高速化に寄与できる。また、ＵＩ開発において、描画性能を考慮するためのＵＩ画面の設計工数および性能チューニングに係る工数が削減できるといった効果も得られる。【００１４】
この発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係るＵＩ装置の構成を示す機能ブロック図である。
【図２】本発明に係るＵＩ装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明に係るＵＩ装置が表示する画面の一例を示す図である。
【図４】図３の画面を構成する個々のＵＩ部品を示す図である。
【図５】図３の画面に対応する画面モデルの一例を示す図である。
【図６】キャッシュ対象部品群から除外部品を除去する処理と、キャッシュから読み出したＵＩ部品群に除外部品を合成する処理を説明するための図である。
【図７】実施の形態１に係るＵＩ装置の画面モデル構築部の動作を示すフローチャートである。
【図８】実施の形態１に係るＵＩ装置の除外部品抽出部の動作を示すフローチャートである。
【図９】実施の形態１に係るＵＩ装置のキャッシュ情報生成部の動作を示すフローチャートである。
【図１０】実施の形態１に係るＵＩ装置の描画情報キャッシュ部の動作を示すフローチャートである。
【図１１】実施の形態１に係るＵＩ装置の除外部品合成部の動作を示すフローチャートである。
【図１２】実施の形態２に係るＵＩ装置の構成を示す機能ブロック図である。
【図１３】実施の形態２における統合ＵＩ部品を用いた画面モデルの一例を示す図である。
【図１４】実施の形態２に係るＵＩ装置の統合ＵＩ部品生成部の動作を示すフローチャートである。
【図１５】実施の形態２に係るＵＩ装置の画面モデル構築部の動作を示すフローチャートである。
【図１６】実施の形態３に係るＵＩ装置の構成を示す機能ブロック図である。
【図１７】実施の形態３に係るＵＩ装置のマスク領域生成部の動作を示すフローチャートである。
【図１８】実施の形態３に係るＵＩ装置のマスク処理部の動作を示すフローチャートである。
【図１９】実施の形態３に係るＵＩ装置のキャッシュ情報生成部の動作を示すフローチャートである。
【図２０】実施の形態４に係るＵＩ装置の構成を示す機能ブロック図である。
【図２１】実施の形態４に係るＵＩ装置の画面モデル事前生成部の動作を示すフローチャートである。
【図２２】実施の形態４に係るＵＩ装置の画面モデル構築部の動作を示すフローチャートである。
【図２３】実施の形態５に係るＵＩ装置の構成を示す機能ブロック図である。
【図２４】実施の形態５に係るＵＩ装置の除外部品決定部の動作を示すフローチャートである。
【図２５】実施の形態６に係るＵＩ装置の構成を示す機能ブロック図である。
【図２６】実施の形態６に係るＵＩ装置の描画傾向推定部の動作を示すフローチャートである。
【図２７】実施の形態６に係るＵＩ装置の描画傾向保持部の動作を示すフローチャートである。
【図２８】実施の形態６に係るＵＩ装置のキャッシュ対象部品決定部の動作を示すフローチャートである。
【図２９】実施の形態７に係るＵＩ装置の構成を示す機能ブロック図である。
【図３０】実施の形態７に係るＵＩ装置の代理実行判断部の動作を示すフローチャートである。
【図３１】実施の形態７に係るＵＩ装置の代理実行委託部の動作を示すフローチャートである。
【図３２】実施の形態８に係るＵＩ装置の構成を示す機能ブロック図である。
【図３３】実施の形態８に係るＵＩ装置の依存関係抽出部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明をより詳細に説明するために、本発明を実施するための形態について、添付の図面に沿って説明する。
【００１７】
＜実施の形態１＞
図１は、この発明の実施の形態１におけるユーザインタフェース装置（ＵＩ装置）を示す構成図である。図１のように、当該ＵＩ装置は、入力部１０１、イベント取得部１０２、画面データ記憶部１０３、画面モデル構築部１０４、除外部品抽出部１０５、キャッシュ情報生成部１０６、描画情報キャッシュ部１０７、除外部品合成部１０８、描画処理部１０９、および表示部１１０を備える。
【００１８】
入力部１０１は、表示部１１０に表示されたＵＩ画面に対して、ユーザが操作を行うための装置である。入力部１０１の具体例としては、マウス、タッチパネル、トラックボール、データグローブ、スタイラスといったポインティングデバイス、キーボード、マイクなどの音声入力装置、カメラなどの画像・映像入力装置、脳波による入力装置、モーションセンサなどのセンサ類、等がある。
【００１９】
入力部１０１では、あらゆる種類の操作をユーザ入力イベントとして表現し、イベント取得部１０２へ送信する。ユーザ入力イベントの例としては、入力部１０１がマウスの場合、マウスによるカーソルの移動、右ボタンまたは左ボタンのクリック開始および終了、ダブルクリック、ドラッグ、ホイール操作、特定表示要素へのカーソルの接近、特定表示要素上へのカーソルの移動、特定表示要素外へのカーソルの移動などがある。また、入力部１０１がタッチパネルである場合、タップ、ダブルタップ、ホールド、フリック、スワイプ、ピンチイン、ピンチアウト、ローテートなどの、１本ないし複数本の指を用いたジェスチャ操作、タッチパネル面への指示体（ユーザの指）の接近などがある。また、入力部１０１がキーボードの場合、キーの押下、リリース、複数キーの同時操作などがある。また、時間や速度、加速度、複数ユーザの組み合わせ、複数の入力装置の組み合わせなどにより、独自もしくは新たなユーザ入力イベントを定義してもよい。ここで挙げた例以外にも、ユーザの意図や意思に起因するあらゆる操作をユーザ入力イベントとして扱うことができる。
【００２０】
イベント取得部１０２は、表示部１１０に表示する画面の内容を変化させるきっかけとなるイベントを取得し、画面モデル構築部１０４へ送信する。そのようなイベントとしては、入力部１０１から送信されるユーザ入力イベントの他、ハードウェアやオペレーティングシステムから送信されるシステムイベント、一定周期に発生するタイマイベントなどがある。アニメーションなど連続的な画面更新を発生させるために、画面モデル自身が内部的に発生させるインターナルイベントを用意してもよい。
【００２１】
画面データ記憶部１０３は、表示部１１０に表示する画面の内容を決定するために必要な画面データを記憶している。画面データには、例えば、画面レイアウト、画面遷移チャート、画面制御プログラム、ＵＩ部品パラメータ値、アニメーション情報、データベース、画像、フォント、映像、音声などのデータが含まれる。その他、あらゆるタイプのデータを画面データとして画面データ記憶部１０３に記憶させてもよい。
【００２２】
画面モデル構築部１０４は、画面データ記憶部１０３から画面データを読み込み、画面モデルを構築する。画面モデルは、表示部１１０に表示している画面の内容を表したモデルであり、複数のＵＩ部品（以下、単に「部品」ということもある）から構成される１層以上の階層構造を有するものとする。例えば、上記したシーングラフも、階層構造を有する画面モデルの一つである。
【００２３】
ＵＩ部品は、画面の構成要素となるものであり、例えば、文字列を描画するテキスト部品、画像を貼り付ける画像部品などである。その他にも、動画を貼り付ける部品、楕円を描画する部品、矩形を描画する部品、多角形を描画する部品、パネル部品などがある。さらには、アニメーション部品、画面遷移チャートなど、画面を制御するロジックをＵＩ部品として扱ってもよい。
【００２４】
各ＵＩ部品は、その種類に応じたＵＩ部品パラメータ値を保持している。ＵＩ部品の種類に依らず全てのＵＩ部品が有するＵＩ部品パラメータ値としては、部品ＩＤ、座標、幅、高さなどがある。特定の種類のＵＩ部品のみが有するＵＩ部品パラメータ値としては、テキスト部品が有する文字列、フォント、色などのパラメータ値、画像部品が有する画像ファイルパス、縮尺、回転角度などのパラメータ値等がある。実施の形態１においては、全てのＵＩ部品が、少なくとも、キャッシュ対象か否かを示すＵＩ部品パラメータ値と、除外部品か否かを示すＵＩ部品パラメータ値を保持しているものとする。画面モデルの構造、および、画面モデルに含まれる各ＵＩ部品のＵＩ部品パラメータ値は、画面モデル構築部１０４が画面モデルを構築する際に決定される。
【００２５】
また、画面モデル構築部１０４は、イベント取得部１０２が取得したイベント（表示部１１０に表示する画面の内容を変化させるきっかけとなるイベント）に基づいて、画面遷移チャートあるいは画面制御プログラムなどを実行して、画面モデルを更新する。そして、画面モデル構築部１０４は、更新後の画面モデルの内容を除外部品合成部１０８へ送信する。さらに、画面モデル構築部１０４は、各ＵＩ部品が有するキャッシュ対象か否かを示すＵＩ部品パラメータ値に基づいて、更新後の画面モデルに含まれるキャッシュ対象部品群（キャッシュ対象部品群）を除外部品抽出部１０５へ送信する。
【００２６】
除外部品抽出部１０５は、画面モデル構築部１０４から受信したキャッシュ対象部品群に対し、各ＵＩ部品が有する除外部品か否かを示すＵＩ部品パラメータ値に基づいて、除外部品を分離する処理を行う。また、除外部品抽出部１０５は、分離した除外部品を、除外部品合成部１０８へ送信し、除外部品が除かれたキャッシュ対象部品群（「除外部品除去後のキャッシュ対象部品群」ともいう）をキャッシュ情報生成部１０６へ送信する。
【００２７】
なお、もともと除外部品を含んでいないキャッシュ対象部品群については、除外部品を取り除く処理を行う必要がない。そのため、除外部品抽出部１０５は、除外部品を含んでいないキャッシュ対象部品群はそのまま除外部品抽出部１０５へ送信する。本明細書では、説明の便宜上、除外部品抽出部１０５が出力したキャッシュ対象部品群のことを「除外部品が除かれたキャッシュ対象部品群」または「除外部品除去後のキャッシュ対象部品群」と呼ぶが、その中にはもともと除外部品を含んでいなかったキャッシュ対象部品群も含まれている。
【００２８】
キャッシュ情報生成部１０６は、除外部品抽出部１０５から受信した除外部品除去後のキャッシュ対象部品群から、描画情報キャッシュ部１０７にキャッシュする描画情報（キャッシュ情報）を生成する。描画情報は、表示部１１０に表示する画面を決定するために必要な情報である。描画情報の具体例としては、画面モデルの全部または一部、画面モデルが保持するパラメータあるいはオブジェクト、画像などのテクスチャ等がある。その他、グラフィックスコマンド、フレームバッファオブジェクトなども描画情報として扱ってもよい。キャッシュ情報生成部１０６が生成した描画情報は、描画情報キャッシュ部１０７へと送信される。
【００２９】
描画情報キャッシュ部１０７は、キャッシュ情報生成部１０６から受信した描画情報を登録（キャッシュ）する。また、描画情報キャッシュ部１０７は、キャッシュされているキャッシュ対象部品群の描画情報を読み出して、除外部品合成部１０８へ送信する処理も行う。
【００３０】
除外部品合成部１０８は、画面モデル構築部１０４から受信した画面モデルの内容および除外部品抽出部１０５から受信した除外部品の内容に基づいて描画情報を生成し、その描画情報と描画情報キャッシュ部１０７から受信した描画情報とを組み合わせて、表示部１１０に表示する画面の完全な描画情報を生成する。除外部品合成部１０８は、完全な描画情報を描画処理部１０９へ送信する。
【００３１】
描画処理部１０９は、除外部品合成部１０８から受信した描画情報から、表示部１１０で表示可能な描画データを生成する。描画データの生成は、例えば、ＯｐｅｎＧＬやＤｉｒｅｃｔ３Ｄなどのグラフィックス・アプリケーション・プログラミング・インタフェースを用いて、描画情報の内容に応じたレンダリング処理をグラフィックスハードウェアに実行させることによって行われる。描画処理部１０９は、生成した描画データを表示部１１０へ送信する。
【００３２】
表示部１１０は、描画処理部１０９が生成した描画データに基づく画面を表示する装置であり、例えば、液晶表示装置やタッチパネルなどである。
【００３３】
図２は、本発明に係るＵＩ装置を実現するハードウェア構成の一例を示す図である。図２のように、ＵＩ装置のハードウェア構成は、入力装置２１０、コンピュータ２２０および表示装置２３０を備えた構成となっている。
【００３４】
入力装置２１０は、例えばマウス、キーボード、タッチパッドなどであり、入力部１０１の機能は入力装置２１０によって実現される。表示装置２３０は、例えば液晶表示装置などであり、表示部１１０の機能は表示装置２３０によって実現される。
【００３５】
コンピュータ２２０は、ＣＰＵ（Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰともいう）等の処理装置２２１と、メモリ等の記憶装置２２２とを含んでいる。メモリとは、例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリー、ＥＰＲＯＭ、ＥＥＰＲＯＭ等の、不揮発性または揮発性の半導体メモリや、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等が該当する。ＵＩ装置のイベント取得部１０２、画面モデル構築部１０４、除外部品抽出部１０５、キャッシュ情報生成部１０６、除外部品合成部１０８および描画処理部１０９の各機能は、処理装置２２１が記憶装置２２２に格納されたプログラムを実行することによって実現される。
【００３６】
処理装置２２１は、プログラムに基づく処理を実行するコアを複数含んでいてもよい。また、入力装置２１０および表示装置２３０は、入力部１０１と表示部１１０の両方の機能を兼ね備える１つの装置（例えばタッチパネル装置）として構成されていてもよい。また、入力装置２１０、表示装置２３０およびコンピュータ２２０が一体的な１つの装置（例えばスマートフォンやタブレット端末）を構成していてもよい。
【００３７】
図３は、本発明に係るＵＩ装置が表示する画面の一例であり、アプリケーション（「アプリ」と略称する）の選択メニューを示す画面３０１（アプリメニュー画面）を示している。
【００３８】
画面３０１は、図４に示す複数のＵＩ部品３０２〜３１５が階層的に組み合わさって構成されている。すなわち、アプリメニュー画面である画面３０１は、タイトルパネルの画像を描画するパネル部品３０２と、横線（バー）の画像を描画する画像部品３０３と、メインパネルの画像を描画するパネル部品３０４とから構成されているが、パネル部品３０２およびパネル部品３０４は、さらに下位のＵＩ部品を組み合わせて構成されている（画像部品３０３は、１つのＵＩ部品のみから構成されている）。
【００３９】
パネル部品３０２は、「アプリメニュー」の文字列を描画するテキスト部品３０５と、現在時刻を表す文字列を描画するテキスト部品３０６とから構成されている。パネル部品３０４は、ナビゲーション（「ナビ」と略称する）用アプリを選択するためのアイコン（ナビアイコン）を描画するアイコン部品３０７と、オーディオ用のアプリを選択するためのアイコン（オーディオアイコン）を描画するアイコン部品３０８と、テレビ用のアプリを選択するためのアイコン（テレビアイコン）を描画するアイコン部品３０９とから構成されている。
【００４０】
さらに、アイコン部品３０７は、自動車の画像を描画する画像部品３１０と、「ナビ」の文字列を描画するテキスト部品３１１とから構成されている。アイコン部品３０８は、光ディスクと音符の画像を描画する画像部品３１２と、「オーディオ」の文字列を描画するテキスト部品３１３とから構成されている。アイコン部品３０９は、テレビの画像を描画するテキスト部品３１５と、「テレビ」の文字列を描画するテキスト部品３１５とから構成されている。
【００４１】
図５は、画面３０１に対応する画面モデルの一例を示している。この画面モデルでは、画面３０１を構成するＵＩ部品３０２〜３１５の階層関係をツリー構造で表したシーングラフである。なお、画面３０１の全体を１つのＵＩ部品とみなし、画面３０１全体のＵＩ部品を別の画面の描画に利用することもできる。また、図５の画面モデルはツリー構造のシーングラフであるが、網羅的に矛盾なくトラバースが可能であれば、シーングラフ内に閉路が存在してもよい。
【００４２】
図６は、キャッシュ対象部品群から除外部品を取り除いて描画情報キャッシュ部１０７にキャッシュする処理と、描画情報キャッシュ部１０７にキャッシュされているＵＩ部品群（キャッシュ部品群）に除外部品を合成する処理の一例を示す図である。
【００４３】
例えば、画面３０１のパネル部品３０４がキャッシュ対象部品群であり、パネル部品３０４に含まれる「オーディオ」のテキスト部品３１３が動的変化部品であったとする。この場合、テキスト部品３１３が除外部品となる。除外部品抽出部１０５は、図６のように、パネル部品３０４を、除外部品であるテキスト部品３１３と、パネル部品３０４から除外部品（画像部品３１４）を除いたパネル部品３０４ａとに分離する。また、キャッシュ情報生成部１０６は、除外部品が除かれたパネル部品３０４ａの描画情報を生成し、それを描画情報キャッシュ部１０７にキャッシュする。
【００４４】
その後、描画情報キャッシュ部１０７にキャッシュされているパネル部品３０４ａ（キャッシュ部品群）を用いて、表示部１１０に画面３０１を表示させるときに、除外部品であるテキスト部品３１３の内容が「ＤＶＤ」の文字列に変化していたとする。この場合、除外部品合成部１０８は、描画情報キャッシュ部１０７からパネル部品３０４ａを読み出し、そのパネル部品３０４ａと「ＤＶＤ」のテキスト部品３１３とを合成して、「ＤＶＤ」の文字列を含むパネル部品３０４ｂを生成する。描画処理部１０９は、除外部品合成部１０８が生成したパネル部品３０４ｂの描画情報を用いて、表示部１１０に表示させる画面３０１の描画データを生成する。
【００４５】
図６においては、パネル部品３０４のみがキャッシュ対象部品群であり、その中のテキスト部品３１３のみが除外部品である例を示したが、１つの画面内に複数のキャッシュ対象部品群が存在してもよいし、１つのキャッシュ対象部品群内に複数の除外部品が存在してもよい。
【００４６】
実施の形態１に係るＵＩ装置は、イベント取得部１０２が、ユーザ入力イベントなど、表示部１１０に表示する画面の内容を変化させるきっかけとなるイベントを取得すると、画面モデルの更新処理と、それに応じた画面の描画処理とが実施される。以下、それらの処理の流れを説明する。
【００４７】
イベント取得部１０２が、表示部１１０に表示する画面の内容を変化させるきっかけとなるイベントを取得すると、画面モデル構築部１０４は、画面モデルが表す内容を更新し、更新後の画面モデルの中からキャッシュ対象部品群を抽出する処理を行う。以下、この処理の流れを、図７のフローチャートを参照して説明する。
【００４８】
画面モデル構築部１０４は、まず、他に処理すべきイベントがないかを確認する（ステップＳＴ７０１）。処理すべきイベントが残っている場合、画面モデル構築部１０４は、それらの処理を全て終えるまで、各イベントを処理する。その際、画面モデル構築部１０４は、各イベントの処理に対応する制御プログラムを実行することで、画面モデルの構造およびパラメータ値を更新する（ステップＳＴ７０２）。また、必要に応じて、画面データ記憶部１０３からデータを取得する。
【００４９】
イベント取得部１０２は、すべてのイベント処理が終了すると、更新後の画面モデルにキャッシュ対象となるＵＩ部品（キャッシュ対象部品群）が含まれているかどうか確認する（ステップＳＴ７０３）。更新後の画面モデルにキャッシュ対象部品群が含まれていれば、イベント取得部１０２は、画面モデルの中からキャッシュ対象部品群を抽出する（ステップＳＴ７０４）。更新後の画面モデルにキャッシュ対象部品群が含まれていなければ、イベント取得部１０２はステップＳＴ７０４を行わずに処理を終了する。
【００５０】
除外部品抽出部１０５は、画面モデル構築部１０４が抽出したキャッシュ対象部品群から除外部品を分離する処理を行う。以下、この処理の流れを、図８のフローチャートを参照して説明する。
【００５１】
画面モデル構築部１０４は、まず、キャッシュ対象部品群に除外部品が含まれるか確認する（ステップＳＴ８０１）。キャッシュ対象部品群に除外部品が含まれていれば、画面モデル構築部１０４は、キャッシュ対象部品群を、除外部品とそれ以外のキャッシュ対象部品群とに分離する（ステップＳＴ８０２）。キャッシュ対象部品群に除外部品が含まれていなければ、画面モデル構築部１０４は、ステップＳＴ８０２を行わずに処理を終了する。
【００５２】
キャッシュ情報生成部１０６は、除外部品抽出部１０５によって除外部品が除かれたキャッシュ対象部品群（除外部品除去後のキャッシュ対象部品群）から、描画情報キャッシュ部１０７にキャッシュする描画情報を生成する。以下、この処理の流れを、図９のフローチャートを参照して説明する。
【００５３】
キャッシュ情報生成部１０６は、除外部品除去後のキャッシュ対象部品群を受信すると、当該キャッシュ対象部品群がすでに描画情報キャッシュ部１０７に登録（キャッシュ）されているか否かを確認する（ステップＳＴ９０１）。当該キャッシュ対象部品群が描画情報キャッシュ部１０７に登録されていない場合、当該キャッシュ対象部品群の描画情報を生成する（ステップＳＴ９０３）。また、当該キャッシュ対象部品群が描画情報キャッシュ部１０７に登録されていた場合でも、キャッシュ情報生成部１０６は、当該キャッシュ対象部品群の内容と描画情報キャッシュ部１０７に登録されているキャッシュ対象部品群（登録済みのキャッシュ対象部品群）の内容とを比較し、当該キャッシュ対象部品群の内容が、登録済みのキャッシュ対象部品群の内容に対して更新（変更）されているか否かを確認して（ステップＳＴ９０２）、更新されていれば、ステップＳＴ９０３を実施する。当該キャッシュ対象部品群の内容が更新されていなければ、キャッシュ情報生成部１０６は、ステップＳＴ９０３を行わずに処理を終了する。
【００５４】
描画情報キャッシュ部１０７は、キャッシュ情報生成部１０６が生成した描画情報を登録（キャッシュ）し、また、キャッシュされているキャッシュ対象部品群の描画情報を読み出して取得する。以下、この処理の流れを、図１０のフローチャートを参照して説明する。
【００５５】
描画情報キャッシュ部１０７は、キャッシュ情報生成部１０６が、除外部品除去後のキャッシュ対象部品群の描画情報を生成したか否かを確認する（ステップＳＴ１００１）。除外部品除去後のキャッシュ対象部品群の描画情報が生成された場合（すなわち、当該キャッシュ対象部品群の描画情報がまだ描画情報キャッシュ部１０７に登録されていない場合）は、その描画情報を描画情報キャッシュ部１０７にキャッシュする（ステップＳＴ１００２）。また、除外部品除去後のキャッシュ対象部品群の描画情報が生成されなかった場合（すなわち、当該キャッシュ対象部品群の描画情報がすでに描画情報キャッシュ部１０７に登録されている場合）は、描画情報キャッシュ部１０７に登録されている当該キャッシュ対象部品群の描画情報を取得する（ステップＳＴ１００３）。
【００５６】
除外部品合成部１０８は、キャッシュ対象部品群の描画情報と除外部品の描画情報とを合成し、表示部１１０に表示させる画面の完全な描画情報を生成する処理を行う。以下、この処理の流れを、図１１のフローチャートを参照して説明する。
【００５７】
除外部品合成部１０８は、まず、更新後の画面モデルを構成するＵＩ部品群のうち、キャッシュ対象部品群以外のＵＩ部品群から、描画情報を生成する（ステップＳＴ１１０１）。次に、画面モデルにキャッシュ対象部品群が含まれているか否かを確認する（ステップＳＴ１１０２）。画面モデルにキャッシュ対象部品群が含まれていなければ、ステップＳＴ１１０１で生成した描画情報が画面の完全な描画情報となるので、除外部品合成部１０８は、そのまま処理を終了する。
【００５８】
一方、画面モデルにキャッシュ対象部品群が含まれていれば、除外部品合成部１０８は、さらに、そのキャッシュ対象部品群に除外部品が含まれるか否かを確認する（ステップＳＴ１１０３）。キャッシュ対象部品群に除外部品が含まれていなければ、除外部品合成部１０８は、キャッシュされているＵＩ部品群の描画情報とステップＳＴ１１０１で生成した描画情報とを合成した１つの描画情報（画面の完全な描画情報）を生成して（ステップＳＴ１１０６）、処理を終了する。また、キャッシュ対象部品群に除外部品が含まれていれば、除外部品合成部１０８は、除外部品の描画情報を生成し（ステップＳＴ１１０４）、その除外部品の描画情報とキャッシュされているＵＩ部品群の描画情報とを合成して１つの描画情報を生成し（ステップＳＴ１１０５）、さらに、ステップＳＴ１１０５で生成した描画情報とステップＳＴ１１０１で生成した描画情報とを合成した１つの描画情報（画面の完全な描画情報）へ生成して（ステップＳＴ１１０６）、処理を終了する。
【００５９】
除外部品合成部１０８によって画面の完全な描画情報が生成されると、描画処理部１０９が、その描画情報から描画データを生成して表示部１１０へ送信する。その結果、表示部１１０に表示される画面が更新される。
【００６０】
このように、実施の形態１に係るＵＩ装置によれば、キャッシュ対象部品群の中に不確定部品や動的変化部品が含まれていた場合、除外部品抽出部１０５がそれらを除外部品としてキャッシュ対象部品群から取り除き、描画情報キャッシュ部１０７には除外部品が除かれたキャッシュ対象部品群の描画情報がキャッシュされる。そして、そのキャッシュ対象部品群を画面の表示に用いる際には、当該キャッシュ対象部品群に除外部品の現在の内容が合成される。それにより、不確定部品や動的変化部品を含むキャッシュ対象部品群についても効率的にキャッシュを利用できるようになる。その結果、キャッシュの利用率を高めて、ＵＩ装置の描画性能を向上させることができる。
【００６１】
＜実施の形態２＞
実施の形態１のＵＩ装置では、除外部品が除かれたキャッシュ対象部品群から描画情報を生成する処理（図９）を行っているが、実施の形態２では、その処理に代えて、画面モデル構築部１０４が保持する画面モデルのキャッシュ対象部品群を、統合ＵＩ部品へ置き換える処理を行う構成のＵＩ装置を示す。
【００６２】
図１２は、実施の形態２に係るＵＩ装置の構成図である。当該ＵＩ装置は、図１の構成に対し、キャッシュ情報生成部１０６に代えて、統合ＵＩ部品生成部１２０１を設けた構成となっている。
【００６３】
図１３は、キャッシュ対象部品群を統合ＵＩ部品で置き換えた画面モデルの一例を示す図である。図１３においては、図６の例のようにパネル部品３０４がキャッシュ対象部品群であり、テキスト部品３１３が除外部品であると仮定し、図５の画面モデルに対して、パネル部品３０４およびその下位のＵＩ部品３０７〜３１５を１つの統合ＵＩ部品１３０１に置き換えている。ただし、除外部品であるテキスト部品３１３は統合ＵＩ部品１３０１に含まれず、統合ＵＩ部品１３０１の下位のＵＩ部品として残される。この場合、除外部品合成部１０８は、統合ＵＩ部品１３０１と除外部品であるテキスト部品３１３とを合成することにより、パネル部品３０４の描画情報を生成することができる。
【００６４】
統合ＵＩ部品生成部１２０１は、除外部品抽出部１０５により除外部品が除かれたキャッシュ対象部品群から、描画情報キャッシュ部１０７に登録（キャッシュ）する描画情報を生成すると共に、その描画情報に対応する画像データである統合ＵＩ部品を生成する。すなわち、統合ＵＩ部品は、キャッシュ対象部品群の描画内容をまとめて１つの画像部品として扱ったものである。
【００６５】
以下、これらの処理の流れを、図１４のフローチャートを参照して説明する。当該フローチャートは、図９におけるステップＳＴ９０３を、以下のステップＳＴ１４０１およびＳＴ１４０２に置き換えたものである。
【００６６】
ステップＳＴ１４０１では、統合ＵＩ部品生成部１２０１が、除外部品除去後のキャッシュ対象部品群から、描画情報キャッシュ部１０７に登録（キャッシュ）する統合ＵＩ部品を生成する。ステップＳＴ１４０２では、ステップＳＴ１４０１で生成した統合ＵＩ部品を画面モデル構築部１０４へ送信する。
【００６７】
また、画面モデル構築部１０４は、統合ＵＩ部品生成部１２０１が生成した統合ＵＩ部品を受信すると、画面モデルの中にあるキャッシュ対象部品群をその統合ＵＩ部品で置き換える処理を行う。キャッシュ対象部品群が統合ＵＩ部品に置き換えられた画面モデルは、画面を更新するイベント処理により当該キャッシュ対象部品群の内容が更新されるまで、構造が簡略化された画面モデルとして画面モデル構築部１０４に保持される。
【００６８】
また本実施の形態では、画面を更新するイベント処理により、統合ＵＩ部品に置き換えられたキャッシュ対象部品群の内容が更新されると、画面モデル構築部１０４は、統合ＵＩ部品を元の複数のＵＩ部品に戻す処理を行う。以下、その処理の流れを、図１５のフローチャートを参照して説明する。当該フローチャートは、図７に対し、ステップＳＴ７０２の前に、以下のステップＳＴ１５０１およびＳＴ１５０２が追加されたものとなっている。
【００６９】
画面モデル構築部１０４は、まず、他に処理すべきイベントがないかを確認する（ステップＳＴ７０１）。処理すべきイベントが残っている場合、画面モデル構築部１０４は、イベント処理によってキャッシュ対象部品群の内容が更新されるか否を確認する（ステップＳＴ１５０１）、キャッシュ対象部品群の内容が更新されないときは、そのままステップＳＴ７０２へ移行し、イベント処理に対応する制御プログラムを実行して、画面モデルを更新する更新する。
【００７０】
イベント処理によってキャッシュ対象部品群の内容が更新される場合、画面モデル構築部１０４は、そのキャッシュ対象部品群が統合ＵＩ部品に置き換えられているか否かを確認する（ステップＳＴ１５０２）。このとき、当該キャッシュ対象部品群が統合ＵＩ部品に置き換えられていなければ、そのままステップＳＴ７０２へ移行する。しかし、当該キャッシュ対象部品群が統合ＵＩ部品に置き換えられていなければ、画面モデル構築部１０４は、統合ＵＩ部品を元のキャッシュ対象部品群へ戻し（ステップＳＴ１５０３）、当該キャッシュ対象部品群の内容を更新できるようにしてから、ステップＳＴ７０２へ移行する。
【００７１】
なお、すべてのイベント処理が終了した後のイベント取得部１０２の動作は、実施の形態１（図７）と同様である。
【００７２】
このように、実施の形態２では、画面モデルを構成する一部のＵＩ部品群を統合ＵＩ部品へ置き換えることで、画面モデル構築部１０４が保持する画面モデルを簡略化できる。それにより、実施の形態１の効果に加えて、キャッシュ対象部品群の中に不確定部品や動的変化部品が含まれていた場合でも、画面モデルから描画情報を生成するために実施するトラバース処理が高速化されるという効果が得られる。
【００７３】
＜実施の形態３＞
実施の形態１のＵＩ装置では、除外部品が除かれたキャッシュ対象部品群から描画情報を生成する処理（図９）を行っていたが、実施の形態３では、その処理と共に、除外部品に対し、当該除外部品が除かれたキャッシュ対象部品群との重ねあわせに関するマスクを生成し、除外部品を合成する際にマスクを適用することができるＵＩ装置を示す。マスクの具体例としては、アルファブレンド、ステンシル、シザー、ブラー、シャドウなどがある。特殊なエフェクト効果を適用するために、独自のマスクを生成してもよい。
【００７４】
図１６は、実施の形態３に係るＵＩ装置の構成図である。当該ＵＩ装置は、図１の構成に対し、マスク領域生成部１６０１およびマスク処理部１６０２を設けた構成となっている。
【００７５】
マスク領域生成部１６０１は、除外部品に対してマスク領域を生成する処理を行う。この処理の流れを、図１７のフローチャートを参照して説明する。なお、マスク領域生成部１６０１が生成した除外部品のマスク領域の内容は、除外部品除去後のキャッシュ対象部品群の描画情報と共に、描画情報キャッシュ部１０７に登録（キャッシュ）されるものとする。
【００７６】
まず、マスク領域生成部１６０１は、キャッシュ対象部品群に除外部品が含まれるか否かを確認する（ステップＳＴ１７０１）。キャッシュ対象部品群に除外部品が含まれない場合、マスク領域生成部１６０１はマスク領域を生成せずに処理を終了する。
【００７７】
一方、キャッシュ対象部品群に除外部品が含まれる場合、その除外部品に対応するマスク領域の内容が、既に描画情報キャッシュ部１０７に登録済みのマスク領域の内容から更新（変更）されているか確認する（ＳＴ１７０２）。マスク領域が更新されていなければ、マスク領域生成部１６０１は、マスク領域を生成せずに終了する。マスク領域が更新されていれば、マスク領域生成部１６０１は、除外部品に対応するマスク領域を新たに生成する（ステップＳＴ１７０３）。１つの除外部品に対して２種類以上のマスクを同時に生成してもよい。
【００７８】
なお、ステップＳＴ１７０２におけるマスク領域の内容の更新の確認は、除外部品とそれを除いたキャッシュ対象部品群とのＵＩ部品パラメータ値の比較などによって行うことができる。例えば、除外部品とそれを除いたキャッシュ対象部品群との相対位置が変更されている場合には、マスク領域が変化していると判断できる。
【００７９】
マスク処理部１６０２は、除外部品に対してマスク領域を適用する処理を行う。以下、この処理の流れを、図１８のフローチャートを参照して説明する。
【００８０】
マスク処理部１６０２は、まず、キャッシュ対象部品群に除外部品が含まれるか確認する（ステップＳＴ１８０１）。キャッシュ対象部品群に除外部品が含まれない場合、マスク処理部１６０２は、除外部品にマスク領域を適用せずに、処理を終了する。一方、キャッシュ対象部品群に除外部品が含まれる場合、除外部品に対してマスク領域を適用する（ステップＳＴ１８０２）。１つの除外部品に対して２種類以上のマスクを適用してもよい。
【００８１】
実施の形態３では、イベント処理によって画面モデル構築部１０４が保持する画面モデルが更新されたとき、除外部品のマスク領域の内容が更新される場合と、除外部品を除いたキャッシュ対象部品群の描画情報が更新される場合とがある。マスク領域の内容が更新されるか否かを確認する処理は、マスク領域生成部１６０１が行うが（図１７のステップＳＴ１７０２）、除外部品を除いたキャッシュ対象部品群の描画情報が更新されるか否かを確認する処理は、キャッシュ情報生成部１０６で実施される。
【００８２】
図１９は、実施の形態２のキャッシュ情報生成部１０６の動作を示すフローチャートである。当該フローチャートは、図９のフローチャートに対し、ステップＳＴ１９０１を追加したものである。
【００８３】
ステップＳＴ１９０１は、除外部品抽出部１０５により除外部品が除かれたキャッシュ対象部品群の内容が、登録済みのキャッシュ対象部品群の内容に対して更新（変更）される場合に行われる。ステップＳＴ１９０１では、キャッシュ情報生成部１０６が、キャッシュ対象部品群の内容の更新が、マスク領域の内容のみの更新であるか否かを判断する。このとき、マスク領域の内容のみが更新される場合、キャッシュ情報生成部１０６は、ステップＳＴ９０３を実行せずに処理を終了する。また、マスク領域以外にも更新される内容がある場合には、ステップＳＴ９０３を実行する。なお、ステップＳＴ１９０１における更新の確認は、図１７のステップＳＴ１７０２と同様に、更新の確認は、除外部品とそれを除いたキャッシュ対象部品群とのＵＩ部品パラメータ値の比較などによって行うことができる。
【００８４】
このように、実施の形態３では、除外部品とそれを除いたキャッシュ対象部品群とが表示領域の重なりを持つ場合に、その重なり合う領域にマスクを適用することができる。よって、除外部品が除かれたキャッシュ対象部品群と除外部品との重ねあわせが存在する場合においても、画面内容の一貫性を維持しつつ、実施の形態１の効果を得ることができる。
【００８５】
＜実施の形態４＞
実施の形態１のＵＩ装置では、画面モデル構築部１０４が保持する現在表示中の画面（以下、「現画面」という）の画面モデルに対応する描画情報を描画情報キャッシュ部１０７にキャッシュしていたが、実施の形態４では、次に表示する画面（以下、「次画面」という）を先読みしてその画面モデルを事前に構築し、次画面の画面モデルに対応する描画情報を描画情報キャッシュ部１０７にキャッシュする構成のＵＩ装置を示す。
【００８６】
図２０は、実施の形態４に係るＵＩ装置の構成図である。当該ＵＩ装置は、図１の構成に対し、画面モデル事前生成部２００１を追加した構成となっている。なお、図２０では、画面モデル事前生成部２００１が次画面の画面モデルを事前に構築し、描画情報キャッシュ部１０７にキャッシュするためのデータあるいは要求の流れ（図２０の矢印）を記載しているが、図２０に記載されていないデータあるいは要求の流れ（図１の矢印）を含んでいてもよい。
【００８７】
画面モデル事前生成部２００１は、現画面から遷移する可能性のある次画面の画面モデルを事前に生成する処理を行う。以下、この処理の流れを、図２１のフローチャートを参照して説明する。
【００８８】
まず、画面モデル事前生成部２００１は、次画面の画面モデルの事前生成を実施できるか否かを確認する（ステップＳＴ２１０１）。例えば、画面モデル構築部１０４が画面モデルを更新すると、遷移可能な次画面の内容が変化するため、次画面の画面モデルの事前生成は、画面モデル構築部１０４の画面モデルの更新が完了した後に行う必要がある。また、画面更新処理による処理負荷状況や、ＵＩ装置が実行中のアプリケーションによる処理負荷状況を考慮に入れて、画面モデルの事前生成を実施できるか否かを判断してもよい。画面モデル事前生成部２００１は、画面モデルの事前生成を実施できない状況と判断した場合は、そのまま処理を終了する。
【００８９】
また、画面モデル事前生成部２００１は、画面モデルの事前生成を実施できると判断すると、画面モデル構築部１０４が保持している現画面の画面モデルのパラメータ値あるいは画面遷移チャートを参照し、現画面から遷移可能な１つ又は複数の次画面の中に、事前生成可能なもの（先読み可能なもの）が存在するか否かを確認する（ステップＳＴ２１０２）。次画面を先読み可能かどうかの判断は、例えば、画面を遷移させるイベント処理のプログラムの結果が静的に決定されるかどうかによって判断することができる。事前生成可能な次画面が存在しない場合、画面モデル事前生成部２００１は、そのまま処理を終了する。
【００９０】
事前生成可能な次画面が存在する場合、画面モデル事前生成部２００１は、どの次画面を事前生成するかを決定する（ステップＳＴ２１０３）。どの次画面を事前生成するかは、例えば、現画面の画面モデルにおける予め定められたパラメータ値から決定してもよい。あるいは、過去のイベントの発生履歴から傾向を分析し、頻繁に遷移している画面など、予め定められた条件に合致する次画面を事前生成するように決定してもよい。
【００９１】
事前生成する画面が決定すると、画面モデル事前生成部２００１は、画面モデル構築部１０４が保持している現画面の画面モデルの複製を生成する（ステップＳＴ２１０４）。そして、複製した画面モデルに対して、画面遷移処理を実施することにより、次画面の画面モデルを生成する（ＳＴ２１０５）。画面モデルに対する画面遷移処理は、例えば、現画面から事前生成する次画面へ遷移するための仮想のイベントを発行することによって行われる。このとき、画面遷移処理は、画面モデルを構成する一部のＵＩ部品に対してのみ行われてもよい。
【００９２】
なお、事前生成された次画面の画面モデルは、画面モデルの全体がキャッシュ対象部品群として扱われ、除外部品抽出部１０５へ送信される。以降、実施の形態１と同様のステップで描画情報キャッシュ部１０７にキャッシュされる。
【００９３】
また、実際に画面を次画面へ遷移させるイベントが生じた際、次画面の画面モデル全体が描画情報キャッシュ部１０７にキャッシュされていれば、画面モデル構築部１０４は、画面モデルを次画面の画面モデルに置き換え、次画面への遷移に関する残りのイベントの処理のうち省略できるものはスキップすればよい。その処理の流れを、図２２のフローチャートを参照して説明する。図２２のフローチャートは、図７のステップＳＴ７０１とステップＳＴ７０２との間に、以下のステップＳＴ２２０１〜ＳＴ２２０５の処理が追加されたものとなっている。
【００９４】
画面の内容を変化させるイベントが発生すると、画面モデル構築部１０４は、他に処理すべきイベントがないかを確認する（ステップＳＴ７０１）。このとき、処理すべきイベントが残っていた場合、当該イベントが、次画面の事前生成に関連する画面遷移イベントか否かを確認する（ステップＳＴ２２０１）。当該イベントが、次画面の事前生成に関連する画面遷移イベントでない場合、画面モデル構築部１０４は、ステップＳＴ７０２へ移行して当該イベントを処理する。
【００９５】
当該イベントが、次画面の事前生成に関連する画面遷移イベントであった場合、画面モデル構築部１０４は、遷移先である次画面の画面モデルが描画情報キャッシュ部１０７にキャッシュされているか否かを確認する（ステップＳＴ２２０２）。キャッシュされていなければ、画面モデル構築部１０４は、ステップＳＴ７０２を実行して当該イベントを処理する。
【００９６】
遷移先の画面モデルがキャッシュされている場合、画面モデル構築部１０４が保持する画面モデルが、すでにキャッシュされた画面モデルへ置き換えられているか確認する（ステップＳＴ２２０３）。置き換えられていない場合、画面モデル構築部１０４が保持する画面モデルを、描画情報キャッシュ部１０７にキャッシュしている次画面の画面モデルへ置き換え（ステップＳＴ２２０４）。すでに置き換えられている場合、ステップＳＴ２２０４は実行されない。
【００９７】
ステップＳＴ２２０３またはステップＳＴ２２０４の後、画面モデル構築部１０４は、当該イベントの処理が除外部品に関連するものか否かを確認する（ステップＳＴ２２０５）。当該イベントの処理が除外部品に関連するものであれば、除外部品の内容を更新するために、ステップＳＴ７０２へ移行して、当該イベントを処理する。当該イベントの処理が除外部品に関連するものでなければ、ステップＳＴ７０２をスキップして、ステップＳＴ７０１に戻る。
【００９８】
実施の形態４に係るＵＩ装置によれば、不確定部品または動的変化部品など、実際に画面に表示を行う時点にならないと内容が定まらないＵＩ部品を含む画面も含めて、次画面の画面モデルを構築してキャッシュすることできる。それにより、高速な画面遷移が可能なＵＩ装置を実現できる。
【００９９】
＜実施の形態５＞
実施の形態１のＵＩ装置では、除外部品か否かを示すＵＩ部品パラメータ値をＵＩ部品ごとに予め（例えば、画面の設計段階で）定めておくことで、そのＵＩ部品が除外部品であるかを判断していたが、実施の形態５では、除外部品か否かを示すＵＩ部品パラメータ値以外の情報、例えば、他の情報を示すＵＩ部品パラメータ値や、発生したイベントの内容、その他の動的な情報などに基づいて、どのＵＩ装置を除外部品にするかを決定するＵＩ装置を示す。本実施の形態において、どのＵＩ装置を除外部品にするかを決定するために用いる情報を、「除外部品決定情報」と称する。
【０１００】
図２３は、実施の形態５に係るＵＩ装置の構成図である。当該ＵＩ装置は、図１の構成に対し、画面モデル構築部１０４と除外部品抽出部１０５との間に、除外部品決定部２３０１を追加した構成となっている。
【０１０１】
除外部品決定部２３０１は、キャッシュ対象部品群に含まれるＵＩ部品のうちから、除外部品とするものを決定する処理を行う。以下、この処理の流れを、図２４のフローチャートを参照して説明する。なお、本実施の形態では、各ＵＩ部品が有する除外部品か否かを示すＵＩ部品パラメータ値は、初期値として「偽（FALSE）」（除外部品ではない）が設定されている。
【０１０２】
除外部品決定部２３０１は、まず、キャッシュ対象部品群のすべてのＵＩ部品をチェックしたか否かを確認する（ステップＳＴ２４０１）。すべてのＵＩ部品のチェックが完了していれば、除外部品決定部２３０１は、そのまま処理を終了する。
【０１０３】
チェックしていないＵＩ部品が残っている場合、画面モデル構築部１０４からチェック対象のＵＩ部品に関する除外部品決定情報を取得し、その除外部品決定情報に基づいて当該ＵＩ部品が除外部品であるか否かを判定する（ステップＳＴ２４０２）。除外部品決定情報は、除外部品の判定方法によって異なるが、例えば、ＵＩ部品パラメータ値、発生したイベントの内容、あるいは、その他のＵＩ装置が保持する動的な情報などである。判定方法の例については後述する。
【０１０４】
その後、除外部品決定部２３０１は、チェックしたＵＩ部品が除外部品と判定されたか否かを確認する（ステップＳＴ２４０３）。当該ＵＩ部品が除外部品と判定されなかった場合、ステップＳＴ２４０１へ戻る（当該ＵＩ部品の除外部品か否かを示すＵＩ部品パラメータ値は「偽」で維持される）。当該ＵＩ部品が除外部品と判定された場合は、当該ＵＩ部品における除外部品か否かを示すＵＩ部品パラメータ値を「真（TRUE）」に設定してから（ステップＳＴ２４０４）、ステップＳＴ２４０１へ戻る。
【０１０５】
ステップＳＴ２４０２における除外部品の判定方法としては、例えば、
（ａ）現在の画面モデルと過去の画面モデルと比較して、他のＵＩ部品との相対位置が変化しているＵＩ部品を除外部品として判断する
（ｂ）連続的に表示内容が更新されるアニメーションイベントが設定または有効化がされているＵＩ部品を除外部品として判断する
（ｃ）タイマイベントあるいはジェスチャイベントなど、ＵＩ部品自身の表示内容を更新するイベントが設定あるいは有効化されているＵＩ部品を除外部品とする
（ｄ）時刻、温度、電波受信状況などのハードウェア情報あるいはアプリケーション情報が表示内容に含まれるＵＩ部品を除外部品として判断する
などの方法が考えられる。
【０１０６】
実施の形態５に係るＵＩ装置によれば、画面の内容やアプリケーションの実行状況に応じて、動的に除外部品を変更することができる。また、除外部品か否かを示すＵＩ部品パラメータ値を予め設定しておく必要がないため、画面の設計およびＵＩ部品の管理が容易になる。
【０１０７】
＜実施の形態６＞
実施の形態１のＵＩ装置では、キャッシュ対象か否かを示すＵＩ部品パラメータ値をＵＩ部品ごとに予め（例えば、画面の設計段階で）定めておくことで、キャッシュ対象部品群を抽出できるようにしていたが、実施の形態６では、除外部品か否かを示すＵＩ部品パラメータ値以外の情報、例えば、他の情報を示すＵＩ部品パラメータ値や、発生したイベントの内容、その他の動的な情報などから「描画傾向」を算出し、それに基づいてキャッシュ対象部品群の抽出および除外部品の決定を行ってもよい。
【０１０８】
ここで、「描画傾向」とは、過去に表示された画面およびＵＩ部品の描画情報、あるいは、予め用意された描画情報に関する統計データに基づく、画面モデルまたはＵＩ部品の構造的特徴ないしはＵＩ部品パラメータ値の数値的特徴として定義される。例えば、過去の画面遷移において下位のＵＩ部品（子ＵＩ部品）の構造が変化した回数をＵＩ部品ごとに記録したマップと、過去にＵＩ部品パラメータ値が変化した回数をＵＩ部品ごとに記録したマップとを、描画傾向として算出する方法がある。また、イベント処理の履歴から、ユーザの利用履歴を表すマップ、各ハードウェアデバイスの負荷状況を表すマップ、アプリケーションの実行状況を表すマップ、あるいは、それらの組み合わせを描画傾向をとして算出してもよい。
【０１０９】
さらに、描画傾向の算出方法としては、ＵＩ部品の構造変化やＵＩ部品パラメータ値の変化回数を単純にカウントするのではなく、加重平均あるいは機械学習などの統計的手法を用いてもよい。機械学習の手法の１つであるディープラーニングなど、描画傾向を算出するために多くのハードウェアリソースが要求される場合、クラウドサービス上などＵＩ装置以外の装置で算出処理を実施し、外部からネットワーク経由で処理結果を取得し、処理結果を描画傾向としてもよい。
【０１１０】
図２５は、実施の形態６におけるＵＩ装置の構成図である。当該ＵＩ装置は、図２３の構成に対し、さらに描画傾向推定部２５０１、描画傾向保持部２５０２およびキャッシュ対象部品決定部２５０３を設けた構成となっている。
【０１１１】
描画傾向推定部２５０１は、画面モデル構築部１０４で更新された画面モデルの内容と、描画傾向保持部２５０２で保持されている描画傾向とから、現在の描画傾向を推定し、描画傾向保持部２５０２へ描画傾向を登録する処理を行う。以下、この処理の流れを、図２６のフローチャートを参照して説明する。
【０１１２】
描画傾向推定部２５０１は、まず、画面モデル構築部１０４から現在の画面モデルを取得し（ステップＳＴ２６０１）、当該画面モデルを構成するＵＩ部品の描画傾向を描画傾向保持部２５０２から取得する（ステップＳＴ２６０２）。そして、描画傾向推定部２５０１は、取得した画面モデルとＵＩ部品の描画傾向とから、新たな描画傾向を算出する（ステップＳＴ２６０３）。
【０１１３】
例えば、子ＵＩ部品の構造の変化回数をＵＩ部品ごとに記録したマップと、ＵＩ部品パラメータ値の変化回数をＵＩ部品ごとに記録したマップとが描画傾向として用いられている場合、ステップＳＴ２５０３においては、前回の描画時の画面モデルと現在の画面モデルとを比較して、子ＵＩ部品の構造あるいはＵＩ部品パラメータ値が変化したＵＩ部品を抽出し、その変化回数に１を加算する処理が行われる。また、マップに存在しないＵＩ部品の子ＵＩ部品の構造あるいはＵＩ部品パラメータ値が変化しときは、そのＵＩ部品に対応する要素をマップに追加される処理が行われる。
【０１１４】
その後、描画傾向推定部２５０１は、算出した新たな描画傾向を描画傾向保持部２５０２へ送信する（ステップＳＴ２６０４）。
【０１１５】
描画傾向保持部２５０２は、描画傾向を保持するためのキャッシュを持ち、描画傾向推定部２５０１から受信した描画傾向を登録して保持する処理を行う。以下、この処理の流れを、図２７のフローチャートを用いて説明する。
【０１１６】
描画傾向保持部２５０２は、まず、描画傾向推定部２５０１から受信したすべてのＵＩ部品の描画傾向を登録したか確認する（ステップＳＴ２７０１）。すべてのＵＩ部品の描画傾向の登録が完了していれば、描画傾向保持部２５０２はそのまま処理を終了する。登録すべき描画傾向が残っている場合、描画傾向保持部２５０２は、残りの描画傾向を登録する処理を行うが、このとき描画傾向を登録するＵＩ部品と同じＵＩ部品の描画傾向が既に登録されているか否かを確認する（ステップＳＴ２７０２）。同じＵＩ部品の描画傾向が既に登録されていれば、登録されている描画傾向を最新の描画傾向に置き換える（ステップＳＴ２７０３）。同じＵＩ部品の描画傾向が登録されていなければ、当該ＵＩ部品の描画情報を、新たなＵＩ部品の描画傾向として登録する（ステップＳＴ２７０４）。
【０１１７】
図２７では、描画傾向保持部２５０２に、各ＵＩ部品の最新の描画傾向だけが登録されるようにしたが、最新の描画傾向だけでなく、過去の描画傾向も補助的な情報として登録しておき、必要に応じて、過去の描画傾向も描画傾向の算出に利用してもよい。
【０１１８】
なお、描画傾向保持部２５０２は、描画傾向推定部２５０１、キャッシュ対象部品決定部２５０３または除外部品決定部２３０１からの要求に応じて、登録されている描画傾向を取得する処理も行う。このとき、取得したいＵＩ部品の描画傾向が登録されていればその描画傾向を取得するが、取得したいＵＩ部品の描画傾向がキャッシュに登録されていなければ、要求元へ登録されていない旨が通知される。
【０１１９】
キャッシュ対象部品決定部２５０３は、画面モデル構築部１０４が保持する画面モデルに対して、描画傾向保持部２５０２に登録されている描画傾向からキャッシュ対象部品群を決定する処理を行う。以下、この処理を、図２８のフローチャートを参照して説明する。
【０１２０】
まず、キャッシュ対象部品決定部２５０３は、画面モデル構築部１０４から画面モデルを取得すると共に、当該画面モデルを構成するすべてのＵＩ部品の描画傾向を描画傾向保持部２５０２から取得する（ステップＳＴ２８０１）。次に、キャッシュ対象部品決定部２５０３は、取得した画面モデルおよびＵＩ部品の描画傾向とに基づいて、キャッシュ対象部品群を決定する（ステップＳＴ２８０２）。
【０１２１】
キャッシュ対象部品群の決定方法としては、例えば、子ＵＩ部品の構造の変化回数をＵＩ部品ごとに記録したマップと、ＵＩ部品パラメータ値の変化回数をＵＩ部品ごとに記録したマップを参照し、画面モデルを構成する各ＵＩ部品の中で、変化回数が０回または変化回数が未登録の最も上位の階層に属するＵＩ部品をルートとしたサブグラフを、キャッシュ対象部品群とする方法がある。
【０１２２】
キャッシュ対象部品群が決定すると、キャッシュ対象部品決定部２５０３は、決定したキャッシュ対象部品群に含まれる各ＵＩ部品のＵＩ部品パラメータ値を、当該ＵＩ部品がキャッシュ対象であることを示すように更新する（ステップＳＴ２８０３）。
【０１２３】
ここで、実施の形態６の除外部品決定部２３０１は、キャッシュ対象部品決定部２５０３で決定したキャッシュ対象部品群の中から、除外部品を決定する。実施の形態５の除外部品決定部２３０１との動作の違いは、図２４のステップＳＴ２４０１において、除外部品であるかどうかを判定するために必要な情報として描画傾向保持部２５０２に登録されている描画傾向を取得する点と、ステップＳＴ２４０３において、描画傾向を用いて除外部品を決定する点である。
【０１２４】
例えば、除外部品の決定方法としては、例えば、子ＵＩ部品の構造の変化回数をＵＩ部品ごとに記録したマップと、ＵＩ部品パラメータ値の変化回数をＵＩ部品ごとに記録したマップを参照し、キャッシュ対象部品群の中から変化回数が予め定められた閾値以上のＵＩ部品を除外部品に決定する方法がある。
【０１２５】
実施の形態６に係るＵＩ装置によれば、画面の内容やアプリケーションの実行状況に応じて、動的にキャッシュ対象部品群ないしは除外部品を変更することができる。また、キャッシュ対象部品群か否かを示すＵＩ部品パラメータ値を予め設定しておく必要がないため、画面の設計およびＵＩ部品の管理が容易になる。
【０１２６】
＜実施の形態７＞
実施の形態１〜６では、１つのＵＩ装置ですべての処理を実施することを想定していたが、キャッシュ情報生成部１０６、統合ＵＩ部品生成部１２０１、マスク領域生成部１６０１、画面モデル事前生成部２００１、除外部品決定部２３０１、描画傾向推定部２５０１、キャッシュ対象部品決定部２５０３のうち、１つ以上の構成を、ネットワークで結合された外部の実行装置（以下「外部装置」という）で実施してもよい。特に、除外部品が除かれたキャッシュ対象部品群に関する処理は、動的あるいはリアルタイムに変動する情報を扱うことが少ないため、容易に外部装置へ処理を委託することが可能である。
【０１２７】
図２９は、実施の形態７に係るＵＩ装置の構成図である。当該ＵＩ装置は、図１の構成に対し、代理実行判断部２９０１および代理実行委託部２９０２を追加した構成となっている。当該ＵＩ装置は、キャッシュ情報生成部１０６が行う処理、すなわちキャッシュ対象部品群から描画情報キャッシュ部１０７にキャッシュする描画情報（キャッシュ情報）を生成する処理を外部装置に代理実行させることが可能なように構成されている。
【０１２８】
代理実行判断部２９０１は、除外部品抽出部１０５から受信したキャッシュ対象部品群からキャッシュ情報を生成する処理を、ＵＩ装置内のキャッシュ情報生成部１０６で実行するか、外部装置に代理実行させるかを判断する処理を行う。以下、この処理の流れを、図３０のフローチャートを参照して説明する。
【０１２９】
代理実行判断部２９０１は、まず、外部装置へ代理実行を委託可能かどうか確認する（ステップＳＴ３００１）。外部装置へ代理実行を委託できない場合の例としては、外部処理と通信するネットワークが利用不可能な場合や、外部装置が他の処理を実施中である場合などがある。
【０１３０】
外部装置へ代理実行を委託可能な場合、代理実行判断部２９０１は、処理内容が外部装置へ代理実行を委託すべき内容かどうかを判断する（ステップＳＴ３００２）。この判断は、例えば、委託する処理の計算量、委託する処理のリアルタイム性、ＵＩ装置のハードウェア負荷状況などの情報に基づいて行われる。また、過去の統計情報や学習データから判断してもよい。図２９のＵＩ装置において、外部装置に委託する処理の計算量は、キャッシュ対象部品群からキャッシュ情報を生成する処理の計算量に対応する。この計算量の推定方法としては、例えば、ＵＩ部品の種類（画像部品、テキスト部品など）ごとに重み付けして計算した、キャッシュ対象部品群に含まれるＵＩ部品の総数を計算量とする方法などが考えられる。
【０１３１】
処理内容が外部装置へ委託すべきものであった場合、代理実行判断部２９０１は、代理実行判断部２９０１は、外部装置に当該処理の代理実行を委託すると判断する（ステップＳＴ３００３）。この場合、代理実行判断部２９０１は、代理実行委託部２９０２へ、代理実行を実施する旨を通知して、代理実行に必要なデータを送信する。図２９のＵＩ装置においては、代理実行判断部２９０１から代理実行委託部２９０２へ、キャッシュ対象部品群が送信される。
【０１３２】
一方、外部装置へ代理実行を委託可能な場合、および、処理内容が外部装置へ委託すべきものではなかった場合には、ＵＩ装置内で当該処理を実行すると判断する（ステップ３００４）。この場合、実施の形態１と同様に、キャッシュ情報生成部１０６がキャッシュ情報を生成する。
【０１３３】
代理実行委託部２９０２は、代理実行判断部２９０１において外部装置に処理を委託すると判断された場合に、外部装置へキャッシュ情報の生成処理を委託し、外部装置で生成されたキャッシュ情報を取得する処理を行う。以下、この処理の流れを、図３１のフローチャートを参照して説明する。
【０１３４】
代理実行委託部２９０２は、まず、代理実行の委託に必要なデータを外部装置へネットワーク経由で送信する（ステップＳＴ３１０１）。図２９のＵＩ装置において、外部装置へ送信するデータは、キャッシュ対象部品群である。その後、代理実行委託部２９０２は、外部装置から処理完了通知があるまで待機する（ステップＳＴ３１０２）。代理実行委託部２９０２は、外部装置から処理完了通知を受信すると、外部装置から処理結果を取得する（ステップＳＴ３１０３）。図２９のＵＩ装置では、代理実行委託部２９０２は、外部装置から、処理結果としてキャッシュ情報を取得する。
【０１３５】
なお、ステップＳＴ３１０２においては、処理完了通知があるのを待つのではなく、代理実行委託部２９０２が一定間隔で処理が完了したかどうかを外部装置へ問い合わせる方法をとってもよい。あるは、ステップＳＴ３１０２とステップＳＴ３１０３を１つのステップとし、外部装置から送信される処理結果を処理完了通知とみなしてもよい。
【０１３６】
図２９では、キャッシュ情報生成部１０６の処理を外部装置に委託する構成のＵＩ装置を示したが、実施の形態１〜６に示したキャッシュ情報生成部１０６、統合ＵＩ部品生成部１２０１、マスク領域生成部１６０１、画面モデル事前生成部２００１、除外部品決定部２３０１、描画傾向推定部２５０１、キャッシュ対象部品決定部２５０３のうちの１つ以上の処理を外部装置に委託するようにしても。その場合も同様に、外部装置へ処理を委託したい要素（機能ブロック）の前に、代理実行判断部２９０１を配置し、当該要素と並列に代理実行委託部２９０２を配置すればよい。また、外部装置との間の通信路を流れるデータ量を抑えるために、画面データ記憶部１０３に記憶されている画面データなど、委託処理に必要なデータの複製を外部装置に配備してもよい。
【０１３７】
実施の形態７に係るＵＩ装置によれば、描画処理の一部を異なる外部装置で実行することで、ＵＩ装置における処理負荷を分散することができ、描画性能を向上することができる。
【０１３８】
＜実施の形態８＞
実施の形態１における画面モデルの構築処理は、画面モデルを構成する各ＵＩ部品のＵＩ部品パラメータ値の決定処理を、各ＵＩ部品は除外部品であるかどうかに関わらず、任意の順番で実行できると仮定した場合の例である。しかしながら、除外部品のＵＩ部品パラメータ値に基づいて自身のＵＩ部品パラメータ値を決定するＵＩ部品が存在する場合、除外部品のＵＩ部品パラメータ値が変化すれば、そのＵＩ部品パラメータ値も変化するので、除外部品のＵＩ部品パラメータ値の方を先に決定する必要がある。その場合、例えば、除外部品と依存関係のあるＵＩ部品も除外部品であるとみなして扱うとよい。ここで、２つのＵＩ部品（第１のＵＩ部品および第２のＵＩ部品とする）に依存関係がある場合とは、第１のＵＩ部品が第２のＵＩ部品のデータを参照する場合、あるいは、第２のＵＩ部品における関数呼び出しなどの作用が第１のＵＩ部品に及ぶ場合と定義される。
【０１３９】
図３２は、実施の形態８におけるＵＩ装置を示す構成図である。当該ＵＩ装置は、図１の構成に対し、依存関係抽出部３２０１を追加した構成となっている。依存関係抽出部３２０１は、画面モデル構築部１０４が保持する画面モデルに対して、依存関係を抽出する処理を行う。以下、この処理の流れを、図３３のフローチャートを参照して説明する。
【０１４０】
依存関係抽出部３２０１は、まず、画面モデル構築部１０４に保持されている画面モデルの構造が更新されたか否かを確認する（ステップＳＴ３３０１）。画面モデルの構造が更新されていない場合、依存関係抽出部３２０１は、ステップＳＴ３３０２を実行せずに処理を終了する。
【０１４１】
画面モデルの構造が更新された場合、依存関係抽出部３２０１は、画面モデルから各ＵＩ部品の依存関係を抽出する（ステップＳＴ３３０２）。依存関係の抽出方法としては、例えば、動的プログラム解析やユーザの入力予測などによって、依存グラフを作成する方法がある。あるいは、画面モデルの階層構造において親子関係（上位、下位の関係）にあるＵＩ部品同士にのみ依存関係を認めるように制約し、依存関係を容易に抽出できるようにしてもよい。
【０１４２】
図３２のＵＩ部品における除外部品抽出部１０５は、実施の形態１と同様の方法で抽出した除外部品（除外部品であることを示すＵＩ部品パラメータ値を持つＵＩ部品）に加えて、その除外部品に依存するＵＩ部品も除外部品として抽出する。この処理は、依存関係抽出部３２０１が抽出したＵＩ部品同士の依存関係に基づいて行われる。
【０１４３】
実施の形態８に係るＵＩ装置によれば、除外部品に依存するＵＩ部品も除外部品として指定することで、描画内容の不整合を引き起こすことなく、除外部品とそれ以外のキャッシュ対象部品群とを分離することができる。
【０１４４】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【０１４５】
この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０１４６】
１０１  入力部、１０２  イベント取得部、１０３  画面データ記憶部、１０４  画面モデル構築部、１０５  除外部品抽出部、１０６  キャッシュ情報生成部、１０７  描画情報キャッシュ部、１０８  除外部品合成部、１０９  描画処理部、１１０  表示部、２１０  入力装置、２２０  コンピュータ、２２１  処理装置、２２２  記憶装置、２３０  表示装置、１２０１  統合ＵＩ部品生成部、１６０１  マスク領域生成部、１６０２  マスク処理部、２００１  画面モデル事前生成部、２３０１  除外部品決定部、２５０１  描画傾向推定部、２５０２  描画傾向保持部、２５０３  キャッシュ対象部品決定部、２９０１  代理実行判断部、２９０２  代理実行委託部、３２０１  依存関係抽出部。
【要約】
ＵＩ（ユーザインタフェース）装置において、除外部品抽出部１０５は、画面を構成する複数のＵＩ部品のうちのキャッシュ対象部品群から、不確定部品または動的変化部品を除外部品として取り除く。キャッシュ情報生成部１０６は、除外部品が取り除かれたキャッシュ対象部品群の描画情報を生成して、描画情報キャッシュ部１０７に登録する。描画情報キャッシュ部１０７に登録されている除外部品が取り除かれたキャッシュ対象部品群の描画情報を用いた画面の描画が実施される際には、除外部品合成部１０８が、その描画情報に、除外部品に対応する描画情報を合成する。【図１】
0005866085.tif 000002
【図２】
0005866085.tif 000003
【図３】
0005866085.tif 000004
【図４】
0005866085.tif 000005
【図５】
0005866085.tif 000006
【図６】
0005866085.tif 000007
【図７】
0005866085.tif 000008
【図８】
0005866085.tif 000009
【図９】
0005866085.tif 000010
【図１０】
0005866085.tif 000011
【図１１】
0005866085.tif 000012
【図１２】
0005866085.tif 000013
【図１３】
0005866085.tif 000014
【図１４】
0005866085.tif 000015
【図１５】
0005866085.tif 000016
【図１６】
0005866085.tif 000017
【図１７】
0005866085.tif 000018
【図１８】
0005866085.tif 000019
【図１９】
0005866085.tif 000020
【図２０】
0005866085.tif 000021
【図２１】
0005866085.tif 000022
【図２２】
0005866085.tif 000023
【図２３】
0005866085.tif 000024
【図２４】
0005866085.tif 000025
【図２５】
0005866085.tif 000026
【図２６】
0005866085.tif 000027
【図２７】
0005866085.tif 000028
【図２８】
0005866085.tif 000029
【図２９】
0005866085.tif 000030
【図３０】
0005866085.tif 000031
【図３１】
0005866085.tif 000032
【図３２】
0005866085.tif 000033
【図３３】
0005866085.tif 000034