JP4226895B2 - 光学的情報読取装置 - Google Patents
光学的情報読取装置 Download PDFInfo
- Publication number
- JP4226895B2 JP4226895B2 JP2002382220A JP2002382220A JP4226895B2 JP 4226895 B2 JP4226895 B2 JP 4226895B2 JP 2002382220 A JP2002382220 A JP 2002382220A JP 2002382220 A JP2002382220 A JP 2002382220A JP 4226895 B2 JP4226895 B2 JP 4226895B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- gain value
- image data
- shutter speed
- brightness
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、記録媒体に記録されたバーコードや二次元コードのような光学的パターンを始めとする光学的情報を読み取るための、バーコードスキャナ,2次元コードスキャナ,マルチコードスキャナ等の光学的情報読取装置に関し、特に、露出の制御に特徴を有する光学的情報読取装置に関する。
【0002】
【従来の技術】
光学的情報読取装置としては、従来から、例えば太さの異なる長方形のバー(黒バー)とスペース(白バー)との平行な組み合わせにより情報を表示するバーコードを読み取るためのバーコードスキャナ、あるいはバーコードと同様な矩形領域に、バーコードを積み重ねたように、あるいは碁盤上に石を並べたように黒と白のパターンを配列して高密度の情報を表示する二次元コードの光学的パターンを読み取るための二次元コードスキャナが知られている。
さらに近年は、バーコードと二次元コードの両方を読み取ることができるマルチコードスキャナも登場し、その需要が高まっている。
【0003】
このようなマルチコードスキャナにおいては、読み取り対象のコードの画像を取り込むために、CMOSイメージセンサやCCDイメージセンサなどの固体撮像素子を使用する場合が多い。そして、カメラで物体を撮影するように、コードの画像を撮像し、そのデータに様々な処理を加えた上で、デコードしてテキストデータやバイナリーデータ等を出力する。
また、汎用のマルチコードスキャナの使用領域は、夜間などにおける暗い場所(数ルクス)から、晴天時の屋外などの100000ルクスに達する場所にまで及ぶ。従って、どのような光量であってもコードの画像を適切に読み取るために、露光調節が重要である。
【0004】
上述のような固体撮像素子では、周知のように、電子シャッタによって露出制御を行っている。図8は、CMOSセンサにおける電子シャッタの制御タイミングを示した図である。
CMOSセンサは、まずイメージエリアに蓄積されている無効電荷をリセットし、その後有効蓄積動作を開始する。そして、フィールド単位で蓄積した電荷を掃き出す。この掃き出しタイミングは、CMOSセンサに搭載されたタイミングジェネレータによって制御され、その信号によって電子シャッタ速度が決定される。掃き出しタイミングでフィールド単位の電荷が掃き出されると、その電荷は、次のフィールドの電荷蓄積時間内に読み出され、1フィールド分遅延して撮像(明るさ)信号が出力されることになる。1フィールド当りの時間は30ミリ秒が一般的である。(特許文献1参照)
【0005】
ここで、電子シャッタ速度が遅い場合には、露出時間が長くなり、蓄積される電荷は多くなり、撮像信号レベルが高くなる。逆に電子シャッタ速度が速い場合には、露出時間が短くなり、蓄積される電荷は少なくなり、撮像信号のレベルが低くなる。
ここでは、CMOSセンサの電子シャッタのしくみを例示したが、上記のCCDセンサにおいても、フィールド画像の明るさ信号により電子シャッタの速度制御が行われることは同じである。
このような電子シャッタの露出制御は、例えば特許文献2に記載されている。
【0006】
また、マルチコードスキャナ、あるいはバーコードスキャナには、物品のコードが貼付されている領域を照明するための光源として、LED(発光ダイオード)で構成された発光体が装備されている。この発光体は、上述のような暗い場所では、コード読み取りの光量不足を補う効果を有する。
しかしながら、被写体とスキャナ光学部との距離が約100mm程度と近いために、LEDの発する光がそのまま被写体から正反射して戻ってきて、画像データの一部が空白の状態になり、画像品質やひいてはコードの読取精度を劣化させてしまうことがある。さらに、ユーザがコードにスキャナの投光口を正対するようにして使用することはよく見られる光景であるが、この場合も、上述と同様にLEDの発する光がコードの画像に映りこんで、画像品質を劣化させてしまう。この正反射状態のコード画像への影響を避けるための技術としては、例えば読取信号の基準レベルが負方向に大きく変動した場合に正反射が発生したと判断して使用する投光部を切り換える手法が、特許文献3に開示されている。また、正反射による光がセンサに入射しないように光学系を設計する手法が、特許文献4及び特許文献5に開示されている。
【0007】
【特許文献1】
特開平10−224696号公報
【特許文献2】
特開平9−181983号公報
【特許文献3】
特開平8−129597号公報
【特許文献4】
特開平6−215170号公報
【特許文献5】
特開平11−328298号公報
【0008】
【発明が解決しようとする課題】
ところで、二次元コードはデコードの処理が複雑で処理に時間がかかるため、バーコードスキャナのみを使用しているユーザが、二次元コードスキャナあるいはマルチコードスキャナを利用すると、デコード処理時間を長く感じるものである。従って、二次元コードの読み取りであっても、ユーザがストレスを感じないよう迅速に、例えば300ミリ秒以内で読み取れるようにすることが求められている。
【0009】
ここで、読み取りの高速化には、デコードの速度のみならず、デコードに供する適当な画像データの取得にかかる時間の短縮も重要である。この点について、特許文献2に記載のようにシャッタ速度のみで露光調整をする場合、その調整が反映された画像データが出力されるまでに1フィールドの遅延が生じてしまうので、高速化には限界があった。
また、正反射の悪影響が強い場合にはデコードを正常に行うことができないため、これを防止すると共に、デコード不可と思われる場合には速やかに再読み取りを行うことが望ましい。しかし、特許文献4あるいは特許文献5に記載のようにレンズ光学系を特別な設計にするにはコストと労力がかかり、特許文献3に記載の方式では、基準レベルの判定の処理は負担が大きく、正反射の有無の判断に時間がかかるという問題があった。
この発明は、これらの問題を解決し、光学的情報読取装置において、情報読取の高速化を図ることを目的とする。
【0010】
【課題を解決するための手段】
上記の目的を達成するため、この発明は、光学的情報読取装置において、読取対象の情報の画像を、設定されたゲイン値とシャッタ速度で画像データとして取り込む画像データ取込手段と、その手段が取り込んだ画像データについて明度の代表値を求める測光手段と、その手段によって求めた代表値が飽和しておらずかつ予め定めた低域閾値よりも大きい適正値か否かを判定する代表値判定手段と、その手段が上記代表値を適正値と判定した場合に上記取り込んだ画像データをデコードするデコード手段と、上記代表値判定手段が上記代表値を適正値でないと判定した場合に露出条件を変更し、変更後の条件で上記画像データ取り込み手段に再度画像データの取り込みを行わせる露出制御手段とを設け、その露出制御手段に、
(a)上記画像データ取り込み手段のシャッタ速度を変えずに上記明度の代表値が所定の目標値になるような新たなゲイン値を算出するゲイン値算出手段
(b)その手段が算出した新たなゲイン値を所定の高域閾値及び低域閾値と比較するゲイン値判定手段
(c)その手段が上記新たなゲイン値が上記低域閾値以上かつ上記高域閾値以下であると判定した場合には上記シャッタ速度を変更せずに上記新たなゲイン値を上記ゲイン値として採用し、それ以外の場合には比較結果に従って上記新たなゲイン値を変更して上記ゲイン値として採用すると共にそれに応じて上記シャッタ速度を変更し、それぞれ上記ゲイン値とシャッタ速度の条件で上記画像データ取り込み手段に再度画像データの取り込みを行わせるゲイン値/シャッタ速度制御手段
を設け、上記ゲイン値算出手段を、上記代表値をV,上記目標値をV t ,上記画像データ取込手段における暗電流によるオフセットをV 0 ,画像データ取り込み時のゲイン値をG,上記新たなゲイン値をG′,0<γ 1 ≦1の範囲で定める第1のフィードバック係数をγ 1 として、
G′=(1+γ 1 (V t −V)/(V t −V 0 ))×G
なる式によって上記新たなゲイン値を算出する手段とし、任意に定めた2以上の整数をn,0<γ 2 ≦1の範囲で定める第2のフィードバック係数をγ 2 ,0<γ 3 ≦1の範囲で定める第3のフィードバック係数をγ 3 として、上記ゲイン値/シャッタ速度制御手段に、上記新たなゲイン値が上記低域閾値より小さい値であった場合には上記新たなゲイン値をγ 2 ×n倍に変更すると共に上記シャッタ速度をγ 3 ×(1/n)倍に変更し、上記新たなゲイン値が上記高域閾値より大きい値であった場合には上記新たなゲイン値をγ 2 ×(1/n)倍に変更すると共に上記シャッタ速度をγ 3 ×n倍に変更する機能を設けたものである。
【0011】
このような光学的情報読取装置において、上記読取対象の情報を照明する照明手段を設け、上記露出制御手段にさらに、上記読取対象の情報の周辺の明るさを示す明るさパラメータを算出する手段と、上記明るさパラメータが所定の閾値以上か否かを示す暗さフラグを設定する手段と、上記明るさパラメータの値と上記暗さフラグの内容とによって上記照明手段の点灯/消灯を制御することによって正反射を防止する手段とを設けるとよい。
【0012】
また、この発明の別の光学的情報読み取り装置は、読取対象の情報の画像を、設定されたゲイン値とシャッタ速度で画像データとして取り込む画像データ取込手段と、その手段が取り込んだ画像データについて明度の代表値を求める測光手段と、その手段によって求めた代表値が飽和しておらずかつ予め定めた低域閾値よりも大きい適正値か否かを判定する代表値判定手段と、その手段が上記代表値を適正値と判定した場合に上記取り込んだ画像データをデコードするデコード手段と、上記代表値判定手段が上記代表値を適正値でないと判定した場合に露出条件を変更し、変更後の条件で上記画像データ取り込み手段に再度画像データの取り込みを行わせる露出制御手段と、上記読取対象の情報を照明する照明手段とを設け、その露出制御手段に、
(a)上記画像データ取り込み手段のシャッタ速度を変えずに上記明度の代表値が所定の目標値になるような新たなゲイン値を算出するゲイン値算出手段
(b)その手段が算出した新たなゲイン値を所定の高域閾値及び低域閾値と比較するゲイン値判定手段
(c)その手段が上記新たなゲイン値が上記低域閾値以上かつ上記高域閾値以下であると判定した場合には上記シャッタ速度を変更せずに上記新たなゲイン値を上記ゲイン値として採用し、それ以外の場合には比較結果に従って上記新たなゲイン値を変更して上記ゲイン値として採用すると共にそれに応じて上記シャッタ速度を変更し、それぞれ上記ゲイン値とシャッタ速度の条件で上記画像データ取り込み手段に再度画像データの取り込みを行わせるゲイン値/シャッタ速度制御手段
(d)上記読取対象の情報の周辺の明るさを示す明るさパラメータを算出する手段
(e)上記明るさパラメータが所定の閾値以上か否かを示す暗さフラグを設定する手段
(f)上記明るさパラメータの値と上記暗さフラグの内容とによって上記照明手段の点灯/消灯を制御することによって正反射を防止する手段
を設けた光学的情報読取装置である。
【0013】
【発明の実施の形態】
以下、この発明の好ましい実施の形態を図面を参照して説明する。
まず、この発明の光学的情報読取装置の実施形態であるマルチコードスキャナ(以下「スキャナ」という)のハードウェア構成について図1及び図2を用いて説明する。図1はそのスキャナの構成を示すブロック図、図2は図1に示したCMOSイメージセンサの構成をより詳細に示すブロック図である。
このスキャナ1は、バーコードとニ次元コードの両方を読み取ることができるスキャナであり、図1に示すように、別基板となっている光学ヘッド10及びデコーダ30を備え、ホストコンピュータ2に接続されている。ホストコンピュータ2は、スキャナ1によってコードを読み取って得たデコード後のデータを処理する装置である。
【0014】
そして、スキャナ1の光学ヘッド10は、レンズ11,CMOSイメージセンサ12,ガイド用LED13,照明用LED14を備えている。レンズ11は、読み取り対象の情報を含むコード記号面3からの反射光をCOMSイメージセンサ12上に結像させるためのものであり、CMOSセンサ12はその画像を設定されたゲイン値とシャッタ速度(シャッタ開時間で表わす。以下同じ。)で画像データとして取り込む画像データ取込手段である。また、ガイド用LED13は読み取り対象のコード記号の範囲を示すガイド光を照射するためのLEDであり、照明用LED14はコード記号自体を照明する照明手段である。
【0015】
このうちCMOSイメージセンサ12は、図2に示すように、イメージエリア21,CDS(二重相関サンプリング)回路22,AGC(自動ゲイン制御)回路23,A/D変換回路24,タイミングジェネレータ25,デコーダ回路26,基準電圧回路27を備えている。
イメージエリア21は、フォトダイオードが配列された受光部であり、CMOSイメージセンサ12で取り込むべき画像はこの部分に結像される。そして、その画像のデータはフォトダイオードに電荷として蓄積され、増幅トランジスタを介して電圧信号として取り出される。CDS回路22はこの信号のノイズを低減させるためのサンプリング処理を行う回路であり、AGC回路23はそのサンプリング後の信号がA/D変換回路24で適正に処理されるよう、基準電圧回路27からの基準電圧によってゲイン調整する回路である。
【0016】
A/D変換回路24はこのゲイン調整後の信号をA/D変換し、後段のデコーダ30のFPGA(Field Programmable Gate Array)32に送信する回路である。そしてまた、その信号を制御信号として基準電圧器を介してAGC回路23に帰還させる。
デコーダ回路26は、CPU31からの制御コマンドをデコードし、これに従って各部への制御信号を発する回路である。この制御コマンドにはシャッタ速度とゲイン値を設定するコマンドを含む。
【0017】
タイミングジェネレータ25は、マスタークロックMCKから、データ読み出しタイミングを制御するタイミング信号HD,VD,DATACLKを生成し、また、フォトダイオードへの電荷蓄積期間であるシャッタ速度も制御する回路である。シャッタ速度は、デコーダ回路26からの制御信号に従ってCPU31の指定するシャッタ速度になるよう制御する。
基準電圧回路27は、デコーダ回路26からの制御信号に従って基準電圧を発生させることにより、AGC回路23におけるゲインのレベルを、CPU31の指定するゲイン値に応じて調整する。
【0018】
なお、CMOSイメージセンサ12における動作、例えばイメージエリア21におけるデータ取り込みモードや、出力信号の形態、信号出力のタイミング、AGC回路23を制御するためのコマンド等は、図示しないインタフェースを介して、ホストコンピュータや操作子等により、外部から入力することも可能である。このようなコマンドも、デコーダ回路26によってデコードし、タイミングジェネレータ25,基準電圧回路27,AGC回路23等の必要な回路に制御信号を出力するようにするとよい。
【0019】
一方、デコーダ30はCPU31,FPGA32,RAM33,通信I/F34を備えている。CPU31は、このスキャナ1全体を統括制御する制御手段であり、FPGA32や、後に詳述するCMOSイメージセンサ12の各部の制御も行う。
FPGA32は、CMOSイメージセンサ12によって読み取った画像データに対し、二値化処理,ラプラシアンエッジ強調,ランレングス処理等の種々の画像処理を行うユニットである。なお、これらの処理を行うユニットとして、FPGA32に代えてASIC(特定用途向け集積回路)やゲートアレイを設けてもよい。また、ソフトウェアを用いて同様の処理を行ってもよい。
RAM33は、FPGA32による処理後の画像データを記憶したり、CPU31のワークメモリとして用いたり、その他このスキャナ1の動作に必要なデータを記憶したりする記憶手段である。なお、RAM33に記憶した画像データのデコード処理はCPU31が行う。また、RAM33の一部を不揮発性記憶手段で構成し、設定データ等を記憶させるようにするとよい。
【0020】
通信インタフェース(I/F)34は、スキャナ1をホストコンピュータ2と接続するためのインタフェースであり、CPU31はこの通信I/F34を介してデコード処理後のデータをホストコンピュータに送信することができる。また、CPU31が制御処理やデコード処理を行うために必要なプログラムは、デコーダ30側に記憶手段を設けて記憶させるようにしてもよいが、この通信I/F34を介してホストコンピュータ2から受信するようにしてもよい。
このようなスキャナ1によってコードを読み込む際には、外部光あるいは照明用LED14による照明光によるコード記号面3からの反射光をレンズ11によってCMOSイメージセンサ12のイメージエリア21上に結像させ、その画像を画素毎にフォトダイオードによって光電変換して増幅トランジスタを介して電圧信号として取り出す。そして、その信号に対してCDS回路22によってCDSを行い、AGC回路23によってゲイン調整を施し、A/D変換回路24によってデジタル画像データに変換する。
【0021】
この場合において、光電変換によって電荷を蓄積する期間を制御することによってシャッタ速度を定めることができ、ゲイン調整と合わせて、CMOSイメージセンサ12によってその画像を設定されたゲイン値とシャッタ速度で画像データとして取り込むことができる。
そして、取り込んだ画像データをデコーダ30でデコードしてコード記号がコードするデータに変換し、その結果を、通信I/F34を介してホストコンピュータ2に送信する。
【0022】
しかし一般には、このような読み取りを行う場合において、読み取り環境の明るさやコード記号面3の状態等により、必要な読み取り条件が異なるため、一度の読み取り動作で適当なデータが得られないことも多く、適当なデータが得られるまで条件を変更しながら読み取りを繰り返すことになる。この発明の特徴は、このような場合において、読み取りのゲイン値とシャッタ速度を適切に制御することにより、迅速な読み取りを可能としたことである。また、コード記号面3における正反射も読み取りの障害になるため、これを防止できるようにしたことも、この発明の特徴である。
【0023】
以下、上述したスキャナ1におけるコード読み取り時の処理について、これらの特徴に係る処理を中心に説明する。図3乃至図5はその処理を示すフローチャート、図6は読み取り画像の濃度の代表値を求める際の測光点について説明するための図である。
図1に示したスキャナ1は、図示しないトリガスイッチ等をオンすると、CPU31が所要のプログラムを実行することにより、図3に示す処理を開始する。
【0024】
まず、ステップS1で読み取り対象の情報であるコード記号面3の画像を画像データとして1フレーム取り込む。この取り込みは、CMOSイメージセンサ12を駆動し、上述したような取り込み動作を行わせることにより、設定されたゲイン値とシャッタ速度で行うことができる。
なお、画像のサイズはイメージエリア21の画素数によって決定されるが、ここでは縦480×横640画素とする。もちろんこの値に限られるものではない。また、画像データは各画素のビット数Lに応じて2のL乗通りの明度(濃度)レベルを表現できるが、ここではよく用いられるように各画素8ビットとし、白黒256階調の画像データとしている。従って、各画素の明度は0,1,…,255という整数の画素値で表現され、0が最も暗く、255が最も明るいものとする。
また、このステップS1においてFPGA32による画像処理まで行って画像データをRAM33に記憶させるものとする。
このステップS1の処理においては、CPU31がCMOSイメージセンサ12及びFPGA32を駆動することによって画像データ取り込み手段として機能する。
【0025】
次に、ステップS2で取り込んだ画像データについて明度の代表値Vを求める。
代表値Vは、画像の中央部の所定数の画素の明度をサンプリングし、そのデータを用いて求める。ここでは、図6に示すように、縦480×横640画素の画像データのうち中心部320×320画素の中から、抽出点の座標を縦横それぞれ10箇所選択し、この組み合わせの計100点でサンプリングする。また、各画素において、注目画素そのものの画素値ではなく、注目画素と隣接する4画素の画素値の平均をその注目画素の明度としてサンプリングを行う。例えば、図6に示した注目画素pの明度Pは、隣接する画素p1,p2,p3,p4の画素値をそれぞれP1,P2,P3,P4とすると、
P=(P1+P2+P3+P4)/4
で求める。
【0026】
そして、これら100点におけるサンプリング値のヒストグラムを求めて、上から特定の割合(例えば、10%)を削除してから、最大値(max)を求めて、これを取り込んだ画像データにおける明度の代表値Vと考える。
なお、従来の技術の項で述べたようにスキャナ1の利用環境に応じて光量が大きく異なるため、使用場所や使用状態によってサンプリング値全体の中の最大値はばらつきが大きくなる。そこで、上から特定の割合を削除して得た最大値を代表値Vとして用いることにしたものである。削除しすぎると、特に光沢のある被写体や小さな被写体で正確な測光が行えなくなることがあるが、出願人が統計をとった結果、5〜30%を削除することが適当であることがわかっている。
このステップS2の処理においては、CPU31が測光手段として機能する。
【0027】
以上の処理によって代表値Vが得られると、ステップS3に進む。ステップS3では、代表値Vの値がデコードに適した明度であるか否かを判断するが、この判断は、Vが140未満あるいは250以上であるか否かによって行う。ここで、代表値Vは上述のように明度のサンプリング値の上から特定の割合を除いた後の最大値であるので、これが必ずしも画素値の取り得る最大の値(ここでは255)でなくても、全体としては飽和が生じている場合もある。そこで、所定の飽和値Vsat(ここでは250)以上であれば飽和していると判断するようにしている。
Vが低域閾値の140未満であれば、全体として暗すぎるためデコードに適さないと判断し、250以上の場合は、代表値Vが飽和しているため適切な画像が得られていないと考えられ、やはりデコードに適さないと判断する。
従って、いずれかに該当した場合には、デコードは行わずに後述する露出制御処理を行う。この露出制御処理としては、照明用LED14のON/OFFを制御するステップS8の第1の露出制御処理と、ゲイン値とシャッタ速度を調整するステップS9の第2の露出制御処理を設けている。そして、ステップS3の判断でYESであった場合にはステップS7でVが250以上か否か判断し、250以上であれば、第1の露出制御処理はあまり効果がないので直ちにステップS9に進んで第2の露出制御処理を行い、250以上でなければ、すなわちVが140未満であれば、ステップS8に進んで第1の露出制御処理から行う。
【0028】
ステップS3の判断でNOであった場合には、代表値Vが適正値であると判断し、ステップS4に進んでデコード処理を行う。
なお、ステップS3の判定における閾値や飽和値は、これらに限られるものではなく、処理方式や読み取り対象に応じて適宜変更してよいし、画像データが255階調でない場合には当然別の値になる。
ステップS3の処理においては、CPU31が代表値判定手段として機能する。
【0029】
ステップS4でのデコード処理は、取り込んだ画像データをデコードする処理であるが、コードの種類を判定し、それに従って画像中のコード記号の位置及び角度を検出した後、コード記号に関する部分を復号してそのコード記号がコードするデータに変換して行う。この処理については、適宜公知の方法を採用すればよく、この発明の特徴部分ではないので、詳細な説明は省略する。
このステップS4の処理においては、CPU31がデコード手段として機能する。
【0030】
デコードが終了するとステップS5に進んでデコードが成功したか否か、すなわち適当なデータが得られたか否かを判断する。そして、成功していればステップS6に進んで得られたデータを読み取り結果としてホストコンピュータ2に出力して処理を終了する。しかし、成功していなければ、よりよい画像データを得るため、ステップS8からS9に進んで第1及び第2の露出制御処理を行う。
ステップS8の第1の露出制御処理は、上述の通り照明用LED14のON/OFFを制御する処理であり、図4に示すものである。
この処理においては、まずステップS11でコードが貼付されている物体(コード記号面3)周辺の明るさ、すなわちスキャナ1による読取対象の情報の周辺の明るさを示す明るさパラメータIを算出する。
【0031】
この明るさパラメータは、上述の代表値Vと、CMOSイメージセンサ12における暗電流によるオフセットV0,画像取り込み時のゲイン値G及びシャッタ速度(シャッタ開時間)Sとによって、
I=(V−V0)/(G×S)
なる式によって求められる。
図7は、照度のみを変化させて同一の条件で同一のコード記号面3を読み取って得た画像データについて、このように計算した明るさパラメータIを縦軸に、コード記号面3周辺の照度を横軸にとってプロットしたグラフである。なお、測定は照明用LED14を点灯した状態で行っている。図7に示した直線61は、プロットしたデータについて引いた回帰直線であり、直線の近傍に示した数式は、それぞれ縦軸をy軸、横軸をx軸とした場合の回帰直線の方程式を示すものである。
【0032】
図7からわかるように、明るさパラメータIとコード記号面3周辺の照度とはほぼ線形の関係があり、明るさパラメータIとルクス単位の照度ILとは、
I=0.4547×IL+339.46
なる式を用いて互いに換算することができる。
明るさパラメータIの算出後は、ステップS12で、照明用LED14がONであるか否か判断する。そして、ONであればステップS13に進み、明るさパラメータIが高域閾値Ibより大きくかつ暗さフラグが0か否か判断する。
【0033】
この処理について、まず高域閾値Ibは、例えば1500ルクスに相当する明るさパラメータIの値とすることができる。また、暗さフラグは、照明用LED14がOFFのときに読取対象の情報の周辺の明るさ(ここでは明るさパラメータIをもとに判断する)が所定の閾値以上であるか否かを示すフラグであり、前述した照明用LED14による投光が必要であるか否かを示すフラグである。値としては、明るさが所定の閾値以上の場合に0、閾値以下の場合に1を取るものとする。そして、コードの読み取り開始時(図3のフローチャートに示す処理の開始時)には、暗さフラグには初期値として0を設定するものとする。
【0034】
ステップS13の判断では、明るさパラメータIと暗さフラグの両方を判断条件とし、上記の判断がYESであれば、コード記号面3の周囲が明るくかつ正反射が生じている可能性があるので、ステップS14で正反射を防止するために照明用LED14をOFFにする。そして、第1の露出制御処理を終了して元の処理に戻る。
ステップS13の判断がNOであれば、そのまま元の処理に戻る。
【0035】
一方、ステップS12で照明用LED14がONでなければ、ステップS15に進み、明るさパラメータIが低域閾値Id未満か否か判断する。この低域閾値Idは、例えば50ルクスに相当する明るさパラメータIの値とすることができる。
ステップS15でId未満であれば、コード記号面3の周辺が暗いと判断し、ステップS16でこのことを示すため暗さフラグを1にすると共に、ステップS17で照明用LED14をONにして読み取り対象の明るさを増すようにする。そして、第1の露出制御処理を終了して元の処理に戻る。
【0036】
ステップS15でId未満でなければ、コード記号面3の周辺は照明用LED14をONにするほど暗くはないと判断し、そのまま元の処理に戻る。
以上の第1の露出制御処理により、照明用LED14のON/OFFによるコード記号面3の周辺の照度調整とそれに伴う正反射の防止処理を行うことができる。そして、この処理は、容易に算出できる明るさパラメータIの大きさと、暗さフラグの状態とを参照して行うので、極めて小さい負荷で行うことができる。
【0037】
第1の露出制御処理が終了すると、図3のステップS9に示すように、第2の露出制御処理を行う。この処理は、上述の通りゲイン値とシャッタ速度を調整する処理であり、図5に示すものである。
この処理においては、まずステップS21で、図3のステップS2で求めた明度の代表値Vが250以上であるか否か判断する。そして、V≧250であれば、明度が飽和しており、画像が明るすぎて適切な調整が行えないので、単純に明度を落とした画像を得るべく、ステップS27に進んでシャッタ速度を1/m倍に変更し、元の処理に戻る。ここで、mは任意に定めた2以上の整数であり、例えばm=4とするとよい。
ステップS21でV≧250でなければ、ステップS22で、シャッタ速度を変えずに明度の代表値が所定の目標値Vtになるような新たなゲイン値G′を求める。ここでは、図3のステップS3の判断でV<140又はV≧250の場合にVが不適切であるとしているので、Vtとしてはこの範囲外に適当な値を定めることになる。
【0038】
ここで、G′の求め方について説明する。一般に、画像取り込み時のゲイン値をG,シャッタ速度をS,新たなゲイン値をG′,新たなシャッタ速度をS′,暗電流によるオフセットをV0とすると、VとVtとの間には、
(V−V0)/(G×S)=(Vt−V0)/(G′×S′)
なる関係が成り立つ。
従って、G×Sの値を、
Δ(G×S)=(G′×S′)−(G×S)
=G×S×(Vt−V)/(V−V0)
で示される値だけ調整すれば、明度の代表値VはVtになると予想できる。
ここでは、シャッタ速度を変えずにゲイン値のみで調整した場合の新たなゲイン値G′を求めるので、Sは一定として、
ΔG=G′−G=G×(Vt−V)/(V−V0)
なる式が得られる。
【0039】
しかし、この値をそのままゲイン値にフィードバックすると、応答は速いが、Vが目標値を超え、ハンチング(発振)が生じる恐れがある。そこで、これに0<γ1≦1の範囲で定める第1のフィードバック係数γ1を乗じた値をフィードバックするものとし、
G′=(1+γ1(Vt−V)/(V−V0))×G
なる式によって新たなゲイン値G′を定めるとよい。ここで、γ1の値はハンチングを起こさない範囲を調べ、その中でできるだけ大きい値とするのがよいが、発明者らの実験によれば、1/2から3/4程度が適当であることがわかっている。
なお、以上の算出過程において第1の露出制御処理において照明用LED14のON/OFFを切り換えたか否かは考慮していないが、この切り換えは代表値Vの値にさほど大きな影響は及ぼさないし、ON/OFFを切り換えた場合でもその次のフレームからは新たなON/OFF状態に応じたゲイン値及びシャッタ速度の調整を行うことができるので、考慮しなくても特に問題とはならない。すなわち、照明用LED14のON/OFFによらず同一のアルゴリズムで調整を行うことができる。
また、ゲイン値及びシャッタ速度の初期値を、ON状態用とOFF状態用にそれぞれ記憶しておき、照明用LED14のON/OFFを切り換えた場合にはまずこの初期値を設定して、その後調整を行うようにしてもよい。
このステップS21の処理において、CPU31がゲイン値算出手段として機能する。
【0040】
G′は以上のように定めることができるが、ここでのG′の算出に当たっては、実際にCMOSイメージセンサ12に設定可能なゲイン値の範囲を考慮していない。そこで、ステップS22で以上のように新たなゲイン値G′を定めると、ステップS23に進み、CMOSイメージセンサ12に設定可能なゲイン値の下限を低域閾値GLとして、G′がGL以上か否か判断する。
GL以上でなければ、G′は小さすぎて適切な画像を得られないと考えられるため、ステップS24に進み、新たなゲイン値G′をγ2×n倍にすると共にシャッタ速度Sをγ3×(1/n)倍に変更する。画像の明るさは概ねゲイン値とシャッタ速度の積に比例するので、このような調整を行っても予想される代表値Vの値は変化しない。ここで、nは任意に定めた2以上の整数、γ2は0<γ2≦
1の範囲で定めるゲイン値のための第2のフィードバック係数、γ3は0<γ3≦1の範囲で定めるシャッタ速度のための第3のフィードバック係数である。nは例えばn=2とするとよい。
ステップS24の後は、ステップS23に戻って処理を繰り返す。
【0041】
ステップS23でGL以上であれば、ステップS25に進んで、CMOSイメージセンサ12に設定可能なゲイン値の上限を高域閾値GHとして、G′がGH以下か否か判断する。
GH以下でなければ、G′は大きすぎて適切な画像を得られないと考えられるため、ステップS26に進み、新たなゲイン値G′をγ2×(1/n)倍にすると共にシャッタ速度Sをγ3×n倍に変更する。このような調整を行っても予想される代表値Vの値が変化しないことは、ステップS24の場合と同様である。
ステップS26の後は、ステップS23に戻って処理を繰り返す。
【0042】
ステップS25でGH以下であれば、新たなゲイン値G′は設定可能な値であるので、第2の露出制御処理を終了して元の処理に戻る。
以上の処理のうち、ステップS23及びステップS25の処理においてはCPU31がゲイン値判定手段として機能する。また、ステップS24及びステップS26の処理においては、後述する図3のステップS10の処理と合わせ、CPU31がゲイン値/シャッタ速度制御手段として機能する。
【0043】
図3の説明に戻ると、第2の露出制御処理の終了後は、ステップS10で、新たなゲイン値G′とシャッタ速度S(図5のステップS24又はS26で変更されていれば変更後のもの)の条件で再度CMOSイメージセンサ12を駆動し、1フレーム分の画像データの取り込みを行わせる。
以上のステップS8乃至S10の処理において、CPU31が露出制御手段として機能する。
ステップS10で新たな画像データを取り込んだ後は、ステップS2に戻って処理を繰り返す。そして、最終的に適当なデコード結果が得られるまで露出制御を行いながら画像データの取り込みを繰り返す。このとき、所定回数以内に適当なデコード結果が得られない場合にはエラーとして取り扱うようにしてもよい。
【0044】
以上のような処理を行うことにより、得られる画像の明度を主としてゲイン値を変化させることによって調整するため、その結果は直ちに次のフレームに反映され、シャッタ速度を変化させる場合のような1フレーム分(通常は30ミリ秒程度)のタイムラグが生じないので、露光調整を高速に行ってコードの読み取り速度を向上させることができる。ゲインのみで調整しきれない場合にはシャッタ速度の変更も行うが、露光調整はなるべくゲイン値によって行い、シャッタ速度はできるだけ固定するようにしているので、十分に読み取りの高速化を図ることができる。
また、照明用LEDのON/OFFによってコード記号面の明度調整や正反射の防止を図る処理も、この用途のために複雑な演算を行うことなく、ゲイン値/シャッタ速度調整のための代表値Vを流用して簡単な演算で行うことができる。従って、コードの読み取り速度にほとんど影響を与えることなくコード記号面の明度調整や正反射の防止を行うことができる。
なお、以上説明した実施形態では、この発明をマルチコードスキャナに適用した例について説明したが、この発明はこれに限られるものではなく、バーコードスキャナや2次元コードスキャナ等、記録媒体に記録された光学的パターンを始めとする光学的情報を読み取る光学的情報読取装置に広く適用することができる。
【0045】
【発明の効果】
以上説明してきたように、この発明の光学的情報読取装置によれば、得られる画像の明度を主としてゲイン値を変化させることによって調整するため、その結果は直ちに次のフレームに反映され、露光調整を高速に行ってコードの読み取り速度を向上させることができる。
【図面の簡単な説明】
【図1】この発明の光学的情報読取装置の実施形態であるスキャナの構成を示すブロック図である。
【図2】図1に示したCMOSイメージセンサの構成をより詳細に示すブロック図である。
【図3】図1に示したスキャナにおけるコード読み取り時の処理を示すフローチャートである。
【図4】図3に示した第1の露出制御処理の内容を示すフローチャートである。
【図5】図3に示した第2の露出制御処理の内容を示すフローチャートである。
【図6】読み取り画像の濃度の代表値を求める際の測光点について説明するための図である。
【図7】明るさパラメータとコード記号面の周辺の照度との関係を示すグラフである。
【図8】CMOSセンサにおける電子シャッタの制御タイミングを示した図である。
【符号の説明】
1:スキャナ 2:ホストコンピュータ
3:コード記号面 10:光学ヘッド
11:レンズ 12:CMOSイメージセンサ
13:ガイド用LED 14:照明用LED
21:イメージエリア 22:CDS回路
23:AGC回路 24:A/D変換回路
25:タイミングジェネレータ 26:デコーダ回路
27:基準電圧回路 30:デコーダ
31:CPU 32:FPGA
33:RAM 34:通信I/F
Claims (3)
- 読取対象の情報の画像を、設定されたゲイン値とシャッタ速度で画像データとして取り込む画像データ取込手段と、
該手段が取り込んだ画像データについて明度の代表値を求める測光手段と、
該手段によって求めた代表値が飽和しておらずかつ予め定めた低域閾値よりも大きい適正値か否かを判定する代表値判定手段と、
該手段が前記代表値を適正値と判定した場合に前記取り込んだ画像データをデコードするデコード手段と、
前記代表値判定手段が前記代表値を適正値でないと判定した場合に露出条件を変更し、変更後の条件で前記画像データ取り込み手段に再度画像データの取り込みを行わせる露出制御手段とを備え、
該露出制御手段が、
(a)前記画像データ取り込み手段のシャッタ速度を変えずに前記明度の代表値が所定の目標値になるような新たなゲイン値を算出するゲイン値算出手段
(b)該手段が算出した新たなゲイン値を所定の高域閾値及び低域閾値と比較するゲイン値判定手段
(c)該手段が前記新たなゲイン値が前記低域閾値以上かつ前記高域閾値以下であると判定した場合には前記シャッタ速度を変更せずに前記新たなゲイン値を前記ゲイン値として採用し、それ以外の場合には比較結果に従って前記新たなゲイン値を変更して前記ゲイン値として採用すると共にそれに応じて前記シャッタ速度を変更し、それぞれ前記ゲイン値とシャッタ速度の条件で前記画像データ取り込み手段に再度画像データの取り込みを行わせるゲイン値/シャッタ速度制御手段
を有し、
前記ゲイン値算出手段は、前記代表値をV,前記目標値をV t ,前記画像データ取込手段における暗電流によるオフセットをV 0 ,画像データ取り込み時のゲイン値をG,前記新たなゲイン値をG′,0<γ 1 ≦1の範囲で定める第1のフィードバック係数をγ 1 として、
G′=(1+γ 1 (V t −V)/(V t −V 0 ))×G
なる式によって前記新たなゲイン値を算出し、
任意に定めた2以上の整数をn,0<γ 2 ≦1の範囲で定める第2のフィードバック係数をγ 2 ,0<γ 3 ≦1の範囲で定める第3のフィードバック係数をγ 3 として、
前記ゲイン値/シャッタ速度制御手段は、前記新たなゲイン値が前記低域閾値より小さい値であった場合には前記新たなゲイン値をγ 2 ×n倍に変更すると共に前記シャッタ速度をγ 3 ×(1/n)倍に変更し、前記新たなゲイン値が前記高域閾値より大きい値であった場合には前記新たなゲイン値をγ 2 ×(1/n)倍に変更すると共に前記シャッタ速度をγ 3 ×n倍に変更する機能を有することを特徴とする光学的情報読取装置。 - 請求項1記載の光学的情報読取装置であって、
前記読取対象の情報を照明する照明手段を有し、
前記露出制御手段がさらに、
前記読取対象の情報の周辺の明るさを示す明るさパラメータを算出する手段と、
前記明るさパラメータが所定の閾値以上か否かを示す暗さフラグを設定する手段と、
前記明るさパラメータの値と前記暗さフラグの内容とによって前記照明手段の点灯/消灯を制御することによって正反射を防止する手段とを有することを特徴とする光学的情報読取装置。 - 読取対象の情報の画像を、設定されたゲイン値とシャッタ速度で画像データとして取り込む画像データ取込手段と、
該手段が取り込んだ画像データについて明度の代表値を求める測光手段と、
該手段によって求めた代表値が飽和しておらずかつ予め定めた低域閾値よりも大きい適正値か否かを判定する代表値判定手段と、
該手段が前記代表値を適正値と判定した場合に前記取り込んだ画像データをデコードす るデコード手段と、
前記代表値判定手段が前記代表値を適正値でないと判定した場合に露出条件を変更し、変更後の条件で前記画像データ取り込み手段に再度画像データの取り込みを行わせる露出制御手段と、
前記読取対象の情報を照明する照明手段とを備え、
該露出制御手段が、
(a)前記画像データ取り込み手段のシャッタ速度を変えずに前記明度の代表値が所定の目標値になるような新たなゲイン値を算出するゲイン値算出手段
(b)該手段が算出した新たなゲイン値を所定の高域閾値及び低域閾値と比較するゲイン値判定手段
(c)該手段が前記新たなゲイン値が前記低域閾値以上かつ前記高域閾値以下であると判定した場合には前記シャッタ速度を変更せずに前記新たなゲイン値を前記ゲイン値として採用し、それ以外の場合には比較結果に従って前記新たなゲイン値を変更して前記ゲイン値として採用すると共にそれに応じて前記シャッタ速度を変更し、それぞれ前記ゲイン値とシャッタ速度の条件で前記画像データ取り込み手段に再度画像データの取り込みを行わせるゲイン値/シャッタ速度制御手段
(d)前記読取対象の情報の周辺の明るさを示す明るさパラメータを算出する手段
(e)前記明るさパラメータが所定の閾値以上か否かを示す暗さフラグを設定する手段
(f)前記明るさパラメータの値と前記暗さフラグの内容とによって前記照明手段の点灯/消灯を制御することによって正反射を防止する手段
を有することを特徴とする光学的情報読取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002382220A JP4226895B2 (ja) | 2002-12-27 | 2002-12-27 | 光学的情報読取装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002382220A JP4226895B2 (ja) | 2002-12-27 | 2002-12-27 | 光学的情報読取装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004213331A JP2004213331A (ja) | 2004-07-29 |
JP4226895B2 true JP4226895B2 (ja) | 2009-02-18 |
Family
ID=32817854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002382220A Expired - Fee Related JP4226895B2 (ja) | 2002-12-27 | 2002-12-27 | 光学的情報読取装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4226895B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006098955A2 (en) * | 2005-03-11 | 2006-09-21 | Hand Held Products, Inc. | Bar code reading device with global electronic shutter control |
US7568628B2 (en) | 2005-03-11 | 2009-08-04 | Hand Held Products, Inc. | Bar code reading device with global electronic shutter control |
US7770799B2 (en) | 2005-06-03 | 2010-08-10 | Hand Held Products, Inc. | Optical reader having reduced specular reflection read failures |
JP4572871B2 (ja) * | 2006-05-29 | 2010-11-04 | 株式会社デンソーウェーブ | 光学情報読取装置 |
JP4622992B2 (ja) * | 2006-11-16 | 2011-02-02 | 株式会社デンソーウェーブ | 光学情報読取装置 |
JP2008123562A (ja) * | 2008-02-22 | 2008-05-29 | Casio Comput Co Ltd | コード読み取り装置 |
JP4586862B2 (ja) * | 2008-02-22 | 2010-11-24 | カシオ計算機株式会社 | コード読み取り装置 |
JP5581156B2 (ja) * | 2010-09-17 | 2014-08-27 | 株式会社キーエンス | 光学情報読取装置の照明設定支援装置 |
JP5581157B2 (ja) * | 2010-09-17 | 2014-08-27 | 株式会社キーエンス | 光学情報読取装置の照明設定支援装置 |
JP2014056382A (ja) * | 2012-09-12 | 2014-03-27 | Mitsubishi Electric Corp | 2次元コード読取装置および2次元コード読取方法 |
JP5701433B2 (ja) * | 2014-07-09 | 2015-04-15 | 株式会社キーエンス | 光学情報読取装置の照明設定支援装置 |
JP6503478B2 (ja) | 2016-01-20 | 2019-04-17 | 株式会社Pfu | モバイル端末、画像処理方法、および、プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08161423A (ja) * | 1994-12-06 | 1996-06-21 | Dainippon Printing Co Ltd | 照明装置および文字読取装置 |
JP3814988B2 (ja) * | 1997-10-27 | 2006-08-30 | 株式会社デンソー | 2次元コード読取装置 |
-
2002
- 2002-12-27 JP JP2002382220A patent/JP4226895B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004213331A (ja) | 2004-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7224397B2 (en) | AF control apparatus and AF control method | |
US7714928B2 (en) | Image sensing apparatus and an image sensing method comprising a logarithmic characteristic area and a linear characteristic area | |
US8363131B2 (en) | Apparatus and method for local contrast enhanced tone mapping | |
US6549239B1 (en) | Smart progressive-scan charge-coupled device camera | |
US7546026B2 (en) | Camera exposure optimization techniques that take camera and scene motion into account | |
US7508422B2 (en) | Image sensing apparatus comprising a logarithmic characteristic area and a linear characteristic area | |
US7965327B2 (en) | Method and apparatus for detecting camera sensor intensity saturation | |
JP4226895B2 (ja) | 光学的情報読取装置 | |
US20010055428A1 (en) | Image signal processor with adaptive noise reduction and an image signal processing method therefor | |
JP4083042B2 (ja) | 画像読取り装置,画像読取り方法 | |
WO1997042756A9 (en) | Smart progressive-scan charge-coupled device camera | |
JP4523629B2 (ja) | 撮像装置 | |
EP0719032B1 (en) | Apparatus for reading image and method therefor | |
US20060188243A1 (en) | Image sensor and camera system having the same | |
US7773805B2 (en) | Method and apparatus for flare cancellation for image contrast restoration | |
JP2008227625A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、記録媒体 | |
JP3087684B2 (ja) | 画像読取装置 | |
CN100525383C (zh) | 图像数据噪声降低设备及其控制方法 | |
JP6346417B2 (ja) | 撮像装置、その制御方法および制御プログラム | |
US8233192B2 (en) | Control circuit of image reader, image reader, control method of image reader, and program | |
JP2006081087A (ja) | 撮像装置および撮像方法 | |
JP3701094B2 (ja) | 画像読取装置 | |
JP2001060244A (ja) | バーコード読取装置 | |
JP2009200623A (ja) | 原稿読み取り装置 | |
JP2001111888A (ja) | デジタルカメラおよびその文字撮影方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080304 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081127 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131205 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |