(57)【要約】【課題】バーコード等のシンボル情報を読み取る際の誤判定を防止でき、シンボル情報全体を正確に読み取ることが可能なシンボル情報読取装置、シンボル情報読取方法、およびプログラムを提供する。【解決手段】シンボル情報に該当する仮領域について走査線の走査方向に対して直交する方向に隣接する隣接領域との相関を求めて相関値の高い領域を示すマップを作成する相関マップ作成部１４２と、相関マップについて基本バーコードの有無を検索し、基本バーコードが存在すると判断した領域をラベリングするラベリング部１４３を含み、ラベリング部１４３は、相関マップ作成部で得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定する。【選択図】図１
2014199487.tif 000002
【特許請求の範囲】
【請求項１】
シンボル情報が記録された媒体を撮像する撮像手段と、
前記撮像手段により得られた前記媒体の画像データを記憶する画像メモリと、
前記画像データを取り込んで、前記シンボル情報が媒体に記録された位置を検出する位置検出処理部と、を有し、
前記位置検出処理部は、
前記画像データを所定の領域で前記シンボル情報の走査線の走査方向に沿って輝度値の変動量を計算して、前記シンボル情報に該当する可能性のある仮領域を判定する仮領域判定部と、
前記仮領域について、前記走査線の走査方向に対して直交する方向に隣接する隣接領域との相関を求めて、相関値の高い領域を示すマップを作成する相関マップ作成部と、
前記相関マップについて、基本バーコードの有無を検索し、前記基本バーコードが存在すると判断した領域をラベリングするラベリング部と、
ラベリングされた領域に基づき、前記シンボル情報が媒体に記録された位置を検出する位置決定部と、を含み、
前記ラベリング部は、
前記相関マップ作成部で得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定する
シンボル情報読取装置。
【請求項２】
前記ラベリング部は、
高相関である要素値の数の基本パターン内の要素数に対する割合があらかじめ設定した割合以上であるある場合は基本バーコードとしてみなす
請求項１記載のシンボル情報読取装置。
【請求項３】
前記ラベリング部は、
基本パターン内の全要素の要素値の合計が、全て高相関である場合の要素値の合計より小さい、あらかじめ設定した値以上である場合は基本バーコードとしてみなす
請求項１または２記載のシンボル情報読取装置。
【請求項４】
前記ラベリング部は、
複数の要素により形成される基本パターンにおいて、高相関である要素値が所定の形態で所定の位置にある場合は基本バーコードとしてみなす
請求項１から３のいずれか一に記載のシンボル情報読取装置。
【請求項５】
前記ラベリング部は、
基本パターン検索処理において、相関マップ上で１要素ずつシフトしながら、基本パターン領域を形成し、その基本パターン領域ごとに、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定し、当該基本バーコードであるとみなされなかった場合には当該基本パターンを不定とみなし、さらにシフトした先の基本パターンが基本バーコードであるとみされると、不定とみなした基本パターンを基本バーコードとしてみなす
請求項１から４のいずれか一に記載のシンボル情報読取装置。
【請求項６】
シンボル情報が記録された媒体を撮像素子により撮像する撮像ステップと、
前記撮像ステップにより得られた前記媒体の画像データを記憶部に記憶する記憶ステップと、
位置検出処理部が、前記画像データを取り込んで、前記シンボル情報が媒体に記録された位置を検出する位置検出処理ステップと、を有し、
前記位置検出処理ステップは、
前記画像データを所定の領域で前記シンボル情報の走査線の走査方向に沿って輝度値の変動量を計算して、前記シンボル情報に該当する可能性のある仮領域を判定する仮領域判定ステップと、
前記仮領域について、前記走査線の走査方向に対して直交する方向に隣接する隣接領域との相関を求めて、相関値の高い領域を示すマップを作成する相関マップ作成ステップと、
前記相関マップについて、基本バーコードの有無を検索し、前記基本バーコードが存在すると判断した領域をラベリングするラベリングステップと、
ラベリングされた領域に基づき、前記シンボル情報が媒体に記録された位置を検出する位置決定ステップと、を含み、
前記ラベリングステップにおいて、
前記相関マップ作成ステップで得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定する
シンボル情報読取方法。
【請求項７】
前記ラベリングステップにおいては、
高相関である要素値の数の基本パターン内の要素数に対する割合があらかじめ設定した割合以上であるある場合は基本バーコードとしてみなす
請求項６記載のシンボル情報読取方法。
【請求項８】
前記ラベリングステップにおいては、
基本パターン内の全要素の要素値の合計が、全て高相関である場合の要素値の合計より小さい、あらかじめ設定した値以上である場合は基本バーコードとしてみなす
請求項６または７記載のシンボル情報読取方法。
【請求項９】
前記ラベリングステップにおいては、
複数の要素により形成される基本パターンにおいて、高相関である要素値が所定の形態で所定の位置にある場合は基本バーコードとしてみなす
請求項６から８のいずれか一に記載のシンボル情報読取方法。
【請求項１０】
前記ラベリングステップにおいては、
基本パターン検索処理において、相関マップ上で１要素ずつシフトしながら、基本パターン領域を形成し、その基本パターン領域ごとに、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定し、当該基本バーコードであるとみなされなかった場合には当該基本パターンを不定とみなし、さらにシフトした先の基本パターンが基本バーコードであるとみされると、不定とみなした基本パターンを基本バーコードとしてみなす
請求項６から９のいずれか一に記載のシンボル情報読取方法。
【請求項１１】
シンボル情報が記録された媒体を撮像素子により撮像した前記媒体の画像データを取り込んで、前記シンボル情報が媒体に記録された位置を検出する位置検出処理を含むシンボル情報読取処理をコンピュータに実行させるプログラムであって、
前記位置検出処理は、
前記画像データを所定の領域で前記シンボル情報の走査線の走査方向に沿って輝度値の変動量を計算して、前記シンボル情報に該当する可能性のある仮領域を判定する仮領域判定処理と、
前記仮領域について、前記走査線の走査方向に対して直交する方向に隣接する隣接領域との相関を求めて、相関値の高い領域を示すマップを作成する相関マップ作成処理と、
前記相関マップについて、基本バーコードの有無を検索し、前記基本バーコードが存在すると判断した領域をラベリングするラベリング処理と、
ラベリングされた領域に基づき、前記シンボル情報が媒体に記録された位置を検出する位置決定処理と、を含み、
前記ラベリング処理において、
前記相関マップ作成処理で得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定する
シンボル情報読取処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードシンボル等のシンボル情報を光学的に読み取るシンボル情報読取装置、シンボル情報読取方法、およびプログラムに関するものである。
【背景技術】
【０００２】
従来より、紙やプラスチック等の媒体に固有の情報を付与し、これを自動認識するための手段として、バーコードシンボルが普及している。
商品管理や物流管理などでは、レーザスキャナやＣＣＤカメラ等のバーコード読取装置によって、商品に添付されたバーコードシンボルの情報読み取りが行われる。
【０００３】
近年になって、ＩＤカードに個人番号をバーコードで記録しておき、ＩＤカードの全面をスキャンして画像を取り込み、その画像に基づいてバーコードを認識するタイプのシンボル情報読取装置としてのバーコード読取装置が登場してきている。
このようなタイプのバーコード読取装置の場合、二次元画像空間からバーコードシンボルを正確に検出できることが重要となる。
【０００４】
特許文献１には、バーコードシンボル等のシンボル情報を読み取るのに必要な演算量を低減することが可能なシンボル情報読取装置が提案されている。
【０００５】
このシンボル情報読取装置は、撮像素子と、撮像素子により得られた媒体の画像データを記憶する画像メモリと、画像データを取り込んで、シンボル情報が媒体に記録された位置を検出する位置検出処理部と、を有する。
そして、位置検出処理部は、画像データを所定の領域でシンボル情報の走査線の走査方向に沿って輝度値の変動量を計算して、シンボル情報に該当する可能性のある仮領域を判定する仮領域判定部と、仮領域について、走査線の走査方向に対して直交する方向に隣接する隣接領域との相関を求めて、相関値の高い領域を示すマップを作成する相関マップ作成部と、相関マップについて、基本バーコードの有無を検索し、基本バーコードが存在すると判断した領域をラベリングするラベリング部と、ラベリングされた領域に基づき、シンボル情報が媒体に記録された位置を検出する位置決定部と、を備える。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９-２６６１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上述したシンボル情報読取装置のラべリング部のラべンリング処理においては、特許文献１の段落［００５０］に開示されているように、バーコードシンボルの存在性を示す相関マップにおいて、マップ上で１要素ずつシフトしながら、基本バーコードシンボルパターン（実施形態では[２ ２ ２]）の有無を検索し、このパターンが検出されたら、その各マップ要素に「１」をラベリングするようにしている。
【０００８】
通常、バーコードシンボルが存在する領域では「１」が、その他の領域では「０」がラベリングされ、次ステップの位置決定処理部で、この「１」と「０」の配列パターンを解析することによってバーコードシンボル領域の左端と右端の位置を決定するようにしている。
この「１」と「０」の配列パターンは通常、ある部分の相関マップが［１ ２ ２ ２ ２ ２ ２ ２ ２ ２ １］であれば、［０ １ １ １ １ １ １ １ ０ ０ ０］のようにラベリングされ、連続する「１」の両側に存在する「０」を見つけることでバーコードシンボルの左右端点位置を決定することができる。
【０００９】
しかし、同じバーコードシンボルであっても、［１ ２ ２ ２ ２ ２ １ ２ ２ ２ １］のようになる場合があり、［０ １ １ １ １ １ ０ １ １ １ ０］のようにラベリングされる。
このため、中央の「０」が端点と誤判定される結果、バーコードシンボルが実際よりも短く検出されてしまうという不利益がある。
【００１０】
本発明の目的は、バーコードシンボル等のシンボル情報を読み取る際の誤判定を防止でき、シンボル情報全体を正確に読み取ることが可能なシンボル情報読取装置、シンボル情報読取方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の観点は、シンボル情報が記録された媒体を撮像する撮像手段と、前記撮像手段により得られた前記媒体の画像データを記憶する画像メモリと、前記画像データを取り込んで、前記シンボル情報が媒体に記録された位置を検出する位置検出処理部と、を有し、前記位置検出処理部は、前記画像データを所定の領域で前記シンボル情報の走査線の走査方向に沿って輝度値の変動量を計算して、前記シンボル情報に該当する可能性のある仮領域を判定する仮領域判定部と、前記仮領域について、前記走査線の走査方向に対して直交する方向に隣接する隣接領域との相関を求めて、相関値の高い領域を示すマップを作成する相関マップ作成部と、前記相関マップについて、基本バーコードの有無を検索し、前記基本バーコードが存在すると判断した領域をラベリングするラベリング部と、ラベリングされた領域に基づき、前記シンボル情報が媒体に記録された位置を検出する位置決定部と、を含み、前記ラベリング部は、前記相関マップ作成部で得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定する。
【００１２】
本発明の第２の観点は、シンボル情報が記録された媒体を撮像素子により撮像する撮像ステップと、前記撮像ステップにより得られた前記媒体の画像データを記憶部に記憶する記憶ステップと、位置検出処理部が、前記画像データを取り込んで、前記シンボル情報が媒体に記録された位置を検出する位置検出処理ステップと、を有し、前記位置検出処理ステップは、前記画像データを所定の領域で前記シンボル情報の走査線の走査方向に沿って輝度値の変動量を計算して、前記シンボル情報に該当する可能性のある仮領域を判定する仮領域判定ステップと、前記仮領域について、前記走査線の走査方向に対して直交する方向に隣接する隣接領域との相関を求めて、相関値の高い領域を示すマップを作成する相関マップ作成ステップと、前記相関マップについて、基本バーコードの有無を検索し、前記基本バーコードが存在すると判断した領域をラベリングするラベリングステップと、ラベリングされた領域に基づき、前記シンボル情報が媒体に記録された位置を検出する位置決定ステップと、を含み、前記ラベリングステップにおいて、前記相関マップ作成ステップで得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定する。
【００１３】
本発明の第３の観点は、シンボル情報が記録された媒体を撮像素子により撮像した前記媒体の画像データを取り込んで、前記シンボル情報が媒体に記録された位置を検出する位置検出処理を含むシンボル情報読取処理をコンピュータに実行させるプログラムであって、前記位置検出処理は、前記画像データを所定の領域で前記シンボル情報の走査線の走査方向に沿って輝度値の変動量を計算して、前記シンボル情報に該当する可能性のある仮領域を判定する仮領域判定処理と、前記仮領域について、前記走査線の走査方向に対して直交する方向に隣接する隣接領域との相関を求めて、相関値の高い領域を示すマップを作成する相関マップ作成処理と、前記相関マップについて、基本バーコードの有無を検索し、前記基本バーコードが存在すると判断した領域をラベリングするラベリング処理と、ラベリングされた領域に基づき、前記シンボル情報が媒体に記録された位置を検出する位置決定処理と、を含み、前記ラベリング処理において、前記相関マップ作成処理で得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定するシンボル情報読取処理をコンピュータに実行させるプログラムである。
【発明の効果】
【００１４】
本発明によれば、バーコードシンボル等のシンボル情報を読み取る際の誤判定を防止でき、シンボル情報全体を正確に読み取ることが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るシンボル情報読取装置の構成例を示す図である。
【図２】本発明の実施形態に係るシンボル情報読取処理の流れを示すフローチャートである。
【図３】図２におけるシンボル検出に関する情報処理の流れを示すフローチャートである。
【図４】画像メモリに記憶された記録担体の画像データの一例を示す図である。
【図５】マップ数値を画像で表現した図である。
【図６】図５に示すマップを２値化した図である。
【図７】上下ライン相関の処理結果である相関マップを示す図である。
【図８】図７に示す相関マップから得られたバーコードマップを示す図である。
【図９】バーコードシンボル付近における平均輝度のプロファイルを示す図である。
【図１０】照合するラインの一方の位置が白スジ線と重なった例を示す図である。
【図１１】照合するラインの一方の位置が図１０中の白スジ線と重なった場合に作成される相関マップの一例を示す図である。
【図１２】図１１の相関マップに対して基本パターン検索処理を施した結果を示す図である。
【図１３】１３行３０列のマトリクス状に形成された相関マップの一例を示す図である。
【図１４】既存のシンボル情報読取装置のように、基本パターン検索処理において、あらかじめ設定したマスクパターンとの厳密な一致性を求めた場合のラベリング後のバーコードマップを示す図である。
【図１５】本実施形態に係るシンボル情報読取装置の基本パターン検索処理において、基本パターンの有無を、基本パターン内の全要素の要素値の合計があらかじめ設定した値以上であるとした場合のラベリング後のバーコードマップを示す図である。
【図１６】２次元バーコードシンボルが印刷された媒体画像例を示す図である。
【図１７】図１６に示す画像に対して、位置検出の各処理ステップを適用したときの様子を示す図である。
【図１８】１つの媒体に複数種類のバーコードシンボルが用いられている例を示す図である。
【図１９】図１８に基づき得られた相関マップを示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面に関連付けて説明する。
【００１７】
図１は、本発明の実施形態に係るシンボル情報読取装置の構成例を示す図である。
【００１８】
本実施形態に係るシンボル情報読取装置１０は、紙やプラスチック等の媒体上に固有の情報として付与されたシンボル情報（本実施形態では１次元バーコードシンボルあるいは２次元バーコードシンボル等）を撮像して得られた画像データを処理することによって、画像データからシンボル情報全体を正確に読み取ることが可能に構成されている。
【００１９】
本シンボル情報読取装置１０は、図１に示すように、撮像装置１１、記憶部としての画像メモリ１２、およびデータ処理装置１３を主構成要素として有している。
【００２０】
撮像装置１１は、密着型の一次元撮像素子１１１、およびカード等の記録担体２０を搬送する搬送機構（搬送ガイドを含む）１１２を含んで構成されている。
撮像装置１１の撮像素子１１１で撮像されるカード等の記録担体２０には、図１ではシンボル情報の一例として、一次元バーコードのバーコードシンボル２１が印刷されている。
なお、図１において、符号Ｄは記録担体２０の搬送方向を示し、符号Ｌは、一次元バーコードのバーコードシンボル２１の走査線を示す。
【００２１】
ここでは、撮像素子１１１として密着型１次元撮像素子を採用して装置の小型化等を図っているが、撮像素子１１１としては、読み取り対象の記録担体２０の文字列を読み取り対象とする２次元のエリアセンサ等を採用することも可能である。
撮像素子１１１は、たとえばＣＣＤやＣＭＯＳセンサにより形成される。
【００２２】
画像メモリ１２は、撮像素子１１１で撮像された１次元バーコードのバーコードシンボル２１を含む記録担体２０の画像データを記憶（格納）する。
なお、この画像メモリ１２は、ＲＡＭ，ＳＤＲＡＭ，ＤＤＲＳＤＲＡＭ，ＲＤＲＡＭなど、画像データを記憶しうるものであれば如何なるものであってもよい。
【００２３】
データ処理装置１３は、位置検出処理部１４および復号処理部１５を主構成要素として有している。
そして、本実施形態の位置検出処理部１４は、仮領域判定部１４１、相関マップ作成部１４２、ラベリング部１４３、および位置決定部１４４を有する。
なお、位置検出処理部１４を構成する各要素は、ＣＰＵやＲＯＭ，ＲＡＭといったハードウェアにより実現することができる。
また、本実施形態では、位置検出処理部１４と復号処理部１５は別要素として図示しているが、復号処理部１５が位置検出処理部１４内に組み込まれていてもよい。
【００２４】
仮領域判定部１４１は、画像メモリ１２から読み出した画像データを所定の領域でシンボル情報（本例では一次元バーコードのバーコードシンボル２１）の１次元の走査線Ｌの走査方向に沿って輝度値の変動量を計算して、シンボル情報に該当する可能性のある仮領域を判定する。
仮領域判定部１４１は、輝度値の変動量としては、たとえば分散や標準偏差などが適用される。本実施形態の仮領域判定部１４１は、一例として分散マップを計算し、その結果により仮領域であるか否かを判定する。すなわち、本実施形態の仮領域判定部１４１は、分散マップ計算機能を含んで構成される。
【００２５】
相関マップ作成部１４２は、仮領域判定部１４１で判定された仮領域について、走査線Ｌの走査方向に対して直交する方向に隣接する隣接領域との相関を求めて、相関値の高い領域を示す相関マップを作成する。
本実施形態の相関マップ作成部１４２は、シンボル情報であるバーコードシンボルとそうでない部分とを分離するため、いわゆる上下走査線相関処理を行う。
すなわち、相関マップ作成部１４２は、格子マップ上の「１」の各要素について、該当する区画のすぐ上とすぐ下に隣接する区画のライン相互の輝度の相関を計算する。それらの区画がバーコードシンボルを含んでいればこの相関値は大きな値を示すはずである。
具体的には、相関マップ作成部１４２は、格子座標上にライン相関マップを作成する。
後で説明するように、相関マップ作成部１４２は、たとえば注目ラインと上または下の各ラインとの相関値が高ければその要素にポイント（値）「１」を加算し、上下いずれとも相関が高かった場合はポイント（値）「２」を加算する。
【００２６】
ラベリング部１４３は、相関マップ作成部１４２で作成された相関マップについて、マップ上で１要素ずつシフト（本実施形態では、走査方向、水平方向（横方向）にシフト）しながら基本パターンである基本バーコードシンボルの有無を検索し、基本バーコードシンボルが存在すると判断した領域をラベリングする。
ラベリング部１４３おける基本パターン検索処理では相関マップにおいて、原始バーコードパターンの存在を調べる。たとえば、検出したい最小のバーコードサイズが、相関マップ上で［２ ２ ２］のパターンに対応する場合、相関マップをサーチしてこのマスクパターンが検出されたらそのパターンによって占有されるマップ要素に「１」を立て、それ以外のマップ要素は「０」とする。
【００２７】
本実施形態のラベリング部１４３は、相関マップ作成部１４２で得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合あるいは基本パターン内における高相関領域（高相関値）の位置に応じて判定する。
ここで、高相関領域の割合とは、高相関である要素値、たとえば「２」の数の基本パターン内の要素数に対する割合があらかじめ設定した割合またはそれ以上である等を含む。
また、基本パターン内の全要素の要素値の合計が全て高相関である場合の要素値の合計より小さい、あらかじめ設定した値以上である場合も、たとえば高相関である要素値、たとえば「２」の数が基本パターン内の要素数に対する割合があらかじめ設定した割合またはそれ以上であるとすることができる。
また、高相関領域の基本パターン内における位置とは、複数の要素により形成される基本パターンにおいて、高相関である要素値、たとえば「２」が基本パターンの両端に位置している場合、高相関要素値「２」が規定値（たとえば、２、３や４等）以上に連続している場合、一または複数の値「１」や「０」を挟んで、値「２」が連続している位置（領域）が複数ある場合等を含む概念である。
【００２８】
本実施形態において、ラベリング部１４３は、たとえば、相関マップ上で［２ １ ２］のパターンであっても、これがバーコードシンボルとして認識されるようにする。
具体的には、ラベリング部１４３は、マスクパターン[２ ２ ２]との厳密な一致性を求めるのではなく、マスクパターン検索の対象領域に占める「２」の比率に注目する。
たとえば、３個のマップ要素のうち、従来は「２」が３個あることを条件としていたが、本実施形態のラベリング部１４３においては、「２」が２個以上あれば、バーコードシンボルパターンが有るものと見なしてそのマスクパターンによって占有されるマップ要素に「１」を立て、それ以外のマップ要素は「０」とする。
あるいは、相関マップ作成部１４２は、マスクパターンの要素値の合計があらかじめ設定した値２×５＝１０以上あればバーコードシンボルパターンが有るものと見なすようにしてもよい。この例では、基本パターンの要素数は６あるいはそれ以上である。
あるいは、相関マップ作成部１４２は、マスクパターンの要素値の合計があらかじめ設定した値２×５=１０より低い値で不定であっても、たとえばシフトした後続する基本パターンの要素値の合計があらかじめ設定した値２×５＝１０以上あれば、不定であったマスクパターンをバーコードシンボルパターンが有るものとみなすようにしてもよい。
あるいは、相関マップ作成部１４２は、基本パターン内において、基本パターンの両端のマップ要素に「２」が立ててあればバーコードシンボルパターンが有るものとみなすようにしてもよい。
すなわち、ラベリング部１４３は、複数の要素により形成される基本パターンにおいて、高相関である要素値「２」が所定の形態で所定の位置にある場合は基本バーコードシンボルとしてみなすように構成してもよい。
【００２９】
位置決定部１４４は、ラベリング部１４３によりラベリングされた領域に基づき、シンボル情報が媒体に記録された位置を検出する。
位置決定部１４４のシンボル位置判定処理においては、バーコードマップの重心（ｙｘｏｇ，ｘｃｏｇ）を求めることから開始される。重心は定義に基づいて計算される。
次に、位置決定部１４４は、バーコードシンボルの左端・右端・上端・下端位置を求める。位置決定部１４４は、左右位置はバーコードマップ上を、重心座標ｘｃｏｇを起点として左右に要素和（加算範囲はｙｃｏｇ±２）がゼロとなる座標ｘｓｔａｒｔおよびｘｓｔｏｐを検出し、そこで打ち切る。上下位置はｙｃｏｇを起点として上下に要素和（加算範囲［ｘｓｔａｒｔ，ｘｓｔｏｐ］）がゼロとなる座標ｙｕｐｐｅｒおよびｙｌｏｗｅｒを検出したら打ち切る。
このようにして、格子座標上にバーコードシンボルの４辺位置が特定される。
位置決定部１４４は、この４辺の座標から画像空間上の座標を求める。
【００３０】
このような構成を有するシンボル情報読取装置１０において、バーコードシンボル２１が印刷（記録）された記録担体２０は、搬送機構１１２の搬送ガイドに沿って搬送され、１次元撮像素子１１１を通過することによってそのカードイメージが光電変換され、その画像データが画像メモリ１２に取り込まれ記憶される。
データ処理装置１３においては、バーコードシンボル２１を含む画像データが画像メモリ１２から取り込まれ、取り込んだ画像データに基づいて様々な処理が施される。
本実施形態では、データ処理装置１３における位置検出処理部１４によって、バーコードシンボル２１が記録担体２０に記録された位置が検出される。
【００３１】
本実施形態のシンボル情報読取装置１０において、バーコードシンボルのデコーダ処理は概略図２のフローチャートに従って実行される。
以下、本発明の実施形態に係るシンボル情報読取処理を図面に関連付けて詳細に説明する。
【００３２】
［シンボル情報読取処理の概要］
図２は、本発明の実施形態に係るシンボル情報読取処理の流れを示すフローチャートである。
ここで、本発明の実施形態に係るシンボル情報読取処理流れを図２に関連付けて概説する。
【００３３】
まず、処理プランの指定が行われる（ステップＳＴ１）。
具体的には、処理プランの指定において、記録担体２０に記録されているバーコードシンボルの種類、あるいは読み取るべきバーコードシンボルの種類に応じて使用するバーコード検出器（検出フィルタ）の種類と適用順番の設定を行う。
デフォルトでは、第一の検出フィルタ（後述する基本バーコードシンボルパターンの一つ）が指定されるが（ステップＳＴ２）、たとえば、バーコードの出現頻度に応じて順番を変えてもよい。
【００３４】
次に、シンボル検出（ステップＳＴ３）が行われる。
具体的には、シンボル検出において、シンボル情報読取装置１０の撮像素子１１１は、搬送機構（搬送ガイド）１１２に沿って所定位置まで移動したバーコードシンボル２１を含む記録担体２０を、光電変換によって撮像する。そして、撮像されたバーコードシンボル２１含む画像データは、画像メモリ１２において記憶される。
【００３５】
その後、データ処理装置１３における位置検出処理部１４は、画像メモリ１２に記憶された画像データを読み込み、仮領域判定部１４１の分散マップ計算処理等→相関マップ作成部１４２の上下ライン間の相関計算処理等→ラベリング部１４３の基本パターン検索処理等→位置決定部１４４のシンボル位置判定処理等を経由して、上述した第一の検出フィルタが担当するバーコードシンボル２１の有無が決定され、有りと判定された場合には、その位置が決定される。
【００３６】
そして、データ処理装置１３の復号処理部１５において、復号の処理が行われる（ステップＳＴ４）。
より具体的には、データ処理装置１３の復号処理部１５は、ステップＳＴ３において解析されたバーコードシンボル２１の位置等に基づき、バーコードシンボル２１の復号処理（走査線Ｌに沿ったデータ復号）を行う。
【００３７】
ここで、仮に検出すべきバーコードが残っている場合、すなわち未適用の検出フィルタがある場合には（ステップＳＴ５：ＹＥＳ）、次の検出フィルタが適用され（ステップＳＴ６）、処理はステップＳＴ３に移され、新たなシンボル検出およびシンボル復号が行われる（ステップＳＴ３およびステップＳＴ４）。
一方で、未適用の検出フィルタがない場合には（ステップＳＴ５：ＮＯ）、一連のシンボル情報の読取処理は終了する。
なお、検出フィルタの切り替え処理は、たとえば、位置検出処理部１４のラベリング部１４３が行ってもよいし、復号処理部１５が行ってもよい。また、検出フィルタを切り替える順番は、たとえば出現頻度に基づいて決めてもよい。これにより、シンボル情報読取処理の効率化を図ることができる。
さらに、本実施形態では、１つの媒体に複数種類のバーコードが用いられている可能性を考慮して、処理プランの指定（ステップＳＴ１）や検出フィルタの更新（ステップＳＴ６）などを行うこととしたが、これらを省くことも可能である。すなわち、ステップＳＴ３およびステップＳＴ４のみで処理を行うことも可能である。
【００３８】
［シンボル検出の具体的な処理］
図３は、図２におけるステップＳＴ３のシンボル検出に関する情報処理の流れを示すフローチャートである。
【００３９】
図３において、最初に、記録担体２０の上下左右のエッジ位置が検出される（ステップＳＴ１１）。
より具体的には、エッジ検出処理において、仮領域判定部１４１は、分散マップを計算するための前処理として、画像メモリ１２に記憶された記録担体２０の画像データより、上下左右のエッジ位置を検出する。
【００４０】
図４は、画像メモリ１２に記憶された記録担体２０の画像データの一例を示す図である。
図４における周囲の実線ＳＬは、エッジ検出処理によって得られた記録担体２０のエッジ位置を表している。
【００４１】
次に、仮領域判定部１４１において分散マップの計算が行われる（ステップＳＴ１２）。
より具体的には、仮領域判定部１４１は、エッジラインを基準として、画像空間全体を図４に示すような格子状の小区画に分割し、区画ごとに区画内の一つのラインに沿って輝度値の変動量（たとえば分散や標準偏差など）を計算する。
この区画内の一つのラインとは、図１に示すバーコードシンボル２１の走査線Ｌの走査方向と同じ方向に形成されており、たとえば、図４に示す符号Ａ０（Ｂ０）で示すラインである。
【００４２】
なお、従来技術では、小区画内で複数ラインを指定して、まず微分演算した上で対応点ごとの積和演算を行う方法をとっている一方、本実施形態に係るシンボル情報読取処理では、単一ラインかつ分散（又は標準偏差等）の演算が行われる。
そのため、本実施形態に係るシンボル情報読取処理は、従来技術と比べて演算量の少ない処理となっている。
【００４３】
全格子区画について同様の演算を行うと、格子座標に基づく変動量マップを得ることができる。
図５は、マップ数値を画像で表現した図である。
図５において、白い部分は変動が大きい部分を表し、黒い部分は変動が小さい部分を表している。そして、この変動量が大きい部分については、図４に示すバーコードシンボル２１の位置に対応している。
【００４４】
次に、図５に示すマップを２値化すると、図６に示すようになる。２値化の閾値は、変動量の分布状態から適したものを設定することができる。
図６は、図５に示すマップを２値化した図である。
【００４５】
図６について詳述する。
たとえば、図６のマップにおいて、右から４列目は、上から［０，０，０，０，０，０，１，１，１，０，０］という順で数値が並んでいるが（点線枠Ｘで示す部分）、これは、図４におけるＡ１〜Ａ１１という各単一ラインの分散を所定の閾値で２値化したものに相当する。
図６に示すように、図４におけるバーコードシンボル２１の位置には、「１」の値が１２箇所、正方形状（太枠Ｚで示す領域部分）に並んでいることが分かる（そのうちの１辺が、図４に示すＡ６，Ａ７，Ａ８およびＡ９である）。
【００４６】
このように、上下左右のエッジ位置を検出し（図３のステップＳＴ１１）、分散マップ（図５，図６）の計算（図３のステップＳＴ１２）を行う分散マップ計算機能を有す仮領域判定部１４１は、画像データを所定の領域で走査線に沿って輝度値の変動量を計算して、シンボル情報に該当する可能性のある仮領域を判定する。
なお、ここでいう「仮領域」は、上述した「１」が１２箇所並んでいる領域Ｚである。
【００４７】
ここで、図６に示すマップにおいて、２値化したマップにおいて、「１」に該当するイメージ部分は、バーコード領域に合致している見込みが高い一方、必ずしもバーコード領域になるとは限らない。
すなわち、バーコードシンボル２１が位置する領域ではないが「１」となる領域Ｙが存在しており、その領域が「仮領域」として判定されることも考えられる。
具体的には、図６において、点線枠Ｙ内に存在する４個の１は、図４に示すように記録担体２０の表面に印字された文字が位置する領域に合致しているのであって、バーコードシンボル２１が位置する領域に合致しているわけではない。
【００４８】
そこで、次に、図３のステップＳＴ１３におてい次に上下走査線相関処理が行われる。
これは、上下ライン間の相関マップ作成部１４２によって、バーコードシンボル２１とそうでない部分とを分離するための処理である。
具体的には、格子マップ上の「１」の各要素について、該当する区画のすぐ上とすぐ下に隣接する区画のライン相互の輝度の相関を計算する。
それらの区画がバーコードシンボル２１を含んでいれば、この相関値は大きな値を示すはずである。
具体的には、相関マップ作成部１４２は、格子座標上にライン相関マップを作成する。
【００４９】
図７は、上下ライン相関の処理結果である相関マップを示す図である。
具体的には、バーコードシンボル２１の走査線の走査方向に沿って形成されたラインにおいて、注目ラインと上または下のいずれかのラインとの相関値が高ければ、その要素に１ポイントが加算され、注目ラインと上および下の両方のラインとの相関値が高ければ、その要素に２ポイントが加算される。
ここで注意すべき点は、図６に示す値（０と１の２値）が処理対象ではない点である。図４に示す実際の画像データが処理対象になる。
【００５０】
たとえば、図６における点線枠Ｙ内の４箇所のポイントを生成するため使われたラインは、図４でいえば、Ｂ２，Ｂ６，Ｂ３，Ｂ７の４ラインとなる。よって、これらが注目ラインとなる。
Ｂ２のラインについての上下ライン相関の処理は、Ｂ２とＢ１の相関値と、Ｂ２とＢ３の相関値とが計算される。そして、いずれかが高ければ１ポイントが付与され、両方ともが高ければ２ポイントが付与される。
一般的に、文字の領域では、バーコードシンボル２１の領域と比べて、これらの相関値は高くならない（そのため、相関値が高いか低いかを決める閾値は、バーコードシンボル２１の領域を特定できるような値に設定しておく）。
同様に、図４に示すＢ６のラインについての上下ライン相関の処理は、Ｂ６とＢ５の相関値と、Ｂ６とＢ７の相関値とが計算され、Ｂ３のラインについての上下ライン相関の処理は、Ｂ３とＢ２の相関値と、Ｂ３とＢ４の相関値とが計算され、Ｂ７のラインについての上下ライン相関の処理は、Ｂ７とＢ６の相関値と、Ｂ７とＢ８の相関値とが計算されるが、いずれも高い値とはならない。
その結果、図７の点線枠Ｙ２に示すように、図６の点線枠Ｙに相当する箇所のポイント値は、全て「０」となる。
【００５１】
同様にして、図６に示す点線枠Ｚ内の１２箇所のポイントを生成するために使われたラインは、図４でいえば、バーコードシンボル２１を包含する１２ラインとなる。
たとえば、図７に示す枠Ｚ２内の左列の各ポイント（上から［１，２，２，１］の部分）を生成するために使われた４ラインに着目すると、図４でいえば、Ａ６〜Ａ９のラインとなる。Ａ７を注目ラインとした場合、上下ライン相関の処理は、Ａ７とＡ６の相関値と、Ａ７とＡ８の相関値とが計算されるところ、バーコードシンボル２１の性質上、Ａ７とＡ８の相関値は極めて大きく（限りなく１に）なる。
その結果、ポイントは１が加算される。また、Ａ９を注目ラインとした場合も同様に、ポイントは１が加算される。そして、Ａ８を注目ラインとした場合には、Ａ８とＡ７の相関値も、Ａ８とＡ９の相関値も、極めて大きくなることから、ポイントは２が加算される。
このようにして、点線枠Ｚ内の左列の各ポイント［１，２，２，１］が決まる。点線枠Ｚ内の中央列の各ポイント［１，２，２，１］も、右列の各ポイント［１，２，２，１］も、同様に決まる。
【００５２】
図７に示すように、値「２」をもつ要素は、特に上下の相関が強いことを表している。そして、このような要素は、同一ラインパターンが上下に積層しているバーコードの特徴を反映していると考えられ、バーコード領域である可能性が高いことが分かる。
このように、上下ライン相関の処理（図３のステップＳＴ１３）を行う上下ライン間の相関計算処理を行う相関マップ作成部１４２は、上述した仮領域について、バーコードシンボル２１の走査線（図１に示す符号Ｌ参照）の走査方向に対して直交する方向（図４や図６でいえば上下）に隣接する隣接領域との相関を求めて、相関値の高い領域を示すマップを作成する。
また、本実施形態では、図７の枠Ｚ２を用いて説明したように、上下方向に隣接する２つの隣接領域（隣接するライン）との相関を求めた後、これら２つの相関値の双方が所定の閾値よりも高い相関値を示した場合（ポイント２が加算された場合）と、これら２つの相関値のいずれか一方が所定の閾値よりも高い相関値を示した場合（ポイント１が加算された場合）とを区別して、相関マップを作成するようにしている。
これにより、バーコードシンボル２１が存在する位置を的確に認識できる相関マップを作成することができる（図７参照）。
【００５３】
次に、ラベリング部１４３において基本パターン検索が行われる（図３のステップＳ１４）。
具体的には、ラベリング部１４３は、相関マップを用いて、原始バーコードパターンの存在を調べる。たとえば、検出した最小のバーコードサイズが、相関マップ上で走査方向に［２，２，２］のマスクパターン（ポイント列）に対応する場合において、図７の相関マップをサーチして、このマスクパターン［２，２，２］が検出されたら、そのマスクパターンによって占有されるマップ要素に「１」を立て、それ以外のマップ要素は「０」とする。
図７に示す相関マップに対して、このような処理を実行すると、図８の枠Ｚ３に示すようなバーコードマップを得ることができる。
【００５４】
図８は、図７に示す相関マップから得られたバーコードマップを示す図である。
このように、基本パターン検索の処理（図３のステップＳＴ１４）を行うラベリング部１４３は、相関マップについて、基本パターンである基本バーコード（たとえば上述したマスクパターン［２，２，２］）の有無を検索し、その基本バーコードが存在すると判断した領域をラベリングする（本実施形態ではマップ要素に「１」を立てる）。
なお、後で詳述するように、本実施形態のラベリング部１４３は、相関マップ作成部１４２で得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域（本実施形態では値「２」である要素）の割合や基本パターン内におけるその位置に応じて判定する。
【００５５】
なお、本実施形態では、３要素からなるマスクパターンを考えたが、一列４要素、５要素、６要素、あるいはそれ以上の要素からなるマスクパターンや、上下各３要素の計６要素からなるマスクパターンなど、「基本バーコード」（基本バーコードパターン）の態様としては種々変更可能である。
また、本実施形態では、注目ラインについて、走査線の走査方向に対して直交する方向に隣接する隣接領域（隣接するライン）との相関を求め、これら２つの相関値の双方が所定の閾値よりも高い相関値を示す領域が、基本バーコードが存在すると判断した領域としてラベリングされるようにしている。
これにより、文字部分を適切に排除し、より確度の高い部分（バーコードシンボル２１が存在する部分のみ）を検索対象とすることができる。
【００５６】
また、位置検出処理部１４のラベリング部１４３には、一または複数の基本バーコードパターン（検出フィルタ）が記憶されている。
そして、図２のフローチャートに関連付けて説明したように、一連のシンボル情報の読取処理の中で、基本バーコードパターンが順次切り替わるので（図２のステップＳＴ５，ステップＳＴ６）、結果的に、ラベリング部１４３は、複数の基本バーコードシンボルパターンを用いて基本パターン検索を行うことになる。
【００５７】
次に、位置決定部１４４において、シンボル位置判定が行われる（図３のステップＳＴ１５）。
具体的には、位置決定部１４４により、バーコードマップの重心（ｙｃｏｇ，ｘｃｏｇ）を求めることから開始される（重心は、一般的な定義に基づいて計算）。
次に、バーコードマップの左端・右端・上端・下端位置を求める。左右位置は、バーコードマップ上でｘｃｏｇを起点として、左右に要素和（加算範囲はｙｃｏｇ±２）がゼロとなる座標ｘｓｔａｒｔおよびｘｓｔｏｐを検出し、そこで打ち切る。
上下位置は、バーコードマップ上でｙｃｏｇを起点として、上下に要素和（加算範囲［ｘｓｔａｒｔ， ｘｓｔｏｐ］）がゼロとなる座標ｙｕｐｐｅｒおよびｙｌｏｗｅｒを検出したら打ち切る。
このようにして、格子座標上において、バーコードシンボル２１の４辺位置が特定される。そして、４辺の座標から画像空間上の座標を求める。
【００５８】
格子区画ごとに画像空間との対応関係をもっているので、バーコードシンボルの左端ＢＣＤＬは、区画（ｙｃｏｇ， ｘｓｔａｒｔ）における区画開始点である。バーコードシンボルの右端ＢＣＤＲは、区画（ｙｃｏｇ， ｘｓｔｏｐ）における区画終了点である。したがって、バーコードシンボルの左右範囲は、ＢＣＤＬ〜ＢＣＤＲとなる。
なお、この左右範囲については、マージンをみて、左右それぞれ一定画素数拡張することも可能である。バーコードシンボルの上下端の画像空間上の位置は、区画（ｙｕｐｐｅｒ， ｘｃｏｇ）のｙ座標と、区画（ｙｌｏｗｅｒ， ｘｃｏｇ）のｙ座標とで挟まれた領域の平均輝度のプロファイルから求められる。
具体例を図９に示す（なお、図８のバーコードマップを用いることなく、全ての領域についてプロファイルを計算するとなると、ある程度の演算量・計算時間が必要になる）。
【００５９】
図９は、バーコードシンボル２１付近における平均輝度のプロファイルを示す図である。
図９に示すように、上下エッジのサーチ開始点は、重心区画のｙ座標であり、その輝度に基づいてエッジ判定閾値（図９参照）を決める。
そして、上下にサーチして、エッジ判定閾値を超えたところをエッジと判定し、それらをＢｉｍｇｔｏｐおよびＢｉｍｇｂｏｔｔｏｍとする。
【００６０】
このように、位置決定部１４４は、図８に示すようにラベリングされた領域Ｚ３に基づき、バーコードシンボル２１が記録担体２０に記録された位置を検出する。
また、たとえば、この位置決定部１４４のシンボル位置判定機能として、ラベリングされた領域に基づいてバーコードシンボル２１が記録担体２０に記録された上下左右の概略位置を決定し、その概略位置で形成される矩形領域内のラベルリング総数をカウントし、これを予めカウントされた前記相関マップ全体でのラベリング総数と一致するか否かを判定した後、バーコードシンボル２１が記録担体２０に記録された位置を検出するようにしてもよい。これにより、上下左右の概略位置の精度を高めることが可能である。
【００６１】
基本的にシンボル情報読取装置においては。エッジをＢｉｍｇｔｏｐおよびＢｉｍｇｂｏｔｔｏｍとすることで、バーコードシンボルの画像空間上の位置が確定できたので、バーコードシンボル位置検出の全処理を終わることも可能である。
【００６２】
しかし、現実問題として、バーコードシンボルの印刷状態または媒体基材の汚れ等によっては、実際にバーコードシンボルパターンが存在しているにもかかわらず、相関マップ上で［２ ２ ２］に合致するパターンが形成されない場合がある。
【００６３】
図１０は、照合するラインの一方の位置が白スジ線と重なった例を示す図である。
図１１は、照合するラインの一方の位置が図１０中の白スジ線と重なった場合に作成される相関マップの一例を示す図である。
図１２は、図１１の相関マップに対して基本パターン検索処理を施した結果を示す図である。
【００６４】
合致するパターンが形成されない場合は、たとえば図１０に示すように、照合するラインのどちらか一方または双方にバーコードシンボルとしての完全性が損なわれた場合に起こりうる。
照合するラインの一方の位置が図１０中の白スジ線ＷＬと重なった場合、相関マップ作成部１４２における上下走査線相関処理における相関値が低くなるため、図１１に示すような相関マップとなる。
理想的な相関マップは、図７の枠Ｚ２内に４行で示されるように、上側から［１ １ １］、［２ ２ ２］、［２ ２ ２］、［１ １ １］となるはずであるが、図１１では［１ １ １］、［２ １ ２］、［２ ２ ２］、［１ １ １］となっている。
これに基本パターン検索処理を施すと、図１２のようになり、バーコードシンボルパターンが検出されない結果となる。
すなわち、基本パターン検索処理を施すと、理想的に図８の枠Ｚ３内に４行で示されるように、上側から［０ ０ ０］、［１ １ １］、［１ １ １］、［０ ０ ０］となるはずであるが、図１２では［０ ０ ０］、［０ ０ ０］、［１ １ １］、［０ ０ ０］となっている。
この例では、枠Ｚ内において、２行目の［２ １ ２］が［０ ０ ０］とラベリングされ、バーコードシンボルとして認識されていないラインがある。
【００６５】
そこで、本実施形態のシンボル情報読取装置１０においては、これを防止するため、相関マップ上で［２ １ ２］のパターンであっても、これがバーコードシンボルとして認識されるようにする。
【００６６】
具体的には、基本パターンであるマスクパターン［２ ２ ２］との厳密な一致性を求めるのではなく、マスクパターン検索の対象領域に占める値「２」の比率に注目する。
たとえば、基本パターンが３個のマップ要素で形成されている場合、３個のマップ要素のうち、従来は高相関領域である値「２」の要素が３個あることを条件としていた。
本実施形態では、高相関領域である値「２」が２個以上あれば、バーコードシンボルパターンが有るものとみなしてそのマスクパターンによって占有されるマップ要素に値「１」を立て、それ以外のマップ要素は「０」とする。
このように構成することにより、図１１に示すような相関マップであっても、図８と同じバーコードマップが得られ、バーコードシンボルの見逃しを回避できる。
【００６７】
［シンボル情報読取装置におけるより具体的な位置検出処理］
次に、本実施形態に係るシンボル情報読取装置におけるより具体的な位置検出処理について、図１３、図１４、および図５に関連付けて説明する。
【００６８】
図１３は、１３行３０列のマトリクス状に形成された相関マップの一例を示す図である。
図１４は、既存のシンボル情報読取装置のように、基本パターン検索処理において、あらかじめ設定したマスクパターンとの厳密な一致性を求めた場合のラベリング後のバーコードマップを示す図である。
図１５は、本実施形態に係るシンボル情報読取装置の基本パターン検索処理において、基本パターンの有無を、基本パターン内の全要素の要素値の合計があらかじめ設定した値以上であるとした場合のラベリング後のバーコードマップを示す図である。
図１４および図１５において、（Ｂ）としてバーコードシンボル２１付近における平均輝度のプロファイルを示し、（Ｃ）としてバーコードシンボル領域として検索されたマップにおけるラベリング値「１」の分布状態を示している。
【００６９】
この例では、基本パターンは連続する６個の要素からなる。
図１４の例では、６個のマップ要素がすべて値「２」でその合計が１２である場合のみにバーコードシンボルパターンがあるものとみなす処理を行っている。
図１５の例では、６個のマップ要素の値がすべて「２」ではなく「１」や「０」を含み、その要素値の合計が総計の「１２」でなく、あらかじめ設定した値「１０」（あるいはそれ以下の９等であってもよい）である場合にはバーコードシンボルパターンがあるものとみなす処理を行っている。
この場合、６個の要素中、高相関領域の値「２」の数が所定の割合、すなわち５個以上であればバーコードシンボルパターンとみなし、それより値が小さい、あるいは値「２」の数が５より少ない場合には、バーコードパターンとなみさず、たとえば不定として、後続のパターンの状態や高相関値の基本パターン内の位置等に応じて、不定でなくバーコードシンボルパターンとしてみなすように構成してもよい。
【００７０】
この場合も、基本パターン検索処理において、基本的に、マップ上で水平方向（図中の右横方向）に１要素ずつシフトしながら、基本パターン領域を形成し、その基本パターン領域ごとに、要素の合計値が「１２」である、あるいは「１０」以上であるとの判定が行われる。
【００７１】
図１３の相関マップに対して基本パターンを［２ ２ ２ ２ ２ ２］として、既存方法でバーコードマップを求めると、図１４のマップが得られる。
位置決定部１４４のシンボル位置検索の結果、ｘｓｔａｒｔ＝４およびｘｓｔｏｐ＝２３が得られる。
このｘｓｔｏｐ＝２３は実際のバーコードの右端位置（ｘｓｔｏｐ＝３０）よりも左寄りに位置するため、バーコードシンボルの全体を切り出すことができない。
【００７２】
これに対し、本実施形態によれば、マスクパターンの要素値の合計が２×５＝１０以上あればバーコードシンボルパターンが有るものと見なすことから、図１５のバーコードマップが得られる。
この場合、位置決定部１４４のシンボル位置検索の結果、ｘｓｔａｒｔ＝４およびｘｓｔｏｐ＝３０となり、正しくバーコードシンボル全体を切り出すことができる。
【００７３】
本実施形態に係る処理においては、図１３中にパターンＰＴ１で示す６個の要素パターンは［２ ２ ２ ２ １ ２］でその合計値が「１１」であることから、バーコードシンボルパターンがあるものとみなされる。この場合、６個の要素中、高相関領域の値「２」の数が５個であり、所定の割合を以上であるというこもできる。
１要素シフトしたパターンＰＴ２で示す６個の要素パターンは［２ ２ ２ １ ２ ２］でその合計値が「１１」であることから、バーコードシンボルパターンがあるものとみなされる。
さらに１要素シフトしたパターンＰＴ３で示す６個の要素パターンは［２ ２ １ ２ ２ ０］でその合計値が「９」であることから、バーコードシンボルパターンがあるか否かは不定である。
さらに１要素シフトしたパターンＰＴ４で示す６個の要素パターンは［２ １ ２ ２ ０ ２］でその合計値が「９」であることから、バーコードシンボルパターンがあるか否かは不定である。
さらに１要素シフトしたパターンＰＴ５で示す６個の要素パターンは［１ ２ ２ ０ ２ ２］でその合計値が「９」であることから、バーコードシンボルパターンがあるか否かは不定である。
さらに１要素シフトしたパターンＰＴ６で示す６個の要素パターンは［２ ２ ０ ２ ２ ２］でその合計値が「１０」であることから、バーコードシンボルパターンがあるものとみなされる。
さらに１要素シフトしたパターンＰＴ７で示す６個の要素パターンは［２ ０ ２ ２ ２ ２］でその合計値が「１０」であることから、バーコードシンボルパターンがあるものとみなされる。
さらに１要素シフトしたパターンＰＴ８で示す６個の要素パターンは［０ ２ ２ ２ ２ ２］でその合計値が「１０」であることから、バーコードシンボルパターンがあるものとみなされる。
【００７４】
ここで、不定とみなされたパターンＰＴ３、ＰＴ４、ＰＴ５は、さらにシフトしていった結果、パターンＰＴ６〜ＰＴ８のように、バーコードパターンがあるものとみなされるパターンがあることから、本実施形態では、結果的に不定ではなく、バーコードシンボルパターンがあるものとみなすことができる。
【００７５】
また、不定とみなされたパターンＰＴ４は［２ １ ２ ２ ０ ２］でその合計値が「９」であっても、高相関領域の値「２」がそのパターンの両端にあることから、結果的に不定ではなく、バーコードシンボルパターンがあるものともみなすことができる。
【００７６】
以上のように、本実施形態では、相関マップ作成部１４２は、マスクパターンの要素値の合計が、全て高相関である場合の要素値の合計「１２」より小さい、あらかじめ設定した値２×５=１０以上あればバーコードシンボルパターンが有るものとみなすように判定される。
あるいは、相関マップ作成部１４２は、マスクパターンの要素値の合計があらかじめ設定した値２×５＝１０より低い値で不定であっても、たとえばシフトした後続する基本パターンの要素値の合計があらかじめ設定した値２×５＝１０以上あれば、不定であったマスクパターンをバーコードシンボルパターンが有るものとみなすように判定される。
あるいは、相関マップ作成部１４２は、基本パターン内において、基本パターンの両端のマップ要素に「２」が立ててあればバーコードシンボルパターンが有るものとみなすように判定される。
【００７７】
［実施形態の主な効果］
以上説明したように、本実施形態に係るシンボル情報読取装置によれば、ラベリング部１４３は、相関マップ作成部１４２で得られた相関マップの中に所定の基本パターンがあるかどうかを検索してラベリングを行う際、基本パターンの有無を、判定対象領域内に占める高相関領域の割合や基本パターン内におけるその位置に応じて判定する。
ここで、高相関領域の割合とは、高相関である要素値、たとえば「２」の数の基本パターン内の要素数に対する割合があらかじめ設定した割合またはそれ以上である等を含む。
また、基本パターン内の全要素の要素値の合計が全て高相関である場合の要素値の合計より小さい、あらかじめ設定した値以上である場合も、たとえば高相関である要素値、たとえば「２」の数が基本パターン内の要素数に対する割合があらかじめ設定した割合またはそれ以上であるとすることができる。
また、高相関領域の基本パターン内における位置とは、複数の要素により形成される基本パターンにおいて、高相関である要素値、たとえば「２」が基本パターンの両端に位置している場合、高相関要素値「２」が規定値（たとえば、２、３や４等）以上に連続している場合、一または複数の値「１」を挟んで連続している位置（領域）が複数ある場合等を含む。
【００７８】
したがって、本実施形態によれば、以下の効果を得ることができる。
これまで、バーコードシンボルパターンを見つける際、相関マップ上で所定のマスクパターン（たとえば［ ２ ２ ２ ］）との厳密な一致性を要求していたため、バーコードシンボルの印刷状態または媒体基材の汚れ等によって、実際にバーコードシンボルが存在しているにもかかわらず、相関マップ上で［２ ２ ２］に合致するパターンが形成されない場合があり、バーコードシンボルの検出ミスにつながることがあった。
そこで、マスクパターン検索の対象領域に占める高相関指標（ここでは「２」）の比率に注目し、たとえば、３個のマップ要素のうち、「２」が２個以上あれば、バーコードシンボルパターンが有るものと見なすようにすることで、バーコードの見逃しを回避できる。
あるいは、実施形態では、マスクパターンの要素値の合計があらかじめ設定した値２×５=１０以上あればバーコードシンボルパターンが有るものとみなすことができる。
あるいは、相関マップ作成部１４２は、マスクパターンの要素値の合計があらかじめ設定した値２×５＝１０より低い値で不定であっても、たとえばシフトした後続する基本パターンの要素値の合計があらかじめ設定した値２×５＝１０以上あれば、不定であったマスクパターンをバーコードシンボルパターンが有るものとみさすことができる。
あるいは、相関マップ作成部１４２は、基本パターン内において、基本パターンの両端のマップ要素に「２」が立ててあればバーコードシンボルパターンが有るものとみなすことができる。
すなわち、本実施形態によれば、バーコードシンボル等のシンボル情報を読み取る際の誤判定を防止でき、シンボル情報全体を正確に読み取ることが可能となる利点がある。
【００７９】
また、本実施形態よれば、微分演算を行うことなく、バーコードシンボル２１の上下左右位置を決定することができ、ひいては演算量を削減することができる。
また、演算量が削減されれば、処理時間の短縮化に貢献することができる。さらに、安価な撮像素子を用いても十分な速度を出すことができれば、高価な撮像素子を控えることで、製造コスト削減に寄与することができる。
【００８０】
［応用例］
本発明では、代表的な２次元バーコードシンボルであるＰＤＦ４１７の位置検出にも利用可能である。
図１６は、２次元バーコードシンボル３１が印刷された媒体画像例を示す図である。
図１６に示す画像に対して、上述した位置検出の各処理ステップを適用すれば、各ラインの相関マップは図１７に示すようになる。
１次元バーコードシンボルの場合には、シンボル全体に亘って値（ポイント）「２」が出現していたが（図８参照）、図１７では、左端と右端の部分に対応する要素にのみ値「２」が現れ、中間部分は「０」となっている。
この場合、上述のマスクパターンを検索する処理によって、２次元バーコードシンボルを検出することができないため、一旦１次元バーコードシンボルとしての検索は打ち切り、相関マップを起点として２次元バーコードシンボルを想定した検索を行う。
すなわち、相関マップにおいて左端・右端の類似パターン対の検索を行い、検出されたらこの部分に挟まれた矩形領域を画像空間座標にマッピングし、２次元バーコードシンボルの特徴に基づいて位置決定を行うようにすればよい。
【００８１】
また、図１８は、１つの媒体に複数種類のバーコードシンボルが用いられている例を示す図である。
図１８に示すように、１つの媒体上に、１次元バーコードシンボルであるＣＯＤＥ１２８（符号３２で示す）と２次元バーコードシンボルであるＰＤＦ４１７（符号３３で示す）とが存在する場合を考える。あらかじめそれぞれのシンボル検出器を用意しておき、入力画像に対し、まずＣＯＤＥ１２８に対応した第一のシンボル検出器を適用する。
図１８に関し、上で述べた図７に相当する相関マップは、図１９に示すようになる。
図１９は、図１８に基づき得られた相関マップを示す図である。
図１９の相関マップに対してマスクパターン［２，２，２］を作用させるあるいは本実施形態の基本パターンの有無を、判定対象領域内に占める高相関領域の割合または基本パターン内における高相関領域の位置に応じて判定する処理を行うと、ＣＯＤＥ１２８に反応して、上で述べた図８と同様なバーコードマップが得られ、ＣＯＤＥ１２８の存在が検出される。
それ以後は、バーコードマップに基づいてＣＯＤＥ１２８シンボルの画像空間上の位置を決定し、復号処理を行えばよい。
【００８２】
次に、同一の入力画像に対し、ＰＤＦ４１７に対応した第二のシンボル検出器を適用する。
検出器のパラメータとしては、格子区画の寸法をＰＤＦ４１７の形状に最適なものに設定しておくとよい。ここでは、ＣＯＤＥ１２８と同じ格子区画を用いることとする。すると、相関マップは、上述したように図１９に示すようになる。
１次元バーコードシンボルの場合は、シンボル全体にわたって値２が出現したが、ＰＤＦ４１７では、左端と右端の部分に対応する要素にのみ値２が現れ、中間部分は０となっている。
この場合は、２次元バーコードシンボルを想定したマスクパターン検索を行う。すなわち、相関マップにおいて、左端・右端の類似パターン対の検索を行い、これが検出されたら、この部分に挟まれた矩形領域を画像空間座標にマッピングし、２次元バーコードシンボルの特徴に基づいた画像空間上の位置決定を行った上で、復号処理に移行すればよい。
【００８３】
また、本実施形態では、一次元撮像素子やリニア搬送機構の組合せに対して本発明を適用することとしたが、本発明はこれに限られることなく、たとえば、二次元ＣＣＤやＣＭＯＳイメージャなどのエリアセンサと被写体支持機構との組合せや、また１次元撮像素子と手動による媒体駆動を組合せ等に対して本発明を適用することとしてもよい。
【００８４】
さらに、上述の変形例では、バーコードシンボルラベルにＰＤＦ４１７フォーマットを用いることとしたが、本発明はこれに限られることなく、たとえば、バーコードシンボルラベルにＣｏｄｅ４９その他のスタック型バーコードシンボルを用いてもよい。
【００８５】
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
【符号の説明】
【００８６】
１０・・・シンボル情報読取装置、１１・・・撮像装置、１１１・・・撮像素子、１１２・・・搬送機構、１２・・・画像メモリ、１３・・・データ処理装置、１４・・・位置検出処理部、１４１・・・仮領域判定部、１４２・・・相関マップ作成部、１４３・・・ラベリング部、１４４・・・位置決定部、１５・・・復号処理部。
【図１】
2014199487.tif 000003
【図２】
2014199487.tif 000004
【図３】
2014199487.tif 000005
【図４】
2014199487.tif 000006
【図５】
2014199487.tif 000007
【図６】
2014199487.tif 000008
【図７】
2014199487.tif 000009
【図８】
2014199487.tif 000010
【図９】
2014199487.tif 000011
【図１１】
2014199487.tif 000012
【図１２】
2014199487.tif 000013
【図１３】
2014199487.tif 000014
【図１４】
2014199487.tif 000015
【図１５】
2014199487.tif 000016
【図１６】
2014199487.tif 000017
【図１７】
2014199487.tif 000018
【図１８】
2014199487.tif 000019
【図１９】
2014199487.tif 000020
【図１０】
2014199487.tif 000021