(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
ユーザがマウス等のポインティング・デバイスを用いてポインタを移動させ、オブジェクトの選択動作を行う間に、オブジェクトの位置が変更されるケースや、複数のオブジェクトの再描画が行われるケースなどにおいて、ユーザが意図しないオブジェクト選択操作が行われてしまう場合がある。
【0007】
本発明は、誤ったオブジェクトを選択することを防止し、また無意味な選択操作を回避する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の目的を達成するため、本発明は、次のような方法として実現される。この方法は、表示装置と記憶装置を有するコンピュータの処理により、前記表示装置に表示されたオブジェクトの選択方法であって、前記表示装置内で移動可能なポインタをユーザが移動させることに応答して、当該ポインタが所定の仮選択状態であるか判断するステップと、仮選択状態であると判断した場合に、前記ポインタが指示するオブジェクトを取得し、仮選択オブジェクトとして前記記憶装置に記憶するステップと、ユーザが所定のオブジェクトの選択操作を行うことに応答して、前記ポインタが指示するオブジェクトを取得するステップと、前記取得したオブジェクトと前記記憶した前記仮選択オブジェクトを比較するステップと、前記比較の結果、同一である場合に、前記オブジェクトが選択されたと判断するステップを有する。
【0009】
さらに詳細には、上記方法において、前記所定の仮選択状態の判断は、ポインタの移動速度が所定以下である場合に仮選択状態と判断する。
【0010】
さらに、前記所定の仮選択状態の判断は、ポインタの停止時間が所定時間以上である場合に仮選択状態と判断しても良い。
【0011】
さらに、前記比較の結果、同一でない場合、前記オブジェクトの選択操作を中止するステップを有するようにしても良い。
【0012】
さらに、前記比較の結果、同一でない場合、前記仮選択オブジェクトが選択されたと判断するステップを有するようにしても良い。
【0013】
さらに、前記オブジェクトがURL、アイコン・オブジェクト、またはメニュー・オブジェクトであっても良い。
【0014】
さらに、前記表示装置がタッチパネルの機能を有し、前記ポインタがユーザの指、またはユーザが使用するスタイラスであっても良い。
【0015】
別の態様として、本発明は上記各ステップを、コンピュータに実行させるコンピュータ・プログラムとして実現される。
【0016】
別の態様として、本発明は次のような装置として実現される。この装置は、表示装置と記憶装置を有するコンピュータの処理により、前記表示装置に表示されたオブジェクトの選択装置であって、前記表示装置内で移動可能なポインタをユーザが移動させることに応答して、当該ポインタが所定の仮選択状態であるか判断する手段と、仮選択状態であると判断した場合に、前記ポインタが指示するオブジェクトを取得し、仮選択オブジェクトとして前記記憶装置に記憶する手段と、ユーザが所定のオブジェクトの選択操作を行うことに応答して、前記ポインタが指示するオブジェクトを取得する手段と、前記取得したオブジェクトと前記記憶した前記仮選択オブジェクトを比較する手段と、前記比較の結果、同一である場合に、前記オブジェクトが選択された判断する手段とを有する。
【発明の効果】
【0017】
本発明によれば、ユーザが誤った選択操作を行ってしまうことを防止し、オブジェクトの適切かつユーザビリティに富む選択操作を提供することができる。
【発明を実施するための形態】
【0019】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
[システムの機能構成]
図1は、本実施形態が適用される選択システムの機能構成例を示す図である。
図1に示すように、本実施形態の選択システム100は、表示制御部170と、操作受付部130と、オブジェクト記憶部140と、選択処理部150と、記憶部160とを備える。また、選択システム100の表示制御部170には、液晶ディスプレイ等の表示装置110が接続されている。
【0020】
表示制御部170は、表示装置110の表示画面に、各種の画像を表示する。具体的には、処理対象であるオブジェクトのアイコン、ポインタ、カーソル等を表示させる。
【0021】
操作受付部130は、ユーザがポインティング・デバイス等の入力デバイスを用いて行った操作の情報を取得する。取得する操作の内容は、マウスの移動情報、キーボード・カーソルの移動情報、タッチパネル等から得られる指、スタイラス、またはポインタの移動情報、そしてオブジェクトの選択を指示する操作等である。
【0022】
オブジェクト記憶部140は、操作受付部130により受け付けた操作内容を判定する。具体的には、ポインタまたはカーソルが移動し、何らかのオブジェクトを指示している状態で停止しているかどうかを所定の基準に従って判定する。もしポインタが停止したと判定された場合には、そのポインタが指示しているオブジェクトを仮選択オブジェクトとして記憶部160に記憶する。操作受付部130からの操作内容が選択操作である場合には選択処理部150で処理される。
【0023】
記憶部160は、仮選択オブジェクトを一時的に記憶する。記憶部160としてハードディスクドライブ等も使用可能であるが、好適には高速なアクセスを可能とするメモリ領域が都合が良い。メモリ領域としてオペレーティング・システムが提供する共有メモリ領域を使用しても良い。
【0024】
選択処理部150は、操作受付部130により受け付けられた操作内容がオブジェクトの選択操作(マウスのクリック操作、キーボードの確定操作、タッチパネルのタッチ操作など)である場合に、正しいオブジェクトの選択であるかどうかを判定する。正しいかどうかの判定は現在のポインタが指示しているオブジェクトを取得し、これをオブジェクト記憶部140に記憶した仮選択オブジェクトと比較することにより行われる。同一のオブジェクトであれば正しい選択操作と判断される。そして最終的にオブジェクトの選択処理を実行する。具体的には、オブジェクトに割り当てられた機能がCPUにより実行される。
【0025】
[ハードウェア構成例]
図2は、本実施形態の選択システム100を構成するのに好適なコンピュータのハードウェア構成例を示す図である。システム100は、少なくともCPU(中央演算装置)11、メモリ12、記憶装置13、I/Oインタフェース14、ビデオインタフェース15、ディスクドライブ16、通信インタフェース17及び上述したハードウェアを接続する内部バスで構成されている。
【0026】
メモリ12は、システム・コントローラ18を介してCPU11に接続されている。また、通信インタフェース17、ディスクドライブ16は、I/Oコントローラ19を介してシステム・コントローラ18と接続されている。各構成要素は、通信速度に応じて異なるバスで接続しても良い。
【0027】
メモリ12は、オブジェクト情報の記憶にも使用する。例えばOSが提供し、アプリケーション間での共有のために提供されるメモリ領域(クリップボードと呼ばれる)を記憶部160として使用しても良い。
【0028】
CPU11は、内部バスを介してシステム100のハードウェア各部の動作を制御し、記憶装置13に記憶されたOSを含むコンピュータ・プログラムを読み取り、種々のソフトウェア的機能を実行する。メモリ12にはOSを含むコンピュータ・プログラムの実行のためのロードモジュールが展開され、コンピュータ・プログラムの実行のための一時的なデータ等が記憶される。
【0029】
DVD、CD−ROM等の可搬型記録媒体90に記憶されたコンピュータ・プログラム及びデータ95は、ディスクドライブ16を通じて読み取られ、記憶装置13またはメモリ12へ展開されCPU11により実行される。
【0030】
通信インタフェース17は内部バスに接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部機器とデータ送受信を行うことが可能となっている。もちろん、通信インタフェース17を介してプログラムを受信し実行するようにしても良い。
【0031】
I/Oインタフェース14は、キーボードやマウス等の入力デバイス20の他、タッチパネル21と接続され、データの入力を受け付ける。なお本発明の実施にタッチパネルは必須ではないことに留意されたい。
図2の例では、ビデオインタフェース15は、タッチパネル21と一体となったディスプレイ22と接続され、オブジェクトのアイコンやポインタの画像を表示する。
【0032】
図2のシステム100に用いられる典型的なハードウェア例として、スマートフォン、携帯電話、パーソナル・コンピュータなどが挙げられる。もちろんタッチパネル対応のOSを搭載したハードウェアでも実施可能である。
【0033】
[リンクの誤選択例]
図3に従来のリンクの誤選択例を示す。ユーザがあるWEBページを読み込み中にポインタ305を所望のリンク(example.com/link/second)まで移動させている。この時、表示領域310ではURL情報の他に読み込み途中のエリアが存在している。次にこのエリアの読み込みが終了した後の2つの例が表示領域320、または表示領域340として示されている。そこでユーザはリンクを選択する操作(具体的にはマウスのクリック、キーボードの確定キー押下、タッチパネルのタッチ操作等)を行う。
【0034】
まず表示領域320の場合、読み込み後のエリアの拡大が小さい例である。この場合、ユーザは所望のリンク(example.com/link/second)を正しく選択することになり、リンク先である example.com/link/second のWEBページ330が表示される。
【0035】
次に表示領域340の場合、読み込み後のエリアの拡大が大きい例である。この場合、ユーザが選択操作を行った時点でリンク位置が移動していたために、ユーザは所望のリンク(example.com/link/second)を正しく選択することができず、誤ったリンク先である example.com/link/first のWEBページ350が表示される。
【0036】
[本発明の実施例1]
図4に本発明のリンクの選択例を示す。まずユーザがあるWEBページを読み込み中にポインタ405を所望のリンク(example.com/link/second)まで移動させている。この時、表示領域410ではURL情報の他に読み込み途中のエリアが存在している。次にこのエリアの読み込みが終了した後の3つの例が表示領域420、440、460として図示される。そこでユーザはリンクを選択する操作(具体的にはマウスのクリック、キーボードの確定キー押下、タッチパネルのタッチ操作等)を行う。
【0037】
1番目の例である表示領域420の場合、読み込み後のエリアの拡大が小さい例である。この場合、ユーザは所望のリンク(example.com/link/second)を正しく選択することになり、リンク先である example.com/link/second のWEBページ430が表示される。
【0038】
2番目の例である表示領域440の場合、読み込み後のエリアの拡大が大きい例である。この場合、ユーザが選択操作を行った時点でリンク位置が移動していたために、ユーザは所望のリンク(example.com/link/second)ではなく、誤ったリンク(example.com/link/first)を選択してしまうが、本発明の特有の動作態様によりその選択操作がキャンセルされ表示領域450は表示領域440と同じ内容のまま変化しない。
【0039】
上記態様は、ユーザがポインタを動作させてリンクを選択する前にそのポインタが指示しているオブジェクト(上の例ではリンク情報example.com/link/second)を仮選択オブジェクトとして保存しておき、ユーザが最終的に選択操作を行った段階で、ポインタが指示しているオブジェクトと保存した仮選択オブジェクトを比較して同一かどうかを判断し、それが異なる場合には選択操作をキャンセルする効果による。
【0040】
3番目の例である表示領域460の場合、読み込み後のエリアの拡大が大きい例の別態様である。この場合、ユーザが選択操作を行った時点でリンク位置が移動していたために、ユーザは所望のリンク(example.com/link/second)ではなく、誤ったリンク(example.com/link/first)を選択してしまうが、本発明の特有の動作態様により、ユーザ所望のリンク(example.com/link/second)が選択され、正しいリンク先であるexample.com/link/second のWEBページ470が表示される。
【0041】
上記態様は、ユーザがポインタを動作させてリンクを選択する前にそのポインタが指示しているオブジェクト(上の例ではリンク情報example.com/link/second)を仮選択オブジェクトとして保存しておき、ユーザが最終的に選択操作を行った段階で、ポインタが指示しているオブジェクトと保存した仮選択オブジェクトを比較して同一かどうかを判断し、それが異なる場合には、仮選択オブジェクトが選択されたとする効果による。
【0042】
[本発明の実施例2]
図5に本発明のタッチパネル21におけるアイコン・オブジェクト選択例を示す。
図5のシステム100はスマートフォン、携帯電話、またはタッチパネル用OSを搭載したハードウェアとする。まずユーザが親指を移動させ所望のアイコン・オブジェクト50Sを選択しようとしている。ところがディスプレイ22はアイコン・オブジェクトの再描画中かまたは描画がリセットされたために、アイコン・オブジェクト50Sはその位置が変更され50Eの位置に移動してしまった。またアイコン・オブジェクト50Sが存在していた場所には他のオブジェクトが配置されている可能性がある。
【0043】
従来の方法では、この状態でアイコン・オブジェクト50Sを正しく選択することはできない。また異なるオブジェクトを誤選択する可能性がある。しかしながら本発明の特有の方法によれば、誤ったオブジェクトを選択することはない。
【0044】
上記態様は、ユーザが親指を移動させてアイコン・オブジェクトを選択する前にユーザが選択しようとしているアイコン・オブジェクトを仮選択アイコン・オブジェクトとして保存しておき、ユーザが最終的に選択操作(アイコンに触れるなど)を行った段階で、選択されたアイコン・オブジェクトと保存した仮選択アイコン・オブジェクトを比較して同一かどうかを判断し、それが異なる場合には選択操作をキャンセルする効果による。
【0045】
また別の態様として、選択されたアイコン・オブジェクトと保存したアイコン・オブジェクトを比較して同一かどうかを判断し、それが異なる場合には保存したアイコン・オブジェクトを利用して、上記の例であればアイコン・オブジェクト50S(すなわち選択時点の50E)が選択されたと判断するようにしても良い。
【0046】
[本発明の実施例3]
図6に本発明のタッチパネル21におけるメニュー・オブジェクト選択例を示す。
図6のシステム100はスマートフォン、携帯電話、またはタッチパネル用OSを搭載したハードウェアとする。まずユーザが親指を移動させ所望のメニュー・オブジェクト60Sを選択しようとしている。ところがディスプレイ22はメニュー・オブジェクトの再描画中かまたは描画がリセットされたために、メニュー・オブジェクト60Sはその位置が変更され60Eの位置に移動してしまった。またメニュー・オブジェクト60Sが存在していた場所には他のオブジェクトが配置されている可能性がある。
【0047】
従来の方法では、この状態でメニュー・オブジェクト60Sを正しく選択することはできない。また異なるオブジェクトを誤選択する可能性がある。しかしながら本発明の特有の方法によれば、誤ったメニュー・オブジェクトを選択することはない。
【0048】
上記態様は、ユーザが親指を移動させてメニュー・オブジェクトを選択する前にユーザが選択しようとしているメニュー・オブジェクトを仮選択オブジェクトとして保存しておき、ユーザが最終的に選択操作(メニューに触れるなど)を行った段階で、選択されたメニュー・オブジェクトと保存した仮選択メニュー・オブジェクトを比較して同一かどうかを判断し、それが異なる場合には選択操作をキャンセルする効果による。
【0049】
また別の態様として、選択されたメニュー・オブジェクトと保存したメニュー・オブジェクトを比較して同一かどうかを判断し、それが異なる場合には保存したメニュー・オブジェクトを利用して、上記の例であればメニュー・オブジェクト60S(すなわち60E)が選択されたと判断するようにしても良い。
【0050】
[仮選択と選択の判断方法]
図7は本発明の仮選択と選択の判断方法を示したものである。縦に移動および選択機構、横に選択の種別により場合分けしている。まずマウスの場合には、仮選択の判断は、ポインタの移動速度が一定以下(例えば 1 dot/sec)の場合に停止したと判断し、ポインタが位置する(指示する)オブジェクトが存在する場合に、そのオブジェクトを仮選択オブジェクトとして記憶部160に記憶する。選択はマウスのボタン(左ボタンの押下)またはキーボードの確定キーの押下による。
【0051】
静電容量方式のタッチパネルの場合には、指(スタイラス)とパネル間の距離が測定できるので、仮選択の判断は、指(スタイラス)が画面に触れずに一定時間以上(例えば100msec)ほぼ同じ位置にある場合に停止したと判断し、指の位置する(指示する)オブジェクトが存在する場合に、そのオブジェクトを仮選択オブジェクトとして記憶部160に記憶する。選択は指(スタイラス)が表示画面22に触れた時、または表示画面22から一定距離離れた場合にオブジェクトを選択したと判断する。
【0052】
そのほかのタッチパネルの場合には、仮選択の判断は、指(スタイラス)が表示画面に一定時間以上同じ位置に触れている場合に停止したと判断し、指の位置する(指示する)オブジェクトがあれば、そのオブジェクトを仮選択オブジェクトとして記憶部160に記憶する。選択は指(スタイラス)が表示画面22から離れた時にオブジェクトを選択したと判断する。その他、種々の条件を選択機構に応じて設定することができる。
【0053】
[本発明の処理の流れ]
図8は、本実施形態によるオブジェクト選択操作における処理の流れを示すフローチャートである。処理開始時点において、システム100はポインタの移動、選択動作を受け入れ可能な状態であると仮定する。また複数のアプリケーションが描画処理中であっても構わない。まずステップ810でポインタまたは指が移動したかを判断する。移動した場合にはポインタはどこで停止するかを判断するために、ステップ820で停止したかどうか(オブジェクトの仮選択の条件を満たすか)を判断する。
【0054】
仮選択の条件を満たせば処理はステップ830で、そのオブジェクトを仮選択オブジェクトとして記憶部160に記憶し、ステップ810へ戻る。
【0055】
ステップ810でポインタの移動でない場合には、ステップ840で選択操作が行われたかどうかを判断する。
【0056】
選択操作が行われた場合には、ステップ850でポインタが指示するオブジェクトの情報を取得する。そしてステップ860でこの情報と先に記録した仮選択オブジェクト情報を比較する。比較の結果が等しい場合にはステップ870でオブジェクトを最終的に選択処理する。すなわちオブジェクトに割り当てられた機能を実行する。
【0057】
ステップ860で比較が失敗した場合には、処理は最終的選択処理を行わずステップ810に戻る。すなわち表示画面22の変化は生じない。この処理の流れはユーザがポインタを停止した瞬間のオブジェクトとクリックした瞬間のオブジェクトが異なる場合には、ユーザが誤ったオブジェクトを選択している可能性があるという点において、非常に好ましい実施形態を提供する。
【0058】
図9は、本実施形態によるオブジェクト選択操作におけるまた別の処理の流れを示すフローチャートである。処理開始時点において、システム100はポインタの移動、選択動作を受け入れ可能な状態であると仮定する。また複数のアプリケーションが描画処理中であっても構わない。 まずステップ910でポインタまたは指が移動したかを判断する。移動した場合にはポインタはどこで停止するかを判断するために、ステップ920で停止したかどうか(オブジェクトの仮選択の条件を満たすか)を判断する。
【0059】
仮選択の条件を満たせば処理はステップ930で、そのオブジェクトを仮選択オブジェクトとして記憶部160に記憶し、ステップ910へ戻る。
【0060】
ステップ910でポインタの移動でない場合には、ステップ940で選択操作が行われたかどうかを判断する。
【0061】
選択操作が行われた場合には、ステップ950でポインタが指示するオブジェクトの情報を取得する。そしてステップ960でこの情報と先に記録した仮選択オブジェクト情報を比較する。比較の結果が等しい場合にはステップ970でオブジェクトを最終的に選択処理する。すなわちオブジェクトに割り当てられた機能を実行する。
【0062】
ステップ960で比較が失敗した場合には、ステップ980で仮選択オブジェクトを選択処理する。この処理はユーザがポインタを停止した瞬間のオブジェクトがユーザが所望するオブジェクトであるという予想の元において、非常に好ましい実施形態を提供する。
【0063】
[仮選択オブジェクトの記録]
図10および
図11に本発明の仮選択オブジェクトの記録内容について説明する。仮選択オブジェクトは高速なアクセスを可能とするメモリ領域が好ましい。
図10および
図11にはメモリ領域としてオペレーティング・システムが提供する共有メモリ領域(クリップボードとも呼ばれる)を使用した例を示す。
【0064】
基本的には仮選択オブジェクトはオブジェクトの種類に対して1つだけ記憶すればよい。以下の説明では複数記憶する場合について説明する。
【0065】
共有メモリ領域には最新のオブジェクトが最も若い行に追記されていく。オブジェクトはオブジェクトの種別とそのオブジェクトの内容を含む1行として記録される。
【0066】
図10の例ではリンク情報であることを示す"Link:"と、そのリンク先情報が対となって記録されている。
【0067】
図10の下から上へ時系列に説明すると、まずポインタが移動してその後停止と判断された段階で仮選択オブジェクトが順にL3(3行目)、L2(2行目)example.com/link/second、L1(1行目)example.com/link/firstと保存されていることを示している。この状態で、ユーザが選択操作を行ったオブジェクトがexample.com/link/secondの場合は、最新の保存された仮選択オブジェクト(example.com/link/first)と異なるために選択操作はキャンセルされる。
【0068】
図11では、タッチパネル等で複数種類のオブジェクトが混在して仮選択オブジェクトとして記録されている様子を示す。記憶部160にはポインタが移動してその後停止と判断された段階で仮選択オブジェクトが順にL5:リンク情報、L4:メニュー・オブジェクト ID=1020、L3:メニュー・オブジェクト ID=1010、L2:オブジェクト情報 ID=40、L1:オブジェクト情報 ID=50と保存されている。ここでユーザが選択操作を行った場合のオブジェクトのオブジェクト情報がID=50の場合、保存された仮選択オブジェクトと等しいのでオブジェクトの選択操作は有効となり、オブジェクトに割り当てられた機能が実行される。
【0069】
図11の例のように、共有メモリ領域のオブジェクト情報は異なる種別のオブジェクトが混在しても構わない。また上記の2つの例は説明のために仮選択オブジェクト情報をテキスト情報で記録したが、アイコン・オブジェクトやプログラムなどのオブジェクト自身のバイナリ・イメージを記録するようにしても良い。
【0070】
また上記仮選択オブジェクトと選択操作したオブジェクトが異なる場合に、ダイアログを表示し、ユーザに対し共有メモリ領域の内容を表示し、過去の仮選択オブジェクトのリストからオブジェクトを選択させるようにしても良い。
【0071】
本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば種々の変形態様が可能である。