(57)【特許請求の範囲】
【請求項１】
移動する物体に添付され、かつ複数のデータブロックから成るＱＲコードを含む領域を繰り返して撮像して少なくとも２つの画像データを取得する撮像装置と、
前記撮像装置による繰り返しの撮像により取得される少なくとも２つの画像データのそれぞれに対して前記複数のデータブロック毎にそれぞれデコードを行うデコード部と、
前記デコード部による前記少なくとも２つの画像データ毎における前記複数のデータブロック毎の各デコード結果の可・不可を判定するデコード判定部と、
前記デコード判定部による判定の結果、１つの前記画像データにおいて前記デコード不可の前記データブロックが有ると、当該データブロックに欠落しているデコードデータを当該データブロックと同一でかつデコード可と判定された他の少なくとも１つの前記画像データの前記データブロックのデコードデータに書き換えて最終のデコード結果を取得する前記デコード組合せ部と、
を具備することを特徴とするデータコード読取装置。
【請求項２】
前記デコード部は、前記撮像装置の撮像範囲内に前記物体が１回横切って移動したときに取得された前記少なくとも２つの画像データのそれぞれに対して前記複数のデータブロック毎にデコードを行い、
前記デコード判定部は、前記デコード部による前記デコード結果の可・不可を判定し、
前記デコード組合せ部は、前記デコード判定部により前記デコード可と判定した前記各データブロックのデコードデータを組み合わせて最終のデコード結果を取得する、
ことを特徴とする請求項１記載のデータコード読取装置。
【請求項３】
前記デコード組合せ部は、前記撮像装置による１回目の撮像により取得された前記画像データに対する前記複数のデータブロック毎の前記デコードの結果、少なくとも１つの前記データブロックに前記デコード不可の判定結果であれば、当該デコード不可の前記データブロックに欠落している前記デコードデータを、前記撮像装置による２回目以降の撮像により取得された前記各画像データに対する前記デコード結果のうち前記デコード不可と判定された前記データブロックと同一でかつ前記デコード可と判定された前記データブロックの前記デコードデータに書き換えることを特徴とする請求項１記載のデータコード読取装置。
【請求項４】
前記デコード組合せ部は、前記少なくとも１つの前記データブロックに前記デコード不可の判定結果であれば、前記デコード不可の前記データブロックを含む前記複数のデータブロックのデコードデータを保存し、前記撮像装置による２回目の撮像以降に、前記保存した前記複数のデータブロックのデコードデータのうち前記デコード不可の前記デコードデータを前記デコード可と判定された前記データブロックの前記デコードデータに書き換えることを特徴とする請求項３記載のデータコード読取装置。
【請求項５】
前記デコード組合せ部は、前記撮像装置による１回目の撮像により取得された前記画像データに対して前記デコード部により前記複数のデータブロック毎にデコードを行った結果、全ての前記データブロックが前記デコード可の判定結果であれば、当該複数のデータブロックのデコードデータを前記最終のデコード結果とすることを特徴とする請求項１記載のデータコード読取装置。
【請求項６】
前記デコード組合せ部は、前記全てのデータブロックが前記デコード可の判定結果になるまで、前記撮像装置の撮像により取得される前記画像データに対する前記デコード部による前記複数のデータブロック毎のデコード結果を得ることを特徴とする請求項１記載のデータコード読取装置。
【請求項７】
移動する物体に添付され、かつ複数のデータブロックから成るＱＲコードを含む領域を繰り返して撮像して少なくとも２つの画像データを取得し、
前記繰り返しの撮像により取得される少なくとも２つの画像データのそれぞれに対して前記複数のデータブロック毎にそれぞれデコードを行い、
前記デコードによる前記少なくとも２つの画像データ毎における前記複数のデータブロック毎の各デコード結果の可・不可を判定し、
デコード判定の結果、１つの前記画像データにおいて前記デコード不可の前記データブロックが有ると、当該データブロックに欠落しているデコードデータを当該データブロックと同一でかつデコード可と判定された他の少なくとも１つの前記画像データの前記データブロックのデコードデータに書き換えて最終のデコード結果を取得する、
ことを特徴とするデータコード読取方法。
【請求項８】
前記全てのデータブロックが前記デコード可の判定結果になるまで、前記繰り返しの撮像により取得される前記画像データに対して前記デコード部による前記複数のデータブロック毎のデコード結果を得ることを特徴とする請求項７記載のデータコード読取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば２次元の撮像装置の前方で移動される商品等の物体に添付され、かつ複数のデータブロックから成る少なくともデータコードを読み取るデータコード読取装置及びその方法に関する。
【背景技術】
【０００２】
２次元のバーコードやＱＲコード、記号等のデータコードの読取や認識等を行うデータコード認識装置がある。このデータコード認識装置は、例えば撮像装置によって２次元のバーコードやＱＲコード、記号等のデータコードを撮像し、この撮像装置から出力される多値の濃淡レベルを有する画像信号を画像処理する。この画像処理では、多値の濃淡レベルを有する画像信号を２値化する前処理を行い、この２値化された２値化画像データに基づいてバーコードのデコードやパターン認識等の各種処理を行う。
【０００３】
このようなデータコード認識装置では、２次元のバーコードやＱＲコード、記号等のデータコードを撮像装置により撮像する際、これらデータコードを精度高く認識するために照明が行われる。この照明を行う技術としては、例えば特許文献１がある。この特許文献１は、ＬＥＤ等の複数の照明光源から出力される光のうち拡散板の通過孔を通して直接光により基板マークを照明するとともに、拡散板から斜めに入射する拡散光により基板マークを照明することを開示し、又基板マークの反射特性に合わせて複数の照明光源を選択的に点灯することを開示する。
【特許文献１】特開２００１−３０４８１７
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、２次元のバーコードやＱＲコード、記号等のデータコードを照明した状態で撮像装置によって撮像する場合、ＱＲコードを印字してある印字面が鏡面反射の特性を有すると、ＬＥＤ等の複数の照明光源から出力され、ＱＲコードの印字面で反射して撮像装置に入射する光のうち反射光量の大きい部分が生じる。これにより、撮像装置の撮像によって取得される画像データには、例えば図９に示すように複数のＬＥＤ等の照明光源に対応してＱＲコード１中に反射光量が大きくなる部分、いわゆる白とび部分２が複数生じることがある。このため、ＱＲコード１の正常な画像データを取得することができず、ＱＲコード１のデコードができない。又、ＱＲコード１を照明したとしても例えば図１０に示すように照明ムラが生じ、ＱＲコード１の隅部の濃淡レベルが他の部分と比較して低く暗い画像部分３が生じることがある。この場合でも、ＱＲコード１の正常な画像データを取得することができず、ＱＲコード１のデコードができない。
【０００５】
本発明の目的は、データコードの画像データ中に白とび部分や暗い画像が生じたとしても正常にデータコードを読み取ることができるデータコード読取装置及びその方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の主要な局面に係るデータコード読取装置は、移動する物体に添付され、かつ複数のデータブロックから成るＱＲコードを含む領域を繰り返して撮像して少なくとも２つの画像データを取得する撮像装置と、撮像装置による繰り返しの撮像により取得される少なくとも２つの画像データのそれぞれに対して複数のデータブロック毎にそれぞれデコードを行うデコード部と、デコード部による少なくとも２つの画像データ毎における複数のデータブロック毎の各デコード結果の可・不可を判定するデコード判定部と、デコード判定部による判定の結果、１つの画像データにおいてデコード不可のデータブロックが有ると、当該データブロックに欠落しているデコードデータを当該データブロックと同一でかつデコード可と判定された他の少なくとも１つの画像データのデータブロックのデコードデータに書き換えて最終のデコード結果を取得するデコード組合せ部とを具備する。
【０００７】
本発明の主要な局面に係るデータコード読取方法は、移動する物体に添付され、かつ複数のデータブロックから成るＱＲコードを含む領域を繰り返して撮像して少なくとも２つの画像データを取得し、繰り返しの撮像により取得される少なくとも２つの画像データのそれぞれに対して複数のデータブロック毎にそれぞれデコードを行い、デコードによる少なくとも２つの画像データ毎における複数のデータブロック毎の各デコード結果の可・不可を判定し、デコード判定の結果、１つの画像データにおいてデコード不可のデータブロックが有ると、当該データブロックに欠落しているデコードデータを当該データブロックと同一でかつデコード可と判定された他の少なくとも１つの画像データのデータブロックのデコードデータに書き換えて最終のデコード結果を取得する。
【発明の効果】
【０００８】
本発明によれば、オペレータの操作によって商品が撮像装置の撮像範囲内に横切って移動されることによりＱＲコードとこのＱＲコードを照明する点灯部との位置関係が変化し、この位置関係の変化によってＱＲコードに対する照明位置及びその照明光量が変化することにより、繰り返しの撮像により取得されたＱＲコード中の各データブロック毎の各デコード結果がそれぞれ相違し、これら繰り返して撮像して少なくとも２つの画像データを取得し、繰り返しの撮像により取得される少なくとも２つの画像データのそれぞれに対して複数のデータブロック毎にそれぞれデコードを行い、デコードによる少なくとも２つの画像データ毎における複数のデータブロック毎の各デコード結果の可・不可を判定し、デコード判定の結果、１つの画像データにおいてデコード不可のデータブロックが有ると、当該データブロックに欠落しているデコードデータを当該データブロックと同一でかつデコード可と判定された他の少なくとも１つの画像データのデータブロックのデコードデータに書き換えて最終のデコード結果を取得するので、データコードの画像データ中に白とび部分や暗い画像が生じたとしても正常にデータコードを読み取ることができるデータコード読取装置及びその方法を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一実施の形態について図面を参照して説明する。  
図１はデータコード読取装置の構成図を示す。このデータコード読取装置は、例えば電子キャッシュレジスタに用いられる。このデータコード読取装置は、制御部本体としてＣＰＵ（Ｃentral Ｐrocessing Ｕnit）１０を搭載している。このＣＰＵ１０には、ＲＯＭ（Ｒead Ｏnly Ｍemory）１１と、ＲＡＭ（Ｒandom Ａccess Ｍemory）１２と、通信インタフェース（通信Ｉ／Ｆ）１３と、撮像装置１４とが接続されると共に、ＣＰＵ１０からの指令を受ける２値化処理部１５と、デコード部１６と、デコード判定部１７と、デコード組合せ部１８と、点灯部１９とを有する。
【００１０】
ＲＯＭ１２には、例えば電子キャッシュレジスタの業務を実行させるための業務プログラムやデータコード読取プログラムが予め格納されている。データコード読取プログラムは、撮像装置１４によりデータコードとして例えば商品２０に貼られたラベル上に印字されたＱＲコード１を含む領域を少なくとも２回繰り返して撮像させて少なくとも２つの多階調の画像データを取得させ、これら多階調の画像データのそれぞれに対してデコード部１６により複数のデータブロック毎にデコードを行わさせ、これらデータブロック毎にそれぞれデコード結果の可・不可をデコード判定部１７により判定させ、このデコード結果の判定によりデコード可と判定した各データブロックのデコードデータをデコード組合せ部１８により組み合わせて最終のデコード結果を取得させる。
【００１１】
ＲＡＭ１２は、各種データを一時記憶するためのエリアが形成され、例えば撮像装置１４の撮像により取得された多階調の画像データを当該エリアに一時記憶したり、デコード部１６によりデコードされたＱＲコード１に含む情報等を同エリアに一時記憶する。  
通信Ｉ／Ｆ１３には、図示しない伝送路を通して外部機器が接続されている。この通信Ｉ／Ｆ１３は、伝送路を通して外部機器の間でデータ通信を行う。  
撮像装置１４は、商品２０に貼られたラベル上のＱＲコード１を含む領域を撮像し、その多階調の画像信号を出力するもので、例えばＣＣＤ等により成るイメージセンサが用いられる。この撮像装置１４は、所定周期毎に繰り返して撮像動作を行っている状態に、例えばオペレータの操作によって商品２０が当該撮像装置１４の撮像範囲内に１回横切って移動すると、この撮像装置１４によるＱＲコード１に対する撮像動作は、少なくとも２回行われる。なお、撮像装置１４の撮像範囲内に商品２０が１回横切って移動中に行われる撮像動作の回数は、オペレータの操作によって移動する商品２０の移動速度と撮像装置１４による撮像動作の繰り返し周期とに基づいて決定され、例えば２回以上行われる場合もある。
【００１２】
２値化処理部１５は、撮像装置１４から出力された多階調の画像信号に対してそれぞれしきい値を用いて２値化し、その２値化画像データを取得する。  
デコード部１６は、２値化処理部１６により取得された２値化画像データからＱＲコード１中の複数のデータブロック毎にそれぞれデコードを行う。すなわち、ＱＲコード１は、例えば図２の模式図に示すように複数のデータブロック、例えば各データブロックｂ１〜ｂ７を有する。これにより、デコード部１６は、ＱＲコード１中の各データブロックｂ１〜ｂ７毎にそれぞれデコードを行う。なお、ＱＲコード１は、チェックを行うためのチェックサムを符号化した誤り訂正ブロックも有する。
【００１３】
デコード判定部１７は、デコード部１６によるＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果の可・不可を判定する。このうちデコード結果が可であれば、ＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコードが正常に行われたことを示す。デコード結果が不可であれば、ＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコードが正常に行われず、デコードデータが欠落していることを示す。
【００１４】
デコード組合せ部１８は、デコード判定部１７によりデコード可と判定した各データブロックｂ１〜ｂ７の各デコードデータを組み合わせて最終のデコード結果を取得する。すなわち、ＱＲコード１を含む多階調の画像データは、撮像装置１４の撮像範囲内に商品２０が１回横切って移動したときに少なくとも２枚取得される。そして、ＱＲコード１中の各データブロックｂ１〜ｂ７毎のデコードは、撮像装置１４の撮像範囲内に商品２０が１回横切って移動したときに取得される少なくとも２枚の多階調の画像データ毎に行われる。従って、デコード組合せ部１８は、少なくとも２枚の多階調の画像データ毎に行われる各データブロックｂ１〜ｂ７毎の各デコードの結果のうちデコード可と判定した各データブロックｂ１〜ｂ７の各デコードデータを組み合わせて最終のデコード結果を取得する。
【００１５】
具体的にデコード組合せ部１８は、撮像装置１４による１回目の撮像により取得された多諧調の画像データに対する各データブロックｂ１〜ｂ７毎のデコードの結果、少なくとも１つのデータブロック、例えばデータブロックｂ２にデコード不可の判定結果であれば、当該デコード不可のデータブロックｂ２に欠落しているデコードデータを、撮像装置１４による２回目以降の撮像により取得された多諧調の各画像データに対するデコード結果のうちデコード不可と判定されたデータブロックｂ２と同一でかつデコード可と判定されたデータブロックｂ２のデコードデータに書き換える。
【００１６】
この場合、デコード組合せ部１８は、撮像装置１４による１回目の撮像により取得された多諧調の画像データに対する各データブロックｂ１〜ｂ７毎のデコードの結果、少なくとも１つのデータブロックｂ２にデコード不可の判定結果であれば、当該デコード不可のデータブロックｂ２を含む各データブロックｂ１〜ｂ７のデコードデータを例えばＲＡＭ１２に保存する。そして、デコード組合せ部１８は、撮像装置１４による２回目の撮像以降に、ＲＡＭ１２に保存した各データブロックｂ１〜ｂ７のデコードデータのうちデコード不可のデコードデータをデコード可と判定されたデータブロックｂ２のデコードデータに書き換える。
【００１７】
デコード組合せ部１８は、撮像装置１４による１回目の撮像により取得された多諧調の画像データに対してデコード部１６により各データブロックｂ１〜ｂ７毎にデコードを行った結果、全てのデータブロックｂ１〜ｂ７がデコード可の判定結果であれば、当該各データブロックｂ１〜ｂ７のデコードデータを最終のデコード結果とする。
【００１８】
点灯部１９は、複数の光源、例えばＬＥＤ２１−１〜２１−ｎを点灯する。これらＬＥＤ２１−１〜２１−ｎは、例えばオペレータの操作によって撮像装置１４の撮像範囲内に移動させる商品２０を照明する。
【００１９】
次に、上記の如く構成された装置によるデータコードの読み取り動作について図３に示すデータコード読取フローチャートに従って説明する。  
撮像装置１４は、所定周期毎に撮像動作を行い、その多階調の画像信号を出力する。ＣＰＵ１０は、ステップ＃１において、所定周期毎に撮像装置１４から出力される多階調の画像信号を入力し、この多階調の画像信号を２値化処理部１５に送る。この２値化処理部１５は、撮像装置１４の撮像により取得された多階調の画像信号に対してそれぞれしきい値を用いて２値化し、その２値化画像データを取得する。なお、撮像装置１４の撮像動作時、点灯部１９は、例えばＬＥＤ２１−１〜２１−ｎを点灯する。
【００２０】
次に、ＣＰＵ１０は、ステップ＃２において、２値化処理部１５により取得された２値化画像データに基づいてＱＲコード１を検出する。この検出の結果、ＱＲコード１が検出されなければ、ＣＰＵ１０は、ステップ＃１に戻る。
【００２１】
一方、撮像装置１４が所定周期毎に繰り返して撮像動作を行っている状態に例えばオペレータの操作によって商品２０が当該撮像装置１４の撮像範囲内に１回横切って移動されると、撮像装置１４は、商品２０に貼られたラベル上のＱＲコード１を含む領域を撮像し、その多階調の画像信号を出力する。このとき、商品２０が撮像装置１４の撮像範囲内に１回横切って移動中に行われるＱＲコード１に対する撮像装置１４の撮像動作回数は、オペレータの操作によって移動する商品２０の移動速度と撮像装置１４による撮像動作の繰り返し周期とに基づいて決定され、例えば２回撮像動作が行われる。このときも点灯部１９は、例えばＬＥＤ２１−１〜２１−ｎを点灯する。これにより、オペレータの操作によって移動される商品２０及びこの商品２９に貼られているラベル上のＱＲコード１は、ＬＥＤ２１−１〜２１−ｎから出力される照明光により照明される。
【００２２】
しかるに、１回目の撮像動作時に、ＣＰＵ１０は、ステップ＃１において、撮像装置１４から出力される多階調の画像信号を入力し、この多階調の画像信号を２値化処理部１５に送る。この２値化処理部１５は、撮像装置１４の撮像により取得された多階調の画像信号に対してそれぞれしきい値を用いて２値化し、その２値化画像データＤ１を取得する。図４は１回目の撮像動作により取得された２値化画像データＤ１の摸式図を示す。この２値化画像データＤ１は、ＱＲコード１の像を示すと共に、実際には撮像されないがＱＲコード１と複数のＬＥＤ２１−１〜２１−ｎ例えば各ＬＥＤ２１−１〜２１−６との位置関係を分かり易く示すために各ＬＥＤ２１−１〜２１−６も示してある。
【００２３】
次に、ＣＰＵ１０は、ステップ＃２において、２値化処理部１５により取得された２値化画像データＤ１に基づいてＱＲコード１を検出する。次に、ＣＰＵ１０は、ステップ＃４に移り、ＱＲコード１中の各誤り訂正ブロック毎に記述されている各チェックを用いて誤りの検出、訂正の処理を行う。
【００２４】
次に、デコード部１６は、ステップ＃５において、２値化処理部１６により取得された２値化画像データＤ１からＱＲコード１中の例えば図２に示す複数のデータブロックｂ１〜ｂ７毎にそれぞれデコードを行う。図５は各データブロックｂ１〜ｂ７毎のデコード結果を示す。このデコード結果は、例えば各データブロックｂ１、ｂ３、ｂ５〜ｂ７についてデコード可（ＯＫ）であるが、各データブロックｂ２、ｂ４についてデコード不可（ＮＧ）である。
【００２５】
次に、デコード判定部１７は、ステップ＃６において、デコード部１６による図５に示すようなＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果の可・不可を判定する。すなわち、デコード判定部１７は、デコード結果が可であれば、ＱＲコード１中の各データブロックｂ１、ｂ３、ｂ５〜ｂ７毎の各デコードが正常に行われたと判定し、かつデコード結果が不可であれば、ＱＲコード１中の各データブロックｂ２、ｂ４毎の各デコードが正常に行われず、デコードデータが欠落していると判定する。しかるに、デコード判定部１７は、全てのデータブロックｂ１〜ｂ７の判定結果がデコード可でないので、この旨をＣＰＵ１０に送る。このＣＰＵ１０は、全てのデータブロックｂ１〜ｂ７の判定結果がデコード可でない旨を受けると、ステップ＃７に移り、図５に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果を例えばＲＡＭ１２に保存する。  
次に、ＣＰＵ１０は、ステップ＃８において、ＲＡＭ１２に前回のデコード結果の保存があるか否かを判断する。この判断の結果、ＲＡＭ１２に前回のデコード結果の保存が無いので、ＣＰＵ１０は、再び、ステップ＃１に戻る。
【００２６】
次に、２回目の撮像動作時に、ＣＰＵ１０は、ステップ＃１において、撮像装置１４から出力された多階調の画像信号を２値化処理部１５に送る。この２値化処理部１５は、上記同様に、多階調の画像信号に対してそれぞれしきい値を用いて２値化し、例えば図６に示すような２値化画像データＤ２を取得する。この２値化画像データＤ２上でのＱＲコード１の位置は、２値化画像データＤ１上のＱＲコード１の位置よりも左側に移動している。次に、ＣＰＵ１０は、ステップ＃２において、２値化画像データＤ２に基づいてＱＲコード１を検出し、ステップ＃４において、ＱＲコード１中の各誤り訂正ブロック毎に記述されている各チェックを用いて誤りの検出、訂正の処理を行う。
【００２７】
次に、デコード部１６は、ステップ＃５において、２値化画像データＤ２からＱＲコード１中の各データブロックｂ１〜ｂ７毎にそれぞれデコードを行う。図７は各データブロックｂ１〜ｂ７毎のデコード結果を示し、例えば各データブロックｂ１、ｂ２、ｂ４〜ｂ７についてデコード可（ＯＫ）であるが、各データブロックｂ３についてデコード不可（ＮＧ）である。
【００２８】
次に、デコード判定部１７は、ステップ＃６において、図７に示すようなＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果の可・不可を判定し、ＱＲコード１中の各データブロックｂ１、ｂ２、ｂ４〜ｂ７毎の各デコードが正常に行われたと判定し、かつＱＲコード１中の各データブロックｂ３のデコードが正常に行われず、デコードデータが欠落していると判定する。しかるに、デコード判定部１７は、全てのデータブロックｂ１〜ｂ７の判定結果がデコード可でないので、この旨をＣＰＵ１０に送る。これにより、ＣＰＵ１０は、ステップ＃７において、図７に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果を例えばＲＡＭ１２に保存する。
【００２９】
なお、１回目の撮像動作時に取得された図５に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果と２回目の撮像動作時に取得された図７に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果とが相違するのは、例えばオペレータの操作によって商品２０が撮像装置１４の撮像範囲内に１回横切って移動されることにより図４及び図６に示すようにＱＲコード１と各ＬＥＤ２１−１〜２１−６との位置関係が変化し、この位置関係の変化によってＱＲコード１に対する照明位置及びその照明光量が変化することによる。これによって、例えば上記図９に示すようにＱＲコード１中に反射光量が大きくなる部分、いわゆる白とび部分２が複数生じたり、又、例えば上記図１０に示すように照明ムラが生じ、ＱＲコード１の隅部の濃淡レベルが他の部分と比較して低く暗い画像部分３が生じることがある。
【００３０】
次に、ＣＰＵ１０は、ステップ＃８において、ＲＡＭ１２に前回のデコード結果の保存があるか否かを判断し、この判断の結果、ＲＡＭ１２に前回のデコード結果である図５に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果の保存があるので、デコード組合せ部１８に対してデコード結果を組み合せる指令を発する。
【００３１】
このデコード組合せ部１８は、ステップ＃９において、ＲＡＭ１２に保存されている１回目の撮像動作時の図５に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果と、図７に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果とを読み出す。  
次に、デコード組合せ部１８は、例えば図５に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果のうちデコード不可となって欠落している各データブロックｂ２、ｂ４のデコードデータを図７に示すＱＲコード１中の各データブロックｂ２、ｂ４の各デコード結果から読み取る。  
次に、デコード組合せ部１８は、それぞれ読み取った図７に示すＱＲコード１中の各データブロックｂ２、ｂ４の各デコードデータを図５に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果のうちデコード不可となって欠落している各データブロックｂ２、ｂ４に書き換える。この結果、デコード組合せ部１８は、図８に示すようなＱＲコード１中の各データブロックｂ１〜ｂ７に対する最終のデコード結果を取得する。この最終のデコード結果は、ＱＲコード１中の全てのデータブロックｂ１〜ｂ７のデコード結果がデコード可になっている。
【００３２】
なお、デコード組合せ部１８は、例えば図７に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果のうちデコード不可となって欠落しているデータブロックｂ３のデコードデータを図５に示すＱＲコード１中の各データブロックｂ３のデコード結果から読み取り、この読み取った図５に示すＱＲコード１中のデータブロックｂ３のデコードデータを図７に示すＱＲコード１中のデータブロックｂ３に書き換えてもよい。
【００３３】
次に、デコード判定部１７は、再び、ステップ＃６において、図８に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果の可・不可を判定し、ＱＲコード１中の全てのデータブロックｂ１、ｂ３、ｂ５〜ｂ７毎の各デコードが正常に行われたと判定する。  
しかるに、ＣＰＵ１０は、ステップ＃１０において、図８に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果を例えば通信Ｉ／Ｆ１３を通して例えばＰＯＳシステム等の外部機器に送る。そして、ＣＰＵ１０は、ステップ＃１１において、ＲＡＭ１２に保存されている図５に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果と、図７に示すＱＲコード１中の各データブロックｂ２、ｂ４の各デコード結果とをクリアすると共に、図８に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果もクリアする。
【００３４】
なお、１回目の撮像動作時に、デコード判定部１７は、ステップ＃６において、図５に示すようなＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果の可・不可を判定するが、この判定の結果、全てのデータブロックｂ１〜ｂ７がデコード可の判定結果であれば、デコード組合せ部１８は、当該判定結果の各データブロックｂ１〜ｂ７のデコードデータを最終のデコード結果とする。
【００３５】
このように上記一実施の形態によれば、例えば１回目の撮像動作時の例えば図５に示すＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果のうちデコード不可となって欠落している各データブロックｂ２、ｂ４のデコードデータを、例えば２回目の撮像動作時の図７に示すＱＲコード１中の各データブロックｂ２、ｂ４の各デコード結果から読み取り、この読み取った各データブロックｂ２、ｂ４の各デコードデータを図５に示すＱＲコード１中の各デコード結果のうちデコード不可となって欠落している各データブロックｂ２、ｂ４に書き換える。これにより、図８に示すような全てのデータブロックｂ１〜ｂ７のデコード結果がデコード可である最終のデコード結果を取得できる。
【００３６】
従って、例えばオペレータの操作によって商品２０が撮像装置１４の撮像範囲内に１回横切って移動されることにより図４及び図６に示すようにＱＲコード１と各ＬＥＤ２１−１〜２１−６との位置関係の変化によってＱＲコード１に対する照明位置及びその照明光量が変化し、例えば上記図９に示すようにＱＲコード１中に反射光量が大きくなる部分、いわゆる白とび部分２が複数生じたり、又、例えば上記図１０に示すように照明ムラが生じ、ＱＲコード１の隅部の濃淡レベルが他の部分と比較して低く暗い画像部分３が生じたとしても、デコード不可となって欠落しているデータブロックのデコードデータをデコード可のデコードデータに書き換えることができる。この結果、例えばオペレータの操作によって商品２０が撮像装置１４の撮像範囲内に１回横切って移動するだけでも、全てのデータブロックｂ１〜ｂ７のデコード結果がデコード可である最終のデコード結果を取得できる。これにより、ＱＲコード１のデコードの成功率を向上できる。
【００３７】
上記一実施の形態では、例えば２回の撮像動作によってそれぞれ取得されたＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果からデコード可のデコード結果を組み合わせて全てのデータブロックｂ１〜ｂ７のデコード結果がデコード可である最終のデコード結果を取得しているが、これに限らず、商品２０が撮像装置１４の撮像範囲内に１回横切って移動するときに例えば３回以上の撮像動作が行われれば、これら３回以上の撮像動作によってそれぞれ取得されたＱＲコード１中の各データブロックｂ１〜ｂ７毎の各デコード結果からデコード可のデコード結果を組み合わせて全てのデータブロックｂ１〜ｂ７のデコード結果がデコード可である最終のデコード結果を取得してよい。
【００３８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。  
例えば、上記一実施の形態では、データコードとしてＱＲコード１の読み取りに適用した場合について説明したが、これに限らず、２次元のバーコードや記号等のデータコードを読み取る場合にも適用可能である。
【図面の簡単な説明】
【００３９】
【図１】本発明に係るデータコード読取装置の一実施の形態を示す構成図。
【図２】同装置により読み取るＱＲコードにおける複数のデータブロックを示す模式図。
【図３】同装置におけるデータコード読取フローチャート。
【図４】同装置における撮像装置の１回目の撮像動作により取得された２値化画像データの摸式図。
【図５】同装置による１回目の撮像動作時におけるＱＲコード中の各データブロックのデコード結果を示す摸式図。
【図６】同装置における撮像装置の２回目の撮像動作により取得された２値化画像データの摸式図。
【図７】同装置による２回目の撮像動作時におけるＱＲコード中の各データブロックのデコード結果を示す摸式図。
【図８】同装置により取得されるＱＲコード中の各データブロックに対する最終のデコード結果を示す模式図。
【図９】ＱＲコード中に白とび部分が生じた画像データを示す模式図。
【図１０】ＱＲコード中に照明ムラによって暗い画像部分が生じた画像データを示す模式図。
【符号の説明】
【００４０】
１：ＱＲコード、１０：ＣＰＵ、１１：ＲＯＭ、１２：ＲＡＭ、１３：通信インタフェース（通信Ｉ／Ｆ）、１４：撮像装置、１５：２値化処理部、１６：デコード部、１７：デコード判定部、１８：デコード組合せ部、１９：点灯部、２０：商品、２１−１〜２１−ｎ：ＬＥＤ。
【図１】
0004815423.tif 000002
【図２】
0004815423.tif 000003
【図３】
0004815423.tif 000004
【図４】
0004815423.tif 000005
【図５】
0004815423.tif 000006
【図６】
0004815423.tif 000007
【図７】
0004815423.tif 000008
【図８】
0004815423.tif 000009
【図９】
0004815423.tif 000010
【図１０】
0004815423.tif 000011