(57)【要約】【課題】バーコードを高精度に読み取る光学式マウスの提供。【解決手段】光学式マウスは、複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を複数の光電変換素子上に投影する投影部と、光学像が投影された複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部と、バーコードリーダモード時には、マウスモード時よりも狭い範囲の光電変換素子によって発生される電荷を、マウスモード時よりも短い周期で電荷読み出し部に読み出させる読み出し制御部と、バーコードリーダモード時に、電荷読み出し部が読み出した電荷を二値の信号に変換して出力する変換部と、変換部が連続して出力する二値の信号に基づいて、被読み取り面に表示されたバーコード画像を合成する合成部とを備える。【選択図】  図１
2005004641.tif 000002
【特許請求の範囲】
【請求項１】
連続して撮像した被読み取り面の画像を比較することにより、前記被読み取り面に対する移動量を出力する光学式マウスであって、
複数の光電変換素子を一面に有する撮像部と、
前記被読み取り面の光学像を前記複数の光電変換素子上に投影する投影部と、
前記光学像が投影された前記複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部と、
当該光学式マウスがバーコードを読み取る場合には、当該光学式マウスが前記移動量を算出する場合よりも狭い範囲の前記光電変換素子によって発生される電荷を、当該光学式マウスが前記移動量を算出する場合よりも短い周期で前記電荷読み出し部に読み出させる読み出し制御部と、
前記光学式マウスがバーコードを読み取る場合に、前記電荷読み出し部が読み出した電荷を二値の信号に変換して出力する変換部と、
前記変換部が連続して出力する前記二値の信号に基づいて、前記被読み取り面に表示されたバーコード画像を合成する合成部と
を備える光学式マウス。
【請求項２】
前記合成部は、前記バーコードのうち、幅が既知のスタートコード及びエンドコードをそれぞれ読み取る場合に、前記二値の信号が切り替わる時間間隔と、前記スタートコードを読み取ってから前記エンドコードを読み取るまでの所要時間とに基づいて、前記バーコードの途中のバー及びスペースの幅を算出し、算出結果に基づいて前記バーコード画像を合成する請求項１に記載の光学式マウス。
【請求項３】
前記変換部は、前記被読み取り面の画像にバーコードが含まれる場合に、当該バーコードのスタートコードを示すバー及びスペースの幅が同一になるように前記二値の閾値を決定する請求項１に記載の光学式マウス。
【請求項４】
前記撮像部が有する複数の前記光電変換素子は、前記電荷読み出し部が前記電荷を読み出す方向である第１の方向と、前記第１の方向と直交する第２の方向とにそれぞれ一定の間隔で格子状に並んでおり、
前記読み出し制御部は、当該光学式マウスがバーコードを読み取る場合には、前記第１の方向に並んでいる一部の前記光電変換素子のみから繰り返し、前記電荷読み出し部に前記電荷を読み出させる請求項１に記載の光学式マウス。
【請求項５】
前記第１の方向は、当該光学式マウスの左右方向に対して平行である請求項４に記載の光学式マウス。
【請求項６】
連続して撮像した被読み取り面の画像を比較することにより、前記被読み取り面に対する移動量を出力する光学式マウスであって、
複数の光電変換素子を一面に有する撮像部と、
前記被読み取り面の光学像を前記複数の光電変換素子上に投影する投影部と、
前記光学像が投影された前記複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部と、
前記電荷読み出し部が連続して読み出した前記電荷に基づいて、前記被読み取り面の画像を合成する合成部と、
当該光学式マウスがバーコードを読み取る場合に、前記合成部が合成した前記被読み取り面の画像を二値の画像に変換して出力する変換部と
を備える光学式マウス。
【請求項７】
当該光学式マウスがバーコードを読み取る場合には、当該光学式マウスが前記移動量を算出する場合よりも狭い範囲の前記光電変換素子によって発生される電荷を、当該光学式マウスが前記移動量を算出する場合よりも短い周期で前記電荷読み出し部に読み出させる読み出し制御部を更に備える請求項６に記載の光学式マウス。
【請求項８】
前記変換部は、前記被読み取り面の画像にバーコードが含まれる場合に、当該バーコードのスタートコードを示すバー及びスペースの幅が同一になるように前記二値の閾値を決定する請求項６に記載の光学式マウス。
【請求項９】
複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を前記複数の光電変換素子上に投影する投影部と、前記光学像が投影された前記複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部とを備える光学式マウスを用いて、バーコードを読み取る方法であって、前記光学式マウスが、
当該光学式マウスがバーコードを読み取る場合に、当該光学式マウスが移動量を算出する場合よりも狭い範囲の前記光電変換素子によって発生される電荷を、当該光学式マウスが前記移動量を算出する場合よりも短い周期で前記電荷読み出し部に読み出させる読み出し制御ステップと、
バーコードを読み取る場合に、前記電荷読み出し部が読み出した電荷を二値の信号に変換して出力する変換ステップと、
前記変換ステップで連続して出力される前記二値の信号に基づいて、前記被読み取り面に表示されたバーコード画像を合成する合成ステップと
を備えるバーコード読み取り方法。
【請求項１０】
複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を前記複数の光電変換素子上に投影する投影部とを備える光学式マウスを用いて、バーコードを読み取る方法であって、前記光学式マウスが、
前記光学像が投影された前記複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出しステップと、
前記電荷読み出しステップにおいて連続して読み出された前記電荷に基づいて、前記被読み取り面の画像を合成する合成ステップと
バーコードを読み取る場合に、前記合成ステップで合成された前記被読み取り面の画像を二値の画像に変換して出力する変換ステップと
を備えるバーコード読み取り方法。
【請求項１１】
複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を前記複数の光電変換素子上に投影する投影部とを備え、連続して撮像した前記被読み取り面の画像を比較することにより、前記被読み取り面に対する移動量を出力する光学式マウス用のプログラムであって、
前記光学像が投影された前記複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し機能と、
当該光学式マウスがバーコードを読み取る場合には、当該光学式マウスが前記移動量を算出する場合よりも狭い範囲の前記光電変換素子によって発生される電荷を、当該光学式マウスが前記移動量を算出する場合よりも短い周期で前記電荷読み出し機能に読み出させる読み出し制御機能と、
前記光学式マウスがバーコードを読み取る場合に、前記電荷読み出し機能によって読み出された電荷を二値の信号に変換して出力する変換機能と、
前記変換機能によって連続して出力される前記二値の信号に基づいて、前記被読み取り面に表示されたバーコード画像を合成する合成機能と
を前記光学式マウスに実現させるプログラム。
【請求項１２】
複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を前記複数の光電変換素子上に投影する投影部とを備え、連続して撮像した前記被読み取り面の画像を比較することにより、前記被読み取り面に対する移動量を出力する光学式マウス用のプログラムであって、
前記光学像が投影された前記複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し機能と、
前記電荷読み出し機能によって連続して読み出された前記電荷に基づいて、前記被読み取り面の画像を合成する合成機能と、
当該光学式マウスがバーコードを読み取る場合に、前記合成機能により合成された前記被読み取り面の画像を二値の画像に変換して出力する変換機能と
を前記光学式マウスに実現させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、連続して撮像した被読み取り面の画像を比較することにより、被読み取り面に対する移動量を出力する光学式マウス、当該光学式マウスを用いたバーコード読み取り方法、及びプログラムに関する。
【０００２】
【従来の技術】
バーコードは、バーコード読み取り専用の装置（以下、バーコードリーダ）により読み取られる（例えば、非特許文献１参照。）。
【０００３】
【非特許文献１】
”バーコード・スキャナーの種類”、［ｏｎｌｉｎｅ］、日本ＮＣＲ株式会社、［平成１５年４月２５日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｎｃｒ．ｃｏ．ｊｐ／ｌｉｂｒａｒｙ／ｌｉｂｒａｒｙ／ｓｃａｎｎｉｖｅｒｓａｒｙ／ｂａｒｓｃａｎ／ｓｃａｎｎｅｒ１．ｈｔｍｌ＞
【０００４】
【発明が解決しようとする課題】
従来のバーコードリーダは、バーコード読み取り専用なので汎用性が低く、一般ユーザには十分に普及していなかった。従って、一般のユーザにとって、バーコードを利用することは困難であるという課題があった。
【０００５】
そこで本発明は、上記の課題を解決することのできる光学式マウス、バーコード読み取り方法、及びプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００６】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、連続して撮像した被読み取り面の画像を比較することにより、被読み取り面に対する移動量を出力する光学式マウスは、複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を複数の光電変換素子上に投影する投影部と、光学像が投影された複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部と、当該光学式マウスがバーコードを読み取る場合（バーコードリーダモード）には、当該光学式マウスが移動量を算出する場合（マウスモード）よりも狭い範囲の光電変換素子によって発生される電荷を、マウスモード時よりも短い周期で電荷読み出し部に読み出させる読み出し制御部と、バーコードリーダモード時に、電荷読み出し部が読み出した電荷を二値の信号に変換して出力する変換部と、変換部が連続して出力する二値の信号に基づいて、被読み取り面に表示されたバーコード画像を合成する合成部とを備える。
【０００７】
合成部は、バーコードのうち、幅が既知のスタートコード及びエンドコードをそれぞれ読み取る場合に二値の信号が切り替わる時間間隔と、スタートコードを読み取ってからエンドコードを読み取るまでの所要時間とに基づいて、バーコードの途中のバー及びスペースの幅を算出し、算出結果に基づいてバーコード画像を合成してもよい。
【０００８】
以上の構成による光学式マウスは、バーコードリーダモード時には、マウスモード時よりも短い周期でバーコードを撮像するので、光学式マウスをバーコード上で素早く走査させても、バーコードの画像を精度よく読み取ることができる。また、二値の情報からなるバーコードをマウスモードと同様の多値で撮像することは、バーやスペースの明度むらに起因する不必要なノイズを検出する要因となる。そこで、上記光学式マウスにおいて、変換部は、電荷読み出し部により読み出された電荷を二値の信号に変換する。これにより、バーコードの読み取り方向と直交する方向に光学式マウスがずれても、バーやスペースの明度むらが、変換部から出力される信号に影響を及ぼすことがない。すなわち、バーコードリーダモード時にマウスモード時よりも狭い範囲の光電変換素子を用いてバーコードを撮像しても、バーコードの読み取り方向と直交する方向への光学式マウスの走査ずれを吸収することができる。
【０００９】
また、スタートコード及びエンドコードの幅は、バーコードの規格上所定の値に定められている。従って、スタートコード及びエンドコードをそれぞれ読み取る場合に二値の信号が切り替わる時間間隔を計測することにより、スタートコード及びエンドコードを読み取るときの光学式マウスの移動速度を精度よく算出することができる。また、スタートコードからエンドコードまでの移動速度が一定もしくは直線的に変化することを前提にすれば、スタートコードを読み取ってからエンドコードを読み取るまでの所要時間と、変換部が出力する波形とを更に用いて、途中のバー及びスペースの幅を精度よく算出することができる。
【００１０】
また、光学式マウスは、マウスモード時とバーコードリーダモード時とで、被読み取り面の画像を撮像するための主要部、すなわち撮像部、発光部、投影部、及び電荷読み出し部を共用化することができる。従って、上記構成によれば、バーコードを高精度に読み取る光学式マウスを低コストかつコンパクトに実現することができる。
【００１１】
変換部は、被読み取り面の画像にバーコードが含まれる場合に、当該バーコードのスタートコードを示すバー及びスペースの幅が同一になるように二値の閾値を決定することが望ましい。スタートコードを示すバー及びスペースの幅は、バーコードの規格上同一であることが定められているので、変換部は、これらの幅が同一になるように二値の閾値を決定することによって、バーとスペースの境界の位置を精度よく反映したバーコード画像を出力することができる。
【００１２】
撮像部が有する複数の光電変換素子は、電荷読み出し部が電荷を読み出す方向である第１の方向と、第１の方向と直交する第２の方向とにそれぞれ一定の間隔で格子状に並んでおり、読み出し制御部は、バーコードリーダモード時には、第１の方向に並んでいる一部の光電変換素子のみから繰り返し電荷読み出し部に電荷を読み出させてもよい。これにより、電荷読み出し部は、バーコードリーダモード時に、第１の方向に並んでいる光電変換素子から、マウスモード時よりも短い周期で電荷を読み出すことができる。従って、光学式マウスは、バーコードリーダモード時には、第１の方向における被読み取り面の画像をマウスモード時よりも精度よく読み取ることができる。
【００１３】
また、第１の方向は、当該光学式マウスの左右方向に対して平行であることが望ましい。マウスを直線的に移動させるには、操作上左右方向が最も精度が高い。従って、当該光学式マウスの第１の方向が左右方向と平行に設けられることによって、光学式マウスは、バーコードを精度よく読み取ることができる。
【００１４】
本発明の第２の形態によれば、連続して撮像した被読み取り面の画像を比較することにより、被読み取り面に対する移動量を出力する光学式マウスは、複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を複数の光電変換素子上に投影する投影部と、光学像が投影された複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部と、電荷読み出し部が連続して読み出した電荷に基づいて、被読み取り面の画像を合成する合成部と、バーコードリーダモード時に、合成部が合成した被読み取り面の画像を二値の画像に変換して出力する変換部とを備える。変換部が被読み取り面の画像を白黒などの二値の画像に変換することによって、画像のデータサイズが小さくなる。これにより、以降のデータ処理、例えば外部の情報処理装置への画像の転送やバーコードの解読に要する負荷が軽減される。
【００１５】
バーコードリーダモード時には、マウスモード時よりも狭い範囲の光電変換素子によって発生される電荷を、マウスモード時よりも短い周期で電荷読み出し部に読み出させる読み出し制御部を更に備えてもよい。これにより、バーコードリーダモード時には、マウスモード時よりも高速に、繰り返しバーコードを撮像することができる。従って光学式マウスは、バーコード上を素早く走査しても、バーコードの画像を精度よく読み取ることができる。
【００１６】
変換部は、被読み取り面の画像にバーコードが含まれる場合に、当該バーコードのスタートコードを示すバー及びスペースの幅が同一になるように二値の閾値を決定してもよい。これにより、バーとスペースの境界の位置を精度よく反映したバーコード画像を出力することができる。
【００１７】
本発明の第３の形態によれば、複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を複数の光電変換素子上に投影する投影部と、光学像が投影された複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部とを備える光学式マウスを用いて、バーコードを読み取る方法は、当該光学式マウスがバーコードを読み取る場合に、当該光学式マウスが移動量を算出する場合よりも狭い範囲の光電変換素子によって発生される電荷を、当該光学式マウスが移動量を算出する場合よりも短い周期で電荷読み出し部に読み出させる読み出し制御ステップと、光学式マウスがバーコードを読み取る場合に、電荷読み出し部が読み出した電荷を二値の信号に変換して出力する変換ステップと、変換ステップで連続して出力される二値の信号に基づいて、被読み取り面に表示されたバーコード画像を合成する合成ステップとを備える。これにより、第１の形態と同様の効果を奏する。
【００１８】
本発明の第４の形態によれば、複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を複数の光電変換素子上に投影する投影部とを備える光学式マウスを用いて、バーコードを読み取る方法は、光学像が投影された複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出しステップと、電荷読み出しステップにおいて連続して読み出された電荷に基づいて、被読み取り面の画像を合成する合成ステップと当該光学式マウスがバーコードを読み取る場合に、合成ステップで合成された被読み取り面の画像を二値の画像に変換して出力する変換ステップとを備える。これにより、第２の形態と同様の効果を奏する。
【００１９】
本発明の第５の形態によれば、複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を複数の光電変換素子上に投影する投影部とを備え、連続して撮像した被読み取り面の画像を比較することにより、被読み取り面に対する移動量を出力する光学式マウス用のプログラムは、光学像が投影された複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し機能と、当該光学式マウスがバーコードを読み取る場合には、当該光学式マウスが移動量を算出する場合よりも狭い範囲の光電変換素子によって発生される電荷を、当該光学式マウスが移動量を算出する場合よりも短い周期で電荷読み出し機能に読み出させる読み出し制御機能と、光学式マウスがバーコードを読み取る場合に、電荷読み出し機能によって読み出された電荷を二値の信号に変換して出力する変換機能と、変換機能によって連続して出力される二値の信号に基づいて、被読み取り面に表示されたバーコード画像を合成する合成機能とを光学式マウスに実現させる。これにより、第１の形態と同様の効果を奏する。
【００２０】
本発明の第６の形態によれば、複数の光電変換素子を一面に有する撮像部と、被読み取り面の光学像を複数の光電変換素子上に投影する投影部とを備え、連続して撮像した被読み取り面の画像を比較することにより、被読み取り面に対する移動量を出力する光学式マウス用のプログラムは、光学像が投影された複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し機能と、電荷読み出し機能によって連続して読み出された電荷に基づいて、被読み取り面の画像を合成する合成機能と、当該光学式マウスがバーコードを読み取る場合に、合成機能により合成された被読み取り面の画像を二値の画像に変換して出力する変換機能とを光学式マウスに実現させる。これにより、第２の形態と同様の効果を奏する。
【００２１】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【００２２】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２３】
図１は、本発明の一実施形態にかかる光学式マウス１０の第１の実施例を示す。本実施形態の光学式マウス１０は、マウスモード時には、連続して撮像した被読み取り面５０の画像を比較することにより被読み取り面５０に対する光学式マウス１０の移動量を出力する。一方、バーコードリーダモード時には、被読み取り面５０に表示されたバーコード上を走査しながら当該バーコードの局所的な画像を連続して撮像し、当該局所的な画像を合成することによってバーコードの画像を生成する。
【００２４】
光学式マウス１０は、被読み取り面５０の画像を撮像するための主要部として、複数の光電変換素子を一面に有する撮像部１８と、被読み取り面５０に向けて発光する発光部２０と、被読み取り面５０の光学像を撮像部１８上の複数の光電変換素子上に投影する投影部４０と、複数の光電変換素子がそれぞれ発生する電荷を一定の周期で連続して読み出す電荷読み出し部２２と、電荷読み出し部２２が連続して読み出した電荷に基づいて、被読み取り面５０の画像を合成する画像処理部３６とを備える。マウスモード時とバーコードリーダモード時とでは、上記被読み取り面５０の画像を撮像するための主要部を共用する。
【００２５】
光学式マウス１０はさらに、マウスモード時において、画像処理部３６が連続して合成した被読み取り面５０の複数の画像を比較することにより、被読み取り面５０に対する光学式マウス１０の移動量を算出する移動量算出部３５を備える。移動量算出部３５は、算出した移動量を外部のコンピュータ１００に送信する。
【００２６】
光学式マウス１０はさらに、バーコードリーダモード時において、マウスモード時よりも狭い範囲の光電変換素子によって発生される電荷を、マウスモード時よりも短い周期で電荷読み出し部２２に読み出させる制御部３２と、画像処理部３６が合成した被読み取り面５０のバーコード画像を解読する解読部３８とを備える。制御部３２は、本発明の読み出し制御部の一例である。解読部３８は、バーコード画像の解読結果を外部のコンピュータ１００に送信する。光学式マウス１０とコンピュータ１００との通信は、有線通信であってもよいし無線通信であってもよい。なお、光学式マウス１０は解読部３８を有しなくてもよい。この場合、合成部３４は、合成した被読み取り面５０のバーコード画像をコンピュータ１００に送信する。
【００２７】
画像処理部３６は、バーコードリーダモード時において、電荷読み出し部２２が読み出した電荷を二値の信号に変換して出力する変換部３９と、バーコードリーダモード時に、変換部３９が連続して出力する二値の信号に基づいて、被読み取り面５０に表示されたバーコード画像を合成する合成部３４を有する。
【００２８】
記録媒体７０は、上述の撮像部１８、電荷読み出し部２２、制御部３２、変換部３９、合成部３４、移動量算出部３５、及び解読部３８を動作させるプログラムを格納している。記録媒体７０は、そのようなプログラムをネットワーク経由で取得してもよい。
【００２９】
以上の構成による光学式マウス１０は、バーコードリーダモード時には、電荷読み出し部２２がマウスモード時よりも短い周期で電荷を読み出す。従って、光学式マウス１０をバーコード上で素早く走査させても、バーコードの画像を精度よく読み取ることができる。また、二値の情報からなるバーコードをマウスモードと同様の多値で撮像することは、バーやスペースの明度むらに起因する不必要なノイズを検出する要因となるが、本実施形態に係る光学式マウス１０では、変換部３９が、電荷読み出し部２２により読み出された電荷を二値の信号に変換する。これにより、バーコードの読み取り方向と直交する方向に光学式マウス１０がずれても、バーやスペースの明度むらが、変換部３９から出力される信号に影響を及ぼすことがない。すなわち、バーコードリーダモード時にマウスモード時よりも狭い範囲の光電変換素子を用いてバーコードを読み取っても、バーコードの読み取り方向と直交する方向への光学式マウス１０の走査ずれを吸収することができる。従って、光学式マウス１０はバーコードの画像を精度よく生成することができる。
【００３０】
なお、光学式マウス１０は、中央部よりも幅が狭い先端部において、被読み取り面５０からの高さが、端部に向かって低くなるように傾斜した傾斜部１２を有する。そして投影部４０は、光学式マウス１０の先端部において、被読み取り面５０に対向して設けられた集光レンズ１４と、被読み取り面５０に対する集光レンズ１４の上方において、傾斜部１２の内側に沿って設けられた反射部１６とを有する。撮像部１８は、集光レンズ１４が集光した被読み取り面５０の光学像が反射部１６で反射されて結像する位置に設けられる。また発光部２０は、被読み取り面５０の集光レンズ１４に対向する位置に向けて発光する。
【００３１】
被読み取り面５０の光学像は、反射部１６によって後方に反射されるので、集光レンズ１４が設けられる部分の光学式マウス１０の高さは、反射部１６を備えない場合よりも低く抑えられている。従って、光学式マウス１０は、中央部よりも高さが低い先端部に集光レンズ１４を配することができる。
【００３２】
ここで図４を併せて参照すると、集光レンズ１４が配された光学式マウス１０の先端部は、中央部よりも幅を狭く設けられている。これにより、先端部に設けられた集光レンズ１４をバーコードに対して位置合わせした上で走査させる場合に、光学式マウス１０がバーコードを覆う面積が少ない。したがって、集光レンズ１４をバーコードに対して精度よく位置合わせしつつ走査させることができる。すなわち、本実施形態の光学式マウス１０によれば、バーコードを精度よく走査することができる。これにより、バーコードの読み取り精度が向上する。
【００３３】
図２は、マウスモード時の電荷読み出し順序の一例を示す。撮像部１８が有する複数の光電変換素子６０は、電荷読み出し部２２が電荷を読み出す方向である第１の方向と、第１の方向と直交する第２の方向とにそれぞれ一定の間隔で格子状に並んでいる。本実施例の撮像部１８は、例えば８×８の光電変換素子６０を有する。しかしながら撮像部１８の配列はこれに限られず、より多い画素数、例えば１６×１６等であってもよい。マウスモード時には、電荷読み出し部２２は制御部３２の制御に従って、複数の光電変換素子６０が発生した電荷を第１の方向の列毎に、第２の方向に向かって順に読み出す。そして、第２の方向の最後の列の電荷を読み出し終わると、第２の方向の最初の列に戻る。マウスモード時における電荷の読み出し周期は、電荷読み出し部２２が第１の方向の列毎に、第２の方向の全ての列の電荷を読み出すのに要する時間である。電荷読み出し部２２による電荷の読み出し周期は、電荷を読み出すべき光電変換素子６０の数に概ね比例する。
【００３４】
図３は、バーコードリーダモード時の電荷読み出し順序の一例を示す。バーコードリーダモード時において電荷読み出し部２２は、制御部３２の制御に従って、第１の方向に並んでいる一部の列、例えば一列の光電変換素子６０のみから電荷を繰り返し読み出す。これにより、電荷読み出し部２２は、第１の方向に並んでいる光電変換素子６０から、図２で説明したマウスモード時よりも短い周期で電荷を読み出すことができる。従って、光学式マウス１０は、バーコードリーダモード時には、第１の方向における被読み取り面５０の画像をマウスモード時よりも精度よく読み取ることができる。
【００３５】
図４は、光学式マウス１０の外観の一例と、光学式マウス１０でバーコード５２を読み取る操作の一例を示す。本実施例の光学式マウス１０は、上面及び側面に、集光レンズ１４の位置を示す目印２６が設けられている。目印２６は例えば、光学式マウス１０の長手方向における、集光レンズ１４の中心位置を示す目印２６ａである。目印２６は、光学式マウス１０の短手方向（幅方向）における集光レンズ１４の中心位置を示す目印２６ｂを含んでもよい。光学式マウス１０は、このような目印２６を備えることにより、集光レンズ１４をバーコード５２に対して目視で精度よく位置合わせすることが容易である。
【００３６】
電荷読み出し部２２が光電変換素子６０から電荷を読み出す方向である第１の方向は、当該光学式マウス１０の左右方向、すなわち目印２６ａに対して平行である。従って、光学式マウス１０の左右方向をバーコード５２の読み取り方向に合わせて走査させることによって、光学式マウス１０は、電荷読み出しの第１の方向をバーコード５２の読み取り方向に合わせた状態でバーコード５２を読み取る。ここで、光学式マウス１０を直線的に移動させるには、操作上左右方向が最も精度が高い。更に光学式マウス１０は、バーコードリーダモード時において、第１の方向の画像をマウスモード時よりも高精度に読み取る。したがって光学式マウス１０の左右方向をバーコード５２の読み取り方向に合わせて走査させることによって、光学式マウス１０は、バーコード５２を精度よく読み取ることができる。
【００３７】
なお、光学式マウス１０の側面には、現在の動作モードがマウスモードであるかバーコードリーダモードであるかをユーザに光で知らせる導光部材２４の端面が露出している。導光部材２４は、動作モードによって異なる発光パターンで発光する。あるいは導光部材２４は、動作モードによって異なる色で発光してもよい。これにより、導光部材２４は、光学式マウス１０の現在の動作モードをユーザに確実に伝えることができる。
【００３８】
以下、光学式マウス１０の動作について説明する。ここで、電荷読み出し部２２が電荷を読み出す一周期あたりに電気信号を出力する単位をフレームと呼ぶ。１フレームあたりに出力される信号は、バーコード５２の局所的な画像を示す。電荷読み出し部２２は、フレーム毎の信号を三値以上の多値、例えば２５６階調のデジタル信号として出力する。そしてマウスモード時には、合成部３４は、制御部３２の制御に応じて、電荷読み出し部２２が連続的に出力する多値の信号の差分を順次合成することにより、被読み取り面５０の多値の画像を合成し、移動量算出部３５に出力する。移動量算出部３５は、被読み取り面５０の連続する多値の画像を比較することにより、被読み取り面５０に対する光学式マウス１０の移動量を算出する。移動量算出部３５は、被読み取り面５０の画像を多値で比較することにより、被読み取り面５０の明度変化が小さい場合でも光学式マウス１０の移動量を算出することができる。
【００３９】
一方、バーコードリーダモード時において、変換部３９は、電荷読み出し部２２が出力する多値の信号を、閾値を基準に２階調、すなわち二値のデジタル信号に変換する。被読み取り面５０の画像は白黒などの二値に変換されるので、撮像部１８が撮像する被読み取り面５０の領域全体を黒又は白が占めている状態では、光学式マウス１０が移動しても変換部３９の出力波形は変化しない。そこで、光学式マウス１０は、バーコードリーダモード時には、以下の手段を用いることによりマウスの移動量を算出し、バーコードの画像を合成する。
【００４０】
図５は、光学式マウス１０がバーコードを読み取るときの、フレーム番号と移動速度との関係の一例を示すグラフである。本実施例において、バーコードのスタートコードを読み取るときのフレーム番号をｓ、移動速度をＶｓとし、エンドコードを読み取る時のフレーム番号をｅ、移動速度をＶｅとする。ここで、フレームｓからフレームｅに至るまでの光学式マウス１０の移動速度が直線的に変化することを前提とすると、途中のフレーム番号ｎにおける光学式マウス１０の移動速度は、フレームｓからフレームｅまでのフレーム数Ｆに占める、フレームｓからフレームｎまでのフレーム数ｆの割合に依存する関数であり、以下の式（１）で求められる。
Ｖ（ｎ）＝Ｖｓ＋（Ｖｅ−Ｖｓ）×（ｆ／Ｆ）・・・式（１）
ここで、Ｖ（ｎ）をフレームｓからフレームｅまで積分した値Ｄは、スタートコードを読み取ってからエンドコードを読み取るまでの光学式マウス１０の移動量に相当する。続いて、式（１）のＶｓ及びＶｅを算出する方法を説明する。
【００４１】
図６は、バーコード５２のスタートコード読み取り時に変換部３９が出力する信号の例を示す。まず、スタートコード及びエンドコードに含まれる２本のバー及びスペースの幅は規格上一定の値に定められている。そこで合成部３４は、スタートコード及びエンドコードをそれぞれ読み取る場合に、変換部３９が出力する二値の信号が切り替わる時間間隔に基づいて移動速度（Ｖｓ、Ｖｅ）を算出する。例えば、図６において、バーコードの余白部分を読み取っている場合に、変換部３９が白を示す信号のみを出力している間のフレーム番号を０とする。そして初めて黒、すなわち最初のバーを示す信号が検出されたフレーム番号をフレーム１とする、引き続きフレーム２、３、４と黒、すなわちバーを示す信号が検出され、フレーム５において白、すなわちスペースを示す信号が検出されたとする。
【００４２】
この場合、スタートコードの最初のバーの幅をＬＢ１とすると、フレーム１からフレーム５までに光学式マウス１０は（ＬＢ１＋ｌ１）だけ移動したことになる。すなわち、スタートコードの最初のバーの幅を読み取るときの光学式マウス１０の移動速度、例えば１フレームあたりの移動量ｖ１は以下の式（２）で求められる。
ｖ１＝（ＬＢ１＋ｌ１）／（５−１）・・・式（２）
ここでｌ１は、当該バーの始まりと終わりをそれぞれ検出したフレーム（フレーム１、フレーム５）間において、二値の信号が切り替わる位置の撮像部１８上でのずれ量を被読み取り面５０上の距離に変換した値、すなわち投影部４０の光学倍率で割った値である。
【００４３】
変換部３９は同様にして、スタートコードに含まれるスペース及び２本目のバーの幅を読み取るときの光学式マウス１０の移動量（ｖ２、ｖ３）を算出する。そして、ｖ１、ｖ２、及びｖ３の平均値を、スタートコードを読み取るときの光学式マウス１０の移動速度、すなわち前述のＶｓとして算出する。変換部３９は同様にして、エンドコードを読み取るときの光学式マウス１０の移動速度、すなわちＶｅを算出する。次に、変換部３９が、式（１）を用いてバーコードの途中のバー及びスペースの幅を算出する方法を説明する。
【００４４】
図７は、バーコード５２の途中部分を読み取る場合に、変換部３９が出力する信号の例を示す。本実施形態にかかる光学式マウス１０は、バーコードの走査が完了した時点で、途中のバー及びスペースの幅を算出する。以下、途中のフレームｎ１からフレームｎ２までに検出されたスペースの幅を算出する例を示す。まず、それぞれのフレームにおける光学式マウス１０の移動速度は、前述の式（１）で求められる。ここで、連続するフレーム間の移動速度を、先側のフレームにおける移動速度で近似すると、途中のフレームｎ１からｎ２までの光学式マウス１０の移動量Ｄ（ｎ１、ｎ２）は、前述のＶ（ｎ）をフレームｎ１からフレーム（ｎ２−１）まで積分した値すなわち、以下の式（３）で求められる。
【数１】
2005004641.tif 000003
【００４５】
従って、途中のフレーム（ｎ１からｎ２まで）で検出されたスペースの幅Ｗ（ｎ１、ｎ２）は、式（３）で求められる光学式マウス１０の移動量をｌ２で補正した値であり、下記の式（４）により求められる。
Ｗ（ｎ１、ｎ２）＝Ｄ（ｎ１、ｎ２）−ｌ２・・・式（４）
ここでｌ２は、当該スペースの始まりと終わりをそれぞれ検出したフレームｎ１及びフレームｎ２において、二値の信号が切り替わる位置の撮像部１８上でのずれ量を被読み取り面５０上での距離に換算した値、すなわち投影部４０の光学倍率で割った値である。合成部３４は、他のバー及びスペースの幅も同様に、式（４）を用いてそれぞれ算出し、算出結果に基づいてバーコード全体の画像を合成する。
【００４６】
すなわち、光学式マウス１０は、バーコードリーダモード時において、マウスモード時よりも狭い範囲の光電変換素子６０が発生する電荷を、マウスモード時よりも短い周期で読み出す。これにより、光学式マウス１０を素早く移動させてもバーコードの画像をよみとることができる。光学式マウス１０はさらに、読み出した信号を二値化した上でバーやスペースの幅を算出する。これにより、バーやスペースの明度むらが、バーやスペースの幅の算出精度に影響を及ぼすことがない。従って、光学式マウス１０はバーコードの画像を精度よく生成することができる。
【００４７】
図８は、光学式マウス１０の第２の実施例を示す。本実施例の光学式マウス１０において、画像処理部３６は、第１の実施例における変換部３９及び合成部３４に代えて、電荷読み出し部２２が連続して読み出した多値の電荷に基づいて、被読み取り面５０の多値の画像を合成する合成部３３と、バーコードリーダモード時に、合成部３３が合成した被読み取り面５０の画像を二値の画像に変換して出力する変換部３７とを有する。変換部３７が被読み取り面５０の画像を白黒などの二値の画像に変換することによって、画像のデータサイズが小さくなる。これにより、以降のデータ処理、例えばコンピュータ１００への画像の転送や解読部３８がバーコードの解読に要する負荷が軽減される。なお、他の構成は第１の実施例と同様なので、説明を省略する。
【００４８】
合成部３３は、電荷読み出し部２２が連続して出力するバーコードの局所的な画像を比較し、連続する画像間の差分を順次加算することによって、バーコード全体の画像を合成する。変換部３７は、合成部３３が合成したバーコード画像を白黒等の２値に変換して出力する。読み取ったバーコードの大きさは、撮像部１８上に投影された光学像の大きさをＬ、被読み取り面５０から撮像部１８に至る光学倍率をＭとすると、Ｌ／Ｍで求められる。解読部３８は、変換部３７が出力する二値のバーコード画像を解読することにより、バーコード５２のバーコード方式に応じた桁数の数列を出力する。
【００４９】
本実施例においても、電荷読み出し部２２は、制御部３２の制御に応じて、バーコードリーダモード時に、マウスモード時よりも狭い範囲の光電変換素子６０からマウスモード時よりも短い周期でバーコード画像を読み出す。従って、本実施例の光学式マウス１０は、バーコード上で素早く走査させても、バーコードの画像を精度よく読み取ることができる。
【００５０】
記録媒体７０は、図１の変換部３９及び合成部３４を動作させるプログラムに代えて、本実施例の合成部３３及び変換部３７を動作させるプログラムを格納している。記録媒体７０は、そのようなプログラムをネットワーク経由で取得してもよい。
【００５１】
図９は、バーコード５２のスタートコードを示す図である。変換部３７は、被読み取り面５０の画像にバーコード５２が含まれる場合に、当該バーコード５２のスタートコードを示すバー及びスペースの幅（ＷＢ１、ＷＳ１、ＷＢ２）が同一になるように二値の閾値を決定する。スタートコードを示すバー及びスペースの幅はバーコードの規格上同一であることが定められている。従って変換部は、これらの幅が同一になるように二値の閾値を決定し、当該閾値を用いて電荷読み出し部２２の出力信号を二値に変換することによって、バーとスペースの境界の位置を精度よく反映したバーコード画像を出力することができる。解読部３８は、バーとスペースの境界の位置を精度よく反映した二値のバーコード画像を解読するので、解読の精度が高い。
【００５２】
図１０は、バーコード５２を読み取る場合の光学式マウス１０の動作を示すフローチャートである。光学式マウス１０は、初期状態においては、マウスとして動作するマウスモードであるとする。まず、光学式マウス１０を介してのポインタ移動、ボタン２８のクリック、ローラ３０のスクロール、及びキーボード入力などの手段を用いて、光学式マウス１０が出力する信号を認識するアプリケーションをコンピュータ１００において起動する（Ｓ１０）。起動するアプリケーションは、バーコード５２の方式に対応したアプリケーションである。
【００５３】
次に、光学式マウス１０の動作モードをバーコードリーダモードに切り替える（Ｓ１２）。この場合、光学式マウス１０は、動作モードをマウスモードとバーコードリーダモードとで切り替える切替スイッチを更に備えてもよい。あるいは、コンピュータ１００で起動されたアプリケーションが、光学式マウス１０の動作モードを切り替えてもよい。次に、ユーザは、バーコード５２の読み取り方向における延長線上に、目印２６ａを合わせる。そして、目印２６ａの方向を目安に光学式マウス１０を移動させることによりバーコード５２上で集光レンズ１４を走査させる。そして、目印２６ｂがバーコード５２を通過するまで光学式マウス１０を移動させる。
【００５４】
このとき、電荷読み出し部２２は、バーコードの局所画像を示す信号を連続して読み取り（Ｓ１４）、画像処理部３６は、電荷読み出し部２２が連続して読み取る信号に基づいて、被読み取り面５０におけるバーコード５２の画像を合成する（Ｓ１６）。ステップ１６において、画像処理部３６は、電荷読み出し部２２が読み出した電荷を二値の信号に変換し、当該二値の信号に基づいて、被読み取り面５０に表示されたバーコード画像を合成する。あるいは、電荷読み出し部２２が連続して読み出した多値の画像を合成した後に、合成した多値の画像を二値の画像に変換して出力してもよい。
【００５５】
次に、解読部３８は、画像処理部３６が合成した被読み取り面５０のバーコード画像を解読し（Ｓ１８）、解読結果を外部のコンピュータ１００に送信する（Ｓ２０）。解読結果は、例えば所定の桁数のコードである。解読部３８は、解読結果として画像処理部３６が合成したバーコードの全幅を出力してもよい。コンピュータ１００が光学式マウス１０から解読結果を受信すると、アプリケーションは当該バーコード５２のバーコード方式を判断し、判断したバーコード方式のルールに光学式マウス１０の解読結果が適合しているか否かを判断する。
【００５６】
バーコード方式別のルールは、例えばチェックディジットを用いたエラーチェックである。あるいは、バーコード方式別のルールは、バーコードの全幅の規格であってもよい。アプリケーションは、バーコード５２の認識結果として、光学式マウス１０から受信した解読結果がバーコード方式別のルールに適合しているか否かを光学式マウス１０に送信する。また、当該アプリケーションは、受信した解読結果がバーコード方式別のルールに適合している場合には、当該解読結果をユーザが利用するデータ形式に変換する。
【００５７】
光学式マウス１０は、バーコード５２の認識結果を受信すると（Ｓ２２）、認識結果に応じて異なる発光パターンで導光部材２４を発光させる。導光部材２４の発光パターンは、バーコード５２が正常に認識できた旨、すなわちコンピュータ１００に出力したコードがバーコード方式毎のルールに適合している旨をコンピュータ１００から受信した場合、導光部材２４をゆっくりと、例えば１秒間隔で点滅させる。
【００５８】
一方、バーコード５２が正常に認識できなかった旨、すなわちコンピュータ１００に出力したコードがバーコード方式毎のルールに適合していない旨をコンピュータ１００から受信した場合、正常に認識された場合よりも高速に、例えば０．３秒間隔で導光部材２４を点滅させる。これにより、バーコード５２の認識結果を、ユーザに容易に通知することができる（Ｓ２４）。以上で、本フローは終了する。
【００５９】
なお、光学式マウス１０は、携帯電話であってもよい。例えば、マウスモードにおいては、投影部４０を机上に接触させた状態で、携帯電話を移動させることにより、携帯電話の画面上のポインタ（又はカーソル）を移動量算出部３５の出力に基づいて移動させることができる。また、バーコードリーダモードにおいては、携帯電話に対するコマンドを含んだバーコードを読み取らせることによって、携帯電話を動作させることができる。
【００６０】
上記説明から明らかなように、本実施形態によれば、バーコードを精度よく読み取る光学式マウス、当該光学式マウスを用いたバーコード読み取り方法、及びプログラムを提供することができる。従って、一般のユーザでも、バーコードを容易に利用することができる。
【００６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【図１】光学式マウス１０の第１の実施例を示す側面透視図である。
【図２】マウスモード時の電荷読み出し順序の一例を示す図である。
【図３】バーコードリーダモード時の電荷読み出し順序の一例を示す図である。
【図４】光学式マウス１０でバーコード５２を読み取る操作を示す図である。
【図５】バーコードを読み取るときの、フレーム番号と移動速度との関係の一例を示すグラフである。
【図６】スタートコード読み取り時に変換部３９が出力する信号の例を示す。
【図７】バーコードの途中部分を読み取る場合に、変換部３９が出力する信号の例を示す。
【図８】光学式マウス１０の第２の実施例を示す側面透視図である。
【図９】バーコードのスタートコードを示す図である。
【図１０】バーコードを読み取る場合の光学式マウス１０の動作を示すフローチャートである。
【符号の説明】
１０  光学式マウス、１２  傾斜部、１４  集光レンズ、１６  反射部、１８  撮像部、２０  発光部、２２  電荷読み出し部、２４  導光部材、２６  目印、２８  ボタン、３０  ローラ、３２  制御部、３３、３４  合成部、３５  移動量算出部、３６  画像処理部、３７，３９  変換部、３８  解読部、４０  投影部、５０  被読み取り面、５２  バーコード、６０  光電変換素子、７０  記録媒体、１００  コンピュータ
【図１】
2005004641.tif 000004
【図２】
2005004641.tif 000005
【図３】
2005004641.tif 000006
【図４】
2005004641.tif 000007
【図５】
2005004641.tif 000008
【図６】
2005004641.tif 000009
【図７】
2005004641.tif 000010
【図８】
2005004641.tif 000011
【図９】
2005004641.tif 000012
【図１０】
2005004641.tif 000013