説明

バーコード処理装置およびバーコード処理プログラム

【課題】光学式マウスを用いてバーコードを読み取ること。
【解決手段】光を用いて移動距離を検出する光学式マウス5がバーコードを通過する読取期間を第1期間84、85と第2期間81、82、83とに分離する読取期間分離プログラム18と、第1期間84、85と第2期間81、82、83とに基づいてバーコードをデコードするバーコード読取プログラム19とを備えている。バーコードは、光学式マウス5により移動が検出可能である第1領域と、光学式マウス5により移動が検出不可能である第2領域とから形成されている。第1期間84、85は、光学式マウス5により移動が検出される期間である。第2期間81、82、83は、光学式マウス5により移動が検出されない期間である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バーコード処理装置およびバーコード処理プログラムに関し、特に、光学式マウスを用いてバーコードを処理するときに利用されるバーコード処理装置およびバーコード処理プログラムに関する。
【背景技術】
【0002】
光学式マウスを用いてバーコードを読み取るシステムが知られている。このようなシステムに適用される光学式マウスは、特別な仕組みをハードウェア的に備えている。すなわち、その光学式マウスは、通常のマウスとして使用するモードと、バーコードリーダとして使用するモードを相互に切り替える手段を備え、バーコードリーダモードでバーコードをなぞったときに、バーコードのデータをコンピュータへ入力する。このようなマウスは、様々な素材の上に印刷されたバーコードに対応することができる一方、一般的に普及している光学式マウスより高価であり、さらにOSに専用のデバイスドライバを導入しなければならないことも多く、コストが高い。このような特別な仕組みを持たない一般的な光学式マウスを用いてバーコードを読み取ることが望まれている。
【0003】
特開2005−4423号公報には、バーコードを精度よく読み取る光学式マウスが開示されている。その光学式マウスは、連続して撮像した被読み取り面の画像を比較することにより、前記被読み取り面に対する移動量を算出する光学式マウスであって、中央部よりも幅が狭い先端部又は後端部において、前記被読み取り面からの高さが、端部に向かって低くなるように傾斜した傾斜部と、前記先端部又は後端部において、前記被読み取り面に対向して設けられた集光レンズと、前記被読み取り面に対する前記集光レンズの上方において、前記傾斜部の内側に沿って設けられた反射部と、前記集光レンズが集光した前記被読み取り面の光学像が前記反射部で反射されて結像する位置に設けられ、前記光学像を撮像する撮像素子と、前記被読み取り面の前記集光レンズに対向する位置に向けて発光する発光部とを備える。
【0004】
特開2005−4641号公報には、バーコードを精度よく読み取る光学式マウスが開示されている。その光学式マウスは、連続して撮像した被読み取り面の画像を比較することにより、前記被読み取り面に対する移動量を出力する光学式マウスであって、複数の光電変換素子を一面に有する撮像部と、前記被読み取り面の光学像を前記複数の光電変換素子上に投影する投影部と、前記光学像が投影された前記複数の光電変換素子がそれぞれ発生する電荷を、一定の周期で連続して読み出す電荷読み出し部と、当該光学式マウスがバーコードを読み取る場合には、当該光学式マウスが前記移動量を算出する場合よりも狭い範囲の前記光電変換素子によって発生される電荷を、当該光学式マウスが前記移動量を算出する場合よりも短い周期で前記電荷読み出し部に読み出させる読み出し制御部と、前記光学式マウスがバーコードを読み取る場合に、前記電荷読み出し部が読み出した電荷を二値の信号に変換して出力する変換部と、前記変換部が連続して出力する前記二値の信号に基づいて、前記被読み取り面に表示されたバーコード画像を合成する合成部とを備える。
【0005】
特開平04−7622号公報には、カーソル指示とバーコードの読み取りとを操作者が1つのマウスによる操作で行うことができるバーコードリーダー兼用光学式マウスが開示されている。そのバーコードリーダー兼用光学式マウスは、バーコード読み取り手段と、マウスパッドのラインパターン読み取り手段を備えてなる。
【0006】
特開平05−19955号公報には、光学式マウスにバーコード形式のコマンド入力機能を設けることにより、キーボード等の他の入力装置を用いることなくコマンドを入力でき作業効率があがる光学式マウスが開示されている。その光学式マウスは、入力信号に対し、信号がバーコードによる信号、またはマウスの移動量を示すための信号かを識別する手段と、バーコードの信号と識別した場合には、バーコードの信号を読み取り、上位接続装置へ通報する手段とを有することを特徴とする。
【0007】
特開平05−189142号公報には、できるだけキーボードを使用することなくコンピュータに対して各種の命令やデータを入力することができ、これによってキーボードの習熟度が低い人でも必要な命令やデータを簡単に入力することができ、操作性を大幅に向上させることができるマウス入力システムが開示されている。そのマウス入力システムは、格子状に形成された位置表示体を有する板状のマウスパッドと、入力対象となるバーコードのバーコード表示体を有する板状のバーコードパッドと、前記マウスパッドに載せられ、通常のマウスモードが設定されているとき、光を出射しながら、前記光の反射光を受光してこの受光内容に基づいて動かされた方向および速度に応じた信号を生成して出力し、また前記バーコードパッドに載せられ、バーコードリーダモードが設定されているとき、光を出射しながら、前記光の反射光を受光してこの受光内容に基づいてその位置にあるバーコード表示体で示されるバーコードを読み出して読み出し内容信号を生成して出力するマウスと、を備えたことを特徴とする。
【0008】
特公平07−76982号公報には、各文字を表わす異なるマーク・スペース・シーケンスの各グループ自体に自己クロツク機能を組み込んでいる同一幅マークから成るバーコードの形成で識別情報を基板上にマーク付けする装置が開示されている。その装置は、各文字、数字、記号(単に文字と呼ぶ)に対応して予め割り振られている単位スペース幅W1の1倍、2倍・・・M倍(Mは3以上の整数)に等しいスペース幅で相互に隔離されているN個の同一幅W2のマークから成る各文字当り1個の固定長マーク・スペース・シーケンスの複数グループであつて、各グループ内の対応する相次ぐ複数マーク/スペース要素位置に同一組み合せのクロツク用のサブシーケンスが組み込まれているバーコード体系を準備し、基板を識別するための入力文字列情報を、上記バーコード形式の文字列に対応する2進値電気信号を変換する手段と、上記電気信号に応働して上記入力文字列情報を、対応するバーコード形式で、基板上にマークを付ける手段と、より成り、各文字に対応する各コード・シーケンス・グループ中にクロツク用のサブシーケンスが組み込まれているバーコードを基板上にマーク付けする。
【0009】
【特許文献1】特開2005−4423号公報
【特許文献2】特開2005−4641号公報
【特許文献3】特開平04−7622号公報
【特許文献4】特開平05−19955号公報
【特許文献5】特開平05−189142号公報
【特許文献6】特公平07−76982号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明の課題は、光学式マウスを用いてバーコードを読み取るバーコード処理装置およびバーコード処理プログラムを提供することにある。
本発明の他の課題は、光学式マウスを用いて読み取ることができるバーコードを作成するバーコード処理装置およびバーコード処理プログラムを提供することにある。
【課題を解決するための手段】
【0011】
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【0012】
本発明によるバーコード処理装置(2)は、光を用いて移動距離を検出する光学式マウス(5)がバーコードを通過する読取期間を第1期間(84、85)と第2期間(81、82、83)とに分離する読取期間分離プログラム(18)と、第1期間(84、85)と第2期間(81、82、83)とに基づいてバーコードをデコードするバーコード読取プログラム(19)とを備えている。バーコードは、光学式マウス(5)により移動が検出可能である第1領域と、光学式マウス(5)により移動が検出不可能である第2領域とから形成されている。第1期間(84、85)は、光学式マウス(5)により移動が検出される期間である。第2期間(81、82、83)は、光学式マウス(5)により移動が検出されない期間である。
【0013】
バーコードは、等間隔に配置される複数の平行線分領域(53、54、55−1〜55−n)から形成されている。複数の平行線分領域(53、54、55−1〜55−n)は、バーが記載される領域と、バーが記載されない領域とから形成される。
【0014】
本発明によるバーコード処理装置(2)は、互いに間隔が異なる複数の線対(42−1〜42−m)が記載されるスポット幅測定用紙(41)を印刷するスポット幅(23)測定用紙印刷プログラム(13)と、光学式マウス(5)が複数の線対(42−1〜42−m)を通過するときに移動が検出される移動検出期間に基づいてスポット幅(23)を算出するスポット幅測定プログラム(14)とをさらに備えている。バーコード読取プログラム(19)は、そのスポット幅(23)にさらに基づいてバーコードをデコードする。
【0015】
本発明によるバーコード処理装置(2)は、入力装置(6)を用いて情報を収集するデータ入力プログラム(15)と、スポット幅(23)に基づいて情報をエンコードしてバーコードを生成するバーコード印刷プログラム(16)とをさらに備えている。
【0016】
本発明によるバーコード処理装置(2)は、互いに間隔が異なる複数の線対(42−1〜42−m)が記載されるスポット幅測定用紙(41)を印刷するスポット幅(23)測定用紙印刷プログラム(13)と、光を用いて移動距離を検出する光学式マウス(5)が複数の線対(42−1〜42−m)を通過するときに移動が検出される移動検出期間に基づいてスポット幅(23)を算出するスポット幅測定プログラム(14)と、入力装置(6)を用いて情報を収集するデータ入力プログラム(15)と、スポット幅(23)に基づいて情報がエンコードされたバーコードを生成するバーコード印刷プログラム(16)とをさらに備えている。
【0017】
バーコードは、スポット幅(23)に基づいて算出される間隔(58)で配置される複数の平行線分領域(53、54、55−1〜55−n)から形成されている。複数の平行線分領域(53、54、55−1〜55−n)は、バーが記載される領域と、バーが記載されない領域とから形成される。
【0018】
本発明によるバーコード処理プログラムは、光を用いて移動距離を検出する光学式マウス(5)がバーコードを通過する読取期間を第1期間(84、85)と第2期間(81、82、83)とに分離する読取期間分離プログラム(18)と、第1期間(84、85)と第2期間(81、82、83)とに基づいてバーコードをデコードするバーコード読取プログラム(19)とを備えている。バーコードは、光学式マウス(5)により移動が検出可能である第1領域と、光学式マウス(5)により移動が検出不可能である第2領域とから形成されている。第1期間(84、85)は、光学式マウス(5)により移動が検出される期間である。第2期間(81、82、83)は、光学式マウス(5)により移動が検出されない期間である。
【0019】
バーコードは、等間隔に配置される複数の平行線分領域(53、54、55−1〜55−n)から形成されている。複数の平行線分領域(53、54、55−1〜55−n)は、バーが記載される領域と、バーが記載されない領域とから形成される。
【0020】
本発明によるバーコード処理プログラムは、互いに間隔が異なる複数の線対(42−1〜42−m)が記載されるスポット幅測定用紙(41)を印刷するスポット幅(23)測定用紙印刷プログラム(13)と、光学式マウス(5)が複数の線対(42−1〜42−m)を通過するときに移動が検出される移動検出期間に基づいてスポット幅(23)を算出するスポット幅測定プログラム(14)とをさらに備えている。バーコード読取プログラム(19)は、スポット幅(23)にさらに基づいてバーコードをデコードする。
【0021】
本発明によるバーコード処理プログラムは、入力装置(6)を用いて情報を収集するデータ入力プログラム(15)と、スポット幅(23)に基づいて情報をエンコードしてバーコードを生成するバーコード印刷プログラム(16)とをさらに備えている。
【0022】
本発明によるバーコード処理プログラムは、互いに間隔が異なる複数の線対(42−1〜42−m)が記載されるスポット幅測定用紙(41)を印刷するスポット幅(23)測定用紙印刷プログラム(13)と、光を用いて移動距離を検出する光学式マウス(5)が複数の線対(42−1〜42−m)を通過するときに移動が検出される移動検出期間に基づいてスポット幅(23)を算出するスポット幅測定プログラム(14)と、入力装置(6)を用いて情報を収集するデータ入力プログラム(15)と、スポット幅(23)に基づいて情報がエンコードされたバーコードを生成するバーコード印刷プログラム(16)とをさらに備えている。
【0023】
バーコードは、スポット幅(23)に基づいて算出される間隔(58)で配置される複数の平行線分領域(53、54、55−1〜55−n)から形成されている。複数の平行線分領域(53、54、55−1〜55−n)は、バーが記載される領域と、バーが記載されない領域とから形成される。
【発明の効果】
【0024】
本発明によるバーコード処理装置およびバーコード処理プログラムは、光学式マウスを用いてバーコードを読み取ることができる。または本発明によるバーコード処理装置およびバーコード処理プログラムは、光学式マウスを用いて読み取るバーコードを作成することができる。
【発明を実施するための最良の形態】
【0025】
図面を参照して、本発明によるバーコード処理装置の実施の形態を記載する。そのバーコード処理装置2は、図1に示されているように、バーコードシステム1に適用されている。バーコードシステム1は、バーコード処理装置2とプリンタ3と光学式マウス5とキーボード6とディスプレイ7とを備えている。バーコード処理装置2は、コンピュータであり、図示されていないCPUと記憶装置とを備えている。そのCPUは、バーコード処理装置2にインストールされるコンピュータプログラムを実行して、その記憶装置とプリンタ3と光学式マウス5とキーボード6とディスプレイ7とを制御する。その記憶装置は、そのコンピュータプログラムを記録し、そのCPUにより生成される情報を一時的に記録する。
【0026】
光学式マウス5は、図示されていない発光ダイオードと光学センサとを備えている。光学式マウス5は、一定時間ごとに定期的に、その発光ダイオードを用いて照射対象(床面)に光をスポット状に照射して、その光学センサを用いてその光の反射光から得られる照射対象の表面のパターンを読み取る。その光は、その照射対象の素材表面の凹凸によって光と影ができるように、その素材表面に対して斜めに照射されている。光学式マウス5は、その一定時間の間隔の前後で読み取ったパターンを比較することにより、光学式マウス5の移動方向と移動量とを算出してバーコード処理装置2に出力する。
【0027】
光学式マウス5は、その照射対象が凸凹の無い素材の表面であるときに、その表面を常に同じパターンとして読み取ってしまいパターンを比較することができない。このため、光学式マウス5は、このような素材の表面で動かされたときに、その移動方向と移動量とを検出することができない。光学式マウス5は、その素材の表面に何かが印刷されていれば、その移動方向と移動量とを検出することができる。
【0028】
光学式マウス5は、さらに、図示されていないマウスボタンを備えている。光学式マウス5は、一定時間ごとに定期的に、そのマウスボタンが押下されているか解放されているかをバーコード処理装置2に出力する。
【0029】
キーボード6は、図示されていない複数のキーを備えている。キーボード6は、その複数のキーのうちの押下されたキーを識別する情報をバーコード処理装置2に出力する。たとえば、その複数のキーは、互いに異なる複数の文字に対応付けられ、ユーザは、そのキーを所定の順で押下することにより、所望の文字列をバーコード処理装置2に入力することができる。すなわち、キーボード6は、ユーザに操作されることにより文字列を生成してバーコード処理装置2に出力する。ディスプレイ7は、表示面を備えている。ディスプレイ7は、バーコード処理装置2により生成される画面をその表示面に表示する。
【0030】
プリンタ3は、インクを光沢紙8に塗布することにより、バーコード処理装置2により生成されるイメージを光沢紙8に印刷する。光沢紙8は、表面に凸凹が少ない素材であり、光学式マウス5がその表面を移動するときに、光学式マウス5がその移動方向と移動量とを検出することができない素材である。
【0031】
図2は、バーコード処理装置2を示している。バーコード処理装置2は、コンピュータプログラムであるアプリケーションプログラム11とマウスドライバ12とスポット幅測定用紙印刷プログラム13とスポット幅測定プログラム14とデータ入力プログラム15とバーコード印刷プログラム16と停止判定条件入力プログラム17と読取期間分離プログラム18とバーコード読取プログラム19とがインストールされている。
【0032】
アプリケーションプログラム11は、アプリケーションプログラム11は、キーボード6を用いて入力される文字列をデータ処理するソフトウエアである。そのソフトウェアとしては、ワープロソフト、表計算ソフト、データベースエンジンが例示される。
【0033】
マウスドライバ12は、光学式マウス5により出力される移動方向と移動量とに基づいて、ディスプレイ7に表示されるマウスポインタが表示される位置を変更する。
【0034】
スポット幅測定用紙印刷プログラム13は、プリンタ3を用いて所定のイメージを光沢紙8に印刷してスポット幅測定用紙を作製する。
【0035】
スポット幅測定プログラム14は、光学式マウス5のマウスボタンが押下されながらスポット幅測定用紙印刷プログラム13により作成されたスポット幅測定用紙の一部表面を光学式マウス5が移動する期間を移動が検出された期間と移動が検出されない期間とに分離し、その2つの期間に基づいてスポット幅を測定する。
【0036】
データ入力プログラム15は、キーボード6が操作されることにより生成される文字列をキーボード6から収集する。
【0037】
バーコード印刷プログラム16は、データ入力プログラム15により収集された文字列をバーコードにエンコードする。バーコード印刷プログラム16は、スポット幅測定プログラム14により測定されたスポット幅に基づいて、そのバーコードのサイズを算出し、プリンタ3を用いてそのバーコードをそのサイズで光沢紙8に印刷する。
【0038】
停止判定条件入力プログラム17は、光学式マウス5のマウスボタンが押下されながらバーコード印刷プログラム16により印刷されたバーコードの上を光学式マウス5が移動する期間に基づいて時間間隔変数Deltaを算出する。時間間隔変数Deltaは、スポット幅測定プログラム14により測定されるスポット幅の約1/4を移動するのにかかる平均時間を示している。時間間隔変数Deltaは、マウスポインタが停止したかどうかを判定するための変数であり、マウス移動イベントを受け取った時刻の間隔がDeltaより大きいときに(すなわち、Deltaが示す期間にマウス移動イベントがないときに)、マウスポインタが停止していた(すなわち、バーコードのバーの無い部分の上を光学式マウス5が移動していた)と判定する。
【0039】
読取期間分離プログラム18は、光学式マウス5のマウスボタンが押下されながらバーコード印刷プログラム16により印刷されたバーコードの上を光学式マウス5が移動する期間を、移動が検出された期間と移動が検出されない期間とに分離する。
【0040】
バーコード読取プログラム19は、読取期間分離プログラム18により分離された2つの期間に基づいて、バーコード印刷プログラム16により印刷されたバーコードを文字列にデコードする。
【0041】
図3は、光学式マウス5のスポット幅を示している。光学式マウス5は、照射対象の表面21の上で操作されるときに、その表面21のうちの一部の領域22に光を照射して、領域22のパターンを撮像する。そのスポット幅23は、領域22の一方向(たとえば、横方向)の幅を示している。一般的な光学式マウスでは、スポット幅は1cm程度である。
【0042】
図4は、光学式マウス5により移動が検出される領域を示している。光沢紙8は、プリンタ3により表面31にバー32が印刷されたときに、領域34と領域35とが形成される。領域34は、表面31に属する点のうちのバー32からの距離がスポット幅23の半分より小さい点の集合であり、光学式マウス5により移動が検出される領域である。領域35は、表面31のうちの領域34を除く領域であり、光学式マウス5により移動が検出されない領域である。
【0043】
図5は、スポット幅測定用紙印刷プログラム13により印刷されるスポット幅測定用紙を示している。そのスポット幅測定用紙41は、光沢紙に複数の図形42−1〜42−m(m=2,3,4,…)と複数の文字列43−1〜43−mとが印刷されている。複数の図形42−1〜42−mは、それぞれ、2本の平行線の対から形成され、その平行線対の間隔は、互いに異なっている。複数の図形42−1〜42−mの平行線対の間隔は、たとえば、5mm、6mm、7mm、…であり、1mmずつ次第に広がっている。文字列43−j(j=1,2,3,…,m)は、図形42−jに並んで配置され、図形42−jを識別し、図形42−jの平行線の間隔を示している。光学式マウス5は、図形42−jの平行線対の間隔が光学式マウス5のスポット幅より狭い場合で、図形42−jの上をその平行線に垂直である方向に移動したときに、平行線対の間で移動が検出される。光学式マウス5は、図形42−jの平行線対の間隔が光学式マウス5のスポット幅より広い場合で、図形42−jの上をその平行線に垂直である方向に移動したときに、平行線対の間で移動が検出されないで、すなわち、マウスポインタの動きが、動く、一瞬とまる、動くというふうになる。
【0044】
このとき、スポット幅測定プログラム14は、ディスプレイ7に文字列43−jを表示して、文字列43−jに対応する図形42−jの上で光学式マウス5を移動させるようにユーザに促す。スポット幅測定プログラム14は、光学式マウス5が図形42−jをその平行線と垂直である方向に移動したときに、ディスプレイ7に表示されるマウスポインタの動きが途中で停止するかどうかを判別する。スポット幅測定プログラム14は、複数の図形42−1〜42−mからマウスポインタの動きが途中で停止する図形を抽出し、その抽出された図形のうちの間隔が最も狭い図形を算出する。スポット幅測定プログラム14は、その算出された図形の間隔をスポット幅として算出する。
【0045】
スポット幅測定用紙印刷プログラム13は、スポット幅測定プログラム14により複数の図形42−1〜42−mの全部においてマウスポインタの動きが途中で停止しないときに、間隔が図形42−1〜42−mよりも大きい平行線対が記載されるスポット幅測定用紙をさらに作製する。
【0046】
図6は、バーコード印刷プログラム16により印刷されるバーコードを示している。そのバーコード52は、バーコード印刷プログラム16によりプリンタ3を用いて光沢紙8に印刷される。バーコード52は、複数の線分領域から形成されている。その複数の線分領域は、所定の長さ56の線分に形成され、互いに平行になるように配置されている。その複数の線分領域は、左端線分領域53と右端線分領域54と複数の線分領域55−1〜55−n(n=2,3,4,…)とから形成されている。左端線分領域53と右端線分領域54とは、それぞれが長方形の対辺を形成するように、かつ、バーコード52の全長57だけ離れるように、配置されている。複数の線分領域55−1〜55−nは、左端線分領域53と右端線分領域54との間に配置され、左端線分領域53と右端線分領域54とを対辺とする長方形の内部に配置されている。線分領域55−1は、左端線分領域53から所定の間隔58だけ離れるように、配置されている。線分領域55−(i+1)(i=1,2,3,…,n−1)は、線分領域55−iから所定の間隔58だけ離れるように、配置されている。右端線分領域54は、線分領域55−nから所定の間隔58だけ離れるように、配置されている。
【0047】
間隔58は、スポット幅測定プログラム14により算出されるスポット幅に基づいて算出され、たとえば、スポット幅の3/4倍の長さである。全長57は、間隔58の整数倍になるように、調整される。たとえば、全長Lは、間隔58の整数倍でないときに、間隔58の長さ3S/4と剰余演算%とを用いて、次式:
L−L%(3S/4)
により表現される値に置換される。このとき、バーコード52の両端の線分領域を除く線分領域の個数nは、次式:
4L/3S−1
により表現される値に等しい。このとき、バーコード52のパターンの総数は、2となる。バーコード52が表すデータは、0〜2n−1の値とすることができる。たとえば、バーコード52は、nが9を示すときに、9つの線分領域にバーの有無を割り当てることにより、2(=512)通りのパターンが得られる。このとき、バーコード52は、0〜511の整数を表現することができる。
【0048】
左端線分領域53と右端線分領域54とは、インクが塗布されてバーが印刷されている。
複数の線分領域55−1〜55−nのうちの一部の線分領域は、インクが塗布されてバーが印刷され、残りの線分領域は、バーが印刷されていない。すなわち、バーコード52は、データ入力プログラム15により収集された文字列を、複数の線分領域55−1〜55−nのバーを印刷する領域とバーを印刷しない領域との順列により表現している。
【0049】
図7は、アプリケーションプログラム11により生成される1つの画面を示している。その画面61は、データ入力領域63を備えている。データ入力領域63には、文字列入力用カーソル64が表示されている。アプリケーションプログラム11は、キーボード6が操作されるときに、その操作により生成される文字列をデータ入力領域63に表示して、その文字列をデータ処理する。
【0050】
図7は、さらに、読取期間分離プログラム18により生成される画面を示している。その画面62は、ユーザによる光学式マウス5またはキーボード6の操作に応答して表示される。画面62は、光学式マウス5により出力される移動方向と移動量とに基づいて移動するマウスポインタ65を表示するために使用される。すなわち、ユーザは、バーコード52を文字列にデコードさせるときに、マウスポインタ65が画面62の内部を移動するようにマウスボタンを押しながら光学式マウス5をバーコード52の上で移動させる。
【0051】
図8は、光学式マウス5がバーコード52を移動した後のディスプレイ7の画面を示している。読取期間分離プログラム18により生成される画面62には、光学式マウス5のマウスボタンが押下されていた期間にマウスポインタ65が移動した軌跡67が表示される。データ入力領域63には、バーコード52からデコードされた文字列68が表示される。すなわち、バーコード読取プログラム19は、読取期間分離プログラム18により分離された2つの期間に基づいてバーコード52を文字列68にデコードし、文字列68を文字列入力用カーソル64が表示されるデータ入力領域63に表示する。
【0052】
スポット幅測定プログラム14は、画面62と同様の画面をディスプレイ7に表示する。すなわち、スポット幅測定プログラム14は、マウスボタンが押下されながら光学式マウス5が図形42−jの上を移動して、マウスポインタ65がその画面の内部を移動するときに、マウスポインタ65の動きが途中で停止するかどうかを判別する。
【0053】
バーコード処理装置2の動作は、スポット幅を測定する動作とバーコードを印刷する動作と時間間隔変数を設定する動作とバーコードを読み取る動作とを備えている。
【0054】
スポット幅を測定する動作は、ユーザによる光学式マウス5またはキーボード6の操作に応答して開始する。バーコード処理装置2は、まず、プリンタ3を用いて光沢紙8に複数の図形42−1〜42−mと複数の文字列43−1〜43−mとを印刷してスポット幅測定用紙41を作製する。ユーザは、マウスポインタ65が画面62の内部を移動するように、バーコード処理装置2により指示される間隔に対応する図形42−jの上でマウスボタンが押下しながら光学式マウス5を移動させる。バーコード処理装置2は、光学式マウス5が図形42−jを移動したときに、ディスプレイ7に表示されるマウスポインタ65の動きが途中で停止するかどうかを判別する。バーコード処理装置2は、図形42−1〜42−mの全部に関してマウスポインタ65の動きが途中で停止するかどうかを判別した後に、複数の図形42−1〜42−mからマウスポインタの動きが途中で停止する図形を抽出し、その抽出された図形のうちの間隔が最も狭い図形を算出する。スポット幅測定プログラム14は、その算出された図形の間隔をスポット幅として算出する。
【0055】
バーコードを印刷する動作は、キーボード6を用いて、ユーザによる光学式マウス5またはキーボード6の操作に応答して開始する。ユーザは、まず、バーコードにエンコードさせる所望の整数をバーコード処理装置2に入力する。バーコード処理装置2は、その整数を表現するように、バーコード52の線分領域55−1〜55−nの各々にバーの有無を割り当ててバーコード52を作成する。バーコード処理装置2は、スポット幅を測定する動作により算出されたスポット幅に基づいて算出された間隔で複数の線分領域が配置されるバーコード52を光沢紙に印刷する。
【0056】
時間間隔変数を設定する動作では、バーコード処理装置2は、まず、適当なバーコードの一回の読み取りでマウス移動にかかる時間を測定する。バーコード処理装置2は、その時間Bを用いて、次式:
Delta=B/(3*(n+1))
により表現される時間間隔変数Deltaを算出する。このとき、時間間隔変数Deltaは、スポット幅の約1/4を移動するのにかかる平均時間を示している。たとえば、時間間隔変数Deltaは、B=1、n=9のときに、概ね33ミリ秒と設定される。時間間隔変数Deltaは、マウスポインタ65が停止したかどうかを判定するための変数であり、マウス移動イベントを受け取った時刻の間隔がDeltaより大きいときに(すなわち、Deltaが示す期間にマウス移動イベントがないときに)、マウスポインタ65が停止していた(すなわち、バーコードのバーの無い部分の上を光学式マウス5が移動していた)と判定する。このため、時間間隔変数Deltaは、大きすぎると離れているバーが連続していると判定されてしまい、小さすぎると連続しているバーを離れていると判定してしまう。
【0057】
このように算出される時間間隔変数Deltaによれば、バーコード処理装置2は、マウスポインタ65が停止していたかどうかをより確実に判定することができる。すなわち、バー有り、無し、有りというパターンにおいて、バー無しの部分で距離 S/2 の間マウスポインタが停止するため、その半分の 距離 S/4 にかかる移動時間をDeltaの値として設定するのが妥当だからである。
【0058】
バーコードを読み取る動作は、初期化動作と読取期間を分離する動作とデコードする動作とを備えている。図9は、初期化動作を示している。初期化動作は、マウスポインタ65が画面62に配置された状態で、光学式マウス5のマウスボタンが押下されたときに、開始される、バーコード処理装置2は、まず、インデクス変数Counterに0を代入し、変数Lastに負の無限大−∞を代入する(ステップS1)。
【0059】
図10は、読取期間を分離する動作を示している。読取期間を分離する動作は、光学式マウス5のマウスボタンが押下された状態で、光学式マウス5の移動が検出されているときに、定期的に開始される。バーコード処理装置2は、時刻変数Tに現在の時刻を代入する(ステップS11)。バーコード処理装置2は、次式:
T−Last>Delta
が成立するときに、すなわち、所定の期間以上に光学式マウス5の移動が検出されなかったときに(ステップS12、YES)、配列変数Edge(Counter)に変数Lastが示す値を代入し、配列変数Edge(Counter+1)に時刻変数Tが示す値を代入し、変数Counterに変数Counterが示す値に2を加算した値を代入する(ステップS13)。
【0060】
バーコード処理装置2は、次式:
T−Last>Delta
が成立しないときに、すなわち、光学式マウス5の移動が検出されなかった時間が所定の期間未満であるときに(ステップS12、NO)、または、ステップS13が処理された後に、変数Lastに時刻変数Tが示す値を代入する(ステップS14)。
【0061】
図11は、デコードする動作を示している。そのデコードする動作は、光学式マウス5のマウスボタンが解放されたときに開始される。バーコード処理装置2は、配列変数Edge(Counter)に変数Lastが示す値を代入し、平均時間変数Uに次式:
(Last−Edge(1))*S/(L+S)
により示される値を代入し、バー到達推定時刻変数Eに次式:
Edge(1)+U/2
により示される値を代入し、配列変数Edgeのインデクス用変数Cに1を代入し、変数Blackに0を代入し、インデクス用変数Indexに0を代入する(ステップS21)。
【0062】
バーコード処理装置2は、インデクス用変数Cにインデクス用変数Cが示す値に1加算した値を代入し、変数Blackに1から変数Blackが示す値を減算した値を代入する(ステップS22)。バーコード処理装置2は、インデクス用変数Cの値とインデクス変数Counterの値とを比較する(ステップS23)。
【0063】
バーコード処理装置2は、インデクス用変数Cがインデクス変数Counter以下であるときに(ステップS23、YES)、バー到達推定時刻変数Eの値と配列変数Edge(C)の値とを比較する。バーコード処理装置2は、バー到達推定時刻変数Eの値が配列変数Edge(C)の値以上であるときに(ステップS24、NO)、再度ステップS22を実行する。バーコード処理装置2は、バー到達推定時刻変数Eの値が配列変数Edge(C)の値より小さいときに(ステップS24、YES)、配列変数Bar(Index)に変数Blackが示す値を代入し、インデクス用変数Indexにインデクス用変数Indexが示す値に1を加算した値を代入し、バー到達推定時刻変数Eに次式:
E+U*3/4
により示される値を代入し(ステップS25)、再度ステップS22を実行する。
【0064】
バーコード処理装置2は、インデクス用変数Cがインデクス変数Counterより大きいときに(ステップS23、NO)、配列変数Barをバーコードデータ(整数)に復元し、その整数を表す文字列を構成する複数の文字に対応するキーボードイベントに変換することにより文字列入力用カーソル64の位置にその文字列を入力して、このデコードする動作を終了する。
【0065】
図12は、バーコードの例を示している。そのバーコード72は、光沢紙71に印刷されている。バーコード72は、複数の線分領域73−0〜73−3から形成されている。線分領域73−0は、バーが印刷されている。線分領域73−1は、バーが印刷されていない。線分領域73−2は、バーが印刷されている。線分領域73−3は、バーが印刷されている。このとき、光沢紙71の表面には、光学式マウス5が移動したときに移動が検出される領域74が形成される。バーコード72を横切る線分75は、点p0と点p1と点p2と点p3と点p4と点p5とを有している。点p0は、線分75の始点である。点p1と点p2と点p3と点p4とは、領域74の境界と線分75との交点である。点p5は、線分75の終点である。
【0066】
図13は、ユーザが線分75に沿って点p0から点p5まで光学式マウス5を移動させたときに、バーコード処理装置2により光学式マウス5の移動が検出される期間を示している。時刻t1は、光学式マウス5が点p1を通過する時刻を示している。時刻t2は、光学式マウス5が点p2を通過する時刻を示している。時刻t3は、光学式マウス5が点p3を通過する時刻を示している。時刻t4は、光学式マウス5が点p4を通過する時刻を示している。光学式マウス5が点p0から点p1まで移動する期間、すなわち、時刻t1以前の期間81では、光学式マウス5の移動が検出されない。光学式マウス5が点p1から点p2まで移動する期間、すなわち、時刻t1から時刻t2までの期間84では、光学式マウス5の移動が検出される。光学式マウス5が点p2から点p3まで移動する期間、すなわち、時刻t2から時刻t3までの期間82では、光学式マウス5の移動が検出されない。光学式マウス5が点p3から点p4まで移動する期間、すなわち、時刻t3から時刻t4までの期間85では、光学式マウス5の移動が検出される。光学式マウス5が点p2から点p5まで移動する期間、すなわち、時刻t4以降の期間83では、光学式マウス5の移動が検出されない。
【0067】
バーコードを読み取る動作によれば、光学式マウス5がバーコード72の上を線分75に沿って移動したときに、インデクス変数Counterに4が代入され、配列変数Edge(0)に−∞が代入され、配列変数Edge(1)に時刻t1が代入され、配列変数Edge(2)に時刻t2が代入され、配列変数Edge(3)に時刻t3が代入され、配列変数Edge(4)に時刻t4が代入される。すなわち、配列変数Edge(a)には、変数aが偶数のときに光学式マウス5の移動が検出されている状態から移動が検出されない状態に変化した時刻が代入され、変数aが奇数のときに光学式マウス5の移動が検出されていない状態から移動が検出される状態に変化した時刻が代入される。
【0068】
さらに、インデクス用変数Indexに1が代入され、配列変数Bar(0)に1が代入され、配列変数Bar(1)に0が代入され、配列変数Bar(2)に1が代入され、配列変数Bar(3)に1が代入される。すなわち、配列変数Bar(k)(k=0,1,2,3)は、線分領域73−kの状態を示し、1を示すときに線分領域73−kにバーが印刷されていることを示し、0を示すときに線分領域73−kにバーが印刷されていないことを示している。
【0069】
本発明によるバーコード処理装置2によれば、ハードウェア的な特別な仕組みを持たない一般的な光学式マウスを利用して、バーコードを読み取ることができる。また、光沢紙は、家電量販店や事務用品店等で一般的に市販されているため入手が容易であり、家庭用及び事務用のプリンタを使用してそのバーコードを作成することができる。これらの特徴により、バーコードを利用したアプリケーションプログラムを利用する際に、一般的に普及しているPC環境(光学式マウスとプリンタ)が使えるため、コスト低減の効果が期待できる。このため、(名称)2は、個人所蔵の図書目録システム、懸賞つきの商品のラベル、Webページから印刷する飲食店等の割引チケットに利用されることが好適である。
【0070】
なお、光沢紙8は、光学式マウス5によりその移動方向と移動量とを検出することができない他の素材に置換することができる。その素材としては、ガラス板が例示される。なお、光沢紙8に置換してガラス板が適用されるときに、プリンタ3は、そのガラス板の表面にイメージを彫刻する装置に置換することができる。その装置は、プリンタ3と同様にして、バーコード処理装置2により生成されるバーコードをそのガラス板に彫刻する。このとき、光学式マウス5は、光沢紙8と同様にして、そのガラス板の表面のうちの彫刻されている部分では、その移動方向と移動量とを検出することができないで、表面のうちの彫刻されている部分でその移動方向と移動量とを検出することができる。
【0071】
本発明によるバーコード処理装置の実施の他の形態は、既述の実施の形態におけるバーコード処理装置2のスポット幅測定用紙印刷プログラム13とスポット幅測定プログラム14とがスポット幅入力プログラムに置換されている。そのスポット幅入力プログラムは、キーボード6が操作されることにより生成される文字列に基づいてスポット幅を算出する。すなわち、ユーザは、光学式マウス5のスペックを参照して、スポット幅を算出し、キーボード6を用いてそのスポット幅をバーコード処理装置に入力する。このとき、バーコード処理装置は、ユーザにより入力されるスポット幅を用いてバーコードを印刷し、バーコードを読み取る。このようなバーコード処理装置は、既述の実施の形態におけるバーコード処理装置2と同様にして、ハードウェア的な特別な仕組みを持たない一般的な光学式マウスを利用して、バーコードを読み取ることができ、コストを低減することができる。
【図面の簡単な説明】
【0072】
【図1】図1は、バーコードシステムを示すブロック図である。
【図2】図2は、本発明によるバーコード処理装置の実施の形態を示すブロック図である。
【図3】図3は、スポット幅を示す斜視図である。
【図4】図4は、バーコードのバーを示す平面図である。
【図5】図5は、スポット幅測定用紙を示す平面図である。
【図6】図6は、バーコードを示す平面図である。
【図7】図7は、情報を入力する前の画面を示す平面図である。
【図8】図8は、情報を入力した後の画面を示す平面図である。
【図9】図9は、マウスボタンを押したときの動作を示すフローチャートである。
【図10】図10は、マウスの移動が検出されたときの動作を示すフローチャートである。
【図11】図11は、マウスボタンが解放されたときの動作を示すフローチャートである。
【図12】図12は、バーコードを示す平面図である。
【図13】図13は、バーコードを示すグラフである。
【符号の説明】
【0073】
1 :バーコードシステム
2 :バーコード処理装置
3 :プリンタ
5 :光学式マウス
6 :キーボード
7 :ディスプレイ
8 :光沢紙
11:アプリケーションプログラム
12:マウスドライバ
13:スポット幅測定用紙印刷プログラム
14:スポット幅測定プログラム
15:データ入力プログラム
16:バーコード印刷プログラム
17:停止判定条件入力プログラム
18:読取期間分離プログラム
19:バーコード読取プログラム
21:表面
22:領域
23:スポット幅
31:表面
32:バー
34:領域
35:領域
41:スポット幅測定用紙
42−1〜42−m:図形
43−1〜43−m:文字列
52:バーコード
53:左端線分領域
54:右端線分領域
55−1〜55−n:線分領域
56:長さ
57:全長
58:間隔
61:画面
62:画面
63:データ入力領域
64:文字列入力用カーソル
65:マウスポインタ
67:軌跡
68:文字列
71:光沢紙
72:バーコード
73−0〜73−3:複数の線分領域
74:領域
75:線分
81〜85:期間

