(57)【特許請求の範囲】
【請求項１】
ターゲットを表示し、およびタッチ・スクリーンへの接触によるタッチ入力を可能にするタッチ・スクリーンを備えたタッチ・スクリーン・デバイスによって実行される方法において、
ターゲットを前記タッチ・スクリーン上に表示するステップと、
前記ターゲットを選択するためのタッチ入力を提供する選択エンティティが、前記タッチ・スクリーンに接触することにより、前記選択エンティティを用いて前記ターゲットを選択しようとする試みが行われたことに応答して、前記タッチ・スクリーン上の前記選択エンティティとの接触によって遮蔽されたエリアの表現をレンダリングすべきかどうかを判断するステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの表現をレンダリングすべきと判断したとき、前記タッチ・スクリーン上の前記遮蔽されたエリアとは異なる別のエリアに、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を表示するステップと
を含み、
前記タッチ・スクリーンの前記遮蔽されたエリアは、前記タッチ・スクリーンにおいて前記選択エンティティの下に表示されている前記ターゲットを含み、
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現をレンダリングすべきかどうかの判断は、前記選択エンティティが所定のしきい値時間よりも長い間、前記タッチ・スクリーンに接触しているかどうかに基づいて行われることを特徴とする方法。
【請求項２】
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を表示するとき、前記タッチ・スクリーン上の実際の接触ポイントを表すポインタを、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内にレンダリングするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現は、前記ターゲットの表現を含み、前記ポインタは、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内を移動可能であることを特徴とする請求項２に記載の方法。
【請求項４】
前記ポインタが、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの前記表現の上に置かれたとき、ターゲットの捕捉を検知するステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記実際の接触ポイントは、前記タッチ・スクリーンにおける前記選択エンティティの現在の選択ポイントであり、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を表示するステップは、
前記選択エンティティが前記タッチ・スクリーンの前記遮蔽されたエリアに接触したことに応答して、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内に前記ポインタを表示することを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの表現の上に前記ポインタを導くタッチ入力に応じて、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内に視覚的なフィードバックを提供するステップをさらに含み、前記タッチ・スクリーン・デバイスは、前記選択エンティティが、前記タッチ・スクリーンと接触している間に前記タッチ・スクリーン上を移動したときに、前記ポインタを導く前記タッチ入力を受信することを特徴とする請求項５に記載の方法。
【請求項７】
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの表現の上に前記ポインタが置かれており、および前記選択エンティティが、前記ターゲットが選択するために前記タッチ・スクリーンから離れたときに、ターゲットの捕捉を検知するステップと、
前記選択エンティティが前記タッチ・スクリーンから離れたとき、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を除去するステップと
をさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記選択エンティティは、ユーザの指であり、
前記タッチ・スクリーンの前記遮蔽されたエリアは、前記ユーザの指によって覆われていることを特徴とする請求項１に記載の方法。
【請求項９】
前記しきい値時間は、前記ターゲットのサイズに基づいていることを特徴とする請求項１に記載の方法。
【請求項１０】
前記しきい値時間は、しきい値サイズに対する前記ターゲットの前記サイズに基づいていることを特徴とする請求項９に記載の方法。
【請求項１１】
請求項１に記載の方法をコンピュータに実行させるコンピュータ実行可能命令を記憶したコンピュータ読取可能記憶媒体。
【請求項１２】
ターゲットを表示し、およびタッチ・スクリーンへの接触によるタッチ入力を可能にするタッチ・スクリーンを備えたタッチ・スクリーン・デバイスによって実行される方法において、
ターゲットを前記タッチ・スクリーン上に表示するステップと、
前記ターゲットを選択するためのタッチ入力を提供する選択エンティティが前記タッチ・スクリーンに接触することにより、前記選択エンティティを用いて前記ターゲットを選択しようとする試みが行われたことに応答して、前記タッチ・スクリーン上の前記選択エンティティとの接触によって遮蔽されたエリアの表現をレンダリングすべきかどうかを判断するステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの表現をレンダリングすべきと判断したとき、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を、前記タッチ・スクリーン上の前記遮蔽されたエリアとは異なる別のエリアに表示するステップであって、前記タッチ・スクリーンの前記遮蔽されたエリアは、前記タッチ・スクリーンにおいて前記選択エンティティの下に表示されている前記ターゲットを含み、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現は、前記ターゲットの表現を含むステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を表示するとき、前記タッチ・スクリーン上の実際の接触ポイントを表すポインタを、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内にレンダリングするステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの前記表現の上に前記ポインタを導くタッチ入力を受信するステップと、
前記ポインタが前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの前記表現の上に置かれたとき、ターゲットの捕捉を検知するステップと
を含み、前記タッチ・スクリーンの前記遮蔽されたエリアの表現をレンダリングすべきかどうかの判断は、前記選択エンティティが所定のしきい値時間より長い間、前記タッチ・スクリーンに接触しているかどうかに基づいて行われることを特徴とする方法。
【請求項１３】
請求項１２に記載の方法をコンピュータに実行させるコンピュータ実行可能命令を記憶したコンピュータ読取可能記憶媒体。
【請求項１４】
ターゲットを表示し、およびタッチ・スクリーンへの接触によるタッチ入力を可能にするタッチ・スクリーンを備えたタッチ・スクリーン・デバイスによって実行される方法において、
ターゲットを前記タッチ・スクリーン上に表示するステップと、
前記ターゲットを選択するためのタッチ入力を提供する選択エンティティが前記タッチ・スクリーンに接触することにより、前記選択エンティティを用いて前記ターゲットを選択しようとする試みが行われたことに応答して、前記タッチ・スクリーン上の前記選択エンティティとの接触によって遮蔽されたエリアの表現をレンダリングすべきかどうかを判断するステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの表現をレンダリングすべきと判断したとき、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を前記タッチ・スクリーン上の前記遮蔽されたエリアとは異なる別のエリアにレンダリングするステップであって、前記タッチ・スクリーンの前記遮蔽されたエリアは、前記タッチ・スクリーンにおいて前記選択エンティティの下に表示されている前記ターゲットを含み、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現は、前記ターゲットの表現を含むステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を表示するとき、前記タッチ・スクリーン上の実際の接触ポイントを表すポインタを、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内にレンダリングするステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの前記表現の上に前記ポインタを導くタッチ入力を受信するステップと、
前記ポインタが前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの前記表現の上に置かれたとき、ターゲットの捕捉を検知するステップと
を含み、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現をレンダリングすべきかどうかの判断は、前記タッチ・スクリーン・デバイスがユーザから受け取ったコマンドに基づいて行われることを特徴とする方法。
【請求項１５】
請求項１４に記載の方法をコンピュータに実行させるコンピュータ実行可能命令を記憶したコンピュータ読取可能記憶媒体。
【請求項１６】
ターゲットを含む情報を表示し、およびタッチ・スクリーンへの接触によるタッチ入力を可能にするためのタッチ・スクリーンと、
処理ユニットと、
プログラムを記憶したコンピュータ読取可能記憶媒体と
を備えたタッチ・スクリーン・デバイスであって、
前記プログラムは、前記処理ユニットに、
前記ターゲットを選択するためのタッチ入力を提供する選択エンティティが前記タッチ・スクリーンに接触することにより、前記選択エンティティを用いて、前記タッチ・スクリーン上に表示されたターゲットを選択しようとする試みが行われたことに応答して、前記タッチ・スクリーン上の前記選択エンティティとの接触によって遮蔽されたエリアの表現をレンダリングすべきかどうかを判断するステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの表現をレンダリングすべきと判断したとき、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を、前記タッチ・スクリーン上の前記遮蔽されたエリアとは異なる別のエリアに表示するステップあって、前記タッチ・スクリーンの前記遮蔽されたエリアは、前記タッチ・スクリーンにおいて前記選択エンティティの下に表示されている前記ターゲットを含み、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現は、前記ターゲットの表現を含むステップと、
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を表示するとき、前記タッチ・スクリーンにおける前記選択エンティティの実際の接触ポイントを表し、かつ前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの前記表現の上に移動可能なポインタを、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内にレンダリングし、前記ポインタが前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの前記表現の上に置かれている間に前記選択エンティティが前記タッチ・スクリーンから離れたときに、前記ターゲットを選択するステップと、
前記選択エンティティが前記タッチ・スクリーンから離れたとき、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を除去するステップと
を実行させ、
前記タッチ・スクリーンの前記遮蔽されたエリアの表現をレンダリングすべきかどうかの判断は、前記選択エンティティが所定のしきい値時間より長い間、前記タッチ・スクリーンに接触しているかどうかに基づいて行われることを特徴とするタッチ・スクリーン・デバイス。
【請求項１７】
少なくとも１つのターゲットを表示し、およびタッチ・スクリーンへの接触によるタッチ入力を可能にするように設計されたタッチ・スクリーンを備え、
前記タッチ・スクリーン上に表示されたターゲットを選択するためのタッチ入力を提供する選択エンティティが、前記タッチ・スクリーンに接触することにより、前記選択エンティティを使用して前記タッチ・スクリーン上の前記ターゲットを選択しようとする試みが行われたことに応答して、前記タッチ・スクリーン上の前記選択エンティティとの接触によって遮蔽されたエリアの表現をレンダリングすべきかどうかを判断し、
前記タッチ・スクリーンの前記遮蔽されたエリアの表現をレンダリングすべきと判断したとき、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を、前記タッチ・スクリーンの前記遮蔽されたエリアとは別のエリアに表示する
ように構成されたディスプレイ・デバイスであって、
前記タッチ・スクリーンの前記遮蔽されたエリアは、前記タッチ・スクリーンにおいて前記選択エンティティの下に表示されている前記ターゲットを含み、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現は、前記ターゲットの表現を含み、
前記ディスプレイ・デバイスは、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現をレンダリングすべきかどうかを、前記選択エンティティが所定のしきい値時間よりも長い間、前記タッチ・スクリーンに接触しているかどうかに基づいて判断するように構成されることを特徴とするディスプレイ・デバイス。
【請求項１８】
前記ディスプレイ・デバイスは、前記選択エンティティによって前記ターゲットが完全に遮蔽されているときにのみ、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を表示するようにさらに構成されることを特徴とする請求項１７に記載のディスプレイ・デバイス。
【請求項１９】
前記ディスプレイ・デバイスは、
前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現を表示するとき、前記タッチ・スクリーンの前記遮蔽されたエリア内における前記選択エンティティの実際の接触ポイントを表すポインタを前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内にレンダリングし、
前記ポインタを、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内の前記ターゲットの前記表現上に移動させる、タッチ入力に応じて、前記タッチ・スクリーンの前記遮蔽されたエリアの前記表現内に視覚的なフィードバックを提供する
ようにさらに構成されることを特徴とする請求項１７に記載のディスプレイ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチ入力における指／接触部／センス結果におけるズレに関する。
【背景技術】
【０００２】
パーソナル・デジタル・アシスタント（ＰＤＡ）、モバイル電話／ＰＤＡハイブリッド、およびウルトラ・モバイル・パーソナル・コンピュータ（ＵＭＰＣ）などの多くのデバイスは、ペンをベースとした入力を利用して、ユーザがスクリーン上の選択ポイントを明確に定義するのを支援しており、しかもこれらのデバイスはタッチ入力もサポートしている。ペンまたはスタイラスは細いのが通常であり、ユーザの手とスクリーンの間に垂直方向のオフセット（vertical offset：垂直方向の間隔）を設けるのを支援し、スクリーン上に現れたターゲットがユーザの指または手によって遮蔽（occlude）されないようにしている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、スタイラスを手に取る（retrieving）には時間がかかり、例えば、片手で操作するような状況では不便になることがあり、また、例えば、短時間にまたは断続的にやりとりするような状況では非効率になることがある。
【０００４】
スタイラスの使用が非効率または不便であるとき、ユーザは指または他の「タッチ入力」を使用して、デバイスのスクリーン上に表示されたオブジェクトを選択することが時々ある。例えば、このことがよく起るケースとして、ミーティング時間の確認、マップのナビゲーション、またはメディア・プレイヤの制御といった断続的または短時間のやりとりの場合がある。
【課題を解決するための手段】
【０００５】
ユーザがタッチを使用してタッチ・スクリーン・デバイスを操作するとき、遮蔽される状態（occlusion）を防止し、明確な選択ポイントを定義することによって、ユーザが指などの選択エンティティを使用してユーザ・インターフェースを操作できるようにすることを目的としたシフト・ポインティング手法が提供される。タッチ・センシティブ・ディスプレイ・デバイス（touch sensitive display device）のスクリーン上に表示された小さなターゲットをユーザが選択するのを試みたとき、このシフト・ポインティング手法によれば、遮蔽されたスクリーン・エリア（occluded screen area）の表現を示すコールアウト（callout）が作成、表示され、遮蔽されたスクリーン・エリアの表現が遮蔽されていないスクリーン位置（non-occluded screen location）内に置かれる。遮蔽されたエリア（occluded area）とは、ユーザの指または他の選択エンティティによって遮蔽されたタッチ・スクリーンのエリアである。コールアウトは、ユーザの指または他の選択エンティティの現在の選択ポイントを表すポインタも示す。コールアウトによって提供される視覚的なフィードバックを使用すると、ユーザはスクリーン表面上の指または他の選択エンティティを移動（例えば、ドラッグまたはローリング）させることによって、ポインタをターゲット内に導くことができる。そのあと、ユーザは、指または他の選択ポイントをデバイスのスクリーンから離すことによって、ターゲット捕捉（target acquisition）を行うこと（例えば、小さなターゲットを選択すること）ができる。これとは対照的に、タッチ・スクリーン・デバイスのスクリーン上の比較的大きなターゲットを選択するのを試みたときは、コールアウトは作成されないので、ユーザは未変更タッチ・スクリーンの完全なパフォーマンスを享受する。
【０００６】
以上のように、ポインタをオフセットすることのほかに、シフト・ポインティング手法は、スクリーン上のコンテンツをオフセットして、大幅に改善されたターゲッティングのパフォーマンスを提供する。これらの手法によると、ユーザは、支援無しのタッチ・スクリーン（unaided touch screen）よりも大幅に低いエラー発生率（error rate）で小さなターゲットを選択することができ、ユーザの指（または他の選択エンティティ）によるターゲットの遮蔽によって起るエラー、ならびに指（または他の選択エンティティ）の一部がディスプレイまたはスクリーン上の選択ポイントを定義することに関するあいまいさを減少させることができる。その結果、タッチ・スクリーン・デバイスでタッチ入力を使用するときのエラー発生率を低減させることができる。
【０００７】
上述した簡単な説明は、以下の詳細な説明の個所で詳しく説明されている概念のいくつかを選んで簡単に紹介したものである。この簡単な説明は、請求項に記載の主題のキーとなる特徴または基本的特徴を特定するものではなく、また請求項に記載の主題の範囲を判断する際の一助として使用されるものでもない。
【０００８】
例示の実施形態のより完全な理解が得られるようにするために、以下では詳細な説明と請求項を参照することによって添付図面と関連付けて説明するが、図面全体を通して類似のエレメントは類似の参照符号を付けて示している。
【図面の簡単な説明】
【０００９】
【図１】例示の一実施形態によるコンピュータ・システムの例を示す簡略概略図である。
【図２】例示の一実施形態によるタッチ・スクリーン・デバイスの前面を示す簡略化した概略図である。
【図３】タッチ・スクリーン・デバイスのスクリーン上に表示された望みのターゲットを、例示の一実施形態に従ってタッチ入力を使用して選択するための手法を示す例示のフロー図である。
【図４】（ａ）乃至（ｅ）は、タッチ・スクリーン・デバイスのスクリーン上に表示された比較的小さなターゲットを、例示の一実施形態に従ってタッチ入力を使用して選択するためのエスカレーションまたは「シフト・ポインティング」手法を示す例示の一連の図である。
【図５】（ａ）乃至（ｂ）は、タッチ・スクリーン・デバイスのスクリーン上に表示された比較的大きなターゲットを、例示の別実施形態に従ってタッチ入力を使用して選択するための正規手法を示す例示の一連の図である。
【図６】（ａ）はユーザがターゲットを選択するのを試みたときのユーザの指の接触エリアを示す図であり、（ｂ）は比率ＳF／ＳTがロジスティック関数を使用してどのようにドエル・タイムアウト（ｄｗｅｌｌ  ｔｉｍｅｏｕｔ）に対応付けられるかを示すグラフである。
【図７】（ａ）乃至（ｂ）は、タッチ・スクリーン・デバイスのスクリーン上のユーザの指の異なるロケーションに対してコールアウトおよびポインタを位置づける例を示す図である。
【図８】（ａ）はユーザ側から見たときのターゲット、ユーザの指および入力ポイントを示す図であり、（ｂ）はハードウェア側から見たときのターゲット、ユーザの指および入力ポイントを示す図である。
【図９】ユーザが小さなターゲットを選択するのを試みたときコールアウトに適用可能であるズーミングエンハンスメントを示す図である。
【発明を実施するための形態】
【００１０】
以下の詳細説明は本質上単なる例示であり、本発明または本発明の応用と用途を限定するものではない。本明細書の中で用いられている「例示（exemplary）」という用語は、「例、事例、または図例として使用されること」を意味している。本明細書に「例示」として記載されているどの実施形態も、必ずしも他の実施形態よりも好適または有利であると解されるものではない。以下に説明されている実施形態は、いずれも、この分野の精通者が本発明を実施または使用するのを可能にするために用意された例示の実施形態であり、請求項によって明確化されている本発明の範囲を限定するものではない。
【００１１】
例示の実施形態は、本明細書では、機能および／または論理ブロック・コンポーネントおよび種々の処理ステップの観点から説明されている。なお、当然に理解されるように、このようなブロック・コンポーネントは特定の機能を実行するように構成された任意の数のハードウェア、ソフトウェアおよび／またはファームウェア・コンポーネントによって実現することが可能である。例えば、ある実施形態は種々の集積回路コンポーネント、例えば、メモリ・エレメント、デジタル信号処理エレメント、ロジック・エレメント、ルックアップ・テーブルなどを採用していることがあり、これらのエレメントは１または２以上のマイクロ・プロセッサまたは他のコントロール・デバイスの制御の下で種々の機能を実行することが可能である。さらに、この分野の精通者ならば理解されるように、実際の実施形態は、任意の数のデータ伝送プロトコルと関連付けて実施されることがあり、本明細書に説明しているシステムは単なる１つの例示実施形態である。
【００１２】
説明を簡単にするために、コンピューティング・デバイスのオペレーション、タッチ・スクリーンのオペレーション、ディスプレイ・エレメント上のグラフィックスのレンダリング、およびシステムのその他の機能上の側面（およびシステムの個々の動作エレメント）に関係する従来の手法は、本明細書では詳しい説明が省略されていることがある。さらに、本明細書に含まれる種々の図面に示した接続ラインは、種々のエレメント間の機能的関係および／または物理的結合の例を示したものである。当然に理解されるように、例示の実施形態には、多くの代替的または付加的機能関係または物理的結合が存在していることがある。
【００１３】
図１は、タッチ・スクリーン・デバイスを実現するためのコンピュータ・システム１００の例を示す簡略概要図である。コンピュータ・システム１００は、適当な動作環境の単なる一例であり、本明細書に説明されている実施形態の使用または機能の範囲に関してなんらの制限があることを示唆するものではない。このような実施形態と共に使用するのに適した他の周知のコンピューティング・システム、環境、および／または構成としては、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド・デバイスまたはラップトップ・デバイス、パーソナル・デジタル・アシスタント、モバイル電話、ＡＴＭ（Automated Teller Machine）およびインフライト・エンターテインメント・システム（in-flight entertainment system）などのキオスク・ベースのコンピュータ、リテール・プロダクト情報システム（retail product information system）、ＧＰＳ（Global Positioning System）ナビゲーション・デバイス、ロケーション・マップ、ビルディング・ディレクトリ、ポータブル・メディア・プレイヤ、電子ブック、トランジット・キオスク、博物館情報ディスプレイ、マルチプロセッサ・システム、マイクロ・プロセッサ・ベースのシステム、プログラマブル・コンシューマ・エレクトロニクス、ネットワークＰＣ、ミニ・コンピュータ、メインフレーム・コンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境などがあるが、これらに限定されない。
【００１４】
コンピュータ・システム１００は、プログラム・モジュールのように、１つまたは２つ以上のコンピュータまたは他のデバイスによって実行されるコンピュータ実行可能命令の一般的コンテキストの中で説明することができる。一般的に、プログラム・モジュールには、特定のタスクを実行し、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および／またはその他のエレメントが含まれている。代表例として、プログラム・モジュールの機能は、種々の実施形態で所望されるように結合されていることも、分散されていることもある。
【００１５】
コンピュータ・システム１００は、一般的なコンピュータと同じように、少なくともある種の形体のコンピュータ可読媒体を備えている。コンピュータ可読媒体は、コンピュータ・システム１００によってアクセスすることも、および／またはコンピュータ・システム１００によって実行されるアプリケーションによってアクセスすることも可能な任意の利用可能な媒体にすることができる。例を挙げると、コンピュータ可読媒体としては、コンピュータ記憶媒体と通信媒体があるが、これらに限定されない。コンピュータ記憶媒体としては、コンピュータ可読命令、データ構造、プログラム・モジュールまたはその他のデータなどの情報をストアしておくためのいずれかの方法またはテクノロジで実現された揮発性、不揮発性、取り外し可能および取り外し不能の媒体があるが、これらに限定されない。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたはその他のメモリ・テクノロジ、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disk）またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気ストレージ・デバイス、または所望の情報をストアするために使用可能で、コンピュータ・システム１００によってアクセス可能であるその他の任意の媒体が含まれている。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラム・モジュールまたはその他のデータを、搬送波などの変調データ信号またはその他のトランスポートメカニズムで具現化しており、その中には任意の情報配信媒体が含まれている。ここで「変調データ信号（modulated data signal）」とは、その特性の１つまたは２つ以上が信号の中の情報を符号化するような形でセットまたは変更されている信号を意味している。例を挙げると、通信媒体には、ワイヤード・ネットワークまたは直接ワイヤード・コネクションなどのワイヤード媒体、および音響、ＲＦ、赤外線およびその他のワイヤレス媒体などのワイヤレス媒体が含まれているが、これらに限定されない。上記に挙げたものを任意に組み合わせたものも、コンピュータ可読媒体の範囲に含まれることは当然である。
【００１６】
図１に戻って説明すると、コンピュータ・システム１００は、その最も基本的な構成では、通常、少なくとも１つの処理ユニット１０２および適当な容量のメモリ１０４を装備している。コンピューティング・システム１００の正確な構成およびタイプにもよるが、メモリ１０４には、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュ・メモリなど）またはこれらを組み合わせたものがある。この最も基本的な構成は、図１に参照符号１０６で示されている。さらに、コンピュータ・システム１００は追加の特徴または機能を備えていることもある。例えば、コンピュータ・システム１００は、追加のストレージ（取り外し可能および／または取り外し不能）を備えていることがあり、その中には、磁気または光ディスクまたはテープが含まれているが、これに限定されない。この追加のストレージは、図１に取り外し可能ストレージ１０８および取り外し不能ストレージ１１０で示されている。メモリ１０４、取り外し可能ストレージ１０８、および取り外し不能ストレージ１１０は、いずれも上記に定義されているコンピュータ記憶媒体の例である。
【００１７】
コンピュータ・システム１００は、システムが他のデバイスと通信するのを可能にする通信コネクション１１２を装備していることもある。通信コネクション１１２は上記に定義されている通信媒体の処理と関係付けられていることもある。
【００１８】
コンピュータ・システム１００は、キーボード、マウスまたはその他のポインティング・デバイスなどの入力デバイス１１４、音声入力デバイス、ペン、スタイラスまたはその他の入力デバイスなどを備え、これらのデバイスとやりとりすることができる。図２を参照して以下に記載されている例示の実施形態では、コンピュータ・システム１００は、タッチ入力を受け取り、ユーザがスクリーン上に表示されたある種のオブジェクトを選択するのを可能にするスクリーン、ディスプレイまたはその他のユーザインターフェース（ＵＩ）を装備している。本明細書に説明している例示の実施形態では、タッチ入力が利用されているが、本明細書に説明している実施形態は、ペンまたはスタイラスを使用して行なわれるような、どのような同等のタッチベースの入力もサポートするように等しく構成するが可能である。コンピュータ・システム１００は、ディスプレイ、スピーカ、プリンタなどの出力デバイスを備えていることもあれば、これらのデバイスとやりとりすることもある。これらのデバイスはすべてこの分野では周知であるので、ここで詳しく説明することは省略する。
【００１９】
概要  
タッチ入力を使用すると便利であるが、ターゲットを捕捉する時間およびエラー発生率が増加する可能性がある。残念ながら、ペンまたはスタイラス入力用に設計されたユーザ・インターフェースは小さなターゲットを含んでいることがよくあるため、そのようなケースでは、指による選択は、遅くなり、エラーを引き起こしやすくなる。例えば、指またはその他の形式の「タッチ入力」を使用すると、小さなターゲットが遮蔽（occlude）されるため、ターゲットの選択と捕捉を視覚的なフィードバックなしで行なわざるを得なくなる。これにより、選択と捕捉のエラーが発生しやすくなる。
【００２０】
指は、微妙な制御の点でスタイラスよりも精度が若干劣っているが、精度だけが、タッチ入力に関連するエラー発生率を高くする理由ではない。タッチ入力に関連する高いエラー発生率の他の理由は、ターゲットの遮蔽との関連で指の接触エリアによって生じるあいまいな選択ポイントに起因する。例えば、ユーザは、指の接触エリアのサイズよりも小さなターゲットを選択するときターゲットを捕捉したかどうかを判断することが困難である。残念ながら、ユーザの指は、指の接触エリアより小さいターゲットを遮蔽するため、ユーザが視覚的なフィードバックを見ることの妨げとなっている。
【００２１】
概要を説明すると、ＰＤＡやＵＭＰＣのようなペン・ベースのデバイスまたはタッチ・スクリーン・デバイスの操作性を向上させることができる手法および技術を提供する。これらの手法および技術は、ユーザの指または他の選択エンティティ（例えば、身体の別の部分）がタッチ・スクリーン・デバイスのスクリーンに触れて、スクリーン上に表示されたオブジェクトを選択するのを試みたとき、タッチ入力を行なうことを可能にする。ユーザがターゲットを選択するのを試みるとき、コールアウトを、スクリーンの遮蔽されていないスクリーン・エリア（non-occluded screen area）にレンダリングすることができる。このコールアウトには、ユーザの指（または他の選択エンティティ）によって遮蔽されたスクリーンのエリアの表現が含まれている。一部の実施形態では、「遮蔽されたスクリーンのエリアの表現」は、ユーザの指（またはその他の選択エンティティ）によって遮蔽されたスクリーンのコピーを含んでいることもある。
【００２２】
以下の説明では、ユーザが自分の指を使用してターゲットを選択するのを試みるときのシナリオと関連付けて、エスカレーション（escalation）または「シフト・ポインティング」手法が説明されている。しかし、当然に理解されるように、エスカレーションまたは「シフト・ポインティング」手法は、一般的には、ユーザがいずれかの「選択エンティティ」を使用してターゲットを選択するのを試みたときにも、いつでも適用可能である。本明細書の中で用いられている「選択エンティティ」という用語は、遮蔽されたエリアに表示されているターゲットを、ユーザが選択エンティティを使用して選択しようと試みたとき、タッチ・スクリーン・デバイスのエリアをブロックまたは遮蔽している、指や指の爪などの身体部分またはその他の選択器具（selection instrument）を含むことが可能である。
【００２３】
図２は、タッチ・スクリーン・デバイス２００の前面を示す簡略概略図である。タッチ・スクリーン・デバイス２００は、適当に構成されたコンピューティング・デバイスまたはシステム、例えば、コンピュータ・システム１００の内部に実装されていることがある。
【００２４】
タッチ・スクリーン・デバイス２００は、ユーザが選択しようとする所望のターゲットを含む情報を表示するタッチ・スクリーン２０２を備えている。本明細書の中で用いられている「タッチ・スクリーン」という用語は、スクリーン、ディスプレイまたはその他のＵＩのエリアを押すことによってタッチ入力を可能にし、スクリーン、ディスプレイまたはその他のＵＩ上に表示されたオブジェクトを選択するように構成または設計されたスクリーン、ディスプレイまたはその他のＵＩを指している。例えば、ユーザは、スタイラスやペンのようなデバイスを使用してスクリーンを押したり、ユーザの指や他の付属部分を使用してスクリーンにタッチしたりすることができる。タッチ・スクリーン・デバイスは、いくつかの電子デバイスのいずれにも実装させることが可能であり、そのような電子デバイスには、例えば、セルラ電話、ＰＤＡ、ラップトップ・コンピュータ、ビデオ・ゲーム、エレクトロニック・トイ（電子玩具）、種々のアプリケーション用の電子制御パッドなどのポータブル機器や、ＡＴＭなどの情報配布用固定キオスク（fixed kiosk）がある。
【００２５】
ユーザは、タッチ・スクリーン２０２上に表示された所望のターゲット（図２に図示されていない）を選択するのを試みるとき、自分の指をタッチ・スクリーン２０２上の所望のターゲットの上に置くことができる。ユーザの指によって隠されたタッチ・スクリーン２０２のエリアは、タッチ・スクリーン２０２の遮蔽されたスクリーン・エリア（occluded screen area）２０４と呼ぶことができる。この遮蔽されたスクリーン・エリア２０４は、ユーザの指によって隠され、かつユーザが選択しようと試みている所望のターゲットが置かれている、スクリーン２０２のエリアを含んでいる。この所望のターゲットは、スクリーン２０２上の遮蔽されたスクリーン・エリア２０４内にある第１のエリアを占めている。
【００２６】
ユーザの指がタッチ・スクリーン２０２の表面に接触して、スクリーン２０２上に表示された所望のターゲットを選択するのを試みると、タッチ・スクリーン・デバイス２００内のモジュール（１または複数）は、処理ユニット１０２と協働して動作し、遮蔽状態が、（ユーザの指の下にある）所望のターゲットにとって問題となるかどうかを判断する。
【００２７】
ユーザの指の下にある所望のターゲットにとって遮蔽状態が問題となるおそれがあると判断されたときは、コールアウト２０６およびポインタ２０８を表示またはレンダリングすることができる。コールアウト２０６およびポインタ２０８を表示またはレンダリングする判断は、「エスカレーション（escalation）」と呼ぶことができる。コールアウト２０６およびポインタ２０８を表示またはレンダリングするか否か（つまり、エスカレーションを行なうか否か）を判断するための例示の手法の中には、例えば、ユーザ入力に基づくトリガ（user-input-based trigger）、ドエル・タイマに基づくトリガ（dwell timer-based trigger）、またはターゲットのサイズに基づくトリガ（target size-based trigger）を含むことが可能であるが、これらに限定されない。エスカレーションを行なうかどうかを判断する手法は、以下に詳しく説明されている。
【００２８】
本明細書の中で用いられている「コールアウト（callout）」という用語は、遮蔽されたスクリーン・エリアのシフトされた表現（この中には、通常、所望のターゲットの表現が含まれる）を指している。一部の実施形態では、「遮蔽されているスクリーンのエリアの表現」は、ユーザの指（またはその他の選択エンティティ）によって遮蔽されたスクリーン・エリアのコピーを含んでいることがある。一部の実施形態では、コールアウトは、入力の動きやディスプレイの更新に応答して、またはその他の理由で移動できるので、必ずしも静止位置に置かれているとは限らない。コールアウトは、通常、任意の適切なサイズにすることも、任意の適切な形状にすることもできる。図２に示される特定例では、コールアウト２０６のコピー部分が円形の形状または円形の枠を有するように示されているが、このコピー部分を、矩形の形状または矩形の枠、四角の形状または四角の枠、楕円の形状または楕円の枠、フキダシ（cartoon bubble）形状または枠、あるいはこれらの任意の組み合わせとすることも可能である。コールアウト２０６は、遮蔽されていないスクリーン・エリア（図２に網目状に示している）内の任意の適切な位置に配置すること（または平行移動すること）もできる。コールアウトの配置の例は、図７を参照して以下に示されている。さらに、コールアウト２０６は、実装に応じて、遮蔽されたエリアと同じサイズにすることも、遮蔽されたエリアよりも小さくすることも、遮蔽されたエリアよりも大きくすることもできる。図９を参照して以下に説明する１つの例示の「ズーム」実施形態では、コールアウト２０６は、遮蔽されたエリアよりも大きい。この実装は、所望のターゲットが特に小さく、選択が困難な状況において、特に有用である。
【００２９】
本明細書の中で用いられている「ポインタ」という用語は、ユーザの指などの入力デバイスによって特定される現在のシステムの入力座標を指し、スクリーン上の実際の接触または選択ポイントを表している。一実施形態では、シフトされたポインタ２０８、および指の下にある実際の接触ポイントは、図２に示されるように破線で結ばれる。実際の接触ポイントは、遮蔽されたスクリーン・エリア２０４内のユーザの指が実際に置かれている現在の接触または選択ポイントを表している。従って、ポインタ２０８をオフセットすることのほかに、コールアウト２０６は、遮蔽されたスクリーンコンテンツの表現をオフセットし、これにより、ターゲット捕捉のパフォーマンスを大幅に向上させることができる。
【００３０】
エスカレーションを行なうとの決定がされると、タッチ・スクリーン・デバイス２００内のモジュール（１または２以上）は、処理ユニット１０２と協働して動作し、タッチ・スクリーン２０２の遮蔽されていないスクリーン・エリア（図２に網目状に示されている）に、コールアウト２０６とポインタ２０８を表示またはレンダリングするコンピュータ命令を実行する。
【００３１】
ユーザが所望のターゲットを選択するのを試みるとき、ポインタ２０８は移動可能であるので、スクリーン２０２の表面上で指を動かすことによってポインタ２０８を移動させることができる。コールアウト２０６によってユーザに提供される視覚的なフィードバックにより、ユーザは、ポインタ２０８を、コールアウト２０６内に表示された所望のターゲットの表現の上に移動させることができる。例えば、ユーザは、タッチ・スクリーン２０２の遮蔽されたスクリーン・エリア２０４上に指を置いたままにして、ポインタ２０８が所望のターゲットの表現の上にくるまでタッチ・スクリーン２０２の（遮蔽されたスクリーン・エリア２０４内の）表面上で指を移動またはローリングさせることによりポインタ２０８を導くことによって、コールアウト２０６内に表示された所望のターゲットの表現の上にポインタ２０８を導くことができる。
【００３２】
所望のターゲットを選択するために、ユーザは、コールアウト２０６内に表示された所望のターゲットの表現の上にポインタ２０８が置かれているときに、スクリーン２０２の表面から自分の指を離すことによって、ターゲットの捕捉を行う。一実施形態では、成功したターゲットの捕捉を、クリック・サウンドで確認することができ、他方、ターゲット捕捉の試みが失敗すると、エラー・サウンドが鳴ることになる。タッチ・スクリーン・デバイス２００内のモジュール（１または２以上）は、ユーザがタッチ・スクリーン２０２の表面から自分の指を離したとき、処理ユニット１０２と協働して動作し、コールアウト２０６とポインタ２０８を除去する。
【００３３】
図３は、タッチ・スクリーン・デバイスのスクリーン上に表示された所望のターゲットを、例示の一実施形態に従ってタッチ入力を使用して選択するための手法を示す例示フロー図３００である。以下では、図４（ａ）乃至図４（ｅ）および図５（ａ）乃至図５（ｂ）を参照して図３を説明し、図３の手法が例示の一実施形態に従ってどのように適用できるかを具体例で説明する。図４（ａ）乃至図４（ｅ）は、例示的な一実施形態に従って、タッチ・スクリーン・デバイスのスクリーン上に表示された比較的小さなターゲットを、タッチ入力を使用して選択するためのエスカレーションまたは「シフト・ポインティング」手法を示す一連の例示的な図４００ある。図５（ａ）乃至図５（ｂ）は、例示的な一実施形態に従って、タッチ・スクリーン・デバイスのスクリーン上に表示された比較的大きなターゲットを、タッチ入力を使用して選択するための標準的な手法を示す一連の例示的な図５００である。
【００３４】
ステップ３１０において、ユーザは、自分の指でデバイスのディスプレイ面（例えば、デバイスの表面）に触れることによって、タッチ・スクリーン・デバイスのスクリーン上に表示された所望のターゲットを捕捉または選択しようと試みる。例えば、図４（ａ）および図５（ａ）に示すように、ユーザは、自分の指４１０、５１０（または他の身体部分またはデバイスを含む他のオブジェクト）でスクリーンの表面を押して、所望のターゲット４０１、５０１を選択しようと試みる。図４（ａ）において、所望のターゲット４０１は、スクリーン上に表示され、かつユーザの指４１０の下にある、第１の小さなエリアを占めている。所望のターゲット４０１は、（小さな矩形で図示されている）複数の他の潜在的なターゲット（ｐｏｓｓｉｂｌｅ  ｔａｒｇｅｔｓ）の近くにある。ユーザの指４１０によって覆われている（および、所望のターゲット４０１と他の潜在的なターゲットを含んでいる）スクリーンのエリアを、以下では、ユーザが見ることのできない「遮蔽された」エリア（“occluded” area）と呼ぶ。図５（ａ）において、所望のターゲット５０１は、スクリーン上に表示された比較的大きなエリアを占めており、このエリアは、ユーザの指５１０によって完全には隠されていない。言い換えれば、図５（ａ）では、所望のターゲット５１０の一部はまだ見えるので、所望のターゲット５１０が一部だけが遮蔽されている。
【００３５】
条件付きエスカレーション（conditional escalation）は、遮蔽による問題を解決し、ユーザが小さなターゲットを確実に選択するのを可能にする。エスカレーションまたはシフト・ポインティング手法によると、やりとりによるオーバヘッドを、そのやりとりが本当に必要な状況（例えば、小さなターゲットの場合）のみに限定することが保証されるので、大幅に時間量を節約することができる。ステップ３２０において、タッチ・スクリーン・デバイスのプロセッサまたは他のモジュールは、特定の所望のターゲットに対して「エスカレーション」が必要であるかどうかを判断する。一般的に、タッチ・スクリーン・デバイス内のプロセッサまたは他のモジュールは、ユーザの指の下の遮蔽されたスクリーン・エリア（occluded screen area）内に表示された潜在的なターゲットにとって、遮蔽状態が問題となっているかどうかを判断する。任意の数の異なる手法を使用して、エスカレーションを行なうべきかどうかを判断する（例えば、コールアウトおよびポインタを表示またはレンダリングするかどうかを判断する）ことが可能である。これらの手法としては、例えば、ユーザ入力に基づくトリガ、ドエル・タイマに基づくトリガ、またはターゲットのサイズに基づくトリガがあるが、これらに限定されない。これらの手法は以下で説明する。
【００３６】
エスカレーションが必要でない（例えば、ユーザの指の下の所望のターゲットにとって遮蔽状態が問題でない）と判断されたときは、ステップ３２５において、タッチ・スクリーン・デバイスは、（例えば、エスカレーションを行うことなく）変更されていないタッチ・スクリーン（unmodified touch screen）などの通常または標準的な態様で動作することを続ける。プロセス３００は、次の所望のターゲットを待ち、ステップ３１０にループして戻る。図５（ａ）および図５（ｂ）に示す例示のシナリオでは、ユーザがタッチ・スクリーン・デバイスのスクリーン上の比較的大きなターゲットを選択することを試みるときは、コールアウトは生成されず、表示されない。自分の指を即時に離すことにより、ユーザは、援助なしのタッチ・スクリーン（unaided touch screen）をあたかも使用しているように、選択を行なう。この場合、援助なしのタッチ・スクリーンの入力は簡単であるので、比較的大きなサイズのターゲットの場合に適している。
【００３７】
エスカレーションまたはシフト・ポインティング手法は、タッチ・スクリーンのユーザが実際のターゲット自体を目標にすることができるようにするという点で、ユーザの期待通りに振る舞う。ユーザは実際のターゲットを目標にすることを可能にすることによって、エスカレーションまたはシフト・ポインティング手法は、標準的なペン入力とタッチ入力との互換性を保っている。この互換性により、ペン入力とタッチ入力との間で切り換える際のやりとりに統一性が保たれる。また、このことは、エスカレーションまたはシフト・ポインティング手法をウォークアップ（walk-up）シナリオにおいて展開し、既存システムを改良することを容易にする。
【００３８】
エスカレーションが必要である（例えば、ユーザの指の個所の所望のターゲットにとって遮蔽状態が問題である）と判断されたときは、ステップ３３０において、コールアウトおよびポインタを、スクリーンの遮蔽されていないエリアにレンダリングまたは表示することが可能である。
【００３９】
エスカレーションまたはシフト・ポインティング手法は、タッチ・スクリーンのユーザが実際のターゲット自体を目標にすることができるようにするという点で、ユーザの期待通りに振る舞う。ユーザは実際のターゲットを目標にすることを可能にすることによって、エスカレーションまたはシフト・ポインティング手法は、標準的なペン入力とタッチ入力との互換性を保っている。この互換性により、ペン入力とタッチ入力との間で切り換える際のやりとりに統一性が保たれる。また、このことは、エスカレーションまたはシフト・ポインティング手法をウォークアップ（walk-up）シナリオにおいて展開し、既存システムを改良することを容易にする。
【００４０】
コールアウトおよびポインタは、遮蔽状態に関連する問題を除去するのに役立つと共に、実際の接触ポイントまたは選択ポイントのあいまいさに関連して起る問題を軽減するのにも役立っている。例えば、図４（ｂ）に示すように、コールアウト４０６およびポインタ４０８を、スクリーンの遮蔽されていないエリアに提供すること、すなわち、表示することができる。コールアウト４０６は、スクリーンの遮蔽されていないエリア上に、遮蔽されたスクリーン・エリア（例えば、ユーザの指４１０によって覆われたエリア）の表現を表示する。この遮蔽されたスクリーン・エリアの表現は、例えば、所望のターゲット４０１のコピー４０１’を含むことが可能である。ポインタ４０８は、スクリーン上のユーザの指の実際の接触ポイントまたは選択ポイントを表している。ポインタ４０８が最初に表示されるとき、該ポインタ４０８は、所望のターゲット４０１のコピー４０１’とは一致していない。
【００４１】
さらに、当然に理解されるように、コールアウト４０６の位置は、ターゲットおよびユーザの指の上方に表示されるように示されているが、図６に関連して以下で説明するように、コールアウト４０６を、スクリーンの遮蔽されていないエリア内において、ターゲットまたはユーザの指のいずれかに対して好都合な任意の位置に配置することが可能である。コールアウトおよびポインタの配置は、遮蔽状態を最小にし、視覚的な再指向を迅速にするための予測性を最大にするような方法で行なう必要がある。
【００４２】
ステップ３４０において、ユーザは、ポインタを所望のターゲットの表現上に導いて、所望のターゲットを選択する。例えば、図４（ｃ）に示すように、ユーザは、自分の指４１０をスクリーンと接触させたままにして、コールアウト４０６によって提供される視覚的なフィードバックに基づいて、ポインタ４０８の位置を導くことができる。ユーザは、ポインタ４０８が、スクリーンの遮蔽されていないスクリーン・エリアに表示された所望のターゲット４０１のコピー４０１’上に置かれるまで、スクリーンの表面上で自分の指を移動させることによって、動きを補正し、ポインタの位置を微調整することができる。
【００４３】
ポインタが所望のターゲットの表現の上に置かれたとき、ステップ３５０において、ユーザは所望のターゲットのターゲット捕捉を行う。例えば、図４（ｄ）に示すように、所望のターゲットを選択するには、ユーザは、遮蔽されていないスクリーン・エリアに表示された所望のターゲット４０１のコピー４０１’上にポインタ４０８が置かれている間に、スクリーンの表面から自分の指４１０を離す（例えば、テーク・オフを選択する）ことによって所望のターゲットのターゲット捕捉を行う。一実施形態では、成功したターゲット捕捉は、クリック・サウンドで確認することができ、他方、失敗したターゲット捕捉の結果は、エラーのサウンドとすることができる。別の実施形態では、正しい位置を視覚的に確認した後、指４１０を離すことにより、ターゲット４０１を選択し、これにより短時間の蛍光残像（brief Phosphor afterglow）が起り、そして選択が完了する。
【００４４】
ステップ３６０において、ユーザが、スクリーンの表面から自分の指を離したとき、コールアウトとポインタが除去される。例えば、図４（ｅ）に示すように、コールアウト４０６とポインタ４０８は、ユーザがスクリーンの表面から自分の指（図示せず）を離すと除去され、所望のターゲットが選択される。
【００４５】
エスカレーションを実行すべきかどうかを判断するための手法  
一実施形態では、ユーザ入力に基づくトリガ（user-input-based trigger）を使用してエスカレーションまたは「シフト・ポインティング手法」をトリガすることができる。例えば、ユーザはボタンを押すか、または別の入力デバイスを選択してエスカレーションをトリガすることができる。
【００４６】
別の実施形態では、ターゲットのサイズに基づくトリガ（target size-based trigger）を使用してエスカレーションまたは「シフト・ポインティング手法」をトリガすることができる。プロセッサまたはその他のモジュールは、所望のターゲットにとって遮蔽状態が問題となっているかどうかを、選択エンティティ（例えば、ユーザの指）の接触エリアに対する所望のターゲットのサイズに基づいて判断することができる。例えば、所望のターゲットの最小寸法が代表的な指の接触直径よりも小さいとき、遮蔽状態が問題となり得るので、プロセッサまたはその他のモジュールは、指によって遮蔽されるほど小さなターゲットが存在するかどうか（例えば、所望のターゲットが、選択エンティティ（例えば、ユーザの指）の接触エリアに対して小さなターゲットであるかどうか）を判断することができる。一実施形態では、遮蔽状態により比較的小さなターゲットの選択においてエラーを引き起こしやすくなる、概算しきい値サイズ、すなわち「オクルージョンしきい値（ｏｃｃｌｕｓｉｏｎ  ｔｈｒｅｓｈｏｌｄ）」が設けられている。ユーザが自分の指を使用してスクリーンの表面を押して所望のターゲットを選択することを試みると（例えば、遮蔽されたスクリーン・エリアに触れるか、圧力を加えると）、タッチ・スクリーン・デバイス内のプロセッサまたは他のモジュールは、所望のターゲットがオクルージョンしきい値よりも小さいかどうかを判断する。所望のターゲットがオクルージョンしきい値よりも小さければ、エスカレーションまたはシフト・ポインティング手法が実行される。これに対して、ユーザがスクリーン上の比較的大きなターゲットを選択することを試みるときは、一般的に、遮蔽状態は問題とならない。そのために、オクルージョンしきい値よりも大きなターゲットについては、このエスカレーションまたはシフト・ポインティング手法は、スクリーン上にコールアウトをレンダリングまたは表示せず、その代わりに、変更されていないタッチ・スクリーンと同じように動作する。
【００４７】
さらに別の実施形態では、ドエル・タイマに基づくトリガ（dwell timer-based trigger）を使用してエスカレーションまたは「シフト・ポインティング手法」をトリガすることができる。例えば、プロセッサまたはその他のモジュールは、ユーザの指がしきい値時間よりも長い時間の間ディスプレイに接触していたかどうかを判断する。ユーザの指がしきい値時間よりも長い時間の間ディスプレイに接触していれば、プロセッサまたはその他のモジュールは、エスカレーションまたはシフト・ポインティング手法を実行すべきであると判断する。ユーザの指が、しきい値時間よりも短い時間の間またはしきい値時間と同じ時間の間ディスプレイに接触していたときは、プロセッサまたはその他のモジュールは、エスカレーションまたはシフト・ポインティング手法を実行すべきでなく、標準的な援助なしのタッチ・スクリーンを実装すべきであると判断する。
【００４８】
ためらいおよび選択のあいまいさに基づくエスカレーション  
さらに別の実施形態では、ターゲットのサイズに基づくトリガのみ、またはドエル・タイマに基づくトリガのみに基づいてエスカレーションを行なうべきかどうかの判断を行う代わりに、次のターゲット選択の試みにおいてエスカレーションを行なって「シフト・ポインティング手法」を使用するか否かを判断する際に、双方の実施形態の考え方を組み合わせることができる。
【００４９】
ドエル時間を使用することによって、エスカレーションを行なうかどうかの最終的な判断はユーザに委ねられることになる。例えば、ターゲットのサイズと位置に関する追加知識が全くないときは、固定のドエル・タイムアウト（例えば、３００ミリ秒）を使用することができる。固定のドエル・タイムアウトが経過したときは、エスカレーションまたはシフト・ポインティングを実行すべきである。しかし、タッチ・スクリーン・デバイスがターゲットのサイズと位置に関する情報を提供するときは、シフト・ポインティング手法は、「選択のあいまいさ」に基づいて、ドエル・タイムアウトを判断または計算することができる。一実施形態では、図６（ａ）および図６（ｂ）を参照して以下に説明するように、スクリーンへの接触とエスカレーションの間のドエル・タイムアウトを定義することができる。ドエル・タイムアウトの持続時間は、ユーザの指の下のターゲットのサイズに応じて変化させることができ、選択のあいまいさは、ユーザの指の下にある最小のターゲットのサイズを、オクルージョンしきい値と比較することにより判断または推定され得る。
【００５０】
ターゲットがオクルージョンしきい値に比べて小さいときは、選択のあいまいさが比較的高いので、ドエル・タイムアウトは非常に短い持続時間に設定することができ、エスカレーションはほとんど即時に行なわれる。しかし、ターゲットがオクルージョンしきい値に比べてはるかに大きい場合は、遮蔽状態は問題とならない。このケースでは、エスカレーションは必要でないのでドエル・タイムアウトをより長い時間に設定することができ、ユーザは単純で直接的な接触を利用することができる。そのために、比較的大きなターゲットの場合は、ドエル・タイムアウトは比較的に長く、ユーザはエスカレーションなしでターゲットを取得できるので、変更されていないタッチ・スクリーンと同じパフォーマンスが得られる。
【００５１】
ターゲットがオクルージョンしきい値とほぼ同サイズの場合は、選択のあいまいさの度合い自体があいまいである（ユーザは、選択するときの確信度に応じてエスカレーションを必要とする場合と、必要としない場合がある）。このケースでは、ドエル・タイムアウトは、ためらいながらエスカレーションの起動を制御するのに十分な短い時間だけ待った後に行なわれる。ユーザがエスカレーションまたはシフト・ポインティング手法の起動を望む場合は、ユーザはある時間期間の間、自分の指をスクリーンの表面に置いたままにして待つことができる。エスカレーションを避けるために、ユーザは自分の指をスクリーンの表面から即時に離すことができる。
【００５２】
図６（ａ）は、ユーザがターゲット６０１を選択するのを試みたときのユーザの指６１０の接触エリア６０５を示す図である。図６（ａ）は、オクルージョンしきい値（ＳF）およびユーザの指６１０の下に置かれた最小ターゲット６０１の最小寸法（ＳT）も示している。一実施形態では、オクルージョンしきい値（ＳF）はユーザの指６１０の接触エリア６０５の最大寸法である。オクルージョンしきい値（ＳF）および最小ターゲット６０１の最小寸法（ＳT）を使用して、オクルージョンしきい値（ＳF）と指の下に置かれた最小ターゲットの最小寸法（ＳT）との比率を計算することができる。
【００５３】
図６（ｂ）は、ロジスティック関数（logistic function）を使用して、比率ＳF／ＳTがどのようにドエル・タイムアウトと対応付けられるかを示すグラフである。ロジスティック関数は、次の数学式によって定義されている。
【００５４】
【数１】
0004790847.tif 000002
【００５５】
ただし、ａ、ｍ、ｎ、およびτは実パラメータである。
【００５６】
ロジスティック関数を使用して、オクルージョンしきい値（ＳF）と指の下にある最小ターゲットの最小寸法（ＳT）との比率を、ドエル時間に対応付けることができる。一実施形態では、実パラメータをａ＝１、ｍ＝０、ｎ＝４、およびτ＝３に設定することができる。図６（ｂ）に示すように、これらの実パラメータをロジスティック関数で使用すると、小さなターゲットを〜０ｍｓに、大きなターゲットを〜１５００ｍｓに、およびオクルージョンしきい値に近いターゲットを約３００ｍｓに対応付けるスムーズな曲線が得られる。言い換えれば、この曲線は、非常に小さなターゲットについては０ｍｓに近い最小遅延時間に達し、大きなターゲットについては１５００ｍｓ前後の最大遅延時間に達し、オクルージョンしきい値のサイズに近いターゲットについては３００ｍｓ近くの遅延時間に達している。
【００５７】
オクルージョンしきい値の推定  
オクルージョンしきい値（ＳF）は、おおよそ指の接触エリアと関係があるが、タッチＰＤＡおよびＭＰＣで一般に使用されているセンシティブスクリーンは、１つの入力ポイントだけを報告し、指の接触ポイントを報告しない。経時的なオクルージョンしきい値の推定は、エスカレーションが使用されるときのターゲットのサイズとエスカレーションが使用されないときのターゲットのサイズに基づいて判断することができる。初期推定ＳFから開始し、ユーザがエスカレーションを行うＳF＜ＳTのときは、オクルージョンしきい値（ＳF）をｓだけ増加し、ユーザがエスカレーションを行なわないＳF＞ＳTのときは、オクルージョンしきい値（ＳF）をｓだけ減少する。ただし、ｓ＝ｗ｜ＳF−ＳT｜であり、ｗは経時的なオクルージョン推定を平滑化するハンド調整重み（ｈａｎｄ  ｔｕｎｅｄ  ｗｅｉｇｈｔ）である。一実施形態では、０．１２５に相当する重み（ｗ）を使用すると、平滑さと学習レートの間に良好なバランスが得られる。
【００５８】
この方式が潜在的に持つ利点は、ユーザが好んで（指または指先を使用するのではなく）指爪を使用してターゲットを選択する場合、オクルージョンしきい値（ＳF）が小さくなり、非常に小さいターゲットについてのみエスカレーションが瞬時に行なわれることである。スタイラスがデバイス・ホルスタ（device holster）の中にあるかどうかを検知できるデバイスの場合は、このアプローチによると、指とペン入力についてそれぞれ独立のオクルージョンしきい値（ＳF）を学習することができる。このセンサ・データがない場合には、重み（ｗ）を比較的高い値に設定すると、新しいオクルージョンしきい値（ＳF）を学習して、ユーザの入力スタイルの変化に対応することが可能になる。
【００５９】
図７（ａ）乃至図７（ｄ）は、タッチ・スクリーン・デバイスのスクリーンにおけるユーザの指７１０の様々な位置に対するコールアウト７０６とポインタ７０８の配置の例を示す図である。図７（ａ）乃至図７（ｄ）は、このエスカレーションまたはシフト・ポインティング手法の結果、アクセス不能なスクリーン・エリアが生じないことを示している。コールアウトの位置は、スクリーンの遮蔽されていないエリア内に、所望のターゲット７０１および／またはユーザの指７１０との関連で任意の位置に表示することができる。例えば、図７（ａ）に示す図では、コールアウト７０６Ａは、ユーザの指７１０Ａおよび所望のターゲット７０１Ａのすぐ上のスクリーンの遮蔽されていないエリア内にオフセットされている。図７（ｂ）において、スクリーンのエッジにおけるクリッピングを防止するために、コールアウト７０６Ｂは、ユーザの指７１０Ｂおよび所望のターゲットの右上のスクリーンの遮蔽されていないエリア内にオフセットされている。コールアウト７０６Ｂをさらにスクリーンの中央に向かって配置すると、エッジ付近のクリッピングが防止される。図７（ｃ）において、スクリーンの上部エッジにおけるクリッピングを防止するために、所望のターゲット７０１Ｃはディスプレイの上部エッジの近くに置かれている。したがって、クリッピングを防止するために、コールアウト７０６Ｃは、ユーザの指７１０Ｃの左で所望のターゲット７０１Ｃの若干下方のスクリーンの遮蔽されていないエリア内にオフセットすることができる。以上から理解されるように、コールアウト７０６Ｃを左にオフセットすることが不可能であれば、コールアウト７０６Ｃを図７（ｄ）に示すように右にオフセットすることが可能であり、そこではコールアウト７０６Ｄは、ユーザの指７１０Ｄの右側で所望のターゲット７０１Ｄの下方のスクリーンの遮蔽されていないエリア内にオフセットすることができる。コールアウト７０６の相対的な位置を調整することにより、エスカレーションまたはシフト・ポインティング手法は、スクリーン上の任意の場所にあるターゲットに対処し、スクリーンのエッジで起こる可能性のあるクリッピングの問題を防止することができる。さらに、以上から理解されるように、「利き手の検出（ｈａｎｄｅｄｎｅｓｓ  ｄｅｔｅｃｔｉｏｎ）」を利用して、左利きのユーザの場合のコールアウト７０６の配置または位置を逆にすることができる。
【００６０】
ユーザ側から見た入力ポイントの補正  
図８（ａ）は、ユーザ側から見たときのターゲット８０１、ユーザの指８１０および入力ポイント８０７を示す図である。多くのタッチ・スクリーン・デバイスでは、単一の選択ポイントが計算されて、ほぼ中間の指の接触エリアに置かれる。図８（ｂ）は、ハードウェア側から見たときのターゲット８０１、ユーザの指の接触エリア８０９および入力ポイント８０７’を示す図である。ユーザによっては、接触ポイントが、意図したターゲットの若干下にあることがよくある。シフト・ポインティング手法は、初期接触ポイントに対するポインタの位置を表示する。一部の実施形態では、初期接触ポイントに対するポインタの位置を、ユーザ側から見た接触ポイントを反映するように調整することができる。
【００６１】
例えば、一実施形態では、シフト・ポインティング手法は、単一の接触ポイントに基づいて入力位置を調整することができる。ハードウェア側から見た入力ポイント８０７’をユーザ側から見た入力ポイント８０７に対応付ける補正ベクトル（Ｖ）の推定は、定期的に計算することができる。例えば、一実施形態では、補正ベクトル（Ｖ）の推定は、Ｖt+1＝Ｖt＋ｗ（Ｐ2−Ｐ1）のように、補正した最終的リフトオフ・ポイント（Ｐ2）と初期接触ポイント（Ｐ1）の差に、重み付けされたベクトルを加えることによって更新することができる。ただし、ｗはハンド調整重み（hand-tuned weight）である。一実施形態では、ハンド調整重み（ｗ）をほぼ０．３３にセットすると、反復的調整が緩慢になりすぎることなく推定を平滑化することができる。この結果、Ｖの推定が収束したあとの微調整時間が短縮するので、ユーザは更なる調整を行なうことなく、選択したターゲットを簡単に確認することができる。しかし、指と異なり、親指の接触形状は、ディスプレイ上の接触位置に応じて変化する傾向がある。このことは、単一調整ベクトルを非効率にする。位置固有の調節ベクトル（location specific adjustment vectors）の間の線形補間により、この問題を軽減することができる。
【００６２】
コールアウトの拡大または「ズーミング」  
エスカレーションまたはシフト・ポインティング手法の１つの目的は、ターゲットの遮蔽を回避することによってユーザがターゲットを取得できるようにすることである。使用上のケースによっては、ターゲットが特に小さいことがある。例えば、上述したシフト・ポインティング手法は、６またはそれ以上のピクセル（約２．６ｍｍ）であるターゲットを捕捉する場合に効率よく働くが、ケースによっては、ユーザは６ピクセルよりも小さいターゲットを捕捉したいことがある。一部の実施形態では、このシフト・ポインティング手法を、ズーミングで向上させ、制御対表示（control display；ＣＤ）比率を操作してターゲット選択の精度を向上し、ポインティング正確さを高精度にすることができる。
【００６３】
図９は、ユーザが小さなターゲットを選択するのを試みたとき、エスカレーションまたはシフト・ポインティング手法によって得られるコールアウト９０６に適用できるズーミング機能強化を示す図である。特に小さなターゲットの場合、上述した手法は、コールアウト９０６を拡大し、コールアウト９０６とコールアウト９０６が複製する遮蔽されたスクリーン・エリアとの表示比率を大きくすることにより、ズーミング機能をさらに実現することができる。ズーミング機能が実現されると、コールアウト９０６内に表示される遮蔽されたスクリーン・エリアの再現は、ユーザの指によって遮蔽された実際のエリアよりもサイズが大きくなるので、コールアウト９０６は、拡大されたバージョンの遮蔽されたスクリーン・エリアを提示することになる。
【００６４】
一部の実施形態では、コールアウト９０６は、トラッキング・メニューと同じように、指とともに動くように改良することができるので、ユーザはそこを越えてコンテンツに到達することができる。指はポインタ９０８の位置と直接に対応付けられていないので、補正段階の間に、コールアウト９０６は、遮蔽されないように移動される。コールアウト９０６の初期位置は、初期接触ポイントに相対して配置することができる。接触ポイントがしきい値の直径を越えて移動すると、コールアウト９０６はトラッキング・メニューと同じように指と一緒に移動する。この結果、増加したズーム空間（または高ＣＤ比率で増加したモータ空間）が与えられているとき、初期接触ポイントが所望のターゲットから余りに離れている場合にフレームによって隠された初期エリアを越えて微調整を行なうことが可能になる。
【００６５】
この特定例では、エスカレーションが実行され、コールアウト９０６内に表示された遮蔽されたスクリーン・エリアの表現が拡大されている。以上から理解されるように、ディスプレイのサイズ、遮蔽されたエリアのサイズまたは特定のターゲットのサイズに応じて、任意の適切な倍率係数を使用することができる。コールアウトの拡大が大きくなると、コールアウトが表示するコンテンツは少なくなる。このように拡大すると、ピクセルサイズのターゲットの可視性が保証されるが、確実なターゲット捕捉を可能にするには十分でないことがある。一部の実施形態では、ズーミングは、制御対表示（ＣＤ）比率を向上すると、さらに補強することができる。
【００６６】
制御対表示（ＣＤ）比率の向上  
制御対表示（ＣＤ）比率は、実際の指の動き（「制御」）とディスプレイ上のシステム・ポインタの動き（「表示」）とを対応付けたものである。ＣＤ比率を１以上に大きくすると、指は一定のポインタ距離をカバーするためにポインタよりも遠くに動く必要がある。ＣＤ比率を１以下に小さくすると、指は一定のポインタ距離をカバーするためにポインタよりも短い距離だけ動くことができる。この操作は、ＣＤ比率の逆である「ゲイン（ｇａｉｎ）」とも呼ばれている。ある制御の動きが与えられているとき、ゲインはその結果のポインタの動きを増減する。ゲインが小さいときは、ポインタの動きは一定の制御の動き以下になる。
【００６７】
ユーザがあるターゲットを目標とするのを可能にするために、多くのタッチ・スクリーン・デバイスは、ＣＤ比率を１として操作されている。例えば、ポインタ位置は指の入力位置と１：１で対応付けることができる。しかし、ユーザの指がいったんスクリーンと接触したとき、ポインタを表示して、ユーザに視覚的なフィードバックを提供することができる。そのあと、指の動きはポインタを相対的に制御し、ポインタは、ポインタに向かう指よりも早くまたは遅く動くことができる。これに対処するために、機能強化されたバージョンのシフト・ポインティング手法では、エスカレーション時に、ＣＤ比率を最大８：１まで調節することが可能になっている。スクリーン上のポインタの動きは低速になり、１ピクセルのターゲットはモータ空間において８ピックセルに拡張される。代替的実施形態では、ＣＤ比率は、パンタグラフに似たハンドルで調節することも、安定化の目的のために初期接触ポイントからの距離に基づいて調節することも可能である。
【００６８】
上述したように、ターゲットの元の位置に関係なく、コールアウトは、指による遮蔽状態を回避するように配置される。場合によっては、指を動かすと、元のターゲット位置が遮蔽されるなくなることがある。タッチ・センシティブ・ディスプレイの入力エリアは有限であるので、ＣＤ比率を１以上に大きくすると、「モータ空間（motor space）」の範囲をディスプレイ空間の１／ＣＤに減少させる。制御空間（control space）における指の動きは「モータ空間」の動きと呼ばれることがあるが、これは人々が認知モータプロセス（cognitive motor process）でこの動きを制御するからである。これは、初期接触ポイントがディスプレイのエッジからＸピクセルだけ離れていて、ターゲットからＸ／ＣＤピクセルだけ離れていると問題になることがある。シフト・ポインティング手法はリフトオフによる選択を採用しているので、ユーザがターゲットを選択する方法がない。この問題に対処するために、シフト・ポインティング手法は、すべての中間ピクセルが選択可能であるエッジにより近いポイントにスナップするように、またはポインタ加速を使用して長い距離を遅く（long-slow）、短い距離を高速（short-fast）で動く急速な連続（quick succession）がクラッチング（clutching）をシミュレートするように改良可能になっている。
【００６９】
以上、少なくとも１つの例示の実施形態を上述の詳細説明の中で示して説明してきたが、当然に理解されるように、変形実施形態は非常に多数存在している。また、当然に理解されるように、本明細書に記載した１つまたは複数の例示の実施形態は、システム、方法、またはデバイスの範囲、応用可能性または構成をいかなる態様においても限定するものではない。むしろ、上述した詳細説明は、この分野の精通者が記載された１つまたは複数の実施形態を実現するための便利なロードマップとなるものである。さらに、当然に理解されるように、請求項によって明確化されている範囲から逸脱しない限り、エレメントの機能および構成は種々態様に変更が可能であり、その中には、本特許出願時に公知であった等価物または予見可能であった等価物が含まれている。
【図１】
0004790847.tif 000003
【図２】
0004790847.tif 000004
【図３】
0004790847.tif 000005
【図４】
0004790847.tif 000006
【図５】
0004790847.tif 000007
【図６】
0004790847.tif 000008
【図７】
0004790847.tif 000009
【図８】
0004790847.tif 000010
【図９】
0004790847.tif 000011