JP5650740B2 - 設計支援装置、設計支援プログラム、設計支援方法、及び集積回路 - Google Patents

設計支援装置、設計支援プログラム、設計支援方法、及び集積回路 Download PDF

Info

Publication number
JP5650740B2
JP5650740B2 JP2012524411A JP2012524411A JP5650740B2 JP 5650740 B2 JP5650740 B2 JP 5650740B2 JP 2012524411 A JP2012524411 A JP 2012524411A JP 2012524411 A JP2012524411 A JP 2012524411A JP 5650740 B2 JP5650740 B2 JP 5650740B2
Authority
JP
Japan
Prior art keywords
gui
frame
processing time
redrawing
drawing processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012524411A
Other languages
English (en)
Other versions
JPWO2012008099A1 (ja
Inventor
光洋 阿曽
光洋 阿曽
秦 秀彦
秀彦 秦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to JP2012524411A priority Critical patent/JP5650740B2/ja
Publication of JPWO2012008099A1 publication Critical patent/JPWO2012008099A1/ja
Application granted granted Critical
Publication of JP5650740B2 publication Critical patent/JP5650740B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、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速度性能、メモリの読み書き性能、及びグラフィックハードウェアの処理性能等)や、ソフトウェアプログラムの構成を、専門的な知識を持たないデザイナが理解することは困難である。
このような問題に対処する従来技術として、例えば、非特許文献1には、GUIが再描画される領域を示す図形を、GUIの表示に重ねて表示することにより、GUI性能の低下要因をデザイナに視覚的に報知するものが知られている。
つまり、GUIをアニメーション表示する場合、フレーム毎に表示画面の全領域が再描画されるのではなく、前フレームと現フレームとの差分画像のみが現フレームで再描画される。そして、この再描画される領域の面積が大きくなるにつれて、GUIの描画処理時間が増大し、GUIの性能が低下する。
そこで、非特許文献1では、再描画される領域の輪郭を、太線を用いて強調表示することにより、GUIの性能とGUIのデザインとの関連性がデザイナに報知されている。そして、非特許文献1において、デザイナは、強調表示された画像から、再描画される領域が広いために、GUIの性能が低下していることを判断して、再描画される領域が狭くなるように、GUIのデザインを変更する。
しかしながら、非特許文献1では、再描画される領域に対する強調表示をGUIの描画更新に伴いGUIに重ねて表示することのみが行われている。そのため、GUIをアニメーション表示した場合、フレームの更新と合わせて再描画される領域の輪郭を示す太線も次々と更新され、どのフレームにおいて描画性能が低下しているかを把握することが困難となる。また、非特許文献1では、再描画する領域の面積をどれくらい縮小すればGUIの性能低下を防止することができるかというような、GUIの改善点を示す情報が全く呈示されない。そのため、ユーザはGUIの改善点を速やかに把握することができない。
ActionScript 3.0Language and Components Reference
本発明の目的は、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性能管理テーブルのデータ構造の一例を示した図である。 図4に示す属性情報にしたがって描画されたフレームを示している。 (A)は再描画領域の一例を示した図である。(B)は目標再描画領域が表示されたフレームを示した図である。 本発明の実施の形態による設計支援装置の処理を示すフローチャートである。 再描画領域の拡大要因となったために強調表示されたGUI部品を示している。
以下本発明の実施の形態について、図面を参照しながら説明する。図1は、本発明の実施の形態における設計支援装置30が適用されたデジタル機器1のブロック図である。設計支援装置30は、デジタル機器1において実行されるGUIの設計を支援する装置である。したがって、設計支援装置30をGUIの設計対象となるデジタル機器1とは別のコンピュータに実装し、このコンピュータを用いてデザイナ等の専門ユーザにより設計されたGUIをデジタル機器1に実装する態様が考えられる。
また、GUIの設計対象となるデジタル機器1に設計支援装置30を実装し、専門ユーザがGUIを設計する態様も考えられる。また、デジタル機器1を購入した一般ユーザが自身の好みのGUIを設計する態様も考えられる。
本発明は、これら全ての態様が含まれることを想定しており、以下の説明では、デジタル機器1に設計支援装置30を実装し、一般ユーザ又は専門ユーザがGUIを設計することを例に挙げて説明する。
図1に示すデジタル機器1は、入力装置10、表示装置20、及び設計支援装置30を備えている。設計支援装置30は、入力処理部31、描画処理部32、属性情報管理部33、属性情報記憶部34、GUI性能管理部35、GUI性能情報記憶部36、再描画領域表示部37、表示更新部38、及び目標再描画領域表示部39を備えている。
入力装置10は、キーボード、マウス、リモコン、及びタッチパネル等の入力装置により構成され、表示装置20の画面上に表示されたGUIを構成するGUI部品を操作するためにユーザから入力される種々の操作指令、及びGUIを設計するためにユーザから入力される種々の操作指令等を受け付ける。
具体的には、入力装置10は、ユーザからの操作指令を受け付けると、受け付けた操作指令の種別を示す入力イベントを入力処理部31へ通知する。ここで、入力イベントとしては、例えば、キーボードやリモコンのボタンが押されたことを示す入力イベント及びマウスポインタをある座標に移動させたことを示す入力イベント等が該当する。
入力処理部31は、入力装置10からGUIのアニメーション表示を開始させるためのボタンが押されたことを示す入力イベントを受け取ると、描画処理部32に対して、GUIの描画処理を開始させるための描画開始指示A1を通知する。
描画処理部32は、入力処理部31から描画開始指示A1が通知されると、属性情報管理部33から各フレームにおける属性情報TBを取得して、取得した属性情報TBにしたがって、時系列的に前後するフレームの差分画像を再描画することでGUIをアニメーション表示する。具体的には、描画処理部32は、描画開始指示A1が通知されると、属性情報取得依頼A2を属性情報管理部33に通知して属性情報TBを取得し、以後、フレーム周期が経過する毎に、属性情報取得依頼A2を属性情報管理部33に通知して属性情報TBを取得し、取得した属性情報TBにしたがって、差分画像を求め、差分画像を再描画する。なお、本実施の形態では、描画処理部32は、描画指令を表示更新部38に通知することで、GUIを表示装置20に表示させる。
図2は、設計支援装置30により描画されるGUIの一例を示した図であり、(A)は表示装置20に表示されるGUIのアニメーションの初期のフレームF(S)を示し、(B)は表示装置20に表示されるアニメーションの最終のフレームF(E)を示している。なお、図2で示すGUIは、デジタル機器1において、ユーザが写真画像を閲覧するスライドショー機能を実行する際に表示装置20に表示されるGUIである。
図3は、属性情報記憶部34が記憶する属性情報のデータ構造の一例を示した図であり、(A)はGUIの初期のフレームF(S)における属性情報TB(S)を示し、(B)はGUIの最終のフレームF(E)における属性情報TB(E)を示している。
以下、図2のGUIの動作と、図3の属性情報との関係を説明する。図2(A)、(B)に示すフレームF(S),F(E)は、表示装置20の備える画面201の例えば左上端を原点として、右方向をX軸の正方向とし、下方向をY軸の正方向とするXY座標系を用いて各画素の位置が規定されている。なお、以降の説明においては、画面201は、X軸方向に例えば1920個の画素が配列され、Y軸方向に例えば1080個の画素が配列されているものとする。また、画面201のX軸方向の長さを幅、Y軸方向の長さを高さと定義する。
図2(A)に示すフレームF(S)の属性情報は図3(A)に示す属性情報TB(S)で定義され、図2(B)に示すフレームF(E)の属性情報は図3(B)に示す属性情報TB(E)で定義されている。つまり、描画処理部32は、フレームF(S)を描画する場合は属性情報TB(S)を参照し、フレームF(E)を描画する場合は属性情報TB(E)を参照するのである。
図3(A)、(B)に示す属性情報TB(S),TB(E)は、2次元のテーブル形式のデータ構造を有し、フレームF(S),F(E)のそれぞれを構成する各GUI部品の表示位置等を定義するための情報である。
属性情報TB(S),TB(E)は、「部品ID」、「重なり順」、「部品種別」、「表示位置」、「表示サイズ」、及び「透過度」をそれぞれ格納するフィールドを備えている。「部品ID」は、GUI部品を特定するための識別情報であり、各GUI部品に対して一意的に割り付けられた数値により構成されている。
「重なり順」は、GUI部品同士が重なった場合にどちらを優先的に表示させるかを示す情報である。本実施の形態では、「重なり順」は数値が大きいほど画面201で手前(ユーザ側)に表示するように定義されている。なお、「重なり順」が同じ値であるGUI部品は、表示位置が重ならないように定義される。
「部品種別」は、GUI部品の表示態様及び発生するイベントの特徴から区分けされるGUI部品の種類を示す情報であり、ボタン、文字、画像、テキスト等が含まれている。
「表示位置」はGUI部品の画面201における表示位置を示し、図3の例では、X軸上の値とY軸上の値とからなる2次元の座標データが採用されている。なお、図3の例では、表示位置は、GUI部品が矩形状である場合、このGUI部品の左上の位置を示すものとする。また、図3に示す表示位置は、GUI部品が円形又は楕円形である場合、このGUI部品の中心の位置を示すものとする。
「表示サイズ」は、GUI部品のサイズを示す情報であり、図3の例では、幅(w)と、高さ(h)とによってサイズが規定されている。なお、図3に示すGUI部品は全て矩形状であるため、幅と高さとを用いてサイズを規定することができるが、円形状のGUI部品を採用する場合は半径によりサイズが定義され、楕円形状のGUI部品を採用する場合は短軸及び長軸によってサイズが定義される。
「透過度」は、GUI部品を半透明で描画するか否かを示す数値であり、本実施の形態では、透過度=1を非透明、透過度=0を透明と定義している。なお、透過度が0の場合、GUI部品は全く描画されず、画面に表示されない。また、透過度が0<透過度<1の場合を半透明と定義する。「透過度」が半透明のGUI部品は、背景画像が透けて見えるように描画される。また、透過度が半透明のGUI部品は、背景側に「重なり順」の数値が小さいGUI部品が重畳して配置されている場合、そのGUI部品が透けて見えるように描画される。
なお、GUI部品を半透明で描画する手法としては、例えばアルファブレンディングを採用すればよい。アルファブレンディングでは、GUI部品の背景に配置されたGUI部品又は背景画像のR,G,Bの輝度値と、GUI部品のR,G,Bの輝度値とが、「透過度」で示される割合で混合されてGUI部品が描画される。
図3(A)に示す属性情報TB(S)では、「部品ID」が「3202」〜「3207」の6個のGUI部品が定義されている。「部品ID」が「3202」のGUI部品は、図2(A)に示すボタンB1に対応している。「部品ID」が「3205」〜「3207」の3つのGUI部品は、図2(A)に示す画像G1〜G3に対応している。なお、属性情報TB(S)では、「部品ID」が「3203」のボタンのGUI部品と部品IDが「3204」の文字のGUI部品とは、「透過度」がそれぞれ0.0であるため、図2(A)で表示されていない。
図3(B)に示す属性情報TB(E)も、図3(A)に示す属性情報と同一の6個のGUI部品が定義されている。但し、属性情報TB(E)では、「部品ID」が「3202」のGUI部品の「透過度」が0.0となり、「部品ID」が「3203」のGUI部品の「透過度」が1.0となっている。そのため、図2(B)においては、図2(A)で表示されていたボタンB1が非表示とされ、代わりにボタンB2が表示されている。
また、属性情報TB(E)では、「部品ID」が「3204」のGUI部品の透過度が1.0となっている。そのため、図2(A)では表示されていなかった文字TXのGUI部品が図2(B)では表示されている。
なお、図2(A)に示すボタンB1は、「再生」ボタンであり、ユーザによりボタンB1が操作されると、描画開始指示A1が出力され、GUIのアニメーション表示が開始される。図2(A)、(B)の例では、図2(A)に示す画像G3が、図2(B)に示す画像G3のサイズになるまで徐々に、拡大表示されていくアニメーションが採用されている。
なお、GUI部品は、上記の属性情報TB(S),TB(E)、及び、ユーザにより操作されたときに発生するイベント等が、デジタル機器1上で実行可能な形式(例えば、プログラム)で定義される。
図1に戻り、属性情報管理部33は、属性情報記憶部34に記憶された属性情報TBを管理する。具体的には、属性情報管理部33は、描画処理部32から属性情報取得依頼A2が通知される毎に、属性情報記憶部34に記憶されている属性情報TBに対して所定の補間処理を実行し、i(iはフレーム番号を規定するためのインデックス)番目のフレームにおける属性情報TB(i)を算出し、描画処理部32に渡す。
本実施の形態では、属性情報記憶部34には、GUIの初期の属性情報TB(S)と、最終の属性情報TB(E)とが格納されている。したがって、属性情報管理部33は、アニメーションが開始されてからの経過時間ΔTと、アニメーションが開始されてから終了されるまでの所定の表示時間TTとを用いて、属性情報TB(S),TB(E)を補間することで、属性情報TB(i)を算出する。ここで、補間処理としては、経過時間ΔTが増大するにつれて属性情報TB(E)に近づいていき、かつ、表示時間TTの経過時に属性情報TB(E)になるという条件が満たされる限り、どのような補間処理が採用されてもよく、例えば線形補間、ベジェ補間が採用される。
具体的には、属性情報管理部33は、初期のフレームを表示するための属性情報取得依頼A2が描画処理部32から通知されると、属性情報TB(S)を描画処理部32に渡す。これにより、図2(A)に示すフレームF(S)が描画される。
次に、ボタンB1が操作され描画開始指示A1が通知されると、描画処理部32は、経過時間ΔTの計時を開始すると共に、属性情報取得依頼A2を属性情報管理部33に渡す。
次に、属性情報管理部33は、属性情報取得依頼A2を受け取り、属性情報TB(S)と属性情報TB(E)とを比較し、「表示位置」又は「表示サイズ」が変化しているGUI部品をアニメーション対象のGUI部品として特定する。図3(A)、(B)の例では、「部品ID」が「3207」のGUI部品(画像G3)が、「表示位置」及び「表示サイズ」が変化しているため、アニメーション対象のGUI部品として特定される。
そして、属性情報管理部33は、属性情報TB(S),TB(E)の表示位置の差分と表示サイズの差分とのそれぞれに対して、ΔT/TTを乗じることで、画像G3の補間表示位置と補間表示サイズとを線形補間により求める。そして、属性情報管理部33は、求めた補間表示位置と補間表示サイズとを属性情報TB(i)の「部品ID」が「3207」のレコードの「表示位置」及び「表示サイズ」のフィールドに格納し、描画処理部32に渡す。以後、属性情報管理部33は、属性情報取得依頼A2が通知される毎に、上記の処理を実行して補間表示位置と補間表示サイズとを求め、属性情報TB(i)に格納して描画処理部32に渡す。以上により、画像G3が属性情報TB(S)で定義される「表示位置」及び「表示サイズ」から属性情報TB(E)で定義される「表示位置」及び「表示サイズ」に向けて滑らかに変化するようにアニメーション表示される。
図1に戻り、属性情報記憶部34は、例えば書き換え可能な不揮発性の記憶装置により構成され、属性情報TB(S),TB(E)を予め記憶している。
GUI性能管理部35は、目標再描画領域表示部39が計測した各フレームの描画処理時間TSを、各フレームにおける属性情報TBと関連づけて記憶するGUI性能管理テーブルTBSを生成し、生成したGUI性能管理テーブルTBSをGUI性能情報記憶部36に記憶させ、GUI性能管理テーブルTBSを管理する。
図4は、GUI性能管理テーブルTBSのデータ構造の一例を示した図である。図4に示すGUI性能管理テーブルTBSは、「経過時間」、「リンク情報」、及び「性能値」がそれぞれ格納されるフィールドを備えている。
「経過時間」はアニメーション表示を開始してからの経過時間ΔT(msec)を示している。「リンク情報」は「経過時間」のフィールドに格納された経過時間ΔTのフレームを描画する際に用いられた属性情報を特定するための属性情報IDを示している。図4の例では「属性情報ID」が30011であるため、属性情報IDとして30011が付与された属性情報TBに対して、「性能値」のフィールドに格納された描画処理時間TSが対応付けられている。
「性能値」は経過時間ΔTが経過した時に描画されたフレームに対して、目標再描画領域表示部39により計測された描画処理時間TSを示している。図4の例では、「性能値」が30msecであるため、経過時間ΔTにおいてフレームを描画するのに、30msecを要したことが分かる。
なお、GUI性能管理部35は、目標再描画領域表示部39から描画処理時間TSの保存要求A3が通知された際に、描画処理時間TSに対応する属性情報TBを属性情報管理部33から取得し、取得した属性情報TBに属性情報IDを付与することで、GUI性能管理テーブルTBSを生成する。
ここで、属性情報IDは、各属性情報TBに対して一意的に割り付けられた数値が採用され、経過時間ΔTが増大するにつれて大きな数値が割り付けられる。
なお、保存要求A3は、描画処理時間TSが計測される毎に目標再描画領域表示部39から通知され、GUI性能管理部35は、保存要求A3が通知される毎にGUI性能管理テーブルTBSを更新する。したがって、図4に示すGUI性能管理テーブルTBSは、アニメーションが開始されてから終了されるまでに描画されるフレーム数分生成される。これにより、経過時間ΔT、描画処理時間TS、及び属性情報TBが関連付けられた情報が時系列で記憶されたGUI性能管理テーブルTBSが生成される。その結果、ユーザは、後から各フレームの描画処理時間と属性情報とを照らし合わせることが可能となり、GUIの改善点を特定する際に便利な情報を提供することができる。
図5は、図4に示す属性情報TBにしたがって描画されたフレームを示している。図4に示す属性情報TBでは、部品IDが3207のGUI部品(画像G3)の「表示位置」が「480,280」であり、「表示サイズ」が「520,360」とされている。つまり、画像G3の補間表示位置が「480,280」、補間表示サイズが「520,360」と算出されている。よって、図5に示す画像G3は、左上の位置が「480,280」の座標に位置し、かつ、幅が520、高さが360で表示されている。
なお、図5では、「停止」ボタンであるボタンB2が表示されている。これは、アニメーションが開始されると、「再生」ボタンに代えて「停止」ボタンを表示するように予めプログラムが作成されており、属性情報管理部33がそのプログラムにしたがって、属性情報TB(S)において1.0であったボタンB1の透過度を0.0に変更し、属性情報TB(S)において0.0であったボタンB2の透過度を1.0に変更して、図4に示す属性情報TBを生成したからである。
図1に戻り、再描画領域表示部37は、各フレームにおいて描画処理部32により再描画された領域に基づいて再描画領域SDを設定し、設定した再描画領域SDを示す画像をGUIに重畳して表示する。図6(A)は再描画領域SDの一例を示した図である。図6(A)において、画像G3(i)は現フレームである第i番目のフレームF(i)において描画された画像G3を示し、画像G3(i−1)はフレームF(i)の1つ前のフレームF(i−1)において描画された画像G3を示している。
図6(A)の例では、時間が増大するにつれて、画像G3が画面201の右斜め下に移動すると同時に拡大表示されるアニメーションが採用されている。この場合、描画処理部32は、画像G3(i)を描画すると同時に、画像G3(i−1)の移動により、新たに表示される背景(色や画像等)と画像G2の一部とを描画する必要がある。
つまり、画像G3(i−1)を移動させて画像G(i)を表示する場合、画像G3(i−1)の消去処理が発生するが、このとき、画像G(i−1)の消去により露出する画像G2の部分の描画や、画像G3(i−1)の消去により露出する画像G2以外の背景(色や画像)の部分の描画を行う必要がある。
したがって、再描画領域表示部37は、画像G3(i)と画像G3(i−1)とに外接する図形である外接矩形をフレームF(i)における再描画領域SDとして設定する。
なお、再描画領域SDの描画処理としては、画像G3(i)+画像G2の部分+背景の部分」というように最小限の描画だけを行う処理や、再描画領域SD内の画像G2,G3(i−1)を消去した後、画像G3(i)及び画像G2の部分の描画を行う処理等が挙げられる。
そして、再描画領域表示部37は、設定した再描画領域SDの輪郭を強調表示する画像をフレームF(i)に重畳表示させる。図6(A)の例では、再描画領域SDを示す画像として再描画領域SDの輪郭を太線で示す矩形画像SQ1が採用されている。なお、再描画領域表示部37は、GUIの各フレームに矩形画像SQ1を重畳表示してもよいし、後述する超過フレームに対してのみ矩形画像SQ1を重畳表示してもよい。
なお、再描画領域表示部37は、再描画領域SDを示す矩形画像SQ1を重畳表示するための描画指令を表示更新部38に通知することで、再描画領域SDを各フレーム又は超過フレームに重畳表示させる。
図1に戻り、目標再描画領域表示部39は、描画処理部32によりGUIのフレームが更新される毎に、更新されたフレームの描画処理時間TSを計測し、計測した描画処理時間TSが所定の基準処理時間TRを超過した場合、基準処理時間TR以内で描画可能な目標再描画領域MDを算出し、算出した目標再描画領域MDを示す画像を、描画処理時間TSが基準処理時間TRを超えたフレームである超過フレームに重畳して表示する。ここで、基準処理時間TRとしては、例えば、GUIを実行するハードウエアの描画処理能力に基づいて、GUIを滑らかにアニメーション表示することができる予め定められた時間を採用することができる。
また、目標再描画領域表示部39は、描画処理時間TSを算出する毎に、描画処理時間TSをGUI性能管理テーブルTBSに記憶させるための保存要求A3をGUI性能管理部35に通知する。以下、フレームF(i)が超過フレームであるとして説明する。
図6(B)は目標再描画領域MDが表示されたフレームを示した図である。図6(B)に示す点線で囲まれた領域が目標再描画領域MDである。ここで、目標再描画領域MDは、近似的には下記の式(1)によって定義することができる。
目標再描画領域MD×定数β=基準処理時間TR・・・(1)
ここで、定数βは、式(2)で表される。
定数β=1/単位時間当たりの描画処理面積・・・(2)
なお、式(2)に示す単位時間あたりの描画処理面積としては、単位時間(例えば、1秒間)あたりに、描画処理部32が描画することができる画素数として予め与えられた値が採用されている。
そして、目標再描画領域表示部39は、式(1)により得られた目標再描画領域MDが再描画領域SDと相似であるとして、目標再描画領域MDの幅MD_w及び高さMD_hを算出する。
そして、目標再描画領域表示部39は、幅MD_w及び高さMD_hを有する目標再描画領域MDの輪郭を強調表示する画像をフレームF(i)に重畳させる。図6(B)の例では、目標再描画領域MDを示す画像として目標再描画領域MDの輪郭を点線で示す矩形画像SQ2が採用されている。ここで、目標再描画領域表示部39は目標再描画領域MDの左上の頂点が再描画領域SDの左上の頂点に位置するように、フレームF(i)に目標再描画領域MDを設定している。但し、これは一例であり、目標再描画領域表示部39は、目標再描画領域MDの中心が再描画領域SDの中心に位置するように、フレームF(i)に目標再描画領域MDを設定してもよいし、目標再描画領域MDの左下、右上、又は右下の頂点が再描画領域SDの左下、右上、又は右下の頂点に位置するように目標再描画領域MDを設定してもよい。
このように、フレームF(i)において目標再描画領域MDが表示されるため、ユーザは、再描画領域SDをどの程度縮小すれば、フレームF(i)の描画処理時間TSを基準処理時間TR以下にすることができるのかを容易に認識することができる。これにより、GUIを実行するハードウエアやソフトウエアの専門的知識を持たないユーザであっても、GUIの改善点を速やかに認識し、滑らかにアニメーション表示させることのできるGUIを容易に設計することができる。
また、目標再描画領域表示部39は、描画処理時間TSが基準処理時間TRを超過した場合、超過フレームF(i)よりも後のフレームF(i+1),F(i+2),・・・の描画処理部32による描画処理を停止させる。
これにより、GUIをアニメーション表示した場合に、超過フレームF(i)が検出されると、超過フレームF(i)が画面201に表示された状態でアニメーションが停止される。そのため、ユーザは、どのフレームが超過フレームF(i)であるかを容易に認識することができる。また、超過フレームF(i)が停止表示され、そこには、矩形画像SQ1,SQ2が表示されているため、ユーザは超過フレームF(i)を再設計する際にどの程度、再描画領域SDを縮小すればよいかを容易に認識することができる。
また、目標再描画領域表示部39は、描画処理時間TSが基準処理時間TRを超えた場合、超過フレームF(i)における再描画領域SD(i)がフレームF(i−1)における再描画領域SD(i−1)よりも拡大しているか否かを判定する。そして、目標再描画領域表示部39は、再描画領域SD(i)が拡大していると判定した場合、再描画領域SD(i)の拡大要因となったGUI部品を抽出し、抽出したGUI部品を超過フレームF(i)において強調表示する。
これにより、ユーザは、超過フレームを再設計する際にどのGUI部品の表示態様を変更すれば、再描画領域SD(i)を縮小できるかを容易に認識することができる。
図8は、再描画領域SDの拡大要因となったために強調表示されたGUI部品を示している。図8に示すように、目標再描画領域表示部39は、フレームF(i−1)における再描画領域SD(i−1)と、再描画領域SD(i)とを比較する。そして、目標再描画領域表示部39は、再描画領域SD(i)の面積が再描画領域SD(i−1)の面積よりも大きい場合、再描画領域SD(i)が拡大していると判定する。
そして、目標再描画領域表示部39は、再描画領域SD(i)において、再描画領域SD(i−1)からはみ出している領域HDを抽出する。図8の例では、網点を付したL字状の領域が領域HDとして抽出されている。
そして、目標再描画領域表示部39は、領域HD内に描画され、かつ、少なくとも輪郭の一部が再描画領域SD(i)に内接しているGUI部品を再描画領域SD(i)の拡大要因となったGUI部品として抽出する。図8の例では、画像G3(i)が拡大要因となったGUI部品として抽出されている。
そして、目標再描画領域表示部39は、拡大要因となったGUI部品である画像G3(i)の輪郭を強調表示する画像をフレームF(i)に重畳表示させる。図8の例では、画像G3(i)の輪郭を太線で示す矩形画像SQ3が強調表示する画像として採用されている。
なお、図6(B)に示す矩形画像SQ1,SQ2と図8に示す矩形画像SQ3とを同時に表示すると、表示が紛らわしくなってしまうため、矩形画像SQ1〜SQ3をそれぞれ異なる色で表示することが好ましい。
また、目標再描画領域表示部39は、描画処理時間TSが基準処理時間TRを超えた場合、超過フレームF(i)に対応する属性情報TB(i)と、超過フレームF(i)より1つ前のフレームF(i−1)に対応する属性情報TB(i−1)とを比較し、透過度が非透明から半透明に変化したGUI部品を抽出し、抽出したGUI部品を超過フレームF(i)において強調表示してもよい。
図2(B)に示すボタンB2の透過度がフレームF(i−1)から超過フレームF(i)に亘って、1.0から0.5に変化したとする。
この場合、目標再描画領域表示部39は、超過フレームF(i)において、ボタンB2を強調表示する。ここで、目標再描画領域表示部39は、例えばボタンB2の輪郭を太線で囲む、ボタンB2の色を通常の色とは異なる色で表示させる等して、ボタンB2を強調表示すればよい。
GUI部品を非透明から半透明に変える場合、GUI部品の背景画像やGUI部品の背後のGUI部品の画像データに対して画像処理を実行する必要がある等の理由から、描画処理時間TSを大きく増大させる虞がある。そこで、本実施の形態では、超過フレームF(i)において、非透明から半透明に変化したGUI部品が存在する場合、そのGUI部品を強調表示させている。これにより、ユーザは、GUIの設計変更を行う際にどのGUI部品の表示態様を変更すれば、描画処理時間TSが基準処理時間TRを下回るかを容易に認識することができる。
目標再描画領域表示部39は、描画処理時間TSが基準処理時間TRを超えた場合、超過フレームF(i)に対応する属性情報TB(i)と、フレームF(i−1)に対応する属性情報TB(i−1)とを比較し、超過フレームF(i)において新たに描画されたGUI部品を抽出し、抽出したGUI部品を超過フレームにおいて強調表示してもよい。
例えば、フレームF(i−1)から超過フレームF(i)に変化する際に、新たにボタンのGUI部品が追加表示されるように属性情報TB(i)に記述されていたとすると、目標再描画領域表示部39は、超過フレームF(i)においてこのボタンを強調表示させる。ボタンの強調表示の態様としては、ボタンの輪郭を太線で囲む、ボタンの色を通常の色とは異なる色で表示させる等の態様を採用することができる。ここで、目標再描画領域表示部39は、属性情報TBに含まれる「部品ID」に着目して、新たなGUI部品が追加されたか否かを判定すればよい。
また、目標再描画領域表示部39は、描画処理時間TSが基準処理時間TRを超過した場合、描画処理時間TSと基準処理時間TRとの差分を基に、削減するべき描画面積の大きさを示す目標削減領域DDを算出する。ここで、目標削減領域は、式(3)により定義される。
目標削減領域DD=(描画処理時間TS―基準処理時間TR)×(1/定数β)・・・(3)
なお、1/定数β=単位時間当たりの描画面積である。
ここで、描画処理時間TSは、式(4)により表される。
描画処理時間TS=再描画された個々のGUI部品の描画面積の総和SB×定数β・・・(4)
図6(A)に示す再描画領域SD内において、画像G(i)以外の領域に別のGUI部品が新たに追加されていたとする。この場合、式(4)に示す個々のGUI部品の描画面積の総和SBは、画像G3(i)+新たなGUI部品の面積となる。
なお、描画処理時間TSとしては、式(4)で算出したものに代えて、目標再描画領域表示部39により計測された描画処理時間TSを採用してもよい。
目標削減領域DDの表示態様としては、例えば、図6(B)に示すように、目標削減領域DDの輪郭を太線で示す矩形画像SQ4を採用すればよいが、目標再描画領域MD等との差別化を図るために、矩形画像SQ4を矩形画像SQ1〜SQ3とは異なる色で表示することが好ましい。
また、矩形画像SQ4の表示位置としては、矩形画像SQ2と同様、再描画領域SDの左上、右上、左下、又は右下の頂点に位置するように表示してもよいし、再描画領域SDの中心に位置するように表示してもよい。
このように目標削減領域DDを表示することで、ユーザはGUIを再設計する際、再描画領域SDを過度に縮小することを防止することができる。
なお、目標再描画領域表示部39は、再描画領域表示部37に、矩形画像SQ2〜SQ4を描画するための描画依頼を再描画領域表示部37に出力することで、矩形画像SQ2〜SQ4を超過フレームF(i)に重畳表示させる。なお、再描画領域表示部37は、目標再描画領域表示部39から矩形画像SQ2〜SQ4の描画依頼が出力されると、その描画依頼に応じた描画指令を表示更新部38に通知し、矩形画像SQ2〜SQ4を描画させる。
図1に戻り、表示更新部38は、描画バッファを含み、描画処理部32からの描画指令にしたがって、GUIを構成するフレームの画像データを所定のフレームレートで描画バッファに順次書き込むことで、GUIを表示装置20に表示させる。
また、表示更新部38は、再描画領域表示部37からの描画指令にしたがって、各フレーム又は超過フレームを書き込んだ描画バッファに矩形画像SQ1を書き込むことで、矩形画像SQ1を重畳表示させる。また、表示更新部38は、再描画領域表示部37からの描画指令にしたがって、超過フレームを書き込んだ描画バッファに矩形画像SQ2〜SQ4を書き込むことで、超過フレームに矩形画像SQ2〜SQ4を重畳表示させる。
表示装置20は、例えば、液晶パネル、プラズマパネル等の表示装置から構成され、表示更新部38により描画バッファに書き込まれた画像データを画面201に表示する。
以上、本発明の実施の形態による設計支援装置30の構成を説明した。続いて、本発明の実施の形態による設計支援装置30の処理について説明する。図7は、本発明の実施の形態による設計支援装置30の処理を示すフローチャートである。
このフローチャートでは、図2(A)に示すフレームF(S)からフレームF(E)に向けて所定のフレームレートで画像G3が拡大表示されるアニメーションを例に挙げて説明する。
まず、入力装置10を用いて、ユーザが図2に示すボタンB1に対して、入力操作を行う(ステップS1でYES)。すると、入力処理部31が、入力イベントを受け取り、描画開始指示A1を描画処理部32に出力する。これにより、ステップS2以降の処理が開始される。一方、ボタンB1に対して入力操作が行われない場合(ステップS1でNO)処理がステップS1に戻され、ステップS2以降の処理が開始されない。
次に、描画処理部32は、フレームF(i)の描画処理の開始時刻に到達した場合(ステップS2でYES)、フレームF(i)の描画処理を開始することを目標再描画領域表示部39に通知する。この通知を受けた目標再描画領域表示部39は、描画処理時間TSの計時を開始する(ステップS3)。
本実施の形態では、描画処理部32は、所定のフレーム周期でGUIの各フレームを順次に描画する。そのため、描画処理部32は、フレームF(i−1)の描画処理の開始時刻からフレーム周期が経過してフレームF(i)の描画タイミングになったとき、ステップS2でYESと判定する。
次に、描画処理部32は、属性情報管理部33に対して、フレームF(i)に対する属性情報取得依頼A2を通知して、フレームF(i)に対応する属性情報TB(i)を取得し(ステップS4)、属性情報TB(i)と属性情報TB(i−1)とから差分画像を特定し、この差分画像を描画するための描画指令を表示更新部38に出力することでフレームF(i)を描画する。ここで、属性情報TB(i)は、属性情報TB(S)と属性情報TB(E)とに対して上述した補間処理を実行することで算出される。
次に、描画処理部32はフレームF(i)の描画が終了すると、描画処理の完了通知を目標再描画領域表示部39に出力し、この通知を受けた目標再描画領域表示部39は、描画処理時間TSの計測を終了する(ステップS5)。
次に、目標再描画領域表示部39は、保存要求A3をGUI性能管理部35に通知し、GUI性能管理部35は、図4に示すように、計測されたフレームF(i)の描画処理時間TSと、フレームF(i)に対応する属性情報TB(i)とを関連付けてGUI性能管理テーブルTBSに追加し、描画処理時間TSを保存する(ステップS6)。
次に、再描画領域表示部37は、描画処理部32により再描画された差分画像に基づいて再描画領域SDを設定し、再描画領域SDを示す矩形画像SQ1を描画するための描画指令を表示更新部38に出力することで、フレームF(i)に矩形画像SQ1を重畳表示させる(ステップS7)。これにより、図6(A)に示すような矩形画像SQ1が画面201に表示される。
次に、目標再描画領域表示部39は、フレームF(i)の描画処理時間TSが基準処理時間TRより大きいか否かを判定し、描画処理時間TSが基準処理時間TRより大きい場合(ステップS8でYES)、フレームF(i+1)以降の描画処理の停止指示を描画処理部32に出力する。
一方、描画処理時間TSが基準処理時間TR以下である場合(ステップS8でNO)、処理がステップS2に戻され、次のフレームに対する描画処理が行われる。
次に、描画処理部32は、目標再描画領域表示部39からの描画処理の停止指示を受け、フレームF(i+1)以降の描画処理を停止する(ステップS9)。
次に、目標再描画領域表示部39は、式(1)を用いて目標再描画領域MDを算出し、式(3)を用いて目標削減領域DDを算出し、図6(B)に示す矩形画像SQ2,SQ4、及び図8に示す矩形画像SQ3をフレームF(i)に重畳表示させる(ステップS10)。
このように、設計支援装置30によれば、描画処理時間TSが基準処理時間TRより大きい場合、アニメーションが停止され、目標再描画領域MDを示す矩形画像SQ2が超過フレームに重畳して表示される。つまり、基準処理時間TRを満たす領域のサイズを示す目標再描画領域MDが視覚化されて表示される。
従って、GUIデザイナのような、描画処理時間TSを決定づける要因について専門的知識のないユーザであっても、目標再描画領域MDを参考にして、描画処理時間TSが基準処理時間TRを満たすようにGUIを再設計することが可能となる。
また、設計支援装置30によれば、描画処理時間TSが基準処理時間TRを満たすために削減すべき領域のサイズを示す目標削減領域DDが視覚化して表示される。従って、ユーザは、目標削減領域DDを目安にして、個々のGUI部品の面積をどの程度縮小すればよいかを知ることができ、GUI部品を過剰に縮小するような再設計を防止することができる。
なお、上記説明では、目標再描画領域表示部39は、超過フレームにおいて、「部品ID」に着目して新たに描画されたGUI部品を抽出したが、これに限定されず、「透過度」が透明(透過度=0.0)から、半透明(0<透過度<1)又は非透明(透過度=1.0)に変化したGUI部品を、新たに描画されたGUI部品として抽出してもよい。
また、目標再描画領域表示部39は、超過フレームにおいて、描画処理時間TSの増加要因となったGUI部品が複数存在する場合、GUI部品の輪郭を示す矩形画像の色をそれぞれ異なる色にしたり、網掛けの種類を異なる種類にしたり、輪郭を示す線種を異なる線種にすることが好ましい。
また、超過フレームにおいて、要因1(再描画領域SDの拡大に寄与しこと)により抽出されたGUI部品と、要因2(透過度が非透明(透過度=1.0)から半透明(0<透過度<1)に変化したこと)により抽出されたGUI部品と、要因3(新たに追加されたこと)により抽出されたGUI部品とが混在する場合、これらのGUI部品を要因別に区別して表示することが好ましい。要因別に区別して表示する手法としては、上記のGUI部品が複数存在する場合に挙げた手法を用いればよい。
これにより、ユーザは、描画処理時間TSが基準処理時間TRを超えた原因を一目で理解することができる。
また、目標再描画領域表示部39は、超過フレームにおいて、抽出した1つのGUI部品が、要因1〜3のうち複数の要因により抽出したGUI部品である場合、複数の要因が全て分かるような表示態様でGUI部品を強調表示することが好ましい。
例えば、図8において、画像G3(i)は要因1に該当するため強調表示されているが、同時に透明度が非透明から半透明に変化した場合、要因2にも該当することになる。この場合、画像G3(i)を要因1だけではなく要因2にも該当していることが分かるように、画像G3(i)を強調表示することが好ましい。
例えば、1つの要因にだけ該当するGUI部品は輪郭を強調表示し、2つの要因が該当するGUI部品は網掛け表示により強調表示すればよい。
また、目標再描画領域表示部39は、超過フレームにおいて、抽出した1つのGUI部品が複数の要因に該当する場合、当該GUI部品を強調表示すると共に、当該GUI部品の近傍に吹き出し型の図形を表示し、吹き出し型の図形の中に、要因を示すテキストを表示してもよい。例えば図6(A)に示す画像G3(i−1)が画像G3(i)に拡大し、かつ、透過度が非透明から半透明に変化した場合、画像G3は、要因1と要因2との2つの要因に寄与したことになる。
この場合、要因を示すテキストとして、画像G3(i−1)の近傍に吹き出し型の図形を表示し、その中に「幅・高さが増加した」、「半透明化した」等の要因1、2を示すテキストを表示すればよい。
また、目標再描画領域表示部39は、超過フレームにおいて、複数のGUI部品が要因1〜3のいずれかに該当するものとして抽出した場合、各GUI部品に対して、それぞれ、要因1〜3別の描画処理時間を算出し、最も描画処理時間の長いGUI部品から順番に予め定めた個数分のGUI部品を強調表示してもよい。
各GUI部品の描画処理時間TS(k)は式(5)で表すことができる。
描画処理時間TS(k)=GUI部品(k)の面積S(k)×定数γ・・・(5)
面積S(k)=GUI部品(k)の高さk_h×幅k_w
定数γは、要因1〜3に応じて予め定められた値
例えば、図8に示す再描画領域SD(i)、SD(i−1)以外の領域において、新たにボタンのGUI部品が追加されたとする。この場合、このボタンのGUI部品は要因3に該当し、画像G3(i)は要因1に該当する。したがって、このボタンをk=1、画像G3をk=2とすると、描画処理時間TS(1)=ボタンの面積S(1)×定数γ_3、描画処理時間TS(2)=画像G3(i)の面積S(2)×定数γ_1により算出される。但し、定数γ_1は要因1の定数γを示し、定数γ_3は要因3の定数γを示している。
また、上記実施の形態では、図6(A)に示すように、フレームF(i)において再描画領域SDは1つである場合を例示したが、フレームF(i)において再描画領域SDは複数存在していてもよい。例えば、図6(A)において、再描画領域SD及びボタンB2以外の領域に新たにボタンB3のGUI部品が加わった場合、そのGUI部品が描画された領域が再描画領域SDとなる。
この場合、目標再描画領域表示部39は、図6(A)の上側に示す再描画領域SDをSD_1、新たに加わったボタンB3の再描画領域をSD_2とすると、フレームF(i)の描画処理時間TSの計測を開始してから、再描画領域SD_1及び再描画領域SD_2のうち描画終了時刻が遅い方の再描画領域SDの描画が終了した時点で描画処理時間TSの計測を終了して、フレームF(i)の描画処理時間TSとすればよい。
また、本発明の実施の形態による設計支援装置30が行う各処理は、記憶装置(ROM、RAM、ハードディスク等)に格納された設計支援プログラムを、CPUが実行することによって実現されてもよい。この場合、設計支援プログラムは、記憶媒体を介して記憶装置内にインストールされてもよいし、記憶媒体上から直接実行されてもよい。
記憶媒体としては、ROM、RAM、及びフラッシュメモリ等の半導体メモリ、フレキシブルディスク及びハードディスク等の磁気ディスクメモリ、CD−ROM、DVD、及びBD等の光ディスクメモリ、並びにメモリカード等が該当する。また、記憶媒体は、電話回線や搬送路等の通信媒体を含む概念である。すなわち、WEBサーバに記憶された設計支援プログラムをCPUが実行することで、設計支援装置30が実現されてもよい。
なお、図1のブロック図において、設計支援装置30のうち、属性情報記憶部34及びGUI性能情報記憶部36以外の7個のブロックは主にCPUにより実現され、属性情報記憶部34及びGUI性能情報記憶部36は主に記憶装置により実現される。
また、図1に示す設計支援装置30の各ブロックは、それぞれ集積回路であるLSIとして実現することができる。この場合、各ブロックは個別に1チップ化されてもよいし、全ブロック又は少なくとも1つのブロック毎に1チップ化されてもよい。LSIとしては、IC、システムLSI、スーパーLSI、ウルトラLSIが含まれる。
設計支援装置30を集積回路で実現する場合、図1に示す設計支援装置30のうち、属性情報記憶部34及びGUI性能情報記憶部36以外のものを集積回路として実現してもよいし、属性情報記憶部34及びGUI性能情報記憶部36を含めて集積回路として実現してもよい。
また、集積回路化の手法としては、LSIに限定されず、例えば専用回路又は汎用プロセッサで実現してもよい。また、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行えばよい。LSIに置き換わる集積回路としては、例えばバイオ技術を用いたものが挙げられる。
上記の設計支援装置の技術的特徴は下記のようにまとめられる。
(1)本発明による設計支援装置は、GUI(グラフィカルユーザインターフェイス)の設計を支援する設計支援装置であって、表示対象となるGUIをアニメーション表示するための属性情報を予め記憶する属性情報記憶部と、ユーザが入力装置を用いて描画開始指令を入力した場合、前記属性情報に基づいて、前記GUIの描画処理を開始し、時系列的に前後するフレームの差分画像を再描画することで、前記GUIをアニメーション表示する描画処理部と、前記描画処理部により再描画された領域に基づいて再描画領域を設定し、設定した再描画領域を示す画像を前記GUIに重畳して表示する再描画領域表示部と、前記描画処理部により前記GUIのフレームが更新される毎に、更新されたフレームの描画処理時間を計測し、計測した描画処理時間が所定の基準処理時間を超過した場合、前記基準処理時間以内で描画可能な目標再描画領域を算出し、算出した目標再描画領域を示す画像を、前記描画処理時間が前記基準処理時間を超えたフレームである超過フレームに重畳して表示する目標再描画領域表示部とを備える。
この構成によれば、各フレームの描画処理時間が計測され、描画処理時間が基準処理時間を超えた超過フレームにおいて、再描画領域をどの程度の大きさにすれば、描画処理時間が基準処理時間を超過しないかを示す目標再描画領域を示す画像が表示される。これにより、ユーザは、超過フレームにおいて、再描画領域をどの程度縮小すれば、超過フレームの描画処理時間が基準処理時間を超過しないかを容易に認識することができる。その結果、GUIを実行するハードウエアやソフトウエアの専門的知識を持たないユーザであっても、GUIの改善点を速やかに認識し、滑らかにアニメーション表示させることのできるGUIを容易に設計することができる。
(2)前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超過した場合、前記超過フレームよりも後のフレームの前記描画処理部による前記描画処理を停止させることが好ましい。
この構成によれば、GUIをアニメーション表示した場合に、超過フレームが検出されると、超過フレームが表示された状態でアニメーションが停止される。そのため、ユーザは、どのフレームが超過フレームであるかを容易に認識することができる。また、超過フレームが停止表示され、そこには、再描画領域及び目標再描画領域を示す画像が表示されているため、ユーザは超過フレームを再設計する際にどの程度、再描画領域を縮小すればよいかを容易に認識することができる。
(3)前記属性情報は、前記GUIを構成するGUI部品の各フレームにおける表示位置及びサイズを示す情報を含み、前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超えた場合、前記超過フレームにおける前記再描画領域が前記超過フレームより1つ前のフレームにおける前記再描画領域よりも拡大しているか否かを判定し、前記再描画領域が拡大したと判定した場合、前記再描画領域の拡大要因となったGUI部品を抽出し、抽出したGUI部品を前記超過フレームにおいて強調表示することが好ましい。
この構成によれば、ユーザは、超過フレームを再設計する際にどのGUI部品の表示態様を変更すれば、再描画領域を縮小できるかを容易に認識することができる。
(4)前記属性情報は、前記GUIを構成するGUI部品の各フレームにおける透過度を示す情報を含み、前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超えた場合、前記超過フレームに対応する属性情報と、前記超過フレームより1つ前のフレームに対応する属性情報とを比較し、透過度が非透明から半透明に変化したGUI部品を抽出し、抽出したGUI部品を前記超過フレームにおいて強調表示することが好ましい。
GUI部品を非透明から半透明に変える場合、GUI部品の背景画像やGUI部品の背後のGUI部品の画像データに対しても画像処理を実行する必要がある等の理由から、描画処理時間を大きく増大させる虞がある。そこで、本実施の形態では、超過フレームにおいて、非透明から半透明に変化したGUI部品が存在する場合、そのGUI部品を強調表示させている。これにより、ユーザは、GUIの設計変更を行う際にどのGUI部品の表示態様を変更すれば、描画処理時間が基準処理時間を下回るかを容易に認識することができる。
(5)前記属性情報は、前記GUIを構成するGUI部品の各フレームにおける識別情報を含み、前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超えた場合、前記超過フレームに対応する属性情報と、前記超過フレームより1つ前のフレームに対応する属性情報とを比較し、前記超過フレームにおいて新たに描画されたGUI部品を抽出し、抽出したGUI部品を前記超過フレームにおいて強調表示することが好ましい。
この構成によれば、ユーザは、超過フレームにおいて、新たに追加したGUI部品が、GUIの性能の劣化に寄与していることを容易に認識することができる。
(6)前記目標再描画領域算出部は、前記目標再描画領域を、「目標再描画領域×定数=基準処理時間」、但し、「定数=1/単位時間あたりの描画処理面積」の関係式を用いて算出することが好ましい。
この構成によれば、目標再描画領域を上記関係式を用いて明確に規定することができる。
(7)前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超過した場合、前記描画処理時間と前記基準処理時間との差分を基に、削減するべき描画面積の大きさを示す目標削減領域を算出し、算出した目標削減領域を示す画像を表示することが好ましい。
この構成によれば、目標削減領域が表示されるため、GUI部品を過剰に縮小するような再設計を防止することができる。
(8)前記目標再描画領域表示部が計測した各フレームの前記描画処理時間を各フレームにおける属性情報と関連付けて記憶装置に記憶させるGUI性能管理部を更に備えることが好ましい。
この構成によれば、各フレームの描画処理時間と属性情報とが関連付けて記憶されるため、ユーザは、後から各フレームの描画処理時間と属性情報とを照らし合わせることが可能となり、GUIの改善点を特定する際に便利な情報を提供することができる。
本発明にかかる設計支援装置は、描画処理時間が基準処理時間を超える超過フレームにおいて、目標再描画領域や性能低下要因であるGUI部品を視覚化してユーザに報知することができるため、その視覚化された情報をもとにしたGUIの改善作業の効率化に有用である。