【特許請求の範囲】
【請求項1】
光を用いて移動距離を検出する光学式マウスがバーコードを通過する読取期間を第1期間と第2期間とに分離する読取期間分離プログラムと、
前記第1期間と前記第2期間とに基づいて前記バーコードをデコードするバーコード読取プログラムとを具備し、
前記バーコードは、
前記光学式マウスにより移動が検出可能である第1領域と、
前記光学式マウスにより移動が検出不可能である第2領域とから形成され、
前記第1期間は、前記光学式マウスにより移動が検出される期間であり、
前記第2期間は、前記光学式マウスにより移動が検出されない期間である
バーコード処理装置。
【請求項2】
請求項1において、
前記バーコードは、等間隔に配置される複数の平行線分領域から形成され、
前記複数の平行線分領域は、
バーが記載される領域と、
バーが記載されない領域とから形成される
バーコード処理装置。
【請求項3】
請求項2において、
互いに間隔が異なる複数の線対が記載されるスポット幅測定用紙を印刷するスポット幅測定用紙印刷プログラムと、
前記光学式マウスが前記複数の線対を通過するときに移動が検出される移動検出期間に基づいてスポット幅を算出するスポット幅測定プログラムとを更に具備し、
前記バーコード読取プログラムは、前記スポット幅に更に基づいて前記バーコードをデコードする
バーコード処理装置。
【請求項4】
請求項3において、
入力装置を用いて情報を収集するデータ入力プログラムと、
前記スポット幅に基づいて前記情報をエンコードして前記バーコードを生成するバーコード印刷プログラム
とを更に具備するバーコード処理装置。
【請求項5】
互いに間隔が異なる複数の線対が記載されるスポット幅測定用紙を印刷するスポット幅測定用紙印刷プログラムと、
光を用いて移動距離を検出する光学式マウスが前記複数の線対を通過するときに移動が検出される移動検出期間に基づいてスポット幅を算出するスポット幅測定プログラムと、
入力装置を用いて情報を収集するデータ入力プログラムと、
前記スポット幅に基づいて前記情報がエンコードされたバーコードを生成するバーコード印刷プログラム
とを更に具備するバーコード処理装置。
【請求項6】
請求項5において、
前記バーコードは、前記スポット幅に基づいて算出される間隔で配置される複数の平行線分領域から形成され、
前記複数の平行線分領域は、
バーが記載される領域と、
バーが記載されない領域とから形成される
バーコード処理装置。
【請求項7】
光を用いて移動距離を検出する光学式マウスがバーコードを通過する読取期間を第1期間と第2期間とに分離する読取期間分離プログラムと、
前記第1期間と前記第2期間とに基づいて前記バーコードをデコードするバーコード読取プログラムとを具備し、
前記バーコードは、
前記光学式マウスにより移動が検出可能である第1領域と、
前記光学式マウスにより移動が検出不可能である第2領域とから形成され、
前記第1期間は、前記光学式マウスにより移動が検出される期間であり、
前記第2期間は、前記光学式マウスにより移動が検出されない期間である
バーコード処理プログラム。
【請求項8】
請求項7において、
前記バーコードは、等間隔に配置される複数の平行線分領域から形成され、
前記複数の平行線分領域は、
バーが記載される領域と、
バーが記載されない領域とから形成される
バーコード処理プログラム。
【請求項9】
請求項8において、
互いに間隔が異なる複数の線対が記載されるスポット幅測定用紙を印刷するスポット幅測定用紙印刷プログラムと、
前記光学式マウスが前記複数の線対を通過するときに移動が検出される移動検出期間に基づいてスポット幅を算出するスポット幅測定プログラムとを更に具備し、
前記バーコード読取プログラムは、前記スポット幅に更に基づいて前記バーコードをデコードする
バーコード処理プログラム。
【請求項10】
請求項9において、
入力装置を用いて情報を収集するデータ入力プログラムと、
前記スポット幅に基づいて前記情報をエンコードして前記バーコードを生成するバーコード印刷プログラム
とを更に具備するバーコード処理プログラム。
【請求項11】
互いに間隔が異なる複数の線対が記載されるスポット幅測定用紙を印刷するスポット幅測定用紙印刷プログラムと、
光を用いて移動距離を検出する光学式マウスが前記複数の線対を通過するときに移動が検出される移動検出期間に基づいてスポット幅を算出するスポット幅測定プログラムと、
入力装置を用いて情報を収集するデータ入力プログラムと、
前記スポット幅に基づいて前記情報がエンコードされたバーコードを生成するバーコード印刷プログラム
とを更に具備するバーコード処理プログラム。
【請求項12】
請求項11において、
前記バーコードは、前記スポット幅に基づいて算出される間隔で配置される複数の平行線分領域から形成され、
前記複数の平行線分領域は、
バーが記載される領域と、
バーが記載されない領域とから形成される
バーコード処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−40541(P2008−40541A)
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願番号】特願2006−209919(P2006−209919)
【出願日】平成18年8月1日(2006.8.1)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】