説明

バーコード処理装置、区分装置およびバーコード処理方法

【課題】 複数のバーコードが重ねて印字されているものを検出することができるバーコード処理装置、区分装置およびバーコード処理方法を提供する。
【解決手段】 バーコードリーダ12は、スキャナ13により読取ったバーコードを含む画像に基づいて複数のバーコードが重ねて印字されているか否かを判定する二重印字検出処理を行う。上記バーコードリーダ12は、上記二重印字検出処理により複数のバーコードが重ねて印字されていることが検出された場合、前記バーコードの認識結果が無効な情報であると判定し、上記二重印字検出処理により複数のバーコードが重ねて印字されていることが検出されなかった場合、バーコードの認識結果を制御部10へ出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえば、紙葉類などの物品に付与されるバーコードを処理するバーコード処理装置、上記バーコードに基づいて紙葉類などの物品に付与されているバーコードに基づいて区分処理する区分装置、および、上記バーコード処理装置などに適用されているバーコード処理方法などに関する。
【背景技術】
【0002】
従来、たとえば、物品を区分処理する区分装置には、各物品にプリントされている区分情報を示すバーコードを認識して区分処理を行うものがある。たとえば、郵便物を区分する区分システムでは、宛先情報をバーコード化して郵便物にプリントする運用形態が実用化されている。上記のような区分装置において、郵便物などの物品にプリントされているバーコードは、装置内に設けられたバーコードリーダにより認識される(たとえば、特許文献1)。
【0003】
しかしながら、バーコードが二重にプリント(二重印字)されてしまっている場合、バーコードリーダでは、バーコードを正確に読取ること(つまり、バーコードにより示されている区分情報を正確に認識すること)が困難となる。たとえば、バーコードを用いて郵便物を区分する区分システムでは、宛先情報をバーコード化して郵便物にプリントする構成と、郵便物にプリントされているバーコードを認識することにより宛先に応じた区分処理を行う工程とがある。このような運用形態では、1つの郵便物に複数のバーコードが重ねてプリントされてしまうことがありうる。たとえば、郵便物の受取人が転居等で宛先の住所にいない場合、配達された郵便物が、再度、郵便ポストに投函されることがある。このような再投函された郵便物は、通常の郵便物とともに収集される。このため、通常の郵便物と一緒に収集された再投函された郵便物は、区分装置により再びバーコードを印字する処理が施されてしまう可能性がある。このような場合、再投函された郵便物には、バーコードが二重にプリントされてしまう可能性が高い。
【0004】
上記のような運用形態で郵便物を区分する区分システムでは、バーコードが二重印字された郵便物は、以下のような問題を引き起こす可能性がある。
(1)バーコードが二重印字されている郵便物からは、特定の区分情報を示すバーコードを鮮明に読取ることが難しい。このため、バーコードリーダがバーコードの誤認識を引き起こす可能性がある。バーコードが誤認識されると、郵便物が誤った区分先に区分される。郵便物が誤って区分されると、郵便物は、正しく処理されないだけでなく、最終的に人的な作業により処理する必要が生じる。
(2)また、受取人が不在で再投函された郵便物については、特定の区分情報を示すバーコードが正常に認識できた場合であっても、再び受取人が不在の宛先に配達されてしまう可能性が高い。このような場合、受取人が不在の宛先への配達が繰り返し行われるという無駄な作業が繰り返されることになる。
【特許文献1】特開2006−65679号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
この発明の一形態では、複数のバーコードが重ねて印字されているものを検出することができるバーコード処理装置、区分装置およびバーコード処理方法を提供することを目的する。
【課題を解決するための手段】
【0006】
この発明の一形態としてのバーコード処理装置は、バーコードを含む画像を取得する画像取得部と、前記画像取得部により取得した画像からバーコードを構成する複数のバーを検出するバー検出部と、前記バー検出部により検出された各バーの状態に基づいて各バーから構成されるバーコードが示す情報を認識する復号部と、前記画像取得部により取得したバーコードを含む画像に基づいて複数のバーコードが重ねて印字されているか否かを判定する重ね印字検出部と、前記重ね印字検出部により複数のバーコードが重ねて印字されていることが検出された場合、前記復号部による前記バーコードの認識結果が無効な情報であると判定し、前記重ね印字検出部により複数のバーコードが重ねて印字されていることが検出されなかった場合、前記復号部による前記バーコードの認識結果を出力する判定部とを有する。
【0007】
この発明の一形態としての区分装置は、物品を区分情報に基づいて区分処理するものにおいて、物品にプリントされているバーコードを含む画像を読取るスキャナと、前記スキャナにより読取った画像からバーコードを構成する複数のバーを検出するバー検出部と、前記バー検出部により検出された各バーの状態に基づいて各バーから構成されるバーコードが示す情報を認識する復号部と、前記スキャナにより読取ったバーコードを含む画像に基づいて複数のバーコードが重ねて印字されているか否かを判定する重ね印字検出部と、前記重ね印字検出部により複数のバーコードが重ねて印字されていることが検出された場合、前記復号部により認識された情報が無効な情報であると判定し、前記重ね印字検出部により複数のバーコードが重ねて印字されていることが検出されなかった場合、前記復号部によるバーコードの認識結果を当該物品の区分情報と判定する判定部と、前記判定部により当該物品の区分情報と判定されたバーコードの認識結果に基づいて当該紙葉類を区分する区分部とを有する。
【0008】
この発明の一形態としてのバーコード処理方法は、バーコード処理装置に用いられる方法であって、バーコードを含む画像を取得し、前記取得した画像からバーコードを構成する複数のバーを検出し、前記検出された各バーの状態に基づいて各バーから構成されるバーコードが示す情報を認識し、前記取得したバーコードを含む画像に基づいて複数のバーコードが重ねて印字されているか否かを判定する重ね印字検出処理を行い、前記重ね印字検出処理により複数のバーコードが重ねて印字されていることが検出された場合、前記バーコードの認識結果が無効な情報であると判定し、前記重ね印字検出処理により複数のバーコードが重ねて印字されていることが検出されなかった場合、前記バーコードの認識結果を出力する。
【発明の効果】
【0009】
この発明の一形態によれば、複数のバーコードが重ねて印字されているものを検出することができるバーコード処理装置、区分装置およびバーコード処理方法を提供できる。
【発明を実施するための最良の形態】
【0010】
以下、この発明の実施の形態について図面を参照して説明する。
図1は、この発明の実施の形態に係わる紙葉類(物品)を区分処理するための区分システムの概略構成を示す図である。
この区分システムは、図1に示すように、区分機本体(区分機)1とVCS(ビデオコーディングシステム)2とから構成されている。上記区分機1は、紙葉類の区分先を示す情報(区分情報、宛先情報)を認識して区分するものである。また、上記VCS2は、上記区分機1にて区分情報が認識できなかった紙葉類の区分情報を上記区分機1とは異なる認識処理により認識したり、オペレータのコーディング作業により入力したりするものである。
【0011】
まず、上記区分機本体1について説明する。
図1に示すように、区分機本体1は、制御部10、供給部11、バーコードリーダ(バーコード認識部)12、蛍光スキャナ13、文字認識部14、スキャナ15、プリンタ16、区分部17および搬送路18などを有している。図1に示す構成例において、上記制御部10には、供給部11、バーコードリーダ12、文字認識部14、プリンタ16、区分部17および搬送路18などが接続されている。また、上記制御部10には、ビデオコーディング装置(VCS)2が接続されている。
【0012】
上記制御部10は、区分機本体1の全体の制御を司るものである。上記制御部10は、たとえば、CPU、各種メモリ、各種インターフェースなどを有する電子計算機などにより構成される。上記制御部10は、メモリに記憶されているプログラムをCPUが実行することにより種々の処理を実行する機能を有している。たとえば、上記制御部10は、各種インターフェースにより各部と接続して、メモリに記憶されている制御プログラムに基づく各部の動作制御などを行う。また、上記制御部10には、オペレータに対して案内を表示したり、オペレータから操作指示が入力されたりする図示しないオペレーティングパネルなども接続されている。
【0013】
上記区分機本体1は、第1面に区分先を示す情報(区分情報)としての数字あるいは文字などが書き込まれ、あるいは、印刷された紙葉類を区分するものである。区分機本体1には、上記第1面が同一方向を向くように揃えられた複数の紙葉類を収容する供給部11を有している。上記供給部11には、収容されている紙葉類を1通づつ取出す取出部(図示しない)が設けられている。上記供給部11は、紙葉類を搬送させるための搬送路18に接続されている。上記供給部11は、1通づつ取り出した紙葉類を順次搬送路18へ供給する。
【0014】
上記搬送路18は、上記制御部10による制御に基づいて各紙葉類を搬送するものである。たとえば、上記搬送路18は、各紙葉類を一定の搬送速度で搬送するようになっている。すなわち、上記供給部11において一定間隔で順次取出される各紙葉類は、上記搬送路18により一定の搬送間隔(ピッチ)、かつ、一定の搬送速度で搬送される。また、上記供給部11により取り出された紙葉類は、図示しない排除検出部により機械処理が不可能な異物を含むか否かが検出される。上記排除検出部により機械処理が不可能な異物を含む紙葉類が排除され、機械処理が可能な紙葉類のみが搬送路18により搬送される。
【0015】
上記搬送路18上には、蛍光スキャナ13、スキャナ15、プリンタ16、区分部17などが設けられている。また、上記蛍光スキャナ13は、上記バーコードリーダ12に接続され、上記スキャナ15は、上記文字認識部14に接続されている。
上記蛍光スキャナ13は、上記搬送路18上を搬送される紙葉類の第1面に蛍光インクでプリントされている画像(バーコードの画像)を読取るためのものである。上記蛍光スキャナ13は、蛍光インクで紙葉類の第1面にプリントされている画像を読取り、読取った画像をバーコードリーダ12へ供給する。つまり、上記蛍光スキャナ13は、蛍光インクでバーコードがプリントされている当該紙葉類の第1面からバーコードを含む画像を読取るようになっている。上記バーコードリーダ12は、上記蛍光スキャナ13で読取った蛍光インクの画像(バーコード画像)に基づいて蛍光インクでプリントされているバーコードが示す情報(区分情報)を認識する。このようなバーコードの認識結果は、上記バーコードリーダ12から制御部10へ供給される。
【0016】
本実施の形態において、各紙葉類に蛍光インクでプリントされるバーコードは、各紙葉類の区分情報をコード化したものであると想定する。また、紙葉類に蛍光インクでバーコードとしてプリントされる情報としては、宛先情報をコード化した機械コードのほかに、各紙葉類の識別情報を示すIDコードなども想定される。上記のようなバーコードは、後述するプリンタなどにより各紙葉類にプリントされるものである。すなわち、上記蛍光スキャナ13により蛍光インクでプリントされているバーコードが読取れる紙葉類は、既に区分情報を示すバーコードのプリント処理が施された紙葉類である。
【0017】
上記スキャナ15は、上記搬送路18上を搬送される紙葉類の第1面に記載されている画像(区分情報としての文字情報を含む画像)を読取るためのものである。上記スキャナ15は、紙葉類の第1面の画像を読取り、読取った画像を文字認識部14へ供給する。上記文字認識部14は、上記スキャナ15で読取った画像に含まれる文字情報(区分情報)の認識処理を行う。このような文字認識の結果は、上記文字認識部14から制御部10へ供給される。なお、上記文字認識部14により文字情報が完全に認識できなかった紙葉類については、当該紙葉類がプリンタ16へ搬送されるまでに、オペレータが区分情報を入力するシステム(オンラインVCS)を設けるようにしても良い。
【0018】
また、上記文字認識部14では、当該紙葉類がプリンタ16によるバーコードのプリント処理が開始されるまでの間(所定時間内)に、文字認識の結果(区分情報の認識結果)が得られるようになっている。このような文字認識処理により当該紙葉類の区分情報が認識できなかった場合、上記文字認識部14は、紙葉類の画像に対する付帯情報として、紙葉類の大きさ、文字の大きさ、文字の向き、区分情報の表記方向、文字種、認識深度、あるいは、VCS2による処理が必要な箇所を示す情報等の情報を生成し、上記制御部10へ供給するようにしても良い。この場合、上記VCS2では、上記文字認識部14による文字認識の過程で得られた付帯情報を活用してコーディング作業などの処理を実行することが可能である。
【0019】
上記プリンタ16は、必要に応じて紙葉類の第1面にIDコード、あるいは機械コードなどのバーコードを蛍光インクで印刷するものである。上記プリンタ16は、上記文字認識部14により区分情報が認識できた紙葉類に対しては、その区分情報に基づく機械コードをバーコード化した画像を蛍光インクで印刷する。また、上記文字認識部14により区分情報が認識できなかった紙葉類に対しては、その紙葉類を識別するためのIDコードをバーコード化した画像を蛍光インクで印刷する。
【0020】
また、上記プリンタ16は、上記搬送路18により搬送されている紙葉類に対して、所定の印字開始位置から順にバーコードを構成する各バーを印字する。このため、バーコードを構成する各バーは、上記搬送路18による紙葉類の搬送方向に順に並べてプリントされる。つまり、上記プリンタ16は、紙葉類の搬送方法が各バーの並び方向となるようにバーコードを印字する。上記搬送路18では、所定の許容範囲内で、紙葉類の搬送状態が変化することが予測される。従って、上記プリンタ16は、所定の許容範囲内で変動する紙葉類の搬送状態によって印字状態が異なるバーコードを印字する可能性がある。たとえば、バーコードを構成する各バーのピッチ(バーの周期)は、上記プリンタ16が各バーを印字する間隔が一定であっても、紙葉類の搬送速度の変動に応じて変動するものと考えられる。また、搬送方向に対して直交する方向におけるバーコードの印字位置も、紙葉類の搬送状態の変動に応じて変動するものと考えられる。
【0021】
上記区分部17は、紙葉類を区分して集積するための複数の区分ポケットを有している。たとえば、上記区分部17は、複数段および複数列に区画された複数の区分ポケットを有する。また、上記区分部17は、複数のゲート機構および分岐搬送路などを有している。上記区分部17では、各ゲート機構などを制御することにより所望の区分ポケットへ各紙葉類が搬送される。各区分ポケットは、区分先ごとに対応して設定されている。
【0022】
すなわち、上記区分部17では、各紙葉類が区分情報に対応した各区分ポケットに順次集積される。また、上記区分部17には、文字認識部14などで区分情報が特定できなかった紙葉類(IDコードのみがプリントされた紙葉類)が集積されるVCS排除ポケット(図示しない)を有している。このVCS排除ポケットに集積された紙葉類は、区分情報がVCS2にて入力された後に、上記供給部11に再供給され、当該紙葉類のIDコードと上記VCS2にて入力された区分情報とに基づいて再区分されるようになっている。
【0023】
上記のような区分システムでは、各紙葉類に対して区分情報を特定するためのバーコードをプリントする工程と、各紙葉類にプリントされているバーコードにより区分処理する工程とが想定される。たとえば、上記のような区分システムは、収集局で収集した紙葉類(郵便物)を複数の配達局でそれぞれ配達する運用形態に適用されることが考えられる。この場合、収集局に設置された区分機では、各紙葉類の区分情報を文字認識部14あるいはVCS2で特定し、特定した区分情報を示すバーコードを各紙葉類に蛍光インクでプリントし、バーコードをプリントした各紙葉類を各配達局ごとに区分する。また、配達局に設置された区分システムでは、既にバーコードがプリントされた紙葉類をバーコードが示す区分情報(配達先)ごとに区分する。このような運用形態では、配達局の区分機では、蛍光インクで紙葉類にプリントされているバーコードを読取るだけで各紙葉類の区分情報を高精度で特定でき、効率的な区分処理が実現できる。
【0024】
次に、上記バーコードリーダ(バーコード認識部)12の構成例について説明する。
図2は、バーコードリーダ12の構成例を示すブロック図である。
図2に示すように、上記バーコードリーダ12は、画像入力インターフェース20、バー検出部21、復号部22、二重印字検出部23、および、判定部24を有している。また、上記蛍光スキャナ13は、上記画像入力インターフェース20に接続され、上記制御部10は、上記判定部24に接続されている。
【0025】
図2に示すように、上記蛍光スキャナ13の近傍には、搬送中の紙葉類Pの第1面に対して、蛍光インクに含まれる蛍光体を励起させるための光を照射する照明13aが設けられている。上記照明13aは、たとえば、蛍光灯あるいはLEDで構成される。上記蛍光スキャナ13は、上記照明13aからの光が照射される搬送中の紙葉類Pの第1面から発光される蛍光を受光する。つまり、上記蛍光スキャナ13は、紙葉類Pの第1面に蛍光インクでプリントされているバーコードを画像情報(蛍光画像)として取得する。上記蛍光スキャナ13により読取った蛍光画像は、上記バーコードリーダ12の画像入力インターフェース(画像取得部)20を介して上記バー検出部21および上記二重印字検出部23に供給される。
【0026】
上記画像入力インターフェース20は、上記蛍光スキャナ13により読取った蛍光画像(バーコード画像)を入力するためのインターフェースである。上記画像入力インターフェース20により上記蛍光スキャナ13から取得した蛍光画像は、上記バー検出部21および上記二重印字検出部23に供給されるようになっている。
上記バー検出部21は、上記蛍光スキャナ13により読取った蛍光画像からバーコードを検出するものである。すなわち、上記バー検出部21では、蛍光画像からバーコードを構成する各バーを検出する。上記バー検出部21は、検出した各バーについて種類を判別する。たとえば、上記バー検出部21は、バーコードの仕様に従って、各バーの長さおよびバーコード全体における相対的な位置などに基づいて、各バーの種類を判別する。上記バー検出部21は、検出した各バーの種類を示す情報と各バーの並びを示す情報とをバーコードの検出結果として復号部22へ供給する。
【0027】
上記復号部22は、上記バー検出部21により検出されたバーコードを復号化するものである。上記復号部22は、上記バー検出部21から供給されるバーコードの検出結果としての各バーの種類を示す情報及び各バーの並びを示す情報に基づいてバーコードを復号する。また、上記復号部22は、後述する誤り訂正符号に基づいて誤りを訂正する機能を有している。すなわち、上記復号部22は、上記バー検出部21による検出結果に基づいてバーコードが示す情報を復号化すると共に、復号化された情報を誤り訂正符号に基づく誤り訂正処理により訂正する。これにより、正常な状態で紙葉類にプリントされているバーコードは、上記復号部22により当該紙葉類の区分情報(たとえば、郵便番号情報あるいは住所情報など)として復号される。
【0028】
上記二重印字検出部(重ね印字検出部)23は、複数のバーコードが重ねてプリントされているか否かを判定するものである。すなわち、上記二重印字検出部23は、上記蛍光スキャナ13により読取った蛍光画像の特徴に基づいて複数のバーコードが重ねて印字されているか否かを判断する。また、上記二重印字検出部23は、誤り訂正処理などの上記復号部22による処理結果を参照して複数のバーコードが重ねて印字されているか否かを判断する。上記二重印字検出部23は、バーコードの二重印字の検出結果を上記判定部24へ供給する。上記二重印字検出部23に用いられる二重印字の検出処理については、後で詳細に説明する。
【0029】
上記判定部24は、上記二重印字検出部23によるバーコードの二重印字の検出結果に基づいて、復号部22によるバーコードの復号結果を有効とするか否かを判定する。上記判定部24は、バーコードの二重印字が検出されなかったことを示す検出結果を受信した場合、上記復号部22により得られた復号結果としての区分情報を制御部10へ出力する。また、上記判定部24は、バーコードの二重印字が検出されたことを示す検出結果を受信した場合、上記復号部22により得られた復号結果としての区分情報を棄却する。この場合、上記判定部24は、バーコードの二重印字が検出されたことを示す情報を上記制御部10へ供給する。なお、上記バー検出部21がバーコードを検出できなかった場合、つまり、バーコードが紙葉類にプリントされていなかった場合、上記判定部24は、バーコードが検出されなかったことを示す情報を上記制御部10へ供給する。
【0030】
上記制御部10は、上記バーコードリーダ12の判定部24から供給された情報に基づいて当該紙葉類に対する区分処理を行う。たとえば、上記制御部10は、バーコードの二重印字である旨の情報を受信した場合、当該紙葉類を二重印字用の区分ポケット(あるいはバーコードが読取れなかった紙葉類を集積する区分ポケット)に搬送するように制御する。また、上記制御部10は、バーコードの認識結果としての区分情報を受信した場合、当該紙葉類を区分情報に対応する区分ポケットに搬送する制御を行う。
【0031】
次に、区分情報を表すのに用いられるバーコードについて説明する。
バーコードには、様々な仕様のものがある。たとえば、郵便物を区分するために用いられるバーコードとしては、各国ごとに様々な仕様のバーコードが用いられている。たとえば、郵便物を区分するために用いられるバーコードには、区分情報を符号化して4種類のバーの並びで区分情報を表現するフォー・ステート・バーコードがある。
図3は、フォー・ステート・バーコードの例を示す図である。
図3に示すように、フォー・ステート・バーコードは、ロングバー、アセンダバー、デセンダバー、および、タイミングバーの4種類のバーを用いて表現される。すなわち、フォー・ステート・バーコードでは、区分情報が4種類のバーの並びで表現するように符号化される。
【0032】
また、バーコードへの符号化は、たとえば、リードソロモン符号などの誤り訂正符号が用いられるものとする。誤り訂正符号は、バーコードで符号化される情報に付加される冗長な情報である。これにより、上記バー検出部21でバーコードを構成している幾つかのバーの検出を誤ったとしても、上記復号部22は、上記のような誤り訂正符号に基づいて正しく情報を復元(誤った情報を訂正)できるようにするものである。なお、リードソロモン符号については、たとえば、文献「今井:”符号理論“、電子情報通信学会、1990年」に記載されている。
【0033】
次に、上記二重印字検出部23による二重印字の検出処理について説明する。
上記二重印字検出部23におけるバーコードの二重印字の検出処理には、様々な方式が適用可能である。本実施の形態では、バーコードの二重印字を検出する方式の例として、以下の5種類の方式(第1〜第5の二重印字検出処理)について説明する。
(1)バーの周期に着目する方式(第1の二重印字検出処理)。
【0034】
(2)誤り訂正されたバーの位置に着目する方式(第2の二重印字検出処理)。
【0035】
(3)誤り訂正されたバーの種類に着目する方式(第3の二重印字検出処理)。
【0036】
(4)バーのサイズに着目する方式(第4の二重印字検出処理)。
【0037】
(5)バーの端点を結ぶ直線に着目する方式(第5の二重印字検出処理)。
【0038】
なお、これらの方式は、任意の複数の方式を組み合わせて実施することも可能である。すなわち、上記二重印字検出部23は、複数の方式でバーコードの二重印字の検出処理を実行するようにしても良い。この場合、上記二重印字検出部23は、複数の方式による二重印字の検出結果に基づいて総合的にバーコードの二重印字の有無を判断することができる。たとえば、上記二重印字検出部23は、何れかの方式でバーコードの二重印字が検出された場合には、二重印字有りと判断し、どの方式でもバーコードの二重印字が検出されなかった場合には、二重印字無しと判断するというような形態が考えられる。このような形態が適用された二重印字検出部23では、様々な状態で紙葉類にプリントされているバーコードの二重印字を確実に検出することができる。
【0039】
次に、上記二重印字検出部23におけるバーコードの二重印字の検出処理としての第1の二重印字検出処理について説明する。
本第1の二重印字検出処理は、バーコードを構成する複数のバーの周期に着目することにより、バーコードの二重印字を検出する方式(バー周期による二重印字の検出処理)である。一般に、異なる時期あるいは異なるプリンタでプリントされた複数のバーコードは、それぞれのバーのピッチが異なっていることが多い。第1の二重印字検出処理では、バーの間隔(ピッチ)が異なっている複数のバーコードが重ねて印字されていることを検出するものである。すなわち、第1の二重印字検出処理は、バーのピッチ(バーの周期)が異なっている複数のバーコードが存在するか否かを判定する処理である。
【0040】
図4は、2つのバーコードが重ねてプリント(二重印字)された状態のバーコード画像(蛍光スキャナ13で読取った蛍光画像)の例を示す図である。
なお、図1及び2に示す区分システムにおいて、各バーコードを構成する全てのバーは、蛍光の画像として検出されるものである。ただし、図4では、2つのバーコードが重ねてプリントされている状態が視認しやすように、複数のバーからなる第1のバーコードを黒色で図示し、複数のバーからなる第2のバーコードを斜線で図示している。すなわち、図4では、互いに各バーのピッチ(バーの周期)が異なる第1のバーコードと第2のバーコードとが二重印字されているバーコード画像の例を示している。
【0041】
図5(a)〜(c)は、図4に示すようなバーコード画像に対する第1の二重印字検出処理による2重印字の検出処理を説明するための図である。
図5(a)は、図4と同様に、バー周期が異なる2つのバーコードが二重印字された状態のバーコード画像の例を示す図である。また、図5(b)は、図5(a)に示すような走査線における濃淡情報を示す図である。また、図5(c)は、図5(c)に示す濃淡情報に対する周波数分析の結果を示す図である。
【0042】
図5(b)に示す例では、図5(a)に示す全てのバーの位置を示す濃淡情報が得られている。すなわち、図5(b)に示すような濃淡情報は、図5(a)に示す各バーの長辺に直交する方向で、かつ、全てのバーを通る走査線により得られるものである。
図5(b)に示すような濃淡情報に対してFFT(高速フーリエ変換)などの手法を用いて周波数分析すると、図5(c)に示すような周波数分布が得られる。
【0043】
図5(c)に示すような周波数分布において、ピークの数は、一定の周期で並べられた複数のバー(バー群)からなるバーコードの数と対応する。つまり、複数のバーコードがそれぞれ異なる周期(各バーコードに固有な周期)で並べられた複数のバーからなる場合、図5(c)に示すような周波数分布において、周期の異なるバーコードの数は、ピークの数となって現れる。たとえば、図5(a)に示すような周期の異なる2つのバーコードが重ねてプリントされている場合、図5(c)に示すような2つのピークを有する周波数分布が得られる。
【0044】
なお、図5(c)に示す例では、検出する周波数に範囲(検出範囲)が設けられている。ここで、区分システムで用いられるバーコードを構成する各バーのピッチ(バー周期)は、通常、紙葉類の搬送速度あるいはプリンタの状態などによって変動するものの、その変動範囲は一定の許容範囲内であることを前提としている。つまり、図5(c)に示すような周波数分析では、所定の許容範囲内の周期で並んでいるバー群をそれぞれバーコードとして検出するようになっている。
【0045】
次に、上述したバー周期による二重印字の検出処理(第1の二重印字検出処理)の流れについて説明する。
図6は、第1の二重印字検出処理の流れを概略的に説明するためのフローチャートである。
上述したように、上記二重印字検出部23には、上記蛍光スキャナ13により読取った蛍光画像(バーコード画像)が供給される。上記蛍光スキャナ13により読取ったバーコード画像が得られると、上記二重印字検出部23は、たとえば、図5(a)に示すように、当該バーコード画像において各バーの長辺に直交する方向で、かつ、最も多くのバーを走査する走査線を決定する。当該バーコード画像における上記走査線を決定すると、上記二重印字検出部23は、当該走査線における濃淡情報を抽出する(ステップS11)。
【0046】
上記濃淡情報が得られると、上記二重印字検出部23は、得られた濃淡情報を高速フーリエ変換などの手法により周波数分析する(ステップS12)。上記周波数分析の結果としての周波数分布が得られると、上記二重印字検出部23は、当該周波数分布においてピークとなる周波数の数(N)を計数する(ステップS13)。ここで、ピークの数(N)としては、たとえば、周波数分布において所定値以上の極大値となる数を計数する。
【0047】
上記周波数分析の結果としてのピークの数(N)を計数すると、上記二重印字検出部23は、ピークの数が複数(N≧2)であるか否かを判断する(ステップS14)。上述したように周波数分析の結果として得られるピークの数は、異なる周期で複数のバーが並んでいるバーコードの数に対応するものである。
従って、上記二重印字検出部23は、上記周波数分布におけるピークの数が複数であると判断した場合(ステップS14、YES)、当該バーコード画像にはバー周期が異なる複数のバーコードが重ねてプリントされているものと判定する(ステップS15)。これに対して、上記周波数分布におけるピークの数が1つであると判定した場合(ステップS14、NO)、上記二重印字検出部23は、少なくとも周波数解析で検出可能な範囲では、バー周期の異なる複数のバーコードは検出されなかったものと判定する。
【0048】
上記のように、バーの周期によるバーコードの二重印字の検出方法(第1の二重印字検出処理)では、バーコード全体の画像(蛍光スキャナ13により読取った蛍光画像)に対して特定の周期を持つバー群が複数であるか否かによりバーの周期の異なるバーコードが複数存在するか否かを判定する。すなわち、第1の二重印字検出処理では、バーコードの画像(蛍光スキャナ13により読取った蛍光画像)に対して、複数のバーの並び方向における周波数分析を行うことにより、複数のバーコードの有無を判定する。これにより、第1の二重印字検出処理によれば、各バーの並び方向において各バーがずれた状態で複数のバーコードが重ねてプリントされていることを容易に判別できる。
【0049】
次に、二重印字の検出処理としての第2の二重印字検出処理について説明する。
本第2の二重印字検出処理は、誤り訂正されたバーの位置に着目することによりバーコードの二重印字を検出する方式(誤り訂正されたバーの位置による二重印字の検出処理)である。すなわち、本第2の二重印字検出処理では、紙葉類における所定の位置(ほぼ同じ位置)から全体の長さ(バーの数)が異なる複数のバーコードが重ねて印字されているものを検出するものである。
【0050】
一般に、種々の仕様のバーコートのなかには、任意の数のバーにより構成される仕様のバーコードがある。このような仕様のバーコードでは、表現すべき情報が異なれば、バーコードの長さ(バーの数)が異なる。このため、全長が異なる複数のバーコードが所定の位置(ほぼ同じ位置)に重ねて印字されていれば、誤って認識されるバー(誤り訂正されるバー)の分布に特徴が現れると考えられる。つまり、異なる長さのバーコードがほぼ同じ位置を基準に印字されている場合、重ね印字されている部分(バーコード全体における印字開始位置側)に誤り訂正されるバーが集中すると考えられる。
【0051】
図7(a)及び(b)は、異なる全長の2つのバーコードが重ねてプリント(二重印字)された状態のバーコード画像(蛍光スキャナ13で読取った蛍光画像)の例を示す図である。ただし、図7(a)及び(b)では、2つのバーコードが重ねてプリントされている状態が視認しやすように、複数のバーからなる第1のバーコードを黒色で図示し、複数のバーからなる第2のバーコードを斜線で図示している。
【0052】
図7(a)では、複数のバーからなる第1のバーコードと、その第1のバーコードよりも少ない数のバーからなる第2のバーコードとが二重印字されているバーコード画像の例を示している。また、図7(a)に示す例では、各バーコードが所定の印字開始位置としてのバーコードの右端から順に各バーがプリントされている。図7(a)に示すバーコード画像では、第1のバーコードを構成する複数のバーの一部と第2のバーコードを構成する複数のバーの一部とが重ねてプリントされている。
【0053】
図7(a)に示すバーコード画像に対して、上記バー検出部21では、重ねてプリントされている2つのバーを、1つのバーとして検出する。このため、第1のバーコードを基準とした場合、第1のバーコードを構成する各バーのうち、第2のバーコードのバーが重ねてプリントされたことにより、長さが変更された状態となる各バーは、誤検出されることとなる。また、図7(a)に示すバーコード画像において、第1のバーコードのうち左側の各バー(第2のバーコードのバーが重ねてプリントされていない各バー)は、上記バー検出部21により正しく検出される。
【0054】
すなわち、図7(a)に示すような状態のバーコード画像に対して、上記バー検出部21は、右端のバーと、第2のバーコードの各バーが重ねてプリントされることにより長さが変更された各バーと、を誤検出した状態の第1のバーコードの検出結果を得る。図7(a)に示す例では、第1のバーコードの左側を中心する領域に存在する多くのバーが第1のバーコードを構成する複数のバーとして正しく検出される。このため、上記復号部22では、第1のバーコードの誤り訂正符号による誤り訂正処理によって、第2のバーコードの各バーが重ねて印字されていることにより第1のバーコードの検出結果としては誤検出された状態となる各バーを訂正することとなる。
【0055】
図7(b)は、図7(a)に示すバーコードの画像において、第1のバーコードを基準とした場合に、誤りとして訂正される各バーを示している。すなわち、図7(b)に示す例では、誤りとして訂正される各バーは、第1のバーコードを構成するバーのうち、第2のバーコードのバーが重ねてプリントされたことによりバーの長さが変更されたものである。このため、誤り訂正されたバーが集中している領域は、複数のバーコードが重ねてプリントされている領域であると推定できる。すなわち、第2の二重印字検出処理では、複数のバーコードが重ねてプリントされている領域には誤り訂正されるバーが集中することに着目している。
【0056】
また、図7(b)に示すように、バーコードの全長(バーの数)が可変で、かつ、各バーコードの印字開始位置が一定であることを前提とすれば、全長(バーの数)が異なる2つのバーコードが重ねてプリントされている場合、印刷開始位置を基準として、全長の短い方のバーコードに対応する領域に誤り訂正が現れる。この点に着目すると、印刷開始位置側の領域(バーコードの前半部分)に誤り訂正が多く、印刷開始位置の反対側の領域(バーコードの後半部分)に誤り訂正が少なければ、全長(バーの数)が異なる2つのバーコードが重ねてプリントされている可能性が高いと推定できる。
【0057】
なお、第2の二重印字検出処理が適用されるバーコード認識部12は、図2に示すような構成において、バーの検出結果と誤り訂正の結果(誤り訂正されたバーを示す情報)とが復号部22から二重印字検出部23に供給されるように構成されているものとする。また、本実施の形態では、紙葉類に付与されるバーコードは、図7(a)に示すように、紙葉類における所定位置を基準に右側から順次各バーがプリントされるものであることを前提するものとする。従って、以下に説明する二重印字検出処理では、バーコードの右端がバーコードの印字開始位置であると想定しているものである。
【0058】
次に、上述した誤り訂正されたバーの位置による二重印字の検出処理(第2の二重印字検出処理)の流れについて説明する。
図8は、第2の二重印字検出処理の流れを概略的に説明するためのフローチャートである。
上述しように、本第2の二重印字検出処理は、バーコードの印字開始位置がほぼ一定で、かつ、バーコードの全長(バーの数)が可変であることを前提とし、誤り訂正されたバーの位置が相対的にバーコードの印字開始位置側(図7(a)に示す例では右側)に多くなっているか否かにより、二重印字か否かを判定する。すなわち、第2の二重印字検出処理は、誤り訂正されたバーの位置の分布が二重印字らしいか否かを判定するものである。このような誤り訂正されたバーの位置の分布が二重印字らしいか否かを判定する手法には、種々の手法が考えられる。ここでは、誤り訂正されたバーの位置による二重印字の検出処理の例として、検出されたバーコード全体を左右の領域に分割し、左の領域(バーコードの後半部分)における誤り訂正の数と右の領域(バーコードの前半部分)における誤り訂正の数とに基づいて、二重印字か否かを判定する二重印字検出処理について説明するものとする。
【0059】
すなわち、上記二重印字検出部23は、上記バー検出部21により検出された全てのバーの位置を示す情報と誤り訂正されたバーの位置を示す情報とを上記復号部22から取得する(ステップS20)。これらの情報を復号部22から取得すると、上記二重印字検出部23は、検出された全てのバーからなるバーコード全体を、当該バーコードの後半部分となる左側の領域(左側のバー群)と、当該バーコードの前半部分となる右側の領域(右側のバー群)とに分割する(ステップS21)。
【0060】
当該バーコード全体(検出された全てのバー)を左右の領域に分けると、上記二重印字検出部23は、左側の領域において誤り訂正されたバーの数(A)を判定する(ステップS22)。同様に、上記二重印字検出部23は、右側の領域において誤り訂正されたバーの数(B)を判定する(ステップS23)。左右の領域におけるバーの数(A及びB)をそれぞれ判定すると、上記二重印字検出部23は、左側の領域において誤り訂正されたバーの数(A)が所定の第1の閾値(T1)未満で、かつ、右側の領域において誤り訂正されたバーの数(B)が所定の第2の閾値(T2)以上であるか否かを判定する(ステップS24)。
【0061】
上記第1の閾値(T1)は、バーコードの印字開始位置を基準としてバーコードの後半部分において誤り訂正されたバーの数が所定の値よりも少ないことを判定するための閾値である。上記第2の閾値(T2)は、バーコードの印字開始位置を基準としてバーコードの前半部分において誤り訂正されたバーの数が所定の値以上であるか否かを判定するための閾値である。また、上記第2の閾値(T2)は、少なくとも第1の閾値(T2)よりも大きな値である。
【0062】
すなわち、上記第1の閾値と上記第2の閾値とは、印字開始位置を基準とするバーコードの前半部分と後半部分とにおいて、誤りと判定されたバー(誤検出と判定されたバー)の数の比率が、所定の割合以上であるか否かを判定するものである。従って、上記第1及び第2の閾値は、たとえば、運用上、各バーコードの全長(バーの数)がどの程度変動するかに応じて設定されるべき値である。すなわち、上記第1及び第2の閾値をどのような値に設定するかは、バーコードの仕様あるいは運用形態に応じて適宜設定されるべきである。
【0063】
上記判定により左側の領域において誤り訂正されたバーの数(A)が所定の第1の閾値(T1)未満で、かつ、右側の領域において誤り訂正されたバーの数(B)が所定の第2の閾値(T2)以上であると判定した場合(ステップS24、YES)、上記二重印字検出部23は、バーコードが二重印字されているものと判定する(ステップS25)。これ以外の場合(たとえば、誤り訂正されたバーの数(A)が所定の第1の閾値(T1)以上である場合、あるいは、右側の領域において誤り訂正されたバーの数(B)が所定の第2の閾値(T2)未満である場合)(ステップS24、NO)、上記二重印字検出部23は、誤り訂正されたバーの位置による二重印字の検出処理ではバーコードの二重印字が検出されなかったものと判定する。
【0064】
上記のように、誤り訂正されたバーの位置によるバーコードの二重印字の検出処理(第2の二重印字検出処理)では、バーコードの全長(バーの数)が可変で、各バーコードの印刷位置が特定できる場合、誤り訂正処理により訂正されるバー(誤検出と判定されたバー)の分布に基づいて複数のバーコードの重ねて印字されているか否かを判定する。これにより、第2の二重印字検出処理では、2つのバーコードが、ほとんど位置ずれ無しで、重ねてプリントされた状態であっても、二重印字であることを検出することができる。
【0065】
次に、二重印字の検出処理としての第3の二重印字検出処理について説明する。
本第3の二重印字検出処理は、誤り訂正されたバーの種類に着目することによりバーコードの二重印字を検出する方式(誤り訂正されたバーの種類による二重印字の検出処理)である。本第3の二重印字検出処理では、誤り訂正処理によって、どのような種類のバーがどのような種類のバーに訂正されたかに基づいて、複数のバーコードが重ねて印字されているか否かを判定する。
【0066】
ほぼ同じ周期で複数のバーが並んでいる複数のバーコードがほぼ同じ位置から印字されると、各バーコードの各バーがそれぞれ重なって印字される。たとえば、第1のバーコードを構成する各バーと第2のバーコードを構成する各バーとがそれぞれ重なった状態でプリントされている場合、上記バー検出部21は、重なった状態の各バーからなる1つのバーコードを検出する。この場合、第1のバーコードを基準とすると、第1のバーコードを構成する各バーは、重ねて印字される第2のバーコードを構成する各バーの種類によって、種類(バーの長さ)が変化してしまうことがある。たとえば、重ねて印字されるバーにより長さが変更されるバーは、本来のバーの種類よりも長い種類のバーとして検出される。逆に、重ねて印字されてもバーの長さが変更されないバーは、第2のバーコードのバーが重ねて印字されても、本来の種類のバーとして検出される。
【0067】
すなわち、第1のバーコードを構成する各バーと第2のバーコードを構成する各バーとがそれぞれ重なって印字されている場合、長いバーとして誤検出されるバーが多くなるという傾向がある。このような点に着目して、本第3の二重印字検出処理では、誤り訂正による訂正結果を分析することにより、長いバーから短いバーに訂正されたバーの数に基づいて複数のバーコードが重ねて印字されているか否かを判定するものである。
【0068】
図9は、第1のバーコードを構成する各バーと第2のバーコードを構成する各バーとがそれぞれ重ねてプリント(二重印字)された状態のバーコード画像(蛍光スキャナ13で読取った蛍光画像)の例を示す図である。
ただし、図9では、2つのバーコードの各バーがそれぞれ重ねてプリントされている状態が視認しやすように、第1のバーコードを構成する各バーを黒色で図示し、第2のバーコードを構成する各バーを斜線で図示している。また、図9には、第1のバーコードの誤り訂正符号に基づく誤り訂正処理(つまり、第1のバーコードを基準とする誤り訂正処理)による各バーに対する訂正結果も図示している。
【0069】
図9に示すように、誤り訂正処理に訂正される各バーは、第1のバーコードを構成する各バーのうち第2のバーコードを構成する各バーが重ねてプリントされたことによって長さが変更されたバーである。つまり、第1のバーコードを構成する各バーに第2のバーコードを構成する各バーがそれぞれ重ねてプリントされた場合、二重印字により誤検出されるバー、つまり、誤り訂正処理により訂正されるバーには、特定の傾向が現れる。たとえば、図3に示すような4種類のバーで表現されるフォー・ステート・バーコードでは、二重印字により以下のような誤検出が起こると考えられる。
【0070】
アセンダバーは、ロングバーあるいはデセンダバーが重ねてプリントされた場合、ロングバーとして誤検出される。これに対して、アセンダバーあるいはタイミングバーが重ねてプリントされた場合、アセンダバーは、誤検出されることなく、アセンダバーとして検出される。
デセンダバーは、ロングバーあるいはアセンダバーが重ねてプリントされた場合にロングバーとして誤検出される。これに対して、デセンダバーあるいはタイミングバーが重ねてプリントされた場合、デセンダバーは、誤検出されることなく、アセンダバーとして検出される。
【0071】
タイミングバーは、ロングバーが重ねてプリントされた場合にロングバーとして誤検出され、アセンダバーが重ねてプリントされた場合にアセンダバーとして誤検出され、デセンダバーが重ねてプリントされた場合にデセンダバーとして誤検出される。これに対して、タイミングバーが重ねてプリントされた場合、タイミングバーは、誤検出されることなく、タイミングバーとして検出される。
ロングバーには、どの種類のバーが重ねてプリントされても、誤検出されることなく、ロングバーとして検出される。
【0072】
上記のような二重印字に起因する誤検出の傾向に着目すると、二重印字により誤検出されたバーは、長いバーから短いバーに訂正されたものとなる。たとえば、フォー・ステート・バーコードでは、二重印字により誤検出されたバーの訂正結果は、以下に示す(3−1)〜(3−5)の何れかになると推定される。
【0073】
(3−1)ロングバーからアセンダバーに訂正されたバー。
【0074】
(3−2)ロングバーからデセンダバーに訂正されたバー。
【0075】
(3−3)ロングバーからタイミングバーに訂正されたバー。
【0076】
(3−4)アセンダバーからタイミングバーに訂正されたバー。
【0077】
(3−5)デセンダバーからタイミングバーに訂正されたバー。
従って、上記(3−1)〜(3−5)のように誤り訂正されたバーは、二重印字により誤検出されたバーである可能性が高いと推定できる。
【0078】
上述のような重ね印字に起因する誤検出に対する誤り訂正の傾向を特定しておくことにより、誤り訂正の結果に基づいてバーコードの二重印字の有無を判定することが可能となる。すなわち、本第3の二重印字検出処理では、重ね印字に起因する誤検出に対する誤り訂正のパターンで誤り訂正されたバー(長いバーから短いバーに訂正されたバー)の数に基づいてバーコードの二重印字の有無を判定する。たとえば、第3の二重印字検出処理の例としては、訂正された全てのバーの数と長いバーから短いバーに訂正されたバーの数との比率が所定の閾値以上であるか否かに基づいて、バーコードが二重印字されているか否かを判定することが可能である。これにより、第3の二重印字検出処理では、2つのバーコードが、ほとんど位置ずれ無しで、重ねてプリントされた状態であっても、二重印字を検出することができる。
【0079】
なお、第3の二重印字検出処理が適用されるバーコード認識部12では、図2に示すような構成において、バーの検出結果と誤り訂正の結果(誤り訂正前のバーの種類と誤り訂正後のバーの種類とを示す情報)とが復号部22から二重印字検出部23に供給されるように構成されているものとする。
【0080】
次に、上述した誤り訂正されたバーの種類による二重印字の検出処理(第3の二重印字検出処理)の流れについて説明する。
図10は、第3の二重印字検出処理の流れを概略的に説明するためのフローチャートである。
上述しように、本第3の二重印字検出処理は、複数のバーコードを構成する各バーがそれぞれ位置ずれなく重ねて印字されていることを前提としている。すなわち、第3の二重印字検出処理では、2つのバーコードの印字開始位置と各バーのピッチとがほぼ同じで、かつ、各バーの並び方向に直交する方向の位置ずれもほとんどない状態(たとえば、重ねてプリントされている同じ種類のバーが誤検出されない程度である状態)で二重印字されているものを検出することを想定している。
【0081】
第3の二重印字検出処理は、誤り訂正されたバーの種類が二重印字らしいか否かを判定するものである。このような誤り訂正されたバーの種類に基づいて二重印字らしいか否かを判定する手法には、種々の手法が考えられる。ここでは、誤り訂正されたバーの種類による二重印字の検出処理の例として、誤り訂正された全てのバーの数と長いバーから短いバーに訂正されたバーの数との比率に基づいて、二重印字か否かを判定する手法について説明するものとする。また、以下の説明では、バーコードとして、上述したようなフォー・ステート・バーコードが用いられている場合を想定するものとする。
【0082】
すなわち、上記二重印字検出部23は、上記復号部22による誤り訂正処理の結果として、誤り訂正された全てのバーについて訂正前のバーの種類と訂正後のバーの種類とを示す情報を取得する(ステップS30)。これらの情報を復号部22から取得すると、上記二重印字検出部23は、誤り訂正されたバーのうち、ロングバーからアセンダバーに訂正されたバーの数(B1)、ロングバーからデセンダバーに訂正されたバーの数(B2)、および、ロングバーからタイミングバーに訂正されたバーの数(B3)をそれぞれ計数する(ステップS31、S32、S33)。
【0083】
同様に、上記二重印字検出部23は、誤り訂正の結果に基づいて、誤り訂正されたバーのうち、アセンダバーからタイミングバーに訂正されたバーの数(B4)、および、デセンダバーからタイミングバーに訂正されたバーの数(B5)をそれぞれ計数する(ステップS34、S35)。さらに、上記二重印字検出部23は、上記B1〜B5以外の訂正されたバーの数(B6)を計数する。
【0084】
上記B1〜B6が計数されると、上記二重印字検出部23は、訂正された全てのバーの数(B1+B2+B3+B4+B5+B6)と長いバーから短いバーに訂正されたバーの数(B1+B2+B3+B4+B5)との比率を示す評価値Rを算出する。たとえば、評価値Rは、以下の数式により算出される。
R=(B1+B2+B3+B4+B5)/(B1+B2+B3+B4+B5+B6)
すなわち、上記評価値Rは、訂正された全てのバーの数に対する長いバーから短いバーに訂正されたバーの数の比率を示すものである。たとえば、図9に示すように、二重印字に起因する誤検出のみが訂正された場合、全ての訂正が長いバーから短いバーに訂正するものであると考えられる。ただし、一般には、二重印字に起因しない通常の誤検出などについても誤り訂正が行われるものとを考えられる。このため、上記二重印字検出部23では、通常の誤検出によるバーの訂正数を考慮した閾値Cを設定しておき、上記評価値Rが上記閾値C以上であるか否かにより二重印字の有無を判定している(ステップS38)。
【0085】
上記判定により評価値Rが閾値C以上であると判定した場合(ステップS38、YES)、上記二重印字検出部23は、バーコードが二重印字されているものと判定する(ステップS39)。また、上記判定により上記評価値Rが上記閾値C未満であると判定した場合(ステップS38、NO)、上記二重印字検出部23は、本方式により検出可能なバーコードの二重印字はないと判定する。
【0086】
なお、上記閾値Cは、バーコードの仕様および区分システムの運用形態に応じて適宜設定されるようにすれば良い。たとえば、正常にプリントされた状態のバーコードを構成する各バーの検出精度が高いシステムであれば(バーの誤検出が少ない運用形態であれば)、上記閾値Cを大きくし、各バーの検出精度が低いシステムであれば(一般にバーの誤検出が多い運用形態であれば)、上記閾値Cを小さくするような形態が考えらえる。また、上記閾値Cは、全てのバーの数に対する訂正されたバーの数の比率(訂正率)に応じた値に可変設定されるようにしても良い。
【0087】
また、上述した処理例では、訂正されたバーの数が極端に少ない場合であっても、上記評価値Rに基づいてバーコードの二重印字が検出される。たとえば、バーコード全体のうち長いバーから短いバーに訂正されたバーが1つだけあった場合、上記評価値(比率)Rが最大となる。しかしながら、上記第3の二重印字検出処理では、基本的に、バーコードが二重印字されている場合にはある程度の数のバーが訂正されることを想定している。従って、上記第3の二重印字検出処理は、全てのバーの数に対する訂正されたバーの数の比率(訂正率)が所定値以上である場合に実行するようにしても良い。これにより、訂正されたバーの数が極端に少ない場合、訂正されたバーの種類によるバーコードの二重印字を行わないようにすることも可能である。
【0088】
上記のように、誤り訂正されたバーの種類による二重印字の検出処理(第3の二重印字検出処理)では、重ね印字に起因する誤検出に対する誤り訂正のパターンで誤り訂正されたバー(長いバーから短いバーに訂正されたバー)の数に基づいてバーコードの二重印字の有無を判定する。これにより、第3の二重印字検出処理では、2つのバーコードがほとんど位置ずれ無しで重ねてプリントされた状態であっても、二重印字を検出することができる。
【0089】
次に、上記二重印字検出部23におけるバーコードの二重印字の検出処理としての第4の二重印字検出処理について説明する。
本第4の二重印字検出処理は、バーコードを構成する各バーの長さに着目することにより、バーコードの二重印字を検出する方式(バーの長さによる二重印字の検出処理)である。第4の二重印字検出処理では、バーコードを構成する各バーの並び方向に対して直交する方向(各バーの長辺方向)にずれた状態で複数のバーコードが重ねてプリントされていることを検出するものである。
【0090】
すなわち、各バーの並び方向における印字開始位置がほぼ同じ(あるいは各バーのピッチの整数倍ずれている状態)で、かつ、各バーのピッチがほぼ同じ第1のバーコードと第2のバーコートとが、各バーの長辺方向にずれて印字されている場合、通常の規定外の長さとなるバーが検出される可能性が高い。たとえば、第1のバーコードのロングバーと第2のバーコードのロングバーとが長辺方向にずれた状態で重ねて印字されると、それらの重ねて印字されたロングバーは、長辺方向にずれてプリントされている分だけ正常なロングバーよりも長いバーとして検出される。このような現象に着目することにより、第4の二重印字検出処理では、正常にプリントされたバーの長さとしての所定の最大値よりも長いバーが検出されたか否かによりバーコードの二重印字の有無を判定する。
【0091】
図11は、2つのバーコードが重ねてプリント(二重印字)されたバーコード画像(蛍光スキャナ13で読取った蛍光画像)の例を示す図である。図11では、各バーの並び方向における印字開始位置がほぼ同じ(あるいは各バーのピッチの整数倍ずれている状態)で、かつ、各バーのピッチ(バーの周期)とがほぼ同じ第1のバーコードと第2のバーコードとが上下方向にずれて二重印字されているバーコード画像の例を示している。なお、図1及び2に示す区分システムにおいて、各バーコードを構成する全てのバーは、蛍光の画像として検出されるものである。ただし、図11では、2つのバーコードが重ねてプリントされている状態が視認しやすように、第1のバーコードを構成する各バーを黒色で図示し、第2のバーコードを構成する各バーを斜線で図示している。
【0092】
図11に示す例では、第1のバーコードを構成する複数のバーのうち第2のバーコードを構成するバーに連結された状態となっているものがある。たとえば、第1のバーコードには、第2のバーコードのロングバーに連結された状態となっているロングバーがある。第1のバーコートには、第2のバーコードのアセンダバーに連結された状態となっているロングバーもある。フォー・ステート・バーコードでは、ロングバーが最も長いバーである。従って、正常にプリントされたバーコードからは、ロングバーよりも長いバーは検出されない。しかしながら、図11に示すように、第2のバーコードのバーに連結された状態となっているロングバーは、通常のロングバーよりも長いバーとして検出される。また、第2のバーコードのロングバーが連結された第1のバーコードのバーも、通常のロングバーよりも長いバーとして検出される可能性がある。
【0093】
すなわち、長さが最大となるバーの長さによりも長いバーが検出された場合、各バーの並び方向に直交する方向にずれた状態で複数のバーコードが重ねてプリントされている二重印字である可能性が高いと推定できる。この点に着目することにより、第4の二重印字検出処理では、正常にプリントされた状態の各バーがとりうる長さの最大値を閾値TLとして設定しておき、上記閾値TL以上の長さとなるバーが存在するか否かによりバーコードが二重印字されているか否かを判定する。ただし、バーの長さを誤検出する可能性があるため、後述する処理例では、上記閾値TL以上の長さとなるバーが所定の閾値TN以上存在するか否かにより二重印字か否かを判定するようになっている。
【0094】
次に、上述した各バーの長さによる二重印字の検出処理(第4の二重印字検出処理)の流れについて説明する。
図12は、各バーの長さによる二重印字の検出処理の流れを概略的に説明するためのフローチャートである。
上述したように、上記二重印字検出部23には、上記蛍光スキャナ13により読取った蛍光画像(バーコード画像)が供給される(ステップS40)。上記蛍光スキャナ13により読取ったバーコード画像が得られると、上記二重印字検出部23は、当該バーコード画像において所定の閾値TL以上の長さとなっているバーを探索する(ステップS41)。これにより閾値TL以上の長さのバーを発見すると、上記二重印字検出部23は、所定の閾値TL以上の長さとなっているバーの数(N)を計数する(ステップS42)。
【0095】
上記バーコード画像における閾値TL以上の長さのバーを探索する処理を終了すると、上記二重印字検出部23は、閾値TL以上の長さとなっているバーの数(N)が所定の閾値TN以上であるか否かを判断する(ステップS43)。この判断により閾値TL以上の長さとなっているバーの数(N)が所定の閾値TN以上であると判断した場合(ステップS43、YES)、上記二重印字検出部23は、当該バーコード画像においてバーコードが二重印字されていると判定する(ステップS44)。また、上記判断により閾値TL以上の長さとなっているバーの数(N)が閾値TN未満であると判断した場合(ステップS43、NO)、上記二重印字検出部23は、本方式により検出可能なバーコードの二重印字はないと判定する。
【0096】
上記のように、バーの長さによる二重印字の検出処理(第4の二重印字検出処理)では、所定の最大値よりも長いバーの数を検出し、所定の最大値よりも長いバーの数が所定の閾値以上であるか否かによりバーコードの二重印字の有無を判定する。これにより、第4の二重印字検出処理では、各バーの並び方向におけるずれがなく、かつ、各バーの並び方向に対して直交する方向(バーの長辺方向)にずれた状態で重ねてプリントされた複数のバーコードを二重印字として容易に検出することができる。
【0097】
次に、上記二重印字検出部23におけるバーコードの二重印字の検出処理としての第5の二重印字検出処理について説明する。
本第5の二重印字検出処理は、バーコードを構成する各バーの端点の位置に着目することにより、バーコードの二重印字を検出する方式(各バーの端点による二重印字の検出処理)である。第5の二重印字検出処理では、バーコードを構成する各バーの並び方向に対して直交する方向(各バーの長辺方向)にずれた状態で重ねてプリントされた複数のバーコードを検出するものである。
【0098】
すなわち、重ね印字などがなく正常に印字されているバーコードでは、各バーの端点が各バーの長辺方向における所定の複数の位置に集中する。言い換えると、正常に印字されているバーコードでは、各バーの端点が各バーの並び方向に平行な所定数の直線上に存在する。たとえば、図3に示すようなフォー・ステート・バーコードは、4種類のバーにより構成される。このため、正常に印字された状態において、フォー・ステート・バーコードの各バーの端点は、各バーの並び方向に平行な4つの直線上の何れかに存在する。このような現象に着目することにより、第5の二重印字検出処理では、各バーの端点が各バーの並び方向に平行な所定数の直線上に存在するか否かによりバーコードの二重印字の有無を判定する。
【0099】
図13は、正常にプリントされているフォー・ステート・バーコードのバーコード画像(蛍光スキャナ13で読取った蛍光画像)の例を示す図である。図13に示すように、正常にプリントされているフォーステートバーコードでは、各バーの並び方向に平行な4つの直線S1、S2、S3、S4の何れかの直線上に各バーの端点が存在する。たとえば、ロングバーの一方の端点(図中上側の端点)は直線S1上に存在し、他方の端点(図中下側の端点)は直線S4上に存在する。また、アセンダバーの一方の端点(図中上側の端点)は直線S1上に存在し、他方の端点(図中下側の端点)は直線S3上に存在する。また、デセンダバーの一方の端点(図中上側の端点)は直線S2上に存在し、他方の端点(図中下側の端点)は直線S4上に存在する。また、タイミングバーの一方の端点(図中上側の端点)は直線S2上に存在し、他方の端点(図中下側の端点)は直線S3上に存在する。
【0100】
このように、別のバーコードが各バーの長辺方向(図中の上下方向)にずれた状態で重ねて印字されると、4つの直線S1〜S4上以外の位置が端点となるバーが現れる。言い換えると、別のバーコードが各バーの長辺方向(図中の上下方向)にずれた状態で重ねて印字されている場合、並び方向に平行な直線で各バーの各端点を結ぶには5本以上の直線が必要となる。つまり、各バーの並び方向に対して直交する方向(バーの長辺方向)において、各バーの端点の位置が4点以上となるか否かにより、バーコードが二重印字されているか否かが判定できる。
【0101】
図14(a)は、正常にプリントされた状態のバーコードの例を示す図である。図14(b)は、図14(a)に示すバーコードを構成する各バーの端点を図示したものである。図14(c)は、各バーの並び方向に対して直交する方向(バーの長辺方向)における図14(b)に示す各バーの端点の射影値を示す図である。
図14(c)に示すように、正常にプリントされた状態のバーコードでは、バーの長辺方向における各バーの端点の射影値が4つのピークを与えるものとなる。これに対して、端点の位置が図14(c)に示すピークと異なる位置となるバーが存在すれば、正常にプリントされていないバーコードであると推定できる。つまり、バーコードが上下方向(各バーの並び方向に対して直交する方向)にずれた状態で重ねて印字されていれば、図14(c)に示すような射影値のピークが5以上となる。
【0102】
次に、上述した各バーの端点による二重印字の検出処理(第5の二重印字検出処理)の流れについて説明する。
図15は、各バーの端点による二重印字の検出処理の流れを概略的に説明するためのフローチャートである。
ここでは、第5の二重印字検出処理の例として、バーの長辺方向における各バーの端点の射影値を取って、その射影値のピークが所定の閾値(フォー・ステート・バーコードでは「5」)以上であるか否かによりバーコードが二重印字されているか否かを判定する手順について説明するものとする。
【0103】
すなわち、上記二重印字検出部23には、上記蛍光スキャナ13により読取った蛍光画像(バーコード画像)が供給される(ステップS50)。上記蛍光スキャナ13により読取ったバーコード画像が得られると、上記二重印字検出部23は、当該バーコード画像において各バーの端点を検出する(ステップS51)。各バーの端点を検出すると、上記二重印字検出部23は、各バーの並び方向に対して直交する方向(バーの長辺方向)における各バーの各端点の位置を判定する。この判定結果に基づいて、上記二重印字検出部23は、バーの長辺方向における各バーの各端点の射影値を計算する(ステップS52)。
【0104】
各バーの各端点の射影値を計算すると、上記二重印字検出部23は、当該射影値からピークの数(Np)を計数する(ステップS53)。上記射影値のピークの数(Np)を計数すると、上記二重印字検出部23は、上記ピークの数(Np)が当該バーコードを構成するバーの種類(バーコードの仕様)に応じた所定の閾値(Tp)以上であるか否かを判定する(ステップS54)。上記判定によりピークの数(Np)が所定の閾値(Tp)以上であると判定された場合(ステップS54、YES)、上記二重印字検出部23は、複数のバーコードが重ねて印字されているものと判定する(ステップS55)。また、上記判定によりピークの数(Np)が所定の閾値(Tp)未満であると判定された場合(ステップS54、NO)、上記二重印字検出部23は、本方式により検出可能な二重印字が検出されなたったものと判定する。
【0105】
なお、上記閾値Tpは、バーコードを構成するバーの種類(バーコードの仕様)に応じて設定される値である。たとえば、図3に示すような4種類のバーで表現されるフォー・ステート・バーコードでは、上述したように、正常に印字されている場合には4つのピークが現れ、二重印字されている場合には5以上のピークが現れる。このため、バーコードとして、図3に示すような仕様のフォー・ステート・バーコードが用いられる場合、上記閾値Tpとしては、「5」が設定される。
【0106】
上記のように、バーの端点による二重印字の検出処理(第5の二重印字検出処理)では、各バーの並び方向に対して直交する方向において、全てのバーの各端点の位置が所定の数箇所に集中しているか否かによりバーコードの二重印字の有無を判定する。これにより、第5の二重印字検出処理では、各バーの並び方向におけるずれ(印字開始位置のずれ、あるいは、各バーのピッチのずれ等)がない状態であっても、各バーの並び方向に対して直交する方向(バーの長辺方向)にずれた状態で重ねてプリントされた複数のバーコードを二重印字として容易に検出することができる。
【0107】
上述したように、本実施の形態では、バーコードの二重印字を検出するための手法として、5つの方式について説明している。これらの方式は、ぞれぞれが単独でバーコードの二重印字を検出することが可能な処理方法である。ただし、それぞれ複数のバーコードがどのように重ねて印字されているかによって、バーコードの重ね印字を検出するための最適な方式は、異なると想定される。
【0108】
たとえば、上記第1の二重印字検出処理は、バーの周期が異なる複数のバーコードが重ねて印字されている場合、バーコードの重ね印字を検出するのに適している。
また、第2及び第3の二重印字検出処理は、複数のバーコードを構成する各バーの印字位置にずれがない場合、つまり、複数のバーコードにおける各バーがそれぞれ重ねて印字されている場合に、バーコードの重ね印字を検出するのに適している。特に、第2の二重印字検出処理は、全長(バーの数)が異なる2つのバーコードが重ねて印字されている場合に、簡単な処理内容でバーコードの二重印字を検出することができる。また、第3の二重印字検出処理は、何れかの一方のバーコードに付与されている誤り訂正符号を検出できれば、2つのバーコードの全長が大きく異なっていない場合であってもバーコードの二重印字を検出することができる。
【0109】
第4及び第5の二重印字検出処理は、各バーの並び方向に対して直交する方向にずれた状態で複数のバーコードが重ね印字されている場合に、バーコードの重ね印字を検出するのに適している。特に、第4の二重印字検出処理は、各バーの並び方向に対して直交する方向における各バーコードのずれ量が大きい場合、簡単な処理内容でバーコードの重ね印字が検出できる。また、第5の二重印字検出処理は、各バーの並び方向に対して直交する方向における各バーコードのずれ量が少ない場合であっても、バーコードの重ね印字が検出できる。
【0110】
従って、上記二重印字検出部23では、5つの方式の全部あるいは一部を組合せた二重印字の検出処理を実行することにより、様々な状態のバーコードの二重印字を検出することが可能となる。たとえば、運用形態として、各バーの並び方向に対して直交する方向における印字のずれが少ないことが想定される場合、あるいは、バーの周期以外は印字位置のずれが少ない(複数のバーコードにおける各バーがそれぞれ重ねて印字されている)ことが想定される場合、第1、第2及び第3の方式を組み合わせて実施することにより、効率的に高い精度でバーコードの二重印字を検出することが可能となる。
【0111】
なお、上述した実施の形態では、主に、紙葉類に付与されるバーコードの二重印字を検出することを想定して説明している。しかしながら、上述した実施の形態は、紙葉類に付与されるバーコードの二重印字の検出に限定されるものではない。つまり、上述した実施の形態は、一般的な物品に付与されるバーコードの二重印字の検出手法として適用できる。たとえば、物品に設けられているタグに物品管理のためのバーコードを付与する形態では、上述したような手法によりバーコードの二重印字を検出することにより、物品管理の効率化あるいは高精度化が図れると考えられる。
【図面の簡単な説明】
【0112】
【図1】図1は、この発明の実施の形態に係わる紙葉類(物品)を区分処理するための区分システムの概略構成を示す図である。
【図2】図2は、バーコードリーダ12の構成例を示すブロック図である。
【図3】図3は、フォー・ステート・バーコードの例を示す図である。
【図4】図4は、2つのバーコードが重ねてプリント(二重印字)された状態のバーコード画像(蛍光スキャナ13で読取った蛍光画像)の例を示す図である。
【図5】図5(a)は、バーの周期が異なる2つのバーコードが二重印字された状態のバーコード画像の例を示す図である。また、図5(b)は、図5(a)に示すような走査線における濃淡情報を示す図である。また、図5(c)は、図5(c)に示す濃淡情報に対する周波数分析の結果を示す図である。
【図6】図6は、バー周期による二重印字の検出処理の流れを概略的に説明するためのフローチャートである。
【図7】図7(a)は、異なる全長の2つのバーコードが重ねてプリント(二重印字)された状態のバーコード画像の例を示す図である。また、図7(b)は、図7(a)に示すバーコードの画像において、第1のバーコードを基準とした場合に、誤りとして訂正される各バーを示している。
【図8】図8は、誤り訂正されたバーの位置による二重印字の検出処理の流れを概略的に説明するためのフローチャートである。
【図9】図9は、第1のバーコードを構成する各バーと第2のバーコードを構成する各バーとがそれぞれ重ねてプリント(二重印字)された状態のバーコード画像の例を示す図である。
【図10】図10は、誤り訂正されたバーの種類による二重印字の検出処理の流れを概略的に説明するためのフローチャートである。
【図11】図11は、2つのバーコードが重ねてプリント(二重印字)されたバーコード画像の例を示す図である。
【図12】図12は、各バーの長さによる二重印字の検出処理の流れを概略的に説明するためのフローチャートである。
【図13】図13は、正常にプリントされているフォー・ステート・バーコードのバーコード画像の例を示す図である。
【図14】図14(a)は、正常にプリントされた状態のバーコードの例を示す図である。図14(b)は、図14(a)に示すバーコードを構成する各バーの端点を図示したものである。図14(c)は、各バーの並び方向に対して直交する方向(バーの長辺方向)における図14(b)に示す各バーの端点の射影値を示す図である。
【図15】図15は、各バーの端点による二重印字の検出処理の流れを概略的に説明するためのフローチャートである。
【符号の説明】
【0113】
1…区分機本体、2…ビデオコーディング装置(VCS)、10…制御部、11…供給部、12…バーコードリーダ(バーコード認識部)、13…蛍光スキャナ、13a…照明、14…文字認識部、15…スキャナ、16…プリンタ、17…区分部、18…搬送路、21…バー検出部、22…復号部、23…二重印字検出部、24…判定部。

