(57)【特許請求の範囲】
【請求項１】
印字部を有する印字セルと非印字部の非印字セルとを２次元的に組み合わせて情報を符号化したコードを光学的に検出する光学センサと、
前記光学センサにより検出されたコード画像に基づいて前記コードの印字方法の相違によって異なるセル構成情報を検出するセル検出手段と、
前記セル構成情報に基づいて前記コード画像をデコードして情報に変換するデコード手段とを具備することを特徴とする光学的情報読取装置。
【請求項２】
前記セル構成情報は、前記コードのセルピッチであることを特徴とする請求項１記載の光学的情報読取装置。
【請求項３】
前記セル構成情報は、前記コードの印字部間隙であることを特徴とする請求項１記載の光学的情報読取装置。
【請求項４】
前記セル構成情報は、前記コードのセル構成であることを特徴とする請求項１記載の光学的情報読取装置。
【請求項５】
前記コード画像をライン走査し各ラインにおける前記印字部及び前記非印字部の一方若しくは双方の連続長分布を検出するライン検出手段を備え、
前記セル検出手段は、前記ライン検出手段で検出された前記連続長分布の特徴に基づいて前記セル構成情報を検出することを特徴とする請求項１乃至４の何れかに記載の光学的情報読取装置。
【請求項６】
前記ライン検出手段は、前記コード画像を水平方向及び垂直方向に個別にライン走査し、
前記セル検出手段は、夫々の方向における前記連続長分布の特徴に基づいて前記セル構成情報を検出することを特徴とする請求項１乃至５の何れかに記載の光学的情報読取装置。
【請求項７】
前記セル構成情報に基づいて、前記コード画像における隣接する前記印字セル間を接合する接合処理を行い、コードデータを生成する接合手段を備えることを特徴とする請求項１乃至６の何れかに記載の光学的情報読取装置。
【請求項８】
前記接合手段は、前記コード画像に対して飛ばし処理を行うことを特徴とする請求項７記載の光学的情報読取装置。
【請求項９】
前記接合手段は、前記コード画像に対してフィルタ処理を行うことを特徴とする請求項７記載の光学的情報読取装置。
【請求項１０】
前記接合手段は、前記コード画像に対して膨張処理を行うことを特徴とする請求項７記載の光学的情報読取装置。
【請求項１１】
前記接合手段は、前記コード画像の水平方向及び垂直方向の一方に前記印字部の膨張処理を行い、他方に飛ばし処理又はフィルタ処理を行うことを特徴とする請求項７記載の光学的情報読取装置。
【請求項１２】
前記接合手段により処理された前記コードデータに基づいて、前記コードのコード構成を検出するコード構成検出手段を備え、
前記デコード手段は、前記コード構成に基づいて前記コードデータをデコードして情報に変換することを特徴とする請求項７乃至１１の何れかに記載の光学的情報読取装置。
【請求項１３】
前記接合手段は、前記コード構成検出手段において、前記コード構成が検出不可能と判定された場合には、前記コード画像の接合処理を再び行うことを特徴とする請求項１２記載の光学的情報読取装置。
【請求項１４】
外部より前記セル構成情報の少なくとも一つを入力する入力手段と、
入力された前記セル構成情報に基づいて未入力の前記セル構成情報の検出を行う処理を選択する処理選択手段とを備えていることを特徴とする請求項５乃至１３の何れかに記載の光学的情報読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報を符号化したコードを光学的に読取り、デコードして情報に変換する光学的情報読取装置に関する。
【０００２】
【従来の技術】
従来より、複数の物品を一つのライン上に流して各物品を自動的に仕分ける自動仕分けシステムがある。そして、ライン上を流れる各物品には、夫々を識別するため等の情報を符号化したコードたる２次元コードが印字されている。この２次元コードは、例えば黒色の印字部を有する正方形の印字セルと該印字部を有しない正方形で白色の非印字セルとを２次元的に組み合わせて矩形状に形成されており、数字、英字、漢字、かな、記号等の情報が符号化されたものである。そして、光学的情報読取装置によりライン上を流れる各物品の２次元コードが検出され、情報に変換される。自動仕分けシステムは、この光学的情報読取装置により変換された情報に基づいて、自動的に各物品の仕分けが行われるように構成されている。
【０００３】
ところで、各物品に印字される２次元コードの印字セル内の印字部の形状（セル構成）には、その印字方法により、印字セル内が完全に黒色に印字された矩形型印字セルと、印字セル内に略円形状の黒色のドットパターンが印字された円形型印字セルとがある。後者には更に、１セル内に複数のドットパターンが集合的に印字された複数円型印字セルと、１セル内に単一のドットパターンが印字された単一円型印字セルとがある。しかも、円形型印字セルの場合には、隣接するドットパターン間に間隙（白色部分）が生じたり、隣接するドットパターン同士がつながったりして印字状態が変化することがある。（以上、図３参照）
このように物品に印字される２次元コードは、印字方法の違いにより、セル構成が異なるものが存在する。その一方で、光学的情報読取装置は、これらセル構成の異なる２次元コードの何れをも正確に読み取る性能が必要となる。
【０００４】
図２１は、光学的情報読取装置１００の従来構成を示すものである。この光学的情報読取装置１００は、ライン１０１上を流れる物品１０２に印字された２次元コード例えばＱＲコード１０３を光学的に検出する光学センサたるＣＣＤカメラ１０４と、ＣＣＤカメラ１０４により検出されたＱＲコード画像のセル構成に応じて例えばフィルタ処理を行うことにより印字セルと非印字セルとを区分する画像処理回路１０５と、画像処理回路１０５によりフィルタ処理されたＱＲコード画像をデコードして情報に変換するデコード回路１０６とで構成されている。
【０００５】
デコード回路１０６により変換された情報は、図示しない自動仕分けシステムの本体装置に出力されるようになっている。また、光学的情報読取装置１００にはモニター１０７が接続されており、ＱＲコード画像及びデコードされた情報等がモニター１０７画面上に表示されるようになっている。
【０００６】
次に、光学的情報読取装置１００の作用について説明する。尚、この光学的情報読取装置１００は、ライン１０１上の各物品１０２に印字されたＱＲコード１０３を検出する際に、夫々のＱＲコード１０３のセル構成が特定の種類に限定されていることが正確にＱＲコード１０３を読み取るために望ましいとされている。
【０００７】
この光学的情報読取装置１００では、自動仕分け作業を開始する前に、物品１０２に印字されたＱＲコード１０３のセル構成に応じた画像処理に関する初期設定が行われる。この初期設定は、例えばＱＲコード１０３のセル構成が円形型印字セルの場合には印字セル内に間隙が生じており、ＣＣＤカメラ１０４により検出されたＱＲコード画像をそのままデコードしても前記間隙の影響で正確に情報に変換できないため、画像処理回路１０５にてＱＲコード画像の前記間隙を接合する画像処理を行うためのものである。
【０００８】
まず、ＣＣＤカメラ１０４の前のライン１０１上にＱＲコード１０３が印字された物品１０２を配置し、そのＱＲコード１０３をＣＣＤカメラ１０４で検出し、検出されたＱＲコード画像に基づいて、ＣＣＤカメラ１０４のぼかし量及び画像処理回路１０５のフィルタ定数の設定が行われる。このぼかし量とは、ＱＲコード１０３をＣＣＤカメラ１０４で撮影する際のピントのぼかし加減のことである。そして、これらぼかし量及びフィルタ定数の設定は、作業者によりモニター１０７画面上に表示されるＱＲコード画像及び情報を確認しながら、ＱＲコード１０３が正確に情報に変換されるようになるまで行われる。
【０００９】
このようにしてぼかし量及びフィルタ定数の設定が完了すると、通常の自動仕分けシステムの動作が実行される。具体的には、前記設定作業時に使用された物品１０２と同等のセル構成のＱＲコード１０３が印字され、その印字状態が略一定に保たれた複数の物品１０２をライン１０１上に流し、その際にこれら各物品１０２とＣＣＤカメラ１０４との位置関係を一定の状態に保つようにする。これにより、光学的情報読取装置１００において各物品１０２のＱＲコード１０３が正確に読み取られて情報に変換され、この情報が自動仕分けシステムの本体装置に出力されて、自動仕分け作業が行われる。このようにして光学的情報読取装置１００では、例えばＱＲコード１０３のセル構成が複数円型印字セル又は単一円型印字セルの場合にも、ぼかし処理及びフィルタ処理により隣接する印字セル間等に生ずる間隙を接合することができ、ＱＲコード１０３の情報への変換を正確に行うことができる。
【００１０】
【発明が解決しようとする課題】
しかしながら、この光学的情報読取装置１００では、ライン１０１上に複数の物品１０２を流す前に、作業者の手作業により、該物品１０２に印字されたＱＲコード１０３のセル構成に応じたぼかし量及びフィルタ定数を設定しなければならなかった。しかも、特定のセル構成のＱＲコード１０３に合わせてぼかし量及びフィルタ定数を設定することになるので、異なるセル構成のＱＲコード１０３では読み取りが不正確になり、セル構成が変わる度にぼかし量及びフィルタ定数の再設定を行わなければならなかった。そのため、ライン上に流す物品１０２は、特定のセル構成のＱＲコード１０３が印字されたもののみに限定せざるをえなかった。
【００１１】
また、この光学的情報読取装置１００によりＱＲコード１０３を正確に読み取るためには、ライン１０１上に流す各物品１０２に印字されるＱＲコード１０３の印字状態を一定に保つ必要があり、ＱＲコード１０３の印字状態が変化すると情報への正確な変換が出来なくなることがあった。また、ライン１０１上に流す各物品１０２とＣＣＤカメラ１０４との位置関係も常に一定の状態に保つ必要があるため、ライン１０１への物品１０２の流し方やＣＣＤカメラ１０４の設置方法に制約が加わり、作業性を向上させる点で改善の余地が残されていた。
【００１２】
本発明は上述の事情に鑑みてなされたものであり、従ってその目的は、ラインへの物品の流し方及び光学センサの設置が簡単であり、異なるセル構成のコードが混在していたりコードの印字状態が変化しても読み取ったコードを自動的に正確に情報に変換することができる光学的情報読取装置を提供することにある。
【００１３】
【課題を解決するための手段】
上記した目的を達成するために請求項１に記載した手段を採用できる。この手段によれば、異なるセル構成のコードが混在していたりコードの印字状態が変化しても、セル検出手段によりセル構成情報を自動的に正確に検出することができる。そして、検出されたセル構成情報に基づいてコードを正確に情報に変換することができる。また、光学センサと物品に印字された２次元コードとの位置関係を常に一定の状態に保たなくてもコードを正確に検出して情報に変換することができるので、ラインへの物品の流し方や光学センサの設置方法が簡単になり、作業性を向上させることができる。
【００１４】
請求項２に記載した手段によれば、例えばコード画像をデコードする場合に、検出されたセルピッチに基づいてコード構成を検出することができるので、デコード時の処理効率を向上させることができる。
【００１５】
請求項３に記載した手段によれば、例えばコード画像をデコードする場合に、検出された印字部間隙に基づいてコード画像の印字部間隙の接合処理を実行することができるので、コードから情報への変換時の正確性を向上させることができる。
【００１６】
請求項４に記載した手段によれば、例えばコード画像をデコードする場合に、検出されたセル構成に基づいて最適な画像処理を実行することができるので、コードから情報への変換時の正確性を向上させることができる。
【００１７】
請求項５に記載した手段によれば、コードの印字部及び非印字部の連続長分布の特徴に基づいてセル構成情報を検出することにより、セル構成情報を自動的に検出することが可能となり、検出時間を短縮でき、検出精度を高めることができる。
【００１８】
請求項６に記載した手段によれば、例えばコードの印字状態がコードの水平方向と垂直方向とで異なる場合にも、夫々の方向に対して個別に検出された連続長分布に基づいてセル構成情報を検出することにより、セル構成情報を正確に検出することができる。
【００１９】
請求項７に記載した手段によれば、例えばコードの印字セル内に印字されていない間隙がある場合に、コード画像においてセル構成情報に基づいて該間隙を接合する接合処理を行うことができるので、コードから情報への変換時の正確性を向上させることができる。
【００２０】
請求項８に記載した手段によれば、コード画像において設定された印字部間隙以下の隣接する印字部間を接合することができる。これは、例えばセル構成が単一円型印字セルのような隣接する印字セル間の印字部間隙が大きなものを接合する場合に効果的な接合処理であり、接合処理の精度を高めることができる。
【００２１】
請求項９に記載した手段によれば、コード画像においてフィルタ処理をすることにより、設定されたフィルタ定数に応じて隣接する印字部同士を接合することができる。これは、例えばセル構成が複数円型印字セルのような隣接する印字部同士の印字部間隙が小さなものを接合する場合に効果的な接合処理であり、接合処理の精度を高めることができる。
【００２２】
請求項１０に記載した手段によれば、コード画像において膨張処理をすることにより隣接する印字部同士を接合することができる。これは、例えばセルピッチ及び印字部間隙が予め設定されており、セル構成が単一円型印字セルなのか複数円型印字セルなのか分かっていない場合に効果的な接合処理であり、デコード時の処理効率を向上させることができる。
【００２３】
請求項１１に記載した手段によれば、水平方向及び垂直方向の一方に膨張処理を行い、他方に飛ばし処理又はフィルタ処理を行うようにしてコード画像の接合処理をすることにより、両方向に膨張処理をする場合に比べて処理時間を短縮化できる。また、例えばコード構成を検出する場合に、膨張処理をしたコード画像においてシンボル記号の位置を推定し、推定した位置周辺部に対してのみ飛ばし処理又はフィルタ処理を行うようにしても良く、この場合は更に処理時間を短縮化できる。
【００２４】
請求項１２に記載した手段によれば、検出されたコード構成に基づいてコードデータをデコードして情報に変換することにより、デコード時の処理効率を向上させることができる。
【００２５】
請求項１３に記載した手段によれば、コード構成検出手段においてコード構成が検出されるまで接合処理を繰り返し行うことができるので、コードから情報への変換時の正確性を更に向上させることができる。
【００２６】
請求項１４に記載した手段によれば、処理選択手段において、入力された既知のセル構成情報に基づいて、未入力のセル構成情報を検出するための最適な処理を選択することができるので、セル構成情報の検出時の処理効率を向上させることができる。
【００２７】
【発明の実施の形態】
［第１の実施例］
以下、本発明の光学的情報読取装置１を自動仕分けシステムに適用した第１の実施例について、図１乃至図１８を参照して説明する。
まず、図２は、複数の物品２をライン３上に流して各物品２を自動的に仕分ける自動仕分けシステムにおいて、ライン３側辺部に設置された光学的情報読取装置１の構成を示すものである。尚、各物品２には、夫々を識別するため等の情報を符号化したコードたる２次元コード４が印字されている。
【００２８】
この２次元コード４は、一般的に、数字、英字、漢字、かな、記号等の情報をデジタルデータ（データ）に符号化し、デジタル信号の“１”を例えば黒色の印字部６（後述、図３参照）を有する正方形の印字セル５（後述、図３参照）に対応させ、デジタル信号の“０”を該印字部６を有しない正方形で白色の非印字セル７（後述、図３参照）に対応させて、これら印字セル５及び非印字セル７が２次元的に組み合わされて矩形状に形成されている。
【００２９】
また、２次元コード４には、詳細は後述するが、例えばＱＲコード、データマトリックスコードのように複数の種別が存在し、夫々固有の規則により情報が符号化され、各種別毎に固有のシンボル記号２６及び２９（後述、図１７参照）が付されており、これらのシンボル記号２６及び２９によってコード構成たる２次元コード４の種別及びデータ数が識別可能になっている。そして、この光学的情報読取装置１は、異なる種別の２次元コード４が印字された複数の物品２が混在した状態でライン３上を流れる場合にも読み取りが可能なように構成されている。
【００３０】
＜セル構成の定義＞
ところで、各物品２に印字される２次元コード４は、理想的には図３（ａ）に示すように、例えばプリンター等で印字することにより印字セル５内を完全に黒色に印字して印字部６を形成するのが好ましい。何故ならば、光学的情報読取装置１において２次元コード４を読み取る際に、印字セル５と非印字セル７とを正確に２値化して区分することができるからである。しかしながら、物品２によってはプリンターで２次元コード４を印字するのが困難なものも多数あり、そのような物品２に対しては、例えばレーザマーキングにより２次元コード４の印字が施される。ここで、印字部６以外の部分を非印字部８と呼ぶこととする。
【００３１】
このレーザマーキングによる印字の場合には、図３（ｂ）に示すように、レーザが印字セル５内にパルス状に照射されて、印字部６たる略円形状で例えば黒色のドットパターン６ａが印字される。そして、１セル内に一つのドットパターン６ａを印字するか、又は図３（ｃ）に示すようにして、１セル内に複数のドットパターン６ａを集合的に印字することにより印字セル５が形成される。但し、レーザマーキングにより形成される印字セル５は、ドットパターン６ａ間に間隙（白色部分）が生じたり、隣接するドットパターン６ａ同士がつながったりして印字状態が変化することがある。
【００３２】
尚、レーザマーキングにより２次元コード４の印字を行う際には、ドットパターン６ａ間の間隙は、ドットパターン６ａの半径以下になるように調節されている。また、図３（ａ）乃至（ｃ）における点線はセル形状を示すために設けたものであり、実際の２次元コード４には印字されていない。
【００３３】
ここで、図３（ａ）に示す印字セル５を矩形型印字セル５ａと称し、図３（ｂ）に示す印字セル５を単一円型印字セル５ｂと称し、図３（ｃ）に示す印字セル５を複数円型印字セル５ｃと称すことにする。そして、これら矩形型印字セル５ａ、単一円型印字セル５ｂ及び複数円型印字セル５ｃを合わせてセル構成と称すこととする。また、セルピッチとは１セルの一辺の幅であると定義する。更に、印字部間隙とは、セル構成が単一円型印字セル５ｂの場合は、隣接する印字セル５間におけるドットパターン６ａの間隙であるとし、複数円型印字セル５ｃの場合は、１印字セル内の隣接するドットパターン６ａ間の間隙及び隣接する印字セル５間における隣接するドットパターン６ａ間の間隙であると定義する。この印字部間隙２５（後述、図１６参照）は、セル構成が矩形型印字セル５ａの場合には存在しない。そして、これらセル構成、セルピッチ及び印字部間隙２５を合わせてセル構成情報と呼ぶこととする。
【００３４】
＜光学的情報読取装置１の構成＞
さて、ライン３の一側辺部には、物品２に印字された２次元コード４を検出するためのＣＣＤカメラ９が設置されており、ＣＣＤカメラ９の近傍には、物品２に印字された２次元コード４の撮影位置を照らすための図示しない照明器が設置されている。そして、図１に示すように、ＣＣＤカメラ９により検出された２次元コード画像は、増幅回路１０にて増幅される。これらＣＣＤカメラ９及び増幅回路１０で光学センサ１１が構成されている。増幅回路１０で増幅された２次元コード画像は、２値化回路１２で２値化される。この２値化された２次元コード画像は、画像を構成する各画素が２値化により輝度を表す２つの所定値（輝度値）に区分されて構成されている。そして、この２値化された２次元コード画像はマイクロコンピュータ（マイコン）１３に出力される。
【００３５】
マイコン１３にはメモリ１４が接続されており、２値化回路で２値化されたコード画像たる２次元コード画像はマイコン１３によりメモリ１４に一時的に記憶され、必要に応じて再びマイコン１３に読み出される。また、マイコン１３には、２次元コード画像に基づいて２次元コードをデコードして情報に変換するためのソフトウェアが書き込まれている。以下、このソフトウェアの機能構成について説明する。
【００３６】
ライン検出手段１５では、２値化された２次元コード画像の水平方向及び垂直方向へのライン走査が行われ、ライン方向に対する印字部６及び非印字部８の連続長分布（後述）が検出される。そして、検出された連続長分布に基づいてヒストグラム（後述）が生成される。セル検出手段１６では、ライン検出手段１５により生成されたヒストグラムに基づいて、セル構成情報が検出される。
【００３７】
接合手段１７では、２次元コードのセル構成が単一円型印字セル５ｂの場合には、セル構成情報に基づいて、飛ばし処理により２値化された２次元コード画像の印字部間隙を接合する接合処理が行われ、コードデータたる２次元コードデータが生成される。また、２次元コードのセル構成が複数円型印字セル５ｃの場合にも、同様にしてフィルタ処理による接合処理が行われる。更に、２次元コードのセル構成が矩形型印字セル５ａの場合には、接合処理は行われずに、２次元コードデータのみ生成される。
【００３８】
コード構成検出手段１８では、接合手段１７にて生成された２次元コードデータに基づいて、２次元コードの種別及びデータ数が検出される。デコード手段１９では、コード構成検出手段１８にて検出された２次元コード４の種別及びデータ数に基づいて、２次元コードデータがデコードされて情報に変換される。そして、この変換された情報は、出力回路２０にて所定フォーマットの信号に変換されて、図示しない自動仕分けシステムの本体装置に出力される。
【００３９】
また、マイコン１３には、図示しない入力インターフェースを介して、入力手段たるキーボード２１が接続されており、自動仕分けシステムの動作開始前に、このキーボード２１により既知のセル構成情報が入力可能になっている。キーボード２１より入力されたセル構成情報は、マイコン１３内に設けられた処理選択手段２２に出力される。処理選択手段２２では、詳細は後述するが、入力されたセル構成情報に基づいて、未入力のセル構成情報を検出するための最適な処理の選択が行われる。
【００４０】
また、マイコン１３には、図示しないビデオカードを介してモニター２３が接続されており、２値化された２次元コード画像、接合処理された２次元コードデータ及びデコード手段１９で変換された情報等がこのモニター２３画面上に表示されるようになっている。
【００４１】
以上説明したように、マイコン１３は、ライン検出手段１５、セル検出手段１６、接合手段１７、コード構成検出手段１８、デコード手段１９及び処理選択手段２２からなる機能で構成されている。そして、２値化回路１２、マイコン１３、メモリ１４、キーボード２１及び出力回路２０で読取回路２４が構成されている（図２参照）。
【００４２】
＜光学的情報読取装置１の作用説明＞
次に、本第１の実施例の作用について、図４乃至図１８を参照して説明する。以下、説明を簡単にするために、ライン３上を流れる物品２に印字された２次元コード４の種別はＱＲコード又はデータマトリックスコードの２種類だけであるものとし、これらの２次元コード４の読取処理の作用について説明する。尚、この読取処理の作用に関する制御は、マイコン１３に書き込まれたソフトウェアにより行われるようになっている。
【００４３】
まず、図４において、光学的情報読取装置１の電源がオンされて２次元コード４の検出が可能になると、ステップＳ１に移行して、モニター２３画面上には既知のセル構成情報を入力するための画面が表示される。そして、予め既知のセル構成情報がある場合には作業者によりキーボード２１から該既知のセル構成情報が入力され、キーボード２１上に設定された図示しない設定ボタンが押される。また、既知のセル構成情報がない場合にはセル構成情報を入力せずに設定ボタンが押される。そして、設定ボタンが押されると、ステップＳ２に移行する。
【００４４】
ステップＳ２では、キーボード２１上に設定された図示しないスタートボタンが押されたかの判定が行われ、このスタートボタンが押されたと判定されるとステップ３に移行して、物品２に印字された２次元コード４の検出が開始される。
【００４５】
ステップＳ３では、ＣＣＤカメラ９により２次元コード４の検出が行われる。ＣＣＤカメラ９の近傍には、図示しない例えば光電スイッチが設置されており、この光電スイッチによりライン３上を流れる物品２が検知され、この検知タイミングから所定時間経過後にＣＣＤカメラ９が捉える映像を検出することにより、物品２に印字された２次元コード４が２次元コード画像として検出される。そして、検出された２次元コード画像は、増幅回路１０にて所定の電圧レベルに増幅され、２値化回路１２に出力される（ステップＳ４へ移行）。
【００４６】
ステップＳ４では、２値化回路１２にて２次元コード画像が２値化され、マイコン１３に出力される（ステップＳ５へ移行）。
ステップＳ５では、マイコン１３にて、２値化された２次元コード画像がメモリ１４に記憶されると共に、図５に示すようにして、２値化された２次元コード画像がモニター２３画面上に表示される。そして、図６に示す読取処理ルーチンに移行して、２次元コード４の読取処理が開始される。
【００４７】
図６において、ステップＴ１では、メモリ１４からマイコン１３へ２値化された２次元コード画像の読み出しが行われ、この読み出しが完了した時点でステップＴ２に移行する。
ステップＴ２からステップＴ４では、処理選択手段２２において、入力されたセル構成情報の入力状態の判定が行われる。そして、後述する処理Ａ乃至Ｄルーチンの選択が行われ、各処理Ａ乃至Ｄルーチンに応じた処理を実行するための指令が出力される。
【００４８】
ステップＴ２では、セル構成が矩形型印字セル５ａであり、セルピッチ及び印字部間隙２５が未入力であるかの判定が行われ、Ｙｅｓの場合は処理Ｂルーチン（図９参照）に移行し、Ｎｏの場合はステップＴ３に移行する。
ステップＴ３では、セル構成が矩形型印字セル５ａであり、セルピッチが入力されており、印字部間隙２５が未入力であるかの判定が行われ、Ｙｅｓの場合は処理Ｄルーチン（図１１参照）に移行し、Ｎｏの場合はステップＴ４に移行する。
【００４９】
ステップＴ４では、セル構成が単一円型印字セル５ｂ又は複数円型印字セル５ｃであり、セルピッチ及び印字部間隙２５が入力されているかの判定が行われ、Ｙｅｓの場合は処理Ｃルーチン（図１０参照）に移行し、Ｎｏの場合は処理Ａルーチン（図８参照）に移行する。
【００５０】
尚、図６のフローチャート内には示していないが、ステップＴ４では、誤入力のチェックも行っており、例えば矩形型印字セル５ａは印字部間隙２５が存在しないにも関わらず矩形型印字セル５ａが設定され印字部間隙２５が入力されたり、単一円型印字セル５ｂ及び複数円型印字セル５ｃではセルピッチよりも印字部間隙２５の方が値が小さくなるにも関わらずその逆の入力がされた場合等には、再びステップＴ２に戻ってセル構成情報の再入力が行われるようになっている。
【００５１】
ここで、これら処理Ａ乃至Ｄルーチンにおける処理方法についてまとめたものを図７に示す。以下、これら処理Ａ乃至Ｄルーチンの作用の詳細について、図８乃至図１１を参照して説明する。
【００５２】
＜処理Ａルーチンの作用＞
図８は、処理Ａルーチンの作用を示すフローチャートである。処理選択手段２２により処理Ａルーチンが選択されると、まず、ステップＡ１では、ライン検出手段１５により、図１２に示すようにして、２値化された２次元コード画像に対して水平方向及び垂直方向にライン走査が行われる。このライン走査時の隣接するライン間の走査間隔は、セル構成が複数円型印字セル５ｃである場合にも印字セル５内の全ドットパターン６ａ（印字部６）が検出されるような所定の間隔に設定されている。
【００５３】
そして、ライン検出手段１５では、各ライン毎に印字部６及び非印字部８の連続長距離（印字部６及び非印字部８の画素の輝度値の連続個数）の検出及び集計が行われ、両方向における全ラインの印字部６及び非印字部８の連続長距離が総和されて連続長分布として集計される。また、これらの連続長分布に基づいたヒストグラムが生成され（図１３乃至図１５参照）、ステップＡ２に移行する。
【００５４】
ところで、統計的に、２次元コード４の印字セル５及び非印字セル７の配列状態の特徴は、印字セル５と非印字セル７とが交互に並ぶ割合が一番高くなり、印字セル５のみ又は非印字セル７のみが連続して並ぶ割合は連続するセル数の増加に応じて低くなることが分かっている。そして、印字部６及び非印字部８に対する連続長分布は、セル構成に応じて夫々固有の特徴があることが発明者らの研究により見出された。そこで、ステップＡ２では、セル検出手段１６において、これらのヒストグラムの特徴に基づいて各セル構成の特徴を検出することにより、セル構成情報の検出が行われる。以下、各セル構成に対するヒストグラムの特徴と、該ヒストグラムからセル構成情報を検出する方法について説明する。
【００５５】
≪矩形型印字セル５ａの場合≫
○ヒストグラムの特徴
図１３（ａ）及び（ｂ）は、セル構成が矩形型印字セル５ａの場合の印字部６及び非印字部８のヒストグラムの例を示すものである。このヒストグラムの特徴を以下に示す。
（Ｘ１）両ヒストグラムにおいて、夫々の極大値の連続長距離が略一致する。
（Ｘ２）両ヒストグラムにおいて、夫々のピーク値の略整数倍の連続長距離に夫々他の極大値が存在する。
【００５６】
○セル構成情報の検出方法
セル構成は、前記（Ｘ１）及び（Ｘ２）の特徴を検出することにより確定する。
セルピッチは、印字部６又は非印字部８のピーク値の連続長距離に相当するため、このピーク値の連続長距離を検出することにより確定する。
印字部間隙２５は、存在しない。
【００５７】
尚、本第１の実施例では、矩形型印字セル５ａは、印字セル５内が完全に黒色に印字されているとしたが、これに限定されるものではなく、例えば印字セル５よりも小さな印字部６を印字セル内中央部等に印字して印字部間隙２５が存在するようにしても良く、その場合は、後述する単一円型印字セル５ｂと同様にしてセル構成情報を検出すればよい。
【００５８】
≪単一円型印字セル５ｂの場合≫
○ヒストグラムの特徴
図１４（ａ）及び（ｂ）は、セル構成が単一円型印字セル５ｂの場合の印字部６及び非印字部８のヒストグラムの例を示すものである。このヒストグラムの特徴を以下に示す。
（Ｙ１）印字部６のヒストグラムにおいて、ピーク値の略整数倍の連続長距離に他の極大値が存在しない。
（Ｙ２）非印字部８のヒストグラムにおいて、ピーク値の略整数倍の連続長距離に極大値が存在する。
【００５９】
○セル構成情報の検出方法
セル構成は、前記（Ｙ１）及び（Ｙ２）の特徴を検出することにより確定する。
セルピッチは、印字部６又は非印字部８のピーク値の連続長距離に略相当するため、これらのピーク値の連続長距離を検出することにより確定する。また、必要に応じて非印字部８のピーク値の連続長距離から印字部６のピーク値の連続長距離を減算したものを補正値として算出し、印字部６のピーク値の連続長距離に該補正値を加算するか非印字部８のピーク値の連続長距離から該補正値を減算するような補正をしてもよい。
印字部間隙２５は、前記補正値に相当するため、この補正値を検出することにより確定する。
【００６０】
≪複数円型印字セル５ｃの場合≫
○ヒストグラムの特徴
図１５（ａ）及び（ｂ）は、セル構成が複数円型印字セル５ｃの場合の印字部６及び非印字部８のヒストグラムの例を示すものである。このヒストグラムの特徴を以下に示す。
（Ｚ１）印字部６のヒストグラムにおいて、ピーク値の略整数倍の連続長距離に他の極大値が存在しない。
（Ｚ２）非印字部８のヒストグラムにおいて、ピーク値の略整数倍の連続長距離に極大値が存在しない。
【００６１】
○セル構成情報の検出方法
セル構成は、前記（Ｚ１）及び（Ｚ２）の特徴を検出することにより確定する。
セルピッチは、整数倍の関係にある極大値のうちの最小の極大値（図１５（ｂ）における非印字部８のピーク値の右隣の極大値）の連続長距離に略相当するため、この極大値の連続長距離を検出することにより確定する。また、必要に応じて非印字部８のピーク値の連続長距離分だけ減算する補正をしてもよい。
印字部間隙２５は、非印字部８のピーク値の連続長距離に略相当するため、このピーク値の距離を検出することにより確定する。
【００６２】
セル検出手段１６では、以上の説明に従って、印字部６及び非印字部８のヒストグラムに基づいて、未入力のセル構成情報の検出が自動的に行われる（ステップＡ３に移行）。
【００６３】
ステップＡ３では、接合手段１７において、セル構成情報に基づいて、セル構成が単一円型印字セル５ｂ又は複数円型印字セル５ｃの場合には、２値化された２次元コード画像の印字部間隙２５を接合する接合処理が行われ、後述する２次元コードデータが生成される。また、セル構成が矩形型印字セル５ａの場合には、接合処理は行われず、後述する２次元コードデータのみが生成される。尚、接合手段１７では、接合処理として、飛ばし処理、フィルタ処理及び膨張処理という３つの処理機能を有している。そして、ステップＡ３では、これらの処理機能のうち、セル構成が単一円型印字セル５ｂの場合には飛ばし処理が行われ、セル構成が複数円型印字セル５ｃの場合にはフィルタ処理が行われるようになっている。以下、これら飛ばし処理及びフィルタ処理の作用について説明し、膨張処理については後述する。
【００６４】
≪単一円型印字セル５ｂに対する飛ばし処理≫
図１６（ａ）乃至（ｃ）は、単一円型印字セル５ｂに対する飛ばし処理の例を示すものである。接合手段１７では、既にセルピッチ及び印字部間隙２５が分かっているので、図１６（ａ）に示すように、２値化された２次元コード画像において各ドットパターン６ａの略中心を通るような走査間隔でライン走査が行われる。
【００６５】
このとき、図１６（ｂ）に示すように、隣接する印字セル５間にも印字部間隙２５により間隙が生じているので、この走査間隔で２値化された２次元コード画像を水平方向及び垂直方向にライン走査しながら、印字部間隙２５以下の間隙を接合する処理が行われる。即ち、２値化された２次元コード画像における隣接する印字セル５間の画素の輝度値を非印字部８の輝度値から印字部６の輝度値に変換する処理が行われる。この接合処理のことを飛ばし処理と呼ぶこととする。
【００６６】
これにより、図１６（ｃ）に示すように、隣接する印字セル５間の印字部６同士がライン走査線上で接合される。そして、接合処理された後の全ラインの画素の輝度値が２次元コードデータとしてメモリ１４に記憶される。
【００６７】
≪複数円型印字セル５ｃに対するフィルタ処理≫
接合手段１７では、複数円型印字セル５ｃの場合にも、図１６（ａ）と同様にして、２値化された２次元コード画像において各ドットパターン６ａの略中心を通るような走査間隔でライン走査が行われる。そして、図示はしないが、この走査間隔で２値化された２次元コード画像を水平方向及び垂直方向にライン走査しながら、各ラインにおいて、印字部６及び非印字部８の連続長距離に対して、印字部間隙２５以下の間隙を接合するようなデジタルフィルタ処理が行われる。このときのフィルタ定数は、セルピッチ及び印字部間隙２５に基づいて所定の値に設定される。このようにして、印字セル５内の隣接するドットパターン６ａ同士及び隣接する印字セル５間の隣接するドットパターン６ａ同士が接合される。そして、接合処理された後の全ラインの画素の輝度値が２次元コードデータとしてメモリ１４に記憶される。
【００６８】
≪矩形型印字セル５ａに対する処理≫
接合手段１７では、矩形型印字セル５ａの場合にも、図１６（ａ）と同様にして、２値化された２次元コード画像において各印字部６の略中心を通るような走査間隔でライン走査が行われる。そして、矩形型印字セル５ａの場合には、接合処理は行われずに、ライン走査された全ラインの画素の輝度値が２次元コードデータとしてメモリ１４に記憶される。
以上のようにして接合処理が完了すると、ステップＡ４に移行する。
【００６９】
ステップＡ４では、コード構成検出手段１８において、メモリ１４に記憶された２次元コードデータに基づいて、２次元コードのコード構成（種別及びデータ数）の検出が行われる。初めに検出方法の流れを説明すると、コード構成検出手段１８では、まず種別の判別が時系列的に行われる。これは、初めに２次元コードがＱＲコードであるかの判別が行われ、ＱＲコードでないと判定された場合には、次にデータマトリックスコードであるかの判別が行われる。そして、種別が検出された時点で該種別のシンボル記号２６及び２９の位置や大きさに基づいてデータ数が検出される。以下、これらＱＲコード及びデータマトリックスコードの判別方法について図１７を参照して説明する。
【００７０】
≪ＱＲコードの判別方法≫
図１７（ａ）に示すように、ＱＲコードは、正方形型に形成されたその４つの頂角のうちの３つにシンボル記号２６が印字されている。このシンボル記号２６は、中心に設けられた正方形状の印字部（中心部２７ａ）２７と該中心部に対して１セルピッチ分の間隔を開けて該中心部を囲うように設けられた枠状の印字部（枠部２８７ｂ）２７とで構成されている。また、このシンボル記号２６は、その一つにおいて、中心部２７ａの中心を通るようにしてラインを引いた場合にライン方向に対する印字部２７ａと非印字部２８との連続長距離の比率が、印字部（枠部）２７ｂ、非印字部２８、印字部（中心部）２７ａ、非印字部２８、印字部（枠部）２７ｂの順に、１：１：３：１：１となるように設定されている。更に、枠部２７ｂの水平方向及び垂直方向の幅はセルピッチに対応している。そして、これら３つのシンボル記号２６を３頂角とする正方形型のコード内部にデータが書き込まれており、データ数は、これら３つのシンボル記号２６の位置及び大きさに基づいて検出可能となる。
【００７１】
従って、２次元コードデータに基づいたＱＲコードの判別は、２次元コードデータに対して水平方向及び垂直方向にライン走査を行い、印字部２７と非印字部２８との比率が前記１：１：３：１：１となるシンボル記号２６が２次元コードデータの３頂角において検出されたかを判定することにより行われる。そして、これら検出されたシンボル記号２６の位置及び大きさに基づいてデータ数が検出される。
【００７２】
≪データマトリックスコードの判別方法≫
データマトリックスコードは、図１７（ｂ）に示すように、正方形型に形成されたその４つの側辺部のうちの互いに垂直な２つの側辺部に１セルピッチ幅でＬ字形状のシンボル記号２９が印字されている。そして、このシンボル記号２９を２側辺とする正方形型のコード内部にデータが書き込まれており、データ数は、このＬ字形状のシンボル記号２９の大きさに基づいて検出可能となる。
【００７３】
従って、２次元コードデータに基づいたデータマトリックスコードの判別は、２次元コードデータに対して水平方向及び垂直方向にライン走査を行い、Ｌ字形状のシンボル記号２９が互いに垂直な２つの側辺部において検出されたかを判定することにより行われる。そして、この検出されたシンボル記号２９の大きさに基づいてデータ数が検出される。
【００７４】
以上のようにしてコード構成の検出が完了すると、ステップＡ５に移行する。尚、コード構成検出手段１８において種別が検出不可能であった場合には、接合手段１７による接合処理が適当でないと判定され、ステップＡ３に戻って再び接合処理が実行される。このとき接合手段１７では、セル構成が単一円型印字セル５ｂの場合には印字部間隙２５の値が微修正されて飛ばし処理が行われ、セル構成が複数円型印字セル５ｃの場合にはフィルタ定数の値が微修正されてフィルタ処理が行われる。このようにして、コード構成検出手段１８において種別が検出されるまで、所定回数だけステップＡ３及びＡ４間のループ動作が繰り返される。そして、このループ動作が所定回数だけ行われても種別の検出が不可能であった場合には、物品２に印字された２次元コード４の種別が判別不可能であるとの情報が本体装置に出力される。
【００７５】
ステップＡ５では、デコード手段１９において、検出された２次元コード４のコード構成に基づいて、２次元コードデータがデコードされて情報に変換され、この情報が出力回路２０に出力される（ステップＡ６に移行）。
ステップＡ６では、出力回路２０において、情報が所定フォーマットの信号に変換されて、本体装置に出力される。
【００７６】
＜処理Ｂルーチンの作用＞
図９は、処理Ｂルーチンの作用を示すフローチャートである。処理選択手段２２により処理Ｂルーチンが選択されると、まず、ステップＢ１では、ライン検出手段１５により、処理ＡルーチンのステップＡ１と同様にして、２値化された２次元コード画像に対して水平方向及び垂直方向へのライン走査が行われる。
【００７７】
そして、ライン検出手段１５では、各ライン毎に印字部６のみの連続長距離の検出及び集計が行われ、両方向における全ラインの印字部６の連続長距離が総和されて連続長分布として集計される。また、この連続長分布に基づいて図示しないヒストグラムが生成され、ステップＢ２に移行する。
【００７８】
ステップＢ２では、セル検出手段１６において、前記ヒストグラムの特徴に基づいて、未入力のセルピッチの検出が行われる。具体的には、セルピッチは、前記印字部６のみの連続長分布に基づいたヒストグラムにおいて、印字部６のピーク値の連続長距離に略相当するため、このピーク値の連続長距離を検出することにより確定する。このようにして未入力のセルピッチの検出が自動的に行われる（ステップＢ３に移行）。
【００７９】
ステップＢ３では、接合手段１７において、検出されたセルピッチに基づいて、２値化された２次元コード画像の飛ばし処理が行われる。飛ばし処理は、処理Ａルーチンの≪単一円型印字セルに対する飛ばし処理≫のところで説明した方法と同様にして行われるが、処理Ｂルーチンの場合には、セルピッチ未満の間隙を接合するようにして接合処理が行われる。即ち、単一円型印字セル５ｂの場合には、非印字セル７を含む非印字部８の連続長距離の最短長はセルピッチと印字部間隙２５とを加算した値となり、この加算した値はセルピッチ以上となることから、セルピッチ未満の間隙の飛ばし処理を行うことで隣接する印字セル５間の印字部６同士を接合することができる。そして、処理Ａルーチンと同様にして、接合処理された後の全ラインの画素の輝度値が２次元コードデータとしてメモリ１４に記憶される。このようにして接合処理が完了すると、ステップＢ４に移行する。
【００８０】
ステップＢ４では、コード構成検出手段１８において、処理ＡルーチンのステップＡ４のところで説明した方法と同様にして、種別及びデータ数の検出が行われる。また、種別の検出が不可能な場合についても、処理ＡルーチンのステップＡ３及びＡ４間のループ動作と同様の処理がステップＢ３及びＢ４間で行われる。以下、ステップＢ５及びＢ６は、処理ＡルーチンのステップＡ５及びＡ６と同様であるので説明は省略する。
【００８１】
＜処理Ｃルーチンの作用＞
図１０は、処理Ｃルーチンの作用を示すフローチャートである。処理選択手段２２により処理Ｃルーチンが選択されると、ステップＣ１に移行して、接合手段１７により２値化された２次元コード画像の膨張処理が行われる。以下、この膨張処理の作用について説明する。
【００８２】
≪膨張処理≫
膨張処理とは、２値化された２次元コード画像の印字部間隙２５を接合するために、各印字部近傍の非印字部８の画素の輝度値を印字部６の画素の輝度値に変換する処理を行うものである。図１８（ａ）及び（ｂ）は、例えば単一円型印字セル５ｂに対する垂直方向の膨張処理を行った場合の処理例を示すものである。
【００８３】
まず、２値化された２次元コード画像は、その全ドットパターン６ａが検出されるような所定の走査間隔で垂直方向にライン走査される。そして、このライン走査を行う際に、各ラインにおける走査区間が所定間隔の複数区間に分割され、分割された一区間毎に区間内の画素の輝度値が検出され、この区間内に一つでも印字部６の画素の輝度値が存在する場合には、この区間内の全画素の輝度値を印字部６の画素の輝度値に変換する。この接合処理のことを膨張処理と呼ぶこととする。このようにして垂直方向の膨張処理を行うことにより、２値化された２次元コード画像は、図１８（ｂ）に示すような隣接する印字部６間が接合された２次元コード画像となる。
【００８４】
次に、この膨張処理された２次元コード画像は、図１８（ｂ）に示すようにして、所定の走査間隔で水平方向にライン走査される。そして、このライン走査時に、処理ＡルーチンのステップＡ３のところで説明した飛ばし処理と同様にして、印字部間隙２５以下の間隙を接合する飛ばし処理が行われる。更に、この飛ばし処理が行われた後の水平方向の全ラインの画素の輝度値が２次元コードデータとしてメモリ１４に記憶される。また、図示はしないが、水平方向に対しても同様にしてこれらの膨張処理及びとばし処理が行われ、これにより生成された垂直方向の２次元コードデータもメモリ１４に記憶される。尚、これらの膨張処理及び飛ばし処理は、複数円型印字セル５ｃの場合も同様にして行われる。そして、接合処理が完了した時点で、ステップＣ２に移行する。
【００８５】
ステップＣ２では、コード構成検出手段１８において、前記膨張処理及び飛ばし処理された２次元コードデータに基づいて、２次元コードのコード構成の検出が行われる。このコード構成の検出方法は、処理ＡルーチンのステップＡ４のところで説明した方法と同様にして行われる。また、種別の検出が不可能な場合の処理方法についても、処理Ａルーチンの場合と同様である。以下、ステップＣ３及びＣ４は、処理ＡルーチンのステップＡ５及びＡ６と同様であるので説明は省略する。
【００８６】
＜処理Ｄルーチンの作用＞
図１１は、処理Ｄルーチンの作用を示すフローチャートである。処理選択手段２２により処理Ｄルーチンが選択されると、ステップＤ１に移行する。ステップＤ１では、接合手段１７において、入力されたセルピッチに基づいて、各印字セル５の略中心を通るようにして２値化された２次元コード画像の水平方向及び垂直方向へのライン走査が行われる。そして、これらのライン走査が行われた際の全画素の輝度値が２次元コードデータとしてメモリ１４に記憶される（ステップＤ２に移行）。
【００８７】
ステップＤ２では、デコード手段１９において、ステップＤ１にて生成された２次元コードデータのデコードが行われる。このステップＤ２及び以下のステップＤ３は、処理ＡルーチンのステップＡ５及びＡ６と同様であるので説明は省略する。
【００８８】
以上説明したように、本第１の実施例によれば、異なるセル構成の２次元コード４が混在していたり２次元コード４の印字状態が変化しても、セル検出手段１６においてセル構成情報を自動的に正確に検出することができる。そして、検出されたセル構成情報に基づいて２値化された２次元コード画像の最適な接合処理を行うことで、２次元コード４を正確に読み取って情報に変換することができる。また、光学センサ１１は、２次元コード４が検出できるような位置に設置するだけで２次元コード４を正確に検出して情報に変換することができるので、ライン３への物品２の流し方や光学センサ１１の設置方法が簡単になり、作業性を向上させることができる。
【００８９】
また、処理選択手段２２において、入力された既知のセル構成情報に基づいて未入力のセル構成情報を判定し、セル検出手段１６において、未入力のセル構成情報を検出するようにしたので、セル構成情報の検出時の処理効率を向上させることができ、処理時間を短縮することができる。
【００９０】
また、セル検出手段１６において、２次元コード４の印字部６及び非印字部８の連続長分布又は印字部６のみの連続長分布のヒストグラムを生成し、このヒストグラムの特徴に基づいてセル構成情報を検出するようにしたので、セル構成情報を自動的に検出することが可能となり、しかも処理時間を短縮でき、検出精度を高めることができる。
【００９１】
また、接合手段１７では、接合処理として飛ばし処理、フィルタ処理及び膨張処理の機能を有するようにして、２値化された２次元コード画像に対してセル構成情報に基づいた最適な接合処理を施すようにしたので、２次元コード画像の接合処理の精度を高めることができ、従って２次元コード４を情報に変換する際の正確性を向上させることができる。
【００９２】
また、コード構成検出手段１８では、コード構成を検出し、このコード構成に基づいて２次元コードデータを生成するようにしたので、デコード手段１９において２次元コードデータをデコードして情報に変換する際の処理効率を向上させることができる。
【００９３】
また、コード構成検出手段１８において、コード構成の検出が不可能な場合には、接合手段１７において再び２値化された２次元コード画像の接合処理をやり直すというループ動作を行うようにしたので、２次元コード４を情報に変換する際の正確性を更に向上させることができる。
【００９４】
［第２の実施例］
次に、本発明の第２の実施例について、図１９を参照して説明する。尚、以下の説明において、光学的情報読取装置１の構成は第１の実施例と同等であるとして説明は省略する。
【００９５】
レーザマーキングは、レーザの出射方向を水平方向又は垂直方向に走査させながらレーザをパルス状に出射して、印字セル５内にドットパターン６ａを印字するようにして行われる。そして、この印字の際にレーザマーキングの機構的動作によっては、例えば単一円型印字セル５ｂの印字部６（ドットパターン６ａ）が、図１９に示すように楕円形状になることがある。
【００９６】
このような印字状態の場合には、印字部６及び非印字部８の連続長距離が水平方向と垂直方向とで異なるために、第１の実施例で説明したライン検出手段１５において生成されるヒストグラムは、図示はしないが、ピーク値が明確でなくなり、セル検出手段１６においてピーク値の検出が正確にできなくなる。
【００９７】
そこで、本第２の実施例では、セル検出手段１６において、ピーク値が検出できないと判定された場合には、印字部６の印字状態が楕円形状になっていると推定して以下のような処理が行われる。まず、ライン検出手段１５において、水平方向及び垂直方向に対して個別にヒストグラム（図示せず）が生成される。具体的には、２値化された２次元コード画像を水平方向及び垂直方向に対して個別にライン走査し、夫々の方向における印字部６又は非印字部８の連続長分布を個別に検出するようにして、水平方向と垂直方向とで個別のヒストグラムを生成する。
【００９８】
そして、セル検出手段１６では、前記個別のヒストグラムに基づいて、水平方向及び垂直方向に対して個別にセル構成情報が検出される。更に、接合手段１７では、前記個別のセル構成情報に基づいて、水平方向及び垂直方向に対して個別に接合処理が行われる。以下、コード構成手段１８においてコード構成が検出されてからデコード手段１９において２次元コード４が情報に変換されるまでの動作は第１の実施例と同様となる。
【００９９】
以上説明したように、本第２の実施例によれば、２次元コード４の印字状態が２次元コード４の水平方向と垂直方向とで異なる場合にも、夫々の方向に対して個別に検出された印字部６又は非印字部８の連続長分布のヒストグラムに基づいてセル構成情報を検出することにより、セル構成情報を正確に検出することができる。これにより、２次元コード４を情報に変換する際の正確性を更に向上させることができる。
【０１００】
［第３の実施例］
次に、本発明の第３の実施例について、図２０（ａ）乃至（ｃ）を参照して説明する。尚、以下の説明において、光学的情報読取装置１の構成は第１の実施例と同等であるとして説明は省略する。
【０１０１】
本第３の実施例では、処理Ｃルーチンにおいて、以下のような処理が行われる。まず、接合手段１７では、２値化された２次元コード画像の水平方向に対して膨張処理が行われる（図２０（ａ）参照）。そして、この膨張処理が行われた後の水平方向の全ラインの画素の輝度値が２次元コードデータとしてメモリ１４に記憶される。
【０１０２】
次に、コード構成検出手段１８では、前記膨張処理された２次元コードデータに基づいて、２次元コード４の種別の推定が行われる。この推定は、前記膨張処理された２次元コードデータに基づいて、ＱＲコード又はデータマトリックスコードのシンボル記号２６及び２９の特徴を検出することにより行われる。図２０（ａ）は、２次元コードがデータマトリックスコードである場合のシンボル記号２９の特徴の検出を行う様子を示すものである。
【０１０３】
そして、コード構成検出手段１８によりシンボル記号２６及び２９の特徴が検出されると、次に接合手段１７において、そのシンボル記号２６及び２９の特徴に応じてシンボル記号２６及び２９を特定するための垂直方向への飛ばし処理又はフィルタ処理が行われる。例えば、ＱＲコードのシンボル記号２６が推定された場合には、前記膨張処理された２次元コードデータ上のシンボル記号２６の周辺部において、垂直方向への飛ばし処理又はフィルタ処理が行われる。
【０１０４】
また、データマトリックスコードのシンボル記号２９が推定された場合には、図２０（ｂ）に示すようにして、Ｌ字状のシンボル記号２９の一辺の両端部において、垂直方向への飛ばし処理又はフィルタ処理が行われる（図２０（ｃ）参照）。そして、この接合処理が行われた部分の垂直方向のラインの画素の輝度値が２次元コードデータとしてメモリ１４に記憶される。
【０１０５】
次に、コード構成検出手段１８では、前記膨張処理が行われた水平方向の全ラインの２次元コードデータ及び接合処理が行われた垂直方向の所定部分のラインの２次元コードデータに基づいて、種別の特定（判別）が行われる。以下、コード構成手段１８においてコード構成が検出されてからデコード手段１９において２次元コード４が情報に変換されるまでの動作は、第１の実施例と同様となる。
【０１０６】
以上説明したように、本第３の実施例によれば、２値化された２次元コード画像の水平方向にのみ膨張処理を行い、それによって生成される２次元コードデータに基づいてシンボル記号２６及び２９を推定し、推定されたシンボル記号２６及び２９の位置周辺部に対して垂直方向に飛ばし処理又はフィルタ処理を行うことにより、シンボル記号を特定するようにしたので、接合処理に要する処理時間を短縮化できる。
【０１０７】
尚、図２０では、Ｌ字形状のシンボル記号２９の２辺が垂直ではなく、９０°よりも若干大きな角度になっているが、これは、例えばライン３上を流れる物品２の向きによって、物品２に印字された２次元コード４の面とＣＣＤカメラ９に内蔵された図示しない受光素子の面とが平行でない場合等に２次元コード４の像が歪んで撮影されるため等の理由に生じる歪みである。本実施例では、このような歪みに対する処理については説明していないが、例えば、コード構成検出手段１８において種別を判別するときに歪み量も検出するようにしておき、デコード手段１９において、この歪み量に応じて２次元コードデータのデコードをするようにすればよい。
【０１０８】
尚、本発明は、上記実施例に限定されるものではなく、次のような変形、拡張が可能である。
本実施例では、２次元コードとしてＱＲコード及びデータマトリックスコードを自動的に判別して情報に変換するようにしたが、２次元コードはこれに限定されるものではなく、例えばＰＤＦ４１７コードやマキシコード（Maxi Code）等も検出可能なように構成してもよい。また、コードは２次元コードに限定されるものではなく、例えばバーコードのような１次元コードを検出するように構成してもよい。要は、用途に合わせて検出するコードを決めればよい。
【０１０９】
本実施例では、生産ライン等で使用されるカメラタイプの光学的情報読取装置に適用したが、これに限定されるものではなく、例えばペンタイプ、ハンディーターミナルタイプ等の全タイプの光学的情報読取装置に適用してもよい。
【０１１０】
本実施例では、光学センサ、ライン検出手段、セル検出手段、接合手段、コード構成検出手段、デコード手段、入力手段及び処理選択手段を有するようにして光学的情報読取装置を構成したが、これに限定されるものではなく、例えば２次元コードを光学的に検出する光学センサと、セル構成情報を検出するセル検出手段と、セル構成情報に基づいて２次元コードをデコードするデコード手段だけで光学的情報読取装置を構成してもよく、その他の機能は必要に応じて設けたり組み合わせればよい。
【０１１１】
本実施例では、ライン検出手段、セル検出手段、接合手段、コード構成検出手段、デコード手段、入力手段及び処理選択手段の各機能をマイコン内のソフトウェアにより実現したが、これに限定されるものではなく、例えば画像処理を行う接合手段を専用のゲートアレイで構成してもよく、これら各機能は用途に合わせてソフトウェア又はハードウェアにより構成すればよい。
【０１１２】
本実施例のセル検出手段では、印字部又は非印字部の連続長分布の特徴に基づいてセルピッチ及び印字部間隙を検出するようにしたが、これに限定されるものではなく、例えばモニター画面上に２値化された２次元コード画像を表示し、作業者が印字セルの連続する部分を指定するようにして、この指定された印字セルの連続する部分に基づいてセルピッチ及び印字部間隙を検出するようにしてもよい。
【０１１３】
本実施例では、印字部を黒色とし、非印字部を白色としたが、これに限定されるものではなく、要は２値化が可能であれば印字部及び非印字部の色は何色でもよい。
本第１の実施例では、膨張処理を行う際に、水平方向及び垂直方向に対して個別に膨張処理を行って、夫々の方向に対する２次元コードデータを生成するようにしたが、これに限定されるものではなく、例えば、両方向に膨張処理を行って、夫々の方向に対する２次元コードデータを生成するようにしてもよい。
【０１１４】
本実施例の２次元コードを検出してから情報に変換するまでの処理順序は一例であり、これに限定されるものではなく、例えば接合手段による接合処理とコード構成検出手段によるコード構成の検出を同時処理により行ってもよい。要は、セル検出手段により検出されたセル構成情報に基づいてデコード手段により２次元コードが正確に情報に変換できるような処理順序であればよい。
【０１１５】
本実施例では、自動仕分けシステムに適用したが、これに限定されるものではなく、あらゆる生産ラインや物流ライン等に適用できる。
本実施例では、接合手段におけるフィルタ処理をデジタルフィルタ処理により行うようにしたが、これはアナログフィルタ回路で構成してもよい。
【図面の簡単な説明】
【図１】本発明の第１の実施例を示す光学的情報読取装置の構成図
【図２】光学的情報読取装置の配置の様子を示す図
【図３】セル構成を示す図
【図４】２次元コードを検出する方法を示すフローチャート図
【図５】２値化された２次元コード画像の表示例を示す図
【図６】処理Ａ乃至Ｄルーチンを選択する方法を示すフローチャート図
【図７】処理Ａ乃至Ｄルーチンの処理方法の内容を示す図
【図８】処理Ａルーチンの処理方法を示すフローチャート図
【図９】処理Ｂルーチンの処理方法を示す図８相当図
【図１０】処理Ｃルーチンの処理方法を示す図８相当図
【図１１】処理Ｄルーチンの処理方法を示す図８相当図
【図１２】２値化された２次元コード画像のライン走査の様子を示す図
【図１３】矩形型印字セルの連続長分布のヒストグラム図
【図１４】単一円型印字セルの図１３相当図
【図１５】複数円型印字セルの図１３相当図
【図１６】とばし処理の様子を示す図
【図１７】ＱＲコード及びデータマトリックスコードのシンボル記号を示す図
【図１８】膨張処理の様子を示す図
【図１９】本発明の第２の実施例における印字部が楕円形状の２次元コードを示す図
【図２０】本発明の第３の実施例における接合処理の様子を示す図
【図２１】従来例を示す図２相当図
【符号の説明】
図面中、１は光学的情報読取装置、４は２次元コード、５は印字セル、６は印字部、６ａはドットパターン、７は非印字セル、８は非印字部、９はＣＣＤカメラ、１１は光学センサ、１３はマイコン（マイクロコンピュータ）、１５はライン検出手段、１６はセル検出手段、１７は接合手段、１８はコード構成検出手段、１９はデコード手段、２１は入力手段（キーボード）、２２は処理選択手段、２５は印字部間隙、２６，２９はシンボル記号、２７は印字部、２７ａは中心部、２７ｂは枠部、２８は非印字部を示す。
【図１】
0003636050.tif 000002
【図２】
0003636050.tif 000003
【図３】
0003636050.tif 000004
【図４】
0003636050.tif 000005
【図５】
0003636050.tif 000006
【図６】
0003636050.tif 000007
【図７】
0003636050.tif 000008
【図８】
0003636050.tif 000009
【図９】
0003636050.tif 000010
【図１０】
0003636050.tif 000011
【図１１】
0003636050.tif 000012
【図１２】
0003636050.tif 000013
【図１３】
0003636050.tif 000014
【図１４】
0003636050.tif 000015
【図１５】
0003636050.tif 000016
【図１６】
0003636050.tif 000017
【図１７】
0003636050.tif 000018
【図１８】
0003636050.tif 000019
【図１９】
0003636050.tif 000020
【図２０】
0003636050.tif 000021
【図２１】
0003636050.tif 000022