説明

光学情報読取装置

【課題】 同じ操作者がコードの読み取りを行う際にデコード時間を短縮できる光学情報読取装置を提供する。
【解決手段】 操作者がバーコードの読み取りを行う際には、バーコードに対して光学情報読取装置の当て方に癖があるが、同じ操作者がコードの読み取りを行う際には、この当て方の癖に応じて、画像メモリ上にコードが存在している可能性が高いコード存在領域(優先してデコードを行う領域)を設定し、設定した画像メモリ上のコード存在領域でデコードを行う。これにより、画像メモリの全画像データからコードの読み取りを行うのと比較して、デコード時間を短縮できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、商品等に印刷又は貼り付けられているバーコード等の一次元コード及び、QRコード(登録商標)等の二次元コードの読み取りを行う光学情報読取装置に関するものである。
【背景技術】
【0002】
光学情報読取装置では、コードの画像を取得してデコードを行っている。ここで、通常、作業者は、同じ種類のバーコードに対して光学情報読取装置を同様にして当て、読み取り対象画像で同じ位置、同じ向きで、また、バーコードに対して同じ距離で読み取りを行っている。それにもかかわらず、一次元コード及び二次元コードの読み取りが可能な二次元受光センサを用いるマルチ光学情報読取装置では、取得した画像に対して、様々なコードのデコードを試行して読み取りを行っており、結果的に読み取り時間が長くなっていた。さらに近年、二次元受光センサの画像サイズの増加に伴い、取得画像内のコード以外の不要な箇所を探索する処理に時間を費やすようになっている。ここで、特許文献1には、小さな画像エリアを設定し、そのエリアで読み取りが行える際には、読み取りを行うことで、読み取り時間の短縮化を図る光学情報読取装置が開示されている。
【特許文献1】特開2005−38374号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、特許文献1の技術では、毎回、同様にして画像エリアを設定しているため、同一の作業者が同様にして光学情報読取装置をコードに対して当て読み取りを繰り返しても、読み取り時間を短縮することができなかった。
【0004】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、同じ操作者がコードの読み取りを行う際にデコード時間を短縮できる光学情報読取装置を提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するため、請求項1の発明は、一次元コード及び二次元コードを撮像し二次元画像信号を出力する二次元受光センサ23と、
前記二次元受光センサの信号をデジタル値に変換して二次元画像データを出力するAD変換手段33と、
前記二次元画像データを二次元の座標に対応させて記憶する画像メモリ35と、を備えた一次元コード及び二次元コードを読み取る光学情報読取装置であって、
前記画像メモリ上の画像データに対して、コードの読み取りを行う読取制御手段40と、読み取ったコードの形状的な特徴を抽出した特徴データを生成する特徴生成手段(S24、S26、S28、S30、S32)と、
前記特徴データを記憶する特徴データ記憶手段(S24、S26、S28、S30、S32)と、
前記特徴データ記憶手段に記憶された特徴データに基づいて、優先的にコードの読み取りを行うコード存在領域を設定するコード存在領域設定手段(S16)とを有し、前記読取制御手段が、前記コード存在領域設定手段により設定された前記画像メモリ上のコード存在領域でコードの読み取りを行う(S20)ことを技術的特徴とする。
【発明の効果】
【0006】
請求項1では、読み取ったコードの形状的な特徴を抽出した特徴データを生成し、記憶した特徴データに基づいて、画像メモリ上にコードが存在している可能性が高く優先的にコードの読み取りを行うコード存在領域を設定し、設定した画像メモリ上のコード存在領域でコードの読み取りを行う。操作者がバーコードの読み取りを行う際には、バーコードに対して光学情報読取装置の当て方に癖があるが、同じ操作者がコードの読み取りを行う際には、この当て方の癖に応じて、画像メモリ上にコードが存在している可能性が高く優先的にコードの読み取りを行うコード存在領域を設定し、設定した画像メモリ上のコード存在領域でコードの読み取りを行う。これにより、画像メモリの全画像データからコードの読み取りを行うのと比較して、デコード時間を短縮できる。
【0007】
請求項2では、読み取ったコードの形状的な特徴として、コードが存在している領域の大きさ、コードが存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きの内の少なくとも1つを含む。このため、同じ操作者がコードの読み取りを行う際の当て方の癖に応じて、画像メモリ上にコードが存在している可能性が高いコード存在領域を設定することが可能となり、デコード時間を短縮できる。
【0008】
請求項3では、コードが存在している領域の大きさ、コードが存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きとから成る特徴データに基づいて、優先的にコードの読み取りを行うコード存在領域を設定するため、画像メモリ上にコードが存在している可能性が高いコード存在領域を適切に設定することが可能となり、デコード時間を短縮できる。
【0009】
請求項4では、画像メモリ上にコード存在領域を設定する際に、画像データの領域を縦横に分割して矩形の検査区画を設定し、その検査区画を単位としてコード存在領域を設定する。このため、画像メモリ上にコードが存在している可能性が高く優先的にコードの読み取りを行うコード存在領域を設定する際の処理を簡易化できる。
【0010】
請求項5では、特徴データの記憶は、規定回数を超えたものは順次最新のものに更新する。このため、最新の読み取りの際の傾向に則して、画像メモリ上にコードが存在している可能性が高いコード存在領域を設定することが可能となり、デコード時間を短縮できる。
【0011】
請求項6では、読み取ったコードの形状的な特徴として、コードが存在している領域の大きさ、コードが存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きの内のいずれかで、最も出現頻度が高いものを選択して組み合わせ、画像メモリ上にコードが存在している可能性が高く優先的にコードの読み取りを行うコード存在領域を設定する。このため、画像メモリ上に設定したコード存在領域にコードが入っている蓋然性が高く、デコード時間を短縮できる。
【0012】
請求項7では、読み取ったコードの種類を識別し、コードの種類に応じて特徴データを記憶する。このため、コードの種類に対応させて、画像メモリ上にコードが存在している可能性が高いコード存在領域を設定することが可能となる。
【0013】
請求項8では、読み取ったコードの種類を識別し、コードの種類に応じて特徴データを記憶する。そして、コードの種類の出現頻度を検出し、出現頻度の高い種類のコードに対応する特徴データに基づいて、画像メモリ上にコードが存在している可能性が高く優先的にコードの読み取りを行うコード存在領域を設定する。実際のコード読み取り作業では、同一のコードを読み続けることが多く、作業者も同一種のコードに対しては同じような光学情報読取装置の当て方をするので、画像メモリ上に設定したコード存在領域にコードが入っている蓋然性が高く、デコード時間を短縮できる。
【0014】
請求項9では、画像メモリ上にコードが存在している可能性が高いコード存在領域に、コードが存在しているかを判断し、コードが存在していない場合には、二次元受光センサにより二次元画像信号を再度取得する。このため、読み取りが出来ない画像を破棄し、新たな画像を取得することで、全体としてのデコード時間を短縮することができる。
【0015】
請求項10では、読み取ったコードの形状的な特徴を抽出した特徴データの変化頻度が高いか否かにより、作業者の読み取りの癖が一定しているか判断する。作業者の読み取りの癖が一定していない場合には、画像メモリ上のコード存在領域にコードが存在していない場合にも、二次元受光センサにより二次元画像信号を再度取得するのでは無く、画像メモリ上の全二次元画像データで、コードの読み取りを行う。このため、作業者の読み取りの癖が一定しないために、コード存在領域のコードが入っていない場合にも適切に対応でき、全体としてのデコード時間を短縮することができる。
【0016】
請求項11では、操作者又は作業の識別を設定する作業識別設定手段を備え、識別された操作者又は作業の識別毎に特徴データを記憶し、識別された操作者又は作業の識別毎に記憶された特徴データに基づいて、画像メモリ上にコードが存在している可能性が高く優先的にコードの読み取りを行うコード存在領域を設定する。操作者又は作業の識別によりコードに対して光学情報読取装置の当て方の癖が異なるが、同じ操作者又は作業の識別でコードの読み取りを行う際には、この当て方の癖に応じて、画像メモリ上にコードが存在している可能性が高いコード存在領域を設定してコードの読み取りを行う。これにより、デコード時間を短縮できる。また、作業者が当て方の癖を意識することで、コードが存在している可能性の高いコード存在領域での読み取り回数を増やし、デコード時間を短縮できる。
【発明を実施するための最良の形態】
【0017】
[第1実施形態]
以下、本発明の光学情報読取装置の第1実施形態について図を参照して説明する。まず、第1実施形態に係る光学情報読取装置10の構成概要を図1のブロック図に基づいて説明する。
バーコードB等の一次元コード及びQRコード等の二次元コードを読み取る光学情報読取装置10は、図示しない縦長のほぼ矩形箱状なすハウジングを備え、ハウジングの内部に回路部20が収容されている。
【0018】
回路部20は、主に、赤色発光ダイオード21、集光レンズ52、受光センサ23、結像レンズ27等の光学系と、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、判定回路37、同期信号発生回路38、特定比検出回路39、制御回路40、操作スイッチ12、14A、14B、液晶表示器46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。
【0019】
光学系を構成する赤色発光ダイオード21は、照明光Lfを照射可能な光照射器として機能するもので、拡散レンズと凸レンズとを組み合わせた集光レンズ52により集光させる。本実施形態では、受光センサ23を挟んだ両側に赤色発光ダイオード21が設けられており、読取対象物Rに向けて照明光Lfを照射可能に構成されている。なお、この読取対象物Rには、情報コードとしてのバーコードBが貼付されている。
【0020】
受光センサ23は、読取対象物RやバーコードBに照射されて反射した反射光Lr、更に、写真画像を結像レンズ27を介して受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子から成る二次元イメージセンサにより構成され、図2に示すように、縦512、横640の画素を備える。
【0021】
結像レンズ27は、外部から入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。本実施形態では、赤色発光ダイオード21から照射された照明光LfがバーコードBに反射してハウジングに入射する反射光Lrを集光することにより、受光センサ23の受光面23aにコード像を結像可能にしている。
【0022】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、判定回路37、同期信号発生回路38、特定比検出回路39、制御回路40、操作スイッチ12、14A、14B、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像されたコード像等の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学情報読取装置10の全体システムに関する制御も行っている。
【0023】
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されて蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。判定回路37は、後述するコードの存在している可能性が高く優先的にコードの読み取りを行うコード存在領域にコードが存在しているか否かを判定する。また、特定比検出回路39は、コードの存在している傾向を検出する。
【0024】
制御回路40は、光学情報読取装置10全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ12、14A、14B、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。ここで、操作スイッチ14A、14Bは、光学情報読取装置の操作者又は作業内容を設定するもので、例えば、操作者Aが操作する際、又は、作業内容a(バーコードの読み取り)の際に、操作スイッチ14Aを押圧する。また、操作者Bが操作する際、又は、作業内容b(QRコードの読み取り)の際に、操作スイッチ14Bを押圧する。
【0025】
引き続き、第1実施形態の光学情報読取装置10によるコードの読み取りについて説明する。
第1実施形態では、作業内容をコードの種類から判断する。更に、使用者の読み取りの癖、即ち、コードに対する光学情報読取装置の当て方を、コードが存在している領域の大きさ、コードの中心が存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きから判断する。ここで、図2で示す受光センサ23の縦512−横640の画素を、32×32画素毎のブロック(縦16:横20)単位で処理を行う。図2中で、コードの種類は、EAN−13で、大きさは46ブロック、コードの中心は縦9−横13のブロックで、傾きは40度で、形状は長方形である例を示している。
【0026】
そして、読み取ったコードの大きさ、コードの中心が存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きを正規化して保存する。
先ず、読み取りコードの大きさの正規化について説明する。図4(A)は読み取りコードの大きさの正規化を示す図表である。
第1実施形態では、上述した受光センサ23の縦512−横640の画素を、32×32画素毎のブロックで何個になるかで大きさを区分する。即ち、ブロックで100以下は大きさ(1)とし、101〜200を大きさ(2)とし、201〜を大きさ(3)とする。図2を参照して上述した例では、46ブロックであるため、大きさ(1)として記憶される。
【0027】
次に、読み取ったコードの中心が存在している領域の位置の正規化について図3(A)を参照して説明する。ここでは、図2を参照して上述した受光センサ23の縦512−横640の画素を、128×128画素毎の位置ブロック(縦4:横5)に分け、コードの中心が存在する位置を記録する。図2を参照して上述した32×32画素毎でブロック縦9−横13のブロックは、128×128画素毎の位置ブロックで位置(13)に該当し、この値が記憶される。
【0028】
引き続き、コードの形状の正規化について図3(B)、図3(C)、図3(D)及び図4(B)を参照して説明する。図3(B)、図3(C)、図3(D)は、コード形状の説明図であり、図4(B)は読み取りデータの形状の正規化を示す図表である。
図3(B)は、縦横比1:1のコード(例えばQRコード)を示している。この場合には、図4(B)中に示すように形状(1)に分類される。また、図3(C)に示すように縦横比1:2のコードは形状(2)に分類される。更に、図3(D)に示すように縦横比1:3以上のコードは形状(3)に分類される。図2に示すEAN−13(バーコード)は、形状(3)に分類され、記憶される。
【0029】
次に、スキャンラインの傾きの正規化について、図4(C)及び図5を参照して説明する。図5は、スキャンラインの傾きの正規化の説明図である。
水平方向に対して反時計方向に1〜30度、151〜210度、331〜360度、傾いているスキャンラインは傾き(1)に分類される。61〜120度、241〜300度、傾いているスキャンラインは傾き(2)に分類される。31〜60度、211〜240度、傾いているスキャンラインは傾き(3)に分類される。121〜150度、301〜330度、傾いているスキャンラインは傾き(4)に分類される。図2中に示す40度傾いたバーコードは傾き(3)に分類され、記憶される。
【0030】
上述した特徴を正規化したデータ(特徴データ)に基づき、読み取り傾向の保存、及び、特徴データに基づく優先条件の設定について、図6(A)を参照して説明する。図6(A)は、5回の読み取りから得られた特徴データと、該特徴データに基づく優先条件の設定について示す図表である。優先条件は、出現頻度の最も高いものが設定される。即ち、第1回から第5回までコードの種類は全てEAN−13であるため、コードの種類の優先条件はEAN−13が設定さる。コード位置は、5回中の3回まで位置(8)であるため、位置の優先条件は位置(8)が設定される。コード形状は、全て形状(3)であるため、形状の優先条件は形状(3)が設定される。コードのスキャンラインの傾きは、5回中の4回までが傾き(3)であるため、傾きの優先条件は傾き(3)が設定される。コードの大きさは、5回中の4回までが大きさ(1)であるため、大きさの優先条件は大きさ(1)が設定される。
【0031】
第1実施形態では、位置/形状/傾き/大きさの優先条件により、受光センサ23で撮像した画像中(縦512−横640の画素)で、優先してデコードを行う場所を設定し、且つ、デコードは、優先条件で設定されたコードの種類を優先して試みる。
図6(A)を参照して上述した位置/形状/傾き/大きさの優先条件{位置(8)/形状(3)/傾き(3)/大きさ(1)}により、受光センサ23で撮像した画像中(縦512−横640の画素)に設定した優先してデコードを行う領域(画像メモリ上にコードが存在している可能性が高いコード存在領域)を図7中に示す。ここで、コード存在領域は、図2を参照して上述したように読み取り特徴の検出の際に画像データ(受光センサ23の縦512−横640の画素)の領域を縦横に分割して矩形の検査区画(32×32画素毎のブロック)を設定したが、これに対応させて、検査区画(32×32画素毎のブロック)を単位としてコード存在領域を設定する。このため、画像メモリ上にコードが存在している可能性が高いコード存在領域を設定する際の処理を簡易化できる。
【0032】
引き続き、第1実施形態の光学情報読取装置10による処理について、図8及び図9のフローチャートを参照して説明する。
先ず、受光センサ23によりコードの画像を取得する(S12)。そして、規定回数、即ち、読み取り傾向を検出するのに十分な数(例えば5回)だけ読み取りが行われたかを判断する(S14)。ここで、読み取りが規定回数行われる以前は(S14:No)、受光センサ23により取得され、メモリ35に保持された全画像から読み取り(デコード)を行う(S21)。他方、読み取りが規定回数以上行われているときには(S14:Yes)、図6(A)及び図7を参照して上述したように、過去の読み取りの特徴を正規化したデータ(特徴データ)に基づき決定した優先条件{位置(8)/形状(3)/傾き(3)/大きさ(1)}により、受光センサ23で撮像した画像中(縦512−横640の画素)に優先してデコードを行う領域(読み取り傾向:コード存在領域)を設定する(S16)。そして、今回読み取った画像が、設定した優先してデコードを行う領域(読み取り傾向)と一致しているか判断する(S18)。ここで、一致していない場合には(S18:No)、優先してデコードを行う領域(読み取り傾向)内にコードが存在する可能性が低いので、メモリ35に保持された全画像から読み取り(デコード)を行う(S21)。一方、一致している場合には(S18:Yes)、優先してデコードを行う領域(読み取り傾向)内にコードが存在する可能性が高いので、メモリ35に保持された全画像中の優先してデコードを行う領域(読み取り傾向:コード存在領域)にて読み取り(デコード)を実施する(S20)。そして、読み取りが成功したか判断し(S22)、読み取りが失敗した場合には(S22:No)、S12に戻り再度画像を取得する。
【0033】
他方、読み取りに成功したときには(S22:Yes)、先ず、図6(A)を参照して上述したように読み取ったコードの種類を保存し(S24)、次に、コードの大きさを正規化して保存し(S26)、コードの中心位置を正規化して保存し(S28)、コードの傾きを正規化して保存し(S30)、コードの形状を正規化して保存する(S32)。最後に、規定回数のカウント数をカウントアップし、何回読み取りを行ったかを記録する。なお、S24、S26、S28、S30、S32でのコード特徴の保存は、過去20回まで行い、21回以降は、一番古い過去の分を消去して最新の特徴を保存する。即ち、特徴データの記憶は、規定回数を超えたものは順次最新のものに更新する。このため、最新の読み取りの際の傾向に則して、画像メモリ上にコードが存在している可能性が高い読み取り傾向(コード存在領域)を設定することが可能となり、デコード時間を短縮できる。
【0034】
第1実施形態の光学情報読取装置10は、操作者又は作業の識別を設定する操作スイッチ14A、14Bを備える。この操作スイッチの操作による操作者又は作業の識別の設定処理について図9のフローチャートを参照して説明する。
操作者Aが操作する際、又は、作業内容a(バーコードの読み取り)の際に、操作スイッチ14Aを押圧する(S102:Yes)。これにより、図8中のS24〜S32での読み取り特徴のメモリ35への保存を操作者A又は作業内容aに対応付けて行い、また、S16での、読み取り傾向の設定を操作者A又は作業内容aに対応付けて行う(S104)。一方、操作スイッチ14Bが押圧された際には、同様に対応付けて読み取り傾向の設定を行う。
【0035】
第1実施形態では、識別された操作者又は作業の識別毎に特徴データを記憶し、識別された操作者又は作業の識別毎に記憶された特徴データに基づいて、画像メモリ上にコードが存在している可能性が高い読み取り傾向の領域を設定する。操作者又は作業の識別によりコードに対して光学情報読取装置の当て方に癖が異なるが、同じ操作者又は作業の識別でコードの読み取りを行う際には、この当て方の癖に応じて、画像メモリ上にコードが存在している可能性が高い読み取り傾向を設定してコードの読み取り(デコード)を行う。これにより、デコード時間を短縮できる。また、作業者が当て方の癖を意識することで、コードが存在している可能性の高いコード存在領域での読み取り回数を増やし、デコード時間を短縮できる。
【0036】
第1実施形態では、読み取ったコードの形状的な特徴を抽出した特徴データを生成し、記憶した特徴データに基づいて、画像メモリ上にコードが存在している可能性が高い読み取り傾向(コード存在領域)を設定し、設定した画像メモリ上のコード存在領域でコードの読み取りを行う。操作者がバーコードの読み取りを行う際には、バーコードに対して光学情報読取装置の当て方に癖があるが、同じ操作者がコードの読み取りを行う際には、この当て方の癖に応じて、画像メモリ上にコードが存在している可能性が高い読み取り傾向(コード存在領域)を設定し、設定した画像メモリ上のコード存在領域でコードの読み取り(デコード)を行う。これにより、画像メモリの全画像データからコードの読み取りを行うのと比較して、デコード時間を短縮できる。
【0037】
また、第1実施形態では、読み取ったコードの形状的な特徴として、コードが存在している領域の大きさ、コードが存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きの内の少なくとも1つを含む。このため、同じ操作者がコードの読み取りを行う際の当て方の癖に応じて、画像メモリ上にコードが存在している可能性が高い読み取り傾向(コード存在領域)を設定することが可能となり、デコード時間を短縮できる。
【0038】
特に、第1実施形態では、読み取ったコードの形状的な特徴として、コードが存在している領域の大きさ、コードが存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きの内のいずれかで、最も出現頻度が高いものを選択して組み合わせ、画像メモリ上にコードが存在している可能性が高いコード存在領域を設定する。このため、画像メモリ上に設定したコード存在領域にコードが入っている蓋然性が高く、デコード時間を短縮できる。
【0039】
[第1実施形態の第1改変例]
引き続き、第1実施形態の第1改変例に係る光学情報読取装置について説明する。
第1実施形態では、取得した読み取りの特徴データを、図6(A)を参照して上述したように位置/形状/傾き/大きさをそれぞれ正規化して記憶した。また、これに対して、第1実施形態の第1改変例では、図6(B)に示すように正規化せず取得した情報をそのまま記憶する。そして、優先条件は、それぞれ出現頻度が最も高いものを組み合わせて決定する。
【0040】
[第1実施形態の第2改変例]
次に、第1実施形態の第2改変例に係る光学情報読取装置について説明する。
図6(B)を参照して上述した第1実施形態の第1改変例では、優先条件は、それぞれ出現頻度が最も高いものを組み合わせて決定した。これに対して、第1実施形態の第2改変例では、過去5回のデータの平均値をそれぞれ用いて優先条件を設定する。
【0041】
[第2実施形態]
引き続き、第2実施形態に係る光学情報読取装置について図10、図11を参照して説明する。
第1実施形態では、取得した読み取りの特徴データから優先条件を求める際に、図6(A)を参照して上述したように、コードの種類/位置/形状/傾き/大きさのそれぞれについて出現頻度が高いものを選んだ。これに対して、第2実施形態では、図10に示すようにコードの種類毎に、位置/形状/傾き/大きさの出現頻度が高いものを選択し、更に、一番出現頻度の高いコードを選択し(図中ではEAN−13:70%)、該コードでの位置/形状/傾き/大きさの出現頻度が高いもの{位置(8)/形状(3)/傾き(3)/大きさ(1)}を選択して、読み取り傾向(コード存在領域)を設定する。
【0042】
第2実施形態の光学情報読取装置でのコード読取処理について、図11のフローチャートを参照して説明する。
S12〜S34までの処理は第1実施形態と同様である。但し、S26でのコード大きさの特徴を保存する際にS24で検出されたコードの種類毎に保存を行う。同様に、S28でコード位置を保存する際にコードの種類毎に保存を行い、S30でコード傾きを保存する際にコードの種類毎に保存を行い、S32でコード形状を保存する際にコードの種類毎に保存を行う。そして、S36で、コードの出現頻度を検出し、一番出現頻度の高いコードを選択し、該コードでの位置/形状/傾き/大きさの出現頻度が高いものを選択して、S16で読み取り傾向(コード存在領域)を設定する。
【0043】
第2実施形態では、読み取ったコードの種類を識別し、コードの種類に応じて特徴データを記憶する。そして、コードの種類の出現頻度を検出し、出現頻度の高い種類のコードに対応する特徴データに基づいて、画像メモリ上にコードが存在している可能性が高い読み取り傾向(コード存在領域)を設定する。実際のコード読み取り作業では、同一のコードを読み続けることが多く、作業者も同一種のコードに対しては同じような光学情報読取装置の当て方をするので、画像メモリ上に設定したコード存在領域にコードが入っている蓋然性が高く、デコード時間を短縮できる。
【0044】
[第3実施形態]
引き続き、第3実施形態に係る光学情報読取装置について図12、図13を参照して説明する。
第1実施形態では、図8のS18を参照して上述したように、設定した読み取り傾向(コード存在領域)にコードが存在していない場合には、全画像を用いてデコードを行った(S21)。これに対して、第3実施形態では、設定した読み取り傾向(優先してデコードを行う領域:コード存在領域)にコードが存在していない場合には、原則として画像を再度取得する。
【0045】
図13は、設定した読み取り傾向(優先してデコードを行う領域:コード存在領域)にコードが存在していない場合を示している。図中に示すようにバーコードの一部が画像中に入っている際に、縦512−横640の画素から成る全画像に対してデコードを行うと、、画像内に入っている当該バーコードの一部のみをデコードを行うことになり、デコードが失敗する。このため、デコードの出来ない画像に対してデコードを試みることになり、デコードに失敗してから新たに画像を取得することになって、読み取り時間が長くなる原因となる。この理由から、第3実施形態では、設定した読み取り傾向(優先してデコードを行う領域:コード存在領域)にコードが存在していない場合には、原則として画像を再度取得する。
【0046】
但し、読み取り傾向が一定している場合には、図13を参照して上述したように、コードの一部又は全部が画像から外れている場合が想定し得るが、読み取り傾向が一定しない場合には、画像中にコードが入っているが、設定した読み取り傾向(優先してデコードを行う領域:コード存在領域)にコードが存在していない可能性が高くなる。このため、第3実施形態では、設定した読み取り傾向(優先してデコードを行う領域:コード存在領域)にコードが存在していない場合に、読み取り傾向が一定しているか判断し、一定している場合にのみ画像を再度取得する。
【0047】
第3実施形態の光学情報読取装置でのコード読取処理について、図12のフローチャートを参照して説明する。
先ず、画像を取得する(S52)。そして、全体を大まかに画像処理してコード位置を特定するラベリング処理を行い、コードの出現傾向を算出し(S54)、出現傾向毎の出現回数を保存する(S56)。続いて、出現傾向保存回数をカウントアップする(S58)。その後、第1実施形態と同様に、受光センサ23で撮像した画像中(縦512−横640の画素)に優先してデコードを行う読み取り傾向(優先してデコードを行う領域:コード存在領域)を設定し(S59)、設定した読み取り傾向に今回取得したコードの傾向が一致しているかを判断する(S60)。一致していない場合には、読み取りが成功したコード傾向の出現頻度を判断し(S62)、頻繁に出現傾向が変化しているかを判断する(S64)。ここで、出現傾向が変化せず一定している場合には(S64:No)、再取得した画像で無い(第1回目の画像取得)ことをを条件に(S65:No)、画像を取得する(S52)。これにより、図13を参照して上述したようなコードの一部又は全部が画像から外れている場合に迅速に対応する。
【0048】
一方、出現傾向が頻繁に変化し一定していない場合には(S64:Yes)、全画像中にコードが入っているが読み取り傾向には存在していない可能性が高いので、メモリ35に保持された全画像から読み取り(デコード)を行う(S67)。一方、上記S60で設定した読み取り傾向に今回取得したコードの傾向が一致している場合には、優先してデコードを行う領域(読み取り傾向)内にコードが存在する可能性が高いので、メモリ35に保持された全画像中の優先してデコードを行う領域(読み取り傾向)にて読み取り(デコード)を実施する(S66)。そして、読み取りが成功したか判断し(S68)、読み取りが失敗した場合には(S68:No)、S52に戻り再度画像を取得する。読み取りが成功した場合には(S68:Yes)、読み取り特徴を保存し(S70)、コードの出現傾向毎に読み取り成功回数を保存して(S72)、処理を終了する。
【0049】
第3実施形態では、画像メモリ上にコードが存在している可能性が高いコード存在領域に、コードが存在しているかを判断し、コードが存在していない場合には、二次元受光センサにより二次元画像信号を再度取得する。このため、読み取りが出来ない画像を破棄し、新たな画像を取得することで、全体としてのデコード時間を短縮することができる。
【0050】
また、第3実施形態では、読み取ったコードの形状的な特徴を抽出した特徴データの変化頻度が高いか否かにより、作業者の読み取りの癖が一定しているか判断する。作業者の読み取りの癖が一定していない場合には、画像メモリ上のコード存在領域にコードが存在していない場合にも、二次元受光センサにより二次元画像信号を再度取得するのでは無く、画像メモリ上の全二次元画像データで、コードの読み取りを行う。このため、作業者の読み取りの癖が一定しないために、コード存在領域のコードが入っていない場合にも適切に対応でき、全体としてのデコード時間を短縮することができる。
【図面の簡単な説明】
【0051】
【図1】光学情報読取装置の回路構成を示すブロック図である。
【図2】受光センサの縦512−横640の画素を、32×32画素毎のブロックに分割した説明図である。
【図3】図3(A)は、読み取ったコードの中心が存在している領域の位置の正規化についての説明図であり、図3(B)、図3(C)、図3(D)は、コード形状の説明図である。
【図4】図4(A)は読み取りコードの大きさの正規化を示す図表であり、図4(B)は読み取りデータの形状の正規化を示す図表であり、図4(C)はスキャンラインの傾きの正規化を示す図表である。
【図5】スキャンラインの傾きの正規化の説明図である。
【図6】図6(A)、図6(B)及び図6(C)は、5回の読み取りから得られた特徴データと該特徴データに基づく優先条件の設定について示す図表である。
【図7】優先条件{位置/形状/傾き/大きさ}により設定した優先してデコードを行う領域の説明図である。
【図8】第1実施形態の光学情報読取装置による読み取り処理を示すフローチャートである。
【図9】第1実施形態の光学情報読取装置による使用者、作業の設定処理を示すフローチャートである。
【図10】第2実施形態の光学情報読取装置での読み取りから得られた特徴データについて示す図表である。
【図11】第2実施形態の光学情報読取装置による読み取り処理を示すフローチャートである。
【図12】第3実施形態の光学情報読取装置による読み取り処理を示すフローチャートである。
【図13】第3実施形態で優先してデコードを行う領域、及び、デコードを行わない場合の説明図である。
【符号の説明】
【0052】
10 光学情報読取装置
14A 操作スイッチ
14B 操作スイッチ
21 発光ダイオード
23 受光センサ(二次元受光センサ)
33 A/D変換回路(AD変換手段)
35 メモリ(画像メモリ)
40 制御回路(読取制御手段)
S16 コード存在領域設定手段
S24、S26、S28、S30、S32 特徴生成手段、特徴データ記憶手段