【特許請求の範囲】
【請求項1】
バーコードを含む画像を取得する画像取得部と、
前記画像取得部により取得した画像からバーコードを構成する複数のバーを検出するバー検出部と、
前記バー検出部により検出された各バーの状態に基づいて各バーから構成されるバーコードが示す情報を認識する復号部と、
前記画像取得部により取得したバーコードを含む画像に基づいて複数のバーコードが重ねて印字されているか否かを判定する重ね印字検出部と、
前記重ね印字検出部により複数のバーコードが重ねて印字されていることが検出された場合、前記復号部による前記バーコードの認識結果が無効な情報であると判定し、前記重ね印字検出部により複数のバーコードが重ねて印字されていることが検出されなかった場合、前記復号部による前記バーコードの認識結果を出力する判定部と、
を有することを特徴とするバーコード処理装置。
【請求項2】
前記重ね印字検出部は、前記画像取得部により画像として取得したバーコードを構成する複数のバーの並び方向における各バーの周期に基づいて、複数のバーコードが重ねて印字されているか否かを判定する、
ことを特徴とする前記請求項1に記載のバーコード処理装置。
【請求項3】
前記復号部は、さらに、前記バー検出部により検出された各バーから構成されるバーコードの認識結果に対して誤り訂正を行う手段を具備し、
前記重ね印字検出部は、前記復号部による誤り訂正の結果に基づいて複数のバーコードが重ねて印字されているか否かを判定する、
ことを特徴とする前記請求項1に記載のバーコード処理装置。
【請求項4】
前記重ね印字検出部は、前記画像取得部により画像として取得したバーコードを構成する複数のバーの並び方向に対して直交する方向おける各バーの特徴に基づいて、複数のバーコードが重ねて印字されているか否かを判定する、
ことを特徴とする前記請求項1に記載のバーコード処理装置。
【請求項5】
物品を区分情報に基づいて区分処理する区分装置において、
物品にプリントされているバーコードを含む画像を読取るスキャナと、
前記スキャナにより読取った画像からバーコードを構成する複数のバーを検出するバー検出部と、
前記バー検出部により検出された各バーの状態に基づいて各バーから構成されるバーコードが示す情報を認識する復号部と、
前記スキャナにより読取ったバーコードを含む画像に基づいて複数のバーコードが重ねて印字されているか否かを判定する重ね印字検出部と、
前記重ね印字検出部により複数のバーコードが重ねて印字されていることが検出された場合、前記復号部により認識された情報が無効な情報であると判定し、前記重ね印字検出部により複数のバーコードが重ねて印字されていることが検出されなかった場合、前記復号部によるバーコードの認識結果を当該物品の区分情報と判定する判定部と、
前記判定部により当該物品の区分情報と判定されたバーコードの認識結果に基づいて当該物品を区分する区分部と、
を有することを特徴とする区分装置。
【請求項6】
前記重ね印字検出部は、前記スキャナにより画像として読取ったバーコードを構成する複数のバーの並び方向における各バーの周期に基づいて、複数のバーコードが重ねて印字されているか否かを判定する、
ことを特徴とする前記請求項5に記載の区分装置。
【請求項7】
前記復号部は、さらに、前記バー検出部により検出された各バーから構成されるバーコードの認識結果に対して誤り訂正を行う手段を具備し、
前記重ね印字検出部は、前記復号部による誤り訂正の結果に基づいて複数のバーコードが重ねて印字されているか否かを判定する、
ことを特徴とする前記請求項5に記載の区分装置。
【請求項8】
前記重ね印字検出部は、前記スキャナにより画像として読取ったバーコードを構成する複数のバーの並び方向に対して直交する方向おける各バーの特徴に基づいて、複数のバーコードが重ねて印字されているか否かを判定する、
ことを特徴とする前記請求項5に記載の区分装置。
【請求項9】
バーコード処理装置に用いられるバーコード処理方法であって、
バーコードを含む画像を取得し、
前記取得した画像からバーコードを構成する複数のバーを検出し、
前記検出された各バーの状態に基づいて各バーから構成されるバーコードが示す情報を認識し、
前記取得したバーコードを含む画像に基づいて複数のバーコードが重ねて印字されているか否かを判定する重ね印字検出処理を行い、
前記重ね印字検出処理により複数のバーコードが重ねて印字されていることが検出された場合、前記バーコードの認識結果が無効な情報であると判定し、
前記重ね印字検出処理により複数のバーコードが重ねて印字されていることが検出されなかった場合、前記バーコードの認識結果を出力する、
ことを特徴とするバーコード処理方法。

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

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2009−157817(P2009−157817A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−337800(P2007−337800)
【出願日】平成19年12月27日(2007.12.27)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】