説明

ユーザインタフェース装置及びその制御方法

【課題】 ユーザからの指示に対して高い反応性を有しながらも、違和感の無い画面遷移のアニメーションを再生可能になる。
【解決手段】 第1画面から第2画面へ遷移している間に第1のアニメーションする。この第1のアニメーションを表示中に、ユーザから記第1画面へ遷移する指示を与えられた場合、再生中の第1のアニメーションを中断し、その中断した時間に応じて決定する時点より第2画面から第1画面への遷移する第2のアニメーションを再生する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人間−マシン間のインタフェースにアニメーションを用いる技術に関するものである。
【背景技術】
【0002】
従来からアニメーションは機器の状態をユーザに通知するための手段として利用されている。アニメーションを用いる利点として、ユーザに親しみやすさを与えることや直感的な動作を可能にすることが挙げられる。
【0003】
特にユーザの操作により複数の画面が順に遷移する場合、画面の遷移時にアニメーションが用いられることがある。例えば、現在の画面から次の画面に遷移する場合に、右から次の画面が登場し、現在の画面が次の画面に押し出されるようにして退場する(図11)というアニメーションが用いられる。また、前の画面に戻る場合は左から前の画面が登場し、現在の画面が前の画面に押し出されるようにして退場する(図19)、というアニメーションが用いられる。次の画面への遷移時と前の画面への遷移時とで異なるアニメーションを用いることで、ユーザは複数の画面のうち現在どの画面が表示されているかを知ることができる。
【0004】
アニメーションには再生時間が定められており、機器は定められた再生時間だけアニメーションを再生する。しかし、アニメーションの再生時間を固定すると、ユーザがアニメーションの再生中に画面を遷移させる指示を行った場合、アニメーションが再生終了するまでユーザ操作に対応する画面遷移をおこなうことができないため、機器の反応性は低くなってしまう(図20)。
【0005】
一方、アニメーションの再生時間を固定せず、ユーザがアニメーションの再生中に機器を操作したらアニメーションの再生を中止するようにすると、機器の反応性は高くなる。しかし中止時点の画像と後続のアニメーションの先頭画像が異なりアニメーションの連続性が失われてしまうため、ユーザに違和感を与える(図21)。
【0006】
この課題を解決するための手法として、第一のアニメーションの再生中にユーザが画面を遷移させる指示を行った場合、第一のアニメーションを中断して、その中断地点から遷移後の画面への第二のアニメーションを再生するという手法が一般に知られている。例えば次の画面へ遷移するアニメーションを再生してから200ms の時点で前の画面へ遷移する指示が行われた場合、再生中のアニメーションを中断し、アニメーションの中断画面から前の画面へ遷移するアニメーションを表示する。
【0007】
また、次の画面へ遷移するアニメーションの再生中にユーザが前の画面へ遷移する指示をおこなった場合は、再生を中止するとともに、その時点までに再生したアニメーションを逆回しで再生するという手法が一般に知られている。例えば、次の画面が右から登場するアニメーションが再生されている途中にユーザが1つ前の画面への遷移を指示した場合、アニメーションを中止して、その時点までに再生したアニメーションの逆回し、すなわち次の画面が右へ退場するアニメーションを再生する。
【0008】
また、制御フラグの値によってどちらの動作をするか決定する手法が提案されている(特許文献1)。また、ユーザ操作の種類に応じてどちらの動作をするか決定する手法が提案されている(特許文献2)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−172716号公報
【特許文献2】特開2004−340836号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、状態遷移を示す第一のアニメーションを再生中にそれを中断して、その中断地点から遷移後の画面への第二のアニメーションを再生するという手法では、機器の開発者は第一のアニメーションの中断時点ごとに第二のアニメーションを用意して機器に搭載させる必要がある。例えば次の画面へ遷移するアニメーションと前の画面へ遷移するアニメーションの持続期間が800ms、フレームレートが100msとする。このとき開発者は「次の画面へ遷移するアニメーションの時点Xから前の画面に遷移するアニメーション」を、Xが100ms から 700ms まで合計7種類用意する用意する必要がある。
【0011】
また、アニメーションを逆回しで再生する手法では、逆回ししたアニメーションが、前の画面に戻るアニメーションと一致しない場合、ユーザに違和感を与える。例えば次の画面へ移るとき人間が左を向いて左に移動するアニメーションが再生され、前の画面へ戻るとき人間が右を向いて右に移動するアニメーションが再生されるとする。このとき次の画面へ移るときのアニメーションを逆向きに再生すると、人間が左を向いて右に移動する、すなわち後ろ歩きするアニメーションが再生され、ユーザに違和感を与える。
【0012】
また、特許文献1や特許文献2は、機器の反応性とアニメーションの連続性を両立することはできない。
【0013】
本発明は上記問題に鑑みなされたものであり、ユーザからの指示に対して高い反応性を有しながらも、違和感の無い画面遷移のアニメーションを再生可能な技術を提供しようとするものである。
【課題を解決するための手段】
【0014】
この課題を解決するため、例えば本発明のユーザインタフェース装置は以下の構成を備える。すなわち、
ユーザの操作の指標となる画面を表示する表示手段と、ユーザからの操作を取り込む入力手段とを有するユーザインタフェース装置であって、
画面遷移時に表示すべきアニメーション情報を記憶する記憶手段と、
前記入力手段によって、前記表示手段に表示している第1の画面から第2の画面への遷移の指示が前記入力手段より入力された場合、前記記憶手段を参照し、前記第1の画面から第2の画面への遷移に係るアニメーション情報に従って第1のアニメーションを前記表示手段に再生表示するアニメーション再生手段と、
該アニメーション再生手段による前記第1のアニメーションの再生表示中に、前記入力手段から前記第1の画面への遷移の指示入力があった場合、前記第1のアニメーションの再生表示を中断し、当該第1のアニメーションの再生表示済みの時間に応じた時点の、前記第2の画面から前記第1の画面に遷移する第2のアニメーションの途中位置から再生を開始するアニメーション再生制御手段とを有する。
【発明の効果】
【0015】
本発明によれば、ユーザからの指示に対して高い反応性を有しながらも、違和感の無い画面遷移のアニメーションを再生可能になる。
【図面の簡単な説明】
【0016】
【図1】第1の実施形態における表示方法、及び表示装置の構成ブロック図。
【図2】第1の実施形態における表示方法、及び表示装置のデータフロー図。
【図3】第1の実施形態におけるシステム起動時の処理を示すフローチャート。
【図4】第1の実施形態における初期画面定義のイメージ図。
【図5】第1の実施形態における画面デザイン定義のイメージ図。
【図6】第1の実施形態における機器が起動した直後の画面イメージ図。
【図7】第1の実施形態におけるユーザによる機器の操作時の処理を示すフローチャート。
【図8】第1の実施形態におけるイベントテーブルのイメージ図。
【図9】第1の実施形態における遷移中イベントのイメージ図。
【図10】第1の実施形態における画面遷移定義のイメージ図。
【図11】第1の実施形態におけるユーザによる機器の操作直後の画面イメージ図。
【図12】第1の実施形態における戻りアニメーションを作成する処理手順を詳細に示したフローチャート。
【図13】第1の実施形態におけるにおける戻りアニメーションの再生開始時点を計算するための計算式。
【図14】第1の実施形態におけるアニメーションの再生中にユーザによる機器の操作が行われたときの画面イメージ図。
【図15】第2の実施形態における表示方法、及び表示装置のデータフロー図。
【図16】第2の実施形態におけるユーザによる機器の操作時の処理を示すフローチャート。
【図17】第2の実施形態における戻り画面遷移定義のイメージ図。
【図18】第2の実施形態におけるニメーションの再生中にユーザによる機器の操作が行われたときの画面イメージ図。
【図19】画面の遷移時に機器が再生するアニメーションの一例を示すイメージ図。
【図20】従来の技術によるアニメーション再生による問題点を示すためのイメージ図。
【図21】従来の技術によるアニメーション再生による問題点を示すためのイメージ図。
【発明を実施するための形態】
【0017】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0018】
[第1の実施形態]
図1は、第1の実施形態におけるGUI提示装置(ユーザインタフェース装置)の構成図である。図中、101は、CPUであり、以下に説明する103〜110の装置を102で示すバスを介してアクセスし制御を行う。103は、バス102を介してCPU101からアクセス可能な読み出し専用メモリ(ROM)である。読み出し専用メモリ103には本実施形態にてその動作を詳細に説明するプログラムコード111、画面デザイン定義112、画面遷移定義113、戻り画面遷移定義114、初期画面定義115、イベントテーブル116が格納されている。104は、読み書き可能なメモリ(RAM)であり、RAM104上には、上記プログラムコード111により生成される、遷移中イベント117、アニメーション再生表示済み時間118の格納領域が確保されている。105は、入出力インタフェースであり、106で示したキーボード、マウス、ボタン、ダイアル等の入力装置、107で示したタッチパネルを介してなされる入力を受け取る。また入出力インタフェース105は、108で示したCRT、LCD、更にはプリンタ、プロッタ等の出力装置、タッチパネル107に対し、データの表示/出力を行う。また、109は外部記憶装置インタフェースであり、110で示したHD、FD、CD−ROM、MD、CF等の外部記憶装置に対するデータの入出力を行うものである。
【0019】
本実施形態では、プログラムコード111と処理対象となる各データ定義(112〜116)がROM103上にあるものとして、また、一時データの格納領域(117〜118)がRAM104上にあるものとして説明を行う。しかし、これらはすべて、外部記憶装置110上に配置することも可能であり、必要に応じて外部記憶装置110からRAM104上にロードして使用することもできる。また、CPU101のキャッシュメモリ上に配置することも同様に可能である。
【0020】
図2は、プログラムコード111の構成要件とそれら構成要件が図1の112〜118とどのような関係にあるかを示すデータフロー図である。図中、201は、ユーザによる入力を入力装置106やタッチパネル107から入出力インタフェース105を介して受け取り、制御部202に通知する入力部である。202は、システムの起動処理や終了処理をおこなう制御部である。制御部202は入力部201から通知されたユーザによる入力に基づいて画面遷移イベントを発生させる。制御部202は、発生させた画面遷移イベントを遷移中イベント117に格納する。制御部202は、画面遷移定義204に基づき、画面生成部206にアニメーションの再生を指示する。203は、ユーザによる入力が行われたときに発生させる画面遷移イベントを表す、イベントテーブルである。204は、画面遷移イベントが発生したときに再生するアニメーションに関する情報(アニメーション情報)や遷移後の画面を指定する、画面遷移定義である。205は、制御部202が発生させた画面遷移イベントを示す遷移中イベントである。206は、制御部202からのアニメーション再生指示と画面デザイン定義208に基づいて、出力する画像データを生成する画面生成部である。207は、入出力インタフェース105を介してタッチパネル107や出力装置108に画面生成部206が生成した画像データを出力する出力部である。208は、出力部207に表示される画面データおよびアニメーションを表す、画面デザイン定義である。209は、システムの起動後、最初に出力される画面を表す初期画面定義である。210は、画面再生部206がアニメーションを再生している最中に、画面遷移イベントが発生したとき、遷移中イベント205に基づいて、戻りアニメーションの再生を画面生成部206に指示する戻りアニメーション生成部である。
【0021】
なお、画面デザイン定義208としては、例えば静止画像の集合や、または、ある静止画像とその静止画像に対する差分情報の集合などを用いることができる。差分情報としては、例えば位置や色、透明度などを用いることができる。
【0022】
図3は、第1の実施形態のシステムの起動時の処理手順を示したフローチャート図である。
【0023】
本システムの起動要求は、ユーザが入出力インタフェース105を介して入力部201から指示する(S101)。ユーザからの起動要求があると、入力部201は起動要求を制御部202に通知し、S102で、制御部202は画面生成部206に初期画面の表示を指示する。S103で、画面生成部206は、初期画面定義209から初期画面の画面IDを取得する。S104で、画面生成部206は、S103で取得した初期画面の画面IDと画面デザイン定義208より、初期画面の画面デザイン情報402を取得する。S105で、画面生成部206は、S104で取得した画面デザイン情報402から画像データを生成する。S106で、画面生成部206は、S105で生成した画像データの出力を出力部207に指示する。S107で、出力部207は、S106で画面生成部206より指示された画像データをタッチパネル107や出力装置108に表示する処理をおこなうと、S108に進み、本シーケンスを終了する。
【0024】
図4は、上記のS103で取得する初期画面定義209である。図示において、301は、初期画面の画面ID401が “SCREEN_HOME”であることを示している。
【0025】
図5は、S105で取得する画面デザイン定義208である。図中、401は、画面を識別するための画面IDである。402は、画像データが格納されたファイルを表す画面デザイン情報である。403は、画面ID401が“SCREEN_HOME”である画面の画像データが、“home.svg”という画像データファイルに格納されていることを表している。
【0026】
図6は、図4の示す初期画面定義209と図5の示す画面デザイン定義208から、図3の示すフローチャートによって生成された画面イメージ図である。図中、501は、画面ID401が“SCREEN_HOME”である画面の画面イメージである。図3のフローチャートに即して説明するのであれば、S103で、初期画面ID301“SCREEN_HOME”を取得する。S104で、画面デザイン情報402“home.svg”を取得する。S105で、画面デザイン情報402“home.svg”から画像データを生成する。S106で、生成した画像データを出力する。
【0027】
図7は、ユーザによる入力が行われたときの第1の実施形態の処理手順を示したフローチャートである。ユーザによる入力があると本処理が開始される(S201)。入力部201はユーザによる入力を制御部202に通知し、S202で、制御部202はイベントテーブル203に基づいて遷移イベントID801を取得する。S203で、制御部202は、遷移中イベント205が空でないか判定する。遷移中イベント205が空でない場合はS204に進む。遷移中イベント205が空である場合はS205に進む。
【0028】
S204では、戻りアニメーション生成部210は、戻りアニメーションを作成して、画面生成部206にアニメーションの再生を指示すると、S209に進む。
【0029】
また、S205で、制御部202は、S202で取得した遷移イベントID801と画面遷移定義204に基づいて、遷移アニメーションを画面生成部206に通知する。S206で、制御部202は、アニメーション再生表示済み時間118に0を設定し、遷移アニメーションの再生開始時点が遷移アニメーションの先頭であることを画面生成部206に通知する。S207で、制御部202は、S202で取得した遷移イベントID801と画面遷移定義204に基づいて、フレームレート804を画面生成部206に通知する。S208で、制御部202は、S202で取得した遷移イベントID801と画面遷移定義204に基づいて、持続時間805を画面生成部206に通知する。
【0030】
S209で、制御部202は、S202で取得した遷移イベントID801を遷移中イベント205に設定する。S210で、画面生成部206は、アニメーション再生表示済み時間118が持続時間805より大きくなるまで、S211からS212までを繰り返す処理をおこなう。S211で、画面生成部206は、画像データを作成して画像データの出力を出力部207に指示する。画像データの作成処理にかける時間はフレームレート804が示す時間とする。S212で、画面生成部206は、アニメーション再生表示済み時間118に、フレームレート804が示す時間を加える。S213で、アニメーション再生表示済み時間118が持続時間805を超えると、S214に進む。
【0031】
S214で、制御部202は、遷移中イベント205に現在イベントの遷移中でないことを設定すると、S215に進み、本シーケンスを終了する。
【0032】
図8は、S202で取得するイベントテーブル203である。図中、601は、ユーザによる入力を示している。602は、表示中の画面の画面IDを示している。603は、ユーザによる入力601が行われたとき、表示中の画面が表示中画面ID602である場合に発生する画面遷移イベントを示す、発生イベントである。604は、ユーザによりボタン1が押下されたとき、表示中の画面の画面IDが“SCREEN_HOME”の場合、“EV_TO_COPY”という画面遷移イベントを発生させることを示している。
【0033】
図9は、S205で設定される遷移中イベント205である。701は、現在イベントの遷移中でないことを示している。
【0034】
図10は、S206で取得する画面遷移定義204である。801は、画面遷移イベントを識別するための遷移イベントIDである。802は、画面遷移イベントによって遷移したあとの画面を示す遷移後画面IDである。803は、画面遷移イベントが発生したときに画面生成部206によって再生表示されるアニメーションを示す、遷移アニメーションである。804は、画面生成部206が出力部207に画像データを出力する間隔を表すフレームレートである。805は、画面生成部206が出力部207に画像データを出力する期間を表す持続期間である。806は、遷移イベントID801が“EV_TO_COPY”である画面遷移イベントが発生したとき、画面遷移後の画面である遷移後画面ID802は“SCREEN_COPY”であることを示している。また806は、画面遷移イベントの発生後に再生される遷移アニメーション803は“SLIDE_IN_RIGHT”であり、フレームレート804は“100”(ms)であり、持続期間805は“800”(ms)であることを示している。
【0035】
図11は、ユーザがボタン1を押下したとき、図7の示すフローチャートによって生成された画面イメージ図である。図11の示す画面イメージ図は図4の示す初期画面定義209と、図5の示す画面デザイン定義208と、図8が示すイベントテーブル203と、図9の示す遷移中イベント205と、図10の示す画面遷移定義204から生成されている。以下、図11を参照して、上記処理の具体例を説明する。
【0036】
901は、ユーザがボタン1を押下した直後の画面イメージを示している。S202において、表示中の画面ID401が“SCREEN_HOME”であることから、発生イベント603“EV_TO_COPY“を取得する。S203において、遷移中イベント205が空であると判定してS205に進む。S209において、遷移中イベント205に遷移中イベントID701”EV_TO_COPY“を設定する。S210において、アニメーションの再生表示を開始する。902は、ユーザがボタン1を押下してから200msが経過したあとの画面イメージを示している。S211において、S206で通知された遷移アニメーション803が“SLIDE_IN_RIGHT”であることと、アニメーション再生表示済み時間118が“200ms”であることに基づいて、画像データを出力部207に通知する。903は、ユーザがボタン1を押下してから400msが経過したあとの画面イメージを示している。904は、ユーザがボタン1を押下してから600msが経過したあとの画面イメージを示している。905は、ユーザがボタン1を押下してから800msが経過したあとの画面イメージを示している。S213において、アニメーション再生表示済み時間118が持続時間805“800ms”を超えたと判定する。S214において、遷移中イベント205を空に設定する。
【0037】
図12は、図7のS204が示す、戻りアニメーションを作成する処理の詳細を示したフローチャート図である。S301において、戻りアニメーションを作成する処理が開始されると、S302にて、画面生成部206は、アニメーションの再生を停止する。S303で、戻りアニメーション生成部210は、S202で取得した遷移イベントID801と、画面遷移定義204と、遷移中イベント205と、アニメーション再生表示済み時間118から、戻りアニメーションの再生開始時点を計算する。戻りアニメーション生成部210は、戻りアニメーションの再生開始時点をアニメーション再生表示済み時間118に設定する。S304で、戻りアニメーション生成部210は、S202で取得した遷移イベントID801と画面遷移定義204に基づいて、遷移アニメーション803を画面生成部206に通知する。S305で、戻りアニメーション生成部210は、S303で計算した戻りアニメーションの再生開始時点を、画面生成部206に通知する。S306で、戻りアニメーション生成部210は、S202で取得した遷移イベントID801と画面遷移定義204に基づいて、フレームレート804を画面生成部206に通知する。S307で、戻りアニメーション生成部210は、S202で取得した遷移イベントID801と画面遷移定義204に基づいて、持続時間805を画面生成部206に通知すると、S308に進み、本シーケンスを終了する。
【0038】
図13は、図12のS303が示す、戻りアニメーションの再生開始時点を計算するための計算式である。この計算式は、要するに、アニメーションのX%が既に再生表示済みであるとき、戻りアニメーションの再生開始時点が、戻りアニメーションの持続時間の(100−X)%の時点になることを意味している。Xは図13のアニメーション再生表示済み時間1002を、遷移中のアニメーション持続時間1001で割り、100を掛けた値である。
【0039】
1001は、遷移中イベント205の遷移中イベントID701と画面遷移定義204に基づいて取得する、遷移中イベント205のアニメーション持続時間805である。1002は、遷移中イベント205のアニメーション再生表示済み時間118である。1003は、S202で取得した遷移イベントID801と画面遷移定義204に基づいて取得する、戻りアニメーション持続時間805である。
【0040】
図14は、ユーザがボタン1を押下してから400ms後に、「戻る」ボタンを押下したとき、図7の示すフローチャートによって生成された画面イメージ図である。図14の示す画面イメ―ジ図は、図4の示す初期画面定義209と、図5の示す画面デザイン定義208と、図8が示すイベントテーブル203と、図9の示す遷移中イベント205と、図10の示す画面遷移定義204から生成されている。
【0041】
以下、図14を参照し、上記の処理を説明する。1101は、ユーザがボタン1を押下した直後の画面イメージを示している。S202において、再生表示中の画面ID401が“SCREEN_HOME”であることから、発生イベント603“EV_TO_COPY“を取得する。S203において、遷移中イベント205が空であると判定してS205に進む。S209において、遷移中イベント205に遷移中イベントID701”EV_TO_COPY“を設定する。S210において、アニメーションの再生を開始する。1102は、ユーザがボタン1を押下してから400ms後に「戻る」ボタンを押下した直後の画面イメージを示している。S202において、再生表示中の画面ID401が“SCREEN_COPY”であることから、遷移イベントID801 “EV_TO_HOME“ を取得する。S203において、遷移中イベント205の遷移イベントID801が”EV_TO_COPY“であると判定して、S204に進む。S204において、戻り画面遷移定義1211に基づいて、遷移イベントID801 “EV_TO_HOME“と遷移イベントID801”EV_TO_COPY“が行きの画面遷移と戻りの画面遷移の関係であると判定する。S303で、遷移中イベント205の持続時間1001が”800ms“、アニメーション再生済み時間118が”400ms“、戻りアニメーションの持続時間1003が”800ms“である。ここから図13の式に基づいて、戻りアニメーションの再生開始時点を”400ms“であると計算し、アニメーション再生表示済み時間118に設定する。S210において、戻りアニメーションの再生を先頭から”400ms“の時点から開始する。
【0042】
1103は、ユーザが戻るボタンを押下してから200msが経過したあとの画面イメージを示している。アニメーション再生済み時間118は“600ms”である。1104は、ユーザが戻るボタンを押下してから200msが経過したあとの画面イメージを示している。アニメーション再生表示済み時間118は“800ms”である。S213において、アニメーション再生表示済み時間118が持続時間805“800ms”を超えたと判定する。S214において、遷移中イベント205を空に設定する。
【0043】
以上説明したように本第1の実施形態によれば、第1画面から第2画面への画面遷移中であることを表わす第1のアニメーションの再生表示中に、ユーザから元に戻す(遷移をキャンセルする)操作があった場合、それまでの再生時間だけ第2画面から第1画面への画面遷移の第2のアニメーションが行われたものとして、第2のアニメーションの途中位置から再生制御することで、機器の反応性を高くしつつ、且つ、自然なアニメーション再生を行うことが可能となる。
【0044】
[第2の実施形態]
上記第1の実施形態では、再生表示中の第1のアニメーションを中断し、次に再生する第2のアニメーションを、第1のアニメーションの再生表示済み時間に応じた時点から再生する方法を説明した。しかし、第1のアニメーションと第2のアニメーションに連続性がない場合もあり得る。例えば、第1のアニメーションは次の画面が右から左に登場するアニメーションであり、次に再生する第二のアニメーションは次の画面が上から下に登場するアニメーションである場合である。
【0045】
本第2の実施形態では、第2のアニメーションを第1のアニメーションの再生表示済み時間に応じた時点から再生するか否かを判定する方法について説明する。第2の実施形態の全体構成図は、第1の実施形態と同様、図1に示されている。また、第2の実施形態におけるシステムの起動時の処理手順を示したフローチャート図は、第1の実施形態と同様、図3に示されている。
【0046】
図15は、第2の実施形態におけるデータフロー図である。図中、1201は、201と同様、入力部である。1202は、202と同様、制御部である。1203は、203と同様、イベントテーブルである。1204は、204と同様、画面遷移定義である。1205は、205と同様、遷移中イベントである。1206は、206と同様、画面生成部である。1207は、207と同様、出力部である。1208は、208と同様、画面デザイン定義である。1209は、209と同様、初期画面定義である。1210は、画面再生部206がアニメーションを再生している最中に、画面遷移イベントが発生したとき、遷移中イベント205と戻り画面遷移定義1211に基づいて、戻りアニメーションの再生を画面生成部206に指示する戻りアニメーション生成部である。1211は、第一の画面遷移イベントと第二の画面遷移イベントが与えられたとき、それらが行きの画面遷移と戻りの画面遷移の関係であるかを示す戻り画面遷移定義である。
【0047】
図16は、ユーザによる入力が行われたときの第2の実施形態の処理手順を示したフローチャート図である。本処理はS401にて開始される。S402では、S202と同様、遷移イベントID801を取得する。S403で、S203と同様、遷移中イベント205が空でないか判定する。遷移中イベント205が空でない場合はS404に進む。遷移中イベント205が空である場合はS408に進む。
【0048】
S404で、戻りアニメーション生成部210は、戻り画面遷移定義1211に基づいて、遷移中イベント205の遷移イベントID801と、S202で取得した遷移イベントID801が、行きの画面遷移と戻りの画面遷移の関係であるか判定する。行きの画面遷移と戻りの画面遷移の関係である場合はS405に進む。行きの画面遷移と戻りの画面遷移の関係以外であると判定した場合はS406に進む。S405では、S204と同様、戻りアニメーションを作成する。S406では、制御部202は、遷移中イベント205が空になるまで待機する。
【0049】
S407では、S205と同様、遷移アニメーションを画面生成部206に通知する。S408で、S206と同様、遷移アニメーションの再生開始時点を画面生成部206に通知する。S409で、S207と同様、フレームレート804を画面生成部206に通知する。S410で、S208と同様、持続時間805を画面生成部206に通知する。
【0050】
S411では、S209と同様、遷移イベントID801を遷移中イベント205に設定する。S412では、S210と同様、S413からS414までを繰り返す処理をおこなう。S413で、S211と同様、画像データを作成して画像データの出力を出力部207に指示する。S414で、S212と同様、アニメーション再生表示済み時間118に、フレームレート804が示す時間を加える。S415で、S213と同様、アニメーション再生表示済み時間118が持続時間805を超えると、S416に進む。S416で、S214と同様、遷移中イベント205に現在イベントの遷移中でないことを設定すると、S417に進み、本シーケンスを終了する。
【0051】
図17は、図16のS404で取得する戻り画面遷移定義1211である。図中、1301は、遷移イベントID801が“EV_TO_HOME”である画面遷移イベントと、遷移イベントID801が“EV_TO_COPY”である画面遷移イベントが、行きの画面遷移と戻りの画面遷移の関係であることを示している。
【0052】
図18は、ユーザがボタン1を押下してから400ms後にホームボタンを押下したとき、図16の示すフローチャートによって生成された画面イメージ図である。図18の示す画面イメージ図は、図4の示す初期画面定義209と、図5の示す画面デザイン定義208と、図8が示すイベントテーブル203と、図9の示す遷移中イベント205と、図10の示す画面遷移定義204から生成されている。
【0053】
図18において、1401は、ユーザがボタン1を押下した直後の画面イメージを示している。S402において、再生表示中の画面ID401が“SCREEN_HOME”であることから、発生イベント603“EV_TO_COPY“を取得する。S403において、遷移中イベント205が空であると判定してS407に進む。S411において、遷移中イベント205に遷移中イベントID701”EV_TO_COPY“を設定する。S412において、アニメーションの再生を開始する。1402は、ユーザがボタン1を押下してから400ms後にホームボタンを押下した直後の画面イメージを示している。S402において、遷移イベントID801 “EV_JUMP_HOME“ を取得する。S403において、遷移中イベント205の遷移イベントID801が”EV_TO_COPY“であると判定して、S404に進む。S204において、戻り画面遷移定義1211に基づいて、遷移イベントID801 “EV_JUMP_HOME“と遷移イベントID801”EV_TO_COPY“が行きの画面遷移と戻りの画面遷移の関係でないと判定する。S406で、遷移中イベント205が空になるまで待機する。
【0054】
1403は、ユーザがボタン1を押下してから800ms後の画面イメージを示している(第1のアニメーションの再生表示が完了したこと場合でもある)。S415において、アニメーション再生表示済み時間118が持続時間805“800ms”を超えたと判定する。S416において、遷移中イベント205を空に設定する。S406で、遷移中イベント205が空になったため待機を終了する。
【0055】
S411において、遷移中イベント205に遷移中イベントID701”EV_JUMP_HOME “を設定する。S412において、アニメーションの再生を開始する。1404は、ユーザがボタン1を押下してから1000msが経過したあとの画面イメージを示している。1405は、ユーザがボタン1を押下してから1200msが経過したあとの画面イメージを示している。1406は、ユーザがボタン1を押下してから1400msが経過したあとの画面イメージを示している。1407は、ユーザがボタン1を押下してから1600msが経過したあとの画面イメージを示している。S415において、アニメーション再生表示済み時間118が持続時間805“800ms”を超えたと判定する。S416において、遷移中イベント205を空に設定する。
【0056】
[第3の実施形態]
上記各実施形態ではユーザの操作によりアニメーションが再生される例について説明したが、これに限らず、アニメーションの再生とともに音声メッセージが再生されても良い。具体的には、制御部202は、ユーザによる入力に基づいて音声メッセージの再生を出力装置108に指示することができる。制御部202は、画面生成部206がアニメーションを再生しているときにユーザによる入力が発生した場合、S303で計算した戻りアニメーションの再生開始時点に基づいて、音声メッセージの再生開始時点を決定することができる。あるいは、S303で計算した戻りアニメーションの再生開始時点に基づいて、複数の音声メッセージから再生する音声メッセージを決定することもできる。
【0057】
[第4の実施形態]
上記各実施形態では、再生表示中の第1のアニメーションを中断し、次に再生する第2のアニメーションを第1のアニメーションの再生表示済み時間に応じた時点から再生する方法を説明した。しかし、これに限らず、再生表示中の第1のアニメーションを中断し、画面に表示されているGUI部品の一部を反転させた上で、第1のアニメーションを逆回しで再生してもよい。
【0058】
具体的には、制御部202は、画面生成部206がアニメーションを再生しているときに画面遷移イベントが発生した場合、再生表示中のアニメーションを中断し、再生したアニメーションを中断した時点から逆回しで再生することができる。このとき制御部202は、画面に表示されているGUI部品の一部を反転させたうえで再生したアニメーションを逆回しで再生することもできる。
【0059】
以上説明したように本発明に係る各実施形態によれば、アニメーションの再生表示中にユーザが機器を操作した場合に、機器の反応性とアニメーションの連続性を両立させることができる。また、機器の開発者に、第1のアニメーションの中断時点ごとに第2のアニメーションを用意させることがない。また、逆回ししたアニメーションが、前の画面に戻るアニメーションと一致しない場合でも、ユーザへ与える違和感を低減するアニメーションを再生することができる。
【0060】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
ユーザの操作に係る画面を表示する表示手段と、ユーザからの操作を取り込む入力手段とを有するユーザインタフェース装置であって、
画面遷移する際に表示すべきアニメーション情報を記憶する記憶手段と、
前記入力手段によって、前記表示手段に表示している第1画面から第2画面への遷移の指示が前記入力手段より入力された場合、前記記憶手段を参照し、前記第1画面から第2画面への遷移に係るアニメーション情報に従って第1のアニメーションを前記表示手段に再生表示するアニメーション再生手段と、
該アニメーション再生手段による前記第1のアニメーションの再生表示中に、前記入力手段から前記第1画面への遷移の入力があった場合、前記第1のアニメーションの再生表示を中断し、当該第1のアニメーションの再生表示済みの時間に応じた時点の、前記第2画面から前記第1画面に遷移する第2のアニメーションの途中位置から再生を開始する再生制御手段と
を有することを特徴とするユーザインタフェース装置。
【請求項2】
前記再生制御手段は、前記入力手段から前記第1画面への遷移の入力があった場合の前記第1のアニメーションの再生表示済み時間をX%としたとき、前記第2のアニメーションの先頭から「100−X」%の時点より、当該第2のアニメーションを再生表示することを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項3】
前記再生制御手段は、
前記第1のアニメーションと前記第2のアニメーションの関係が、遷移と戻りの関係にあるか否かを前記記憶手段を参照して判定する判定手段と、
遷移と戻りの関係にあると判定した場合には、前記入力手段から前記第1画面への遷移の入力があった場合の前記第1のアニメーションの再生表示済み時間をX%としたとき、前記第2のアニメーションの先頭から「100−X」%の時点より、当該第2のアニメーションを再生表示し、
遷移と戻りの関係以外にあると判定した場合には、前記第1のアニメーションの再生表示が完了してから、前記第2のアニメーションをその先頭から再生表示する手段と
を有することを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項4】
ユーザの操作に係る画面を表示する表示手段と、ユーザからの操作を取り込む入力手段と、画面遷移する際に表示すべきアニメーション情報を記憶する記憶手段とを有するユーザインタフェース装置の制御方法であって、
前記入力手段によって前記表示手段に表示している第1画面から第2画面への遷移の指示が前記入力手段より入力された場合、アニメーション再生手段が、前記記憶手段を参照し、前記第1画面から第2画面への遷移に係るアニメーション情報に従って第1のアニメーションを前記表示手段に再生表示するアニメーション再生工程と、
該アニメーション再生工程による前記第1のアニメーションの再生表示中に、前記入力手段から前記第1画面への遷移の入力があった場合、再生制御手段が、前記第1のアニメーションの再生表示を中断し、当該第1のアニメーションの再生表示済みの時間に応じた時点の、前記第2画面から前記第1画面に遷移する第2のアニメーションの途中位置から再生を開始する再生制御工程と
を有することを特徴とするユーザインタフェース装置の制御方法。
【請求項5】
前記再生制御工程は、前記入力手段から前記第1画面への遷移の入力があった場合の前記第1のアニメーションの再生表示済み時間をX%としたとき、前記第2のアニメーションの先頭から「100−X」%の時点より、当該第2のアニメーションを再生表示することを特徴とする請求項4に記載のユーザインタフェース装置の制御方法。
【請求項6】
前記再生制御工程は、
前記第1のアニメーションと前記第2のアニメーションの関係が、遷移と戻りの関係にあるか否かを前記記憶手段を参照して判定する判定工程と、
遷移と戻りの関係にあると判定した場合には、前記入力手段から前記第1画面への遷移の入力があった場合の前記第1のアニメーションの再生表示済み時間をX%としたとき、前記第2のアニメーションの先頭から「100−X」%の時点より、当該第2のアニメーションを再生表示し、
遷移と戻りの関係以外にあると判定した場合には、前記第1のアニメーションの再生表示が完了してから、前記第2のアニメーションをその先頭から再生表示する工程と
を有することを特徴とする請求項4に記載のユーザインタフェース装置の制御方法。
【請求項7】
ユーザの操作に係る画面を表示する表示手段と、ユーザからの操作を取り込む入力手段と、画面遷移する際に表示すべきアニメーション情報を記憶する記憶手段とを有するコンピュータに、読み込ませ実行させることで、前記コンピュータを、ユーザインタフェース装置として機能させるプログラムであって、
前記コンピュータを、
前記入力手段によって前記表示手段に表示している第1画面から第2画面への遷移の指示が前記入力手段より入力された場合、前記記憶手段を参照し、前記第1画面から第2画面への遷移に係るアニメーション情報に従って第1のアニメーションを前記表示手段に再生表示するアニメーション再生手段、
該アニメーション再生手段による前記第1のアニメーションの再生表示中に、前記入力手段から前記第1画面への遷移の入力があった場合、前記第1のアニメーションの再生表示を中断し、当該第1のアニメーションの再生表示済みの時間に応じた時点の、前記第2画面から前記第1画面に遷移する第2のアニメーションの途中位置から再生を開始する再生制御手段
として機能させることを特徴とするプログラム。
【請求項8】
請求項7に記載のプログラムを格納した、コンピュータが読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図18】
image rotate


【公開番号】特開2013−16082(P2013−16082A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−149493(P2011−149493)
【出願日】平成23年7月5日(2011.7.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】