【特許請求の範囲】
【請求項1】
一次元コード及び二次元コードを撮像し二次元画像信号を出力する二次元受光センサと、
前記二次元受光センサの信号をデジタル値に変換して二次元画像データを出力するAD変換手段と、
前記二次元画像データを二次元の座標に対応させて記憶する画像メモリと、を備えた一次元コード及び二次元コードを読み取る光学情報読取装置であって、
前記画像メモリ上の画像データに対して、コードの読み取りを行う読取制御手段と、
読み取ったコードの形状的な特徴を抽出した特徴データを生成する特徴生成手段と、
前記特徴データを記憶する特徴データ記憶手段と、
前記特徴データ記憶手段に記憶された特徴データに基づいて、優先的にコードの読み取りを行うコード存在領域を設定するコード存在領域設定手段とを有し、前記読取制御手段が、前記コード存在領域設定手段により設定された前記画像メモリ上のコード存在領域でコードの読み取りを行うことを特徴とする光学情報読取装置。
【請求項2】
前記読み取ったコードの形状的な特徴として、コードが存在している領域の大きさ、コードが存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きの内の少なくとも1つを含むことを特徴とする請求項1の光学情報読取装置。
【請求項3】
前記コード存在領域設定手段が、コードが存在している領域の大きさ、コードが存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きとから成る特徴データに基づいて、優先的にコードの読み取りを行うコード存在領域を設定することを特徴とする請求項1の光学情報読取装置。
【請求項4】
前記コード存在領域設定手段は、前記画像メモリ上にコード存在領域を設定する際に、前記画像データの領域を縦横に分割して矩形の検査区画を設定し、その検査区画を単位としてコード存在領域を設定することを特徴とする請求項1〜請求項3のいずれか1の光学情報読取装置。
【請求項5】
前記特徴データ記憶手段による前記特徴データの記憶は、規定回数分行うことが可能であり、規定回数を超えたものは順次最新のものに更新することを特徴とする請求項1〜請求項4のいずれか1の光学情報読取装置。
【請求項6】
前記コード存在領域設定手段が、前記読み取ったコードの形状的な特徴として、コードが存在している領域の大きさ、コードが存在している領域の位置、コードが存在している領域の形状、コードが存在している領域の傾きの内のいずれかで、最も出現頻度が高いものを選択して組み合わせ、優先的にコードの読み取りを行うコード存在領域を設定することを特徴とする請求項3の光学情報読取装置。
【請求項7】
読み取ったコードの種類を識別するコード識別手段を備え、
前記特徴データ記憶手段は、コードの種類に応じて前記特徴データを記憶することを特徴とする請求項1〜請求項5のいずれか1の光学情報読取装置。
【請求項8】
コードの種類の出現頻度を検出する出現頻度検出手段を備え、
前記コード存在領域設定手段は、出現頻度の高い種類のコードに対応する、特徴データ記憶手段に記憶された特徴データに基づいて、優先的にコードの読み取りを行うコード存在領域を設定することを特徴とする請求項7の光学情報読取装置。
【請求項9】
前記コード存在領域設定手段により設定された優先的にコードの読み取りを行うコード存在領域に、コードが存在しているかを判断するコード存在判断手段を備え、
コードが存在していない場合には、二次元受光センサにより二次元画像信号を再度取得することを特徴とする請求項1〜請求項8のいずれか1の光学情報読取装置。
【請求項10】
前記読み取ったコードの形状的な特徴を抽出した特徴データの変化頻度が高いか否かを判断する変化頻度判断手段を備え、
変化頻度が高い場合に、前記読取制御手段が、前記画像メモリ上の全二次元画像データで、コードの読み取りを行うことを特徴とする請求項9の光学情報読取装置。
【請求項11】
操作者又は作業の識別を設定する作業識別設定手段を備え、
前記特徴データ記憶手段は、識別された操作者又は作業の識別毎に前記特徴データを記憶し、
前記コード存在領域設定手段は、識別された操作者又は作業の識別毎に前記特徴データ記憶手段に記憶された特徴データに基づいて、優先的にコードの読み取りを行うコード存在領域を設定することを特徴とする請求項1〜請求項10のいずれか1の光学情報読取装置。

【図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