以下、添付の図面を参照しながら本発明に係る各実施の形態について説明する。なお、図面は模式的に示されるものであり、異なる図面にそれぞれ示されている画像のサイズ及び位置の相互関係は、必ずしも正確に記載されるものではなく、適宜変更され得る。また、以下の説明では、同様の構成要素には同じ符号を付して図示し、それらの名称及び機能も同様のものとする。よって、それらについての詳細な説明を省略する場合がある。
また、以下の説明では、「上」または「下」などの特定の位置及び方向を意味する用語が用いられる場合があるが、これらの用語は、実施の形態の内容を理解することを容易にするため便宜上用いられているものであり、実際に実施される際の方向とは関係しない。
<実施の形態1>
<構成>
図1は、本発明の実施の形態1におけるユーザインタフェース装置の構成を示すブロック図である。なお、以下の説明ではユーザインタフェース装置を「UI装置」と略記することもあり、ユーザインタフェース装置に搭載されたユーザインタフェースシステムを「UIシステム」と略記することもある。
図1に示すUI装置は、入力装置101、画面遷移実行部102、保存必要性計算部103、取得段階判断部104、画面情報取得部105、画面情報保存部107、保存画面情報取得部108、画面キャプチャ実行部109、アニメーション実行部111、及び、表示装置112を備える。なお、取得段階判断部104及び画面情報取得部105は、遷移元画面情報取得部106に備えられ、保存画面情報取得部108及び画面キャプチャ実行部109は、画面キャプチャ部110に備えられる。
このように構成されたUI装置は、アニメーションによって、遷移元の画面である遷移元画面の表示から、遷移先の画面である遷移先画面の表示への遷移が可能となっている。つまり、UI装置は、画面遷移アニメーションの実行及び表示が可能となっている。
次に、UI装置の各構成要素について詳細に説明する。
入力装置101は、表示装置112ひいては図1のUI装置に対して、ユーザが操作を行うための装置である。入力装置101には、例えば、マウス、タッチパネル、トラックボール、データグローブ、スタイラスといったポインティングデバイスまたはキーボードのような情報入力装置、本体に取り付けられたボタンまたはスイッチ類、マイクなどの音声入力装置、カメラなどの画像または映像入力装置、脳波などの生体情報による入力装置、モーションセンサなどのセンサ類などが適用される。
画面遷移実行部102は、入力装置101から入力された入力情報、または、UIシステムの図示しないタイマの時間などの何らかのイベントをトリガとして、画面遷移を実行開始する。画面遷移の実行開始の際、画面遷移実行部102は、遷移元画面及び遷移先画面を決定する。なお、画面遷移が実行開始されるまでに、遷移元画面はすでに表示装置112に表示されているので、遷移元画面は描画可能となっている。
保存必要性計算部103は、画面遷移実行部102において画面遷移が実行開始された際に、遷移元画面の遷移に関する遷移情報に基づいて、遷移元画面の画面情報を保存する必要性を計算する。なお、以下の説明では、遷移元画面の画面情報を保存する必要性を「保存必要性」と記すこともある。
ここで、本実施の形態1では、遷移元画面の遷移に関する遷移情報は、遷移元画面に対応する遷移先画面の表示要素及び設計情報などであるものとして説明する。例えば、遷移先画面の表示要素に、遷移元画面に戻るような表示要素が含まれている場合に、保存必要性計算部103は、上述の必要性を高くすることなどが想定される。ただし、遷移情報は、これらの情報に限ったものではない。
取得段階判断部104は、それぞれが遷移元画面のキャプチャ画像を取得する候補となる複数の取得段階のうち、保存必要性計算部103で計算された必要性に基づいて一つの取得段階を判断する。
複数の取得段階には、例えば、遷移元画面のキャプチャ画像、遷移元画面の描画内容を記録したディスプレイリスト、遷移元画面の表示要素や処理を含む画面モデルまたは画面内の各表示要素の位置や色などを表すプロパティ値などが適用される。ただし、取得段階は、これらに限定されるものではない。
また、取得段階の数は、UI装置またはUIシステム全体で同じであっても良いし、画面遷移毎に異なっていても構わない。また、判断する基準に関しても、UI装置またはUIシステム全体で同じであっても良いし、画面遷移毎に異なっていても構わない。
画面情報取得部105は、取得段階判断部104において判断した一つの取得段階に対応する遷移元画面の情報を遷移元画面から取得し、当該取得した遷移元画面の情報を、画面情報として画面情報保存部107に保存する。
遷移元画面情報取得部106は、以上のような取得段階判断部104及び画面情報取得部105を備える。このため、遷移元画面情報取得部106は、それぞれが遷移元画面のキャプチャ画像を取得可能な複数の取得段階のうち、必要性に基づく一つの取得段階に対応する遷移元画面の情報を取得することが可能となっている。なお、以下の説明では、必要性に基づく一つの取得段階に対応する遷移元画面の情報を「段階画面情報」と記すこともある。
画面情報保存部107は、遷移元画面情報取得部106の画面情報取得部105で取得された段階画面情報を、画面情報として保存する。
保存画面情報取得部108は、画面遷移実行部102において画面遷移を実行開始した際に、今回の遷移における遷移先画面の画面情報が画面情報保存部107に保存されているか否かを判断する。例えば、今回の遷移より前の過去の遷移における遷移元画面が、今回の遷移における遷移先画面と同じである場合などには、保存画面情報取得部108は、今回の遷移における遷移先画面の画面情報が画面情報保存部107に保存されていると判断する。保存画面情報取得部108は、今回の遷移における遷移先画面の画面情報が画面情報保存部107に保存されていると判断した場合には、画面情報保存部107に保存されている当該遷移元画面の画面情報を、今回の遷移における遷移先画面の画面情報として取得する。
画面キャプチャ実行部109は、今回の遷移における遷移元画面のキャプチャと、今回の遷移における遷移先画面のキャプチャとを実行する。ただし、保存画面情報取得部108で取得できた画面情報が、今回の遷移における遷移先画面のキャプチャ画像そのものであった場合には、画面キャプチャ実行部109は、遷移先画面のキャプチャを実行する必要は無い。一方、保存画面情報取得部108で取得できた画面情報が、今回の遷移における遷移先画面のキャプチャ画像でない場合には、画面キャプチャ実行部109は、保存画面情報取得部108で取得した画面情報に基づいて遷移先画面を構築した後に、当該遷移先画面のキャプチャを実行する。なお、遷移元画面はすでに表示されているので、画面キャプチャ実行部109は、遷移元画面を構築しなくても、当該遷移元画面のキャプチャを実行することが可能である。
以上により得られるキャプチャ画像は、複数の処理を経て生成される通常の画像よりも画面遷移アニメーションの実行に適している。
画面キャプチャ部110は、以上のような保存画面情報取得部108及び画面キャプチャ実行部109を備える。このため、画面キャプチャ部110は、画面情報に基づいて、画面情報が保存された後の遷移における遷移先画面のキャプチャ画像を取得するように構成されている。
アニメーション実行部111は、画面キャプチャ部110の画面キャプチャ実行部109によって取得された、遷移元画面のキャプチャ画像、及び、遷移先画面のキャプチャ画像に基づいて画面遷移アニメーションを実行する。
表示装置112は、各種画面、及び、アニメーション実行部111で実行された画面遷移アニメーションなどを出力するための装置である。この表示装置112には、例えば、各種ディスプレイまたはタッチパネルなどが該当する。
図2は、本実施の形態1に係るUI装置を実現するハードウェア構成の一例を示すブロック図である。ここでは、図2のハードウェア構成は、コンピュータ151に備えられた処理装置152及び記憶装置153と、コンピュータ151に接続されたディスプレイ154、マウス155及びキーボード156とを備えている。ただし、本実施の形態1に係るUI装置を実現するハードウェア構成は図2の構成に限ったものではない。
画面情報保存部107は、例えばRAM(Random Access Memory)などのメモリまたはハードディスクといった記憶装置153によって実現される。画面遷移実行部102、保存必要性計算部103、取得段階判断部104、画面情報取得部105、保存画面情報取得部108、画面キャプチャ実行部109、及び、アニメーション実行部111は、CPU(Central Processing Unit)を含むプロセッサなどの処理装置152でプログラムを実行することで実現される。処理装置152には実際に処理を実行するコアが複数内包している場合がある。
UI装置において画面遷移のトリガとなり得るユーザからの入力はマウス155及びキーボード156によって行われる。つまり図2の例では、入力装置101は、マウス155及びキーボード156によって実現される。表示装置112は、画面や画面遷移アニメーションを表示するディスプレイ154によって実現される。なお、入力装置101、及び、表示装置112は、同一装置、例えば、入力/出力のどちらも行えるタッチパネルなどによって実現されても良い。
<動作>
次に、本実施の形態1に係るユーザインタフェース装置における画面遷移アニメーション実行の流れについて、以下に説明する。
まず、入力装置101から受け取ったユーザの入力、または、UIシステムの図示しないタイマの時間などのイベントをトリガとして、画面遷移実行部102が画面遷移を開始する。画面遷移の開始後の処理としては、概ね二つの処理があり、具体的には、保存必要性計算部103から画面情報保存部107までの処理と、保存画面情報取得部108から画面キャプチャ実行部109までの処理とがある。
以降の説明では、これらの処理を説明していくが、保存必要性計算部103から画面情報保存部107までの処理が、画面遷移が完了して遷移元画面の情報が破棄されるまでに完了し、かつ、保存画面情報取得部108から画面キャプチャ実行部109までの処理が、アニメーション実行までに完了するのであれば、実際に処理を行う順番は説明の順番に限定されない。例えば、保存画面情報取得部108及び画面キャプチャ実行部109は、画面情報がなくても処理可能に構成されていることから、保存必要性計算部103から画面情報保存部107までの処理の前に、保存画面情報取得部108から画面キャプチャ実行部109までの処理が行われても良い。また例えば、遷移元画面の情報が破棄されていなければ、アニメーション実行部111によるアニメーション実行後に保存必要性計算部103から画面情報保存部107までの処理が行われても良いし、これらの処理が複数のCPUを用いて並行または並列に行われても良い。
保存必要性計算部103は、遷移先画面の表示要素及び設計情報などに基づいて保存必要性を計算する。計算方法としては、例えば、保存必要性計算部103は、表示要素を取得し、当該表示要素に、画面内に左向きの矢印など遷移元画面に戻ることを想起させる画像が含まれている場合は保存必要性を「1」増加させ、「戻る」「return」といった文字列を表示する表示要素が含まれている場合は保存必要性を「2」増加させ、それらの表示要素を示すボタンが含まれている場合は保存必要性を「3」増加させる、というように表示要素によって保存必要性を決定しても良い。また、その他の方法としては、保存必要性計算部103は、設計情報を取得し、当該設計情報において遷移元画面への遷移が設計されている場合は保存必要性を「1」増加させ、その遷移のトリガが複数設計されている場合は、保存必要性をトリガの数だけ増加させる、または、ユーザ入力の種類及びUIシステムからのイベントなどのトリガの種類に応じて保存必要性を変動させる、というように画面の設計情報によって保存必要性を決定しても良い。
また、保存必要性計算部103は、これらの方法を組み合わせて保存必要性を計算しても良いし、設計者が規定した遷移に対して予め設定した値で重みづけして保存必要性を計算しても良い。また、これらの保存必要性の計算方法は一例であり、前述の方法に限定されない。例えば、設計者が設定した文字列または画像、独自の表示要素に関して保存必要性を高く設定することも可能であるし、表示要素、設計情報またはその他情報の組み合わせを、保存必要性の計算に使用しても良い。また、計算結果となる値についても前述の例に限定されず、百分率で表現しても良いし、真偽値または文字列であっても良い。
図3は、本実施の形態1の保存必要性計算部103における、保存必要性を計算する処理の流れを示すフローチャートである。図3では、一例として、遷移先画面の設計情報に含まれる、遷移先画面の画面内容、及び、遷移先画面の遷移詳細情報に基づいて保存必要性を計算する場合を示している。ここで、遷移詳細情報は、例えば、どのような画面に遷移するのか、どのようなイベントをトリガとして遷移するのか、どのような処理を伴って遷移するのか、などを含んだ情報である。
まず、ステップS1にて、保存必要性計算部103は、遷移先画面の設計情報などから遷移先画面の画面内容を取得する。
次に、ステップS2にて、保存必要性計算部103は、ステップS1と同じように設計情報などから遷移先画面の遷移詳細情報を取得する。
次に、ステップS3にて、保存必要性計算部103は、取得した遷移先画面の画面内容と遷移先画面の遷移詳細情報とに基づいて、保存必要性を計算する。計算方法は、どのような方法であっても構わない。例えば、保存必要性計算部103は、遷移元画面に戻る可能性を表す確率を保存必要性として計算しても良いし、遷移元画面の画面内容を取得し、遷移元画面の表示要素数を保存必要性として計算しても良い。また、計算結果である保存必要性は、上述したように、どのような値または形式であっても構わない。例えば、保存必要性は、確率のように0から100の範囲で値として計算されても良いし、100を超える値、または負の値として計算される場合があっても良いし、大、中、小の三段階のうち得られた値に対応する一つの段階として計算されても良い。つまり、保存必要性計算部103で計算される必要性は、大、中、小の三段階のいずれかであってもよい。
最後に、ステップS4にて、保存必要性計算部103は、計算した保存必要性を取得段階判断部104に出力する。
図4は、本実施の形態1の取得段階判断部104における、取得段階を判断する処理の流れを示すフローチャートである。
まず、ステップS11にて、取得段階判断部104は、保存必要性計算部103で計算された保存必要性を取得する。
次に、ステップS12にて、取得段階判断部104は、ステップS11で取得した保存必要性に基づいて一の取得段階を決定するための判断基準を、UI装置などの記憶装置153などから取得する。ここでは、判断基準とは、例えば設計者によって予め定められているものとする。
図5は、本実施の形態1の取得段階判断部104に用いられる判断基準の例を示す図であり、具体的には対比表形式で表現された判断基準を示す図である。この例では、保存必要性は0から100%までの値で表現することを想定している。そして、この例では、保存必要性が表の左列に記載された値の複数の範囲いずれかに含まれる場合に、取得段階判断部104は、表の右列に記載された複数の取得段階のうち対応する一の取得段階を決定する。判断基準は前述の例に限定されるものではなく、保存必要性の値によって取得段階が一意に定まる基準であれば、どのようなものであっても構わない。
次に、ステップS13にて、取得段階判断部104は、ステップS11で取得した保存必要性に基づいて、複数の取得段階のうち、ステップS12で取得した判断基準に従った取得段階を決定する。図5に示した例の場合、取得段階判断部104は、保存必要性が90%であればキャプチャ画像を取得段階として決定し、保存必要性が50%であればディスプレイリストを取得段階として決定する。
ステップS14にて、取得段階判断部104は、ステップS13で決定した取得段階を画面情報取得部105に出力する。
図6は、本実施の形態1の画面情報取得部105における、画面情報保存部107に画面情報を保存する処理の流れを示すフローチャートである。
まず、ステップS21にて、画面情報取得部105は、取得段階判断部104の判断結果、つまり取得段階の決定結果を取得する。
次に、ステップS22にて、画面情報取得部105は、ステップS21で取得した取得段階に対応する遷移元画面の情報を遷移元画面から取得する。つまり、画面情報取得部105は段階画面情報を取得する。なお、ある取得段階に対応する遷移元画面の情報は、当該取得段階よりも低い別の取得段階に対応する遷移元画面の情報に比べて、画面キャプチャ高速化への寄与率が大きいという条件、及び、保存する際にメモリ使用量が少ないという条件、の少なくともいずれか一方を満たすものとする。判断基準は設計者が予め設定しておいても構わないし、ユーザが入力装置101に別途入力するなどの何らかの方法で設定できるものであっても構わない。
段階画面情報の取得方法は、取得段階によって異なる場合がある。例えば、画面情報取得部105は、取得段階がキャプチャ画像であれば、遷移元画面にキャプチャを行うことによって得られる遷移元画面のキャプチャ画像を段階画面情報として取得し、取得段階がディスプレイリストであれば、遷移元画面の描画に用いられていたディスプレイリストを段階画面情報として取得する。
次に、ステップS23にて、画面情報取得部105は、段階画面情報として取得された遷移元画面の情報が、既に画面情報保存部107に画面情報として保存されているか否かを判断する。保存対象の遷移元画面の情報が画面情報として既に保存されていると判断した場合には処理がステップS24に進み、保存対象の遷移元画面の情報が画面情報としてまだ保存されていないと判断した場合には処理がステップS25に進む。
ステップS23からステップS24に進んだ場合、画面情報取得部105は、既に画面情報保存部107に保存されていた画面情報を、今回取得した段階画面情報である新規の画面情報で上書き保存する。
ステップS23からステップS25に進んだ場合、画面情報取得部105は、今回取得した段階画面情報である新規の画面情報を画面情報保存部107に新規保存する。
図7は、本実施の形態1の保存画面情報取得部108における、遷移先画面の画面情報を取得する処理の流れを示すフローチャートである。
まず、ステップS31にて、保存画面情報取得部108は、今回の遷移における遷移先画面の画面情報が画面情報保存部107に保存されているか否かを判断する。例えば、今回の遷移より前の過去の遷移における遷移元画面が、今回の遷移における遷移先画面と同じである場合などには、保存画面情報取得部108は、今回の遷移における遷移先画面の画面情報が画面情報保存部107に保存されていると判断する。
今回の遷移における遷移先画面の画面情報が画面情報保存部107に保存されていると判断した場合には処理がステップS32に進んで、保存画面情報取得部108は、画面情報保存部107から、今回の遷移における遷移先画面の画面情報を取得する。今回の遷移における遷移先画面の画面情報が画面情報保存部107に保存されていないと判断した場合には図7の処理が終了する。
図8は、本実施の形態1の画面キャプチャ実行部109における、遷移先画面のキャプチャを行う処理の流れを示すフローチャートである。図8には、取得段階が、キャプチャ画像、ディスプレイリスト、画面モデルという三種類である場合のフローチャートが示されている。
まず、ステップS41にて、画面キャプチャ実行部109は、保存画面情報取得部108が、今回の遷移における遷移先画面の画面情報を取得できたか否かを判断する。遷移先画面の画面情報が取得できていないと判断した場合には処理がステップS42に進み、遷移先画面の画面情報が取得できていると判断した場合には処理がステップS43に進む。なお、以下、保存画面情報取得部108で取得された画面情報を「取得画面情報」と記すこともある。
ステップS41からステップS42に進んだ場合、画面キャプチャ実行部109は、通常の画面描画と同様に、遷移先画面の設計情報から画面モデルを作成する。作成した後は、処理がステップS45に進む。
ステップS41からステップS43に進んだ場合、画面キャプチャ実行部109は、取得画面情報が遷移先画面のキャプチャ画像であるか否かを判断する。取得画面情報が遷移先画面のキャプチャ画像であると判断した場合には、画面キャプチャ実行部109は、遷移先画面のキャプチャ画像を取得して、図8の処理が終了する。取得画面情報が遷移先画面のキャプチャ画像でないと判断した場合には処理がステップS44に進む。
ステップS44にて、画面キャプチャ実行部109は、取得画面情報が遷移先画面のディスプレイリストであるか否かを判断する。取得画面情報が遷移先画面のディスプレイリストであると判断した場合には処理がステップS46に進む。取得画面情報が遷移先画面のディスプレイリストでないと判断した場合、つまり取得画面情報が遷移先画面の画面モデルであると判断した場合には処理がステップS45に進む。
ステップS45にて、画面キャプチャ実行部109は、保存画面情報取得部108で取得された画面モデル、または、ステップS42で作成された画面モデルから、遷移先画面のディスプレイリストを作成する。作成した後は、処理がステップS46に進む。
ステップS46にて、画面キャプチャ実行部109は、保存画面情報取得部108で取得されたディスプレイリスト、または、ステップS45で作成されたディスプレイリストから、遷移先画面のキャプチャ画像を作成する。作成した後は、図8の処理が終了する。
なお、画面キャプチャ実行部109における図8の処理は、取得段階の種別によって変更されても良い。例えば、取得段階が、キャプチャ画像とディスプレイリストという二種類である場合には、上述のステップS44では必ず処理がステップS46に進むので、ステップS44は省略されても良い。また、取得段階が、キャプチャ画像、ディスプレイリスト、画面モデル、表示要素のプロパティ値という四種類である場合には、ステップS44とステップS45との間に、「取得画面情報が画面モデルであったか否かを判断するステップ」を追加するとともに、そのステップとステップS45との間に、「取得画面情報が表示要素のプロパティ値であった場合に、表示要素のプロパティ値と設計情報とから画面モデルを構成するステップ」を追加してもよい。
また、遷移元画面情報取得部106は、保存必要性計算部103で計算された必要性が大であった場合に、当該必要性に基づく一つの取得段階に対応する遷移元画面の情報として、遷移元画面を描画するためのディスプレイリストを取得してもよい。遷移元画面情報取得部106は、保存必要性計算部103で計算された必要性が中であった場合に、当該必要性に基づく一つの取得段階に対応する遷移元画面の情報として、遷移元画面の画面モデルを取得してもよい。遷移元画面情報取得部106は、保存必要性計算部103で計算された必要性が小であった場合に、当該必要性に基づく一つの取得段階に対応する遷移元画面の情報として、遷移元画面を構成する表示要素のプロパティ値を取得してもよい。
以上のような本実施の形態1によれば、保存必要性に基づく取得段階に対応する遷移元画面の情報を、画面情報として保存する。これにより、重要度が低い画面について、キャプチャ画像を保存する可能性を低減することができるので、画面遷移アニメーションに使用するメモリ使用量を削減することが可能である。このことは、特に、複数の画面情報を保存する必要がある場合に有効である。また、上記のように保存することにより、重要度が低い画面へ遷移する場合であっても、比較的容易にキャプチャ画像を取得することができるので、画面遷移アニメーションの実行速度の低下を抑制することができる。
<実施の形態2>
実施の形態1においては、図6に示される画面情報取得部105におけるステップS23及びS25の処理において、保存しようとする画面情報がまだ保存されていない場合には新規保存するようにしていた。しかし本発明はこれに限ったものではなく、以下で説明する本発明の実施の形態2に係るユーザインタフェース装置のように、保存可能な画面情報の数、つまり保存可能な画面数が制限されても構わない。
図9は、本実施の形態2に係るUI装置の構成を示すブロック図である。なお、図9に示されるUI装置の構成のうち、図1に示されたUI装置の構成と同様であるものについては同一の符号を付し、ここではその説明は省略する。
本実施の形態2に係るUI装置は、図1の構成に加えて、画面情報保存部107で保存可能な画面情報の数である保存可能画面情報数を格納する保存可能画面情報数格納部201を備える。なお、保存可能画面情報数格納部201は、例えば、コンピュータ151における処理装置152がプログラムを実行して記憶装置153を制御することによって実現される。
遷移元画面情報取得部106の画面情報取得部105は、画面情報を保存する際に、保存可能画面情報数格納部201から保存可能画面情報数を取得する。そして、画面情報保存部107で保存されている画面情報の数が保存可能画面情報数以上である場合に、画面情報取得部105は、画面情報保存部107で保存されている1以上の画面情報を削除して、新規の画面情報を画面情報保存部107に保存する。
図10は、本実施の形態2の画面情報取得部105における、画面情報保存部107に画面情報を保存する処理の流れを示すフローチャートである。なお、図10において、図6の処理と同一の符号が付された処理は、図6の処理と同一またはこれに類似する処理であるので、以下の説明では図10の処理のうち図6にない処理を中心に説明する。
ステップS21及びS22を経たステップS23にて、段階画面情報として取得された遷移元画面の情報が、画面情報保存部107に保存されていないと判断された場合に処理がステップS51に進む。
ステップS51にて、画面情報取得部105は、保存可能画面情報数格納部201から保存可能画面情報数を取得する。
次に、ステップS52にて、画面情報取得部105は、画面情報保存部107に保存されている画面情報の数と、ステップS51で取得した保存可能画面情報数とを比較する。この二つの数が等しいと判断した場合には処理がステップS53に進み、この二つの数が等しくないと判断した場合には処理がステップS25に進む。
なお、画面情報保存部107に保存されている画面情報の数が、ステップS51で取得した保存可能画面情報数以上であると判断した場合には処理がステップS53に進んでもよい。そして、画面情報保存部107に保存されている画面情報の数が、ステップS51で取得した保存可能画面情報数より小さいと判断した場合には処理がステップS25に進んでもよい。
ステップS53にて、画面情報取得部105は、今回取得した新規の画面情報を画面情報保存部107に保存するために、画面情報保存部107に現在保存されている画面情報のうち不要な一つの画面情報を削除する。その後、処理がステップS25に進む。なお、削除される画面情報は、後述する変形例のように優先度に基づいて決定されてもよい。
ステップS25にて、画面情報取得部105は、今回取得した段階画面情報である新規の画面情報を画面情報保存部107に新規保存する。
なお、保存可能画面情報数となる値を保存可能画面情報数格納部201に格納する方法及び利用方法は、どのようなものであっても構わない。例えば、設計者により予め格納された値が、本実施の形態2に係るUI装置の実行中に保存可能画面情報数として常に用いられてもよいし、ユーザによって適宜変更されてもよい。また、格納された値がそのまま利用されても良いし、演算した結果で得られた値が利用されても良い。また、格納する情報は値、文字列、リスト、バイナリなど、利用する際に解釈可能であればどのような形式でも構わない。なお、ここでは、UI装置のユーザには、設計者以外の者を想定しているが、もちろんUI装置のユーザには、設計者が含まれてもよい。
以下、保存可能画面情報数格納部201が、UI装置のユーザにより設定された値を保存可能画面情報数として格納する方法、及び、保存可能画面情報数格納部201に格納された値の利用方法に関する具体例を説明する。
図11は、本実施の形態2において、ユーザが設定した保存可能画面情報数を保存可能画面情報数格納部201に格納する処理の流れを示すフローチャートである。
まず、ステップS61にて、ユーザが、保存可能画面情報数となる値を設定する。ユーザが値を設定する方法としては、例えば、ユーザが設定ファイルをUI装置に読み込ませる方法、ユーザがUI装置に表示される画面を見ながら入力装置101に入力操作を行うことにより設定する方法、及び、その他の方法のいずれであっても構わない。
次にステップS62にて、保存可能画面情報数格納部201は、設定された値を保存可能画面情報数として格納する。
以上のような本実施の形態2によれば、画面情報保存部107に保存する画面情報の数を制限することができる。このため、画面遷移アニメーションに使用しない画面情報、及び、不要な画面情報を必要以上に蓄積してしまうことを抑制することが可能となるので、より効率的にメモリ使用量を抑制することが可能となる。
また本実施の形態2によれば、保存可能画面情報数格納部201に格納される保存可能画面情報数は、ユーザにより設定される。これにより、ユーザが、自身の使用環境や好みに合わせて保存可能画面情報数を設定したり、画面遷移アニメーションの高速化とメモリ使用量の抑制化とのバランスを調整して保存可能画面情報数を設定したりすることができる。
<実施の形態2の変形例1>
以下の説明では、UI装置の状態、及び、UIシステムの状態の少なくともいずれか1つを、「UI装置の状態など」と記すこともある。
実施の形態2の変形例1では、保存可能画面情報数格納部201に格納される保存可能画面情報数が、UI装置の状態などに基づいて求められるように構成されている。この構成の例として、予め設定された複数の値の中から、UI装置の状態などに基づいて自動的に決定または選択される一つの値が保存可能画面情報数として格納されてもよいし、UI装置の状態などに基づいて自動的に算出される値が保存可能画面情報数として格納されてもよい。このような構成によれば、格納される保存可能画面情報数を動的に変更することができる。
なお、UI装置の状態などとしては、表示中の画面もしくは画面内の表示要素、起動しているアプリケーションの種類、UI装置に搭載されているメモリ量、処理装置のコア数、あるタイミングにおける使用可能なメモリ量、あるタイミングにおける処理装置のコアの使用率、画面情報保存部107に保存可能な段階画面情報の数もしくは組み合わせ、または、あるタイミングにおける画面情報保存部107に保存されている画面情報のメモリ量などの状態が該当する。ここで、上記の状態は一例であり、もちろん上記以外の状態を、UI装置の状態などとして利用しても構わない。
図12は、本変形例1において、UI装置の状態などに基づく保存可能画面情報数を保存可能画面情報数格納部201に格納する処理の流れを示すフローチャートである。ここでは、UI装置の状態などとして、使用可能なメモリ量が適用された例について説明する。また、図12において、図11の処理と同一の符号が付された処理は、図11の処理と同一またはこれに類似する処理であるので、以下の説明では図12の処理のうち図11の処理にない処理を中心に説明する。
まず、ステップS71にて、保存可能画面情報数格納部201は、使用可能なメモリ量を取得する。
次に、ステップS72にて、保存可能画面情報数格納部201は、使用可能なメモリ量が2メガバイト以上確保できるか否かを判断する。使用可能なメモリ量が2メガバイト以上確保できる場合には処理がステップS73に進み、使用可能なメモリ量が2メガバイト以上確保できない場合には処理がステップS74に進む。
ステップS72からS73に進んだ場合、保存可能画面情報数格納部201は、保存可能画面情報数となる値を「5」に設定し、ステップS62にて、保存可能画面情報数格納部201は、設定された「5」を保存可能画面情報数として格納する。
ステップS72からS74に進んだ場合、保存可能画面情報数格納部201は、保存可能画面情報数となる値を「3」に設定し、ステップS62にて、保存可能画面情報数格納部201は、設定された「3」を保存可能画面情報数として格納する。
なお、上記の例で記載した具体的な各種数値、すなわち閾値となるメモリ量である2メガバイト、保存可能画面情報数の設定値である「3」または「5」は、飽くまでも一例であり、これらの値に限ったものではない。また、上記の例では、一つの閾値を用いて二つの設定値が選択的に用いられるが、複数の閾値を用いてさらに多くの設定値が選択的に用いられてもよいし、複雑な計算により算出される設定値が用いられてもよい。
以上のような本変形例1によれば、保存可能画面情報数格納部201に格納される保存可能画面情報数が、UI装置の状態などによって自動的に求められる。このため、保存可能画面情報数を、対象の画面、段階画面情報または使用可能なメモリ量などに動的に適応させることができる。
<実施の形態2の変形例2>
図10のステップS53における不要な画面情報の削除処理において、削除すべき不要な画面情報はどのような方法で決定されても良い。例えば、保存可能画面情報数格納部201は、最も以前に保存された画面情報を削除しても良いし、設計者が画面情報保存部107で保存される複数の遷移元画面に予め設定した優先度に従って画面情報を削除しても良いし、場合によっては現在保存しようとしている画面情報を削除する、すなわち保存処理そのものをキャンセルしても良い。保存処理をキャンセルする場合は、図10のステップS53の後のステップS25が省略される。また、削除する画面情報の数については一つでも良いし、複数でも構わない。また、画面情報に優先度などの情報を設定する場合、設計者が予め設定していても良いし、ユーザなど設計者以外の者が設定しても良いし、UI装置の状態などに基づいて動的に変更されても良い。さらに、優先度が低い画面情報ほど、保存を維持すべき画面情報であると決定されてもよいし、これとは逆に、優先度が低い画面情報ほど、削除すべき画面情報であると決定されてもよい。
以下、遷移元画面情報取得部106の画面情報取得部105が、優先度に基づいて画面情報保存部107から削除すべき一つの画面情報を決定して、当該一つの画面情報を削除する例について具体的に説明する。なお、ここでは、優先度が低い画面情報ほど、削除すべき画面情報であると決定されるものとする。
図13は、本変形例2の画面情報取得部105における、画面情報の削除処理の流れを示すフローチャートである。
まず、ステップS81にて、画面情報取得部105は、画面情報保存部107から格納されている画面情報を一つ取得する。
次に、ステップS82にて、画面情報取得部105は、ステップS81で取得した画面情報を削除対象に設定する。なお、ここでの削除対象の設定は暫定的な設定であり、以下の説明で明らかとなるように、ステップS87に進んだ時点で削除対象に設定されている画面情報が、削除されることになる。
ステップS83にて、画面情報取得部105は、画面情報保存部107から別の画面情報を取得する。
次に、ステップS84にて、画面情報取得部105は、ステップS83で取得した別の画面情報の優先度と、削除対象の画面情報の優先度とを比較する。ステップS83で取得した別の画面情報の優先度が、削除対象の画面情報の優先度より低いと判断した場合には処理がステップS85に進む。ステップS83で取得した別の画面情報の優先度が、削除対象の画面情報の優先度以上であると判断した場合には処理がステップS86に進む。
ステップS85にて、画面情報取得部105は、削除対象を、ステップS83で取得した別の画面情報に変更する。これにより、別の画面情報が削除対象に設定される。その後、処理がステップS86に進む。
ステップS86にて、画面情報取得部105は、画面情報保存部107に格納されている全ての画面情報を、ステップS81またはS83で取得したか否かを判断する。全てを取得したと判断した場合には、処理がステップS87に進む。全てを取得していないと判断した場合には、処理がステップS83に戻る。
ステップS87にて、画面情報取得部105は、削除対象に設定されている画面情報を画面情報保存部107から削除する。
以上のような本変形例2によれば、優先度に基づいて、画面情報保存部107から削除すべき画面情報が決定される。これにより、優先度を適切に設定すれば、必要な画面情報を優先的に保存しつつ、不要な画面情報を優先的に削除することが可能となるので、より効率的にメモリ使用量を抑制することが可能となる。
<実施の形態3>
実施の形態1においては、保存必要性計算部103は、遷移先の画面の表示要素または設計情報などから保存必要性を計算していた。しかし本発明はこれに限ったものではなく、以下で説明する本発明の実施の形態3に係るユーザインタフェース装置のように、保存必要性の計算に用いられる要素、または、計算が実施される対象の画面などに対して重み付けを行った上で、当該重みを考慮した保存必要性の計算を行っても構わない。なお、保存必要性の計算に用いられる要素としては、表示要素もしくは設計情報などが想定され、計算が実施される対象の画面としては、計算を行う遷移元画面もしくは遷移先画面などが想定される。
図14は、本実施の形態3に係るUI装置の構成を示すブロック図である。なお、図14に示されるUI装置の構成のうち、図1に示されたUI装置の構成と同様であるものについては同一の符号を付し、ここではその説明は省略する。
本実施の形態3に係るUI装置は、図1の構成に加えて、遷移情報に含まれる各情報に対する重みを格納する重み格納部301を備える。例えば、重み格納部301は、保存必要性の計算に用いられる要素、及び、計算が実施される対象の画面の少なくともいずれか1つに対する重みを格納している。なお、重み格納部301は、例えば、コンピュータ151における処理装置152がプログラムを実行して記憶装置153を制御することによって実現される。
保存必要性計算部103は、遷移情報と、重み格納部301に格納された重みとに基づいて、保存必要性を計算する。
図15は、本実施の形態3の保存必要性計算部103における、保存必要性を計算する処理の流れを示すフローチャートである。なお、図15において、図3の処理と同一の符号が付された処理は、図3の処理と同一またはこれに類似する処理であるので、以下の説明では図15の処理のうち図3にない処理を中心に説明する。
ステップS1及びS2を経たステップS91にて、保存必要性計算部103は、重み格納部301から、遷移先画面の画面内容や遷移先画面の設計詳細情報などに対する重みを取得する。
次に、ステップS92にて、保存必要性計算部103は、ステップS1で取得した遷移先画面の画面内容と、ステップS2で取得した遷移先画面の遷移詳細情報と、ステップS93で取得した重みとに基づいて保存必要性を計算する。その後、ステップS4を行う。
重みの付け方は、計算結果全体に対するものであっても構わないし、計算に使用する個々の要素に対して重み付けを行い、その結果を計算しても良い。例えば、計算方法が画面の表示要素の数を数え上げる方法であり、その方法によって数え上げた結果が「50」であった場合、計算結果の半分である「25」を最終的な保存必要性とするような重み付けでも良いし、表示要素を数え上げる際に画像要素の数を数えずに、文字列要素の数を2倍して数えるような重み付けでも良い。
なお、重み格納部301に重みとなる値を格納する方法はどのようなものであっても構わない。例えば、設計者からの値を予め格納しておき、当該値が、本実施の形態3に係るUI装置の実行中に重みとして常に用いられてもよいし、ユーザによって適宜変更されてもよい。以下、重み格納部301に格納される重みが、ユーザにより設定される例について説明する。
図16は、本実施の形態3において、ユーザが設定した重みを重み格納部301に格納する処理の流れを示すフローチャートである。
まず、ステップS101にて、ユーザが、重みとなる値を設定する。ユーザが値を設定する方法としては、例えば、ユーザが設定ファイルをUI装置に読み込ませる方法、ユーザがUI装置に表示される画面を見ながら入力装置101に入力操作を行うことにより設定する方法、及び、その他の方法のいずれであっても構わない。また、重みは画面ごとまたは表示要素ごとなど、任意の単位で設定されても構わない。
次にステップS102にて、重み格納部301は、設定された値を重みとして格納する。
以上のような実施の形態3によれば、遷移情報と、遷移情報に含まれる各情報に対する重みとに基づいて、保存必要性が計算される。これにより、設計者の知見またはノウハウなどを基に保存必要性計算、ひいては保存する段階画面情報をある程度調整することが可能となるため、より効率的にメモリ使用量を抑制することが可能となる。
また本実施の形態3によれば、重み格納部301に格納される重みは、ユーザにより設定される。これにより、ユーザの知見またはノウハウなどを基に保存必要性計算、ひいては保存する段階画面情報をある程度調整することが可能となるため、より効率的にメモリ使用量を抑制することが可能となる。
<実施の形態4>
実施の形態1においては、保存必要性計算部103は、遷移先画面の画面内容及び遷移先画面の設計情報などの予め設定された情報に基づいて、保存必要性を計算していた。しかし本発明はこれに限ったものではなく、以下で説明する本発明の実施の形態4に係るユーザインタフェース装置のように、ユーザの操作履歴または画面遷移履歴などに基づいて保存必要性を計算してもよい。
図17は、本実施の形態4に係るUI装置の構成を示すブロック図である。なお、図17に示されるUI装置の構成のうち、図1に示されたUI装置の構成と同様であるものについては同一の符号を付し、ここではその説明は省略する。
本実施の形態4に係るUI装置は、図1の構成に加えて、ユーザの操作、及び、画面遷移の少なくともいずれか1つを学習する学習部401と、学習部401の学習結果を格納する学習結果格納部402とを備える。なお、学習部401は、例えば、コンピュータ151における、処理装置152でプログラムを実行することによって実現される。学習結果格納部402は、例えば、コンピュータ151における記憶装置153によって実現されても良いし、外部の記憶媒体によって実現されていても良い。
図18は、学習部401における基本的な学習処理の流れを示すフローチャートである。
まず、ステップS111にて、学習部401は、学習結果格納部402からこれまでの学習内容、つまり学習結果を取得する。
次に、ステップS112にて、学習部401は、ステップS111で取得した学習結果に関して学習を実施する。
最後に、ステップS113にて、学習部401は、ステップS112で学習した学習結果を学習結果格納部402に格納する。
ここで、ステップS112における学習方法はいかなる方法であっても構わない。例えば、学習部401は、ユーザ操作の回数、画面遷移の遷移回数、特定の画面への遷移回数などを学習しても構わないし、サポートベクターマシン、ニューラルネットワーク、遺伝的アルゴリズムまたはベイジアンネットワークといった一般的な機械学習手法を用いて学習しても構わない。
以下では、図18の学習処理の具体例として、画面遷移の遷移回数を学習及び記録していく学習方法について説明する。
図19は、学習結果格納部402に格納されている学習結果データのイメージ例を示す図である。この例では、遷移元画面のIDと遷移先画面のIDとの組み合わせについて遷移回数を記録するデータ構造となっている。
図20は、画面遷移の遷移回数を記録していく学習方法の処理の流れを示すフローチャートである。
まず、ステップS121にて、学習部401は、画面遷移する際の遷移元画面のIDを取得する。
次に、ステップS122にて、学習部401は、画面遷移する際の遷移先画面のIDを取得する。
次に、ステップS123にて、学習部401は、学習結果格納部402からステップS121で取得した遷移元画面のIDとステップS122で取得した遷移先画面のIDとを持つレコードを検索する。
次に、ステップS124にて、学習部401は、ステップS123の検索結果に基づいて、検索したレコードを取得することができるか否かを判断する。ここで、一度も遷移したことがない組み合わせのレコードは、学習結果格納部402に存在せず、取得できないと判断されるものとしている。レコードが取得できると判断した場合には処理がステップS125に進み、レコードが取得できないと判断した場合には処理がステップS126に進む。
ステップS124からステップS125に進んだ場合、学習部401は、取得したレコードについて、学習結果格納部402に格納された遷移回数をインクリメントする。
ステップS124からステップS126に進んだ場合、学習部401は、ステップS121で取得した遷移元画面のIDとステップS122で取得した遷移先画面のIDとを持つレコードを学習結果格納部402に作成する。この時、遷移回数は「1」としておく。
以上、学習部401の学習などについて説明した。ここで、本実施の形態4に係る保存必要性計算部103は、学習部401の学習結果を、保存必要性を計算するための上記遷移情報として用いる。
図21は、本実施の形態4の保存必要性計算部103における、学習結果を用いた保存必要性を計算する処理の流れを示すフローチャートである。
まず、ステップS131にて、保存必要性計算部103は、変数X,Yを初期化して変数X,Yに「0」を設定する。
次に、ステップS132にて、保存必要性計算部103は、変数Aに画面遷移する際の遷移元画面のIDを代入する。
次に、ステップS133にて、保存必要性計算部103は、変数Bに画面遷移する際の遷移先画面のIDを代入する。
次に、ステップS134にて、保存必要性計算部103は、学習結果格納部402からレコードを一つ取得する。この時、取得するレコードを決定する方法はどのようなものであっても構わない。ただし、この図21のフローチャートが示す処理が完了するまでに、保存必要性計算部103が、取得したレコードを再度取得することがないように、取得するレコードが決定される必要がある。
次に、ステップS135にて、保存必要性計算部103は、取得したレコードの遷移元画面IDの項目が変数Bと等しいか否かを判断する。等しいと判断した場合には処理がステップS136に進み、等しくないと判断した場合には処理がステップS139に進む。
ステップS135からステップS136に進んだ場合、保存必要性計算部103は、変数Xに、変数X自身と取得したレコードの遷移回数との和を代入する。すなわち、変数Xには、遷移先画面から遷移可能な任意の画面へ遷移した回数の合計が格納されることになる。
次に、ステップS137にて、保存必要性計算部103は、取得したレコードの遷移先画面IDの項目が変数Aと等しいか否かを判断する。等しいと判断した場合には処理がステップS138に進み、等しくないと判断した場合には処理がステップS139に進む。
ステップS137からステップS138に進んだ場合、保存必要性計算部103は、変数Yに、取得したレコードの遷移回数を代入する。すなわち、変数Yには、遷移先画面から遷移元画面に戻る遷移の回数が格納されることになる。
ステップS139にて、保存必要性計算部103は、学習結果格納部402から全てのレコードを取得したか否かを判断する。全て取得していたと判断した場合には処理がステップS140に進み、全て取得していないと判断した場合には処理がステップS134に戻る。
最後に、ステップS140にて、保存必要性計算部103は、保存必要性の計算結果として変数Yを変数Xで除算した値を出力する。
以上のような実施の形態4によれば、ユーザの操作または画面遷移を学習し、その学習結果を保存必要性の計算に用いる。このような構成によれば、ユーザの使用傾向に適応することができるので、より効率的にメモリ使用量を抑制することが可能となる。
<実施の形態5>
実施の形態1においては、画面情報取得部105で保存する画面情報は、遷移元画面全体の画面情報であった。しかし本発明はこれに限ったものではなく、以下で説明する本発明の実施の形態5に係るユーザインタフェース装置のように、遷移元画面を区分してなる部分画面について画面情報を保存しても良い。
図22は、本実施の形態5に係るUI装置の構成を示すブロック図である。なお、図22に示されるUI装置の構成のうち、図1に示されたUI装置の構成と同様であるものについては同一の符号を付し、ここではその説明は省略する。
本実施の形態5に係るUI装置は、図1の構成に加えて、保存対象領域格納部501を備える。この保存対象領域格納部501は、遷移元画面を区分してなる複数の部分画面の情報を格納している。複数の部分画面の情報には、例えば、複数の部分画面の領域に関する情報も含まれる。なお、保存対象領域格納部501は、例えば、コンピュータ151における記憶装置153によって実現されても良いし、外部の記憶媒体によって実現されていても良い。
図23は、画面遷移アニメーションの一例を示す図である。図23では、遷移元画面である画面A1から、遷移中の画面A2,A3を順に経て、遷移先画面である画面A4に遷移するアニメーションが実行される例が示されている。この例では、画面A1は、遷移が進むにつれて、中央部で左右に分割され、分割された画面が左右にスライドしながら消えていく。画面A4は、遷移が進むにつれて、画面A1の下に存在しているかのように徐々に現れ、最後には完全に現れる。なお、遷移元画面が画面A4であり、遷移先画面が画面A1である場合にも、同じように遷移するアニメーションが実行される。
以上のようなアニメーションにおいては、まず遷移先画面の中央部分のみが表示され、その後しばらくしてから、遷移先画面の全体が表示される。このため、遷移先画面の中央部分は、比較的早い段階で表示される必要性は高いが、遷移先画面の端部分は、比較的早い段階で表示される必要性は低い。
図24は、部分画面の一例を示す図である。画面A1は、点線部によって三つの部分画面PA1,PA2,PA3に分割されている。
ここで本実施の形態5では、保存必要性計算部103は、遷移情報と、保存対象領域格納部501に格納された複数の部分画面の情報とに基づいて、保存必要性を部分画面について計算する。遷移元画面情報取得部106は、部分画面について計算された保存必要性に基づいて、一つの取得段階に対応する遷移元画面の情報を部分画面について取得する。画面情報保存部107は、遷移元画面情報取得部106で部分画面について取得された遷移元画面の情報を、画面情報として保存する。
このように構成された本実施の形態5によれば、例えば、早く表示される必要性が高い部分画面PA2については、キャプチャ画像を画面情報として画面情報保存部107に保存し、早く表示される必要性が低い部分画面PA1,PA3については、ディスプレイリストを画面情報として画面情報保存部107に保存することが可能となる。つまり、部分画面に応じて取得段階が異なる遷移元画面の情報を、画面情報保存部107に保存することが可能となる。
図25は、本実施の形態5の保存必要性計算部103における、保存必要性を計算する処理の流れを示すフローチャートである。なお、図25において、図3の処理と同一の符号が付された処理は、図3の処理と同一またはこれに類似する処理であるので、以下の説明では図25の処理のうち図3にない処理を中心に説明する。
ステップS1及びS2を経たステップS151にて、保存必要性計算部103は、保存対象領域格納部501から複数の部分画面の情報を取得する。
次に、ステップS152にて、保存必要性計算部103は、遷移情報と、複数の部分画面の情報とに基づいて複数の部分画面のそれぞれについて保存必要性を計算する。その後、ステップS4を行う。
なお、図示しないがこれと同様に、複数の部分画面のそれぞれについて、取得段階判断部104による取得段階判断処理、及び、画面情報取得部105及び画面情報保存部107による画面情報保存処理などが行われる。
また、保存対象領域格納部501に複数の部分画面の情報を設定及び格納する方法はどのような方法であっても構わない。設計者が、複数の部分画面の情報を予め設定しておいても構わない。また、保存対象領域格納部501に格納される複数の部分画面の情報は、ユーザにより設定されてもよい。ユーザによる設定としては、例えば、ユーザが設定ファイルをUI装置に読み込ませる方法、ユーザがUI装置に表示される画面を見ながら入力装置101に入力操作を行うことにより設定する方法、及び、その他の方法のいずれであっても構わない。また、複数の部分画面の情報は、画面内容またはアニメーション内容に応じて自動的に変更されても構わない。また、特定の部分画面についてのみ、保存必要性計算部103による保存必要性計算処理、取得段階判断部104による取得段階判断処理、及び、画面情報取得部105及び画面情報保存部107による画面情報保存処理などが行われてもよい。
以上のような本実施の形態5によれば、遷移元画面を区分してなる部分画面について保存必要性の計算などを行なう。これにより、部分画面に応じて取得段階が異なる遷移元画面の情報を、画面情報保存部107に保存することが可能となるので、より効率的にメモリ使用量を抑制することが可能となる。
なお上述したように、保存対象領域格納部501に格納される複数の部分画面の情報は、ユーザにより設定されてもよい。これにより、ユーザの知見またはノウハウなどを基に部分画面を変更することが可能となるため、より効率的にメモリ使用量を抑制することが可能となる。
<実施の形態6>
本発明の実施の形態6に係るUI装置は、取得段階判断部104において使用する判断基準、及び、保存可能画面情報数格納部201に格納された保存可能画面情報数などについて、ユーザが設定を行うための画面を表示可能に構成されている。なお、以下の説明では、この画面を「ユーザ設定用画面」と記す。
図26は、ユーザ設定用画面の一例である。図26のユーザ設定用画面は、ドロップダウンリスト601,602,603と、テキストボックス604,605,606,609と、スライダー608を有するスライダーバー607とを含んでいる。
ドロップダウンリスト601,602,603では、取得段階判断部104で用いられる判断基準の対象となる取得段階が選択される。この例では、ドロップダウンリスト601,602,603のそれぞれにおいて、下向きの矢じりボタンが操作された場合に表示される取得段階のリストから一つの取得段階を選択することが可能となっている。
テキストボックス604,605,606では、上記判断基準において基準となる保存必要性の閾値が入力される。この例では、入力は数値のみ許可されている。例えば、図26のように取得段階の判断基準が設定された場合、保存必要性が80%から100%の場合はキャプチャ画像を、保存必要性が50%から80%の場合はディスプレイリストを、保存必要性が20%から50%の場合は画面モデルを画面情報として保存し、保存必要性が0%から20%の場合は画面情報を保存しないという設定になる。
スライダーバー607及びテキストボックス609では、保存可能画面情報数が設定される。この例では、スライダーバー607及びテキストボックス609は連動しており、スライダーバー607の目盛上が操作されたり、スライダー608がドラッグ操作されたりすると、テキストボックス609に対応する数値が自動的に入力され、逆に、テキストボックス609に数値が入力されると、スライダー608がスライダーバー607の目盛に自動的に移動する。図26の例では、保存可能画面情報数が「2」に設定されている。
なお、図26及び上記説明は飽くまでも一例であり、本発明の効果を限定するものではない。他にも保存必要性計算に使用する重みをユーザが設定するための項目が追加されても良いし、ユーザが設定する必要のない項目については削除されても良い。また、設定するための表示内容についても、ドロップダウンリスト、テキストボックス、スライダーバーだけでなく、チェックボックス、ラジオボタン、スピンボタンなど一般的な表示部品を適宜組み合わせても構わない。
以上のような本実施の形態6によれば、ユーザは簡単にUI装置の設定を行うことができる。
<実施の形態7>
実施の形態2の変形例2では、図10のステップS53、つまり不要な画面情報の削除処理において、優先度に基づいて削除すべき画面情報が決定された。本発明の実施の形態7では、優先度を決定するより具体的な一例について説明する。
図27は、本実施の形態7に係るUI装置の構成を示すブロック図である。なお、図27に示されるUI装置の構成のうち、図9に示されたUI装置の構成と同様であるものについては同一の符号を付し、ここではその説明は省略する。
本実施の形態7に係るUI装置は、図9の構成に加えて、画面情報取得部105における不要な画面情報の削除処理において、遷移先画面の画面内容を含む遷移情報と画面情報保存部107で保存されている画面情報とに基づいて、画面情報の優先度を計算する優先度計算部701を備える。
図28は、本実施の形態7における不要な画面情報の削除処理の流れを示すフローチャートである。なお、図28の処理は、図10のステップS53の処理に相当し、図13の処理に類似する。図28において、図13の処理と同一の符号が付された処理は、図13の処理と同一またはこれに類似する処理であるので、以下の説明では図28の処理のうち図13にない処理を中心に説明する。
ステップS81を経たステップS161にて、優先度計算部701は、ステップS81で取得した画面情報に関して、遷移情報と当該画面情報とに基づいて優先度を計算する。
同様に、ステップS83を経たステップS162にて、優先度計算部701は、ステップS83で取得した画面情報に関して、遷移情報と当該画面情報とに基づいて優先度を計算する。ステップS84では、ステップS161及びステップS162で計算した優先度に基づいて削除対象の画面情報を決定する。
図29は優先度計算部701における優先度計算処理の流れを示すフローチャートである。なお、図29の処理は、図28のステップS161及びステップS162のそれぞれの処理に相当する。
まず、ステップS171にて、優先度計算部701は、遷移先画面の遷移情報を取得する。
次に、ステップS172にて、優先度計算部701は、画面情報取得部105で取得した画面情報、つまり優先度計算を行う対象の画面情報を取得する。
ステップS173にて、優先度計算部701は、ステップS171及びステップS172で取得した情報に基づいて優先度を計算する。計算方法はどのような方法でも構わない。例えば、遷移先画面から取得した画面情報を持つ画面へ遷移する可能性が高い場合は高優先度であると計算し、遷移先画面から取得した画面情報を持つ画面へ遷移する可能性が低い場合は低優先度であると計算するような方法でも構わない。
最後に、ステップS174にて計算した優先度を画面情報取得部105に出力する。以上のような本実施の形態7によれば、遷移先画面の遷移情報に基づいて動的に優先度を決定することが可能である。これにより保存しておくべき画面情報を遷移先画面に応じて変更することが可能となるので、より効率的にメモリ使用量を抑制することが可能となる。
<実施の形態1〜7の変形例>
上記実施の形態では、各構成要素の寸法、形状、相対的配置関係または実施の条件などについても記載している場合があるが、これらはすべての局面において例示であって、本明細書に記載されたものに限られることはない。よって、例示されていない無数の変形例が、本技術の範囲内において想定される。例えば、任意の構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも一つの実施の形態における少なくとも一つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれる。
また、矛盾が生じない限り、上記実施の形態において「1つ」備えられるものとして記載された構成要素は、「1つ以上」備えられていてもよい。さらに、各構成要素は概念的な単位であって、一つの構成要素が複数の構造物から成る場合及び一つの構成要素がある構造物の一部に対応する場合、さらには、複数の構成要素が一つの構造物に備えられる場合を含む。また、各構成要素には、同一の機能を発揮する限り、他の構造または形状を有する構造物が含まれる。
また、本明細書における説明は、本技術のすべての目的のために参照され、いずれも、従来技術であると認めるものではない。
上記実施の形態で記載された各構成要素による作用は、少なくとも一つの、処理回路または電気回路において実施することができる。処理回路及び電気回路には、プログラムされた演算処理装置を含み、その場合、処理回路または電気回路が予め設定されたプログラムにしたがって動作することによって、上記実施の形態で記載された各構成要素による作用が実現される。また、各構成要素による作用を実現するプログラムは、ハードディスクまたはメモリなどの記憶媒体に記憶される。また、処理回路には、集積回路(application specific integrated circuit、すなわちASIC)または上記実施の形態で記載された作用を実現するように変更された従来の回路要素などを含む。
また、上述したUI装置の複数の構成要素は、一つの装置に備えられてもよいし、システムの態様のように複数の装置に分散して備えられてもよい。例えば、UI装置におけるコンピュータとディスプレイとが分散して備えられた状態で、コンピュータを用いてディスプレイの表示を遠隔的に制御するように構成されてもよい。
なお、本発明は、その発明の範囲内において、各実施の形態及び各変形例を自由に組み合わせたり、各実施の形態及び各変形例を適宜、変形、省略したりすることが可能である。
本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。