FILE 01
DOS/V POWER REPORT  Q&A COLLECTION
2002
12月号

[Q]

光学式マウスとは、どのような方法で前後左右の移動量を検出しているのでしょうか?

(三谷治朗さん)

[A]

ご存じのようにマウスとは、外部から入力された動きを検出してPCに伝えるデバイスです。マウスの動きは平面上、つまり二次元なので左右方向(X軸)と前後方向(Y軸)の移動量を検出する必要があります。これを簡単に実現するのがボール式マウスです。直径20mmほどのボールを内蔵し、直交する2本の回転軸をボールに接触するよう配置します。こうすれば、ボールの前後左右の回転量が検出できます。しかし、機械的な検出方法のため、細かな動きに反応できなかったり、そこにホコリがたまったりするといった欠点もあります。

図1-1
光学式マウスの内部。中央にあるICがDSPで、その右側に接続されているのがイメージセンサー

 光学式マウスは、こうした欠点を解消するために、光センサーを用いて「非接触」でマウスの移動量を検出するようにしたデバイスです。実はこの方法には、専用マウスパッドを使う方式と使わない方式の二つがありますが、現在発売されている製品には前者の方式を用いているものは少なく、最近一般に言われる「光学式」とはやや原理が異なるので、ここでの説明は省略させてもらいます。

 最近の光学式マウスは、デジタルカメラで使われているような「イメージセンサー」と呼ばれる素子を利用して、マウスの移動量を検出します。この底面に配置されたイメージセンサーを用いて底面から見える画像を「撮影」し続けているのです。マウスが静止している場合には、何度撮影しても同じ画像が撮影されますが、マウスが少しでも動けば、撮影される画像は直前に撮影したものとは、少しだけ「ずれた」画像となるはずです。今撮影した画像と、直前に撮影した画像とを比較して、それらに含まれる「同一部分」がどれくらいずれたのかを検出してやれば、どの程度マウスが移動したかが分かるわけです。

 この方法で重要なのは、前回撮影した画像と今回撮影した画像との間に、必ず共通の部分が含まれなければならないという点です。二つの画像にまったく共通点がなければ、どの程度移動したかを検出できないわけですから、マウスの移動量も分かりません。光学式マウスを高速に動かすと、カーソルが動かないことがあるのはこのためです。これを解消するには、撮影する間隔をできるだけ短くすることが必要です。ごく短時間に連続して撮影すれば、素早い動きであっても画像の共通部分をとらえ続けることが可能になります。この1秒あたりの撮影回数は、フレームレートとして光学マウスのスペックに表記されていることがあるので購入時の参考にするとよいでしょう。

 しかし撮影間隔を短くする際に問題となるのが、画像処理能力です。先に示したように、マウスの動きを検出するには二つの画像を比較して共通点を見付け出すという処理が必要であり、仮に高速で撮影できたとしても、この処理を行なえなければ話になりません。そこでこの種のマウスでは、DSP(Digital Signal Processor)と呼ばれる専用のプロセッサを搭載しています。このDSPの処理速度は、初期のものに比べると最近のものはかなり高速化されています。つまりより高い頻度で撮影される画像の処理に対応できるわけです。光学式マウスはボール式のものとは対照的に現在でも進歩し続けているので、もし初期の光学式マウスを使っていて、今一つ動きがスムーズでないと感じるようであれば、最新のものに交換してみるとよいでしょう。

(天野 司)

[HOME][MENU][NEXT]