(57)【要約】【課題】  情報コードの解読処理の信頼度を向上できるようにする。【解決手段】  制御回路３は、リニアバーコードの最小基本幅に対応する画素の割当数を検出し（Ｓ１）、画素の割当数が所定数（例えば３０以上）である場合には、解読速度を優先するアルゴリズムを選択し、デコード処理を行う（Ｓ３〜Ｓ１１）。また、制御回路３は、リニアバーコードの最小基本幅に対応する画素の割当数を検出した結果、画素の割当数が所定数未満である場合には、確実性を優先したアルゴリズムを選択しデコード処理を行う。【選択図】  図４
2006134159.tif 000002
【特許請求の範囲】
【請求項１】
明パターンおよび暗パターンを有してなる情報コードを解読するための複数のアルゴリズムを含むプログラムを記憶する記憶手段と、
前記情報コードに照射された光を受光する受光手段と、
前記受光手段の受光信号に基づいて前記情報コードの明パターンまたは／および暗パターンの最小基本パターンの大きさを検出する検出手段と、
前記検出手段により検出された最小基本パターンの大きさに応じて前記記憶手段に記憶された複数の解読アルゴリズムのうちの何れか１つの解読アルゴリズムを選択する選択手段と、
前記受光手段の受光信号に基づいて前記選択手段により選択された解読アルゴリズムを含むプログラムにより情報コードを解読する解読手段とを備えたことを特徴とする光学的情報読取装置。
【請求項２】
前記選択手段は、前記検出手段により検出された最小基本パターンの大きさが所定よりも小さい場合には、解読速度よりも解読確度を優先する解読アルゴリズムを選択することを特徴とする請求項１記載の光学的情報読取装置。
【請求項３】
前記選択手段は、前記検出手段により検出された最小基本パターンの大きさが所定よりも大きい場合には、解読確度よりも解読速度を優先する解読アルゴリズムを選択することを特徴とする請求項１または２記載の光学的情報読取装置。
【請求項４】
前記解読手段は、情報コードとしてリニアバーコードを解読する場合に、前記選択手段により選択された解読アルゴリズムにより互いに平行な異なる複数の読取ラインを対象として解読処理を行い、同一の解読結果の得られた読取ラインが所定数以上あることを条件として前記情報コードの解読処理を成功とみなすことを特徴とする請求項１ないし３の何れかに記載の光学的情報読取装置。
【請求項５】
前記解読手段は、情報コードとしてリニアバーコードを解読する場合に、前記選択手段により選択された解読アルゴリズムにより互いに平行な異なる複数の読取ラインを対象として解読処理を行い、異なる解読結果の得られた読取ラインが所定数以上あることを条件として前記情報コードの解読処理を失敗とみなすことを特徴とする請求項１ないし４の何れかに記載の光学的情報読取装置。
【請求項６】
前記解読手段は、情報コードとして複数のセルが組合わされてなる２次元コードを解読する場合において、前記検出手段により検出された最小基本パターンの大きさが所定よりも大きい場合には、互いに平行な異なる複数の読取ラインを対象として順次読取処理を行い、前記複数のセルのうち誤り訂正可能な数以上のセルが読取られたことを条件として後の読取ラインの読取処理を省略し、前記選択手段により選択された解読アルゴリズムにより解読処理および誤り訂正処理を行い当該誤り訂正処理が成功すれば前記情報コードの解読処理を成功とみなすことを特徴とする請求項１ないし５の何れかに記載の光学的情報読取装置。
【請求項７】
前記解読手段は、情報コードとして複数のセルが組合わされてなる２次元コードを解読する場合において、前記検出手段により検出された最小基本パターンの大きさが所定よりも小さい場合には、前記選択手段により選択された解読アルゴリズムにより前記２次元コードを構成する全てのセルが読取られたことを条件として解読処理を行うことを特徴とする請求項１ないし６の何れかに記載の光学的情報読取装置。
【請求項８】
前記解読手段が解読処理を失敗とみなした場合、
前記受光手段は再度前記情報コードを通じて光を受光し、
前記解読手段は、前記受光手段の受光信号に基づいて前記選択手段により選択された解読アルゴリズムにより情報コードを解読することを特徴とする請求項１ないし７の何れかに記載の光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコード等の１次元コードやＱＲコード等の２次元コードによる情報コードを光学的に読取る光学的情報読取装置に関する。
【背景技術】
【０００２】
この種の光学的情報読取装置は、情報コードに照射された光を当該情報コードを通じて受光し、この受光信号に基づいてモジュールサイズ（例えば、バーコードの場合、バー幅／スペース幅）を検出し情報コードの表すデータを読取っている。このような光学的情報読取装置は、撮像距離が変化すると取込まれる画像データが変化するため、情報コードを光学的にデータを取込んだ場合に当該情報コードのモジュールに割当てられる画素数が変化してしまう。したがって、このような画像データから情報コードを解読するときには工夫が必要である。
【０００３】
そこで、例えばＰＤＦ−４１７コード（２次元バーコード）を読取る場合に、大きなモジュールサイズのバーコードシンボルや大きく拡大されたバーコードシンボルを読取る時には高い信頼度を与えるようにし、小さなモジュールバーコードシンボルや縮小されたバーコードシンボルを読取る時には低い信頼度を与えるようにし、キャラクタマトリクス中のデータキャラクタと求められたデータキャラクタを比較し、両者が等しければデータキャラクタに付加された信頼度を前回格納した信頼度に加算し、信頼度が予め設定されたしきい値を超えたときデコード結果を正しい値と判断する技術がある（例えば、特許文献１参照）。この技術によれば、少ないスキャン回数で素早く読取ることができる。
【特許文献１】特開平６−２３１２９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている技術では、次のような不具合が生じるおそれがある。特許文献１に開示されている技術においては、キャラクタマトリクス中のデータキャラクタと求められたデータキャラクタを比較し、両者が異なっていた場合には、今回求めたデータキャラクタに付加する信頼度を信頼度マトリクスの前回格納した信頼度から減算している。減算した結果、信頼度が「０」以下になってしまった場合には、負数の信頼度の絶対値を新しい信頼度としているため、データキャラクタが異なっていた場合でも信頼度は大きくなってしまうこともあり、予め設定されたしきい値を超えてしまう場合が想定され、この場合解読結果が正しいと誤判断してしまうおそれがある。
【０００５】
本発明は、上記事情に鑑みてなされたもので、その目的は、情報コードの解読処理の信頼度をより向上した光学的情報読取装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の光学的情報読取装置によれば次のように作用する。すなわち、記憶手段には、明パターンおよび暗パターンを有してなる情報コードを解読するための複数のアルゴリズムを含むプログラムが記憶されている。受光手段が、情報コードに照射された光を受光する。そして検出手段は、受光手段の受光信号に基づいて情報コードの明パターンまたは暗パターンのいずれか少なくとも一方（もしくは、明パターンおよび暗パターン）の最小基本パターン（最小基本幅）の大きさを検出する。そして、選択手段は、検出手段により検出された最小基本パターンの大きさに応じて記憶手段に記憶された複数の解読アルゴリズムのうちの何れか１つの解読アルゴリズムを選択する。そして、解読手段は、受光手段の受光信号に基づいて選択手段により選択された解読アルゴリズムにより情報コードを解読する。したがって、情報コードの明パターンまたは／および暗パターンに対応した最小基本パターンの大きさに応じて解読アルゴリズムを変更して情報コードを解読できるようになる。これにより、解読処理の信頼度を向上できる。
【０００７】
請求項２記載の光学的情報読取装置によれば、選択手段は、検出手段により検出された最小基本パターンの大きさが所定よりも小さい場合には、解読速度よりも解読確度を優先する解読アルゴリズムを選択するため、たとえ最小基本パターンの大きさに割り当てられる画素数が少なかったとしても解読確度を向上することができ、解読処理の確実性を向上できる。
【０００８】
請求項３記載の光学的情報読取装置によれば、選択手段は、検出手段により検出された最小基本パターンの大きさが所定よりも大きい場合には、解読確度よりも解読速度を優先する解読アルゴリズムを選択するため、最小基本パターンの大きさに割り当てられる画素数が多い場合には解読処理速度を増すことができ、解読処理の迅速性を向上できる。これは、最小基本パターンに対する画素割当数が多いと最小基本パターンの大きさを計算する精度が高くなり、解読処理速度を増したとしても誤解読しにくくなるためである。
【０００９】
請求項４記載の光学的情報読取装置によれば、解読手段は、情報コードとしてリニアバーコードを解読する場合に、選択手段により選択された解読アルゴリズムにより互いに平行な異なる複数の読取ラインを対象として解読処理を行い、同一の解読結果の得られた読取ラインが所定数以上あることを条件として情報コードの解読処理を成功とみなすため、例えば読取ラインを１ラインのみで行っている構成に比較して、情報コードの解読結果の信頼性を向上することができる。
【００１０】
請求項５記載の光学的情報読取装置によれば、解読手段は、情報コードとしてリニアバーコードを解読する場合に、選択手段により選択された解読アルゴリズムにより互いに平行な異なる複数の読取ラインを対象として解読処理を行い、異なる解読結果の得られた読取ラインが所定数以上あることを条件として情報コードの解読処理を失敗とみなすため、例えば読取ラインを１ラインのみで行うのに比較して、情報コードの解読結果の正誤判断の信頼性をさらに向上することができる。
【００１１】
請求項６記載の光学的情報読取装置によれば、解読手段は、情報コードとして複数のセルが組合わされてなる２次元コードを解読する場合において、検出手段により検出された最小基本パターンの大きさが所定よりも大きい場合には、互いに平行な異なる複数の読取ラインを対象として順次読取処理を行い、複数のセルのうち誤り訂正可能な数以上のセルが読取られたことを条件として後の読取ラインの読取処理を省略し、選択手段により選択された解読アルゴリズムにより解読処理および誤り訂正処理を行い当該誤り訂正処理が成功すれば情報コードの解読処理を成功とみなすため、特に最小基本パターンの大きさが所定よりも大きい場合に解読処理速度を向上できる。
【００１２】
請求項７記載の光学的情報読取装置によれば、解読手段が、情報コードとして複数のセルが組合わされてなる２次元コードを解読する場合において、検出手段により検出された最小基本パターンの大きさが所定よりも小さい場合には、選択手段により選択された解読アルゴリズムにより２次元コードを構成する全てのセルが読取られたことを条件として解読処理を行うため、特に最小基本パターンの大きさが所定よりも小さい場合には解読確度を向上できる。
【００１３】
請求項８記載の光学的情報読取装置によれば、解読手段が解読処理を失敗とみなした場合、受光手段は再度情報コードを通じて光を受光し、解読手段は、受光手段の受光信号に基づいて選択手段により選択された解読アルゴリズムにより情報コードを解読するため、たとえ解読処理を失敗とみなしたとしても再度情報コードを通じて光を受光し情報コードを解読することができ、情報コードを極力誤読することなく解読できるようになる。
【発明を実施するための最良の形態】
【００１４】
（第１の実施形態）
以下、本発明の光学的情報読取装置を情報コード読取装置に適用した第１の実施形態について、図１ないし図８を参照しながら説明する。図１は、情報コード読取装置の構成を概略的に示している。
【００１５】
この情報コード読取装置１は、ＱＲコード等の２次元コードや、リニアバーコード等の１次元コードを光学的に読取るように構成されている。尚、本実施形態においては、ハンディタイプの情報コード読取装置についてその実施形態を示すが、これは定置式のものであっても良い。
【００１６】
情報コード読取装置１は、二次電池等の電池２を駆動源としている。この情報コード読取装置１は、検出手段および選択手段並びに解読手段としての制御回路３、記憶手段としてのメモリ４、トリガスイッチ５、操作スイッチ６、ＬＥＤ７、ブザー８、液晶表示器９、通信インタフェイス１０、同期信号発生回路１１、アドレス発生回路１２、照射部１３、結像手段１４、受光手段としての２次元画像センサ１５、増幅回路１６、Ａ／Ｄ変換回路１７、特定比検出回路１８を備えている。
【００１７】
照射部１３は、例えばリング状のフレームに複数のＬＥＤが配置された状態に構成されるもので、制御回路３の制御に基づいて画像取込対象領域Ｘに光を照射する。結像手段１４は、例えばレンズにより構成されており、画像取込対象領域Ｘに反射した光を２次元画像センサ１５に結像する。２次元画像センサ１５は、例えばＣＣＤやＣＭＯＳイメージセンサにより構成されており、同期信号発生回路１１により発生された同期信号に基づいて２次元画像センサ１５に結像した光を受光し光電変換し、変換された画素信号（受光信号に相当）を増幅回路１６に与える。
【００１８】
この画素信号は、同期信号発生回路１１により発生された同期信号に基づいて増幅回路１６、Ａ／Ｄ変換回路１７を通じてメモリ４内の画像メモリ４ａに画像データとして記憶されるようになっている。このとき、画像メモリ４ａに記憶される画像データは、例えば８ビット（２５６段階）の輝度データ（明度データ：輝度情報）を含む画像データである。
【００１９】
尚、アドレス発生回路１２は、同期信号発生回路１１から同期信号が与えられるようになっており、この同期信号に応じてメモリ４のアドレスを指定する。このとき、制御回路３は、この画像データを取込み画像メモリ４ａの指定されたアドレスに画像データを順次記憶させるようになっている。また、制御回路３は、画像メモリ４ａに記憶された画像データに基づいて情報コードＰ（一次元コードや二次元コード）を解読する。
【００２０】
情報コードＰは、図８に示すように、白パターン（二次元コードの場合、白セル：明パターンに相当）および黒パターン（二次元コードの場合、黒セル：暗パターンに相当）が組み合わされることにより構成されている。
【００２１】
具体的には、情報コードＰは、図８（ａ）に示すようなＱＲコード（２次元コードＨ）、図８（ｂ）に示すリニアバーコードＢ（１次元コード）、図８（ｃ）に示すＰＤＦ−４１７コードＳＢ（スタックドバーコード：二次元バーコード）、図８（ｄ）に示す二次元コードＨなどの種類があるが、本実施形態においては、リニアバーコードＢを解読する実施形態を示す。図８（ｂ）に示すように、リニアバーコードＢは、黒色の「バー」パターンＢ１（以下、バーＢ１と略す：暗パターンに相当），および白色の「スペース」パターンＢ２（以下、スペースＢ２と略す：明パターンに相当）が縞状に組み合わされて構成されている。
【００２２】
このリニアバーコードＢは、バーＢ１およびスペースＢ２の長手方向に対し垂直方向に走査することによって読取可能なコードであり、本実施形態の特徴には直接関係しないため特に図示しないがクワイエットゾーン、シンボルキャラクタ、キャラクタ間ギャップと称される領域からなっている。
【００２３】
上記構成の作用について図２ないし図７をも参照しながら説明する。本実施形態においては、横（水平方向）６４０画素×縦（垂直方向）４８０画素の画素データが画像メモリ４ａに記憶されていることとして以下の説明を行う。
【００２４】
読取対象領域ＸにリニアバーコードＢが表示されており、操作者により操作スイッチ６が操作され、制御回路３に操作信号が与えられると、制御回路３は、画像データの取込指示を行いメモリ４の画像メモリ４ａに画像データを取込む。
【００２５】
図３は、メモリに取り込まれる画像データの一例を示している。メモリ４には、図２に示すように、バーＢ１およびスペースＢ２に対してそれぞれ対応した輝度データが記憶される。この図２は、メモリに取り込まれる輝度データの一例を示している。この図２において、輝度データは、バーＢ１部分の輝度レベルの値が低く、スペースＢ２部分の輝度レベルの値が高い。したがって、制御回路３は、あるしきい値を基準にして、輝度データの値が高い場合には「白点」（スペースＢ２）、輝度データの値が低い場合には「黒点」（バーＢ１）であると判定する。そして制御回路３は、バーＢ１およびスペースＢ２の幅を検出することで解読することができる。
【００２６】
しかしこの場合、撮像距離が変化すると取り込まれる画像データの大きさも変化するため、リニアバーコードＢを光学的に取込んだ場合にバーＢ１やスペースＢ２の幅（＝対応する画素数）も撮像距離に応じて変化してしまう（図２および図５参照）。これらの図２に示すように、例えば、スペースＢ２の幅Ｗの大きさに対して誤差Ｇの大きさの割合が小さい場合にはこの誤差Ｇも無視できる程度に小さく問題が生じる可能性は少ないが、例えば図５に示すように、スペースＢ２の幅Ｗの大きさに対する誤差Ｇの大きさが大きいと、この誤差Ｇを無視できなくなってしまい、誤読の可能性が高くなる。そこで、本実施形態では、図４に示すように解読処理を行う。この図４は、制御回路が行う解読処理を概略的に示している。
【００２７】
まず図４に示す処理に先立ち、図３に示すように、制御回路３は、垂直方向および水平方向について画像データを矩形状に区画し、この区画領域Ｋのうちどの領域にリニアバーコードＢが存在しているかを推定する。このとき、リニアバーコードＢの存在領域推定方法としては、例えばある区画領域Ｋ内において、隣接する画素について「白点」から「黒点」もしくは「黒点」から「白点」に変化する白黒変化数を検出し、この白黒変化数×（輝度レベルの最大値および最小値差）が所定数を上回っている場合にその区画領域内にリニアバーコードＢが存在することを推定する方法がある。リニアバーコードＢが傾いて画像メモリ４ａに取込まれている場合があるため、制御回路３は、この存在領域推定方法を垂直方向および水平方向に一次元的に行うことで推定する。
【００２８】
また、制御回路３は、リニアバーコードＢの存在推定された区画領域ＫについてバーＢ１もしくはスペースＢ２の長手方向の垂直方向を検出する。そして、制御回路３は、検出されたバーＢ１もしくはスペースＢ２の長手方向の垂直方向に設定される読取ラインにより解読する。この場合、制御回路３が垂直方向の上側位置（１）（図３参照）の読取ラインから平行に下方に位置する下側位置（５）の読取ラインにかけて順次解読処理を行うようにする。このように異なる読取ラインで複数回の解読処理を行うのは、処理の確度（確実性）を向上させるためである。
【００２９】
解読処理を行う場合に、制御回路３は、まず複数の解読アルゴリズムのうちの何れか１つの解読アルゴリズムを選択する処理を行う。図４に示すように、制御回路３は、リニアバーコードＢのバーＢ１やスペースＢ２の幅Ｗの最小幅（最小基本幅、最小基本パターンに相当）に対応する画素数（画素の割当数）を検出する（ステップＳ１）。尚、バーＢ１およびスペースＢ２の幅Ｗの最小幅に対応する画素数を求め、これらの値を例えば平均することにより対応する画素数を検出しても良いし、バーＢ１もしくはスペースＢ２の何れかの幅Ｗの最小幅に対応する画素数を検出しても良い。
【００３０】
このとき制御回路３は、最小基本幅に対する画素の割当数が所定数（例えば、３０）以上であることを検出した場合に、以下の速度優先アルゴリズムによるプログラムを実行し（ステップＳ３〜Ｓ１０）、画素の割当数が所定数（例えば３０）未満であることを検出した場合に、後述する確実性優先アルゴリズムによるプログラムを実行する（ステップＴ１〜Ｔ１０）。
【００３１】
これは、制御回路３が、最小基本幅に対する画素の割当数に応じて異なるアルゴリズムを選択し、このアルゴリズムに基づいて解読処理を行うことを示している。例えば図２に示すように、スペースＢ２の幅Ｗに対して割当画素数が多い場合には、幅Ｗに対する誤差Ｇ（グレーゾーン）の割合も小さくなる。逆に、例えば図５に示すように、スペースＢ２の幅Ｗに対する割当画素数が少ない場合には、スペースＢ２の幅Ｗに対する誤差Ｇの大きさも大きくなる。このとき、スペースＢ２の幅Ｗに対する誤差Ｇの大きさが大きいと、バーＢ１やスペースＢ２の幅の誤検出につながり誤解読されるようになってしまう。
【００３２】
そこで、制御回路３は、バーＢ１やスペースＢ２の幅Ｗに対して割当画素数が所定数以上の場合には速度優先アルゴリズムを適用して解読処理を行い、逆に幅Ｗに対する割当画素数が所定数未満の場合には、確実性優先アルゴリズムを適用して解読処理を行うようにしている。
【００３３】
＜速度優先アルゴリズムについて＞
以下、速度優先アルゴリズムについて、図４のステップＳ３〜ステップＳ１１を参照しながら説明する。まず、制御回路３は、最上行（最上段）の上側位置（１）の読取ラインについて解読（デコード）処理を行い（ステップＳ３）、デコード結果をメモリ４に記憶させる（ステップＳ４）。続いて制御回路３は、次行（次段）（２）の読取ラインについて解読処理を行い（ステップＳ５）、デコード結果をメモリ４に記憶させる（ステップＳ６）。
【００３４】
この後、制御回路３は、最上行（１）の読取ラインと次行（２）の読取ラインのデコード結果とを照合する（ステップＳ７）。このとき、制御回路３は、同一の解読結果の得られた読取ラインが２行以上であることを条件として（ステップＳ８：ＹＥＳ）、解読成功と判定する。ここで、２行と比較的少なく条件設定しているのは速度を優先させるためである。すなわち、情報コード読取装置１は、解読処理に多大な時間を必要とする。このため、解読処理の回数を少なくすることが速度向上に繋がるからである。尚、この速度優先アルゴリズムでは、後述する確実性優先アルゴリズムの判定条件より少ない行数で解読成功と判定している。
【００３５】
また制御回路３は、ステップＳ８において同一の解読結果の得られた読取ラインが２行未満であることを条件として（ステップＳ８：ＮＯ）、ステップＳ５の処理に戻り、次行以降（３）〜（５）の解読に移行する。制御回路３は、最下行（５）まで解読処理を行いステップＳ８の条件を満たせばステップＳ９において解読成功とするが、最下行（５）の解読が終了してもステップＳ８の条件を満たさない場合には（ステップＳ１０：ＹＥＳ）、解読失敗とみなす（ステップＳ１１）。
【００３６】
すなわち、速度優先アルゴリズムを適用した場合には、読取ライン（１）〜（５）のうち２行だけでも同一の解読結果が得られれば解読成功とみなされることになり、最大行数解読しても全て一致しない場合のみ解読失敗とみなされることになる。尚、制御回路３は、解読失敗とみなしたときには、２次元画像センサ１５により読取対象領域Ｘの反射光を受光し、再度画像データの取込み処理を行い再度解読処理を行う。そして、制御回路３は、例えば解読が完了するまで処理を繰り返す。
【００３７】
＜確実性優先アルゴリズム＞
以下、確実性優先アルゴリズムについて図５ないし図７を参照しながら説明する。
前述したように、制御回路３は、最小基本幅に対する画素の割当数が所定数未満であることを検出した場合に、確実性優先アルゴリズムによるプログラムを実行する（ステップＴ１〜Ｔ１０）。すなわち図５に示すように、幅Ｗに対して誤差Ｇの割合が大きいと、バーＢ１およびスペースＢ２の幅の検出誤差が大きくなるため、誤解読（デコード）しやすくなる。したがって、確実性優先アルゴリズムを用いることにより解読の確度を向上する。
【００３８】
図７は、確実性優先アルゴリズムの動作をフローチャートにより示している。
この図７において、制御回路３は、最上行の読取ラインのデコード（解読）処理を行い（ステップＴ１）、デコード結果をメモリ４に記憶させる（ステップＴ２）。制御回路３は、次行の読取ラインのデコード処理を行い（ステップＴ３）、このデコード結果をメモリ４に記憶させる（ステップＴ４）。制御回路３は、これらのデコード結果を照合し（ステップＴ５）、同一の解読結果の得られた読取ラインが例えば５行以上あるか否かを判定し（ステップＴ６）、５行以上あれば解読成功とみなす（ステップＴ７）。
【００３９】
ここで、解読成功とみなす同一の解読結果の得られる読取ラインのしきい値を例えば５行と比較的大きく設定しているのは、読取の確実性を向上するためである。つまり、図５に示すように、誤差Ｇが幅Ｗに対する割合が大きいと、前述したように誤解読しやすくなるためである。これにより、確実性優先アルゴリズムが選択された場合には速度優先アルゴリズムが選択された場合に比較して解読成功とみなす基準を厳しくすることができ、解読結果の正誤判断の信頼性を向上することができる。
【００４０】
またステップＴ６において、制御回路３は、同一の解読結果の得られた読取ラインが５行未満の場合には、ステップＴ８〜Ｔ１０の処理に移行する。このとき制御回路３は、デコード失敗した行数が３行以上であるときには（ステップＴ８：ＹＥＳ）、解読失敗とみなす（ステップＴ１０）。これは、例えば図６に示すように、取り込まれた画像データの品質が悪い場合などに行われる処理である。すなわち、取込まれた画像データを所定行解読しても全て解読失敗と判断されたときに行われる処理である。
【００４１】
尚、制御回路３は、デコード失敗した行数が多いときには解読結果の信頼性が劣るため、この解読結果を破棄し、再度画像データを取込み解読処理を繰り返すようにする。尚、図６は、模式的な解読処理の概要を示しており、５行失敗した例を示している。本実施形態においては３行以上失敗した時点で解読失敗とみなされるため、制御回路３は、図６の読取ライン（１）〜（３）を解読処理し失敗した時点で解読処理を終了し、次の画像データを取込み、解読処理を行うようになる。
【００４２】
図７に戻って、制御回路３は、デコード処理の失敗した行数が３行未満（２行以下）であるときには（ステップＴ８：ＮＯ）、異なる解読結果の得られた読取ラインが３行以上あるか否かを判定する（ステップＴ９）。制御回路３は、異なる解読結果の得られた読取ラインが３行以上ある場合には（ステップＴ９：ＹＥＳ）、解読失敗とみなし再度画像データの取込処理を行い解読処理を行う。制御回路３は、異なる解読結果の得られた読取ラインが３行未満である場合には、ステップＴ３に戻り、次行の読取ラインの解読処理を行うようにする。
【００４３】
これは、たとえデコード処理の成功する行数が多かったとしても、解読結果の異なる読取ラインが多ければ信頼性の劣る結果であると判定するためである。つまり、取込まれた画像データの品質が悪い場合には、読取ラインの位置が異なれば、異なる解読結果が得られてしまう場合があるため、このステップＴ９の判定処理を行う。これにより、信頼性の劣る解読結果を破棄することができ、解読結果の信頼性を向上できる。
【００４４】
このような本実施形態によれば、制御回路３が、速度優先アルゴリズムおよび確実性優先アルゴリズムのうち何れかのアルゴリズムを含むプログラムによりリニアバーコードＢを解読するため、解読処理の正誤判断の信頼度を向上できる。
【００４５】
例えば、幅Ｗが所定値より大きく検出され、取込まれた画像データが良質なものであると判定された場合には、制御回路３が速度優先アルゴリズムにより解読処理することで少ない行数で解読処理を行うことができ、解読処理の迅速性を向上でき、素早く解読処理を終了できる。また、例えば、幅Ｗが所定値より小さく検出され、取込まれた画像データの品質が劣悪なものであると判定された場合には確実性優先アルゴリズムにより解読処理することにより確実に解読処理を行うことができ、解読結果の確実性，信頼性を向上できる。
【００４６】
また、制御回路３は、速度優先アルゴリズムにより互いに平行な異なる５行の読取ラインを対象として解読処理を行い、同一の解読結果の得られた読取ラインが２行以上あることを条件として解読成功とみなすため、読取ラインを１ラインのみで行っている構成に比較して、リニアバーコードＢの解読結果の信頼性を向上できる。
【００４７】
また、制御回路３は、確実性優先アルゴリズムにより互いに平行な異なる複数の読取ラインを対象として解読処理を行い、異なる解読結果の得られた読取ラインが３行以上あることを条件としてリニアバーコードＢの解読処理を失敗とみなすため、例えば読取ラインを１ラインのみで行うのに比較して、リニアバーコードＢの解読結果の信頼性を向上できる。
【００４８】
制御回路３が解読処理を失敗とみなした場合には、２次元画像センサ１５が、再度リニアバーコードＢを通じて光を受光し、この受光信号を画像メモリ４ａに画像データを取り込みステップＳ１から再処理を行って解読するため、たとえ解読処理を失敗したとしても再度情報コードを通じて光を受光し情報コードを解読することができ、情報コードを極力誤読することなく解読できるようになる。
【００４９】
（第２の実施形態）
図９は、本発明の第２の実施形態の説明を示すもので、第１の実施形態と異なるところは、２次元コードＨを解読する処理に適用したところにある。第１の実施形態と同一部分については同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。
【００５０】
情報コード読取装置１は、制御回路３が、図９（ａ）に示す２次元コードＨを解読するように構成されている。２次元コードＨは、矩形状の白セルＨ１，黒セルＨ２がマトリックスシンボル体系で格子状に組み合わされて構成されている。２次元コードＨには、ある所定数の情報が含まれているが、この情報の一部分が欠損しても復元できるように誤り訂正符号も含まれている。そこで、本実施形態では、この誤り訂正符号を利用して解読速度を向上できるようにした例を示す。
【００５１】
制御回路３は、情報コードとしての２次元コードＨを解読する前に、２次元コードＨの白セルＨ１または／および黒セルＨ２の最小幅を検出する。これは、２次元コードＨの撮像距離に応じて白セルＨ１および黒セルＨ２に対応する画素の割当数が異なるためであり、制御回路３が解読確度を優先し確実性優先アルゴリズムを適用して処理を行うか、解読速度を優先し速度優先アルゴリズムを適用して処理を行うかを決定するためである。
【００５２】
図９（ａ）は、２次元コードの一例を示している。また図９（ｂ）は、図９（ａ）の２次元コードに対応したセルの読取領域を示すと共に読取ラインを示している。制御回路３は、白セルＨ１または黒セルＨ２の幅Ｗの最小幅が所定よりも大きいと判定すると、第１の実施形態と同様に速度優先アルゴリズムを適用して解読処理を行う。
【００５３】
まず、制御回路３は、２次元コードＨのセルの垂直方向および水平方向を設定する。例えば、２次元コードＨとして例えばデータマトリックスを適用した場合には、Ｌ字のパターンを検出し、垂直方向および水平方向を設定する。例えば、２次元コードＨとして例えばＱＲコードを適用した場合には、制御回路３は、位置決めパターンとしての切出しシンボルを検出し垂直方向および水平方向を設定する。また、例えば、２次元コードＨとして例えばＰＤＦ−４１７コードを適用した場合には、制御回路３は、スタートビットおよびストップビットを検出し、２次元コードＨの垂直方向および水平方向を設定する。
【００５４】
図９（ｂ）に示すように、制御回路３は、２次元コードＨの形成領域に対して水平方向の直線状の読取ラインを設定し、最上行（最上段）の上側（１）の読取ラインＹ１から平行に設定された第Ｎ行の位置（Ｎ）の読取ラインＹＮにかけて順次白セルＨ１であるか黒セルＨ２であるかをメモリ４から読取る。
【００５５】
この場合、制御回路３は、誤り訂正可能な所定の数のセル（図９（ｂ）の読取セルＨａ参照）の白黒が読取られれば、その時点で白セルであるか黒セルであるかの読取処理を終了し、後のセル（図９（ｂ）の未読取セルＨｂ参照）の白黒読取処理を行うことなく、誤り訂正処理を行う。このとき、制御回路３は、誤り訂正処理を行った結果、誤り訂正処理が成功すれば解読処理を成功とみなす。これにより、解読速度を向上できる。尚、制御回路３は、誤り訂正処理が失敗すればさらに下行の位置の読取ラインにかけて順次白セルＨであるか黒セルＨ２であるかをメモリ４から読取り再度解読処理を行う。
【００５６】
また逆に、制御回路３は、白セルＨ１または黒セルＨ２の最小幅が所定よりも小さいと判定すると、確実性優先アルゴリズムを適用して解読処理を行う。この場合、制御回路３は、２次元コードＨを構成する全ての白セルＨ１および黒セルＨ２が読取られた後に解読処理を行うようにする。これにより、解読速度よりも解読確度を優先して処理できるようになる。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施形態を示す概略的なブロック構成図
【図２】輝度データと画素の対応関係を示す図（その１）
【図３】解読処理の順序を模式的に示す図
【図４】動作を示すフローチャート（その１）
【図５】輝度データと画素の対応関係を示す図（その２）
【図６】読取失敗時の形態を模式的に示す図
【図７】動作を示すフローチャート（その２）
【図８】（ａ）〜（ｄ）は情報コードの一例を示す図
【図９】本発明の第２の実施形態の説明図（（ａ）２次元コードの一例を示す図、（ｂ）読取領域と読取ラインを示す図）
【符号の説明】
【００５８】
図面中、１は情報コード読取装置（光学的情報読取装置）、３は制御回路（検出手段、選択手段、解読手段）、４はメモリ（記憶手段）、１５は２次元画像センサ（受光手段）を示す。
【図１】
2006134159.tif 000003
【図２】
2006134159.tif 000004
【図３】
2006134159.tif 000005
【図４】
2006134159.tif 000006
【図５】
2006134159.tif 000007
【図６】
2006134159.tif 000008
【図７】
2006134159.tif 000009
【図８】
2006134159.tif 000010
【図９】
2006134159.tif 000011