(57)【要約】【課題】オブジェクトの表示状態の遷移を効率的に行わせることができるようにする。【解決手段】時刻ｔ1の状態から時刻ｔ2の状態にオブジェクトＡの表示状態を遷移させる場合、まず、最終的な遷移目標とする、図２の右側の表示状態（最終状態）を表す属性の値（ｘ＝１００，ｙ＝１００、rgba＝（２５５，２５５，２５５，２５５）、scale＝１０．０）が設定される。最終状態の各属性の値が設定された後、最終状態の各属性の値と、現在の表示状態（現在状態）の各属性の値（ｘ＝０，ｙ＝０，rgba＝（０，０，０，０），scale＝１．０）の差が求められ、その差を、所定の周期で、単位時間毎に順次埋めていくように表示の更新が行われる。本発明は、ユーザ操作などに応じてオブジェクトの表示状態を遷移させる情報処理装置に適用することができる。【選択図】図２
2006058985.tif 000002
【特許請求の範囲】
【請求項１】
対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置において、
前記オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定手段と、
前記設定手段により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出手段と、
前記算出手段により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新手段と
を備えることを特徴とする表示制御装置。
【請求項２】
前記設定手段は、位置、色、回転角、および、大きさのうちの少なくともいずれかにより表される表示状態を前記最終状態として設定する
ことを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記設定手段は、ユーザ操作に応じて表示状態の更新対象となるオブジェクト毎に前記最終状態を設定する
ことを特徴とする請求項１に記載の表示制御装置。
【請求項４】
前記オブジェクトの表示状態の更新が前記更新手段により開始された後に、他の最終状態を目標とするユーザ操作が行われた場合、前記設定手段は、そのユーザ操作に応じて、前記他の最終状態を、新たに目標とする前記オブジェクトの表示状態として設定し、
前記算出手段は、前記ユーザ操作が行われたときの前記オブジェクトの表示状態を現在状態として、前記他の最終状態との差から前記更新量を算出する
ことを特徴とする請求項１に記載の表示制御装置。
【請求項５】
対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置の表示制御方法において、
前記オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定ステップと、
前記設定ステップの処理により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出ステップと、
前記算出ステップの処理により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新ステップと
を含むことを特徴とする表示制御方法。
【請求項６】
対象とするオブジェクトの表示を所定の周期で更新させる処理をコンピュータに実行させるプログラムにおいて、
前記オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定ステップと、
前記設定ステップの処理により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出ステップと、
前記算出ステップの処理により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御装置および方法、並びにプログラムに関し、特に、オブジェクトの表示状態の遷移を効率的に行わせることができるようにする表示制御装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
ソフトウェアによるGUI(Graphical User Interface)において、あるオブジェクトを現在の表示状態から所望の表示状態に滑らかに遷移させるためのアニメーションの手法として、その所望の表示状態に至るまでの各アニメーションを時系列順に求めた上でそれらを比較し、さらに、各アニメーションの繋ぎ目を滑らかにするための補間アニメーションを必要に応じて生成し、各アニメーションと補間アニメーションを合成することによって実現する手法がある（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００２−１０９５６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このようなアニメーション手法の場合、アニメーションの表示を開始させる前に、所望の表示状態に至るまでの各アニメーションを求める必要があり、また、補間アニメーションを生成する必要があることから、アニメーションを実現するためのプログラムを作成するのに手間がかかり、実装コストが増大してしまうという課題があった。
【０００５】
また、実際にそれをコンピュータに実行させる場合においても、各アニメーションを求めるためと、補間アニメーションを生成するための計算が必要になることから、実行時の計算コストも増大してしまうという課題もあった。
【０００６】
さらに、それらの計算が行われ、アニメーションが一度開始された後は、仮に、所望の表示状態までの遷移過程においてユーザにより他の操作が行われ、そのオブジェクトを、いま、遷移させようとしている目標の表示状態と異なる表示状態に遷移させる必要が生じた場合であっても、先に目標としている表示状態にオブジェクトが遷移するまでは、ユーザ操作に対応した表示状態に遷移させることができないという課題があった。
【０００７】
すなわち、複数のアイコンが並んでおり、そのうちの第１のアイコン上にカーソルが表示されている状態において、例えば、カーソルを左に移動させるボタンが１回だけ操作されたことから、１つ左隣の第２のアイコンの上にカーソルが表示されるように表示状態を遷移させている間に、カーソルを右に移動させるボタンが１回だけ操作された場合、一度、その、左隣の第２のアイコンの上に移動されてから、１つ右隣の第１のアイコンの上に移動されるようにカーソルのアニメーションが行われる。これにより、ユーザ操作と、そのユーザ操作に対応したカーソル表示との間に僅かではあるが時間差が生じ、操作感が損なわれてしまうことになる。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、例えば、快適な操作感を確保しつつ、オブジェクトの表示状態の遷移を効率的に行わせることができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の表示制御装置は、対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置であって、オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定手段と、設定手段により設定された最終状態と、オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出手段と、算出手段により算出された更新量に基づいて、オブジェクトの表示状態を更新させる更新手段とを備えることを特徴とする。
【００１０】
設定手段は、位置、色、回転角、および、大きさのうちの少なくともいずれかにより表される表示状態を最終状態として設定するようにすることができる。
【００１１】
設定手段は、ユーザ操作に応じて表示状態の更新対象となるオブジェクト毎に最終状態を設定するようにすることができる。
【００１２】
オブジェクトの表示状態の更新が前記更新手段により開始された後に、他の最終状態を目標とするユーザ操作が行われた場合、設定手段は、そのユーザ操作に応じて、他の最終状態を、新たに目標とする前記オブジェクトの表示状態として設定し、算出手段は、ユーザ操作が行われたときのオブジェクトの表示状態を現在状態として、他の最終状態との差から更新量を算出するようにすることができる。
【００１３】
本発明の表示制御方法は、対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置の表示制御方法であって、オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定ステップと、設定ステップの処理により設定された最終状態と、オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出ステップと、算出ステップの処理により算出された更新量に基づいて、オブジェクトの表示状態を更新させる更新ステップとを含むことを特徴とする。
【００１４】
本発明のプログラムは、対象とするオブジェクトの表示を所定の周期で更新させる処理をコンピュータに実行させるプログラムであって、オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定ステップと、設定ステップの処理により設定された最終状態と、オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出ステップと、算出ステップの処理により算出された更新量に基づいて、オブジェクトの表示状態を更新させる更新ステップとを含むことを特徴とする。
【００１５】
本発明の表示制御装置および方法、並びにプログラムにおいては、オブジェクトの最終的な目標とする表示状態である最終状態が設定され、設定された最終状態と、オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量が算出される。また、算出された更新量に基づいて、オブジェクトの表示状態が更新される。
【発明の効果】
【００１６】
本発明によれば、オブジェクトの表示状態の遷移を効率的に行わせることができる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００１８】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００１９】
請求項１に記載の表示制御装置は、対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置であって、前記オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定手段（例えば、図９のステップＳ１６の処理を実行する図３のアプリケーション３１）と、前記設定手段により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出手段（例えば、図１０のステップＳ３４の処理を実行する図３の更新量算出部４２）と、前記算出手段により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新手段（例えば、図１０のステップＳ３５の処理を実行する図３の状態更新要求部４３）とを備えることを特徴とする。
【００２０】
請求項２に記載の表示制御装置は、前記設定手段は、位置（例えば、図４の属性値ｘN，ｙN）、色（例えば、図４の属性値rgbaN）、回転角、および、大きさ（例えば、図４の属性値scaleN）のうちの少なくともいずれかにより表される表示状態を前記最終状態として設定することを特徴とする。
【００２１】
請求項５に記載の表示制御方法は、対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置の表示制御方法であって、オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定ステップ（例えば、図９のステップＳ１６）と、前記設定ステップの処理により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出ステップ（例えば、図１０のステップＳ３４）と、前記算出ステップの処理により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新ステップ（例えば、図１０のステップＳ３５）とを含むことを特徴とする。
【００２２】
請求項６に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項５に記載の表示制御方法と同様である。
【００２３】
以下、本発明の実施の形態について図を参照して説明する。
【００２４】
図１は、本発明を適用した表示制御装置１の構成例を示すブロック図である。
【００２５】
CPU(Central Processing Unit)１１は、ROM(Read Only Memory)１２に記憶されているプログラム、または、記憶部１８からRAM(Random Access Memory)１３にロードされたプログラムに従って各種の処理を実行する。RAM１３にはまた、CPU１１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００２６】
CPU１１、ROM１２、およびRAM１３は、バス１４を介して相互に接続される。このバス１４にはまた、入出力インタフェース１５も接続される。
【００２７】
入出力インタフェース１５には、キーボード、マウス、または、図示せぬリモートコントローラからの赤外線を受光する受光部などよりなる入力部１６、LCD(Liquid Crystal Display)などよりなる出力部１７、ハードディスクなどより構成される記憶部１８、ネットワークを介しての通信処理を行う通信部１９が接続されている。
【００２８】
入出力インタフェース１５にはまた、必要に応じてドライブ２０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブルメディア２１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部１８にインストールされる。
【００２９】
このような構成を有する表示制御装置１においては、例えば、図２に示すようなアニメーションが行われる。
【００３０】
図２は、出力部１７に表示される、時刻ｔ1の画面（図２の左側）と時刻ｔ2の画面（図２の右側）の例を示す図である。ここでは、長方形のオブジェクトＡ（objectＡ）の表示状態の遷移について説明する。
【００３１】
時刻ｔ1において、オブジェクトＡの画面上の位置はｘ＝０，ｙ＝０で表され、rgba（赤、緑、青、α値（透過度））の各値は０で表されている。また、オブジェクトＡの大きさは１．０で表されている。
【００３２】
この状態において、例えば、画面上の位置がｘ＝１００，ｙ＝１００で表され、rgbaの各値が２５５で表され、また、大きさが１０．０で表される時刻ｔ2の表示状態にオブジェクトＡの表示状態を遷移させる場合（画面表示を変更させる場合）、表示制御装置１においては、まず、ｘ＝１００，ｙ＝１００、rgba＝（２５５，２５５，２５５，２５５）、scale＝１０．０が、最終的な遷移目標とする表示状態（以下、最終状態という）を表す属性の値として設定される。
【００３３】
また、このように最終状態の各属性の値が設定された後、その最終状態の各属性の値と、現在の表示状態（以下、現在状態という）の各属性の値の差が求められ、その差を、所定の周期で、単位時間毎に徐々に埋めていくように表示の更新が行われる。
【００３４】
例えば、図２の時刻ｔ1の状態から時刻ｔ2の状態に１０単位時間で表示状態を遷移させる場合、それぞれの表示の更新が等間隔で行われるものとすると、１単位時間あたりの各属性の値は、属性ｘについては、（１００−０）／１０＝１０ずつ更新され、属性ｙについては、（１００−０）／１０＝１０ずつ更新される。また、属性rgbaの各値については、（２５５−０）／１０＝２５．５ずつ（実際には、整数の値ずつ）更新され、属性scaleは、（１０．０−１．０）／１０＝０．９ずつ更新される。
【００３５】
従って、時刻ｔ1から１単位時間経過後のオブジェクトＡの表示状態は、例えば、ｘ＝１０，ｙ＝１０，rgba＝（２６，２６，２６，２６），scale＝０．９で表される。また、時刻ｔ1から２単位時間経過後のオブジェクトＡの表示状態は、例えば、ｘ＝２０，ｙ＝２０，rgba＝（５２，５２，５２，５２），scale＝１．８で表される。以下、同様に、単位時間が経過する毎に、最終状態との差を徐々に埋めるように、オブジェクトＡの表示状態が更新される。
【００３６】
すなわち、オブジェクトの現在状態の属性値をＶt、最終状態の属性値をＶg、１回の表示状態更新後のオブジェクトの属性値をＶt+1で表すとすると、属性値Ｖt+1は下式で表される。
Ｖt+1  ＝  Ｖt＋ｋ（Ｖg−Ｖt）
【００３７】
ここで、係数ｋは、０以上、１未満の所定の値であり、上述した例の場合、係数ｋの値は１／１０＝０．１（「１０」は最終状態に到達するまでの単位時間の数）となる。
【００３８】
なお、係数ｋの値は、最終状態に到達するまで固定の値とすることも可能であるが、表示状態の１回の更新毎に変更することによって、例えば、表示状態の遷移の開始直後には１回の更新毎の間隔（更新前と更新後の属性値の差）を広くとり、最終状態に近づくにつれ、１回の更新毎の間隔を狭くしていくような、いわゆるファストインスローアウトのような表示を実現させることも可能である。この場合、係数ｋには、表示状態の遷移の開始直後には比較的大きな値が設定され、最終状態に近づくにつれ、次第に小さな値が設定される。
【００３９】
このように、表示制御装置１においては、あるオブジェクトの表示状態を遷移させるために、表示状態の遷移対象とするオブジェクトの最終状態に至るまでの各表示状態（アニメーション）を求める計算や、滑らかな遷移を実現するための補間する表示状態を生成するための計算は行われず、単に、現在状態と最終状態の差を所定の周期で徐々に埋めていくだけであるから、そのような各種の計算が必要になる場合に較べて計算コストを減らすことができる。また、表示状態の遷移が上式のような簡単な式で表されるから、実装コストも減らすことができる。
【００４０】
このような表示状態の遷移は、例えば、カーソルの移動や、所定の数だけ並んで表示されているアイコン全体が、その色を変えながらまとめて移動するような、１つのオブジェクトに注目したときに形状の複雑な変化を伴わない表示状態の遷移に特に有効である。
【００４１】
表示制御装置１の動作についてはフローチャートを参照して後述する。
【００４２】
図３は、表示制御装置１の機能構成例を示すブロック図である。図３の構成のうちの少なくとも一部は、図１のCPU１１により所定のプログラムが実行されることによって実現される。
【００４３】
アプリケーション３１は、入力部１６からの入力を監視し、出力部１７に表示されているオブジェクトの表示状態を遷移させる必要があるイベントがユーザ操作などに応じて発生したか否かを判断する。そのようなイベントが発生したと判断した場合、アプリケーション３１は、ユーザ操作に対応したオブジェクトの最終状態を判断し、最終状態の登録をアニメーション駆動部３２に要求する。
【００４４】
例えば、複数のアイコンが並んで表示されており、そのうちの１つのアイコンの上にカーソルが表示されている状態において、１つ隣のアイコンにカーソルを移動させるユーザ操作が行われた場合、アプリケーション３１は、イベントが発生したと判断し、さらに、１つ隣のアイコンの上に表示されている状態をカーソルの最終状態として判断する。
【００４５】
アプリケーション３１から最終状態の登録が要求されることに応じて、アニメーション駆動部３２においては、アニメーション駆動部３２から最終状態保持部３３に対して最終状態保持器の生成、登録が要求される。ここで、最終状態保持器は、オブジェクトの最終状態を保持するためのものであり、最終状態保持部３３によりリストに登録される。
【００４６】
また、アプリケーション３１は、最終状態保持器が最終状態保持部３３により生成され、リストに登録された場合、最終状態保持部３３に対して、最終状態を表す各属性の値を最終状態保持器に設定することを要求する。
【００４７】
アニメーション駆動部３２は、アプリケーション３１から最終状態の登録が要求されたとき、最終状態保持器の生成、登録を最終状態保持部３３に要求する。また、アニメーション駆動部３２は、オブジェクトの表示状態の更新要求がタイマ３４から供給される毎に、最終状態保持部３３に表示状態の更新を要求する。
【００４８】
最終状態保持部３３は、保持部４１、更新量算出部４２、および状態更新要求部４３から構成される。
【００４９】
保持部４１は、アプリケーション３１により設定された最終状態を最終状態保持器を用いて保持する。
【００５０】
図４は、保持部４１により保持される最終状態をリスト状に表した図である。
【００５１】
保持部４１は、アニメーション駆動部３２から最終状態保持器の生成、登録が要求されることに応じて、１つの最終状態保持器を生成し、それをリストに登録する。各最終状態保持器には、アプリケーション３１により設定された、最終状態を表す各属性の値が設定される。
【００５２】
図４の例においては、表示状態の遷移対象とするオブジェクト（使役対象）である使役対象１乃至Ｎについて、それぞれの最終状態である最終状態１乃至Ｎが登録されている。また、それぞれの最終状態を表す各属性の値（［］内の値）も登録されている。
【００５３】
保持部４１は、例えば、このようなリストを用いてそれぞれの使役対象の最終状態を保持し、管理する。ある使役対象について、登録されている最終状態までその表示状態が遷移された場合、保持部４１は、その使役対象に関する最終状態の登録をリストから解除し、破棄する。
【００５４】
更新量算出部４２は、アニメーション駆動部３２から表示状態の更新が要求されたとき、それぞれの使役対象について、保持部４１に保持されている最終状態と、現在状態との差を求め、求めた差から、今回の表示状態の更新の要求（今回の更新タイミング）に応じて、更新させる表示状態の更新量（現在状態から最終状態に近づくような次の表示状態までの量）を算出する。更新量算出部４２により算出された更新量は状態更新要求部４３に通知される。更新量算出部４２による更新量の算出は、例えば、上述した数式に基づいて行われる。
【００５５】
状態更新要求部４３は、更新量算出部４２により算出された更新量の分だけ、現在状態から次の表示状態に使役対象の表示状態を更新することをGUIコンポーネント３５に対して要求する。
【００５６】
図５は、このような保持部４１、更新量算出部４２、および状態更新要求部４３からなる最終状態保持部３３の状態遷移の例を示す図である。
【００５７】
アニメーション駆動部３２からの要求に応じて最終状態保持器が生成され、リストに登録されたとき、最終状態保持部３３（保持部４１）においては、アプリケーション３１による設定に応じて、各属性の最終状態値（最終状態を表す各属性の値）が設定される（State１）。
【００５８】
State１において、アニメーション駆動部３２により表示状態の更新が要求されたとき、使役対象の表示状態の更新中の状態になる（State２）。基本的に、属性値が最終状態値に到達するまで、この状態は維持される。
【００５９】
State２においては、表示状態の更新が要求される毎に、表示状態の更新が繰り返される。また、属性値が最終状態値に到達する前に、新しい最終状態の設定が要求されたとき、最終状態保持部３３の状態はState１に戻り、新たに要求された最終状態の属性値が設定される。
【００６０】
このように、属性値が最終状態値に到達する前に、最終状態の設定が新たに要求されたとき、それまで設定されていた最終状態を目標とする表示状態の更新は終了され、それ以降、新たに設定された最終状態を目標とする表示状態の更新が開始される。
【００６１】
このことから、一度、ある最終状態に向けて表示状態の更新が開始された場合であっても、その後にユーザにより他の操作が行われ、それまでの表示状態と異なる表示状態を目標として使役対象の表示状態を更新させる必要が生じたときには、その、新たに設定された表示状態を目標として使役対象の表示状態が更新されることになる。
【００６２】
例えば、複数のアイコンが並んでおり、そのうちの第１のアイコン上にカーソルが表示されている状態において、カーソルを左に移動させるボタンが１回だけ操作されたことから、１つ左隣の第２のアイコンの上にカーソルが表示されるように表示状態を更新させている間に、カーソルを右に移動させるボタンが１回だけ操作された場合、第１のアイコン上から第２のアイコン上へのカーソルの移動は、カーソルを右に移動させるボタンが操作された時点で終了され、そこから、後から行われたユーザ操作に応じて、第１のアイコンの上にカーソルが表示されるように表示状態の更新が行われることになる。
【００６３】
これにより、ユーザ操作と、それに対応するカーソルの表示に時間差が生じ、操作感が損なわれてしまうといったことを防止することができる。
【００６４】
このようにして表示の更新が行われるState２においては、表示状態の更新を中止することが要求された場合、最終状態の登録が解除され、リストから破棄される。全ての属性の値が最終状態値に到達した場合、最終状態保持部３３の状態はState２からState３に遷移し、その後、最終状態の登録が解除され、リストから破棄される。
【００６５】
図３の説明に戻り、タイマ３４は、表示状態の更新要求を所定の周期でアニメーション駆動部３２に出力する。なお、表示状態の更新のトリガとなるものを所定の周期でアニメーション駆動部３２に与えるものであれば、表示状態の更新要求を供給するタイマ３４に替えて、どのようなものを設けるようにすることも可能である。
【００６６】
GUIコンポーネント３５は、状態更新要求部４３からの要求に応じて、所定の更新量の分だけ更新された表示状態になるように使役対象の描画をレンダリングシステム３６に要求する。
【００６７】
レンダリングシステム３６は、GUIコンポーネント３５からの要求に応じて使役対象の描画を行う。
【００６８】
図６および図７は、図３の各ブロック間の信号の流れ、および、各ブロックによる処理の例を示す図である。図６は、イベントが発生してから最終状態が設定されるまでの信号の流れ、および、処理の例を示し、図７は、最終状態が設定されてから実際に描画が行われるまでの信号の流れ、および、処理の例を示す。
【００６９】
図６において、アプリケーション３１は、入力部１６からイベントが入力されてきたとき（矢印１）、最終状態を判断し（ループ２）、最終状態の登録、すなわち、最終状態保持器の取得をアニメーション駆動部３２に要求する（矢印３）。
【００７０】
アニメーション駆動部３２は、アプリケーション３１から最終状態の登録が要求されたとき、最終状態保持器の生成、リストへの登録を最終状態保持部３３に要求する（矢印４）。
【００７１】
アプリケーション３１は、最終状態保持器が最終状態保持部３３により生成され、リストに登録された場合、その最終状態保持器に、最終状態を表す各属性の値を設定する（矢印５）。
【００７２】
以上の各ブロック間の信号の流れ、および、各ブロックによる処理により、最終状態の設定が行われる。
【００７３】
一方、図７において、アニメーション駆動部３２は、所定の周期で供給されてくるタイマ３４からの表示状態の更新要求（矢印１）に応じて、最終状態保持部３３に対して表示状態の更新を要求する（矢印２）。
【００７４】
最終状態保持部３３の更新量算出部４２は、アニメーション駆動部３２から表示状態の更新が要求されたとき、GUIコンポーネント３５に問い合わせることによって、表示状態を更新させることが必要になったそれぞれの使役対象の現在状態を取得する（矢印３）。
【００７５】
また、更新量算出部４２は、取得した現在状態と、保持部４１に保持されている最終状態との差を求め、求めた差から、今回の更新量を算出する（ループ４）。
【００７６】
状態更新要求部４３は、更新量算出部４２により算出された更新量の分だけ、現在状態から次の表示状態に使役対象の表示状態を更新することをGUIコンポーネント３５に要求する（矢印５）。
【００７７】
GUIコンポーネント３５は、状態更新要求部４３からの要求に応じて、所定の更新量の分だけ更新された表示状態になるように、使役対象の描画をレンダリングシステム３６に要求する（矢印６）。この要求に応じて、レンダリングシステム３６により使役対象の描画が行われる（矢印７）。
【００７８】
次に、フローチャートを参照して、表示制御装置１の動作について説明する。
【００７９】
始めに、図８のフローチャートを参照して、表示制御装置１の表示制御処理について説明する。
【００８０】
ステップＳ１において、最終状態設定処理が行われる。これにより、使役対象の最終状態が最終状態保持部３３に設定される。最終状態設定処理の詳細については図９のフローチャートを参照して後述する。この処理は、基本的には、図６を参照して説明したものと同様である。
【００８１】
最終状態が設定された後、ステップＳ２において、状態更新処理が行われる。これにより、タイマ３４により状態更新要求が発生される毎に、現在状態と最終状態の差を徐々に埋めるように使役対象の表示状態が更新される。例えば、使役対象の表示状態が最終状態に達したとき、状態更新処理は終了され、図８の表示制御処理は終了される。
【００８２】
ステップＳ２において行われる状態更新処理の詳細については図１０のフローチャートを参照して後述する。この処理は、基本的には、図７を参照して説明したものと同様である。
【００８３】
ここで、図９のフローチャートを参照して、図８のステップＳ１において行われる最終状態設定処理について説明する。
【００８４】
ステップＳ１１において、アプリケーション３１は、入力部１６からイベントが入力されてきたか否かを判定し、イベントが入力されてきたと判定するまで待機する。
【００８５】
アプリケーション３１は、ステップＳ１１において、イベントが入力されてきたと判定した場合、ステップＳ１２に進み、使役対象の最終状態を判断する。
【００８６】
ステップＳ１３において、アプリケーション３１は、最終状態を設定するための最終状態保持器の取得をアニメーション駆動部３２に要求する。この要求を受けたアニメーション駆動部３２から最終状態保持部３３に対して、最終状態保持器の生成、リストへの登録が要求される。
【００８７】
ステップＳ１４において、最終状態保持部３３の保持部４１は、いま選択されている最終状態（イベントが発生することに応じて表示状態を更新することが必要になった使役対象の最終状態）の最終状態保持器が既にリストに登録されているか否かを判定し、登録されていないと判定した場合、ステップＳ１５に進む。
【００８８】
ステップＳ１５において、保持部４１は、最終状態保持器を生成し、それをリストに登録する。
【００８９】
アプリケーション３１は、ステップＳ１６において、最終状態を表す各属性の値を最終状態保持器に設定する。
【００９０】
最終状態を表す各属性の値が設定された後、または、ステップＳ１４において、最終状態保持器が既にリストに登録されていると判定された場合、処理は図８のステップＳ２に進む。
【００９１】
次に、図１０のフローチャートを参照して、図８のステップＳ２において行われる状態更新処理について説明する。
【００９２】
ステップＳ３１において、アニメーション駆動部３２は、タイマ３４からの表示状態の更新要求があったか否かを判定し、更新要求があったと判定するまで待機する。
【００９３】
アニメーション駆動部３２は、ステップＳ３１において、更新要求があったと判定した場合、ステップＳ３２に進み、表示状態の更新を最終状態保持部３３に要求する。
【００９４】
最終状態保持部３３の更新量算出部４２は、ステップＳ３３において、GUIコンポーネント３５に問い合わせることによって、それぞれの使役対象の現在状態を取得し、ステップＳ３４に進み、ステップＳ３３で取得した現在状態と、保持部４１に保持されている最終状態との差を求め、求めた差から、今回の更新量を算出する。更新量算出部４２により算出された更新量は状態更新要求部４３に通知される。
【００９５】
ステップＳ３５において、状態更新要求部４３は、更新量算出部４２により算出された更新量の分だけ、現在状態から次の表示状態に使役対象の表示状態を更新することをGUIコンポーネント３５に要求する。
【００９６】
ステップＳ３６において、GUIコンポーネント３５は、所定の更新量の分だけ更新された表示状態になるように使役対象の描画をレンダリングシステム３６に要求する。
【００９７】
GUIコンポーネント３５からの要求に応じて、レンダリングシステム３６は、ステップＳ３７において、使役対象の描画を行う。
【００９８】
状態更新要求部４３は、ステップＳ３８において、使役対象の表示状態が最終状態に到達したか否かを判定し、最終状態に到達していないと判定した場合、ステップＳ３１に戻り、それ以降の処理を繰り返し実行する。すなわち、次の状態更新要求がタイマ３４からアニメーション駆動部３２に供給されることに応じて、最終状態に近づくように使役対象の表示状態が順次更新される。
【００９９】
一方、ステップＳ３８において、状態更新要求部４３は、使役対象の表示状態が最終状態に到達したと判定した場合、ステップＳ３９に進み、保持部４１に対して、最終状態を保持していた最終状態保持器の登録の解除と、リストからの破棄を要求する。その後、処理は図８のステップＳ２に戻り、図８の表示制御処理は終了される。
【０１００】
以上の処理により、それぞれの使役対象の表示状態が最終状態に達し、ユーザ操作に応じた表示が実現される。
【０１０１】
以上においては、本発明をカーソル表示に適用した場合について主に説明したが、当然、本発明は、カーソル表示以外の、各種のオブジェクトの表示にも適用することが可能である。
【０１０２】
また、以上においては、最終状態などの各表示状態は、位置、色、大きさの属性値により表されるものとしたが、これ以外にも、オブジェクトの表示状態が回転しながら更新される場合、その回転角の属性値によっても表示状態が表されるようにしてもよいし、回転角の属性値以外の他の各種の属性値により表示状態が表されるようにしてもよい。
【０１０３】
なお、本明細書において、各ステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１０４】
【図１】本発明を適用した表示制御装置の構成例を示すブロック図である。
【図２】アニメーションの例を示す図である。
【図３】表示制御装置の機能構成例を示すブロック図である。
【図４】最終状態のリストの例を示す図である。
【図５】最終状態保持部の状態遷移の例を示す図である。
【図６】図３の各ブロック間の信号の流れ、および、各ブロックによる処理の例を示す図である。
【図７】図３の各ブロック間の信号の流れ、および、各ブロックによる処理の他の例を示す図である。
【図８】表示制御装置の表示制御処理について説明するフローチャートである。
【図９】図８のステップＳ１において行われる最終状態設定処理について説明するフローチャートである。
【図１０】図８のステップＳ２において行われる状態更新処理について説明するフローチャートである。
【符号の説明】
【０１０５】
１  表示制御装置，  ３１  アプリケーション，  ３２  アニメーション駆動部，  ３３  最終状態保持部，  ３４  タイマ，  ３５  GUIコンポーネント，  ３６  レンダリングシステム
【図１】
2006058985.tif 000003
【図２】
2006058985.tif 000004
【図３】
2006058985.tif 000005
【図４】
2006058985.tif 000006
【図５】
2006058985.tif 000007
【図６】
2006058985.tif 000008
【図７】
2006058985.tif 000009
【図８】
2006058985.tif 000010
【図９】
2006058985.tif 000011
【図１０】
2006058985.tif 000012
【手続補正書】
【提出日】平成17年12月26日(2005.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置において、
前記オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定手段と、
前記設定手段により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出手段と、
前記算出手段により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新手段と
を備えることを特徴とする表示制御装置。
【請求項２】
前記設定手段は、位置、色、回転角、および、大きさのうちの少なくともいずれかにより表される表示状態を前記最終状態として設定する
ことを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記設定手段は、ユーザ操作に応じて表示状態の更新対象となるオブジェクト毎に前記最終状態を設定する
ことを特徴とする請求項１に記載の表示制御装置。
【請求項４】
前記オブジェクトの表示状態の更新が前記更新手段により開始された後に、他の最終状態を目標とするユーザ操作が行われた場合、前記設定手段は、そのユーザ操作に応じて、前記他の最終状態を、新たに目標とする前記オブジェクトの表示状態として設定し、
前記算出手段は、前記ユーザ操作が行われたときの前記オブジェクトの表示状態を現在状態として、前記他の最終状態との差から前記更新量を算出する
ことを特徴とする請求項１に記載の表示制御装置。
【請求項５】
前記設定手段において最終状態を設定する際、前記最終状態が既に設定されているか否かを判定する判定手段をさらに備え、
前記算出手段は、前記判定手段により前記最終状態が既に設定されていると判定された場合には、既に設定されている最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する
ことを特徴とする請求項１に記載の表示制御装置。
【請求項６】
対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置の表示制御方法において、
前記オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定ステップと、
前記設定ステップの処理により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出ステップと、
前記算出ステップの処理により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新ステップと
を含むことを特徴とする表示制御方法。
【請求項７】
対象とするオブジェクトの表示を所定の周期で更新させる処理をコンピュータに実行させるプログラムにおいて、
前記オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定ステップと、
前記設定ステップの処理により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出ステップと、
前記算出ステップの処理により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新ステップと
を含むことを特徴とするプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
オブジェクトの表示状態の更新が前記更新手段により開始された後に、他の最終状態を目標とするユーザ操作が行われた場合、設定手段は、そのユーザ操作に応じて、他の最終状態を、新たに目標とする前記オブジェクトの表示状態として設定し、算出手段は、ユーザ操作が行われたときのオブジェクトの表示状態を現在状態として、他の最終状態との差から更新量を算出するようにすることができる。
設定手段において最終状態を設定する際、最終状態が既に設定されているか否かを判定する判定手段をさらに備えるようにすることができる。この場合、算出手段は、判定手段により最終状態が既に設定されていると判定された場合には、既に設定されている最終状態と、オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
請求項６に記載の表示制御方法は、対象とするオブジェクトの表示を所定の周期で更新させる表示制御装置の表示制御方法であって、オブジェクトの最終的な目標とする表示状態である最終状態を設定する設定ステップ（例えば、図９のステップＳ１６）と、前記設定ステップの処理により設定された前記最終状態と、前記オブジェクトの現在の表示状態である現在状態との差から、次の更新タイミングにおける表示状態の更新量を算出する算出ステップ（例えば、図１０のステップＳ３４）と、前記算出ステップの処理により算出された前記更新量に基づいて、前記オブジェクトの表示状態を更新させる更新ステップ（例えば、図１０のステップＳ３５）とを含むことを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
請求項７に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項６に記載の表示制御方法と同様である。
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2006058985.tif 000013