(57)【要約】    【構成】  符号読取装置１０は入力装置１６を含み、入力装置には数字キー１６ｆなどが設けられる。数字キーが操作されると、バーコードの読取数が設定されるとともに、バーコードが読み取られる。バーコードを読み取る場合には、対象のバーコードを含む被写体が撮影され、撮影画像が２値化される。２値化された撮影画像からバーコードが検出され、バーコードに対応する領域にラベルが付される。そして、ラベルの数が読取数と一致する場合に、検出されたバーコードが復号され、復号結果が表示装置１４に表示される。    【効果】  数字キーを押すだけで、バーコードの読取数が設定されるとともに、バーコードが読み取られるので、操作性を向上させることができる。【選択図】  図１
2018010555.tif 000002
【特許請求の範囲】
【請求項１】
複数の符号を読み取る符号読取装置であって、
複数の数字キーと、
前記数字キーが操作されたことに応じて前記符号の読取数を設定する読取数設定部と、
前記読取数設定部によって前記読取数が設定されたことに応じて、前記複数の符号の撮影処理を実行する撮影処理実行部と、
前記撮影処理実行部によって撮影処理が実行されることにより取得された撮影画像から前記符号を検出する符号検出部と、
前記符号検出部によって検出された符号の検出数が前記読取数設定部によって設定された読取数と一致するかどうかを判断する読取数判断部と、
前記検出数が前記読取数と一致するとき、前記符号検出部によって検出された符号を復号する復号部を備える、符号読取装置。
【請求項２】
前記復号部によって前記符号を復号した後に、前記読取数設定部によって設定された読取数を消去する消去部をさらに備える、請求項１記載の符号読取装置。
【請求項３】
前記符号の読取指示を入力するための読取指示キーをさらに備え、
前記読取数設定部は、前記読取指示キーが操作されたことに応じて前記符号の読取数を維持し、
前記撮影処理実行部は、前記読取指示キーが操作されたことに応じて、前記複数の符号の撮影処理を実行する、請求項１記載の符号読取装置。
【請求項４】
所定数が予め割り当てられ、数字キーとは異なる設定キーをさらに備え、
前記読取数設定部は、前記設定キーが操作されたことに応じて前記符号の読取数を当該設定キーに割り当てられた所定数に設定し、
前記撮影処理実行部は、前記設定キーが操作されたことに応じて、前記複数の符号の撮影処理を実行する、請求項１または３記載の符号読取装置。
【請求項５】
複数の数字キーを備え、複数の符号を読み取る符号読取装置によって実行される符号読取プログラムであって、
前記符号読取装置のプロセッサに、
前記数字キーが操作されたことに応じて前記符号の読取数を設定する読取数設定ステップと、
前記読取数設定ステップにおいて前記読取数を設定したことに応じて、前記複数の符号の撮影処理を実行する撮影処理実行ステップと、
前記撮影処理実行ステップにおいて撮影処理を実行したことにより取得した撮影画像から前記符号を検出する符号検出ステップと、
前記符号検出ステップにおいて検出した符号の検出数が前記読取数設定ステップにおいて設定した読取数と一致するかどうかを判断する読取数判断ステップと、
前記検出数が前記読取数と一致するとき、前記符号検出ステップにおいて検出した符号を復号する復号ステップを実行させる、符号読取プログラム。
【請求項６】
複数の数字キーを備え、複数の符号を読み取る符号読取装置の符号読取方法であって、
（ａ）前記数字キーが操作されたことに応じて前記符号の読取数を設定するステップと、
（ｂ）前記ステップ（ａ）において前記読取数を設定したことに応じて、前記複数の符号の撮影処理を実行するステップと、
（ｃ）前記ステップ（ｂ）において撮影処理を実行したことにより取得した撮影画像から前記符号を検出するステップと、
（ｄ）前記ステップ（ｃ）において検出した符号の検出数が前記ステップ（ａ）において設定した読取数と一致するかどうかを判断するステップと、
（ｅ）前記検出数が前記読取数と一致するとき、前記ステップ（ｃ）において検出した符号を復号するステップを含む、符号読取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、符号読取装置、符号読取プログラムおよび符号読取方法に関し、特にたとえば、複数の符号を一括して読み取る、符号読取装置、符号読取プログラムおよび符号読取方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示される。この特許文献１に開示されるバーコードシンボル読取装置では、複数のバーコードシンボルを一括で読み取るマルチモードが選択され、バーコードシンボルの読み取り個数が指定される。そして、指定された読み取り個数のバーコードシンボルの読み取り処理が実行される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−７３４５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術では、読み取るバーコードシンボルの数が毎回異なる場合には、その都度、上記のようなバーコードシンボルの読み取り個数を指定する操作が必要であり、操作が非常に面倒である。
【０００５】
それゆえに、この発明の主たる目的は、新規な、符号読取装置、符号読取プログラムおよび符号読取方法を提供することである。
【０００６】
また、この発明の他の目的は、操作性を向上させることができる、符号読取装置、符号読取プログラムおよび符号読取方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、複数の符号を読み取る符号読取装置であって、複数の数字キーと、読取数設定部と、撮影処理実行部と、符号検出部と、読取数判断部と、復号部を備える。読取数設定部は、数字キーが操作されたことに応じて符号の読取数を設定する。たとえば、数字キーが示す数が符号の読取数として設定される。撮影処理実行部は、読取数設定部によって読取数が設定されたことに応じて、複数の符号の撮影処理を実行する。符号検出部は、撮影処理実行部によって撮影処理が実行されることにより取得された撮影画像から符号を検出する。読取数判断部は、符号検出部によって検出された符号の検出数が読取数設定部によって設定された読取数と一致するかどうかを判断する。復号部は、検出数が読取数と一致するとき、符号検出部によって検出された符号を復号する。つまり、符号が読み取られる。
【０００８】
第１の発明によれば、数字キーを操作するだけで、符号の読取数が設定されるとともに、符号が復号されるので、操作性を向上させることができる。
【０００９】
第２の発明は、第１の発明に従属し、消去部をさらに備える。消去部は、復号部によって符号を復号した後に、読取数設定部によって設定された読取数を消去する。
【００１０】
第２の発明によれば、読取数が消去されるので、毎回異なる数の符号を読み取る場合であっても、その読取数に応じた数字キーを操作するだけで、読取数の設定および読取処理が行われる。つまり、操作が簡単である。
【００１１】
第３の発明は、第１の発明に従属し、読取指示キーをさらに備える。読取指示キーは、符号の読取指示を入力するために設けられる。たとえば、読取数設定部は、読取指示キーが操作されたことに応じて符号の読取数を維持する。撮影処理実行部は、読取指示キーが操作されたことに応じて、複数の符号の撮影処理を実行する。つまり、数字キーが操作されると、数字キーに応じた読取数が設定され、符号の読取処理が実行されるが、読取指示キーが操作されると、読取数が変更されずに、符号の読取処理が実行される。
【００１２】
第３実施例によれば、読取数が変化する場合には、数字キーを操作し、読取数が変化しない場合には、読取指示キーを操作することもできるので、操作性を向上させることができる。
【００１３】
第４の発明は、第１または第３の発明に従属し、所定数が予め割り当てられ、数字キーとは異なる設定キーをさらに備え、読取数設定部は、設定キーが操作されたことに応じて符号の読取数を当該設定キーに割り当てられた所定数に設定する。撮影処理実行部は、設定キーが操作されたことに応じて、複数の符号の撮影処理を実行する。
【００１４】
第４の発明によれば、たとえば、設定キーにユーザの使用態様に応じた符号の読取数を設定することができる。また、たとえば、数字キーで一度に押せない読取数の符号を一括して読み取る場合であっても、その読取数を割り当てておくことにより、設定キーを操作するだけでよい。
【００１５】
第５の発明は、複数の数字キーを備え、複数の符号を読み取る符号読取装置によって実行される符号読取プログラムであって、符号読取装置のプロセッサに、数字キーが操作されたことに応じて符号の読取数を設定する読取数設定ステップと、読取数設定ステップにおいて読取数を設定したことに応じて、複数の符号の撮影処理を実行する撮影処理実行ステップと、撮影処理実行ステップにおいて撮影処理を実行したことにより取得した撮影画像から符号を検出する符号検出ステップと、符号検出ステップにおいて検出した符号の検出数が読取数設定ステップにおいて設定した読取数と一致するかどうかを判断する読取数判断ステップと、検出数が読取数と一致するとき、符号検出ステップにおいて検出した符号を復号する復号ステップを実行させる、符号読取プログラムである。
【００１６】
第６の発明は、複数の数字キーを備え、複数の符号を読み取る符号読取装置の符号読取方法であって、（ａ）数字キーが操作されたことに応じて符号の読取数を設定するステップと、（ｂ）ステップ（ａ）において読取数を設定したことに応じて、複数の符号の撮影処理を実行するステップと、（ｃ）ステップ（ｂ）において撮影処理を実行したことにより取得した撮影画像から符号を検出するステップと、（ｄ）ステップ（ｃ）において検出した符号の検出数がステップ（ａ）において設定した読取数と一致するかどうかを判断するステップと、（ｅ）検出数が読取数と一致するとき、ステップ（ｃ）において検出した符号を復号するステップを含む、符号読取方法である。
【００１７】
第５および第６の発明においても、第１の発明と同様に、操作性を向上させることができる。
【発明の効果】
【００１８】
この発明によれば、操作性を向上させることができる。
【００１９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２０】
【図１】図１（Ａ）は符号読取装置の外観の一例を表面から見た図解図であり、図１（Ｂ）は符号読取装置の外観の一例を裏面から見た図解図である。
【図２】図２は図１（Ａ）および（Ｂ）に示す符号読取装置の電気的な構成の一例を示すブロック図である。
【図３】図３はバーコードが付された複数の商品を撮影した撮影画像の一例を示す図解図である。
【図４】図４は図３に示す撮影画像を２値化した２値画像の一例を示す図解図である。
【図５】図５は図４に示す２値画像から検出したバーコードに対応する領域にラベルを付した例を示す図解図である。
【図６】図６（Ａ）は作成時のテーブルの一例を示す図解図であり、図６（Ｂ）はバーコードの復号結果を記載したテーブルの一例を示す図解図である。
【図７】図７は図２に示すＲＡＭのメモリマップの一例を示す図解図である。
【図８】図８は図２に示すＣＰＵの読取モードの処理の一例の一部を示すフロー図である。
【図９】図９は図２に示すＣＰＵの読取モードの処理の一例の他の一部であり、図８に後続するフロー図である。
【図１０】図１０は第２実施例におけるＣＰＵの読取モードの処理の一部を示すフロー図である。
【図１１】図１１は第２実施例におけるＣＰＵの読取モードの処理の他の一部であって、図１０に後続するフロー図である。
【図１２】図１２は表示装置に表示されるメニュー画面の一例を示す図解図である。
【図１３】図１３は第３実施例におけるＣＰＵの読取モードの処理の一部を示すフロー図である。
【発明を実施するための形態】
【００２１】
［第１実施例］
図１（Ａ）はこの発明の第１実施例の符号読取装置１０の外観構成の一例を表面から見た図解図であり、図１（Ｂ）はこの符号読取装置１０の外観構成の一例を裏面から見た図解図である。
【００２２】
読取装置１０は、光学的に読取り可能であって予め定める形式でデータを表す符号を複数個一括して読取り、各符号の符号信号を検出し、検出した符号信号から符号が表す符号情報信号をそれぞれ再生する。たとえば、読取装置１０は、手持ち型のバーコードリーダないしバーコードスキャナである。したがって、たとえば、読取り可能な符号はバーコードであり、符号信号はバーコードの形状を表す画像信号であり、符号情報信号は数値コード信号である。
【００２３】
図１（Ａ）に示すように、符号読取装置（以下、単に「読取装置」という。）１０は、正面から見た形状が縦長の長方形の筐体１２を含み、筐体１２の表面側には、表示装置１４および入力装置１６が設けられる。筐体１２は、ユーザが片手で持つことができる大きさで形成される。なお、筐体１２の形状および大きさは一例であり、限定されるべきでない。
【００２４】
表示装置１４は、汎用のＬＣＤであり、表示面が筐体１２から露出するように配置される。ただし、表示装置１４としては、有機ＥＬを用いたディスプレイを設けることもできる。また、タッチパネルがＬＣＤに一体的に設けられたタッチディスプレイを用いることもできる。
【００２５】
入力装置１６は、ハードウェアキーであり、第１実施例では、スキャンキー１６ａ、ＯＫ（決定）キー１６ｂ、カーソルキー１６ｃ、クリアキー１６ｄ、電源キー１６ｅおよび数字キー（テンキー）１６ｆを含む。
【００２６】
スキャンキー１６ａは、バーコードの読取指示（読取処理の実行指示）を入力するために用いられる。ＯＫキー１６ｂは、各種の設定および各種の処理（バーコードの読取処理を除く）の実行を決定するために用いられる。カーソルキー１６ｃは、表示装置１４に表示されるカーソルを移動させたり、表示装置１４に表示されたアイコンなどのオブジェクトを選択したりするために用いられる。
【００２７】
クリアキー１６ｄは、各種の設定をクリア（リセット）するために用いられる。電源キー１６ｅは、読取装置１０の主電源をオン／オフするために用いられる。数字キー１６ｆは、数字を入力するために用いられ、この第１実施例では、主として、一度に（一括して）読み取るバーコードの数（以下、「読取数」という。）を入力するために用いられる。
【００２８】
図１（Ｂ）に示すように、筐体１２の裏面側であり、表示装置１４の反対側には、撮像装置１８が設けられる。図示および詳細な説明は省略するが、撮像装置１８は、撮像素子、照射装置および画像処理回路を含む。撮像素子は、ＣＣＤまたはＣＭＯＳである。照射装置は、レーザ光を照射する装置であって、撮影時に、撮影範囲を視認可能に指示するための四角枠のレーザ光を被写体に向けて照射する。図示は省略するが、撮像装置１８の撮影面（レンズ）および照射装置の照射面（発光面）は筐体１２から露出されるように配置される。たとえば、撮像装置１８の撮影方向および照射装置の照射方向は、筐体１２の平坦な裏面に対して所定角度（６０°程度）傾いた方向に設定される。
【００２９】
なお、図示は省略するが、筐体１２内にはバッテリが収納され、収納されたバッテリを覆うように筐体１２の裏面に蓋が設けられている。
【００３０】
図２は図１に示した読取装置１０の電気的な構成の一例を示すブロック図である。図２に示すように、読取装置１０は、ＣＰＵ２０を含み、ＣＰＵ２０には、入力装置１６、撮像装置１８、ＲＯＭ２２、ＲＡＭ２４、電源制御回路２６およびドライバ２８が接続される。また、ドライバ２８には、表示装置１４が接続される。
【００３１】
ＣＰＵ２０は、読取装置１０の全体的な制御を司る。ＲＯＭ２２は、読取装置１０の制御プログラム（符号読取プログラムを含む）および必要なデータを記憶する。ただし、ＲＯＭ２２に代えて、ＥＥＰＲＯＭまたはＨＤＤのような不揮発性のメモリが設けられてもよい。ＲＡＭ２４は、ＣＰＵ２０のバッファ領域およびワーク領域として用いられる。電源制御回路２６は、ＣＰＵ２０の指示の下、バッテリからの電源を各回路コンポーネトに供給および停止する。
【００３２】
入力装置１６は、上述した各種キー（１６ａ〜１６ｆ）であり、操作されたキーに対応する操作信号ないし操作データをＣＰＵ２０に入力する。撮像装置１８は、ＣＰＵ２０からの撮影指示に応じて、予め定められる撮影範囲内の被写体（バーコードが付された物品ないし商品を含む）を撮像し、２次元画像についての画像データ（撮影画像データ）を生成する。ただし、２次元画像は、白黒画像（濃淡画像）またはカラー画像である。
【００３３】
なお、撮影範囲は、撮像装置１８の画角で決定され、たとえば、撮像装置１８を被写体に近づければ、撮影範囲は狭くなり、撮像装置１８を被写体から遠ざければ、撮影範囲は広くなる。ただし、ズーム機能によって撮影範囲が変化されてもよい。
【００３４】
撮像装置１８は、撮影画像データをＣＰＵ２０に与える。ＣＰＵ２０は、撮影画像データをＲＡＭ２４に一旦記憶する。また、撮像装置１８では、照射装置が、撮影時に、撮影範囲を指示するためのレーザ光を照射する。
【００３５】
ドライバ２８は、表示制御回路であり、たとえば、ＧＰＵおよびＶＲＡＭを含み、ＣＰＵ２０からの指示に従って表示画像データを生成し、表示装置１４に出力する。したがって、表示装置１４には、表示画像データに対応する表示画像（画面）が表示される。また、ドライバ２８は、ＣＰＵ２０からの指示に従って、ＲＡＭ２４に記憶された撮影画像に対応する画像データを表示装置１４に出力する。したがって、表示装置１４には、撮影画像が表示される。つまり、撮影画像がプレビュー表示される。
【００３６】
また、撮像装置１８では、画像処理回路が、ＲＡＭ２４に記憶された撮影画像データに２値化処理を施し、２値画像の画像データ（２値画像データ）を生成する。たとえば、２値化処理では、撮影画像において、所定の明るさ（輝度）未満の画素が黒色の画素に変換され、所定の明るさ以上の画素が白色の画素に変換される。所定の明るさは、予め実験等によって経験的に決定される。たとえば、黒色のバーコードを検出する（読み取る）場合には、所定の明るさを比較的低い値に設定することができる。ＣＰＵ２０は、生成された２値画像データから処理対象であるバーコードを抽出（検出）し、抽出したバーコードを復号する。
【００３７】
たとえば、２値画像データからバーコードを抽出する場合には、ＣＰＵ２０は、まず、２値画像データに平滑化フィルタをかけ、２値画像をぼやけた状態にする。次に、ＣＰＵ２０は、ぼやけた２値画像データから島状の塊（同じ色が集中している箇所）の位置を抽出する。ＣＰＵ２０は、抽出した島状の塊の位置およびその付近において、平滑化フィルタをかける前の２値画像データから直線が存在するかどうか判断し、直線が存在する場合には、その直線を検出する（エッジ抽出）。そして、ＣＰＵ２０は、検出した直線とこの直線に対して垂直に伸びる島状の塊の範囲を抽出することによって、２値画像データから矩形画像データを抽出する。２値画像データから抽出された矩形画像データは、バーコードに対応する画像データの候補として一時的にリストアップされる。
【００３８】
続いて、ＣＰＵ２０は、抽出した各矩形画像データがバーコードを示す画像データであるかどうかを、たとえば、パリティチェックを行うことにより判断する。パリティチェックでは、ＣＰＵ２０は、矩形画像データに含まれる直線（バー）に基づいて、矩形画像データをコード化し、コード化したコードのパターンがバーコードのパターンに合っているかどうかを判断する。
【００３９】
ＣＰＵ２０は、バーコードを示す画像データであることが判断された矩形画像データから、数値および文字の少なくとも一方で示されるバーコード情報に変換する。つまり、バーコードが復号される。ただし、バーコード情報は、さらに記号を含んでいてもよい。
【００４０】
ＣＰＵ２０は、変換したバーコード情報（復号結果）を出力する。一例として、バーコード情報は、表示装置１４に表示される。ただし、バーコード情報は、読取装置１０のホスト装置（図示せず）に送信されてもよい。図示は省略したが、ＣＰＵ２０は、インターフェイスを介して、ホスト装置にバーコード情報を送信する。したがって、バーコード情報は、ホスト装置における処理に用いられる。たとえば、店舗で販売される商品にバーコードが付されている場合には、バーコード情報は小売金額、商品名および商品種類を表し、ホスト装置は金銭登録機として機能する。ただし、バーコード情報は、無線でホスト装置に送信されてもよい。
【００４１】
このような構成の読取装置１０では、上述したように、撮影画像に含まれる複数のバーコードを一括して読み取ることができる。したがって、撮影画像に含まれるバーコードの数が予め決まっている場合には、その数を読取数として予め設定しておくことにより、撮影画像からバーコードを復号する（読み取る）前に、設定されたバーコードの読取数が検出したバーコードの数（以下、「検出数」という）と一致するかどうかに基づいて、バーコードが正しく撮影されているかどうかを知ることができる。
【００４２】
このようなバーコードの読取数の設定は、ユーザの操作によって、メニュー画面で選択された設定メニューにおいて行われる。したがって、バーコードの読取数が固定されている場合には、読取数を一度設定しておけば良いが、バーコードの読取数が変化する場合には、読取数が変化する度に、読取数の設定を変更する必要があり、操作が非常に面倒である。
【００４３】
そこで、この第１実施例では、テンキーのような数字キー１６ｆが操作された場合には、これに応じて、バーコードの読取数を設定するとともに、バーコードの読取処理を実行するようにしてある。
【００４４】
図３は撮像装置１８で撮影された撮影画像の一例を示す図解図である。図４は撮影画像に２値化処理を施した２値画像の一例を示す図解図である。図５は撮影画像から検出したバーコードにラベルを付した場合の一例を示す図解図である。図６（Ａ）は作成時のテーブルの一例を示す図解図であり、図６（Ｂ）は復号結果が記入されたテーブルの一例を示す図解図である。
【００４５】
たとえば、読取装置１０では、読取モードにおいて、ユーザが所望の数字キー１６ｆ（第１実施例では、「４」キー」）を操作すると、これに応じて、数字キー１６ｆが示す数がバーコードの読取数として設定される。バーコードの読取数が設定されると、この読取数に応じて、図６（Ａ）に示すようなテーブルが生成される。図６（Ａ）に示すテーブルは、作成当初（作成時）のものであり、識別情報（ラベル）に対応して復号結果を入力する欄が設けられている。識別情報は、たとえば、シリアル番号であり、図６（Ａ）に示す例では、１〜４の数字が記入される。ただし、識別情報は、アルファベットでもよいし、テーブルは内部処理で作成および使用されるだけであるため、人間が解読できない記号でもよい。
【００４６】
なお、詳細な説明は省略するが、読取モードは、読取装置１０がバーコードを読み取り可能な状態であることを意味し、たとえば、読取装置１０の主電源がオンされると、自動的に設定される。また、読取装置１０が動作中である場合には、ユーザの操作に従って、読取モードが設定される。
【００４７】
また、二桁以上のバーコードを読み取る場合には、数字キー１６ｆを２回以上操作することにより、読取数を設定することができる。
【００４８】
また、数字キー１６ｆが操作されたことに応じてバーコードの読取処理が開始される。ＣＰＵ２０は、撮像装置１８を制御して、撮影処理を実行する。撮像装置１８は、ＣＰＵ２０からの撮影指示を受けて、レーザ光を発光することにより、撮影範囲を視認可能に表示し、オートフォーカス処理を実行し、焦点距離が合わされると、撮影処理を実行する。したがって、上述したように、撮影画像データがＲＡＭ２４に記憶されるとともに、表示装置１４に撮影画像が表示される。たとえば、図３に示すような撮影画像が取得され、表示装置１４に表示される。
【００４９】
図３に示す撮影画像では、４つの商品（物品）のそれぞれに１つのバーコードが付されている。図３では、一例として、モノクロの撮影画像が示されるが、上述したように、撮影画像はカラーであってもよい。また、第１実施例では、４つのバーコードを含む被写体を撮影するようにしてあるが、これは単なる例示であり、限定されるべきでない。
【００５０】
撮像装置１８は、さらに、ＲＡＭ２４に記憶された撮影画像データに２値化処理を施す。すると、図４に示すような２値画像が生成される。ＣＰＵ２０は、上述したように、２値画像からバーコードを検出し、検出したバーコードの領域Ｒのそれぞれにラベルを付す。このラベルは、テーブルに記入した識別情報に対応する。
【００５１】
図５に示すように、ラベルは、検出したバーコードの領域Ｒ（ここでは、４つの領域Ｒ）のそれぞれに対応して付される。図５では、ラベルの数値を各領域Ｒ内に記載することにより、ラベルが付されていることを表現してある。実際には、２値画像における領域Ｒの位置を座標で特定し、特定した座標に対応してラベルが付加される。たとえば、縦長の２値画像に対して、横方向をＸ軸とし、縦方向をＹ軸とする２次元座標系が設定される。また、たとえば、２値画像の左上の頂点が２次元座標系の原点Ｏに設定される。このような２次元座標系において、各領域Ｒの位置が特定される。ただし、座標のＸ成分およびＹ成分は２値画像（撮影画像）の画素数で表現される。また、領域Ｒの位置は、対角の２つの座標で特定される。
【００５２】
各領域Ｒにラベルが付されると、検出されたバーコードの数（検出数）が設定した読取数と一致するかどうかを判断する。検出数が読取数と一致する場合には、バーコードを正しく撮影できていると判断し、各領域Ｒに対応するバーコードを復号する。復号結果は、領域Ｒに付されたラベルに対応してテーブルに記入される。たとえば、図６（Ｂ）には、復号結果が記入されたテーブルが示される。図６（Ｂ）に示す例では、バーコード情報は数値のみで表現される。
【００５３】
ただし、検出数が読取数と一致しない場合には、バーコードを正しく撮影できていないと判断し、撮影処理が再度実行される。
【００５４】
図７は図２に示したＲＡＭ２４のメモリマップ７０の一例を示す図解図である。図７に示すように、ＲＡＭ２４は、プログラム記憶領域７２およびデータ記憶領域７４を含む。プログラム記憶領域７２には、バーコード（符号）の読取プログラムを含む制御プログラムを記憶し、この制御プログラムは、メイン処理プログラム７２ａ、画像表示プログラム７２ｂ、操作検出プログラム７２ｃ、読取数設定プログラム７２ｄ、撮影処理プログラム７２ｅ、符号検出プログラム７２ｆ、個数判断プログラム７２ｇ、復号プログラム７２ｈおよび消去プログラム７２ｉなどを含む。
【００５５】
メイン処理プログラム７２ａは、読取装置１０のメインルーチンを処理するためのプログラムである。画像表示プログラム７２ｂは、表示装置１４に表示する表示画像に対応する表示画像データを生成および出力するためのプログラムである。また、画像表示プログラム７２ｂは、撮影画像に対応する撮影画像データを表示装置１４に出力するためのプログラムでもある。
【００５６】
操作検出プログラム７２ｃは、入力装置１６（キー１６ａ〜１６ｆ）から入力される操作データを検出し、検出した操作データを操作データバッファ７４ａに記憶するためのプログラムである。読取数設定プログラム７２ｄは、数字キー１６ｆの操作に応じて読み取るバーコードの個数を設定するためのプログラムである。ただし、数字キー１６ｆの“０”のみが操作された場合には、個数は設定されない。
【００５７】
なお、表示装置１４がタッチパネルディスプレイで構成される場合には、操作検出プログラム７２ｃに従って、タッチパネルから入力される座標データが検出され、検出された座標データが操作データバッファ７４ａに記憶される。
【００５８】
撮影処理プログラム７２ｅは、バーコードの読取処理が実行されたときに、撮像装置１８を制御して、被写体を撮像するとともに、撮影画像から２値画像を生成するためのプログラムである。符号検出プログラム７２ｆは、２値画像からバーコードを検出するためのプログラムである。個数判断プログラム７２ｇは、符号検出プログラム７２ｆに従って検出したバーコードの個数（検出数）が読取数設定プログラム７２ｄに従って設定したバーコードの個数（読取数）と一致するかどうかを判断するためのプログラムである。
【００５９】
復号プログラム７２ｈは、個数判断プログラム７２ｇに従って検出数が読取数と一致することを判断した場合に、バーコードを読み取ってバーコード情報に復号するためのプログラムである。消去プログラム７２ｉは、復号プログラム７２ｈに従ってバーコード情報を復号した後に、読取数設定プログラム７２ｄに従って設定された読取数をリセットするためのプログラムである。たとえば、読取数がリセットされると、読取数は“１”に設定される。
【００６０】
図示は省略するが、プログラム記憶領域７２には、読取装置１０の制御に必要な他のプログラムも記憶される。
【００６１】
データ記憶領域７４には、操作データバッファ７４ａが設けられる。また、データ記憶領域７４には、画像生成データ７４ｂ、読取数データ７４ｃ、テーブルデータ７４ｄ、撮影画像データ７４ｅ、２値画像データ７４ｆ、ラベルデータ７４ｇおよび検出数データ７４ｈが記憶される。
【００６２】
操作データバッファ７４ａは、検出された操作データを時系列に従って記憶するためのバッファである。操作データバッファ７４ａに記憶された操作データは、ＣＰＵ２０の処理に使用された後に消去される。ただし、上述したように、タッチパネルから入力された座標データが記憶される場合もある。
【００６３】
画像生成データ７４ｂは、表示装置１４に表示する表示画像に対応する表示画像データを生成するためのポリゴンデータおよびテクスチャデータなどを含むデータである。読取数データ７４ｃは、読み取るバーコードの個数（読取数）についての数値データである。テーブルデータ７４ｄは、図６（Ａ）および（Ｂ）に示したようなテーブルについてのデータである。テーブルの作成時には、図６（Ａ）に示すようなテーブルに対応するテーブルデータ７４ｄがＲＡＭ２４に記憶され、バーコードが復号されると、図６（Ｂ）に示すようなテーブルに対応するテーブルデータ７４ｄがＲＡＭ２４に記憶（上書き）される。
【００６４】
撮影画像データ７４ｅは、撮像装置１８で撮影された撮影画像についての画像データである。２値画像データ７４ｆは、撮影画像に２値化処理を施して生成した２値画像についての画像データである。ラベルデータ７４ｇは、２値画像から検出されたバーコードに対応する領域Ｒの位置（範囲）にラベルを付したデータである。検出数データ７４ｈは、２値画像から検出されたバーコードの個数（検出数）についての数値データである。
【００６５】
図示は省略するが、データ記憶領域７４には、読取装置１０の制御に必要な他のデータが記憶され、読取装置１０の制御に必要なフラグまたはカウンタ（タイマ）が設けられる。
【００６６】
図８および図９は図２に示したＣＰＵ２０のバーコードの読取モードの処理を示すフロー図である。読取モードが設定されると、ＣＰＵ２０は読取モードの処理を開始し、ステップＳ１で、数字キー１６ｆが操作されたかどうかを判断する。ただし、ステップＳ１では、ＣＰＵ２０は、「０」キーのみが押された場合には、バーコードの読取数を設定できないため、“ＮＯ”と判断する。
【００６７】
ステップＳ１で“ＮＯ”であれば、つまり、数字キー１６ｆが操作されていなければ、ステップＳ１に戻る。一方、ステップＳ１で“ＹＥＳ”であれば、つまり、数字キー１６ｆが操作されれば、ステップＳ３で、バーコードの読取数を記憶する。つまり、ＣＰＵ２０は、数字キー１６ｆで入力された数に対応する読取数データ７４ｃをデータ記憶領域７４に記憶する。
【００６８】
続くステップＳ５では、バーコードの読取数に応じたテーブルを作成する。ここでは、図６（Ａ）に示したような作成時のテーブルを作成する。次のステップＳ７では、撮影処理を実行する。ここでは、ＣＰＵ２０は、撮像装置１８に撮影指示を与える。これに応じて、撮像装置１８は、撮影処理を実行し、撮影画像を取得し、さらに、撮影画像から２値画像を生成する。取得された撮影画像に対応する撮影画像データ７４ｄおよび生成された２値画像に対応する２値画像データ７４ｅはＲＡＭ２４に記憶される。
【００６９】
続いて、ステップＳ９では、２値画像からバーコードを検出し、ステップＳ１１で、バーコードにラベル付けを行う。つまり、ＣＰＵ２０は、バーコードを検出すると、検出したバーコードに対応する各領域Ｒにラベルを付す。したがって、ラベルデータ７４ｇがデータ記憶領域７４に記憶される。
【００７０】
そして、ステップＳ１３で、検出数が読取数と一致するかどうかを判断する。ステップＳ１３で“ＮＯ”であれば、つまり、検出数が読取数と一致しなければ、ステップＳ１５で、繰り返し回数ｎを１加算する。なお、説明は省略したが、繰り返し回数ｎは、読取モードの処理が開始されたときに、リセットされる（ｎ＝０）。
【００７１】
続くステップＳ１７で、繰り返し回数ｎが所定回数（たとえば、３回）以上であるかどうかを判断する。ステップＳ１７で“ＮＯ”であれば、つまり、繰り返し回数ｎが所定回数に満たない場合には、ステップＳ７に戻る。一方、ステップＳ１７で“ＹＥＳ”であれば、つまり、繰り返し回数ｎが所定回数以上であれば、ステップＳ１９で、エラーを通知して、ステップＳ１に戻る。したがって、バーコードの読取数の設定および撮影処理が再度実行される。
【００７２】
また、ステップＳ１３で“ＹＥＳ”であれば、つまり、検出数が読取数と一致すれば、図９に示すステップＳ２１で、検出したバーコードを復号する。ここでは、検出されたすべてのバーコードが復号される。次のステップＳ２３では、図６（Ｂ）に示したように、復号結果をテーブルに記載する。
【００７３】
続くステップＳ２５では、復号結果を表示装置１４に表示する。この第１実施例では、復号結果が表示装置１４に表示されるようにしてあるが、これに限定される必要はない。上述したように、復号結果は、ホスト装置に送信（出力）されてもよい。また、復号結果は、不揮発性のメモリ（図示せず）に保存されてもよい。さらに、復号結果の表示、送信および保存のいずれか２つ以上が実行されてもよい。そして、ステップＳ２７で、読取数をクリアして、読取モードの処理を終了する。つまり、ＣＰＵ２０は、読取数データ７４ｃを初期値にリセットする。たとえば、読取数データ７４ｃの初期値は「１」であるが、ユーザが他の数値に設定してもよい。
【００７４】
このように、バーコードの読取数がリセットされるため、次回においても、数字キー１６ｆが操作されたことに応じて、読取数が設定されるとともに、読取処理が実行される。このため、読取数が変化する場合であっても、ユーザは、その変化した読取数に応じた数字キー１６ｆを操作するだけでよい。
【００７５】
なお、ＣＰＵ２０は、読取モードの処理を終了した後において、たとえば、ユーザの操作が所定時間無い場合には、次の読取モードの処理を開始する。
【００７６】
第１実施例によれば、数字キー１６ｆが操作されると、バーコードの読取数が設定されるとともに、バーコードの読取処理が実行されるので、操作が簡単である。また、バーコードの読取数はバーコードを読み取る度にクリアされるので、読取数が毎回異なる場合であっても、数字キー１６ｆを押すだけで、読取数が簡単に変更される。つまり、操作性を向上させることができる。
【００７７】
なお、第１実施例では、読取モードの処理を終了するときに、バーコードの読取数をクリアするようにしたが、読取モードの処理を開始した直後に、バーコードの読取数をクリアするようにしてもよい。
【００７８】
また、第１実施例では、１次元のバーコードを読み取る場合について説明したが、ＱＲコード（登録商標）のような２次元コードを読み取るようにしてもよい。かかる場合には、２値画像から正方形の領域が２次元コードに対応する領域Ｒとして検出される。さらに、１次元のバーコードと２次元コードが混在してもよい。かかる場合には、検出したコードの種類に応じて、異なる復号処理が実行される。
【００７９】
［第２実施例］
第２実施例の読取装置１０は、スキャンキー１６ａが操作された場合には、バーコードの読取数を設定（更新）せずに読取処理を実行するようにした以外は、第１実施例と同じであるため、重複した説明を省略する、または、簡単に説明することにする。
【００８０】
第２実施例では、スキャンキー１６ａが操作された場合には、バーコードの読取数を更新しない。つまり、現在設定されている読取数が維持される。このため、第２実施例では、読取モードの処理においては、開始時または終了時に読取数をクリアしないようにしてある。ただし、最初に読取モードの処理が実行される場合には、読取数は“１”に設定される。また、第２実施例では、第１実施例で示した消去プログラム７２ｉは制御プログラムに含まれない。
【００８１】
つまり、第２実施例では、数字キー１６ｆが操作された場合には、読取数は更新されるが、スキャンキー１６ａが操作された場合には、読取数は更新されない。
【００８２】
具体的には、ＣＰＵ２０は、図１０および図１１に示す読取モードの処理を実行する。以下、図１０および図１１に示す読取モードの処理について説明するが、第１実施例と略同じであるため、重複した説明は省略する。
【００８３】
簡単に説明すると、図１０および図１１に示す読取モードの処理では、図８および図９に示した読取モードの処理において、ステップＳ５１が追加され、ステップＳ２７が削除される。
【００８４】
したがって、ＣＰＵ２０は、ステップＳ１で“ＮＯ”であれば、ステップＳ５１で、スキャンキー１６ａが操作されたかどうかを判断する。ステップＳ５１で“ＮＯ”であれば、つまり、スキャンキー１６ａが操作されていなければ、ステップＳ１に戻る。一方、ステップＳ５１で“ＹＥＳ”であれば、つまり、スキャンキー１６ａが操作されれば、ステップＳ５に進む。したがって、スキャンキー１６ａが操作された場合には、読取数データ７４ｃが記憶（更新）されず、この読取数データ７４ｃに対応するバーコードの読取数に応じたテーブルが作成される。
【００８５】
ステップＳ７〜Ｓ２５の処理は、第１実施例で説明した内容と同じであるため、重複した説明は省略する。
【００８６】
図１１に示すように、ステップＳ２５で、復号結果を表示装置１４に表示すると、読取モードの処理を終了する。上述したとおり、第２実施例の読取モードの処理では、バーコードの読取数はクリアされない。
【００８７】
第２実施例によれば、スキャンキー１６ａを操作した場合には、バーコードの読取数を更新しないので、前回と同じ数のバーコードを読み取る場合には、バーコードの読取数に応じた数字キー１６ｆのみならず、スキャンキー１６ａを操作することができる。したがって、操作性をさらに向上させることができる。
【００８８】
[第３実施例]
第３実施例の読取装置１０は、数字キー１６ｆ以外のキーに割り当てたバーコードの読取数をさらに設定可能にした以外は第２実施例と同じであるため、第２実施例と異なる内容について説明することとし、重複する内容については、説明を省略する、または、簡単に説明することにする。
【００８９】
図１２は表示装置１４に表示されるメニュー画面１００の一例を示す図解図である。この第３実施例では、ソフトウェアキー（アイコン）に対応してバーコードの読取数が予め割り当てられる。ただし、数字キー１６ｆ以外にバーコードの読取数を割り当てるためのハードウェアキーを設けるようにしてもよい。
【００９０】
図１２に示すように、メニュー画面１００には、アイコン１０２、アイコン１０４およびアイコン１０６が設けられる。アイコン１０２は、店頭業務においてバーコードを読み取る場合に選択（オン）するためのキーないしボタンである。アイコン１０４は、倉庫業務においてバーコードを読み取る場合に選択するためのキーないしボタンである。アイコン１０６は、事務業務においてバーコードを読み取る場合に選択するためのキーないしボタンである。また、アイコン１０２〜１０６の各々には、バーコードの読取数が予め割り当てられる。
【００９１】
アイコン１０２〜１０６が選択されると、これに応じて、選択されたアイコン１０２〜１０６に対応するバーコードの読取数が設定され、バーコードの読取処理が実行される。読取処理においては、アイコン１０２〜１０６を選択することにより設定された読取数のバーコードが読み取られる。
【００９２】
つまり、第３実施例の読取装置１０では、数字キー１６ｆが操作された場合には、操作された数字キー１６ｆに応じた読取数のバーコードが読み取られ、アイコン１０２〜１０６が選択された場合には、選択されたアイコン１０２〜１０６に応じた読取数のバーコードが読み取られ、スキャンキー１６ａが操作されると、読取数が更新されずにバーコードが読み取られる。
【００９３】
図１３は第３実施例におけるＣＰＵ２０の読取モードの処理の一部を示すフロー図である。読取モードの処理の他の一部については省略するが、省略した部分は第２実施例と同じである。以下、第３実施例における読取モードの処理ついて説明するが、第１実施例および第２実施例で説明した処理と同じ処理については、説明を省略する、または、簡単に説明することとする。また、図示は省略するが、読取モードの処理が開始される前に、表示装置１４には、図１２に示したようなメニュー画面１００が表示される。
【００９４】
図１３に示すように、ＣＰＵ２０は、ステップＳ１で“ＮＯ”であれば、ステップＳ７１で、メニューが選択されたかどうかを判断する。ここでは、ＣＰＵ２０は、アイコン１０２〜１０６が選択されたかどうかを判断する。
【００９５】
ステップＳ７１で“ＮＯ”であれば、つまり、メニューが選択されていなければ、ステップＳ７３で、スキャンキー１６ａが操作されたかどうかを判断する。ステップＳ７３で“ＮＯ”であれば、ステップＳ１に戻る。一方、ステップＳ７５で“ＹＥＳ”であれば、ステップＳ５に進む。
【００９６】
また、ステップＳ７１で“ＹＥＳ”であれば、つまり、メニューが選択されれば、ステップＳ７５で、選択されたメニューに応じたバーコードの読取数を記憶して、ステップＳ５に進む。つまり、ステップＳ３およびステップＳ５において、読取数データ７４ｃが更新される。
【００９７】
ステップＳ７〜ステップＳ２５については図示を省略するが、図１０および図１１に示した読取モードの処理と同じである。したがって、ステップＳ７〜ステップＳ２５の説明は省略する。
【００９８】
第３実施例によれば、数字キー１６ｆ以外のキーにバーコードの読取数を割り当てるので、第２実施例の効果に加えて、ユーザの使用態様に応じてバーコードの読取数を割り当てたキーを設けることができる。したがって、より操作性が向上される。
【００９９】
また、第３実施例によれば、数字キー１６ｆ以外のキーにバーコードの読取数を設定するので、たとえば、二桁以上の数のバーコードを一括して読み取ることがある場合には、その読取数を数字キー１６ｆ以外のキーに設定しておくことにより、ワンタッチで読取数を設定することもできる。
【０１００】
なお、図１２に示したメニュー画面１００では、業務毎に分類されたアイコン１０２〜１０６を設けて、アイコン１０２〜１０６の各々にバーコードの読取数を設定するようにしたが、これに限定される必要はない。たとえば、メニュー（アイコン）は、読取装置１０を使用する場所、使用する時間帯、使用する目的に応じて任意に設定することができる。また、バーコードの読取数も、読取装置１０を使用する場所、使用する時間帯、使用する目的に応じて任意に設定することができる。
【０１０１】
また、上述の各実施例では、読取装置１０が手持ち型のバーコードリーダないしバーコードスキャナである場合について説明したが、据置型のバーコードリーダないしバーコードスキャナであってもよい。かかる場合には、読取装置１０は、机などの所定の台の上に設置され、所定の台の所定の範囲に載置された複数の物品のそれぞれに付された複数のバーコードを読み取る。
【０１０２】
さらに、上述の各実施例で示した具体的な数値および画面等は単なる例示であり、限定されるべきでなく、実際の製品に応じて適宜変更される。
【０１０３】
さらにまた、上述の各実施例で示した読取モードの処理のフロー図では、同じ結果が得られる場合には、ステップの順番は入れ替え可能である。
【符号の説明】
【０１０４】
１０  …符号読取装置
１４  …表示装置
１６  …入力装置
１８  …撮像装置
２０  …ＣＰＵ
２２  …ＲＯＭ
２４  …ＲＡＭ
２８  …ドライバ
【図１】
2018010555.tif 000003
【図２】
2018010555.tif 000004
【図３】
2018010555.tif 000005
【図４】
2018010555.tif 000006
【図５】
2018010555.tif 000007
【図６】
2018010555.tif 000008
【図７】
2018010555.tif 000009
【図８】
2018010555.tif 000010
【図９】
2018010555.tif 000011
【図１０】
2018010555.tif 000012
【図１１】
2018010555.tif 000013
【図１２】
2018010555.tif 000014
【図１３】
2018010555.tif 000015