情報コード読取装置及び輝度信号生成方法
【課題】カラーエリアセンサを用いてバーコードを読み取る場合における感度の低下を防止することができる情報コード読取装置を提供する。
【解決手段】携帯電話機を構成するマイコンに内蔵される画像データ処理部は、読取り対象とする情報コードがバーコードである場合は(ステップS2)、そのバーコードの読取り状態における配置方向を判別し(ステップS5)、「縦向き」又は「横向き」と判別される場合は(ステップS6)カメラを構成する画素の内、緑色に対応するG画素より得られる受光データに基づきバーコード読取り用の輝度信号Yを生成する(ステップS7)。
【解決手段】携帯電話機を構成するマイコンに内蔵される画像データ処理部は、読取り対象とする情報コードがバーコードである場合は(ステップS2)、そのバーコードの読取り状態における配置方向を判別し(ステップS5)、「縦向き」又は「横向き」と判別される場合は(ステップS6)カメラを構成する画素の内、緑色に対応するG画素より得られる受光データに基づきバーコード読取り用の輝度信号Yを生成する(ステップS7)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るように構成される情報コード読取装置及び情報コードを光学的に読取るための輝度信号生成方法に関する。
【背景技術】
【0002】
従来、バーコードや例えばQRコード(登録商標)などの2次元コードのような情報コードを読取る装置(コードリーダ)は、紙や商品などに印刷された情報コードにLEDやレーザなどの光源より光を照射して、情報コードに反射した光を受光することでモノクロのコードパターンを読取るようになっている。そして、近年、2次元コードの普及が進んだ結果、バーコードと2次元コードとが混在している形態の市場が広がったことから、コードリーダが備える受光センサはリニアセンサからエリアセンサに変わりつつある。
また、カメラ付き携帯電話機の普及により、エリアセンサについてもモノクロセンサよりカラーセンサの方が入手し易くなっている状況があり、その結果、カラーエリアセンサによってバーコードを読取るようなケースも出てきている。
【0003】
一般に、RGB3原色のカラーデータに基づいてモノクロ画像を得るためには、輝度信号Yを生成する。輝度信号Yは、NTSC(National Television System Committee)の規格によれば(1)式に基づいて生成される(例えば、特許文献1参照)。
Y=0.299R+0.587G+0.1144B ・・・(1)
図13は、カラーエリアセンサとして極一般的に使用されているベイヤー配列型のエリアセンサにおける、画素(受光素子)の配列状態を示す。この場合、例えば9個の画素が配列されている「3×3」のエリアについて、その中央位置の輝度信号Yを決定するものとする。すると、エリアの中央に位置する画素がG(グリーン),R(レッド),B(ブルー)となる3つのパターンがある。
(1)式におけるR,G,Bを、下記(1)’式のようにR’,G’,B’に置き換える。
Y=0.299R’+0.587G’+0.1144B’ ・・・(1)’
<中央画素がGの場合>
そして、図14(a)に示すように中央画素がGの場合、R’,G’,B’は以下のように決定される。
R’=(R1+R2)/2,G’=G3,B’=(B1+B2)/2 ・・・(2)
<中央画素がRの場合>
図14(b)に示すように中央画素がRの場合、R’,G’,B’は以下のように決定される。
R’=R,G’=(G1+G2+G3+G4)/4,
B’=(B1+B2+B3+B4)/4 ・・・(3)
<中央画素がBの場合>
図14(c)に示すように中央画素がBの場合、R’,G’,B’は以下のように決定される。
R’=(R1+R2+R3+R4)/4,G’=(G1+G2+G3+G4)/4,
B’=B ・・・(4)
そして、これらを(1)’式に代入することで輝度信号Yが得られる。
【特許文献1】特開平11−313336号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところが、上記のように輝度信号Yを生成してバーコードを読取ろうとした場合には、以下のような不都合が生じる場合が想定される。即ち、図15に示すように、9個の画素が配列されているエリアにおいて、例えば中央の第2列にバーコードシンボルの「スペース」がかかり、第1,第3列に「バー」がかかっている場合を想定する。
この時、エリアの中央に位置する画素はRとなっており、(1)’式に代入するR,G,Bは、(3)式と同様以下のようになる。
R=R,G=(G1+G2+G3+G4)/4,
B=(B1+B2+B3+B4)/4
ここで、(1)’式においては、Gの係数が「0.587」と比較的大きいため、G画素より得られる受光データが輝度信号Yの生成結果に与える影響が大きい。つまり、第2列は本来「スペース」であるから、輝度信号Yは完全な白レベルであることが望ましい(図15中に破線で示す)。しかしながら、図15のケースでは、「バー」がかかっているG2,G4より得られる画像データが第2列中央のR位置における輝度信号Yに大きく影響を与える結果、当該輝度信号Yの白レベル振幅が小さくなり、コードリーダの読取り感度が低下してしまうという問題がある。
【0005】
本発明は上記事情に鑑みてなされたものであり、その目的は、カラーエリアセンサを用いてバーコードを読み取る場合における感度の低下を防止することができる情報コード読取装置、及び輝度信号生成方法を提供することにある。
【課題を解決するための手段】
【0006】
請求項1記載の情報コード読取装置によれば、読取り対象とする情報コードがバーコードである場合は、カラーエリアセンサを構成する画素の内、何れか1つの色に対応する画素より得られる受光データに基づいてバーコード読取り用の輝度信号を生成する。即ち、バーコードシンボルの「バー」及び「スペース」は直線をなしているので、一方向にしか情報を持たない。そのため、1つのシンボルを読取るための輝度信号を生成するのに当たってその両隣に位置する画素より得られるデータには、余分な情報が含まれることでノイズとなってしまう可能性が高い(つまり「バー」の「黒」に対する「スペース」の白,またその逆の関係)。従って、何れか1つの色に対応する画素より得られる受光データに基づき輝度信号を生成すれば、ノイズとなる情報を排除してバーコードの読取り感度を向上させることができる。
【0007】
請求項2記載の情報コード読取装置によれば、輝度信号生成手段は、バーコードの読取り状態における傾きを判定し、そのバーコードが「横向き」(つまり、シンボルの配列方向が、カラーエリアセンサの配列横軸と略一致する向き)と判定される場合に、何れか1つの色に対応する画素より得られる受光データに基づいて輝度信号を生成する。そして、それ以外の場合は、一般的な手法と同様に、RGBの各色に対応する画素より得られる受光データに基づいて輝度信号を生成する。即ち、通常はバーコードが「横向き」になっている状態で読み取りが行われるが、必ずしもそうであるとは限らない。そこで、バーコードが「横向き」と判定される場合にだけ本発明の手法を適用し、それ以外の場合は、一般的な手法で輝度信号を生成する。従って、バーコードを正確に読取る確率を向上させることができる。
【0008】
請求項3記載の情報コード読取装置によれば、輝度信号生成手段は、バーコードが「縦向き」(つまり、シンボルの配列方向が、カラーエリアセンサの配列縦軸と略一致する向き)と判定される場合も、「横向き」と判定される場合と同様に当該バーコード読取り用の輝度信号を生成する。即ち、バーコードが「縦向き」である場合は、位置関係が「横向き」の場合と90度異なるだけであるから、同様に本発明の手法を適用すれば、バーコードの読み取りを良好に行うことができる。
【0009】
請求項4記載の情報コード読取装置によれば、輝度信号生成手段は、輝度信号の生成位置に生成対象画素が存在する場合は、その画素より得られる受光データに基づいて輝度信号を生成し、生成対象画素が存在しない場合は、バーコードの向きと直交する配列方向において、生成位置に最も近い生成対象画素より得られる受光データに基づいて輝度信号を生成する。
即ち、輝度信号は、カラーエリアセンサの受光面内における座標点について夫々生成されるが、生成対象画素を何れか1つの色にすれば、その色の画素が生成位置に存在しない場合がある。しかし、バーコードシンボルである「バー」,「スペース」は、バーコードの向きと直交する方向に沿って延びているので、当該方向において生成位置に最も近い生成対象画素より得られる受光データから輝度信号を生成しても、バーコードを正確に読取ることが可能である。
【0010】
請求項5記載の情報コード読取装置によれば、輝度信号生成手段は、輝度信号を生成する位置に生成対象画素が存在しない場合には、バーコードの向きと直交する配列方向において、前記生成位置に近い複数の生成対象画素より得られる受光データに基づいて輝度信号を生成する。即ち、バーコードに汚れなどが付着したり、バーコードの一部が破れてしまう場合なども想定されるので、斯様に構成すれば輝度信号の精度をより高めることができる。
【0011】
請求項6記載の情報コード読取装置によれば、輝度信号生成手段は、複数の生成対象画素より得られる受光データに基づいて補間処理を行なうことで輝度信号を生成するので、生成位置における輝度をより高い確度で推定することができる。
請求項7記載の情報コード読取装置によれば、輝度信号生成手段は、複数の生成対象画素より得られる受光データに基づいて合成処理を行なうことで輝度信号を生成するので、より高いレベルの信号を得ることができる。
【0012】
請求項8記載の情報コード読取装置によれば、カラーエリアセンサがベイヤー配列型で構成される場合に、輝度信号生成手段は、輝度信号を生成する場合に使用する画素を、緑色(G)に対応する画素とする。即ち、ベイヤー配列型のカラーエリアセンサは緑色に対応する画素が最も多くなるように配列されているので、緑色の画素を選択すれば当該画素が生成位置に存在する確率が高くなる。従って、バーコードの読み取りをより有利に行うことができる。
【0013】
請求項9記載の情報コード読取装置によれば、情報コードがバーコードである場合、輝度信号生成手段は、カラーエリアセンサを構成する画素の内、バーコードの向きと直交する方向に配列されている画素より得られる受光データを複数加算することで、バーコード読取り用の輝度信号を生成する。即ち、バーが伸びている方向に並ぶ画素の受光データを加算すれば、読取り用輝度信号のSN比が向上するので、読取り感度を向上させることができる。
【0014】
請求項10記載の情報コード読取装置によれば、輝度信号生成手段は、前記方向に配列されている画素より得られる受光データを偶数列に亘って加算する。従って、カラーエリアセンサが備えているRGB各色について加算される画素数が等しくなるようにして、読み取りを正確に行うことができる。
【0015】
請求項11記載の情報コード読取装置によれば、輝度信号生成手段は、受光データの加算結果データのビット数が一定となるように除算する。即ち、受光データを複数加算すれば加算結果データのビット数は増加して行くが、その結果、LSB側のデータは、比較的信頼性が低くなる。従って、加算結果を除算してそのデータビット数を一定にすれば、加算結果を評価するための構成を簡単にすると共に、比較的信頼性が高いデータ部分を用いて評価を高い精度で行うことができる。
【0016】
請求項12記載の情報コード読取装置によれば、輝度信号生成手段は、バーコードの読取り状態における傾きを判定し、その判定結果に応じて輝度信号の生成対象とする画素を選択する。斯様に構成すれば、バーコードの読み取りを行う場合、その読取り方向をユーザに対して規定しておく必要がなくなるので利便性が向上する。
【0017】
請求項13記載の情報コード読取装置によれば、カラーエリアセンサがベイヤー配列型で構成される場合、輝度信号生成手段は、輝度信号を生成する場合に、緑色(G)に対応する画素より得られる受光データのみを加算する。従って、請求項8と同様に、バーコードの読み取りをより有利に行うことができる。
【発明を実施するための最良の形態】
【0018】
(第1実施例)
以下、本発明をカメラ付き携帯電話機に適用した場合の第1実施例について図1乃至図8を参照して説明する。図7は、携帯電話機1の外観を示す正面図であり、図8は、携帯電話機(情報コード読取り装置)1の電気的構成を示す機能ブロック図である。
携帯電話機1は、電話回路2、マイクロコンピュータ(マイコン)3、マイクロホン4、スピーカ5、ディスプレイ6、キーパッド7、LED8、サウンダ9およびカメラ(カラーエリアセンサ)10から構成されている。尚、カメラ10は、例えばCCDやCMOSイメージセンサなどをRGBの三原色の受光に対応する画素として使用したベイヤー配列型のエリアセンサとして構成されており、図7においては、携帯電話機1の背面側に配置されている(図示せず)。
マイコン3には、フラッシュメモリ11および画像データ処理部(輝度信号生成手段)12が内蔵されている。また、マイコン3は、ソフトウェア処理により、バーコードや2次元コードのデコーダ機能を実現している。フラッシュメモリ11には、電話機としての基本制御プログラムおよび情報コードリーダとしてのアプリケーションプログラムが記憶されている。
【0019】
図1は、携帯電話機1のカメラ10で情報コードを撮像して読取る場合の処理を、概略的なフローチャートで表したものである。先ず、カメラ10で情報コードを撮像する(ステップS1)。尚、以降の処理は、主にマイコン3に内蔵される画像データ処理部12によるハードウエアロジックで行なわれる。
画像データ処理部12は、得られた画像データに基づいて、先ず情報コードの種類を判別する(「モード確認」,ステップS2)。情報コードがQRコードのような2次元コードである場合は、従来技術と同様にして(1)’〜(4)式に従い輝度信号Yを求める(「通常色補間」,ステップS3)。そして、カメラ10の撮像エリア内の各座標点について輝度信号Yを得ると、2次元コードをデコード処理し(ステップS4)、デコード結果が正常に得られれば(「OK」)処理を終了する。また、デコード結果が正常に得らない場合は(「NG」)ステップS1に戻り、情報コードの撮像を再試行する。
【0020】
一方、ステップS2において、情報コードがバーコードであると判別すると、そのバーコードを読み取った状態における配置方向が、「横向き」,「縦向き」,それ以外の「斜め向き」の何れに該当するかを判別する(ステップS5)。ここで、「横向き」とは、図3に示すように、カメラ10の撮像エリアにおける横軸とバーコードシンボルの配列方向とが略一致している状態であり、「縦向き」とは、図5に示すように、カメラ10の撮像エリアにおける縦軸とバーコードシンボルの配列方向とが略一致している状態である。そして、「斜め向き」とは、図2に示すように、バーコードシンボルの配列方向が、横軸若しくは縦軸に対して相当程度(典型的には45度)傾いている状態であり、「横向き」,「縦向き」の何れにも判別されない場合である。
【0021】
ステップS6において、画像データ処理部12がバーコードの方向を「斜め向き」と判断すると(「NO」)、ステップS3に移行して従来技術と同様に輝度信号Yを求める。即ち、この場合、バーコードのシンボルがカメラ10の画素配列に対して斜めにかかるので、結果として情報を2次元的に持つことになる。従って、従来と同様の手法で輝度信号Yを決定するのが妥当だからである。
そして、ステップS6において、画像データ処理部12がバーコードの方向を「横向き」又は「縦向き」と判断すると(「YES」)、本発明独特の手法によって輝度信号Yを求める(「輝度抽出処理」,ステップS7)。
【0022】
<バーコードが「横向き」の場合>
先ず、図3に示す「横向き」の場合について説明する。尚、一般にバーコードを読取る場合は、斯様な「横向き」の場合が極めて多い(バーコードの貼付状態が「横向き」であることが多いため)。図4(a)は、カメラ10におけるRGB画素の配列状態(ベイヤー配列)を示す。ベイヤー配列は、横方向についてみると、ある列の画素配列がRGRGRG・・・であるとすると、その列の上下は、GBGBGB・・・という配列になっており、G(緑色)に対応する画素数が最も多くなっている。
斯様な画素配列に対して、図4(b)に示すように、輝度信号Yを求める位置(9個の画素よりなるエリアの中央,生成位置)にG(グリーン)画素が存在する場合は、G’=G3として、輝度信号Yを、
Y=G’=G3 ・・・(5)
として求める。
【0023】
また、図4(c)に示すように、輝度信号Yを求める位置にR(レッド)画素が存在する場合は、そのR画素の上下に位置するG1,G3画素を使用し、G’=(G1+G3)/2として、輝度信号Yを,
Y=G’=(G1+G3)/2 ・・・(6)
として求める。
また、図4(c)においては、中央の第2列にバーコードシンボルの「スペース」がかかり、その両隣の第1,第3列に「バー」がかかった場合に求められる輝度信号Yに基づき、得られる白レベル振幅波形を示している。即ち、従来の図12の場合に比較して、第1,第3列におけるG2,G4が第2列の輝度を決定するのに排除された結果、白レベル振幅がより大きくなっている。
【0024】
そして、図4(d)に示すように、輝度信号Yを求める位置にB(ブルー)画素が存在する場合も、図4(c)のケースと同様に、そのB画素の上下に位置するG1,G3画素を使用し、G’=(G1+G3)/2として、輝度信号Yを,
Y=G’=(G1+G3)/2 ・・・(7)
として求める。即ち、何れの場合もG画素(生成対象画素)のみを使用して輝度信号Yを決定する。
【0025】
<バーコードが「縦向き」の場合>
次に、図5に示す「横向き」の場合について説明する。図6(a)に示すように、輝度信号Yを求める位置にG画素が存在する場合は、横向きの場合と全く同様に、その画素G3だけにより(5)式に基づいて輝度信号Yを決定する。
【0026】
また、図6(b)に示すように、輝度信号Yを求める位置にR(レッド)画素が存在する場合は、そのR画素の左右に位置するG2,G4画素を使用し、G’=(G2+G4)/2として、輝度信号Yを,
Y=G’=(G2+G4)/2 ・・・(8)
として求める。
また、図6(b)においては、中央の第2行にバーコードシンボルの「スペース」がかかり、その両隣(図6(b)中では上下)の第1,第3行に「バー」がかかった場合に求められる輝度信号Yに基づき、得られる白レベル振幅波形を示している。この場合も、第1,第3行におけるG1,G3が第2行の輝度を決定するのに排除されているので、白レベル振幅がより大きくなっている。
【0027】
そして、図6(c)に示すように、輝度信号Yを求める位置にB(ブルー)画素が存在する場合も、図6(b)のケースと同様に、そのB画素の左右に位置するG2,G4画素を使用し、G’=(G2+G4)/2として、輝度信号Yを,
Y=G’=(G2+G4)/2 ・・・(9)
として求める。
【0028】
以上のように本実施例によれば、携帯電話機1を構成するマイコン3に内蔵される画像データ処理部12は、読取り対象とする情報コードがバーコードである場合は、カメラ10を構成する画素の内、緑色に対応するG画素より得られる受光データに基づいてバーコード読取り用の輝度信号Yを生成するようにした。
即ち、バーコードシンボルの「バー」及び「スペース」は直線をなしてバーコードの配置に直交する一方向にしか情報を持たないので、1つのシンボルを読取るための輝度信号Yを生成する場合、その両隣に位置する画素より得られるデータは余分な情報が含まれることでノイズとなる可能性が高い。従って、1つの色に対応する画素より得られる受光データに基づき輝度信号Yを生成することで、ノイズとなる情報を排除してバーコードの読取り感度を向上させることができる。そして、カメラ10がベイヤー配列型で構成されているので、最も多くなるように配列されているG画素を生成対象画素とすれば当該画素が生成位置に存在する確率が高くなり、バーコードの読み取りをより有利に、感度良く行うことができる。
【0029】
また、画像データ処理部12は、バーコードの読取り状態における傾きを判定し、そのバーコードが「横向き」又は「縦向き」と判定される場合にG画素より得られる受光データに基づいて輝度信号を生成し、それ以外の場合は、一般的な手法と同様にRGBの各色に対応する画素より得られる受光データに基づいて輝度信号を生成するので、実際のバーコードの読取り状態に応じて、バーコードを正確に読取る確率を向上させることができる。
【0030】
更に、画像データ処理部12は、輝度信号の生成位置にG画素が存在する場合は、そのG画素より得られる受光データに基づいて輝度信号を生成し、G画素が存在しない場合は、バーコードの向きと直交する配列方向において、生成位置に最も近い2つのG画素より得られる受光データに基づいて輝度信号を生成する。即ち、バーコードシンボルである「バー」,「スペース」は、バーコードの向きと直交する方向に沿って延びているので、当該方向において生成位置に最も近いG画素より得られる受光データから輝度信号を生成しても、バーコードを正確に読取ることが可能である。そして、生成位置にG画素が存在しない場合は、最も近い2つのG画素より得られる受光データに基づき補間処理を行なうことで輝度信号を生成するので、生成位置における輝度をより高い確度で推定することができる。
【0031】
(第2実施例)
図9は、本発明の第2実施例を示すものであり、第1実施例と異なる部分についてのみ説明する。第2実施例の基本的構成は第1実施例と同様である。そして、第2実施例では、G画素が存在しない位置について輝度信号Yを生成する場合に、その生成位置に近い2つのG画素より得られる受光データに基づき合成処理を行なって輝度信号Yを生成する。
【0032】
即ち、図9に示すように、ベイヤー配列の4×4の領域について、バーコードが「横向き」である場合に、行方向における2つの画素の間を生成位置とする輝度Y1C〜Y4Cを、前記生成位置の近くに存在する2つのG画素より得られる受光データの和によって決定する。
B1,G5間→Y1C=G1+G5
G3,R3間→Y2C=G3+G7
B2,G6間→Y3C=G2+G6
G4,R4間→Y4C=G4+G8
【0033】
また、バーコードが「縦向き」である場合に、列方向における2つの画素の間を生成位置とする輝度Y1L〜Y4Lも、前記生成位置の近くに存在する2つのG画素より得られる受光データの和によって決定する。
R1,G2間→Y1L=G1+G2
G3,B2間→Y2L=G3+G4
R3,G6間→Y3L=G5+G6
G7,B4間→Y4L=G7+G8
以上のように第2実施例によれば、画像データ処理部12は、輝度信号Yの生成位置にG画素が存在しない場合は、前記生成位置の近くに存在する2つの生成対象画素より得られる受光データに基づいて合成処理を行なうことで輝度信号Yを生成するので、より高いレベルの信号を得て感度を向上させることができる。
【0034】
(第3実施例)
図10乃至図12は本発明の第3実施例を示すものであり、以下異なる部分についてのみ説明する。図10は、第1実施例の図1相当図である。第3実施例では、ステップS2において情報コードがバーコードであり、その配置方向が「横向き」,「縦向き」の何れかであった場合には(ステップS6,「YES」)、例えば図11(a)に示すように加算処理を行なって輝度信号を得る(ステップS11)。
【0035】
例えばバーコードの配置方向が「横向き」であるとすると、4×3のベイヤー配列の領域について輝度信号Y1〜Y3を得る場合は、以下のように求める。
Y1=R11+G12+R13+G14+G21+B22+G23+B24
Y2=G21+B22+G23+B24+R31+G32+R33+G34
Y3=R31+G32+R33+G34+G41+B42+G43+B44
即ち、バーコードのバーが伸びる方向(配置方向と直行する方向)に並ぶ画素より得られる受光データを隣り合う2列について加算するもので、そのように加算を行うことで、バー,スペースに応じて得られる信号レベルをより高めることができる。また、隣り合う2列について加算を行うことで、Y1〜Y3におけるR,G,Bの各画素数が等しくなる。上記の場合、R=2,G=4,B=2となっている。
【0036】
そして、上記のように加算を行うとデータのビット数は増加するが、下位側のデータは比較的信頼性が低いノイズ的なデータとなる。そのような下位側のデータまで考慮して加算結果を評価する必要性は低い。従って、続くステップS12では、冗長なデコードを行なうことを回避するため除算(ビットシフト)処理を行ない、加算結果データを所定のビット数(例えば8ビット)に制限する。尚、図12にはその一例を示す。それからステップS4に移行して、デコード及びその結果判定を行う。
【0037】
また、ステップS11における加算処理は、図11(b)に示すように行っても良い。
Y1=G12+G13+G16
Y2=G21+G23+G25
Y3=G32+G34+G36
即ち、最も感度が高いG画素より得られる受光データだけを、バーが伸びる方向について1列だけ加算する。つまり、第1実施例において述べたように、カメラ10がベイヤー配列型で構成されているため、バーコードの読み取りをより有利に、感度良く行うことができる。
【0038】
以上のように第3実施例によれば、画像データ処理部12は、カメラ10を構成する画素の内、バーコードの向きと直交する方向に配列されている画素より得られる受光データを複数加算することで、バーコード読取り用の輝度信号を生成するので、読取り用輝度信号のSN比を向上させて読取り感度を向上させることができる。その際に、前記方向に配列されている画素より得られる受光データを2列に亘って加算するので、カメラ10が備えているRGB各色について加算される画素数が等しくなり、読み取りを正確に行うことができる。
更に、画像データ処理部12は、受光データの加算結果データのビット数が一定となるように除算するので、加算結果を評価するための構成を簡単にすると共に、比較的信頼性が高いデータ部分を用いて評価を高い精度で行うことができる。
【0039】
加えて、画像データ処理部12は、バーコードの読取り状態における傾きを判定し、その判定結果に応じて輝度信号の生成対象とする画素を選択するので、バーコードの読み取りを行う場合、その読取り方向をユーザに対して規定しておく必要がなくなるため、利便性が向上する。
また、カラーエリアセンサは、リニアセンサに比較して感度が低いため、暗い場所での読取りが困難であり、例えば、倉庫の内部においてダンボールなどに印刷されたITF(Interleaved Two of Five)などのバーコードを読取る場合などには、その困難さが顕著となる。これに対して、第3実施例の読取り方式によれば、SN比を向上させることができ、バーコードのデコードを容易に行うことができる。
【0040】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
必ずしも、バーコードの読取り状態を判別し、「横向き」又は「縦向き」である場合に本発明を適用するものに限らない。少なくとも「縦向き」と判別された場合にだけ適用しても良い。また、前述したように、バーコードは通常「横向き」で読取られることが多いため、読み取り対象がバーコードである場合は無条件に本発明の手法を適用し、読み取りに失敗した場合はエラー処理を行ない、ユーザに再試行を促すようにしても良い。
第3実施例において、加算を行う列を複数とする場合は、4列以上の偶数列について加算を行うようにしても良い。
また、第3実施例のステップS12における除算処理は、加算結果のデータビット数を制限する必要がある場合に行えば良い。
【0041】
カラーエリアセンサは、必ずしもベイヤー配列型に限ることなく、例えば、RGBの各色画素数が均等となるように配列されているものであっても良い。従って、生成対象画素もG画素に限らず、R,B画素を使用しても良い。
処理速度に問題がない場合は、輝度信号生成手段をソフトウエア処理によって実現しても良い。
携帯電話機に限ることなく、カラーエリアセンサを備えたバーコードハンディターミナルに適用しても良い。
【図面の簡単な説明】
【0042】
【図1】本発明を携帯電話機に適用した場合の第1実施例であり、カメラで情報コードを撮像して読取る場合の処理を概略的に示すフローチャート
【図2】バーコードの読取り状態が「斜め向き」である場合を示す図
【図3】バーコードの読取り状態が「横向き」である場合を示す図
【図4】(a)は、カメラにおけるRGB画素の配列状態、(b)は9個の画素エリアの中央がG画素の場合、(c)は同R画素の場合、(d)は同B画素の場合を示す図
【図5】バーコードの読取り状態が「縦向き」である場合を示す図
【図6】(a)〜(c)は図4(b)〜(d)相当図
【図7】携帯電話機の外観を示す正面図
【図8】携帯電話機の電気的構成を示す機能ブロック図
【図9】本発明の第2実施例を示すもので、カメラの画素配列を4×4のエリアについて示す図
【図10】本発明の第3実施例を示す図1相当図
【図11】(a),(b)は、夫々加算対象として選択するカメラの画素を示す図
【図12】加算結果データの除算処理について説明する図
【図13】従来技術について、カラーエリアセンサの画素配列状態を示す図
【図14】図4(b)〜(d)相当図
【図15】9個の画素配列エリアにおいて、中央の第2列にバーコードシンボルの「スペース」がかかり、第1,第3列に「バー」がかかっている場合を示す図
【符号の説明】
【0043】
図面中、1は携帯電話機(情報コード読取り装置)、10はカメラ(カラーエリアセンサ)、12は画像データ処理部(輝度信号生成手段)を示す。
【技術分野】
【0001】
本発明は、RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るように構成される情報コード読取装置及び情報コードを光学的に読取るための輝度信号生成方法に関する。
【背景技術】
【0002】
従来、バーコードや例えばQRコード(登録商標)などの2次元コードのような情報コードを読取る装置(コードリーダ)は、紙や商品などに印刷された情報コードにLEDやレーザなどの光源より光を照射して、情報コードに反射した光を受光することでモノクロのコードパターンを読取るようになっている。そして、近年、2次元コードの普及が進んだ結果、バーコードと2次元コードとが混在している形態の市場が広がったことから、コードリーダが備える受光センサはリニアセンサからエリアセンサに変わりつつある。
また、カメラ付き携帯電話機の普及により、エリアセンサについてもモノクロセンサよりカラーセンサの方が入手し易くなっている状況があり、その結果、カラーエリアセンサによってバーコードを読取るようなケースも出てきている。
【0003】
一般に、RGB3原色のカラーデータに基づいてモノクロ画像を得るためには、輝度信号Yを生成する。輝度信号Yは、NTSC(National Television System Committee)の規格によれば(1)式に基づいて生成される(例えば、特許文献1参照)。
Y=0.299R+0.587G+0.1144B ・・・(1)
図13は、カラーエリアセンサとして極一般的に使用されているベイヤー配列型のエリアセンサにおける、画素(受光素子)の配列状態を示す。この場合、例えば9個の画素が配列されている「3×3」のエリアについて、その中央位置の輝度信号Yを決定するものとする。すると、エリアの中央に位置する画素がG(グリーン),R(レッド),B(ブルー)となる3つのパターンがある。
(1)式におけるR,G,Bを、下記(1)’式のようにR’,G’,B’に置き換える。
Y=0.299R’+0.587G’+0.1144B’ ・・・(1)’
<中央画素がGの場合>
そして、図14(a)に示すように中央画素がGの場合、R’,G’,B’は以下のように決定される。
R’=(R1+R2)/2,G’=G3,B’=(B1+B2)/2 ・・・(2)
<中央画素がRの場合>
図14(b)に示すように中央画素がRの場合、R’,G’,B’は以下のように決定される。
R’=R,G’=(G1+G2+G3+G4)/4,
B’=(B1+B2+B3+B4)/4 ・・・(3)
<中央画素がBの場合>
図14(c)に示すように中央画素がBの場合、R’,G’,B’は以下のように決定される。
R’=(R1+R2+R3+R4)/4,G’=(G1+G2+G3+G4)/4,
B’=B ・・・(4)
そして、これらを(1)’式に代入することで輝度信号Yが得られる。
【特許文献1】特開平11−313336号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところが、上記のように輝度信号Yを生成してバーコードを読取ろうとした場合には、以下のような不都合が生じる場合が想定される。即ち、図15に示すように、9個の画素が配列されているエリアにおいて、例えば中央の第2列にバーコードシンボルの「スペース」がかかり、第1,第3列に「バー」がかかっている場合を想定する。
この時、エリアの中央に位置する画素はRとなっており、(1)’式に代入するR,G,Bは、(3)式と同様以下のようになる。
R=R,G=(G1+G2+G3+G4)/4,
B=(B1+B2+B3+B4)/4
ここで、(1)’式においては、Gの係数が「0.587」と比較的大きいため、G画素より得られる受光データが輝度信号Yの生成結果に与える影響が大きい。つまり、第2列は本来「スペース」であるから、輝度信号Yは完全な白レベルであることが望ましい(図15中に破線で示す)。しかしながら、図15のケースでは、「バー」がかかっているG2,G4より得られる画像データが第2列中央のR位置における輝度信号Yに大きく影響を与える結果、当該輝度信号Yの白レベル振幅が小さくなり、コードリーダの読取り感度が低下してしまうという問題がある。
【0005】
本発明は上記事情に鑑みてなされたものであり、その目的は、カラーエリアセンサを用いてバーコードを読み取る場合における感度の低下を防止することができる情報コード読取装置、及び輝度信号生成方法を提供することにある。
【課題を解決するための手段】
【0006】
請求項1記載の情報コード読取装置によれば、読取り対象とする情報コードがバーコードである場合は、カラーエリアセンサを構成する画素の内、何れか1つの色に対応する画素より得られる受光データに基づいてバーコード読取り用の輝度信号を生成する。即ち、バーコードシンボルの「バー」及び「スペース」は直線をなしているので、一方向にしか情報を持たない。そのため、1つのシンボルを読取るための輝度信号を生成するのに当たってその両隣に位置する画素より得られるデータには、余分な情報が含まれることでノイズとなってしまう可能性が高い(つまり「バー」の「黒」に対する「スペース」の白,またその逆の関係)。従って、何れか1つの色に対応する画素より得られる受光データに基づき輝度信号を生成すれば、ノイズとなる情報を排除してバーコードの読取り感度を向上させることができる。
【0007】
請求項2記載の情報コード読取装置によれば、輝度信号生成手段は、バーコードの読取り状態における傾きを判定し、そのバーコードが「横向き」(つまり、シンボルの配列方向が、カラーエリアセンサの配列横軸と略一致する向き)と判定される場合に、何れか1つの色に対応する画素より得られる受光データに基づいて輝度信号を生成する。そして、それ以外の場合は、一般的な手法と同様に、RGBの各色に対応する画素より得られる受光データに基づいて輝度信号を生成する。即ち、通常はバーコードが「横向き」になっている状態で読み取りが行われるが、必ずしもそうであるとは限らない。そこで、バーコードが「横向き」と判定される場合にだけ本発明の手法を適用し、それ以外の場合は、一般的な手法で輝度信号を生成する。従って、バーコードを正確に読取る確率を向上させることができる。
【0008】
請求項3記載の情報コード読取装置によれば、輝度信号生成手段は、バーコードが「縦向き」(つまり、シンボルの配列方向が、カラーエリアセンサの配列縦軸と略一致する向き)と判定される場合も、「横向き」と判定される場合と同様に当該バーコード読取り用の輝度信号を生成する。即ち、バーコードが「縦向き」である場合は、位置関係が「横向き」の場合と90度異なるだけであるから、同様に本発明の手法を適用すれば、バーコードの読み取りを良好に行うことができる。
【0009】
請求項4記載の情報コード読取装置によれば、輝度信号生成手段は、輝度信号の生成位置に生成対象画素が存在する場合は、その画素より得られる受光データに基づいて輝度信号を生成し、生成対象画素が存在しない場合は、バーコードの向きと直交する配列方向において、生成位置に最も近い生成対象画素より得られる受光データに基づいて輝度信号を生成する。
即ち、輝度信号は、カラーエリアセンサの受光面内における座標点について夫々生成されるが、生成対象画素を何れか1つの色にすれば、その色の画素が生成位置に存在しない場合がある。しかし、バーコードシンボルである「バー」,「スペース」は、バーコードの向きと直交する方向に沿って延びているので、当該方向において生成位置に最も近い生成対象画素より得られる受光データから輝度信号を生成しても、バーコードを正確に読取ることが可能である。
【0010】
請求項5記載の情報コード読取装置によれば、輝度信号生成手段は、輝度信号を生成する位置に生成対象画素が存在しない場合には、バーコードの向きと直交する配列方向において、前記生成位置に近い複数の生成対象画素より得られる受光データに基づいて輝度信号を生成する。即ち、バーコードに汚れなどが付着したり、バーコードの一部が破れてしまう場合なども想定されるので、斯様に構成すれば輝度信号の精度をより高めることができる。
【0011】
請求項6記載の情報コード読取装置によれば、輝度信号生成手段は、複数の生成対象画素より得られる受光データに基づいて補間処理を行なうことで輝度信号を生成するので、生成位置における輝度をより高い確度で推定することができる。
請求項7記載の情報コード読取装置によれば、輝度信号生成手段は、複数の生成対象画素より得られる受光データに基づいて合成処理を行なうことで輝度信号を生成するので、より高いレベルの信号を得ることができる。
【0012】
請求項8記載の情報コード読取装置によれば、カラーエリアセンサがベイヤー配列型で構成される場合に、輝度信号生成手段は、輝度信号を生成する場合に使用する画素を、緑色(G)に対応する画素とする。即ち、ベイヤー配列型のカラーエリアセンサは緑色に対応する画素が最も多くなるように配列されているので、緑色の画素を選択すれば当該画素が生成位置に存在する確率が高くなる。従って、バーコードの読み取りをより有利に行うことができる。
【0013】
請求項9記載の情報コード読取装置によれば、情報コードがバーコードである場合、輝度信号生成手段は、カラーエリアセンサを構成する画素の内、バーコードの向きと直交する方向に配列されている画素より得られる受光データを複数加算することで、バーコード読取り用の輝度信号を生成する。即ち、バーが伸びている方向に並ぶ画素の受光データを加算すれば、読取り用輝度信号のSN比が向上するので、読取り感度を向上させることができる。
【0014】
請求項10記載の情報コード読取装置によれば、輝度信号生成手段は、前記方向に配列されている画素より得られる受光データを偶数列に亘って加算する。従って、カラーエリアセンサが備えているRGB各色について加算される画素数が等しくなるようにして、読み取りを正確に行うことができる。
【0015】
請求項11記載の情報コード読取装置によれば、輝度信号生成手段は、受光データの加算結果データのビット数が一定となるように除算する。即ち、受光データを複数加算すれば加算結果データのビット数は増加して行くが、その結果、LSB側のデータは、比較的信頼性が低くなる。従って、加算結果を除算してそのデータビット数を一定にすれば、加算結果を評価するための構成を簡単にすると共に、比較的信頼性が高いデータ部分を用いて評価を高い精度で行うことができる。
【0016】
請求項12記載の情報コード読取装置によれば、輝度信号生成手段は、バーコードの読取り状態における傾きを判定し、その判定結果に応じて輝度信号の生成対象とする画素を選択する。斯様に構成すれば、バーコードの読み取りを行う場合、その読取り方向をユーザに対して規定しておく必要がなくなるので利便性が向上する。
【0017】
請求項13記載の情報コード読取装置によれば、カラーエリアセンサがベイヤー配列型で構成される場合、輝度信号生成手段は、輝度信号を生成する場合に、緑色(G)に対応する画素より得られる受光データのみを加算する。従って、請求項8と同様に、バーコードの読み取りをより有利に行うことができる。
【発明を実施するための最良の形態】
【0018】
(第1実施例)
以下、本発明をカメラ付き携帯電話機に適用した場合の第1実施例について図1乃至図8を参照して説明する。図7は、携帯電話機1の外観を示す正面図であり、図8は、携帯電話機(情報コード読取り装置)1の電気的構成を示す機能ブロック図である。
携帯電話機1は、電話回路2、マイクロコンピュータ(マイコン)3、マイクロホン4、スピーカ5、ディスプレイ6、キーパッド7、LED8、サウンダ9およびカメラ(カラーエリアセンサ)10から構成されている。尚、カメラ10は、例えばCCDやCMOSイメージセンサなどをRGBの三原色の受光に対応する画素として使用したベイヤー配列型のエリアセンサとして構成されており、図7においては、携帯電話機1の背面側に配置されている(図示せず)。
マイコン3には、フラッシュメモリ11および画像データ処理部(輝度信号生成手段)12が内蔵されている。また、マイコン3は、ソフトウェア処理により、バーコードや2次元コードのデコーダ機能を実現している。フラッシュメモリ11には、電話機としての基本制御プログラムおよび情報コードリーダとしてのアプリケーションプログラムが記憶されている。
【0019】
図1は、携帯電話機1のカメラ10で情報コードを撮像して読取る場合の処理を、概略的なフローチャートで表したものである。先ず、カメラ10で情報コードを撮像する(ステップS1)。尚、以降の処理は、主にマイコン3に内蔵される画像データ処理部12によるハードウエアロジックで行なわれる。
画像データ処理部12は、得られた画像データに基づいて、先ず情報コードの種類を判別する(「モード確認」,ステップS2)。情報コードがQRコードのような2次元コードである場合は、従来技術と同様にして(1)’〜(4)式に従い輝度信号Yを求める(「通常色補間」,ステップS3)。そして、カメラ10の撮像エリア内の各座標点について輝度信号Yを得ると、2次元コードをデコード処理し(ステップS4)、デコード結果が正常に得られれば(「OK」)処理を終了する。また、デコード結果が正常に得らない場合は(「NG」)ステップS1に戻り、情報コードの撮像を再試行する。
【0020】
一方、ステップS2において、情報コードがバーコードであると判別すると、そのバーコードを読み取った状態における配置方向が、「横向き」,「縦向き」,それ以外の「斜め向き」の何れに該当するかを判別する(ステップS5)。ここで、「横向き」とは、図3に示すように、カメラ10の撮像エリアにおける横軸とバーコードシンボルの配列方向とが略一致している状態であり、「縦向き」とは、図5に示すように、カメラ10の撮像エリアにおける縦軸とバーコードシンボルの配列方向とが略一致している状態である。そして、「斜め向き」とは、図2に示すように、バーコードシンボルの配列方向が、横軸若しくは縦軸に対して相当程度(典型的には45度)傾いている状態であり、「横向き」,「縦向き」の何れにも判別されない場合である。
【0021】
ステップS6において、画像データ処理部12がバーコードの方向を「斜め向き」と判断すると(「NO」)、ステップS3に移行して従来技術と同様に輝度信号Yを求める。即ち、この場合、バーコードのシンボルがカメラ10の画素配列に対して斜めにかかるので、結果として情報を2次元的に持つことになる。従って、従来と同様の手法で輝度信号Yを決定するのが妥当だからである。
そして、ステップS6において、画像データ処理部12がバーコードの方向を「横向き」又は「縦向き」と判断すると(「YES」)、本発明独特の手法によって輝度信号Yを求める(「輝度抽出処理」,ステップS7)。
【0022】
<バーコードが「横向き」の場合>
先ず、図3に示す「横向き」の場合について説明する。尚、一般にバーコードを読取る場合は、斯様な「横向き」の場合が極めて多い(バーコードの貼付状態が「横向き」であることが多いため)。図4(a)は、カメラ10におけるRGB画素の配列状態(ベイヤー配列)を示す。ベイヤー配列は、横方向についてみると、ある列の画素配列がRGRGRG・・・であるとすると、その列の上下は、GBGBGB・・・という配列になっており、G(緑色)に対応する画素数が最も多くなっている。
斯様な画素配列に対して、図4(b)に示すように、輝度信号Yを求める位置(9個の画素よりなるエリアの中央,生成位置)にG(グリーン)画素が存在する場合は、G’=G3として、輝度信号Yを、
Y=G’=G3 ・・・(5)
として求める。
【0023】
また、図4(c)に示すように、輝度信号Yを求める位置にR(レッド)画素が存在する場合は、そのR画素の上下に位置するG1,G3画素を使用し、G’=(G1+G3)/2として、輝度信号Yを,
Y=G’=(G1+G3)/2 ・・・(6)
として求める。
また、図4(c)においては、中央の第2列にバーコードシンボルの「スペース」がかかり、その両隣の第1,第3列に「バー」がかかった場合に求められる輝度信号Yに基づき、得られる白レベル振幅波形を示している。即ち、従来の図12の場合に比較して、第1,第3列におけるG2,G4が第2列の輝度を決定するのに排除された結果、白レベル振幅がより大きくなっている。
【0024】
そして、図4(d)に示すように、輝度信号Yを求める位置にB(ブルー)画素が存在する場合も、図4(c)のケースと同様に、そのB画素の上下に位置するG1,G3画素を使用し、G’=(G1+G3)/2として、輝度信号Yを,
Y=G’=(G1+G3)/2 ・・・(7)
として求める。即ち、何れの場合もG画素(生成対象画素)のみを使用して輝度信号Yを決定する。
【0025】
<バーコードが「縦向き」の場合>
次に、図5に示す「横向き」の場合について説明する。図6(a)に示すように、輝度信号Yを求める位置にG画素が存在する場合は、横向きの場合と全く同様に、その画素G3だけにより(5)式に基づいて輝度信号Yを決定する。
【0026】
また、図6(b)に示すように、輝度信号Yを求める位置にR(レッド)画素が存在する場合は、そのR画素の左右に位置するG2,G4画素を使用し、G’=(G2+G4)/2として、輝度信号Yを,
Y=G’=(G2+G4)/2 ・・・(8)
として求める。
また、図6(b)においては、中央の第2行にバーコードシンボルの「スペース」がかかり、その両隣(図6(b)中では上下)の第1,第3行に「バー」がかかった場合に求められる輝度信号Yに基づき、得られる白レベル振幅波形を示している。この場合も、第1,第3行におけるG1,G3が第2行の輝度を決定するのに排除されているので、白レベル振幅がより大きくなっている。
【0027】
そして、図6(c)に示すように、輝度信号Yを求める位置にB(ブルー)画素が存在する場合も、図6(b)のケースと同様に、そのB画素の左右に位置するG2,G4画素を使用し、G’=(G2+G4)/2として、輝度信号Yを,
Y=G’=(G2+G4)/2 ・・・(9)
として求める。
【0028】
以上のように本実施例によれば、携帯電話機1を構成するマイコン3に内蔵される画像データ処理部12は、読取り対象とする情報コードがバーコードである場合は、カメラ10を構成する画素の内、緑色に対応するG画素より得られる受光データに基づいてバーコード読取り用の輝度信号Yを生成するようにした。
即ち、バーコードシンボルの「バー」及び「スペース」は直線をなしてバーコードの配置に直交する一方向にしか情報を持たないので、1つのシンボルを読取るための輝度信号Yを生成する場合、その両隣に位置する画素より得られるデータは余分な情報が含まれることでノイズとなる可能性が高い。従って、1つの色に対応する画素より得られる受光データに基づき輝度信号Yを生成することで、ノイズとなる情報を排除してバーコードの読取り感度を向上させることができる。そして、カメラ10がベイヤー配列型で構成されているので、最も多くなるように配列されているG画素を生成対象画素とすれば当該画素が生成位置に存在する確率が高くなり、バーコードの読み取りをより有利に、感度良く行うことができる。
【0029】
また、画像データ処理部12は、バーコードの読取り状態における傾きを判定し、そのバーコードが「横向き」又は「縦向き」と判定される場合にG画素より得られる受光データに基づいて輝度信号を生成し、それ以外の場合は、一般的な手法と同様にRGBの各色に対応する画素より得られる受光データに基づいて輝度信号を生成するので、実際のバーコードの読取り状態に応じて、バーコードを正確に読取る確率を向上させることができる。
【0030】
更に、画像データ処理部12は、輝度信号の生成位置にG画素が存在する場合は、そのG画素より得られる受光データに基づいて輝度信号を生成し、G画素が存在しない場合は、バーコードの向きと直交する配列方向において、生成位置に最も近い2つのG画素より得られる受光データに基づいて輝度信号を生成する。即ち、バーコードシンボルである「バー」,「スペース」は、バーコードの向きと直交する方向に沿って延びているので、当該方向において生成位置に最も近いG画素より得られる受光データから輝度信号を生成しても、バーコードを正確に読取ることが可能である。そして、生成位置にG画素が存在しない場合は、最も近い2つのG画素より得られる受光データに基づき補間処理を行なうことで輝度信号を生成するので、生成位置における輝度をより高い確度で推定することができる。
【0031】
(第2実施例)
図9は、本発明の第2実施例を示すものであり、第1実施例と異なる部分についてのみ説明する。第2実施例の基本的構成は第1実施例と同様である。そして、第2実施例では、G画素が存在しない位置について輝度信号Yを生成する場合に、その生成位置に近い2つのG画素より得られる受光データに基づき合成処理を行なって輝度信号Yを生成する。
【0032】
即ち、図9に示すように、ベイヤー配列の4×4の領域について、バーコードが「横向き」である場合に、行方向における2つの画素の間を生成位置とする輝度Y1C〜Y4Cを、前記生成位置の近くに存在する2つのG画素より得られる受光データの和によって決定する。
B1,G5間→Y1C=G1+G5
G3,R3間→Y2C=G3+G7
B2,G6間→Y3C=G2+G6
G4,R4間→Y4C=G4+G8
【0033】
また、バーコードが「縦向き」である場合に、列方向における2つの画素の間を生成位置とする輝度Y1L〜Y4Lも、前記生成位置の近くに存在する2つのG画素より得られる受光データの和によって決定する。
R1,G2間→Y1L=G1+G2
G3,B2間→Y2L=G3+G4
R3,G6間→Y3L=G5+G6
G7,B4間→Y4L=G7+G8
以上のように第2実施例によれば、画像データ処理部12は、輝度信号Yの生成位置にG画素が存在しない場合は、前記生成位置の近くに存在する2つの生成対象画素より得られる受光データに基づいて合成処理を行なうことで輝度信号Yを生成するので、より高いレベルの信号を得て感度を向上させることができる。
【0034】
(第3実施例)
図10乃至図12は本発明の第3実施例を示すものであり、以下異なる部分についてのみ説明する。図10は、第1実施例の図1相当図である。第3実施例では、ステップS2において情報コードがバーコードであり、その配置方向が「横向き」,「縦向き」の何れかであった場合には(ステップS6,「YES」)、例えば図11(a)に示すように加算処理を行なって輝度信号を得る(ステップS11)。
【0035】
例えばバーコードの配置方向が「横向き」であるとすると、4×3のベイヤー配列の領域について輝度信号Y1〜Y3を得る場合は、以下のように求める。
Y1=R11+G12+R13+G14+G21+B22+G23+B24
Y2=G21+B22+G23+B24+R31+G32+R33+G34
Y3=R31+G32+R33+G34+G41+B42+G43+B44
即ち、バーコードのバーが伸びる方向(配置方向と直行する方向)に並ぶ画素より得られる受光データを隣り合う2列について加算するもので、そのように加算を行うことで、バー,スペースに応じて得られる信号レベルをより高めることができる。また、隣り合う2列について加算を行うことで、Y1〜Y3におけるR,G,Bの各画素数が等しくなる。上記の場合、R=2,G=4,B=2となっている。
【0036】
そして、上記のように加算を行うとデータのビット数は増加するが、下位側のデータは比較的信頼性が低いノイズ的なデータとなる。そのような下位側のデータまで考慮して加算結果を評価する必要性は低い。従って、続くステップS12では、冗長なデコードを行なうことを回避するため除算(ビットシフト)処理を行ない、加算結果データを所定のビット数(例えば8ビット)に制限する。尚、図12にはその一例を示す。それからステップS4に移行して、デコード及びその結果判定を行う。
【0037】
また、ステップS11における加算処理は、図11(b)に示すように行っても良い。
Y1=G12+G13+G16
Y2=G21+G23+G25
Y3=G32+G34+G36
即ち、最も感度が高いG画素より得られる受光データだけを、バーが伸びる方向について1列だけ加算する。つまり、第1実施例において述べたように、カメラ10がベイヤー配列型で構成されているため、バーコードの読み取りをより有利に、感度良く行うことができる。
【0038】
以上のように第3実施例によれば、画像データ処理部12は、カメラ10を構成する画素の内、バーコードの向きと直交する方向に配列されている画素より得られる受光データを複数加算することで、バーコード読取り用の輝度信号を生成するので、読取り用輝度信号のSN比を向上させて読取り感度を向上させることができる。その際に、前記方向に配列されている画素より得られる受光データを2列に亘って加算するので、カメラ10が備えているRGB各色について加算される画素数が等しくなり、読み取りを正確に行うことができる。
更に、画像データ処理部12は、受光データの加算結果データのビット数が一定となるように除算するので、加算結果を評価するための構成を簡単にすると共に、比較的信頼性が高いデータ部分を用いて評価を高い精度で行うことができる。
【0039】
加えて、画像データ処理部12は、バーコードの読取り状態における傾きを判定し、その判定結果に応じて輝度信号の生成対象とする画素を選択するので、バーコードの読み取りを行う場合、その読取り方向をユーザに対して規定しておく必要がなくなるため、利便性が向上する。
また、カラーエリアセンサは、リニアセンサに比較して感度が低いため、暗い場所での読取りが困難であり、例えば、倉庫の内部においてダンボールなどに印刷されたITF(Interleaved Two of Five)などのバーコードを読取る場合などには、その困難さが顕著となる。これに対して、第3実施例の読取り方式によれば、SN比を向上させることができ、バーコードのデコードを容易に行うことができる。
【0040】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
必ずしも、バーコードの読取り状態を判別し、「横向き」又は「縦向き」である場合に本発明を適用するものに限らない。少なくとも「縦向き」と判別された場合にだけ適用しても良い。また、前述したように、バーコードは通常「横向き」で読取られることが多いため、読み取り対象がバーコードである場合は無条件に本発明の手法を適用し、読み取りに失敗した場合はエラー処理を行ない、ユーザに再試行を促すようにしても良い。
第3実施例において、加算を行う列を複数とする場合は、4列以上の偶数列について加算を行うようにしても良い。
また、第3実施例のステップS12における除算処理は、加算結果のデータビット数を制限する必要がある場合に行えば良い。
【0041】
カラーエリアセンサは、必ずしもベイヤー配列型に限ることなく、例えば、RGBの各色画素数が均等となるように配列されているものであっても良い。従って、生成対象画素もG画素に限らず、R,B画素を使用しても良い。
処理速度に問題がない場合は、輝度信号生成手段をソフトウエア処理によって実現しても良い。
携帯電話機に限ることなく、カラーエリアセンサを備えたバーコードハンディターミナルに適用しても良い。
【図面の簡単な説明】
【0042】
【図1】本発明を携帯電話機に適用した場合の第1実施例であり、カメラで情報コードを撮像して読取る場合の処理を概略的に示すフローチャート
【図2】バーコードの読取り状態が「斜め向き」である場合を示す図
【図3】バーコードの読取り状態が「横向き」である場合を示す図
【図4】(a)は、カメラにおけるRGB画素の配列状態、(b)は9個の画素エリアの中央がG画素の場合、(c)は同R画素の場合、(d)は同B画素の場合を示す図
【図5】バーコードの読取り状態が「縦向き」である場合を示す図
【図6】(a)〜(c)は図4(b)〜(d)相当図
【図7】携帯電話機の外観を示す正面図
【図8】携帯電話機の電気的構成を示す機能ブロック図
【図9】本発明の第2実施例を示すもので、カメラの画素配列を4×4のエリアについて示す図
【図10】本発明の第3実施例を示す図1相当図
【図11】(a),(b)は、夫々加算対象として選択するカメラの画素を示す図
【図12】加算結果データの除算処理について説明する図
【図13】従来技術について、カラーエリアセンサの画素配列状態を示す図
【図14】図4(b)〜(d)相当図
【図15】9個の画素配列エリアにおいて、中央の第2列にバーコードシンボルの「スペース」がかかり、第1,第3列に「バー」がかかっている場合を示す図
【符号の説明】
【0043】
図面中、1は携帯電話機(情報コード読取り装置)、10はカメラ(カラーエリアセンサ)、12は画像データ処理部(輝度信号生成手段)を示す。
【特許請求の範囲】
【請求項1】
RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るように構成される情報コード読取装置において、
前記情報コードがバーコードである場合は、前記カラーエリアセンサを構成する画素の内、何れか1つの色に対応する画素より得られる受光データに基づいて、前記バーコード読取り用の輝度信号を生成するように構成される輝度信号生成手段を備えたことを特徴とする情報コード読取装置。
【請求項2】
前記輝度信号生成手段は、バーコードの読取り状態における傾きを判定し、
当該バーコードが「横向き」と判定される場合に、何れか1つの色に対応する画素より得られる受光データに基づいて前記輝度信号を生成し、
それ以外の場合は、RGBの各色に対応する画素より得られる受光データに基づいてバーコード読取り用の輝度信号を生成することを特徴とする請求項1記載の情報コード読取装置。
【請求項3】
前記輝度信号生成手段は、前記バーコードが「縦向き」と判定される場合も、前記「横向き」と判定される場合と同様に当該バーコード読取り用の輝度信号を生成することを特徴とする請求項2記載の情報コード読取装置。
【請求項4】
前記輝度信号生成手段は、前記カラーエリアセンサの受光面内において前記輝度信号を生成する位置に、前記輝度信号の生成対象として選択した色の画素(生成対象画素)が存在する場合には、当該画素より得られる受光データに基づいて輝度信号を生成し、
前記生成位置に前記生成対象画素が存在しない場合には、前記バーコードの向きと直交する配列方向において、前記生成位置に最も近い位置にある生成対象画素より得られる受光データに基づいて輝度信号を生成することを特徴とする請求項2又は3記載の情報コード読取装置。
【請求項5】
前記輝度信号生成手段は、前記カラーエリアセンサの受光面内において前記輝度信号を生成する位置に、前記輝度信号の生成対象として選択した色の画素(生成対象画素)が存在する場合には、当該画素より得られる受光データに基づいて輝度信号を生成し、
前記輝度信号を生成する位置に前記生成対象画素が存在しない場合には、前記バーコードの向きと直交する配列方向において、前記生成位置に近い位置にある複数の生成対象画素より得られる受光データに基づいて輝度信号を生成することを特徴とする請求項2又は3記載の情報コード読取装置。
【請求項6】
前記輝度信号生成手段は、前記複数の生成対象画素より得られる受光データに基づいて補間処理を行なうことで、輝度信号を生成することを特徴とする請求項5記載の情報コード読取装置。
【請求項7】
前記輝度信号生成手段は、前記複数の生成対象画素より得られる受光データに基づいて合成処理を行なうことで、輝度信号を生成することを特徴とする請求項5記載の情報コード読取装置。
【請求項8】
前記カラーエリアセンサがベイヤー配列型で構成される場合、
前記輝度信号生成手段は、前記輝度信号を生成する場合に使用する画素を、緑色(G)に対応する画素とすることを特徴とする請求項1乃至7の何れかに記載の情報コード読取装置。
【請求項9】
RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るように構成される情報コード読取装置において、
前記情報コードがバーコードである場合は、前記カラーエリアセンサを構成する画素の内、前記バーコードの向きと直交する方向に配列されている画素より得られる受光データを複数加算することで、前記バーコード読取り用の輝度信号を生成するように構成される輝度信号生成手段を備えたことを特徴とする情報コード読取装置。
【請求項10】
前記輝度信号生成手段は、前記方向に配列されている画素より得られる受光データを、偶数列に亘って加算することを特徴とする請求項9記載の情報コード読取装置。
【請求項11】
前記輝度信号生成手段は、前記受光データの加算結果データのビット数が一定となるように除算することを特徴とする請求項9又は10記載の情報コード読取装置。
【請求項12】
前記輝度信号生成手段は、バーコードの読取り状態における傾きを判定し、その判定結果に応じて前記輝度信号の生成対象とする画素を選択することを特徴とする請求項9乃至11の何れかに記載の情報コード読取装置。
【請求項13】
前記カラーエリアセンサがベイヤー配列型で構成される場合、
前記輝度信号生成手段は、前記輝度信号を生成する場合に、緑色(G)に対応する画素より得られる受光データのみを加算することを特徴とする請求項9乃至12の何れかに記載の情報コード読取装置。
【請求項14】
RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るための輝度信号生成方法において、
前記情報コードがバーコードである場合は、前記カラーエリアセンサを構成する画素の内、何れか1つの色に対応する画素より得られる受光データに基づいて、前記バーコード読取り用の輝度信号を生成することを特徴とする輝度信号生成方法。
【請求項15】
前記バーコードの読取り状態における傾きを判定し、
当該バーコードが「横向き」と判定される場合に、何れか1つの色に対応する画素より得られる受光データに基づいて前記輝度信号を生成し、
それ以外の場合は、RGBの各色に対応する画素より得られる受光データに基づいてバーコード読取り用の輝度信号を生成することを特徴とする請求項14記載の輝度信号生成方法。
【請求項16】
前記バーコードが「縦向き」と判定される場合も、前記「横向き」と判定される場合と同様に当該バーコード読取り用の輝度信号を生成することを特徴とする請求項15記載の輝度信号生成方法。
【請求項17】
前記カラーエリアセンサの受光面内において前記輝度信号を生成する位置に、前記輝度信号の生成対象として選択した色の画素(生成対象画素)が存在する場合には、当該画素より得られる受光データに基づいて輝度信号を生成し、
前記生成位置に前記生成対象画素が存在しない場合には、前記バーコードの向きと直交する配列方向において、前記生成位置に最も近い位置にある生成対象画素より得られる受光データに基づいて輝度信号を生成することを特徴とする請求項15又は16記載の輝度信号生成方法。
【請求項18】
前記カラーエリアセンサの受光面内において前記輝度信号を生成する位置に、前記輝度信号の生成対象として選択した色の画素(生成対象画素)が存在する場合には、当該画素より得られる受光データに基づいて輝度信号を生成し、
前記輝度信号を生成する位置に前記生成対象画素が存在しない場合には、前記バーコードの向きと直交する配列方向において、前記生成位置に近い位置にある複数の生成対象画素より得られる受光データに基づいて輝度信号を生成することを特徴とする請求項15又は16記載の輝度信号生成方法。
【請求項19】
前記複数の生成対象画素より得られる受光データに基づいて補間処理を行なうことで、輝度信号を生成することを特徴とする請求項18記載の輝度信号生成方法。
【請求項20】
前記複数の生成対象画素より得られる受光データに基づいて合成処理を行なうことで、輝度信号を生成することを特徴とする請求項18記載の輝度信号生成方法。
【請求項21】
前記カラーエリアセンサがベイヤー配列型で構成される場合、
前記輝度信号を生成する場合に使用する画素を、緑色(G)に対応する画素とすることを特徴とする請求項14乃至18の何れかに記載の輝度信号生成方法。
【請求項22】
RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るための輝度信号生成方法において、
前記情報コードがバーコードである場合は、前記カラーエリアセンサを構成する画素の内、前記バーコードの向きと直交する方向に配列されている画素より得られる受光データを複数加算することで、前記バーコード読取り用の輝度信号を生成することを特徴とする輝度信号生成方法。
【請求項23】
前記方向に配列されている画素より得られる受光データを、偶数列に亘って加算することを特徴とする請求項22記載の輝度信号生成方法。
【請求項24】
前記受光データの加算結果データのビット数が一定となるように除算することを特徴とする請求項22又は23記載の輝度信号生成方法。
【請求項25】
バーコードの読取り状態における傾きを判定し、その判定結果に応じて前記輝度信号の生成対象とする画素を選択することを特徴とする請求項22乃至24の何れかに記載の輝度信号生成方法。
【請求項26】
前記カラーエリアセンサがベイヤー配列型で構成される場合、
前記輝度信号を生成する場合に、緑色(G)に対応する画素より得られる受光データのみを加算することを特徴とする請求項22乃至25の何れかに記載の輝度信号生成方法。
【請求項1】
RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るように構成される情報コード読取装置において、
前記情報コードがバーコードである場合は、前記カラーエリアセンサを構成する画素の内、何れか1つの色に対応する画素より得られる受光データに基づいて、前記バーコード読取り用の輝度信号を生成するように構成される輝度信号生成手段を備えたことを特徴とする情報コード読取装置。
【請求項2】
前記輝度信号生成手段は、バーコードの読取り状態における傾きを判定し、
当該バーコードが「横向き」と判定される場合に、何れか1つの色に対応する画素より得られる受光データに基づいて前記輝度信号を生成し、
それ以外の場合は、RGBの各色に対応する画素より得られる受光データに基づいてバーコード読取り用の輝度信号を生成することを特徴とする請求項1記載の情報コード読取装置。
【請求項3】
前記輝度信号生成手段は、前記バーコードが「縦向き」と判定される場合も、前記「横向き」と判定される場合と同様に当該バーコード読取り用の輝度信号を生成することを特徴とする請求項2記載の情報コード読取装置。
【請求項4】
前記輝度信号生成手段は、前記カラーエリアセンサの受光面内において前記輝度信号を生成する位置に、前記輝度信号の生成対象として選択した色の画素(生成対象画素)が存在する場合には、当該画素より得られる受光データに基づいて輝度信号を生成し、
前記生成位置に前記生成対象画素が存在しない場合には、前記バーコードの向きと直交する配列方向において、前記生成位置に最も近い位置にある生成対象画素より得られる受光データに基づいて輝度信号を生成することを特徴とする請求項2又は3記載の情報コード読取装置。
【請求項5】
前記輝度信号生成手段は、前記カラーエリアセンサの受光面内において前記輝度信号を生成する位置に、前記輝度信号の生成対象として選択した色の画素(生成対象画素)が存在する場合には、当該画素より得られる受光データに基づいて輝度信号を生成し、
前記輝度信号を生成する位置に前記生成対象画素が存在しない場合には、前記バーコードの向きと直交する配列方向において、前記生成位置に近い位置にある複数の生成対象画素より得られる受光データに基づいて輝度信号を生成することを特徴とする請求項2又は3記載の情報コード読取装置。
【請求項6】
前記輝度信号生成手段は、前記複数の生成対象画素より得られる受光データに基づいて補間処理を行なうことで、輝度信号を生成することを特徴とする請求項5記載の情報コード読取装置。
【請求項7】
前記輝度信号生成手段は、前記複数の生成対象画素より得られる受光データに基づいて合成処理を行なうことで、輝度信号を生成することを特徴とする請求項5記載の情報コード読取装置。
【請求項8】
前記カラーエリアセンサがベイヤー配列型で構成される場合、
前記輝度信号生成手段は、前記輝度信号を生成する場合に使用する画素を、緑色(G)に対応する画素とすることを特徴とする請求項1乃至7の何れかに記載の情報コード読取装置。
【請求項9】
RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るように構成される情報コード読取装置において、
前記情報コードがバーコードである場合は、前記カラーエリアセンサを構成する画素の内、前記バーコードの向きと直交する方向に配列されている画素より得られる受光データを複数加算することで、前記バーコード読取り用の輝度信号を生成するように構成される輝度信号生成手段を備えたことを特徴とする情報コード読取装置。
【請求項10】
前記輝度信号生成手段は、前記方向に配列されている画素より得られる受光データを、偶数列に亘って加算することを特徴とする請求項9記載の情報コード読取装置。
【請求項11】
前記輝度信号生成手段は、前記受光データの加算結果データのビット数が一定となるように除算することを特徴とする請求項9又は10記載の情報コード読取装置。
【請求項12】
前記輝度信号生成手段は、バーコードの読取り状態における傾きを判定し、その判定結果に応じて前記輝度信号の生成対象とする画素を選択することを特徴とする請求項9乃至11の何れかに記載の情報コード読取装置。
【請求項13】
前記カラーエリアセンサがベイヤー配列型で構成される場合、
前記輝度信号生成手段は、前記輝度信号を生成する場合に、緑色(G)に対応する画素より得られる受光データのみを加算することを特徴とする請求項9乃至12の何れかに記載の情報コード読取装置。
【請求項14】
RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るための輝度信号生成方法において、
前記情報コードがバーコードである場合は、前記カラーエリアセンサを構成する画素の内、何れか1つの色に対応する画素より得られる受光データに基づいて、前記バーコード読取り用の輝度信号を生成することを特徴とする輝度信号生成方法。
【請求項15】
前記バーコードの読取り状態における傾きを判定し、
当該バーコードが「横向き」と判定される場合に、何れか1つの色に対応する画素より得られる受光データに基づいて前記輝度信号を生成し、
それ以外の場合は、RGBの各色に対応する画素より得られる受光データに基づいてバーコード読取り用の輝度信号を生成することを特徴とする請求項14記載の輝度信号生成方法。
【請求項16】
前記バーコードが「縦向き」と判定される場合も、前記「横向き」と判定される場合と同様に当該バーコード読取り用の輝度信号を生成することを特徴とする請求項15記載の輝度信号生成方法。
【請求項17】
前記カラーエリアセンサの受光面内において前記輝度信号を生成する位置に、前記輝度信号の生成対象として選択した色の画素(生成対象画素)が存在する場合には、当該画素より得られる受光データに基づいて輝度信号を生成し、
前記生成位置に前記生成対象画素が存在しない場合には、前記バーコードの向きと直交する配列方向において、前記生成位置に最も近い位置にある生成対象画素より得られる受光データに基づいて輝度信号を生成することを特徴とする請求項15又は16記載の輝度信号生成方法。
【請求項18】
前記カラーエリアセンサの受光面内において前記輝度信号を生成する位置に、前記輝度信号の生成対象として選択した色の画素(生成対象画素)が存在する場合には、当該画素より得られる受光データに基づいて輝度信号を生成し、
前記輝度信号を生成する位置に前記生成対象画素が存在しない場合には、前記バーコードの向きと直交する配列方向において、前記生成位置に近い位置にある複数の生成対象画素より得られる受光データに基づいて輝度信号を生成することを特徴とする請求項15又は16記載の輝度信号生成方法。
【請求項19】
前記複数の生成対象画素より得られる受光データに基づいて補間処理を行なうことで、輝度信号を生成することを特徴とする請求項18記載の輝度信号生成方法。
【請求項20】
前記複数の生成対象画素より得られる受光データに基づいて合成処理を行なうことで、輝度信号を生成することを特徴とする請求項18記載の輝度信号生成方法。
【請求項21】
前記カラーエリアセンサがベイヤー配列型で構成される場合、
前記輝度信号を生成する場合に使用する画素を、緑色(G)に対応する画素とすることを特徴とする請求項14乃至18の何れかに記載の輝度信号生成方法。
【請求項22】
RGBの各色に対応する画素を複数配列して構成されるカラーエリアセンサを用い、情報コードを光学的に読取るための輝度信号生成方法において、
前記情報コードがバーコードである場合は、前記カラーエリアセンサを構成する画素の内、前記バーコードの向きと直交する方向に配列されている画素より得られる受光データを複数加算することで、前記バーコード読取り用の輝度信号を生成することを特徴とする輝度信号生成方法。
【請求項23】
前記方向に配列されている画素より得られる受光データを、偶数列に亘って加算することを特徴とする請求項22記載の輝度信号生成方法。
【請求項24】
前記受光データの加算結果データのビット数が一定となるように除算することを特徴とする請求項22又は23記載の輝度信号生成方法。
【請求項25】
バーコードの読取り状態における傾きを判定し、その判定結果に応じて前記輝度信号の生成対象とする画素を選択することを特徴とする請求項22乃至24の何れかに記載の輝度信号生成方法。
【請求項26】
前記カラーエリアセンサがベイヤー配列型で構成される場合、
前記輝度信号を生成する場合に、緑色(G)に対応する画素より得られる受光データのみを加算することを特徴とする請求項22乃至25の何れかに記載の輝度信号生成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2006−195961(P2006−195961A)
【公開日】平成18年7月27日(2006.7.27)
【国際特許分類】
【出願番号】特願2005−331727(P2005−331727)
【出願日】平成17年11月16日(2005.11.16)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成18年7月27日(2006.7.27)
【国際特許分類】
【出願日】平成17年11月16日(2005.11.16)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]