(57)【要約】  全体的なアニメーションの表示品質の低下を抑制し、アプリケーション開発者が意図したアニメーションを行うことが可能なアニメーション制御装置を提供する。このアニメーション制御装置（１０）は、部品優先度情報（ｄ２）を参照することにより、複数のアニメーション部品のそれぞれの優先度を特定する優先度特定部（１１）と、アニメーション実行部（１４）と、アニメーションに必要な演算処理量が第１の適正値よりも大きいか否かを判定する判定部（１２）と、大きいと判定された際に、優先度の低いアニメーション部品である変更対象部品のアニメーションの制御内容を第１の制御内容から第２の制御内容に変更する部品制御部（１３）とを備え、アニメーション実行部（１４）は、変更対象部品のアニメーションを第２の制御内容にしたがって行い、非変更対象部品のアニメーションを第１の制御内容にしたがって行う。
2012008097.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムによるアニメーションを制御するアニメーション制御装置であって、
前記アプリケーションプログラムに対して予め設定されている、表示対象の画像である複数の描画部品のそれぞれの優先度を示す部品優先度情報を参照することにより、前記複数の描画部品のそれぞれの優先度を特定する優先度特定部と、
前記複数の描画部品のアニメーションを行うアニメーション実行部と、
前記複数の描画部品の前記アニメーション実行部による第１の制御内容にしたがったアニメーションに必要な演算処理量である判定値が、第１の適正値よりも大きいか否かを判定する判定部と、
前記判定部によって大きいと判定された際に、前記優先度特定部によって特定される優先度が低いほど、当該優先度に対応する描画部品である変更対象部品のアニメーションに必要な演算処理量が少なくなるように、当該変更対象部品のアニメーションの制御内容を、前記第１の制御内容から第２の制御内容に変更する部品制御部とを備え、
前記アニメーション実行部は、前記変更対象部品のアニメーションを前記第２の制御内容にしたがって行い、前記複数の描画部品のうちの前記変更対象部品以外の描画部品である非変更対象部品のアニメーションを前記第１の制御内容にしたがって行う、
アニメーション制御装置。
【請求項２】
前記アニメーション制御装置は、さらに、
優先度ごとに、当該優先度に対応する第１の制御内容を示す部品状態制御情報を記憶している記憶部と、
前記複数の描画部品の前記アニメーション実行部による第１の制御内容にしたがったアニメーションに使用された演算処理量を計測する計測部とを備え、
前記判定部は、前記計測部によって計測された前記演算処理量を前記判定値として用いることによって前記判定を行い、
前記部品制御部は、前記記憶部に記憶されている前記部品状態制御情報によって示される、前記変更対象部品の優先度に対応する前記第１の制御内容を、前記第２の制御内容に変更し、
前記アニメーション実行部は、前記記憶部に記憶されている前記部品状態制御情報によって示される第１および第２の制御内容にしたがって前記複数の描画部品のアニメーションを行う、
請求項１に記載のアニメーション制御装置。
【請求項３】
前記アニメーション制御装置は、さらに、
ＣＰＵを備え、
前記アニメーション実行部は、前記複数の描画部品の前記第１の制御内容にしたがったアニメーションに必要な演算処理を前記ＣＰＵに実行させ、
前記判定部は、前記演算処理に使用される前記ＣＰＵの使用率を前記判定値として扱うことによって前記判定を行う、
請求項１または２に記載のアニメーション制御装置。
【請求項４】
前記部品制御部は、前記変更対象部品のアニメーションの制御内容を、アニメーションを実行することを示す前記第１の制御内容から、アニメーションを実行しないことを示す前記第２の制御内容に変更し、
前記アニメーション実行部は、前記第１の制御内容にしたがって前記非変更対象部品のアニメーションを行い、前記第２の制御内容にしたがって前記変更対象部品のアニメーションを行わない、
請求項１〜３の何れか１項に記載のアニメーション制御装置。 
【請求項５】
前記部品制御部は、前記変更対象部品のアニメーションの制御内容を、第１のフレームレートを示す前記第１の制御内容から、前記第１のフレームレートよりも低い第２のフレームレートを示す前記第２の制御内容に変更し、
前記アニメーション実行部は、前記第１の制御内容にしたがって前記非変更対象部品のアニメーションを第１のフレームレートで行い、前記第２の制御内容にしたがって前記変更対象部品のアニメーションを前記第２のフレームレートで行う、
請求項１〜３の何れか１項に記載のアニメーション制御装置。
【請求項６】
前記アニメーション制御装置は、さらに、
前記複数の描画部品のそれぞれに対して優先度を決定し、決定された優先度を示す前記部品優先度情報を生成する情報生成部を備える
請求項１〜５の何れか１項に記載のアニメーション制御装置。
【請求項７】
前記複数の描画部品には、第１の描画部品と、前記第１の描画部品よりも表示される領域のサイズが小さい第２の描画部品とがあり、
前記情報生成部は、前記第１の描画部品の方が前記第２の描画部品よりも優先度が高くなるように、前記第１および第２の描画部品の優先度を決定する
請求項６に記載のアニメーション制御装置。
【請求項８】
前記複数の描画部品には、第１の描画部品と、前記第１の描画部品よりもデータサイズが小さい第２の描画部品とがあり、
前記情報生成部は、前記第１の描画部品の方が前記第２の描画部品よりも優先度が高くなるように、前記第１および第２の描画部品の優先度を決定する
請求項６に記載のアニメーション制御装置。
【請求項９】
前記アニメーション制御装置は、さらに、
前記複数の描画部品のそれぞれに対して、当該描画部品がユーザによって操作された履歴を操作履歴として記録する履歴記録部を備え、
前記情報生成部は、描画部品ごとに、当該描画部品に対して記録されている前記操作履歴に基づいて優先度を決定する
請求項６に記載のアニメーション制御装置。
【請求項１０】
前記判定部は、さらに、
前記第１の適正値よりも小さい第２の適正値よりも前記判定値が小さいか否かを判定し、
前記部品制御部は、さらに、
前記判定部によって小さいと判定された際に、前記優先度特定部によって特定される優先度が低いほど、当該優先度に対応する描画部品である変更処理対象部品のアニメーションに必要な演算処理量が小さい変化率で多くなるように、当該変更処理対象部品のアニメーションの制御内容を、前記第１の制御内容から第３の制御内容に変更し、
前記アニメーション実行部は、さらに、前記変更処理対象部品のアニメーションを前記第３の制御内容にしたがって行い、前記複数の描画部品のうちの前記変更処理対象部品以外の描画部品である非変更処理対象部品のアニメーションを前記第１の制御内容にしたがって行う、
請求項１〜９の何れか１項に記載のアニメーション制御装置。
【請求項１１】
アプリケーションプログラムによるアニメーションを制御するアニメーション制御方法であって、
前記アプリケーションプログラムに対して予め設定されている、表示対象の画像である複数の描画部品のそれぞれの優先度を示す部品優先度情報を参照することにより、前記複数の描画部品のそれぞれの優先度を特定する優先度特定ステップと、
前記複数の描画部品のアニメーションを行うアニメーション実行ステップと、
前記複数の描画部品の前記アニメーション実行ステップによる第１の制御内容にしたがったアニメーションに必要な演算処理量である判定値が、第１の適正値よりも大きいか否かを判定する判定ステップと、
前記判定ステップによって大きいと判定された際に、前記優先度特定ステップによって特定される優先度が低いほど、当該優先度に対応する描画部品である変更対象部品のアニメーションに必要な演算処理量が少なくなるように、当該変更対象部品のアニメーションの制御内容を、前記第１の制御内容から第２の制御内容に変更する部品制御ステップとを含み、
前記アニメーション実行ステップでは、前記変更対象部品のアニメーションを前記第２の制御内容にしたがって行い、前記複数の描画部品のうちの前記変更対象部品以外の描画部品である非変更対象部品のアニメーションを前記第１の制御内容にしたがって行う、
アニメーション制御方法。
【請求項１２】
アプリケーションプログラムによるアニメーションを制御するためのプログラムであって、
前記アプリケーションプログラムに対して予め設定されている、表示対象の画像である複数の描画部品のそれぞれの優先度を示す部品優先度情報を参照することにより、前記複数の描画部品のそれぞれの優先度を特定する優先度特定ステップと、
前記複数の描画部品のアニメーションを行うアニメーション実行ステップと、
前記複数の描画部品の前記アニメーション実行ステップによる第１の制御内容にしたがったアニメーションに必要な演算処理量である判定値が、第１の適正値よりも大きいか否かを判定する判定ステップと、
前記判定ステップによって大きいと判定された際に、前記優先度特定ステップによって特定される優先度が低いほど、当該優先度に対応する描画部品である変更対象部品のアニメーションに必要な演算処理量が少なくなるように、当該変更対象部品のアニメーションの制御内容を、前記第１の制御内容から第２の制御内容に変更する部品制御ステップとをコンピュータに実行させ、
前記アニメーション実行ステップでは、前記変更対象部品のアニメーションを前記第２の制御内容にしたがって行い、前記複数の描画部品のうちの前記変更対象部品以外の描画部品である非変更対象部品のアニメーションを前記第１の制御内容にしたがって行う、
プログラム。
【請求項１３】
アプリケーションプログラムによるアニメーションを制御する集積回路であって、
前記アプリケーションプログラムに対して予め設定されている、表示対象の画像である複数の描画部品のそれぞれの優先度を示す部品優先度情報を参照することにより、前記複数の描画部品のそれぞれの優先度を特定する優先度特定部と、
前記複数の描画部品のアニメーションを行うアニメーション実行部と、
前記複数の描画部品の前記アニメーション実行部による第１の制御内容にしたがったアニメーションに必要な演算処理量である判定値が、第１の適正値よりも大きいか否かを判定する判定部と、
前記判定部によって大きいと判定された際に、前記優先度特定部によって特定される優先度が低いほど、当該優先度に対応する描画部品である変更対象部品のアニメーションに必要な演算処理量が少なくなるように、当該変更対象部品のアニメーションの制御内容を、前記第１の制御内容から第２の制御内容に変更する部品制御部とを備え、
前記アニメーション実行部は、前記変更対象部品のアニメーションを前記第２の制御内容にしたがって行い、前記複数の描画部品のうちの前記変更対象部品以外の描画部品である非変更対象部品のアニメーションを前記第１の制御内容にしたがって行う、
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイ上に表示される画像のアニメーションを制御する装置などに関する。
【背景技術】
【０００２】
従来、ユーザがテレビやビデオ、ＤＶＤ（Digital Versatile Disc）プレーヤといった家庭用電気機器（以下、機器と称す）を操作するために、テレビなどのディスプレイにその操作を受け付けるための画像を表示するＧＵＩ（Graphical User Interface）アプリケーションプログラム（以下、アプリケーションと称す）が利用されている。また、現在では、アニメーションを伴うアプリケーションが増加している。アニメーションとは、アニメーション部品の状態（例えば位置、大きさ、形状、色、および透明度などのうちの少なくとも１つ）が一定の時間間隔ごとに少しずつ変更されてそのアニメーション部品が表示されることである。一定の時間間隔は、ディスプレイごとに予め決まっており、具体的には、ディスプレイに設定される垂直同期周波数と呼ばれるディスプレイの更新レートにより決定される。また、アニメーション部品とは、アプリケーションによるアニメーションの対象として表示される画像（ＧＵＩ部品）である。【０００３】
つまり、従来の機器に備えられたアニメーション制御装置は、アプリケーションにしたがったアニメーションを実現するために、一定の時間間隔ごとに描画内容の更新処理を行う。例えば、ディスプレイに設定される垂直同期周波数が６０Ｈｚである場合、そのディスプレイでは、描画内容を１秒間に６０回だけ更新することができる。この場合、上述の一定の時間間隔は、１６．６ｍｓとなる。なお、上述の一定の時間間隔を、以下、更新間隔という。【０００４】
図１１は、従来のアニメーション制御装置によるアニメーションの一例を示す図である。【０００５】
従来のアニメーション制御装置は、アプリケーションを実行し、そのアプリケーションにしたがって、図１１の（ａ）に示すように、ディスプレイ２０１に表示されているアニメーション部品２０２を、予め定められた時間（描画処理時間）をかけて拡大しながら、予め定められた描画方向（図１１の（ａ）中の矢印）に移動させ、アニメーション部品２０３として表示させようとする。このとき、アニメーション制御装置は、アニメーションを実現するために、図１１の（ｂ）に示すように、描画処理時間の間、更新間隔ごとに描画内容の更新処理を行う。つまり、アニメーション制御装置は、アニメーションが開始されてから更新間隔が経過すると、アニメーション部品２０２を、少しだけ拡大して少しだけ上述の描画方向に移動させる。その後、アニメーション制御装置は、更新間隔が経過するごとに、表示されているアニメーション部品２０２に対して上述の拡大と移動（描画内容の更新処理）を繰り返し行うことによって、アニメーションの開始から描画処理時間経過後に、アニメーション部品２０３をディスプレイ２０１に表示させる。【０００６】
なお、アプリケーションには、描画処理時間の間に更新間隔が経過する回数だけ、上述の描画内容の更新処理を行うように設定されている。例えば、ディスプレイに設定される垂直同期周波数が６０Ｈｚであって、アニメーション部品２０２が移動してアニメーション部品２０３として表示されるまでの描画処理時間が２秒の場合、アプリケーションでは、１２０回分の描画内容の更新処理を行うよう設定されている必要がある。【０００７】
この描画内容の更新処理が更新間隔ごとに行われることで、アニメーションが実現される。つまり、アニメーション部品２０２が描画処理時間に描画方向に移動し、最終的に、アニメーション部品２０３として表示されることになる。【０００８】
ここで、現在、例えばネットワークなどによって配信された同じアプリケーションが互いに異なる複数の機器で実行されることがある。しかし、これらの機器に備えられたアニメーション制御装置では、例えば、それらの機器のＣＰＵ（Central Processing Unit）のクロック数が異なるために、ディスプレイの更新間隔ごとに、動かせるアニメーション部品の数が異なる場合がある。また、同じＣＰＵのクロック数の機器でも、ＣＰＵの使用状況に応じて、動かせるアニメーション部品の個数が異なる場合がある。【０００９】
そこで、従来、ＣＰＵ使用率に応じて、アニメーションの表示品質を、高い品質と低い品質とに切り替えるアニメーション制御装置が提供されている（例えば、特許文献１参照）。この特許文献１のアニメーション制御装置は、ＣＰＵ使用率が高いときには、アイコン、メニュー、および動画のフレームレートの変更を行い、ＣＰＵ使用率を下げる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２−２７８６５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記特許文献１のアニメーション制御装置では、アニメーションの全体的な表示品質が低下してしまい、アプリケーション開発者の意図したアニメーションを実現することができないという問題がある。【００１２】
具体的には、上記特許文献１のアニメーション制御装置では、ＣＰＵ使用率が低いときには、アプリケーションにしたがったアニメーションを行うが、ＣＰＵ使用率が高いときには、そのＣＰＵ使用率が低下するように、アプリケーションにしたがうことなく、アニメーションのフレームレート、すなわちアニメーションの描画処理量を変更する。このとき、アプリケーションによって表示される画面全体の品位、つまり、ディスプレイ上の全てのアニメーション部品のアニメーションの品位が低下してしまい、アプリケーション開発者が意図したアニメーションが行われない。【００１３】
そこで、本発明は、かかる問題に鑑みてなされたものであって、全体的なアニメーションの表示品質の低下を抑制し、アプリケーション開発者が意図したアニメーションを行うことを可能にしたアニメーション制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明に係るアニメーション制御装置は、アプリケーションプログラムによるアニメーションを制御するアニメーション制御装置であって、前記アプリケーションプログラムに対して予め設定されている、表示対象の画像である複数の描画部品のそれぞれの優先度を示す部品優先度情報を参照することにより、前記複数の描画部品のそれぞれの優先度を特定する優先度特定部と、前記複数の描画部品のアニメーションを行うアニメーション実行部と、前記複数の描画部品の前記アニメーション実行部による第１の制御内容にしたがったアニメーションに必要な演算処理量である判定値が、第１の適正値よりも大きいか否かを判定する判定部と、前記判定部によって大きいと判定された際に、前記優先度特定部によって特定される優先度が低いほど、当該優先度に対応する描画部品である変更対象部品のアニメーションに必要な演算処理量が少なくなるように、当該変更対象部品のアニメーションの制御内容を、前記第１の制御内容から第２の制御内容に変更する部品制御部とを備え、前記アニメーション実行部は、前記変更対象部品のアニメーションを前記第２の制御内容にしたがって行い、前記複数の描画部品のうちの前記変更対象部品以外の描画部品である非変更対象部品のアニメーションを前記第１の制御内容にしたがって行う。例えば、前記アニメーション制御装置は、さらに、ＣＰＵを備え、前記アニメーション実行部は、前記複数の描画部品の前記第１の制御内容にしたがったアニメーションに必要な演算処理を前記ＣＰＵに実行させ、前記判定部は、前記演算処理に使用される前記ＣＰＵの使用率を前記判定値として扱うことによって前記判定を行う。【００１５】
これにより、複数の描画部品（アニメーション部品）の第１の制御内容にしたがったアニメーションに必要な演算処理量であるＣＰＵの使用率（ＣＰＵ平均使用率）が第１の適正値よりも大きい場合には、優先度の低い描画部品、つまり変更対象部品のアニメーションの制御内容が第１の制御内容から第２の制御内容に変更されることによって、その優先度の低い描画部品のアニメーションは（演算処理量が少なくなるように）制限され、一方、優先度の高い描画部品、つまり非変更対象部品のアニメーションの制御内容は変更されないため、その優先度の高い描画部品のアニメーションは第１の制御内容にしたがって制限を受けることなく行われる。さらに、上述の演算処理量が多い場合には、優先度の低い描画部品のアニメーションが制限されるために、その演算処理量を抑えて、演算処理に余裕を与えることができ、優先度の高い描画部品のアニメーションを適切に行うことができる。したがって、複数の描画部品の全てのアニメーションが制限されることを防ぐことができ、全体的なアニメーションの表示品質の低下を抑制することができる。さらに、アプリケーション開発者は、自らが意図するアニメーションの対象とされる描画部品に対して高い優先度を部品優先度情報に設定しておけば、ＣＰＵの使用率が高い場合であっても、自らが意図したアニメーションを行うことができる。【００１６】
また、前記アニメーション制御装置は、さらに、優先度ごとに、当該優先度に対応する第１の制御内容を示す部品状態制御情報を記憶している記憶部と、前記複数の描画部品の前記アニメーション実行部による第１の制御内容にしたがったアニメーションに使用された演算処理量を計測する計測部とを備え、前記判定部は、前記計測部によって計測された前記演算処理量を前記判定値として用いることによって前記判定を行い、前記部品制御部は、前記記憶部に記憶されている前記部品状態制御情報によって示される、前記変更対象部品の優先度に対応する前記第１の制御内容を、前記第２の制御内容に変更し、前記アニメーション実行部は、前記記憶部に記憶されている前記部品状態制御情報によって示される第１および第２の制御内容にしたがって前記複数の描画部品のアニメーションを行う。【００１７】
これにより、複数の描画部品の第１の制御内容にしたがったアニメーションが行われると、そのアニメーションに使用された演算処理量が計測されて、その計測された実際の演算処理量が判定値として扱われるため、正確な判定値を用いて第１の適正値よりも大きいか否かの判定を行うことができる。さらに、その判定結果に応じて、記憶部に記憶されている部品状態制御情報の制御内容が変更される。したがって、複数の描画部品のアニメーションが再び行われるときには、更新されて記憶部に記憶されている部品状態制御情報にしたがってアニメーションが行われるため、過去の経験に基づいてアニメーションを適切に制御することができる。【００１８】
また、前記部品制御部は、前記変更対象部品のアニメーションの制御内容を、アニメーションを実行することを示す前記第１の制御内容から、アニメーションを実行しないことを示す前記第２の制御内容に変更し、前記アニメーション実行部は、前記第１の制御内容にしたがって前記非変更対象部品のアニメーションを行い、前記第２の制御内容にしたがって前記変更対象部品のアニメーションを行わない。【００１９】
これにより、優先度の低い描画部品のアニメーションが行われないため、複数の描画部品のアニメーションに使用される演算処理量を確実に抑えることができ、優先度の高い描画部品のアニメーションを、アプリケーション開発者の意図する第１の制御内容にしたがって確実に行うことができる。【００２０】
また、前記部品制御部は、前記変更対象部品のアニメーションの制御内容を、第１のフレームレートを示す前記第１の制御内容から、前記第１のフレームレートよりも低い第２のフレームレートを示す前記第２の制御内容に変更し、前記アニメーション実行部は、前記第１の制御内容にしたがって前記非変更対象部品のアニメーションを第１のフレームレートで行い、前記第２の制御内容にしたがって前記変更対象部品のアニメーションを前記第２のフレームレートで行う。【００２１】
これにより、優先度の低い描画部品のアニメーションのフレームレートが下がるため、複数の描画部品のアニメーションに使用される演算処理量を抑えることができるとともに、アニメーションが行われる描画部品の数が減少してしまうのを防ぐことができる。【００２２】
また、前記アニメーション制御装置は、さらに、前記複数の描画部品のそれぞれに対して優先度を決定し、決定された優先度を示す前記部品優先度情報を生成する情報生成部を備える。例えば、前記複数の描画部品には、第１の描画部品と、前記第１の描画部品よりも表示される領域のサイズが小さい第２の描画部品とがあり、前記情報生成部は、前記第１の描画部品の方が前記第２の描画部品よりも優先度が高くなるように、前記第１および第２の描画部品の優先度を決定する。または、前記複数の描画部品には、第１の描画部品と、前記第１の描画部品よりもデータサイズが小さい第２の描画部品とがあり、前記情報生成部は、前記第１の描画部品の方が前記第２の描画部品よりも優先度が高くなるように、前記第１および第２の描画部品の優先度を決定する。【００２３】
例えば、アプリケーション開発者は、表示される領域のサイズ、またはデータサイズが大きい描画部品ほど、その描画部品のアニメーションが行われることを強く望んでいる傾向にある。したがって、それらのサイズにしたがって優先度が決定され、その決定された優先度を示す部品優先度情報が生成されることによって、アプリケーション開発者は、優先度を部品優先度情報にわざわざ設定する必要がなく、アプリケーションの開発効率を向上することができる。【００２４】
また、前記アニメーション制御装置は、さらに、前記複数の描画部品のそれぞれに対して、当該描画部品がユーザによって操作された履歴を操作履歴として記録する履歴記録部を備え、前記情報生成部は、描画部品ごとに、当該描画部品に対して記録されている前記操作履歴に基づいて優先度を決定する。【００２５】
例えば、アプリケーション開発者は、ユーザによって操作された頻度が多い描画部品や、前回操作されたときからの経過時間が短い描画部品ほど、その描画部品のアニメーションが行われることを強く望んでいる傾向にある。したがって、描画部品の操作履歴に基づいて優先度が決定され、その決定された優先度を示す部品優先度情報が生成されることによって、アプリケーション開発者は、優先度を部品優先度情報にわざわざ設定する必要がなく、アプリケーションの開発効率を向上することができる。【００２６】
また、前記判定部は、さらに、前記第１の適正値よりも小さい第２の適正値よりも前記判定値が小さいか否かを判定し、前記部品制御部は、さらに、前記判定部によって小さいと判定された際に、前記優先度特定部によって特定される優先度が低いほど、当該優先度に対応する描画部品である変更処理対象部品のアニメーションに必要な演算処理量が小さい変化率で多くなるように、当該変更処理対象部品のアニメーションの制御内容を、前記第１の制御内容から第３の制御内容に変更し、前記アニメーション実行部は、さらに、前記変更処理対象部品のアニメーションを前記第３の制御内容にしたがって行い、前記複数の描画部品のうちの前記変更処理対象部品以外の描画部品である非変更処理対象部品のアニメーションを前記第１の制御内容にしたがって行う。【００２７】
例えば、優先度の低い描画部品に対する第１の制御内容は、アニメーションを制限するという内容であり、優先度の高い描画部品に対する第１の制御内容は、アニメーションを制限しないという内容である。このときに、複数の描画部品の第１の制御内容にしたがったアニメーションに必要な演算処理量であるＣＰＵの使用率（ＣＰＵ平均使用率）が第２の適正値よりも小さい場合には、優先度の低い描画部品、つまり変更処理対象部品のアニメーションの制御内容が第１の制御内容から第３の制御内容に変更されることによって、その変更処理対象部品のアニメーションに対する制限は解除される。したがって、第１の制御内容によって、優先度の低い描画部品に対するアニメーションの制限が必要以上に行われているような場合には、その制限を解除することができる。【００２８】
また、優先度が高、中および低のそれぞれの描画部品があれば、優先度が低い描画部品のアニメーションに必要な演算処理よりも、優先度が中程度の描画部品のアニメーションに必要な演算処理量の方が大きな変化率で多くなるように、優先度が中および低の描画部品のそれぞれのアニメーションの制御内容が第１の制御内容から第３の制御内容に変更される。つまり、優先度が中程度の描画部品の方が、優先度が低い描画部品よりも優先してそのアニメーションの制限が緩和される。したがって、アニメーションの制限が解除される場合でも、優先度の低い描画部品に対するアニメーションは、優先度が中および高の描画部品のアニメーションよりも制限された状態にしておくことができる。【００２９】
なお、本発明は、このようなアニメーション制御装置として実現することができるだけでなく、そのアニメーション処理装置における処理動作の方法、コンピュータにその処理動作をさせるためのプログラム、そのプログラムを格納する記憶媒体、またはアニメーション制御装置として機能する集積回路としても実現することができる。
【発明の効果】
【００３０】
本発明のアニメーション制御装置は、全体的なアニメーションの表示品質の低下を抑制し、アプリケーション開発者の意図したアニメーションを行うことができる。
【図面の簡単な説明】
【００３１】
【図１】図１は、本発明の実施の形態におけるアニメーション制御装置の構成の一例を示すブロック図である。
【図２】図２は、同上のＣＰＵ適正情報の一例を示す図である。
【図３】図３は、同上の部品優先度情報の一例を示す図である。
【図４】図４は、同上の部品状態制御情報の一例を示す図である。
【図５】図５は、同上の更新された部品状態制御情報の一例を示す図である。
【図６】図６は、同上のアニメーション制御装置によるアニメーションを示す図である。
【図７】図７は、同上のアニメーション制御装置の全体的な動作を示すフローチャートである。
【図８】図８は、同上の実行部の動作を示すフローチャートである。
【図９】図９は、同上の部品制御部の動作を示すフローチャートである。
【図１０】図１０は、本発明に係るアニメーション制御装置の構成を示すブロック図である。
【図１１】図１１は、従来のアニメーション制御装置によるアニメーションの一例を示す図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施形態におけるアニメーション制御装置について、図面を参照しながら説明する。
【００３３】
本実施の形態におけるアニメーション制御装置は、ＧＵＩアプリケーションプログラム（アプリケーション）を実行することによって、ＧＵＩとしての機能を実現するためのアニメーション部品（描画部品）のアニメーションを行う装置である。例えば、このようなアニメーション制御装置は、動画像や静止画の記録再生装置（例えば、ＤＶＤプレーヤ）などの機器に備えられ、アプリケーションを実行することによって、記録されている動画像や静止画のサムネイルの一覧を表示する。このとき、アニメーション制御装置は、例えばサムネイルをアニメーション部品として用い、それらのアニメーション部品（サムネイル）のアニメーションを行って、上記一覧を表示する。このようなアニメーション制御装置では、全体的なアニメーションの表示品質の低下を抑制し、アプリケーション開発者が意図したアニメーションを行うことができるという効果がある。
【００３４】
なお、本実施の形態において、アニメーションとは、アニメーション部品の状態（例えば位置、大きさ、形状、色、および透明度などのうちの少なくとも１つ）が更新間隔ごとに少しずつ変更されてそのアニメーション部品が表示されることである。また、アニメーションを行うという処理は、更新間隔ごとに、アニメーション部品の状態を変更し、その変更された状態のアニメーション部品を表示する処理である。
【００３５】
図１は、本実施の形態におけるアニメーション制御装置の構成の一例を示すブロック図である。
【００３６】
本実施の形態におけるアニメーション制御装置１００は、記憶部１０１、実行部１０２、ＣＰＵ１０３、部品制御部１０４および表示部１０５を備える。
【００３７】
記憶部１０１は、複数のアプリケーションａｐと、ＣＰＵ１０３の適正な使用率を示すＣＰＵ適正情報ｄ１と、複数のアニメーション部品のそれぞれの優先度を示す部品優先度情報ｄ２と、アニメーション部品の優先度に応じてそのアニメーション部品の状態（アニメーション）の制御内容を示す部品状態制御情報ｄ３とを記憶している。
【００３８】
実行部１０２は、記憶部１０１に記憶されている複数のアプリケーションａｐから何れか１つのアプリケーションａｐを選択し、その選択したアプリケーションａｐを読み出して実行する。以下、実行部１０２によって実行されているアプリケーションａｐを実行アプリケーションａｐという。
【００３９】
また、実行部１０２は、記憶部１０１に記憶されている部品優先度情報ｄ２および部品状態制御情報ｄ３に基づいて、複数のアニメーション部品のアニメーションの制御内容を特定する。そして、実行部１０２は、特定された制御内容にしたがって複数のアニメーション部品のアニメーションを行う。なお、その特定された制御内容が、アニメーションを行わないことを示すときには、実行部１０２は、その制御内容に対応するアニメーション部品のアニメーションを行わない。
【００４０】
また、実行部１０２は、複数のアニメーション部品のアニメーションを行うときには、描画処理時間の間に、描画内容の更新処理を更新間隔ごとに行う。この描画処理時間は、実行アプリケーションａｐによって決定された、アニメーションが行われる時間である。また、実行部１０２は、描画内容の更新処理では、アニメーションの対象とされる１つ以上のアニメーション部品の少なくとも一部が描かれた表示画像を生成し、その表示画像を表示部１０５に出力する。このような表示画像は更新間隔ごとに生成され、更新間隔ごとに生成される複数の表示画像はそれぞれ互いに異なっている。つまり、実行部１０２は、アニメーションを行うときには、表示画像上において、アニメーションの対象とされる１つ以上のアニメーション部品の状態が次第に変化するように、互いに異なる表示画像を更新間隔ごとに順次生成して出力する。なお、実行部１０２は、実行アプリケーションａｐに予め設定されている複数のアニメーション部品を部品格納部２００から読み出して上述の描画内容の更新処理に用いる。
【００４１】
また、実行部１０２は、アプリケーションａｐの実行およびアニメーションを行うときには、それらに必要な演算処理をＣＰＵ１０３に実行させる。
【００４２】
ＣＰＵ１０３は、実行部１０２からの指示に応じて、実行部１０２によるアプリケーションａｐの実行およびアニメーションに必要な演算処理を行う。
【００４３】
部品制御部１０４は、ＣＰＵ１０３のＣＰＵ平均使用率を算出し、そのＣＰＵ平均使用率と、記憶部１０１に記憶されていているＣＰＵ適正情報ｄ１とに基づいて、部品状態制御情報ｄ３の制御内容を変更する。なお、本実施の形態では、部品制御部１０４は、複数のアニメーション部品の実行部１０２による部品状態制御情報ｄ３にしたがったアニメーションに使用された演算処理量（ＣＰＵ使用率またはＣＰＵ平均使用率）を計測する計測部として構成されている。
【００４４】
表示部１０５は、例えば液晶ディスプレイまたはＰＤＰ（Plasma Display Panel）などからなり、更新間隔ごとに、実行部１０２から出力された表示画像を受け取り、その表示画像を表示する。
【００４５】
ここで、記憶部１０１に記憶されている各情報について詳細に説明する。
【００４６】
図２は、ＣＰＵ適正情報ｄ１の一例を示す図である。
【００４７】
ＣＰＵ適正情報ｄ１は、図２に示すように、記憶部１０１に記憶されているアプリケーションａｐごとに、そのアプリケーションａｐの名称（アプリケーション名）と、そのアプリケーションａｐに対するＣＰＵ１０３の適正な使用率の範囲（ＣＰＵ適正範囲）とを示す。なお、ＣＰＵ適正範囲は、機器（例えば記録再生装置）全体から見て、アプリケーションａｐがＣＰＵ１０３を使用してもよい適正な割合（例えば百分率）であり、そのアプリケーションａｐの開発者によって決定される。具体的には、ＣＰＵ適正情報ｄ１は、記録された写真を見るためのアプリケーションａｐについて、そのアプリケーションａｐのアプリケーション名「写真ビューワ」と、そのアプリケーションａｐに対するＣＰＵ適正範囲「２０〜３０％」とを示す。なお、このＣＰＵ適正範囲の上限値が第１の適正値であり、下限値が第２の適正値である。
【００４８】
図３は、部品優先度情報ｄ２の一例を示す図である。
【００４９】
部品優先度情報ｄ２は、図３に示すように、アプリケーションａｐに予め設定されているアニメーション部品ごとに、そのアニメーション部品の優先度を示す。このような優先度は、そのアプリケーションａｐの開発者によって決定される。例えば、図３に示す部品優先度情報ｄ２は、写真ビューワのアプリケーションａｐに予め設定されているアニメーション部品Ａ〜Ｅのそれぞれの優先度を示す。具体的には、部品優先度情報ｄ２は、アニメーション部品ＡおよびＢの優先度が「高」であることと、アニメーション部品Ｃ〜Ｅのそれぞれの優先度が「低」であることを示す。
【００５０】
図４は、部品状態制御情報ｄ３の一例を示す図である。 
【００５１】
部品状態制御情報ｄ３は、図４に示すように、優先度ごとに、その優先度に対応するアニメーション部品のアニメーションの制御内容を示す。制御内容は、例えば「アニメーション有」または「アニメーション無」である。「アニメーション有」はアニメーションを行うことを示し、「アニメーション無」はアニメーションを行わないことを示す。つまり、図４に示す部品状態制御情報ｄ３は、優先度「高」および「低」の何れに対しても、「アニメーション有」、つまりアニメーションを行うことを示す。このような部品状態制御情報ｄ３の制御内容は、部品制御部１０４によって優先度ごとに更新される。
【００５２】
図５は、更新された部品状態制御情報ｄ３の一例を示す図である。
【００５３】
例えば、部品状態制御情報ｄ３が更新されると、その更新された部品状態制御情報ｄ３は、優先度「高」に対して制御内容「アニメーション有」を示し、一方、優先度「低」に対しては制御内容「アニメーション無」を示す。つまり、図５に示す部品状態制御情報ｄ３は、優先度「高」に対応するアニメーション部品についてはアニメーションを行うことを示し、優先度「低」に対応するアニメーション部品にいてはアニメーションを行わないことを示す。
【００５４】
図６は、アニメーション制御装置１００によるアニメーションを示す図である。
【００５５】
例えば、実行部１０２は、上述の写真ビューワのアプリケーションａｐを実行アプリケーションａｐとして記憶部１０１から読み出して実行すると、写真の一覧をサムネイルで表示するためのアニメーションを行う。つまり、実行部１０２は、更新間隔ごとに、異なる表示画像を生成して表示部１０５に表示させる。写真の一覧には、サムネイルであるアニメーション部品Ａ〜Ｅが含まれる。
【００５６】
実行部１０２は、アニメーションを行う前に、まず、記憶部１０１から部品優先度情報ｄ２および部品状態制御情報ｄ３を読み出し、それらに基づいて、アニメーションの対象とされるアニメーション部品を選択する。つまり、実行部１０２は、部品優先度情報ｄ２に基づいて、アニメーション部品ＡおよびＢの優先度がそれぞれ「高」であって、アニメーション部品Ｃ〜Ｅの優先度がそれぞれ「低」であると判断する。さらに、実行部１０２は、図４に示す部品状態制御情報ｄ３に基づいて、優先度「高」および「低」のアニメーション部品に対してアニメーションを行うと判断する。その結果、実行部１０２は、アニメーションの対象とされるアニメーション部品としてアニメーション部品Ａ〜Ｅを選択する。
【００５７】
次に、実行部１０２は、図６の（ａ）→（ｂ）→（ｃ）に示すように、その選択されたアニメーション部品のアニメーションを行う。まず、実行部１０２は、アニメーションの開始時に、表示画像を生成して表示部１０５に表示させる。その結果、図６の（ａ）に示すように、アニメーション部品Ａ〜Ｅのうちアニメーション部品Ａの一部だけが表示部１０５の表示領域１０５ａの上部に表示される。
【００５８】
さらに、実行部１０２は、更新間隔が経過すると、新たな表示画像を生成して表示部１０５に表示させる。その結果、図６の（ｂ）に示すように、アニメーション部品Ａ〜Ｅのそれぞれの一部が表示部１０５の表示領域１０５ａに表示される。さらに、実行部１０２は、描画処理時間が経過すると、新たな表示画像を生成して表示部１０５に表示させる。その結果、図６の（ｃ）に示すように、アニメーション部品Ａ〜Ｅの全てが、表示部１０５の表示領域１０５ａ内の予め定められた位置で停止して表示される。
【００５９】
このような、図６の（ａ）→（ｂ）→（ｃ）に示すアニメーションは、部品状態制御情報ｄ３にしたがって制限を受けることなく行われ、アニメーション部品Ａ〜Ｅはそれぞれ表示領域１０５ａの外部から内部にフェードインするように表示される。なお、図６のアニメーション部品を起点とする点線の矢印は、アニメーション部品が移動する方向（描画方向）を示す。
【００６０】
部品制御部１０４は、記憶部１０１からＣＰＵ適正情報ｄ１を取得し、実行アプリケーションａｐのアニメーション（例えば、図６の（ａ）→（ｂ）→（ｃ）に示すアニメーション）が開始されると、ＣＰＵ１０３の使用率を監視する。また、ＣＰＵ適正情報ｄ１には、実行アプリケーションａｐ、すなわち写真ビューワのアプリケーションａｐのＣＰＵ適正範囲が示されている。そこで、部品制御部１０４は、アニメーションに対するＣＰＵ１０３の使用率に基づくＣＰＵ平均使用率がそのＣＰＵ適正範囲から外れているか否かを判定し、外れていれば部品状態制御情報ｄ３を更新する。例えば、ＣＰＵ１０３のＣＰＵ平均使用率がＣＰＵ適正範囲（第１の適正値）よりも高ければ、部品制御部１０４は、優先度「低」に対して制御内容「アニメーション無」が示されるように、部品状態制御情報ｄ３を更新する。つまり、図４に示す部品状態制御情報ｄ３は、図５に示す部品状態制御情報ｄ３に更新される。
【００６１】
実行部１０２は、このように部品状態制御情報ｄ３が更新されると、再び写真ビューワのアプリケーションａｐによるアニメーションを行うときには、その図５に示す更新された部品状態制御情報ｄ３にしたがってアニメーションを行う。つまり、実行部１０２は、そのアニメーションを再び行う前に、部品優先度情報ｄ２に基づいて、アニメーション部品ＡおよびＢの優先度がそれぞれ「高」であって、アニメーション部品Ｃ〜Ｅの優先度がそれぞれ「低」であると判断する。さらに、実行部１０２は、図５に示す更新された部品状態制御情報ｄ３に基づいて、優先度「高」のアニメーション部品のみに対してアニメーションを行うと判断する。その結果、実行部１０２は、アニメーションの対象となるアニメーション部品としてアニメーション部品ＡおよびＢのみを選択する。
【００６２】
次に、実行部１０２は、図６の（ａ）→（ｄ）→（ｃ）に示すように、選択されたアニメーション部品のアニメーションを行う。まず、実行部１０２は、アニメーションの開始時に、表示画像を生成して表示部１０５に表示させる。その結果、図６の（ａ）に示すように、アニメーション部品Ａ〜Ｅのうちアニメーション部品Ａの一部だけが表示部１０５の表示領域１０５ａの上部に表示される。
【００６３】
さらに、実行部１０２は、更新間隔が経過すると、新たな表示画像を生成して表示部１０５に表示させる。その結果、図６の（ｄ）に示すように、アニメーション部品ＡおよびＢの一部が表示部１０５の表示領域１０５ａに表示される。このとき、アニメーション部品Ｃ〜Ｅは表示されない。さらに、実行部１０２は、描画処理時間が経過すると、新たな表示画像を生成して表示部１０５に表示させる。その結果、図６の（ｃ）に示すように、アニメーション部品Ａ〜Ｅの全てが表示部１０５の表示領域１０５ａに表示される。
【００６４】
このような、図６の（ａ）→（ｄ）→（ｃ）に示すアニメーションは、部品状態制御情報ｄ３によって制限を受けて行われ、アニメーション部品ＡおよびＢだけがそれぞれ表示領域１０５ａの外部から内部にフェードインするように表示される。つまり、アニメーション部品Ｃ〜Ｄは、図６の（ｄ）に示すように、アニメーションが行われている間は表示されず、アニメーションが終了するとき、つまり、アニメーション部品ＡおよびＢの移動が停止するときに、図６の（ｃ）に示すように、予め定められた位置に唐突に表示される。
【００６５】
図７は、アニメーション制御装置１００の全体的な動作を示すフローチャートである。
【００６６】
アニメーション制御装置１００は、記憶部１０１に格納されている実行対象のアプリケーションａｐを実行する（ステップＳ１０１）。さらに、アニメーション制御装置１００は、部品優先度情報ｄ２および部品状態制御情報ｄ３に基づいて、実行アプリケーションａｐによるアニメーションに設定されている複数のアニメーション部品の中から、アニメーションの対象とされるアニメーション部品を選択する（ステップＳ１０２）。
【００６７】
次に、アニメーション制御装置１００は、ステップＳ１０２で選択されたアニメーション部品のアニメーションを行い、そのアニメーションが行われている間のＣＰＵ１０３のＣＰＵ使用率（機器全体に対して使用されている使用率）を、サンプリング時間ごとに計測（または取得）する（ステップＳ１０３）。
【００６８】
ステップＳ１０３のアニメーションが終了すると、アニメーション制御装置１００は、ステップＳ１０３で計測されたＣＰＵ使用率から、アニメーションのみに対してＣＰＵ１０３が使用されている使用率の平均値をＣＰＵ平均使用率として算出し、そのＣＰＵ平均使用率がＣＰＵ適正範囲から外れているか否かを判定する（ステップＳ１０４）。
【００６９】
ここで、アニメーション制御装置１００は、ＣＰＵ適正範囲から外れていると判定すると（ステップＳ１０４のＹ）、部品状態制御情報ｄ３を更新する（ステップＳ１０５）。一方、アニメーション制御装置１００は、ＣＰＵ適正範囲から外れていないと判別すると（ステップＳ１０４のＮ）、部品状態制御情報ｄ３を更新することなく処理を終了する。
【００７０】
このようなステップＳ１０１〜Ｓ１０５の処理は、アプリケーションａｐの実行の指示が受け付けられるごとに繰り返し実行される。したがって、アニメーション制御装置１００は、ステップＳ１０４またはＳ１０５の後に、アプリケーションａｐの実行の指示を受け付けると、再びステップＳ１０１からの処理を繰り返し実行する。つまり、ステップＳ１０５で部品状態制御情報ｄ３が更新されたときには、その更新された部品状態制御情報ｄ３が次のステップＳ１０２の処理に用いられる。
【００７１】
図８は、実行部１０２の動作を示すフローチャートである。
【００７２】
実行部１０２は、実行対象のアプリケーションａｐと、ＣＰＵ適正情報ｄ１と、部品優先度情報ｄ２と、部品状態制御情報ｄ３とを記憶部１０１から読み出す（ステップＳ２０１）。実行部１０２は、実行対象のアプリケーションａｐを実行し、実行アプリケーションａｐに対応するＣＰＵ適正範囲をＣＰＵ適正情報ｄ１から特定し、そのＣＰＵ適正範囲を部品制御部１０４に通知する（ステップＳ２０２）。
【００７３】
次に、実行部１０２は、部品優先度情報ｄ２と部品状態制御情報ｄ３とに基づいて、実行アプリケーションａｐに予め設定されている複数のアニメーション部品の中から、アニメーションの対象とされるアニメーション部品を選択する（ステップＳ２０３）。さらに、実行部１０２は、アニメーションを開始したことを部品制御部１０４に通知する（ステップＳ２０４）。
【００７４】
実行部１０２は、アニメーションの開始を部品制御部１０４に通知すると、アニメーションを開始し、描画内容の更新処理を実行する（ステップＳ２０５）。つまり、実行部１０２は、ステップＳ２０３で選択されたアニメーション部品を用いて表示画像を生成し、その表示画像を表示部１０５に出力する。表示部１０５は、その表示画像を実行部１０２から受け取って表示する。また、このようなステップＳ２０５が繰り返されるときには、実行部１０２は、実行アプリケーションａｐおよび部品状態制御情報ｄ３の制御内容に基づいて、表示画像の中のアニメーション部品の状態（位置、大きさ、形状、色、および透明度などのうちの少なくとも１つ）が変更されるように、表示画像を更新し、その更新された表示画像を表示部１０５に出力する。このような、ステップＳ２０５の処理が繰り返されることによってアニメーションが実現される。
【００７５】
実行部１０２は、ステップＳ２０５で描画内容の更新処理が実行されると、描画処理時間が経過したか否かを判別する（ステップＳ２０６）。ここで、経過したと判別すると（ステップＳ２０６のＹ）、実行部１０２は、アニメーションが終了したことを部品制御部１０４に通知する（ステップＳ２０７）。一方、経過していないと判別すると（ステップＳ２０６のＮ）、実行部１０２は、さらに、更新間隔が経過したか否かを判別する（ステップＳ２０８）。ここで、経過したと判別すると（ステップＳ２０８のＹ）、実行部１０２は、ステップＳ２０５からの処理を繰り返し実行する。一方、経過していないと判別すると（ステップＳ２０８のＮ）、実行部１０２は、ステップＳ２０６からの処理を繰り返し実行する。つまり、実行部１０２は描画処理時間または更新間隔の経過を待ち受ける。
【００７６】
図９は、部品制御部１０４の動作を示すフローチャートである。
【００７７】
部品制御部１０４は、実行部１０２から、ＣＰＵ適正範囲を取得し（ステップＳ３０１）、アニメーションの開始の通知を受けると（ステップＳ３０２）、サンプリング時間の繰り返し計測を開始する（ステップＳ３０３）。
【００７８】
次に、部品制御部１０４は、サンプリング時間が経過したか否かを判別する（ステップＳ３０４）。ここで、経過していないと判別すると（ステップＳ３０４のＮ）、部品制御部１０４は、ステップＳ３０４の処理を繰り返し実行する。つまり、部品制御部１０４はサンプリング時間の経過を待ち受ける。一方、経過したと判別すると（ステップＳ３０４のＹ）、部品制御部１０４は、ＣＰＵ１０３のＣＰＵ使用率Ｒ（ｎ）を取得して保存する（ステップＳ３０５）。例えば、機器またはアニメーション制御装置１００に使用されるオペレーティングシステムがＬｉｎｕｘの場合、／ｐｒｏｃディレクトリ以下にあるｓｔａｔファイルには、システムの状態を表す数値が格納されている。したがって、部品制御部１０４は、そのｓｔａｔファイルにアクセスし、アクセス時のＣＰＵ使用率を取得して保存する。なお、ＣＰＵ使用率Ｒ（ｎ）のｎは自然数であり、初期状態ではｎ＝１である。
【００７９】
次に、部品制御部１０４は、実行部１０２からアニメーションの終了の通知を受けたか否かを判別する（ステップＳ３０６）。ここで、部品制御部１０４は、通知を受けていないと判別すると（ステップＳ３０６のＮ）、ステップＳ３０４からの処理を繰り返し実行する。これにより、ステップＳ３０５が繰り返し行われることになる。このとき、ｎ＝ｎ＋１のように、ｎは１だけ増加される。したがって、ステップＳ３０５では、ｎ個のＣＰＵ使用率Ｒ（１）、Ｒ（２）、…、Ｒ（ｎ）が取得される。一方、部品制御部１０４は、通知を受けたと判別すると（ステップＳ３０６のＹ）、アニメーションの終了後のＣＰＵ使用率Ｒｆを取得して保持する（ステップＳ３０７）。このとき、部品制御部１０４は、ステップＳ３０５と同様の方法でＣＰＵ使用率Ｒｆを取得する。さらに、部品制御部１０４は、ステップＳ３０５で取得されて保存されたＣＰＵ使用率Ｒ（１）、Ｒ（２）、…、Ｒ（ｎ）と、ステップＳ３０７で取得して保存されたＣＰＵ使用率Ｒｆとを用いて、ＣＰＵ１０３のアニメーションのみに対する使用率の平均であるＣＰＵ平均使用率Ｒａを算出する（ステップＳ３０８）。例えば、部品制御部１０４は、ＣＰＵ平均使用率ＲａをＲａ＝（Ｒ（１）＋Ｒ（２）＋…＋Ｒ（ｎ））／ｎ−Ｒｆによって算出する。したがって、上述のサンプリング時間が短ければ短いほど、多くのＣＰＵ使用率Ｒ（ｎ）を取得することができ、正確なＣＰＵ平均使用率Ｒａを算出することができる。
【００８０】
そして、部品制御部１０４は、ステップＳ３０８で算出されたＣＰＵ平均使用率Ｒａが、ステップＳ３０１で取得されたＣＰＵ適正範囲から外れているか否かを判定する（ステップＳ３０９）。ここで、部品制御部１０４は、外れていると判定すると（ステップＳ３０９のＹ）、部品状態制御情報ｄ３を記憶部１０１から読み出し（ステップＳ３１０）、その部品状態制御情報ｄ３に示されている、低い優先度に対応する制御内容を変更する（ステップＳ３１１）。例えば、部品制御部１０４は、部品状態制御情報ｄ３に示される優先度のうち、閾値よりも低い優先度、または最も低い優先度に対応付けられている制御内容を変更する。これにより、部品状態制御情報ｄ３が更新される。その後、部品制御部１０４は、その更新された部品状態制御情報ｄ３を記憶部１０１に格納する（ステップＳ３１２）。このとき、記憶部１０１に格納されている更新前の古い部品状態制御情報ｄ３は上書きされて消去される。
【００８１】
このように本実施の形態では、複数のアニメーション部品の第１の制御内容にしたがったアニメーションに必要な演算処理量であるＣＰＵの使用率（ＣＰＵ平均使用率）が第１の適正値よりも大きい場合には、優先度の低い描画部品、つまり変更対象部品のアニメーションの制御内容が第１の制御内容から第２の制御内容に変更されることによって、その優先度の低いアニメーション部品のアニメーションは制限され、一方、優先度の高い描画部品、つまり非変更対象部品のアニメーションの制御内容は変更されないため、その優先度の高いアニメーション部品のアニメーションは第１の制御内容にしたがって制限を受けることなく行われる。さらに、上述の演算処理量が多い場合には、優先度の低いアニメーション部品のアニメーションが制限されるために、その演算処理量を抑えて、演算処理に余裕を与えることができ、優先度の高いアニメーション部品のアニメーションを適切に行うことができる。したがって、複数のアニメーション部品の全てのアニメーションが制限されることを防ぐことができ、全体的なアニメーションの表示品質の低下を抑制することができる。さらに、アプリケーション開発者は、自らが意図するアニメーションの対象とされるアニメーション部品に対して高い優先度を部品優先度情報ｄ２に設定しておけば、ＣＰＵの使用率が高い場合であっても、自らが意図したアニメーションを行うことができる。
【００８２】
以上、本発明に係るアニメーション制御装置について、上記実施の形態を用いて説明したが、本発明はこれらに限定されるものではない。
【００８３】
図１０は、本発明に係るアニメーション制御装置の構成を示すブロック図である。
【００８４】
アニメーション制御装置１０は、アプリケーションプログラムによるアニメーションを制御する装置であって、アプリケーションプログラムに対して予め設定されている、表示対象の画像である複数の描画部品のそれぞれの優先度を示す部品優先度情報ｄ２を参照することにより、複数の描画部品のそれぞれの優先度を特定する優先度特定部１１と、複数の描画部品のアニメーションを行うアニメーション実行部１４と、複数の描画部品のアニメーション実行部１４による第１の制御内容にしたがったアニメーションに必要な演算処理量である判定値が、第１の適正値よりも大きいか否かを判定する判定部１２と、判定部１２によって大きいと判定された際に、優先度特定部１１によって特定される優先度が低いほど、その優先度に対応する描画部品である変更対象部品のアニメーションに必要な演算処理量が少なくなるように、その変更対象部品のアニメーションの制御内容を、第１の制御内容から第２の制御内容に変更する部品制御部１３とを備え、アニメーション実行部１４は、変更対象部品のアニメーションを第２の制御内容にしたがって行い、複数の描画部品のうちの変更対象部品以外の描画部品である非変更対象部品のアニメーションを第１の制御内容にしたがって行う。
【００８５】
ここで、図１０に示す本発明と上記実施の形態との間には、以下のような対応関係がある。つまり、アニメーション制御装置１０は上記実施の形態のアニメーション制御装置１００に相当する。優先度特定部１１およびアニメーション実行部１４を含む構成要素は上記実施の形態の実行部１０２に相当し、判定部１２および部品制御部１３を含む構成要素は上記実施の形態の部品制御部１０４に相当する。また、アプリケーションプログラムおよび描画部品はそれぞれ、上記実施の形態のアプリケーションおよびアニメーション部品に相当する。さらに、第１の制御内容は、上記実施の形態の図４に示す部品状態制御情報ｄ３に含まれる、優先度ごとの制御内容、例えば「アニメーション有」に相当し、第２の制御内容は、上記実施の形態の図５に示す部品状態制御情報ｄ３に含まれる、優先度ごとの制御内容、例えば「アニメーション有」または「アニメーション無」に相当する。なお、第１の制御内容は、複数の描画部品のアニメーションのそれぞれに対して定められている制御内容であり、第２の制御内容はその第１の制御内容から変更された制御内容である。したがって、変更対象部品のアニメーションに対する制御内容が第１の制御内容から第２の制御内容に変更された後に、判定部１２により繰り返し判定が行われる場合には、その変更対象部品のアニメーションに対しては、その第２の制御内容が第１の制御内容として扱われる。
【００８６】
これにより、複数の描画部品（アニメーション部品）の第１の制御内容にしたがったアニメーションに必要な演算処理量であるＣＰＵの使用率（ＣＰＵ平均使用率）が第１の適正値よりも大きい場合には、優先度の低い描画部品のアニメーションの制御内容が第１の制御内容から第２の制御内容に変更されることによって、その優先度の低い描画部品のアニメーションは制限され、一方、優先度の高い描画部品のアニメーションの制御内容は変更されないため、その優先度の高い描画部品のアニメーションは第１の制御内容にしたがって制限を受けることなく行われる。さらに、上述の演算処理量が多い場合には、優先度の低い描画部品のアニメーションが制限されるために、その演算処理量を抑えて、演算処理に余裕を与えることができ、優先度の高い描画部品のアニメーションを適切に行うことができる。したがって、複数の描画部品の全てのアニメーションが制限されることを防ぐことができ、全体的なアニメーションの表示品質の低下を抑制することができる。さらに、アプリケーション開発者は、自らが意図するアニメーションの対象とされる描画部品に対して高い優先度を部品優先度情報ｄ２に設定しておけば、ＣＰＵの使用率が高い場合であっても、自らが意図したアニメーションを行うことができる。
【００８７】
したがって、本発明に係るアニメーション制御装置１０は、上記実施の形態の図１に示すように、表示部１０５およびＣＰＵ１０３などの構成要素を備えていなくてもよい。
【００８８】
また、上記実施の形態におけるアニメーション制御装置１００では、図３の部品優先度情報ｄ２に示すように、優先度を「高」と「低」の２段階で表していたが、３段階以上で細かく表してもよい。例えば、アニメーション部品の優先度を５段階で表し、アニメーション部品の優先度が、高いものから順にアニメーション部品Ａ、Ｂ、Ｃ、Ｄ、Ｅとなるように、部品優先度情報ｄ２を設定しておいてもよい。これにより、アニメーション部品Ａ、Ｂ、Ｃ、ＤおよびＥのそれぞれのアニメーションを個別に制限または制御することができる。また、このような場合、図７に示すフローチャートでは、ステップＳ１０３でアニメーションが行われ、ステップＳ１０４でＣＰＵ平均使用率がＣＰＵ適正範囲から外れると判定されるごとに、ステップＳ１０５で、部品状態制御情報ｄ３において、優先度が低いアニメーション部品Ｅから、Ｄ、Ｃ、Ｂへの順に、そのアニメーション部品に対する制御内容が「アニメーション有」から「アニメーション無」に変更される。
【００８９】
また、上記実施の形態におけるアニメーション制御装置１００では、図４および５の部品状態制御情報ｄ３に示すように、制御内容を「アニメーション有」または「アニメーション無」としたが、例えば、「通常フレームレート」または「低フレームレート」のように制御内容をフレームレートとしてもよい。なお、通常フレームレートは、低フレームレートよりもフレームレートが高い。これにより、優先度の高いアニメーション部品のアニメーションは通常のフレームレートで行われる一方で、優先度の低いアニメーション部品のアニメーションは低フレームレートで行われることになる。例えば、低フレームレートでは、更新間隔が２回経過するごとに１度だけ上述の描画内容の更新処理が行われるように、表示画像が間引きされる。これにより、アニメーションに対するＣＰＵ平均使用率を適正範囲に入れることができるとともに、優先度の低いアニメーションを全く行わない場合よりも、ユーザの見た目の劣化を最小限に抑えることができる。
【００９０】
また、上記実施の形態におけるアニメーション制御装置１００では、記憶部１０１に部品優先度情報ｄ２が予め記憶されていたが、この部品優先度情報ｄ２を自動的に生成してもよい。この場合、アニメーション制御装置１００は、複数のアニメーション部品のそれぞれに対して優先度を決定し、複数のアニメーション部品のそれぞれに決定された優先度を示す部品優先度情報ｄ２を生成する情報生成部を備える。情報生成部は、アニメーション部品の優先度を決定するためのパラメータとして、アニメーション部品の表示される領域のサイズ、データサイズ、ユーザの操作履歴、およびアニメーション部品のアニメーション効果のうち少なくとも１つを用いる。
【００９１】
例えば、そのパラメータは、アニメーション部品の表示される領域のサイズであり、複数のアニメーション部品には、第１のアニメーション部品と、第１のアニメーション部品よりも表示される領域のサイズが小さい第２のアニメーション部品とがある。このような場合、情報生成部は、第１のアニメーション部品の方が前記第２のアニメーション部品よりも優先度が高くなるように、第１および第２のアニメーション部品の優先度を決定する。
【００９２】
また、パラメータは、アニメーション部品のデータサイズであり、複数のアニメーション部品には、第１のアニメーション部品と、第１のアニメーション部品よりもデータサイズが小さい第２のアニメーション部品とがある。このような場合、情報生成部は、第１のアニメーション部品の方が第２のアニメーション部品よりも優先度が高くなるように、第１および第２のアニメーション部品の優先度を決定する。
【００９３】
例えば、アプリケーション開発者は、表示される領域のサイズまたはデータサイズが大きいアニメーション部品ほど、そのアニメーション部品のアニメーションが行われることを強く望んでいる傾向にある。したがって、それらのサイズにしたがって優先度が決定され、その決定された優先度を示す部品優先度情報ｄ２が生成されることによって、アプリケーション開発者は、優先度を部品優先度情報ｄ２にわざわざ設定する必要がなく、アプリケーションの開発効率を向上することができる。
【００９４】
また、パラメータはユーザの操作履歴である。この場合、アニメーション制御装置１００は、さらに、複数のアニメーション部品のそれぞれに対して、そのアニメーション部品がユーザによって操作された履歴を操作履歴として記録する履歴記録部を備え、情報生成部は、アニメーション部品ごとに、そのアニメーション部品に対して記録されている操作履歴に基づいて優先度を決定する。
【００９５】
例えば、アプリケーション開発者は、ユーザによって操作された頻度が多いアニメーション部品や、前回操作されたときからの経過時間が短いアニメーション部品ほど、そのアニメーション部品のアニメーションが行われることを強く望んでいる傾向にある。したがって、アニメーション部品の操作履歴に基づいて優先度が決定され、その決定された優先度を示す部品優先度情報ｄ２が生成されることによって、アプリケーション開発者は、優先度を部品優先度情報ｄ２にわざわざ設定する必要がなく、アプリケーションの開発効率を向上することができる。
【００９６】
また、上記実施の形態では、アニメーションに対するＣＰＵ平均使用率が適正範囲から外れていることの一例として、主に、そのＣＰＵ平均使用率が適正範囲よりも高い場合を挙げた。つまり、ＣＰＵ平均使用率が適正範囲の上限値である第１の適正値よりも高い場合に、優先度の低いアニメーション部品のアニメーションが制限されるように、部品状態制御情報ｄ３を更新した。
【００９７】
しかし、アニメーションに対するＣＰＵ平均使用率が適正範囲から外れているということは、そのＣＰＵ平均使用率が適正範囲よりも低い場合であってもよい。つまり、ＣＰＵ平均使用率が適正範囲の下限値である第２の適正値よりも低い場合には、優先度の低いアニメーション部品のアニメーションの制限が解除されるように、部品状態制御情報ｄ３を更新してもよい。このような場合、部品制御部１０４（判定部１２）は、さらに、第１の適正値よりも小さい第２の適正値よりもＣＰＵ平均使用率が小さいか否かを判定し、部品制御部１０４（部品制御部１３）は、さらに、小さいと判定された際に、優先度が低いほど、その優先度に対応するアニメーション部品である変更処理対象部品のアニメーションに必要な演算処理量が小さい変化率で多くなるように、その変更処理対象部品のアニメーションの制御内容を、第１の制御内容から第３の制御内容に変更する。そして、実行部１０２（アニメーション実行部１４）は、さらに、変更処理対象部品のアニメーションを第３の制御内容にしたがって行い、複数のアニメーション部品のうちのその変更処理対象部品以外のアニメーション部品である非変更処理対象部品のアニメーションを第１の制御内容にしたがって行う。
【００９８】
これにより、第１の制御内容によって、優先度の低いアニメーション部品に対するアニメーションの制限が必要以上に行われているような場合には、その制限を解除することができる。例えば、図５に示すように、部品状態制御情報ｄ３において、低い優先度に対して第１の制御内容「アニメーション無」が設定されている場合に、その部品状態制御情報ｄ３にしたがって複数のアニメーション部品のアニメーションが実行されると、複数のアニメーション部品のアニメーションに対するＣＰＵ平均使用率がＣＰＵ適正範囲（第２の適正値）よりも小さくなってしまうことがある。この場合、部品制御部１０４は、部品状態制御情報ｄ３の低い優先度に対して設定されている第１の制御内容「アニメーション無」を緩和し、第３の制御内容「低フレームレート」に更新する。これにより、複数のアニメーション部品のアニメーションに対するＣＰＵ平均使用率をＣＰＵ適正範囲内に入れることができ、より適切なアニメーションを実現することができる。
【００９９】
また、優先度が高、中および低のそれぞれのアニメーション部品があれば、優先度が低いアニメーション部品のアニメーションに必要な演算処理よりも、優先度が中程度のアニメーション部品のアニメーションに必要な演算処理量の方が大きな変化率で多くなるように、優先度が中および低のアニメーション部品のそれぞれのアニメーションの制御内容が第１の制御内容から第３の制御内容に変更される。つまり、優先度が中程度のアニメーション部品の方が、優先度が低いアニメーション部品よりも優先してそのアニメーションの制限が緩和される。したがって、アニメーションの制限が解除される場合でも、優先度の低いアニメーション部品に対するアニメーションは、優先度が中および高のアニメーション部品のアニメーションよりも制限された状態にしておくことができる。
【０１００】
また、上記実施の形態では、ＣＰＵ１０３の演算処理量として使用率（ＣＰＵ使用率またはＣＰＵ平均使用率）を用いたが、このような相対的な値である割合（百分率）ではなく、絶対的な値を用いてもよい。
【０１０１】
また、上記実施の形態では、複数のアニメーション部品Ａ〜Ｅの図４に示す部品状態制御情報ｄ３にしたがったアニメーションを実行し、その実行中のＣＰＵ平均使用率を取得、算出または計測したが、アニメーションを実行することなくそのＣＰＵ平均使用率を推定してもよい。例えば、アニメーション部品Ａ〜Ｅのデータサイズおよび部品状態制御情報ｄ３に示される制御内容に基づいてＣＰＵ平均使用率を推定する。これにより、アニメーション制御装置１００は、アニメーションを実行することなく、部品状態制御情報ｄ３を適切に更新することができる。
【０１０２】
また、以下のような場合も本発明に含まれる。
【０１０３】
（１）上記のアニメーション制御装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。上記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、アニメーション制御装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１０４】
（２）上記のアニメーション制御装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。上記ＲＡＭには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１０５】
また、上記のアニメーション制御装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部またはすべてを含むように１チップ化されていてもよい。
【０１０６】
また、ここでは、システムＬＳＩと呼称したが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限られるものではなく、専用回路または汎用プロセッサで実現してもよい。また、ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１０７】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて構成要素の集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１０８】
（３）上記のアニメーション制御装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。上記ＩＣカードまたは上記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。上記ＩＣカードまたは上記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、上記ＩＣカードまたは上記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１０９】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、上記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１１０】
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記デジタル信号であるとしてもよい。
【０１１１】
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１１２】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムにしたがって動作するとしてもよい。
【０１１３】
また、上記プログラムまたは上記デジタル信号を上記記録媒体に記録して移送することにより、または上記プログラムまたは上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１１４】
（５）さらに加えて、本発明に係るアニメーション制御装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管（ＣＲＴ）の他、液晶やＰＤＰ（プラズマディスプレイパネル）、有機ＥＬなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
【０１１５】
（６）上記実施の形態およびその他のバリエーションをそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１１６】
本発明に係るアニメーション制御装置は、全体的なアニメーションの表示品質の低下を抑制し、アプリケーション開発者が意図したアニメーションを行うことができるという効果を奏し、例えば、携帯電話、携帯音楽プレーヤ、デジタルカメラ、またはデジタルビデオカメラ等の電池駆動の携帯表示端末に適用することができるとともに、テレビ、デジタルビデオレコーダ、またはカーナビゲーション等の高解像度の情報表示機器における、メニュー表示、Ｗｅｂブラウザ、エディタ、ＥＰＧ、または地図表示等を行う情報表示手段として利用価値が高い。
【符号の説明】
【０１１７】
１０    アニメーション制御装置
１１    優先度特定部
１２    判定部
１３    部品制御部
１４    アニメーション実行部
１００    アニメーション制御装置
１０１    記憶部
１０２    実行部
１０３    ＣＰＵ
１０４    部品制御部
１０５    表示部
２００    部品格納部
ａｐ    アプリケーション 
ｄ１    ＣＰＵ適正情報
ｄ２    部品優先度情報
ｄ３    部品状態制御情報 
【図１】
2012008097.tif 000003
【図２】
2012008097.tif 000004
【図３】
2012008097.tif 000005
【図４】
2012008097.tif 000006
【図５】
2012008097.tif 000007
【図６】
2012008097.tif 000008
【図７】
2012008097.tif 000009
【図８】
2012008097.tif 000010
【図９】
2012008097.tif 000011
【図１０】
2012008097.tif 000012
【図１１】
2012008097.tif 000013
【国際調査報告】
2012008097.tif 000014
2012008097.tif 000015
2012008097.tif 000016
2012008097.tif 000017