【誤訳訂正書】
【提出日】平成24年8月7日(2012.8.7)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】２次元ポインティングデバイスで１次元信号を生成する方法及び装置
【関連出願の表示】
【０００１】
本願は２００４年１月２９日に出願された米国特許出願第６０／５４０，５３４号の利益を主張する。
【技術分野】
【０００２】
本発明は、一般に、コンピュータマウスなどの２次元ポインティングデバイスを用いてスクロール信号などの１次元ＧＵＩ入力を生成することに関する。
【背景技術】
【０００３】
グラフィカルユーザインターフェース、つまりＧＵＩは、パーソナルコンピュータとのヒューマンインタラクションを行うための標準的な手段となっている。典型的なＧＵＩは、グラフィック要素を表示するための画面と、そのような要素とインタラクション（相互作用）を行うためのポインティングデバイスとを含む。ポインティングデバイスの主要な機能は、カーソルなどの注目インジケータ（indicator of attention）を所望のＧＵＩ要素の上に動かすことにより、同時に表示されている複数のＧＵＩ要素の中から選択を行うことである。ポインティングデバイスの副次的な機能は、注目ポイントを得たＧＵＩ要素とのインタラクションを行うためのボタンまたは他の制御機器を保持することである。例えば、ＧＵＩ“ボタン”は、従来から、表示画面上に見える模写されたボタン上にカーソルを動かし、ポインティングデバイスに付随する物理ボタンを押すことにより、“押さ”れる。
【０００４】
最も重要なＧＵＩタスクの１つに、電子文書の空間ナビゲーションがある。この空間ナビゲーションは、従来、文書（ドキュメント）の周辺部に沿って、スクロールバーとのインタラクションを行うことによって実行されている。図１は、スクロールバーと関連付けられた標準的なテキスト文書ウィンドウを示す。ウィンドウの右側には垂直スクロールバーが、ウィンドウの下部には水平スクロールバーが示されている。図１の例では、スクロールせずに文書全体の幅を見ることができるほどウィンドウの幅が広く、そのため、水平スクロールバーは非アクティブの状態である。図示されている垂直スクロールバーは、行上げアローと行下げアローをその端部に有し、その内側にはページ上げ領域とページ下げ領域を有し、また、これらのページ送り領域の間にスクロールサムを有する。通常、スクロールサムの位置は、全体のうち見えている文書部分を表す。通常、スクロールサムの大きさは、現在見えている文書の割合を表す。
【０００５】
関連するスクロールバーアロー上で左ポインティングデバイスボタンをクリックすると、見ている文書が上か下に１行（１ライン）分スクロールされる。適切なページ送り領域をクリックすると、文書が上か下に１ページ分スクロールされる。サム上で左ボタンを押したまま保持することによりスクロールサムを把持すれば、その後のポインティングデバイスの移動によってサムを直接動かすことが可能になる。１ピクセル分のサムの移動は、文書の長さに応じて変化する量だけ文章をスクロールする。この変化量は、ちょうどスクロールサムがその運動の限界に到達したときに、関連する文書の末端にスムーズに到達するようにするものである。したがって、短い文書に対しては、１ピクセルのサム移動が１ピクセルの文書スクロールに相当してよいし、また、長い文書に対しては、１ピクセルのサム移動が複数の文書ページに相当してよい。本段落で説明した特徴は典型的なものであるが、このような特徴はアプリケーションによって違ってもよい。
【０００６】
スクロールバーについて幅広く認識されている問題の１つは、ナビゲーションタスクと他のＧＵＩタスクとの切り替えを行うために、注目ポイントが文書からその周辺部へ移動し、再び戻らなければならないことである。このため、ポインティングデバイスを備えるハードウェアから直接的にスクロールを行うための幾つかの機構が最近利用可能になっている。このような傾向の一部として、ポインティングデバイス由来のスクロール情報をアプリケーションが利用できるようにするための標準化された方法が生まれている。更に、より最近のＰＣアプリケーションの多くは、スクロール以外の１次元タスク用にこれらの信号を利用している。
【０００７】
これら生来（ネイティブ）の１次元ナビゲーション装置のうち最も幅広く用いられているものはマウスホイールである。通常、ホイールは左右のマウスボタンの間に位置し、垂直スクロールを行うために最適化される。また、最近の多くのシステムは、ホイールが回転すると、初期設定により垂直スクロール操作を行う。拡張モーダル情報を提供することで、ホイールを別の１次元ナビゲーション機能に使用してもよい。例えば、人気の高い表計算プログラムは、キーボードのＣｔｒｌキーを押しながらホイールを上あるいは下に回転させると、ズームイン（拡大）あるいはズームアウト（縮小）を行い、それにより、それぞれ、シートのより小さな部分をより高い詳細度で見られるようにし、あるいは、シートのより大きな部分をより低い詳細度で見られるようにする。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
スクロールホイールが市場で成功したことによって、１次元ＧＵＩタスクを直接的に実行できる能力がマウスの望ましい特徴であることが示された。しかし、スクロールホイールにも幾つかの問題点があり、そのような問題点のために、スクロールホイールが汎用の１次元ＧＵＩ入力に最適とは言えなくなっている。第１に、ホイールによって対応可能な速度範囲は非常に小さい。ホイールは人差し指での操作向けに配置されており、比較的少ない量しかホイールを所定の方向に回転させることができず、その後は、人指し指をホイールから離し、置き直して更に動かさなければならない。更に、ホイールの回転は、通常、デテント（ｄｅｔｅｎｔ、戻り止め）付きであり、指を置き直すたびに通過できるデテントは数個でしかない。デテントは、通常、比較的遅い速度でしか通過することができないので、最大入力速度が比較的低いか、あるいは、最小タスク増分が比較的大きいかのいずれかである。
【０００９】
より重要なホイールの限界は、ホイールを回転させることと拡張モーダル情報を提供することの両方を同じ手で行うことが一般に困難なことである。このため、異なる１次元タスク間でホイールのモード切り替えが困難になっている。例えば、既に説明した表計算シートのズーム機能では、拡張モーダル情報をキーボードを用いて提供するために、空いているほうの手を使うことが求められる。おそらく最も重要なマウスホイールの問題点は、マウスホイールが他の最新の光学式マウスよりも機械的により複雑であることである。機械的に複雑なために製造原価が高くなり、また、この複雑さがその後の展開を失敗させる大きな要因となっている。
【００１０】
要約すると、マウスホイールは、本質的に、直接１次元ＧＵＩ入力の基本的な問題をその場しのぎに解決するものであって、多くの問題点を有する。ホイールは比較的高額であり、信頼性に欠ける。ホイールは最も器用な手の指を固定し、入力のモード切替えを困難にする。更に、その低いダイナミックレンジは、通常、スクロール以外の１次元タスクに関するホイールの有用性を制限する付加的な動作モードによって補償されなければならない。
【００１１】
従って、２次元のマウス移動を１次元のＧＵＩ変数に変換するための一般的な方法が求められている。マウスの本来的に大きなダイナミックレンジを最も効果的に利用するためには、このような次元縮小技術は、ニュアンスや制御を最大限に高めるとともに、精神的疲労を最小限に抑えるよう、実質的にゼロ次（後述する）であるとよい。この技術は、同じモーダル呼出し内における正と負両方の値の生成を考慮に入れるとよい。この技術は、予期される最小及び最大の移動の双方に、マウスを持ち上げることなく、容易かつ効果的に対応できるように、非常に広いダイナミックレンジを提供するとよい。この技術は、２次元入力空間の中心位置近くに残りつつ１次元タスク空間で任意の距離を移動するための高い自由度があるべきという点で、自己センタリングするとよい。更に、その他の望ましい特徴および特性は、添付の図面と本発明の背景を併せて、以下の詳細な説明および添付の請求の範囲から明らかであろう。
【課題を解決するための手段】
【００１２】
本発明の様々な実施形態は、２次元のマウス移動から１次元のＧＵＩ信号を生成する方法を含む。本方法は、２次元タスク及び１次元タスクの双方に対してマウスの使用を可能にするモーダルなものとすることができる。１つの１次元モード呼出しでは、いずれかの極性を有する限界のない信号を、有限の２次元領域内に残りながら、ポインティング面を離れることなく、生成することができる。生成された１次元信号の大きさは、マウスが移動した２次元距離にほぼ比例する。
【００１３】
１次元モードに入ると、移動の初期方向から初期極性が設定される。特定の方向に十分な回転が生じたときは、初期極性がその回転方向に関連付けられる。極性は、方向を急激に反転することにより、あるいは、極性が回転方向に関連付けられた後は、極性に関連付けられた方向から反対の方向に十分に回転することにより、反転してもよい。極性の反転が起きるたびに、反転した極性と回転方向との関連付けが解消される。反転後に十分な回転が起きると、新しい関連付けが生じる。
【００１４】
本文中に説明している方法およびシステムはマウスと共に使用するために設計されたものであるが、そのような方法およびシステムは、以下で更に詳細を説明する相対運動入力を生成できる任意のポインティングデバイスと共に用いてもよい。通常のポインティングデバイスコントローラでの組込み使用に適した様々な実施形態の方法が開示されている。
【００１５】
本発明を以下の図面と併せて説明する。同じ参照符号は同様の要素を示す。
【図面の簡単な説明】
【００１６】
【図１】アクティブ状態の垂直スクロールバーと非アクティブ状態の水平スクロールバーを備えた従来のＧＵＩウィンドウを示す。
【図２】例示的な入力経路とその次元縮小出力変数を示す。
【図３】初期移動方向からの例示的な初期符号割当てを示す。
【図４】例示的な固定キラリティ関連付けを示す。
【図５】例示的なレイジー（怠惰な）キラリティ関連付けを示す。
【図６】キラリティ関連付けが連続した回転をどのように必要とするかの一例を示す。
【図７】例示的な相対運動対掌性マッピングを示す。
【図８】関連する方向パラメータの効率的な計算に資する８つの例示的な近似方位、つまりオクタントを示す。
【図９】運動レポートを最も良く近似するオクタント方位を確立するための例示的フローチャートを示す。
【図１０】運動ベクトルとオクタント方位から１次元出力変数のインクリメンタル（増分）変化を確立するための例示的フローチャートを示す。
【図１１】オクタント方位から正規化した運動ベクトルを生成するための例示的フローチャートを示す。
【図１２】所与のオクタント方位と回転量から、関連するオクタント方位を見つけるための例示的フローチャートを示す。
【図１３】１つのオクタント方位から別のオクタント方位へ移動するために必要な回転量を求めるための例示的フローチャートを示す。
【図１４】フィルタリングされた有効な移動方向を取得するために、運動レポートを局所的に積分するための例示的フローチャートを示す。
【図１５】反転に必要な量よりは少ないが１オクタントより大きい方向変化を、１オクタントちょうどに緩和するための例示的フローチャートを示す。
【図１６】３つの近似方位に整合性があるかどうかを判断するための例示的フローチャートを示す。
【図１７】オクタント方位を変えるかどうかを決定するアクティビティ統計値を累積するための例示的フローチャートを示す。
【図１８】１次元極性をキラリティと関連付けるための例示的フローチャートを示す。
【図１９】オクタント方位の変化量を決定するための例示的フローチャートを示す。
【図２０】縮小状態変数を初期設定するための例示的フローチャートを示す。
【図２１】運動レポートと現在の符号から１次元出力変数を増加させるための例示的フローチャートを示す。
【図２２】ＧＵＩサブシステムに供給するための１次元出力変数の整数部分を抽出するための例示的フローチャートを示す。
【図２３】一連の運動レポートから初期符号を検出するための例示的フローチャートを示す。
【図２４】一連の２次元運動レポートを一連の１次元ＧＵＩ変数レポートに縮小するための例示的な全体フローチャートを示す。
【図２５】マウスレポートのストリームを監視し、２次元ＧＵＩタスクと１次元ＧＵＩタスクをモーダルに切り替えるための例示的な全体フローチャートを示す。
【図２６】初期符号を検出するために用いる例示的な状態変数の進行を示す。
【図２７】例示的な直線誘起符号反転から生じる状態変数の進行を示す。
【図２８】例示的な回転誘起符号反転から生じる状態変数の進行を示す。
【図２９】適応済み直線誘起符号反転から生じる例示的な状態変数の進行を示す。
【発明を実施するための形態】
【００１７】
様々な実施形態によれば、マウスあるいはその他の入力デバイスからの２次元入力を１次元の信号に変換するための新たな技術により、従来技術の様々な欠点を持たないスクロールあるいはその他のユーザインターフェースナビゲーションタスクが可能になる。そのような技術の１つでは、入力デバイスの２次元移動に応じた極性と大きさとを有する１次元信号を生成する動作モードに入力デバイスを設定する。ユーザが入力デバイスを動かすにつれ、その運動に対応した２次元信号が処理されて、その運動に関連する距離値が取得される。この距離値は、得られる１次元信号の大きさを決定するために用いられる。更なる実施形態では、１次元信号の極性が２次元移動方向から決定される。その結果、上述した欠点の多くを克服する、ダイナミックレンジの広い低次技術が提供される。本書で説明する様々な技術及びシステムは多様な環境で応用することができ、また、ハードウェアおよび／またはソフトウェアの任意の組み合わせを用いて任意の方法で実装してもよい。更に、本書で説明する信号及びデータ処理技術は、任意のソフトウェア言語あるいは環境で実装してよい。そのようなソフトウェアは、例えばマウスあるいはその他の入力デバイス内に存在してよく、あるいは、ポインティングデバイスと通信するホストコンピュータ内のメモリあるいはその他のデータ記憶装置に、あるいは、その他の任意のデバイスあるいは場所に存在してよい。
【００１８】
本書で説明する概念は、マウス、トラックボール、ジョイスティック、慣性感知装置、ビデオゲームコントローラなどを含む多様な入力デバイスとともに実装してよい。特に、以下に説明する技術は、マウスやジョイスティックなどのいわゆる“相対運動型”（relamotive）デバイスに適している。相対運動型の使用は、マッピングの判定が、絶対位置や力などに関する情報ではなく、距離および方向の情報に基づくことを意味する。したがって、マウス、ジョイスティックなどの相対運動型ポインティングデバイスは、デバイスあるいはデバイスの部品の絶対位置ではなく（あるいは、それらの絶対位置に加えて）、デバイスあるいはデバイスの部品の移動を報告（レポート）する。そのようなデバイスが、ある特定方向において運動の限界（例えば、マウスパッドやマウス用の他の作業面の縁）まで動かされると、相対運動型デバイスは、通常、その作業面から離され、その方向で更に運動が生じる前に、その運動限界から離れた位置に置き直される。このような再センタリング操作を回避しようとすれば、従来は、１回の移動で運動限界にめったに近づかないようにしなければならない。相対移動型デバイスのこのような点を克服するため、本書で説明する様々な技術は、デバイスの２次元移動に応答した拡張スクロール（あるいはその他の１次元移動）を可能にする。
【００１９】
用語
【００２０】
１次元入力を改良する様々な方法に目を向ける前に、ＧＵＩ入力に一般的に適用可能な幾つかの用語を拡張することが有益である。２次元入力あるいはポインティングは、より成熟した分野なので、これを用いてこの拡張を説明することにする。
【００２１】
ダイナミックレンジ
【００２２】
ＧＵＩタスクのダイナミックレンジとは、その最大予想タスクレートをその最小予想タスクレートで割ったものである。ポインティングの標準ＧＵＩタスクでは、最大レートは、カーソルを投げるように動かして高解像度の画面を横切らせたときに発生する。最近の画面の幅は２０００ピクセル以上であり、通常、ユーザは数分の一秒で画面全体を横断することを望むため、通常は毎秒２０００ピクセル以上のタスクレートが使用される。一方で、表示画面がどんなに大きくても、通常は、ウィンドウサイズ変更用ボーダー（window sizing border）などの小構造（スモールフィーチャ）を依然として捕捉しなければならない。ＧＵＩタスクが扱わなければならない最小の構造サイズはその解像度であり、また、ポインティングタスクに関しては、必要な解像度は、通常、１ピクセルである。１ピクセルを処理するのにかかる時間は当然ながら任意の長さであってよく、その結果、任意に低い最小ポインティングレートが得られる。しかし、ユーザは通常、１秒以上をＧＵＩタスクの微調整部分に費やさない。したがって、タスクのダイナミックレンジは、タスクの解像度が１秒程度の時間でアクセス可能であると想定することにより、正規化することができる。
【００２３】
タスクの解像度をＲ、その最小タスクレートをＲＬ、その最大タスクレートをＲＨと定義すると、タスクのダイナミックレンジ式は以下のように簡素化できる。
【数１】
2012027942.tif 000001
【００２４】
ポインティングに関しては、これは、以下の所要ポインティングダイナミックレンジ
【数２】
2012027942.tif 000002
となる。
【００２５】
特定のＧＵＩタスクを入力デバイスが効率的に実行するためには、デバイスのダイナミックレンジは、タスクのダイナミックレンジと適切に合致しているべきである。タスクの用語と類似する用語を使用すると、入力デバイスのダイナミックレンジは、その最大デバイスレートをその最小デバイスレートで割ったものと定義される。１秒が最小のデバイス時間であると再び想定することによって正規化すれば、デバイスのダイナミックレンジは、１秒でレポート可能な最小分解入力単位の総数に相当する。
【００２６】
マウスに関しては、最大デバイスレートは、１回のレポートで運ぶことの可能な最大の運動量に、１秒で作り出されるレポート数を乗ずることによって求められる。最小に分解したマウス移動の伝統的な名前は“ミッキー”であり、最新のＵＳＢマウスは毎秒約１２０回までのレポートレートにおいて、最大で１２８ミッキーの運動をレポートできる。したがって、マウスの生のダイナミックレンジは以下のようになる。
【数３】
2012027942.tif 000003
【００２７】
これはポインティングタスクには十分対応できるが、残念なことに別の要因がマウスのダイナミックレンジを制限する。
【００２８】
マウスなどの相対運動型ポインティングデバイスは、絶対位置ではなく、あるいは、絶対位置に加えて、移動を報告（レポート）する。ある特定の方向における運動の限界まで移動すると、その方向で更なる運動をレポートするためには、通常、デバイスをその作業面から離し、その限界から離れた場所に置き直さなければならない。このような再センタリング操作を回避するには、一般に、１回の移動でめったに運動限界に近づかないことが求められる。再センタリングの必要性を最小限に抑える経験則は、ポインティングデバイスのどのような１回の移動もその作業空間の実質的に５０％未満に制限することである。
【００２９】
例えば、快適なマウス作業空間は通常、直径が約４〜５インチである。この１回の移動についての経験則に従えば、最大予想移動量は約２インチである。１インチの４００分の１である通常のミッキー解像度と、１ミッキーのマウス運動で１ピクセルのディスプレイ移動を生成するユニティゲインシステムとを想定すると、通常のマウスは２インチでカーソルを４００×２＝８００ピクセル動かすことができる。従って、空間制限されたマウスダイナミックレンジは、本例においては、２０００ピクセル幅のディスプレイとともに使用する場合に求められるダイナミックレンジの半分未満であり、また、生ダイナミックレンジの１０分の１未満である。
【００３０】
入力デバイスは、デバイス空間内で直線移動を行う場合にだけ空間の制約を受ける点に留意するのは有益である。閉路を進む移動は必ずしも空間の制限を受けるわけではない。例えば、直径５インチの円でマウスを動かし続けることにより、マウス速度をその生ダイナミックレンジである毎秒１０，０００ミッキーとほぼ同等に維持することができる。
【００３１】
弾道学(ballistics)
【００３２】
利用可能なデバイスと必要なタスクダイナミックレンジとの溝（deficit）を埋めるための１つの手法は、デバイス変数からタスク変数を形成する際に非線形処理関数を介入させることである。ポインティングデバイス業界用語では、このような処理関数は“弾道関数”(ballistics functions)と称される。この名前は、発射体の弾道が重力や風といった環境要因によって影響を受けるのと同じように、外力により影響を受ける入力デバイスを連想させる。しかし、コンピュータ入力の分野では、登場する“外”力は、人為的に介入させた弾道関数である。
【００３３】
最も単純なＧＵＩ入力システムでは、タスク変数は、ユニティゲインを適用することにより、デバイス変数から取得される。
【数４】
2012027942.tif 000004
【００３４】
つまり、デバイス変数は本質的にＧＵＩタスク変数に等しい。例えば、ユニティゲインポインティングシステムは常に、レポートされた１ミッキーのデバイス運動ごとにカーソルを１ピクセル動かす。弾道関数の目的は、より小さなゲインを比較的小さなデバイス入力に適用し、より大きなゲインを比較的大きなデバイス入力に適用することで、タスクのダイナミックレンジを広げることである。これを数式化すると以下のようになる。
【数５】
2012027942.tif 000005
【００３５】
各時間ステップにおいて、ＧＵＩ変数は、通常、デバイス変数依存ゲインを適用することにより、デバイス変数から形成される。例えば、マウスに使用するための最も初期の弾道関数の１つは、４より大きなデバイスレポートのサイズを２倍にし、かつ、１０より大きなレポートを更に２倍にすることを含んでいた。Ｃ三項演算子シンタックスを用いると、より正式な記述は以下のようになる。
【数６】
2012027942.tif 000006
【００３６】
この方式は、レポートすべき運動が１ミッキー未満でない限りマウスが一定のレートでその運動をレポートするので成立する。レポートすべき運動が１ミッキー未満の場合は何もレポートされず、潜在的な分数ミッキーが、次のレポート時点で後続の運動と組み合わせるために保持される。したがって、マウスの移動が遅い間は、マウスは何もレポートしないか、１ミッキーをレポートする。運動の速度が上がると、フルレポートレートに達するまで、１ミッキーレポートの頻度が増加する。フルレポートレートを超えると、１レポートあたりのミッキー数が増加する。通常のマウスのレポートレートは毎秒１２０レポートであるので、レポートが１ミッキーより多くを含む場合、マウスは比較的速く移動し、１レポートあたり５ミッキーの場合は、毎秒６００ミッキーで移動する。
【００３７】
いずれにせよ５ミッキーのレポートは比較的速いマウス移動を示すので、ユーザにはカーソルがより速く動いているとしか気づかせずに、ピクセル空間内で距離を倍にすることができる。最終的な結果は、速度が急速に上昇してから下降する短い移動によって、カーソルにスクリーンをより速く横断させることができることである。カーソルがターゲットに近づいたら、余分なゲインがもはや適用されないように移動が遅くなり、再び完全単一ピクセル制御を行う。
【００３８】
弾道関数はデバイスのダイナミックレンジを拡大するために用いることができるが、レンジが増加すると制御性が低下する。幸いにして、この制御性の低下は、通常、高速度時に発生し、その速度によって実質的に制御性の低下が隠される。しかし、ユーザが認識したものと実際の制御レベルの双方に実質的な影響を与えずに、弾道関数によって拡大できるダイナミックレンジの程度にも限界がある。一般的なＧＵＩタスクの経験則上の限界は、生来（ネイティブ）のデバイスダイナミックレンジの約１０倍の拡大である。
【００３９】
高次動作(higher order operation)
【００４０】
既に説明したように、マウスのダイナミックレンジを制限する主な要因は、作業領域のサイズである。弾道関数によりデバイスのダイナミックレンジを拡大できることが示されたが、それは幾分か制御性を犠牲にしたものである。多くの入力デバイスに一般的に適用される原則は、制御可能な入力デバイスのダイナミックレンジがその作業領域サイズにほぼ比例するということである。
【００４１】
デバイスのサイズが特に制限されている状況では、高次動作と呼ばれる更に別の処理技術により、タスクの制御性がサイズに対して更にトレードオフする可能性がある。デバイスの動作次数は、入力（あるいはデバイス変数）の変化が出力（あるいはＧＵＩタスク変数）の変化にどのように伝わるかを決定する。数学的には、この次数は入力／出力の関係を結びつける導関数の数に関連する。出力変数が入力変数に比例する動作モードは、例えば式（４）のように、０次モードである。出力変数の一次導関数が入力変数に比例するモードは、１次モードである。この１次関係は、微分形では以下のように表される。
【数７】
2012027942.tif 000007
【００４２】
また、積分形では以下のようになる。
【数８】
2012027942.tif 000008
【００４３】
１次より高次の動作モードは幾分、実用的でないが、２次モードは二次導関数と結び付くことになり、以降も同様である。
【００４４】
１次動作の背景にある思想は、入力変数の比較的小さな変化が時間とともに累積して、出力変数の比較的大きな変化になることが可能なことである。この思想を相対運動型デバイスのために更に具体化すると、入力変数ｄ（ｔ）およびタスク変数ｇ（ｔ）の双方は、時間間隔ｔ中に移動する距離（移動先の位置ではなく）を示す。相対運動型の動作と入力の時間積分とによって示唆される第２の概念は、入力空間における絶対主義(absolutism)の概念である。ほとんどのデバイスで出力空間内の運動が停止するためには、ｇ（ｔ）がゼロにならなければならず、これは、Ｄ（ｔ）もゼロにならなければならないことを示唆する。Ｄ（ｔ）がゼロになるためには、特定の時間間隔にわたるｄ（ｔ）の積分がゼロでなければならない。これは、ゼロポイント、あるいは入力空間におけるホーム位置の概念を示唆する。入力空間における１つの極性の任意の偏りは、反対の極性の入力空間移動によって相殺されるまで、周期的な出力空間信号を生成し続ける。入力運動が止まっても出力信号が生成され続けることが可能なので、１次モードは“自動”モードと称される場合がある。自動出力信号の生成に使用するタイムベース（時間基準）は通常、入力運動をレポートするために使用するものとは異なり、また、出力信号は通常、入力運動と同時には発生しない。
【００４５】
１次動作モードにも非線形弾道関数を適用してよい。分析と実装をより簡単に行うことが可能になるので、弾道学を入力の時間積分に適用することが従来から行われている。
【数９】
2012027942.tif 000009
【００４６】
弾道学は入力と出力の比例関係を定めることができるが、基本の動作次数は変更しない点に留意されたい。
【００４７】
一般的に１次動作する、最も普及しているポインティングデバイスは、アイソメトリックジョイスティックであり、これは、多くのラップトップコンピュータ上でポインティングのために用いられている、ゴムの付いた突起である。このアイソメトリックジョイスティックは、知覚できるほど動かないので、１次動作する他のデバイスよりもずっと小さくすることができ、例えば、標準のキーボードにおいてわずかに変更が加えられたＧとＨの間に納まるくらいに小さくすることができる。
【００４８】
アイソメトリックジョイスティックが生成する入力変数は、（通常は人指し指によって）加えられた力の大きさである。１次動作は表示カーソル速度をこの力に比例させる。人間の指で快適に印加し、あるいは快適に消散させることの可能な力の範囲は、カーソルの速い動きと１ピクセルの解像度とに対応するには不十分なので、弾道関数がジョイスティックシステムに組み込まれることが多い。実際のシステムでは、このような関数は２０：１を超えるダイナミックレンジ拡大比を有している。
【００４９】
アイソメトリックデバイスを１次動作に特に適したものにするアイソメトリックデバイスの特性は、可動デバイスよりも速く一次積分値を解放できることである。これは、アイソメトリックデバイスの反転には、加える力の反転しか必要ないからである。可動部材では、ある極性のスラック（遊び）を反対の極性の生成が可能になる前に吸収するために、印加された力の反転後に追加の時間が必要となる。アイソメトリックデバイス及び可動デバイスの両者が１次動作させられる場合、アイソメトリックデバイスの積分値解放時間が早いほど、可動デバイスよりも優れた制御性が得られる。
【００５０】
アイソメトリックジョイスティックをポインティングに使用することの主な欠点は、おそらく、１次動作と幅広い弾道関数とが共に、制御性を制限するように働くことである。多くのユーザたちはこれらを効果的に使用できるほどに器用であるが、そうでないユーザもいる。この要因のため、アイソメトリックジョイスティックは、普遍的に受け入れられるポインティングデバイスとしては不適切な可能性がある。
【００５１】
モダリティ(modality)
【００５２】
単一のデバイスを使用して１次元信号および２次元信号の双方を生成するために必要となるもう１つの概念は、モダリティの概念である。この概念もまた、ポインティングとの関連で有効に考察することができる。モーダルな使用では、単一デバイスのデータストリームは、補足的な情報によって２つ以上のＧＵＩタスクに方向付けられる。この拡張されたモーダル情報は多くの場合、デバイスのデータストリームに含まれるが、全く別のソースによって提供されてもよい。特定のモードへのデータのディスパッチを生じさせる特定の情報は、そのモードのためのモーダルインジケータと呼ばれる。拡張モーダル情報がない場合、あるいは、デフォルトのモーダル状態にある場合、デバイスデータはその通常モードあるいはホームモードにディスパッチされる。
【００５３】
例えば、２次元入力データは、ボタンの状態という形態の拡張モーダル情報によって、ＧＵＩポインティングタスクとＧＵＩドラッグタスクとの間でモーダルに切り替えられる。通常、ボタン状態は、ポインティングデータを生成した同じデバイスに関連付けられ、また、そのデータと同時期に運ばれる。マウスでは、ドラッグ用のモーダルインジケータは、通常は左ボタンである第１マウスボタンの下降状態である。マウスのホームモードはポインティングであり、これはその左ボタンの上昇状態によって示される。
【００５４】
拡張モーダル情報は同時に複数のソースからもたらされてよい。例えば、幾つかのＧＵＩは、ドラッグ操作をデータの移動とデータのコピーの２つに更に分けることができる。コピーのためのモーダルインジケータは通常、マウスの左ボタンの下降状態、及び、キーボードのいずれかのＳｈｉｆｔボタンの下降状態である。移動はデフォルトドラッグモードあるいはホームドラッグモードであり、マウスの左ボタンの下降状態及びキーボードの両Ｓｈｉｆｔキーの上昇状態によって示される。
【００５５】
次元縮小
【００５６】
２次元空間から１次元空間へのマッピングを行うことができる技術は多く存在する。簡単な１つのマッピングは、それぞれのペアになった２次元座標のうちの一方を破棄することである。例えば、従来の垂直座標（つまり、従来の（Ｘ、Ｙ）ペアの“Ｙ”座標）を破棄すれば、右方向に増加し左方向に減少する１次元変数が得られる。相対運動型の使用では、この変数は、右に移動するときは正であり、左に移動するときは負である。しかし、この種のマッピングは、限界のある２次元移動から限界のない１次元変数を生成する問題を解決しない。左端２次元限界に到達した後は、更なるどのような１次元出力も右向きになり、したがって正になる。更に詳しく述べると、デバイスを使用するために利用可能な２次元空間に本来的に限界があるという性質のため、この単純なマッピングを用いて任意の大きな負の出力、あるいは、正の出力を生成することは、不可能ではないとしても、非常に困難である。
【００５７】
その結果、一般的に有用な縮小マッピング（reductive mapping）の１つの望ましい特性は、限界のある入力から限界のない出力を生成できることである。これを視覚化する１つの方法は、潜在的には無限である１次元空間を、固定サイズの２次元空間に収まるように“折り畳む”ことである。逆に言えば、折り畳まれた２次元経路は、展開されて、単一の次元に沿って配置されるものと考えられる。例えて言えば、４分の１マイルのトラックを１２周走り終えているランナーは、出力空間においては既に３マイルを走っているが、入力空間ではランナーのスタート位置と停止位置は同じである。同様に、パッドまたは他の作業面上でのマウスの２次元移動は、１次元における限界のない移動に変換することができる。数学的に述べると、相対運動レポートの大きさの合計（総移動量を表す）は、相対運動レポートの合計の大きさ（開始位置からの正味の移動量を表す）よりも実質的に大きい。相対運動型デバイスがその開始位置から実質的に移動しなくても、実質的な移動量が生じる可能性がある。用語“実質的に”はこの場合、直線経路からの偶発的な逸脱が占める量や測定誤差に起因する量よりも大きな量を示唆することを単に意図している。
【００５８】
第２の望ましい特性は、有限の入力空間をダイナミックレンジの面から活用することである。より大きな入力空間は、より大きな大きさ（絶対値）を許容すべきであり、したがって、出力空間でのより高速な累積を許容すべきである。例えば、回転移動の縮小マッピングは、出力の大きさを旋回角度に基づくように構築することができる。しかし、このタイプのマッピングは、描かれる円がどれほど大きくても、出力の大きさは同じである。小さな円は大きな円よりも物理的に速く描くことができるので、そのようなマッピングは、入力空間サイズとダイナミックレンジとの間に望ましくない反比例関係を有する。
【００５９】
第３の望ましいマッピング特性は、人間が簡単に学習可能なことである。同時に発生する定常的なフィードバックは、マッピングの学習可能性を決定する主要な特徴である。良好なフィードバックを提供するために、マッピングは、入力空間内で移動があるときはいつでも出力空間内で移動を生成するように構成されるべきである。入力空間内のデッドスポット(dead spots、無反応地点)あるいはデッドディレクション（dead directions、無反応方向）は、好適かつ実行可能な範囲で回避すべきである。
【００６０】
第４の望ましいマッピング特性は、直観的であるべきことである。慣用されている運動は、予想される結果を生成すべきである。最も一般的な２つの制御ジェスチャは、直線運動及び回転運動であり、小さな偏位には直線運動が自然であり、より大きな移動には回転運動が自然であるので、直線および回転の両方を扱うための統一的な仕組みが望ましい。次元縮小のために、このような２種類の運動を統合することは、適切な符号取り扱いの重要な機能である。単一方向において直線運動を継続する場合は、符号を反転すべきではなく、一方で、直線運動中に方向が明らかに反転した場合は、符号を反転すべきである。特定の掌性（handedness）で回転運動を継続する場合は、符号を反転すべきではなく、一方で、回転運動の掌性が明らかに反転した場合は、符号を反転すべきである。
【００６１】
実装の便宜のため、マッピングは、第１の入力属性が出力符号を生成し、第２の入力属性が出力の大きさを生成するという意味で、分割可能であってよい。入力空間に対するサイズ比例ダイナミックレンジの要件を出力に移すことは、入力距離から出力の大きさを生成することを示唆する。これは、ひいては、周知の極座標表現に類似した入力方向及び入力距離の表現を示唆することになる。分割可能性の原則を適用し、入力距離を用いて出力の大きさを決定すると、入力方向が出力符号を決定することになる。このような原則に基づいた縮小マッピングを以下に説明する。
【００６２】
符号付き縮小マッピング
【００６３】
表１の様々な原則は、これまでに説明した特性を備えた例示の縮小マッピングを共同して生成する。直線反転と回転反転が回避される限り出力符号が不変のままでいられる点で、このマッピングは潜在的には限界がない。出力の大きさは、移動した入力距離にほぼ比例することから、出力のダイナミックレンジは、入力デバイスサイズに比例し、また、出力のデッドスポットあるいはデッドディレクションは実質的に回避される。直線運動からの出力符号の変化は、急激方向反転の判断基準を通じて考慮され、回転運動からの出力符号の変化は、回転方向反転の判断基準を通じて考慮される。出力符号が入力方向に依存し、出力の大きさが入力距離に依存するという点で、このマッピングは本来的に、分割可能なものである。
【表１】
2012027942.tif 000010
【００６４】
このような原則が実際にどのように適用されるかを更に具体化するためには、個別の２次元相対運動変数（“レポート”）を定義することが有益であろう。これらの相対運動変数は、一連の（Δｘ，Δｙ）ペアによって適切に表してもよい。以下に説明する実施形態において、各レポートは、基礎となる２つの直交する連続デバイス変数によってサンプル期間中に累積された運動の量を適切に表す。例えば、従来の座標系では、（１，１）というコンピュータマウスレポートは、マウスが、最後のレポート以来の時間間隔中に、ユーザから離れるように１基準単位（例えば、“ミッキー”）だけ移動し、かつ、ユーザの右方向に１基準単位だけ移動したことを示す。
【００６５】
図面に戻り、図２を参照すると、概念的に端から端まで配置された例示的な一連のレポートＳ１−Ｓ４０は、２次元入力空間２０２における入力デバイスの経路２０６を表す。経路２０６を構成する各レポートは、その経路の特定のセグメント（区分）と１対１に対応して示されている。そのため、図２に示す例示的経路２０６は、４０個のセグメントを含み、各セグメントは、様々なレポートＳ１−Ｓ４０の１つに先行する。例えば、セグメント２０５はレポートＳ２に対応しており、入力デバイスによるレポートＳ１及びレポートＳ２間の移動を近似する直線を表す。
【００６６】
入力経路の骨組みが与えられれば、経路の各セグメントを符号と大きさでラベル付けすることによって縮小マッピング技術の主な仕事を達成できる。これらの符号／大きさのペアを１つの符号付き変数にまとめれば、関連する１次元出力変数ストリーム２０４が簡単に生成される。図２の下部に示す１次元出力信号ストリームでは、２次元入力経路２０６のレポートＳ１は、出力ストリーム２０４の最初の信号２０８を生成し、レポートＳ４０は最後の信号２１０を生成する。しかし、様々な同等の実施形態において、その他の信号生成およびマッピング法を用いてよい。
【００６７】
前に列挙した縮小原則との関連では、１次元信号ストリーム２０４における符号のラベル付けは、経路２０６の各セグメントを前のセグメントの符号を用いてラベル付けするという定常状態プロセスと考えられる。このプロセスは、経路２０６が表す２次元移動における直線方向反転及び回転方向反転を検出する反転プロセスにより強化されている。直線反転は通常、回転反転よりも速く検出できるという点で、直線反転は、一般に、優先権を有する。図２に示す例では、直線反転は、レポートＳ１３とＳ１４の間で起こり、これらの２つのレポートの情報だけで直線反転を直観的に検出することができる。これに対し、レポートＳ２７付近から開始する回転反転は、実際にはもっと後まで、おそらくはレポートＳ３０に近づくまでは不明瞭である。
【００６８】
符号のラベル付けと比較すると、大きさを用いた経路セグメントのラベル付けは比較的単純である。第３の縮小原則（Ｐ３）によれば、ある経路セグメントの大きさを、そのセグメントの長さにほぼ比例して決定することができる。最も一般的に使用されている長さ計測法はユークリッド距離√（Δｘ２＋Δｙ２）であるが、コンピュータ的により簡単な方法または同種のものを、様々な他の実施形態において実装し、及び／又は強化(augment)してよい。図２の信号ストリーム２０４で示した例示的な大きさは、わずかに修正した絶対距離計測法によって生成されたものである。この絶対距離計測法は、可能な回転反転の付近における運動を弱める。しかし、そのような拡張は、すべての実施形態に存在しなくてもよい。
【００６９】
方向、キラリティ、及び、符号
【００７０】
前項の原則は、特定の入力運動が与えられたときにおける前の状態からの例示的な符号の変化を概説するが、これまでのところ、変化の開始元である初期状態を確立することについては議論しなかった。初期設定すべき１つの状態変数は、出力符号ラベルである。反転について既に説明したように、通常、直線運動は回転運動よりも速く解明することができる。というのも、回転運動は、ユーザが知覚するレベルの精度で、複数の直線運動に分解することができるからである。図２の経路２０６を形成する様々なセグメントは、それぞれ、例えば、レポート間の２次元回転移動の直線近似と考えてよい。回転運動ではなく直線運動から符号を判定することによって、初期符号を決定する際の遅れを減らすことができる。この符号初期設定の原則を表２にまとめる。
【表２】
2012027942.tif 000011
【００７１】
垂直方向出力変数に適した符号初期設定技術の例を図３に示す。この技術によれば、初期上向き移動３０２は正の初期符号を生成すると定められ、一方で下向き移動３０４は負の初期符号を生成すると定められる。図３に示す移動３０２および３０４の双方に関する回転方向は、双方の初期符号にもかかわらず同じである点に留意されたい。つまり、経路３０２および３０４は、どちらも反時計回りの運動を描いているが、経路３０２は、その初期上向き運動のために正であり、経路３０４は、その初期下向き運動のために負である。それでもなお、本例は、異なる符号を同じ回転方向に関連付ける必要性、あるいは同様に、異なる回転方向を同じ符号に関連付ける必要性を示す。
【００７２】
したがって、初期設定すべきもう一つの状態変数は、符号に関連付けられる回転方向を表す。１つの符号が異なる複数の関連する回転方向を有することができ、また、符号は回転方向よりも速く推測できるので、回転方向と符号との関連付けを、初期符号発見の時点を超えて遅らせてよい。用語“レイジー”は多くの場合、決定を遅らせるコンピュータアルゴリズムを説明するために用いられる。本用語を便宜上、本書で用いる。
【００７３】
より具体的にこの概念を扱うため、入力経路のセグメントに第２のラベルを付して、その回転優先傾向(turning preference)を示すことが有用である。化学において分子が平面偏光を回転させる方向を示すために使用される用語を採用すると、“キラリティ”セグメントラベルを用いて、セグメントの“回転優先傾向”または優勢な回転方向を表すことができる。左巻き回転（つまり、反時計回りの回転）の優先傾向は、“左旋性”（Ｌ：Levorotary）と呼ばれる。同様に、右巻き回転（つまり、時計回りの回転）の優先傾向は、“右旋性”（Ｄ：Dextrorotary）と呼ばれる。キラリティが確立されていないセグメントは、ラセミ（Ｒ：Racemic）と呼ぶことができる。
【００７４】
いくつかのデバイスおよびモーダルエントリ構成では、ラセミ状態を省いて、キラリティおよび符号間の固定した関係を採用することができる。例えば、図４は、有限のポインティング面４０６の右端における初期上向き運動４０２および初期下向き運動４０４を示す。この状況は、例えば、タッチパッドの右端に沿った平行運動を介して縮小モードに入る際に生じる。この例では、更に右側に移動することができないので、初期上向き移動４０２は必然的に左旋性キラリティを示し、下向き移動４０４は右旋性キラリティを示す。その結果、その面の端部に沿った初期移動で、出力符号およびキラリティの両方の初期値を同時に定めることができる。その理由は、いずれの場合でも後続の回転が、初期符号を保持するという予測された動作を行うからである。初期符号の回転誘起符号反転という困難な状態は、モーダルな幾何学制約によって回避される。
【００７５】
しかし、事前の幾何学制約が利用できない場合は、後続の回転のどちらかの方向に、最初に確立された符号を関連付けることができれば、学習可能性と、デバイスをその作業面の中心付近に維持するための自由度とが高まる。これを実現するための１つの技術は、ユーザの意図を推測できるほどに十分な回転が生じるまで、初期キラリティの確立を遅らせることである。図５は、キラリティ及び符号間の最初の関連付けを遅らせる一例を示す。この例では、“上向き”移動５０２は正の符号を素早く特定でき、また、“下向き”移動５０４は負の符号を素早く特定できるが、キラリティは当初、ラセミである。初期回転方向で十分に回転した後、左旋性あるいは右旋性のキラリティを確立してよい。上述した図４の固定方式では、２種類の関連付け、すなわちＬ＋およびＤ−だけが可能である点に留意されたい。このレイジー方式では、２つのラセミ状態Ｒ＋およびＲ−が、キラリティ及び符号に対して４種類の可能な関連付け、すなわちＬ＋、Ｌ−、Ｄ＋、Ｄ−をもたらし、これらはそれぞれ経路５０６、５１０、５０８、および５１２に対応する。
【００７６】
キラリティと符号との間で関連付けを行うために必要な回転量は、ユーザの意図が明らかになるまで関連付けが行われないように十分に大きくすべきだが、一方、ユーザの意図を無視することがないように十分に小さくすべきでもある。このような２つの要件は相容れない可能性もあるが、１つの可能な解決策は、キラリティ関連付けを確立するために用いられる回転量を、符号の反転を引き起こすのに必要な量にほぼ等しくすることであろう。
【００７７】
別の複雑な問題は、キラリティ関連付けを確立するには不十分な回転が後の反対方向の回転の十分度に影響を及ぼす、その影響の仕方に関連する。この問題を解決する２つの可能性として、前の反対方向の回転を無視すること、および、前の反対方向の回転を集約し、関連付けを確立するために必要な後の反対方向の回転量を増やすことが挙げられる。回転を無視するよりも集約することを支持する要因は、関連付けの決定が初期移動方向に応じて修正されるべきということである。これは、ユーザたちは初期移動方向を正確にはたどらないかもしれないが、その方向という直観的な意向は依然として有している可能性があるからである。図６は、キラリティ関連付けを行うには不十分な幾つかの相反する方向の回転６０２、６０４、６０６、および６０８を相互に平衡させるように示す。つまり、互いに反対の方向に少しずつ回転しただけでは、キラリティを変えるのに十分な正味の回転を累積しない。関連付け決定状態がその初期状態に戻る例示の箇所を図面の破線で示すが、等価の実施形態においてその他の技術を用いてもよい。
【００７８】
既に説明したように、遅れた、あるいは“レイジー”なキラリティ割当てを行う動機付けは、相対運動型の使用において、予想外の回転関連符号反転を回避することである。基本概念は、回転により誘起される符号の反転は、一般に、反対方向の開始を表すための回転基準線を必要とすることである。そのような回転基準線がひとたび確立されれば、急激方向反転等の直線概念を介在させることで、その回転基準線をなくすことが可能である。このマスキング効果により、直線反転時にラセミキラリティ状態に戻すことで、より直観的な回転反転予想が生成される。また、２つの回転反転が直線反転を挟まずに起こる可能性は比較的低いので、回転反転時にラセミキラリティに戻すことも、より安定した回転反転動作の生成に役立つ。
【００７９】
したがって、例示的なレイジーキラリティ割当て方式は、当初は、直線反転時及び回転反転時にラセミキラリティを割り当てる。回転基準線を確立するために用いる回転量は、回転の反転を合図するのに必要な回転量に近似するよう、あるいは一致するように設計してよい。基準線に関連する回転は、一方向における不十分な回転が、関連付けを生じさせるために必要な後の反対方向回転の量を増やすように、適切に累積される。これらの例示的なキラリティ及び符号関連付けの原則を表３にまとめる。
【００８０】
図７を参照すると、一連の２次元信号／レポートによって示される例示的な入力経路７００は、表３中の原則の幾つかを図示する。移動経路７００が開始すると、キラリティは当初はラセミとみなされる（原則Ｐ２ａ）。初期移動は下向きに見えるので、初期負符号値が生成される。レポートは全体的に反時計回りに進むので、概ねレポート７０２において左旋性キラリティが確認される。レポート７０３と７０４との間で直線反転が起きる。これは、符号が正になり、原則Ｐ２ｄに従って、キラリティがラセミ、すなわち未決定の状態にリセットされることを意味する。レポート７０６付近で、時計回り回転が確認される。経路７００はレポート７０８の付近で反時計回り回転を開始する。この結果、最終的には、レポート７１０あたりで、キラリティがラセミにリセットされる（そして、符号が切り替えられる）。後続の運動では時計回りと反時計回りとが混在しているので、時計回りの回転がレポート７１２付近で右旋性の割り当てを正当化するまで、キラリティは（原則Ｐ２ｃに従って）ラセミのままである。図７に示す例示的な経路７００の下側部分は上側部分の鏡像である点に留意されたい。しかし本例では、経路の各部分について出力符号は同じままである。全体的な効果は、限界のない符号付き出力を表すための自由度を最大限に高め、入力デバイスを再センタリングする必要性を最小限に抑えることである。
【表３】
2012027942.tif 000012
【００８１】
方向の量子化
【００８２】
上述の符号管理手続の後は、直線反転あるいは回転反転がいつ発生するかを判断する問題に着目する必要がある。組込み用途のための１つの問題は、反転の判断を下すために必要な計算リソースを最小限に抑えることである。通常、この問題は、状態単純化の１つである。つまり、非制限２次元入力の相対的な不調和（relative cacophony）から幾つかのキーとなる計算点を求めることである。入力方向は反転を判断するために用いられる判断基準なので、この目的に対して有用となる基本概念は、方向の量子化という考えである。方向を比較的少数の可能な値に量子化すると、方位変化が非常に有用な計算点となる。これに関連して、可能な方位の数が少なければ少ないほど、方位変化は、判断を下すうえでより効率的になる。他方、量子化した方位が少な過ぎると、ユーザの意図を失うことになるかもしれない。そのため、量子化した方位の数を必要に応じて少なくしなければならないが、少なすぎてはならない。また本書では、量子化した方位を“可能な方位”あるいは“バケット”と記述する。
【００８３】
量子化“バケット”アーティファクトを回避するためには、各前方方位が、１つの正反対方位と、整列保護(alignment guard)としてその正反対方位に隣接する２つの相対向する方位（正反対方位の両側に１つずつ）とを有するように、少なくとも３つの可能な方位が反転の方向において利用可能であるべきである。回転の進行を受け入れるためには、現在の前方方位の両側にそれぞれ少なくとも１つの方位を設けるべきである。量子化方位がすべてほぼ同じサイズを有するように定められる場合は、２つの進行受入れ方位を加えることで、上述した３つの反転方位との間に、より良いバランスが得られる。現在の量子化方位を考慮すると、本実施形態で用いられる量子化バケットの最小数は１＋２＋２＋３＝８である。
【００８４】
図８は、コンピュータマウスあるいはその他の入力デバイスにおける組込み用途に適した例示的な不均一八分円（オクタント）量子化方式を示す。図示のように、軸の周りに配置された４つの“基本方向”(cardinal direction)バケットは、対角的に分散配置されたバケットの２倍の大きさを有するように任意に定められており、それにより、以下に説明するように、整数加算とシングルビットシフトによって量子化の決定を行うことができるようになる。この量子化方式では、“タイ”(ties)（バケット間の境界線に沿った方向における移動）は、より小さな対角バケットの方を選ぶことで解決される。この方式は、マウスレポートにおいて通常遭遇する小さな数を用いた均等なバケット集団を生じさせることになる。
【００８５】
入力デバイスからの相対運動レポートをこの量子化方式に適用することにより、近似方位を簡単に特定することができる。例示的なＮおよびＮＥバケットにおける小さな正整数レポートに関する量子化集団を表４に示す。同様の割当て方式をバケット間の各境界について構築して、任意の方向の２次元移動を特定のバケットに割り当てることができる。
【表４】
2012027942.tif 000013
【００８６】
量子化方位が設定されると、過去の入力から維持された持続方位を過去の入力および現在のレポートから形成された提案方位と単に比較することにより、デバイスレポートを処理しながら、符号およびキラリティの反転を判断することができる。持続方位と提案方位とが３オクタント以上異なる場合は、直線反転の判断を直接示してよい。回転運動は、例えば、持続方位と提案方位とが１オクタントだけ異なる場合に示してよい。２オクタントの差は、１オクタント差にまで緩和できる。というのも、後続の運動は、おそらくは緩やかな進行を続けるからである。以下に更に詳細を説明しているように、回転運動は現在の符号を変化させず、一方で、反転の指示は符号の反転を引き起こす。このような一般的な概念のそれぞれは例示的なものであり、様々な別の実施形態において、変形、補足、あるいは、置換が可能である。
【００８７】
ほとんどの場合、提案方位は次のレポート用の持続方位となる。しかし、オクタントの進行ルールを少し変更することによって、直線反転および回転反転の両方を判断するための統一された仕組みが得られる。この変更は、１オクタントの方位変化を、現在優先されているキラル方向においてのみ許容するということである。方位変化が許容されるかどうかにかかわらず判定統計値が更新されれば、現在のキラリティに反する回転は、最終的には、持続方位と提案方位との間に３オクタントの差をもたらすことになる。３オクタント差が発生すると、直線反転ルールだけを用いて反転が識別される。上述した方向ルールからの例示的な統一符号を表５にまとめる。
【表５】
2012027942.tif 000014
【００８８】
量子化方位の進行に関する前述のルールは、直線反転および回転反転の判断を統一する。しかし、直線反転を判断する際の基本的な不明瞭さに関する疑問が残る。ポインティングデバイスの軌道を人間が正確に反転させるのは非常に難しいので、現実的には、軌道の反転が、反転軸に垂直な運動を少なくともある程度含むことは非常に一般的である。さらに、反転運動を速く行うほど、その運動はより不正確なものになりがちである。第２の困惑させる要因として、ポインティングデバイス自体にわずかな不正確さが存在するということが挙げられる。この不正確さは、一貫した結果をもたらす最小の直径を用いて回転移動を行うという、人間のもう１つの傾向により、重大になる。
【００８９】
このような人間の２つの傾向は相反するものである。というのも、一方では、より大きな直線移動との関係では、通常、小さな直径の回転は無視されるからである。他方、小さな直径の回転との関係では、他の小さな直径の回転は通常無視されない。このような不規則さは、２つの連続した近似方位から反転の判断を下す単純な計算モデルと相まって、デバイスノイズや人間の不正確さに起因して変化しない近似方位の重要さを強調する。
【００９０】
不正確さとノイズによる影響を減らすための第１の原則は、量子化方位は、新しい方向における一貫した十分な運動の後でのみ変化すべきというものである。一貫性のある運動は複数のデバイスレポートから集成されうるので、十分度をインクリメンタルに確立する必要があるかもしれない。計算の簡素化のため、単一のスカラー値を用いて十分度を確立することが望ましい。したがって、一貫性のある情報のみを用いて十分度の判断を行うことを保証する仕組みが求められている。
【００９１】
運動が一貫したものとなるためには、その運動は１つの意図と整合性を有するべきである。反時計回り回転と整合性を有する運動は、例えば、現在のオクタントおよびそれに最も近い反時計回りに隣接した２つのオクタントの範囲内にある。逆に、時計回り回転と整合性を有する運動は、現在のオクタントおよびそれに最も近い時計回りに隣接した２つのオクタントの範囲内にある。反転の意図と整合性を有する運動は、現在のオクタントと対向する３つのオクタントの範囲内に完全に位置する。十分度累積値の現在の内容と整合しない運動は、当該累積値がクリアされるという結果を適切に生じさせる。大部分が現在の方位の方向にある運動もまた、十分度累積値をクリアするという結果を生じさせるべきである。これらの例示的な方位進行の原則を表６にまとめる。
【００９２】
既に述べたように、１つの状況で意図を確立するために十分な運動は、別の状況では不十分であるおそれがある。このことは、適応性のある進行十分度判断基準の必要性を示す。考慮すべき２つの影響は、デバイスの不正確さと人間の不正確さである。所与のデバイスの不正確さは、ある程度固定されるので、十分度判断基準は固定成分を含むべきである。人間の不正確さは変わりやすく、移動速度が高まることによって不正確さが増す。従って、速度に依存する十分度成分も有益な可能性がある。
【表６】
2012027942.tif 000015
【００９３】
速度依存十分度成分は、速度が増加すると比較的速く速度変化を追跡すべきである。しかし、速度は、不正確さに比べて相対的により速く減少しうる。これは、本来、加速よりも減速を制御することがより困難であるためである。したがって、速度依存十分度成分は、比較的ゆっくりと減少することしか許されるべきではない。これらの例示的な進行十分度の原則を表７にまとめる。
【表７】
2012027942.tif 000016
【００９４】
進行十分度判断基準を減らすための計算効率の良い方法は、量子化方位の変化に際して現在の速度に対する判断基準を消失させることである。この方法も、レポートレートなどのデバイスの不規則さからほぼ独立しており、また、時間に基づく消失方式よりも好ましいはずである。
【００９５】
距離と大きさ
【００９６】
前述の縮小原則は、１次元出力変数の大きさが２次元移動距離にほぼ比例することを要求する。前述の出力符号の取扱い原則に関連して、この比例原則を緩和することが有益な可能性がある。主な問題点は、ある状況では運動の意図が曖昧であるおそれがあることである。更に、不正確に解釈される曖昧な運動が、ある状況では予想外の出力をもたらすおそれがある。
【００９７】
各要因が最も不利に組み合わせられる状況は、回転によって誘起される符号反転である。これは、回転反転は、大きな反対向きのさ回転が生じるまで検出することができないためである。回転の直径が非常に大きい場合、回転反転が開始するポイントと回転反転を検出するポイントとの間で多量の１次元出力が生成されうる。これは、現在の出力符号の方向に、かなりのオーバーシュート（超過）をもたらすおそれがある。
【００９８】
方向の曖昧さを改善するために役立つ一般的原則は、入力運動のうち現在のオクタント方向における成分だけを出力として累積することである。これは、入力レポートと現在のオクタント方向を向いた標準ベクトルとのドット積を実施することで行うことができる。計算を簡素化するために、標準ベクトルを０と１との様々な組み合わせに限定してよい。例えば、“北”の標準ベクトルを（０，１）と定義し、“北東”の標準ベクトルを（１，１）と定義してよい。ここでも、任意の基準に割り当てられた様々な方位を使って、任意の方向方式を適用してよい。本書の基本方向に対する基準は、単に例示と参照の便宜のためであり、実際には、様々な等価の実施形態において、任意の座標および／または方向の系または配置を用いることができる。
【００９９】
最も一般的な状況では、移動した入力距離よりも遅く出力が累積されることが望ましい。これは、一単位の出力が、通常は、線形ＧＵＩ表示を１ピクセルを超えて変化させるからである。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓのオープニングシステム上で、ＷＭ＿ＭＯＵＳＥＷＨＥＥＬメッセージを用いて垂直スクロールを実行すると、単一のホイール情報単位に対する通常のアプリケーション応答は、テキストの数行分に相当する距離をスクロールすることである。この動作は、マウスホイールを介してスクロール出力を生成する際には適切であるが、スクロール出力がマウス自体によって縮小的に生成される場合は幾分か混乱させるものである。マウス移動によってスクロールする場合、ユーザは、特定の移動速度を与えると、カーソルがポインティング時に移動するのとおおよそ同じだけ速くウィンドウコンテンツがスクロール時にピクセル空間内で移動すると予想する。
【０１００】
したがって、縮小出力と、１次元ＧＵＩナビゲーションを行うために実際に用いられる機構との間にゲインマッチング方式を介在させることが有益となりうる。縮小モードは従来利用可能なダイナミックレンジよりも高いダイナミックレンジを提供するので、既存のナビゲーション機構にゲインを一致させるには、通常、縮小出力を弱めること、つまり１未満のゲインを適用することが求められる。
【０１０１】
整数演算によって分数ゲイン（fractional gain）を適用するための標準技術は、分数単位累算技術である。マッチング変数は、累算基数と呼ばれる閾値に到達するまで、入力単位を累算する。累算基数を超過すると、累算値をその基数で割り、その商は分数ゲインの整数出力になる。その除算の余りを累算値に残す。効率性の理由から、分数基数は、通常、２の累乗であり、そのために、除算をバイナリシフトで実施してよい。多くの１次元ナビゲーションタスクに対して、最小ナビゲーション単位は、テキストの１行分である。従って、有用な分数ゲインは一般的なフォントサイズに反比例する。
【０１０２】
縮小モード(reductive mode)は非常に優れたネイティブダイナミックレンジを提供するが、より高いパフォーマンスを示す状況では、弾道関数を適用することができる。例えば、有用なナビゲーションツールは、注目ポイントを長い文書の一方の端部からもう一方の端部まで移動させることができる。十分に非線形の弾道によって、急速な縮小運動がこのタスクを達成できるようになる。二乗則弾道(square-law ballistic)の一例を式１０に示す。相対運動型デバイス座標の最大大きさ１２８、ある絶対距離測度、および、分数累算基数８を任意に選択すると、本実施形態では、約３２という、単一レポートからの最大出力が得られる。その結果、単純な二乗則弾道、
【数１０】
2012027942.tif 000017
はダイナミックレンジを約３２倍に拡大する。
【０１０３】
実施形態の詳細な説明
【０１０４】
組込み式マイクロコントローラあるいはその他のプロセッサによって好適に実行される、最適化された符号付き縮小マッピング法を図９から図２５に示す。この例示の方法は、除算の後に整数商だけが保持されるように整数演算を用いる。また、できるだけ２の累乗で乗除算を実行し、それにより、ビットシフトによって乗除算を行えるようにする。このような特徴は任意のものであり、すべての実施形態に備わっていなくてもよい。
【０１０５】
簡素化のため、本書に示し議論している例示的フローチャートは、より上位のプロシージャ（手順）による使用の前により下位のプロシージャが導入されるように、階層的に順序付けられている。各フローチャートには名前がつけられており、これらの名前を通じて、各プロシージャは相互に参照される。プロシージャの定義とその使用場所（ユースポイント）の両方でプロシージャパラメータ名が同じ名前を有する場合、プロシージャパラメータは参照渡しすることができ、そうでない場合は、値渡しすることができる。同様に、様々な等価の実施形態は以下の詳細な実装とは異なってよい。
【表８】
2012027942.tif 000018
【０１０６】
この例示の方法は、２次元相対運動入力変数に演算を施し、それに応じて符号付き１次元出力変数を生成する。２種類の内部状態が維持され、一方の状態は、１つのレポートから別のレポートまで持続し、他方の状態は、１つのレポートに対して局所的な状態である。本実装では、すべての状態変数は最大で１６ビットの整数表現に収まるように設計されている。その他の実装では、これと異なる設計がなされてよい。表８に、１１個の持続状態変数の名前および定義を示す。表９は例示的な局所変数を示す。本書中におけるこのような状態変数のすべての名前は、長さが１文字である。持続変数名は大文字で、局所変数名は小文字である。両種類の名前は、変数の用法に関する付加的情報を提供する大文字のギリシャ文字の接頭辞を含んでよい。
【表９】
2012027942.tif 000019
【０１０７】
表１０に、例示的フローチャートで使用する所定の定数を示す。所定の定数の全ての名前は、長さが１文字あるいは２文字であり、大文字である。すべての定数は基礎となる整数表現を有しており、その例示的な値も表中に示す。該方法を用いるデバイスの特徴に応じて、特定のその他の所定の定数は異なる値を有する。このようなデバイス依存パラメータの値をフローチャートの説明の後に与える。
【表１０】
2012027942.tif 000020
【０１０８】
図９は、１つの運動レポートを８つの可能なオクタント方位のうちの１つに量子化（ｑｕａｎｔｉｚｅ）するための一般的なプロシージャを示す。各オクタントの名前を、羅針盤の方位の略語によって示す。慣例により、ユーザから離れるように配置されるのが北（North）であり、ユーザの右側に配置されるのが東（East）である。量子化は、５回以下の整数比較によって実現される。第１の比較は、移動が左向きまたは右向きであるかどうかを判定する。次の比較は、１／２、−１／２、２、および−２の傾きを有する４本の線を用いて、入力平面（input plane）を区分する。これらの４本の線は、図８に示す区分ポイントに対応する。方向レポートが区分線に直接沿う場合、これらの比較は、より小さなオクタントを優先するようになっている。
【０１０９】
図１０は、運動レポートとオクタント方位とのドット積を実行するための例示的プロシージャを示す。互いに直交する入力の様々な符号付きの組み合わせから、整数の結果が形成される。オクタント方位は、どの組み合わせを使用すべきかを選択する。入力運動レポートが入力オクタント内にある場合は、各直交方向の絶対値の合計がその結果である点に留意されたい。しかし、あるオクタントに対して直交の運動はゼロ結果となり、オクタントに対して平行かつ反対向きの運動は負の結果となる。
【０１１０】
図１１は、入力レポートを正規化する例示的プロシージャを示す。ここでは、標準レポートは、入力と同じオクタント内にある最小の整数レポートである。このプロシージャはまず、入力レポートが含まれるオクタントを、すでに説明したＱｕａｎｔｉｚｅ（）プロシージャを呼び出すことにより決定する。返されるオクタントは、０と±１の正しい組合せを選択する。
【０１１１】
図１２は、別のオクタントと特定の回転関係を有するオクタントを探し出すための例示的プロシージャを示す。このＦｉｎｄＲｅｌａｔｅｄ（）プロシージャの第１パラメータは、関係するオクタントを探索されるオクタントである。第２パラメータは、整数個のオクタントとして表される所望の回転関係である。正の回転関係は反時計回りの回転を、負の回転関係は時計回りの回転を規定する。入力オクタントと整数回転関係を合計することで、暫定的な結果が得られる。結果が、最大の可能なオクタント表現を超える場合は８を引く。結果が、最小の可能なオクタント表現に満たない場合の場合は８を足す。
【０１１２】
図１３は、２つのオクタント間の回転距離を定めるための例示的プロシージャである。オクタント同士の距離が計測され、符号が付される。この２つのソースオクタントを引き算することで、暫定的な結果が得られる。−４未満の距離には８が加算され、４を超える距離からは８が減算される。これは、２つの可能な回転距離のうち短い方を返す効果がある。
【０１１３】
図１４は、多数の運動の合計を表す持続状態変数(persistent state variable)に１つの運動レポートを加算するための例示的プロシージャを示す。まず入力レポートの各座標を、そのそれぞれの合計に加算する。合計が両方ともゼロの場合は、その合計をレポートで置き換える。適切に量子化を行うためには各方位が少なくとも１つのゼロでない座標を有することが必要なので、これは後の不適切な量子化を回避する効果がある。
【０１１４】
図１５は、１つのオクタントを別のオクタントに向けて緩和するための例示的なプロシージャを示す。緩和は、それらのオクタント間の回転距離が２に等しい場合にだけ行われる。第１パラメータによって指定されるオクタントは、第２パラメータによって指定されるオクタントに向けて緩和される。緩和は、この２つの間の回転距離の半分の距離で第１パラメータに関係するオクタントを見つけることにより達成される。Ｄｉｓｔａｎｃｅ（）プロシージャを用いて回転距離を計測し、ＦｉｎｄＲｅｌａｔｅｄ（）プロシージャを用いて関係するオクタントを見つける。
【０１１５】
図１６は、第１の量子化方位が他の２つの量子化方位と整合性を有するかどうかを判断するための例示的プロシージャである。整合性とは、第２および第３のオクタントが両方とも第１オクタントからの方向反転を示すか、第２および第３のオクタントが両方とも第１オクタントに対して同じ回転方向を示すことを意味する。より正式な表現では、第２および第３オクタントが両方とも第１オクタントから２オクタントを超えて離れているか、第２および第３オクタントが両方とも第１オクタントの同じ側で第１オクタントから２オクタント以下しか離れていない場合に、整合性が示される。計算は、第１および第２オクタント間の回転距離ならびに第１および第３オクタント間の回転距離を取得することにより行われる。これらの距離を３で除算し、商を比較する。除算後の距離が異なる場合、非整合性が示される。そうでない場合は、２つの距離の符号を比較する。符号が同じ場合、整合性が示される。そうでない場合、２つの距離の大きさを合計する。４を超える合計は整合性を示し、４以下の合計は非整合性を示す。
【０１１６】
図１７は、現オクタントを候補オクタント(candidate octant)に進行させるために十分な運動がその候補オクタントの方向に累積されたかどうかを判断するための例示的プロシージャを示す。このプロシージャの結果は、進行が行われる場合は変化せず、進行が行われない場合は現オクタントにリセットされる候補オクタントである。このプロシージャはまず、現オクタントと候補オクタントとを比較する。これらのオクタントが同一である場合、あるいは、これらのオクタントが非整合である場合、現在の運動レポートから新しい候補方位が取得される。副次的な効果として、オクタントアクティビティ累算値がクリアされる。次に、変化した、あるいは、変化していない候補オクタントを再度現オクタントと比較する。これら２つのオクタントが同一である場合、このプロシージャを終了する前に、オクタントアクティビティ閾値が、現在のアクティビティ閾値または現在の瞬間速度のうち大きい方で更新される。この閾値更新プロシージャは、他のすべてのプロシージャ終了パスからも呼び出される。
【０１１７】
前の比較において現オクタントと候補オクタントとが異なる場合、オクタントアクティビティ累算値が更新され、その結果は、デバイスファミリー特有のゲインパラメータで増加させられたアクティビティ閾値に対してスケーリングされ、そのアクティビティ閾値と比較される。累算値が閾値未満の場合、プロシージャを終了する前に候補オクタントが現オクタントに設定される。そうでない場合、候補オクタントが保持される。保持された候補オクタントを返す前に、累積デルタが正規化され、アクティビティ閾値がアクティビティ累算値に設定され、そのアクティビティ累算値はクリアされる。アクティビティ比較はスケーリングされたアクティビティ値を用いるので、アクティビティ閾値をアクティビティ累算値で置き換えることは、アクティビティ閾値をゼロに向けて緩和する効果がある。
【０１１８】
図１８は、キラリティと符号とを関連付けるための例示的プロシージャである。オクタント方位が変わるたびに、現オクタントと候補オクタントとをパラメータとしてＡｓｓｏｃｉａｔｅ（）プロシージャが呼び出される。このプロシージャの副次的な効果は、現在のキラリティに反対する１オクタントの方向変化を無効にすることである。このプロシージャはまず、２つのオクタント間の回転距離を算出する。絶対距離が３を超えており、反転中であることを示す場合、キラリティ関連付けカウンタ(the chirality association counter)がリセットされ、現在のキラリティがラセミに設定される。全ての終了パスの場合と同様に、距離結果が返される。
【０１１９】
絶対回転距離が１に等しい場合は、現在のキラリティ状態について判断が行われる。現キラリティがラセミである場合、キラリティ関連付けカウンタが増分され、その値が３以上の場合、現キラリティがキラリティ関連付けカウンタの符号に設定される。現キラリティがラセミでなく、現キラリティとオクタント距離の符号が異なる場合は、候補オクタントを現オクタントに置き換えることで、提案されたオクタントの進行は無効にされる。結果の距離は、終了前にゼロにされる。
【０１２０】
図１９は、運動レポートを用いて現在の量子化方位を更新するための例示的プロシージャを示す。まず、運動合計が運動レポートから更新される。運動合計から候補オクタントが取得され、運動レポートから最新のオクタントが取得される。候補オクタントは、十分なオクタントアクティビティのためにフィルタリングされ、その後、緩和される。最後に、候補オクタントは、適切なキラリティ関連付けのためにフィルタリングされ、現在の方位がその候補オクタントで置き換えられる。アクティビティフィルタ及び関連付けフィルタは、候補オクタントが現在のオクタントで置き換えられる結果を生じうる点に留意されたい。そのような状況では、現在の量子化方位は変化しないままである。
【０１２１】
図２０は、方向関連持続縮小状態を、初期運動方向および初期キラリティから初期設定するための例示的プロシージャを示す。運動合計がクリアされ、初期量子化方位が取得される。続いて、アクティビティ累算値、アクティビティ閾値、および、キラリティ関連付けカウンタがクリアされる。最後に、現キラリティが、提供された初期キラリティで置き換えられる。
【０１２２】
図２１は、提供された運動レポート、符号、及びオクタント方位から、１次元分数出力累算値を更新するための例示的プロシージャを示す。その累算値には、運動レポートとオクタント方位とのドット積に符号とコンテキスト依存ゲインパラメータ(context dependent gain parameter)を乗じたものが加えられる。得られた累算値が返される。
【０１２３】
図２２は、分数出力累算値の整数部分を抽出するための例示的プロシージャを示す。整数部分は、累算値をその基数で割り、次いで、その結果をゼロ方向へ丸めることで取得される。その後、抽出した整数部分にその基数を乗じたものを減ずることで、分数が更新される。
【０１２４】
図２３は、供給された抽出整数出力から初期符号を検出するための例示的プロシージャを示す。副次的な効果として、供給された出力符号、出力分数累算値、および、変換状態が更新される。供給された整数出力がゼロの場合、いかなる動作も実行せずにプロシージャは終了する。そうでない場合は、供給された変換状態変数がキラル状態に更新される。次に、提供された符号が提供された整数出力と比較される。これらの２つの値の符号が同じ場合、提供された運動レポートを用いて、方向関連持続縮小状態がラセミキラリティで初期設定される。そうでない場合は、提供された符号および分数累算値が、持続状態が初期設定される前に負にされる。
【０１２５】
図２４は、供給された運動レポートの次元を縮小して１次元の結果を生成するための例示的プロシージャを示す。供給された軸パラメータを用いて、方向関連持続状態が初期設定される。供給されたモーダル記述子は、縮小状態をいつ初期設定すべきかを示す。その記述子が真の場合、方向関連状態が、供給された運動レポートを用いてラセミに初期設定され、出力符号は垂直軸に関しては負に初期設定され、水平軸に関しては正に初期設定され、出力累算値はクリアされ、また、内部変換状態変数はＩに設定される。次に、分数出力が累算され、整数出力が抽出される。変換状態変数がＩ状態にある場合は、続いて、符号の検出が行われる。符号検出は、非ゼロの整数出力が前の抽出で生成された場合に、変換状態変数をＣ状態に発展させるという副次的な効果を有する。これは、供給されたモーダル記述子が縮小状態の初期設定を強制するまで符号検出を停止するという効果がある。この累算・抽出・符号検出パスは、プロシージャ呼出しのたびに実行される。
【０１２６】
供給されたモーダル記述子が偽である場合、変換状態変数はＣに設定され、現在のオクタント方位が更新される。この更新が３オクタント以上の回転の大きさを生成する場合、出力信号は反転される。変換状態変数がＩに設定されている限り、方向は更新されない点に留意されたい。これにより、累算出力は、初期整数出力が生成され、初期符号が検出されるまで、軸に沿った入力運動によって生成される出力に制限される。
【０１２７】
図２５は、拡張モーダル情報で強化されたデバイスレポートストリームを監視し、ポインティングか、２つの異なる１次元ＧＵＩタスクのいずれかのためにデータをディスパッチするための例示的プロシージャを示す。拡張モーダル情報が、垂直方向のＧＵＩタスクが実行されることを指定する場合、垂直方向縮小のためにレポートがディスパッチされ、その結果を用いてタスクが実行される。拡張モーダル情報が、水平方向のＧＵＩタスクが実行されることを指定する場合、水平方向縮小のためにレポートがディスパッチされ、その結果を用いてタスクが実行される。それ以外の場合、ポインティングのためにレポートがディスパッチされる。縮小のためにレポートがディスパッチされる場合、ある内部状態変数が維持される。この状態変数は、ポインティングレポートの後の最初の縮小レポートについて真である。この状態変数は内部縮小状態を初期設定するために用いられる。
【０１２８】
図９から図２５の方法は、相対運動動作が可能な任意のポインティングデバイスとともに使用するために設計されている。この方法の幾つかのパラメータは、種類の異なるデバイスを用いて最適な操作を行うことができるよう、調整可能である。表１１は、マウスとともに使用するのに適したこれらのパラメータの値を一覧にしたものである。表１２は、Ｓｙｎａｐｔｉｃｓ，Ｉｎｃ．が製造したタッチパッドとともに使用するのに適した値を示す。
【表１１】
2012027942.tif 000021
【０１２９】
この２つのデバイスの違いは主にゲインに関連する。タッチパッドはマウスよりも感度が高く、そのため、同様の感触（feel）をもたらすよう、分数累算値基数は更に大きい。同様に、オクタントアクティビティゲインパラメータもまた大きい。通常、タッチパッドはマウスよりもノイズが多いので、非ゼロのタッチパッドアクティビティノイズパラメータはオクタントアクティビティを徐々に減らし、進行に十分なアクティビティを累積することを更に困難にする。
【表１２】
2012027942.tif 000022
【０１３０】
出力分数累算値ゲインは両デバイスとも１であるが、縮小モードの全体的な感度を調整するために異ならせることもできる。通常、このパラメータは、コンフィギュレーションインターフェースを介してユーザごとにカスタマイズすることができる。
【０１３１】
状態進行図
【０１３２】
図２６から図２９は、前述した縮小プロシージャを幾つかの例示的な２次元経路に適用した結果を示す。各図面は例示的な経路と状態進行テーブルを含む。状態進行テーブルは、経路を処理したときの縮小状態の進行を示す。状態進行テーブルの左端列は経路の最初のセグメントに対応し、右端列は最後のセグメントに対応する。図示の持続状態値は、関連する経路セグメント処理の後にとる値である。
【０１３３】
図２６は、２つの垂直方向経路に対する初期符号の発見を示す。ここで、これらの経路の一方は大きく上方（北）に移動し、もう一方は下方（南）に大きく移動する。どちらの場合も、縮小プロシージャは、初期南方向と初期負符号を有するように初期設定される。変換状態変数はＩに初期設定される。これは、初期符号が発見されるまではキラル進行が可能ではないことを示す。
【０１３４】
南向き経路に関しては、最初の正変化の後、分数出力累算値は次第に負になる。これは、初期南向きオクタントと南向き運動との正のドット積が、初期負符号によって負にされるからである。第５番目の経路セグメントまでに、整数出力を生成するために十分な分数出力が累積される。この時点で、変換状態はキラルに変わり、回転の進行が可能になる。しかし、初期方位と入力経路は一致することから、量子化方位は変化しない。整数出力は負であり、そのため、出力符号も変化しない。
【０１３５】
北向き経路に関しては、最初の負変化の後、分数出力累算値は次第に正になる。これは、初期南向きオクタントと概ね北向きの運動との負のドット積が、初期負符号との乗算によって正にされるからである。第５番目の経路セグメントまでに、正の整数出力を生成するために十分な分数出力が累積される。北向きの移動が整数出力を生成したので、キラル量子化方位はＮに設定される。整数出力は正であり、よって、符号状態変数も正に変わる。
【０１３６】
図２７は、直線方向反転を含む例示的な入力経路を示す。この方向変化により与えられる出力符号の変化は、関連する状態進行テーブルにおいて太線で区別されている。このテーブルから留意すべき第１の点は、第３行および第４行の局所累積デルタがほとんど常に正規化されていることである。これは、オクタントの進行時、及び最新オクタントと候補オクタントが非整合である場合はいつでも正規化が行われるからである。留意すべき第２の一般的なパターンは、現オクタントは最新オクタントよりわずかに遅れる傾向があるという点である。これは、オクタントを進行させるのに必要な運動量が、単一のレポートで得ることの可能な運動量を超える可能性があるからである。例えば、セグメント３はＳＥを向いているが、同じくＳＥを向いているセグメント４の処理後まで、量子化方位はＳからＳＥへ調整されない。その処理のときにだけ、オクタントアクティビティが進行閾値を十分に超える。直線反転符号変化はセグメント１６で発生し、ここでオクタント方位が反転する。セグメント１８まで正の整数出力が生じない点に留意されたい。
【０１３７】
図２８は、８の字図形の入力経路と、わずかに１を超える回数の該経路の通行に対応する状態進行テーブルを示す。回転符号反転が２回誘起され、それぞれ経路の北向きセグメントで発生する。キラリティを確立するためには３オクタントの変化が必要である点に留意されたい。各キラリティ関連付けの後、現在の方位は、回転が反転して、確立されたキラリティと反対になる間、固定される。移動方向が更に３オクタント回転すると、反転が起きる。従って、全体としては、６オクタントの回転ごとに反転が生じ、すなわち、図形を通行するたびに２回反転が生じる。図形を２回以上通行する場合は、反転が開始位置で示され続ける点に留意されたい。
【０１３８】
図２９は、速度関連進行マスキングから生じる直線反転を示す。最初の高速回転の後、より高速の直線運動が続き、その後、連続する、より小さく、より低速の回転が続く。高速運動は、オクタントを進行させるには不十分なアクティビティを次のより遅い回転が生成するよう、オクタントアクティビティ閾値を増加する。経路がＮからＮＷ、Ｗ、ＳＷへと回転する間、現在の量子化方位はＮにとどまる。増加したアクティビティ閾値を克服するには、次の継続した南向き運動だけで十分であるが、そのときまでにＮおよびＳ間の４オクタント差が直線反転を引き起こす。
【０１３９】
図２９の回転は、図２８に示される回転誘起反転と区別すべきである。図２９の反転は図２７に示される反転に類似している。完全な軌道反転を人間が実行するのは非常に困難であり、そのために、ほとんどが少なくとも少量の垂直回転運動を含む。図２９における急減速は、比較的高いアクティビティ閾値を後に残し、直線反転中に許容される垂直運動の量を増加する。
【０１４０】
任意付加的な特徴
【０１４１】
前述の相対運動型縮小モードの潜在的な難点は、いずれかの運動方向およびいずれかの回転方向が時として、いずれかの出力符号に束縛されうることである。この点は、連続的な運動にとっては特に顕著ではない。というのも、実行される１次元ＧＵＩタスクによって提供される視覚的フィードバックが、連続性の感覚をもたらすからである。つまり、連続したユーザ動作は同じ方向の移動を生じ、反転は反対方向の移動を生じる。しかし、ポインティングデバイスが非連続的な複数の急移動を行うように動くと、この連続性は失われ、所望の結果を生じる運動方向を思い出すことがより困難になる。したがって、一部のユーザは、ポインティングデバイスがある期間にわたって非アクティブ状態となった後に縮小モードを初期状態にリセットすることを望むかもしれない。この期間の長さは個人の好みによって決まり、また、様々な値となりうる。
【０１４２】
更に、より単純であるがより性能の低いオプションは、符号の付かない縮小モードを使用する。符号は、拡張モーダル情報を通じた入力に基づいて定められるか、あるいは、初期移動方向によって定められる。どちらの場合でも、符号はモードの呼出しごとに固定される。出力の大きさは、依然として、移動した入力距離に比例しており、限界のない出力を可能にしている。
【０１４３】
本文に説明した幅広い概念に対して、多くのその他の変形および拡張を実施してよい。更に、本文中に説明した技術を幅広いコンピュータ環境にわたって、また、多様な入力デバイスとともに用いてよい。
【０１４４】
前述の詳細な説明で少なくとも１つの実施形態を示しているが、当然のことながら多数の等価の変形例があってよい。当然のことながら、例示した実施形態は単なる例であって、発明の範囲、利用性、あるいは構造をどのようにも限定しないことを意図する。むしろ、前述の詳細な説明は当業者に例示の実施形態を実装するための便利な指針を提供するものであり、要素の機能や配置に関して、添付の請求項に説明した発明の範囲、およびそれらの法的な均等物から逸脱することなく様々な変更を加えられることが理解される。
【符号の説明】
【０１４５】
Ｓ１−Ｓ４０…レポート、２０２…２次元入力空間、２０４…１次元出力信号ストリーム、２０５…セグメント、２０６…入力デバイスの経路、２０８…出力ストリームの最初の信号、２１０…出力ストリームの最後の信号。
【誤訳訂正２】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
入力デバイスによって検出された運動に基づいて所望のユーザインターフェースナビゲーションタスクを指示する方法であって、前記運動は、第１の方向を有する第１の部分と、前記第１の方向とは実質的に反対の第２の方向を有する第２の部分とを含み、
一連の２次元信号を受信するステップであって、第１の複数の前記２次元信号は前記運動の前記第１部分に対応し、第２の複数の前記２次元信号は前記運動の前記第２の部分に対応するステップと、
前記一連の２次元信号の少なくとも一部を処理して、少なくとも２つの前記２次元信号間の距離を各々が表す複数の２次元信号間距離値を求め、更に、前記運動の方向を表す、前記第１及び第２の部分の共通極性を求めるステップと、
複数の１次元出力信号の各々についての大きさを決定するステップであって、その大きさの各々が前記２次元信号間距離値の少なくとも１つに基づいて決定されるステップと、
前記複数の１次元出力信号を提供し、それにより、前記所望のユーザインターフェースナビゲーションタスクを指示するステップであって、前記複数の１次元出力信号の各々は、前記２次元信号の少なくとも１つに応答して提供され、更に、前記共通極性を有する、ステップと
を含む方法。
【請求項２】
前記受信するステップは更に、前記運動の第３の部分に対応する第３の複数の２次元信号を受信するステップと、前記第３の複数の２次元信号に応答して前記共通極性とは反対の極性を有する第２の複数の１次元信号を生成するステップとを含む、請求項１記載の方法。
【請求項３】
前記運動の前記第３の部分は、前記運動の前記第２の部分の実質的な反転に対応する、請求項２記載の方法。
【請求項４】
前記反転は、前記運動の確立された回転方向から徐々に逸脱する動きを含んでいる、請求項３記載の方法。
【請求項５】
前記確立された回転方向は、前記運動の前記第１および第２の部分における十分な回転から少なくとも部分的に決定される、請求項４記載の方法。
【請求項６】
前記２次元信号の少なくとも１つに関連付けられた現在の方位を決定するステップであって、前記現在の方位が複数の量子化方位の１つに関連付けられているステップを更に含む請求項１記載の方法。
【請求項７】
前記現在の方位を、前記複数の量子化方位から選択された候補方位で更新するステップであって、前記候補方位が、前記候補方位の方向における整合性のある運動を、十分な運動が発生するまで累積することによって決定されるステップを更に含む請求項６記載の方法。
【請求項８】
前記１次元出力の大きさが、前記２次元信号間の距離に比例する、請求項１記載の方法。
【請求項９】
ユーザによって与えられる２次元運動を受け、かつ、前記２次元運動に対応する複数のインクリメンタル２次元信号を生成するように構成された入力デバイスであって、前記２次元運動が、第１の方向を有する第１の部分と、前記第１の方向とは実質的に反対の第２の方向を有する第２の部分とを含む、入力デバイスと、
前記ユーザにユーザインターフェースを提示するように構成されたディスプレイであって、前記ユーザインターフェースが、前記ユーザによって与えられる前記２次元運動に応答してスクロールするコンテンツを提示するウィンドウを有する、ディスプレイと、
前記入力デバイスと前記ディスプレイとに結合されたプロセッサと、
を備え、
前記プロセッサは、前記入力デバイスから前記複数の２次元信号を受信し、前記２次元信号を処理して、少なくとも２つの前記２次元信号間の距離を表す少なくとも１つの距離値を求め、前記２次元運動の前記第１及び第２の部分の共通キラリティを求め、かつ、前記ユーザインターフェースの前記ウィンドウ内に提示されるコンテンツを、前記共通キラリティによって決定される方向に、前記少なくとも１つの距離値とともに変化する大きさだけスクロールするように構成されている、
データ処理システム。
【請求項１０】
前記共通キラリティが、前記２次元運動による主として円形の移動の優勢な方向から求められる、請求項９記載のデータ処理システム。
【請求項１１】
より大きな円形の移動が、より小さな円形の移動よりも大きなスクロールを生成する、請求項１０記載のデータ処理システム。
【請求項１２】
前記スクロールの大きさが、前記２次元運動により移動した距離に比例する、請求項９記載のデータ処理システム。
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】全図
【訂正方法】変更
【訂正の内容】
【図１】
2012027942.tif 000023
【図２】
2012027942.tif 000024
【図３】
2012027942.tif 000025
【図４】
2012027942.tif 000026
【図５】
2012027942.tif 000027
【図６】
2012027942.tif 000028
【図７】
2012027942.tif 000029
【図８】
2012027942.tif 000030
【図９】
2012027942.tif 000031
【図１０】
2012027942.tif 000032
【図１１】
2012027942.tif 000033
【図１２】
2012027942.tif 000034
【図１３】
2012027942.tif 000035
【図１４】
2012027942.tif 000036
【図１５】
2012027942.tif 000037
【図１６】
2012027942.tif 000038
【図１７】
2012027942.tif 000039
【図１８】
2012027942.tif 000040
【図１９】
2012027942.tif 000041
【図２０】
2012027942.tif 000042
【図２１】
2012027942.tif 000043
【図２２】
2012027942.tif 000044
【図２３】
2012027942.tif 000045
【図２４】
2012027942.tif 000046
【図２５】
2012027942.tif 000047
【図２６】
2012027942.tif 000048
【図２７】
2012027942.tif 000049
【図２８】
2012027942.tif 000050
【図２９】
2012027942.tif 000051