Claims (11)

  1. GUI(グラフィカルユーザインターフェイス)の設計を支援する設計支援装置であって、
    表示対象となるGUIをアニメーション表示するための属性情報を予め記憶する属性情報記憶部と、
    ユーザが入力装置を用いて描画開始指令を入力した場合、前記属性情報に基づいて、前記GUIの描画処理を開始し、時系列的に前後するフレームの差分画像を再描画することで、前記GUIをアニメーション表示する描画処理部と、
    前記描画処理部により再描画された領域に基づいて再描画領域を設定し、設定した再描画領域を示す画像を前記GUIに重畳して表示する再描画領域表示部と、
    前記描画処理部により前記GUIのフレームが更新される毎に、更新されたフレームの描画処理時間を計測し、計測した描画処理時間が所定の基準処理時間を超過した場合、前記基準処理時間以内で描画可能な目標再描画領域を算出し、算出した目標再描画領域を示す画像を、前記描画処理時間が前記基準処理時間を超えたフレームである超過フレームに重畳して表示する目標再描画領域表示部とを備える設計支援装置。
  2. 前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超過した場合、前記超過フレームよりも後のフレームの前記描画処理部による前記描画処理を停止させる請求項1記載の設計支援装置。
  3. 前記属性情報は、前記GUIを構成するGUI部品の各フレームにおける表示位置及びサイズを示す情報を含み、
    前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超えた場合、前記超過フレームにおける前記再描画領域が前記超過フレームより1つ前のフレームにおける前記再描画領域よりも拡大しているか否かを判定し、前記再描画領域が拡大したと判定した場合、前記再描画領域の拡大要因となったGUI部品を抽出し、抽出したGUI部品を前記超過フレームにおいて強調表示する請求項1又は2記載の設計支援装置。
  4. 前記属性情報は、前記GUIを構成するGUI部品の各フレームにおける透過度を示す情報を含み、
    前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超えた場合、前記超過フレームに対応する属性情報と、前記超過フレームより1つ前のフレームに対応する属性情報とを比較し、透過度が非透明から半透明に変化したGUI部品を抽出し、抽出したGUI部品を前記超過フレームにおいて強調表示する請求項1〜3のいずれかに記載の設計支援装置。
  5. 前記属性情報は、前記GUIを構成するGUI部品の各フレームにおける識別情報を含み、
    前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超えた場合、前記超過フレームに対応する属性情報と、前記超過フレームより1つ前のフレームに対応する属性情報とを比較し、前記超過フレームにおいて新たに描画されたGUI部品を抽出し、抽出したGUI部品を前記超過フレームにおいて強調表示する請求項1〜4のいずれかに記載の設計支援装置。
  6. 前記目標再描画領域算出部は、前記目標再描画領域を、「目標再描画領域×定数=基準処理時間」、但し、「定数=1/単位時間あたりの描画処理面積」の関係式を用いて算出する請求項1〜5のいずれかに記載の設計支援装置。
  7. 前記目標再描画領域表示部は、前記描画処理時間が前記基準処理時間を超過した場合、
    前記描画処理時間と前記基準処理時間との差分を基に、削減するべき描画面積の大きさを示す目標削減領域を算出し、算出した目標削減領域を示す画像を表示する請求項1〜6のいずれかに記載の設計支援装置。
  8. 前記目標再描画領域表示部が計測した各フレームの前記描画処理時間を各フレームにおける属性情報と関連付けて記憶装置に記憶させるGUI性能管理部を更に備える請求項1〜7のいずれかに記載の設計支援装置。
  9. GUI(グラフィカルユーザインターフェイス)の設計を支援する設計支援プログラムであって、
    表示対象となるGUIをアニメーション表示するための属性情報を予め記憶する属性情報記憶部と、
    ユーザが入力装置を用いて描画開始指令を入力した場合、前記属性情報に基づいて、前記GUIの描画処理を開始し、時系列的に前後するフレームの差分画像を再描画することで、前記GUIをアニメーション表示する描画処理部と、
    前記描画処理部により再描画された領域に基づいて再描画領域を設定し、設定した再描画領域を示す画像を前記GUIに重畳して表示する再描画領域表示部と、
    前記描画処理部により前記GUIのフレームが更新される毎に、更新されたフレームの描画処理時間を計測し、計測した描画処理時間が所定の基準処理時間を超過した場合、前記基準処理時間以内で描画可能な目標再描画領域を算出し、算出した目標再描画領域を示す画像を、前記描画処理時間が前記基準処理時間を超えたフレームである超過フレームに重畳して表示する目標再描画領域表示部としてコンピュータを機能させる設計支援プログラム。
  10. GUI(グラフィカルユーザインターフェイス)の設計を支援する設計支援方法であって、
    コンピュータが、ユーザが入力装置を用いて描画開始指令を入力した場合、表示対象となるGUIをアニメーション表示するために予め記憶された属性情報に基づいて、前記GUIの描画処理を開始し、時系列的に前後するフレームの差分画像を再描画することで、前記GUIをアニメーション表示する描画処理ステップと、
    コンピュータが、前記描画処理ステップにより再描画された領域に基づいて再描画領域を設定し、設定した再描画領域を示す画像を前記GUIに重畳して表示する再描画領域表示ステップと、
    コンピュータが、前記描画処理ステップにより前記GUIのフレームが更新される毎に、更新されたフレームの描画処理時間を計測し、計測した描画処理時間が所定の基準処理時間を超過した場合、前記基準処理時間以内で描画可能な目標再描画領域を算出し、算出した目標再描画領域を示す画像を、前記描画処理時間が前記基準処理時間を超えたフレームである超過フレームに重畳して表示する目標再描画領域表示ステップとを備える設計支援方法。
  11. GUI(グラフィカルユーザインターフェイス)の設計を支援する集積回路であって、
    ユーザが入力装置を用いて描画開始指令を入力した場合、表示対象となるGUIをアニメーション表示するために予め記憶された属性情報に基づいて、前記GUIの描画処理を開始し、時系列的に前後するフレームの差分画像を再描画することで、前記GUIをアニメーション表示する描画処理部と、
    前記描画処理部により再描画された領域に基づいて再描画領域を設定し、設定した再描画領域を示す画像を前記GUIに重畳して表示する再描画領域表示部と、
    前記描画処理部により前記GUIのフレームが更新される毎に、更新されたフレームの描画処理時間を計測し、計測した描画処理時間が所定の基準処理時間を超過した場合、前記基準処理時間以内で描画可能な目標再描画領域を算出し、算出した目標再描画領域を示す画像を、前記描画処理時間が前記基準処理時間を超えたフレームである超過フレームに重畳して表示する目標再描画領域表示部とを備える集積回路。
