2次元コード読取装置および2次元コードの読取方法
【課題】 安価で広域な検出範囲を持つ2次元コード読取装置を提供する。
【解決手段】 固定部2と、ラインセンサ7を設けた回転部5とからなり、モータ3により回転部5を回転させた状態でラインセンサ7の受光部を2次元コードに対向させる。主制御部9は、ラインセンサ7から出力される画像データを光通信素子12b、16bを介して入力し、その画像データをラインセンサ7の回転角度に応じて再配置処理して2次元コードの画像データを作成しデコードする。
【解決手段】 固定部2と、ラインセンサ7を設けた回転部5とからなり、モータ3により回転部5を回転させた状態でラインセンサ7の受光部を2次元コードに対向させる。主制御部9は、ラインセンサ7から出力される画像データを光通信素子12b、16bを介して入力し、その画像データをラインセンサ7の回転角度に応じて再配置処理して2次元コードの画像データを作成しデコードする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ラインセンサを用いて2次元コードを読み取る2次元コード読取装置および2次元コードの読取方法に関する。
【背景技術】
【0002】
特許文献1には、ラインセンサを用いてバーコードを読み取る回転式走査線バーコードスキャナが示されている。このスキャナは、所定のバーコードに対し走査線となる光を発する発光部と、発光部から放射された走査線のバーコードからの反射光を受光し光電変換により電気信号を出力する受光部と、これら発光部および受光部を収納する読取り部と、読取り部を回転させるモータとから構成されている。
【0003】
発光部より放射された走査線は、読取り部が回転することにより、走査線を直径とした円形の読取り範囲を作り出す。この範囲内にバーコードがあり、且つ、バーコードが円の直径(走査線)に対し直角に交差していれば、すべてのバーコードを同時にスキャンでき、発光部とともに回転している受光部は、受光した反射光を光電変換して電気信号を出力する。
【特許文献1】特開平9−231308号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
近年、バーコードに比べて多くの情報を記録でき、かな・漢字のコード化ができ、多少の汚れ・破損があっても情報を復元できる2次元コードが広く用いられている。しかしながら、従来の2次元コード読取装置は、CCDエリアセンサを備えているため高価であり、その検出範囲も狭かった。
本発明は上記事情に鑑みてなされたもので、その目的は、安価で広域な検出範囲を持つ2次元コード読取装置および2次元コードの読取方法を提供することにある。
【課題を解決するための手段】
【0005】
請求項1、10に記載した手段によれば、回転駆動手段により回転部が回転すると、回転部に設けられたラインセンサは、その光電変換素子からなる受光部が一定方向(被検出2次元コードの方向)を向いた状態を保って回転する。画像データ処理手段は、回転部が回転した状態でラインセンサを駆動制御し、ラインセンサの各光電変換素子から出力される画素データを入力して記憶手段に記憶させ、その記憶された画素データをラインセンサの回転角度に応じて再配置処理する。
【0006】
ここでの再配置処理とは、記憶手段に記憶された画素データを実際に移動させる処理、記憶手段のアドレスを読み替える変換テーブルを書き換える処理など、回転状態で取得した画素データをラインセンサの回転角度に応じて実体的にまたは仮想的に並び替え、画素データ同士の関係を静止状態で取得した場合と同様の関係に変換する処理をいう。換言すれば、回転座標系から直交座標系への座標変換処理である。
【0007】
デコード手段は、変換後の直交座標系の画像データに表わされた2次元コードをデコードし、その2次元コードに記録された情報を取得する。本手段によれば、エリアセンサに替えてラインセンサを用いて2次元コードを読み取ることができるので、2次元コード読取装置のコストを下げることができる。また、ラインセンサを回転させることにより、そのラインセンサの受光部が通過する軌跡からなる広範な領域について画像(2次元コード)を読み取ることができる。
【0008】
請求項2に記載した手段によれば、ラインセンサの端部またはラインセンサに沿ってその端部から外側に延長された線上に回転中心が位置する。前者の場合には、回転部が回転した状態で、ラインセンサの受光部の長さを半径とする円形領域内の画像を読み取ることができる。また、後者の場合には、回転部が回転した状態で、(回転中心からラインセンサまでの距離+ラインセンサの受光部の長さ)を半径とする円形領域から、回転中心からラインセンサまでの距離を半径とする円形領域を除いた領域内の画像を読み取ることができる。
【0009】
請求項3に記載した手段によれば、画像データ処理手段は、ラインセンサの受光部を構成する各光電変換素子について、回転中心からの距離が大きいものほど単位時間当たりの画素データの取り込み回数を増やす。一定の角速度であっても回転中心からの距離が大きい光電変換素子ほど線速度が増加するため、本手段を採用することにより、内周側に位置する光電変換素子を用いて得られる画像と外周側に位置する光電変換素子を用いて得られる画像の分解能の差を低減することができる。
【0010】
請求項4に記載した手段によれば、ラインセンサは、複数のラインセンサが列状に(例えば隣接するラインセンサの光電変換素子が連続し且つ全体として直線となるように)組み合わされて構成され、画像データ処理手段は、その組み合わされる複数の各ラインセンサについて、回転中心からの距離が大きいものほど駆動周波数を高めて単位時間当たりの画素データの取り込み回数を増やす。本手段によれば、内周側に位置するラインセンサの光電変換素子を用いて得られる画像と外周側に位置するラインセンサの光電変換素子を用いて得られる画像の分解能の差を低減することができる。
【0011】
請求項5に記載した手段によれば、ラインセンサは、受光部の長さが異なる複数のラインセンサが、回転中心からの距離が大きくなるほどより多く配置されるように組み合わされて構成されている。例えば、最も長い受光部を持つラインセンサの一端部を回転中心とする場合には、当該ラインセンサの他端部の回転軌跡と同じ回転軌跡を描くように他のラインセンサの外周側端部を定め、その外周側端部から回転中心に向かって当該他のラインセンサを配置すればよい。
【0012】
画像データ処理手段は、回転中心から同じ距離にある複数のラインセンサの光電変換素子が互いに補間する位置関係にある画素データを出力するように各ラインセンサを駆動制御するので、ラインセンサの構成数が増える外周側ほど角度分解能が高くなり、内周側に位置するラインセンサの光電変換素子を用いて得られる画像と外周側に位置するラインセンサの光電変換素子を用いて得られる画像の分解能の差を低減することができる。
【0013】
請求項6に記載した手段によれば、固定部と回転部は、固定部から回転部に電源を供給するための非接触給電部と、互いに通信を行うための非接触通信部とを備えているので、固定部に対して電源を供給すればよく、また、固定部を介してラインセンサを制御することができる。この場合、請求項7に記載したように、非接触給電部を電磁結合手段により構成し、非接触通信部を電磁結合手段または光結合手段により構成するとよい。
【0014】
請求項8に記載した手段によれば、記憶手段、画像データ処理手段およびデコード手段を固定部に設けたので、回転部の構成をより簡単化、軽量化することができる。
【0015】
請求項9に記載した手段によれば、記憶手段、画像データ処理手段およびデコード手段を回転部に設け、固定部に、デコード手段から出力されるデコードデータを記憶する読取データ記憶手段を設けた。この場合、例えば回転部に無線通信手段を備え、デコードデータを無線通信により外部機器に送るように構成してもよい。
【発明を実施するための最良の形態】
【0016】
(第1の実施形態)
以下、本発明の第1の実施形態について図1ないし図7を参照しながら説明する。
図3は、2次元コード読取装置の(a)上面図、(b)正面図、(c)下面図である。2次元コード読取装置1は、直方体の外観形状を持つ固定部2と、この固定部2の底面側にモータ3の回転軸4により回転可能に支承された回転部5とから構成されている。固定部2の上面には、電源供給および信号入出力のためのコネクタ6が設けられている。回転部5は、一方向に長い板状の形状を持ち、その下面には前記一方向(長尺方向)に沿ってラインセンサ7(一次元センサ)が埋設され、さらにラインセンサ7の受光面を下方から覆うようにレンズ8が取り付けられている。回転軸4は、ラインセンサ7の一端部に対応して取り付けられている。
【0017】
図1は、2次元コード読取装置1の電気的構成を示す機能ブロック図である。固定部2は、モータ3、コネクタ6、主制御部9、電源回路10、モータ駆動回路11、一対の光通信素子12(送信用12a、受信用12b)および電源供給用のコイル13を備えており、回転部5は、ラインセンサ7、レンズ8、制御回路14、電源回路15、一対の光通信素子16(受信用16a、送信用16b)および電源供給用のコイル17を備えている。ここで、モータ3とモータ駆動回路11は、本発明でいう回転駆動手段を構成する。
【0018】
電源回路10は、外部からコネクタ6を通して与えられる電源電圧を入力し、それを必要な電源電圧に変換して主制御部9およびモータ駆動回路11に供給するとともに、電源供給用のコイル13に対し高周波電圧を供給するようになっている。図4(a)、(b)は、それぞれ固定部2の下面図、回転部5の上面図である。偏平円形状に巻回されてなる電源供給用のコイル13と17(非接触給電部、電磁結合手段に相当)は、それぞれ固定部2の下面と回転部5の上面に対向した状態に配設されており、回転部5が静止した状態あるいは回転した状態の何れの状態であっても、コイル13と17との電磁結合によって、コイル17に高周波電圧が誘起されるようになっている。回転部5に設けられた電源回路15は、この誘起電圧に基づいて制御回路14に対し電源電圧を供給するようになっている。
【0019】
一対の光通信素子12a、12bは、図4(a)に示すように、固定部2の下面において回転軸4に対し点対称となる位置に設けられている。同様に、一対の光通信素子16a、16bは、図4(b)に示すように、回転部5の上面において回転軸4に対し点対称となる位置に設けられている。これら光通信素子12a、12b、16a、16b(非接触通信部、光結合手段に相当)は、回転中心から同じ距離に設けられているので、回転部5が回転している時に1回転1度ずつ光通信素子12aと16a、光通信素子12bと16bがそれぞれ対向した状態となり、双方向の通信が可能となる。光通信素子12a、16bは、例えば発光ダイオードから構成され、光通信素子12b、16aは、例えばフォトダイオードなどのフォトセンサから構成されている。
【0020】
図2は、主として主制御部9の電気的構成を示す機能ブロック図である。主制御部9は、ワンチップまたは複数チップの集積回路として構成されており、CPU18、ゲートアレイからなるモータ制御回路19、電気的書き換え可能な不揮発性メモリ例えばフラッシュメモリ20、DRAM21、ゲートアレイからなる画像データ処理回路22および通信回路23から構成されている。
【0021】
フラッシュメモリ20には制御プログラムが記憶されており、CPU18(デコード手段に相当)は、フラッシュメモリ20に記憶された制御プログラムを読み出して実行することにより、モータ3の制御、ラインセンサ7の駆動制御、画像データ処理、2次元コードのデコード処理などを統括制御するようになっている。モータ制御回路19は、CPU18の指令の下で、モータ3が指令回転速度で回転するようにモータ駆動回路11(図1参照)を制御するものである。モータ駆動回路11は、モータ3の通電を制御するドライバである。
【0022】
画像データ処理回路22(画像データ処理手段に相当)は、ラインセンサ7にクロックを供給してラインセンサ7を駆動するとともに、ラインセンサ7から出力される画素データをDRAM21(記憶手段に相当)に格納し、後述する再配置処理を実行するようになっている。ここで、ラインセンサ6は、例えば2048個の光電変換素子がライン状に配設された受光部と、この受光部の各光電変換素子に蓄積されたそれぞれの電荷を読み出して一方向に沿って転送させるための電荷転送路と、この電荷転送路から順次転送されてくる電荷を電圧に変換させる出力検出部とを備えている。
通信回路23は、外部装置(図示せず)から制御プログラムを受信し、あるいは外部装置に対して2次元コードのデコードデータを出力するようになっている。
【0023】
次に、本実施形態の作用について図5ないし図7も参照しながら説明する。
2次元コードの読み取りは、まず2次元コード読取装置1の固定部2を把持するなどして固定し、回転部5の下面側を2次元コード(例えばQRコード(登録商標))に対向させ、コネクタ6を通して電源電圧と読取り開始信号を与える。これに替えて固定部2にバッテリと操作手段(例えばスイッチ)とを設け、スイッチを操作して読取り開始信号を与えるように構成してもよい。また、回転部5に照明手段を設けてもよいが、その場合には回転部5の重量が増加するとともにコイル13、17を通した供給電力が増えるため、本実施形態では別に照明手段を設けている(図示せず)。
【0024】
CPU18は、読取り開始信号を入力すると、モータ駆動回路11に回転速度指令を出力する。この場合の指令回転速度の設定は、画像処理を簡単化するという観点から一定回転速度とすることが好ましい。図5は、回転部5の回転中におけるラインセンサ7の回転位置と、ラインセンサ7から出力される画像データ(2048個の画素データの集合)の関係を模式的に表わしたものである。
【0025】
画像データ処理回路22は、ラインセンサ7に所定のクロックを供給し、所定のスキャンレート(単位時間当たりの画像データの取り込み回数)でラインセンサ7を駆動する。一定の回転速度および一定のスキャンレートの下では、図5に示すように、一定角度ごとに回転中心から放射線状に延びる直線領域の画像データが得られる。ただし、図5では、説明の便宜上、各直線領域の角度間隔が実際よりもかなり大きく描かれている。画像データは、制御回路14から光通信素子12b、16bを介して画像データ処理回路22へと入力される。
【0026】
図6は、ラインセンサ7から出力された画像データのDRAM21への格納方法を模式的に示している。すなわち、画像データ処理回路22は、上記各直線領域についてラインセンサ7から出力された画像データを、当該画像データが取得された時のラインセンサ7の角度データに関連付けて、例えば低アドレス側から高アドレス側に順次格納する。そして、各スキャンごとに取得された画像データを、その関連付けられた角度データに基づいて再配置処理する。
【0027】
この画像データの再配置処理は、DRAM21に記憶された各画素データを実際にアドレス移動させる処理、DRAM21のアドレスを読み替える変換テーブルを書き換える処理など、回転状態で取得した画素データをラインセンサ7の回転角度に応じて実体的にまたは仮想的に並び替え、画素データ同士の関係を静止状態で取得した場合と同様の関係に変換する処理である。
【0028】
ここで、図7を参照しながら、ラインセンサ7に与えるクロック周波数fと回転部5の回転速度ωと画像再配置の関係を具体的に説明する。
ラインセンサ7に与えるクロック周波数fを10MHzとし、ラインセンサ7の画素数Nを2048とすれば、1ラインの画素データを読み出すのに要する時間trは、以下の(1)式のようになる。
tr=(1/f)×N=1/10MHz×2048=0.2048ms …(1)
【0029】
回転部5の回転速度ωを1200rpmとすれば、時間trの間にラインセンサ7が動く回転角度Δθは、以下の(2)式のようになる。
Δθ=tr×(ω/60)×360
=0.2048ms×(1200/60)×360=1.47° …(2)
【0030】
従って、ラインセンサ7の一端部(回転中心)から他端部(外周側)に向かって1ラインの画素データを順次読み出す場合において、ラインセンサ7の一端部の画素データを読み出した時のラインセンサ7がちょうど図7に示すX軸に一致していた場合、ラインセンサ7の他端部の画素データを読み出した時の当該他端部の座標(X,Y)は、次の(3)式、(4)式のようになっている。
X=ラインセンサ7の受光部の長さ×cos(1.47°) …(3)
Y=ラインセンサ7の受光部の長さ×sin(1.47°) …(4)
【0031】
このように、1ラインの画素データの読み出し時間(取得時間)内にもラインセンサ7は回転しているため、画像データの再配置処理は、実際に各画素データを取得した時間のずれに合わせて画素データごとに角度補正処理を実行する必要がある。この再配置処理が終了すると、CPU18は、得られた2次元コードの画像データをデコード処理し、2次元コードに記録された情報(デコードデータ)をコネクタ6を通して外部装置に出力する。
【0032】
以上説明したように、本実施形態の2次元コード読取装置1は、固定部2とラインセンサ7を設けた回転部5とからなり、回転部5を回転させた状態でラインセンサ7から画像データを入力し、その画像データをラインセンサ7の回転角度に応じて再配置処理して2次元コードの画像データを作成する。従って、エリアセンサに替えて安価なラインセンサ7を用いて2次元コードを読み取ることができ、2次元コード読取装置1のコストを下げることができる。また、ラインセンサ7を回転させることにより、そのラインセンサ7の受光部が通過する軌跡からなる広範な領域について画像を読み取ることができる。このため、大型の2次元コードも読み取ることができ、ハンディターミナルとして用いる場合でも2次元コードを捉え易くなる。
【0033】
(第2の実施形態)
次に、本発明の第2の実施形態について図8ないし図10を参照しながら説明する。
上述の第1の実施形態では固定部に主制御部を設けたが、本実施形態では回転部に主制御部を設けている。図9は、2次元コード読取装置の正面図である。2次元コード読取装置24は、固定部25と、この固定部25の底面側にモータ3の回転軸4により回転可能に支承された回転部26とから構成されている。
【0034】
図10は、(a)固定部25の下面図、(b)回転部26の上面図、(c)回転部26の下面図である。回転部26は、回転軸4と同軸をなす円柱状の胴部26aと、その胴部26aの側壁から横方向に延びる腕部26bとから構成されている。回転部26の下面には、ラインセンサ7が埋め込まれており、さらにラインセンサ7の受光面を下方から覆うようにレンズ8が取り付けられている。回転軸4は、ラインセンサ7の一端部に対応して位置している。
【0035】
図8(a)、(b)は、それぞれ固定部25、回転部26の電気的構成を示す機能ブロック図である。固定部25は、モータ3、コネクタ6、電源回路10、電源供給用のコイル13、制御回路27およびLED28(発光素子)を備えており、回転部5は、ラインセンサ7、レンズ8、電源供給用のコイル17、主制御部29、制御回路30、無線回路31、アンテナ32、電源回路33、バッテリ34およびフォトセンサ35(受光素子)を備えている。ここで、モータ3と制御回路27は、本発明でいう回転駆動手段を構成する。
【0036】
固定部25の電源回路10は、外部からコネクタ6を通して与えられる電源電圧を入力し、それを必要な電源電圧に変換して制御回路27に供給するとともに、電源供給用のコイル13に対し高周波電圧を供給するようになっている。制御回路27は、LED28を発光させるとともに、モータ3の回転速度を制御するようになっている。本実施形態でも、画像処理を簡単化するという観点から一定回転速度に制御している。
【0037】
回転部26の電源回路33は、コネクタ6に外部から電源電圧が入力されている時には、コイル17に生じる誘起電圧に基づいて主制御部29、制御回路30および無線回路31に対し電源電圧を供給し、さらにバッテリ34を充電するようになっている。一方、コネクタ6への電源供給が停止している時には、電源回路33は、バッテリ34を入力電源として主制御部29、制御回路30および無線回路31に対し電源電圧を供給するようになっている。なお、図8(b)において、電源回路33から制御回路30および無線回路31に至る電源線は省略されている。
【0038】
主制御部29は、図2に示す主制御部9の構成要素のうちCPU18、フラッシュメモリ20、DRAM21およびゲートアレイからなる画像データ処理回路22から構成されている。また、画像データ処理回路22のうちのラインセンサ7にクロックを供給する駆動回路部分は、制御回路30に設けられている。制御回路30は、ラインセンサ7の駆動の他に、ラインセンサ7から出力される画像データおよび主制御部9がデコードした2次元コードのデコードデータを無線回路31に送出する機能、無線回路31が受信した制御プログラムを主制御部29内のフラッシュメモリ20に送る機能も備えている。
【0039】
LED28とフォトセンサ35は、回転速度を検出するために設けられている。通常は、制御回路27によって回転速度は一定に制御されるが、負荷トルクの変動などにより回転速度が変動した場合であっても、その回転速度変動を検出して画像データの再配置処理における補償処理を実行することができる。ただし、回転部26を常に一定の回転速度に制御できる場合には、LED28とフォトセンサ35を省略することができる。
【0040】
本実施形態の作用および効果は、既に説明した第1の実施形態の作用および効果とほぼ同様となる。そこで、ここでは異なる作用および効果について説明する。本実施形態の2次元コード読取装置24では、主制御部29を回転部26に設けるとともに、回転部26に無線回路31とアンテナ32を設けたので、デコードデータを外部装置(図示せず)に送信する際のデータエラーが発生しにくい。また、無線通信速度を高めることにより、画像データなど比較的大容量のデータも外部装置に送信することができる。
【0041】
回転部26にバッテリ34を搭載しているので、コネクタ6からの電源供給が停止したり固定部25と回転部26とを分離しても、バッテリ34の電力を用いてデコードデータを保持し外部装置に送信することができる。また、主制御部29を回転部26に設けることにより第1の実施形態に比べて回転部26の消費電力が増すが、コイル13、17を介して固定部25から回転部26に供給される電力が一時的に消費電力を下回っても、バッテリ34からの電力により安定した動作を維持できる。
【0042】
なお、本実施形態では固定部25と回転部26との間の通信手段を備えていないが、例えば固定部25にも無線回路を備え、あるいは第1の実施形態と同様に固定部25と回転部26に光通信素子を対向して設けることにより、主制御部29から出力されるデコードデータを固定部25に送ることができ、コネクタ6を通して外部装置に出力することができる。この場合、固定部25に、デコードデータを記憶するメモリ(読取データ記憶手段に相当)を設けることが好ましい。当該メモリには、電気的書き換え可能な不揮発性メモリ例えばフラッシュメモリやEEPROMが最適であるが、揮発性メモリを用いてもよい。
【0043】
(第3の実施形態)
次に、本発明の第3の実施形態について図11および図12を参照しながら説明する。
図11は、ラインセンサの回転軌跡についての説明図である。本実施形態で用いるラインセンサ36は、受光部の長さが等しい2つのラインセンサ36aと36bが直線状に組み合わされて構成されており、ラインセンサ36aと36bの接続部において受光部に隙間が生じないようになっている。図11では、特にラインセンサ36a、36bの受光部が示されている。
【0044】
線速度は、回転中心からの距離に比例して増大する。例えば、距離が2倍になると線速度も2倍になる。これを説明するために、図11ではラインセンサ36a、36b(受光部)の先端部の円軌跡(円弧)をそれぞれH1、H2に近似して示している。ラインセンサ36a、36bの受光部の長さは等しいので、H2=2×H1の関係が成立している。内周側に位置するラインセンサ36aを用いて得られる画像と外周側に位置するラインセンサ36bを用いて得られる画像の分解能の差を低減し、且つ、DRAM21の記憶容量を減らすために、画像データ処理回路22(図1参照)は、ラインセンサ36aのスキャンレート(単位時間当たりの画像データの取り込み回数)をラインセンサ36bのスキャンレートの1/2としている。
【0045】
図12は、ラインセンサ36a、36bからの画像取込み処理のフローチャートを示している。画像データ処理回路22は、この処理をハードウェア(ゲートアレイ)により実行するが、CPUを用いてソフトウェア処理してもよい。画像データ処理回路22は、まず、ステップS1においてFlagを0に設定し、ステップS2に移行して現在のFlagが0かどうかを判断する。このFlagは後述するステップS5でトグル操作され、Flagが0である(YES)と判断すると、ステップS3に移行して内周側のラインセンサ36aから画像データを取り込み、続いてステップS4に移行して外周側のラインセンサ36bから画像データを取り込む。
【0046】
一方、ステップS2においてFlagが1である(NO)と判断すると、ステップS3をスキップしてステップS4に移行する。従って、この場合には、内周側のラインセンサ36aから画像データを取り込まず、外周側のラインセンサ36bからのみ画像データを取り込む。その後、ステップS5でFlagを反転し、ステップS6に移行して画像取り込みを継続するか否かを判断する。継続する場合には、「YES」と判断してステップS2に移行し、継続しない場合には画像取込み処理を終了する。
【0047】
このように、本実施形態で用いるラインセンサ36は、2つのラインセンサ36a、36bが列状に組み合わされて構成され、画像データ処理回路22は、内周側に位置するラインセンサ36aのスキャンレートを外周側に位置するラインセンサ36bのスキャンレートの1/2に制御するので、第1、第2の実施形態に比べて、内周側と外周側との間の画像分解能の差が小さい2次元コードの画像を得られる。その結果、DRAM21に必要以上に分解能の高い画像データを記憶する必要がなくなり、DRAM21の記憶容量を低減できコストを下げることができる。
【0048】
なお、本実施形態では、ラインセンサ36aと36bとで同じクロックを使用し、ラインセンサ36aについては画像データの取り込みを1回おきとすることによってスキャンレートを下げたが、ラインセンサ36aに与えるクロック周波数をラインセンサ36bに与えるクロック周波数の1/2とすることにより、ラインセンサ36aのスキャンレートを下げてもよい。
【0049】
(第4の実施形態)
次に、本発明の第4の実施形態について図13および図14を参照しながら説明する。
図13は、ラインセンサの回転軌跡についての説明図である。本実施形態で用いるラインセンサ37は、図13(a)に示すように、受光部の長さが2:1の関係にある2つのラインセンサ37a、37bから構成されており、これらのラインセンサ37a、37bは、回転軸を中心にして180°の角度を有して(つまり、回転軸を挟んで同一直線上に)配置されている。ラインセンサ37aの一端は回転中心と一致しており、ラインセンサ37aの他端とラインセンサ37bの他端は、同じ円軌跡を描くようになっている。従って、回転中心側ではラインセンサ37aのみが回転軌跡を描き、外周側ではラインセンサ37aと37bが回転軌跡を描く。
【0050】
画像データ処理回路22(図2参照)は、ラインセンサ37aと37bを同じクロックで駆動し、ラインセンサ37aと37bが互いに補間する位置関係にある画像データを取得するように制御する。図13(a)においては、ラインセンサ37aを用いてa0、a2、a4、…の回転位置の画像データを取り込み、ラインセンサ37bを用いてa1、a3、a5、…の回転位置の画像データを取り込む。図13(a)に示すa0、a1、a2、…は、等角度間隔だけずれた位置関係を示しており、作図の便宜上実際の角度間隔よりも誇張して描いてある。
【0051】
ラインセンサ37aを用いて取り込める画像領域は、図13(b)に示すように、回転軸を中心としてラインセンサ37aの受光部の長さを半径とする円形領域Aとなる。また、ラインセンサ37bを用いて取り込める画像領域は、図13(c)に示すように、上記円形領域Aに対し、回転軸からラインセンサ37bまでの距離を半径とする円形領域を除いた領域Bとなる。その結果、画像データ処理回路22は、これら図13(b)と(c)に示す領域A、Bを合成した図13(d)に示す円形領域内の画像を取り込むことができる。
【0052】
本実施形態においては、内周側ではラインセンサ37aのみから画像データを取り込み、外周側ではラインセンサ37aと37bから画像データを取り込むので、線速度の大きい外周側の方が角度分解能が高くなり、内周側と外周側との間の画像の分解能の差を低減することができる。
【0053】
さらに、ラインセンサ37を、図14に示すように、受光部の長さが3:2:1の関係にある3つのラインセンサ37a、37b、37cから構成してもよい。これらのラインセンサ37a、37b、37cは、回転軸を中心にして90°の角度を有して配置されている。ラインセンサ37aの一端は回転中心と一致しており、ラインセンサ37aの他端とラインセンサ37b、37cの各他端は、同じ円軌跡を描くようになっている。
【0054】
従って、内周側(回転中心側)ではラインセンサ37aから取り込んだ画像データのみにより画像が構成され、外周側ではラインセンサ37a、37bおよび37cから取り込んだ画像データにより画像が構成され、その中間領域ではラインセンサ37aと37bから取り込んだ画像データにより画像が構成される。従って、内周側と外周側との間の画像の分解能の差を一層低減することができる。
【0055】
(第5の実施形態)
次に、本発明の第5の実施形態について図15を参照しながら説明する。
本実施形態は、第1または第2の実施形態において、ラインセンサ7からの画像データの取り込み方法を変更したものである。図15は、ラインセンサ7からの画像取込み処理のフローチャートを示している。画像データ処理回路22(図2参照)は、まず、ステップT1においてFlagを0に設定し、ステップT2に移行して現在のFlagが0かどうかを判断する。このFlagは後述するステップT5でトグル操作される。Flagが0である(YES)と判断すると、ステップT3に移行して内周側に位置する第1番目から第1024番目の光電変換素子(画素)および外周側に位置する第1025番目から第2048番目の光電変換素子(画素)から画素データを読み出す。
【0056】
一方、ステップT2においてFlagが1である(NO)と判断すると、ステップT4に移行して、外周側に位置する第1025番目から第2048番目の光電変換素子から画素データを読み出す。その後、ステップT5でFlagを反転し、ステップT6に移行して画像取り込みを継続するか否かを判断する。継続する場合には、「YES」と判断してステップT2に移行し、継続しない場合には画像取込み処理を終了する。
本実施形態によれば、内周側に位置する光電変換素子を用いて得られる画像と外周側に位置する光電変換素子を用いて得られる画像の分解能の差を低減することができ、第3の実施形態と同様の効果を得ることができる。
【0057】
(第6の実施形態)
図16は、回転部5の下面図であって、ラインセンサ7と回転軸4との位置関係を明示した説明図である。図16(a)は、第1、第2の実施形態と同様にラインセンサ7の受光部の一端部と回転軸4とが対応した位置関係にある場合を示している。しかし、本願発明はこれに限られず、図16(b)に示すように、ラインセンサ7の受光部の中間部に回転軸4が位置するようにしてもよい。また、図16(c)に示すように、ラインセンサ7に沿ってその端部から外側に延長された線上に回転軸4が位置するようにしてもよい。この図16(c)の構成によれば、回転軸付近の画像を取り込むことはできないが、取り込める画像領域が外周側に広がることにより、より広範な読取り領域を得られる。
【0058】
(その他の実施形態)
なお、本発明は上記し且つ図面に示す各実施形態に限定されるものではなく、例えば以下のように変形または拡張が可能である。
画像データ処理回路22は、ラインセンサ7から出力された画像データを例えばCPUの内部レジスタ(記憶手段に相当する)に記憶させ、その画像データに再配置処理を行ってDRAM21に格納してもよい。
【0059】
光通信素子12a、12b、16a、16bに替えて、電磁結合手段や無線手段を用いてもよい。
第1の実施形態において、固定部2にバッテリを具備してもよい。
第3の実施形態において、3以上のラインセンサを直線状に組み合わせてラインセンサ36を構成してもよい。また、組み合わされる各ラインセンサの受光部の長さは等しくなくてもよい。
【0060】
第4の実施形態において、ラインセンサ37aと37bの角度は180°に限られず、ラインセンサ37a、37b、37cの角度は90°に限られない。また、ラインセンサ37aと37bの受光部の長さは2:1に限られず、ラインセンサ37a、37b、37cの受光部の長さは3:2:1に限られない。
得られた画像にバーコード(1次元コード)が含まれている場合、デコード処理によりバーコードのデコードデータも得られる。
【図面の簡単な説明】
【0061】
【図1】本発明の第1の実施形態であって、2次元コード読取装置の電気的構成を示す機能ブロック図
【図2】主として主制御部の電気的構成を示す機能ブロック図
【図3】2次元コード読取装置の(a)上面図、(b)正面図、(c)下面図
【図4】(a)は固定部の下面図、(b)は回転部の上面図
【図5】回転中におけるラインセンサの回転位置とラインセンサから出力される画像データの関係を模式的に示す図
【図6】ラインセンサから出力された画像データのDRAMへの格納方法を模式的に示す図
【図7】1ラインの画素データの取り込み中におけるラインセンサの回転角度を示す図
【図8】本発明の第2の実施形態であって、2次元コード読取装置の(a)固定部と(b)回転部の電気的構成を示す機能ブロック図
【図9】2次元コード読取装置の正面図
【図10】(a)は固定部の下面図、(b)は回転部の上面図、(c)は回転部の下面図
【図11】本発明の第3の実施形態を示すラインセンサの回転軌跡についての説明図
【図12】ラインセンサからの画像取込み処理のフローチャート
【図13】本発明の第4の実施形態を示すラインセンサの回転軌跡についての説明図
【図14】3つのラインセンサを組み合わせてなるラインセンサの構成図
【図15】本発明の第5の実施形態を示すラインセンサからの画像取込み処理のフローチャート
【図16】本発明の第6の実施形態であって、ラインセンサと回転軸との位置関係を示す説明図
【符号の説明】
【0062】
図面中、1、24は2次元コード読取装置、2、25は固定部、3はモータ(回転駆動手段)、5、26は回転部、7、36、36a、36b、37、37a、37b、37cはラインセンサ、11はモータ駆動回路(回転駆動手段)、12a、12b、16a、16bは光通信素子(非接触通信部、光結合手段)、13、17はコイル(非接触給電部、電磁結合手段)、18はCPU(デコード手段)、22は画像データ処理回路(画像データ処理手段)、21はDRAM(記憶手段)、27は制御回路(回転駆動手段)である。
【技術分野】
【0001】
本発明は、ラインセンサを用いて2次元コードを読み取る2次元コード読取装置および2次元コードの読取方法に関する。
【背景技術】
【0002】
特許文献1には、ラインセンサを用いてバーコードを読み取る回転式走査線バーコードスキャナが示されている。このスキャナは、所定のバーコードに対し走査線となる光を発する発光部と、発光部から放射された走査線のバーコードからの反射光を受光し光電変換により電気信号を出力する受光部と、これら発光部および受光部を収納する読取り部と、読取り部を回転させるモータとから構成されている。
【0003】
発光部より放射された走査線は、読取り部が回転することにより、走査線を直径とした円形の読取り範囲を作り出す。この範囲内にバーコードがあり、且つ、バーコードが円の直径(走査線)に対し直角に交差していれば、すべてのバーコードを同時にスキャンでき、発光部とともに回転している受光部は、受光した反射光を光電変換して電気信号を出力する。
【特許文献1】特開平9−231308号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
近年、バーコードに比べて多くの情報を記録でき、かな・漢字のコード化ができ、多少の汚れ・破損があっても情報を復元できる2次元コードが広く用いられている。しかしながら、従来の2次元コード読取装置は、CCDエリアセンサを備えているため高価であり、その検出範囲も狭かった。
本発明は上記事情に鑑みてなされたもので、その目的は、安価で広域な検出範囲を持つ2次元コード読取装置および2次元コードの読取方法を提供することにある。
【課題を解決するための手段】
【0005】
請求項1、10に記載した手段によれば、回転駆動手段により回転部が回転すると、回転部に設けられたラインセンサは、その光電変換素子からなる受光部が一定方向(被検出2次元コードの方向)を向いた状態を保って回転する。画像データ処理手段は、回転部が回転した状態でラインセンサを駆動制御し、ラインセンサの各光電変換素子から出力される画素データを入力して記憶手段に記憶させ、その記憶された画素データをラインセンサの回転角度に応じて再配置処理する。
【0006】
ここでの再配置処理とは、記憶手段に記憶された画素データを実際に移動させる処理、記憶手段のアドレスを読み替える変換テーブルを書き換える処理など、回転状態で取得した画素データをラインセンサの回転角度に応じて実体的にまたは仮想的に並び替え、画素データ同士の関係を静止状態で取得した場合と同様の関係に変換する処理をいう。換言すれば、回転座標系から直交座標系への座標変換処理である。
【0007】
デコード手段は、変換後の直交座標系の画像データに表わされた2次元コードをデコードし、その2次元コードに記録された情報を取得する。本手段によれば、エリアセンサに替えてラインセンサを用いて2次元コードを読み取ることができるので、2次元コード読取装置のコストを下げることができる。また、ラインセンサを回転させることにより、そのラインセンサの受光部が通過する軌跡からなる広範な領域について画像(2次元コード)を読み取ることができる。
【0008】
請求項2に記載した手段によれば、ラインセンサの端部またはラインセンサに沿ってその端部から外側に延長された線上に回転中心が位置する。前者の場合には、回転部が回転した状態で、ラインセンサの受光部の長さを半径とする円形領域内の画像を読み取ることができる。また、後者の場合には、回転部が回転した状態で、(回転中心からラインセンサまでの距離+ラインセンサの受光部の長さ)を半径とする円形領域から、回転中心からラインセンサまでの距離を半径とする円形領域を除いた領域内の画像を読み取ることができる。
【0009】
請求項3に記載した手段によれば、画像データ処理手段は、ラインセンサの受光部を構成する各光電変換素子について、回転中心からの距離が大きいものほど単位時間当たりの画素データの取り込み回数を増やす。一定の角速度であっても回転中心からの距離が大きい光電変換素子ほど線速度が増加するため、本手段を採用することにより、内周側に位置する光電変換素子を用いて得られる画像と外周側に位置する光電変換素子を用いて得られる画像の分解能の差を低減することができる。
【0010】
請求項4に記載した手段によれば、ラインセンサは、複数のラインセンサが列状に(例えば隣接するラインセンサの光電変換素子が連続し且つ全体として直線となるように)組み合わされて構成され、画像データ処理手段は、その組み合わされる複数の各ラインセンサについて、回転中心からの距離が大きいものほど駆動周波数を高めて単位時間当たりの画素データの取り込み回数を増やす。本手段によれば、内周側に位置するラインセンサの光電変換素子を用いて得られる画像と外周側に位置するラインセンサの光電変換素子を用いて得られる画像の分解能の差を低減することができる。
【0011】
請求項5に記載した手段によれば、ラインセンサは、受光部の長さが異なる複数のラインセンサが、回転中心からの距離が大きくなるほどより多く配置されるように組み合わされて構成されている。例えば、最も長い受光部を持つラインセンサの一端部を回転中心とする場合には、当該ラインセンサの他端部の回転軌跡と同じ回転軌跡を描くように他のラインセンサの外周側端部を定め、その外周側端部から回転中心に向かって当該他のラインセンサを配置すればよい。
【0012】
画像データ処理手段は、回転中心から同じ距離にある複数のラインセンサの光電変換素子が互いに補間する位置関係にある画素データを出力するように各ラインセンサを駆動制御するので、ラインセンサの構成数が増える外周側ほど角度分解能が高くなり、内周側に位置するラインセンサの光電変換素子を用いて得られる画像と外周側に位置するラインセンサの光電変換素子を用いて得られる画像の分解能の差を低減することができる。
【0013】
請求項6に記載した手段によれば、固定部と回転部は、固定部から回転部に電源を供給するための非接触給電部と、互いに通信を行うための非接触通信部とを備えているので、固定部に対して電源を供給すればよく、また、固定部を介してラインセンサを制御することができる。この場合、請求項7に記載したように、非接触給電部を電磁結合手段により構成し、非接触通信部を電磁結合手段または光結合手段により構成するとよい。
【0014】
請求項8に記載した手段によれば、記憶手段、画像データ処理手段およびデコード手段を固定部に設けたので、回転部の構成をより簡単化、軽量化することができる。
【0015】
請求項9に記載した手段によれば、記憶手段、画像データ処理手段およびデコード手段を回転部に設け、固定部に、デコード手段から出力されるデコードデータを記憶する読取データ記憶手段を設けた。この場合、例えば回転部に無線通信手段を備え、デコードデータを無線通信により外部機器に送るように構成してもよい。
【発明を実施するための最良の形態】
【0016】
(第1の実施形態)
以下、本発明の第1の実施形態について図1ないし図7を参照しながら説明する。
図3は、2次元コード読取装置の(a)上面図、(b)正面図、(c)下面図である。2次元コード読取装置1は、直方体の外観形状を持つ固定部2と、この固定部2の底面側にモータ3の回転軸4により回転可能に支承された回転部5とから構成されている。固定部2の上面には、電源供給および信号入出力のためのコネクタ6が設けられている。回転部5は、一方向に長い板状の形状を持ち、その下面には前記一方向(長尺方向)に沿ってラインセンサ7(一次元センサ)が埋設され、さらにラインセンサ7の受光面を下方から覆うようにレンズ8が取り付けられている。回転軸4は、ラインセンサ7の一端部に対応して取り付けられている。
【0017】
図1は、2次元コード読取装置1の電気的構成を示す機能ブロック図である。固定部2は、モータ3、コネクタ6、主制御部9、電源回路10、モータ駆動回路11、一対の光通信素子12(送信用12a、受信用12b)および電源供給用のコイル13を備えており、回転部5は、ラインセンサ7、レンズ8、制御回路14、電源回路15、一対の光通信素子16(受信用16a、送信用16b)および電源供給用のコイル17を備えている。ここで、モータ3とモータ駆動回路11は、本発明でいう回転駆動手段を構成する。
【0018】
電源回路10は、外部からコネクタ6を通して与えられる電源電圧を入力し、それを必要な電源電圧に変換して主制御部9およびモータ駆動回路11に供給するとともに、電源供給用のコイル13に対し高周波電圧を供給するようになっている。図4(a)、(b)は、それぞれ固定部2の下面図、回転部5の上面図である。偏平円形状に巻回されてなる電源供給用のコイル13と17(非接触給電部、電磁結合手段に相当)は、それぞれ固定部2の下面と回転部5の上面に対向した状態に配設されており、回転部5が静止した状態あるいは回転した状態の何れの状態であっても、コイル13と17との電磁結合によって、コイル17に高周波電圧が誘起されるようになっている。回転部5に設けられた電源回路15は、この誘起電圧に基づいて制御回路14に対し電源電圧を供給するようになっている。
【0019】
一対の光通信素子12a、12bは、図4(a)に示すように、固定部2の下面において回転軸4に対し点対称となる位置に設けられている。同様に、一対の光通信素子16a、16bは、図4(b)に示すように、回転部5の上面において回転軸4に対し点対称となる位置に設けられている。これら光通信素子12a、12b、16a、16b(非接触通信部、光結合手段に相当)は、回転中心から同じ距離に設けられているので、回転部5が回転している時に1回転1度ずつ光通信素子12aと16a、光通信素子12bと16bがそれぞれ対向した状態となり、双方向の通信が可能となる。光通信素子12a、16bは、例えば発光ダイオードから構成され、光通信素子12b、16aは、例えばフォトダイオードなどのフォトセンサから構成されている。
【0020】
図2は、主として主制御部9の電気的構成を示す機能ブロック図である。主制御部9は、ワンチップまたは複数チップの集積回路として構成されており、CPU18、ゲートアレイからなるモータ制御回路19、電気的書き換え可能な不揮発性メモリ例えばフラッシュメモリ20、DRAM21、ゲートアレイからなる画像データ処理回路22および通信回路23から構成されている。
【0021】
フラッシュメモリ20には制御プログラムが記憶されており、CPU18(デコード手段に相当)は、フラッシュメモリ20に記憶された制御プログラムを読み出して実行することにより、モータ3の制御、ラインセンサ7の駆動制御、画像データ処理、2次元コードのデコード処理などを統括制御するようになっている。モータ制御回路19は、CPU18の指令の下で、モータ3が指令回転速度で回転するようにモータ駆動回路11(図1参照)を制御するものである。モータ駆動回路11は、モータ3の通電を制御するドライバである。
【0022】
画像データ処理回路22(画像データ処理手段に相当)は、ラインセンサ7にクロックを供給してラインセンサ7を駆動するとともに、ラインセンサ7から出力される画素データをDRAM21(記憶手段に相当)に格納し、後述する再配置処理を実行するようになっている。ここで、ラインセンサ6は、例えば2048個の光電変換素子がライン状に配設された受光部と、この受光部の各光電変換素子に蓄積されたそれぞれの電荷を読み出して一方向に沿って転送させるための電荷転送路と、この電荷転送路から順次転送されてくる電荷を電圧に変換させる出力検出部とを備えている。
通信回路23は、外部装置(図示せず)から制御プログラムを受信し、あるいは外部装置に対して2次元コードのデコードデータを出力するようになっている。
【0023】
次に、本実施形態の作用について図5ないし図7も参照しながら説明する。
2次元コードの読み取りは、まず2次元コード読取装置1の固定部2を把持するなどして固定し、回転部5の下面側を2次元コード(例えばQRコード(登録商標))に対向させ、コネクタ6を通して電源電圧と読取り開始信号を与える。これに替えて固定部2にバッテリと操作手段(例えばスイッチ)とを設け、スイッチを操作して読取り開始信号を与えるように構成してもよい。また、回転部5に照明手段を設けてもよいが、その場合には回転部5の重量が増加するとともにコイル13、17を通した供給電力が増えるため、本実施形態では別に照明手段を設けている(図示せず)。
【0024】
CPU18は、読取り開始信号を入力すると、モータ駆動回路11に回転速度指令を出力する。この場合の指令回転速度の設定は、画像処理を簡単化するという観点から一定回転速度とすることが好ましい。図5は、回転部5の回転中におけるラインセンサ7の回転位置と、ラインセンサ7から出力される画像データ(2048個の画素データの集合)の関係を模式的に表わしたものである。
【0025】
画像データ処理回路22は、ラインセンサ7に所定のクロックを供給し、所定のスキャンレート(単位時間当たりの画像データの取り込み回数)でラインセンサ7を駆動する。一定の回転速度および一定のスキャンレートの下では、図5に示すように、一定角度ごとに回転中心から放射線状に延びる直線領域の画像データが得られる。ただし、図5では、説明の便宜上、各直線領域の角度間隔が実際よりもかなり大きく描かれている。画像データは、制御回路14から光通信素子12b、16bを介して画像データ処理回路22へと入力される。
【0026】
図6は、ラインセンサ7から出力された画像データのDRAM21への格納方法を模式的に示している。すなわち、画像データ処理回路22は、上記各直線領域についてラインセンサ7から出力された画像データを、当該画像データが取得された時のラインセンサ7の角度データに関連付けて、例えば低アドレス側から高アドレス側に順次格納する。そして、各スキャンごとに取得された画像データを、その関連付けられた角度データに基づいて再配置処理する。
【0027】
この画像データの再配置処理は、DRAM21に記憶された各画素データを実際にアドレス移動させる処理、DRAM21のアドレスを読み替える変換テーブルを書き換える処理など、回転状態で取得した画素データをラインセンサ7の回転角度に応じて実体的にまたは仮想的に並び替え、画素データ同士の関係を静止状態で取得した場合と同様の関係に変換する処理である。
【0028】
ここで、図7を参照しながら、ラインセンサ7に与えるクロック周波数fと回転部5の回転速度ωと画像再配置の関係を具体的に説明する。
ラインセンサ7に与えるクロック周波数fを10MHzとし、ラインセンサ7の画素数Nを2048とすれば、1ラインの画素データを読み出すのに要する時間trは、以下の(1)式のようになる。
tr=(1/f)×N=1/10MHz×2048=0.2048ms …(1)
【0029】
回転部5の回転速度ωを1200rpmとすれば、時間trの間にラインセンサ7が動く回転角度Δθは、以下の(2)式のようになる。
Δθ=tr×(ω/60)×360
=0.2048ms×(1200/60)×360=1.47° …(2)
【0030】
従って、ラインセンサ7の一端部(回転中心)から他端部(外周側)に向かって1ラインの画素データを順次読み出す場合において、ラインセンサ7の一端部の画素データを読み出した時のラインセンサ7がちょうど図7に示すX軸に一致していた場合、ラインセンサ7の他端部の画素データを読み出した時の当該他端部の座標(X,Y)は、次の(3)式、(4)式のようになっている。
X=ラインセンサ7の受光部の長さ×cos(1.47°) …(3)
Y=ラインセンサ7の受光部の長さ×sin(1.47°) …(4)
【0031】
このように、1ラインの画素データの読み出し時間(取得時間)内にもラインセンサ7は回転しているため、画像データの再配置処理は、実際に各画素データを取得した時間のずれに合わせて画素データごとに角度補正処理を実行する必要がある。この再配置処理が終了すると、CPU18は、得られた2次元コードの画像データをデコード処理し、2次元コードに記録された情報(デコードデータ)をコネクタ6を通して外部装置に出力する。
【0032】
以上説明したように、本実施形態の2次元コード読取装置1は、固定部2とラインセンサ7を設けた回転部5とからなり、回転部5を回転させた状態でラインセンサ7から画像データを入力し、その画像データをラインセンサ7の回転角度に応じて再配置処理して2次元コードの画像データを作成する。従って、エリアセンサに替えて安価なラインセンサ7を用いて2次元コードを読み取ることができ、2次元コード読取装置1のコストを下げることができる。また、ラインセンサ7を回転させることにより、そのラインセンサ7の受光部が通過する軌跡からなる広範な領域について画像を読み取ることができる。このため、大型の2次元コードも読み取ることができ、ハンディターミナルとして用いる場合でも2次元コードを捉え易くなる。
【0033】
(第2の実施形態)
次に、本発明の第2の実施形態について図8ないし図10を参照しながら説明する。
上述の第1の実施形態では固定部に主制御部を設けたが、本実施形態では回転部に主制御部を設けている。図9は、2次元コード読取装置の正面図である。2次元コード読取装置24は、固定部25と、この固定部25の底面側にモータ3の回転軸4により回転可能に支承された回転部26とから構成されている。
【0034】
図10は、(a)固定部25の下面図、(b)回転部26の上面図、(c)回転部26の下面図である。回転部26は、回転軸4と同軸をなす円柱状の胴部26aと、その胴部26aの側壁から横方向に延びる腕部26bとから構成されている。回転部26の下面には、ラインセンサ7が埋め込まれており、さらにラインセンサ7の受光面を下方から覆うようにレンズ8が取り付けられている。回転軸4は、ラインセンサ7の一端部に対応して位置している。
【0035】
図8(a)、(b)は、それぞれ固定部25、回転部26の電気的構成を示す機能ブロック図である。固定部25は、モータ3、コネクタ6、電源回路10、電源供給用のコイル13、制御回路27およびLED28(発光素子)を備えており、回転部5は、ラインセンサ7、レンズ8、電源供給用のコイル17、主制御部29、制御回路30、無線回路31、アンテナ32、電源回路33、バッテリ34およびフォトセンサ35(受光素子)を備えている。ここで、モータ3と制御回路27は、本発明でいう回転駆動手段を構成する。
【0036】
固定部25の電源回路10は、外部からコネクタ6を通して与えられる電源電圧を入力し、それを必要な電源電圧に変換して制御回路27に供給するとともに、電源供給用のコイル13に対し高周波電圧を供給するようになっている。制御回路27は、LED28を発光させるとともに、モータ3の回転速度を制御するようになっている。本実施形態でも、画像処理を簡単化するという観点から一定回転速度に制御している。
【0037】
回転部26の電源回路33は、コネクタ6に外部から電源電圧が入力されている時には、コイル17に生じる誘起電圧に基づいて主制御部29、制御回路30および無線回路31に対し電源電圧を供給し、さらにバッテリ34を充電するようになっている。一方、コネクタ6への電源供給が停止している時には、電源回路33は、バッテリ34を入力電源として主制御部29、制御回路30および無線回路31に対し電源電圧を供給するようになっている。なお、図8(b)において、電源回路33から制御回路30および無線回路31に至る電源線は省略されている。
【0038】
主制御部29は、図2に示す主制御部9の構成要素のうちCPU18、フラッシュメモリ20、DRAM21およびゲートアレイからなる画像データ処理回路22から構成されている。また、画像データ処理回路22のうちのラインセンサ7にクロックを供給する駆動回路部分は、制御回路30に設けられている。制御回路30は、ラインセンサ7の駆動の他に、ラインセンサ7から出力される画像データおよび主制御部9がデコードした2次元コードのデコードデータを無線回路31に送出する機能、無線回路31が受信した制御プログラムを主制御部29内のフラッシュメモリ20に送る機能も備えている。
【0039】
LED28とフォトセンサ35は、回転速度を検出するために設けられている。通常は、制御回路27によって回転速度は一定に制御されるが、負荷トルクの変動などにより回転速度が変動した場合であっても、その回転速度変動を検出して画像データの再配置処理における補償処理を実行することができる。ただし、回転部26を常に一定の回転速度に制御できる場合には、LED28とフォトセンサ35を省略することができる。
【0040】
本実施形態の作用および効果は、既に説明した第1の実施形態の作用および効果とほぼ同様となる。そこで、ここでは異なる作用および効果について説明する。本実施形態の2次元コード読取装置24では、主制御部29を回転部26に設けるとともに、回転部26に無線回路31とアンテナ32を設けたので、デコードデータを外部装置(図示せず)に送信する際のデータエラーが発生しにくい。また、無線通信速度を高めることにより、画像データなど比較的大容量のデータも外部装置に送信することができる。
【0041】
回転部26にバッテリ34を搭載しているので、コネクタ6からの電源供給が停止したり固定部25と回転部26とを分離しても、バッテリ34の電力を用いてデコードデータを保持し外部装置に送信することができる。また、主制御部29を回転部26に設けることにより第1の実施形態に比べて回転部26の消費電力が増すが、コイル13、17を介して固定部25から回転部26に供給される電力が一時的に消費電力を下回っても、バッテリ34からの電力により安定した動作を維持できる。
【0042】
なお、本実施形態では固定部25と回転部26との間の通信手段を備えていないが、例えば固定部25にも無線回路を備え、あるいは第1の実施形態と同様に固定部25と回転部26に光通信素子を対向して設けることにより、主制御部29から出力されるデコードデータを固定部25に送ることができ、コネクタ6を通して外部装置に出力することができる。この場合、固定部25に、デコードデータを記憶するメモリ(読取データ記憶手段に相当)を設けることが好ましい。当該メモリには、電気的書き換え可能な不揮発性メモリ例えばフラッシュメモリやEEPROMが最適であるが、揮発性メモリを用いてもよい。
【0043】
(第3の実施形態)
次に、本発明の第3の実施形態について図11および図12を参照しながら説明する。
図11は、ラインセンサの回転軌跡についての説明図である。本実施形態で用いるラインセンサ36は、受光部の長さが等しい2つのラインセンサ36aと36bが直線状に組み合わされて構成されており、ラインセンサ36aと36bの接続部において受光部に隙間が生じないようになっている。図11では、特にラインセンサ36a、36bの受光部が示されている。
【0044】
線速度は、回転中心からの距離に比例して増大する。例えば、距離が2倍になると線速度も2倍になる。これを説明するために、図11ではラインセンサ36a、36b(受光部)の先端部の円軌跡(円弧)をそれぞれH1、H2に近似して示している。ラインセンサ36a、36bの受光部の長さは等しいので、H2=2×H1の関係が成立している。内周側に位置するラインセンサ36aを用いて得られる画像と外周側に位置するラインセンサ36bを用いて得られる画像の分解能の差を低減し、且つ、DRAM21の記憶容量を減らすために、画像データ処理回路22(図1参照)は、ラインセンサ36aのスキャンレート(単位時間当たりの画像データの取り込み回数)をラインセンサ36bのスキャンレートの1/2としている。
【0045】
図12は、ラインセンサ36a、36bからの画像取込み処理のフローチャートを示している。画像データ処理回路22は、この処理をハードウェア(ゲートアレイ)により実行するが、CPUを用いてソフトウェア処理してもよい。画像データ処理回路22は、まず、ステップS1においてFlagを0に設定し、ステップS2に移行して現在のFlagが0かどうかを判断する。このFlagは後述するステップS5でトグル操作され、Flagが0である(YES)と判断すると、ステップS3に移行して内周側のラインセンサ36aから画像データを取り込み、続いてステップS4に移行して外周側のラインセンサ36bから画像データを取り込む。
【0046】
一方、ステップS2においてFlagが1である(NO)と判断すると、ステップS3をスキップしてステップS4に移行する。従って、この場合には、内周側のラインセンサ36aから画像データを取り込まず、外周側のラインセンサ36bからのみ画像データを取り込む。その後、ステップS5でFlagを反転し、ステップS6に移行して画像取り込みを継続するか否かを判断する。継続する場合には、「YES」と判断してステップS2に移行し、継続しない場合には画像取込み処理を終了する。
【0047】
このように、本実施形態で用いるラインセンサ36は、2つのラインセンサ36a、36bが列状に組み合わされて構成され、画像データ処理回路22は、内周側に位置するラインセンサ36aのスキャンレートを外周側に位置するラインセンサ36bのスキャンレートの1/2に制御するので、第1、第2の実施形態に比べて、内周側と外周側との間の画像分解能の差が小さい2次元コードの画像を得られる。その結果、DRAM21に必要以上に分解能の高い画像データを記憶する必要がなくなり、DRAM21の記憶容量を低減できコストを下げることができる。
【0048】
なお、本実施形態では、ラインセンサ36aと36bとで同じクロックを使用し、ラインセンサ36aについては画像データの取り込みを1回おきとすることによってスキャンレートを下げたが、ラインセンサ36aに与えるクロック周波数をラインセンサ36bに与えるクロック周波数の1/2とすることにより、ラインセンサ36aのスキャンレートを下げてもよい。
【0049】
(第4の実施形態)
次に、本発明の第4の実施形態について図13および図14を参照しながら説明する。
図13は、ラインセンサの回転軌跡についての説明図である。本実施形態で用いるラインセンサ37は、図13(a)に示すように、受光部の長さが2:1の関係にある2つのラインセンサ37a、37bから構成されており、これらのラインセンサ37a、37bは、回転軸を中心にして180°の角度を有して(つまり、回転軸を挟んで同一直線上に)配置されている。ラインセンサ37aの一端は回転中心と一致しており、ラインセンサ37aの他端とラインセンサ37bの他端は、同じ円軌跡を描くようになっている。従って、回転中心側ではラインセンサ37aのみが回転軌跡を描き、外周側ではラインセンサ37aと37bが回転軌跡を描く。
【0050】
画像データ処理回路22(図2参照)は、ラインセンサ37aと37bを同じクロックで駆動し、ラインセンサ37aと37bが互いに補間する位置関係にある画像データを取得するように制御する。図13(a)においては、ラインセンサ37aを用いてa0、a2、a4、…の回転位置の画像データを取り込み、ラインセンサ37bを用いてa1、a3、a5、…の回転位置の画像データを取り込む。図13(a)に示すa0、a1、a2、…は、等角度間隔だけずれた位置関係を示しており、作図の便宜上実際の角度間隔よりも誇張して描いてある。
【0051】
ラインセンサ37aを用いて取り込める画像領域は、図13(b)に示すように、回転軸を中心としてラインセンサ37aの受光部の長さを半径とする円形領域Aとなる。また、ラインセンサ37bを用いて取り込める画像領域は、図13(c)に示すように、上記円形領域Aに対し、回転軸からラインセンサ37bまでの距離を半径とする円形領域を除いた領域Bとなる。その結果、画像データ処理回路22は、これら図13(b)と(c)に示す領域A、Bを合成した図13(d)に示す円形領域内の画像を取り込むことができる。
【0052】
本実施形態においては、内周側ではラインセンサ37aのみから画像データを取り込み、外周側ではラインセンサ37aと37bから画像データを取り込むので、線速度の大きい外周側の方が角度分解能が高くなり、内周側と外周側との間の画像の分解能の差を低減することができる。
【0053】
さらに、ラインセンサ37を、図14に示すように、受光部の長さが3:2:1の関係にある3つのラインセンサ37a、37b、37cから構成してもよい。これらのラインセンサ37a、37b、37cは、回転軸を中心にして90°の角度を有して配置されている。ラインセンサ37aの一端は回転中心と一致しており、ラインセンサ37aの他端とラインセンサ37b、37cの各他端は、同じ円軌跡を描くようになっている。
【0054】
従って、内周側(回転中心側)ではラインセンサ37aから取り込んだ画像データのみにより画像が構成され、外周側ではラインセンサ37a、37bおよび37cから取り込んだ画像データにより画像が構成され、その中間領域ではラインセンサ37aと37bから取り込んだ画像データにより画像が構成される。従って、内周側と外周側との間の画像の分解能の差を一層低減することができる。
【0055】
(第5の実施形態)
次に、本発明の第5の実施形態について図15を参照しながら説明する。
本実施形態は、第1または第2の実施形態において、ラインセンサ7からの画像データの取り込み方法を変更したものである。図15は、ラインセンサ7からの画像取込み処理のフローチャートを示している。画像データ処理回路22(図2参照)は、まず、ステップT1においてFlagを0に設定し、ステップT2に移行して現在のFlagが0かどうかを判断する。このFlagは後述するステップT5でトグル操作される。Flagが0である(YES)と判断すると、ステップT3に移行して内周側に位置する第1番目から第1024番目の光電変換素子(画素)および外周側に位置する第1025番目から第2048番目の光電変換素子(画素)から画素データを読み出す。
【0056】
一方、ステップT2においてFlagが1である(NO)と判断すると、ステップT4に移行して、外周側に位置する第1025番目から第2048番目の光電変換素子から画素データを読み出す。その後、ステップT5でFlagを反転し、ステップT6に移行して画像取り込みを継続するか否かを判断する。継続する場合には、「YES」と判断してステップT2に移行し、継続しない場合には画像取込み処理を終了する。
本実施形態によれば、内周側に位置する光電変換素子を用いて得られる画像と外周側に位置する光電変換素子を用いて得られる画像の分解能の差を低減することができ、第3の実施形態と同様の効果を得ることができる。
【0057】
(第6の実施形態)
図16は、回転部5の下面図であって、ラインセンサ7と回転軸4との位置関係を明示した説明図である。図16(a)は、第1、第2の実施形態と同様にラインセンサ7の受光部の一端部と回転軸4とが対応した位置関係にある場合を示している。しかし、本願発明はこれに限られず、図16(b)に示すように、ラインセンサ7の受光部の中間部に回転軸4が位置するようにしてもよい。また、図16(c)に示すように、ラインセンサ7に沿ってその端部から外側に延長された線上に回転軸4が位置するようにしてもよい。この図16(c)の構成によれば、回転軸付近の画像を取り込むことはできないが、取り込める画像領域が外周側に広がることにより、より広範な読取り領域を得られる。
【0058】
(その他の実施形態)
なお、本発明は上記し且つ図面に示す各実施形態に限定されるものではなく、例えば以下のように変形または拡張が可能である。
画像データ処理回路22は、ラインセンサ7から出力された画像データを例えばCPUの内部レジスタ(記憶手段に相当する)に記憶させ、その画像データに再配置処理を行ってDRAM21に格納してもよい。
【0059】
光通信素子12a、12b、16a、16bに替えて、電磁結合手段や無線手段を用いてもよい。
第1の実施形態において、固定部2にバッテリを具備してもよい。
第3の実施形態において、3以上のラインセンサを直線状に組み合わせてラインセンサ36を構成してもよい。また、組み合わされる各ラインセンサの受光部の長さは等しくなくてもよい。
【0060】
第4の実施形態において、ラインセンサ37aと37bの角度は180°に限られず、ラインセンサ37a、37b、37cの角度は90°に限られない。また、ラインセンサ37aと37bの受光部の長さは2:1に限られず、ラインセンサ37a、37b、37cの受光部の長さは3:2:1に限られない。
得られた画像にバーコード(1次元コード)が含まれている場合、デコード処理によりバーコードのデコードデータも得られる。
【図面の簡単な説明】
【0061】
【図1】本発明の第1の実施形態であって、2次元コード読取装置の電気的構成を示す機能ブロック図
【図2】主として主制御部の電気的構成を示す機能ブロック図
【図3】2次元コード読取装置の(a)上面図、(b)正面図、(c)下面図
【図4】(a)は固定部の下面図、(b)は回転部の上面図
【図5】回転中におけるラインセンサの回転位置とラインセンサから出力される画像データの関係を模式的に示す図
【図6】ラインセンサから出力された画像データのDRAMへの格納方法を模式的に示す図
【図7】1ラインの画素データの取り込み中におけるラインセンサの回転角度を示す図
【図8】本発明の第2の実施形態であって、2次元コード読取装置の(a)固定部と(b)回転部の電気的構成を示す機能ブロック図
【図9】2次元コード読取装置の正面図
【図10】(a)は固定部の下面図、(b)は回転部の上面図、(c)は回転部の下面図
【図11】本発明の第3の実施形態を示すラインセンサの回転軌跡についての説明図
【図12】ラインセンサからの画像取込み処理のフローチャート
【図13】本発明の第4の実施形態を示すラインセンサの回転軌跡についての説明図
【図14】3つのラインセンサを組み合わせてなるラインセンサの構成図
【図15】本発明の第5の実施形態を示すラインセンサからの画像取込み処理のフローチャート
【図16】本発明の第6の実施形態であって、ラインセンサと回転軸との位置関係を示す説明図
【符号の説明】
【0062】
図面中、1、24は2次元コード読取装置、2、25は固定部、3はモータ(回転駆動手段)、5、26は回転部、7、36、36a、36b、37、37a、37b、37cはラインセンサ、11はモータ駆動回路(回転駆動手段)、12a、12b、16a、16bは光通信素子(非接触通信部、光結合手段)、13、17はコイル(非接触給電部、電磁結合手段)、18はCPU(デコード手段)、22は画像データ処理回路(画像データ処理手段)、21はDRAM(記憶手段)、27は制御回路(回転駆動手段)である。
【特許請求の範囲】
【請求項1】
ラインセンサを有する回転部と、
この回転部を回転駆動する回転駆動手段を有し、前記回転部が回転するときに前記ラインセンサの受光部が一定方向を保持するように前記回転部を支承する固定部とからなる2次元コード読取装置であって、
前記回転部または前記固定部に、
記憶手段と、
前記回転駆動手段により前記回転部を回転させた状態で前記ラインセンサを駆動制御し、前記ラインセンサの各光電変換素子から出力される画素データを入力して前記記憶手段に記憶させ、その記憶された画素データを前記ラインセンサの回転角度に応じて再配置処理することにより画像データを作成する画像データ処理手段と、
この画像データ処理手段により作成された2次元コードの画像データをデコードするデコード手段とを備えていることを特徴とする2次元コード読取装置。
【請求項2】
前記固定部は、前記ラインセンサの端部または前記ラインセンサに沿ってその端部から外側に延長された線上に回転中心が位置するように前記回転部を支承することを特徴とする請求項1記載の2次元コード読取装置。
【請求項3】
前記画像データ処理手段は、前記ラインセンサの受光部を構成する各光電変換素子について、回転中心からの距離が大きいものほど単位時間当たりの画素データの取り込み回数を増やすことを特徴とする請求項1または2記載の2次元コード読取装置。
【請求項4】
前記ラインセンサは、複数のラインセンサが列状に組み合わされて構成され、
前記画像データ処理手段は、その組み合わされる複数の各ラインセンサについて、回転中心からの距離が大きいものほど単位時間当たりの画素データの取り込み回数を増やすことを特徴とする請求項1または2記載の2次元コード読取装置。
【請求項5】
前記ラインセンサは、受光部の長さが異なる複数のラインセンサが、回転中心からの距離が大きくなるほどより多く配置されるように組み合わされて構成され、
前記画像データ処理手段は、回転中心から同じ距離にある前記複数のラインセンサの光電変換素子が互いに補間する位置関係にある画素データを出力するように各ラインセンサを駆動制御することを特徴とする請求項1または2記載の2次元コード読取装置。
【請求項6】
前記固定部と前記回転部は、前記固定部から前記回転部に電源を供給するための非接触給電部と、互いに通信を行うための非接触通信部とを備えていることを特徴とする請求項1ないし5の何れかに記載の2次元コード読取装置。
【請求項7】
前記非接触給電部は、電磁結合手段により構成され、前記非接触通信部は、電磁結合手段または光結合手段により構成されていることを特徴とする請求項6記載の2次元コード読取装置。
【請求項8】
前記記憶手段、画像データ処理手段およびデコード手段は前記固定部に設けられていることを特徴とする請求項1ないし7の何れかに記載の2次元コード読取装置。
【請求項9】
前記記憶手段、画像データ処理手段およびデコード手段は前記回転部に設けられ、
前記固定部に、前記デコード手段から出力されるデコードデータを記憶する読取データ記憶手段を設けたことを特徴とする請求項1ないし7の何れかに記載の2次元コード読取装置。
【請求項10】
ラインセンサの受光部が一定方向を保持した状態で当該ラインセンサを回転させ、
前記ラインセンサを駆動制御するとともに前記ラインセンサの各光電変換素子から出力される画素データを入力して記憶手段に記憶させ、
その記憶された画素データを前記ラインセンサの回転角度に応じて再配置処理することにより画像データを作成し、
この作成された2次元コードの画像データをデコードして当該2次元コードに記録された情報を取得することを特徴とする2次元コードの読取方法。
【請求項1】
ラインセンサを有する回転部と、
この回転部を回転駆動する回転駆動手段を有し、前記回転部が回転するときに前記ラインセンサの受光部が一定方向を保持するように前記回転部を支承する固定部とからなる2次元コード読取装置であって、
前記回転部または前記固定部に、
記憶手段と、
前記回転駆動手段により前記回転部を回転させた状態で前記ラインセンサを駆動制御し、前記ラインセンサの各光電変換素子から出力される画素データを入力して前記記憶手段に記憶させ、その記憶された画素データを前記ラインセンサの回転角度に応じて再配置処理することにより画像データを作成する画像データ処理手段と、
この画像データ処理手段により作成された2次元コードの画像データをデコードするデコード手段とを備えていることを特徴とする2次元コード読取装置。
【請求項2】
前記固定部は、前記ラインセンサの端部または前記ラインセンサに沿ってその端部から外側に延長された線上に回転中心が位置するように前記回転部を支承することを特徴とする請求項1記載の2次元コード読取装置。
【請求項3】
前記画像データ処理手段は、前記ラインセンサの受光部を構成する各光電変換素子について、回転中心からの距離が大きいものほど単位時間当たりの画素データの取り込み回数を増やすことを特徴とする請求項1または2記載の2次元コード読取装置。
【請求項4】
前記ラインセンサは、複数のラインセンサが列状に組み合わされて構成され、
前記画像データ処理手段は、その組み合わされる複数の各ラインセンサについて、回転中心からの距離が大きいものほど単位時間当たりの画素データの取り込み回数を増やすことを特徴とする請求項1または2記載の2次元コード読取装置。
【請求項5】
前記ラインセンサは、受光部の長さが異なる複数のラインセンサが、回転中心からの距離が大きくなるほどより多く配置されるように組み合わされて構成され、
前記画像データ処理手段は、回転中心から同じ距離にある前記複数のラインセンサの光電変換素子が互いに補間する位置関係にある画素データを出力するように各ラインセンサを駆動制御することを特徴とする請求項1または2記載の2次元コード読取装置。
【請求項6】
前記固定部と前記回転部は、前記固定部から前記回転部に電源を供給するための非接触給電部と、互いに通信を行うための非接触通信部とを備えていることを特徴とする請求項1ないし5の何れかに記載の2次元コード読取装置。
【請求項7】
前記非接触給電部は、電磁結合手段により構成され、前記非接触通信部は、電磁結合手段または光結合手段により構成されていることを特徴とする請求項6記載の2次元コード読取装置。
【請求項8】
前記記憶手段、画像データ処理手段およびデコード手段は前記固定部に設けられていることを特徴とする請求項1ないし7の何れかに記載の2次元コード読取装置。
【請求項9】
前記記憶手段、画像データ処理手段およびデコード手段は前記回転部に設けられ、
前記固定部に、前記デコード手段から出力されるデコードデータを記憶する読取データ記憶手段を設けたことを特徴とする請求項1ないし7の何れかに記載の2次元コード読取装置。
【請求項10】
ラインセンサの受光部が一定方向を保持した状態で当該ラインセンサを回転させ、
前記ラインセンサを駆動制御するとともに前記ラインセンサの各光電変換素子から出力される画素データを入力して記憶手段に記憶させ、
その記憶された画素データを前記ラインセンサの回転角度に応じて再配置処理することにより画像データを作成し、
この作成された2次元コードの画像データをデコードして当該2次元コードに記録された情報を取得することを特徴とする2次元コードの読取方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2006−18400(P2006−18400A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2004−193484(P2004−193484)
【出願日】平成16年6月30日(2004.6.30)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願日】平成16年6月30日(2004.6.30)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]