(57)【特許請求の範囲】
【請求項１】
複数の画面を選択的に表示するとともに、必要に応じてその表示画面を遷移させるＧＵＩ装置であって、
前記複数の画面を描画するためのオブジェクト群を格納する第一記憶手段と、
前記第一記憶手段内に格納された各オブジェクトによる画面描画結果を格納するためのワークメモリとして機能する第二記憶手段と、
前記各オブジェクトによる画面描画を行う際における処理負荷を認識して基準となる許容負荷と比較する負荷認識手段と、
ある画面の表示後、当該画面の遷移先となり得る画面群の描画結果を前記第二記憶手段内に生成するのにあたって、当該画面群の中で前記負荷認識手段によって処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する描画処理手段と
を備えることを特徴とするＧＵＩ装置。
【請求項２】
前記負荷認識手段は、画面描画以外の処理負荷の状況に応じて前記許容負荷の値を可変させる
ことを特徴とする請求項１記載のＧＵＩ装置。
【請求項３】
複数の画面を選択的に表示するとともに、必要に応じてその表示画面を遷移させるコンピュータにて用いられるＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータを、
前記複数の画面を描画するためのオブジェクト群を格納する第一記憶手段と、
前記第一記憶手段内に格納された各オブジェクトによる画面描画結果を格納するためのワークメモリとして機能する第二記憶手段と、
前記各オブジェクトにより画面描画を行う際における処理負荷を認識して基準となる許容負荷と比較する負荷認識手段と、
ある画面の表示後、当該画面の遷移先となり得る画面群の描画結果を前記第二記憶手段内に生成するのにあたって、当該画面群の中で前記負荷認識手段によって処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する描画処理手段
として機能させるためのＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば家電機器やＯＡ機器といった各種機器の操作を容易化するために用いられるグラフィカルユーザインタフェース（Graphical User Interface；以下「ＧＵＩ」と略す）装置およびＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体に関する。
【０００２】
【従来の技術】
近年、家電機器やＯＡ機器等といった各種機器の操作部に対して、その操作性の改善を目的として、パーソナルコンピュータやワークステーション等で主流となっているＧＵＩ操作方式を導入しようとする動きが活発化している。
【０００３】
ところが、一般的に、ＧＵＩによる操作を実現するためには、ウィンドウ、ボタン、アイコン等といった様々な構成要素を操作画面上に表示することが必要となり、各構成要素の表示イメージデータや多種類の文字表示用のフォントデータ等といった大量のデータを取り扱わなければならない。そのため、ＧＵＩによる操作の実現には、大容量のメモリおよび高性能なＣＰＵ（Central Processing Unit）が必要となってしまい、各種機器のコスト上昇を伴う可能性が高くなってしまう。
【０００４】
この問題を解消するために、従来、ＧＵＩに関する技術として、オブジェクト指向技術を用いたものが提案されている。すなわち、ＧＵＩの実装にオブジェクト指向技術を用いて、部品の共通化によりメモリの使用効率を向上させ、操作部におけるレスポンスおよび操作性の改善を図ることにより、大容量のメモリおよび高性能なＣＰＵを用いることなく、低コストでＧＵＩによる操作を実現することが提案されている。ＧＵＩにオブジェクト指向技術を用いた場合、そのＧＵＩは、画面の表示制御に関する情報、その画面を表示するために表示イメージデータ、操作部に接続された機器に関する情報等が一体のオブジェクトとして構成され、さらにはその操作手順に関する情報を加えたオブジェクトとして構成されることになる。なお、ここでいうオブジェクトとは、画面を表示するのに必要となるデータ、またはデータとそのデータの操作とを一体化したプログラムのことをいう。
【０００５】
具体的には、例えば特開平９−３１９５３８号公報に開示されているように、画面描画を行う画面オブジェクトで使用される物理的なデータを表示オブジェクトから分離して独立させた複数のオブジェクトからなるデータオブジェクトと、表示画面を生成している画面オブジェクトの次にその動作が予測される一または複数の画面オブジェクトが手順オブジェクトにより特定されると、その特定に基づいて該当する画面オブジェクトを予め抽出するとともに、データオブジェクトの中から該当する画面オブジェクトに対応したオブジェクトを予め抽出するメモリ管理オブジェクトとを有するものがある。このＧＵＩによれば、メモリ管理オブジェクトが、抽出された画面オブジェクトおよびデータオブジェクトに基づいて一または複数の表示画面データを予め生成させるので、画面生成作業の時間を短縮することができ、操作部のレスポンスの改善および操作性の改善を図ることができる。
【０００６】
つまり、特開平９−３１９５３８号公報に開示されたＧＵＩでは、ある表示画面に次いで表示が予測される一または複数の表示画面について、その一または複数の表示画面を描画するためのオブジェクトを抽出して、事前にその画面描画、すなわち表示すべき画面のラスター画像化を行っておくことで、画面遷移速度の高速化を通じて操作部のレスポンスの改善および操作性の改善を図っている。これは、遷移先となる表示画面の特定が可能であるという、ＧＵＩの特質を利用したものである。また、複数の表示画面についてオブジェクトを抽出する必要がある場合には、その遷移確率（頻度）に基づいて優先順を決定することで、ユーザによる操作傾向に適応しつつ画面遷移速度を高めることも提案されている。
【０００７】
【発明が解決しようとする課題】
ところで、上述した従来のＧＵＩでは事前に遷移先画面を描画しておくことで画面遷移速度の高速化を実現しているが、その遷移先画面の描画は、通常、ワークメモリまたはキャッシュメモリと呼ばれるＲＡＭ（Random Access Memory）等の半導体メモリ内にて行われる。
【０００８】
そのため、特に、遷移先画面が複数存在する場合には、画面遷移速度の高速化のために、現在表示中の表示画面についてのラスター画像データに加えて、各遷移先画面についてのラスター画像データをも、半導体メモリ内に格納しなければならないので、結果として大容量の半導体メモリが必要になってしまう。つまり、遷移先画面についての事前描画を行おうとすると、そのためのメモリ使用量の増大によって、オブジェクト指向技術を用いてメモリの使用効率を向上させることの意味の喪失を招いてしまうおそれがある。
【０００９】
これに対しては、例えば遷移確率を基にした優先順に従って遷移先画面の事前描画を選択的に行うことで、メモリ使用量の増大を抑制することも考えられる。ところが、画面の描画に要するメモリ量や時間等は、各画面で必ずしも同一ではない。すなわち、ユーザによって頻繁に選択される遷移確率の高い画面が必ずしも多くの描画時間を要する画面であるとは限らない。したがって、単に遷移確率を基にしたのでは、十分描画時間が速い画面に対しても画面表示の高速化を行って無駄なメモリ消費を招いたり、これとは逆に遷移確率の低い画面についての事前描画が行われずその画面の表示を希望するユーザが操作感を損ねたりして、結果として事前描画の有効性が薄れてしまう可能性がある。
【００１０】
そこで、本発明は、画面遷移速度の高速化とメモリ使用効率の向上との両立を図り、ワークメモリまたはキャッシュメモリと呼ばれるメモリの使用量増大を招くことなく、遷移先画面の表示を迅速に行うことを可能にするＧＵＩ装置およびＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体を提供することを目的とする。
【００１４】
本発明に係るＧＵＩ装置は、複数の画面を選択的に表示するとともに、必要に応じてその表示画面を遷移させるものであって、前記複数の画面を描画するためのオブジェクト群を格納する第一記憶手段と、前記第一記憶手段内に格納された各オブジェクトによる画面描画結果を格納するためのワークメモリとして機能する第二記憶手段と、前記各オブジェクトによる画面描画を行う際における処理負荷を認識して基準となる許容負荷と比較する負荷認識手段と、ある画面の表示後、当該画面の遷移先となり得る画面群の描画結果を前記第二記憶手段内に生成するのにあたって、当該画面群の中で前記負荷認識手段によって処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する描画処理手段とを備えることを特徴とするものである。
【００１５】
また、本発明に係るＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体は、複数の画面を選択的に表示するとともに、必要に応じてその表示画面を遷移させるコンピュータにて用いられるＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能なものであって、前記コンピュータを、前記複数の画面を描画するためのオブジェクト群を格納する第一記憶手段と、前記第一記憶手段内に格納された各オブジェクトによる画面描画結果を格納するためのワークメモリとして機能する第二記憶手段と、
前記各オブジェクトにより画面描画を行う際における処理負荷を認識して基準となる許容負荷と比較する負荷認識手段と、ある画面の表示後、当該画面の遷移先となり得る画面群の描画結果を前記第二記憶手段内に生成するのにあたって、当該画面群の中で前記負荷認識手段によって処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する描画処理手段として機能させるためのＧＵＩ画面表示プログラムを記録したことを特徴とする。
【００１６】
上記構成のＧＵＩ装置または上記手順のＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体によれば、例えば画面表示動作終了後に、次に遷移する可能性のある画面候補の選定を行い、選定された画面候補を描画する際における処理負荷を認識して基準となる許容負荷と比較する。そして、その画面候補の描画結果を第二記憶手段内に生成しておくのにあたって、処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する。したがって、第二記憶手段内のメモリ容量の有効活用が可能になるとともに、描画する際の処理負荷が許容負荷を超えると判断された画面については、画面遷移時に第二記憶手段内に格納されている描画結果を用いることで、遷移後の画面表示を高速に行えるようになる。また、描画する際の処理負荷が許容負荷を超えない画面については、その処理負荷が低いことから、第一記憶手段内のオブジェクトにより画面描画を行っても、遷移後の画面表示までに多くの時間を要してしまうこともない。
【００１７】
【発明の実施の形態】
以下、図面に基づき本発明に係るＧＵＩ装置およびＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体について説明する。
【００１８】
〔第一の実施の形態〕
先ず、第一の実施の形態について説明する。
【００１９】
〔装置構成〕
先ず、本実施形態におけるＧＵＩ装置の概略構成について説明する。図１は、ＧＵＩ装置の概略構成の一例を示すブロック図である。図例のように、本実施形態で説明するＧＵＩ装置は、ＧＵＩアプリケーション１０、オペレーションシステム（Operation System；以下「ＯＳ」と略す）２０およびデバイスドライバ群３０といったソフトウエア部分と、ハードウエア部分４０と、から構成されている。
【００２０】
このうち、ハードウエア部分４０は、表示部４１と、操作部４２と、通信制御部４３と、ＣＰＵ４４と、ＲＯＭ（Read Only Memory）４５と、ＲＡＭ４６と、を備えている。
【００２１】
表示部４１は、ユーザが家電機器やＯＡ機器等といった各種機器を操作するための情報を表示する表示デバイスを持ち、ＲＡＭ４６に格納されている操作画面の表示情報を、表示デバイスを駆動するための信号に変換し表示するものである。表示デバイスとしては、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）等を用いることができる。
【００２２】
操作部４２は、ユーザが表示部４１に表示されているボタン等を選択したり、数値を入力したりするための操作デバイスを持ち、操作デバイスから入力される操作情報を受信するものである。操作デバイスとしては、タッチパネル、キーボード、マウス、トラックボール、トラックパッド等を用いることができる。
【００２３】
通信制御部４３は、家電機器やＯＡ機器等といった各種機器のメインシステム（ただし不図示）への制御データの送信、そのメインシステムからのステータス情報の受信を行うものである。具体的には、ＵＡＲＴ（Universal Asynchronous Receiver-Transmitter）やＵＳＢ（Universal Serial Bus）等からなる。
【００２４】
ＣＰＵ４４は、ＧＵＩ機能全体の制御を行うものである。すなわち、画面を生成し表示部４１に表示し、操作部４２からの操作情報やメインシステムからのステータス情報を受けて、画面の更新やメインシステムの制御を行うようになっている。
【００２５】
ＲＯＭ４５は、ＣＰＵ４４が実行するプログラムを予め格納しているものである。このＲＯＭ４５に格納されているプログラムには、詳細を後述するオブジェクト群が含まれているものとする。
【００２６】
ＲＡＭ４６は、ＣＰＵ４４のプログラム実行に必要なキャッシュメモリまたはワークメモリとして用いられるものである。したがって、ＲＡＭ４６内には、表示部４１に表示させる画面の描画結果も生成される。なお、ＲＡＭ４６内に生成される画面は、ビットマップ形式であってもよく、あるいはディスプレイリスト形式で記憶しておいて表示部４１でビットマップ情報に変換（レンダリング）するようにしてもよい。
【００２７】
このようなハードウエア部分４０に対して、ソフトウエア部分では、ＯＳ２０がＧＵＩ装置全体、特にＧＵＩアプリケーション１０の実行を管理するようになっており、デバイスドライバ群３０が上述したハードウエア部分４０の各部を制御するようになっている。
【００２８】
ＧＵＩアプリケーション１０は、ＧＵＩ機能全体を実現するためのソフトウエアであり、オブジェクト群１１〜１５から構成されている。これらのオブジェクト群１１〜１５は、ＯＳ２０の管理機能によって、相互に情報通知を行うことが可能である。なお、オブジェクト群とは複数のオブジェクトの集まりのことをいい、またオブジェクトとは画面を表示するのに必要となるデータあるいはデータとそのデータの操作とを一体化したプログラムのことをいう。
【００２９】
このようなオブジェクト群のうち、画面オブジェクト群１１は、ＧＵＩ画面全体の表示およびユーザ操作の検出を行う機能を持つものであり、表示部４１で表示される全ての画面数分が存在する。また、画面部品オブジェクト群１２は、画面オブジェクト群１１によって表示される画面上の各ＧＵＩ部品（ボタン、ステータスバー等）の表示機能を持つものである。さらに、基本部品オブジェクト群１３は、画面部品オブジェクト群１２によって表示されるＧＵＩ部品を構築している基本部品（多角形、円弧などの各種グラフィック部品、各種テキスト、各種画像等）の表示機能を持つものである。
【００３０】
また、表示制御オブジェクト１４は、ＧＵＩ画面の表示制御を行う機能を持つものであり、さらには画面オブジェクト群１１が通知するユーザ操作の検出情報等を基に表示画面の遷移を管理するものである。
【００３１】
また、描画命令群管理オブジェクト１５は、画面オブジェクト群１１、画面部品オブジェクト群１２および基本部品オブジェクト群１３が描画を行うときに実行する描画命令群を管理するものである。詳しくは、オブジェクトの一部分である描画命令群について、そのメモリマップ上での格納アドレスが登録されているテーブルデータを保持しており、画面オブジェクト群１１、画面部品オブジェクト群１２または基本部品オブジェクト群１３から各格納アドレスの読み出し要求が通知された場合に、要求元のオブジェクトの一部分である描画命令群の格納アドレスをテーブルデータから取り出して、その要求元のオブジェクトに通知するものである。なお、描画命令とは、オブジェクトの一部分を構成し、かつ、そのオブジェクトによる画像描画を指示するための命令コード列をいう。
【００３２】
なお、上述した構成のうち、特にソフトウエア部分は、ＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体に記録されたＧＵＩ画面表示プログラムを、予めハードウエア部分４０にインストールしておくことで実現したり、あるいは必要に応じてその都度読み出すことによって実現することが考えられる。
【００３３】
〔画面表示動作〕
次に、以上のように構成されたＧＵＩ装置が画面表示を行う際の処理動作の概要について、図２および図３を参照しながら説明する。図２はオブジェクト構成の一具体例を示す説明図であり、図３はＧＵＩ画面の一具体例を示す説明図である。ここでは、表示部４１が図３に示す画面Ａを表示する場合を例に挙げて説明する。
【００３４】
画面Ａを表示する場合に、表示制御オブジェクト１４は、画面Ａについての画面オブジェクト１１ａに対して描画要求情報を通知する。描画要求情報通知を受けた画面オブジェクト１１ａは、画面Ａの描画を開始するため、自オブジェクト内の描画命令群を実行する。そして、画面Ａ上のＧＵＩ部品ａおよびＧＵＩ部品ｂを描画するために、ＧＵＩ部品ａについての画面部品オブジェクト１２ａおよびＧＵＩ部品ｂについての画面部品オブジェクト１２ｂに対して描画要求情報を通知する。
【００３５】
描画要求情報通知を受けた画面部品オブジェクト１２ａは、ＧＵＩ部品ａの描画を開始するため、自オブジェクト内の描画命令群を実行する。そして、ＧＵＩ部品ａを構築している基本部品（文字列）ａ−１および基本部品（画像）ａ−２を描画するために、基本部品ａ−１についての基本部品オブジェクト１３ａおよび基本部品ａ−２についての基本部品オブジェクト１３ｃに対して、属性情報とともに描画要求情報を通知する。
【００３６】
描画要求情報通知を受けた基本部品オブジェクト１３ａおよび基本部品オブジェクト１３ｃは、それぞれのオブジェクト内の描画命令群を実行し、基本部品ａ−１および基本部品ａ−２の描画を行い、完了したら画面部品オブジェクト１２ａに対して描画完了情報を通知する。描画完了情報通知を受けた画面部品オブジェクト１２ａは、画面オブジェクト１１ａに対して描画完了情報を通知する。ここまでで、ＧＵＩ部品ａがＲＡＭ４６内に描画されたことになる。
【００３７】
これと同様に、画面部品オブジェクト１２ｂは、ＧＵＩ部品ｂを描画するため、自オブジェクト内の描画命令群を実行し、ＧＵＩ部品ｂを構築している基本部品ｂ−１および基本部品ｂ−２を描画すべく、基本部品オブジェクト（文字列）１３ａおよび基本部品オブジェクト（四角形）１３ｂに対して、属性情報とともに描画要求情報を通知する。描画要求情報通知を受けた基本部品オブジェクト１３ａおよび基本部品オブジェクト１３ｂは、それぞれのオブジェクト内の描画命令群を実行し、基本部品ｂ−１および基本部品ｂ−２の描画を行い、完了したら画面部品オブジェクト１２ｂに対して描画完了情報を通知する。そして、描画完了情報通知を受けた画面部品オブジェクト１２ｂは、画面オブジェクト１１ａに対して描画完了情報を通知する。ここまでで、ＧＵＩ部品ｂがＲＡＭ４６内に描画されたことになる。
【００３８】
このようにして、画面部品オブジェクト１２ａおよび画面部品オブジェクト１２ｂから描画完了情報を受け取ると、画面オブジェクト１１ａは、表示制御オブジェクト１４に対して描画完了情報を通知して、画面ＡのＲＡＭ４６内への描画を完了する。
【００３９】
〔画面遷移動作〕
続いて、以上のような処理動作によって生成され表示される画面の遷移について説明する。図４は画面遷移の一具体例を示す説明図である。図例のように、ＧＵＩ装置では、例えば表示部４１が画面Ｂを表示している場合において、ユーザがその画面Ｂ上に表示されるボタンｃを選択すると表示画面が画面Ｃに遷移し、ボタンｄを選択すると表示画面が画面Ｄに遷移し、ボタンｅを選択すると表示画面が画面Ｅに遷移する。画面Ｃ〜Ｅにおいては、それぞれの画面に応じた操作を行うことができる。さらに、画面Ｃ〜Ｅからの遷移については、画面Ｃのように戻りボタンの選択により画面Ｂに戻るだけのものもあれば、画面Ｄ，Ｅのようにボタン選択によりさらに違った画面に遷移するものもある。なお、ここでは、画面遷移が階層構造の形を採っているが、必ずしも階層構造である必要はない。ただし、どのような構造においても、画面Ｃ〜Ｅを含む全ての画面は、上述したようなオブジェクト群１１〜１５により描画され、表示部４１上に表示されるものとする。
【００４０】
〔本実施形態における特徴点〕
次に、以上のようなＧＵＩ機能を実現する本実施形態のＧＵＩ装置における特徴点について説明する。
【００４１】
以下、ある画面の表示完了後における処理動作について説明する。ある画面、例えば画面Ａの描画およびその表示が完了すると、表示制御オブジェクト１４には、画面オブジェクトＡ１１ａから描画完了情報が通知される。この描画完了情報を受け取ると、表示制御オブジェクト１４は、画面Ａからそれ以降に遷移する可能性のある一または複数の画面候補の選定を行い、選定した画面候補情報を描画命令群管理オブジェクト１５に対して通知する。ここでは、説明を簡単にするため、一つの画面Ｂが選定、通知されたものとして説明を行う。
【００４２】
描画命令群管理オブジェクト１５は、既に説明したように、メモリマップ上での描画命令群の命令コード列の格納アドレスが登録されているテーブルデータを保持している。このことから、描画命令群管理オブジェクト１５では、表示制御オブジェクト１４から画面候補情報の通知を受け取ると、自オブジェクト内のテーブル操作命令群を実行し、自オブジェクト内の描画命令群テーブルデータの操作を行う。
【００４３】
すなわち、描画命令群管理オブジェクト１５は、表示制御オブジェクト１４から画面候補情報の通知を受けると、通知された画面候補のオブジェクト１１，１２，１３の描画命令群の各命令コード列を、これらを予め格納したＲＯＭ４５内のデータ領域から、そのＲＯＭ４５よりも高速なＲＡＭ上のキャッシュメモリとして機能するデータ領域にコピーする。さらには、この動作に伴って、テーブルデータに登録されている格納アドレスの値の待避、更新、復元も行う。
【００４４】
図５〜７は、描画命令群管理オブジェクトによるテーブル操作命令群の処理内容の具体例を示す説明図である。描画命令群管理オブジェクト１５は、表示制御オブジェクト１４から受け取った画面候補情報が“画面Ｂ”である場合に、先ず、図５に示すように、自オブジェクト内の待避データバッファ１５１ａ内の描画命令群格納アドレス値を、その待避データバッファ１５１ａ内の描画命令群識別名に対応するテーブルデータ１５２ａ内の描画命令群格納アドレスフィールド（図中における灰色部分）にコピーする（ステップ１０１、以下ステップを「Ｓ」と略す）。その結果、コピー後の内容は、図６に示すテーブルデータ１５２ｂのようになる。
【００４５】
これに続いて、描画命令群管理オブジェクト１５は、図６に示すように、表示制御オブジェクト１４から受け取った画面候補情報（＝画面Ｂ）に基づき、画面Ｂの各表示オブジェクト１１ｂ，１２ａ，１２ｄ，１３ａ，１３ｃ，１３ｄの描画命令群の識別名と対応するテーブルデータ１５２ｂ内の描画命令群格納アドレスフィールド（図中における灰色部分）の値を、自オブジェクト内の待避データバッファ１５１ｂにコピーする（Ｓ１０２）。その結果、コピー後の内容は、図６の待避データバッファ１５１ｂのようになる。
【００４６】
さらに、描画命令群管理オブジェクト１５は、図７に示すように、通知された画面Ｂの各表示オブジェクト１１ｂ，１２ａ，１２ｄ，１３ａ，１３ｃ，１３ｄの描画命令群の各命令コード列を格納するデータ領域を、ＲＡＭ４６内のキャッシュメモリとして機能する領域上に確保し、ＲＯＭ４５内に格納されている描画命令群の命令コード列を、その確保したＲＡＭ４６上のデータ領域にコピーする（Ｓ１０３）。そして、テーブルデータ１５１ｂの格納アドレスフィールドの値を、ＲＡＭ４６上に確保された各データ領域を指し示すアドレス値で更新する（Ｓ１０４）。その結果、テーブルデータの内容は、図７に示したテーブルデータ１５１ｃのようになる。
【００４７】
その後、表示中の画面Ａについての画面オブジェクト１１ａがユーザ操作を検出して、ユーザ操作検出情報を表示制御オブジェクト１４に対して通知すると、表示制御オブジェクト１４は、画面Ｂについての画面オブジェクト１１ｂに対して描画要求情報を通知する。この結果、画面Ｂの表示時についても、上述した画面Ａの表示時動作と同様の動作が行われることになる。
【００４８】
すなわち、画面オブジェクト１１ｂをはじめとした画面Ｂの各表示オブジェクト１１ｂ，１２ａ，１２ｄ，１３ａ，１３ｃ，１３ｄは、自オブジェクト内の描画命令群を実行する際に、描画命令群管理オブジェクト１５に対して、テーブルデータ読み出し要求通知を送る。この読み出し要求通知を受け取ると、描画命令群管理オブジェクト１５は、自オブジェクト内のテーブルデータ１５１ｃから、読み出し要求通知元であるオブジェクトの描画命令群についての格納アドレスの値を読み出して、これをその読み出し要求通知元のオブジェクトに対して通知する。これにより、画面オブジェクト１１ｂ等は、描画命令群管理オブジェクト１５から通知された格納アドレスが示すメモリマップ上のデータ領域に格納されている各オブジェクトの描画命令群の命令コード列を順次実行することになる。
【００４９】
ただし、このとき、画面オブジェクト１１ｂ等は、ＲＡＭ４６上のキャッシュメモリとして機能するデータ領域に格納された各描画命令群の命令コード列を実行するため、ＲＯＭ４５上のデータ領域に格納された各描画命令群の命令コード列を実行する場合に比べて、画面描画を高速に行うことができる。
【００５０】
つまり、本実施形態では、遷移先となる可能性のある画面候補の選定を行い、選定された画面候補を描画するためのオブジェクト内の描画命令を、予め格納されているＲＯＭ４５内から、より高速処理が可能なＲＡＭ４６内にコピーしておき、画面遷移時にはＲＡＭ４６内に格納されている描画命令を取り出して実行するようになっているので、その描画命令をＲＯＭ４５内から直接取り出す場合に比べて、遷移後の画面描画を高速に行えるようになる。
【００５１】
しかも、ＲＡＭ４６上のキャッシュメモリとして機能するデータ領域には、描画命令のみがコピーされるので、遷移先となる可能性のある全ての画面の描画結果を格納する場合のように、多くのメモリ容量を必要とすることもない。具体的には、ＲＡＭ４６内におけるメモリ使用量の増大分は、一または複数の表示画面の描画命令群の命令コード列の分のみであり、一または複数の表示画面データのサイズ分と比較して非常に少なくなる。
【００５２】
これらのことから、本実施形態によれば、画面遷移速度の高速化とメモリ使用効率の向上との両立を図ることができ、ユーザに対する操作レスポンスおよびその操作性を従来よりも容易に改善することが可能となる。
【００５３】
なお、描画命令群の命令コード列をＲＯＭ４５内からＲＡＭ４６内にコピーするタイミングについては、ある画面の表示完了以降、その次の遷移先画面の表示までの間であれば、どのタイミングであってもよく、ＣＰＵ４４の処理動作状況等に応じて適宜行うことで、遷移後の画面描画の高速化を確実なものとすることができる。
【００５４】
ただし、描画命令群の命令コード列をＲＡＭ４６内にコピーしても、そのメモリ使用量の増大分が過多になってしまうことはないので、例えば遷移確率（頻度）の非常に高い画面等といった所定の画面については、上述のタイミングに依らず、ＧＵＩ装置の起動時（例えば電源投入時）に、予めその描画命令の命令コード列をＲＯＭ４５内からＲＡＭ４６内にコピーしておくことで、ＣＰＵ４４の処理負荷の低減を図るようにしてもよい。
【００５５】
また、ＲＡＭ４６内にコピーする描画命令群の命令コード列は、遷移先となる可能性のある一または複数の画面候補についてのものであるが、画面遷移が階層構造の形を採っている場合には、次階層に属するものを画面候補とする他に、次々階層またはそれ以降の階層に属するものを画面候補とすることも考えられる。
【００５６】
さらには、多くの画面候補が存在する場合に、これらの全てについて描画命令群の命令コード列をＲＡＭ４６内にコピーするのではなく、詳細を後述する処理負荷の大きいものを優先すれば、キャッシュメモリとして機能するＲＡＭ４６上のデータ領域の有効活用が図れるようになる。
【００５７】
〔第二の実施の形態〕
次に、第二の実施の形態について説明する。ただし、ここでは、上述した第一の実施の形態との相違点についてのみ説明するものとする。すなわち、〔装置構成〕および〔画面表示動作〕については、第一の実施の形態の場合と略同様であるため、ここではその説明を省略する。
【００５８】
〔画面遷移動作〕
本実施形態で説明するＧＵＩ装置も、第一の実施の形態の場合と略同様に画面の遷移を行う（図４参照）。ただし、本実施形態のＧＵＩ装置では、その画面遷移を以下に述べるような手順で制御する。図８は、画面遷移の制御手順の一例を示すフローチャートである。
【００５９】
すなわち、ＧＵＩ装置の電源がＯＮされると（Ｓ２０１）、先ず、各オブジェクト群１１〜１５から構成されるＧＵＩアプリケーション１０は、所定の初期（デフォルト）画面についてのオブジェクトにより、ＲＡＭ４６上のワークメモリとして機能するデータ領域内への当該初期画面の描画を行う。これにより、表示部４１からは、例えば図４に示した画面遷移動作を行う場合であれば、画面Ｂが初期画面として表示されることになる（Ｓ２０２）。
【００６０】
表示部４１による初期画面の表示が完了すると、続いて、ＧＵＩアプリケーション１０は、その初期画面の遷移先となる次画面候補の選択とオブジェクト生成を行う（Ｓ２０３）。ここでは、遷移先となる可能性のある画面の中からいくつかの候補を選択し、その候補についてのオブジェクトを生成して、ＲＡＭ４６上のワークメモリとして機能するデータ領域内に、選択された次画面の描画を行う。次画面の候補数は、一つであっても複数であってもよい。また、常に「０」となってはいけないが、その時の条件によっては「０」になる場合もあってよい。例えば、現在の画面が図４の画面Ｂであれば、次画面候補は画面Ｃ〜画面Ｅのうちのいずれか一つまたは複数となる。次画面候補の選択条件によっては、次画面候補がない場合もあり得る。そして、例えば次画面候補として画面Ｃが選ばれた場合、画面Ｃのオブジェクトがここで生成される。
【００６１】
その後、ユーザによる操作部４２の操作により遷移先となる次画面が決定すると（Ｓ２０４）、表示制御オブジェクト１４は、その次画面のオブジェクトが既に生成済みであるか否かを判断する（Ｓ２０５）。この判断の結果、生成済みの場合には、表示部４１からは、その生成済みのオブジェクトに基づいて次画面の表示が行われることになる（Ｓ２０７）。ただし、生成済みでない場合には、次画面の決定後に、その次画面のオブジェクトの生成を経て（Ｓ２０６）、次画面の表示が行われることになる（Ｓ２０７）。そして、次画面の表示が完了すると、次画面は現在の画面と読み替えられ、再び上述した各ステップ（Ｓ２０３〜Ｓ２０７）を繰り返して行うことになる。
【００６２】
例えば、次画面候補として図４に示す画面Ｃが選ばれた場合に、ユーザに操作により画面Ｂ上のボタンｃが押されると、画面Ｃのオブジェクトは生成済みのため、直ちに次画面の表示を行うことができる。一方、画面Ｂ上のボタンｄが押されて次画面として画面Ｄが決定した場合には、画面Ｄのオブジェクトは生成されていないため、画面Ｄのオブジェクトを生成して表示を行う。つまり、画面Ｃの場合に比べれば、画面表示完了までに多くの時間を要する。
【００６３】
〔本実施形態における特徴点〕
次に、以上のような画面遷移動作を行う本実施形態のＧＵＩ装置における特徴点について説明する。本実施形態のＧＵＩ装置は、上述した画面遷移動作のうちの、次画面候補の選択とオブジェクト生成を行う処理（Ｓ２０３）に特徴がある。図９は次画面候補の選択とオブジェクト生成の一動作例を示すフローチャートであり、図１０はその際に用いられる次画面管理表の一具体例を示す説明図である。
【００６４】
次画面候補の選択においては、例えば図１０に示すような次画面管理表を使用する。次画面管理表とは、表示部４１にて表示する全ての画面について個別に設けられたもので、例えばＲＯＭ４５内の所定領域に予め格納されているものである。この次画面管理表には、ある画面の次に遷移する可能性のある各画面について、その表示時間、すなわちオブジェクト生成による画面描画の開始からこれを表示するまでに要する時間が、その時間の掛かる順に並べて登録されている。
【００６５】
例えば、画面Ｂについての次画面管理表として、図１０に示すようなものが設定されていれば、その次画面管理表を参照することで、画面Ｄが最も表示時間が掛かり、次に画面Ｃ、画面Ｅの順で表示時間が掛かることがわかる。このことから、この次画面管理表には、画面の描画負荷（表示時間）に対応して予め設定された優先度情報が、予め登録されているといえる。
【００６６】
このような次画面管理表を用いた次画面候補選択動作を行うのにあたっては、図９に示すように、先ず、次画面管理表の参照すべきインデックスＩを「１」に設定する（Ｓ３０１）。そして、次画面管理表の検索が終了したか否かを判定する（Ｓ３０２）。例えば、図１０に示した次画面管理表を例に挙げると、次画面管理表のインデックスは「３」まであるため、インデックスＩが「３」以下の場合には、次画面管理表の検索が終了していないと判定し、次のステップ（Ｓ３０３）に移る。ただし、インデックスＩが「４」である場合には、次画面管理表の検索が終了したと判定し、処理を終了する。
【００６７】
次のステップ（Ｓ３０３）では、ＲＡＭ４６上のワークメモリとして機能するデータ領域の残容量が予め定められた一定値以上であるか否かを判断する。ここで、残容量が一定値以上ある場合には、次のステップ（Ｓ３０４）に移るが、残容量が一定値未満である場合には、更なる画面描画を行うことができないと判断し、処理を終了する。
【００６８】
次のステップ（Ｓ３０４）では、次画面管理表のインデックスＩの次画面を次画面候補として設定する。例えば、図１０に示した次画面管理表を例に挙げると、一回目のループではＩ＝１であるため、次画面候補として画面Ｃが選択されることになる。
【００６９】
そして、次画面候補が選択されると、その選択された次画面候補のオブジェクト生成により、ＲＡＭ４６上のワークメモリとして機能するデータ領域内に、次画面が描画される（Ｓ３０５）。ただし、ここでは、オブジェクトを生成するだけであって、表示部４１による実際の画面表示は行わない。
【００７０】
その後は、インデックスＩの「＋１」分のインクリメントを経て（Ｓ３０６）、再び上述したステップ（Ｓ３０２〜Ｓ３０６）が繰り返し行われることになる。ここで、例えば次画面候補として画面Ｄが選択され、その画面Ｄのオブジェクトが生成された場合、ＲＡＭ４６上のワークメモリとして機能するデータ領域の残容量は減少するが、まだ残容量が一定値以上であれば、インデックスＩのインクリメントに応じて画面Ｃのオブジェクトを生成する。画面Ｃのオブジェクトを生成しても残容量が一定値以上の場合には、画面Ｅのオブジェクトも生成し、Ｉ＝４となり次画面管理表の検索は終了するため、次画面候補の選択とオブジェクト生成を行う処理も終了する。
【００７１】
以上のように、本実施形態では、次に遷移する可能性のある画面候補の処理負荷に応じて、処理負荷が高く表示時間の掛かる画面候補を優先して描画するので、ＲＡＭ４６上のワークメモリとして機能するデータ領域の有効活用が可能になるとともに、描画する際の処理負荷が高い画面については、画面遷移時にＲＡＭ４６内に格納されている描画結果を用いることで、遷移後の画面表示を高速に行うことができる。
【００７２】
しかも、そのための画面選択、すなわち処理負荷が高い画面の選択を、予め設定された優先度情報に基づいて行うので、その選択を迅速かつ的確に行うことができる。
【００７３】
その上、その画面描画も、ＲＡＭ４６上のワークメモリとして機能するデータ領域の残容量に応じて行うので、残容量が十分ある場合には、全ての次画面候補のオブジェクト生成が行われ、実際にユーザ操作によってどの画面が次画面として選ばれても、迅速な反応速度で次画面を表示することができる。また、残容量が十分でなく、例えば画面Ｃのオブジェクトのみが次画面候補として生成された場合であっても、最も表示に時間が掛かる画面についての表示時間を短縮できるため、結果として十分な反応速度で次画面を表示することができる。なお、この場合に事前描画がされないことになる処理負荷が低い画面については、その処理負荷が低いことから、ＲＯＭ４５内のオブジェクトにより画面描画を行っても、遷移後の画面表示までに多くの時間を要してしまうこともない。
【００７４】
〔第三の実施の形態〕
次に、第三の実施の形態について説明する。ただし、ここでも、上述した第一または第二の実施の形態との相違点についてのみ説明するものとする。すなわち、〔装置構成〕および〔画面表示動作〕については第一の実施の形態の場合と略同様であり、〔画面遷移動作〕については第二の実施の形態の場合と略同様であるため、ここではその説明を省略する。
【００７５】
〔本実施形態における特徴点〕
本実施形態のＧＵＩ装置も、第二の実施の形態で説明した画面遷移動作のうちの、次画面候補の選択とオブジェクト生成を行う処理（図８におけるＳ２０３）に特徴がある。図１１は次画面候補の選択とオブジェクト生成の一動作例を示すフローチャートであり、図１２はその際に用いられる次画面管理表の一具体例を示す説明図である。
【００７６】
ここで説明する次画面管理表は、図１２に示すように、第二の実施の形態の場合と異なり、ある画面の次に遷移する可能性のある画面について、その画面の表示に掛かる時間をマイクロ秒単位で格納している。ただし、表示に掛かる時間の順に並べ替えをする必要はない。この次画面管理表も、表示部４１にて表示する全ての画面毎に個別に持つ。
【００７７】
例えば、画面Ｂについての次画面管理として、図１２に示すようなものが設定されていれば、その次画面管理表を参照することで、画面Ｃの表示時間が３００ｍｓ、画面Ｄの表示時間が７００ｍｓ、画面Ｅの表示時間が１００ｍｓであることがわかる。
【００７８】
このような次画面管理表を用いた次画面候補選択動作を行うのにあたっては、図１１に示すように、先ず、画面表示のためのプロセッサの負荷に応じて生成オブジェクトを選択すべく、ＣＰＵ４４の処理負荷（以下「ＣＰＵ負荷」という）を取得する（Ｓ４０１）。ここでいうＣＰＵ負荷とは、本実施形態で説明する処理以外のＣＰＵ実行負荷に相当するものである。すなわち、本実施形態の処理以外にＣＰＵ４４が何も処理をしていなければＣＰＵ負荷Ｐ＝０％となり、他にＣＰＵ４４をフルに使用する処理を行っている場合にはＣＰＵ負荷Ｐ＝１００％となる。なお、ＣＰＵ負荷の取得については、周知技術を利用すればよいため、ここではその説明を省く。
【００７９】
ＣＰＵ負荷の取得後は、これに続いて、表示時間基準値Ｔ（ｍｓ）の設定を行う（Ｓ４０２）。表示時間基準値Ｔは、既に取得したＣＰＵ負荷Ｐ（％）と、次画面を表示するまでに掛かってもよい時間、すなわち表示許容時間Ｔｓ（ｍｓ）とを基に、例えば以下に示す式（１）を用いて算出する。
【００８０】
Ｔ＝Ｔｓ／（１＋Ｐ／１００）・・・（１）
【００８１】
例えばＴｓ＝５００ｍｓとすると、Ｐ＝０％の場合であればＴ＝５００ｍｓとなり、Ｐ＝１００％の場合であればＴ＝２５０ｍｓとなる。これは式（１）において、ＣＰＵ４４が他に何も処理していない時に次画面の表示に２５０ｍｓ掛かる場合であっても、ＣＰＵ負荷が１００％の時には次画面の表示時間は５００ｍｓ掛かってしまうということを想定している。なお、ここで説明した式（１）は、一具体例に過ぎず、ＧＵＩ装置を構築するシステムに合わせて望ましい式に設定すればよい。このことは、表示許容時間Ｔｓについても同様のことがいえる。
【００８２】
また、ここで説明したＣＰＵ負荷の取得および表示時間基準値Ｔの算出は、必ずしも必須ではない。すなわち、例えば、ＣＰＵ負荷の取得を行わずに、表示時間基準値Ｔ＝表示許容時間Ｔｓとすることも考えられ、この場合には、ＣＰＵ負荷を考慮せずに生成オブジェクトの選択を行うことになる。
【００８３】
そして、表示時間基準値Ｔの特定後は、第二の実施の形態で説明した場合と略同様に、次画面管理表のインデックスＩを「１」に設定し（Ｓ４０３）、次画面管理表の検索が終了したか否かを判定する（Ｓ４０４）。ここで、次画面管理表の検索が終了したと判定したら処理を終了するが、そうでなければ次のステップ（Ｓ４０５）に移る。
【００８４】
次のステップ（Ｓ４０５）では、次画面管理表からインデックスＩの表示時間Ｔｉを抽出する。例えば、一回目のループであれば、表示時間Ｔｉは、画面Ｃの表示にかかる時間であり、Ｔｉ＝３００ｍｓとなる。そして、抽出した表示時間Ｔｉを、既に特定している表示時間基準値Ｔと比較し、これらが表示時間Ｔｉ＞表示時間基準値Ｔの関係にあるか否かを判断する（Ｓ４０６）。
【００８５】
表示時間Ｔｉ＞表示時間基準値Ｔである場合には、インデックスＩの次画面の表示には基準を超える時間が掛かると判断されたことになるので、そのインデックスＩの次画面を次画面候補として設定し（Ｓ４０７）、その次画面候補のオブジェクトを生成する（Ｓ４０８）。一方、表示時間Ｔｉ≦表示時間基準値Ｔである場合には、インデックスＩの次画面の表示は基準以下の時間で行えると判断されたことになるので、オブジェクトの生成は行わない。
【００８６】
具体例を挙げて説明すると、Ｔｓ＝５００ｍｓであり、Ｐ＝０％である場合には、Ｔ＝５００ｍｓとなる。ここで、画面Ｃについての一回目のループではＴｉ＝３００ｍｓである。したがって、この場合、Ｔｉ≦Ｔとなり、次画面Ｃの表示はＴｓ＝５００ｍｓ以下の時間で行うことができ、事前の画面描画が不要であると考えられることから、オブジェクトの生成は行われない。ところが、Ｐ＝１００％であるとすると、Ｔ＝２５０ｍｓとなり、Ｔｉ＞Ｔとなることから、次画面Ｃの表示はＴｓ＝５００ｍｓ以下の時間では行えないと判断されたことになり、オブジェクトの生成による事前の画面描画が行われることになる。
【００８７】
その後は、インデックスＩの「＋１」分のインクリメントを経て（Ｓ４０９）、再び上述したステップ（Ｓ４０４〜Ｓ４０９）が繰り返し行われることになる。
【００８８】
以上のように、本実施形態でも、第二の実施の形態の場合と同様に、処理負荷が高く表示時間の掛かる画面候補を優先して描画するので、ＲＡＭ４６上のワークメモリとして機能するデータ領域の有効活用が可能になるとともに、遷移後の画面表示を高速に行うことができる。
【００８９】
しかも、そのための画面選択、すなわち処理負荷が高い画面の選択を、画面を表示するまでに要する時間情報に基づいて行うので、十分描画時間が速い画面に対しても事前描画を行って無駄なメモリ消費を招くといったことを防げるようになり、従来よりも事前描画の有効性を高めることが可能となる。つまり、画面表示時間を基準に次画面候補を選択するため、高速に表示できる画面のオブジェクトを予め生成してしまうことを避け、ワークメモリとして機能するデータ領域を有効に利用することができる。
【００９０】
その上、その画面描画も、ＣＰＵ負荷、すなわち画面描画以外の処理負荷の状況に応じて行うので、例えばＴｓ＝５００ｍｓ、Ｐ＝０％の場合は、画面Ｄのオブジェクトが予め生成され、Ｔｓ＝５００ｍｓ、Ｐ＝１００％の場合は、画面Ｃと画面Ｄのオブジェクトが予め生成される、といったことが行われる。このように、画面表示に掛かる時間とＣＰＵ負荷に応じて、次画面候補の選択とオブジェクト生成を行うことができるため、十分な反応速度で次画面を表示することができる。
【００９１】
【発明の効果】
以上に説明したように、本発明に係るＧＵＩ装置およびＧＵＩ画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体によれば、画面遷移速度の高速化とメモリ使用効率の向上との両立を図ることができるので、ワークメモリまたはキャッシュメモリと呼ばれるメモリの使用量増大を招くことなく、遷移先画面の表示を迅速に行うことが可能になるという効果を奏する。
【図面の簡単な説明】
【図１】  本発明に係るＧＵＩ装置の概略構成の一例を示すブロック図である。
【図２】  ＧＵＩ機能を実現するオブジェクト構成の一具体例を示す説明図である。
【図３】  ＧＵＩ画面の一具体例を示す説明図である。
【図４】  ＧＵＩ画面の画面遷移の一具体例を示す説明図である。
【図５】  本発明に係るＧＵＩ装置の描画命令群管理オブジェクトによるテーブル操作命令群の処理内容の具体例を示す説明図（その１）である。
【図６】  本発明に係るＧＵＩ装置の描画命令群管理オブジェクトによるテーブル操作命令群の処理内容の具体例を示す説明図（その２）である。
【図７】  本発明に係るＧＵＩ装置の描画命令群管理オブジェクトによるテーブル操作命令群の処理内容の具体例を示す説明図（その３）である。
【図８】  本発明に係るＧＵＩ装置での画面遷移の制御手順の一例を示すフローチャートである。
【図９】  本発明に係るＧＵＩ装置での次画面候補の選択とオブジェクト生成の一動作例を示すフローチャート（その１）である。
【図１０】  本発明に係るＧＵＩ装置での次画面候補の選択の際に用いられる次画面管理表の一具体例を示す説明図（その１）である。
【図１１】  本発明に係るＧＵＩ装置での次画面候補の選択とオブジェクト生成の一動作例を示すフローチャート（その２）である。
【図１２】  本発明に係るＧＵＩ装置での次画面候補の選択の際に用いられる次画面管理表の一具体例を示す説明図（その２）である。
【符号の説明】
１０…ＧＵＩアプリケーション、１１…画面オブジェクト群、１２…画面部品オブジェクト群、１３…基本部品オブジェクト群、１４…表示制御オブジェクト、１５…描画命令群管理オブジェクト、４０…ハードウエア部分○○○、４１…表示部、４２…操作部、４３…通信制御部、４４…ＣＰＵ、４５…ＲＯＭ、４６…ＲＡＭ
【図１】
0004032641.tif 000002
【図２】
0004032641.tif 000003
【図３】
0004032641.tif 000004
【図４】
0004032641.tif 000005
【図５】
0004032641.tif 000006
【図６】
0004032641.tif 000007
【図７】
0004032641.tif 000008
【図８】
0004032641.tif 000009
【図９】
0004032641.tif 000010
【図１０】
0004032641.tif 000011
【図１１】
0004032641.tif 000012
【図１２】
0004032641.tif 000013