(57)【要約】【課題】アニメーションＵＩによる処理負荷を低減しつつ、終了ハンドラを利用した連動機能を実現する情報処理装置を提供する。【解決手段】情報処理装置２００は、アニメーションの実行及び該アニメーションの終了時の処理に関する情報を含むアニメーション情報を取得するアニメーション情報取得部３０１と、アニメーション情報に基づいて、当該アニメーションの視覚効果を定量的に表す視覚効果値を特定する視覚効果値特定部３０２と、特定された視覚効果値と所定の値とを比較する比較部３０３と、比較結果に応じて、アニメーションを実行した後に終了時の処理を実行及びアニメーションを実行せずに当該アニメーションの継続時間経過後に終了時の処理を実行、のいずれかを行うＵＩ制御部３０５と、を備える。【選択図】図３
2017111543.tif 000002
【特許請求の範囲】
【請求項１】
アニメーションの継続時間を含む該アニメーションの実行に関する情報及び該アニメーションの終了時に実行される終了時処理に関する情報を含むアニメーション情報を取得する取得手段と、
前記アニメーション情報に基づいて、当該アニメーションの視覚効果を定量的に表す視覚効果値を特定する特定手段と、
特定された前記視覚効果値と所定の値とを比較する比較手段と、
前記比較手段による比較結果に応じて、前記アニメーション情報に基づくアニメーションを実行した後に前記終了時処理を実行及び前記アニメーションを実行せずに当該アニメーションの継続時間経過後に前記終了時処理を実行、のいずれかを行う制御手段と、を備えることを特徴とする、
情報処理装置。
【請求項２】
前記制御手段は、前記視覚効果値が前記所定の値より大きい場合に前記アニメーションを実行した後に前記終了時処理を実行し、前記視覚効果値が前記所定の値以下の場合に前記アニメーションを実行せずに当該アニメーションの継続時間経過後に前記終了時処理を実行することを特徴とする、
請求項１記載の情報処理装置。
【請求項３】
前記アニメーション情報は、再生時の画像であるフレームを指示する情報を含み、
前記取得手段は、前記アニメーション情報に基づいて前記フレームが可視か否かを表す可視属性を含むフレーム情報を取得し、
前記特定手段は、前記可視属性に基づいて前記視覚効果値を特定することを特徴とする、
請求項１又は２記載の情報処理装置。
【請求項４】
前記アニメーション情報は、再生時の画像であるフレームを指示する情報を含み、
前記取得手段は、前記アニメーション情報に基づいて前記フレームの透過率を表す透過属性を含むフレーム情報を取得し、
前記特定手段は、前記透過属性に基づいて前記視覚効果値を特定することを特徴とする、
請求項１〜３のいずれか１項記載の情報処理装置。
【請求項５】
前記アニメーション情報は、再生時の画像であるフレームを指示する情報を含み、
前記アニメーション情報は、前記アニメーション情報に基づいて前記フレームの表示位置、表示位置の変位量、及び大きさの少なくとも一つを含むフレーム情報を取得し、
前記特定手段は、前記表示位置、前記変位量、及び前記大きさの少なくとも一つに基づいて前記視覚効果値を特定することを特徴とする、
請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
前記アニメーション情報は、再生時の画像であるフレームを指示する情報を含み、
前記アニメーション情報は、前記アニメーション情報に基づいて前記フレームの表示位置及びアニメーションを表示する表示領域を含み、
前記特定手段は、前記表示位置及び前記表示領域に基づいて前記視覚効果値を特定することを特徴とする、
請求項１〜５のいずれか１項記載の情報処理装置。
【請求項７】
前記特定手段は、前記アニメーションの対象となるオブジェクトが別のオブジェクトの背後に位置するか否かを表す前記情報に基づいて前記視覚効果値を特定することを特徴とする、
請求項１〜６のいずれか１項記載の情報処理装置。
【請求項８】
第１の装置及び第２の装置を備える情報処理システムであって、
前記第１の装置は、
アニメーションの継続時間を含む該アニメーションの実行に関する情報及び該アニメーションの終了時に実行される終了時処理に関する情報を含むアニメーション情報を取得する第１の取得手段と、
前記アニメーション情報に基づいて、当該アニメーションの視覚効果を定量的に表す視覚効果値を特定する特定手段と、
特定した前記視覚効果値を所定の記憶手段に記憶させる出力手段と、を備え、
前記第２の装置は、
前記記憶手段から前記視覚効果値を取得する視覚効果値取得手段と、
当該アニメーション情報を取得する第２の取得手段と、
前記視覚効果値取得手段で取得した前記視覚効果値と所定の値とを比較する比較手段と、
前記比較手段による比較結果に応じて、前記アニメーション情報に基づくアニメーションを実行した後に前記終了時処理を実行及び前記アニメーションを実行せずに当該アニメーションの継続時間経過後に前記終了時処理を実行、のいずれかを行う制御手段と、を備えることを特徴とする、
情報処理システム。
【請求項９】
ディスプレイが接続された情報処理装置により実行される方法であって、
アニメーションの継続時間を含む該アニメーションの実行に関する情報及び該アニメーションの終了時に実行される終了時処理に関する情報を含むアニメーション情報を取得する工程と、
取得した前記アニメーション情報に基づいて、当該アニメーションの視覚効果を定量的に表す視覚効果値を特定する工程と、
前記視覚効果値と所定の値とを比較する工程と、
比較の結果、前記視覚効果値が前記所定の値より大きい場合に、前記アニメーション情報に基づくアニメーションを実行して前記ディスプレイに該アニメーションを表示した後に前記終了時処理を実行する工程と、
比較の結果、前記視覚効果値が前記所定の値以下の場合に、前記アニメーション情報に基づくアニメーションを実行せずに前記ディスプレイに静止画を表示して、当該アニメーションの継続時間経過後に前記終了時処理を実行する工程と、を含むことを特徴とする、
情報処理方法。
【請求項１０】
ディスプレイが接続されたコンピュータに、
アニメーションの継続時間を含む該アニメーションの実行に関する情報及び該アニメーションの終了時に実行される終了時処理に関する情報を含むアニメーション情報を取得する処理、
取得した前記アニメーション情報に基づいて、当該アニメーションの視覚効果を定量的に表す視覚効果値を特定する処理、
前記視覚効果値と所定の値とを比較する処理、
比較の結果、前記視覚効果値が前記所定の値より大きい場合に、前記アニメーション情報に基づくアニメーションを実行して前記ディスプレイに該アニメーションを表示した後に前記終了時処理を実行する処理、
比較の結果、前記視覚効果値が前記所定の値以下の場合に、前記アニメーション情報に基づくアニメーションを実行せずに前記ディスプレイに静止画を表示して、当該アニメーションの継続時間経過後に前記終了時処理を実行する処理、
を実行させるためのコンピュータプログラム。
【請求項１１】
請求項１０記載のコンピュータプログラムを記憶するコンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカルユーザインタフェース（以下、「ＧＵＩ：Graphical User Interface」という。）を用いた情報処理装置に関する。
【背景技術】
【０００２】
ユーザインタフェースにＧＵＩを用いたコンピュータ等の情報処理装置が一般的になっている。ＧＵＩを構成するＧＵＩオブジェクトには、時間経過により画像が変化するアニメーションを用いたものがある。以下、アニメーションを用いたＧＵＩオブジェクトを「アニメーションＵＩ」という。アニメーションＵＩは、ＧＵＩオブジェクトの美しさや楽しさを向上させ、ユーザの操作理解の向上に有効である。アニメーションＵＩを実現するＧＵＩツールキットは、アニメーションの終了時に終了ハンドラを実行することができる。例えば、アニメーションＵＩの終了後に別のＧＵＩオブジェクトを表示する処理は、アニメーションＵＩの終了ハンドラに別のＧＵＩオブジェクトを表示するコードを記載することで容易に実現可能である。
【０００３】
アニメーションＵＩは、処理負荷が大きいためにパーソナルコンピュータ、ゲーム機、スマートフォン等の処理性能が高い情報処理装置に利用されることが多い。しかし、昨今、ユーザのアニメーションＵＩへの慣れに応じて、処理性能がさほど高くない情報処理装置でアニメーションＵＩを使用する要求が高まっている。
アニメーションＵＩは、アニメーション実行時の処理負荷が大きくなる傾向にある。これは、アニメーションＵＩが一定時間毎に異なる画像を生成して表示する必要があるためである。そのためにアニメーションＵＩを多用すると、アニメーション実行による処理がＣＰＵ（Central Processing Unit）を専有してしまい、他の処理への影響が大きくなる。また、携帯端末では電池の減少が早くなる。アニメーションＵＩの処理負荷を低減するために、以下のような技術が提案されている。特許文献１は、アニメーションＵＩの表示中に描画処理が間に合わなくなる場合に、途中の画像の描画を省略することで処理負荷を低減する技術を開示する。特許文献２は、透過処理を行うアニメーションに対して、アニメーションの継続時間が短い場合に該アニメーションの処理を行わないことで処理負荷を低減する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２５４８６号公報
【特許文献２】特開２０１２−２２１０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アニメーションＵＩには、視覚効果の高い目立つものがある。視覚効果の高いアニメーションＵＩは、実行されなければユーザにとって物足りないものとなり、不安を与えることになる。上記の通り、従来、アニメーションＵＩに用いる画像の描画は、描画処理が間に合うか、或いは、アニメーションの継続時間の短さに基づいて省略されることがある。アニメーションは、描画が省略されることで中断する。従来は、視覚効果の高いアニメーションＵＩであっても、描画が省略されることで、中断する可能性があった。アニメーションＵＩの中断は、終了ハンドラを利用した連動機能の中止にもつながる。
【０００６】
本発明は、上記の問題を解決するために、アニメーションＵＩによる処理負荷を低減しつつ、終了ハンドラを利用した連動機能を実現する情報処理装置を提供することを主たる目的とする。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、アニメーションの継続時間を含む該アニメーションの実行に関する情報及び該アニメーションの終了時に実行される終了時処理に関する情報を含むアニメーション情報を取得する取得手段と、前記アニメーション情報に基づいて、当該アニメーションの視覚効果を定量的に表す視覚効果値を特定する特定手段と、特定された前記視覚効果値と所定の値とを比較する比較手段と、前記比較手段による比較結果に応じて、前記アニメーション情報に基づくアニメーションを実行した後に前記終了時処理を実行及び前記アニメーションを実行せずに当該アニメーションの継続時間経過後に前記終了時処理を実行、のいずれかを行う制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、視覚効果値に基づいてアニメーションを実行するか否かを決定することで、アニメーションＵＩによる処理負荷を低減しつつ、終了ハンドラを利用した連動機能を実現することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】（ａ）、（ｂ）はアニメーションＵＩの説明図。
【図２】情報処理装置のハードウェア構成図。
【図３】情報処理装置の機能ブロック図。
【図４】アニメーション情報の例示図。
【図５】フレーム情報の例示図。
【図６】（ａ）、（ｂ）はフレームの説明図。
【図７】アニメーションＵＩの実行時の処理を表すフローチャート。
【図８】（ａ）、（ｂ）は継続時間の経過中に行う処理を表すフローチャート。
【図９】フレーム情報の例示図。
【図１０】情報処理システムのハードウェア構成図。
【図１１】情報処理システムの機能ブロック図。
【図１２】視覚効果値の特定処理を表すフローチャート。
【図１３】アニメーションＵＩの実行時の処理を表すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照して実施形態を詳細に説明する。ただし、本実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定するものではない。
【００１１】
図１は、本実施形態で想定するアニメーションＵＩの説明図である。図１（ａ）は、ユーザが選択した機能の説明をＧＵＩオブジェクトであるアニメーションＵＩで行う場合の例示図である。図１（ｂ）は、表示が変化しないＧＵＩオブジェクトの例示図である。
【００１２】
図１（ａ）は、ユーザが選択した機能を説明するための画面である、確認用のダイアログボックス１０１〜１０６を表す。ダイアログボックス１０１〜１０６は、枠内にユーザが選択した機能に対応するアイコン１０７が表示され、その説明文章１０８が下側から上方にスライドインするアニメーションが表示される。アニメーションは、ダイアログボックス１０１〜１０６の順で表される。ダイアログボックス１０６は、説明文章１０８のスライドインが終了して、別のＧＵＩオブジェクトであるクローズボタン（close button）１０９が表示されている。
【００１３】
アニメーションＵＩによるアニメーションが終了した後に別のＧＵＩオブジェクトを表示することは、通常よく利用される手法である。このような動作は、アニメーションＵＩの終了ハンドラに「クローズボタンを表示する」旨をアニメーション情報として記載することで行われる。アニメーション情報は、アニメーションＵＩで再生されるアニメーション（動画）を定義する情報である。ＵＩツールキットは、このアニメーション情報に基づいて処理を実行することで、アニメーションＵＩによる動画が終了した後に別のＧＵＩオブジェクトを表示することができる。開発者は、アニメーション情報をＵＩツールキットに実行させるだけで、動画の終了後の処理を、複雑なプログラムを用いずに実現することができる。
【００１４】
図１（ｂ）は、ユーザが選択した機能を説明するための画面である、確認用のダイアログボックス１１０〜１１５を表す。ダイアログボックス１１０〜１１５は、枠内にユーザが選択した機能に対応するアイコン１１６が表示される。図１（ａ）とは異なり、アニメーションＵＩによる説明文章１０８の表示は行われない。しかし、ダイアログボックスの統一感を維持するために、図１（ａ）と同様のタイミングで、ダイアログボックス１１０〜１１５が順に表示される。ダイアログボックス１１５は、別のＧＵＩオブジェクトであるクローズボタン１１７が表示されている。
【００１５】
図１（ｂ）のようにアニメーションを用いないダイアログボックスの場合、開発者は、図１（ａ）の場合とは異なるダイアログボックスのプログラムを作成することになる。しかしながら、組み込み機器においてＧＵＩを用いる場合、使用するメモリ容量の削減、品質確保の面から、特定のプログラムを再利用することが要求される。そのために、組み込み機器において図１（ａ）、図１（ｂ）のようなＧＵＩオブジェクトを表示する場合、各ダイアログボックスの挙動の違いを再生するアニメーションの違いとし、そのアニメーションを再生する側のコードは同じものを用いることが多い。例えば、図１（ｂ）で再生するアニメーションは、説明文章１０８の可視属性を不可視に設定し、それ以外は図１（ａ）と同じにして表示される。図１（ａ）、図１（ｂ）のダイアログボックスは、それぞれ異なるアニメーションＵＩを再生するが、それ以外は同じプログラムコードを利用することになる。
【００１６】
［第１実施形態］
（構成）
図２は、ユーザインタフェースにＧＵＩを用いた情報処理装置のハードウェア構成図である。情報処理装置２００は、ＣＰＵ２０１、入出力Ｉ／Ｆ２０２、ＲＯＭ（Read Only Memory）２０４、及びＲＡＭ（Random Access Memory）２０５を備える。情報処理装置２００は、ディスプレイ２０６及び外部記憶装置２０８に接続される。情報処理装置２００の各構成要素と、ディスプレイ２０６とは、バス２０３を介して通信可能に接続される。情報処理装置２００と外部記憶装置２０８とは、入出力Ｉ／Ｆ２０２を介して通信可能に接続される。情報処理装置２００、ディスプレイ２０６、及び外部記憶装置２０８は、一体に構成されてもよい。このような構成は、例えばデジタルカメラ、スマートフォン、タブレット端末等により実現される。
【００１７】
図３は、情報処理装置２００の機能ブロック図である。各機能は、ＣＰＵ２０１がＲＯＭ２０４からコンピュータプログラムを読み込み、ＲＡＭ２０５を作業領域に用いて実行することで実現される。情報処理装置２００は、アニメーション情報取得部３０１、視覚効果値特定部３０２、比較部３０３、出力部３０４、ＵＩ制御部３０５、アニメーション情報格納部３０６として機能する。なお、これらの機能は少なくとも一部をハードウェアにより実現する構成であってもよい。
【００１８】
アニメーション情報取得部３０１は、アニメーション情報格納部３０６からアニメーション情報を取得する。アニメーション情報格納部３０６は、外部記憶装置２０８に形成され、アニメーションＵＩで再生されるアニメーションを定義するアニメーション情報を記憶する。アニメーション情報は、アニメーションの実行に関する情報及び該アニメーションの終了時に実行される終了時処理に関する情報を含む。
【００１９】
図４は、アニメーション情報の例示図である。アニメーション情報６０１は、「ＩＤ」で識別される。アニメーション情報６０１は、アニメーションの再生時間である「継続時間」、アニメーションの開始時の画像であるフレームを指示する「開始フレーム」、及びアニメーションの終了時の画像であるフレームを指示する「終了フレーム」を含む。これらは予め設定される情報群であり、ＧＵＩにおけるアニメーションを定義する。ＵＩツールキットは、このような構成のアニメーション情報に基づいて、「開始フレーム」のＧＵＩオブジェクトを「終了フレーム」のＧＵＩオブジェクトへ、「継続時間」をかけて変形させることで、ＧＵＩにおけるアニメーションを実行する。例えば、ＩＤが「ANIM01」で識別されるアニメーションは、５００ミリ秒かけて、開始フレーム「FR01」のＧＵＩオブジェクトが終了フレーム「FR02」のＧＵＩオブジェクトに変形する。
【００２０】
アニメーション情報６０１は、さらに、終了ハンドラにより終了時処理である「終了時アクション」が設定可能である。終了時アクションは、予め定義された処理であり、アニメーションの再生終了後に実行される。例えば、アニメーション情報６０１のＩＤが「ANIM01」で識別されるアニメーションは、終了時アクションに「Show("CloseButton")」が設定される。これは、"CloseButton"というＧＵＩオブジェクトを可視状態にするという意味である。終了時アクションで実行可能な処理は、ＵＩツールキットに依存する。終了時アクションには、特定のＧＵＩオブジェクトの可視状態の設定、ＧＵＩオブジェクトの移動、別アニメーションの起動、特定イベントの発行等がある。
【００２１】
アニメーション再生時の画像である各フレームは、例えばフレーム情報として定義される。図５は、フレーム情報の例示図である。フレーム情報７０１は、アニメーションＵＩに用いられるフレームを設定する。例えば、図４で開始フレームとして参照されるＩＤが「FR01」で識別されるフレームは、テキスト表示エリアを定義するＧＵＩオブジェクト「TEXT01」が位置（10,240）に配置され、可視状態で透過率が０％（不透過）に設定される。同様にＩＤが「FR02」で識別されるフレームは、ＧＵＩオブジェクト「TEXT01」が位置（10,120）に配置され、可視状態で透過率が０％（不透過）に設定される。このようなフレーム情報７０１は、例えばアニメーション情報格納部３０６にアニメーション情報６０１とともに格納される。或いは、外部記憶装置２０８内にフレーム情報７０１を格納するためのフレーム情報格納部をアニメーション情報格納部３０６とは別に設けてもよい。アニメーション情報取得部３０１は、アニメーションの実行時に、アニメーション情報で指示されるフレーム情報を取得する。
【００２２】
図６はフレームの説明図である。図６（ａ）は、ＩＤが「FR01」と「FR02」のフレームの説明図である。ＧＵＩを表示するディスプレイ２０６の表示領域８０３は、幅３２０、高さ２４０の大きさとする。
【００２３】
開始フレームであるフレーム「FR01」８０１の位置（10,240）には、ＧＵＩオブジェクト「TEXT01」８０４が配置される。フレーム「FR01」８０１の大きさは、表示領域８０３と同じである。ＧＵＩオブジェクト「TEXT01」８０４の表示位置が表示領域８０３の外になるために、ユーザは、この状態ではＧＵＩオブジェクト「TEXT01」８０４を視認できない。終了フレームであるフレーム「FR02」８０２の位置（10,120）には、ＧＵＩオブジェクト「TEXT01」８０４が配置される。フレーム「FR02」８０２の大きさは、表示領域８０３と同じである。ＧＵＩオブジェクト「TEXT01」８０４の表示位置が表示領域８０３の内側になるために、ユーザは、この状態でＧＵＩオブジェクト「TEXT01」８０４を視認することができる。このことから、フレーム「FR01」８０１からフレーム「FR02」８０２に表示が変化するアニメーションは、ＧＵＩオブジェクト「TEXT01」８０４が表示領域８０３の下方から表示領域８０３内にスライドインする動画となる。
【００２４】
図６（ｂ）は、ＩＤが「FR05」と「FR06」のフレームの説明図である。開始フレームであるフレーム「FR05」８０５の位置（50,120）には、ＧＵＩオブジェクト「IMAGE01」８０７が配置される。終了フレームであるフレーム「FR06」８０６の位置（200,120）には、ＧＵＩオブジェクト「IMAGE01」８０７が配置される。フレーム「FR05」８０５及びフレーム「FR06」８０６の大きさは、それぞれ表示領域８０３と同じである。ＧＵＩオブジェクト「IMAGE01」８０７は、フレーム「FR05」８０５及びフレーム「FR06」８０６のいずれでも可視状態にある。このことから、フレーム「FR05」８０５からフレーム「FR06」８０６に表示が変化するアニメーションは、ＧＵＩオブジェクト「IMAGE01」８０７が表示領域８０３内を左から右に移動する動画となる。
【００２５】
視覚効果値特定部３０２は、アニメーション情報取得部３０１で取得したアニメーション情報に基づいて、当該アニメーションのユーザに対する視覚効果を定量的に表す視覚効果値を特定する。視覚効果値が高いほどアニメーションがユーザにとって目立つものとなる。比較部３０３は、視覚効果値特定部３０２から視覚効果値を取得し、所定の閾値と比較する。比較部３０３による比較結果は、当該アニメーションがユーザにとって効果的であるか否かの判断基準となる。
【００２６】
ＵＩ制御部３０５は、比較部３０３から比較結果を取得し、アニメーション情報取得部３０１からアニメーション情報を取得する。ＵＩ制御部３０５は、比較結果に応じて、アニメーション情報通りにアニメーションを実行するか否かを判断する。ＵＩ制御部３０５は、例えば比較部３０３による比較の結果、視覚効果値が閾値よりも大きい場合にアニメーション情報通りにアニメーションを実行し、視覚効果値が閾値以下の場合にアニメーション情報通りにアニメーションを実行しない。
アニメーション情報通りにアニメーションを実行する場合、ＵＩ制御部３０５は、アニメーションを実行して、終了後にアニメーションＵＩの終了時の処理を実行する。アニメーションを実行する場合、ＵＩ制御部３０５は、フレーム毎の画像を作成し、出力部３０４によりディスプレイ２０６に表示する。
アニメーション情報通りにアニメーションを実行しない場合、ＵＩ制御部３０５は、アニメーションの継続時間経過後にアニメーションＵＩの終了時の処理を実行する。つまりＵＩ制御部３０５は、アニメーション情報通りにアニメーションを実行しない場合、アニメーションの継続時間だけ待機してアニメーションＵＩの終了ハンドラ（終了時アクション）のみを実行する。
【００２７】
（処理）
図７は、上記のような情報処理装置２００によるアニメーションＵＩの実行時の処理を表すフローチャートである。情報処理装置２００は、アニメーションＵＩの実行指示を受け付けてアニメーションＵＩを起動し、この処理を実行する。
【００２８】
アニメーションＵＩの実行指示を受け付けた情報処理装置２００は、アニメーション情報取得部３０１により、実行が指示されたアニメーションＵＩのアニメーション情報をアニメーション情報格納部３０６から取得する（Ｓ４０１）。アニメーション情報を取得した情報処理装置２００は、視覚効果値特定部３０２により、実行するアニメーションの視覚効果値を特定する（Ｓ４０２）。視覚効果値特定部３０２は、例えば、アニメーション情報で指示されるフレームの可視属性に基づいて視覚効果値を特定する。視覚効果値特定部３０２は、例えば以下の条件で視覚効果値を特定する。
開始フレーム及び終了フレームの可視属性が「不可視」：視覚効果値＝０
上記以外：視覚効果値＝１００
【００２９】
例えば図４に示すＩＤ「ANIM01」のアニメーションは、図５によると開始フレーム「FR01」及び終了フレーム「FR02」の可視属性がいずれも「可視」である。そのために視覚効果値特定部３０２は、ＩＤ「ANIM01」のアニメーションの視覚効果値を「１００」とする。ＩＤ「ANIM02」のアニメーションは、図５によると開始フレーム「FR03」及び終了フレーム「FR04」の可視属性がいずれも「不可視」である。そのために視覚効果値特定部３０２は、ＩＤ「ANIM02」のアニメーションの視覚効果値を「０」とする。
【００３０】
視覚効果値特定部３０２は、可視属性の他に透過属性を視覚効果値を特定するパラメータに用いてもよい。この場合、視覚効果値特定部３０２は、以下の条件で視覚効果値を特定する。
開始フレーム及び終了フレームの可視属性が「不可視」：視覚効果値＝０
上記以外で開始フレーム及び終了フレームの透過属性が「透過率９０％以上」：視覚効果値＝２０
上記以外：視覚効果値＝１００
【００３１】
例えば図４に示すＩＤ「ANIM03」のアニメーションは、図５によると開始フレーム「FR05」及び終了フレーム「FR06」がどちらも「可視」であり、透過率が９０％以上である。そのために視覚効果値特定部３０２は、ＩＤ「ANIM03」のアニメーションの視覚効果値を「２０」とする。
【００３２】
比較部３０３は、視覚効果値特定部３０２で特定された視覚効果値を所定の閾値と比較する（Ｓ４０３）。閾値は、例えばコンピュータプログラムの実行時にＲＡＭ２０５に記憶される。ここでは、閾値を「５０」とする。ＩＤ「ANIM01」の視覚効果値が「１００」であるために、比較部３０３は、ＩＤ「ANIM01」の視覚効果値が閾値よりも大きいと判断する。ＩＤ「ANIM02」の視覚効果値が「０」であるために、比較部３０３は、ＩＤ「ANIM02」の視覚効果値が閾値よりも小さいと判断する。ＩＤ「ANIM03」の視覚効果値が「２０」であるために、比較部３０３は、ＩＤ「ANIM03」の視覚効果値が閾値よりも小さいと判断する。
【００３３】
視覚効果値が閾値よりも大きい場合（Ｓ４０３：Y）、ＵＩ制御部３０５は、現在時刻を取得する（Ｓ４０４）。ＵＩ制御部３０５は、現在時刻により、アニメーションが開始されてからの時間を算出する。ＵＩ制御部３０５は、アニメーションが開始されてからの時間が、アニメーションの継続時間を経過したか否かを確認する（Ｓ４０５）。アニメーションの継続時間は、アニメーション情報に格納された数値であり、図４の例ではＩＤ「ANIM01」の場合に５００ミリ秒である。
【００３４】
アニメーションの継続時間を経過していない場合（Ｓ４０５：N）、ＵＩ制御部３０５は、現在時刻の画像を決定する（Ｓ４０７）。例えば、ＩＤ「ANIM01」のアニメーションは、開始フレーム「FR01」で定義された位置（10,240）から終了フレーム「FR02」で定義された位置（10,120）まで５００ミリ秒かけてＧＵＩオブジェクト「TEXT01」が移動する。ＵＩ制御部３０５は、現在時刻がＴミリ秒である場合、ＧＵＩオブジェクト「TEXT01」の位置を（１０，２４０−１２０／５００＊Ｔ）として算出する。例えば現在時刻がアニメーションの開始から１００ミリ秒であれば、ＧＵＩオブジェクト「TEXT01」の位置が（10,216）になる。
【００３５】
ＵＩ制御部３０５は、算出したＧＵＩオブジェクトの位置と、可視属性及び透視属性とに基づいて、アニメーションの現在時刻の画像を生成する。ＵＩ制御部３０５は、ＧＵＩオブジェクト「TEXT01」がテキスト表示エリアである場合、このテキスト表示エリア内に別途指定された文字列を表示し、これをこの時刻の画像とする。ＵＩ制御部３０５は、生成した画像を出力部３０４により出力して、ディスプレイ２０６に表示させる（Ｓ４０８）。ＵＩ制御部３０５は、画像をディスプレイ２０６に表示した後に、Ｓ４０４以降の処理を繰り返し行う。
【００３６】
アニメーションが開始されてからの時間がアニメーションの継続時間を経過した場合（Ｓ４０５：Y）、ＵＩ制御部３０５は、アニメーション情報に定義される終了時アクションを実行する（Ｓ４０６）。例えば、ＩＤ「ANIM01」のように終了時アクションに「Show("CloseButton")」が定義される場合、ＵＩ制御部３０５は、ＧＵＩオブジェクトであるクローズボタンを可視化して処理を終了する。
【００３７】
Ｓ４０２の処理で特定した視覚効果値が閾値以下の場合（Ｓ４０３：N）、ＵＩ制御部３０５は、アニメーション情報に設定された継続時間だけ待機した後に、該アニメーション情報に設定される終了時アクションを実行する（Ｓ４０９）。ＵＩ制御部３０５は、待機中に、静止画を出力部３０４により出力して、ディスプレイ２０６に表示させる。例えばＩＤ「ANIM02」のアニメーション情報は、視覚効果値が「０」であるために、閾値「５０」以下となる。ＩＤ「ANIM02」のアニメーション情報は、継続時間が５００ミリ秒であり、終了時アクションに「Show("CloseButton")」が設定される。そのためにＵＩ制御部３０５は、アニメーションの開始から５００ミリ秒が経過した後に、ＧＵＩオブジェクトであるクローズボタンを可視化して処理を終了する。ＵＩ制御部３０５は、アニメーションの継続時間の間、処理を中断するか、図８に示す処理を実行する。
【００３８】
図８は、視覚効果値が閾値以下の場合に、アニメーションの継続時間の経過中に行う処理を表すフローチャートである。図８（ａ）では、ＵＩ制御部３０５がアニメーションの継続時間後に起動するタイマを設定する（Ｓ５０１）。ＵＩ制御部３０５は、タイマの設定後に即時復帰する。例えばＵＩ制御部３０５は、Ｓ４０９の処理中に、Ｓ５０１の処理でアニメーションの開始から継続時間経過後にタイマを設定し、即時Ｓ４０９の処理に復帰する。
【００３９】
タイマを設定した場合、情報処理装置２００で実行されるイベントループにおいて、設定された時間後にタイマイベントがイベントキューに入る。図８（ｂ）は、イベントループの処理を表すフローチャートである。一般的なイベントループは、電源投入時に処理が開始され、電源遮断時に処理が終了する。情報処理装置２００は、イベントキューからイベントを一つ取得する（Ｓ５０２）。情報処理装置２００は、取得したイベントがＳ５０１で設定したアニメーションの継続時間後に起動するタイマに起因するものか否かを判断する（Ｓ５０３）。
【００４０】
タイマに起因しないイベントである場合（Ｓ５０３：N）、情報処理装置２００は、該イベントに対応する処理を行う（Ｓ５０４）。タイマに起因するイベントである場合（Ｓ５０３：Y）、情報処理装置２００は、ＵＩ制御部３０５へ、アニメーションの終了時アクションの実行を指示する（Ｓ５０５）。
【００４１】
上記の説明では、情報処理装置２００はフレーム情報に設定される可視属性や透過属性に基づいて視覚効果値を特定する例を説明した。これ以外に情報処理装置２００は、ＧＵＩオブジェクトの大きさなど１以上のパラメータに基づき、視覚効果値を算出することで特定してもよい。図９は、ＧＵＩオブジェクトの大きさによって視覚効果値を算出する場合に用いられるフレーム情報の例示図である。
【００４２】
フレーム情報９０１は、図５のフレーム情報７０１の可視属性及び透過属性に代えて、フレームの幅及び高さを設定する。視覚効果値特定部３０２は、フレーム情報の幅及び高さの属性を用いて、例えば以下の式により視覚効果値を算出する。
視覚効果値＝（開始フレームの幅＊開始フレームの高さ）＾０．５＋（終了フレームの幅＊終了フレームの高さ）＾０．５
【００４３】
この式によれば、開始フレーム「FR20」から終了フレーム「FR21」のアニメーションの視覚効果値は、「１０」となる。開始フレーム「FR30」から終了フレーム「FR31」のアニメーションの視覚効果値は、「２４０」となる。
【００４４】
視覚効果値特定部３０２は、フレームの位置の変位量を用いて、例えば以下の式により視覚効果値を算出してもよい。
視覚効果値＝（終了フレームのＸ座標−開始フレームのＸ座標）＾２＋（終了フレームのＹ座標＊開始フレームのＹ座標）＾２
【００４５】
この式によれば、開始フレーム「FR20」から終了フレーム「FR21」のアニメーションの視覚効果値は、「１４４００」となる。開始フレーム「FR30」から終了フレーム「FR31」のアニメーションの視覚効果値は、「９」となる。
【００４６】
また、視覚効果値特定部３０２は、開始フレーム及び終了フレームの位置がディスプレイ２０６の表示領域の内側が外側かに基づいて視覚効果値を特定してもよい。視覚効果値特定部３０２は、例えば開始フレーム及び終了フレームが表示領域の外側の場合に視覚効果値を「０」とし、それ以外の場合に視覚効果値を「１００」とする。
【００４７】
この式によれば、表示領域が幅「３２０」、高さ「２４０」である場合、開始フレーム「FR40」及び終了フレーム「FR41」が表示領域外である。そのために、開始フレーム「FR40」から終了フレーム「FR41」のアニメーションの視覚効果値は、「０」となる。
【００４８】
また、視覚効果値特定部３０２は、アニメーションの対象となるＧＵＩオブジェクトが他のＧＵＩオブジェクトの背後にあり、ユーザから見えない位置にあるか否かに基づいて視覚効果値を特定してもよい。視覚効果値特定部３０２は、例えば開始フレームから終了フレームに至るアニメーションが他のＧＵＩオブジェクトによりユーザに見えない場合に視覚効果値を「０」とし、それ以外の場合に視覚効果値を「１００」とする。
【００４９】
このように、視覚効果値は、フレームの大きさ、フレームの変位量、表示領域内か否か、他のＧＵＩオブジェクトに隠れているか否かといった属性でも特定される。また、視覚効果値は、これらの属性を組み合わせて特定されてもよい。例えば視覚効果値特定部３０２は、フレームの透過属性及び大きさ（幅、高さ）に基づいて、例えば以下の式により視覚効果値を特定する。この場合、視覚効果値は、フレームの面積が大きく、透過率が低いほど視覚効果値を高くなる。
視覚効果値＝（（開始フレームの幅＊開始フレームの高さ）＾０．５
＋（終了フレームの幅＊終了フレームの高さ）＾０．５）
＊（１−（開始フレームの透過率＋終了フレームの透過率）／２００）
【００５０】
このように複数の属性に基づいて視覚効果値を特定する場合、視覚効果値がよりユーザのメンタル・モデルに合致したものになる。
【００５１】
本実施形態の情報処理装置２００は、アニメーションＵＩで実行されるアニメーションの視覚効果を定量的に表す視覚効果値に基づいて、アニメーションを実行するか否かを判断する。視覚効果値が閾値よりも低い場合、情報処理装置２００は、該アニメーションの視覚効果が低く目立たないと判断して、アニメーションを実行しない。これによりアニメーションの表示による処理がＣＰＵ２０１の処理を専有することを防止することができる。視覚効果値が閾値よりも高い場合、情報処理装置２００は、該アニメーションの視覚効果が高く目立つと判断して、アニメーションを実行する。そのために、アニメーションが実行されないことによるユーザの不安を取り除くことができる。アニメーションを実行するか否かに関わらず、アニメーション終了時の処理は行われる。そのために、アニメーションの連動機能は、従来通り有効である。
【００５２】
［第２実施形態］
第１実施形態では、情報処理装置２００が視覚効果値に基づいてアニメーションの実行可否を判断する。視覚効果値は、アニメーション情報が変わらなければアニメーションＵＩの作成時に予め特定されていればよい。ＧＵＩを実行する情報処理装置は、予め特定された視覚効果値を用いてＧＵＩを実行することで、視覚効果値の特定処理を省略することができ、処理負荷の削減につながる。
【００５３】
図１０は、第２実施形態の情報処理システムのハードウェア構成図である。情報処理システムは、第１実施形態と同様のディスプレイ２０６の他に、第１情報処理装置１００１、第２情報処理装置１００２、及び外部記憶装置１００３を備える。第２情報処理装置１００２とディスプレイ２０６とは、バス２０３を介して通信可能に接続される。第１情報処理装置１００１及び第２情報処理装置１００２は、第１実施形態の情報処理装置２００同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、入出力Ｉ／Ｆを備えた構成である。第１情報処理装置１００１及び第２情報処理装置１００２は、それぞれ入出力Ｉ／Ｆにより外部記憶装置１００３との間で通信可能である。
【００５４】
第１情報処理装置１００１は、アニメーションＵＩの開発装置であり、アニメーションＵＩの実行に必要なアニメーション情報等の各種情報、プログラムの作成に用いられる。第１情報処理装置１００１は、アニメーションＵＩの開発時に該アニメーションの視覚効果値を特定する。第２情報処理装置１００２は、デジタルカメラ等の組み込み機器であり、第１情報処理装置１００１で開発されたプログラム、アニメーション情報等を外部記憶装置１００３を介して取得可能になっている。第２情報処理装置１００２は、ＧＵＩを実行する。
【００５５】
図１１は、このような情報処理システムの機能ブロック図である。図３に示す第１実施形態の情報処理装置２００の機能ブロックと同じものには同じ符号を付してある。同じ機能ブロックの説明は省略する。第１情報処理装置１００１の各機能は、第１情報処理装置１００１のＣＰＵがＲＯＭからコンピュータプログラムを読み込み、ＲＡＭを作業領域に用いて実行することで実現される。第２情報処理装置１００２の各機能は、第２情報処理装置１００２のＣＰＵがＲＯＭからコンピュータプログラムを読み込み、ＲＡＭを作業領域に用いて実行することで実現される。第１情報処理装置１００１は、アニメーション情報取得部３０１、視覚効果値特定部３０２、及び視覚効果値出力部１１０１として機能する。第２情報処理装置１００２は、比較部３０３、出力部３０４、ＵＩ制御部３０５、アニメーション情報取得部１１０２、及び視覚効果値取得部１１０３として機能する。
【００５６】
アニメーション情報格納部３０６は、予めアニメーション情報を格納するが、これは第１情報処理装置１００１により予め作成されたものである。アニメーション情報格納部３０６は、外部記憶装置１００３に形成され、第１情報処理装置１００１及び第２情報処理装置１００２との間でデータの送受信が可能に構成される。
【００５７】
第１情報処理装置１００１の視覚効果値出力部１１０１は、視覚効果値特定部３０２で特定された視覚効果値を視覚効果値格納部１１０４に記憶する。視覚効果値格納部１１０４は、外部記憶装置１００３に形成され、第１情報処理装置１００１及び第２情報処理装置１００２との間でデータの送受信が可能に構成される。
【００５８】
第２情報処理装置１００２の視覚効果値取得部１１０３は、外部記憶装置１００３に形成される視覚効果値格納部１１０４から視覚効果値を取得する。アニメーション情報取得部１１０２は、第１情報処理装置１００１のアニメーション情報取得部３０１からアニメーション情報を取得する。
【００５９】
通常、アニメーションＵＩの開発時には第１情報処理装置１００１と外部記憶装置１００３とが接続される。開発終了後には、第１情報処理装置１００１と外部記憶装置１００３とが切り離される。開発終了後、第２情報処理装置１００２がアニメーションＵＩを実行する場合には、第２情報処理装置１００２と外部記憶装置１００３とが接続される。なお、アニメーションＵＩの開発時に第１情報処理装置１００１と第２情報処理装置１００２とを同じバス上に設け、第１情報処理装置１００１から第２情報処理装置１００２のＲＯＭに直接書き込める構成としてもよい。この場合、第２情報処理装置１００２のＲＯＭにアニメーション情報格納部３０６及び視覚効果値格納部１１０４が形成される。
【００６０】
図１２は、第１情報処理装置１００１による視覚効果値の特定処理を表すフローチャートである。この処理は、開発者がアニメーションを編集してアニメーション情報をアニメーション情報格納部３０６に格納した後に実行される。
【００６１】
第１情報処理装置１００１のアニメーション情報取得部３０１は、視覚効果値を特定するアニメーション情報をアニメーション情報格納部３０６から取得する（Ｓ４０１）。アニメーション情報を取得した情報処理装置２００は、視覚効果値特定部３０２により、実行するアニメーションの視覚効果値を特定する（Ｓ４０２）。視覚効果値の特定方法は、第１実施形態で説明した通りである。視覚効果値出力部１１０１は、特定された視覚効果値を視覚効果値格納部１１０４に格納する（Ｓ１２０１）
【００６２】
図１３は、第２情報処理装置１００２によるアニメーションＵＩの実行時の処理を表すフローチャートである。第２情報処理装置１００２は、アニメーションＵＩの実行指示を受け付けてアニメーションＵＩを起動し、この処理を実行する。
【００６３】
アニメーションＵＩの実行指示を受け付けた第２情報処理装置１００２は、アニメーション情報取得部１１０２により、実行が指示されたアニメーションＵＩのアニメーション情報をアニメーション情報格納部３０６から取得する（Ｓ１３０１）。視覚効果値取得部１１０３は、実行が指示されたアニメーションＵＩのアニメーション情報の視覚効果値を視覚効果値格納部１１０４から取得する（Ｓ１３０２）。アニメーション情報及び視覚効果値を取得した第２情報処理装置１００２は、第１実施形態の図７のＳ４０３以降と同様の処理により、アニメーションＵＩを実行する。Ｓ４０３以降の処理については説明を省略する。
【００６４】
なお、視覚効果値は、アニメーション情報に紐付けて、或いはアニメーション情報に含まれて、アニメーション情報格納部３０６に格納されてもよい。この場合、視覚効果値格納部１１０４及び視覚効果値取得部１１０３は不要になる。第１情報処理装置１００１は、視覚効果値出力部１１０１により、視覚効果値をアニメーション情報格納部３０６に格納する。第２情報処理装置１００２は、アニメーション情報取得部１１０２により、アニメーション情報格納部３０６から、処理に用いるアニメーション情報及び視覚効果値を取得することになる。
【００６５】
上記の説明では、第２情報処理装置１００２を組み込み機器として説明したが、汎用のタブレット端末やパーソナルコンピュータであってもよい。この場合、第２情報処理装置１００２は、アニメーションＵＩを実行するためのプログラムを、第１情報処理装置１００１から外部記憶装置１００３を介して取得することなくダウンロード或いは記録媒体により取得する。アニメーション情報格納部３０６及び視覚効果値格納部１１０４は、第２情報処理装置１００２内のＲＯＭやＲＡＭに形成されることになる。
【００６６】
本実施形態の情報処理システムは、第１実施形態の情報処理装置２００と同様の効果を奏する。また、視覚効果値を開発段階で特定しておくために、アニメーションＵＩを実行する際の処理負荷を、さらに低減することができる。
【００６７】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵ、ＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2017111543.tif 000003
【図２】
2017111543.tif 000004
【図３】
2017111543.tif 000005
【図４】
2017111543.tif 000006
【図５】
2017111543.tif 000007
【図６】
2017111543.tif 000008
【図７】
2017111543.tif 000009
【図８】
2017111543.tif 000010
【図９】
2017111543.tif 000011
【図１０】
2017111543.tif 000012
【図１１】
2017111543.tif 000013
【図１２】
2017111543.tif 000014
【図１３】
2017111543.tif 000015