光学情報読取装置
【課題】 光学情報の迅速な読み取りが可能な光学情報読取装置を提供する。
【解決手段】 デコードの実行が指示されたときに取得中の画像データが1/4画面分以上あれば(S42:Yes)、画像データの取得を中断し(S44)、取得中の画像データが1/4画面分なければ(S42:No)、所定量(1/4画面分)に達するまで待ってから画像データの取得を中断する(S44)。そして、取得した画像に基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となり、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、情報コードを迅速に読み取ることができる。
【解決手段】 デコードの実行が指示されたときに取得中の画像データが1/4画面分以上あれば(S42:Yes)、画像データの取得を中断し(S44)、取得中の画像データが1/4画面分なければ(S42:No)、所定量(1/4画面分)に達するまで待ってから画像データの取得を中断する(S44)。そして、取得した画像に基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となり、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、情報コードを迅速に読み取ることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、商品等に印刷又は貼り付けられているバーコード等の一次元コード、及び、QRコード(登録商標)等の二次元コードの読み取りを行う光学情報読取装置に関するものである。
【背景技術】
【0002】
紙などの基材にバーコードやQRコードなどの光学情報を印刷したものを物品や書類に取り付け、これを光学的に読み取り、物品の識別などを行う光学情報読取装置が知られている。係る光学情報読取装置は、受光素子で撮像した光学情報の画像データを画像メモリに一旦取り込んで、画像メモリから画像データを読み出してからデコードを行っていた。
【0003】
特許文献1には、トリガースイッチを操作してから読み取りを完了するまでの時間を短縮するために、読み取り待機時にも画像データを画像メモリに取り込んでおき、トリガースイッチが操作されたときに直ちに取得済みの画像データに対してデコードを開始する情報コード読取装置が開示されている。また、特許文献2には、読み取り条件が良いゲインと、悪いゲインとを設定し、読み取り条件が良いゲインで複数回読み取った後、読み取り条件の悪いゲインで読み取りを行う2次元コード読取装置が開示されている。
【特許文献1】特開2000−293616号公報
【特許文献2】特開平10−187870号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1に示される読み取り待機時にも画像データを画像メモリに取り込んでおき読取指示に備える方法は、読取指示に対するレスポンスを早くする点では効果的である。ここで、読取条件によって取得される画像の状態は刻一刻と変化するため、画像の状態に対応させて露光条件を素早く変えることが必要となる。従来は、1画面分の画像が取得され、その画像データに対してデコードを実行し、失敗した場合に、その失敗原因から次回取得する画像の露光条件を設定していた。そのため、特許文献1では、デコードに成功した場合にはレスポンスが早いが、失敗した場合に適正な露光条件で画像を取得し直すことになり、遅れの出ることが避けられなかった。
【0005】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、光学情報の迅速な読み取りが可能な光学情報読取装置を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1の発明は、二次元受光センサ23からの画像信号を少なくとも1画面分、画像データとして記憶する画像メモリ35と、
取得した画像データに対してデコードの実行を指示するデコード指示手段22,50と、前記デコード指示手段の指示に基づきデコードを実行する読取制御手段40とを備え、読取待機中に繰り返し画像データを取得して該デコード指示手段の指示により一次元コード又は二次元コードを読み取る光学情報読取装置であって、
前記読取制御手段は、
前記デコード指示手段によりデコードの実行が指示されたときに取得中の画像データが第1の所定量以上あれば(S42:Yes)画像データの取得を中断し(S44)、
取得中の画像データが第1の所定量に満たなければ(S42:No)所定量に達するまで待ってから画像データの取得を中断する画像取得制御手段(S44)と、
取得中の画像データが、前記第1の所定量よりも大きな第2の所定量よりも更に大きな第3の所定量以上あれば(S43:No)、直ちにデコードを実施し、
取得中の画像データが前記第2の所定量以上であって、前記第3の所定量に満たなければ(S43:Yes)当該第3の所定量に達するまで待ってからデコードを実施するデコード手段を備えていることを技術的特徴とする。
【0007】
また、請求項7の発明は、二次元受光センサ23からの画像信号を1画面分ずつ交互に少なくとも2画面分画像データとして記憶する画像メモリ35と、
取得した画像データに対してデコードの実行を指示するデコード指示手段22、50と、前記デコード指示手段の指示に基づきデコードを実行する読取制御手段40と、を備え、読取待機中に繰り返し画像データを取得して該デコード指示手段の指示により一次元コード又は二次元コードを読み取る光学情報読取装置であって、
前記読取制御手段は、
前記デコード指示手段によりデコードの実行が指示されたときに(S42:Yes)画像データの取得を中断し、
取得中の画像データが第1の所定量より大きい第2の所定量以上あれば当該画像データに基づいて直ちにデコードを実施し、
取得中の画像データが前記第2の所定量に満たなければ前回取得した1画面分の画像データに基づいてデコードを実施するデコード手段を備えていることを技術的特徴とする。
【発明の効果】
【0008】
請求項1では、デコードの実行が指示されたときに取得中の画像データが第1の所定量以上あれば画像データの取得を中断し、取得中の画像データが第1の所定量に満たなければ所定量に達するまで待ってから画像データの取得を中断し、取得した画像に基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となり、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、一次元コード又は二次元コードを迅速に読み取ることができる。更に、現在取得中の画像データを用いること無く前回取得した画像データでデコードを行い、該デコードが失敗した際に失敗原因から新たに画像データを取得するのと比較し、最新の画像条件に対応する適正な露光条件で次の画像データを取り込む開始タイミングが早くなり、デコードに成功した時と、デコードに失敗した後に再度デコードを行う場合とのレスポンスの差が小さくなり、読み取りのフィーリングを向上させることができる。
【0009】
請求項1では、取得中の画像データが第3の所定量以上あれば、直ちにデコードを実施し、取得中の画像データが第2の所定量以上であって、第3の所定量に満たなければ所定量に達するまで待ってからデコードを実施する。このため、前回取得した画像データからデコードを行うのと比較して、最新の条件に適応するように設定された露光条件で取得された画像データからデコードを行うことで、一次元コード又は二次元コードを迅速に読み取ることができる。また、1画像の取得を待ってからデコードを行うのと比較して、一次元コード又は二次元コードを迅速に読み取ることができる。
【0010】
請求項3では、第1の所定量、第2の所定量の画像データが取得された時に、画像信号の末尾に付加されているオプティカルブラック信号が記録されている画像メモリの領域に、第1の所定量、第2の所定量の末尾であることを示す区切情報を上書きする。このため、第1の所定量、第2の所定量の画像データが取得されているか否かを直ちに判断することが可能になる。
【0011】
請求項4では、オプティカルブラック信号が記録されている画像メモリの領域に、第1の所定量、第2の所定量の末尾であることを示す区切情報を上書きする際に、所定量毎に同じ情報を書き込む。このため、書き込み処理が容易である。
【0012】
請求項5では、オプティカルブラック信号が記録されている画像メモリの領域に、第1の所定量、第2の所定量の末尾であることを示す区切情報を上書きする際に、所定量毎に異なる情報を書き込む。このため、区切り情報を読み出す処理が容易である。
【0013】
請求項6では、取得した画像データの量に応じて、次に取得する画像の露光条件を設定するための調査対象とする画像領域を設定する。このため、取得した画像データの量が多いほど大きな画像領域を設定することが可能となり、より適切に露光条件を設定することができる。
【0014】
請求項7では、取得中の画像データが第1の所定量より大きい第2の所定量以上あれば当該画像データに基づいて直ちにデコードを実施し、取得中の画像データが第2の所定量に満たなければ前回取得した1画像分の画像データに基づいてデコードを実施する。取得中の画像データが第2の所定量に達しているときには、現在取得した画像データに基づいてデコードを行う。他方、取得中の画像データが第2の所定量に達していないときには、即ち、画像データの取得を開始してから余り時間が経過しておらず露光条件の変化が小さい場合は、前回取得した1画像分の画像データに基づいてデコードを行う。このため、1画像分の画像データの取得を待つてデコードを行うよりも迅速に読み取りを行うことができる。
【0015】
請求項8では、デコードの実行が指示されたときに画像データの取得を中断し、取得中の画像データが第1の所定量に達していないときには、前回取得した1画像分の画像データに基づいて次に取得する画像の露光条件を設定し、取得中の画像データが第1の所定量に達しているときには、取得した画像データに基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。取得中の画像データが第1の所定量に達しているときには、現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となる。他方、取得中の画像データが第1の所定量に達していないときには、即ち、画像データの取得を開始してから余り時間が経過しておらず露光条件の変化が小さい場合は、前回取得した1画像分の画像データに基づいて次に取得する画像の露光条件を設定する。これにより、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、一次元コード又は二次元コードを迅速に読み取ることができる。更に、現在取得中の画像データの量に関わらず当該画像データを用いること無く前回取得した画像データでデコードを行い、該デコードが失敗した際に失敗原因から新たに画像データを取得するのと比較し、最新の画像条件に対応する適正な露光条件で次の画像データを取り込む開始タイミングが早くなり、デコードに成功した時と、デコードに失敗した後に再度デコードを行う場合とのレスポンスの差が小さくなり、読み取りのフィーリングを向上させることができる。
【発明を実施するための最良の形態】
【0016】
[第1実施形態]
以下、本発明の光学情報読取装置の実施形態について図を参照して説明する。まず、第1実施形態に係る光学情報読取装置の構成概要を図1のブロック図を参照して説明する。
バーコード等の一次元コード及びQRコード(登録商標)等の二次元コードを読み取る光学情報読取装置10には、回路部20が設けられている。回路部20は、主に、発光ダイオード21、集光レンズ24、受光センサ23、結像レンズ27等の光学系と、メモリ35、制御回路40、トリガースイッチ22、液晶表示器46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電源回路49等の電源系と、から構成されている。
【0017】
まず、光学系から説明する。発光ダイオード21は、照明光Lfを照射可能な光照射器として機能するもので、拡散レンズと凸レンズとを組み合わせた集光レンズ24により集光させる。受光センサ23は、読取対象物Rや2次元コードQに照射されて反射した反射光Lrを結像レンズ27を介して受光可能に構成されるもので、例えば、C−MOS等の固体撮像素子である受光素子を縦512、横640個の2次元に配列したイメージセンサが、これに相当する。結像レンズ27は、外部から入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【0018】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、トリガースイッチ22、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像された画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学情報読取装置10の全体システムに関する制御も行っている。メモリ35は、図2中に示すように1画面分の画像を記憶する画像メモリ1、画像メモリ2を備え、交互に画像を記憶している。ここでは、2画面分の画像メモリを示しているが3画面分以上の記憶容量を備えることも可能である。
【0019】
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データは、メモリ35に入力されて蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0020】
制御回路40は、光学情報読取装置10全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、トリガースイッチ22、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。
【0021】
第1実施形態の光学情報読取装置10は、電源スイッチ41がオンされるとメモリ35への画像データの取り込みを開始し、トリガースイッチ22の操作により、メモリ35の画像データからのデコードを開始し、デコード結果をホストコンピュータ50側へ出力する。また、トリガースイッチ22の操作と同様に、ホストコンピュータ50からのデコード指令に応じて、画像データからのデコードを開始し、デコード結果をホストコンピュータ50側へ出力する。
【0022】
第1実施形態の光学情報読取装置10は、電源スイッチ41がオンされるとメモリ35への画像データの取り込みを開始し、トリガースイッチ22の操作により、画像データからのデコードを開始し、デコード結果をホストコンピュータ50側へ出力する。トリガースイッチ22の操作と同様に、ホストコンピュータ50からのデコード指令に応じて、画像データからのデコードを開始し、デコード結果をホストコンピュータ50側へ出力する。
【0023】
図3(A)は、第1実施形態の光学情報読取装置での1画面分の画像データを示している。画像データは、上記受光センサ23の縦512、横640個の受光素子に対応する512行、640列の画素から成り、該縦512、横640の画素は画像領域Iとオプティカルブラック領域Bとから構成される。光学情報読取装置10は、画像データが1/4分(512×1/4=128行分)記憶された際に、画像信号の末尾に付加されているオプティカルブラック信号が記録されているオプティカルブラック領域Bに、1/4分記憶されたことを示すマーカ(区切情報)M1を上書きする。更に、画像データが2/4分(512×2/4=256行分)記憶された際に、オプティカルブラック領域Bに2/4分記憶されたことを示すマーカ(区切情報)M2を上書きし、画像データが3/4分(512×3/4=384行分)記憶された際に、オプティカルブラック領域Bに3/4分記憶されたことを示すマーカ(区切情報)M3を上書きし、画像データが4/4分(1画面512行分)記憶された際に、オプティカルブラック領域Bに4/4分記憶されたことを示すマーカ(区切情報)M4を上書きする。
【0024】
第1実施形態の光学情報読取装置10は、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合、現在取得中の画像データが1/4画面分以上有るか否かを上記マーカ(区切情報)M1により判断し、1/4画面分以上あれば画像データの取得を中断する。他方、取得中の画像データが1/4画面分なければ、1/4画面分に達するまで待ってから画像データの取得を中断する。
【0025】
そして、1/4画面以上有るが2/4画面分には至らない場合には、該1/4画面の中央部に露光条件を設定するための測光エリアE1を設定し、設定した測光エリアE1の画像データに基づき、次に画像データを取得する際の露光条件(受光センサ23のシャッター速度、増幅回路31のゲイン等)を調整して、新たに画像データの取得を開始する。また、2/4画面以上有るが3/4画面分には至らない場合には、該2/4画面の中央部に露光条件を設定するための測光エリアE2を設定し、設定した測光エリアE2の画像データに基づき、次に画像データを取得する際の露光条件を調整して、新たに画像データの取得を開始する。同様に、3/4画面以上有るが4/4画面分には至らない場合には、該3/4画面の中央部に露光条件を設定するための測光エリアE3を設定して、設定した測光エリアE3の画像データに基づき、次に画像データを取得する際の露光条件を調整し、新たに画像データの取得を開始する。また、4/4画面分有る場合には、該4/4画面の中央部に露光条件を設定するための測光エリアE4を設定し、設定した測光エリアE4の画像データに基づき、次に画像データを取得する際の露光条件を調整し、新たに画像データの取得を開始する。
【0026】
図3(B)は、デコードを行う領域の説明図である。第1実施形態の光学情報読取装置10は、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合、現在取得中の画像データが3/4画面分以上有るか否かを上記マーカ(区切情報)M3により判断し、3/4画面分以上ある際で、3/4画面分以上有るが4/4画面分は無い場合には、3/4画面分(1)+(2)+(3)の画像データに対してデコードを開始する。また、4/4画面(1画面)分有る場合には、4/4画面分(1)+(2)+(3)+(4)の画像データに対してデコードを開始する。
【0027】
更に、2/4画面分無い場合には、前回取得した画像を使って直ちにデコードを開始する。他方、2/4画面分は有るが、3/4画面分は無い場合には、3/4画面分に達するまで待ってから、当該3/4画面分(1)+(2)+(3)の画像データに対してデコードを開始する。
【0028】
図4は、第1実施形態の改変例に係るマーカを示している。図3(A)を参照して上述した第1実施形態では、1/4分記憶される毎に異なるマーカを上書きした。これに対して、第1実施形態の改変例では、1/4分記憶される毎に同じマーカMを上書きする。第1実施形態の改変例では、マーカを読み出す処理が複雑になるが、上書き処理が容易である利点がある。
【0029】
図3を参照して上述した第1実施形態の光学情報読取装置10での画像取り込み及びデコード処理について、当該処理を示す図5〜図9のフローチャートを参照して説明する。
まず、図5に示すメインルーチンで取得した画像を記憶させる画像メモリ1、画像メモリ2(図2参照)を選択する処理を行う(S10)。
【0030】
S10での取得画像メモリ選択処理について、当該処理のサブルーチンを示す図6を参照して説明する。
まず、画像メモリ1、2の両方とも空かを判断する(S12)。ここで、両方とも空の場合(S12:Yes)、画像メモリ1を選択する(S14)。両方とも空では無い場合(S12:No)、画像メモリ1が空か判断し(S16)、画像メモリ1が空の場合には(S16:Yes)、画像メモリ1を選択する(S18)。画像メモリ1が空で無い場合(S16:No)、画像メモリ2が空か判断し(S20)、画像メモリ2が空の場合には(S20:Yes)、画像メモリ2を選択する(S22)。この処理により画像メモリ1、2に画像データを交互に記憶させる。
【0031】
図5に戻り、S10での取得画像メモリ選択処理に続き、画像を取得する処理を行う(S30)。この画像取得処理について、当該処理のサブルーチンを示す図7を参照して説明する。
画像取得処理では、画像データの取得を開始し(S32)、画像データの数、ここでは、512行、640列の画素に対応する画像データの行数をカウントして行く(S34)。そして、一定エリアの画像データを取得できたかを判断する(S36)。ここで、図3(B)を参照して上述したように、画像データが1/4分(512×1/4=128行分)記憶された際に(S36:Yes)、画像信号の末尾に付加されているオプティカルブラック信号が記録されているオプティカルブラック領域Bに、1/4分記憶されたことを示すマーカ(区切情報)M1を上書きする(S38)。更に、画像データが2/4分(512×2/4=256行分)記憶された際に(S36:Yes)、マーカM2を上書きし(S38)、画像データが3/4分(512×3/4=384行分)記憶された際に(S36:Yes)、マーカM3を上書きし(S38)、画像データが4/4分(1画面512行分)記憶された際に(S36:Yes)、マーカM4を上書きする(S38)。
【0032】
そして、1画面分の画像データが取得できたかを判断し(S40)、1画面分の画像データが取得できると(S40:Yes)、画像取得を正常に終了する(S46)。他方、1画面分の画像データが取得できる前は(S40:No)、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合は、取得した画像データが1画面の1/4分(512×1/4=128行分)以上記憶されているかを判断する(S42)。ここで、図3(A)を参照して上述したように、オプティカルブラック領域Bに、1/4分記憶されたことを示すマーカM1が記憶され、取得した画像データが1画面の1/4以上記憶されている場合には(S42:Yes)、画像データが1画面の1/2分以上で3/4未満かを判断する(S43)。画像データが1画面の1/2分未満、又は、3/4超の場合(S43:No)、画像データの取得を中断する(S44)。一方、取得した画像データが1画面の1/4に達していない場合(S42:No)、又は、1画面の1/2分以上で3/4未満の場合(S43:Yes)、S34に戻り、画像データの取得を続け、1/4未満の場合には取得した画像データが1画面の1/4分に達した時点で(S42:Yes)、1/2分以上で3/4未満の場合には3/4に達した時点で(S43:No)、画像データの取得を中断する(S44)。
【0033】
図5に戻り、S30での画像取得処理に続き、デコード対象画像を選択する処理を行う(S60)。このデコード対象画像選択処理について、当該処理のサブルーチンを示す図8のフローチャート及び図3(B)の説明図を参照して説明する。
まず、画像メモリのオプティカルブラック領域Bに1/2分の画像データの取得を示すマーカM2が書かれているかを判断する(S62)。マーカM2が書かれている場合には(S62:Yes)、3/4分の画像データの取得を示すマーカM3が書かれているかを判断する(S66)。ここで、画像データの取得が3/4未満の場合には(S62:No、S66:No)、前回の画像メモリの画像をデコード対象に設定する(S65)。
【0034】
他方、上記S66で、画像メモリのオプティカルブラック領域Bに3/4分の画像データの取得を示すマーカM3が書かれている場合には(S66:Yes)、4/4の画像データの取得を示すマーカM4が書かれているかを判断する(S72)。マーカM4が書かれていない場合には(S72:No)、画像データは3/4超、4/4未満であるため画像メモリの3/4分、即ち、図3(B)中で(1)+(2)+(3)とした領域をデコード対象とするように設定する(S74)。一方、マーカM4が書かれている場合には(S72:Yes)、画像メモリの4/4、即ち、図3(B)中で(1)+(2)+(3)+(4)とした領域をデコード対象とするように設定する(S76)。
【0035】
図5に戻り、S60でのデコード対象画像選択処理に続き、次回取得する画像の取得条件を設定する処理を行う(S80)。この次回画像取得条件設定処理について、当該処理のサブルーチンを示す図9のフローチャート及び図3(A)の説明図を参照して説明する。まず、S80での処理で、画像メモリの1/2分が使用されているかを判断する(S82)。1/2分が使用されていない場合には(S82:No)、1/4分の画像メモリが使用されているかを判断する(S84)。画像メモリの1/4分が使用されている場合(S84:Yes)、図3(A)中で1/4画像に対応する該1/4画面の中央部に露光条件を設定するための測光エリアE1を設定する(S86)。
【0036】
他方、上記S82で、1/2分の画像メモリが使用されている場合には(S82:Yes)、3/4の画像メモリが使用されているかを判断する(S86)。3/4の画像メモリが使用されていない場合には(S84:Yes)、画像データは1/2分超、3/4未満であるため画像メモリの1/2分に対応する、図3(A)中で該1/2分画面の中央部に露光条件を設定するための測光エリアE2を設定する(S90)。一方、上記S82で、画像メモリの3/4分の画像メモリが使用されている場合には(S86:Yes)、4/4分の画像メモリが使用されているかを判断する(S92)。4/4分使用されていない場合には(S92:No)、画像データは3/4超、4/4未満であるため画像メモリの3/4分、即ち、図3(A)中で該3/4画面の中央部に露光条件を設定するための測光エリアE3を設定する(S94)。一方、4/4分使用されている場合には(S92:Yes)、画像メモリの4/4分、即ち、図3(A)中で該4/4画面の中央部に露光条件を設定するための測光エリアE4を設定する(S96)。
【0037】
図5に戻り、図7を参照して上述したS42で、画像データが1/4画面分取得できていない場合、S43で、画像データが1/2〜3/4画面分取得できていない場合にはS10に戻り画像の取得を継続する。他方、画像データが1/4分取得できている場合、3/4画面分取得できている場合には、図3(B)を参照して上述したように取得されている画像データの量に応じて、前回の画像データ又は取得した当該画像データを用いてデコードを行う(S104)。そして、デコードが成功したか判断し(S106)、デコードが成功した場合には(S106:Yes)、読み取り結果をホストコンピュータ50側へ出力する(S108)。他方、デコードに失敗した場合には(S106:No)、図3(A)を参照して上述したように、取得されている画像データの量に応じて設定された測光エリアの画像データから、次回の露光条件を設定し、画像の取得を開始し(S10)、1画面の画像が取得できたらデコードを行う(S104)。
【0038】
第1実施形態の光学情報読取装置10では、デコードの実行が指示されたときに取得中の画像データが1/4画面(第1の所定量)分以上あれば画像データの取得を中断し、取得中の画像データが1/4画面分なければ所定量(1/4画面分)に達するまで待ってから画像データの取得を中断し、取得した画像に基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となり、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、一次元コード又は二次元コードを迅速に読み取ることができる。更に、現在取得中の画像データを用いること無く前回取得した画像データでデコードを行い、該デコードが失敗した際に失敗原因から新たに画像データを取得するのと比較し、最新の画像条件に対応する適正な露光条件で次の画像データを取り込む開始タイミングが早くなり、デコードに成功した時と、デコードに失敗した後に再度デコードを行う場合とのレスポンスの差が小さくなり、読み取りのフィーリングを向上させることができる。
【0039】
また、取得中の画像データが3/4画面分(第3の所定量)以上あれば、直ちにデコードを実施し、取得中の画像データが1/2画面分(第2の所定量)以上あるが3/4画面分(第3の所定量)なければ所定量(3/4画面分)に達するまで待ってからデコードを実施する。このため、前回取得した画像データからデコードを行うのと比較して、最新の条件に適応するように設定された露光条件で取得された画像データからデコードを行うことで、一次元コード又は二次元コードを迅速に読み取ることができる。また、1画像の取得を待ってからデコードを行うのと比較して、一次元コード又は二次元コードを迅速に読み取ることができる。
【0040】
第1実施形態では、1/4分、2/4分、3/4分、4/4分の画像データが取得された時に、画像信号の末尾に付加されているオプティカルブラック信号が記録されている画像メモリの領域に、1/4分、2/4分、3/4分、4/4分の末尾であることを示すマーカM1、M2、M3、M4を上書きする。このため、1/4分、、2/4分、3/4分、4/4分の画像データが取得されているか否かを直ちに判断することが可能になる。
【0041】
第1実施形態では、取得した画像データの量に応じて、次に取得する画像の露光条件を設定するための調査対象とする測光領域E1、E2、E3、E4を設定する。このため、取得した画像データの量が多いほど大きな画像領域を設定することが可能となり、より適切に露光条件を設定することができる。
【0042】
[第2実施形態]
以下、本発明の第2実施形態に係る光学情報読取装置について図10〜図12のフローチャートを参照して説明する。この第2実施形態の光学情報読取装置の機械的、回路的構成は、図1を参照して上述した第1実施形態と同様であるため説明を省略する。第1実施形態では、画像データを1/4分、2/4分、3/4分、4/4分単位で処理に用いた。これに対して、第2実施形態では、1画面分の画像データ512行、640列を、行単位にカウントして処理を行う。
【0043】
第2実施形態の光学情報読取装置10での画像取り込み及びデコード処理について、当該処理を示す図10〜図12のフローチャートを参照して説明する。
まず、図10に示すメインルーチンで取得した画像を記憶させる画像メモリ1、画像メモリ2(図2参照)を選択する処理を図6を参照して上述した第1実施形態と同様に行う(S10)。引き続き、画像を取得する処理を行う(S30)。この画像取得処理について、当該処理のサブルーチンを示す図11を参照して説明する。
【0044】
画像取得処理では、画像データの取得を開始し(S32)、画像データの数、ここでは、512行、640列の画素に対応する画像データ数をカウントして行く(S34)。そして、1行分の画像データを取得できたかを判断する(S36)。1行分の画像データが取得できた際に(S36:Yes)、メモリ35内の取得済みライン数に1を加算する(S38)。
【0045】
そして、1画面分の画像データが取得できたかを判断し(S40)、1画面分の画像データが取得できると(S40:Yes)、画像取得を正常に終了する(S46)。他方、1画面分の画像データが取得できる前は(S40:No)、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合は、取得した画像データが一定ライン数(例えば、1画面の1/4分(512×1/4=128行分))以上記憶されているかを判断する(S42)。ここで、取得した画像データが1画面の1/4分に相当する128行分以上取得されている場合には(S42:Yes)、画像データが1画面の1/2分(512×1/2=256行)以上で3/4未満(512×3/4=384行)かを判断する(S43)。画像データが1画面の1/2分未満、又は、3/4超の場合(S43:No)、画像データの取得を中断する(S44)。一方、取得した画像データが1画面の1/4(128行)に達していない場合(S42:No)、又は、1画面の1/2分(256行)以上で3/4(384行)未満の場合(S43:Yes)、S34に戻り、画像データの取得を続け、1/4(128行)未満の場合には取得した画像データが1画面の1/4(128行)分に達した時点で(S42:Yes)、1/2分(256行)以上で3/4分(384行)未満の場合には3/4に達した時点で(S43:No)、画像データの取得を中断する(S44)。
【0046】
図10に戻り、S30での画像取得処理に続き、デコード対象画像を選択する処理を行う(S60)。このデコード対象画像選択処理について、当該処理のサブルーチンを示す図12のフローチャートを参照して説明する。
まず、取得ライン数が画像メモリの1/2分以上かを判断する(S62)。画像メモリの1/2分以上のライン数の画像データが取得されている場合には(S62:Yes)、3/4分以上のライン数の画像データが取得されているかを判断する(S66)。ここで、画像データの取得が3/4未満の場合には(S62:No、S66:No)、前回の画像メモリの画像をデコード対象に設定する(S65)。
【0047】
他方、上記S66で、画像メモリの3/4分以上の画像データが取得されている場合には(S66:Yes)、4/4分のライン数の画像データが取得されているかを判断する(S72)。4/4取得されていない場合には(S72:No)、画像データは3/4超、4/4分未満であるため画像メモリの3/4分、即ち、図3(B)中で(1)+(2)+(3)とした領域をデコード対象とするように設定する(S74)。一方、4/4分取得されている場合には(S72:Yes)、画像メモリの4/4分、即ち、図3(B)中で(1)+(2)+(3)+(4)とした領域をデコード対象とするように設定する(S76)。以降の処理は、図5を参照して上述した第1実施形態と同様であるため、説明を省略する。
【0048】
[第3実施形態]
以下、本発明の第3実施形態に係る光学情報読取装置について図13〜図16のフローチャートを参照して説明する。この第3実施形態の光学情報読取装置の機械的、回路的構成は、図1を参照して上述した第1実施形態と同様であるため説明を省略する。第1実施形態では、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合は、取得した画像データが1画面の1/4分(512×1/4=128行分)以上記憶されているかを判断し、1/4分に達していない場合には、1/4分の画像データを取得するまで画像データの取得を継続した。これに対して、第3実施形態では、画像データが1画面の1/4分に達していない場合にも画像データの取得を中断し、前回取得した画像データを用いて、露光条件の設定及びデコードを行う。
【0049】
第3実施形態の光学情報読取装置10での画像取り込み及びデコード処理について、当該処理を示す図13〜図16のフローチャートを参照して説明する。
まず、図13に示すメインルーチンで取得した画像を記憶させる画像メモリ1、画像メモリ2(図2参照)を選択する処理を図6を参照して上述した第1実施形態と同様に行う(S10)。引き続き、画像を取得する処理を行う(S30)。この画像取得処理について、当該処理のサブルーチンを示す図14を参照して説明する。
画像取得処理では、画像データの取得を開始し(S32)、画像データの数、ここでは、512行、640列の画素に対応する画像データの行数をカウントして行く(S34)。そして、一定エリアの画像データを取得できたかを判断する(S36)。ここで、図3(B)を参照して上述したように、画像データが1/4分(512×1/4=128行分)記憶された際に(S36:Yes)、画像信号の末尾に付加されているオプティカルブラック信号が記録されているオプティカルブラック領域Bに、1/4分記憶されたことを示すマーカ(区切情報)M1を上書きする(S38)。更に、画像データが2/4分(512×2/4=256行分)記憶された際に(S36:Yes)、マーカM2を上書きし(S38)、画像データが3/4分(512×3/4=384行分)記憶された際に(S36:Yes)、マーカM3を上書きし(S38)、画像データが4/4分(1画面512行分)記憶された際に(S36:Yes)、マーカM4を上書きする(S38)。
【0050】
そして、1画面分の画像データが取得できたかを判断し(S40)、1画面分の画像データが取得できると(S40:Yes)、画像取得を正常に終了する(S46)。他方、1画面分の画像データが取得できる前は(S40:No)、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有ったかを判断する(S42)。ここで、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った合には(S42:Yes)、画像データの取得を直ちに中断する(S44)。
【0051】
図13のメインルーチンに戻り、S30での画像取得処理に続き、デコード対象画像を選択する処理を行う(S60)。このデコード対象画像選択処理について、当該処理のサブルーチンを示す図15のフローチャート及び図3(B)の説明図を参照して説明する。
まず、画像メモリのオプティカルブラック領域Bに1/2分の画像データの取得を示すマーカM2が書かれているかを判断する(S62)。マーカM2が書かれていない場合には(S62:No)、1/4分の画像データの取得を示すマーカM1が書かれているかを判断する(S64)。マーカM1が書かれていない場合、即ち、1/4分の画像データが取得できていないときには(S64:No)、前回取得した1画面分の画像データをデコードに用いる(S65)。そして、マーカM1が書かれている場合には(S64:Yes)、画像メモリの1/4分、即ち、図3(B)中で(1)とした領域をデコード対象とするように設定する(S68)。
【0052】
他方、上記S62で、画像メモリのオプティカルブラック領域Bに1/2分の画像データの取得を示すマーカM2が書かれている場合には(S62:Yes)、3/4分の画像データの取得を示すマーカM3が書かれているかを判断する(S66)。マーカM3が書かれていない場合には(S64:Yes)、画像データは1/2分超、3/4未満であるため画像メモリの1/2分、即ち、図3(B)中で(1)+(2)とした領域をデコード対象とするように設定する(S70)。一方、上記S66で、画像メモリのオプティカルブラック領域Bに3/4分の画像データの取得を示すマーカM3が書かれている場合には(S66:Yes)、4/4分の画像データの取得を示すマーカM4が書かれているかを判断する(S72)。マーカM4が書かれていない場合には(S72:No)、画像データは3/4超、4/4分未満であるため画像メモリの3/4分、即ち、図3(B)中で(1)+(2)+(3)とした領域をデコード対象とするように設定する(S74)。一方、マーカM4が書かれている場合には(S72:Yes)、画像メモリの4/4分、即ち、図3(B)中で(1)+(2)+(3)+(4)とした領域をデコード対象とするように設定する(S76)。
【0053】
図13に戻り、S60でのデコード対象画像選択処理に続き、次回取得する画像の取得条件を設定する処理を行う(S80)。この次回画像取得条件設定処理について、当該処理のサブルーチンを示す図16のフローチャート及び図3(A)の説明図を参照して説明する。まず、S80での処理で、画像メモリの1/2分が使用されているかを判断する(S82)。1/2分が使用されていない場合には(S82:No)、1/4分の画像メモリが使用されているかを判断する(S84)。画像メモリの1/4分が使用されていない場合(S84:No)、即ち、1/4画面分の画像データが取得できていないときには(S84:No)、前回取得した1画面分の画像メモリの4/4分に測光エリアE4を用いる(S85)。そして、画像メモリの1/4分が使用されている場合(S84:Yes)、図3(A)中で1/4画面分に対応する該1/4画面の中央部に露光条件を設定するための測光エリアE1を設定する(S88)。以降の処理は、第1実施形態と同様であるため、説明を省略する。
【0054】
第3実施形態の光学情報読取装置10では、デコードの実行が指示されたときに画像データの取得を中断し、取得中の画像データが第1の所定量(例えば1/4分)に達していないときには、前回取得した1画像分の画像データに基づいて次に取得する画像の露光条件を設定し、取得中の画像データが第1の所定量(1/4分)に達しているときには、取得した画像データに基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。取得中の画像データが第1の所定量(1/4分)に達しているときには、現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となる。他方、取得中の画像データが第1の所定量(1/4分)に達していないときには、即ち、画像データの取得を開始してから余り時間が経過しておらず露光条件の変化が小さい場合は、前回取得した1画像分の画像データに基づいて次に取得する画像の露光条件を設定する。これにより、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、一次元コード又は二次元コードを迅速に読み取ることができる。更に、現在取得中の画像データの量に関わらず当該画像データを用いること無く前回取得した画像データでデコードを行い、該デコードが失敗した際に失敗原因から新たに画像データを取得するのと比較し、最新の画像条件に対応する適正な露光条件で次の画像データを取り込む開始タイミングが早くなり、デコードに成功した時と、デコードに失敗した後に再度デコードを行う場合とのレスポンスの差が小さくなり、読み取りのフィーリングを向上させることができる。
【0055】
また、第3実施形態の光学情報読取装置10では、取得中の画像データが第2の所定量(1/4分)以上あれば当該画像データに基づいて直ちにデコードを実施し、取得中の画像データが第2の所定量(1/4分)なければ前回取得した1画像分の画像データに基づいてデコードを実施する。取得中の画像データが第2の所定量(1/4分)に達しているときには、現在取得した画像データに基づいてデコードを行う。他方、取得中の画像データが第2の所定量(1/4分)に達していないときには、即ち、画像データの取得を開始してから余り時間が経過しておらず露光条件の変化が小さい場合は、前回取得した1画像分の画像データに基づいてデコードを行う。このため、1画像分の画像データの取得を待つてデコードを行うよりも迅速に読み取りを行うことができる。
【産業上の利用可能性】
【0056】
第1実施形態及び第3実施形態では、1画面を1/4の区切ったが、1/4単位以外でも、例えば1/2、1/3,1/5等に区切り処理することができる。しかし、1/4単位の場合は、1/2有るか否か判断した後、更に、1/4,3/4に区切ることができるため、処理速度を高めることで迅速な読み取りが実現できる。また、第1実施形態では、1/4画像分の画像データが取得できていない場合に、1/4画像分のデータの取得を待って、次画像データの取得の露光条件の設定、デコードを行った。ここで、露光条件の設定する際の画像データの量と、デコードを行う際の画像データの量とで異なる値を設定することもできる。例えば、1/4画像分あれば直ちにデコードを行い、露光条件の設定は2/4画面分の画像データの取得を待って行うようにも構成できる。同様に、第3実施形態において、露光設定とデコードとの画像データの量を異なるようにできる。例えば、1/4画面分以上の画像データが取得されているとき、当該画像データを用いて露光条件を設定し、1/2画面以上の画像データが取得できているとき、当該画像データを用いてデコードを行うようにも設定可能である。また、第2実施形態では、ライン単位で処理した後、1画面の1/4分単位で測光エリアを設定し、デコードを行ったが、既に取得したライン単位で測光エリアの設定及びデコードを行うこともできる。
【図面の簡単な説明】
【0057】
【図1】光学情報読取装置の回路構成を示すブロック図である。
【図2】画像メモリの説明図である。
【図3】図3(A)は、第1実施形態の光学情報読取装置での1画面分の画像データを示す説明図であり、図3(B)は、デコードを行う領域の説明図である。
【図4】第1実施形態の改変例に係る光学情報読取装置での1画面分の画像データを示す説明図である。
【図5】第1実施形態の光学情報読取装置での画像取り込み及びデコード処理を示すフローチャートである。
【図6】図5中の取得画像メモリ選択処理のサブルーチンを示すフローチャートである。
【図7】図5中の画像取得処理のサブルーチンを示すフローチャートである。
【図8】図5中のデコード画像選択処理のサブルーチンを示すフローチャートである。
【図9】図5中の次回画像取得条件設定処理のサブルーチンを示すフローチャートである。
【図10】第2実施形態の光学情報読取装置での画像取り込み及びデコード処理を示すフローチャートである。
【図11】図10中の画像取得処理のサブルーチンを示すフローチャートである。
【図12】図10中のデコード画像選択処理のサブルーチンを示すフローチャートである。
【図13】第3実施形態の光学情報読取装置での画像取り込み及びデコード処理を示すフローチャートである。
【図14】図13中の画像取得処理のサブルーチンを示すフローチャートである。
【図15】図13中のデコード画像選択処理のサブルーチンを示すフローチャートである。
【図16】図13中の次回画像取得条件設定処理のサブルーチンを示すフローチャートである。
【符号の説明】
【0058】
10 光学情報読取装置
22 トリガースイッチ(デコード指示手段)
23 受光センサ
33 A/D変換回路
35 メモリ(画像メモリ)
40 制御回路(読取制御手段)
50 ホストコンピュータ(デコード指示手段)
【技術分野】
【0001】
本発明は、商品等に印刷又は貼り付けられているバーコード等の一次元コード、及び、QRコード(登録商標)等の二次元コードの読み取りを行う光学情報読取装置に関するものである。
【背景技術】
【0002】
紙などの基材にバーコードやQRコードなどの光学情報を印刷したものを物品や書類に取り付け、これを光学的に読み取り、物品の識別などを行う光学情報読取装置が知られている。係る光学情報読取装置は、受光素子で撮像した光学情報の画像データを画像メモリに一旦取り込んで、画像メモリから画像データを読み出してからデコードを行っていた。
【0003】
特許文献1には、トリガースイッチを操作してから読み取りを完了するまでの時間を短縮するために、読み取り待機時にも画像データを画像メモリに取り込んでおき、トリガースイッチが操作されたときに直ちに取得済みの画像データに対してデコードを開始する情報コード読取装置が開示されている。また、特許文献2には、読み取り条件が良いゲインと、悪いゲインとを設定し、読み取り条件が良いゲインで複数回読み取った後、読み取り条件の悪いゲインで読み取りを行う2次元コード読取装置が開示されている。
【特許文献1】特開2000−293616号公報
【特許文献2】特開平10−187870号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1に示される読み取り待機時にも画像データを画像メモリに取り込んでおき読取指示に備える方法は、読取指示に対するレスポンスを早くする点では効果的である。ここで、読取条件によって取得される画像の状態は刻一刻と変化するため、画像の状態に対応させて露光条件を素早く変えることが必要となる。従来は、1画面分の画像が取得され、その画像データに対してデコードを実行し、失敗した場合に、その失敗原因から次回取得する画像の露光条件を設定していた。そのため、特許文献1では、デコードに成功した場合にはレスポンスが早いが、失敗した場合に適正な露光条件で画像を取得し直すことになり、遅れの出ることが避けられなかった。
【0005】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、光学情報の迅速な読み取りが可能な光学情報読取装置を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1の発明は、二次元受光センサ23からの画像信号を少なくとも1画面分、画像データとして記憶する画像メモリ35と、
取得した画像データに対してデコードの実行を指示するデコード指示手段22,50と、前記デコード指示手段の指示に基づきデコードを実行する読取制御手段40とを備え、読取待機中に繰り返し画像データを取得して該デコード指示手段の指示により一次元コード又は二次元コードを読み取る光学情報読取装置であって、
前記読取制御手段は、
前記デコード指示手段によりデコードの実行が指示されたときに取得中の画像データが第1の所定量以上あれば(S42:Yes)画像データの取得を中断し(S44)、
取得中の画像データが第1の所定量に満たなければ(S42:No)所定量に達するまで待ってから画像データの取得を中断する画像取得制御手段(S44)と、
取得中の画像データが、前記第1の所定量よりも大きな第2の所定量よりも更に大きな第3の所定量以上あれば(S43:No)、直ちにデコードを実施し、
取得中の画像データが前記第2の所定量以上であって、前記第3の所定量に満たなければ(S43:Yes)当該第3の所定量に達するまで待ってからデコードを実施するデコード手段を備えていることを技術的特徴とする。
【0007】
また、請求項7の発明は、二次元受光センサ23からの画像信号を1画面分ずつ交互に少なくとも2画面分画像データとして記憶する画像メモリ35と、
取得した画像データに対してデコードの実行を指示するデコード指示手段22、50と、前記デコード指示手段の指示に基づきデコードを実行する読取制御手段40と、を備え、読取待機中に繰り返し画像データを取得して該デコード指示手段の指示により一次元コード又は二次元コードを読み取る光学情報読取装置であって、
前記読取制御手段は、
前記デコード指示手段によりデコードの実行が指示されたときに(S42:Yes)画像データの取得を中断し、
取得中の画像データが第1の所定量より大きい第2の所定量以上あれば当該画像データに基づいて直ちにデコードを実施し、
取得中の画像データが前記第2の所定量に満たなければ前回取得した1画面分の画像データに基づいてデコードを実施するデコード手段を備えていることを技術的特徴とする。
【発明の効果】
【0008】
請求項1では、デコードの実行が指示されたときに取得中の画像データが第1の所定量以上あれば画像データの取得を中断し、取得中の画像データが第1の所定量に満たなければ所定量に達するまで待ってから画像データの取得を中断し、取得した画像に基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となり、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、一次元コード又は二次元コードを迅速に読み取ることができる。更に、現在取得中の画像データを用いること無く前回取得した画像データでデコードを行い、該デコードが失敗した際に失敗原因から新たに画像データを取得するのと比較し、最新の画像条件に対応する適正な露光条件で次の画像データを取り込む開始タイミングが早くなり、デコードに成功した時と、デコードに失敗した後に再度デコードを行う場合とのレスポンスの差が小さくなり、読み取りのフィーリングを向上させることができる。
【0009】
請求項1では、取得中の画像データが第3の所定量以上あれば、直ちにデコードを実施し、取得中の画像データが第2の所定量以上であって、第3の所定量に満たなければ所定量に達するまで待ってからデコードを実施する。このため、前回取得した画像データからデコードを行うのと比較して、最新の条件に適応するように設定された露光条件で取得された画像データからデコードを行うことで、一次元コード又は二次元コードを迅速に読み取ることができる。また、1画像の取得を待ってからデコードを行うのと比較して、一次元コード又は二次元コードを迅速に読み取ることができる。
【0010】
請求項3では、第1の所定量、第2の所定量の画像データが取得された時に、画像信号の末尾に付加されているオプティカルブラック信号が記録されている画像メモリの領域に、第1の所定量、第2の所定量の末尾であることを示す区切情報を上書きする。このため、第1の所定量、第2の所定量の画像データが取得されているか否かを直ちに判断することが可能になる。
【0011】
請求項4では、オプティカルブラック信号が記録されている画像メモリの領域に、第1の所定量、第2の所定量の末尾であることを示す区切情報を上書きする際に、所定量毎に同じ情報を書き込む。このため、書き込み処理が容易である。
【0012】
請求項5では、オプティカルブラック信号が記録されている画像メモリの領域に、第1の所定量、第2の所定量の末尾であることを示す区切情報を上書きする際に、所定量毎に異なる情報を書き込む。このため、区切り情報を読み出す処理が容易である。
【0013】
請求項6では、取得した画像データの量に応じて、次に取得する画像の露光条件を設定するための調査対象とする画像領域を設定する。このため、取得した画像データの量が多いほど大きな画像領域を設定することが可能となり、より適切に露光条件を設定することができる。
【0014】
請求項7では、取得中の画像データが第1の所定量より大きい第2の所定量以上あれば当該画像データに基づいて直ちにデコードを実施し、取得中の画像データが第2の所定量に満たなければ前回取得した1画像分の画像データに基づいてデコードを実施する。取得中の画像データが第2の所定量に達しているときには、現在取得した画像データに基づいてデコードを行う。他方、取得中の画像データが第2の所定量に達していないときには、即ち、画像データの取得を開始してから余り時間が経過しておらず露光条件の変化が小さい場合は、前回取得した1画像分の画像データに基づいてデコードを行う。このため、1画像分の画像データの取得を待つてデコードを行うよりも迅速に読み取りを行うことができる。
【0015】
請求項8では、デコードの実行が指示されたときに画像データの取得を中断し、取得中の画像データが第1の所定量に達していないときには、前回取得した1画像分の画像データに基づいて次に取得する画像の露光条件を設定し、取得中の画像データが第1の所定量に達しているときには、取得した画像データに基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。取得中の画像データが第1の所定量に達しているときには、現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となる。他方、取得中の画像データが第1の所定量に達していないときには、即ち、画像データの取得を開始してから余り時間が経過しておらず露光条件の変化が小さい場合は、前回取得した1画像分の画像データに基づいて次に取得する画像の露光条件を設定する。これにより、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、一次元コード又は二次元コードを迅速に読み取ることができる。更に、現在取得中の画像データの量に関わらず当該画像データを用いること無く前回取得した画像データでデコードを行い、該デコードが失敗した際に失敗原因から新たに画像データを取得するのと比較し、最新の画像条件に対応する適正な露光条件で次の画像データを取り込む開始タイミングが早くなり、デコードに成功した時と、デコードに失敗した後に再度デコードを行う場合とのレスポンスの差が小さくなり、読み取りのフィーリングを向上させることができる。
【発明を実施するための最良の形態】
【0016】
[第1実施形態]
以下、本発明の光学情報読取装置の実施形態について図を参照して説明する。まず、第1実施形態に係る光学情報読取装置の構成概要を図1のブロック図を参照して説明する。
バーコード等の一次元コード及びQRコード(登録商標)等の二次元コードを読み取る光学情報読取装置10には、回路部20が設けられている。回路部20は、主に、発光ダイオード21、集光レンズ24、受光センサ23、結像レンズ27等の光学系と、メモリ35、制御回路40、トリガースイッチ22、液晶表示器46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電源回路49等の電源系と、から構成されている。
【0017】
まず、光学系から説明する。発光ダイオード21は、照明光Lfを照射可能な光照射器として機能するもので、拡散レンズと凸レンズとを組み合わせた集光レンズ24により集光させる。受光センサ23は、読取対象物Rや2次元コードQに照射されて反射した反射光Lrを結像レンズ27を介して受光可能に構成されるもので、例えば、C−MOS等の固体撮像素子である受光素子を縦512、横640個の2次元に配列したイメージセンサが、これに相当する。結像レンズ27は、外部から入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【0018】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、トリガースイッチ22、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像された画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学情報読取装置10の全体システムに関する制御も行っている。メモリ35は、図2中に示すように1画面分の画像を記憶する画像メモリ1、画像メモリ2を備え、交互に画像を記憶している。ここでは、2画面分の画像メモリを示しているが3画面分以上の記憶容量を備えることも可能である。
【0019】
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データは、メモリ35に入力されて蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0020】
制御回路40は、光学情報読取装置10全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、トリガースイッチ22、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。
【0021】
第1実施形態の光学情報読取装置10は、電源スイッチ41がオンされるとメモリ35への画像データの取り込みを開始し、トリガースイッチ22の操作により、メモリ35の画像データからのデコードを開始し、デコード結果をホストコンピュータ50側へ出力する。また、トリガースイッチ22の操作と同様に、ホストコンピュータ50からのデコード指令に応じて、画像データからのデコードを開始し、デコード結果をホストコンピュータ50側へ出力する。
【0022】
第1実施形態の光学情報読取装置10は、電源スイッチ41がオンされるとメモリ35への画像データの取り込みを開始し、トリガースイッチ22の操作により、画像データからのデコードを開始し、デコード結果をホストコンピュータ50側へ出力する。トリガースイッチ22の操作と同様に、ホストコンピュータ50からのデコード指令に応じて、画像データからのデコードを開始し、デコード結果をホストコンピュータ50側へ出力する。
【0023】
図3(A)は、第1実施形態の光学情報読取装置での1画面分の画像データを示している。画像データは、上記受光センサ23の縦512、横640個の受光素子に対応する512行、640列の画素から成り、該縦512、横640の画素は画像領域Iとオプティカルブラック領域Bとから構成される。光学情報読取装置10は、画像データが1/4分(512×1/4=128行分)記憶された際に、画像信号の末尾に付加されているオプティカルブラック信号が記録されているオプティカルブラック領域Bに、1/4分記憶されたことを示すマーカ(区切情報)M1を上書きする。更に、画像データが2/4分(512×2/4=256行分)記憶された際に、オプティカルブラック領域Bに2/4分記憶されたことを示すマーカ(区切情報)M2を上書きし、画像データが3/4分(512×3/4=384行分)記憶された際に、オプティカルブラック領域Bに3/4分記憶されたことを示すマーカ(区切情報)M3を上書きし、画像データが4/4分(1画面512行分)記憶された際に、オプティカルブラック領域Bに4/4分記憶されたことを示すマーカ(区切情報)M4を上書きする。
【0024】
第1実施形態の光学情報読取装置10は、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合、現在取得中の画像データが1/4画面分以上有るか否かを上記マーカ(区切情報)M1により判断し、1/4画面分以上あれば画像データの取得を中断する。他方、取得中の画像データが1/4画面分なければ、1/4画面分に達するまで待ってから画像データの取得を中断する。
【0025】
そして、1/4画面以上有るが2/4画面分には至らない場合には、該1/4画面の中央部に露光条件を設定するための測光エリアE1を設定し、設定した測光エリアE1の画像データに基づき、次に画像データを取得する際の露光条件(受光センサ23のシャッター速度、増幅回路31のゲイン等)を調整して、新たに画像データの取得を開始する。また、2/4画面以上有るが3/4画面分には至らない場合には、該2/4画面の中央部に露光条件を設定するための測光エリアE2を設定し、設定した測光エリアE2の画像データに基づき、次に画像データを取得する際の露光条件を調整して、新たに画像データの取得を開始する。同様に、3/4画面以上有るが4/4画面分には至らない場合には、該3/4画面の中央部に露光条件を設定するための測光エリアE3を設定して、設定した測光エリアE3の画像データに基づき、次に画像データを取得する際の露光条件を調整し、新たに画像データの取得を開始する。また、4/4画面分有る場合には、該4/4画面の中央部に露光条件を設定するための測光エリアE4を設定し、設定した測光エリアE4の画像データに基づき、次に画像データを取得する際の露光条件を調整し、新たに画像データの取得を開始する。
【0026】
図3(B)は、デコードを行う領域の説明図である。第1実施形態の光学情報読取装置10は、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合、現在取得中の画像データが3/4画面分以上有るか否かを上記マーカ(区切情報)M3により判断し、3/4画面分以上ある際で、3/4画面分以上有るが4/4画面分は無い場合には、3/4画面分(1)+(2)+(3)の画像データに対してデコードを開始する。また、4/4画面(1画面)分有る場合には、4/4画面分(1)+(2)+(3)+(4)の画像データに対してデコードを開始する。
【0027】
更に、2/4画面分無い場合には、前回取得した画像を使って直ちにデコードを開始する。他方、2/4画面分は有るが、3/4画面分は無い場合には、3/4画面分に達するまで待ってから、当該3/4画面分(1)+(2)+(3)の画像データに対してデコードを開始する。
【0028】
図4は、第1実施形態の改変例に係るマーカを示している。図3(A)を参照して上述した第1実施形態では、1/4分記憶される毎に異なるマーカを上書きした。これに対して、第1実施形態の改変例では、1/4分記憶される毎に同じマーカMを上書きする。第1実施形態の改変例では、マーカを読み出す処理が複雑になるが、上書き処理が容易である利点がある。
【0029】
図3を参照して上述した第1実施形態の光学情報読取装置10での画像取り込み及びデコード処理について、当該処理を示す図5〜図9のフローチャートを参照して説明する。
まず、図5に示すメインルーチンで取得した画像を記憶させる画像メモリ1、画像メモリ2(図2参照)を選択する処理を行う(S10)。
【0030】
S10での取得画像メモリ選択処理について、当該処理のサブルーチンを示す図6を参照して説明する。
まず、画像メモリ1、2の両方とも空かを判断する(S12)。ここで、両方とも空の場合(S12:Yes)、画像メモリ1を選択する(S14)。両方とも空では無い場合(S12:No)、画像メモリ1が空か判断し(S16)、画像メモリ1が空の場合には(S16:Yes)、画像メモリ1を選択する(S18)。画像メモリ1が空で無い場合(S16:No)、画像メモリ2が空か判断し(S20)、画像メモリ2が空の場合には(S20:Yes)、画像メモリ2を選択する(S22)。この処理により画像メモリ1、2に画像データを交互に記憶させる。
【0031】
図5に戻り、S10での取得画像メモリ選択処理に続き、画像を取得する処理を行う(S30)。この画像取得処理について、当該処理のサブルーチンを示す図7を参照して説明する。
画像取得処理では、画像データの取得を開始し(S32)、画像データの数、ここでは、512行、640列の画素に対応する画像データの行数をカウントして行く(S34)。そして、一定エリアの画像データを取得できたかを判断する(S36)。ここで、図3(B)を参照して上述したように、画像データが1/4分(512×1/4=128行分)記憶された際に(S36:Yes)、画像信号の末尾に付加されているオプティカルブラック信号が記録されているオプティカルブラック領域Bに、1/4分記憶されたことを示すマーカ(区切情報)M1を上書きする(S38)。更に、画像データが2/4分(512×2/4=256行分)記憶された際に(S36:Yes)、マーカM2を上書きし(S38)、画像データが3/4分(512×3/4=384行分)記憶された際に(S36:Yes)、マーカM3を上書きし(S38)、画像データが4/4分(1画面512行分)記憶された際に(S36:Yes)、マーカM4を上書きする(S38)。
【0032】
そして、1画面分の画像データが取得できたかを判断し(S40)、1画面分の画像データが取得できると(S40:Yes)、画像取得を正常に終了する(S46)。他方、1画面分の画像データが取得できる前は(S40:No)、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合は、取得した画像データが1画面の1/4分(512×1/4=128行分)以上記憶されているかを判断する(S42)。ここで、図3(A)を参照して上述したように、オプティカルブラック領域Bに、1/4分記憶されたことを示すマーカM1が記憶され、取得した画像データが1画面の1/4以上記憶されている場合には(S42:Yes)、画像データが1画面の1/2分以上で3/4未満かを判断する(S43)。画像データが1画面の1/2分未満、又は、3/4超の場合(S43:No)、画像データの取得を中断する(S44)。一方、取得した画像データが1画面の1/4に達していない場合(S42:No)、又は、1画面の1/2分以上で3/4未満の場合(S43:Yes)、S34に戻り、画像データの取得を続け、1/4未満の場合には取得した画像データが1画面の1/4分に達した時点で(S42:Yes)、1/2分以上で3/4未満の場合には3/4に達した時点で(S43:No)、画像データの取得を中断する(S44)。
【0033】
図5に戻り、S30での画像取得処理に続き、デコード対象画像を選択する処理を行う(S60)。このデコード対象画像選択処理について、当該処理のサブルーチンを示す図8のフローチャート及び図3(B)の説明図を参照して説明する。
まず、画像メモリのオプティカルブラック領域Bに1/2分の画像データの取得を示すマーカM2が書かれているかを判断する(S62)。マーカM2が書かれている場合には(S62:Yes)、3/4分の画像データの取得を示すマーカM3が書かれているかを判断する(S66)。ここで、画像データの取得が3/4未満の場合には(S62:No、S66:No)、前回の画像メモリの画像をデコード対象に設定する(S65)。
【0034】
他方、上記S66で、画像メモリのオプティカルブラック領域Bに3/4分の画像データの取得を示すマーカM3が書かれている場合には(S66:Yes)、4/4の画像データの取得を示すマーカM4が書かれているかを判断する(S72)。マーカM4が書かれていない場合には(S72:No)、画像データは3/4超、4/4未満であるため画像メモリの3/4分、即ち、図3(B)中で(1)+(2)+(3)とした領域をデコード対象とするように設定する(S74)。一方、マーカM4が書かれている場合には(S72:Yes)、画像メモリの4/4、即ち、図3(B)中で(1)+(2)+(3)+(4)とした領域をデコード対象とするように設定する(S76)。
【0035】
図5に戻り、S60でのデコード対象画像選択処理に続き、次回取得する画像の取得条件を設定する処理を行う(S80)。この次回画像取得条件設定処理について、当該処理のサブルーチンを示す図9のフローチャート及び図3(A)の説明図を参照して説明する。まず、S80での処理で、画像メモリの1/2分が使用されているかを判断する(S82)。1/2分が使用されていない場合には(S82:No)、1/4分の画像メモリが使用されているかを判断する(S84)。画像メモリの1/4分が使用されている場合(S84:Yes)、図3(A)中で1/4画像に対応する該1/4画面の中央部に露光条件を設定するための測光エリアE1を設定する(S86)。
【0036】
他方、上記S82で、1/2分の画像メモリが使用されている場合には(S82:Yes)、3/4の画像メモリが使用されているかを判断する(S86)。3/4の画像メモリが使用されていない場合には(S84:Yes)、画像データは1/2分超、3/4未満であるため画像メモリの1/2分に対応する、図3(A)中で該1/2分画面の中央部に露光条件を設定するための測光エリアE2を設定する(S90)。一方、上記S82で、画像メモリの3/4分の画像メモリが使用されている場合には(S86:Yes)、4/4分の画像メモリが使用されているかを判断する(S92)。4/4分使用されていない場合には(S92:No)、画像データは3/4超、4/4未満であるため画像メモリの3/4分、即ち、図3(A)中で該3/4画面の中央部に露光条件を設定するための測光エリアE3を設定する(S94)。一方、4/4分使用されている場合には(S92:Yes)、画像メモリの4/4分、即ち、図3(A)中で該4/4画面の中央部に露光条件を設定するための測光エリアE4を設定する(S96)。
【0037】
図5に戻り、図7を参照して上述したS42で、画像データが1/4画面分取得できていない場合、S43で、画像データが1/2〜3/4画面分取得できていない場合にはS10に戻り画像の取得を継続する。他方、画像データが1/4分取得できている場合、3/4画面分取得できている場合には、図3(B)を参照して上述したように取得されている画像データの量に応じて、前回の画像データ又は取得した当該画像データを用いてデコードを行う(S104)。そして、デコードが成功したか判断し(S106)、デコードが成功した場合には(S106:Yes)、読み取り結果をホストコンピュータ50側へ出力する(S108)。他方、デコードに失敗した場合には(S106:No)、図3(A)を参照して上述したように、取得されている画像データの量に応じて設定された測光エリアの画像データから、次回の露光条件を設定し、画像の取得を開始し(S10)、1画面の画像が取得できたらデコードを行う(S104)。
【0038】
第1実施形態の光学情報読取装置10では、デコードの実行が指示されたときに取得中の画像データが1/4画面(第1の所定量)分以上あれば画像データの取得を中断し、取得中の画像データが1/4画面分なければ所定量(1/4画面分)に達するまで待ってから画像データの取得を中断し、取得した画像に基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となり、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、一次元コード又は二次元コードを迅速に読み取ることができる。更に、現在取得中の画像データを用いること無く前回取得した画像データでデコードを行い、該デコードが失敗した際に失敗原因から新たに画像データを取得するのと比較し、最新の画像条件に対応する適正な露光条件で次の画像データを取り込む開始タイミングが早くなり、デコードに成功した時と、デコードに失敗した後に再度デコードを行う場合とのレスポンスの差が小さくなり、読み取りのフィーリングを向上させることができる。
【0039】
また、取得中の画像データが3/4画面分(第3の所定量)以上あれば、直ちにデコードを実施し、取得中の画像データが1/2画面分(第2の所定量)以上あるが3/4画面分(第3の所定量)なければ所定量(3/4画面分)に達するまで待ってからデコードを実施する。このため、前回取得した画像データからデコードを行うのと比較して、最新の条件に適応するように設定された露光条件で取得された画像データからデコードを行うことで、一次元コード又は二次元コードを迅速に読み取ることができる。また、1画像の取得を待ってからデコードを行うのと比較して、一次元コード又は二次元コードを迅速に読み取ることができる。
【0040】
第1実施形態では、1/4分、2/4分、3/4分、4/4分の画像データが取得された時に、画像信号の末尾に付加されているオプティカルブラック信号が記録されている画像メモリの領域に、1/4分、2/4分、3/4分、4/4分の末尾であることを示すマーカM1、M2、M3、M4を上書きする。このため、1/4分、、2/4分、3/4分、4/4分の画像データが取得されているか否かを直ちに判断することが可能になる。
【0041】
第1実施形態では、取得した画像データの量に応じて、次に取得する画像の露光条件を設定するための調査対象とする測光領域E1、E2、E3、E4を設定する。このため、取得した画像データの量が多いほど大きな画像領域を設定することが可能となり、より適切に露光条件を設定することができる。
【0042】
[第2実施形態]
以下、本発明の第2実施形態に係る光学情報読取装置について図10〜図12のフローチャートを参照して説明する。この第2実施形態の光学情報読取装置の機械的、回路的構成は、図1を参照して上述した第1実施形態と同様であるため説明を省略する。第1実施形態では、画像データを1/4分、2/4分、3/4分、4/4分単位で処理に用いた。これに対して、第2実施形態では、1画面分の画像データ512行、640列を、行単位にカウントして処理を行う。
【0043】
第2実施形態の光学情報読取装置10での画像取り込み及びデコード処理について、当該処理を示す図10〜図12のフローチャートを参照して説明する。
まず、図10に示すメインルーチンで取得した画像を記憶させる画像メモリ1、画像メモリ2(図2参照)を選択する処理を図6を参照して上述した第1実施形態と同様に行う(S10)。引き続き、画像を取得する処理を行う(S30)。この画像取得処理について、当該処理のサブルーチンを示す図11を参照して説明する。
【0044】
画像取得処理では、画像データの取得を開始し(S32)、画像データの数、ここでは、512行、640列の画素に対応する画像データ数をカウントして行く(S34)。そして、1行分の画像データを取得できたかを判断する(S36)。1行分の画像データが取得できた際に(S36:Yes)、メモリ35内の取得済みライン数に1を加算する(S38)。
【0045】
そして、1画面分の画像データが取得できたかを判断し(S40)、1画面分の画像データが取得できると(S40:Yes)、画像取得を正常に終了する(S46)。他方、1画面分の画像データが取得できる前は(S40:No)、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合は、取得した画像データが一定ライン数(例えば、1画面の1/4分(512×1/4=128行分))以上記憶されているかを判断する(S42)。ここで、取得した画像データが1画面の1/4分に相当する128行分以上取得されている場合には(S42:Yes)、画像データが1画面の1/2分(512×1/2=256行)以上で3/4未満(512×3/4=384行)かを判断する(S43)。画像データが1画面の1/2分未満、又は、3/4超の場合(S43:No)、画像データの取得を中断する(S44)。一方、取得した画像データが1画面の1/4(128行)に達していない場合(S42:No)、又は、1画面の1/2分(256行)以上で3/4(384行)未満の場合(S43:Yes)、S34に戻り、画像データの取得を続け、1/4(128行)未満の場合には取得した画像データが1画面の1/4(128行)分に達した時点で(S42:Yes)、1/2分(256行)以上で3/4分(384行)未満の場合には3/4に達した時点で(S43:No)、画像データの取得を中断する(S44)。
【0046】
図10に戻り、S30での画像取得処理に続き、デコード対象画像を選択する処理を行う(S60)。このデコード対象画像選択処理について、当該処理のサブルーチンを示す図12のフローチャートを参照して説明する。
まず、取得ライン数が画像メモリの1/2分以上かを判断する(S62)。画像メモリの1/2分以上のライン数の画像データが取得されている場合には(S62:Yes)、3/4分以上のライン数の画像データが取得されているかを判断する(S66)。ここで、画像データの取得が3/4未満の場合には(S62:No、S66:No)、前回の画像メモリの画像をデコード対象に設定する(S65)。
【0047】
他方、上記S66で、画像メモリの3/4分以上の画像データが取得されている場合には(S66:Yes)、4/4分のライン数の画像データが取得されているかを判断する(S72)。4/4取得されていない場合には(S72:No)、画像データは3/4超、4/4分未満であるため画像メモリの3/4分、即ち、図3(B)中で(1)+(2)+(3)とした領域をデコード対象とするように設定する(S74)。一方、4/4分取得されている場合には(S72:Yes)、画像メモリの4/4分、即ち、図3(B)中で(1)+(2)+(3)+(4)とした領域をデコード対象とするように設定する(S76)。以降の処理は、図5を参照して上述した第1実施形態と同様であるため、説明を省略する。
【0048】
[第3実施形態]
以下、本発明の第3実施形態に係る光学情報読取装置について図13〜図16のフローチャートを参照して説明する。この第3実施形態の光学情報読取装置の機械的、回路的構成は、図1を参照して上述した第1実施形態と同様であるため説明を省略する。第1実施形態では、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った場合は、取得した画像データが1画面の1/4分(512×1/4=128行分)以上記憶されているかを判断し、1/4分に達していない場合には、1/4分の画像データを取得するまで画像データの取得を継続した。これに対して、第3実施形態では、画像データが1画面の1/4分に達していない場合にも画像データの取得を中断し、前回取得した画像データを用いて、露光条件の設定及びデコードを行う。
【0049】
第3実施形態の光学情報読取装置10での画像取り込み及びデコード処理について、当該処理を示す図13〜図16のフローチャートを参照して説明する。
まず、図13に示すメインルーチンで取得した画像を記憶させる画像メモリ1、画像メモリ2(図2参照)を選択する処理を図6を参照して上述した第1実施形態と同様に行う(S10)。引き続き、画像を取得する処理を行う(S30)。この画像取得処理について、当該処理のサブルーチンを示す図14を参照して説明する。
画像取得処理では、画像データの取得を開始し(S32)、画像データの数、ここでは、512行、640列の画素に対応する画像データの行数をカウントして行く(S34)。そして、一定エリアの画像データを取得できたかを判断する(S36)。ここで、図3(B)を参照して上述したように、画像データが1/4分(512×1/4=128行分)記憶された際に(S36:Yes)、画像信号の末尾に付加されているオプティカルブラック信号が記録されているオプティカルブラック領域Bに、1/4分記憶されたことを示すマーカ(区切情報)M1を上書きする(S38)。更に、画像データが2/4分(512×2/4=256行分)記憶された際に(S36:Yes)、マーカM2を上書きし(S38)、画像データが3/4分(512×3/4=384行分)記憶された際に(S36:Yes)、マーカM3を上書きし(S38)、画像データが4/4分(1画面512行分)記憶された際に(S36:Yes)、マーカM4を上書きする(S38)。
【0050】
そして、1画面分の画像データが取得できたかを判断し(S40)、1画面分の画像データが取得できると(S40:Yes)、画像取得を正常に終了する(S46)。他方、1画面分の画像データが取得できる前は(S40:No)、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有ったかを判断する(S42)。ここで、トリガースイッチ22の操作、又は、ホストコンピュータ50からのデコード指令が有った合には(S42:Yes)、画像データの取得を直ちに中断する(S44)。
【0051】
図13のメインルーチンに戻り、S30での画像取得処理に続き、デコード対象画像を選択する処理を行う(S60)。このデコード対象画像選択処理について、当該処理のサブルーチンを示す図15のフローチャート及び図3(B)の説明図を参照して説明する。
まず、画像メモリのオプティカルブラック領域Bに1/2分の画像データの取得を示すマーカM2が書かれているかを判断する(S62)。マーカM2が書かれていない場合には(S62:No)、1/4分の画像データの取得を示すマーカM1が書かれているかを判断する(S64)。マーカM1が書かれていない場合、即ち、1/4分の画像データが取得できていないときには(S64:No)、前回取得した1画面分の画像データをデコードに用いる(S65)。そして、マーカM1が書かれている場合には(S64:Yes)、画像メモリの1/4分、即ち、図3(B)中で(1)とした領域をデコード対象とするように設定する(S68)。
【0052】
他方、上記S62で、画像メモリのオプティカルブラック領域Bに1/2分の画像データの取得を示すマーカM2が書かれている場合には(S62:Yes)、3/4分の画像データの取得を示すマーカM3が書かれているかを判断する(S66)。マーカM3が書かれていない場合には(S64:Yes)、画像データは1/2分超、3/4未満であるため画像メモリの1/2分、即ち、図3(B)中で(1)+(2)とした領域をデコード対象とするように設定する(S70)。一方、上記S66で、画像メモリのオプティカルブラック領域Bに3/4分の画像データの取得を示すマーカM3が書かれている場合には(S66:Yes)、4/4分の画像データの取得を示すマーカM4が書かれているかを判断する(S72)。マーカM4が書かれていない場合には(S72:No)、画像データは3/4超、4/4分未満であるため画像メモリの3/4分、即ち、図3(B)中で(1)+(2)+(3)とした領域をデコード対象とするように設定する(S74)。一方、マーカM4が書かれている場合には(S72:Yes)、画像メモリの4/4分、即ち、図3(B)中で(1)+(2)+(3)+(4)とした領域をデコード対象とするように設定する(S76)。
【0053】
図13に戻り、S60でのデコード対象画像選択処理に続き、次回取得する画像の取得条件を設定する処理を行う(S80)。この次回画像取得条件設定処理について、当該処理のサブルーチンを示す図16のフローチャート及び図3(A)の説明図を参照して説明する。まず、S80での処理で、画像メモリの1/2分が使用されているかを判断する(S82)。1/2分が使用されていない場合には(S82:No)、1/4分の画像メモリが使用されているかを判断する(S84)。画像メモリの1/4分が使用されていない場合(S84:No)、即ち、1/4画面分の画像データが取得できていないときには(S84:No)、前回取得した1画面分の画像メモリの4/4分に測光エリアE4を用いる(S85)。そして、画像メモリの1/4分が使用されている場合(S84:Yes)、図3(A)中で1/4画面分に対応する該1/4画面の中央部に露光条件を設定するための測光エリアE1を設定する(S88)。以降の処理は、第1実施形態と同様であるため、説明を省略する。
【0054】
第3実施形態の光学情報読取装置10では、デコードの実行が指示されたときに画像データの取得を中断し、取得中の画像データが第1の所定量(例えば1/4分)に達していないときには、前回取得した1画像分の画像データに基づいて次に取得する画像の露光条件を設定し、取得中の画像データが第1の所定量(1/4分)に達しているときには、取得した画像データに基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する。取得中の画像データが第1の所定量(1/4分)に達しているときには、現在取得中の画像データに基づいて露光条件を設定するため、最新の条件に適応するように露光条件を設定することが可能となる。他方、取得中の画像データが第1の所定量(1/4分)に達していないときには、即ち、画像データの取得を開始してから余り時間が経過しておらず露光条件の変化が小さい場合は、前回取得した1画像分の画像データに基づいて次に取得する画像の露光条件を設定する。これにより、明るさが変化する環境下でも適切な露光条件を設定し画像データを取得することで、一次元コード又は二次元コードを迅速に読み取ることができる。更に、現在取得中の画像データの量に関わらず当該画像データを用いること無く前回取得した画像データでデコードを行い、該デコードが失敗した際に失敗原因から新たに画像データを取得するのと比較し、最新の画像条件に対応する適正な露光条件で次の画像データを取り込む開始タイミングが早くなり、デコードに成功した時と、デコードに失敗した後に再度デコードを行う場合とのレスポンスの差が小さくなり、読み取りのフィーリングを向上させることができる。
【0055】
また、第3実施形態の光学情報読取装置10では、取得中の画像データが第2の所定量(1/4分)以上あれば当該画像データに基づいて直ちにデコードを実施し、取得中の画像データが第2の所定量(1/4分)なければ前回取得した1画像分の画像データに基づいてデコードを実施する。取得中の画像データが第2の所定量(1/4分)に達しているときには、現在取得した画像データに基づいてデコードを行う。他方、取得中の画像データが第2の所定量(1/4分)に達していないときには、即ち、画像データの取得を開始してから余り時間が経過しておらず露光条件の変化が小さい場合は、前回取得した1画像分の画像データに基づいてデコードを行う。このため、1画像分の画像データの取得を待つてデコードを行うよりも迅速に読み取りを行うことができる。
【産業上の利用可能性】
【0056】
第1実施形態及び第3実施形態では、1画面を1/4の区切ったが、1/4単位以外でも、例えば1/2、1/3,1/5等に区切り処理することができる。しかし、1/4単位の場合は、1/2有るか否か判断した後、更に、1/4,3/4に区切ることができるため、処理速度を高めることで迅速な読み取りが実現できる。また、第1実施形態では、1/4画像分の画像データが取得できていない場合に、1/4画像分のデータの取得を待って、次画像データの取得の露光条件の設定、デコードを行った。ここで、露光条件の設定する際の画像データの量と、デコードを行う際の画像データの量とで異なる値を設定することもできる。例えば、1/4画像分あれば直ちにデコードを行い、露光条件の設定は2/4画面分の画像データの取得を待って行うようにも構成できる。同様に、第3実施形態において、露光設定とデコードとの画像データの量を異なるようにできる。例えば、1/4画面分以上の画像データが取得されているとき、当該画像データを用いて露光条件を設定し、1/2画面以上の画像データが取得できているとき、当該画像データを用いてデコードを行うようにも設定可能である。また、第2実施形態では、ライン単位で処理した後、1画面の1/4分単位で測光エリアを設定し、デコードを行ったが、既に取得したライン単位で測光エリアの設定及びデコードを行うこともできる。
【図面の簡単な説明】
【0057】
【図1】光学情報読取装置の回路構成を示すブロック図である。
【図2】画像メモリの説明図である。
【図3】図3(A)は、第1実施形態の光学情報読取装置での1画面分の画像データを示す説明図であり、図3(B)は、デコードを行う領域の説明図である。
【図4】第1実施形態の改変例に係る光学情報読取装置での1画面分の画像データを示す説明図である。
【図5】第1実施形態の光学情報読取装置での画像取り込み及びデコード処理を示すフローチャートである。
【図6】図5中の取得画像メモリ選択処理のサブルーチンを示すフローチャートである。
【図7】図5中の画像取得処理のサブルーチンを示すフローチャートである。
【図8】図5中のデコード画像選択処理のサブルーチンを示すフローチャートである。
【図9】図5中の次回画像取得条件設定処理のサブルーチンを示すフローチャートである。
【図10】第2実施形態の光学情報読取装置での画像取り込み及びデコード処理を示すフローチャートである。
【図11】図10中の画像取得処理のサブルーチンを示すフローチャートである。
【図12】図10中のデコード画像選択処理のサブルーチンを示すフローチャートである。
【図13】第3実施形態の光学情報読取装置での画像取り込み及びデコード処理を示すフローチャートである。
【図14】図13中の画像取得処理のサブルーチンを示すフローチャートである。
【図15】図13中のデコード画像選択処理のサブルーチンを示すフローチャートである。
【図16】図13中の次回画像取得条件設定処理のサブルーチンを示すフローチャートである。
【符号の説明】
【0058】
10 光学情報読取装置
22 トリガースイッチ(デコード指示手段)
23 受光センサ
33 A/D変換回路
35 メモリ(画像メモリ)
40 制御回路(読取制御手段)
50 ホストコンピュータ(デコード指示手段)
【特許請求の範囲】
【請求項1】
二次元受光センサからの画像信号を少なくとも1画面分、画像データとして記憶する画像メモリと、
取得した画像データに対してデコードの実行を指示するデコード指示手段と、
前記デコード指示手段の指示に基づきデコードを実行する読取制御手段とを備え、読取待機中に繰り返し画像データを取得して該デコード指示手段の指示により一次元コード又は二次元コードを読み取る光学情報読取装置であって、
前記読取制御手段は、
前記デコード指示手段によりデコードの実行が指示されたときに取得中の画像データが第1の所定量以上あれば画像データの取得を中断し、
取得中の画像データが第1の所定量に満たなければ所定量に達するまで待ってから画像データの取得を中断する画像取得制御手段と、
取得中の画像データが、前記第1の所定量よりも大きな第2の所定量よりも更に大きな第3の所定量以上あれば、直ちにデコードを実施し、
取得中の画像データが前記第2の所定量以上であって、前記第3の所定量に満たなければ当該第3の所定量に達するまで待ってからデコードを実施するデコード手段を備えていることを特徴とする光学情報読取装置。
【請求項2】
取得した画像に基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する画像取得制御手段を備えることを特徴とする請求項1の光学情報読取装置。
【請求項3】
前記読取制御手段が、
前記第1の所定量、前記第2の所定量の画像データが取得された時に、画像信号の末尾に付加されているオプティカルブラック信号が記録されている前記画像メモリの領域に、前記第1の所定量、前記第2の所定量の末尾であることを示す区切情報を上書きすることを特徴とする請求項1の光学情報読取装置。
【請求項4】
前記区切情報は、所定量毎に同じ情報を書き込むことを特徴とする請求項3の光学情報読取装置。
【請求項5】
前記区切情報は、所定量毎に異なる情報を書き込むことを特徴とする請求項3の光学情報読取装置。
【請求項6】
前記画像取得制御手段が、取得した画像データの量に応じて、前記次に取得する画像の露光条件を設定するための調査対象とする画像領域を設定することを特徴とする請求項1〜請求項5のいずれか1の光学情報読取装置。
【請求項7】
二次元受光センサからの画像信号を1画面分ずつ交互に少なくとも2画面分画像データとして記憶する画像メモリと、
取得した画像データに対してデコードの実行を指示するデコード指示手段と、
前記デコード指示手段の指示に基づきデコードを実行する読取制御手段と、を備え、読取待機中に繰り返し画像データを取得して該デコード指示手段の指示により一次元コード又は二次元コードを読み取る光学情報読取装置であって、
前記読取制御手段は、
前記デコード指示手段によりデコードの実行が指示されたときに画像データの取得を中断し、
取得中の画像データが第1の所定量より大きい第2の所定量以上あれば当該画像データに基づいて直ちにデコードを実施し、
取得中の画像データが前記第2の所定量に満たなければ前回取得した1画面分の画像データに基づいてデコードを実施するデコード手段を備えていることを特徴とする光学情報読取装置。
【請求項8】
前記読取制御手段は、
取得中の画像データが前記第1の所定量に達していないときには、前回取得した1画面分の画像データに基づいて次に取得する画像の露光条件を設定し、
取得中の画像データが前記第1の所定量に達しているときには、取得した画像データに基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する画像取得制御手段を備えることを特徴とする請求項7の光学情報読取装置。
【請求項1】
二次元受光センサからの画像信号を少なくとも1画面分、画像データとして記憶する画像メモリと、
取得した画像データに対してデコードの実行を指示するデコード指示手段と、
前記デコード指示手段の指示に基づきデコードを実行する読取制御手段とを備え、読取待機中に繰り返し画像データを取得して該デコード指示手段の指示により一次元コード又は二次元コードを読み取る光学情報読取装置であって、
前記読取制御手段は、
前記デコード指示手段によりデコードの実行が指示されたときに取得中の画像データが第1の所定量以上あれば画像データの取得を中断し、
取得中の画像データが第1の所定量に満たなければ所定量に達するまで待ってから画像データの取得を中断する画像取得制御手段と、
取得中の画像データが、前記第1の所定量よりも大きな第2の所定量よりも更に大きな第3の所定量以上あれば、直ちにデコードを実施し、
取得中の画像データが前記第2の所定量以上であって、前記第3の所定量に満たなければ当該第3の所定量に達するまで待ってからデコードを実施するデコード手段を備えていることを特徴とする光学情報読取装置。
【請求項2】
取得した画像に基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する画像取得制御手段を備えることを特徴とする請求項1の光学情報読取装置。
【請求項3】
前記読取制御手段が、
前記第1の所定量、前記第2の所定量の画像データが取得された時に、画像信号の末尾に付加されているオプティカルブラック信号が記録されている前記画像メモリの領域に、前記第1の所定量、前記第2の所定量の末尾であることを示す区切情報を上書きすることを特徴とする請求項1の光学情報読取装置。
【請求項4】
前記区切情報は、所定量毎に同じ情報を書き込むことを特徴とする請求項3の光学情報読取装置。
【請求項5】
前記区切情報は、所定量毎に異なる情報を書き込むことを特徴とする請求項3の光学情報読取装置。
【請求項6】
前記画像取得制御手段が、取得した画像データの量に応じて、前記次に取得する画像の露光条件を設定するための調査対象とする画像領域を設定することを特徴とする請求項1〜請求項5のいずれか1の光学情報読取装置。
【請求項7】
二次元受光センサからの画像信号を1画面分ずつ交互に少なくとも2画面分画像データとして記憶する画像メモリと、
取得した画像データに対してデコードの実行を指示するデコード指示手段と、
前記デコード指示手段の指示に基づきデコードを実行する読取制御手段と、を備え、読取待機中に繰り返し画像データを取得して該デコード指示手段の指示により一次元コード又は二次元コードを読み取る光学情報読取装置であって、
前記読取制御手段は、
前記デコード指示手段によりデコードの実行が指示されたときに画像データの取得を中断し、
取得中の画像データが第1の所定量より大きい第2の所定量以上あれば当該画像データに基づいて直ちにデコードを実施し、
取得中の画像データが前記第2の所定量に満たなければ前回取得した1画面分の画像データに基づいてデコードを実施するデコード手段を備えていることを特徴とする光学情報読取装置。
【請求項8】
前記読取制御手段は、
取得中の画像データが前記第1の所定量に達していないときには、前回取得した1画面分の画像データに基づいて次に取得する画像の露光条件を設定し、
取得中の画像データが前記第1の所定量に達しているときには、取得した画像データに基づいて次に取得する画像の露光条件を設定し、新たに画像データを取得する画像取得制御手段を備えることを特徴とする請求項7の光学情報読取装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2008−269410(P2008−269410A)
【公開日】平成20年11月6日(2008.11.6)
【国際特許分類】
【出願番号】特願2007−113126(P2007−113126)
【出願日】平成19年4月23日(2007.4.23)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成20年11月6日(2008.11.6)
【国際特許分類】
【出願日】平成19年4月23日(2007.4.23)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]