JP2012524411A 2010-07-12 2011-06-23 設計支援装置、設計支援プログラム、設計支援方法、及び集積回路 Expired - Fee Related JP5650740B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012524411A JP5650740B2 (ja) 2010-07-12 2011-06-23 設計支援装置、設計支援プログラム、設計支援方法、及び集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010158227 2010-07-12
JP2010158227 2010-07-12
PCT/JP2011/003597 WO2012008099A1 (ja) 2010-07-12 2011-06-23 設計支援装置、設計支援プログラム、設計支援方法、及び集積回路
JP2012524411A JP5650740B2 (ja) 2010-07-12 2011-06-23 設計支援装置、設計支援プログラム、設計支援方法、及び集積回路

Publications (2)

Publication Number Publication Date
JPWO2012008099A1 JPWO2012008099A1 (ja) 2013-09-05
JP5650740B2 true JP5650740B2 (ja) 2015-01-07

Family

ID=45469119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012524411A Expired - Fee Related JP5650740B2 (ja) 2010-07-12 2011-06-23 設計支援装置、設計支援プログラム、設計支援方法、及び集積回路

Country Status (4)

Country Link
US (1) US8683360B2 (ja)
JP (1) JP5650740B2 (ja)
CN (1) CN102483682B (ja)
WO (1) WO2012008099A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101317532B1 (ko) * 2010-10-13 2013-10-15 주식회사 팬택 마커 또는 마커리스를 융합하는 증강현실 장치 및 방법
US10091367B2 (en) 2013-11-29 2018-10-02 Kyocera Document Solutions Inc. Information processing device, image forming apparatus and information processing method
JP6318994B2 (ja) * 2014-09-01 2018-05-09 村田機械株式会社 情報処理装置、情報処理方法、及びプログラム
CN105719332B (zh) 2016-01-20 2019-02-19 阿里巴巴集团控股有限公司 色彩补间动画的实现方法和装置
CN108629729A (zh) * 2018-04-26 2018-10-09 珠海亿智电子科技有限公司 一种图片显示的方法
US20200204864A1 (en) * 2018-12-20 2020-06-25 Caavo Inc Classification of images based on static components
JP2023007696A (ja) * 2021-07-02 2023-01-19 セイコーエプソン株式会社 画像処理方法および画像処理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210652A (ja) * 1994-01-14 1995-08-11 Matsushita Electric Ind Co Ltd 提示情報作成装置
JP2003331311A (ja) * 2002-05-15 2003-11-21 Sharp Corp 動画像生成装置、動画像生成方法、動画像生成プログラムおよび動画像生成プログラムを記録したコンピュータ読取可能な記録媒体
JP2005196669A (ja) * 2004-01-09 2005-07-21 Sony Corp オーサリング方法、オーサリングシステム、データ再生方法及びデータ再生システム
JP2009151693A (ja) * 2007-12-21 2009-07-09 Nippon Telegr & Teleph Corp <Ntt> 一括表示画像出力装置、一括表示画像出力方法、コンピュータプログラム及び記録媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715416A (en) * 1994-09-30 1998-02-03 Baker; Michelle User definable pictorial interface for a accessing information in an electronic file system
US5973694A (en) * 1995-06-02 1999-10-26 Chatham Telecommunications, Inc., Method of communication using sized icons, text, and audio
US7289669B2 (en) * 2000-06-23 2007-10-30 Matsushita Electric Industrial Co., Ltd. Data managing method and apparatus for providing divisional data
US20030107604A1 (en) * 2001-12-12 2003-06-12 Bas Ording Method and system for automatic window resizing in a graphical user interface
US7398478B2 (en) * 2003-11-14 2008-07-08 Microsoft Corporation Controlled non-proportional scaling display
TWI284886B (en) * 2005-06-20 2007-08-01 Benq Corp A method for displaying a resized window
US7933956B2 (en) * 2006-01-24 2011-04-26 Simulat, Inc. System and method to create a collaborative web-based multimedia layered platform
US8314799B2 (en) * 2007-04-13 2012-11-20 Apple Inc. Enhanced motion behavior framework
JP2010049313A (ja) * 2008-08-19 2010-03-04 Sony Corp 画像処理装置、画像処理方法、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210652A (ja) * 1994-01-14 1995-08-11 Matsushita Electric Ind Co Ltd 提示情報作成装置
JP2003331311A (ja) * 2002-05-15 2003-11-21 Sharp Corp 動画像生成装置、動画像生成方法、動画像生成プログラムおよび動画像生成プログラムを記録したコンピュータ読取可能な記録媒体
JP2005196669A (ja) * 2004-01-09 2005-07-21 Sony Corp オーサリング方法、オーサリングシステム、データ再生方法及びデータ再生システム
JP2009151693A (ja) * 2007-12-21 2009-07-09 Nippon Telegr & Teleph Corp <Ntt> 一括表示画像出力装置、一括表示画像出力方法、コンピュータプログラム及び記録媒体

