(57)【要約】【課題】データ入力デバイス（マウス）と接触または近接している人間の手が存在していることを正常に検出するために必要な時間とエネルギーを緩和する。【解決手段】静電容量感知は、導体と周囲の接地平面により形成されるスクープキャパシタの容量の相対的変化を検出することで実行される。スクープキャパシタとバケットキャパシタとの間で電荷が移動し、バケットキャパシタの電圧が入力しきい値スイッチに印加される。入力しきい値スイッチの状態遷移を検出し、この状態遷移を引き起こすのに必要な電荷移動のサイクル数を示す値（Ｔｏｕｃｈ　Ｖａｌ）を決定する。デバイスに接近または接触している物体の有無は、Ｔｏｕｃｈ　Ｖａｌと所定のしきい値（Ｔｏｕｃｈ　Ｏｆｆ）とを比較することにより求められる。バケットキャパシタを最初に、反復可能な非ゼロ基準レベルまで充電して、状態遷移を起こす電荷レベルに近づける。【選択図】　　　　図１
2004061502.tif 000002
【特許請求の範囲】
【請求項１】
他の物体との接触、または近接する物体または身体の一部の存在を感知する静電容量感知システムであって、
接地に対して静電結合し、静電容量が、前記物体または身体の一部との近さに応じて変化するスクープキャパシタを形成する第１の導体と、
前記スクープキャパシタの最大容量よりも大きな容量を有するバケットキャパシタを形成する第２の導体及び第３の導体のペアと、
入力しきい値スイッチと、
前記バケットキャパシタの電荷を反復可能な非ゼロ基準レベルに設定する電荷設定手段と、
前記スクープキャパシタ及び前記バケットキャパシタのうち少なくとも１つを電圧源に接続して前記少なくとも１つのキャパシタを充電し、前記電荷設定手段を前記バケットキャパシタに接続して前記バケットキャパシタの電荷を前記反復可能な非ゼロ基準レベルに設定し、前記バケットキャパシタの電荷を前記スクープキャパシタの相対的サイズに関して前記電荷設定手段により設定した前記基準レベルから変化させ、前記バケットキャパシタの電圧を前記入力しきい値スイッチに印加することを選択的に行うためのスイッチング手段と、
前記入力しきい値スイッチの入力状態を検出するための検出手段と、
該検出手段により前記入力しきい値スイッチの遷移が検出されたことに対応する前記バケットキャパシタの電荷の前記変化のサイクル数に関する値（Ｔｏｕｃｈ　Ｖａｌ）を判別する判別手段と、
該Ｔｏｕｃｈ　Ｖａｌに基づいて、前記物体または身体の一部が前記他の物体と接触または近接するＯＮ状態と、前記物体または身体の一部が前記他の物体と接触または近接していないＯＦＦ状態を示す信号を発生する信号発生手段と
を備えたことを特徴とする静電容量感知システム。
【請求項２】
前記少なくとも１つのキャパシタが、前記スクープキャパシタを含み、前記バケットキャパシタの電荷の前記変化に前記スクープキャパシタから前記バケットキャパシタへ電荷を移動することを特徴とする請求項１に記載の静電容量感知システム。
【請求項３】
前記少なくとも１つのキャパシタが、前記バケットキャパシタを含み、該バケットキャパシタの電荷の前記変化に前記バケットキャパシタから前記スクープキャパシタへ電荷を移動することを特徴とする請求項１に記載の静電容量感知システム。
【請求項４】
前記少なくとも１つのキャパシタが、直列に接続されている前記スクープキャパシタと前記バケットキャパシタを含み、該バケットキャパシタの電荷の前記変化に、前記スクープキャパシタにより安定化される前記電圧源で前記バケットキャパシタを充電することを特徴とする請求項１に記載の静電容量感知システム。
【請求項５】
前記Ｔｏｕｃｈ　　Ｖａｌ、または前記Ｔｏｕｃｈ　Ｖａｌから導かれた数値と所定のしきい値（Ｔｏｕｃｈ　Ｏｆｆ）、または該Ｔｏｕｃｈ　Ｏｆｆから導かれた数値とを比較する比較手段を備え、前記信号発生手段が前記比較手段の出力に基づいて信号を示す前記ＯＮおよびＯＦＦ状態を発生することを特徴とする請求項１に記載の静電容量感知システム。
【請求項６】
前記物体がコンピュータ周辺機器であり、前記第１の導体が前記コンピュータ周辺機器に取り付けられていることを特徴とする請求項１に記載の静電容量感知システム。
【請求項７】
前記コンピュータ周辺機器が別のホストコンピュータにリンク可能な外部コンピュータ周辺機器であり、前記周辺機器が電源を組み込むことを特徴とする請求項６に記載の静電容量感知システム。
【請求項８】
前記外部コンピュータ周辺機器が、ハード配線接続なしでホストコンピュータにリンク可能であることを特徴とする請求項７に記載の静電容量感知システム。
【請求項９】
前記外部コンピュータ周辺機器が、オプティカルトラッキングエンジンを備えるカーソル制御デバイスであることを特徴とする請求項８に記載の静電容量感知システム。
【請求項１０】
前記カーソル制御デバイスが、マウスが置かれている平面上でトラッキングを行うように構成されたコンピュータ用のマウスであることを特徴とする請求項９に記載の静電容量感知システム。
【請求項１１】
制御サイクルｎに対する前記Ｔｏｕｃｈ　Ｖａｌが、移動平均値であることを特徴とする請求項１に記載の静電容量感知システム。
【請求項１２】
前記ＯＦＦ状態のときに発生する前記スクープキャパシタの静電容量の相対的減少に応じて、前記Ｔｏｕｃｈ　Ｏｆｆの値を動的に調整するしきい値カウント判別手段を備えることを特徴とする請求項５に記載の静電容量感知システム。
【請求項１３】
前記Ｔｏｕｃｈ　Ｖａｌから値（Ｔｏｕｃｈ　Ａｖｇ）を導く手段を備え、前記ＯＮ状態のときに前記比較手段で前記Ｔｏｕｃｈ　ＡｖｇとＴｏｕｃｈ　Ｏｆｆとを比較することを特徴とする請求項１２に記載の静電容量感知システム。
【請求項１４】
前記Ｔｏｕｃｈ　ＡｖｇがＯＦＦ状態からＯＮ状態へ遷移した後、最初に前記Ｔｏｕｃｈ　Ｖａｌに設定され、該Ｔｏｕｃｈ　Ｖａｌが所定の間隔の間に前記Ｔｏｕｃｈ　Ａｖｇを超えると該Ｔｏｕｃｈ　Ａｖｇの値がインクリメントされることを特徴とする請求項１３に記載の静電容量感知システム。
【請求項１５】
前記スクープキャパシタの静電容量の前記減少が、前記ＯＦＦ状態のときに前記Ｔｏｕｃｈ　Ｖａｌの増加の発生から判別されることを特徴とする請求項１２に記載の静電容量感知システム。
【請求項１６】
前記スクープキャパシタの静電容量の前記減少が、所定の間隔の間に前記Ｔｏｕｃｈ　Ｖａｌが前記Ｔｏｕｃｈ　Ｏｆｆよりも高いままであることから判別されることを特徴とする請求項１５に記載の静電容量感知システム。
【請求項１７】
前記Ｔｏｕｃｈ　Ｖａｌから値（Ｔｏｕｃｈ　Ａｖｇ）を導く手段を備え、前記ＯＮ状態のときに前記比較手段で前記Ｔｏｕｃｈ　Ａｖｇと前記Ｔｏｕｃｈ　Ｏｆｆとを比較すること特徴とする請求項５に記載の静電容量感知システム。
【請求項１８】
前記Ｔｏｕｃｈ　Ｖａｌが所定の量だけ前記Ｔｏｕｃｈ　Ｏｆｆよりも小さくなったときに前記信号発生手段が前記ＯＦＦ状態から前記ＯＮ状態に遷移することを特徴とする請求項５に記載の静電容量感知システム。
【請求項１９】
所定の間隔の間に、前記Ｔｏｕｃｈ　Ｖａｌが前記Ｔｏｕｃｈ　Ｏｆｆよりも低いままであると、前記システムが前記Ｔｏｕｃｈ　Ｏｆｆをデクリメントすることを特徴とする請求項５に記載の静電容量感知システム。
【請求項２０】
前記入力しきい値スイッチが、ＣＭＯＳトランジスタを備えていることを特徴とする請求項１に記載の静電容量感知システム。
【請求項２１】
前記スクープキャパシタの前記第１の導体を前記バケットキャパシタの導体の前記ペアのうち第１の導体とともに第１の端子に普通に接続し、前記バケットキャパシタの導体の前記ペアのうち第２の導体を第２の端子に接続し、前記バケットキャパシタの導体の前記ペアのうち前記第１の導体をさらに第３の端子に接続し、
前記スイッチング手段は循環的に、（ａ）前記第１、第２、および第３の端子をグラウンドにクランプして前記バケットキャパシタを放電し、（ｂ）前記第１の端子をハイインピーダンスに設定し、前記第３の端子を駆動して前記バケットキャパシタの前記基準レベル電荷を設定し、（ｃ）前記第２および第３の端子をハイインピーダンス入力に設定して前記第１の端子を駆動し、前記バケットキャパシタを充電することなく前記スクープキャパシタを充電し、（ｄ）前記第１の端子をハイインピーダンス入力に設定し、前記第２の端子を駆動して、前記スクープキャパシタから前記バケットキャパシタに電荷を移動し、
前記入力しきい値スイッチは前記第１の端子と前記第２の端子のうちの１つに接続し、前記１つの端子が前記ハイインピーダンス入力に設定されているときに電圧を受け取り、
前記検出手段が、前記スイッチング手段のサイクル動作に関して、前記入力しきい値スイッチの状態をサンプリングすることを特徴とする請求項２に記載の静電容量感知システム。
【請求項２２】
前記バケットキャパシタの導体の前記ペアのうち前記第１の導体を、インピーダンス素子を通じて前記第３の端子に接続することを特徴とする請求項２１に記載の静電容量感知システム。
【請求項２３】
前記インピーダンス素子が、抵抗器を含むことを特徴とする請求項２２に記載の静電容量感知システム。
【請求項２４】
前記スクープキャパシタの前記第１の導体を前記バケットキャパシタの導体の前記ペアのうち第１の導体とともに第１の端子に普通に接続し、前記バケットキャパシタの導体の前記ペアのうち第２の導体を第２の端子に接続し、前記バケットキャパシタの導体の前記ペアのうち前記第１の導体をさらに第３の端子に接続し、
前記スイッチング手段は循環的に、（ａ）前記第１の端子を高にし、第２の端子を低にし、第３の端子をハイインピーダンスに設定して、前記バケットキャパシタを充電し、（ｂ）前記第１の端子をハイインピーダンスに設定し、前記第３の端子を低にして前記バケットキャパシタの電荷を前記基準電荷レベルに下げ、（ｃ）前記第２および第３の端子をハイインピーダンス入力に設定して前記第１の端子を低にし、前記バケットキャパシタを放電することなく前記スクープキャパシタを放電し、（ｄ）前記第１の端子をハイインピーダンス入力に設定し、前記第２の端子を駆動して、前記バケットキャパシタから前記スクープキャパシタに電荷を移動し、
前記入力しきい値スイッチは前記第１の端子と前記第２の端子のうちの１つに接続し、前記１つの端子が前記ハイインピーダンス入力に設定されているときに電圧を受け取り、
前記検出手段が、前記スイッチング手段のサイクル動作に関して、前記入力しきい値スイッチの状態をサンプリングすることを特徴とする請求項３に記載の静電容量感知システム。
【請求項２５】
前記バケットキャパシタの導体の前記ペアのうち前記第１の導体を、インピーダンス素子を通じて前記第３の端子に接続することを特徴とする請求項２４に記載の静電容量感知システム。
【請求項２６】
前記インピーダンス素子が、抵抗器を含むことを特徴とする請求項２５に記載の静電容量感知システム。
【請求項２７】
前記スクープキャパシタの前記第１の導体を前記バケットキャパシタの導体の前記ペアのうち第１の導体とともに第１の端子に普通に接続し、前記バケットキャパシタの導体の前記ペアのうち第２の導体を第２の端子に接続し、前記バケットキャパシタの導体の前記ペアのうち前記第１の導体をさらに第３の端子に接続し、
前記スイッチング手段は循環的に、（ａ）前記第１、第２、および第３の端子を低にして前記バケットキャパシタとスクープキャパシタを放電し、（ｂ）前記第２の端子をハイインピーダンスに設定し、前記第３の端子を高にして前記バケットキャパシタの前記基準レベル電荷を設定し、（ｃ）前記第１の端子をハイインピーダンス入力に設定して前記第２の端子を高にし、前記バケットキャパシタおよびスクープキャパシタを直列に配置し、（ｄ）前記第２の端子をハイインピーダンス入力に設定し、前記第１の端子を低にして、前記バケットキャパシタを放電することなく前記スクープキャパシタを放電し、
前記入力しきい値スイッチは前記第１の端子と前記第２の端子のうちの１つに接続し、前記１つの端子が前記ハイインピーダンス入力に設定されているときに電圧を受け取り、
前記検出手段が、前記スイッチング手段のサイクル動作に関して、前記入力しきい値スイッチの状態をサンプリングすることを特徴とする請求項４に記載の静電容量感知システム。
【請求項２８】
前記バケットキャパシタの導体の前記ペアのうち前記第１の導体を、インピーダンス素子を通じて前記第３の端子に接続することを特徴とする請求項２７に記載の静電容量感知システム。
【請求項２９】
前記インピーダンス素子が、抵抗器を含むことを特徴とする請求項２８に記載の静電容量感知システム。
【請求項３０】
前記入力しきい値スイッチ、前記スイッチング手段、前記検出手段、前記判別手段、および前記信号発生手段を、３本のピンを備える制御用集積回路（ＩＣ）内に実現し、前記スクープキャパシタの前記第１の導体を、前記バケットキャパシタの導体の前記ペアのうちの第１の導体とともに、前記ピンのペアのうち第１のピンに普通に接続し、前記バケットキャパシタの導体の前記ペアのうちの第２の導体を前記３本のピンのうちの第２のピンに接続し、前記バケットキャパシタの導体の前記ペアのうちの第２の導体をさらに前記ピンのうちの第３のピンに接続することを特徴とする請求項１に記載の静電容量感知システム。
【請求項３１】
前記スイッチング手段は循環的に、（ａ）前記第１、第２、および第３のピンをグラウンドにクランプして前記バケットキャパシタを放電し、（ｂ）前記第１の端子をハイインピーダンスに設定し、前記第３の端子を駆動して前記バケットキャパシタの電荷を反復可能な非ゼロ基準レベルに設定し、（ｃ）前記第２および第３のピンをハイインピーダンス入力に設定して前記第１のピンを駆動し、前記バケットキャパシタを充電することなく前記スクープキャパシタを充電し、（ｄ）前記第１のピンをハイインピーダンス入力に設定し、前記第２のピンを駆動して、スクープキャパシタの電荷をバケットキャパシタに移動し、
前記入力しきい値スイッチは前記第１のピンと前記第２のピンのうちの１つに接続し、前記１つのピンが前記ハイインピーダンス入力に設定されているときに電圧を受け取り、
前記検出手段が、前記スイッチング手段のサイクル動作に関して、前記入力しきい値スイッチの状態をサンプリングすることを特徴とする請求項３０に記載の静電容量感知システム。
【請求項３２】
前記スイッチング手段は循環的に、（ａ）前記第１のピンを高にし、第２のピンを低にし、第３の端子をハイインピーダンスに設定して、前記バケットキャパシタを充電し、（ｂ）前記第１のピンをハイインピーダンスに設定し、前記第３のピンを低にして、前記バケットキャパシタの電荷を前記基準電荷レベルに下げ、（ｃ）前記第２および第３のピンをハイインピーダンス入力に設定して、前記第１のピンを低にし、前記バケットキャパシタを放電することなく前記スクープキャパシタを放電し、（ｄ）前記第１のピンをハイインピーダンス入力に設定し、前記第２の端子を駆動して、前記バケットキャパシタから前記スクープキャパシタに電荷を移動し、
前記入力しきい値スイッチは前記第１のピンと前記第２のピンのうちの１つに接続し、前記１つのピンが前記ハイインピーダンス入力に設定されているときに電圧を受け取り、
前記検出手段が、前記スイッチング手段のサイクル動作に関して、前記入力しきい値スイッチの状態をサンプリングすることを特徴とする請求項３０に記載の静電容量感知システム。
【請求項３３】
前記スイッチング手段は循環的に、（ａ）前記第１、第２、および第３のピンを低にして前記バケットキャパシタとスクープキャパシタを放電し、（ｂ）前記第２のピンをハイインピーダンスに設定し、前記第３のピンを高にして前記バケットキャパシタの電荷を反復可能な非ゼロ基準レベルに設定し、（ｃ）前記第１のピンをハイインピーダンス入力に設定して前記第２のピンを高にし、前記バケットキャパシタおよびスクープキャパシタを直列に配置し、（ｄ）前記第２のピンをハイインピーダンス入力に設定し、前記第１のピンを低にして、前記バケットキャパシタを放電することなく前記スクープキャパシタを放電し、
前記入力しきい値スイッチは前記第１のピンと前記第２のピンのうちの１つに接続し、前記１つのピンが前記ハイインピーダンス入力に設定されているときに電圧を受け取り、
前記検出手段が、前記スイッチング手段のサイクル動作に関して、前記入力しきい値スイッチの状態をサンプリングすることを特徴とする請求項３０に記載の静電容量感知システム。
【請求項３４】
他の物体との接触、または近接する物体または身体の一部の存在を感知する静電容量感知方法であって、
接地に対して静電結合し、静電容量が前記物体または身体の一部との近さに応じて変化するスクープキャパシタを形成する第１の導体と、前記スクープキャパシタの最大容量よりも大きな容量を持つバケットキャパシタを形成する第２の導体及び第３の導体のペアと、入力しきい値スイッチを提供するステップと、
前記スクープキャパシタ及び前記バケットキャパシタのうち少なくとも１つを電圧源に接続して前記少なくとも１つのキャパシタを充電し、前記バケットキャパシタの電荷を反復可能非ゼロ基準レベルに設定し、前記スクープキャパシタの相対的サイズに関して前記バケットキャパシタの前記電荷を前記基準レベルから変化させ、前記バケットキャパシタの電圧を前記入力しきい値スイッチに印加することを選択的に行うためスイッチングを実行するステップと、
前記入力しきい値スイッチの入力状態を検出するステップと、
該入力しきい値スイッチの遷移が検出されたことに対応する前記バケットキャパシタの電荷の前記変化のサイクル数に関する値（Ｔｏｕｃｈ　Ｖａｌ）を判別するステップと、
前記Ｔｏｕｃｈ　Ｖａｌに基づいて、前記物体または身体の一部が前記他の物体と接触または近接するＯＮ状態と、前記物体または身体の一部が前記他の物体と接触または近接していないＯＦＦ状態を示す信号を発生するステップと
を有することを特徴とする静電容量感知方法。
【請求項３５】
前記少なくとも１つのキャパシタが前記スクープキャパシタを含み、前記バケットキャパシタの電荷の前記変化に前記スクープキャパシタから前記バケットキャパシタへ電荷を移動することを特徴とする請求項３４に記載の静電容量感知方法。
【請求項３６】
前記少なくとも１つのキャパシタが前記バケットキャパシタを含み、前記バケットキャパシタの電荷の前記変化に前記バケットキャパシタから前記スクープキャパシタへ電荷を移動することを特徴とする請求項３４に記載の静電容量感知方法。
【請求項３７】
前記少なくとも１つのキャパシタが直列に接続されている前記スクープキャパシタと前記バケットキャパシタを含み、前記バケットキャパシタの電荷の前記変化に、前記スクープキャパシタにより安定化される前記電圧源で前記バケットキャパシタを充電することを特徴とする請求項３４に記載の静電容量感知方法。
【請求項３８】
前記Ｔｏｕｃｈ　Ｖａｌ、または該Ｔｏｕｃｈ　Ｖａｌから導かれた数値と所定のしきい値（Ｔｏｕｃｈ　Ｏｆｆ）、または該Ｔｏｕｃｈ　Ｏｆｆから導かれた数値とを比較することを含み、前記信号発生手段が前記比較手段の出力に基づいて信号を示す前記ＯＮおよびＯＦＦ状態を発生することを特徴とする請求項３４に記載の静電容量感知方法。
【請求項３９】
制御サイクルｎに対する前記Ｔｏｕｃｈ　Ｖａｌが移動平均値であることを特徴とする請求項３４に記載の静電容量感知方法。
【請求項４０】
前記ＯＦＦ状態のときに発生する前記スクープキャパシタの前記静電容量の相対的減少に応じて前記Ｔｏｕｃｈ　Ｏｆｆの値を動的に調整することを特徴とする請求項３８に記載の静電容量感知方法。
【請求項４１】
前記Ｔｏｕｃｈ　Ｖａｌから値（Ｔｏｕｃｈ　Ａｖｇ）を導くことを含み、前記ＯＮ状態のときに前記Ｔｏｕｃｈ　Ａｖｇと前記Ｔｏｕｃｈ　Ｏｆｆとを比較すること特徴とする請求項４０に記載の静電容量感知方法。
【請求項４２】
前記Ｔｏｕｃｈ　ＡｖｇがＯＦＦ状態からＯＮ状態へ遷移した後、最初に前記Ｔｏｕｃｈ　Ｖａｌに設定され、該Ｔｏｕｃｈ　Ｖａｌが所定の間隔の間に前記Ｔｏｕｃｈ　Ａｖｇを超えると前記Ｔｏｕｃｈ　Ａｖｇの値がインクリメントされることを特徴とする請求項４１に記載の静電容量感知方法。
【請求項４３】
前記スクープキャパシタの静電容量の前記減少が、前記ＯＦＦ状態のときに前記Ｔｏｕｃｈ　Ｖａｌの増加の発生から判別されることを特徴とする請求項４２に記載の静電容量感知方法。
【請求項４４】
前記スクープキャパシタの静電容量の前記減少が、所定の間隔の間に前記Ｔｏｕｃｈ　Ｖａｌが前記Ｔｏｕｃｈ　Ｏｆｆよりも高いままであることから判別されることを特徴とする請求項４３に記載の静電容量感知方法。
【請求項４５】
前記Ｔｏｕｃｈ　Ｖａｌから値（Ｔｏｕｃｈ　Ａｖｇ）を導くことを含み、前記ＯＮ状態のときに前記Ｔｏｕｃｈ　Ａｖｇと前記Ｔｏｕｃｈ　Ｏｆｆとを比較すること特徴とする請求項３８に記載の静電容量感知方法。
【請求項４６】
前記信号発生において、前記Ｔｏｕｃｈ　Ｖａｌが所定の量だけ前記Ｔｏｕｃｈ　Ｏｆｆよりも小さくなったときに前記ＯＦＦ状態から前記ＯＮ状態に遷移することを特徴とする請求項３８に記載の静電容量感知方法。
【請求項４７】
所定の間隔の間に前記Ｔｏｕｃｈ　Ｖａｌが前記Ｔｏｕｃｈ　Ｏｆｆよりも低いままであると該Ｔｏｕｃｈ　Ｏｆｆがデクリメントされることを特徴とする請求項３８に記載の静電容量感知方法。
【請求項４８】
前記スクープキャパシタの前記第１の導体を前記バケットキャパシタの導体の前記ペアのうち第１の導体とともに、第１の端子に普通に接続し、前記バケットキャパシタの導体の前記ペアのうち第２の導体を第２の端子に接続し、前記バケットキャパシタの導体の前記ペアのうち前記第１の導体をさらに第３の端子に接続し、
前記スイッチングは循環的に、（ａ）前記第１、第２、および第３の端子をグラウンドにクランプして前記バケットキャパシタを放電し、（ｂ）前記第１の端子をハイインピーダンスに設定し、前記第３の端子を駆動して前記バケットキャパシタの前記電荷を前記基準レベルに設定し、（ｃ）前記第２および第３の端子をハイインピーダンス入力に設定して前記第１の端子を駆動し、前記バケットキャパシタを充電することなく前記スクープキャパシタを充電し、前記入力しきい値スイッチを前記第１の端子および前記第２の端子のうちの１つに接続して前記１つの端子が前記ハイインピーダンス入力に設定されているときにそこから電圧を受け取るようにし、（ｄ）前記第１の端子をハイインピーダンス入力に設定し、前記第２の端子を駆動して、前記スクープキャパシタから前記バケットキャパシタに電荷を移動し、
前記検出が、ステップ（ａ）〜（ｄ）までのサイクル動作に関して前記入力しきい値スイッチの状態をサンプリングすることを含むことを特徴とする請求項３５に記載の静電容量感知方法。
【請求項４９】
前記スクープキャパシタの前記第１の導体を前記バケットキャパシタの導体の前記ペアのうち第１の導体とともに、第１の端子に普通に接続し、前記バケットキャパシタの導体の前記ペアのうち第２の導体を第２の端子に接続し、前記バケットキャパシタの導体の前記ペアのうち前記第１の導体をさらに第３の端子に接続し、
前記スイッチングは循環的に、（ａ）前記第１の端子を高にし、第２の端子を低にし、第３の端子をハイインピーダンスに設定して、前記バケットキャパシタを充電し、（ｂ）前記第１の端子をハイインピーダンスに設定し、前記第３の端子を低にして前記バケットキャパシタの電荷を前記基準レベルに下げ、（ｃ）前記第２および第３の端子をハイインピーダンス入力に設定して前記第１の端子を低にし、前記バケットキャパシタを放電することなく前記スクープキャパシタを放電し、（ｄ）前記第１の端子をハイインピーダンス入力に設定し、前記第２の端子を駆動して、前記バケットキャパシタから前記スクープキャパシタに電荷を移動し、前記入力しきい値スイッチを前記第１の端子と前記第２の端子のうちの１つに接続して、前記１つの端子が前記ハイインピーダンス入力に設定されたときにそこから電圧を受け取るようにし、
前記検出が、ステップ（ａ）〜（ｄ）までのサイクル動作に関して前記入力しきい値スイッチの状態をサンプリングすることを含むことを特徴とする請求項３６に記載の静電容量感知方法。
【請求項５０】
前記スクープキャパシタの前記第１の導体を前記バケットキャパシタの導体の前記ペアのうち第１の導体とともに、第１の端子に普通に接続し、前記バケットキャパシタの導体の前記ペアのうち第２の導体を第２の端子に接続し、前記バケットキャパシタの導体の前記ペアのうち前記第１の導体をさらに第３の端子に接続し、
前記スイッチングは循環的に、（ａ）前記第１、第２、および第３の端子を低にして前記バケットキャパシタとスクープキャパシタを放電し、（ｂ）前記第２の端子をハイインピーダンスに設定し、前記第３の端子を高にして前記バケットキャパシタの前記基準レベル電荷を設定し、（ｃ）前記第１の端子をハイインピーダンス入力に設定して前記第２の端子を高にし、前記バケットキャパシタおよびスクープキャパシタを直列に配置し、（ｄ）前記第２の端子をハイインピーダンス入力に設定し、前記第１の端子を低にして、前記バケットキャパシタを放電することなく前記スクープキャパシタを放電し、前記入力しきい値スイッチを前記第１の端子と前記第２の端子のうちの１つに接続して、前記１つの端子が前記ハイインピーダンス入力に設定されたときにそこから電圧を受け取るようにし、前記検出が、ステップ（ａ）〜（ｄ）までのサイクル動作に関して前記入力しきい値スイッチの状態をサンプリングすることを含むことを特徴とする請求項３７に記載の静電容量感知方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、反復可能オフセット電荷を採用した静電容量感知システム及びその方法に関し、特に、電子デバイス、特に手動データ入力デバイス（ｈａｎｄ　ｏｐｅｒａｔｅｄ　ｄａｔａ　ｉｎｐｕｔ　ｄｅｖｉｃｅｓ）の消費電力のパワーマネジメント、およびその他の目的に有利に使用できる感知システム（ｓｅｎｓｉｎｇ　ｓｙｓｔｅｍｓ）及びその方法に関するものである。より具体的には、電力消費量が比較的大きなコンポーネントを備えるワイヤレスデータ入力デバイス（ｗｉｒｅｌｅｓｓ　ｄａｔａ　ｉｎｐｕｔ　ｄｅｖｉｃｅｓ）のバッテリ電力節約（ｃｏｎｓｅｒｖｅ　ｂａｔｔｅｒｙ　ｐｏｗｅｒ）に使用できる静電容量感知システム及びその方法に関するものである。
【０００２】
【従来の技術】
ポータブルコンピュータやパーソナルデータアシスタント（ＰＤＡ）、タブレットコンピュータ、携帯電話、ポケットベル、およびワイヤレスコンピュータ周辺機器などではバッテリ電力に大きく依存するので電子デバイスのパワーマネジメント機能（Ｐｏｗｅｒ　ｍａｎａｇｅｍｅｎｔ）がますます重要になってきている。このようなデバイスのコンポーネントは消費電力が次第に大きくなってきており、バッテリ交換または再充電間隔を延ばす要求が高まっている。このようなデバイスは、すぐに使用できるようにスイッチがオンになっていることが多く、かなりの時間やアイドル状態に置かれる。つまり、低電力モードを使用することでバッテリ電力の消耗を低減する機会が存在している。
【０００３】
近年、ホストコンピュータとともに使用するのに適したワイヤレス周辺機器が導入されている。特に、マウスやトラックボールなどのカーソル制御（ポインティング）デバイスはワイヤレス化され、デバイスにバッテリ電源を組み込み、赤外線またはＲＦ送信機／受信機ペアなどのワイヤレスデータリンクを備えている。効果的なパワーマネジメント機能がないと、このようなワイヤレス周辺機器を連続動作させた場合に、デバイスの限られたバッテリがたちまち消耗してしまい、バッテリ交換や再充電を頻繁に行う必要が生じる。
【０００４】
他の技術開発では、表面オプティカルトラッキングシステム（ｏｐｔｉｃａｌｓｕｒｆａｃｅ　ｔｒａｃｋｉｎｇ　ｓｙｓｔｅｍｓ）を利用するカーソル制御デバイスが導入され、従来の光・電気エンコーダホイール構成（ｏｐｔｏ−ｅｌｅｃｔｒｉｃ　ｅｎｃｏｄｅｒ　ｗｈｅｅｌ　ａｒｒａｎｇｅｍｅｎｔｓ）に頼っているデバイスに代わって使用されることが多くなってきている。オプティカルトラッキング機能（Ｏｐｔｉｃａｌ　ｔｒａｃｋｉｎｇ）は、トラッキングが行われる支持面および／またはユーザの手から汚れや油分などを拾って、不具合を起こしがちな可動部分（例えば、ボールおよび関連するエンコーダホイール）がなくトラッキングの信頼性および精度に優れる。他方、オプティカルトラッキング機能は、トラッキング可能な表面に光を当て、そのトラッキング可能な表面から反射した光（イメージ情報）を受信して処理するためにかなり大きな回路駆動電力を必要とする。
オプティカルトラッキングシステムの例および関連する信号処理手法は、特許文献１に開示されており、この内容は本発明に取り込まれている。
【０００５】
これまで、オプティカルトラッキングシステムは、オプティカルトラッキングシステムとワイヤレスデータ送信機に必要な電力が比較的大きいため、ワイヤレスカーソル制御デバイスでの使用が限られていた。最近の市販製品であるＬｏｇｉｔｅｃｈ　Ｃｏｒｄｌｅｓｓ　Ｍｏｕｓｅｍａｎ（登録商標）Ｏｐｔｉｃａｌでは、複数のスリープおよびスリープ解除モード（ｓｌｅｅｐ　ａｎｄ　ａｗａｋｅｍｏｄｅｓ）を利用してバッテリの寿命を延ばしている。完全実行モード（ｆｕｌｌ　ｒｕｎ　ｍｏｄｅ）から一連の低電力モードへの切り替えは、ユーザが不活動状態の時間に基づいて実行される。ユーザがマウスを動かしたり、マウスボタンをクリックしたりすると、マウスは完全実行モードに復帰する。
【０００６】
さまざまな種類のユーザ近接検出器が知られており、パワーマネジメントシステムおよび多数の他のアプリケーションで使用されている。例えば、（例えば、特許文献２参照）では、コンピュータ周辺デバイス（例えば、ディスプレイモニタまたはプリンタ）と電源との接続のオン、オフを行うプロセッサベースの制御システムについて記述している。制御は、キーボード、マウス、プリンタ、またはオキュパンシーセンサ（ｏｃｃｕｐａｎｃｙ　ｓｅｎｓｏｒ）などの入力ソースから受信した入力活動信号に基づく。
【０００７】
特許文献３には、情報処理装置用の省電力制御構成について記載されている。より具体的には、（１）ユーザ関連媒体の装置への接近（または装置との接触）を検出し、（２）このような接触または接近が検出されたときに装置の制御されている対象を非省電力状態にし、（３）ユーザ関連媒体（つまり、スタイラスペンまたはユーザの身体の一部）が存在していることが所定の期間検出されないときに制御されている対象を省電力状態にすることにする各種のシステムについて記述している。
【０００８】
また、この特許文献３には、さまざまな種類の接近／接触センサについて説明されている。特に、電磁気、静電容量、および静電気結合タブレットなどのさまざまな「タブレット」タイプのセンサシステムが説明されている。一実施形態では、接触または接近検出タブレットおよびフラットディスプレイパネルを情報処理装置のハウジングに一体形成する。
【０００９】
また、特許文献４には、ユーザの接近または存在を検出することに基づき、飲料水供給装置または洗面台の水栓のオン、オフを制御するために使用される容量性電界検出器（ｃａｐａｃｉｔｉｖｅ　ｆｉｅｌｄ　ｄｅｔｅｃｔｏｒ）について記載されている。
【００１０】
この特許文献４の一実施形態では、電圧制限電流ソースにより充電電流プレートに給電する。充電期間が終わったときに、マイクロプロセッサによって制御される放電用スイッチ（ｄｉｓｃｈａｒｇｅ　ｓｗｉｔｃｈ）が瞬時閉じて、感知プレートが電荷検出器、例えば、電荷検出キャパシタに放電される。移動する電荷量は、感知プレートの容量を表す。充電放電プロセスは何回も繰り返すことができ、その際に、電荷測定手段により複数の動作サイクルでプレートからの電荷を集める。充電および放電を所定の回数を繰り返した後、電荷検出器の最終的電荷合計量をＡ／Ｄコンバータにより調べると、コントローラは出力制御信号を出力線に出し、これを使用して水栓を開くことができる。読み取りする毎に、コントローラは電荷検出器をリセットして、プレートから新たに電荷を蓄積できるようにする。それとは別に、コントローラは放電用スイッチの個々のサイクル毎に読み取りを行い、その後数サイクルにわたって読み取り値を積分し（または他の方法で濾過し）て、論理的決定を下して制御出力を出すことができる。
【００１１】
また、特許文献５には、パーソナルコンピュータで使用される電力を低減するシステムについて説明されている。より具体的には、ユーザの活動状態に応じてパーソナルコンピュータの一部の消費電力を下げ、１つまたは複数のセンサによりユーザの活動が検出されるとそれらの部分への供給電力を復帰する電力制御回路が開示されている。電力が低減される（または停止される）コンポーネントは、オンにしたときにほとんど即座に応答できるコンポーネントである。一方、完全な動作状態に復帰するのに一定時間かかるコンポーネント（例えば、ディスクドライブのモータ、モニタ、メインプロセッサ）は全出力で駆動される。開示されている主実施形態では、センサはキーボードに装着された圧電センサである。
【００１２】
また、特許文献５には、コンピュータの他の場所（モニタ、マウス、トラックボール、タッチパッド、またはタッチスクリーン）にセンサを配置し、圧電センサの代わりに他のさまざまな種類のセンサ（容量、圧力、温度、光）を使用することができる。
【００１３】
また、特許文献６には、静電容量感知およびデータ入力デバイスのパワーマネジメントシステムと方法を開示している。開示されている実施形態では、静電容量近接感知システムは、導体と周囲の接地平面により形成される「スクープ（ｓｃｏｏｐ）」キャパシタの容量の相対的変化を検出することにより実行される。この導体は、導電性インクで印刷された粘着剤付ラベルの形態で用意されているプレートとすることができる。スクープキャパシタと比較的大きな「バケットキャパシタ（ｂｕｃｋｅｔ　ｃａｐａｃｉｔｏｒ）」との間で電荷が移動し、バケットキャパシタの電圧が入力しきい値スイッチに印加される。入力しきい値の低から高（または高から低）への状態遷移と、この状態遷移を引き起こすのに必要な電荷移動のサイクル数を示す値を決定する。デバイスに接近している、または接触している物体または身体部分の有無は、この値と所定のしきい値とを比較することにより求められる。環境要因によって引き起こされるスクープキャパシタの容量の変化を考慮して所定のしきい値を調整することができる。
【００１４】
上述したシステムを、例えば、ワイヤレスオプティカルマウスまたはハンドヘルドデジタイズジングペン（ｈａｎｄｈｅｌｄ　ｄｉｇｉｔｉｚｉｎｇ　ｐｅｎ）で実装すると、ユーザの手が近接したときに発生する環境の静電容量の変化が検出され、マウス／ペンが使用されていないときに大電流光（またはその他の種類の）トラッキングシステムをオフにすることにより省電力を果たすことができる。この状態の判別には、マイクロプロセッサの一連の周期的動作が必要であり、検出間隔で大きな電流が引き込まれる。タッチシステムが作動する毎に、０ボルトから内部コンパレータによって決定された任意のしきい値まで「バケット」キャパシタが充電されると、カウントが発生するため、この間隔は、比較的長い。
【００１５】
通常のマウスユーザはマウスの応答に少しのタイムラグや遅延を望まない。ユーザは一般に、約０．０１ｉｐｓまでの下がる動作に敏感であり、マウスを約２５ｉｐｓまで動かすことができる。オプティカルトラッキング機能は、ユーザの感度に釣り合った反応レベルに対応できる。しかし、静電容量感知方法（例えば、特許文献６参照）で説明しているものを使用してオペレータ対話操作を検出する場合、強引なユーザ、例えば、マウスやその他のゲーム用周辺機器（例えば、ゲームパッド）を使用している利用者は、手による操作を正常に検出するために一定間隔の遅延が必要なのに、速く動かし過ぎて反応が追随できない場合がある。高速サンプリングを行えば、反応性の顕著な不足が緩和されるが、逆にサンプリングが増えることでバッテリの寿命に悪影響が及ぶことがある。
【００１６】
マウスおよびその他のデータ入力デバイスでオプティカルトラッキングにバッテリの電力を使用することは、パワーマネジメントの観点からは大きな問題である。知られているオプティカルトラッキングエンジンでは、限られたバッテリ電源からかなりの電流を必要とする。さらに、手が存在していることを検出するのに要する時間とエネルギーもまた、検出サンプリングを実行する周期（頻度）を制限する。検出システムが高速で電力効率がよいほど、サンプリングの周期を高めることができ、したがって、手の存在の検出速度が向上し、かつ／またはバッテリの寿命が延びる。
【００１７】
【特許文献１】
米国特許第６１７２３５４号明細書
【特許文献２】
米国特許第５４０８６６８号明細書
【特許文献３】
米国特許第５３９６４４３号明細書
【特許文献４】
米国特許第５７３０１６５号明細書
【特許文献５】
米国特許第５６６９００４号明細書
【特許文献６】
米国特許出願番号０９／９４８０９９（特許第２００２００３５７０１号）
【００１８】
【発明が解決しようとする課題】
本発明の目的は、検出の信頼性を高めながら、データ入力デバイス、例えばマウスと接触または近接している人間の手または他の手段が存在していることを正常に検出するために必要な時間とエネルギーを緩和することである。本発明の静電容量感知システム及びその方法は、ユーザ操作データ入力デバイスのパワーマネジメントを効果的に行うのに都合よく使用することができる。しかし、本発明は、パワーマネジメント機能に限られるわけではなく、高い信頼性でかつ効率よく、他の物体と接触または近接している物体または身体の一部の有無を感知することが望まれる本質的にどのようなアプリケーション（データ入力デバイスなどの手段）でも実装できる。特に好都合な用途は、（例えば、特許文献６参照）で述べているように本発明の静電容量感知システムとパワーマネジメントシステムおよび方法との組み合わせであり、ワイヤレスカーソル制御デバイス（例えば、マウスまたはトラックボールデバイス）またはその他のユーザ操作データ入力デバイス、例えば、ゲームパッドなどのワイヤレスゲーム周辺機器、またはハンドヘルドデジタイジングペン、特に比較的大きな電力を引き込む回路コンポーネント（例えば、オプティカルトラッキングシステムをおよび／またはＲＦ送信機）を含むもののバッテリ寿命をかなり延ばすことができる。
【００１９】
本発明の静電容量感知システム及びその方法は、バケットキャパシタの任意のただし反復可能な非ゼロオフセット電荷レベルが検出シーケンスの開始時に設定されるように修正することができる。バケットキャパシタに誘起されるこのようなオフセット電荷により、カウント範囲をオフセット電荷に比例する量だけ低減することができる。例えば、サンプル期間が半分に減らされるオフセット電荷では、手の存在の判別が２倍の頻度で実行することができ、オペレータの操作に対するシステムの反応性が２倍になる。同様に、サンプル期間を４分の１に減らすオフセットだと、反応性が２：１に改善されるだけでなく、マウスのサスペンド状態で検出を実行するのに必要な電力を半分に減らすことができる。本発明を利用すると、これらのパラメーターが両方とも最適化されるようにオフセット電荷および間隔率を選択することができる。
【００２０】
本発明の一実施形態では、制御マイクロプロセッサの未使用またはマルチファンクションポートのピンに抵抗器を配線し、マイクロプロセッサがサンプリング期間の前にバケットキャパシタ電流を流し込むようにできる。電荷注入は、印加電圧持続時間、抵抗値、およびバケットキャパシタ値の関数として変化する。本発明によれば、プリチャージ（ｐｒｅｃｈａｒｇｅ）は繰り返し可能であり、サンプル間隔の通常動作範囲よりも下である。各サンプル間隔は１００〜１１０カウントではなく、例えば、２０または３０カウントまで累計される。
【００２１】
第１の態様では、本発明は、他の物体と接触または近接する物体または身体の一部の存在を感知する静電容量感知システムにおいて実現される。第１の導体は接地に対し静電結合しており、静電容量が物体または身体の一部と導体との近さに応じて変化するスクープキャパシタを形成する。第２の導体と第３の導体のペアが、スクープキャパシタの最大容量よりも大きな容量を持つバケットキャパシタを形成し、入力しきい値スイッチが実現される。バケットキャパシタの電荷を反復可能非ゼロ基準レベルに設定する電荷設定手段を用意する。スクープキャパシタおよびバケットキャパシタのうち少なくとも１つを電圧源に接続して少なくとも１つのキャパシタを充電し、電荷設定手段をバケットキャパシタに接続してバケットキャパシタの電荷を反復可能な非ゼロ基準レベルに設定し、バケットキャパシタの電荷をスクープキャパシタの相対的サイズに関して電荷設定手段により設定した基準レベルから変化させ、バケットキャパシタの電圧を入力しきい値スイッチに印加することを選択的に行うためのスイッチング手段を備える。入力しきい値スイッチの入力状態を検出するための検出器手段を備える。判別手段では、検出器手段により入力しきい値スイッチの遷移が検出されたことに対応するバケットキャパシタの電荷の変化のサイクル数に関する値（Ｔｏｕｃｈ　Ｖａｌ）を判別する。信号発生手段は、Ｔｏｕｃｈ　Ｖａｌに基づいて、物体または身体の一部が他の物体と接触または近接するＯＮ状態と、物体または身体の一部が他の物体と接触または近接していないＯＦＦ状態を示す信号を発生する。
【００２２】
第２の態様では、本発明は、他の物体と接触または近接する物体または身体の一部の存在を感知する方法で実現される。この方法は、接地に対し静電結合され、静電容量が物体または身体の一部と導体との近さに応じて変化するスクープキャパシタを形成する第１の導体により実施される。スクープキャパシタの最大容量よりも大きな容量を持つバケットキャパシタを形成する第２の導体と第３の導体のペアが実現され、入力しきい値スイッチも実現される。スクープキャパシタおよびバケットキャパシタのうち少なくとも１つを電圧源に接続して少なくとも１つのキャパシタを充電し、バケットキャパシタの電荷を反復可能な非ゼロ基準レベルに設定し、スクープキャパシタの相対的サイズに関してバケットキャパシタの電荷を基準レベルから変化させ、バケットキャパシタの電圧を入力しきい値スイッチに印加することを選択的に行うためスイッチングを実行する。入力しきい値スイッチの入力状態が検出される。入力しきい値スイッチの遷移が検出されたことに対応してバケットキャパシタの電荷が変化するサイクル数に関係する値（Ｔｏｕｃｈ　Ｖａｌ）が判別される。Ｔｏｕｃｈ　Ｖａｌに基づいて、物体または身体の一部が他の物体と接触または近接するＯＮ状態と、物体または身体の一部が他の物体と接触または近接していないＯＦＦ状態を示す信号を発生する。
【００２３】
上述した本発明のその他の目的、特徴及び利点は、添付されている図面とともに提示されている好ましい実施形態についての以下の詳細から明らかであり、また完全に理解されるであろう。
【００２４】
【課題を解決するための手段】
本発明の静電容量感知システム及びその方法は、コンピュータ入力デバイス、特にワイヤレスオプティカルトラッキングマウス内の応用例に関して説明している。ただし、本発明は潜在的にかなり広い範囲にわたる応用を持つことは理解されるであろう。本発明の静電容量感知システムは、パワーマネジメント機能に限られるわけではなく、むしろ他の物体と接触または近接している物体または身体の一部の有無を判別することが望まれる実質的にどのようなデバイス（データ入力デバイスなどの手段）でも実装できる。これには、他のさまざまな種類の近接センサが使用されている多数のアプリケーション、例えば、トイレの送水弁作動、水栓および噴水式飲料水供給装置、自動ドア制御システム、警報システム、セキュリティロックシステム、および安全保護装置システム（例えば、工業機器用）などが含まれる。
【００２５】
本明細書で使用している「他の物体と接触または近接している」という表現は、局在する物体の一部だけでなく物体全体も意味し、互いに連動する複数のセンサを使用することを意味することは理解されるであろう。したがって、例えば、本発明の静電容量感知システム及びその方法は、測位目的および／または位置依存データ入力、インターフェイスまたはその他の機能を実行する目的で複数のセンサにより実装することができる。このような機能として、例えば、タッチパッドおよびタッチストリップ機能、さらに、さまざまなコンピュータ／ユーザインターフェイス機能があり、例えば、２００１年３月９日に出願された米国出願番号０９／８０４４９６号に開示されている。
【００２６】
【発明の実施の形態】
本発明のパワーマネジメント機能の態様には、さまざまな種類のユーザ操作データ入力デバイス、例えば、ホストコンピュータへの携帯型および非携帯型、ワイヤレスおよび有線、自給式および周辺機器における有用な応用がある。本発明には、要求があったときにすぐに使用できるように間欠的に使用され、一般的には長時間にわたってつけっぱなしにされるバッテリ式デバイス（これに限られるわけではない）の特に有用な応用がある。このようなデバイスには（これらに限られるわけではないが）、ポータブルコンピュータ、パーソナルデータアシスタント（ＰＤＡ）、タブレットコンピュータ、携帯電話、ポケットベル、およびワイヤレスコンピュータおよびゲーミング周辺機器、例えば、マウス、キーボード、ゲームパッド、およびハンドヘルドデジタイジングペンがある。
【００２７】
図１は、本発明による感知システムを組み込むことができるマウスの例の回路を示す図である。マウスは、表面オプティカルトラッキングシステムを採用するワイヤレスマウスである。制御論理回路は、台湾のＳｕｎｐｌｕｓ　Ｔｅｃｈｎｏｌｏｇｙ　Ｃｏｍｐａｎｙ，Ｌｔｄ．ｏｆ　Ｈｓｉｎｃｈｕ社の制御用集積回路（ＩＣ）１、例えば、Ｓｕｎｐｌｕｓ　ＳＰＭＣＯ２Ａマイクロプロセッサ（μＰ）、または特定用途向け集積回路（ＡＳＩＣ）でファームウェアとして実装することができる。システムに供給される電力を管理するほかに（例えば、２　ＡＡ電池３により）、μＰ　１はマウスの信号処理および出力機能を実行し、ＲＦ送信機５を介したホストコンピュータへのデータパケットのワイヤレス送信を制御する。
【００２８】
光コントローラＩＣ７は、オプティカルトラッキングエンジンの一部をなし、トラッキング可能面（例えば机上）に光を当てるために使用するＬＥＤ光源９の照明を制御する。ＩＣ７は、トラッキング可能面から反射された光を受信するイメージ検出器１０（ＩＣ７の一部として含まれる）から受信した信号を処理する。イメージは、ＩＣ７で空間的相関を使用して相対的変位値をピクセルまたはサブピクセル間隔で判別することにより処理される。ＩＣ７では、相対的変位値のストリームをμＰ　１に伝達し、信号をさらに処理してデータパケットにし、これをホストコンピュータが使用し、表示されるマウスカーソルの移動を制御する。μＰ　１はマウスのＲＦ送信セクション５を制御し、データパケットをホストコンピュータに送信する。
【００２９】
図２は、本発明のシステムが適用されるマウスとともに使用するコンピュータ１１の機能ブロック図である。マウス１３は、図２からわかるように、右ボタン１５と左ボタン１７を備え、さらにそれらの間に押せる、回転可能なスクロールホイール１９が配置されている。明らかに、マウス１３では、アクチュエータを増やしたり（親指作動ボタン、または指作動ボタンを増やす）、アクチュエータを減らしたり（１ボタンまたは２ボタンのみにするなど）、または違う種類のアクチュエータ（トリガ、ローラーなど）を備えたりできる。そうする代わりに、マウス１３をトラックボールデバイスなどの別の種類のカーソル制御（ポインティング）デバイスにすることもできる。コンピュータ１１は、マウスドライバ２１、オペレーティングシステム２３、メッセージフックプロシージャ２５、フォーカスアプリケーション２７を備えるファームウェアおよび／またはソフトウェアを含む。コンピュータシステム１１の入力デバイス１３の動作をよく理解できるように、そのシステムのコンポーネントを図３に示されているようなマウスパケットデータ構造に関して説明する。もちろん、データ構造内のデータ部分または異なるデータの再配列を使用できることは理解されるであろう。例えば、異なるアクチュエータを使用する場合、データ構造もそれに応じて変わる。
【００３０】
マウスメッセージを開始するには、ユーザはまずマウス１３を操作する。この操作に基づき、マウス１３はシリアルインターフェイス７５に渡される、操作イベントを示すマウスパケットを生成する。シリアルインターフェイス７５がマウスパケットを受信すると、マウスパケット内のシリアル情報を一組のパラレルパケットに変換し、それらのパラレルパケットをマウスドライバ２１に送る。マウスドライバ２１は、従来の方法で操作イベントに基づいてマウスメッセージを作成する。
【００３１】
次に、マウスメッセージはオペレーティングシステム２３に送信される。オペレーティングシステム２３には、Ｍｉｃｒｏｓｏｆｔ“ＷＩＮＤＯＷＳ（登録商標）”オペレーティングシステム、例えば“ＷＩＮＤＯＷＳ　ＮＴ（登録商標）”、“ＷＩＮＤＯＷＳ　９５（登録商標）”、“ＷＩＮＤＯＷＳ　９８（登録商標）”、“ＷＩＮＤＯＷＳ　２０００（登録商標）”、または“ＷＩＮＤＯＷＳ　ＸＰ（登録商標）”がある。もちろん、ＩＢＭ　ＣｏｒｐｏｒａｔｉｏｎのＯＳ／２、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ、またはＡｐｐｌｅのオペレーティングシステム、さらにはＷｉｎｄ　Ｒｉｖｅｒ，Ｉｎｃ．社が販売しているようなさまざまな組み込み型アプリケーション用オペレーティングシステムなど他のオペレーティングシステムも使用できる。オペレーティングシステム２３は、一連のマウスメッセージフックプロシージャ（ｍｏｕｓｅ　ｍｅｓｓａｇｅ　ｈｏｏｋ　ｐｒｏｃｅｄｕｒｅｓ）２５を識別するマウスメッセージフックリストを含む。オペレーティングシステム２３がマウスドライバ２１からマウスメッセージを受信すると、マウスメッセージフックリストを調べて、マウスメッセージフックプロシージャがオペレーティングシステム２３にそれ自体で登録されているかどうかを調べる。少なくとも１つのマウスメッセージフックプロシージャがオペレーティングシステム２３に登録されている場合、オペレーティングシステム２３はマウスメッセージをリスト上に最初に出現する登録されているマウスメッセージフックプロシージャ２５に渡す。
【００３２】
呼び出されたマウスメッセージフックが実行され、値がオペレーティングシステム２３に返され、この値による指示で、オペレーティングシステムはマウスメッセージを次の登録されているマウスメッセージフックに渡す。
【００３３】
例えば、マウスメッセージは、コンピュータ１１内で現在フォーカスが置かれているウィンドウを「所有する」アプリケーションに対するコマンドを表す。その場合、メッセージフックプロシージャ２５は、コマンドをフォーカスウィンドウアプリケーション２７に発行する。応答として、フォーカスウィンドウアプリケーション２７が目的の機能を実行する。
【００３４】
メッセージフックプロシージャ２５がフォーカスアプリケーション２７にコマンドを発行した後、メッセージフックプロシージャ２５はメッセージ連鎖からメッセージを削除してマウスメッセージを消費する。これは、オペレーティングシステムに対して他のメッセージフックプロシージャにマウスメッセージを渡さないよう指示する値をオペレーティングシステム２３に返すことで実行する。
【００３５】
図３は、本発明のシステムが適用される表面オプティカルトラッキングマウス７７を示す一部ブロック形式で、一部概略図形式の詳細図である。マウス７７はハウジング７９、電磁放射線源（ＬＥＤなどの光源でもよい）８１、ハウジング７９の下部に定められているアパーチャ８３、第１のオプティカルカプラ８５、第２のオプティカルカプラ８７、イメージまたはパターン検出器８９、コントローラ９１、および電流ドライバ９３を備える。図３では、作業面９２に関して支持されているオプティカルマウス７７が示されている。パターンまたはイメージ検出器８９は、電磁放射線が当たりパターンまたはイメージを示す信号を与えることにより伝達される情報からイメージまたはパターンを検出することができる適当な検出器であればどのようなものでもよい。パターン検出器８９は、例えば、以下で詳しく説明しているような人工網膜パターン検出器（ａｒｔｉｆｉｃｉａｌ　ｒｅｔｉｎａ　ｐａｔｔｅｒｎ　ｄｅｔｅｃｔｏｒ）とすることができる。
【００３６】
すでに述べているように、光源８１は、パターンまたはイメージに当てるための放射線を供給するのに使用することができ、パターン検出器８９によって検出することが可能な適当な電磁放射線源であればどのようなものでもよい。図３に示されている一実施形態で、光源８１はＬＥＤ９５および一体型レンズ９７を備える。光源８１は、例えば、表面実装ＬＥＤや低級レーザー（ナノメートル範囲の波長）でもよい。
【００３７】
ＬＥＤ９５から放出された放射線は、一体型レンズ９７（ＬＥＤ９５のケーシングと一体になっているガラスあるいはプラスチック製のドーム型透明光学部品として示されている）を通して伝達され、これがオプティカルカプラ８５に当たる。以下で詳しく説明するように、オプティカルカプラ８５はＬＥＤ９５から放出された放射線を集めて整形する。放射線はオプティカルカプラ８５から出て、ハウジングのアパーチャ８３を通り、作業面９２に当たる。作業面９２は、所定のパターンまたはテクスチャがない、通常の平面の作業面、例えば机上でよいが、所定のパターン、テクスチャ、またはイメージを伴う表面であってもよい。光は作業面９２から反射されて、オプティカルカプラ８７に向かう。オプティカルカプラ８７は、図３からわかるように、表面９２から反射された放射線をイメージ検出器（例えば、人工網膜）８９に向けて集束し、そこを焦点とするレンズを備える。
【００３８】
イメージ検出器８９は、作業面９２から反射された放射線に基づき、作業面９２上のイメージまたはパターンを表すイメージ信号を発生する。イメージ信号がコントローラ９１に送られ、このコントローラ９１は、イメージ信号に基づいて位置情報を計算する。この位置情報は、例えば、上述した特許文献で説明しているような方法で、作業面９２に関するマウス７７の移動を示す。位置情報は情報パケットの形でコントローラ９１によって送られ、さらにケーブル、または赤外線、超音波、無線周波（ＲＦ）リンクなどのワイヤレス送信リンクを通じてコンピュータ１１に送信することができる。コントローラ９１によって送られる位置情報は、ユニバーサルシリアルバス（ＵＳＢ）、ＦｉｒｅＷｉｒｅ（商標）、Ｉ２Ｃ、ＰＳ２、ＥＣＰ、およびＥＰＰインターフェイス形式などの従来のシリアルまたはパラレルインターフェイス形式に従って送ることができる。
【００３９】
上述のように、イメージ検出器８９は人工網膜でもよい。三菱電機製の適当な人工網膜は可変感度光検出器（ＶＳＰＤ）の二次元アレイであり、動作の仕組みは知られている。簡単に言うと、ＶＳＰＤは半絶縁ＧａＡｓ層（ｐｎ−ｎｐ構造）（ｓｅｍｉ−ｉｎｓｕｌａｔｅｄ　ＧａＡｓ　ｌａｙｅｒ（ｐｎ−ｎｐ　ｓｔｒｕｃｔｕｒｅ））上に集積され、分離されているダイオードのペアを並べたものである。一実施形態では、このアレイは３２ｘ３２要素のアレイであるが、目的に応じて大きくも小さくもできる。光検出器の電流は、印加される電圧の符号と大きさに左右される。このようなＶＳＰＤはアナログメモリ効果を示し、光書き込みパルスが存在するときに電圧がかけられると導電性情報が記憶される。この情報を取り出すには、光読み出しパルスを注入する。
【００４０】
さらなる例として、イメージ検出器８９は、カリフォルニア州パロ・アルトのＡｇｉｌｅｎｔ　Ｔｅｃｈｎｏｌｏｇｉｅｓ　Ｉｎｃ．社から市販されているオプティカルトラッキングＩＣ、例えば、ＡＤＮＳ　２０３０および２０５０　ＩＣの一部として提供できる。また、関連するイメージ処理コンポーネント（例えば、ＬＥＤ光源およびオプティカルカップリングアッセンブリ）がＡｇｉｌｅｎｔから市販されており、単独で、またはオプティカルトラッキングマウスの設計での使用を対象とするオプティカルトラッキングエンジンキット一式の一部として利用することができる。
【００４１】
このようなデバイスのイメージ処理は、光マトリックスベクトル乗算（ｏｐｔｉｃａｌ　ｍａｔｒｉｘ−ｖｅｃｔｏｒ　ｍｕｌｔｉｐｌｉｃａｔｉｏｎ）またはその近似計算に基づく。入力イメージが重み付けマトリックス（ｗｅｉｇｈｔ　ｍａｔｒｉｘ）としてデバイスに投射される。ＶＳＰＤはすべて、行に沿って接続された１本の電極を備え、感度制御ベクトル（ｓｅｎｓｉｔｉｖｉｔｙ　ｃｏｎｔｒｏｌ　ｖｅｃｔｏｒ）を出力する。したがって、ＶＳＰＤ感度は、特定の範囲内の各行で任意の値に設定できる。さらに、残りのＶＳＰＤ電極は列に沿って接続され、重み付けマトリックスに感度制御ベクトルを掛けたマトリックスベクトル積により定義される出力電流ベクトルを生成する。
【００４２】
図３の実施形態では、イメージ検出器８９は、コントローラ９１により制御され、エッジ抽出演算（ｅｄｇｅ　ｅｘｔｒａｃｔｉｏｎ　ｏｐｅｒａｔｉｏｎｓ）を実行する。２つの隣接する検出器行の感度は、＋１および−１にそれぞれ設定されるが、他の感度はすべて０に設定される。この実施形態では、出力電流は２つの能動行の光度の差に比例する。制御電圧パターンを循環シフトすることで（０、＋１、−１、０、０など）、入力イメージの水平エッジを感知する。このようにして、システムは逐次的かつセミパラレルモード（ｓｅｍｉ−ｐａｒａｌｌｅｌ　ｍｏｄｅ）で動作する。
【００４３】
図３の実施形態では、マウス７７はさらに、光源８１に結合されている電流ドライバ９３を備える。この配列では、コントローラ９１を光源８１によって生成される放射線の強度を間欠的に感知し、電流ドライは９３を通じて光源８１に送られる電流を調整するように構成することができる。つまり、感知された強度が望む範囲よりも低い場合、コントローラ９１はフィードバック信号を電流ドライバ９３に送り、光源８１に送る電流を高くし、光源８１から放出される電磁放射線の強度を上げることができる。一方、放射線の強度が望む範囲よりも高い場合、コントローラ９１はフィードバック信号を電流ドライバ９３に送って光源８１に送られる電流を小さくし、それにより光源８１から放出される放射線の強度を下げることができる。こうすることで、反射されたイメージ情報の信号対雑音比を最大にすることができる。また、本発明のパワーマネジメントシステムおよび方法に加えて、マウス７３の全体的な電力消費量を低減する手段としても使用できる。
【００４４】
コントローラ９１がイメージ検出器８９からイメージ信号を受信し、そのイメージ信号を処理して位置情報を生成する方法に関する詳細は、上述した特許文献１に記載されている。これらの詳細は、本発明の静電容量感知システムには直接には関係しない（また、それを理解する上で必要なわけでもない）。ただし、このような信号処理では従来の光電磁エンコーダホイールシステム（通常１〜２ｍＡ）に比べて相当な電力（通常２０〜３０ｍＡ）を消費することに留意されたい。オプティカルトラッキングシステムの光源を駆動するためにもさらに電力が必要である。
【００４５】
すでに述べているように、本発明の静電容量感知システムが適用されるマウスは、ホストコンピュータとのワイヤレス（例えば、ＲＦまたは赤外線）データリンクを備えることができる。マウス９９および受信機１０１を備えているこのようなシステムは、図４に示されている。受信機１０１は、ユニバーサルシリアルバス（ＵＳＢ）ケーブルでパーソナルコンピュータ１０３に接続されたＲＦ受信機である。マウス９９は、ＲＦ送信機を組み込んでおり、すでに説明したようにオプティカルトラッキングシステムを組み込むことができる。マウス９９は、通常の方法で使用でき、例えば、ユーザはマウスを平たい表面（平面）上に移動してコンピュータの画面上でカーソルを動かし、画面上のカーソルの動作を従来の「ポイント＆クリック」方式で制御することができる。ユーザがマウス９９を移動し、ボタンをクリックすると、マウス９９はこの活動を表す２進データを生成し、そのデータをパケットにカプセル化して、無線周波（ＲＦ）信号として受信機１０１に送信する。ＲＦ送信は、知られている方法で実行することができ、その詳細は本発明の送信システムを理解する上で必要というわけではない。受信機１０１がマウス９９を認識すると、２進データをコンピュータ１０３に送信する。すると、コンピュータはそのデータに反応し、例えば、カーソルを画面（モニタ）１０５上で移動する。
【００４６】
通常、ＡＡアルカリ電池を２つ使ってマウス９９に電力を供給するが、容量は約２５００ｍＡｈである。限られたバッテリ電力を節約するために（例えば、特許文献６参照）によるパワーマネジメントシステムを使用して、使用中でないときにマウスの電源を切ることができる。システムの一部として、本発明による静電容量感知機能の新規性のあるシステム及び方法を利用する接触／近接センサを採用して使用度を示すことができる。
【００４７】
本発明の静電容量感知システムでは、導体とデバイス接地との間の容量が相対的に増大することで、他の物体と接触または近接する物体または身体の一部が存在することが示される。ユーザ操作データ入力デバイスに応用すると、システムはデバイスに接触または近接するユーザの手またはその他の動作手段（例えば、ペン型データ入力デバイスのペン）の有無を知らせることができる。マウス９９に応用すると、静電容量感知システムは、マウス９９に接触または近接するユーザの手の存在を感知する。
【００４８】
センサプレートとその周囲にあるもの（相対的デバイス接地）との間に形成される比較的小さなキャパシタのサイズが変化すると、電荷移動手法により検出され、この手法では、Ａ／Ｄコンバータなどによる大きな処理能力を必要とする（かつ比較的低速な）容量測定が避けられる。同様にして、スクープキャパシタの電荷をより大きな（「バケット」）キャパシタに繰り返し溜め込んで、バケットキャパシタを「満杯にする」のに必要な「スクープ」の数を数えることにより、小さな（「スクープ」）キャパシタの相対的サイズの変化を調べることができる。「スクープ」キャパシタは、例えば、ユーザの手が接触または近接することで変調される。マウスにユーザの手が近いほど、スクープキャパシタの見かけのサイズは大きくなる。「バケット」を一杯にするのに要する「スクープ」の数を数えることにより、ユーザの手がマウスに接触したり離れたりするときの手の近さの変化によって開始する容量変化を検出することができる。
【００４９】
本発明は、バケットキャパシタを「満杯にする」のに要する「スクープ」の物理的カウントを測定するのにかかる時間とエネルギーを低減するシステムと方法を実現することにあり、上述した特許文献６の開示に基づいている。このアルゴリズムの効率を改善し、その改善結果を利用して、このアルゴリズムが採用されている製品のバッテリ寿命を延ばすことができる。
【００５０】
上述した特許文献６では、人間の手が近づくことで発生する環境静電容量の変化を検出する方法とシステムについて説明しており、これにより、マウス、キーボードなどが使用中でないときに大電流システム、例えば、トラッキングシステムを「オフ」にすることで省電力を図ることができる。この状態の判別には、マイクロプロセッサの一連の周期的動作がかかわり、検出間隔で大きな電流が引き込まれる。タッチシステムが作動する毎に、０ボルトから内部コンパレータによって決定された任意のしきい値まで「バケット」キャパシタが充電されると、カウントが発生するため、この間隔は、比較的長い。本発明の発明者は、代表的なシステムのカウントは１００またはそれ以上まで累計されるが、「接触」イベントと「非接触」イベントとの差はこの値を中心に±５カウントの範囲でのみ有意であることを理解していた。感知目的では、注目している領域がこの差であって、最終的な数まで上がってゆくカウントの連続ではない。本発明によれば、検出シーケンスの開始時に反復可能なオフセット電荷をバケットキャパシタに注入する。このようなオフセットにより、カウント範囲をバケットキャパシタに誘起されるオフセット電荷に比例する量だけ低減することができる。
【００５１】
本発明の実施形態によれば、図５を参照すると、抵抗器（例えば、３０ｋΩ）またはその他のインピーダンス素子１８４をμＰ　１の未使用のピンまたはマルチファンクションピンに配線することで、ポートピンが電圧源として機能するマイクロプロセッサが検出サンプリング間隔の前にバケットキャパシタ１８３に電流を注入することができる。抵抗器の代わりに、インピーダンス１８４を、バケットキャパシタ、またはプリチャージの移動元の他のキャパシタにプリチャージを「フライバック（ｆｌｙｂａｃｋ）」するのに使用されるインダクタとすることもできる。さらに、外部インピーダンス素子を省いて、μＰ　１のポートピンを、バケットキャパシタを繰り返し可能なレベルまでプリチャージする、決定論的時間の間電流ソースとして設定することもできる。
【００５２】
ピンが抵抗器を通してバケットキャパシタを充電する電圧源として設定された場合、電荷注入は印加される電圧持続時間、抵抗値、およびバケットキャパシタの値の関数として変化する。プリチャージは繰り返し可能にすることができ、理論上、Ｉ／Ｏセルのしきい値レベルよりも下の電圧を発生する任意のレベルに設定できる。しかし、実用上は、シリコン製造に使用する加工プロセスが約±１２％であるためＩ／Ｏセルのしきい値レベルには不確定性がある。その上、一般に、クロックタイミングにはある程度変動がつきものであり、バケットキャパシタおよびスクープキャパシタの容量もまた変化し、さらに１０％ほど加わると思われる。さらに、スクープキャパシタの電荷変動にはカウントに影響を及ぼす環境要素がある。これらのプロセス変動の発生源を考慮したうえで、バケットキャパシタの公称「容量」の約２／３以下のプリチャージを選択して安全マージンを維持するのが望ましく、その際に、関連するマイクロプロセッサまたはＡＳＩＣの平均検出しきい値を考慮する。
【００５３】
各サンプル（カウント）設定は１００〜１１０カウントではなく、例えば、２０または３０カウントまで累計できる。サンプリング時間は、以前に必要だった時間の１／４に短縮される。非オフセットシステムの「接触」値は１００カウントで、非接触値は１１０であると仮定する。この場合、その結果得られるカウントの約１０％が手の存在を解決するために使用される＝１０／１００。そこで、手の存在で２０カウントまで累計し、手が存在していないときに３０カウントまで累計するオフセットシステムを考察する。この場合、差は１０／２０または５０％である。サンプリングサイクル間の間隔を１００ｍＳ、サンプリング時間を５ｍＳ、総電流引き込みは２ｍＡ（ハンドオフ）と仮定すると、総電力引き込みは平均１００μＡから３３μＡに低減される。この例で達成される総節電量は３：１（ハンドオフ）で、この比は、サンプリング周期（頻度）を高めて応答性を改善できるため変更できる。カウント総数は２０〜３０の範囲に減らせるため、決定の質に影響を及ぼす外部雑音摂動の可能性も小さくできる。外部過渡イベントは普通に発生し、カウントの数に影響を及ぼすことがある。検出期間が短いほど、「正しい答えを求められる」可能性が高まる、つまり、エラーマージンが向上する。
【００５４】
オフセット電荷を使用すると、検出サンプリングを実行する時間および電力要件に関して有利である。これらの利点は、手／物体検出および非接触関連の環境容量変動の分解能を向上する（粒度を上げる）ことができ、したがって、雑音に対するシステム感度を減少できる。例えば、このために、バケットキャパシタのサイズを４．７ｎＦから７．５ｎＦに上げて、カウント間隔を３０（接触）から４５（非接触）までの範囲とする。バケットキャパシタのサイズを大きくすることに対応して、バケットキャパシタが電圧源と抵抗器により充電される場合、抵抗値は同じ比だけ、例えば、２０ｋΩまで下げるのが好ましい。この場合、節電は約２：１に下がるが、接触検出の粒度は５０％向上する（１０から１５カウントまで）。このような粒度増大は、例えば、手の接近と実際の接触状態との判別を行うのに役立ち、これを使用してパワーマネジメントまたはその他の機能を実行することができる。一実施例では、電力効率を保持しながらデバイス応答性を改善するために、他のコンポーネント（電源投入に時間がかからない）が実際の手の接触が検出されるまで電源が投入されないうちに、手の接近を検出した後いくつかのデバイスコンポーネントの電源投入プロセスを開始するのが望ましいことがある。
【００５５】
上述のように、外部抵抗器またはその他のインピーダンスを使用する代わりに、μＰ　１の関連するＩ／Ｏポートの内部限流（電流ソース）機能を使用し、電源投入のタイミングを慎重に決める。通常、Ｉ／Ｏポートのインピーダンスは、ＦＥＴソースまたはシンクインピーダンスとして１００Ωのオーダーであるが、ソースインピーダンスは幾分動的であり、非線形である。知られているように、ＩＣを製作するために使用するプロセスを慎重に制御することにより、これらのＦＥＴを限流源として使用可能にできる。この機能を備えるマイクロプロセッサは市販されている。ＡＳＩＣ構成では、これらのＩ／Ｏ　ＦＥＴにバイアスをかけて、比較的正確な電流を供給することができる。そこで小電流ソースなどの単純なデジタルカウンタを有限の制御可能な時間の間オンにし、決定論的なクーロン数の電荷をバケットキャパシタに注入する。それとは別に、本質的に同じ結果が、直列につないだインダクタなどの同調回路、またはキャパシタ付きのフライバックを使用し、時間間隔を短くすることで得られる。
【００５６】
第１の実施形態では、本発明は、「スクープ」キャパシタ１８１を順次充電し、比較的大きな好ましくは固定サイズのバケットキャパシタ１８３に排出することで動作する。バケットキャパシタ１８３は、例えば、静電容量Ｃが４．７ｎＦであるが、スクープキャパシタの静電容量は１５から４５ｐＦの範囲で変化する。注入／排出プロセスは、バケットキャパシタ１８３が「満杯」になるまで続けられる。マウスと接触または近接するユーザの手の有無を示す、スクープキャパシタ１８１のサイズの増加は、バケットを一杯にするまでにどれだけの「スクープ」が必要だったかで決定できる。この一般的プロセスは、上述した特許文献６で説明しているのと同じである。
【００５７】
しかし、本発明のケースでは、このアルゴリズムは、「スクープ」をカウントする前にバケットを満杯にならない程度に「注入する」ことにより修正される。このようにして、「スクープ」の数を減らす。
【００５８】
図１及び図５に示されているように、好ましい実施形態では、μＰ　１の３つのＩ／ＯピンＡ、Ｂ、およびＣを使用して、注入、排出（電荷移動）、および入力しきい値スイッチサンプリング動作を制御する。ピンＣは、抵抗器（またはその他のインピーダンス）１８４を通じて、ピンＡに接続される。他の方法では、上述のように、インピーダンス１８４の代わりに内部電流ソースを使用することもできる。明らかに、他のハードウェア／ソフトウェア／ファームウェア配置を利用して、ファームウェアでプログラムされたμＰ　１の代わりに回路ディスクリート素子またはＡＳＩＣの配置を含む、同じまたは類似の結果を得ることができる。ファームウェア制御のもとで以下のステップをμＰ　１で実行できる。
【００５９】
ステップ１；μＰがピンＡ、Ｂ、およびＣをグラウンドにクランプし、バケットキャパシタ１８３を放電する。カウンタ＝０。
ａ．ピンＡをハイインピーダンスに設定する。
ｂ．ピンＣを１または正電圧に設定する。充電抵抗器またはソースインピーダンスを通して、有限の電荷をバケットキャパシタ１８３に注入する。電荷は、バケットキャパシタを「満杯にする」のに必要な値よりも小さくなるように選択する。総電荷は、正の電圧、充電時間、およびバケットキャパシタ１８３に接続されているピンＣとピンＡの間の直列インピーダンスの関数として変化する。（ＡＳＩＣ実装などの内部電流ソースの場合、総電荷は電流ソースの値とアクティベーション時間の関数として変化する）。
ｃ．ピンＢおよびピンＣをハイインピーダンスに設定する。
【００６０】
ステップ２；ピンＢがまだハイインピーダンス入力（浮動状態）に設定されている場合、ピンＡを高に設定し、スクープキャパシタを充電する（バケットキャパシタ１８３を充電せずに）。
【００６１】
ステップ３；ピンＡをハイインピーダンス入力（浮動状態）に設定し、ピンＢをローインピーダンス入力に設定し、スクープキャパシタ１８１からバケットキャパシタ１８３に電荷を排出する。
【００６２】
ステップ４；カウンタ＝カウンタ＋１（スクープを１つカウントする）。
【００６３】
ステップ５；ピンＡ（まだハイインピーダンス入力状態）をサンプリングし、入力高しきい値（バケットの「満杯」状態を示す）を交差したかどうかを調べる。そうでなければ、ステップ２〜５を繰り返す。
【００６４】
ステップ６；アルゴリズムは完了するが、カウンタ値はスクープキャパシタの相対的サイズに反比例する。カウンタ値が低いほど、スクープキャパシタの静電容量は大きくなる。カウンタ値は、電流接触値（Ｔｏｕｃｈ　Ｖａｌ）として直接使用するか、または平均化して新しい接触読み取り値にする、例えば、Ｔｏｕｃｈ　Ｖａｌ＝（Ｔｏｕｃｈ　Ｖａｌ＋カウンタ）／２とするが、この場合、Ｔｏｕｃｈ　Ｖａｌは移動平均値である。
【００６５】
そこで、電荷移動の各サイクルに続いて（バケットキャパシタを繰り返し可能な非ゼロ基準電荷まで初期充電した後）、μＰ　１の入力しきい値スイッチ、例えば、ピンＡに接続されているＣＭＯＳトランジスタをチェックして、しきい値（例えば、１／２　Ｖｃｃ＝１．５５Ｖ±２０％）に達したかどうかを判別する。そうなったら、これはバケットキャパシタが「満杯」であることを示す。チェック毎にカウンタがインクリメントされ、しきい値電圧を超えるまでインクリメントが続けられる。カウント関係値（Ｔｏｕｃｈ　Ｖａｌ）が所定のしきい値カウント値（好ましくは説明する方法で動的に調整する）以下になるとマウスに手を置いた（または接近させた）と判別される。前述の接触オン（ＯＮ）または接触オフ（ＯＦＦ）信号がこの決定に基づいて発生する。
【００６６】
これまでに説明したように、Ｔｏｕｃｈ　Ｖａｌはカウント値または移動平均カウント値である。しかし、その代わりＴｏｕｃｈ　Ｖａｌはカウントに関係する他の変数、例えば、入力高しきい値に達するのに必要な電荷移動のサイクル数の代用指示（ｐｒｏｘｙ　ｉｎｄｉｃａｔｉｏｎ）となる時間値とすることもできることは理解されるであろう。
【００６７】
上述した方法の「低側」のバリエーションでは、ピンＢがハイインピーダンス入力に設定されるときにピンＢで（ピンＡではなく）サンプリングが実行される。代表的コントローラのＣＭＯＳトランジスタしきい値スイッチは、高〜低遷移点と幾分異なる電圧で低から高に遷移する。この違いを利用して、カウント値のさまざまな分解能を得ることができる。「低側」バリエーションを実行する際に、μＰ　１は以下のステップを実行する。
【００６８】
ステップ１；μＰ　１がピンＡ、Ｂ、およびＣをグラウンドにクランプし、バケットキャパシタ１８３およびスクープキャパシタ１８１を放電する。カウンタ＝０。
ａ．ピンＡをハイインピーダンスに設定する。
ｂ．ピンＣを１または正電圧に設定する。充電抵抗器またはソースインピーダンスを通して、有限の電荷をバケットキャパシタに注入する。電荷は、バケットキャパシタを「満杯にする」のに必要な値よりも小さくなるように選択する。総電荷は、正の電圧、充電時間、およびバケットキャパシタに接続されているピンＣとピンＡの間の直列インピーダンスの関数として変化する。（ＡＳＩＣ実装などの内部電流ソースの場合、総電荷は電流ソースの値とアクティベーション時間の関数として変化する）。
ｃ．ピンＢおよびピンＣをハイインピーダンスに設定する。
【００６９】
ステップ２；ピンＢがまだハイインピーダンス入力（浮動状態）に設定されている場合、ピンＡを高に設定し、スクープキャパシタを充電する（バケットキャパシタ１８３を充電せずに）。
【００７０】
ステップ３；ピンＢ（まだハイインピーダンス入力状態）をサンプリングし、入力低しきい値（バケットの「満杯」状態を示す）を交差したかどうかを調べる。交差している場合、ステップ（７）に進む。交差していない場合、ステップ４に続く。
【００７１】
ステップ４；ピンＡをハイインピーダンス入力（浮動状態）に設定し、ピンＢをローインピーダンス入力に設定し、スクープキャパシタ１８１からバケットキャパシタ１８３に電荷を排出する。
【００７２】
ステップ５；カウンタ＝カウンタ＋１（スクープを１つカウントする）。
【００７３】
ステップ６；ステップ２〜５を繰り返す。
【００７４】
ステップ７；アルゴリズムは完了するが、カウンタ値はスクープキャパシタの相対的サイズに反比例する。カウンタ値が低いほど、スクープキャパシタの静電容量は大きくなる。カウンタ値は、電流接触値（Ｔｏｕｃｈ　Ｖａｌ）として直接使用するか、または平均化して新しい接触読み取り値にする、例えば、Ｔｏｕｃｈ　Ｖａｌ＝（Ｔｏｕｃｈ　Ｖａｌ＋カウンタ）／２とするが、この場合、Ｔｏｕｃｈ　Ｖａｌは移動平均値である。
【００７５】
図５の回路配置により実施できる他の実施形態では、Ｔｏｕｃｈ　Ｖａｌはスクープキャパシタ１８１を通じてバケットキャパシタ１８３を（充電ではなく）排出するのに必要な複数のサイクルを表すことができる。また、類推により、このバケットは最初に「満杯」にされており、その後、スクープ毎に空にし、この操作をバケットキャパシタの電荷が「空」になった、つまりしきい値レベルよりも小さくなったことを示すしきい値低（または高）電圧が検出されるまで続ける。この他の実施形態を実施する際に、μＰ　１は以下のステップを実行することができる。
【００７６】
ステップ１；μＰ　１はピンＡを高にし、ピンＢを低にして、バケットキャパシタを充電し、ピンＣをハイインピーダンスに設定する。
ａ．ピンＡをハイインピーダンスに設定する。
ｂ．ピンＣを０またはグラウンド電圧に設定する。放電抵抗器またはソースインピーダンスを通して、有限の電荷をバケットキャパシタから排出する。電荷は、バケットキャパシタを「空にする」のに必要な値よりも小さくなるように選択する。総電荷は、正の電圧、放電時間、およびバケットキャパシタ１８３に接続されているピンＣとピンＡの間の直列インピーダンスの関数として変化する。（ＡＳＩＣ実装などの内部電流シンクの場合、総電荷は電流シンクの値とアクティベーション時間の関数として変化する）。
ｃ．ピンＢおよびピンＣをハイインピーダンスに設定する。
【００７７】
ステップ２；ピンＢをハイインピーダンス入力（浮動状態）の設定のままにしながらピンＡをローインピーダンスにし、スクープキャパシタ１８１の電荷をグラウンドに排出する（バケットキャパシタ１８３の電荷は排出しない）。
【００７８】
ステップ３；ピンＡをハイインピーダンス入力（浮動状態）に設定し、ピンＢをローインピーダンス入力に設定して、バケットキャパシタ１８３からスクープキャパシタ１８１に電荷を移動する。
【００７９】
ステップ４；カウンタ＝カウンタ＋１（スクープを１つカウントする）。
【００８０】
ステップ５；ピンＡ（まだハイインピーダンス入力状態）をサンプリングし、入力低しきい値（バケットの「空」状態を示す）を交差したかどうかを調べる。そうでなければ、ステップ２〜５を繰り返す。
【００８１】
ステップ６；アルゴリズムは完了するが、第１の実施形態のように、カウンタ値はスクープキャパシタの相対的サイズに反比例する。カウンタ値が低いほど、スクープキャパシタの静電容量は大きくなる。Ｔｏｕｃｈ　Ｖａｌは、カウンタ値自体、カウンタ値の移動平均、またはカウンタ値に他の手段で関連付けられている値、例えば、対応する時間値に設定することができる。
【００８２】
ステップ１での電荷の極性を反転し、ピンＢを高レベルに、ピンＡを低レベルにして、バケットキャパシタを充電する。この場合、ステップ５でピンＡをサンプリングして、入力高しきい値と交差したかどうかを調べる。
【００８３】
第１の「バケット満杯」の実施形態と同様に、ピンＢがハイインピーダンス入力に設定されたときに、上の「バケットを空にする」実施形態のピンＢで（ピンＡではなく）サンプリングが実行される。このバリエーションを実行する際に、μＰ　１は以下のステップを実行する。
【００８４】
ステップ１；μＰ　１はピンＡを高にし、ピンＢを低にして、バケットキャパシタ１８３を充電し、ピンＣをハイインピーダンスに設定する。
ａ．ピンＡをハイインピーダンスに設定する。
ｂ．ピンＣを０またはグラウンド電圧に設定する。放電抵抗器またはソースインピーダンスを通して、有限の電荷をバケットキャパシタから排出する。電荷は、バケットキャパシタを「空にする」のに必要な値よりも小さくなるように選択する。総電荷は、正の電圧、放電時間、およびバケットキャパシタ１８３に接続されているピンＣとピンＡの間の直列インピーダンスの関数として変化する。（ＡＳＩＣ実装などの内部電流シンクの場合、総電荷は電流シンクの値とアクティベーション時間の関数として変化する）。
ｃ．ピンＢおよびピンＣをハイインピーダンスに設定する。
【００８５】
ステップ２；ピンＢをハイインピーダンス入力（浮動状態）の設定のままにしながらピンＡをローインピーダンスにし、スクープキャパシタ１８１の電荷をグラウンドに排出する（バケットキャパシタ１８３の電荷は排出しない）。
【００８６】
ステップ３；ピンＢ（まだハイインピーダンス入力状態）をサンプリングし、入力高しきい値（バケットの「空」状態を示す）を交差したかどうかを調べる。交差している場合、ステップ７に進む。交差していない場合、ステップ４に続く。
【００８７】
ステップ４；ピンＡをハイインピーダンス入力（浮動状態）に設定し、ピンＢをローインピーダンス入力に設定して、バケットキャパシタ１８３からスクープキャパシタ１８１に電荷を移動する。
ステップ５；カウンタ＝カウンタ＋１（スクープを１つカウントする）。
ステップ６；ステップ２〜５を繰り返す。
【００８８】
ステップ７；アルゴリズムは完了するが、第１の実施形態のように、カウンタ値はスクープキャパシタの相対的サイズに反比例する。カウンタ値が低いほど、スクープキャパシタの静電容量は大きくなる。Ｔｏｕｃｈ　Ｖａｌは、カウンタ値自体、カウンタ値の移動平均、またはカウンタ値に他の手段で関連付けられている値、例えば、対応する時間値に設定することができる。
【００８９】
ステップ１での電荷の極性を反転し、ピンＢを高レベルに、ピンＢを低レベルにして、バケットキャパシタを充電する。この場合、ステップ３でピンＡをサンプリングして、入力低しきい値と交差したかどうかを調べる。
【００９０】
図５の回路配置により実施できるさらに他の実施形態では、Ｔｏｕｃｈ　Ｖａｌは直列に接続されているバケットキャパシタ１８３とスクープキャパシタ１８１に電圧を加えてバケットキャパシタ１８３を「満杯にする」のに必要な複数のサイクルを表すことができる。この場合、バケットキャパシタ１８３の電荷がサイクル毎に増えるが、この増大はスクープキャパシタ１８１の相対的サイズにより調整される。この他の実施形態を実施する際に、μＰ　１は以下のステップを実行することができる。
【００９１】
ステップ１；μＰ　１がピンＡ、Ｂ、およびＣをグラウンドにクランプし、バケットキャパシタ１８３およびスクープキャパシタ１８１を放電する。カウンタ＝０。
ａ．ピンＢをハイインピーダンスに設定する。
ｂ．ピンＣを１または正電圧に設定する。充電抵抗器またはソースインピーダンスを通して、有限の電荷をバケットキャパシタに注入する。電荷は、バケットキャパシタを「満杯にする」のに必要な値よりも小さくなるように選択する。総電荷は、正の電圧、充電時間、およびバケットキャパシタ１８３に接続されているピンＣとピンＢの間の直列インピーダンスの関数として変化する。（ＡＳＩＣ実装などの内部電流ソースの場合、総電荷は電流ソースの値とアクティベーション時間の関数として変化する）。
ｃ．ピンＡおよびピンＣをハイインピーダンスに設定する。
【００９２】
ステップ２；ピンＡがまだハイインピーダンス入力（浮動状態）に設定されている間、ピンＢを高に設定すると、これでバケットキャパシタとスクープキャパシタが直列になる。同じ電流が両方のキャパシタに流れ、スクープキャパシタが満杯になると、電流がバケットキャパシタとスクープキャパシタの両方に流れるのが停止する。
【００９３】
ステップ３；ピンＢをハイインピーダンス入力（浮動状態）に設定し、ピンＡをローインピーダンス入力に設定し、（バケットキャパシタを放電せずに）スクープキャパシタを放電して、再び注入されるようにする。
【００９４】
ステップ４；カウンタ＝カウンタ＋１（スクープを１つカウントする）。
【００９５】
ステップ５；ピンＢ（まだハイインピーダンス入力状態）をサンプリングし、入力高しきい値（バケットの「満杯」状態を示す）を交差したかどうかを調べる。交差している場合、ステップ６に進む。交差していなければ、ステップ２〜５を繰り返す。
【００９６】
ステップ６；アルゴリズムは完了するが、カウンタ値はスクープキャパシタの相対的サイズに反比例する。カウンタ値が低いほど、スクープキャパシタの静電容量は大きくなる。カウンタ値は、電流接触値（Ｔｏｕｃｈ　Ｖａｌ）として直接使用するか、または平均化して新しい接触読み取り値にする、例えば、Ｔｏｕｃｈ　Ｖａｌ＝（Ｔｏｕｃｈ　Ｖａｌ＋カウンタ）／２とするが、この場合、Ｔｏｕｃｈ　Ｖａｌは移動平均値である。
【００９７】
上述の他の実施形態の「低側」のバリエーションでは、ピンＡがハイインピーダンス入力に設定されるときにピンＡで（ピンＢではなく）サンプリングが実行される。このバリエーションを実行する際に、μＰ　１は以下のステップを実行する。
【００９８】
ステップ１；μＰ　１がピンＡ、Ｂ、およびＣをグラウンドにクランプし、バケットキャパシタ１８３およびスクープキャパシタ１８１を放電する。カウンタ＝０。
ａ．ピンＢをハイインピーダンスに設定する。
ｂ．ピンＣを１または正電圧に設定する。充電抵抗器またはソースインピーダンスを通して、有限の電荷をバケットキャパシタに注入する。電荷は、バケットキャパシタを「満杯にする」のに必要な値よりも小さくなるように選択する。総電荷は、正の電圧、充電時間、およびバケットキャパシタに接続されているピンＣとピンＢの間の直列インピーダンスの関数として変化する。（ＡＳＩＣ実装などの内部電流ソースの場合、総電荷は電流ソースの値とアクティベーション時間の関数として変化する）。
ｃ．ピンＡおよびピンＣをハイインピーダンスに設定する。
【００９９】
ステップ２；ピンＡがまだハイインピーダンス入力（浮動状態）に設定されている間、ピンＢを高に設定すると、これでバケットキャパシタとスクープキャパシタが直列になる。同じ電流が両方のキャパシタに流れ、スクープキャパシタが満杯になると、電流がバケットキャパシタとスクープキャパシタの両方に流れるのが停止する。
【０１００】
ステップ３；ピンＡ（まだハイインピーダンス入力状態）をサンプリングし、入力低しきい値（バケットの「満杯」状態を示す）を交差したかどうかを調べる。交差している場合、ステップ７に進む。交差していない場合、ステップ４に続く。
【０１０１】
ステップ４；ピンＢをハイインピーダンス入力（浮動状態）に設定し、ピンＡをローインピーダンス入力に設定し、（バケットキャパシタを放電せずに）スクープキャパシタを放電して、再び注入されるようにする。
【０１０２】
ステップ５；カウンタ＝カウンタ＋１（スクープを１つカウントする）。
【０１０３】
ステップ６；ステップ２〜５を繰り返す。
【０１０４】
ステップ７；アルゴリズムは完了するが、カウンタ値はスクープキャパシタの相対的サイズに反比例する。カウンタ値が低いほど、スクープキャパシタの静電容量は大きくなる。カウンタ値は、電流接触値（Ｔｏｕｃｈ　Ｖａｌ）として直接使用するか、または平均化して新しい接触読み取り値にする、例えば、Ｔｏｕｃｈ　Ｖａｌ＝（Ｔｏｕｃｈ　Ｖａｌ＋カウンタ）／２とするが、この場合、Ｔｏｕｃｈ　Ｖａｌは移動平均値である。
【０１０５】
すでに述べたように、接触（ＯＮ）および非接触（ＯＦＦ）信号は、カウント関連値（Ｔｏｕｃｈ　Ｖａｌ）が所定のしきい値カウント値よりも小さいかどうかを直接判別することに基づいて発生することができる。雑音と非接触関連環境変化に強い接触／近接または非接触／近接フラグ（ＯＮ／ＯＦＦ）を判別し出力する機能を高めた感知アルゴリズムについて、図６を参照して説明することにする。このアルゴリズムは、上述した特許文献６で説明している感知アルゴリズムに対応している。
【０１０６】
便宜上、以下のアルゴリズムの説明では「接触」、「接触している」などの用語を使用して、接触および／または近接の動作を意味することにする。接触フラグＯＮは、アルゴリズム（ステートマシン）がｓｔＯｎ状態１８７またはｓｔＯｎＰｏｓ状態１８９であるときにセットされ、ｓｔＯｆｆ状態１９１およびｓｔＯｆｆＰｏｓ状態１９３であるときにクリアされる。この接触アルゴリズムは定期的に、上記のカウントアルゴリズムを使用して新しい接触値（Ｔｏｕｃｈ　Ｖａｌ）を読み取る。感知アルゴリズムで使用する変数のリストを以下に示す。
【０１０７】
Ｔｏｕｃｈ　Ｖａｌ　　電流接触読み取り値（上のカウントアルゴリズムからの結果）。
Ｔｏｕｃｈ　Ｏｆｆ　　電流ＯＦＦしきい値。
Ｔｏｕｃｈ　Ａｖｇ　　ＯＮ状態のときに、「ｓｔＯｆｆ」状態に入るために比較で使用する濾過された（疑似平均）値を保持する（以下参照）。
Ｔｏｕｃｈ　Ｃｎｔ　　いろいろな接触状態で使用する濾過するカウント値。
【０１０８】
接触アルゴリズムの取る状態は以下の４種類がある。
ｓｔＯｆｆ：　ユーザは接触しておらず、アルゴリズムはＯＮになるのを待つ。「ｓｔＯｎ」状態（以下参照）に入る際のチェックがここで行われる。
【０１０９】
ＳｔＯｆｆＰｏｓ：　ユーザは接触しておらず、Ｔｏｕｃｈ　Ｖａｌ＞Ｔｏｕｃｈ　Ｏｆｆ値である。この状態は、フィルタであり、徐々にＴｏｕｃｈ　Ｏｆｆを上げてゆく。
【０１１０】
ｓｔＯｎ：　ユーザは接触しており、アルゴリズムは「ｓｔＯｆｆ」状態になるのを待っている。
【０１１１】
ＳｔＯｎＰｏｓ：　ユーザは接触しており、Ｔｏｕｃｈ　Ｖａｌ＞Ｔｏｕｃｈ　Ａｖｇである。この状態は、フィルタであり、徐々にＴｏｕｃｈ　Ａｖｇを上げてゆく。「ｓｔＯｆｆ」状態に入る際のチェックがここで行われる。
【０１１２】
図６を参照して、接触アルゴリズムの動作は次のようにまとめることができる。Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ｏｆｆよりも所定の値（例えば、２カウント以上）だけ下がるとステートマシンがｓｔＯｆｆ状態１９１からｓｔＯｎ状態１８７に遷移する。濾過された（疑似平均）接触値（Ｔｏｕｃｈ　Ａｖｇ）がＴｏｕｃｈ　Ｏｆｆ以上になるとステートマシンがｓｔＯｎ状態１８７からｓｔＯｆｆ状態１９１に遷移する。Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ａｖｇを超える毎に、状態ｓｔＯｎＰｏｓ　１８９に入り、そこで、最初に例えば、４に設定されたカウンタがデクリメントされる。Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ａｖｇよりも高いままで、カウンタが０までデクリメントされると、Ｔｏｕｃｈ　Ａｖｇの値はＴｏｕｃｈ　Ａｖｇ＋１にインクリメントされる。Ｔｏｕｃｈ　Ａｖｇは、Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ａｖｇ以下に下がり、ｓｔＯｆｆからｓｔＯｎへの状態遷移した後、Ｔｏｕｃｈ　Ｖａｌにリセットされる。
【０１１３】
しきい値カウント値Ｔｏｕｃｈ　Ｏｆｆは、以下のようにして動的に調整するのが好ましい。バッテリ３を最初に装着したときに、接触状態アルゴリズムをｓｔＯｎ状態に初期化するのが好ましい。Ｔｏｕｃｈ　Ｖａｌは、現在の接触読み取り値に設定され、初期Ｔｏｕｃｈ　Ｏｆｆ値は最大カウンタ値２５５に設定される。Ｔｏｕｃｈ　Ｖａｌは通常最大値に到達することはないので、これにより、図６のステートマシンがマウス活動なしのタイムアウト（例えば、１８０秒経過）によりＳＨＵＴＤＯＷＮ状態に遷移するまで、接触アルゴリズムは強制的にｓｔＯｎ状態にとどまることになる。このときに、Ｔｏｕｃｈ　Ｏｆｆは上述の方法で求められるＴｏｕｃｈ　Ａｖｇにリセットされる。好ましくは、他の状態からＳＨＵＴＤＯＷＮへの遷移により、Ｔｏｕｃｈ　Ｏｆｆが現在のＴｏｕｃｈ　Ａｖｇに設定されるのが好ましい。このときに、システムでは一般に、手が存在していないものと正しく想定できる。
【０１１４】
ｓｔＯｆｆ状態１９１のときに、Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ｏｆｆの現在値を超えると、状態ｓｔＯｆｆＰｏｓ　１９３に入り、そこで、最初に例えば８に設定されたカウンタがデクリメントされる。Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ｏｆｆよりも高いままで、カウンタが０までデクリメントされると、Ｔｏｕｃｈ　Ｏｆｆの値はＴｏｕｃｈ　Ｏｆｆ＋１にインクリメントされる。ｓｔＯｎＰｏｓからｓｔＯｆｆに状態遷移した後（Ｔｏｕｃｈ　ＡｖｇがＴｏｕｃｈ　Ｏｆｆ以上になったときに発生する）Ｔｏｕｃｈ　ＯｆｆはＴｏｕｃｈ　Ａｖｇにリセットされる。ｓｔＯｆｆ状態１９１で、Ｔｏｕｃｈ　Ｏｆｆは、現在の接触読み取り値（Ｔｏｕｃｈ　Ｖａｌ）がプリセットされている制御サイクル数（例えば、１００サイクル）の間にＴｏｕｃｈ　Ｏｆｆをちょうど下回る（例えば、Ｔｏｕｃｈ　Ｏｆｆ−２≦Ｔｏｕｃｈ　Ｖａｌ＜Ｔｏｕｃｈ　Ｏｆｆ）毎に１だけデクリメントされる。
【０１１５】
以下では、好ましい状態、および状態遷移条件について詳述する。
【０１１６】
ｓｔＯｎ状態１８７
Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ａｖｇ未満であれば、Ｔｏｕｃｈ　Ａｖｇは現在の接触読み取り値に設定される（状態変化なし）。
【０１１７】
Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ａｖｇを超える場合、カウンタＴＣｏｕｎｔは４に初期化され、ステートマシンはｓｔＯｎＰｏｓ状態１８９に遷移する。
【０１１８】
ｓｔＯｎＰｏｓ状態１８９
Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ａｖｇ未満の場合、Ｔｏｕｃｈ　ＡｖｇはＴｏｕｃｈ　Ｖａｌに設定され、ステートマシンはｓｔＯｎ状態１８７に遷移する。
【０１１９】
Ｔｏｕｃｈ　ＶａｌがＴｏｕｃｈ　Ａｖｇを超える場合、ＴＣｏｕｎｔはデクリメントされ、カウント＝０（４つの連続するＴｏｕｃｈ　Ｖａｌ読み取り値＞Ｔｏｕｃｈ　Ａｖｇ）であれば、Ｔｏｕｃｈ　Ａｖｇがインクリメントされる。この状態を使用して、接触読み取り値の低速フィルタを実行すると、瞬間的な降下で必要もないのに接触ステートマシンがｓｔＯｆｆ状態１９１になるという事態が起きなくなる。
【０１２０】
Ｔｏｕｃｈ　Ａｖｇ＞＝Ｔｏｕｃｈ　Ｏｆｆであれば、ステートマシンはｓｔＯｆｆ状態１９１に遷移し、別のカウンタＯｆｆＣｎｔ（ＴＣｏｕｎｔと同じレジスタを使用できる）は１００に設定される。Ｔｏｕｃｈ　ＯｆｆはＴｏｕｃｈ　Ａｖｇに設定される。
【０１２１】
ｓｔＯｆｆ状態１９１
Ｔｏｕｃｈ　Ｖａｌ＞Ｔｏｕｃｈ　Ｏｆｆの場合、ステートマシンはｓｔＯｆｆＰｏｓ状態１９３に遷移し、カウンタＴＣｏｕｎｔは８に初期化される。
【０１２２】
Ｔｏｕｃｈ　Ｖａｌ＜（Ｔｏｕｃｈ　Ｏｆｆ−２）の場合、ステートマシンはｓｔＯｎ状態に遷移し、Ｔｏｕｃｈ　ＡｖｇはＴｏｕｃｈ　Ｖａｌに初期化される。
【０１２３】
Ｔｏｕｃｈ　Ｖａｌ＜Ｔｏｕｃｈ　Ｏｆｆかつ＞＝（Ｔｏｕｃｈ　Ｏｆｆ−２）の場合、カウンタＯｆｆＣｎｔはデクリメントされる。ＯｆｆＣｎｔ＝０であれば、Ｔｏｕｃｈ　Ｏｆｆはデクリメントされ、ＯｆｆＣｎｔは１００にリセットされる。これは、低いＴｏｕｃｈ　Ｏｆｆ値が学習される場合である（つまり、マウスが静電容量の高い環境に移動したとき）。マウスのステートマシンがＳＨＵＴＤＯＷＮ状態１６５に入り、ステートマシンがｓｔＯｆｆ状態１９１に設定されると、Ｔｏｕｃｈ　ＯｆｆはＴｏｕｃｈ　Ａｖｇに設定される。
【０１２４】
ｓｔＯｆｆＰｏｓ状態１９３
Ｔｏｕｃｈ　Ｖａｌ＞Ｔｏｕｃｈ　Ｏｆｆの場合、ＴＣｏｕｎｔはデクリメントされる。ＴＣｏｕｎｔ＝０であれば、Ｔｏｕｃｈ　Ｏｆｆはインクリメントされ、ＴＣｏｕｎｔは８にリセットされる。これは、高いＴｏｕｃｈ　Ｏｆｆ値が学習される場合である（つまり、マウスが静電容量の小さい環境に移動したとき）。
【０１２５】
Ｔｏｕｃｈ　Ｖａｌ≦Ｔｏｕｃｈ　Ｏｆｆの場合、ＯｆｆＣｎｔは１００に設定され、ステートマシンはｓｔＯｆｆ状態に遷移する。
【０１２６】
好ましい実施形態とその実施例に関して本発明を説明した。特許請求の範囲とその観点に基づき他にさまざまな実施形態、修正、およびバリエーションが考えられることは、本発明の開示を検討することで、当業者には明白であろう。特許請求の範囲では、明細書中に現れているアルゴリズム変数にラベルを使用しているが、これは便宜上であり、明確にするためであって、制限する意図はない。
【図面の簡単な説明】
【図１】本発明による静電容量感知システムを採用する表面ワイヤレスオプティカルトラッキングマウスの電気回路のブロック図である。
【図２】本発明のシステムが適用されるホストコンピュータおよび関連するカーソル制御デバイスの機能ブロック図である。
【図３】本発明の静電容量感知システムが適用されるオプティカルトラッキングマウスの例の概略図である。
【図４】ＲＦ送信機／受信機のペアによってホストコンピュータにリンクされた、本発明の静電容量感知システムが適用されるワイヤレスマウスの概略図である。
【図５】本発明による静電容量感知システムの回路図である。
【図６】図５に示されているような回路で静電容量感知機能を実行する、本発明による論理の流れおよび制御の例を示すステートマシン図である。
【符号の説明】
１　制御用集積回路（ＩＣ）
５　ＲＦ送信機
７　光コントローラＩＣ
９　ＬＥＤ光源
１０　イメージ検出器
１１　コンピュータ
１３　マウス例
１５　右ボタン
１７　左ボタン
１９　回転可能なスクロールホイール
２１　マウスドライバ
２３　オペレーティングシステム
２５　メッセージフックプロシージャ
２７　フォーカスアプリケーション
７５　シリアルインターフェイス
７７　表面オプティカルトラッキングマウス
７９　ハウジング
８１　電磁放射線源
８１　光源
８３　アパーチャ
８５　第１のオプティカルカプラ
８７　第２のオプティカルカプラ
８９　イメージまたはパターン検出器
９１　コントローラ
９３　電流ドライバ
９２　作業面
９５　ＬＥＤ
９７　一体型レンズ
９９　マウス
１０１　受信機
１０３　パーソナルコンピュータ
１０５　画面（モニタ）
１８１　「スクープ」キャパシタ
１８３　バケットキャパシタ
１８４　インピーダンス素子
【図１】
2004061502.tif 000003
【図２】
2004061502.tif 000004
【図３】
2004061502.tif 000005
【図４】
2004061502.tif 000006
【図５】
2004061502.tif 000007
【図６】
2004061502.tif 000008