(57)【特許請求の範囲】
【請求項１】
マウスが、
少なくとも１つの比較器と、
複数の発光ダイオードと、
複数のフォトトランジスタと、
カウンタ出力を生成する少なくとも１つのカウンタと、
互いに独立した複数の軸とを有し、
（ａ）前記フォトトランジスタを放電するステップと、
（ｂ）前記比較器が前記カウンタ出力と前記フォトトランジスタの応答時間（Ｔｍｉｎ）を比較するステップと、
（ｃ）前記発光ダイオードをオンにするステップと、
（ｄ）前記カウンタを使用して前記応答時間（Ｔｍｉｎ）の２倍までカウントするステップと、
（ｅ）サンプリング時間と放電時間との和であるサンプリングレートにおいて前記フォトトランジスタと前記カウンタとの出力を監視するステップと、
（ｆ）前記カウンタ出力が応答時間（Ｔｍｉｎ）未満であり前記フォトトランジスタ出力が高レベルであれば、前記マウス出力を第１の値に決定するステップと、
（ｇ）前記カウンタ出力が応答時間（Ｔｍｉｎ）以上であり前記フォトトランジスタ出力が高レベルであれば、前記マウス出力を前記第１の値に決定するステップと、
（ｈ）前記カウンタ出力が応答時間（Ｔｍｉｎ）未満であり前記フォトトランジスタ出力が高レベルであれば、前記応答時間（Ｔｍｉｎ）を前記カウンタ出力に等しくするように前記サンプリングレートを調整するステップと、
（ｉ）前記カウンタ出力が前記応答時間（Ｔｍｉｎ）の２倍以上であれば、前記マウス出力を第２の値に決定するステップと、
（ｊ）前記マウス出力を前記コンピュータに提供するステップと、
（ｋ）前記発光ダイオードをオフにするステップとを有することを特徴とするコンピュータに使用するマウスの動きを決定する方法。
【請求項２】
前記フォトトランジスタ出力が所定時間低ければ、前記応答時間（Ｔｍｉｎ）を最大値に等しくするステップをさらに有することを特徴とする請求項１に記載の方法。
【請求項３】
前記サンプリング時間が、前記応答時間の２倍から１を引いた値（２Ｔｍｉｎ−１）であり、
前記放電時間が、前記フォトトランジスタすべての放電に必要な時間であることを特徴とする請求項１に記載の方法。
【請求項４】
前記放電時間が、約２１μ秒であり、
前記応答時間（Ｔｍｉｎ）が、少なくとも１２８値のデジタル解像度を有することを特徴とする請求項３に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータに使用するポインティングデバイスに関する。さらに詳しくは、コンピュータマウスに使用する光学部品のダイナミックレンジを拡大可能な改良サンプリング方式を実現する方法およびシステムに関する。
【０００２】
【従来の技術】
ゾンマーの米国特許第５，２５６，９１３号（以下では第９１３号特許という）は、コンピュータマウスにおける動きの差異を検出するために用いる電子部品および回路を開示する。第９１３号特許が詳述する通り、マウスは一般に発光ダイオード（ＬＥＤ）とフォトトランジスタ（ＰＴＲ）のペア等の光学部品を使って動きを決定する。これら部品は大きな製造ばらつきを有し、このばらつきはマウスの動きを決定する際に問題を引き起こす。なぜならマウス電気系のダイナミックレンジは狭いからである。
【０００３】
この製造ばらつきを克服するため、様々な方法が用いられている。１方法は、光学部品をテストし分類して、システム要件に合う部品を確実に選ぶ。ＬＥＤおよび光検出器（例えばフォトトランジスタ）は、同一製造業者により同一機械によって同一日に製造されても、輝度や感度が広くばらつくことがある。例えばＬＥＤは、同じ印加電力に対して個々の明るさにばらつきがある。また光検出器は、同じ光量に対して個々の検出能力にばらつきがある。前記１方法は、明るいＬＥＤと弱い光検出器を組合せ、暗いＬＥＤと強い光検出器を組み合わせる。これにより光学部品の強さと弱さのバランスを取る。この方法は部品を強さによって分類し容器に入れる。製造業者は、適切な組合せの光学部品をマウスに組み込むことができる。
【０００４】
他の方法は、複雑な電気回路を設計し、それを用いてシステムゲインを動的に調整し、光学部品のばらつきを補償する。一般的なやり方は、抵抗を用いて光学部品の強さと対応する信号とを制御することである。製造中にマウス回路板を組み立て、そこに電力を供給する。テスト装置によって信号強さを測定し、可変抵抗を調整し、光学部品の強さと弱さを補償する。
【０００５】
【発明が解決しようとする課題】
これら各方法は、製造に用いるには複雑で高価である。これら方法を使用して製造ばらつきを克服すると、マウスの製造コストが著しく上がり、マウスの製造に時間がかかり、利益を圧迫する。
【０００６】
本発明の目的は、コンピュータマウスに使用する光学部品のダイナミックレンジを拡大可能な改良マウス光学サンプリング方式を提供することである。
【０００７】
【課題を解決するための手段】
本発明の概要を説明する。本発明の発明の実施の形態は、コンピュータに使用するマウスの動きを決定する方法である。少なくとも１つのカウンタステートマシンを用いて少なくとも１つのフォトトランジスタステートマシンを制御する。少なくとも１つのフォトトランジスタステートマシンをサンプリングレートにおいて使用することにより、適切なマウス出力を決定する。サンプリング毎に前記サンプリングレートを調整し、不良なデューティーサイクル制御に対するシステム感度を最低にすることが好ましい。さらにＴｍｉｎ値を調整することにより、各フォトトランジスタステートマシンのデューティーサイクルを最適にする。そしてマウス出力をコンピュータに提供する。各フォトトランジスタステートマシンのデューティーサイクルを最適化し、不良なデューティーサイクル制御に対するその感度を最低にすることにより、光学部品のダイナミックレンジを拡大してマウスに適用できる。
【０００８】
もちろん本発明の実施の形態の方法およびシステムは、他の要素およびまたはステップを含んでも良い。
【０００９】
本明細書は他の発明の実施の形態も開示する。それら発明の実施の形態は全て請求の範囲に含まれる。
【００１０】
【発明の実施の形態】
本発明は、改良マウス光学サンプリング方式を実現する方法およびシステムを提供する。このサンプリング方式は、コンピュータマウスに使用する光学部品のダイナミックレンジを拡大できる。特に本発明は、動的サンプリングレートを用いることによって従来技術の問題点を克服する。この動的サンプリングレートは応答時間（Ｔｍｉｎ）に依存し、この応答時間は各サンプリング評価毎に調整することが好ましい。この調整（すなわち学習）において、Ｔｍｉｎを最大値から最適値に調整するのに１サンプリングで良い。さらに本発明は、高いＴｍｉｎ解像度を用いてマウス追跡性能を向上させる。これを実現するため本発明は、デューティーサイクルエラーを防止し、デューティーサイクル調整範囲を良好にし、高速光学部品に対してより高速なサンプリングレート（すなわち小さいＴｍｉｎ値）を提供する。このように本発明は従来技術の問題点を克服し、より大きなダイナミックレンジの光学部品を製造業者がコンピュータマウスに使うことを可能にする。
【００１１】
（定義）
詳細な説明の前に、用語を定義して本発明の理解を助ける。
【００１２】
「調整部」とは、ＸＹＺ光検出器調整回路である。
【００１３】
「ボタン論理部」とは、マウスの外部ボタン（すなわちスイッチ）から入力を受け取り、それをアプリケーションインタフェースに提供する標準回路である。
【００１４】
「比較器」とは、２つの量を比較し、両者の等価性を決定する装置である。
【００１５】
「カウンタ」とは、プログラミング変数、ハードウエアチップ、またはハードウエアチップの一部であり、カウントすべき対象を追跡する。
【００１６】
「カウンタステートマシン」とは、光学部品サンプリングにおいて経過時間を監視するステートマシンである。
【００１７】
「デジタル解像度」とは、デジタル信号においてサンプル値を記録するために使用するビット数である。
【００１８】
「放電時間」とは、フォトトランジスタステートマシンが監視する全フォトトランジスタの電荷を消滅させるために必要な時間である。
【００１９】
「デューティーサイクル」とは、フォトトランジスタの信号状態が論理レベル「高」にある時間のパーセントである。一定速度で動いているマウスのフォトトランジスタの理想的デューティーサイクルは５０％である。
【００２０】
「発光ダイオード」（ＬＥＤ）とは、充電すると光を発する半導体ダイオードである。
【００２１】
「マウス」とは、コンピュータユーザに対してコンピュータへの位置データを入力することを可能にするポインティングデバイスである。この位置データは、一般にグラフィックディスプレイにおける矢印や十文字のアイコンの位置を特定するために使う。
【００２２】
「位相」とは、マウスの所定軸に使用する２つの光検出器間の電気信号タイミングである。位相は、マウス内の光源、光検出器、およびエンコーダホイール間の関係で決まる。
【００２３】
「光検出器」とは、光ファイバ中の光パルスを検出し、それを電気パルスに変換するデバイスであり、光導電性の原理を用いる。光導電性は、光にさらすと導電性を変化させる物質に見られる。
【００２４】
「フォトトランジスタ」（ＰＴＲ）とは、光検出器の１種であり、光検出能力を持つトランジスタである。
【００２５】
「フォトトランジスタステートマシン」とは、マウスの動きを決定する光検出器の出力を監視するステートマシンである。
【００２６】
「応答時間」（Ｔｍｉｎ）とは、ＬＥＤを点灯してから閾値電圧（Ｖｔｈ）以上の電圧を光検出器が検出するのに要する最小時間である。
【００２７】
「サンプリングレート」とは、マウス等を用いるデジタル化動作において、サンプルを抽出しそれをデジタル形式に変換する作業の頻度である。サンプリング頻度は、抽出しようとするアナログ周波数の少なくとも２倍でなければならない。
【００２８】
「ステートマシン」とは、有限ステートマシンとも呼び、動作状態に基づいて特定問題を解決する装置である。ステートマシンは、アプリケーション用に最小化、特化、および最適化する。例えばオーディオチップ、ビデオチップ、イメージコントローラチップは、ステートマシンとして設計することが多い。なぜならステートマシンは、汎用ＣＰＵに比べ、動作速度が速くコストが低いからである。
【００２９】
「閾値を越える時間」（Ｔｃｒｏｓｓ）とは、光源の出力および対応する光検出器の入力が閾値電圧を越えるのに要する時間である。前記閾値電圧は、論理「０」と「１」とを区別する電圧である。
【００３０】
「ユニバーサルシリアルバス］（ＵＳＢ）とは、キーボード、マウス、ジョイスティック、スキャナ、プリンタ、電話装置等の低速周辺機器用ハードウエアインタフェースである。
【００３１】
「ＸＹ学習部」とは、Ｘ軸およびＹ軸のＴｍｉｎ値を最大値にリセットするタイミングを決定する回路である。
【００３２】
（汎用パーソナルコンピュータ）
本発明に基づくマウスは、汎用パーソナルコンピュータ等のコンピュータに使用する。本発明の実施に適したコンピュータ環境を図１に基づき広く簡単に説明する。まずコンピュータ実行可能命令に関連して本発明を説明する。コンピュータ実行可能命令は、例えばプログラムモジュールであり、パーソナルコンピュータ、シングルチップマイクロプロセッサ、特定用途ＩＣ等によって実行する。一般にプログラムモジュールは、ルーチン、プログラム、オブジェクト、部品、データ構造等を含み、特定のタスクや特定の抽象データタイプを実行する。当業者には明らかなように、本発明は携帯装置、マルチプロセッサシステム、マイクロプロセッサベース家庭電子製品、プログラム可能家庭電子製品、ネットワークＰＣ、マイクロコンピュータ、メインフレームコンピュータ等にも適用可能である。本発明は分散コンピューティング環境においても実施できる。この環境は、通信ネットワークでリンクした遠隔地の処理装置によってタスクを実行する。分散コンピューティング環境は、局所記憶装置および遠隔記憶装置にプログラムモジュールを配置できる。
【００３３】
図１は本発明を実施するシステム例を示し、汎用コンピュータを含む。この汎用コンピュータは、従来のパーソナルコンピュータ２０であり、プロセッサ２１と、システムメモリ２２と、システムバス２３とを含む。システムバス２３は、システムメモリ等の様々なシステム部品をプロセッサ２１に接続する。システムバス２３の構造は、どのようなタイプでも良い。例えばメモリバス、メモリコントローラ、周辺バス、ローカルバス等のバス構成を用いることができる。システムメモリは、リードオンリメモリ（ＲＯＭ）２４とランダムアクセスメモリ（ＲＡＭ）２５とを含む。基本入出力システム２６（ＢＩＯＳ）は基本ルーチンを含む。この基本ルーチンは、ＲＯＭ２４に格納し、起動時等にパーソナルコンピュータ２０内の各要素間の情報転送を支援する。パーソナルコンピュータ２０は、ハードディスク（図示せず）を読み書きするためのハードディスクドライブ２７をさらに含む。コンピュータ２０は、取出し可能磁気ディスク２９を読み書きするための磁気ディスクドライブ２８と、ＣＤＲＯＭ等の光媒体である取出し可能光ディスク３１を読み書きするための光ディスクドライブ３０とをさらに含む。ハードディスクドライブ２７と磁気ディスクドライブ２８と光ディスクドライブ３０とは、各々ハードディスクドライブインタフェース３２と磁気ディスクドライブインタフェース３３と光ドライブインタフェース３４とを介して、システムバス２３に接続する。これらドライブおよび関連するコンピュータ読取り可能媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、その他データを格納するための不揮発性記憶手段をパーソナルコンピュータ２０に提供する。ここに例示した環境は、ハードディスク、取出し可能磁気ディスク２９，および取出し可能光ディスク３１を使用するが、コンピュータアクセス可能データを格納できる他のコンピュータ読取り可能媒体を用いても良い。コンピュータ読取り可能媒体の例として、磁気カセット、フラッシュメモリカード、デジタル汎用ディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）等がある。
【００３４】
ハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、ＲＡＭ２５は、多くのプログラムモジュールを格納できる。例えばオペレーティングシステム３５，１つ以上のアプリケーションプログラム３６，その他プログラムモジュールや部品３７，プログラムデータ３８等である。ユーザは、キーボード４０やポインティングデバイス４２等の入力装置を介して、パーソナルコンピュータ２０にコマンドや情報を入力する。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナ等がある。これら入力装置は、システムバスに接続したシリアルポートインタフェース４６を介してプロセッサ２１に接続する場合が多い。しかしながらパラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）等のインタフェースによって接続することもできる。モニタ４７等の表示装置は、ビデオアダプタ４８等のインタフェースを介してシステムバス２３に接続する。１つ以上のスピーカ５７は、オーディオアダプタ５６等のインタフェースを介してシステムバス２３に接続する。モニタおよびスピーカに加え、パーソナルコンピュータは一般にプリンタ等の周辺出力装置（図示せず）を含む。
【００３５】
パーソナルコンピュータ２０は、ネットワーク環境で動作させ、１つ以上の遠隔コンピュータへの論理接続を使用することもできる。各遠隔コンピュータ４９は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、共通ネットワークノード等である。各遠隔コンピュータ４９は、前記パーソナルコンピュータ２０に関連して説明した要素の多くあるいは全てを含む。ただし図１は記憶装置５０のみを示す。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１と、ワイドエリアネットワーク（ＷＡＮ）５２とを含む。このようなネットワーク環境は、事務所、企業コンピュータネットワーク、イントラネット、およびインターネットにおいて普及している。図１において、遠隔コンピュータ４９は、ローカルエリアネットワーク５１を介してパーソナルコンピュータ２０と通信する。また遠隔コンピュータ４９は、ワイドエリアネットワーク５２を介してパーソナルコンピュータ２０と通信する。
【００３６】
ＬＡＮ環境で使用する場合、パーソナルコンピュータ２０は、ネットワークインタフェースまたはアダプタ５３を介してローカルネットワーク５１に接続する。ＷＡＮ環境で使用する場合、パーソナルコンピュータ２０は、一般にモデム５４等の手段を含み、インターネット等のワイドエリアネットワーク５２を介して通信を確立する。モデム５４は内蔵または外付けであり、シリアルポートインタフェース４６を介してシステムバス２３に接続する。ネットワーク環境の場合、パーソナルコンピュータ２０のプログラムモジュールは、遠隔記憶装置に格納しても良い。図示のネットワーク接続は例であり、コンピュータ間の通信リンクは他の手段で確立しても良い。
【００３７】
（マウスに使用可能な電子回路）
図２は、本発明に基づくマウスに使用可能な電子回路の概念図である。コンピュータマウス４２は、動きの差異を検出する回路部を有する。この回路部は、ＬＥＤ２００等の光源と光検出回路２０２とを共通に含む。この共通回路の詳細は第９１３号特許を参照できる。
【００３８】
発明の背景で説明したように、第９１３号特許は、コンピュータマウスにおける動きの差異を検出するための電子部品と回路とを開示する。さらに第９１３号特許は、マウスに適用可能な特定デバイスおよび回路を開示する。これらデバイスや回路は、低コストの光源と光検出器のペア、単一チップマイクロプロセッサ、特定用途ＩＣ等を用いる。当業者には明らかなように、本発明の方法およびシステムは、第９１３号特許の１つ以上のデバイスおよび回路を使用して実施することが好ましい。従って第９１３号特許（図面および明細書を含む）は参照によってここに組み込む。
【００３９】
（構造、状態情報、および本発明の性能）
図３は、本発明に適した特定用途ＩＣ（ＡＳＩＣ）の主な機能ハードウエアモジュールを示す。アプリケーションインタフェース３００，ＵＳＢ送受器３０２，ＵＳＢデバイスコア３０４、記述子ＲＯＭ３０６、電圧調整器３０８，発振器３１０，クロックリセット３１２，ボタンロジック３１４の各モジュールは、当業者に良く知られている。従ってこれらモジュール３００〜３１４は説明しない。一方マウス論理モジュール３１６は、本発明に基づく基本要素を備えるため、詳細に説明する。
【００４０】
マウス論理モジュール３１６は、マウスパケットデータを発生するために必要な全機能を実行する。このマウスパケットデータは、最終的にコンピュータ２０に提供する。既知のボタン論理セル３１４に加え、マウス論理モジュール３１６は、ＸＹＺ光ゲイン調整論理セル３１８と、ＸＹカウンタステートマシン３２０と、ＸＹ学習セル３２２と、Ｚカウンタステートマシン３２４とを含む。
【００４１】
ＸＹＺ光ゲイン調整論理セル３１８の目的は、各フォトトランジスタの光ゲイン（マウスが一定速度で動いている際の）に関わらず、各光検出回路２０２内の各フォトトランジスタのデューティーサイクルを約５０％にすることである。ＸＹＺ光ゲイン調整論理セル３１８は、ＬＥＤ２００をオンにし、光検出回路２０２への入力すなわち光検出回路２０２内の各フォトトランジスタへの入力を監視することにより、前記目的を達成する。ＬＥＤ２００を制御し各フォトトランジスタへの入力を監視することにより、ＸＹＺ光ゲイン調整論理回路３１８は、応答時間（Ｔｍｉｎ）を調整するタイミングすなわちサンプリングレートを調整するタイミングを決定できる。
【００４２】
このサンプリングレートは、各フォトトランジスタのゲインに依存する。本発明において、サンプリングレートはサンプリング時間と全フォトトランジスタを放電する時間との和である。サンプリング時間は、システム内の全フォトトランジスタの応答時間の２倍から１を減算した値（２Ｔｍｉｎ−１）の最大値である。この動的サンプリングレートは、重要な特長である。Ｔｍｉｎ解像度が最悪の場合（Ｔｍｉｎ値が小さいと解像度が悪くなりデューティーサイクル調整が悪化する）、サンプリングレートを増加させる。この動的サンプリングレートは、速い光学部品に対してダイナミックレンジを約２倍に拡大する。サンプリングレートが速いと、デューティーサイクルに対するシステム感度が悪化するからである。各フォトトランジスタの放電時間は、一般に約２１μｓｅｃ（６６７ｎｓにおいて３２カウント）である。従って最大サンプリングレートは約１９２μｓｅｃであり、公称サンプリングレートは標準動作周波数１．５ＭＨｚにおいて約３０μｓｅｃである。
【００４３】
マウスの各軸（すなわちＸ軸、Ｙ軸、Ｚ軸）は個別に扱い、それぞれ独立していることが好ましい。それにより各軸のサンプリングレート、サンプリング時間、Ｔｍｉｎを必要に応じて個別に監視し調整でき、デューティーサイクルを最適にできる。フォトトランジスタのサンプリング毎にＴｍｉｎ調整（すなわち学習）を行うことが好ましい。これによりＴｍｉｎ値を最大値または他の値から現在の理想値へ即座に最適化できる。デューティーサイクルの最適化は、Ｔｍｉｎ値に対するデジタル解像度を高めれば、さらに強化できる。従来技術は、わずか８個のＴｍｉｎ値しか利用できず、それを使ってデューティーサイクルを調整しなければならない。本発明は１２８個のＴｍｉｎ値を提供することにより、従来例より約１６００％も向上できる。この多数のサンプリング点は、デューティーサイクル調整において解像度を向上し、デューティーサイクルの理想値５０％からの逸脱を最小にする。
【００４４】
各軸におけるＴｍｉｎ値のデジタル解像度を向上させるため、各フォトトランジスタに７ビットレジスタ（すなわち２７＝１２８）を用いることが好ましい。ＸＹＺ光ゲイン調整ロジックセル３１８は、サンプリング時間追跡用カウンタを含むことが好ましい。本実施例は、最大サンプリング時間が２５５（すなわち２Ｔｍｉｎ−１）であり２８＝１２８であるため、８ビットカウンタが好適である。ＸＹＺ光ゲイン調整ロジックセル３１８は、少なくとも２個のフォトトランジスタステートマシン３２８をさらに含む。これらステートマシンは、各軸の各フォトトランジスタ出力を監視し、必要に応じて各フォトトランジスタのＴｍｉｎを調整する。ＸＹＺ光ゲイン調整論理セル３１８は、マウス４２内の各軸に対して２個のフォトトランジスタステートマシン３２８を有することが好ましい。ＸＹＺ光ゲイン調整論理セル３１８のデジタル比較器は、必要に応じてカウンタのカウント値と各レジスタ内のＴｍｉｎ値とを比較する。
【００４５】
ＸＹ学習セル３２２は、Ｘ軸およびＹ軸に関して１つ以上のＴｍｉｎ値をリセットできる。最大サンプリング時間（すなわち２５６パケット）の間、軸上での動きがなければ、その軸に対するＴｍｉｎ値は最大値に設定することが好ましい。本実施例において、最大Ｔｍｉｎ値は１２８である。前記したように、Ｔｍｉｎ値を最大値に設定すればサンプリング時間とサンプリングレートが増加する。
【００４６】
図４は、本発明に使用する各カウンタステートマシン３２０および３２４の動作例を示すフローチャートである。カウンタステートマシン３２０および３２４は、それらが制御する各軸のマスタステートマシンである。さらに詳しくは、カウンタステートマシン３２０および３２４は、各軸について、サンプリングレートと、放電時間と、カウンタと、ＬＥＤ２００と、フォトトランジスタと、フォトトランジスタステートマシン３２８とを制御する。カウンタステートマシン３２０および３２４を起動すると、自動ゼロ状態Ｓ４００になる。カウンタステートマシン３２０および３２４は、この状態に所定時間（自動ゼロ時間または放電時間）とどまり、光検出器の放電を確実に完了させる。次にカウンタステートマシン３２０および３２４は、フォトトランジスタ解放状態Ｓ４０２に移り、各軸のフォトトランジスタ等の光検出器を有効にする。各軸の各ＬＥＤ２００等の光源はＳ４０４においてオンにする。
【００４７】
次にカウンタステートマシン３２０および３２４は、カウント状態Ｓ４０６へ進む。ステートマシン３２０および３２４は、（ａ）現在のカウントがサンプリング時間（すなわち２Ｔｍｉｎ−１）以下であり（ｂ）該当軸の少なくとも１つのフォトトランジスタステートマシン３２８が遷移状態Ｓ５００にあれば、カウント状態Ｓ４０６にとどまる。（ａ）カウントがサンプリング時間以上か、あるいは（ｂ）該当軸の全フォトトランジスタステートマシンがサンプリング完了状態Ｓ５０２であれば、ステートマシン３２０および３２４はＬＥＤオフ状態Ｓ４０８へ進む。該当軸のＬＥＤ２００等の光源は、すべてＳ４０８においてオフにする。次にステートマシン３２０および３２４は、再学習許可状態Ｓ４１０に移る。Ｔｍｉｎ調整が必要であれば、状態Ｓ４１０において行う。最後にカウンタステートマシン３２０および３２４は、自動ゼロ状態Ｓ４００に戻り、自動ゼロ時間の経過を待つ。
【００４８】
図５は、本発明で使用する各フォトトランジスタステートマシン３２８の動作例を示すフローチャートである。各フォトトランジスタステートマシン３２８は、該当軸の１フォトトランジスタ出力を制御する。さらに各フォトトランジスタステートマシンは、必要に応じて各フォトトランジスタのＴｍｉｎを調整し、そのデューティーサイクルを最適化する。起動後、各フォトトランジスタステートマシン３２８は遷移状態Ｓ５００に入る。遷移状態Ｓ５００にある間、各フォトトランジスタステートマシン３２８は、該当フォトトランジスタと、適用可能Ｔｍｉｎ値と、カウンタとを監視する。フォトトランジスタステートマシン３２８は、（ａ）カウンターのカウントがＴｍｉｎの２倍（すなわち２Ｔｍｉｎ）未満であり（ｂ）該当フォトトランジスタが低レベル（すなわち閾値電圧を越えていない）であれば、遷移状態Ｓ５００にとどまる。（ａ）カウントがＴｍｉｎの２倍（すなわち２Ｔｍｉｎ）以上になるか、または（ｂ）該当フォトトランジスタの出力が高レベルになれば、フォトトランジスタステートマシン３２８は遷移状態Ｓ５００を離れる。
【００４９】
カウントがＴｍｉｎ未満であってフォトトランジスタが高レベルＳ５０４であれば、該当軸の光検出回路出力は「１」または「高」であり、フラグ（Ｎｅｗ＿Ｔｍｉｎ）をセットし、現在のＴｍｉｎ値が前に記憶した値より速いことを示す。従ってサンプリング完了状態Ｓ５０２の後、新しいＴｍｉｎ値を該当レジスタに格納する。カウントがＴｍｉｎ値以上であってフォトトランジスタが高レベルであれば、該当軸の光検出器回路出力は同様に「１」または「高」である。しかしながら現在のＴｍｉｎ値は前に保存した値より速くないため、新しいＴｍｉｎ値は保存しない。カウントが応答時間の２倍（すなわち２Ｔｍｉｎ）以上であってフォトトランジスタが低レベルであれば、光検出器出力は「０」または「低」である。基本的にフォトトランジスタステートマシン３２８は、対応するカウンタステートマシン３２０および３２４のスレーブである。
【００５０】
図６と図７は、本発明の大きな利点を示す。マウスの追跡性能は、３つの主要要素の影響を受ける。すなわち位相、デューティーサイクル制御、サンプリングレートである。光源（すなわちＬＥＤ）と光検出器（すなわちフォトトランジスタ）とエンコーダホイールとの位置が、マウスの位相を決定する。これら位置が理想値からずれると、位相は理想値９０度からずれる。デューティーサイクル制御（光ゲイン調整とも言う）は、各フォトトランジスタのデューティーサイクルを、その光ゲインに関わらず、５０％を実現するよう試みる。各軸において、位相およびデューティーサイクルの組合せが最小状態幅を決定する。最後の要素であるサンプリングレートは、マウスの動きを良好に追跡できるシステムにおいて、前記最小状態幅を超えていなければならない。
【００５１】
図６は、従来のマウスのデューティーサイクル制御と追跡性能とのシミュレーション結果を示す。図６（ａ）において、従来マウスのデューティーサイクルは、十分に制御されていない。従来技術の公称デューティーサイクル制御は約６０％であり、要求デューティーサイクルの５０％ではない。従って図６（ｂ）に示すように、マウス追跡性能は悪い。その性能は、位相が最適値９０度からずれると、さらに悪化する。これらを図７と比較すると、本発明の性能の高さが明らかになる。
【００５２】
図７は、本発明に基づくマウスのデューティーサイクル制御および追跡性能のシミュレーション結果を示す。特に本発明のデューティーサイクル制御は、小さなＴｃｒｏｓｓ値および大きなＴｃｒｏｓｓ値に対して従来技術を大幅に改善する。図示の通り、デューティーサイクル制御は２〜９０μｓｅｃの全Ｔｃｒｏｓｓ値について約５０％である。このデューティーサイクル改善は、Ｔｍｉｎに対する高解像度と大きな遷移時間を許容したことの結果である。この向上したデューティーサイクル制御は、動的サンプリングレートとの組み合わせにより、１μｓ以下〜９０μｓ以上についてほぼ１００％の追跡性能を実現する。これは図７（ｂ）に示すとおりである。本発明システムは、総合ダイナミックレンジを従来の約６：１から約１５０：１へと向上させる。
【００５３】
すなわち本発明は、動的サンプリングレートを使用することにより、従来技術の限界および問題を克服する。前記動的サンプリングレートは応答時間（Ｔｍｉｎ）に依存し、この応答時間はサンプルを評価するたびに調整することが好ましい。この調整（すなわち学習）において、Ｔｍｉｎを最大値から最適値に調整するために必要なのは１サンプリングだけである。さらに本発明は、より高いＴｍｉｎ解像度を使用することにより、デューティーサイクルエラーを防止し、デューティーサイクル調整範囲を拡大し、高速光学部品に対してより速いサンプリングレート（すなわちより小さなＴｍｉｎ値）を提供する。これらによってマウス追跡性能を向上する。このように本発明は、コンピュータマウスに使用する光学部品のダイナミックレンジを拡大する改良マウス光学サンプリング方式を実現するための方法およびシステムを提供する。
【００５４】
（発明の範囲）
特定の発明の実施の形態に基づき本発明を説明してきたが、当業者には明らかなように、本発明を理解しその原理を利用すれば、本発明の請求範囲を逸脱することなく、多くの修正、発明の実施の形態、変更形態が可能である。これらは全て、本発明に含まれるべきものである。従って本明細書および図面は、本発明を制限するものではなくそれを例示するに過ぎない。本発明は、請求の範囲によってのみ制限される。
【図面の簡単な説明】
本発明に基づく部品および処理の具体的形態を発明の実施の形態および添付図面に基づき詳細に説明する。
【図１】本発明に使用可能な汎用コンピュータシステムを示すブロック図である。
【図２】コンピュータマウスの動きの差異を検出する部分を示すブロック図である。
【図３】本発明に使用可能なマウス部品の例を示すブロック図である。
【図４】カウンタステートマシンの処理例を示すフローチャートである。
【図５】フォトトランジスタステートマシンの処理例を示すフローチャートである。
【図６】従来マウスのデューティーサイクル制御および追跡性能のシミュレーション結果を示すグラフである。
【図７】本発明マウスのデューティーサイクル制御および追跡性能のシミュレーション結果を示すグラフである。
【図１】
0003997050.tif 000002
【図２】
0003997050.tif 000003
【図３】
0003997050.tif 000004
【図４】
0003997050.tif 000005
【図５】
0003997050.tif 000006
【図６】
0003997050.tif 000007
【図７】
0003997050.tif 000008