(57)【特許請求の範囲】
【請求項１】
接触感応ディスプレイに表示されるグラフィック要素を選択するためのコンピュータ実装方法であって、
グラフィック要素を前記接触感応ディスプレイに表示する（Ｓ１００）こと、
接触感応ディスプレイ上の第１のユーザインタラクションの第１の位置を検知する（Ｓ１２０）こと、
前記第１のユーザインタラクションが除去されるまで前記第１の位置から所定の位置のオフセットにおいて、ウィンドウを前記接触感応ディスプレイに表示する（Ｓ１３０）ことであって、前記ウィンドウは、グラフィック要素を選択するポインタを備えること、
前記第１のユーザインタラクションの前記第１の位置の周囲のエリアを前記ウィンドウにレンダリングする（Ｓ１４０）こと、
前記接触感応ディスプレイ上の第２のユーザインタラクションを検知する（Ｓ１５０）こと、
前記接触感応ディスプレイ上の前記第２のユーザインタラクションの移動を検知すること、および
前記第２のユーザインタラクションの移動に従ってポインタをウィンドウ内で移動すること
を備えることを特徴とするコンピュータ実装方法。
【請求項２】
前記第２のユーザインタラクションの移動は、移動方向と移動距離を備え、前記ポインタは、同じ移動方向および前記第２のユーザインタラクションの移動距離に比例する移動距離で移動されることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項３】
前記ポインタの移動距離は、縮小係数を適用することによって比例縮小されることを特徴とする請求項２に記載のコンピュータ実装方法。
【請求項４】
ユーザアクションの後、前記縮小係数を選択することをさらに備えることを特徴とする請求項３に記載のコンピュータ実装方法。
【請求項５】
前記ポインタを移動するステップの後、
前記接触感応ディスプレイ上の前記第１の位置から第２の位置への前記第１のユーザインタラクションの移動を検知するステップ（Ｓ１７０）と、
前記接触感応ディスプレイ上の前記第２の位置の周囲のエリアを前記ウィンドウにレンダリングするステップ（Ｓ１８０）と
をさらに備えることを特徴とする請求項１ないし４のいずれかに記載のコンピュータ実装方法。
【請求項６】
前記接触感応ディスプレイ上の前記第２の位置の周囲の前記エリアを前記ウィンドウにレンダリングすることは、前記第１の位置から前記第２の位置に移動する間、前記ウィンドウにおいて、前記第１のユーザインタラクションの中間位置の周囲のエリアのリアルタイムレンダリングを遂行することをさらに備えることを特徴とする請求項５に記載のコンピュータ実装方法。
【請求項７】
前記第１のユーザインタラクションの前記移動に従って前記ウィンドウを移動することをさらに備えることを特徴とする請求項５または６に記載のコンピュータ実装方法。
【請求項８】
前記ウィンドウが移動する間、前記ポインタは、前記ウィンドウ内で不動のままであることを特徴とする請求項５ないし７のいずれかに記載のコンピュータ実装方法。
【請求項９】
前記第２のユーザインタラクションは、前記接触感応ディスプレイ上で保持されることを特徴とする請求項５ないし８のいずれかに記載のコンピュータ実装方法。
【請求項１０】
前記第１のユーザインタラクションは、前記接触感応ディスプレイ上で保持されることを特徴とする請求項１ないし９のいずれかに記載のコンピュータ実装方法。
【請求項１１】
前記ポインタを移動することの後、前記第１および前記第２のユーザインタラクションの欠如を検知するステップと、
前記ポインタの下にあるグラフィック要素を選択するステップ（Ｓ１９０）と
をさらに備えたことを特徴とする請求項１ないし１０のいずれかに記載のコンピュータ実装方法。
【請求項１２】
前記接触感応ディスプレイから前記ウィンドウを除去する（Ｓ２００）ことをさらに備えたことを特徴とする請求項１１に記載のコンピュータ実装方法。
【請求項１３】
前記ウィンドウにレンダリングされたエリアは、拡大または縮小係数に基づいて拡大または縮小されることを特徴とする請求項１ないし１２のいずれかに記載のコンピュータ実装方法。
【請求項１４】
コンピュータに請求項１ないし１３のいずれかに記載の方法のステップをとるようにさせる命令を備える、グラフィック要素を選択するためのコンピュータプログラム。
【請求項１５】
メモリに通信可能に結合されたプロセッサ、および接触感応ディスプレイを備え、前記メモリは、請求項１４のコンピュータプログラムを格納する、グラフィック要素を選択するためのコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、コンピュータプログラムおよびシステムの技術分野に関し、より詳細には、グラフィック要素の選択方法に関する。
【背景技術】
【０００２】
グラフィカルユーザインタフェース（ＧＵＩ）は、ユーザと、例えば、パーソナルコンピュータ、ラップトップ、音楽プレーヤ、携帯電話、携帯情報端末といったデバイスとの間のインタラクションの効率に関して重要な役割を果たす。このようなデバイスは、機能を遂行するさまざまなアプリケーションおよびプログラムを実行する。
【０００３】
通常、ユーザは、ＧＵＩ要素として表示デバイスに表示されるメニュー、ツールバー、アイコン、および他のグラフィックを介してアプリケーションおよびプログラムとインタラクトする。例えば、コンピュータ支援設計（ＣＡＤ）技術の分野において、製品を形成する、オブジェクト（または部品）またはオブジェクトのアセンブリの設計用に、ダッソーシステムズの商標ＣＡＴＩＡに基づいて提供される製品など、いくつかのシステムおよびプログラムが市販されている。ＣＡＤシステムは、ユーザがＧＵＩを介してオブジェクトまたはオブジェクトのアセンブリの複雑な３次元（３Ｄ）モデルを構築して操作できるようにさせる。
【０００４】
従来、動作は、ユーザによって動作されるポインタを用いたグラフィックインタラクションによって遂行される。ポインタは、デバイスのＧＵＩで表示され、そしてマウス、トラックボール、グラフィックタブレットなどといったポインティングデバイス経由で動作される。物理的ボタン（例えば、押しボタン）またはキーボードなど、周辺入力デバイス経由で動作を遂行することも可能である。最近になって、接触感応(touch-sensitive)ディスプレイが開発された。接触感応ディスプレイは、ユーザとデバイスとの間の新しい種類のインタラクションを提供する。接触感応ディスプレイは、例えば、ディスプレイ上のユーザの指の接触など、表示エリア上の付着物（appendage）の存在、位置およびモーションを検知することができる。接触感応ディスプレイは、従って、従来のポインティングデバイスに取って代わる入力インタフェースを提供する。さらに、接触感応ディスプレイはまた、出力インタフェースも提供する。
【０００５】
接触感応ディスプレイは、接触感応表面を備え、それによりこの表面とのユーザの任意の接触または近接インタラクションを検知できる。抵抗、表面音響波、赤外線、および容量技術を含む、いくつかのタイプの接触感応ディスプレイ技術が開発されているが、これらに限定されない。インタラクションは、典型的には、スタイラス、指などの付着物を介して接触感応ディスプレイに提供される。ユーザインタラクションの検知は、付着物が直接接触感応ディスプレイと接触する−付着物が接触感応ディスプレイにタッチする時に遂行され、ユーザインタラクションの検知は、付着物が接触感応ディスプレイから所与の距離に置かれている−付着物が接触感応ディスプレイにタッチしなくてよい時にも遂行され得る。ユーザインタラクションは従って、ユーザに表示されるものに対して直接遂行される。
【０００６】
一般に、接触感応ディスプレイを備えるデバイスは、もはやポインティングデバイスおよび／または周辺入力デバイスを備えていない。これにより、従来ポインティングデバイスおよび／または周辺入力デバイスを用いて行われていた一部の動作をユーザが遂行できない可能性がある。しかしながら、接触感応画面に表示されるグラフィック要素の正確な選択は、指では非常に困難であり、スタイラスでも困難である。一般に、指／ポインティングデバイス単独を使用して正確な選択をすることは、困難である。なぜならば、指またはポインティングデバイス（例えば、スタイラス）は、付着物と直接接触している画面のエリアにオクルージョン(occlusion)を生成し、付着物および目と表示画面との間に手が置かれることによってユーザの視界が狭まり、そしてユーザは、現在選択されているものを見ることができないからである。さらに、選択されるグラフィック要素が接近していれば、ユーザが特定のグラフィック要素を正確に選択することがさらに困難になる。これは、一部には、指または手で握られた付着物特有のジッターが原因であり、一部には、画面上のタッチポイントの動きを正確に制御する能力が指／ポインティングデバイスの動きを制御する能力よりも低いことが原因であるので困難である。典型的には、タッチポイントの変位は、指／ポインティングデバイスの変位と同じである。別の問題は、タッチポインタの感度が上がらないこと：タッチポインタの動きが指またはポインティングデバイスの動きと全く同じであり、これによりタッチポインタの動きの精度を欠くことになる。さらなる問題は、ユーザが正確な選択を行うためにビューをズームインしなければならず、その後、元のスケールに戻して作業を継続するためにズームアウトしなければならないことであり、これは、ユーザにとって煩雑な動作であり、時間のかかるプロセスであり、そしてタブレットなど、接触感応ディスプレイを有するデバイスに限定されるコンピュータ資源をさらに要求する。
【０００７】
一部のソリューションが開発されている。しかしながら、それらのソリューションは、いくつかの欠点を抱える。主に、ユーザは、タッチ入力を使用してポインタをピクセルずつ移動するために、ディスプレイのすべてのエリアに到達するためになおも困難に遭遇する。さらに、ソリューションがポインタのオフセットとポインタの減速との組み合わせを使用する場合、ユーザがポインタを正しく移動させることは困難である。さらに、デュアルフィンガー技術は、正確さを高めるが、ユーザフレンドリーでなく、特に、デュアルフィンガースライダを使用するソリューションではユーザフレンドリーでない。
【０００８】
従って、上記に簡単に論じた既存のソリューションの制限により、接触感応ディスプレイ上のグラフィック要素を選択するための改善方法が必要である。好適には、その方法は、ユーザに直感的で人間工学的でなければならない、ジェスチャーの正確さを改善しなければならない。
【発明の概要】
【０００９】
本発明は、従って、接触感応ディスプレイに表示されるグラフィック要素を選択するためのコンピュータ実装方法を提供する。その方法は、グラフィック要素を接触感応ディスプレイに表示すること、接触感応ディスプレイ上の第１のユーザインタラクションの第１の位置を検知すること、ウィンドウをディスプレイに表示することであって、そのウィンドウは、グラフィック要素を選択するポインタを備えること、第１のユーザインタラクションの第１の位置の周囲のエリアをウィンドウにレンダリングすること、接触感応ディスプレイ上の第２のユーザインタラクションを検知すること、接触感応ディスプレイ上の第２のユーザインタラクションの移動を検知すること、および第２のユーザインタラクションの移動に従ってポインタをウィンドウ内で移動することを備える。
【００１０】
その方法は、以下をさらに備えることができる。
−第２のユーザインタラクションの移動は、移動方向と移動距離を備え、そしてポインタは、同じ移動方向および第２のユーザインタラクションの移動距離に比例する移動距離で移動される。
−ポインタの移動距離は、縮小係数を適用することによって比例縮小される。
−ユーザアクションの後、縮小係数を選択すること。
−ポインタの移動のステップの後、接触感応ディスプレイ上の第１の位置から第２の位置への第１のユーザインタラクションの移動を検知するステップと、接触感応ディスプレイ上の第２の位置の周囲のエリアをウィンドウにレンダリングするステップ。
−接触感応ディスプレイ上の第２の位置の周囲のエリアをウィンドウにレンダリングすることは、第１の位置から第２の位置に移動する間、ウィンドウにおいて、第１のユーザインタラクションの中間位置の周囲のエリアのリアルタイムレンダリングを遂行することをさらに備える。
−第１のユーザインタラクションの移動に従ってウィンドウを移動すること。
−ウィンドウが移動する間、ポインタは、ウィンドウ内で不動のままである。
−第２のユーザインタラクションは、接触感応ディスプレイ上で保持される。
−第１のユーザインタラクションは、接触感応ディスプレイ上で保持される。
−ポインタを移動した後、第１および第２のユーザインタラクションの欠如を検知するステップと、ポインタの下にあるグラフィック要素を選択するステップ。
−接触感応ディスプレイからウィンドウを除去すること。
−ウィンドウにレンダリングされたエリアは、拡大または縮小係数に基づいて拡大または縮小される。
【００１１】
コンピュータに上記の方法のステップをとるようにさせる命令を備える、グラフィック要素を選択するコンピュータプログラムがさらに提供される。
【００１２】
メモリに通信可能に結合されたプロセッサ、および接触感応ディスプレイを備え、そのメモリは、上記のコンピュータプログラムを格納する、グラフィック要素を選択するコンピュータシステムもまた提供される。
【図面の簡単な説明】
【００１３】
本発明を具体化するシステムは、限定されない例として、添付図面を参照して次に説明される。
【図１】本発明の例を示すフローチャートである。
【図２】本発明の例を示すスクリーンショットである。
【図３】本発明の例を示すスクリーンショットである。
【図４】本発明の例を示すスクリーンショットである。
【図５】本発明の例を示すスクリーンショットである。
【図６】本発明の例を示すスクリーンショットである。
【図７】本発明の例を示すスクリーンショットである。
【図８】本発明を遂行するシステムの例を示す図である。
【発明を実施するための形態】
【００１４】
本発明は、接触感応ディスプレイに表示されるグラフィック要素を選択するためのコンピュータ実装方法に向けられている。その方法は、グラフィック要素を接触感応ディスプレイに表示するステップを備える。その方法はまた、接触感応ディスプレイ上の第１のユーザインタラクションの第１の位置、例えば、ユーザが指で画面をタッチすることを検知するステップも備える。その方法は、ウィンドウをディスプレイに表示するステップをさらに含む。ウィンドウは、好適には、第１の位置から一定の距離のオフセットで表示される。ウィンドウは、そのウィンドウ内に表示されるグラフィック要素の１つを選択するポインタを備える。さらに、その方法は、第１のユーザインタラクションの第１の位置の周囲のエリアをウィンドウにレンダリングすることを備える。その方法は、接触感応ディスプレイ上の第２のユーザインタラクション、例えば、ユーザが第２の指で画面をタッチすることを検知することをさらに備える。次に、その方法は、接触感応ディスプレイ上の第２のユーザインタラクションの変位（または移動）、例えば、ユーザが画面上の自分の第２の指をスライドすることを検知することを備える。ウィンドウに表示されるポインタは、接触感応ディスプレイ上の第２のユーザインタラクションに従って移動される。
【００１５】
その方法は、接触感応画面に表示されるグラフィック要素の選択を改善する。発明は、任意のサイズを有する任意のグラフィック要素に使用することができる。特に、発明の方法は、表示される時、例えば、寸法がわずか（２または３）のピクセル以下である小さいサイズを有するグラフィック要素をユーザが選択できるようにさせる。このような種類のインタラクションは、ユーザがジオメトリ構築プロセスの一部として正確なポイントを画面に入力する必要があるか、または一部の修正動作を遂行するために他の隣接ジオメトリの中からジオメトリ（またはその一部）を選択しなければならない、このようなＣＡＤ製品に必要であることが多い。任意の種類のグラフィック要素、例えば、これらの要素のポイント、ライン、面または集合体を選択することができる。発明は、例えば、モデルを形成する他のフィーチャの中からフィーチャを選択するために使用することができる。本発明は、選択されるグラフィック要素が配置された主タッチ(primary touch)の周囲のディスプレイのエリアを複製するウィンドウの内側にポインタを正確に移動するための副タッチ(secondary touch)を使用する。ユーザが副タッチを移動する間、主タッチは、検知された位置で一定に保たれ、そして（主タッチによってオクルードされたグラフィック要素を示す）周囲のエリアのウィンドウのビューは、変わらない。（デフォルトではウィンドウの中心になり得る）ポインタのみウィンドウ内で移動する。このポインタ（クロスヘアポインタであってよい）は、タッチポインタを表し、このポインタの下にある要素は、選択されていると見なされる。グラフィック要素の選択は、そのタスク専用のウィンドウ内で遂行される。有利には、もはやユーザビューがユーザ自身の指でオクルードされない。従って、ユーザはこれより、間隔が狭いグラフィック要素の選択がより正確になる。さらに、ポインタは、主指(primary finger)からオフセットされず、従って、画面のすべてのエリアがアクセス可能のままである。また、ポインタモーションは、副タッチに比例し、主タッチに比例せず、従って、ユーザの知覚の乖離がより少なくなる。さらに、本発明は、ズームイン、選択およびズームアウトに費やされるであろうユーザの時間を省く。興味深いことに、この発明は、必要であり、ユーザの通常のワークフローを邪魔しない場合のみ実施される。
【００１６】
本方法は、コンピュータ実装される。これは、方法のステップ（または実質的にはすべてのステップ）が少なくとも１つのコンピュータ、または同様の任意のシステムによって実行されるという意味である。従って、方法のステップは、コンピュータによって、可能性として完全に自動的に、または半自動的に遂行される。例において、方法の少なくとも一部のステップのトリガリングは、ユーザ−コンピュータインタラクションを介して遂行され得る。必要とされるユーザ−コンピュータインタラクションのレベルは、予測される自動性(automatism)およびユーザの要望を満たす必要性のバランスを取るレベルに応じて異なり得る。例において、このレベルは、ユーザ定義および／または事前定義となる。
【００１７】
例えば、縮小係数を選択するステップ（Ｓ１１０）およびＳ１６０において第２のユーザインタラクションを移動するステップが、ユーザアクションの後トリガされる。
【００１８】
コンピュータ実装方法の典型的な例は、この目的に適応したシステムを用いる方法を遂行することである。そのシステムは、メモリに結合されたプロセッサおよびグラフィカルユーザインタフェース（ＧＵＩ）を備えることができ、メモリは、その方法を遂行する命令を備えるコンピュータプログラムを記録している。メモリはまた、データベースを格納することもできる。メモリは、可能性としていくつかの物理的に区別できる部分（例えば、１つはプログラム用、および可能性として１つはデータベース用）を備える格納に適応した任意のハードウェアである。
【００１９】
「データベース」は、探索および読み出しを行うために体系化されたデータの任意の集合（即ち、情報）を意味する。メモリに格納された場合、データベースは、コンピュータによる高速な探索および読み出しを可能にする。データベースは、実際には、さまざまなデータ処理動作と共にデータの格納、読み出し、修正、および削除を容易にするために構造化されている。データベースは、レコードに細分化されるファイルまたはファイルのセットから成り、各レコードは１または複数のフィールドから成る。フィールドは、データストレージの基本単位である。ユーザは、主としてクエリを介してデータを読み出すことができる。キーワードおよびソーティングコマンドを使用して、ユーザは、使用されているデータベース管理システムのルールに従って、データの特定の集合体に対するレポートを読み出すまたは生成する多数のレコードのフィールドを素早く探索し、再配列し、グループ化し、そして選択することができる。
【００２０】
本発明において、選択可能なグラフィック要素をデータベースに格納できる。
【００２１】
図８は、発明の方法を遂行するためのシステムの例を示している。システムは、典型的には、コンピュータ、例えば、タブレットである。図８のコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０を備え、ランダムアクセスメモリ（ＲＡＭ）１０７０もまた、バスに接続されている。コンピュータは、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられた画像処理装置（ＧＰＵ）１１１０をさらに備える。ビデオＲＡＭ１１００もまた、フレームバッファとして当技術分野では周知である。大容量ストレージデバイスコントローラ１０２０は、ハードドライブ１０３０など、大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形に具体化するのに適した大容量メモリデバイスは、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリなど、半導体メモリデバイスと、内部ハードディスクおよびリムーバブルディスクなど、磁気ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭディスク１０４０とを含む、あらゆる形態の不揮発性メモリを含む。上述のいずれのメモリも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完または組み込まれ得る。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。コンピュータはまた、ポインタ制御デバイス（カーソル制御デバイスとも呼ばれる）などといった触覚デバイス１０９０も含むことができる。ポインタ制御デバイスは、ユーザが接触感応ディスプレイ１０８０上の任意の所望の配置にポインタ（カーソルとも呼ばれる）を選択的に位置付けすることを可能にするコンピュータにおいて使用される。接触感応ディスプレイ（タッチ画面とも呼ばれる）は、コンピュータに取り付けられたハードウェア表示装置であり、その前面で行われるタッチに応答する。接触感応ディスプレイは、１つ、２つまたは多数の同時タッチをサポートすることができる。さらに、ポインタ制御デバイスは、ユーザがさまざまなコマンドを選択して、制御信号を入力できるようにさせる。ポインタ制御デバイスは、入力制御信号をシステムに送るいくつかの信号発生デバイスを含む。典型的には、接触感応ディスプレイ上のポインタ制御デバイスは、指、スタイラスであってよい付着物であるが、これらに限定されない。接触感応ディスプレイの状況において、触覚デバイス１０９０（タッチスクリーンセンサおよびそれに付随するコントローラベースのファームウェア）は、接触感応ディスプレイに統合される。
【００２２】
本発明は、コンピュータプログラムによって実装することができる。コンピュータプログラムは、コンピュータによって実行可能な命令備え、その命令は、上記のシステムに方法を遂行させる手段を備える。プログラムは、システムのメモリを含む、任意のデータストレージ媒体上で記録可能にすることができる。プログラムは、例えば、デジタル電子回路に実装されるか、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実装できる。プログラムは、装置、例えば、プログラマブルプロセッサによって実行される機械読取り可能ストレージデバイスに有形に具体化されるコンピュータプログラム製品として実装され得る。発明の方法ステップは、入力データで動作して出力を発生させることによって方法の機能を遂行する命令のプログラムを実行するプログラマブルプロセッサによって遂行され得る。プロセッサは、従って、プログラマブルであり、データストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信して、それらにデータおよび命令を送信するために結合され得る。アプリケーションプログラムは、高レベルの手続き型またはオブジェクト指向のプログラミング言語か、または必要に応じてアセンブリ言語または機械語に実装され得る。いずれの場合も、それらの言語は、コンパイラ型またはインタープリタ型言語になり得る。プログラムは、フルインストールプログラムまたは更新プログラムであってよい。システムのプログラムのアプリケーションの結果として、いずれの場合も方法を遂行する命令となる。
【００２３】
次に図１を参照すると、ステップＳ１００において、少なくとも１つのグラフィック要素がシステムによって接触感応ディスプレイ上、例えば、図８のディスプレイ１０８０に表示されている。オブジェクトの表示は、当技術分野では周知のように遂行される。グラフィック要素（グラフィックコンポーネントまたは単にグラフィックとも呼ばれる）という語は、ユーザによって部分的または全体的に選択され得る表示可能なオブジェクトを意味する。オブジェクトという語は、アイコン、モデル化オブジェクト、メニュー、頂点、エッジ、面、フィーチャ（フィーチャベースのモデル化オブジェクト）、ジオメトリ、および他のグラフィックを含むが、これらに限定されない。より一般的には、グラフィック要素は、ディスプレイ上に表される任意の情報であり、例えば、オブジェクトは、選択することができる最小のグラフィック要素であるピクセルで表すことができる。オブジェクトは、モデル化オブジェクト、例えば、ＣＡＤ（Computer-Aided Design）ソフトウェアを用いてモデル化される３次元モデル化オブジェクトであってよい。
【００２４】
図２−図７において、接触感応ディスプレイに表示された２つのグラフィック要素１２、１４を有するオブジェクト１０を示している。
【００２５】
本方法のステップは、接触感応ディスプレイに表示されるグラフィカルユーザインタフェース（ＧＵＩ）上で実施されることを理解されたい。ＧＵＩは、ユーザがコンピュータシステムとインタラクトできるようにさせるグラフィカルインタフェースである。インタラクションは、一般的には、ユーザが選択可能なアイコンのセットを包含するメニューおよびツールバーを用いて遂行され、各アイコンは、当技術分野では周知のように、１または複数の動作または機能と関連付けられる。ＧＵＩはさらに、さまざまなタイプのツールを示すことができ、例えば、コンピュータ支援設計（ＣＡＤ）システムのＧＵＩは、オブジェクトの３Ｄ配向を容易にし、編集した製品の動作のシミュレーションをトリガするまたは表示される製品のさまざまな属性をレンダリングするためのグラフィックツールを備えることができる。本発明は、ユーザインタラクションを受け取る任意の種類のＧＵＩ上で実施することができることを理解されたい。
【００２６】
次に、ステップＳ１１０において、タッチポインタの移動距離の縮小係数が選択される。このポインタは、ステップＳ１２０のユーザアクションの結果として表示されるウィンドウ内で表示される。ポインタの移動距離の縮小係数は、ユーザがタッチポインタの感度を設定できるようにさせる。この設定は、あるセッションから次のセッションへと格納される。従って、移動距離の縮小係数は、グラフィック要素の所与の選択プロセスに対するユーザアクションの後に選択され得るか、またはシステムが当該係数のデフォルト値を選択することができる。ポインタの感度は、任意の値にすることができることを理解されたい。縮小係数は、ポインタのパラメータであり、当該パラメータの値が選択されることを理解されたい。任意の値を、ポインタの移動距離の縮小係数と関連付けることができる。実際には、ユーザは、１ｘを２ｘから１０ｘまで（両方とも含む）インクリメントする範囲でポインタの感度を設定するオプションが与えられる。例えば、縮小係数の値が１／２ならば、これは、ポインタの移動距離がこの値１／２を用いて比例縮小され、ポインタの変位は、ポインタの動きを制御するユーザインタラクションの変位と比較して２倍（２ｘ）に縮小されるという意味である。
【００２７】
次に、ステップＳ１２０において、ユーザは、第１のユーザアクションを遂行する：第１のユーザインタラクションは、接触感応ディスプレイ上で行われる。その結果、接触感応ディスプレイ上の第１のユーザ位置が検知される、または判定される。第１の位置の検知は、当技術分野では周知のように遂行される。位置は、ユーザインタラクションを生じさせる入力が遂行される接触感応ディスプレイ上の位置である。一般に、接触感応ディスプレイは、ユーザと、選択するオブジェクトが配置された空間との間の２次元（２Ｄ）インタフェースである。空間は、２Ｄまたは３Ｄであってよい。ユーザインタラクションを生じさせる入力は、従って、２Ｄまたは３Ｄ空間向けの２Ｄインタフェースで遂行される。２Ｄ空間において、第１のユーザインタラクションの位置は、例えば、接触感応ディスプレイ上の座標系に従って判定され得る。３Ｄ空間において、３Ｄ空間の第１のユーザインタラクションの３Ｄ位置が計算され得る。この３Ｄ空間の３Ｄ位置の計算は、例えば、当技術分野では周知のピッキング、例えば、レイトレーシングの技術によって実現され得る。
【００２８】
ユーザインタラクションは、ユーザが選択したいグラフィック要素上で行われるか、または−グラフィック要素が正確な選択を行うのに小さすぎる場合、選択されるグラフィック要素の少なくとも近傍で行われる。実際には、付着物は、接触感応ディスプレイと接触しており、例えば、ユーザの指１６がオブジェクト１０を押している−より正確には、指の位置は、ユーザが選択したいと望むオブジェクト１０のグラフィック要素１４の近くにある。
【００２９】
ユーザインタラクションは、ユーザによって提供される接触感応ディスプレイ上の入力である。入力は、接触感応ディスプレイによってコンピュータに送信される信号を発生させる。コンピュータ、例えば、パーソナルコンピュータ、ラップトップ、音楽プレーヤ、携帯電話、携帯情報端末は、それらに適用される任意の入力または動きまたは入力の中断を検知することができる。従って、デバイスは、ＯＳ（Operating System）からのタッチサポートを有する。ハードウェア（タッチ画面）に加え、コンピュータ上で稼働するＯＳは、タッチインタラクションもサポートしなければならない。プログラムは、ＯＳからのタッチイベント、例えば、接触感応ディスプレイに表示されるＧＵＩを受信する。
【００３０】
第１のユーザインタラクションは、当該ディスプレイ上のタッチイベントが他にない場合の接触感応ディスプレイのタッチ表面のいわゆるＤＯＷＮイベントである。第１のユーザインタラクションは、次のステップが実施される間、接触感応ディスプレイ上で保持され得る。
【００３１】
次に、ステップＳ１３０において、ウィンドウは、接触感応ディスプレイに表示される。ウィンドウという語は、ウィンドウが属するプログラムのグラフィカルユーザインタフェースの一部を包含するビジュアルエリアを備えるグラフィック制御要素を意味する。ウィンドウは、ユーザが第１のユーザインタラクションの位置を保持する（典型的には、当技術分野ではＨＯＬＤイベントと呼ばれる）間に経過する一定時間の後のみ示される。
【００３２】
ウィンドウは、Ｓ１１０において縮小係数が選択されたポインタを備える。ポインタは、好適には、ユーザがそのポインタを見ることできるように表示され、これは、グラフィック要素の選択を容易にする。ポインタは常に、ウィンドウの内側に配置され、ウィンドウと共に移動し、ウィンドウの外側に移動することができない。従って、ポインタは常に、ウィンドウ内にとどまる。ウィンドウの内側のポインタは、表示されてＧＵＩに使用されるその他のポインタ、例えば、アプリケーションを起動するカーソルとは異なる。
【００３３】
ウィンドウおよびポインタの表示は、第１のユーザインタラクションの後にトリガされる。例えば、図２に示すように、ユーザがディスプレイとインタラクトした後、ウィンドウ２０およびポインタ２４は、図３に示すように表示される。ウィンドウは、従って、ユーザインタラクションに基づいて現れたり消えたりする、ポプアップウィンドウである。
【００３４】
さらに図３の参照において、ウィンドウは、円形（円環）であり、ウィンドウ装飾で枠付けされる。例えば、ウィンドウが長方形または正方形である、任意の形を使用することができることを理解されたい。ウィンドウ装飾は、表示されない場合もある。ポインタは、デフォルトではウィンドウの中心に配置され、ポインタは、表示される時にウィンドウ内の任意の配置、例えば、グラフィック要素の前の選択の結果として生じる位置に位置付けることができことを理解されたい。
【００３５】
興味深いことに、ウィンドウは、第１のユーザインタラクションの位置から所定の位置のオフセットで接触感応ディスプレイ上に置かれる。例えば、第１のユーザインタラクションからの所定の方向および距離は、ウィンドウの位置を取得するために使用され得る。典型的には、方向および距離は、ウィンドウが第１のユーザインタラクションの近傍に置かれるように選択される。例えば、図３の例において、ウィンドウ２０と指１６の第１の位置との間の距離は、所定の数のピクセルを超えることができず（その距離は、ユークリッド距離になる可能性もある）そしてウィンドウは、指１６の左側に置かれる。ウィンドウは、従って、ユーザの視界に入り、そして指１６の手（ここでは右手）はウィンドウを隠さず、ユーザは、従って、グラフィック要素を選択するために遂行される次の動作を見ることができる。所定の方向および距離は、ユーザアクションの後にカスタマイズされ得る。例えば、ユーザが左利きであれば、そのユーザは、ウィンドウが指１６の右側に置かれることを好むであろうし、または指が表示エリアの左／右／上／下のエッジ近くにある場合、ウィンドウは、指のそれぞれ、右／左／下／上に置かれる。またはステップＳ１５０およびＳ１６０における副タッチインタラクションがウィンドウに近づく場合、ウィンドウは、副タッチインタラクションを妨げないように適切に移動する。
【００３６】
次に、ステップＳ１４０において、第１のユーザインタラクションの第１の位置の周囲のエリアは、ステップＳ１３０において表示されるウィンドウ内にレンダリングされる。そうでなければ、第１の位置の周りで表示されるコンテンツの一部は、ウィンドウにおいて複製される（または表示される）。実際には、第１の位置の周囲の所定のエリアは、ウィンドウと同じ表面エリアを有するので、ウィンドウにおいて拡大がない。従って、ウィンドウに表示されるコンテンツは、第１の位置の中心にあれば、例えば、ウィンドウの重心が第１の位置と一致すれば、ウィンドウ（ウィンドウ装飾で枠付けされていない）が回復するだろうコンテンツと同じである。
【００３７】
ウィンドウにおいて拡大があり得る。この場合、第１の位置の周囲のエリアは、拡大を用いない一般的な場合と比較して縮小される。拡大係数（倍率とも呼ばれる）は、一定にすることができ、または例えば、ステップＳ１１０においてユーザが移動距離の縮小係数を選択する時のユーザアクションの後、選択することができる。拡大は、ウィンドウにレンダリングされて表示されるエリアが、ステップＳ１００において表示されるエリアと比較して外見が大きくなったという意味である。逆に、ウィンドウの表示は、例えば、ステップＳ１１０におけるユーザアクションの後に選択される、縮小係数（縮小率とも呼ばれる）に基づいて縮小され得る。
【００３８】
拡大がない場合は、ウィンドウに表示されるコンテンツは、すでにタッチ画面に表示されているコンテンツのコピーであり、計算資源の消費は、従って、拡大を行う場合に比べて抑えられる。
【００３９】
図３において、ウィンドウ２０は、点線の円(dotted circle)２６内のコンテンツを複製する。ウィンドウ２０および点線の円２６は、同じ直径および同じエリアを有する。点線の円は、第１のユーザインタラクションの第１の位置の周囲のエリアを区切り、第１の位置の中心になる。ここでの点線の円２６は、例示のみを目的として表されている。
【００４０】
次に、ステップＳ１５０において、第２のユーザインタラクションが接触感応ディスプレイ上で検知される。このステップは、ステップＳ１２０と同じやり方で遂行される。実際には、付着物は、接触感応ディスプレイと接触しており、例えば、図４に示すように、ユーザの左手の第２の指１８がタッチ画面を押す。好適には、第２のユーザインタラクションは、第１の位置に位置されず、そしてウィンドウ上で遂行されない。
【００４１】
次に、ステップＳ１６０において、第２のユーザインタラクションの移動は、接触感応ディスプレイ上で検知され、そしてポインタは、第２のユーザインタラクションの移動に従ってウィンドウ内で移動する。第２のユーザインタラクションの移動または変位は、典型的には、接触感応ディスプレイ上の第２のユーザインタラクションのスライドである。ここでのスライディングは、変位が実施されている間、第２のユーザインタラクションが常に検知されている（つまり、接触感応ディスプレイに継続的に接触している）という意味である。
【００４２】
第２のユーザアクションの移動は、移動距離および移動方向を備える。その移動はまた、当技術分野では周知のように、移動加速度も備えることができる。ポインタは、当技術分野では周知のように、第２のユーザインタラクションと同じ移動方向で移動する。ポインタの移動距離は、第２のユーザインタラクションの移動距離に比例する。これは、ポインタが、第２のユーザインタラクションによって進む距離と同じ距離、それよりも長い距離または短い距離を進むことができるという意味である。実際には、ポインタの移動距離は、ユーザがポインタを選択されるグラフィック要素により移動しやすくできるように縮小される。これによってユーザがより確実な選択を遂行できるようになる。このため、ポインタの移動距離は、ステップＳ１１０において選択された縮小係数を使用して縮小される。
【００４３】
図５は、ステップＳ１６０を示している。第２のユーザインタラクションは、第１の位置２６０から第２の位置２６２へスライドする指１８によって生成される。第２のユーザインタラクションの移動は、点線の矢印２６で表される。ポインタ２４は、第２のユーザインタラクションの変位方向に従っているが、ポインタの移動距離がすでに選択された縮小係数の適用によって縮小されるので、より短い距離で進む。ポインタの移動は、点線の矢印２８で表される。従って、ポインタの動きの制御は、削減係数をポインタの変位に適用するおかげでより的確になる。点線矢印２６および２８は、例示のみを目的として付加されている。
【００４４】
ポインタの移動は、リアルタイムで遂行される。つまり、ポインタは、第２のユーザインタラクションの変位が検知される同じ時間において変位する。実際には、接触感応ディスプレイは、触覚デバイス１０９０を形成するタッチスクリーンセンサのグリッドを備え、そして第２のユーザインタラクションの移動は、位置のセットに離散化され、各位置は、ユーザインタラクションによってアクティブ化されるセンサに対応している。従って、アクティブ化されたセンサ毎に、第２のユーザインタラクションの新しい位置が計算され、そしてポインタは、そのポインタの新しい位置が第２のユーザインタラクションの新しい位置を反映するように移動される。このようにして、ポインタは、リアルタイムで第２のユーザインタラクションの変位に従う。
【００４５】
プロセスのこのステップにおいて、ユーザは、ポインタの位置：ポインタが彼／彼女が選択したいグラフィック要素の上にある、ことにより満足することができる。ポインタがグラフィック要素の上にある時、そのグラフィック要素を選択することができる−それは、事前選択された状態であり、ユーザが、表示されたグラフィック要素の中からどのグラフィック要素を選択できるかを分かりやすくできるように強調されてもよい。例えば、強調は、グラフィック要素のハイライトのおかげで実施され得る。ハイライトは、表現に発光色を適用することである。強調はまた、グラフィック要素の点滅、強調されるグラフィック要素の輪郭を太くすること、または強調されるグラフィック要素の輪郭を形成するポイントの密度を上げることなど、他の視覚効果によって遂行されることもできる。なお、ユーザに他のグラフィック要素の中から選択可能なグラフィック要素を見分けさせる任意の手段も使用されてよい。
【００４６】
ユーザは、選択されるグラフィック要素をポインタの下に持っていくために、第１のユーザインタラクションを使用する予定であるグラフィック要素の事前選択を遂行する第２の可能性を有する。プロセスのこのステップにおいて、第２のユーザインタラクションはなおも検知されており、例えば、指１８はなおも接触感応ディスプレイと接触している。
【００４７】
ステップＳ１７０において、第１のユーザインタラクションの移動が検知され、その移動は、接触感応ディスプレイ上の第１の位置から開始して第２の位置において終了する。この検知ステップは、ステップＳ１６０における第２のユーザインタラクションの検知ステップと同じやり方で遂行される。
【００４８】
第１のユーザインタラクションが第２の位置上にあれば、接触感応ディスプレイ上の第２の位置の周囲のエリアがウィンドウにレンダリングされる。そのレンダリングは、ステップＳ１４０を参照して論じたレンダリングと同じように遂行される。
【００４９】
好適には、ウィンドウのレンダリングは、第１の位置から第２の位置に移動する間の、第１のユーザインタラクションの位置の周囲のエリアのリアルタイムレンダリングである（Ｓ１８０）。このリアルタイムレンダリングは、ポインタのリアルタイム移動と同様であり、第１のユーザインタラクションの移動は、位置のセットに離散化され、各位置は、ユーザインタラクションによってアクティブ化されるセンサに対応している。そしてアクティブ化されたセンサ毎に、第１のユーザインタラクションの新しい位置が計算され、そして第１のユーザインタラクションの新しい位置の周囲のエリアのレンダリングがウィンドウに表示される。このやり方によって、ウィンドウのレンダリングは、リアルタイムで第１のユーザインタラクションの変位に従う。
【００５０】
興味深いことに、第１のユーザインタラクションが移動する間、ウィンドウは、第１のユーザインタラクションの移動に従って移動する。これは、ウィンドウが、ステップＳ１３０を参照して論じたものと同じやり方でＧＵＩ上に位置付けされるという意味であり、ウィンドウは、第１のユーザインタラクションの新しい位置から所定の位置のオフセットで接触感応ディスプレイ上に置かれる。
【００５１】
有利には、第１のユーザインタラクションが移動する間、第２のユーザインタラクションがさらに検知されるにもかかわらず、ウィンドウのポインタは、ウィンドウが移動してウィンドウのレンダリングが更新される間、ウィンドウ内で不動のままである。これによって、有利には、システムが、ユーザが（自主的か否かにかかわらず）生成するだろう第２のユーザインタラクションの変位を許容できるようになる。従って、ひとたびユーザがウィンドウのポインタを移動して置くと、ポインタは、その位置を確保し、そしてユーザは、グラフィック要素がポインタの下になるまで第１のユーザインタラクションを移動することによってグラフィック要素の位置を調整する。興味深いことに、ユーザは、ポインタが選択されるグラフィック要素の上になるまで、つまり、グラフィック要素が事前選択の状態になるまで第２および第１のユーザインタラクションを連続して移動することができる。ユーザは、従って、オブジェクトの選択を行うために両方のユーザインタラクションを使用することができる。これは特に、事前選択を行う画面で現在の指の配置(configuration)が許す範囲の容易さおよび便利さに従っていずれかの指を選んで動かすことができるユーザの人間工学に基づく。
【００５２】
次に、ステップＳ１９０において、ユーザは、事前選択の状態であるグラフィック要素を選択する。例えば、ユーザは、例えば、指１８を接触感応ディスプレイから離して（当技術分野ではＵＰイベントとして周知である）第２のユーザインタラクションを停止することができる。代替的には、第１および第２のユーザインタラクションがこれ以上検知されない場合、つまり、それらの検知の欠如が検知された場合、上にポインタが配置されているグラフィック要素の選択をトリガすることができる。検知の欠如は、ユーザインタラクションがユーザによって解放された、例えば、ユーザは、接触感応ディスプレイから指１６、１８を離すという意味である。別の例として、ポインタが所与の時間期間グラフィック要素の上で動かない状態のままであれば、選択は、自動的に遂行される。グラフィック要素の選択は、その他のやり方でトリガされてもよいことを認識されたい。
【００５３】
ひとたびグラフィック要素が選択されると、ユーザは、グラフィック要素のさらなる選択を遂行することができる：（ｉ）第１のユーザインタラクションがユーザによって保持されているならば、新しい第２のユーザインタラクションを生成して、ウィンドウにおいてすでに表示されているポインタをすでに表示されている第２のグラフィック要素に移動する、（ｉｉ）第１と第２の両方のユーザインタラクションが除去されたならば、ステップＳ１００からＳ１６０までを再度遂行する。
【００５４】
次に、ステップＳ２００において、ウィンドウは、接触感応ディスプレイから除去される。つまり、ウィンドウは、もはや表示されない。除去は、グラフィック要素が選択された後すぐに遂行され得る。ウィンドウは、選択の後でも、特に、選択が自動的に長く持続される場合、除去されない場合がある。実際には、ウィンドウは、第１のユーザインタラクションが除去される場合に限り消去されなければならない。これは、有利には、選択毎に第１のインタラクションからやり直さずに、第１／第２のユーザインタラクションの連続移動によって多要素の選択を可能にする。
【００５５】
選択されるグラフィック要素は、ユーザがそのグラフィック要素が選択されたことが分かるように、特定のレンダリングで表現され得る。これは、選択されたグラフィック要素１４が点線でレンダリングされた図７に示されている。
【００５６】
本方法は、グラフィック要素を非選択状態にするために使用できる。ポインタは、すでに選択されているグラフィック要素に移動されて、ポインタの変位（複数）は、図１と関連して論じたものと同じ原理に従って遂行される。選択されたグラフィック要素は、例えば、ポインタが所与の時間期間選択されたグラフィック要素の上で動かない状態のままの場合、選択されない。
【００５７】
本発明の好適な実施形態が説明されている。発明の精神および範囲から逸脱しない範囲でさまざまな変更が行われてもよいことを理解されたい。従って、他の実装は、以下の特許請求の範囲の範囲内である。例えば、第１のユーザインタラクションおよび第２のユーザインタラクションは、２つの指１６、１８が接触感応ディスプレイに接触することによって遂行され、そして各指は、ユーザのそれぞれの手に属する。逆に、ユーザは、１つのみの手に属する指を使用してもよい。代替的には、二人のユーザは、同じＧＵＩで一緒に作業することができ、例えば、一般的に、グラフィック要素の選択を必要とするモデル化オブジェクトの設計プロセス中に共同作業することができ、第１のユーザインタラクションは、一人のユーザによって遂行されてもよく、そして第２のユーザインタラクションは、第２のユーザによって遂行されてもよい。ユーザはまた、ステップＳ１００からＳ１６０までまたはＳ１００からＳ１９０までにおいて示したように、いくつかのグラフィック要素の事前選択を−例えば、ポインタが所与の時間期間前記グラフィック要素の上にある時にグラフィック要素が事前選択される−連続して遂行することもできそして一度にすべての事前選択されたグラフィック要素を選択する。
【図１】
0006711616.tif 000002
【図２】
0006711616.tif 000003
【図３】
0006711616.tif 000004
【図４】
0006711616.tif 000005
【図５】
0006711616.tif 000006
【図６】
0006711616.tif 000007
【図７】
0006711616.tif 000008
【図８】
0006711616.tif 000009