(57)【要約】【課題】光学式マウスを用いてバーコードを読み取ること。【解決手段】光を用いて移動距離を検出する光学式マウス５がバーコードを通過する読取期間を第１期間８４、８５と第２期間８１、８２、８３とに分離する読取期間分離プログラム１８と、第１期間８４、８５と第２期間８１、８２、８３とに基づいてバーコードをデコードするバーコード読取プログラム１９とを備えている。バーコードは、光学式マウス５により移動が検出可能である第１領域と、光学式マウス５により移動が検出不可能である第２領域とから形成されている。第１期間８４、８５は、光学式マウス５により移動が検出される期間である。第２期間８１、８２、８３は、光学式マウス５により移動が検出されない期間である。【選択図】図１３
2008040541.tif 000002
【特許請求の範囲】
【請求項１】
光を用いて移動距離を検出する光学式マウスがバーコードを通過する読取期間を第１期間と第２期間とに分離する読取期間分離プログラムと、
前記第１期間と前記第２期間とに基づいて前記バーコードをデコードするバーコード読取プログラムとを具備し、
前記バーコードは、
前記光学式マウスにより移動が検出可能である第１領域と、
前記光学式マウスにより移動が検出不可能である第２領域とから形成され、
前記第１期間は、前記光学式マウスにより移動が検出される期間であり、
前記第２期間は、前記光学式マウスにより移動が検出されない期間である
バーコード処理装置。
【請求項２】
請求項１において、
前記バーコードは、等間隔に配置される複数の平行線分領域から形成され、
前記複数の平行線分領域は、
バーが記載される領域と、
バーが記載されない領域とから形成される
バーコード処理装置。
【請求項３】
請求項２において、
互いに間隔が異なる複数の線対が記載されるスポット幅測定用紙を印刷するスポット幅測定用紙印刷プログラムと、
前記光学式マウスが前記複数の線対を通過するときに移動が検出される移動検出期間に基づいてスポット幅を算出するスポット幅測定プログラムとを更に具備し、
前記バーコード読取プログラムは、前記スポット幅に更に基づいて前記バーコードをデコードする
バーコード処理装置。
【請求項４】
請求項３において、
入力装置を用いて情報を収集するデータ入力プログラムと、
前記スポット幅に基づいて前記情報をエンコードして前記バーコードを生成するバーコード印刷プログラム
とを更に具備するバーコード処理装置。
【請求項５】
互いに間隔が異なる複数の線対が記載されるスポット幅測定用紙を印刷するスポット幅測定用紙印刷プログラムと、
光を用いて移動距離を検出する光学式マウスが前記複数の線対を通過するときに移動が検出される移動検出期間に基づいてスポット幅を算出するスポット幅測定プログラムと、
入力装置を用いて情報を収集するデータ入力プログラムと、
前記スポット幅に基づいて前記情報がエンコードされたバーコードを生成するバーコード印刷プログラム
とを更に具備するバーコード処理装置。
【請求項６】
請求項５において、
前記バーコードは、前記スポット幅に基づいて算出される間隔で配置される複数の平行線分領域から形成され、
前記複数の平行線分領域は、
バーが記載される領域と、
バーが記載されない領域とから形成される
バーコード処理装置。
【請求項７】
光を用いて移動距離を検出する光学式マウスがバーコードを通過する読取期間を第１期間と第２期間とに分離する読取期間分離プログラムと、
前記第１期間と前記第２期間とに基づいて前記バーコードをデコードするバーコード読取プログラムとを具備し、
前記バーコードは、
前記光学式マウスにより移動が検出可能である第１領域と、
前記光学式マウスにより移動が検出不可能である第２領域とから形成され、
前記第１期間は、前記光学式マウスにより移動が検出される期間であり、
前記第２期間は、前記光学式マウスにより移動が検出されない期間である
バーコード処理プログラム。
【請求項８】
請求項７において、
前記バーコードは、等間隔に配置される複数の平行線分領域から形成され、
前記複数の平行線分領域は、
バーが記載される領域と、
バーが記載されない領域とから形成される
バーコード処理プログラム。
【請求項９】
請求項８において、
互いに間隔が異なる複数の線対が記載されるスポット幅測定用紙を印刷するスポット幅測定用紙印刷プログラムと、
前記光学式マウスが前記複数の線対を通過するときに移動が検出される移動検出期間に基づいてスポット幅を算出するスポット幅測定プログラムとを更に具備し、
前記バーコード読取プログラムは、前記スポット幅に更に基づいて前記バーコードをデコードする
バーコード処理プログラム。
【請求項１０】
請求項９において、
入力装置を用いて情報を収集するデータ入力プログラムと、
前記スポット幅に基づいて前記情報をエンコードして前記バーコードを生成するバーコード印刷プログラム
とを更に具備するバーコード処理プログラム。
【請求項１１】
互いに間隔が異なる複数の線対が記載されるスポット幅測定用紙を印刷するスポット幅測定用紙印刷プログラムと、
光を用いて移動距離を検出する光学式マウスが前記複数の線対を通過するときに移動が検出される移動検出期間に基づいてスポット幅を算出するスポット幅測定プログラムと、
入力装置を用いて情報を収集するデータ入力プログラムと、
前記スポット幅に基づいて前記情報がエンコードされたバーコードを生成するバーコード印刷プログラム
とを更に具備するバーコード処理プログラム。
【請求項１２】
請求項１１において、
前記バーコードは、前記スポット幅に基づいて算出される間隔で配置される複数の平行線分領域から形成され、
前記複数の平行線分領域は、
バーが記載される領域と、
バーが記載されない領域とから形成される
バーコード処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコード処理装置およびバーコード処理プログラムに関し、特に、光学式マウスを用いてバーコードを処理するときに利用されるバーコード処理装置およびバーコード処理プログラムに関する。
【背景技術】
【０００２】
光学式マウスを用いてバーコードを読み取るシステムが知られている。このようなシステムに適用される光学式マウスは、特別な仕組みをハードウェア的に備えている。すなわち、その光学式マウスは、通常のマウスとして使用するモードと、バーコードリーダとして使用するモードを相互に切り替える手段を備え、バーコードリーダモードでバーコードをなぞったときに、バーコードのデータをコンピュータへ入力する。このようなマウスは、様々な素材の上に印刷されたバーコードに対応することができる一方、一般的に普及している光学式マウスより高価であり、さらにＯＳに専用のデバイスドライバを導入しなければならないことも多く、コストが高い。このような特別な仕組みを持たない一般的な光学式マウスを用いてバーコードを読み取ることが望まれている。
【０００３】
特開２００５−４４２３号公報には、バーコードを精度よく読み取る光学式マウスが開示されている。その光学式マウスは、連続して撮像した被読み取り面の画像を比較することにより、前記被読み取り面に対する移動量を算出する光学式マウスであって、中央部よりも幅が狭い先端部又は後端部において、前記被読み取り面からの高さが、端部に向かって低くなるように傾斜した傾斜部と、前記先端部又は後端部において、前記被読み取り面に対向して設けられた集光レンズと、前記被読み取り面に対する前記集光レンズの上方において、前記傾斜部の内側に沿って設けられた反射部と、前記集光レンズが集光した前記被読み取り面の光学像が前記反射部で反射されて結像する位置に設けられ、前記光学像を撮像する撮像素子と、前記被読み取り面の前記集光レンズに対向する位置に向けて発光する発光部とを備える。
【０００４】
特開２００５−４６４１号公報には、バーコードを精度よく読み取る光学式マウスが開示されている。その光学式マウスは、連続して撮像した被読み取り面の画像を比較することにより、前記被読み取り面に対する移動量を出力する光学式マウスであって、複数の光電変換素子を一面に有する撮像部と、前記被読み取り面の光学像を前記複数の光電変換素子上に投影する投影部と、前記光学像が投影された前記複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部と、当該光学式マウスがバーコードを読み取る場合には、当該光学式マウスが前記移動量を算出する場合よりも狭い範囲の前記光電変換素子によって発生される電荷を、当該光学式マウスが前記移動量を算出する場合よりも短い周期で前記電荷読み出し部に読み出させる読み出し制御部と、前記光学式マウスがバーコードを読み取る場合に、前記電荷読み出し部が読み出した電荷を二値の信号に変換して出力する変換部と、前記変換部が連続して出力する前記二値の信号に基づいて、前記被読み取り面に表示されたバーコード画像を合成する合成部とを備える。
【０００５】
特開平０４−７６２２号公報には、カーソル指示とバーコードの読み取りとを操作者が１つのマウスによる操作で行うことができるバーコードリーダー兼用光学式マウスが開示されている。そのバーコードリーダー兼用光学式マウスは、バーコード読み取り手段と、マウスパッドのラインパターン読み取り手段を備えてなる。
【０００６】
特開平０５−１９９５５号公報には、光学式マウスにバーコード形式のコマンド入力機能を設けることにより、キーボード等の他の入力装置を用いることなくコマンドを入力でき作業効率があがる光学式マウスが開示されている。その光学式マウスは、入力信号に対し、信号がバーコードによる信号、またはマウスの移動量を示すための信号かを識別する手段と、バーコードの信号と識別した場合には、バーコードの信号を読み取り、上位接続装置へ通報する手段とを有することを特徴とする。
【０００７】
特開平０５−１８９１４２号公報には、できるだけキーボードを使用することなくコンピュータに対して各種の命令やデータを入力することができ、これによってキーボードの習熟度が低い人でも必要な命令やデータを簡単に入力することができ、操作性を大幅に向上させることができるマウス入力システムが開示されている。そのマウス入力システムは、格子状に形成された位置表示体を有する板状のマウスパッドと、入力対象となるバーコードのバーコード表示体を有する板状のバーコードパッドと、前記マウスパッドに載せられ、通常のマウスモードが設定されているとき、光を出射しながら、前記光の反射光を受光してこの受光内容に基づいて動かされた方向および速度に応じた信号を生成して出力し、また前記バーコードパッドに載せられ、バーコードリーダモードが設定されているとき、光を出射しながら、前記光の反射光を受光してこの受光内容に基づいてその位置にあるバーコード表示体で示されるバーコードを読み出して読み出し内容信号を生成して出力するマウスと、を備えたことを特徴とする。
【０００８】
特公平０７−７６９８２号公報には、各文字を表わす異なるマーク・スペース・シーケンスの各グループ自体に自己クロツク機能を組み込んでいる同一幅マークから成るバーコードの形成で識別情報を基板上にマーク付けする装置が開示されている。その装置は、各文字、数字、記号（単に文字と呼ぶ）に対応して予め割り振られている単位スペース幅W1の１倍、２倍・・・Ｍ倍（Ｍは３以上の整数）に等しいスペース幅で相互に隔離されているＮ個の同一幅W2のマークから成る各文字当り１個の固定長マーク・スペース・シーケンスの複数グループであつて、各グループ内の対応する相次ぐ複数マーク／スペース要素位置に同一組み合せのクロツク用のサブシーケンスが組み込まれているバーコード体系を準備し、基板を識別するための入力文字列情報を、上記バーコード形式の文字列に対応する２進値電気信号を変換する手段と、上記電気信号に応働して上記入力文字列情報を、対応するバーコード形式で、基板上にマークを付ける手段と、より成り、各文字に対応する各コード・シーケンス・グループ中にクロツク用のサブシーケンスが組み込まれているバーコードを基板上にマーク付けする。
【０００９】
【特許文献１】特開２００５−４４２３号公報
【特許文献２】特開２００５−４６４１号公報
【特許文献３】特開平０４−７６２２号公報
【特許文献４】特開平０５−１９９５５号公報
【特許文献５】特開平０５−１８９１４２号公報
【特許文献６】特公平０７−７６９８２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の課題は、光学式マウスを用いてバーコードを読み取るバーコード処理装置およびバーコード処理プログラムを提供することにある。
本発明の他の課題は、光学式マウスを用いて読み取ることができるバーコードを作成するバーコード処理装置およびバーコード処理プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
本発明によるバーコード処理装置（２）は、光を用いて移動距離を検出する光学式マウス（５）がバーコードを通過する読取期間を第１期間（８４、８５）と第２期間（８１、８２、８３）とに分離する読取期間分離プログラム（１８）と、第１期間（８４、８５）と第２期間（８１、８２、８３）とに基づいてバーコードをデコードするバーコード読取プログラム（１９）とを備えている。バーコードは、光学式マウス（５）により移動が検出可能である第１領域と、光学式マウス（５）により移動が検出不可能である第２領域とから形成されている。第１期間（８４、８５）は、光学式マウス（５）により移動が検出される期間である。第２期間（８１、８２、８３）は、光学式マウス（５）により移動が検出されない期間である。
【００１３】
バーコードは、等間隔に配置される複数の平行線分領域（５３、５４、５５−１〜５５−ｎ）から形成されている。複数の平行線分領域（５３、５４、５５−１〜５５−ｎ）は、バーが記載される領域と、バーが記載されない領域とから形成される。
【００１４】
本発明によるバーコード処理装置（２）は、互いに間隔が異なる複数の線対（４２−１〜４２−ｍ）が記載されるスポット幅測定用紙（４１）を印刷するスポット幅（２３）測定用紙印刷プログラム（１３）と、光学式マウス（５）が複数の線対（４２−１〜４２−ｍ）を通過するときに移動が検出される移動検出期間に基づいてスポット幅（２３）を算出するスポット幅測定プログラム（１４）とをさらに備えている。バーコード読取プログラム（１９）は、そのスポット幅（２３）にさらに基づいてバーコードをデコードする。
【００１５】
本発明によるバーコード処理装置（２）は、入力装置（６）を用いて情報を収集するデータ入力プログラム（１５）と、スポット幅（２３）に基づいて情報をエンコードしてバーコードを生成するバーコード印刷プログラム（１６）とをさらに備えている。
【００１６】
本発明によるバーコード処理装置（２）は、互いに間隔が異なる複数の線対（４２−１〜４２−ｍ）が記載されるスポット幅測定用紙（４１）を印刷するスポット幅（２３）測定用紙印刷プログラム（１３）と、光を用いて移動距離を検出する光学式マウス（５）が複数の線対（４２−１〜４２−ｍ）を通過するときに移動が検出される移動検出期間に基づいてスポット幅（２３）を算出するスポット幅測定プログラム（１４）と、入力装置（６）を用いて情報を収集するデータ入力プログラム（１５）と、スポット幅（２３）に基づいて情報がエンコードされたバーコードを生成するバーコード印刷プログラム（１６）とをさらに備えている。
【００１７】
バーコードは、スポット幅（２３）に基づいて算出される間隔（５８）で配置される複数の平行線分領域（５３、５４、５５−１〜５５−ｎ）から形成されている。複数の平行線分領域（５３、５４、５５−１〜５５−ｎ）は、バーが記載される領域と、バーが記載されない領域とから形成される。
【００１８】
本発明によるバーコード処理プログラムは、光を用いて移動距離を検出する光学式マウス（５）がバーコードを通過する読取期間を第１期間（８４、８５）と第２期間（８１、８２、８３）とに分離する読取期間分離プログラム（１８）と、第１期間（８４、８５）と第２期間（８１、８２、８３）とに基づいてバーコードをデコードするバーコード読取プログラム（１９）とを備えている。バーコードは、光学式マウス（５）により移動が検出可能である第１領域と、光学式マウス（５）により移動が検出不可能である第２領域とから形成されている。第１期間（８４、８５）は、光学式マウス（５）により移動が検出される期間である。第２期間（８１、８２、８３）は、光学式マウス（５）により移動が検出されない期間である。
【００１９】
バーコードは、等間隔に配置される複数の平行線分領域（５３、５４、５５−１〜５５−ｎ）から形成されている。複数の平行線分領域（５３、５４、５５−１〜５５−ｎ）は、バーが記載される領域と、バーが記載されない領域とから形成される。
【００２０】
本発明によるバーコード処理プログラムは、互いに間隔が異なる複数の線対（４２−１〜４２−ｍ）が記載されるスポット幅測定用紙（４１）を印刷するスポット幅（２３）測定用紙印刷プログラム（１３）と、光学式マウス（５）が複数の線対（４２−１〜４２−ｍ）を通過するときに移動が検出される移動検出期間に基づいてスポット幅（２３）を算出するスポット幅測定プログラム（１４）とをさらに備えている。バーコード読取プログラム（１９）は、スポット幅（２３）にさらに基づいてバーコードをデコードする。
【００２１】
本発明によるバーコード処理プログラムは、入力装置（６）を用いて情報を収集するデータ入力プログラム（１５）と、スポット幅（２３）に基づいて情報をエンコードしてバーコードを生成するバーコード印刷プログラム（１６）とをさらに備えている。
【００２２】
本発明によるバーコード処理プログラムは、互いに間隔が異なる複数の線対（４２−１〜４２−ｍ）が記載されるスポット幅測定用紙（４１）を印刷するスポット幅（２３）測定用紙印刷プログラム（１３）と、光を用いて移動距離を検出する光学式マウス（５）が複数の線対（４２−１〜４２−ｍ）を通過するときに移動が検出される移動検出期間に基づいてスポット幅（２３）を算出するスポット幅測定プログラム（１４）と、入力装置（６）を用いて情報を収集するデータ入力プログラム（１５）と、スポット幅（２３）に基づいて情報がエンコードされたバーコードを生成するバーコード印刷プログラム（１６）とをさらに備えている。
【００２３】
バーコードは、スポット幅（２３）に基づいて算出される間隔（５８）で配置される複数の平行線分領域（５３、５４、５５−１〜５５−ｎ）から形成されている。複数の平行線分領域（５３、５４、５５−１〜５５−ｎ）は、バーが記載される領域と、バーが記載されない領域とから形成される。
【発明の効果】
【００２４】
本発明によるバーコード処理装置およびバーコード処理プログラムは、光学式マウスを用いてバーコードを読み取ることができる。または本発明によるバーコード処理装置およびバーコード処理プログラムは、光学式マウスを用いて読み取るバーコードを作成することができる。
【発明を実施するための最良の形態】
【００２５】
図面を参照して、本発明によるバーコード処理装置の実施の形態を記載する。そのバーコード処理装置２は、図１に示されているように、バーコードシステム１に適用されている。バーコードシステム１は、バーコード処理装置２とプリンタ３と光学式マウス５とキーボード６とディスプレイ７とを備えている。バーコード処理装置２は、コンピュータであり、図示されていないＣＰＵと記憶装置とを備えている。そのＣＰＵは、バーコード処理装置２にインストールされるコンピュータプログラムを実行して、その記憶装置とプリンタ３と光学式マウス５とキーボード６とディスプレイ７とを制御する。その記憶装置は、そのコンピュータプログラムを記録し、そのＣＰＵにより生成される情報を一時的に記録する。
【００２６】
光学式マウス５は、図示されていない発光ダイオードと光学センサとを備えている。光学式マウス５は、一定時間ごとに定期的に、その発光ダイオードを用いて照射対象（床面）に光をスポット状に照射して、その光学センサを用いてその光の反射光から得られる照射対象の表面のパターンを読み取る。その光は、その照射対象の素材表面の凹凸によって光と影ができるように、その素材表面に対して斜めに照射されている。光学式マウス５は、その一定時間の間隔の前後で読み取ったパターンを比較することにより、光学式マウス５の移動方向と移動量とを算出してバーコード処理装置２に出力する。
【００２７】
光学式マウス５は、その照射対象が凸凹の無い素材の表面であるときに、その表面を常に同じパターンとして読み取ってしまいパターンを比較することができない。このため、光学式マウス５は、このような素材の表面で動かされたときに、その移動方向と移動量とを検出することができない。光学式マウス５は、その素材の表面に何かが印刷されていれば、その移動方向と移動量とを検出することができる。
【００２８】
光学式マウス５は、さらに、図示されていないマウスボタンを備えている。光学式マウス５は、一定時間ごとに定期的に、そのマウスボタンが押下されているか解放されているかをバーコード処理装置２に出力する。
【００２９】
キーボード６は、図示されていない複数のキーを備えている。キーボード６は、その複数のキーのうちの押下されたキーを識別する情報をバーコード処理装置２に出力する。たとえば、その複数のキーは、互いに異なる複数の文字に対応付けられ、ユーザは、そのキーを所定の順で押下することにより、所望の文字列をバーコード処理装置２に入力することができる。すなわち、キーボード６は、ユーザに操作されることにより文字列を生成してバーコード処理装置２に出力する。ディスプレイ７は、表示面を備えている。ディスプレイ７は、バーコード処理装置２により生成される画面をその表示面に表示する。
【００３０】
プリンタ３は、インクを光沢紙８に塗布することにより、バーコード処理装置２により生成されるイメージを光沢紙８に印刷する。光沢紙８は、表面に凸凹が少ない素材であり、光学式マウス５がその表面を移動するときに、光学式マウス５がその移動方向と移動量とを検出することができない素材である。
【００３１】
図２は、バーコード処理装置２を示している。バーコード処理装置２は、コンピュータプログラムであるアプリケーションプログラム１１とマウスドライバ１２とスポット幅測定用紙印刷プログラム１３とスポット幅測定プログラム１４とデータ入力プログラム１５とバーコード印刷プログラム１６と停止判定条件入力プログラム１７と読取期間分離プログラム１８とバーコード読取プログラム１９とがインストールされている。
【００３２】
アプリケーションプログラム１１は、アプリケーションプログラム１１は、キーボード６を用いて入力される文字列をデータ処理するソフトウエアである。そのソフトウェアとしては、ワープロソフト、表計算ソフト、データベースエンジンが例示される。
【００３３】
マウスドライバ１２は、光学式マウス５により出力される移動方向と移動量とに基づいて、ディスプレイ７に表示されるマウスポインタが表示される位置を変更する。
【００３４】
スポット幅測定用紙印刷プログラム１３は、プリンタ３を用いて所定のイメージを光沢紙８に印刷してスポット幅測定用紙を作製する。
【００３５】
スポット幅測定プログラム１４は、光学式マウス５のマウスボタンが押下されながらスポット幅測定用紙印刷プログラム１３により作成されたスポット幅測定用紙の一部表面を光学式マウス５が移動する期間を移動が検出された期間と移動が検出されない期間とに分離し、その２つの期間に基づいてスポット幅を測定する。
【００３６】
データ入力プログラム１５は、キーボード６が操作されることにより生成される文字列をキーボード６から収集する。
【００３７】
バーコード印刷プログラム１６は、データ入力プログラム１５により収集された文字列をバーコードにエンコードする。バーコード印刷プログラム１６は、スポット幅測定プログラム１４により測定されたスポット幅に基づいて、そのバーコードのサイズを算出し、プリンタ３を用いてそのバーコードをそのサイズで光沢紙８に印刷する。
【００３８】
停止判定条件入力プログラム１７は、光学式マウス５のマウスボタンが押下されながらバーコード印刷プログラム１６により印刷されたバーコードの上を光学式マウス５が移動する期間に基づいて時間間隔変数Ｄｅｌｔａを算出する。時間間隔変数Ｄｅｌｔａは、スポット幅測定プログラム１４により測定されるスポット幅の約１／４を移動するのにかかる平均時間を示している。時間間隔変数Ｄｅｌｔａは、マウスポインタが停止したかどうかを判定するための変数であり、マウス移動イベントを受け取った時刻の間隔がＤｅｌｔａより大きいときに（すなわち、Ｄｅｌｔａが示す期間にマウス移動イベントがないときに）、マウスポインタが停止していた（すなわち、バーコードのバーの無い部分の上を光学式マウス５が移動していた）と判定する。
【００３９】
読取期間分離プログラム１８は、光学式マウス５のマウスボタンが押下されながらバーコード印刷プログラム１６により印刷されたバーコードの上を光学式マウス５が移動する期間を、移動が検出された期間と移動が検出されない期間とに分離する。
【００４０】
バーコード読取プログラム１９は、読取期間分離プログラム１８により分離された２つの期間に基づいて、バーコード印刷プログラム１６により印刷されたバーコードを文字列にデコードする。
【００４１】
図３は、光学式マウス５のスポット幅を示している。光学式マウス５は、照射対象の表面２１の上で操作されるときに、その表面２１のうちの一部の領域２２に光を照射して、領域２２のパターンを撮像する。そのスポット幅２３は、領域２２の一方向（たとえば、横方向）の幅を示している。一般的な光学式マウスでは、スポット幅は１ｃｍ程度である。
【００４２】
図４は、光学式マウス５により移動が検出される領域を示している。光沢紙８は、プリンタ３により表面３１にバー３２が印刷されたときに、領域３４と領域３５とが形成される。領域３４は、表面３１に属する点のうちのバー３２からの距離がスポット幅２３の半分より小さい点の集合であり、光学式マウス５により移動が検出される領域である。領域３５は、表面３１のうちの領域３４を除く領域であり、光学式マウス５により移動が検出されない領域である。
【００４３】
図５は、スポット幅測定用紙印刷プログラム１３により印刷されるスポット幅測定用紙を示している。そのスポット幅測定用紙４１は、光沢紙に複数の図形４２−１〜４２−ｍ（ｍ＝２，３，４，…）と複数の文字列４３−１〜４３−ｍとが印刷されている。複数の図形４２−１〜４２−ｍは、それぞれ、２本の平行線の対から形成され、その平行線対の間隔は、互いに異なっている。複数の図形４２−１〜４２−ｍの平行線対の間隔は、たとえば、５ｍｍ、６ｍｍ、７ｍｍ、…であり、１ｍｍずつ次第に広がっている。文字列４３−ｊ（ｊ＝１，２，３，…，ｍ）は、図形４２−ｊに並んで配置され、図形４２−ｊを識別し、図形４２−ｊの平行線の間隔を示している。光学式マウス５は、図形４２−ｊの平行線対の間隔が光学式マウス５のスポット幅より狭い場合で、図形４２−ｊの上をその平行線に垂直である方向に移動したときに、平行線対の間で移動が検出される。光学式マウス５は、図形４２−ｊの平行線対の間隔が光学式マウス５のスポット幅より広い場合で、図形４２−ｊの上をその平行線に垂直である方向に移動したときに、平行線対の間で移動が検出されないで、すなわち、マウスポインタの動きが、動く、一瞬とまる、動くというふうになる。
【００４４】
このとき、スポット幅測定プログラム１４は、ディスプレイ７に文字列４３−ｊを表示して、文字列４３−ｊに対応する図形４２−ｊの上で光学式マウス５を移動させるようにユーザに促す。スポット幅測定プログラム１４は、光学式マウス５が図形４２−ｊをその平行線と垂直である方向に移動したときに、ディスプレイ７に表示されるマウスポインタの動きが途中で停止するかどうかを判別する。スポット幅測定プログラム１４は、複数の図形４２−１〜４２−ｍからマウスポインタの動きが途中で停止する図形を抽出し、その抽出された図形のうちの間隔が最も狭い図形を算出する。スポット幅測定プログラム１４は、その算出された図形の間隔をスポット幅として算出する。
【００４５】
スポット幅測定用紙印刷プログラム１３は、スポット幅測定プログラム１４により複数の図形４２−１〜４２−ｍの全部においてマウスポインタの動きが途中で停止しないときに、間隔が図形４２−１〜４２−ｍよりも大きい平行線対が記載されるスポット幅測定用紙をさらに作製する。
【００４６】
図６は、バーコード印刷プログラム１６により印刷されるバーコードを示している。そのバーコード５２は、バーコード印刷プログラム１６によりプリンタ３を用いて光沢紙８に印刷される。バーコード５２は、複数の線分領域から形成されている。その複数の線分領域は、所定の長さ５６の線分に形成され、互いに平行になるように配置されている。その複数の線分領域は、左端線分領域５３と右端線分領域５４と複数の線分領域５５−１〜５５−ｎ（ｎ＝２，３，４，…）とから形成されている。左端線分領域５３と右端線分領域５４とは、それぞれが長方形の対辺を形成するように、かつ、バーコード５２の全長５７だけ離れるように、配置されている。複数の線分領域５５−１〜５５−ｎは、左端線分領域５３と右端線分領域５４との間に配置され、左端線分領域５３と右端線分領域５４とを対辺とする長方形の内部に配置されている。線分領域５５−１は、左端線分領域５３から所定の間隔５８だけ離れるように、配置されている。線分領域５５−（ｉ＋１）（ｉ＝１，２，３，…，ｎ−１）は、線分領域５５−ｉから所定の間隔５８だけ離れるように、配置されている。右端線分領域５４は、線分領域５５−ｎから所定の間隔５８だけ離れるように、配置されている。
【００４７】
間隔５８は、スポット幅測定プログラム１４により算出されるスポット幅に基づいて算出され、たとえば、スポット幅の３／４倍の長さである。全長５７は、間隔５８の整数倍になるように、調整される。たとえば、全長Ｌは、間隔５８の整数倍でないときに、間隔５８の長さ３Ｓ／４と剰余演算％とを用いて、次式：
Ｌ−Ｌ％（３Ｓ／４）
により表現される値に置換される。このとき、バーコード５２の両端の線分領域を除く線分領域の個数ｎは、次式：
４Ｌ／３Ｓ−１
により表現される値に等しい。このとき、バーコード５２のパターンの総数は、２ｎとなる。バーコード５２が表すデータは、０〜２ｎ−１の値とすることができる。たとえば、バーコード５２は、ｎが９を示すときに、９つの線分領域にバーの有無を割り当てることにより、２９（＝５１２）通りのパターンが得られる。このとき、バーコード５２は、０〜５１１の整数を表現することができる。
【００４８】
左端線分領域５３と右端線分領域５４とは、インクが塗布されてバーが印刷されている。
複数の線分領域５５−１〜５５−ｎのうちの一部の線分領域は、インクが塗布されてバーが印刷され、残りの線分領域は、バーが印刷されていない。すなわち、バーコード５２は、データ入力プログラム１５により収集された文字列を、複数の線分領域５５−１〜５５−ｎのバーを印刷する領域とバーを印刷しない領域との順列により表現している。
【００４９】
図７は、アプリケーションプログラム１１により生成される１つの画面を示している。その画面６１は、データ入力領域６３を備えている。データ入力領域６３には、文字列入力用カーソル６４が表示されている。アプリケーションプログラム１１は、キーボード６が操作されるときに、その操作により生成される文字列をデータ入力領域６３に表示して、その文字列をデータ処理する。
【００５０】
図７は、さらに、読取期間分離プログラム１８により生成される画面を示している。その画面６２は、ユーザによる光学式マウス５またはキーボード６の操作に応答して表示される。画面６２は、光学式マウス５により出力される移動方向と移動量とに基づいて移動するマウスポインタ６５を表示するために使用される。すなわち、ユーザは、バーコード５２を文字列にデコードさせるときに、マウスポインタ６５が画面６２の内部を移動するようにマウスボタンを押しながら光学式マウス５をバーコード５２の上で移動させる。
【００５１】
図８は、光学式マウス５がバーコード５２を移動した後のディスプレイ７の画面を示している。読取期間分離プログラム１８により生成される画面６２には、光学式マウス５のマウスボタンが押下されていた期間にマウスポインタ６５が移動した軌跡６７が表示される。データ入力領域６３には、バーコード５２からデコードされた文字列６８が表示される。すなわち、バーコード読取プログラム１９は、読取期間分離プログラム１８により分離された２つの期間に基づいてバーコード５２を文字列６８にデコードし、文字列６８を文字列入力用カーソル６４が表示されるデータ入力領域６３に表示する。
【００５２】
スポット幅測定プログラム１４は、画面６２と同様の画面をディスプレイ７に表示する。すなわち、スポット幅測定プログラム１４は、マウスボタンが押下されながら光学式マウス５が図形４２−ｊの上を移動して、マウスポインタ６５がその画面の内部を移動するときに、マウスポインタ６５の動きが途中で停止するかどうかを判別する。
【００５３】
バーコード処理装置２の動作は、スポット幅を測定する動作とバーコードを印刷する動作と時間間隔変数を設定する動作とバーコードを読み取る動作とを備えている。
【００５４】
スポット幅を測定する動作は、ユーザによる光学式マウス５またはキーボード６の操作に応答して開始する。バーコード処理装置２は、まず、プリンタ３を用いて光沢紙８に複数の図形４２−１〜４２−ｍと複数の文字列４３−１〜４３−ｍとを印刷してスポット幅測定用紙４１を作製する。ユーザは、マウスポインタ６５が画面６２の内部を移動するように、バーコード処理装置２により指示される間隔に対応する図形４２−ｊの上でマウスボタンが押下しながら光学式マウス５を移動させる。バーコード処理装置２は、光学式マウス５が図形４２−ｊを移動したときに、ディスプレイ７に表示されるマウスポインタ６５の動きが途中で停止するかどうかを判別する。バーコード処理装置２は、図形４２−１〜４２−ｍの全部に関してマウスポインタ６５の動きが途中で停止するかどうかを判別した後に、複数の図形４２−１〜４２−ｍからマウスポインタの動きが途中で停止する図形を抽出し、その抽出された図形のうちの間隔が最も狭い図形を算出する。スポット幅測定プログラム１４は、その算出された図形の間隔をスポット幅として算出する。
【００５５】
バーコードを印刷する動作は、キーボード６を用いて、ユーザによる光学式マウス５またはキーボード６の操作に応答して開始する。ユーザは、まず、バーコードにエンコードさせる所望の整数をバーコード処理装置２に入力する。バーコード処理装置２は、その整数を表現するように、バーコード５２の線分領域５５−１〜５５−ｎの各々にバーの有無を割り当ててバーコード５２を作成する。バーコード処理装置２は、スポット幅を測定する動作により算出されたスポット幅に基づいて算出された間隔で複数の線分領域が配置されるバーコード５２を光沢紙に印刷する。
【００５６】
時間間隔変数を設定する動作では、バーコード処理装置２は、まず、適当なバーコードの一回の読み取りでマウス移動にかかる時間を測定する。バーコード処理装置２は、その時間Ｂを用いて、次式：
Ｄｅｌｔａ＝Ｂ／（３＊（ｎ＋１））
により表現される時間間隔変数Ｄｅｌｔａを算出する。このとき、時間間隔変数Ｄｅｌｔａは、スポット幅の約１／４を移動するのにかかる平均時間を示している。たとえば、時間間隔変数Ｄｅｌｔａは、Ｂ＝１、ｎ＝９のときに、概ね３３ミリ秒と設定される。時間間隔変数Ｄｅｌｔａは、マウスポインタ６５が停止したかどうかを判定するための変数であり、マウス移動イベントを受け取った時刻の間隔がＤｅｌｔａより大きいときに（すなわち、Ｄｅｌｔａが示す期間にマウス移動イベントがないときに）、マウスポインタ６５が停止していた（すなわち、バーコードのバーの無い部分の上を光学式マウス５が移動していた）と判定する。このため、時間間隔変数Ｄｅｌｔａは、大きすぎると離れているバーが連続していると判定されてしまい、小さすぎると連続しているバーを離れていると判定してしまう。
【００５７】
このように算出される時間間隔変数Ｄｅｌｔａによれば、バーコード処理装置２は、マウスポインタ６５が停止していたかどうかをより確実に判定することができる。すなわち、バー有り、無し、有りというパターンにおいて、バー無しの部分で距離  Ｓ／２  の間マウスポインタが停止するため、その半分の  距離  Ｓ／４  にかかる移動時間をＤｅｌｔａの値として設定するのが妥当だからである。
【００５８】
バーコードを読み取る動作は、初期化動作と読取期間を分離する動作とデコードする動作とを備えている。図９は、初期化動作を示している。初期化動作は、マウスポインタ６５が画面６２に配置された状態で、光学式マウス５のマウスボタンが押下されたときに、開始される、バーコード処理装置２は、まず、インデクス変数Ｃｏｕｎｔｅｒに０を代入し、変数Ｌａｓｔに負の無限大−∞を代入する（ステップＳ１）。
【００５９】
図１０は、読取期間を分離する動作を示している。読取期間を分離する動作は、光学式マウス５のマウスボタンが押下された状態で、光学式マウス５の移動が検出されているときに、定期的に開始される。バーコード処理装置２は、時刻変数Ｔに現在の時刻を代入する（ステップＳ１１）。バーコード処理装置２は、次式：
Ｔ−Ｌａｓｔ＞Ｄｅｌｔａ
が成立するときに、すなわち、所定の期間以上に光学式マウス５の移動が検出されなかったときに（ステップＳ１２、ＹＥＳ）、配列変数Ｅｄｇｅ（Ｃｏｕｎｔｅｒ）に変数Ｌａｓｔが示す値を代入し、配列変数Ｅｄｇｅ（Ｃｏｕｎｔｅｒ＋１）に時刻変数Ｔが示す値を代入し、変数Ｃｏｕｎｔｅｒに変数Ｃｏｕｎｔｅｒが示す値に２を加算した値を代入する（ステップＳ１３）。
【００６０】
バーコード処理装置２は、次式：
Ｔ−Ｌａｓｔ＞Ｄｅｌｔａ
が成立しないときに、すなわち、光学式マウス５の移動が検出されなかった時間が所定の期間未満であるときに（ステップＳ１２、ＮＯ）、または、ステップＳ１３が処理された後に、変数Ｌａｓｔに時刻変数Ｔが示す値を代入する（ステップＳ１４）。
【００６１】
図１１は、デコードする動作を示している。そのデコードする動作は、光学式マウス５のマウスボタンが解放されたときに開始される。バーコード処理装置２は、配列変数Ｅｄｇｅ（Ｃｏｕｎｔｅｒ）に変数Ｌａｓｔが示す値を代入し、平均時間変数Ｕに次式：
（Ｌａｓｔ−Ｅｄｇｅ（１））＊Ｓ／（Ｌ＋Ｓ）
により示される値を代入し、バー到達推定時刻変数Ｅに次式：
Ｅｄｇｅ（１）＋Ｕ／２
により示される値を代入し、配列変数Ｅｄｇｅのインデクス用変数Ｃに１を代入し、変数Ｂｌａｃｋに０を代入し、インデクス用変数Ｉｎｄｅｘに０を代入する（ステップＳ２１）。
【００６２】
バーコード処理装置２は、インデクス用変数Ｃにインデクス用変数Ｃが示す値に１加算した値を代入し、変数Ｂｌａｃｋに１から変数Ｂｌａｃｋが示す値を減算した値を代入する（ステップＳ２２）。バーコード処理装置２は、インデクス用変数Ｃの値とインデクス変数Ｃｏｕｎｔｅｒの値とを比較する（ステップＳ２３）。
【００６３】
バーコード処理装置２は、インデクス用変数Ｃがインデクス変数Ｃｏｕｎｔｅｒ以下であるときに（ステップＳ２３、ＹＥＳ）、バー到達推定時刻変数Ｅの値と配列変数Ｅｄｇｅ（Ｃ）の値とを比較する。バーコード処理装置２は、バー到達推定時刻変数Ｅの値が配列変数Ｅｄｇｅ（Ｃ）の値以上であるときに（ステップＳ２４、ＮＯ）、再度ステップＳ２２を実行する。バーコード処理装置２は、バー到達推定時刻変数Ｅの値が配列変数Ｅｄｇｅ（Ｃ）の値より小さいときに（ステップＳ２４、ＹＥＳ）、配列変数Ｂａｒ（Ｉｎｄｅｘ）に変数Ｂｌａｃｋが示す値を代入し、インデクス用変数Ｉｎｄｅｘにインデクス用変数Ｉｎｄｅｘが示す値に１を加算した値を代入し、バー到達推定時刻変数Ｅに次式：
Ｅ＋Ｕ＊３／４
により示される値を代入し（ステップＳ２５）、再度ステップＳ２２を実行する。
【００６４】
バーコード処理装置２は、インデクス用変数Ｃがインデクス変数Ｃｏｕｎｔｅｒより大きいときに（ステップＳ２３、ＮＯ）、配列変数Ｂａｒをバーコードデータ（整数）に復元し、その整数を表す文字列を構成する複数の文字に対応するキーボードイベントに変換することにより文字列入力用カーソル６４の位置にその文字列を入力して、このデコードする動作を終了する。
【００６５】
図１２は、バーコードの例を示している。そのバーコード７２は、光沢紙７１に印刷されている。バーコード７２は、複数の線分領域７３−０〜７３−３から形成されている。線分領域７３−０は、バーが印刷されている。線分領域７３−１は、バーが印刷されていない。線分領域７３−２は、バーが印刷されている。線分領域７３−３は、バーが印刷されている。このとき、光沢紙７１の表面には、光学式マウス５が移動したときに移動が検出される領域７４が形成される。バーコード７２を横切る線分７５は、点ｐ０と点ｐ１と点ｐ２と点ｐ３と点ｐ４と点ｐ５とを有している。点ｐ０は、線分７５の始点である。点ｐ１と点ｐ２と点ｐ３と点ｐ４とは、領域７４の境界と線分７５との交点である。点ｐ５は、線分７５の終点である。
【００６６】
図１３は、ユーザが線分７５に沿って点ｐ０から点ｐ５まで光学式マウス５を移動させたときに、バーコード処理装置２により光学式マウス５の移動が検出される期間を示している。時刻ｔ１は、光学式マウス５が点ｐ１を通過する時刻を示している。時刻ｔ２は、光学式マウス５が点ｐ２を通過する時刻を示している。時刻ｔ３は、光学式マウス５が点ｐ３を通過する時刻を示している。時刻ｔ４は、光学式マウス５が点ｐ４を通過する時刻を示している。光学式マウス５が点ｐ０から点ｐ１まで移動する期間、すなわち、時刻ｔ１以前の期間８１では、光学式マウス５の移動が検出されない。光学式マウス５が点ｐ１から点ｐ２まで移動する期間、すなわち、時刻ｔ１から時刻ｔ２までの期間８４では、光学式マウス５の移動が検出される。光学式マウス５が点ｐ２から点ｐ３まで移動する期間、すなわち、時刻ｔ２から時刻ｔ３までの期間８２では、光学式マウス５の移動が検出されない。光学式マウス５が点ｐ３から点ｐ４まで移動する期間、すなわち、時刻ｔ３から時刻ｔ４までの期間８５では、光学式マウス５の移動が検出される。光学式マウス５が点ｐ２から点ｐ５まで移動する期間、すなわち、時刻ｔ４以降の期間８３では、光学式マウス５の移動が検出されない。
【００６７】
バーコードを読み取る動作によれば、光学式マウス５がバーコード７２の上を線分７５に沿って移動したときに、インデクス変数Ｃｏｕｎｔｅｒに４が代入され、配列変数Ｅｄｇｅ（０）に−∞が代入され、配列変数Ｅｄｇｅ（１）に時刻ｔ１が代入され、配列変数Ｅｄｇｅ（２）に時刻ｔ２が代入され、配列変数Ｅｄｇｅ（３）に時刻ｔ３が代入され、配列変数Ｅｄｇｅ（４）に時刻ｔ４が代入される。すなわち、配列変数Ｅｄｇｅ（ａ）には、変数ａが偶数のときに光学式マウス５の移動が検出されている状態から移動が検出されない状態に変化した時刻が代入され、変数ａが奇数のときに光学式マウス５の移動が検出されていない状態から移動が検出される状態に変化した時刻が代入される。
【００６８】
さらに、インデクス用変数Ｉｎｄｅｘに１が代入され、配列変数Ｂａｒ（０）に１が代入され、配列変数Ｂａｒ（１）に０が代入され、配列変数Ｂａｒ（２）に１が代入され、配列変数Ｂａｒ（３）に１が代入される。すなわち、配列変数Ｂａｒ（ｋ）（ｋ＝０，１，２，３）は、線分領域７３−ｋの状態を示し、１を示すときに線分領域７３−ｋにバーが印刷されていることを示し、０を示すときに線分領域７３−ｋにバーが印刷されていないことを示している。
【００６９】
本発明によるバーコード処理装置２によれば、ハードウェア的な特別な仕組みを持たない一般的な光学式マウスを利用して、バーコードを読み取ることができる。また、光沢紙は、家電量販店や事務用品店等で一般的に市販されているため入手が容易であり、家庭用及び事務用のプリンタを使用してそのバーコードを作成することができる。これらの特徴により、バーコードを利用したアプリケーションプログラムを利用する際に、一般的に普及しているＰＣ環境（光学式マウスとプリンタ）が使えるため、コスト低減の効果が期待できる。このため、（名称）２は、個人所蔵の図書目録システム、懸賞つきの商品のラベル、Ｗｅｂページから印刷する飲食店等の割引チケットに利用されることが好適である。
【００７０】
なお、光沢紙８は、光学式マウス５によりその移動方向と移動量とを検出することができない他の素材に置換することができる。その素材としては、ガラス板が例示される。なお、光沢紙８に置換してガラス板が適用されるときに、プリンタ３は、そのガラス板の表面にイメージを彫刻する装置に置換することができる。その装置は、プリンタ３と同様にして、バーコード処理装置２により生成されるバーコードをそのガラス板に彫刻する。このとき、光学式マウス５は、光沢紙８と同様にして、そのガラス板の表面のうちの彫刻されている部分では、その移動方向と移動量とを検出することができないで、表面のうちの彫刻されている部分でその移動方向と移動量とを検出することができる。
【００７１】
本発明によるバーコード処理装置の実施の他の形態は、既述の実施の形態におけるバーコード処理装置２のスポット幅測定用紙印刷プログラム１３とスポット幅測定プログラム１４とがスポット幅入力プログラムに置換されている。そのスポット幅入力プログラムは、キーボード６が操作されることにより生成される文字列に基づいてスポット幅を算出する。すなわち、ユーザは、光学式マウス５のスペックを参照して、スポット幅を算出し、キーボード６を用いてそのスポット幅をバーコード処理装置に入力する。このとき、バーコード処理装置は、ユーザにより入力されるスポット幅を用いてバーコードを印刷し、バーコードを読み取る。このようなバーコード処理装置は、既述の実施の形態におけるバーコード処理装置２と同様にして、ハードウェア的な特別な仕組みを持たない一般的な光学式マウスを利用して、バーコードを読み取ることができ、コストを低減することができる。
【図面の簡単な説明】
【００７２】
【図１】図１は、バーコードシステムを示すブロック図である。
【図２】図２は、本発明によるバーコード処理装置の実施の形態を示すブロック図である。
【図３】図３は、スポット幅を示す斜視図である。
【図４】図４は、バーコードのバーを示す平面図である。
【図５】図５は、スポット幅測定用紙を示す平面図である。
【図６】図６は、バーコードを示す平面図である。
【図７】図７は、情報を入力する前の画面を示す平面図である。
【図８】図８は、情報を入力した後の画面を示す平面図である。
【図９】図９は、マウスボタンを押したときの動作を示すフローチャートである。
【図１０】図１０は、マウスの移動が検出されたときの動作を示すフローチャートである。
【図１１】図１１は、マウスボタンが解放されたときの動作を示すフローチャートである。
【図１２】図１２は、バーコードを示す平面図である。
【図１３】図１３は、バーコードを示すグラフである。
【符号の説明】
【００７３】
１  ：バーコードシステム
２  ：バーコード処理装置
３  ：プリンタ
５  ：光学式マウス
６  ：キーボード
７  ：ディスプレイ
８  ：光沢紙
１１：アプリケーションプログラム
１２：マウスドライバ
１３：スポット幅測定用紙印刷プログラム
１４：スポット幅測定プログラム
１５：データ入力プログラム
１６：バーコード印刷プログラム
１７：停止判定条件入力プログラム
１８：読取期間分離プログラム
１９：バーコード読取プログラム
２１：表面
２２：領域
２３：スポット幅
３１：表面
３２：バー
３４：領域
３５：領域
４１：スポット幅測定用紙
４２−１〜４２−ｍ：図形
４３−１〜４３−ｍ：文字列
５２：バーコード
５３：左端線分領域
５４：右端線分領域
５５−１〜５５−ｎ：線分領域
５６：長さ
５７：全長
５８：間隔
６１：画面
６２：画面
６３：データ入力領域
６４：文字列入力用カーソル
６５：マウスポインタ
６７：軌跡
６８：文字列
７１：光沢紙
７２：バーコード
７３−０〜７３−３：複数の線分領域
７４：領域
７５：線分
８１〜８５：期間
【図１】
2008040541.tif 000003
【図２】
2008040541.tif 000004
【図３】
2008040541.tif 000005
【図４】
2008040541.tif 000006
【図５】
2008040541.tif 000007
【図６】
2008040541.tif 000008
【図７】
2008040541.tif 000009
【図８】
2008040541.tif 000010
【図９】
2008040541.tif 000011
【図１０】
2008040541.tif 000012
【図１１】
2008040541.tif 000013
【図１２】
2008040541.tif 000014
【図１３】
2008040541.tif 000015