説明

GUI提示装置及びその制御方法

【課題】状態の変更を検出したタイミングで、遷移前と遷移後の状態間で表示形態が異なる属性を判定し、利用するアニメーション関数名を含むアニメーション表示に係る情報を作成する。この結果、アニメーション期間中は、生成したアニメーション情報に従って実行するだけでよくなり、プロセッサに係る負荷を低減させ、高いパフォーマンスの表示を可能にする。
【解決手段】GUI部品情報は、状態、そのときの表示形態を定義する属性情報、並びに、遷移する際のアニメーション表示時間を有する遷移情報の組で構成される。状態変更が検出されると、そのタイミングにて、遷移前と遷移後の状態での異なる値を持つ同じ属性の種別を判定し、その種別に対応するアニメーション関数を特定し、特性したアニメーション関数名とアニメーション時間とを記述したアニメーション情報を生成する。この後、生成したアニメーション情報に従いアニメーションの表示更新処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はGUI提示装置及びその制御方法に関するものである。
【背景技術】
【0002】
近年、組み込み機器(例えば複合機)に表示する画像の表現力が増してきており、機器上で表現力豊かなグラフィカルユーザインタフェース(Graphical User Interface:GUI)を表示することは一般的となりつつある。
【0003】
表現力豊かなGUI表示の例として、アニメーション表示がある。アニメーション表示は図形を一定時間ごとに少しずつ変化させることで図形があたかも動いているかのように見せる手法である。GUIでは、GUIを構成する個々の要素を部品(GUI部品)として分離し、GUI部品ごとにアニメーション表示させることが一般的に行われている。
【0004】
特許文献1では、GUI部品は、図形を表示する時刻及び図形の特徴を表す属性情報を持つ状態を持つ。そして、特定の状態間のアニメーションを表示する場合には、アニメーションを行う最初と最後の状態を取得し、それらの状態が持つ属性情報と現在の時刻を用いて補間計算し、図形を生成する。
【0005】
特許文献2では、さらに、GUI部品が複数の状態及び、複数の状態間の変化を定義した状態変化を持つ時に、各状態変化に共通して現れる状態のデータを共有することで、部品全体としてのデータ量の削減を図っている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3616241号公報
【特許文献2】特開2002−92626号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1及び特許文献2は、現在時刻を基に図形を生成する際に、状態間の全ての属性情報を比較する必要があり、パフォーマンスに問題があった。また、特許文献1、特許文献2では比較した属性間で補間計算を行う必要があり、パフォーマンスに対してさらなる問題があった。
【0008】
本願発明は係る問題点に鑑みなされたものであり、GUI部品のアニメーションを高いパフォーマンスで実現させることを目的とする。
【課題を解決するための手段】
【0009】
この課題を解決するため、例えば本発明のGUI提示装置は以下の構成を備える。すなわち、
GUI部品のアニメーション表示を実行するGUI提示装置であって、
GUI部品毎に、操作者からの指示入力に対する複数の状態と、それぞれの状態毎に該当するGUI部品の表示形態を定義する属性、並びに、状態の遷移に伴うアニメーション表示時間とで構成されるGUI部品情報を記憶する第1の記憶手段と、
複数の表示形態毎のアニメーション処理を行うためのアニメーション関数のライブラリを記憶する第2の記憶手段と、
前記GUI部品を表示する表示手段と、
操作者からの指示入力による、表示されたGUI部品の状態の変更指示を検出する検出手段と、
該検出手段で状態の変更指示が検出されたとき、前記第1の記憶手段を参照して、対象となるGUI部品の変更前と変更後の間で異なる表示形態の種別を判定し、当該種別の表示形態を変更前から変更後の状態に徐々に変更するためのアニメーション関数と前記対象なるGUI部品のアニメーション時間とを記述したアニメーション情報を生成する生成手段と、
生成されたアニメーション情報に記述されたアニメーション関数を前記第2の記憶手段から読み出し、当該アニメーション情報に記述された遷移情報に従って実行することで、前記対象となるGUI部品のアニメーション表示を行うアニメーション表示手段とを有する。
【発明の効果】
【0010】
本発明よれば、状態の変更を検出したタイミングで、変更前と変更後の状態間で表示形態が異なる属性を判定し、利用するアニメーション関数名を含むアニメーション表示に係るアニメーション情報を作成する。この後、アニメーション期間中は、生成したアニメーション情報に従って実行するだけでよくなり、プロセッサに係る負荷を低減させ、もって高いパフォーマンスのアニメーション表示が可能となる。
【図面の簡単な説明】
【0011】
【図1】実施形態に係るGUI提示装置の構成を示す図。
【図2】実施形態に係るハードウェア構成の一例を示すブロック図。
【図3】第1の実施形態におけるGUI部品の一例を示す図。
【図4】第1の実施形態におけるGUI部品の表示データの一例を示す図。
【図5】第1の実施形態における全体の処理の流れを示す図。
【図6】第1の実施形態におけるアニメーション情報の一例を示す図。
【図7】第2,第3の実施形態におけるGUI部品の一例を示す図。
【発明を実施するための形態】
【0012】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0013】
図1は実施形態におけるGUI提示装置の構成を示す図である。実施形態におけるGUI提示装置100は、GUIの表示、生成を行う手段と、アニメーションを生成する手段からなる。GUIの生成、表示を行う手段は、図のGUI設計データ読み込み部101と、GUI生成部102、GUI提示部103から構成される。アニメーションを生成する手段は、アニメーションコマンド受付部104と、差分検出部105、アニメーション生成部106、現在時刻取得部107、表示情報生成部108、及び、ライブラリ150から構成される。
【0014】
GUI設計データ読み込み部101は、後述するメモリからGUI設計データ109を読み込む。GUI設計データ109は、GUIを構成する複数のGUI部品毎のGUI部品情報110を持ち、ハードディスク等の記憶装置(第1の記憶手段)に格納されている。GUI部品110はさらに複数の状態と属性情報の組111を持つ。これらのデータは、ハードディスクやメモリ等の記憶装置に格納されている。
【0015】
GUI生成手段102は、GUI設計データ109を基にGUIを生成し、生成されたGUIはGUI提示手段103により後述する表示装置に表示される。アニメーションコマンド受付部104はGUI部品の状態を変更するためのアニメーションコマンドを受け付け、コマンドに応じて所定の状態差分の検出を差分検出部105に指定する。差分検出部105は、状態が持つ属性間の差分を計算し、差分がある場合はアニメーション生成部106にアニメーション情報の生成を指示する。アニメーション生成部106は指示されたアニメーション情報を生成する。現在時刻取得部107は、不図示のタイマ等から現在時刻を取得する。表示情報生成部108は、アニメーション情報の記述に従い、ライブラリ150(各種アニメーション表示処理に関する描画関数(サブルーチン)を格納している)を利用し、現在時刻を基にGUIを更新する。このライブラリ150はハードディスク装置等の記憶装置(第2の記憶手段)に格納されているものとする。
【0016】
図2は本発明におけるハードウェア構成の一例を示すブロック図である。図中、201はCPUであり、各種処理のための演算や論理判断等を行い、バス206に接続された各構成要素を制御する。本装置には、プログラムメモリとデータメモリを含むメモリが搭載されている。プログラムメモリには、フローチャートにつき後述する処理手順を含むCPUによる制御のためのプログラムを格納する。メモリはROM 202であっても良いし外部記憶装置などからプログラムがロードされるRAM 203であっても良い。204はデータやプログラム(後述するアニメーション表示に係る各種関数を含む)を記憶しておくための不揮発性メモリやハードディスクなどの記憶装置である。本実施形態のGUI提示装置は、記憶装置204に読み込まれたGUI設計データ109を基にGUIの生成を行う。GUI設計データはメモリに記憶されている他に、ネットワークを介して取得してもよい。表示装置205は生成されたGUIを表示する。
【0017】
[第1の実施形態]
以下、上記構成における具体例としての第1の実施形態を説明する。図3は本第1の実施形態におけるGUI提示装置が読み込むGUI設計データが持つGUI部品情報の一例を示す図である。
【0018】
このGUI部品情報300はボタン部品の設計データを表している。GUI部品情報300は複数の状態301と、各状態毎の属性情報302並びに遷移情報303を持つ。
【0019】
状態はGUI部品の図形の一表示形態を表し、属性情報はその特定の状態における図形情報の各項目の表示形態を定義するものである。そして、遷移情報は遷移先の状態及び遷移のアニメーション表示時間を規定する。部品は複数の状態の中で一つ代表状態を持ち、代表状態の属性情報はGUI部品の表示データを構成するための情報も併せて持つ。
【0020】
属性情報302は、属性データと呼称するコロン(:)で区切られた図形番号、属性名、属性値の3つ組を複数持つ形式で表される。図形番号が同じ属性データは、同じ図形に対する属性を表し、属性名及び属性値は、その図形が持つ属性名に対する属性値の指定に対応する。
【0021】
遷移情報は、遷移データと呼称するコロン(:)で区切られた遷移先状態、遷移時間の2つ組を複数持つ形式で表される。遷移先情報には状態遷移によって遷移可能な状態が指定され、遷移時間には遷移時にかかる時間が指定される。
【0022】
図のボタン部品はNormal304、Over305、Down306の3つの状態を持ち、それぞれは通常状態、操作者によるマウスの操作でマウスカーソルがその上に移動した状態、マウスの指示入力によるボタンが押下(クリック)された状態を表わす。そして、各状態304乃至306はそれぞれ図示の符号307、308、309の属性情報と、310、311、312の遷移情報を持つ。また、代表状態としてNormal状態が指定されている。
【0023】
代表状態であるNormal304には、図形番号に1と2を持つ属性データが指定されているため、2つの図形により構成される。
【0024】
図形番号に指定されている属性名shape、 position、 color、 width、 height、 textは、それぞれ図形に対し、図形の種類、位置、色、幅、高さ、ラベルを指定する。例えば1:color:lightgrayは、1の図形の色にlightgrayという色を指定している。代表状態以外の状態(Over305、Down306)の属性情報は、Normal304の属性情報との差分を表す。代表状態以外の状態の図形データは代表状態を基に図形データを生成した後に、代表状態以外の状態の属性情報を指定することで生成される。なお、属性情報において、明示的に記述されていない項目については、遷移前の状態と同じことを示している。
【0025】
Nomal304の遷移情報に指定された遷移情報Over:200msは、Normal状態からOver状態に遷移するのに、200msかかることを示している。同様に、Over状態からNormal状態にも200msかかり、Over状態からDown状態には100msかかることが示されている。そして、Down状態からOver状態には150msかかることを示している。
【0026】
図4はGUI部品300を基に表示図形を生成した際の表示データの一例を示す図である。同図(a)、(b)、(c)はそれぞれNormal状態、Over状態、Down状態のボタン部品の表示データに該当する。各図形の前面に表示された矩形401,403,405はボタン部品の属性情報に指定された図形番頭1を持つ属性データと対応し、背面の矩形402,404,406が図形番号2を持つ属性データに対応する。
【0027】
図5は本第1の実施形態における全体処理(CPU201が実行するプログラム)の流れの一例を示すフローチャートである。本フローチャートを用いて、GUI提示処理の流れを説明する。図において、S501からS510までは各ステップを表す。
【0028】
S501において、プログラムはGUI設計データ109を記憶装置204に読み込み、S502に移行する。S502において、プログラムはGUI設計データが持つGUI部品の代表状態を基にGUI部品の表示データを生成する。
【0029】
図3のボタン部品の場合は、Normal303が代表状態であるため、Normal状態を基に表示データを生成する。S503において、プログラムがプログラムを終了するための終了コマンドを受け付けた場合はS510、受け付けなかった場合はS504に移行する。S510において、プログラムは、GUI部品を削除してGUI提示処理を終了する。また、S504において、プログラムがアニメーションを起動するためのアニメーションコマンドを受け付けた場合はS505、受け付けなかった場合はS507に移行する。
【0030】
アニメーションコマンドは、GUI部品に対して、GUI部品が持つ遷移データを指定する。S505において、プログラムはGUI部品の状態と、遷移データに指定された遷移先状態がそれぞれ持つ属性情報を比較し、S506において、差分がある場合はアニメーション情報を生成してS507に移行する。属性情報の比較は、同じ図形番号と属性名を持つ属性データの属性値間で行われる。例えばボタン部品において、Normal状態のボタン部品に対して遷移データ310のOver:200msを指定した場合は、Normal状態の属性情報307とOver状態の属性情報308の間で比較が行われる。307と308では同じ図形番号及び属性名を持つ、1:positionと1:colorの属性値が比較される。1:position(表示位置を示す座標)は同じ属性値を持っているため、アニメーションは生成されない。1:color(表示色)は異なる属性値を持っているため、アニメーションの対象として決定される。つまり、状態遷移前と状態遷移後で、異な属性値を持つ同じ表示項目の種別を判定し、その判定で得られた項目名に従って、利用するアニメーション処理関数が決まる。
【0031】
S507において、プログラムは現在時刻の取得を行い、S508に移行する。S508において、プログラムはS507で取得した時刻を基に、アニメーション情報を参照し、GUI部品の図形データを更新して、S509に移行する。取得した現在時刻をGUIの時刻としてそのまま使用してもよいし、本実施形態のように、GUIを表示してからの時間に変換して使用してもよい。S509において、S506において生成したアニメーション情報の中で、アニメーション時間を経過したものを削除し、再びS503に戻る。
【0032】
図6に本実施形態におけるS506で生成されるアニメーション情報の一例を示す。アニメーション情報は、アニメーション開始時刻(begin_time)、アニメーション時間(duration)、属性名(attribute)、アニメーション関数名(lightgray_to_white)から構成される。
【0033】
アニメーション開始時刻にはアニメーションが開始する時刻が指定される。アニメーション時間にはアニメーションが開始してから終了するまでにかかる時間が指定される。属性名にはアニメーションによって変更される属性名が指定される。アニメーション関数にはアニメーション中の属性の値を決定するための関数が入る。アニメーション関数は遷移情報を基にあらかじめ生成される。
【0034】
図6では、アニメーション開始時刻はGUI表示後、約13秒(13024ms)が経過していることを示しており、マウスカーソルが着目GUI部品(実施形態ではOKボタン)に移動したことによるアニメーションを200msの期間表示することを示している。また、その際の属性名にはGUI部品の図形の表示色を表すcolor、アニメーション関数にはlightgray_to_white関数が指定されている。
【0035】
このアニメーション情報はGUIのアニメーション表示を開始時(13024ms)してから200ms経過後の13224ms以降に、S509において削除されていることを示している。また、アニメーション情報が存在する間は、GUIの表示時刻を基に、lightgray_to_white関数を用いて属性値が算出され、ボタン部品の図形が徐々に更新されていく。
【0036】
以上のように本第1の実施形態における構成では、状態間の比較をアニメーションコマンド実行開始時に行うことで、それ以降のアニメーション表示期間中は状態間の各項目の比較は行なわい。従って、実行開始時に決定した関数のみを用いて実行するだけで良くなり、CPUに係るアニメーションに係る負担を少なくでき、その分だけアニメーションのパフォーマンスを挙げることができる。
【0037】
また、状態間の比較をアニメーション開始時に行い、属性ごとのアニメーション情報を生成することで、現在時刻を基に図形を表示する際の補間計算を行う必要がなくなる。よって、本発明により、GUI部品のアニメーションを高いパフォーマンスで実現させることが可能となる。また、さらにGUI部品を構成するための構成情報をGUI部品が持つ状態の中で最頻状態である代表状態に持たせることで、構成情報と状態を別々に持つ場合と比べてGUI部品のデータ量を少なくすることができる。
【0038】
[第2の実施形態]
GUI部品では初期状態がGUIを実際に表示する際に決定されるため、設計段階で初期状態を決めることができない。そのため、本第2の実施形態では状態間で最も差分となる属性データが少ない状態を代表状態として持つGUI部品をGUI設計データとして読み込む例を示す。
【0039】
図7は本第2の実施形態において、GUI提示装置が読み込むGUI設計データが持つGUI部品の一例を示す図である。
【0040】
図3とは、代表状態がOver702になっていること、ボタン部品の構成情報がOver702の属性情報704に含まれるところが異なる。各状態が持つ属性情報間を比較したときに、Normal701とOver702の間では属性データ1:positionが異なり、Over702とDown306の間では属性データ1:positionが異なる。また、Normal702とDown306の間では属性データ1:positionと1:colorの2つが異なる。
【0041】
そのため、本第2の実施形態では、状態間の差分が最も少ない状態であるOver状態が代表状態として設定される。
【0042】
以上のように本第2の実施形態おける構成では、第1の実施形態の効果に加えて、GUI部品の代表状態として、他の状態が持つ属性情報と比較して最も差分が少ない状態を選択する。このことによって、GUI部品の初期状態が、いずれの状態であっても、より少ない属性変更で図形の表示が可能となる。
【0043】
[第3の実施形態]
本第3の実施形態では、GUI部品が持つ状態の中で、最も多くの遷移元となる遷移データを持つ状態を代表状態として持つGUI部品をGUI設計データとして読み込む例を示す。図7は本代3の実施形態において、GUI提示装置が読み込むGUI設計データが持つGUI部品の一例を示す図である。
【0044】
各状態が持つ遷移情報を比較した際に、Normal701が遷移元となる遷移データは310の1つ、Over702が遷移元となる遷移データは311の2つ、Down306が遷移元となる遷移データは312の1つ。そのため、本代3の実施形態では、状態の中で最も多く遷移元となる遷移データを持つOver状態が代表状態として設定される。
【0045】
以上のように本代3の実施形態における構成では、第1の実施形態の効果に加えて、GUI部品の代表状態として、状態の中で最も多くの遷移元となる遷移データを持つ状態を選択する。このことによってGUI部品の初期状態として最も選ばれる可能性の高い状態を代表状態として選ぶことができるため、部品の図形表示時により少ない属性変更で図形の表示が可能となる。
【0046】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
GUI部品のアニメーション表示を実行するGUI提示装置であって、
GUI部品毎に、操作者からの指示入力に対する複数の状態と、それぞれの状態毎に該当するGUI部品の表示形態を定義する属性、並びに、状態の遷移に伴うアニメーション表示時間とで構成されるGUI部品情報を記憶する第1の記憶手段と、
複数の表示形態それぞれ用のアニメーション表示処理を行うためのアニメーション関数のライブラリを記憶する第2の記憶手段と、
前記GUI部品を表示する表示手段と、
操作者からの指示入力による、表示されたGUI部品の状態に対する変更の指示を検出する検出手段と、
該検出手段で状態に対する変更の指示が検出されたとき、前記第1の記憶手段を参照して、対象となるGUI部品の状態遷移前と遷移後の間で異なる値を持つ表示形態の種別を判定し、当該種別の表示形態を状態遷移前から遷移後の状態に徐々に変更するためのアニメーション関数と前記対象なるGUI部品のアニメーション時間とを記述したアニメーション情報を生成する生成手段と、
生成されたアニメーション情報に記述されたアニメーション関数を前記第2の記憶手段から読み出し、当該アニメーション情報に記述された遷移情報に従って実行することで、前記対象となるGUI部品のアニメーション表示を行うアニメーション表示手段と
を有することを特徴とするGUI提示装置。
【請求項2】
前記GUI部品情報は、該当するGUI部品を構成する複数の状態のうちの代表状態については全て属性情報を記述し、残りに状態では異なる属性についての差分を記述されることを特徴とする請求項1に記載のGUI提示装置。
【請求項3】
前記代表状態は、表示される状態のうちで最頻の状態であることを特徴とする請求項1又は2に記載のGUI提示装置。
【請求項4】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1乃至3のいずれか1項に記載の各手段として機能させるためのプログラム。
【請求項5】
請求項4に記載のプログラムを格納したことを特徴とするコンピュータは読み取り可能な記憶媒体。
【請求項6】
GUI部品毎に、操作者からの指示入力に対する複数の状態と、それぞれの状態毎に該当するGUI部品の表示形態を定義する属性、並びに、状態の遷移に伴うアニメーション表示時間とで構成されるGUI部品情報を記憶する第1の記憶手段と、
複数の表示形態それぞれ用のアニメーション表示処理を行うためのアニメーション関数のライブラリを記憶する第2の記憶手段とを有し、
GUI部品のアニメーション表示を実行するGUI提示装置の制御方法であって、
表示手段が、前記GUI部品を表示する表示工程と、
検出手段が、操作者からの指示入力による、表示されたGUI部品の状態に対する変更の指示を検出する検出工程と、
生成手段が、該検出工程で状態に対する変更の指示が検出されたとき、前記第1の記憶手段を参照して、対象となるGUI部品の状態遷移前と遷移後の間で異なる値を持つ表示形態の種別を判定し、当該種別の表示形態を状態遷移前から遷移後の状態に徐々に変更するためのアニメーション関数と前記対象なるGUI部品のアニメーション時間とを記述したアニメーション情報を生成する生成工程と、
アニメーション表示手段が、生成されたアニメーション情報に記述されたアニメーション関数を前記第2の記憶手段から読み出し、当該アニメーション情報に記述された遷移情報に従って実行することで、前記対象となるGUI部品のアニメーション表示を行うアニメーション表示工程と
を有することを特徴とするGUI提示装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図4】
image rotate


【公開番号】特開2012−256188(P2012−256188A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−128639(P2011−128639)
【出願日】平成23年6月8日(2011.6.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】