(57)【要約】    【課題】  量子化誤差や局所的な汚れなどによるノイズを低減することで、復号の信頼性低下を防ぐことが可能なシンボル情報読取方法及びシンボル情報読取装置を提供することにある。    【解決手段】  シンボル情報読取方法において、バーコード等のシンボル情報を撮像して得られた画像データを、傾斜角度ゼロの補正画像データに変換する工程と、その補正画像データを平滑化する工程と、平滑化された補正画像データ上の列方向の総和値を算出することによって、シンボル情報のカラムの区切りを特定する工程と、を含んでいることを特徴とする。【選択図】          図２
2006178641.tif 000002
【特許請求の範囲】
【請求項１】
媒体上に記録されたシンボル情報を撮像して得られた画像データを処理することによって、当該シンボル情報を読み取るシンボル情報読取方法において、
前記画像データを、傾斜角度ゼロの補正画像データに変換する角度変換工程と、
前記補正画像データを平滑化する平滑化工程と、
前記平滑化工程によって平滑化された補正画像データ上の列方向の総和値を算出することによって、前記シンボル情報のカラムの区切りを特定するカラム特定工程と、を含むことを特徴とするシンボル情報読取方法。
【請求項２】
前記シンボル情報読取方法は、さらに、
前記平滑化工程によって平滑化された補正画像データ上に、連続する複数の行からなる組を設定し、前記補正画像データに対して前記組を相対的に移動させながら、前記組が設定された行についての相関値列を算出することによって、前記シンボル情報の行の区切りを特定する行特定工程を含むことを特徴とする請求項１記載のシンボル情報読取方法。
【請求項３】
前記シンボル情報には、当該シンボル情報の開始を示すスタートパターンと、当該シンボル情報の終了を示すストップパターンと、が含まれており、
前記シンボル情報読取方法は、さらに、前記補正画像データ上の行方向において、１カラム分のバーとスペースのランレングスデータ列と、所定の基準パターンと、の類似度を算出することによって、前記スタートパターン又は前記ストップパターンを検出する検出工程を含むことを特徴とする請求項１又は２記載のシンボル情報読取方法。
【請求項４】
前記シンボル情報読取方法は、さらに、前記補正画像データ上の行方向において、１カラム分のバー及びスペースの総個数が、予め設定された個数と等しいか否かを判定する判定工程を含むことを特徴とする請求項１から３のいずれか記載のシンボル情報読取方法。
【請求項５】
請求項１から４のいずれか記載のシンボル情報読取方法を用いて、シンボル情報の読み取りを行う読取手段を備えたことを特徴とするシンボル情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコード等のシンボル情報を光学的に読み取るシンボル情報読取方法及びシンボル情報読取装置に関するものであって、特に、ノイズの影響を押さえた上でシンボル情報を読み取ることが可能なシンボル情報読取方法及びシンボル情報読取装置に関する。
【背景技術】
【０００２】
従来より、紙やプラスチック等の媒体に固有の情報を付与し、これを自動認識するための手段として、バーコードなるものが普及している。例えば、一般消費財には、１次元バーコードが使用されている。近年、バーコードの情報量に対する要求が強まり、一次元バーコードよりも格段に容量を増加させた二次元バーコードと呼ばれるシンボル情報が登場してきている。そして、この二次元バーコードに対応した読み取り装置も次第に普及してきている。
【０００３】
この二次元バーコードの中には、一次元バーコードを積み重ねることによって情報量を増加させる方式のものがあり、これは、スタック型バーコードと呼ばれる。代表的なものにＰＤＦ４１７と呼ばれる符合体系のスタック型バーコードがある。なお、この符号体系ＰＤＦ４１７は、ＩＳＯ／ＩＥＣ１５４３８として国際規格化されている。
【０００４】
スタック型バーコードを読み取る読取装置としては、例えば、特許文献１又は特許文献２記載の読取装置がある。特許文献１に開示されたバーコードリーダーは、二次元撮像装置でバーコードを撮像し、画像をメモリに取り込んで、このデータに基づいてバーコードシンボル情報を復号する、というものである。
【０００５】
しかし、特許文献１に開示されたバーコードリーダーでは、スタック型バーコードのラベルの向きに読み取り精度が依存してしまう、という問題や、そのラベルが撮像装置の視野を外れて撮像された場合が考慮されていない、という問題がある。このような問題を改善するものとしては、特許文献２に開示されたシンボル情報読取装置がある。この特許文献２に開示されたシンボル情報読取装置は、二次元撮像装置でバーコードを撮像し、バーコードの位置と傾きを検出することで、スタック型バーコードのラベルがどのような向きにセットされていても、或いは、撮像画像に欠損があっても、そのバーコードシンボル情報を読み取ることができるようになっている。
【０００６】
【特許文献１】特開平２−２６８３８３号公報
【特許文献２】特開平５−３２４８８７号公報（段落［００１３］）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献２に開示されたシンボル情報読取装置では、スタック型バーコードのラベルの傾きがゼロでない場合、復号の信頼性が低下してしまう、といった問題がある。
【０００８】
すなわち、特許文献２に開示されたシンボル情報読取装置は、スタック型バーコードのラベルの傾きを求めた上で切り取りの基準となる直線を求め、これに基づいてスキャンラインを決定し、このスキャンライン上の点におけるアドレスを計算して該当する点の画素値を取り出し、画素値配列に格納するようにしている。
【０００９】
従って、特に、スタック型バーコードのラベルの傾きがゼロでない場合（ラベルの傾きが水平或いは垂直となっていない場合）、アドレス計算時に生ずる量子化誤差によって、得られる画素配列にノイズが生じることとなり、その結果、復号の信頼性が低下してしまう、といった問題がある。
【００１０】
また、特許文献２に開示されたシンボル情報読取装置は、基本的に間引きスキャンによって画素配列を得ていることから、局所的なノイズに弱い上、シンボル画像情報の一部しか復号に用いられない点で信頼性に欠ける、といった問題がある。
【００１１】
本発明は、このような点に鑑みてなされたものであり、その目的は、量子化誤差や局所的な汚れなどによるノイズを低減することで、復号の信頼性低下を防ぐことが可能なシンボル情報読取方法及びシンボル情報読取装置を提供することにある。
【課題を解決するための手段】
【００１２】
以上のような課題を解決するために、本発明は、シンボル情報読取方法において、バーコード等のシンボル情報を撮像して得られた画像データを、傾斜角度ゼロの補正画像データに変換する工程と、その補正画像データを平滑化する工程と、平滑化された補正画像データ上の列方向の総和値を算出することによって、シンボル情報のカラムの区切りを特定する工程と、を含んでいることを特徴とする。
【００１３】
より具体的には、本発明は、以下のものを提供する。
【００１４】
（１）  媒体上に記録されたシンボル情報を撮像して得られた画像データを処理することによって、当該シンボル情報を読み取るシンボル情報読取方法において、前記画像データを、傾斜角度ゼロの補正画像データに変換する角度変換工程と、前記補正画像データを平滑化する平滑化工程と、前記平滑化工程によって平滑化された補正画像データ上の列方向の総和値を算出することによって、前記シンボル情報のカラムの区切りを特定するカラム特定工程と、を含むことを特徴とするシンボル情報読取方法。
【００１５】
本発明によれば、紙やプラスチック等の媒体上に記録されたシンボル情報を撮像して得られた画像データをソフトウエア的に処理することによって、そのシンボル情報を読み取るシンボル情報読取方法に、画像データを傾斜角度ゼロの補正画像データに変換する角度変換工程と、その補正画像データを平滑化する平滑化工程と、この平滑化工程によって平滑化された補正画像データ上の列方向の総和値を算出することによって、シンボル情報のカラムの区切りを特定するカラム特定工程と、が含まれることとしたから、カラム特定工程は、角度変換工程によって傾斜角度ゼロにされた補正画像データが平滑化された後に行われることとなる。
【００１６】
従って、量子化誤差や局所的な汚れなどによるノイズを低減することができ、ひいては復号の信頼性低下を防ぐことができる。また、シンボル情報の列ごとに画素を計算して得られるプロファイルを計算することによってカラムの境界を特定しうるので、射影の平均化作用によって局所的な汚れなどのノイズの影響を低減することができる。
【００１７】
ここで、「角度変換工程」は、シンボル情報を撮像して得られた画像データ自体の傾きを変えて、傾斜角度ゼロの補正画像データに変換するのは勿論のこと、光学座標系を回転させて、実質的に傾斜角度ゼロの補正画像データに変換するなど、結果的に、傾斜角度ゼロの補正画像データを生成できるものであれば、如何なる手法であっても構わない。
【００１８】
また、「平滑化工程」は、平滑化を目的とする補間処理又は平均化処理であれば如何なる手法であってもよく、例えば、補正画像データをメディアンフィルタ，エッジ保存フィルタ，適応ウィナーフィルタ，移動平均フィルタなどの各種フィルタにかけて、補間又は平均化するものが挙げられる。
【００１９】
（２）  前記シンボル情報読取方法は、さらに、前記平滑化工程によって平滑化された補正画像データ上に、連続する複数の行からなる組を設定し、前記補正画像データに対して前記組を相対的に移動させながら、前記組が設定された行についての相関値列を算出することによって、前記シンボル情報の行の区切りを特定する行特定工程を含むことを特徴とする（１）記載のシンボル情報読取方法。
【００２０】
本発明によれば、上述したシンボル情報読取方法には、平滑化肯定によって平滑化された補正画像データ上に、例えば１行,２行及び３行といったように、連続する複数の行からなる組を設定し、補正画像データに対してその組を相対的に移動させながら（すなわち、２行,３行及び４行、次いで、３行,４行及び５行など）、組が設定された行についての相関値列を算出することによって、シンボル情報の行の区切りを特定する行特定工程が含まれることとしたから、量子化誤差や局所的な汚れなどによるノイズを低減した上で、シンボル情報の行の境界を特定することができ、ひいては復号の信頼性低下を防ぐことができる。
【００２１】
（３）  前記シンボル情報には、当該シンボル情報の開始を示すスタートパターンと、当該シンボル情報の終了を示すストップパターンと、が含まれており、
前記シンボル情報読取方法は、さらに、前記補正画像データ上の行方向において、１カラム分のバーとスペースのランレングスデータ列と、所定の基準パターンと、の類似度を算出することによって、前記スタートパターン又は前記ストップパターンを検出する検出工程を含むことを特徴とする（１）又は（２）記載のシンボル情報読取方法。
【００２２】
本発明によれば、上述したシンボル情報には、シンボル情報の開始を示すスターとパターンと、シンボル情報の終了を示すストップパターンと、が含まれており、また、シンボル情報読取方法には、補正画像データ上の行方向において、１カラム分のバーとスペースのランレングスデータ列と、所定の基準パターンと、の類似度を算出することによって、スタートパターン又はストップパターンを検出する検出工程が含まれることとしたから、量子化誤差や局所的な汚れなどによるノイズを低減した上で、スタートパターン又はストップパターンを検出することができ、ひいては復号の信頼性低下を防ぐことができる。
【００２３】
（４）  前記シンボル情報読取方法は、さらに、前記補正画像データ上の行方向において、１カラム分のバー及びスペースの総個数が、予め設定された個数と等しいか否かを判定する判定工程を含むことを特徴とする（１）から（３）のいずれか記載のシンボル情報読取方法。
【００２４】
本発明によれば、上述したシンボル情報読取方法には、補正画像データ上の行方向において、１カラム分のバー及びスペースの総個数が、予め設定された個数と等しいか否かを判定する判定工程が含まれることとしたから、量子化誤差や局所的な汚れなどによるノイズを低減した上で、所望データを表すデータカラムに異常があるか否かを適切に判定することができ、ひいては復号の信頼性低下を防ぐことができる。
【００２５】
（５）  （１）から（４）のいずれか記載のシンボル情報読取方法を用いて、シンボル情報の読み取りを行う読取手段を備えることを特徴とするシンボル情報読取装置。
【００２６】
本発明によれば、上述したシンボル情報読取方法を用いて、シンボル情報の読み取りを行う読取手段を備えるシンボル情報読取装置を提供しうるので、量子化誤差や局所的な汚れなどによるノイズを低減することができ、ひいては復号の信頼性低下を防ぐことができる。
【発明の効果】
【００２７】
本発明に係るシンボル情報読取方法及びシンボル情報読取装置は、以上説明したように、傾斜角度ゼロの補正画像データを平滑化した上で、シンボル情報のカラムの区切りを特定するものなので、量子化誤差や局所的な汚れなどによるノイズを低減することができ、ひいては復号の信頼性低下を防ぐことができ、また、射影の平均化作用による局所的な汚れなどのノイズの影響をも低減することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２９】
［シンボル情報読取装置］
図１は、本発明の実施の形態に係るシンボル情報読取装置１の電気的構成を示すブロック図である。
【００３０】
図１において、シンボル情報読取装置１は、密着型の撮像素子１１ａと、カード搬送機構１１ｂと、を有する撮像装置１１と、画像メモリ１２と、データ処理装置１３と、を備えている。また、データ処理装置１３は、位置検出部１３ａと、傾き補正部１３ｂと、構造解析部１３ｃと、復号部１３ｄと、を備えている。また、バーコードなどのシンボル情報が付与されたカード等の記録担体２には、二次元バーコードのバーコードシンボル２１が印刷されている。
【００３１】
撮像装置１１の撮像素子１１ａは、記録担体２に印刷されたバーコードシンボル２１を、光電変換によって撮像する。画像メモリ１２は、撮像素子１１ａによって撮像されたバーコードシンボル２１の画像データを記憶する。データ処理装置１３は、バーコードシンボル２１の画像データを画像メモリ１２から取り込み、取り込んだ画像データに対して様々な処理を施す。
【００３２】
このような電気的構成からなるシンボル情報読取装置１において、本発明の実施の形態に係るシンボル情報読取方法について説明する。
【００３３】
［シンボル情報読取方法］
図２は、本発明の実施の形態に係るシンボル情報読取方法の流れを示すフローチャートである。図２を用いて、本発明の実施の形態に係るシンボル情報読取方法の流れを概説する。
【００３４】
まず、位置検出が行われる（ステップＳ２１）。より具体的には、シンボル情報読取装置１の撮像素子１１ａは、カード搬送機構１１ｂに沿って所定位置まで移動した記録担体２のバーコードシンボル２１を、光電変換によって撮像する。そして、撮像されたバーコードシンボル２１の画像データは、画像メモリ１２において記憶される。なお、この画像メモリ１２は、ＲＡＭ，ＳＤＲＡＭ,ＤＤＲＳＤＲＡＭ，ＲＤＲＡＭなど、画像データを記憶しうるものであれば如何なるものであってもよい。
【００３５】
その後、データ処理装置１３の位置検出部１３ａは、画像メモリ１２で記憶された画像データを読み込み、その画像データ中のバーコードシンボル２１の位置を検出する。
【００３６】
次いで、データ処理装置１３において、傾き補正が行われる（ステップＳ２２）。より具体的には、データ処理装置１３の傾き補正部１３ｂは、ステップＳ２１において位置検出された画像データを読み込み、その画像データを、傾斜角度ゼロの補正画像データに変換する。
【００３７】
次いで、データ処理装置１３において、構造解析が行われる（ステップＳ２３）。より具体的には、データ処理装置１３の構造解析部１３ｃは、ステップＳ２２において変換された補正画像データに基づき、バーコードシンボル２１の構造を解析する。
【００３８】
最後に、データ処理装置１３の復号部１３ｄにおいて、復号の処理が行われる（ステップＳ２４）。より具体的には、データ処理装置１３の復号部１３ｄは、ステップＳ２３において解析されたバーコードシンボル２１の構造に基づき、バーコードシンボル２１の復号処理を行う。なお、復号処理に失敗した場合には、処理を再度ステップＳ２１に戻す。
【００３９】
図３は、上述したステップＳ２１において撮像されたバーコードシンボル２１の画像データの一例を示す図である。図３に示すバーコードシンボル２１は、スタック型バーコードの一種であるＰＤＦ４１７のラベル構造によるバーコードシンボルを表している。
【００４０】
図３において、バーコードシンボル２１は、図中の縦方向をロウ方向、横方向をカラム方向とし、カラム方向は５つに大きく分かれている（図３では５カラムに分かれている）。そして、中央にデータカラムが配置され、また、データカラムの左右にはレフトロウインジケータ，ライトロウインジケータ、更にその左右にはスタートパターン，ストップパターンが配置されている。一方で、図３に示すバーコードシンボル２１は６行から構成され、各行にはデータワードが１個ずつ含まれている。従って、バーコードシンボル２１のデータ個数は、１個（データカラム１カラム分）×６行より６個となる。
【００４１】
図４は、撮像装置１１の撮像素子１１ａによって、バーコードシンボル２１が傾いた状態で撮像された様子を示す図である。バーコードシンボル２１を撮像装置１１でスキャンしたときには、ロウ方向が必ずしもカード搬送機構１１ｂに対して垂直の関係に位置するとは限らない。撮像素子１１ａによって読み取られた画像データは、例えば図４に示すように傾く場合がある。このような場合に、従来のシンボル情報読取装置１では、量子化誤差に起因したノイズによって、復号の信頼性が損なわれていた。しかし、本発明によれば、かかるノイズの影響を低減することができる。以下、図２に示すフローチャートの各処理（ステップＳ２１〜ステップＳ２４）について詳述する。
【００４２】
［位置検出］
図５は、図２に示すフローチャートにおける位置検出の流れを示すフローチャートである。また、図６は、バーコードシンボル２１のうち、スタートパターンにおけるビッグバーの部分及びその周辺を拡大した拡大図である。
【００４３】
図５において、まず、変数ｉに０を代入して初期化する（ステップＳ５１）。
【００４４】
次いで、Ｙ＝ｉにおける水平ラインＬ（ｉ）上で、Ｘ方向に画像データを読み込み、画像が明から暗に変化する点（点Ｐ（ｉ）とする）を検索する。また、同じライン上で、今度は画像が暗から明に変化する点（点Ｑ（ｉ）とする）を検索する（ステップＳ５２）。
【００４５】
次いで、ｉ＝ｎ−１（ｎ：図６におけるＹ方向の画素数）が満たされたか否かが判断され（ステップＳ５３）、満たされていないと判定された場合には、ｉを１だけインクリメントして（ステップＳ５４）、再びステップＳ５２の処理が行われる。一方で、満たされたと判定された場合には、処理を次のステップＳ５５に移す。なお、この段階で、ｎ個の点の組（Ｐ（ｉ），Ｑ（ｉ））（Ｉ＝０，１，・・・，ｎ−２，ｎ−１）を得る。
【００４６】
次いで、図６中の点Ａと点Ｃの座標を求める（ステップＳ５５）。より具体的には、Ｄ（ｉ）＝｜Ｐ（ｉ）−Ｑ（ｉ）｜を計算し、Ｄ（ｉ）のうちの最小値ｍｉｎ（Ｄ（ｉ））を求める。このｍｉｎ（Ｄ（ｉ））が、ＰＱ間の距離の最も短くなるビックバーの点Ａ及び点Ｃの２点に対応する（図６参照）。これにより、点Ａ及び点ＣのＹ座標は、それぞれＡｙ＝ｍｉｎ（ｉ）及びＣｙ＝ｍａｘ（ｉ）となる。また、点Ａ及び点ＣのＸ座標は、それぞれのｉに対する点ＰのＸ座標になるので、それぞれＡｘ＝Ｐ（ｉ＝Ａｙ）のＸ座標及びＣｘ＝Ｐ（ｉ＝Ｃｙ）のＸ座標となる。
【００４７】
次いで、図６中の点Ｂと点Ｃの座標を求める（ステップＳ５６）。より具体的には、Ｄ（ｉ）が一定となるｉの範囲を特定する。そして、ビックバーの点Ｂ及び点ＤのＹ座標は、その範囲におけるｍａｘ（ｉ）及びｍｉｎ（ｉ）となる。また、点Ｂ及び点ＤのＸ座標は、それぞれのｉに対する点Ｐ及び点ＱのＸ座標となるので、それぞれＢｘ＝Ｐ（ｉ＝Ｂｙ）のＸ座標及びＤｘ＝Ｑ（ｉ＝Ｄｙ）のＸ座標となる。
【００４８】
このようにして、ステップＳ５１〜ステップＳ５６の処理を経て、ビックバーの４隅の座標が確定したので、傾き角度は、ａｔａｎ（（Ａｙ−Ｄｙ）／（Ａｘ−Ｄｘ））で計算することができる。
【００４９】
なお、傾き検出の精度を上げるため、図６において、ＸとＹの役割を交換して同様の操作を行い、ビックバーの４隅の座標Ａ'，Ｂ'，Ｃ'，Ｄ'を求め、もとの座標値Ａ，Ｂ，Ｃ，Ｄとの平均をとって最終的な座標値としてもよい。
【００５０】
また、図５では、点Ａ及び点Ｃの座標を求めるとともに（ステップＳ５５）、点Ｂ及び点Ｄの座標も求めることとしたが（ステップＳ５６）、本発明はこれに限定されず、例えば点Ａ及び点Ｃの座標のみを求めることで、傾き検出を行うようにしてもよい。
【００５１】
［傾き補正］
図７は、上述した角度（＝ａｔａｎ（（Ａｙ−Ｄｙ）／（Ａｘ−Ｄｘ）））で傾いたバーコードシンボル２１の画像データを、傾斜角度ゼロの補正画像データに変換したときの様子を示す図である。
【００５２】
図７において、傾斜角度ゼロの補正画像データへの変換は、バーコードシンボル２１の傾斜角度を用いて行う。例えば、アフィン変換などの方法によって行うことができる。そして、本発明の実施の形態に係るシンボル情報読取方法では、座標変換に伴う量子化誤差の影響を緩和するため、座標変換後の画像に対して、平滑化を目的として補間処理又は平均化処理を行う。例えば、補正画像データを、メディアンフィルタ，エッジ保存フィルタ，適応ウィナーフィルタ，移動平均フィルタなどの各種フィルタにかけることによって行われる。
【００５３】
［構造解析］
図８は、図２に示すフローチャートにおける構造解析の流れを示すフローチャートである。
【００５４】
図８において、まず、水平射影の処理が行われ（ステップＳ８１）、その後、射影の差分を用いてスタートパターン及びストップパターンの解析が行われる（ステップＳ８２）。スタートパターンとストップパターンは、他のコードワードと異なり、全てのロウに共通不変のパターンであることから、射影をとることでパターンが平均化され安定した検出が可能である。
【００５５】
図９は、平均化された補正画像データ（図７参照）に所定の処理を施して得られた図である。より具体的には、図９（ａ）は、平均化された補正画像データ（図７参照）について、水平方向（図３でいえば、ロウ方向）の射影を計算したものであり、また、図９（ｂ）は、図９（ａ）のグラフについて差分を計算したものである。
【００５６】
スタートパターンの検出は、図９（ａ）又は図９（ｂ）に示されるグラフを用いて、パターンが変化する点の間隔（ランレングス）を画素数でカウントすることによって行われる。例えば、図９（ｂ）において、パターンが変化する点の感覚は、ＳｔａｒｔＷｏｒｋ＝［４７，６，５，６，７，６，６，１８］と求められる。一方で、スタートパターンのバーとスペースの長さの比は、ＰＤＦ４１７の規格より、ＳｔａｒｔＭａｒｋ＝［８，１，１，１，１，１，１，３］となっている。ここで、両者の類似性を調べる指標として、例えば正規化相関Ｒを用いることができる。図９（ｂ）について、正規化相関Ｒを考えると、Ｒ＝ｃｏｒｒｃｏｅｆ（ＳｔａｒｔＷｏｒｋ，ＳｔａｒｔＭａｒｋ）＝０．９９９３となり、Ｒは十分１に近い。従って、この場合には、適切にスタートパターンが検出されたと判定されることになる。
【００５７】
このようにして、スタート／ストップパターンが適切に検出されたか否かが判断された後（ステップＳ８３）、スタート／ストップパターンが適切に検出されたと判定された場合には、処理をステップＳ８５に移す。一方で、スタート／ストップパターンが適切に検出されていないと判定された場合には、デコード不可として処理を終了する（ステップＳ８４）。
【００５８】
なお、本実施形態では、類似性の尺度として、正規化相関Ｒを用いることとしたが、本発明はこれに限られず、例えば差分絶対値和，積和などを適宜用いることができる。
【００５９】
次いで、図９（ｂ）のグラフに関してピーク検出が行われる（ステップＳ８５）。より具体的には、コードワードの境界では全てのロウにおいてスペースからバーへの遷移が行われるため、射影の差分波形上、この部分で大きな差分値が現れる（図９（ｂ）の上向き矢印）。そして、図９（ｂ）の上向き矢印で示した差分値（ピーク値）を求めるには、適当な閾値を用意して、その閾値を超えたか超えないかでピークの有無を判定することができる。なお、このピークの位置は、次の処理で用いるので記憶しておく。
【００６０】
次いで、カラム境界の検出が行われる（ステップＳ８６）。より具体的には、ステップＳ８５において記憶されたピークの位置に基づき、カラムの境界を検出する。また、隣接するピークとピークの間隔はカラムの幅を表すものであり、同様に記憶しておく。ここで、ある特定のロウにおいてこの境界近傍に汚れがあった場合、ロウのスキャン中にコードワードの変化点を正しく検出できない場合があるが、本実施形態のように射影を用いることで、この汚れの影響が平均化作用によって小さくなり、コードワード境界の検出への悪影響を抑えることができる。
【００６１】
次いで、ロウ境界の検出が行われる（ステップＳ８７）。より具体的には、図１０及び図１１を用いて説明する。図１０は、平均化された補正画像データの水平方向において、各ラインの画素値を示す波形図である。図１１は、バーコードシンボル２１の行の区切りを特定する様子を説明するための説明図である。
【００６２】
図１０（ａ）において、ロウ境界の検出は、まず、平均化された補正画像データ上に、連続する複数の行からなる組を設定する。例えば、連続する３個の水平ラインＬ（１），Ｌ（２）及びＬ（３）（以下、「Ｌ１，Ｌ２及びＬ３と略す」）からなる組（ライン組Ｓ１）を設定する。
【００６３】
そして、これらの自己正規化相関及び相互正規化相関を求めると、全部で９個の相関値（Ｌ１とＬ１，Ｌ２とＬ２，Ｌ３とＬ３について自己正規化相関を計算した値（３個）と、Ｌ１とＬ２，Ｌ１とＬ３，Ｌ２とＬ１，Ｌ２とＬ３，Ｌ３とＬ１，Ｌ３とＬ２について相互正規化相関を計算した値（６個）と、の９個の相関値からなる相関値列）が得られる。９個の相関値のうちの最も小さい値が、予め決められた閾値ｒ０よりも大きければ、このライン組Ｓ１に１が与えられ、予め決められた閾値ｒ０よりも小さければ、このライン組Ｓ１に０が与えられる。
【００６４】
ここで、水平ラインＬ１，Ｌ２及びＬ３からなる組については、水平ラインＬ１，Ｌ２及びＬ３が全てロウ１（最も上のロウ）に含まれていることから、９個の相関値のうちの最も小さい値は閾値ｒ０よりも大きくなり、１が与えられることになる（図１１において、ライン組Ｓ１の判定値は１となっている）。
【００６５】
次に、補正画像データに対して上述した組を相対的に移動させて（例えばＬ２，Ｌ３及びＬ４からなるライン組Ｓ２を考えて）、相関値列を算出し、算出された相関値列の最小値が閾値よりも大きいか否かを判断することによって、そのライン組に０又は１の判定値が与えられる。
【００６６】
以下同様に、水平ラインＬｎ−２，Ｌｎ−１，Ｌｎ（ライン組Ｓｎ−２）まで上述した処理（判定値を与える処理）を繰り返し行うと、全部でｎ−２個の１と０とからなる系列が得られる（図１１の右欄）。
【００６７】
ここで、３個の水平ラインが同一ロウから選ばれている場合は、それら３個の水平ラインよりなるライン組は１に近い値となり、３個の水平ラインがロウをまたいで選ばれている場合は、それら３個の水平ラインよりなるライン組は比較的小さい値となる。より具体的には、図１０（ｂ）において、水平ラインＬ１８より上の水平ラインはロウ１に属し、水平ラインＬ１８より下の水平ラインはロウ２に属し、この水平ラインＬ１８は、ロウ１とロウ２の境界に位置する水平ラインとなっている。
【００６８】
従って、この水平ラインＬ１８を含むライン組では、判定値がほぼ０となり、それ以外では、判定値は１となる（図１１参照）。判定値が０に近いライン組は、ロウの切り替わりを表しているので、判定値の系列をスキャンして、その判定値が０に近い場所を特定することにより、ロウの切り替わり位置を知ることができる。なお、本実施形態では、相関関数によって水平ライン相互の類似性を評価しているので、図１０（ａ）に図示するように、スタートパターンやストップパターンのような共通パターンを除いた範囲を評価範囲とすることで、無駄な演算（計算コスト）を省くことができる。
【００６９】
以上説明したように、ライン組の設定→相関値列の算出→相関値列の最小値と閾値との比較→０又は１の判定値付与→判定値の系列のスキャン、という流れによって、ステップＳ８７のロウ境界の検出が行われることになる。
【００７０】
なお、ロウ境界の検出によって、補正画像データの各水平ラインがどのロウに属するかを判定できたら、デコード可能として処理を終了する（ステップＳ８８）。また、ロウごとに、それに含まれる水平ラインの平均を計算することによって、水平ラインの局所ノイズを低減することができる。さらに、平均化後の水平ラインを、そのロウの画素パターンとして後述する復号処理に用いることができる。これにより、復号精度を向上させることができる。
【００７１】
［復号処理］
図１２は、図２に示すフローチャートにおける復号の流れを示すフローチャートである。
【００７２】
図１２において、まず、線幅計測が行われる（ステップＳ１２１）。より具体的には、線幅計測とは、各ロウの画素パターンをスキャンして、バーとスペースの長さ、すなわち線幅を求める処理をいう。この線幅計測について、図１３を用いて詳しく説明する。
【００７３】
図１３は、ロウの画素パターンの一部を示す波形図である。なお、バー幅及びスペース幅は、パターンの変化点と変化点の間の画素数をカウントしたものである。１カラムは、４個のバーと４個のスペースで構成されるため、画素パターンに損傷のない場合には、図１３（ａ）に示すように、合計８個の幅データが得られる。
【００７４】
一方で、画素パターンに異常がある場合には、図１３（ｂ）に示すように、合計８個以上（９個）の幅データが得られる。かかる場合には、カラムに損傷があることが分かり、このカラムの信頼性が低いことを示すフラグをセットする。かかる操作を画素パターンの終わりまで実行したら、次のロウにおいても同様の処理を実行する。全てのロウについて、線幅データが得られたら、ステップＳ１２１（図１２参照）の処理を終了する。
【００７５】
次いで、線幅正規化処理が行われる（ステップ１２２）。線幅正規化処理は、画素数によって表現されている線幅データをモジュール数表現に変換する処理をいう。１モジュールは、バー又はスペースの最小幅に対応する。１カラムは１７モジュールによって構成される。１カラム内の線幅データをＷ１，Ｗ２，Ｗ３，Ｗ４，Ｗ５，Ｗ６，Ｗ７，Ｗ８とし、Ｗｃ＝Ｗ１＋Ｗ２＋Ｗ３＋Ｗ４＋Ｗ５＋Ｗ６＋Ｗ７＋Ｗ８とすれば、正規化線幅データは、Ｘｉ＝Ｗｉ＊１７／Ｗｃ（ｉ＝１，２，…，７，８）で表されるＸシーケンスとなる。例えば、図１３（ａ）に示す左側のカラムのＸシーケンスは、［５，１，１，１，１，１，５，２］である。
【００７６】
さらに、Ｘシーケンスは、ｔシーケンスに変換される。これは、隣接する２個のＸｉとＸｉ＋１を加算したものであり、図１３（ａ）に示す左側のカラムのＸシーケンスをｔシーケンスに変換すると、［６，２，２，２，２，６，７］となる。
【００７７】
次いで、コードワード変換が行われる（ステップＳ１２３）。より具体的には、ステップＳ１２２において求められたｔシーケンスに対応するコードワードを所定の参照テーブルから取得する。なお、コードワード変換が完了すると、一般的なハイレベル復号が行われ（ステップＳ１２４）、復号処理が完了する。また、復号処理が完了したデータについては、シンボル画像などとともに上位制御装置に出力されることになる。
【００７８】
以上説明したように、図２に示す流れで行われるシンボル情報読取方法によれば、適宜施される補間処理や平均化処理によって、量子化誤差や局所的な汚れなどによるノイズを低減することができ、ひいては復号の信頼性低下を防ぐことができる。
【００７９】
また、本実施形態では、一次元撮像素子やリニア搬送機構の組合せに対して本発明を適用することとしたが、本発明はこれに限られることなく、例えば、二次元ＣＣＤやＣＭＯＳイメージャなどのエリアセンサと被写体支持機構との組合せに対して本発明を適用することとしてもよい。
【００８０】
さらに、本実施形態では、バーコードラベルにＰＤＦ４１７フォーマットを用いることとしたが、本発明はこれに限られることなく、例えば、バーコードラベルにＣｏｄｅ４９その他のスタック型バーコードや、ＪＡＮ等の一次元バーコードを用いることとしてもよい。
【産業上の利用可能性】
【００８１】
本発明に係るシンボル情報読取方法及びシンボル情報読取装置は、量子化誤差や局所的な汚れなどによるノイズを低減することで、復号の信頼性低下を防ぐことができるものとして有用である。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施の形態に係るシンボル情報読取装置の電気的構成を示すブロック図である。
【図２】本発明の実施の形態に係るシンボル情報読取方法の流れを示すフローチャートである。
【図３】上述したステップＳ２１において撮像されたバーコードシンボルの画像データの一例を示す図である。
【図４】撮像装置の撮像素子によって、バーコードシンボルが傾いた状態で撮像された様子を示す図である。
【図５】図２に示すフローチャートにおける位置検出の流れを示すフローチャートである。
【図６】バーコードシンボルのうち、スタートパターンにおけるビッグバーの部分及びその周辺を拡大した拡大図である。
【図７】所定の角度で傾いたバーコードシンボルの画像データを、傾斜角度ゼロの補正画像データに変換したときの様子を示す図である。
【図８】図２に示すフローチャートにおける構造解析の流れを示すフローチャートである。
【図９】平均化された補正画像データ（図７参照）に所定の処理を施して算出された図である。
【図１０】平均化された補正画像データの水平方向において、各ラインの画素値を示す波形図である。
【図１１】バーコードシンボルの行の区切りを特定する様子を説明するための説明図である。
【図１２】図２に示すフローチャートにおける復号の流れを示すフローチャートである。
【図１３】ロウの画素パターンの一部を示す波形図である。
【符号の説明】
【００８３】
１  シンボル情報読取装置
２  記録担体
１１  撮像装置
１１ａ  撮像素子
１２  画像メモリ
１３  データ処理装置
１３ａ  位置検出部
１３ｂ  傾き補正部
１３ｃ  構造解析部
１３ｄ  復号部
【図１】
2006178641.tif 000003
【図２】
2006178641.tif 000004
【図３】
2006178641.tif 000005
【図４】
2006178641.tif 000006
【図５】
2006178641.tif 000007
【図６】
2006178641.tif 000008
【図７】
2006178641.tif 000009
【図８】
2006178641.tif 000010
【図９】
2006178641.tif 000011
【図１０】
2006178641.tif 000012
【図１１】
2006178641.tif 000013
【図１２】
2006178641.tif 000014
【図１３】
2006178641.tif 000015