(57)【要約】      （修正有）【課題】状態の変更を検出したタイミングで、遷移前と遷移後の状態間で表示形態が異なる属性を判定し、利用するアニメーション関数名を含むアニメーション表示に係る情報を作成する。この結果、アニメーション期間中は、生成したアニメーション情報に従って実行するだけでよくなり、プロセッサに係る負荷を低減させ、高いパフォーマンスの表示を可能にする。【解決手段】ＧＵＩ部品情報は、状態、そのときの表示形態を定義する属性情報、並びに、遷移する際のアニメーション表示時間を有する遷移情報の組で構成される。状態変更が検出されると、そのタイミングにて、遷移前と遷移後の状態での異なる値を持つ同じ属性の種別を判定し、その種別に対応するアニメーション関数を特定し、特性したアニメーション関数名とアニメーション時間とを記述したアニメーション情報を生成する。この後、生成したアニメーション情報に従いアニメーションの表示更新処理を行う。【選択図】図５
2012256188.tif 000002
【特許請求の範囲】
【請求項１】
ＧＵＩ部品のアニメーション表示を実行するＧＵＩ提示装置であって、
ＧＵＩ部品毎に、操作者からの指示入力に対する複数の状態と、それぞれの状態毎に該当するＧＵＩ部品の表示形態を定義する属性、並びに、状態の遷移に伴うアニメーション表示時間とで構成されるＧＵＩ部品情報を記憶する第１の記憶手段と、
複数の表示形態それぞれ用のアニメーション表示処理を行うためのアニメーション関数のライブラリを記憶する第２の記憶手段と、
前記ＧＵＩ部品を表示する表示手段と、
操作者からの指示入力による、表示されたＧＵＩ部品の状態に対する変更の指示を検出する検出手段と、
該検出手段で状態に対する変更の指示が検出されたとき、前記第１の記憶手段を参照して、対象となるＧＵＩ部品の状態遷移前と遷移後の間で異なる値を持つ表示形態の種別を判定し、当該種別の表示形態を状態遷移前から遷移後の状態に徐々に変更するためのアニメーション関数と前記対象なるＧＵＩ部品のアニメーション時間とを記述したアニメーション情報を生成する生成手段と、
生成されたアニメーション情報に記述されたアニメーション関数を前記第２の記憶手段から読み出し、当該アニメーション情報に記述された遷移情報に従って実行することで、前記対象となるＧＵＩ部品のアニメーション表示を行うアニメーション表示手段と
を有することを特徴とするＧＵＩ提示装置。
【請求項２】
前記ＧＵＩ部品情報は、該当するＧＵＩ部品を構成する複数の状態のうちの代表状態については全て属性情報を記述し、残りに状態では異なる属性についての差分を記述されることを特徴とする請求項１に記載のＧＵＩ提示装置。
【請求項３】
前記代表状態は、表示される状態のうちで最頻の状態であることを特徴とする請求項１又は２に記載のＧＵＩ提示装置。
【請求項４】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至３のいずれか１項に記載の各手段として機能させるためのプログラム。
【請求項５】
請求項４に記載のプログラムを格納したことを特徴とするコンピュータは読み取り可能な記憶媒体。
【請求項６】
ＧＵＩ部品毎に、操作者からの指示入力に対する複数の状態と、それぞれの状態毎に該当するＧＵＩ部品の表示形態を定義する属性、並びに、状態の遷移に伴うアニメーション表示時間とで構成されるＧＵＩ部品情報を記憶する第１の記憶手段と、
複数の表示形態それぞれ用のアニメーション表示処理を行うためのアニメーション関数のライブラリを記憶する第２の記憶手段とを有し、
ＧＵＩ部品のアニメーション表示を実行するＧＵＩ提示装置の制御方法であって、
表示手段が、前記ＧＵＩ部品を表示する表示工程と、
検出手段が、操作者からの指示入力による、表示されたＧＵＩ部品の状態に対する変更の指示を検出する検出工程と、
生成手段が、該検出工程で状態に対する変更の指示が検出されたとき、前記第１の記憶手段を参照して、対象となるＧＵＩ部品の状態遷移前と遷移後の間で異なる値を持つ表示形態の種別を判定し、当該種別の表示形態を状態遷移前から遷移後の状態に徐々に変更するためのアニメーション関数と前記対象なるＧＵＩ部品のアニメーション時間とを記述したアニメーション情報を生成する生成工程と、
アニメーション表示手段が、生成されたアニメーション情報に記述されたアニメーション関数を前記第２の記憶手段から読み出し、当該アニメーション情報に記述された遷移情報に従って実行することで、前記対象となるＧＵＩ部品のアニメーション表示を行うアニメーション表示工程と
を有することを特徴とするＧＵＩ提示装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＧＵＩ提示装置及びその制御方法に関するものである。
【背景技術】
【０００２】
近年、組み込み機器（例えば複合機）に表示する画像の表現力が増してきており、機器上で表現力豊かなグラフィカルユーザインタフェース（Graphical User Interface:GUI）を表示することは一般的となりつつある。
【０００３】
表現力豊かなGUI表示の例として、アニメーション表示がある。アニメーション表示は図形を一定時間ごとに少しずつ変化させることで図形があたかも動いているかのように見せる手法である。GUIでは、GUIを構成する個々の要素を部品（GUI部品）として分離し、GUI部品ごとにアニメーション表示させることが一般的に行われている。
【０００４】
特許文献１では、GUI部品は、図形を表示する時刻及び図形の特徴を表す属性情報を持つ状態を持つ。そして、特定の状態間のアニメーションを表示する場合には、アニメーションを行う最初と最後の状態を取得し、それらの状態が持つ属性情報と現在の時刻を用いて補間計算し、図形を生成する。
【０００５】
特許文献２では、さらに、GUI部品が複数の状態及び、複数の状態間の変化を定義した状態変化を持つ時に、各状態変化に共通して現れる状態のデータを共有することで、部品全体としてのデータ量の削減を図っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３６１６２４１号公報
【特許文献２】特開２００２−９２６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１及び特許文献２は、現在時刻を基に図形を生成する際に、状態間の全ての属性情報を比較する必要があり、パフォーマンスに問題があった。また、特許文献１、特許文献２では比較した属性間で補間計算を行う必要があり、パフォーマンスに対してさらなる問題があった。
【０００８】
本願発明は係る問題点に鑑みなされたものであり、GUI部品のアニメーションを高いパフォーマンスで実現させることを目的とする。
【課題を解決するための手段】
【０００９】
この課題を解決するため、例えば本発明のＧＵＩ提示装置は以下の構成を備える。すなわち、
ＧＵＩ部品のアニメーション表示を実行するＧＵＩ提示装置であって、
ＧＵＩ部品毎に、操作者からの指示入力に対する複数の状態と、それぞれの状態毎に該当するＧＵＩ部品の表示形態を定義する属性、並びに、状態の遷移に伴うアニメーション表示時間とで構成されるＧＵＩ部品情報を記憶する第１の記憶手段と、
複数の表示形態毎のアニメーション処理を行うためのアニメーション関数のライブラリを記憶する第２の記憶手段と、
前記ＧＵＩ部品を表示する表示手段と、
操作者からの指示入力による、表示されたＧＵＩ部品の状態の変更指示を検出する検出手段と、
該検出手段で状態の変更指示が検出されたとき、前記第１の記憶手段を参照して、対象となるＧＵＩ部品の変更前と変更後の間で異なる表示形態の種別を判定し、当該種別の表示形態を変更前から変更後の状態に徐々に変更するためのアニメーション関数と前記対象なるＧＵＩ部品のアニメーション時間とを記述したアニメーション情報を生成する生成手段と、
生成されたアニメーション情報に記述されたアニメーション関数を前記第２の記憶手段から読み出し、当該アニメーション情報に記述された遷移情報に従って実行することで、前記対象となるＧＵＩ部品のアニメーション表示を行うアニメーション表示手段とを有する。
【発明の効果】
【００１０】
本発明よれば、状態の変更を検出したタイミングで、変更前と変更後の状態間で表示形態が異なる属性を判定し、利用するアニメーション関数名を含むアニメーション表示に係るアニメーション情報を作成する。この後、アニメーション期間中は、生成したアニメーション情報に従って実行するだけでよくなり、プロセッサに係る負荷を低減させ、もって高いパフォーマンスのアニメーション表示が可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るGUI提示装置の構成を示す図。
【図２】実施形態に係るハードウェア構成の一例を示すブロック図。
【図３】第１の実施形態におけるGUI部品の一例を示す図。
【図４】第１の実施形態におけるGUI部品の表示データの一例を示す図。
【図５】第１の実施形態における全体の処理の流れを示す図。
【図６】第１の実施形態におけるアニメーション情報の一例を示す図。
【図７】第２，第３の実施形態におけるGUI部品の一例を示す図。
【発明を実施するための形態】
【００１２】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１３】
図１は実施形態におけるＧＵＩ提示装置の構成を示す図である。実施形態におけるGUI提示装置１００は、GUIの表示、生成を行う手段と、アニメーションを生成する手段からなる。GUIの生成、表示を行う手段は、図のGUI設計データ読み込み部１０１と、GUI生成部１０２、GUI提示部１０３から構成される。アニメーションを生成する手段は、アニメーションコマンド受付部１０４と、差分検出部１０５、アニメーション生成部１０６、現在時刻取得部１０７、表示情報生成部１０８、及び、ライブラリ１５０から構成される。
【００１４】
GUI設計データ読み込み部１０１は、後述するメモリからGUI設計データ１０９を読み込む。GUI設計データ１０９は、GUIを構成する複数のＧＵＩ部品毎のＧＵＩ部品情報１１０を持ち、ハードディスク等の記憶装置（第１の記憶手段）に格納されている。GUI部品１１０はさらに複数の状態と属性情報の組１１１を持つ。これらのデータは、ハードディスクやメモリ等の記憶装置に格納されている。
【００１５】
GUI生成手段１０２は、GUI設計データ１０９を基にGUIを生成し、生成されたGUIはGUI提示手段１０３により後述する表示装置に表示される。アニメーションコマンド受付部１０４はGUI部品の状態を変更するためのアニメーションコマンドを受け付け、コマンドに応じて所定の状態差分の検出を差分検出部１０５に指定する。差分検出部１０５は、状態が持つ属性間の差分を計算し、差分がある場合はアニメーション生成部１０６にアニメーション情報の生成を指示する。アニメーション生成部１０６は指示されたアニメーション情報を生成する。現在時刻取得部１０７は、不図示のタイマ等から現在時刻を取得する。表示情報生成部１０８は、アニメーション情報の記述に従い、ライブラリ１５０（各種アニメーション表示処理に関する描画関数（サブルーチン）を格納している）を利用し、現在時刻を基にGUIを更新する。このライブラリ１５０はハードディスク装置等の記憶装置（第２の記憶手段）に格納されているものとする。
【００１６】
図２は本発明におけるハードウェア構成の一例を示すブロック図である。図中、２０１はCPUであり、各種処理のための演算や論理判断等を行い、バス２０６に接続された各構成要素を制御する。本装置には、プログラムメモリとデータメモリを含むメモリが搭載されている。プログラムメモリには、フローチャートにつき後述する処理手順を含むCPUによる制御のためのプログラムを格納する。メモリはROM ２０２であっても良いし外部記憶装置などからプログラムがロードされるRAM ２０３であっても良い。２０４はデータやプログラム（後述するアニメーション表示に係る各種関数を含む）を記憶しておくための不揮発性メモリやハードディスクなどの記憶装置である。本実施形態のGUI提示装置は、記憶装置２０４に読み込まれたGUI設計データ１０９を基にGUIの生成を行う。GUI設計データはメモリに記憶されている他に、ネットワークを介して取得してもよい。表示装置２０５は生成されたGUIを表示する。
【００１７】
［第１の実施形態］
以下、上記構成における具体例としての第１の実施形態を説明する。図３は本第１の実施形態におけるGUI提示装置が読み込むＧＵＩ設計データが持つGUI部品情報の一例を示す図である。
【００１８】
このGUI部品情報３００はボタン部品の設計データを表している。GUI部品情報３００は複数の状態３０１と、各状態毎の属性情報３０２並びに遷移情報３０３を持つ。
【００１９】
状態はGUI部品の図形の一表示形態を表し、属性情報はその特定の状態における図形情報の各項目の表示形態を定義するものである。そして、遷移情報は遷移先の状態及び遷移のアニメーション表示時間を規定する。部品は複数の状態の中で一つ代表状態を持ち、代表状態の属性情報はGUI部品の表示データを構成するための情報も併せて持つ。
【００２０】
属性情報３０２は、属性データと呼称するコロン（：）で区切られた図形番号、属性名、属性値の３つ組を複数持つ形式で表される。図形番号が同じ属性データは、同じ図形に対する属性を表し、属性名及び属性値は、その図形が持つ属性名に対する属性値の指定に対応する。
【００２１】
遷移情報は、遷移データと呼称するコロン（：）で区切られた遷移先状態、遷移時間の２つ組を複数持つ形式で表される。遷移先情報には状態遷移によって遷移可能な状態が指定され、遷移時間には遷移時にかかる時間が指定される。
【００２２】
図のボタン部品はNormal３０４、Over３０５、Down３０６の３つの状態を持ち、それぞれは通常状態、操作者によるマウスの操作でマウスカーソルがその上に移動した状態、マウスの指示入力によるボタンが押下（クリック）された状態を表わす。そして、各状態３０４乃至３０６はそれぞれ図示の符号３０７、３０８、３０９の属性情報と、３１０、３１１、３１２の遷移情報を持つ。また、代表状態としてNormal状態が指定されている。
【００２３】
代表状態であるNormal３０４には、図形番号に１と２を持つ属性データが指定されているため、２つの図形により構成される。
【００２４】
図形番号に指定されている属性名shape、 position、 color、 width、 height、 textは、それぞれ図形に対し、図形の種類、位置、色、幅、高さ、ラベルを指定する。例えば1:color:lightgrayは、１の図形の色にlightgrayという色を指定している。代表状態以外の状態（Over３０５、Down３０６）の属性情報は、Normal３０４の属性情報との差分を表す。代表状態以外の状態の図形データは代表状態を基に図形データを生成した後に、代表状態以外の状態の属性情報を指定することで生成される。なお、属性情報において、明示的に記述されていない項目については、遷移前の状態と同じことを示している。
【００２５】
Nomal３０４の遷移情報に指定された遷移情報Over:200msは、Normal状態からOver状態に遷移するのに、200msかかることを示している。同様に、Over状態からNormal状態にも200msかかり、Over状態からDown状態には100msかかることが示されている。そして、Down状態からOver状態には150msかかることを示している。
【００２６】
図４はGUI部品３００を基に表示図形を生成した際の表示データの一例を示す図である。同図（ａ）、（ｂ）、（ｃ）はそれぞれNormal状態、Over状態、Down状態のボタン部品の表示データに該当する。各図形の前面に表示された矩形４０１，４０３，４０５はボタン部品の属性情報に指定された図形番頭１を持つ属性データと対応し、背面の矩形４０２，４０４，４０６が図形番号２を持つ属性データに対応する。
【００２７】
図５は本第１の実施形態における全体処理（ＣＰＵ２０１が実行するプログラム）の流れの一例を示すフローチャートである。本フローチャートを用いて、GUI提示処理の流れを説明する。図において、S501からS510までは各ステップを表す。
【００２８】
S501において、プログラムはGUI設計データ１０９を記憶装置２０４に読み込み、S502に移行する。S502において、プログラムはGUI設計データが持つGUI部品の代表状態を基にGUI部品の表示データを生成する。
【００２９】
図３のボタン部品の場合は、Normal３０３が代表状態であるため、Normal状態を基に表示データを生成する。S503において、プログラムがプログラムを終了するための終了コマンドを受け付けた場合はS510、受け付けなかった場合はS504に移行する。S510において、プログラムは、GUI部品を削除してGUI提示処理を終了する。また、S504において、プログラムがアニメーションを起動するためのアニメーションコマンドを受け付けた場合はS505、受け付けなかった場合はS507に移行する。
【００３０】
アニメーションコマンドは、GUI部品に対して、GUI部品が持つ遷移データを指定する。S505において、プログラムはGUI部品の状態と、遷移データに指定された遷移先状態がそれぞれ持つ属性情報を比較し、S506において、差分がある場合はアニメーション情報を生成してS507に移行する。属性情報の比較は、同じ図形番号と属性名を持つ属性データの属性値間で行われる。例えばボタン部品において、Normal状態のボタン部品に対して遷移データ３１０のOver:200msを指定した場合は、Normal状態の属性情報３０７とOver状態の属性情報３０８の間で比較が行われる。３０７と３０８では同じ図形番号及び属性名を持つ、1:positionと1:colorの属性値が比較される。1:position（表示位置を示す座標）は同じ属性値を持っているため、アニメーションは生成されない。1:color（表示色）は異なる属性値を持っているため、アニメーションの対象として決定される。つまり、状態遷移前と状態遷移後で、異な属性値を持つ同じ表示項目の種別を判定し、その判定で得られた項目名に従って、利用するアニメーション処理関数が決まる。
【００３１】
S507において、プログラムは現在時刻の取得を行い、S508に移行する。S508において、プログラムはS507で取得した時刻を基に、アニメーション情報を参照し、GUI部品の図形データを更新して、S509に移行する。取得した現在時刻をGUIの時刻としてそのまま使用してもよいし、本実施形態のように、GUIを表示してからの時間に変換して使用してもよい。S509において、S506において生成したアニメーション情報の中で、アニメーション時間を経過したものを削除し、再びS503に戻る。
【００３２】
図６に本実施形態におけるS506で生成されるアニメーション情報の一例を示す。アニメーション情報は、アニメーション開始時刻（begin_time）、アニメーション時間（duration）、属性名（attribute）、アニメーション関数名（lightgray_to_white）から構成される。
【００３３】
アニメーション開始時刻にはアニメーションが開始する時刻が指定される。アニメーション時間にはアニメーションが開始してから終了するまでにかかる時間が指定される。属性名にはアニメーションによって変更される属性名が指定される。アニメーション関数にはアニメーション中の属性の値を決定するための関数が入る。アニメーション関数は遷移情報を基にあらかじめ生成される。
【００３４】
図６では、アニメーション開始時刻はGUI表示後、約13秒（13024ms）が経過していることを示しており、マウスカーソルが着目ＧＵＩ部品（実施形態ではＯＫボタン）に移動したことによるアニメーションを２００msの期間表示することを示している。また、その際の属性名にはＧＵＩ部品の図形の表示色を表すcolor、アニメーション関数にはlightgray_to_white関数が指定されている。
【００３５】
このアニメーション情報はGUIのアニメーション表示を開始時（13024ms）してから200ms経過後の13224ms以降に、S509において削除されていることを示している。また、アニメーション情報が存在する間は、GUIの表示時刻を基に、lightgray_to_white関数を用いて属性値が算出され、ボタン部品の図形が徐々に更新されていく。
【００３６】
以上のように本第１の実施形態における構成では、状態間の比較をアニメーションコマンド実行開始時に行うことで、それ以降のアニメーション表示期間中は状態間の各項目の比較は行なわい。従って、実行開始時に決定した関数のみを用いて実行するだけで良くなり、ＣＰＵに係るアニメーションに係る負担を少なくでき、その分だけアニメーションのパフォーマンスを挙げることができる。
【００３７】
また、状態間の比較をアニメーション開始時に行い、属性ごとのアニメーション情報を生成することで、現在時刻を基に図形を表示する際の補間計算を行う必要がなくなる。よって、本発明により、GUI部品のアニメーションを高いパフォーマンスで実現させることが可能となる。また、さらにGUI部品を構成するための構成情報をGUI部品が持つ状態の中で最頻状態である代表状態に持たせることで、構成情報と状態を別々に持つ場合と比べてGUI部品のデータ量を少なくすることができる。
【００３８】
［第２の実施形態］
GUI部品では初期状態がGUIを実際に表示する際に決定されるため、設計段階で初期状態を決めることができない。そのため、本第２の実施形態では状態間で最も差分となる属性データが少ない状態を代表状態として持つGUI部品をGUI設計データとして読み込む例を示す。
【００３９】
図７は本第２の実施形態において、GUI提示装置が読み込むGUI設計データが持つGUI部品の一例を示す図である。
【００４０】
図３とは、代表状態がOver７０２になっていること、ボタン部品の構成情報がOver７０２の属性情報７０４に含まれるところが異なる。各状態が持つ属性情報間を比較したときに、Normal７０１とOver７０２の間では属性データ1:positionが異なり、Over７０２とDown３０６の間では属性データ1:positionが異なる。また、Normal７０２とDown３０６の間では属性データ1:positionと1:colorの２つが異なる。
【００４１】
そのため、本第２の実施形態では、状態間の差分が最も少ない状態であるOver状態が代表状態として設定される。
【００４２】
以上のように本第２の実施形態おける構成では、第１の実施形態の効果に加えて、GUI部品の代表状態として、他の状態が持つ属性情報と比較して最も差分が少ない状態を選択する。このことによって、GUI部品の初期状態が、いずれの状態であっても、より少ない属性変更で図形の表示が可能となる。
【００４３】
［第３の実施形態］
本第３の実施形態では、GUI部品が持つ状態の中で、最も多くの遷移元となる遷移データを持つ状態を代表状態として持つGUI部品をGUI設計データとして読み込む例を示す。図７は本代３の実施形態において、GUI提示装置が読み込むGUI設計データが持つGUI部品の一例を示す図である。
【００４４】
各状態が持つ遷移情報を比較した際に、Normal７０１が遷移元となる遷移データは３１０の１つ、Over７０２が遷移元となる遷移データは３１１の２つ、Down３０６が遷移元となる遷移データは３１２の１つ。そのため、本代３の実施形態では、状態の中で最も多く遷移元となる遷移データを持つOver状態が代表状態として設定される。
【００４５】
以上のように本代３の実施形態における構成では、第１の実施形態の効果に加えて、GUI部品の代表状態として、状態の中で最も多くの遷移元となる遷移データを持つ状態を選択する。このことによってGUI部品の初期状態として最も選ばれる可能性の高い状態を代表状態として選ぶことができるため、部品の図形表示時により少ない属性変更で図形の表示が可能となる。
【００４６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012256188.tif 000003
【図２】
2012256188.tif 000004
【図３】
2012256188.tif 000005
【図５】
2012256188.tif 000006
【図６】
2012256188.tif 000007
【図７】
2012256188.tif 000008
【図４】
2012256188.tif 000009