【誤訳訂正書】
【提出日】平成24年8月7日(2012.8.7)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】２次元ポインティングデバイスを用いて１次元信号を生成するための方法及び装置
【関連出願の表示】
【０００１】
本出願は２００４年１月２９日に出願された米国特許出願第６０／５４０，５３４号の利益を主張し、当該出願は参照のために本文中に組み込まれている。
【技術分野】
【０００２】
本発明は、２次元ポインティングデバイスを用いてスクロール情報などの１次元データを生成することに関する。
【背景技術】
【０００３】
グラフィカルユーザインターフェース（ＧＵＩ）は、パーソナルコンピュータとのヒューマンインタラクションを行うための標準的な手段となっている。ＧＵＩはグラフィック要素を表示するための画面と、それらのグラフィック要素を指し示し、選択するためのポインティングデバイスとを含む。最も標準的なＧＵＩグラフィック要素の１つはスクロールバーである。スクロールを使用すると、非常に小さくて全体のドキュメント（文書）を一度に見せることができない表示画面上に、大きなドキュメントの特定の部分を見せることができる。ドキュメントをナビゲートするほとんどすべてのプログラムは垂直スクロールバーを組み込んでおり、ほとんどが水平スクロールバーを含む。
【０００４】
スクロールバーは大きなドキュメントをナビゲートするための標準的な機構となっているが、そのようなスクロールバーを使うには相当なレベルの注意力と器用さが求められる。また、スクロールは一般的に実行されている機能であることから、より新しいシステムは、スクロールバーを用いた視覚的なインタラクション（相互作用）を必要とせずにスクロールに影響を与えるための方式を組み込んでいる。スクロールタスクを簡単にするために最も広く展開されているデバイスはホイールマウスである。ホイールマウスは、通常は左ボタンと右ボタンとの間に取り付けられる戻り止め（デテント）付きホイールによって、標準的なコンピュータマウスのポインティング機能を強化する。最新のＧＵＩシステムは、このホイールの回転から作り出された信号を用いて、現在のキーボードフォーカスを有するドキュメント、あるいは、ディスプレイカーソルの下にあるドキュメントを垂直にスクロールする。
【０００５】
通常のマウスホイールが抱える１つの問題点は、当然ながら、垂直スクロールしかサポートされていないことである。この方式が抱える別の問題点は、通常の構造ではホイールを遅くしか回転させることができず、大きな距離のスクロールにはあまり有用でないことである。最後に、ポータブルシステムは、しばしばマウス以外のポインティングデバイスを組み込んでおり、そのため、より普遍的なスクロール加速メカニズムが望ましい。
【０００６】
タッチパッド型デバイスを使用してスクロール機能を実行するために様々な努力がなされている。例えば１つの技術は、タッチパッドを用いて、ポインティング機能と、垂直スクロールおよび水平スクロールのそれぞれに専用のパッド右側領域およびパッド下側領域を使用する“仮想”スクロール機能の両方を実行する。これらのスクロール領域の１つに指が接地し、その領域にとどまると、特定のソフトウェアは、通常のポインティング情報ではなくスクロール情報を生成する。ポインティングの機能は、パッドから指を離す、あるいは離さずにスクロール領域から指を動かすことで回復する。タッチパッドデバイス上で実行されるスクロールの実装例は米国特許第５，９４３，０５２号に説明されている。
【０００７】
タッチパッドの仮想スクロールは、垂直および水平スクロールの両方を容易にするという問題の極めて自然な解決法であるが、これは多くの場合、大きな距離をスクロールすることが非効率的であるおそれがあるという、ホイールマウスと同じ問題に悩まされる。この問題を軽減する１つの方法であるコースティング（惰行法）と呼ばれる方法は、この問題の解消を試みている。通常、ユーザは、スクロールを開始し、次いでスクロール領域に平行な指の速度が依然として大きい間に指をパッドから離すことによって、コースティング機能を作動させる。コースティングが作動すると、タッチパッドサブシステムは、通常、スクロール信号の連続ストリームを生成する。この連続ストリームは、パッドに再び触れることにより中断することができる。米国特許第５，９４３，０５２号もコースティングの実装例を示す。
【０００８】
コースティングを用いると長距離を非常に速くスクロールできる一方で、多くの実装では、効率的に用いるために相当に器用であることが求められる。更に、各ユーザは通常、コースティング速度を個人の好みに合うように調節する。そして、そのような好みは、一部のドキュメントタイプにしかうまく機能しないおそれがある。
【０００９】
スクロールのための別の技術は、ペン型タッチパッドの一部を“ジョグダイアル”として使用する。ここでは、ダイアルの中心の周りのペン運動がスクロール信号を生成するために用いられる。通常、スクロール信号を生成する速度（レート）は、ペンがダイアルの中心の周りを移動するにつれてペンによって張られる角度の速度（レート）に比例する。更なる改良によれば、張られる角度の計算に使用される中心点の移動を可能になり、それにより、その中心点が自由な円形ペン運動に従うことが可能になる。
【００１０】
ジョグダイアルスクロールは、ドキュメント内の大きな距離を移動するためのマウスホイールあるいはタッチバッド仮想スクロールに対する大幅な改良となりうる。しかし、ジョグダイアルの概念は、直線的なスクロールバーとは概念的に別のものであり、そのため、不慣れなユーザをジョグダイアルの使用に習熟させることは容易ではない。ジョグダイアルの特許において説明されている特定の実施形態は、ジョグダイアルをタッチパッドの下に表示できるように、タッチパッドを表示画面上に配置している。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
タッチパッドの仮想スクロールは、ＧＵＩスクロールバーと今日のほとんどのポータブルコンピュータに備わっている専用のタッチパッドとの間の優れた概念マッピングである。ジョグダイアルは現在のタッチパッドスクロールの実装にいくつかの利点を与えるが、ジョグダイアルは直線的なスクロールバーとは概念的に別のものであり、そのために、不慣れなユーザには相当に使い慣れることが求められる。従って、直線的なスクロールバーと概念的に整合した方法およびシステムであって、より優れた感度とダイナミックレンジを提供する方法及びシステムが要望されている。さらに、その他の望ましい特徴や特性は、添付の図面と前述の技術分野および背景技術を併せて考慮して、以下の詳細な説明と添付の請求の範囲から明らかになるであろう。
【課題を解決するための手段】
【００１２】
２次元コンピュータポインティングデバイスを使用してスクロール信号などの１次元入力を生成する方法及びシステムを提供する。様々な例示の実施形態によれば、コンピューティングデバイス上でスクロール機能あるいはその他のユーザインターフェース機能に適した１次元信号が、タッチパッドあるいはその他の入力デバイスによって生成された２次元入力に応答して提供される。２次元入力の現在のキラリティは、２次元入力が、主に時計回りの軌道を示す場合は、第１の方向を有し、２次元入力が、主に反時計回りの軌道を示す場合は、第２の方向を有するように決定される。１次元変数は、２次元入力に反映される距離の関数である大きさと、現在のキラリティに基づく符号とを用いて累算される。次いで、累算された１次元変数から適宜、コンピューティングシステムへの１次元入力が抽出されてもよい。本明細書に説明する方法はモーダルであってもよく、それにより、同じポインティングデバイスを２次元入力と１次元入力の両方に用いることができるようにしてもよい。様々な実施形態の他の付加的な特徴を以下に詳細に説明する。
【００１３】
本発明の例示的実施形態を次の図面とともに以下に説明する。同じ参照符号は同様の要素を示す。
【図面の簡単な説明】
【００１４】
【図１】２次元ポインティング情報を１次元スクロール情報に変換するための例示的技術を示す。
【図２】キラリティロックされた近似方位によってキラル経路の現在のキラリティを維持するための例示的技術を示す。
【図３】キラル状態を維持するための例示的技術のフローチャート。
【図４】近似方位の方向を反転させるための例示的技術のフローチャート。
【図５】近似方位をキラル状態に整合した方向だけに進めるための例示的技術を示したフローチャート。
【図６】近似キラル経路長から分数スクロール情報を累算するための例示的技術を示したフローチャート。
【図７】分数スクロール情報から整数スクロール単位を抽出するための例示的技術のフローチャート。
【図８】抽出したスクロール単位のダイナミックレンジを非線形拡大するための例示的技術を示したフローチャート。
【図９】２つのポインティング次元の相対変化をスクロール単位に変換する処理の例示的な全体の流れを示したフローチャート。
【図１０】ポインティングをスクロールから区別するための例示的な識別シグネチャ。
【図１１】スクロールのために暫定的に受け入れ可能な方法でポインティング器具の初期位置を用いる例示的技術を示すフローチャート。
【図１２】ポインティング器具の初期速度及び初期軌道を用いてポインティングの意図をスクロールの意図と区別するための例示的技術を示したフローチャート。
【図１３】ポインティングデータを監視し、そのデータをポインティングまたはスクロールに用いるべきかどうかを判断する処理の例示的な全体の流れを示した説明図。
【発明を実施するための形態】
【００１５】
以下の詳細な説明は事実上、例示にすぎず、本発明あるいは本出願、および、本発明の用途を制限することを意図しない。さらに、先行する技術分野、背景技術、要約、あるいは以下の詳細な説明において表現され、あるいは示されたいずれかの理論によって制限することを意図しない。
【００１６】
一つの例示的な実施形態では、ひとたび１次元モードに入ると、大きく左に回転する２次元経路（パス）は、ある１つの極性の１次元信号を生成する。大きく右に回転する２次元経路は、その極性とは反対の極性の１次元信号を生成する。方向を急激に反転することで、あるいは、現在優先されている方向から反対の方向に十分に回転することで、極性を反転することができる。生成された１次元信号の大きさは、移動した２次元経路の長さに適切に比例する。
【００１７】
１次元入力モードに入る様々な方法も説明する。１つの例示的方法では、ポインティングデバイスへの初期接近がその右端に隣接する領域内で行われ、そのデバイスを横切る初期運動がこの右端に平行である場合に、垂直スクロールモードに入る。別の方法では、デバイスの下端に隣接する領域内での同様の接近と平行移動により、水平スクロールモードに入る。更に改良した方法では、平行運動の初期速度が閾速度未満である場合にのみ水平スクロールモードに入る。
【００１８】
本文中に説明する様々な技術は、コンピュータタッチパッドとともに用いられる場合は、直線スクロールの延長線上にあるものとして概念化できる。短距離のスクロールは、タッチパッドの外周に隣接する領域内における直線的な移動により実現できる。外周から離れ、曲線的な経路を移動することで、長距離スクロールを実現できる。本書で説明する様々な概念、技術、システム、および、構造は、いずれのタイプのポインティングデバイスあるいはその他の入力デバイスに組み込んでよく、そのようなデバイスとしては、実際の位置あるいは相対的な位置、近接度、運動、加速度、その他の位置情報を感知できる任意のタイプのタッチパッドあるいはその他のデバイスが挙げられる。様々な例示の実施形態のこれらおよび他の形態を以下にさらに詳細に説明する。
【００１９】
スクロールが特に重要になるのは、グラフィカルユーザインターフェースがある一つの次元において制限されるが、他の次元では制限されない場合である。通常、制限されている次元はコンピュータディスプレイに完全に合致し、一方で、制限されていない次元はその一部のみが同一の画面にある。多くの言語は左から右の順に読むために、水平次元ではなく垂直次元に制限がないことはより一般的である。例えば、文書編集プログラムは、垂直に配置された一連の連続するページとしてドキュメントを次々に表示する。
【００２０】
複数の行及びページからなるこの線形空間内で高速のナビゲーションを可能にすることは、スクロール機能の従来からの責務である。ドキュメントには、それぞれが数十もの行を含む数百ものページが含まれる可能性があり、与えられた時間で見ることが出来るのはごく一部分であるので、スクロール機能に強く望まれている特徴は、大きなダイナミックレンジである。換言すれば、優れたスクロールメカニズムは、精密な制御で小さな距離をスクロールできるとともに、非常に速く大きな距離をカバーすることもできることが望ましい。
【００２１】
一般に、ユーザはスクロール操作をコンピュータのポインティングデバイスに関連付けることを好むが、スクロールに対する一般的なダイナミックレンジ要求は、注目ポイントあるいはカーソルを固定サイズの２次元表示領域の周辺で動かすというポインティングデバイスに通常関連付けられる２次元操作とは全く整合しない。一般に利用可能なポインティングデバイスは、当然のことながら、ポインティングタスクのために最適化されている。この専用化は非常に顕著なので、スクロールタスクはしばしば、マウスホイールなど、主たるポインティング機能に関連付けられた単なる近接物である別個のハードウェアに組み込まれる。
【００２２】
ポインティングタスクがスクロールタスクよりも微妙なニュアンスがあるものと一般に認められているとすれば、この二分化は幾分驚くべきものである。２次元ポインティングデバイスをスクロールに応用する問題の本質は、固定サイズの２次元ポインティング空間と、本質的には無限の１次元スクロール空間との間に直観的なマッピングを確立することである。これについて考える１つの方法は、潜在的には無限のスクロール空間を、固定サイズの２次元空間に収まるように“折り畳む”ことである。あるいは、逆に考えて、折り畳まれた２次元経路が展開され、単一の次元に沿って配置される。
【００２３】
理想的には、この２次元から１次元へのマッピングは、例えば最近の移動の距離及び方向といった局所的（ローカル）な情報だけを必要とする。適切なローカルマッピングは、タッチパッドなどの絶対モードデバイスやマウスなどの相対モードデバイスに利用できる。同じく理想的には、マッピングは多様な２次元経路を受け入れることができるように、できるだけ一般的でなければならない。特に、理想的なマッピングは、直線経路と円形経路の両方を受け入れなければならない。というのも、直線運動は通常、小さな偏位に自然だと考えられており、円運動は通常、より長い距離の移動に効率的であると考えられているからである。次のセクションのキラル経路マッピングは、このようなパラメータの両方を満たす自然な方法である。
【００２４】
キラル経路（Chiral Paths）
【００２５】
キラル経路は２次元空間を通る個別の経路であり、その経路に沿った各セグメント（区分）は、２つの可能なキラリティのうちの１つによってラベル付けされている。１つのセグメントのキラリティは、優勢な、あるいは“優先されている”回転方向によって指定される。本書のために有機化学用語を採用すると、左旋性（Ｌ）セグメントは一般に、左巻き回転シーケンスの一部である。右旋性（Ｄ）セグメントは一般に、右に大きく回転する。例えば、円形経路が反時計回り（ＣＣＷ：Counterclockwise）に延びる場合、そのセグメントはＬであり、時計回りに延びる場合はＤである。
【００２６】
キラル経路のセグメントがラベル付けされれば、その経路を１次元出力変数にマッピングすることは簡単である。キラリティは出力符号を確立するように機能し、移動距離は大きさ（絶対値）を確立するように機能する。慣例に従って、Ｌセグメントは正の出力を生成し、Ｄ経路は負の出力を生成する。しかし、他の実施形態では、反対の、および／または任意の他の方式を用いてもよい。入力経路の長さから出力の大きさを導き出すことにより、２次元ポインティングデバイスのフルダイナミックレンジが、任意の関連１次元タスクに影響を与えられるようにすることができる。
【００２７】
図１は２４個の入力セグメントＳ１−Ｓ２４を備えた例示的なキラル経路１００を示す。該図の上部には、各セグメントＳ１−Ｓ２４に対するキラリティラベル１０２Ａ−Ｘが一列に列挙されている。該図の下部には、マップされた例示の１次元出力変数１０４Ａ−Ｘが図示されている。各出力変数１０４Ａ−Ｘの大きさを、対応する入力セグメントＳ１−Ｓ２４の長さに比例して示しており、その符号は入力セグメントのキラリティ１０２Ａ−Ｘから決定される。図１に示す２次元経路１００は右から左に大きく進行するが、これに対応するキラリティラベル１０２と出力グラフ１０４とは左から右に書かれている点に留意されたい。
【００２８】
経路セグメントラベル付け（path segment labeling）
【００２９】
１次元ユーザ入力タスクに効率的であって、かつ、自然な快適性を持ち直観的な（naturally comfortable and intuitive）キラル経路ラベル付けを確立することは、重要な課題である。効率性のために、急激な２次元方向の反転が確実にキラリティを反転させ、かつ、対応する出力変数符号を変化させることが望ましい。例えば、図１のセグメントＳ１１とＳ１２との間に発生する急激な反転により、現在のキラリティ１０２を（１０２Ｋ対１０２Ｌの関係に示されるように）“左旋性”から“右旋性”へ変化させ、それに対応して、出力変数１０４の符号を（１０４Ｋ対１０４Ｌの関係に示されるように）変化させる。しかし、本質的に“無限の”出力変数を有限の２次元空間から生成するという所望の目的を達成することができるよう、それほど急激でない反転はキラリティを反転させないことも望ましい。このような相反する要件は、一般的なユーザが意図する動作に実際の入力を合わせる際の不正確さと、ポインティングデバイス自体の不完全さによって生じる更なる不規則さと相まって、純粋に局所的な軌道情報からユーザの意図を完全に反映させることを困難にしている。
【００３０】
幸運にも、局所的なキラリティ追跡における小さな誤差は、１次元ユーザインターフェースタスクの大部分で許容される。しかし、通常のユーザは、特定の方向における持続した前進がキラリティラベル群１０２を優先回転方向に確実に配列するに違いないと予測する。一時的なキラリティの誤配列は、誤配列中に最小の出力大きさ１０４で比較的素早く訂正すべきである。
【００３１】
近似方位(approximate heading)の追跡によるキラリティの推定
【００３２】
図２を参照すると、演算の単純さを維持しながら相反する要件を十分に満足させる、キラリティラベル１０２を生成する１つの方法は、経路１００の比較的粗い近似方位２０６を局所的に追跡することに基づくものである。この方式では、持続近似方位は、現在好まれているキラリティに基づく特定の後続値または“バケット”しかとることができない。したがって、近似方位が、現在好まれているキラリティの方向に１つのバケットから隣り合う別のバケットへ進む場合は、現在のキラリティラベル付けが後の処理のために維持される。
【００３３】
近似方位を現在優先されているキラリティの方向にしか進めないようにすることにより、同じ基本メカニズムを用いて、局所キラリティの潜在的な不正確さを訂正することができる。このキラリティロック(chirality locking)を用いると、２つの概ね反対のバケットにまたがる一連の軌道セグメントであって、現在のキラリティと反対の方向に沿って中間のバケットへ実質的に逸脱する部分を含む一連の軌道セグメントも、キラリティの反転を合図することになる。実際、キラリティロックされた近似方位を突然変化させる任意の軌道が、キラリティラベル付けの現在の極性を反転させる信号である。つまり、経路１００の実際の方位２０６が現在のキラリティと合致しない方向に進むと、次のキラリティ２０８は最後の合致する値に“ロック（固定）”される。
【００３４】
コンパスに合わせた４つの近似方位（“Ｎ”、“Ｓ”、“Ｅ”および“Ｗ”）を用いた近似方位のキラリティラベル付けの例を図２に示す。例示の軌道は、図面の右端付近において北に向かって開始する。対応する近似方位とキラリティラベルは、図面の上部において、左から右に書かれている。便宜上、本例は４つの基本方向に対して指定された４つのバケットを用いているが、別の実施形態では、任意の方法で並べられ、あるいは記述される任意の数のバケットあるいはカテゴリーを用いてもよい。
【００３５】
図２において、最初の経路セグメントＳ１は、例えば、タッチパッドの右端から開始する垂直スクロールに対応して、反時計回り（あるいは“Ｌ”で示される“左旋性”）である。経路の方向は北から西、南、東、北へと進むので、図面の第１行に示す近似方位はそれとともに進む。方向の急激な反転（北から南）はセグメントＳ１１とＳ１２との間で起こり、上述したように、対応するキラリティ１０２と出力符号を反転させる。優先キラリティは、セグメントＳ１２から時計回り（あるいは、“Ｄ”で示される“右旋性”）となり、近似方位はここから南、西、北、西へと進む。しかし、ロックされた方位２０８はＬ方向へは進まないので、北から西への最後の進行は行われない。北から西への移動は上述したように急激な“反転”ではなく、現在優先されている“Ｄ”キラリティとも合致しないため、このようなロックが生じる。次に、近似方位がセグメントＳ２３においてＳに進むと、ロックされた方位２０８（依然としてＮである）は２０８Ｗにおいて完全に反転し、その結果、キラリティ１０２が変化し、出力変数１０４の符号が反転する。要約すると、近似方位２０６が、概ね反対の２つのバケット間において、中間のバケットへ実質的に逸脱することなく（例えば、北から南に）進行することは、急激な軌道の反転を適切に示し、一方で、反対のバケット間におけるロックされた方位２０８の進行は、漸進的な軌道の反転と、対応するキラリティ１０２の変化を適切に示す。
【００３６】
四象限キラル検出(four quadrant chiral sensing)
【００３７】
上述した、例示の４つの近似方向キラリティ検出法に関するフローチャートを図３に示す。この方法（“キラル検出（ＣｈｉｒａｌＳｅｎｓｅ）”）は、位置センサーなどから取得された最後の運動レポート以後にｘ方向及びｙ方向に移動した距離をその入力とみなす。現在の近似方位に依存して、方位バケットの方向における移動成分が検査される。この成分が現在の近似方位に対して十分に反対の方向である場合は、現在のキラリティと方位バケットが反転させられる。そうでない場合、移動方向が、現在の近似方位よりも、キラリティ方向において隣接する近似方位に十分に近い場合は、近似方位を前進させることが可能である。比較の程度によって、近似方位を反転させるか、あるいは現在のキラリティの方向に前進させることができる点に留意されたい。現在のキラリティと反対方向へ進むことは許されない。図３に示す様々な処理パラメータ（例えば、“Ｑ”、“Ｔ”）を以下の表１および２においてより詳細に説明する。
【００３８】
図３のキラリティ検出関数と互換性を有する例示的な“反転（Ｒｅｖｅｒｓｅ）”関数を図４に示す。この反転関数は現在のキラリティと近似方位とを適宜反転させる。まず、キラリティ状態変数ｃの符号を反転する。次に、現在の近似方位を含む状態変数ｈを現在の方向とは反対の移動方向に更新する。
【００３９】
同様に図５は、図３に示すキラリティ検出関数と互換性を有する例示的な“進行（Ｐｒｏｇｒｅｓｓ）”関数を示す。図５の進行関数は、現在の近似方位を現在のキラリティの方向に前進させる。まず、現在の方位バケットを用いて、それに隣接するバケットのどちらか一方を選択する。次に、現在のキラリティを用いて、優先されている進行方向を向いた隣接バケットを選択する。
【００４０】
図３から図５は位置センサーなどから取得した運動レポートから導き出された情報に基づいて現在のキラリティを判断する１つの例示的技術を示す。しかし、同様の概念を実装するために、様々な等価の実施形態は多種多様なルーチンを用いてよい。
【００４１】
出力変数の累算
【００４２】
キラルマップされた出力変数によって展開される空間は非常に大きいので、それを生成するために用いる機構は、広いダイナミックレンジをカバーすることが望ましい。標準的な２次元ポインティングデバイスは既に広いダイナミックレンジを有しているので、入力移動距離から出力変数の大きさを導き出すことが望ましい。これを実現するための１つの簡単な方法として、入力運動レポートの大きさを合計して出力累算値を得ることが挙げられる。ここで使用される特定の大きさ関数(magnitude function)が必須というわけではない。ユークリッド測度および直線測度は同様の結果をもたらす。
【００４３】
単純な距離測度を改善する１つの方式は、キラル符号管理に用いた既知の近似方位を利用する。基本的な考え方は、累算される距離が、現在の近似方位の方向に移動した距離に偏向されるべきというものである。これを実現するための簡単な方法は、現在の近似方位と現在の入力経路セグメントとのドット積を累算することである。
【００４４】
ドット積は、標準的な距離関数を２通りの方法で改善する。まず、キラリティが一時的にユーザの意図からずれた場合、ドット積を累算することは、ずれの間、出力変数の大きさを最小限に抑えるために役立つ。例えば、図２のセグメントＳ２１−２３は、概ね西向きの移動２０６に対応する。しかし、前の移動で右旋性のキラリティロック２０８が生じているので、概ね西向きに移動する傾向にあっても、近似方位が北を越えて進行することは妨げられる。北向きの近似方位ベクトルは、概ね西向きの経路セグメントと比較的小さなドット積を作り出すので、方向が北から南へ変化するまでの間隔における累算出力が最小限に抑えられる。好都合なことに、この間隔は通常、ユーザの意図が曖昧な期間と一致する。
【００４５】
ドット積の第２の利点は、タッチパッドなどの比較的ノイズが多い入力デバイスに当てはまる。ユーザがしばらくの間、単一の位置にとどまる場合、２次元入力デルタは、単純に環境性外乱や測定装置の欠陥に起因して、ゼロの付近で変動する可能性がある。ドット積は符号の付いた量であることから、入力ノイズに起因する偏位は、それらが出力累算値に加算されるときに、相殺される傾向にある。
【００４６】
図６は、近似方位ドット積を累算するために適した１つの技術のフローチャートを示す。近似方位は軸の周りに配列されるように定義することができるので、適切な入力成分を単に選択するだけでドット積を形成できる。現在の近似方位は、使用すべき入力成分及び符号を選択するために使用される。累算の間、基本利得係数Ｇを適用することもできる。累算された値の符号が現在のキラリティと累算された入力成分の符号の両方に依存する点に留意されたい。
【００４７】
整数出力単位の抽出（integral output unit extraction）
【００４８】
多くの入力デバイスにとって、分解可能な最小の入力移動が一単位の出力動作を生成するとすれば、出力速度は実際の運用において有用な速度よりもずっと大きくなるだろう。このようなデバイスのためには、一つの整数単位が利用可能となるような時間まで分数出力単位(fractional output unit)を累算することが有用である。整数単位は、それが利用可能になると、スクロールの末端へ供給するために出力累算値から抽出され、残余の分数は保持される。
【００４９】
図７は、分数累算値から整数単位を抽出するために適した１つの技術に関するフローチャートを示す。累算値が含む整数単位の数を判定するために、累算値の符号が検査される。正の場合は、累算値を分数の分母で割った値の床関数（floor）が抽出される。負の場合は、商の天井関数（ceiling）が抽出される。抽出された部分に除数を乗じたものを累算値から減じて、分数の剰余が残る。別の実施形態では、累算値から１次元信号を抽出するために別の技術を用いてよい。
【００５０】
非線形出力の弾道学
【００５１】
変数のダイナミックレンジを拡大する１つの技術は、非線形拡大である。非線形マッピング関数は、ある範囲の入力値を、より大きな範囲の出力値にマップする。図８は、整数入力とともに用いるために設計された指数関数的非線形マッピング関数を示す。入力がゼロの場合、出力はゼロである。それ以外の場合、出力は、入力の符号に、ある基数（底）の（入力の絶対値−１）乗を乗じたものとなる。非線形拡大関数は、ユーザ入力要素の運動に関連付けられた変数に適用される場合、弾道関数と呼ばれることがある。この特定の弾道関数は潜在的に非常に拡大力が高いので、極めて大きな出力空間をナビゲートしなければならない場合に用いることができる。弾道関数は、実装ごとに非常に大きく異なる可能性があるが、すべての実施形態で必要になる訳ではない。
【００５２】
キラルスクロールの例示的な実施形態
【００５３】
図９は、ラップトップコンピュータタッチパッドあるいはその他のデバイス上の入力運動からスクロールを行うのに適した、１次元出力変数を生成する例示的な方法９００を示す。まず、キラリティ検出関数９０２が、上述した１次元出力１０４によって示されるスクロールの方向を定める。次に、累算関数９０４によって分数出力単位が累算され、その後、抽出関数９０６を用いて整数出力単位が抽出される。最後に、弾道関数９０８が、出力変数のダイナミックレンジを、スクロールに適切なダイナミックレンジに拡大する。
【００５４】
キラリティ検出関数９０２、累算関数９０４、抽出関数９０６、および弾道関数９０８は、上述の図３から図８に説明した技術を用いて実施される。別の実施形態では、関数９０２から９０８のいくつかあるいはすべてを、別のあるいは追加の技術を用いて実施して良い。以下の表には、方法９００の一実施形態で用いられる様々な状態を表すために使用される例示の変数を示す。
【表１】
2012027941.tif 000001
【表２】
2012027941.tif 000002
【００５５】
表１は図９の方法９００の様々なサブ関数によって保持される状態変数をまとめたものである。表２はカリフォルニア州サンノゼのＳＹＮＡＰＴＩＣＳ  ＩＮＣ．から入手可能なＣＰＡＤブランドタッチパッド製品を使用して該方法を用いた場合の様々なフリーパラメータの例示の値を示す。しかし、このようなパラメータは別の実施形態では大きく異なってよい。図９は、単一方向におけるスクロールを言及しているが、実際には、垂直および水平スクロール単位を生成するために同じ方法を用いてよい。次のセクションでは、どの軸をスクロールさせるかを決定するための例示的方法を説明する。
【００５６】
モーダルな意図(modal intent）
【００５７】
同一のハードウェアを概念的に別個の複数のタスクに時間多重化するデバイスは、しばしばモーダルデバイスと呼ばれる。モーダルデバイスに求められる各タスクは、最初に個別の動作モードに入ることで達成される。特定のモードに入るために実行される一組の動作を、モーダルエントリシグネチャ(modal entry signature)と呼ぶ。
【００５８】
モーダルシグネチャを考案するうえでの主要な問題は、デバイスが実行する異なる機能を自然にかつ確実に区別することである。自然なモーダルシグネチャは、特定のモードに入ることからそのモードに関連づけられたタスクを実行することまでを滑らかに融合したものである。確実なモーダルシグネチャは、別のモードにおける通常のアクティビティと決して、あるいはめったに混同しないものである。
【００５９】
いくつかの利用可能な動作モードのうち単一の動作モードがしばしば好まれるので、その好まれる動作には、極めて平凡なモーダルエントリシグネチャを割当てることが多い。つまり、最も一般的に用いられるモードには、通常、ユーザが比較的実施し易いモーダルエントリシグネチャが割当てられる。この好まれる動作モードはホームモードと呼ばれ、そのモーダルエントリシグネチャはホーミング（ホーム帰還）シグネチャと呼ばれる。任意のモーダルエントリシグネチャと同様に、ホーミングシグネチャは、自然かつ確実であることが望まれる。
【００６０】
タッチパッドスクロールのためのモーダルシグネチャ
【００６１】
非常に確実なタッチパッドホーミングシグネチャは、パッドから指あるいはスタイラスを離すことである。キラルスクロール技術と組み合わせると、このシグネチャは特に自然である。パッドに近づく度に、ポインティングがデフォルトの操作となる。スクロールモードに入ると、指がパッドを離れるまでそのモードが適切に続く。
【００６２】
長方形のタッチパッド１０００での使用に適した、例示的な水平および垂直スクロールエントリシグネチャを図１０に示す。この図において、スクロールエントリシグネチャの第１の部分はランディング（接地）ゾーン、すなわちパッドへの初期アプローチ領域である。シグネチャの第２の部分は、移動の初期方向である。第３の部分は、移動の初期速度である。
【００６３】
図１０において、パッドの外周部１００５及びその内側に描かれた隣り合う実線は、例示のランディングゾーン１００２および１００４を表している。矢印のついた実線は、可能性のある初期移動方向を示しており、それらはベクトルとして表される。各ベクトルの矢印の長さは初期速度を示し、矢印の方向は移動方向を示す。図１０に示す実施形態では、いくつかの初期移動方向及び初期移動速度のみがスクロールエントリシグネチャにおいて有効である。スクロールのために有効なベクトルは、ベクトル１００６、１０１０、１０１２、及び１０１６として図１０に示されている。デフォルトのポインティング意図へ戻すベクトルは、ベクトル１００８及び１０１４としてグループ化されている。図１０は１つの実施形態を例示しており、別の実施形態は大幅に異なってよい。
【００６４】
ナチュラルランディングゾーン１００２は、垂直スクロールのために、右端の外周部１００５に近接している。これはこの位置が、コンピュータディスプレイ上のスクロールバーのデフォルト位置に好適にマップされる位置だからである。垂直スクロールを示すための自然な初期動作方向は、ベクトル１００６および１０１０に示すように、右端に平行である。このイベントの組合せはポインティングにはめったに用いられないので、通常、垂直スクロールエントリシグネチャに初期速度の制約を課す必要はない。従って、図１０において、適切に方向づけられた全ての初期動作ベクトル１００６および１０１０は、様々な実施形態において、初期速度に関係なく、許容されるものとしてマークされてよい。同様に、その他のベクトル１００８（例えば、外周１００５から離れるようにポインティングするベクトル）は、許容されないものとしてマークされてもよい。
【００６５】
ナチュラルランディングゾーン１００４は、水平スクロールのために、下端の外周部１００５にあり、自然な初期動作方向はその縁部に平行である。パッドの下縁部に平行な速い動作は、ポインティングの意図に結び付いていることが多いので、確実な水平エントリシグネチャは初期速度の制限を有していてもよい。例えば、図１０では、比較的短く適切に方向づけられたベクトル（例えば、ベクトル１０１２および１０１６）だけがスクロールのために許容される。初期速度がより大きいことを示す、より長いベクトルは、ポインティングに結び付けられる可能性が高く、従って、非許容ベクトル１０１４に含まれる。
【００６６】
タッチパッドモーダルシグネチャの検出
【００６７】
図１１は、絶対モードタッチパッドからの入力ストリームを検査し、モーダルエントリシグネチャを抽出する例示の技術を示す。状態変数の値に応じて、位置レポートがポインティングあるいはスクロールのいずれかのためにディスパッチ（配布）される。スクロール用にディスパッチされたレポートはまず、利用可能な２次元位置情報をスクロールに適した１次元変数に変換するために、図９のようなＳｃｒｏｌｌ（）メソッドに通される。図１１のＰｏｉｎｔ（）メソッド、ＳｃｒｏｌｌＨｏｒｉｚｏｎｔａｌ（）メソッド、及び、ＳｃｒｏｌｌＶｅｒｔｉｃａｌ（）メソッドは、例示的なモーダルディスパッチルーチンを表しており、これらのメソッドは、任意の従来のルーチンを用いてポインティング、水平スクロール、および垂直スクロールをそれぞれ実現するように実装してよい。
【００６８】
図１１の状態変数ｍは、Ｌａｎｄ（）メソッドおよびＤｉｓｃｒｉｍｉｎａｔｅ（）メソッドによって適切に取り扱われる。それらの例を図１２および図１３にそれぞれ示す。Ｌａｎｄ（）は、指が最初にタッチパッドに接近する場所の監視（モニタリング）を担当する。Ｄｉｓｃｒｉｍｉｎａｔｅ（）は、運動の初期方向及び初期速度の検査を受け持つ。ｍは当初、Ｐ状態にある。Ｐ状態は、ポインティングのために入力レポートをディスパッチすることに対応する。
【００６９】
図１２のＬａｎｄ（）メソッドの最初のタスクは、パッド上に指があるかないかを判断することである。タッチパッドによってレポートされたｚ値が、指の存在を示す閾値Ｆを下回る場合、ｍは、すでにＰ状態になければ、Ｐ状態に戻る。パッド上の指が垂直スクロールあるいは水平スクロール用のランディングゾーンのどちらかにある場合、状態変数ｌに格納された前のｚ値が検査され、指到着イベント(finger arrival event)が発生したかどうかが判断される。直前のレポートが指を示さず、現在のレポートが指を示す場合、ｍは暫定スクロール状態Ｔに遷移する。
【００７０】
図１３のＤｉｓｃｒｉｍｉｎａｔｅ（）メソッドは、ｍがＴ状態にある場合にだけ呼び出される。Ｔ状態は、スクロール用のランディングゾーンに初期接近が行われたことを示す。その初期接近されたゾーンに応じて、そのゾーンでの初期速度がそのゾーンと整列しているかが分析される。これは、そのゾーンに平行な速度成分をそのゾーンに垂直な成分と比較することで実現される。平行成分の大きさが、垂直成分に整列係数Ａを乗算したものよりも大きい場合、初期速度はそのゾーンに十分に平行であると判断される。この比較に用いられる垂直成分には、パッドの中心部よりもパッドの外周部により向かっている任意の初期運動がそのゾーンに十分に平行であると判断されるように符号が付けられる。
【００７１】
初期接近が垂直スクロールゾーンに向かってなされ、その垂直スクロールゾーンでの初期速度がそのゾーンに十分に平行であると判断されると、ｍは直接、垂直スクロール状態Ｖに遷移する。しかし、水平スクロールシグネチャを検出するためには、まず初期速度が最大速度Ｓと比較される。この比較が成功した場合に、ｍは水平スクロール状態Ｈへ遷移する。スクロール許容テストのいずれかに失敗した場合は、ｍはＰに戻る。
【表３】
2012027941.tif 000003
【００７２】
モーダルシグネチャ検出関数によって保持される状態変数を表３にまとめる。表４は、上述したＣＰＡＤブランドのデバイスとともにシグネチャを用いる場合の様々なフリーパラメータの例示的な値を示す。しかし、別の実装では異なる値を用いてよい。表４に示される指閾値は、絶対モードの場合にＣＰＡＤデバイスによってレポートされる任意の単位を有する。ランディングゾーンの基準も、デバイスによってレポートされる任意の単位を有する。速度は任意のタッチパッド単位／秒で示される。
【表４】
2012027941.tif 000004
【００７３】
上記に説明した概念と技術とを用いると、位置センサあるいはその他のデバイスから取得した２次元入力を、スクロールあるいはその他のユーザインターフェース機能を導くことに適した、有意の１次元信号に変換することができる。前述の詳細な説明で、少なくとも１つの実施形態を示したが、多数の様々な実施形態があってよいことは明らかである。更に、例示の実施形態は単なる例であり、どのような方法でも本発明の範囲、利用可能性、あるいは構造を限定するものではないことは明らかであろう。むしろ、前述の詳細な説明は当業者たちに、例示的実施形態を実装するための便利なロードマップを提供する。機能や要素の配置に関して、添付の請求項に説明した発明の範囲、およびそれらの法的な等価性から逸れることなく様々な変化がなされることが理解される。
【符号の説明】
【００７４】
１００…キラル経路、Ｓ１〜２４…入力セグメント、１０２…キラリティラベル、１０２Ａ〜Ｘ…入力セグメントのキラリティ、１０４…出力グラフ、１０４Ａ〜Ｘ…出力変数。
【誤訳訂正２】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
一組の２次元入力を、コンピューティングシステムのための一組の１次元入力に変換する方法であって、
前記一組の２次元入力の現在のキラリティを、前記２次元入力の近似２次元方位に基づいて決定するステップであって、前記現在のキラリティは、前記一組の２次元入力が、主に時計回りの軌道を示す場合は、第１の向きを有し、前記一組の２次元入力が、主に反時計回りの軌道を示す場合は、第２の向きを有する、ステップと、
前記２次元入力同士の間に移動した距離を１次元変数として累算するステップであって、前記１次元変数は、前記２次元入力同士の間の前記距離の関数である大きさと、前記現在のキラリティに基づく符号とを有する、ステップと、
累算された前記１次元変数が閾値を超えると、前記累算された１次元変数の一部を抽出して、前記コンピューティングシステムのための前記一組の１次元入力の少なくとも１つを提供するステップと、
を含む方法。
【請求項２】
前記累算するステップは、前記現在のキラリティの方向に移動した距離に前記累算を偏向させるステップを含む、請求項１記載の方法。
【請求項３】
前記偏向させるステップは、前記２次元入力の現在の近似２次元方位と現在の入力経路セグメントの方位とのドット積を累算するステップを含む、請求項２記載の方法。
【請求項４】
前記累算するステップは、分数移動量を累算するステップを含んでおり、前記抽出するステップは、累算された前記分数移動量が閾値を超えたときに、前記累算された１次元変数の整数量を抽出するステップを含んでいる、請求項１記載の方法。
【請求項５】
２次元入力経路に応答して、コンピューティングシステムのための一組の１次元入力を提供するデバイスであって、
一組の２次元入力を提供するように構成されたタッチセンサーであって、前記２次元入力の各々は、方位と方向とを有する、前記２次元入力経路のセグメントに対応している、タッチセンサーと、
前記一組の２次元入力を受け取り、前記一組の２次元入力の現在のキラリティを、前記２次元入力の近似２次元方位に基づいて決定し、前記２次元入力同士の間に移動した距離を、前記２次元入力同士の間の前記距離の関数である大きさと、前記現在のキラリティに基づく符号とを有する１次元変数として累算し、累算された前記１次元変数が閾値を超えると、前記累算された１次元変数の一部を抽出して、前記コンピューティングシステムのための前記一組の１次元入力の少なくとも１つを提供するように構成されたプロセッサと
を含む、デバイス。
【請求項６】
前記プロセッサは、前記２次元入力経路の軌道が実質的に変化しない場合に現在のキラリティの向きを維持し、前記２次元入力経路の軌道が実質的に反転する場合に現在のキラリティの向きを反転させることで現在のキラリティを決定するように構成されている、請求項５記載のデバイス。
【請求項７】
前記プロセッサは、前記２次元入力経路の現在の軌道が複数の方向のうちの一つに実質的に沿っているものと分類することによって現在のキラリティを決定するように構成されている、請求項５記載のデバイス。
【請求項８】
前記プロセッサは、分数移動量を累算し、累算された前記分数移動量が閾値を超えたときに、前記累算された１次元変数から整数移動量を抽出するように更に構成されている、請求項５記載のデバイス。
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】全図
【訂正方法】変更
【訂正の内容】
【図１】
2012027941.tif 000005
【図２】
2012027941.tif 000006
【図３】
2012027941.tif 000007
【図４】
2012027941.tif 000008
【図５】
2012027941.tif 000009
【図６】
2012027941.tif 000010
【図７】
2012027941.tif 000011
【図８】
2012027941.tif 000012
【図９】
2012027941.tif 000013
【図１０】
2012027941.tif 000014
【図１１】
2012027941.tif 000015
【図１２】
2012027941.tif 000016
【図１３】
2012027941.tif 000017