Also Published As

Publication number Publication date
JPWO2012008099A1 (ja) 2013-09-05
WO2012008099A1 (ja) 2012-01-19
US8683360B2 (en) 2014-03-25
US20120198370A1 (en) 2012-08-02
CN102483682B (zh) 2015-09-30
CN102483682A (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
JP5650740B2 (ja) 設計支援装置、設計支援プログラム、設計支援方法、及び集積回路
JP6038171B2 (ja) ユーザインタフェース装置
US10289291B2 (en) Editing nested video sequences
US20100287493A1 (en) Method and system for viewing and editing an image in a magnified view
JP4612902B2 (ja) ファイル表示装置及びその制御方法、並びにプログラム
US11720230B2 (en) Interactive data visualization user interface with hierarchical filtering based on gesture location on a chart
US8205169B1 (en) Multiple editor user interface
US8068103B2 (en) User-interface design
US20140278088A1 (en) Navigation Device
US20160274750A1 (en) Animated Transition between Data Visualization Versions at Different Levels of Detail
JPWO2011158446A1 (ja) アニメーション制御装置、アニメーション制御方法およびアニメーション制御プログラム
US10347018B2 (en) Interactive data visualization user interface with hierarchical filtering based on gesture location on a chart
JP2015005162A (ja) 情報表示装置及び表示制御プログラム並びに表示制御方法
JP2009060373A (ja) 画像出力装置および画面構成方法
JP2011141699A (ja) 部品選択方法、部品選択装置、cad装置及び部品選択プログラム
CN107615229B (zh) 用户界面装置和用户界面装置的画面显示方法
CN115081384B (zh) 一种基于eda的数据动态可视化系统
CN114677278A (zh) 病理切片图像拼接的方法、装置、设备以及存储介质
JP4722784B2 (ja) 電子黒板装置および電子黒板装置における画像処理方法並びにそのプログラム
US8711177B1 (en) Generation, display, and manipulation of measurements in computer graphical designs
US20150277676A1 (en) Creating an interaction area for listing user-selectable items
JP2012094091A (ja) 表示制御装置、表示制御方法及びそのプログラム
JP5114249B2 (ja) 表示装置および表示方法
CA2998377A1 (en) Interactive data visualization user interface with gesture-based data field selection
KR101998470B1 (ko) 디스플레이 장치에 표시된 내용의 확대, 축소, 이동을 위한 명령 입력 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140131

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141113

R150 Certificate of patent or registration of utility model

Ref document number: 5650740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees