(57)【特許請求の範囲】
【請求項１】
複数の画素からなる撮像素子を備えた撮像手段と、
情報コードからの反射光を前記撮像手段に結像させる結像手段と、
前記撮像素子からの信号に基づいて各画素に対応した画素データを取得し、前記情報コードの画像データを生成する生成手段と、
前記生成手段にて生成された前記画像データに対して画像拡大処理を行う拡大処理手段と、
を備えた光学的情報読取装置であって、
前記画像データのコード領域に配され且つ複数のセルによって構成される所定特徴部分を検出する特徴部分検出手段と、
前記特徴部分検出手段によって検出された前記所定特徴部分の画像と、前記所定特徴部分の画像を構成する複数の画素データと、に基づいて、前記所定特徴部分の各セルに対する画素割当度合いを検出する割当度合検出手段と、
を備え、
前記拡大処理手段は、前記割当度合検出手段によって検出された前記画素割当度合いに応じて拡大率を決定し、その決定された前記拡大率に基づいて前記画像データに対して前記画像拡大処理を行う構成をなしており、
前記情報コードのコード種別毎に前記所定特徴部分が決められており、
前記所定特徴部分は、規定されたセル数、及び規定された形状で構成された部分であり、
前記割当度合検出手段は、前記特徴部分検出手段によって検出された前記所定特徴部分の画像と、前記所定特徴部分の画像を構成する複数の画素データと、に基づいて、前記所定特徴部分によって特定されるコード種別に応じた画素割当度合算出処理を行い、
更に、前記撮像手段により撮像された前記情報コードが一次元コードであるか二次元コードであるかを判断する判断手段を備え、
前記拡大処理手段は、前記判断手段により前記情報コードが一次元コードと判断された場合、前記画像拡大処理として一次元の線形補間処理を行い、前記情報コードが二次元コードと判断された場合には、二次元の線形補間処理を行うことを特徴とする光学的情報読取装置。
【請求項２】
前記特徴部分検出手段は、前記情報コードがバーコードである場合、明色バーと暗色バーとが所定の幅比率で並ぶ部分を前記所定特徴部分として検出し、
前記割当度合検出手段は、前記幅比率と、前記所定特徴部分を構成する複数の画素データと、に基づいて、前記バーコードの単位幅に対する前記画素割当度合いを検出することを特徴とする請求項１に記載の光学的情報読取装置。
【請求項３】
前記特徴部分検出手段は、前記情報コードがＱＲコードである場合、当該ＱＲコードの位置検出パターンを前記所定特徴部分として検出し、
前記割当度合検出手段は、前記位置検出パターンの画像と、前記位置検出パターンを構成する複数の画素データと、に基づいて、前記位置検出パターンの１セルに対する画素割当度合いを検出することを特徴とする請求項１又は請求項２に記載の光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的情報読取装置に関するものである。
【背景技術】
【０００２】
バーコードや二次元コードなどの情報コードを読み取る光学的情報読取装置では、情報コードからの反射光を取り込むと共に、結像レンズによって情報コードの像を撮像素子上に結像させ、当該撮像素子によって得られた情報コードの画像データをデコードする構成が一般的である。なお、情報コードを光学的に読み取る装置としては例えば特許文献１のようなものが提供されている。
【特許文献１】特開平５−９４５６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上記光学的情報読取装置では、情報コードが常に適正なサイズで撮像されるとは限らず、撮像手段に対して相対的に小さいサイズで情報コードが結像されてしまうと、撮像素子の画素が適切に割り当てられず、読み取りを良好に行うことができなくなってしまうという問題がある。
【０００４】
このような問題に関連する技術としては例えば特許文献１のようなものがある。特許文献１の技術は、反射光の経路上にズームの拡大、縮小を行い得るズームレンズ、ズームコントローラが設けられており、撮像素子（イメージセンサ）に映し出される情報コードのサイズを変更できるように構成されている。この構成では、撮像した情報コードの解読を行い、誤り数が訂正能力を超えている場合にはズームレンズを制御してズームの拡大を行い、さらに解読処理を行うといったことを繰り返している。
【０００５】
しかしながら、特許文献１の技術は、情報コードの拡大と解読を交互に行うものであり、試行錯誤的に処理を繰り返すものであるため、明らかに解読が困難な画像や、解読可能か否か不明な画像に対しても一連の解読処理を行う必要がある。従って、処理時間の増大は避けられず、読み取りの効率を低下させてしまうという懸念がある。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、情報コードが小さなサイズで撮像された場合であっても適切に解読処理を行うことができ、かつその解読処理に要する時間を極力削減できる光学的情報読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１の発明は、複数の画素からなる撮像素子を備えた撮像手段と、情報コードからの反射光を前記撮像手段に結像させる結像手段と、前記撮像素子からの信号に基づいて各画素に対応した画素データを取得し、前記情報コードの画像データを生成する生成手段と、前記生成手段にて生成された前記画像データに対して画像拡大処理を行う拡大処理手段と、を備えた光学的情報読取装置であって、前記画像データのコード領域に配され且つ複数のセルによって構成される所定特徴部分を検出する特徴部分検出手段と、前記特徴部分検出手段によって検出された前記所定特徴部分の画像と、前記所定特徴部分の画像を構成する複数の画素データと、に基づいて、前記所定特徴部分の各セルに対する画素割当度合いを検出する割当度合検出手段と、を備え、前記拡大処理手段は、前記割当度合検出手段によって検出された前記画素割当度合いに応じて拡大率を決定し、その決定された前記拡大率に基づいて前記画像データに対して前記画像拡大処理を行う構成をなしており、前記情報コードのコード種別毎に前記所定特徴部分が決められており、前記所定特徴部分は、規定されたセル数、及び規定された形状で構成された部分であり、前記割当度合検出手段は、前記特徴部分検出手段によって検出された前記所定特徴部分の画像と、前記所定特徴部分の画像を構成する複数の画素データと、に基づいて、前記所定特徴部分によって特定されるコード種別に応じた画素割当度合算出処理を行い、更に、前記撮像手段により撮像された前記情報コードが一次元コードであるか二次元コードであるかを判断する判断手段を備え、前記拡大処理手段は、前記判断手段により前記情報コードが一次元コードと判断された場合、前記画像拡大処理として一次元の線形補間処理を行い、前記情報コードが二次元コードと判断された場合には、二次元の線形補間処理を行うことを特徴とする。
【００１１】
請求項２の発明は、請求項１に記載の光学的情報読取装置において、前記特徴部分検出手段は、前記情報コードがバーコードである場合、明色バーと暗色バーとが所定の幅比率で並ぶ部分を前記所定特徴部分として検出し、前記割当度合検出手段は、前記幅比率と、前記所定特徴部分を構成する複数の画素データと、に基づいて、前記バーコードの単位幅に対する前記画素割当度合いを検出することを特徴とする。
【００１２】
請求項３の発明は、請求項１又は請求項２に記載の光学的情報読取装置において、前記特徴部分検出手段は、前記情報コードがＱＲコードである場合、当該ＱＲコードの位置検出パターンを前記所定特徴部分として検出し、前記割当度合検出手段は、前記位置検出パターンの画像と、前記位置検出パターンを構成する複数の画素データと、に基づいて、前記位置検出パターンの１セルに対する画素割当度合いを検出することを特徴とする。
【発明の効果】
【００１３】
請求項１の発明では、画像データのコード領域に配され且つ複数のセルによって構成される所定特徴部分を検出し、その検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素データと、に基づいて、所定特徴部分の各セルに対する画素割当度合いを検出している。この構成によれば、各セルに対して画素がどの程度割り当てられているかを、所定特徴部分の解析によって迅速且つ適切に把握できるようになる。
更に、請求項１の発明では、検出された画素割当度合いに応じて拡大率を決定し、その決定された拡大率に基づいて画像データに対して画像拡大処理を行っている。このようにすると、妥当な拡大率を得るために試行錯誤的に処理を繰り返す必要がなくなり、画素割当度合いに応じた適切な拡大率を迅速に取得でき、ひいては、画像拡大処理や解読処理を効率的且つ良好に行うことができるようになる。
【００１４】
また、規定されたセル数、及び規定された形状で構成された部分が所定特徴部分とされており、且つ情報コードのコード種別毎に所定特徴部分が決められている。情報コードは、規定されたセル数、及び規定された形状で構成された部分を備えているが、この部分を所定特徴部分として利用すれば、各セルに対して画素がどの程度割り当てられているかを、複雑な処理を用いることなく精度高く算出できるようになる。更に、所定特徴部分によって特定されるコード種別に応じた画素割当度合算出処理を行い、特定されるコード種別に応じた画像拡大処理を行うようにしているため、各コード種別に適した方法でそれぞれ画素割当度合を算出でき、各コード種別についてそれぞれ最適な拡大処理を行うことができる。
【００１５】
また、画像拡大処理として、線形補間法を用いた拡大処理を行うようにしている。このように線形補間法を用いると、処理時間の短縮化を図りつつ拡大処理後の画質を比較的良好なものとすることができる。
【００１６】
また、撮像手段により撮像された情報コードが一次元コードであるか二次元コードであるかを判断し、一次元コードと判断された場合、画像拡大処理として一次元の線形補間処理を行い、情報コードが二次元コードと判断された場合には、二次元の線形補間処理を行うようにしている。一次元コード、二次元コードそれぞれについて、必要なレベルで適切な補間処理を行うことができ、拡大処理の効率化を図ることができる。
【００１７】
請求項２の発明では、情報コードがバーコードである場合に、明色バーと暗色バーとが所定の幅比率で並ぶ部分を所定特徴部分として検出している。このようにすると、バーコードが読み取り対象である場合に、所定特徴部分を幅比率に基づいて簡易且つ迅速に検出できる。さらに、その幅比率と、所定特徴部分を構成する複数の画素データと、に基づいて、バーコードの単位幅に対する画素割当度合いを検出している。このようにすると、得られたバーコード画像についての画素割当度合いを、簡易に、かつ精度高く把握できる。
【００１８】
請求項３の発明は、情報コードがＱＲコードである場合、当該ＱＲコードの位置検出パターンを所定特徴部分として検出し、位置検出パターンの画像と、位置検出パターンを構成する複数の画素データと、に基づいて、位置検出パターンの１セルに対する画素割当度合いを検出している。このようにすると、ＱＲコードの各セルに対する画素割当度合いを、簡易に、かつ精度高く把握できる。特に、位置検出パターンは、ＱＲコードの読み取りの際に早期に検出される部分であり、ＱＲコードの位置を把握する上で必須の部分であるため、このような位置検出パターンの検出を画素割当度合いの把握に兼用すれば、各セルに対する画素割当度合いを極めて迅速に、かつ効率的に検出できるようになり、ひいては、画像拡大処理、デコード処理の迅速化を図ることができる。
【発明を実施するための最良の形態】
【００１９】
［第１実施形態］
以下、本発明の第１実施形態に係る光学情報読取装置２０について、図面を参照しつつ説明する。
図１に示すように、情報コードリーダ２０は、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
【００２０】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、図略のハウジングの読取口を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、その表面には情報コードＣとして例えばバーコードや二次元コードが印刷されている。
【００２１】
受光センサ２３は、読取対象物Ｒや情報コードＣに照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２３の受光面２３ａは、ハウジング外から読取口を介して外観可能に位置しており、受光センサ２３は、結像レンズ２７を介して入射する入射光をこの受光面２３ａで受光可能に図略のプリント配線板に実装されている。なお、受光センサ２３は、「撮像手段」の一例に相当し、受光センサ２３を構成する受光素子（図示略）は、撮像素子の一例に相当する。
【００２２】
フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ハウジングの読取口と結像レンズ２７との間に設けられている。これにより、反射光Ｌｒの波長相当を超える不要な光が受光センサ２３に入射することを抑制している。
【００２３】
結像レンズ２７は、外部から読取口を介して入射する入射光を集光して受光センサ２３の受光面２３ａに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数のレンズとにより構成されている。本実施形態では、照明光源２１から照射された照明光Ｌｆが情報コードＣにて反射して読取口に入射するように構成されており、結像レンズ２７は、この反射光Ｌｒを集光することにより、受光センサ２３の受光面２３ａに情報コードＣのコード画像を結像している。なお、結像レンズ２７は、「結像手段」の一例に相当する。
【００２４】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御回路４０およびメモリ３５と中心に構成されるもので、前述した光学系によって撮像された情報コードＣの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路４０は、当該情報コードリーダ２０の全体システムに関する制御も行っている。
【００２５】
受光センサ２３の各受光画素（受光センサ２３を構成する受光素子の各要素）から出力される受光信号（アナログ信号）はそれぞれ、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力され、アナログ信号からディジタル信号に変換される。そして、それらディジタル化された受光信号は、画像データ（画像情報）としてメモリ３５内の画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される受光信号の格納アドレスを発生可能に構成されている。
【００２６】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００２７】
制御回路４０は、情報コードリーダ２０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるもので、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０は、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続可能に構成されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等が接続されている。なお、通信インタフェース４８は、外部装置との通信を行うためのインターフェースであり、図１ではその外部装置の一例としてホストコンピュータＨＳＴが図示されている。このような構成をなすことにより、例えば、電源スイッチ４１や操作スイッチ４２の監視や管理、ＬＥＤ４３の点灯・消灯、ビープ音やアラーム音を発生可能なブザー４４の鳴動のオンオフ、液晶表示装置４６の画面表示、通信インタフェース４８の通信動作等を制御回路４０によって制御できるようになっている。
【００２８】
電源系は、電源スイッチ４１、電池４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、電池４９からの駆動電圧の供給や遮断が制御されている。なお、電池４９は、所定の直流電圧を発生可能な２次電池で、例えば、リチウムイオン電池等がこれに相当する。また、電池４９によることなく、外部から別途電力供給を受ける構成も可能であり、この場合には当該電池４９は不要となる。
【００２９】
次に、情報コードの読取処理について説明する。
図１で例示した情報コードリーダ２０では、例えば図２のような流れで情報コードの読取処理が行われる。この読取処理は、例えば操作スイッチ４２に対する所定操作をトリガとして開始されるものであり、処理が開始されると、まず画像取得処理が行われる（Ｓ１）。この画像取得処理では、情報コードＣからの反射光を受光センサ２３にて受光し、受光センサ２３の各受光画素から出力される信号に基づく画像データをメモリ３５に記憶する。
なお、本実施形態では、メモリ３５及び制御回路４０が「生成手段」の一例に相当し、受光センサ２３の各受光画素からの信号に基づいて各受光画素に対応した画素データを取得し、情報コードＣの画像データを生成するように機能する。
【００３０】
Ｓ１の画像取得処理の後には、ラベリング処理が行われる（Ｓ２）。この処理は、Ｓ１で取得された画像データにおいてコード領域を抽出する処理であり、ここでは公知の手法でコード領域を抽出している。そして、その抽出されたコード領域に対して特徴検出処理が行われる（Ｓ３）。本実施形態では、情報コードのコード種別毎に、複数のセルによって構成される所定特徴部分が決められており、Ｓ３では、その所定特徴部分を検出するように処理が行われる。
【００３１】
具体的には、規定されたセル数、及び規定された形状で構成された部分が所定特徴部分として定められており、例えば、ＱＲコード、マキシコード、データマトリックスコードなどの二次元コードについては、各種別特有の位置検出パターンを所定特徴部分としている。また、一次元コードについても、規定されたセル数、及び規定された形状で構成された部分を所定特徴部分としており、例えばバーコードでは、データ内容にかかわらず明色バーと暗色バーとが決められた比率で配列される部分（例えばＣＯＤＥ３９のバーコードについては、スタートコード或いはストップコード）を所定特徴部分としている。Ｓ３の処理では、Ｓ２で特定されたコード領域において、各コード種別ごとに決められた所定特徴部分のいずれかを検出する。
【００３２】
その後、Ｓ１で得られた画像データに含まれる情報コードＣが二次元コードか否かを判断する（Ｓ４）。既に、Ｓ３の特徴検出処理で情報コードの所定特徴部分が検出されているため、この所定特徴部分により、得られた情報コードＣのコード種別が特定でき、この特定されたコード種別に基づいてＳ４の判断処理を行う。例えば、Ｓ３においてＱＲコード特有の位置検出パターンが所定特徴部分として検出されていれば、得られた情報コードは二次元コードであるから、Ｓ４にてＹｅｓに進む。或いは、Ｓ３においてＣＯＤＥ３９のスタートコードが所定特徴部分として検出されていれば、得られた情報コードは一次元コードであるからＳ４にてＮｏに進むこととなる。
なお、本実施形態では、制御回路４０が「特徴部分検出手段」の一例に相当する。
【００３３】
Ｓ１で得られた画像データに含まれる情報コードＣが二次元コードである場合には、Ｓ４にてＹｅｓに進み、Ｓ３にて検出された所定特徴部分に基づいて割当度合算出処理を行う（Ｓ５）。なお、本実施形態では、制御回路４０が「割当度合検出手段」の一例に相当しており、検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素データと、に基づいて、所定特徴部分の各セルに対する画素割当度合いを検出するように機能する。
【００３４】
Ｓ５の割当度合算出処理では、Ｓ３の特徴検出処理によって検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素データと、に基づいて、所定特徴部分によって特定されるコード種別に応じた画素割当度合を算出する。例えば、Ｓ１で取得された画像が図４（ａ）のようなＱＲコードの画像であり、Ｓ３で検出された所定特徴部分が図４（ｂ）のようなＱＲコードの位置検出パターンＦＰであった場合には、位置検出パターンＦＰの画像と、位置検出パターンＦＰを構成する複数の画素データと、に基づいて、位置検出パターンＦＰの１セルに対する画素割当度合いを検出する。
【００３５】
１セル当りの画素割当度合いの算出としては、まず、図４（ｂ）のように、特徴部分として検出された位置検出パターンＦＰにおいて特定の比率が得られる１の画素ラインを定め、そのラインにおける位置検出パターン領域の画素数を算出する。即ち、ＱＲコードでは、位置検出パターンＦＰの所定位置を横切るラインにおいて暗色領域と明色領域との比率が、１：１：３：１：１となるように規定されており、Ｓ５では、暗色領域と明色領域との比率が、１：１：３：１：１となるラインＬ１を特定すると共に、そのラインＬ１において位置検出パターンＦＰの両端位置Ｐ１、Ｐ２を特定し、その両端位置Ｐ１，Ｐ２の間に配される画素数Ｓｘを算出する。この画素数Ｓｘは、７セル分の画素数であるので、Ｓｘを７で割った値（即ちＳｘ／７）を１セル当りの画素数Ｘとして算出する。
【００３６】
そして、Ｓ５で得られた１セル当りの画素数Ｘが予め定められた閾値Ｘ２以下であるか否かを判断する（Ｓ６）。閾値Ｘ２は、画像拡大処理を行うか否かの基準となる閾値であり、１セル当りの画素数ＸがＸ２を超える場合には、割り当てられている画素数が十分であると判断できるため、Ｓ６にてＮｏに進み、画像拡大処理（補間処理）を行わずにＳ１２のデコード処理を行う。一方、１セル当りの画素数ＸがＸ２以下の場合には割り当てられている画素数が不十分であるとしてＳ６にてＹｅｓに進み、Ｓ７の二次元補間処理を行う。
【００３７】
上記のように、本実施形態では、撮像手段により撮像された情報コードＣが一次元コードであるか二次元コードであるかを判断した上で（Ｓ４）画像拡大処理を行っており、情報コードＣが二次元コードと判断された場合には、画像拡大処理として二次元の補間処理（具体的には二次元の線形補間処理（図３（ａ））が行われ、情報コードＣが一次元コードと判断された場合には、画像拡大処理として一次元の補間処理（具体的には一次元の線形補間処理（図３（ｂ））が行われるようになっている。
なお、本実施形態では制御回路４０が「判断手段」の一例に相当する。
【００３８】
Ｓ７の二次元補間処理は、例えば図３（ａ）のような流れで行われる。この処理では、まず、１セル当りの画素数Ｘが閾値Ｘ１以下か否かを判断する（Ｓ７１）。この閾値Ｘ１は、拡大率を決める上で基準となる閾値であり、１セル当りの画素数Ｘが閾値Ｘ１以下の場合にはＳ７１にてＹｅｓに進み、４倍の拡大率で二次元線形補間処理を行う。１セル当りの画素数Ｘが閾値Ｘ１を超える場合（即ち、Ｘ１＜Ｘ≦Ｘ２の場合）には、Ｓ７１にてＮｏに進み、２倍の拡大率で二次元線形補間処理を行うこととなる。二次元の線形補間処理は画像処理の分野では公知であり、当該二次元線形補間処理では、設定する倍率に応じた線形補間処理を行いうることも公知であるので詳細は省略するが、例えば、図６（ａ）のように、縦、横、斜めに隣接する原画素間の中間位置を補間位置と定め、図６（ｂ）〜（ｄ）のように、各補間位置について、周囲の４点の原画素を用いて線形補間により補間データを生成する例が挙げられる。
【００３９】
例えば、図６（ｂ）〜（ｄ）、図７は、２倍の拡大率の場合の二次元線形補間処理を概念的に説明するものであるが、図６（ｂ）では、ｎ２行、ｍ２列の原画素データ「１５０」と、ｎ２行、ｍ３列の原画素データ「５０」との中間位置を補間位置とし、この補間位置のデータ「１００」を、周囲の４点の原画素データ（ｎ１行、ｍ２列の原画素データ「１５０」、ｎ１行、ｍ３列の原画素データ「５０」、ｎ２行、ｍ２列の原画素データ「１５０」、ｎ２行、ｍ３列の原画素データ「５０」）によって線形補間により生成している。図６（ｃ）、（ｄ）も同様であり、図６（ｃ）では、ｎ１行、ｍ２列の原画素データ「１５０」と、ｎ２行、ｍ３列の原画素データ「５０」との中間位置を補間位置とし、この補間位置のデータ「１００」を、周囲の４点の原画素データ（ｎ１行、ｍ２列の原画素データ「１５０」、ｎ１行、ｍ３列の原画素データ「５０」、ｎ２行、ｍ２列の原画素データ「１５０」、ｎ２行、ｍ３列の原画素データ「５０」）によって線形補間により生成している。このような方法で、縦、横、斜めに隣接する画素間の中間位置に補間データを生成すると、１つの原画素の周囲に図７のような補間データが生成され、このような補間データが全ての原画素間で生成されることとなる。なお、４倍の拡大率については、各画素間に補間データを２つずつ生成する点、補間データの生成位置が２倍のときと若干異なる点（即ち、２倍のときのように原画素の中間位置に１つの補間データを生成するのではなく、例えば原画素間を３等分した位置に２つの補間データをそれぞれ生成する等）などの相違はあるものの、公知の二次元線形補間処理を用いて線形補間を行う点は同様である。
【００４０】
なお、本実施形態では、制御回路４０が「拡大処理手段」の一例に相当し、Ｓ１で生成された画像データに対して画像拡大処理（より詳しくは、所定特徴部分によって特定されるコード種別に応じた画像拡大処理）を行うように機能する。また、この「拡大処理手段」は、Ｓ７１〜Ｓ７３のように、検出された画素割当度合いに応じて拡大率を決定し、その決定された拡大率に基づいて画像データに対して画像拡大処理（Ｓ７２、Ｓ７３）を行うように機能している。
【００４１】
一方、図２のＳ４で二次元コードでないと判断される場合には、Ｓ４にてＮｏに進み、Ｓ１で得られた情報コードＣが一次元コードであるか否かを判断する。一次元コードと判断できない場合にはＳ８にてＮｏに進み、再びＳ１以降の処理を繰り返す。Ｓ８にて一次元コードと判断できる場合には、Ｓ８にてＹｅｓに進み、Ｓ３にて検出された所定特徴部分に基づいて割当度合算出処理を行う（Ｓ９）。Ｓ９の割当度合算出処理でも、Ｓ３の特徴検出処理によって検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素と、に基づいて、所定特徴部分によって特定されるコード種別に応じた画素割当度合を算出する。
【００４２】
具体的には、上述したように、明色バーと暗色バーとが所定の幅比率で並ぶ部分を所定特徴部分として検出しているため、幅比率と、所定特徴部分を構成する複数の画素データと、に基づいて、バーコードの単位幅に対する画素割当度合いを検出している。即ち、図５のようなバーコードについては、最小幅（単位幅）となる１モジュール分を１セルとしており、この１モジュールあたりの画素割当度合を以下のように算出している。
【００４３】
単位幅当りの画素割当度合いの算出としては、まず、図５（ｂ）のように、所定特徴部分として検出された領域を横切る画素のラインＬ２、及びそのラインＬ２において所定特徴部分の両端位置Ｐ１１、Ｐ１２を特定し、その両端位置Ｐ１１，Ｐ１２の間に配される画素数Ｓｙを算出する。例えば、ＣＯＤＥ３９の所定特徴部分は、暗色バーと明色バーとが１：２：１：１：２：１：２：１：１の比率で並ぶ部分であり、１２モジュール分（１２セル分）に相当している。従って、Ｐ１１とＰ１２との間の画素数Ｓｙを１２で割った値（即ちＳｙ／１２）を１セル当りの画素数Ｙとして算出する。なお、画素のラインＬ２の設定は、Ｓ１で得られた画像データ（即ち、画素データがマトリックス状に並ぶデータ）において、バーコードを横切る横方向の画素列を任意に抽出して用いてもよく、例えば、Ｓ２で抽出したコード領域において、バーの並び方向と平行な画素の列（即ち、各バーの長手方向と直交する画素の列）を抽出して用いてもよい。
【００４４】
そして、Ｓ９で得られた１セル当り（即ち、１モジュール当り）の画素数Ｙが予め定められた閾値Ｙ２以下であるか否かを判断する（Ｓ１０）。閾値Ｙ２は、画像拡大処理を行うか否かの基準となる閾値であり、１セル当りの画素数ＹがＹ２を超える場合には、割り当てられている画素数が十分であると判断できるため、Ｓ１０にてＮｏに進み、画像拡大処理（補間処理）を行わずにＳ１２のデコード処理を行う。一方、１セル当りの画素数ＹがＹ２以下の場合には割り当てられている画素数が不十分であるとしてＳ１０にてＹｅｓに進み、Ｓ１１の一次元補間処理を行う。
【００４５】
Ｓ１１の一次元補間処理は、例えば図３（ｂ）のような流れで行われる。この処理では、まず、１セル当りの画素数Ｙが閾値Ｙ１以下か否かを判断する（Ｓ１１１）。この閾値Ｙ１は、拡大率を決める上で基準となる閾値であり、１セル当り（１モジュール当り）の画素数Ｙが閾値Ｙ１以下の場合にはＳ１１１にてＹｅｓに進み、４倍の拡大率で一次元線形補間処理を行う。一方、１セル当りの画素数Ｙが閾値Ｙ１を超える場合（即ち、Ｙ１＜Ｙ≦Ｙ２の場合）には、Ｓ１１１にてＮｏに進み、２倍の拡大率で一次元線形補間処理を行うこととなる。このように、バーコードにおいても、割当度合算出処理（Ｓ９）にて算出された画素割当度合いに応じて拡大率を決定し、その決定された拡大率に基づいて画像データに対して画像拡大処理を行っている。
【００４６】
一次元の線形補間処理も画像処理の分野では公知であり、当該一次元線形補間処理では、倍率に応じた線形補間処理を行いうることも公知であるので詳細は省略するが、Ｓ１１２、Ｓ１１３ではこれを利用する。例えば、図８（ａ）のような原画像に対して、図８（ｂ）のように、左右に隣接する原画素間の中間位置を補間位置と定め、線形補間処理を行う。なお、図８（ｂ）では、２倍の拡大率の場合における一部の画素間の補間についてのみ示しているが、他の画素間も同様である。また、４倍の場合も、各画素間に２つの補間データを配置（例えば、２つの補間データが原画素間を三等分した位置にそれぞれ配置）という相違はあるものの、公知の一次元線形補間処理を用いて補間データを生成する点は２倍の場合と同様である。
【００４７】
本実施形態の構成によれば、例えば以下のような効果を奏する。
本実施形態の情報コードリーダ２０は、画像データのコード領域に配され且つ複数のセルによって構成される所定特徴部分を検出し、その検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素データと、に基づいて、所定特徴部分の各セルに対する画素割当度合いを検出している。この構成によれば、各セルに対して画素がどの程度割り当てられているかを、所定特徴部分の解析によって迅速且つ適切に把握できるようになる。
更に、検出された画素割当度合いに応じて拡大率を決定し、その決定された拡大率に基づいて画像データに対して画像拡大処理を行っている。このようにすると、妥当な拡大率を得るために試行錯誤的に処理を繰り返す必要がなくなり、画素割当度合いに応じた適切な拡大率を迅速に取得でき、ひいては、画像拡大処理や解読処理を効率的且つ良好に行うことができるようになる。
【００４８】
また、規定されたセル数、及び規定された形状で構成された部分が所定特徴部分とされており、且つ情報コードのコード種別毎に所定特徴部分が決められている。情報コードは、規定されたセル数、及び規定された形状で構成された部分を備えているが、この部分を所定特徴部分として利用すれば、各セルに対して画素がどの程度割り当てられているかを、複雑な処理を用いることなく精度高く算出できるようになる。更に、所定特徴部分によって特定されるコード種別に応じた画素割当度合算出処理を行い、特定されるコード種別に応じた画像拡大処理を行うようにしているため、各コード種別に適した方法でそれぞれ画素割当度合を算出でき、各コード種別についてそれぞれ最適な拡大処理を行うことができる。
【００４９】
また、画像拡大処理として、線形補間法を用いた拡大処理を行うようにしている。このように線形補間法を用いると、処理時間の短縮化を図りつつ拡大処理後の画質を比較的良好なものとすることができる。
【００５０】
また、撮像手段により撮像された情報コードが一次元コードであるか二次元コードであるかを判断し、一次元コードと判断された場合、画像拡大処理として一次元の線形補間処理を行い、情報コードが二次元コードと判断された場合には、二次元の線形補間処理を行うようにしている。このようにすることで、一次元コード、二次元コードそれぞれについて、必要なレベルで適切な補間処理を行うことができ、拡大処理の効率化を図ることができる。
【００５１】
また、図５のように情報コードがバーコードである場合に、明色バーと暗色バーとが所定の幅比率で並ぶ部分を所定特徴部分として検出している。このようにすると、バーコードが読み取り対象である場合に、所定特徴部分を幅比率に基づいて簡易且つ迅速に検出できる。さらに、その幅比率と、所定特徴部分を構成する複数の画素データと、に基づいて、バーコードの単位幅に対する画素割当度合いを検出している。このようにすると、得られたバーコード画像についての画素割当度合いを、簡易に、かつ精度高く把握できる。
【００５２】
また、図４のように情報コードがＱＲコードである場合、当該ＱＲコードの位置検出パターンを所定特徴部分として検出し、位置検出パターンの画像と、位置検出パターンを構成する複数の画素データと、に基づいて、位置検出パターンの１セルに対する画素割当度合いを検出している。このようにすると、ＱＲコードの各セルに対する画素割当度合いを、簡易に、かつ精度高く把握できる。特に、位置検出パターンは、ＱＲコードの読み取りの際に早期に検出される部分であり、ＱＲコードの位置を把握する上で必須の部分であるため、このような位置検出バターンの検出を画素割当度合いの把握に兼用すれば、各セルに対する画素割当度合いを極めて迅速に、かつ効率的に検出できるようになり、ひいては、画像拡大処理、デコード処理の迅速化を図ることができる。
【００５３】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではない。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明の第１実施形態に係る情報コードリーダの電気的構成を概略的に例示するブロック図である。
【図２】図２は、図１の情報コードリーダで行われる読取処理を例示するフローチャートである。
【図３】図３（ａ）は、図２の読取処理における二次元補間処理を例示するフローチャートであり、図３（ｂ）は、図２の読取処理における一次元補間処理を例示するフローチャートである。
【図４】図４（ａ）は、ＱＲコードの画像データ例を示す説明図であり、図４（ｂ）は、ＱＲコードにおける所定特徴部分を例示する説明図である。
【図５】図５（ａ）は、バーコードの画像データ例を示す説明図であり、図５（ｂ）は、バーコードにおける所定特徴部分を例示する説明図である。
【図６】図６は、二次元線形補間法を用いて補間データを生成する例について説明する説明図である。
【図７】図７は、二次元線形補間により補間データを生成する説明図であり、特定の原画素の周囲の補間データ生成例を説明する図である。
【図８】図８は、一次元線形補間により補間データを生成する説明図である。
【符号の説明】
【００５６】
２０…情報コードリーダ（光学的情報読取装置）
２３…受光センサ（撮像手段）
２７…結像レンズ（結像手段）
４０…制御回路（生成手段、拡大処理手段、特徴部分検出手段、割当度合検出手段）
【図１】
0005104557.tif 000002
【図２】
0005104557.tif 000003
【図３】
0005104557.tif 000004
【図４】
0005104557.tif 000005
【図５】
0005104557.tif 000006
【図６】
0005104557.tif 000007
【図７】
0005104557.tif 000008
【図８】
0005104557.tif 000009