以下に、図面を参照しながら、本発明に係る撮像装置および撮像方法の実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
(第1の実施の形態)
<撮像システムの全体構成>
図1は、第1の実施の形態の撮像システムの全体構成の一例を示す図である。図1を参照しながら、本実施の形態の撮像システム500の構成について説明する。
図1に示すように、本実施の形態の撮像システム500は、撮像装置1と、PC(Personal Computer)2と、を備えている。撮像装置1とPC2とは、Ethernet(登録商標)ケーブル等の通信ケーブル3によって通信可能に接続されている。
撮像装置1は、被写体4からの光を電気信号に変換することによって被写体4を撮像し、撮像画像の情報(以下、単に撮像画像という)に対して画像処理を実行し、画像処理後の画像に含まれるシンボルを認識して、認識したシンボルをデコード(復号)し、デコードした情報を、通信ケーブル3を介してPC2へ送信する。ここで、撮像装置1によるシンボルの認識、および認識したシンボルのデコードの動作を、単に「シンボルの認識処理」というものとする。シンボルとしては、例えば、バーコード、二次元コードまたは文字列等が挙げられる。PC2は、撮像装置1から受信したデコードされた情報に基づいて所定の処理を実行する。
例えば、撮像装置1は、生産ラインを流れる製品に添付されたバーコードを撮像して、バーコードを読み取るための認識処理を実行し、デコードされた情報としての品番情報等をPC2に送信する。PC2は、受信した画像からバーコードの情報を読み出して解析する。
なお、図1に示すように、撮像システム500は、撮像装置1とPC2とが通信ケーブル3を介してデータを通信する有線通信方式のシステムとしているが、これに限定されるものではない。例えば、撮像装置1とPC2とは、Wi−Fi(登録商標)(WirelessFidelity)等の無線通信方式によって互いにデータが通信可能であってもよい。
また、撮像装置1およびPC2が生産ラインにおいて使用される場合、撮像システム500は、PC2がPLC(Programmable Logic Controller)等に通信可能に接続されている構成としてもよい。この場合、撮像システム500の動作として、以下の動作が一例として挙げられる。撮像装置1は、生産ラインを流れる製品に添付されたバーコードを撮像して、認識処理によりバーコードを認識してデコードし、デコードした情報としての品番情報をPC2に送信する。PC2は、受信した品番情報から、生産ラインを流れている製品の品番を判定する。PC2は、判定した品番が、生産ラインにおいて段替えされている品番と不一致である場合、判定した品番に対応する製品は異なる品番の製品であることを示す信号をPLCに送信する。PLCは、PC2から異なる品番の製品であることを示す信号を受信した場合、その製品を生産ラインから除去するように生産ラインの動作を制御する。
<情報処理装置の構成>
図2は、第1の実施の形態の情報処理装置のハードウェア構成の一例を示す図である。図2を参照しながら、情報処理装置の一例であるPC2のハードウェア構成について説明する。
図2に示すように、情報処理装置の一例であるPC2は、通信部21と、操作部22と、表示部23と、記憶部24と、外部記憶装置25と、制御部26と、を備えている。上記の各部は、バス27によって接続され、互いにデータの送受信が可能となっている。
通信部21は、通信ケーブル3を介して、撮像装置1と通信する装置である。通信部21は、例えば、NIC(Network Interface Card)等の通信装置によって実現される。通信部21の通信プロトコルは、例えば、TCP(Transmission Control Protocol)/IP(Internet Protocol)またはUDP(User Datagram Protocol)/IP等によって実現される。
操作部22は、ユーザによって制御部26に対して所定の処理を実行させるための操作入力を行う装置である。操作部22は、例えば、マウス、キーボード、テンキー、タッチパッドまたはタッチパネルにおける操作入力機能によって実現される。
表示部23は、制御部26により実行されているアプリケーション画像等を表示する装置である。表示部23は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイまたは有機EL(Electroluminescence)ディスプレイ等によって実現される。
記憶部24は、PC2で実行される各種プログラムおよびPC2で行われる各種処理に使用されるデータ等を記憶する装置である。記憶部24は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置によって実現される。
外部記憶装置25は、画像、撮像装置1によりシンボルからデコードされた情報、プログラムおよびフォントデータ等を蓄積して記憶する記憶装置である。外部記憶装置25は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、CD(Compact Disc)ドライブ、またはDVD(Digital Versatile Disc)ドライブ等の記憶装置によって実現される。
制御部26は、PC2の各部の動作を制御する装置である。制御部26は、例えば、CPU(Central Processing Unit)またはASIC(Application Specific Integrated Circuit)等で実現される。
<撮像装置の構成>
図3は、第1の実施の形態の撮像装置の構成の一例を示す図である。図3を参照しながら、本実施の形態の撮像装置1の構成について説明する。
図3に示すように、撮像装置1は、レンズユニット11(光学系の一例)と、撮像素子12(撮像手段)と、画像処理部14と、認識処理部15(認識処理手段)と、通信部16と、光源17と、光源制御部18と、を備えている。
レンズユニット11は、被写体4(図1参照)からの光を集光し、撮像素子12に対して結像させるユニットである。レンズユニット11は、1枚以上のレンズで構成された光学系によって実現される。レンズユニット11は、位相板11aと、絞り11bとを備えている。被写体4は、例えば、人物、被監視物、またはバーコード等のシンボル等である。
位相板11aは、レンズユニット11に入射する光に対して収差を与える作用を有する。その結果、位相板11aは、撮像素子12に入射される光に対して点像分布関数(PSF:Point Spread Function)を付加する作用を有し、撮像素子12で撮像される画像がぼけた状態とする代わりに広い深度でそのぼけが一定となるようにする。なお、レンズユニット11に入射する光に対して収差を与えるのは、位相板11aに限定されるものではなく、レンズユニット11に含まれるレンズによって収差が与えられるものとしてもよい。
絞り11bは、レンズユニット11に入射する光の量を自在に調整する部材であり、位相板11aの近傍に配置されている。
撮像素子12は、レンズユニット11に入射する被写体からの光を電気信号に変換することによって被写体4を撮像して画像を生成する固体撮像素子である。撮像素子12は、固体撮像素子を構成する各検出単位(フォトダイオード)(検出素子)によって撮像した画像を構成する画素を出力する。撮像素子12は、例えば、CCDセンサまたはCMOSセンサ等によって実現される。
画像処理部14は、撮像素子12から出力される撮像画像から、フィルタ処理(逆変換処理)を施した画像を生成する。
認識処理部15は、画像処理部14によりフィルタ処理が実行された画像に基づいて、画像に含まれるシンボルを認識して、認識したシンボルをデコードするシンボルの認識処理を実行する。
通信部16は、通信ケーブル3を介して、PC2と通信する装置である。通信部16は、例えば、認識処理部15から出力されるデコードされた情報をPC2に対して送信する。通信部16は、例えば、NIC等の通信装置によって実現される。通信部16の通信プロトコルは、例えば、TCP/IPまたはUDP/IP等によって実現される。
光源17は、後述するように、照射した光線が、センサ面(検出面)がレンズユニット11における光軸に垂直な面(主面)に対してチルトして(傾いて)配置された撮像素子12により形成された、レンズユニット11の光軸方向に延伸した合焦面に沿うように設置された光源である。光源17は、LED(Light Emitting Diode)またはレーザ等の発光装置である。
光源制御部18は、光源17による光線の照射動作を制御する制御装置である。具体的には、光源制御部18は、光源17による光線の照射のON/OFF制御を実行する。なお、光源制御部18は、光源17が照射する光線の強度を制御するものとしてもよい。
なお、認識処理部15は、撮像装置1に含まれる構成としているが、撮像装置1に接続される外部機器の機能によって実現されるものとしてもよい。例えば、認識処理部15は、撮像装置1ではなくPC2において実現されるものとしてもよい。
また、画像処理部14および認識処理部15は、ソフトウェアであるプログラムが実行されることによって実現されてもよく、または、ASICまたはFPGA(Field−Programmable Gate Array)等のハードウェア回路によって実現されてもよい。また、画像処理部14または認識処理部15の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、撮像装置1が備えるROM等に予め組み込まれて提供される。本実施の形態の撮像装置1で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、本実施の形態の撮像装置1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態の撮像装置1で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。本実施の形態の撮像装置1で実行されるプログラムは、上述した画像処理部14または認識処理部15の少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPUが上述のROMからプログラムを読み出して実行することにより、上述の各部が主記憶装置上にロードされて生成されるようになっている。
<シャインプルーフの原理について>
図4は、被写体の距離によって焦点が合うか否かの説明をする図である。図5は、シャインプルーフの原理を説明する図である。図6は、シャインプルーフの原理によりレンズユニットの光軸方向に延伸した合焦面が形成されることを説明する図である。図7は、撮像画像の位置によって焦点が合うか否かを説明する図である。図4〜7を参照しながら、本実施の形態に係る撮像装置1が採用するシャインプルーフの原理について説明する。
図4に示すように、通常、撮像装置のレンズユニット11における光軸に垂直な主面と、撮像素子12のセンサ面とは略平行に配置されている。光学系であるレンズユニット11には、所定の被写界深度があり、被写界深度に含まれる位置以外の位置において、被写体は焦点が合わない(合焦しない)。ここで、被写界深度とは、撮像装置の光学系からある距離にある被写体に対して、焦点が合っていると許容できる光学系の光軸方向の距離範囲のことをいう。図4に示す3つの被写体4a〜4cのうち、焦点が合う合焦位置にあるのは、被写体4bのみで、被写体4a、4cは合焦位置にない。したがって、撮像素子12で結像されるのは、被写体4bのみであり、被写体4a、4cは、撮像素子12で結像しない。
そのため、一般的には、広い範囲の合焦位置(フォーカス位置)をサポートするために、機械的にレンズの位置を変更するオートフォーカス等の方法が用いられている。しかしながら、オートフォーカス機構はサイズが大きくなる上に高価であり、かつ合焦させるために、レンズを移動させて合焦位置を探索する必要があり、被写体に焦点の合った画像を得るまでに時間がかかるという問題点がある。
これを解決する方法の一例として、図5に示すように、撮像素子12のセンサ面を、レンズユニット11の主面に対して傾けたシャインプルーフの原理を用いる方法がある。シャインプルーフの原理とは、図5に示すように、撮像素子12のセンサ面の延長面と、レンズユニット11の主面の延長面とが1つの直線で交わる場合、合焦する被写体側の面(以下、合焦面50と称する)の延長面も同じ直線で交わるという原理である。すなわち、撮像素子12の位置によって被写体側の合焦位置が変わることになり、被写体との距離に応じた適切な場所、すなわち、合焦面50上に被写体を配置することによって、レンズユニット11の光軸方向の広い範囲において合焦した撮像画像を得ることができる。
このようにシャインプルーフの原理を用い、撮像素子12のセンサ面を、レンズユニット11の主面に対して傾けることによって、合焦位置がレンズユニット11の光軸方向に延伸した合焦面50を形成することができる。この場合、図6に示すように、被写体4a〜4cを合焦面50上に配置した状態で、撮像素子12により撮像すると、被写体4a〜4cのいずれにも焦点が合った撮像画像を得ることができる。
しかしながら、図6に示すシャインプルーフの原理を用いて合焦位置をレンズユニット11の光軸方向に延伸させる場合、被写体との距離に応じて、撮像画像上で合焦した状態で表示される適切な撮像位置が変わる。したがって、ユーザは、被写体の距離に応じて、適切な撮像位置となるように撮像装置1を移動させる必要があり、容易に被写体の撮像位置を決定することができないという問題点が出てくる。例えば、図7に示すように、撮像画像100に含まれている大きさおよび形状が全て同一の被写体4a〜4dのうち、被写体4a〜4cは、合焦面50上に配置されているため、焦点が合った状態で撮像されている。この場合、被写体4aは、合焦面50上の撮像装置1に近い位置に配置されており、被写体4cは、合焦面50上の撮像装置1から遠い位置に配置されており、被写体4bは、被写体4aと被写体4cとの中間に位置する合焦面50上の位置に配置されている。しかし、被写体4dは、撮像装置1からの距離が被写体4aと同じ距離に配置されているが、合焦面50上に配置されていないために、焦点が合っていない状態で撮像されている。したがって、被写体4dを焦点が合った状態で撮像するために、ユーザは、被写体4dの撮像位置が、図7における被写体4aの撮像位置となるように撮像装置1を移動させなければならないが、これは容易にできることではない。以下、図8を参照しながら、この問題を解決するための本実施の形態のレンズユニット11周辺の要部構成について説明する。
<レンズユニット周辺の要部構成>
図8は、第1の実施の形態の撮像装置における光学系周辺の要部構成の一例を示す図である。図8を参照しながら、撮像装置1のレンズユニット11周辺の要部構成について説明する。
図8に示すように、撮像素子12は、センサ面がレンズユニット11の主面に対して傾けて配置されており、シャインプルーフの原理によって、合焦位置がレンズユニット11の光軸方向に延伸した合焦面50が形成されている。すなわち、合焦面50は、レンズユニット11の光学特性、およびレンズユニット11と撮像素子12のセンサ面(結像面)との位置関係に基づいて形成される。また、光源17は、撮像素子12のセンサ面の延長面と、レンズユニット11の主面の延長面とが交わる直線の位置に配置されている。そして、光源17は、照射する光線60の方向をレンズユニット11の画角の中心軸方向からずらし、光線60が合焦面50上に位置するように照射する。光線60は、被写体に照射した場合に、被写体に円形のポインタが形成されるものとしてもよいし、矩形状のポインタが形成されるものとしてもよい。
以上のように光源17を配置することによって、光源17が照射する光線60は、合焦面50上に配置された被写体を照射することになる。図8に示すように、被写体4a〜4cは、いずれも、合焦面50上に配置されているので、光線60によって照射されることになる。逆に、被写体が光線60によって照射されるように、被写体または撮像装置1を移動させることによって、被写体を焦点が合う撮像位置に配置させることができる。すなわち、ユーザは、光源17が照射する光線60が示す位置に被写体(例えば、二次元コード等)が配置されるように、撮像装置1を移動させることによって、容易に被写体の距離に応じた適切な撮像位置とすることができ、被写体について焦点が合った撮像画像を得ることができる。
なお、光源17が照射する光線60は、被写体における撮像装置1側の面がレンズユニット11の主面と略平行等に配置されている場合、被写体の面に対して斜めから照射することになる。したがって、被写体に照射された光線60のポインタは、歪んだ形状を呈することになる。よって、光源17は、予め断面形状が歪んだ状態の光線60を照射し、被写体の面に対して斜めから照射されたときに正規の形状(円形、矩形等)となるようにしてもよい。
また、通常、撮像素子12におけるセンサ面は、長方形の形状となっている。例えば、撮像素子12が、640×480のマトリックス状に配置された検出素子で構成された場合等である。この場合、撮像素子12を、センサ面の長手方向が、レンズユニット11の主面に対して傾けて配置させることが望ましい。これによって、合焦面50をレンズユニット11の光軸方向により大きく延伸させることができる。
また、光源17は、撮像素子12のセンサ面の延長面と、レンズユニット11の主面の延長面とが交わる直線の位置に配置されているものとしたが、これに限定されるものではない。すなわち、光源17から照射される光線60が、合焦面50上に位置するように照射されるものとすれば、光源17はどの位置に配置されてもよい。
また、図8に示すように、光源17はビーム状の光線60を照射するように示されているが、これに限定されるものではなく、例えば、放射状に広がりを有する光線であってもよい。
ここで、上述のように、シャインプルーフの原理を用いて、合焦位置がレンズユニット11の光軸方向に延伸した合焦面50を形成させたとしても、上述のようにレンズユニット11が有する所定の被写界深度の制限により、レンズユニット11の主面に平行な方向については焦点が合う範囲が狭い。したがって、レンズユニット11の主面に平行な方向において焦点が合う範囲を超える大きさの被写体については、被写体の全体に対して焦点を合わせて撮像することができないことになる。
ここで、合焦面50上の各位置において、上述のレンズユニット11の光軸方向の被写界深度の拡張をすることができれば、焦点が合う領域が広くなり、大きな被写体の全体が撮像画像において焦点の合った状態とすることが可能となる。ここで、被写界深度拡張(EDoF:Extended Depth of Field)の概略について説明する。レンズユニット11に含まれるレンズおよび位相板11aは、上述のように、撮像素子12に入射される被写体の光に収差を与えて点像分布関数を付加する機能を有する。例えば、レンズは、収差として、撮像素子12に入射される被写体の光に球面収差を与える。レンズユニット11は、収差によって撮像素子12で撮像する画像がぼけた状態にする代わりに広い深度でそのぼけが一定となるようにする。したがって、レンズユニット11によってぼけた画像は、所定のMTF(Modulation Transfer Function)の値が得られるように補正する必要がある。MTFは、被写体の持つコントラストを、どれくらい忠実に再現できるかを数値化した値、すなわちコントラストの再現率を示す。このような、レンズユニット11によってぼけた画像に対して、ぼけを補正する撮像装置として、点像分布関数の逆変換処理を施すことによって、MTFを向上させ、高解像度の画像に補正することができる。逆変換処理は、光学系によってぼけた画像を形成する各画素に対して、逆変換フィルタによるフィルタ処理を施すことにより画像のぼけ(収差)を復元することによって実現される。以下、画像処理部14のブロック構成の詳細を説明すると共に、逆変換処理による被写界深度拡張の方法の一例について説明する。さらに、逆変換処理した画像に対して、光源17からの光線60が照射されたポインタを探索することにより被写体までの距離を測定し、シンボルの認識処理の処理負荷を低減する動作について説明する。
<画像処理部の構成および動作>
図9は、第1の実施の形態の撮像装置の画像処理部のブロック構成の一例を示す図である。図10は、第1の実施の形態の撮像装置の撮像素子により撮像される撮像画像の一例を示す図である。図9を参照しながら、本実施の形態の撮像装置1の画像処理部14のブロック構成について説明する。
撮像素子12は、上述のように、レンズユニット11に入射する被写体4(図1参照)からの光を電気信号に変換することにより被写体4を撮像し、画像を生成する固体撮像素子である。以下、撮像素子12は、VGA(Video Graphics Array)の画像を形成して出力するものとして説明する。具体的には、撮像素子12は、例えば、X方向に640個、Y方向に480個の検出素子によって、図10に示すように、640×480のマトリックス状に配列された画素で構成される画像である撮像画像101を撮像する。
なお、撮像素子12が撮像する画像の大きさは640×480のVGAの画像であるものとしたが、これに限定されるものではなく、異なる大きさの画像であってもよい。
図9に示すように、本実施の形態の画像処理部14は、画像バッファ部141と、フィルタ処理部143(逆変換手段)と、判定部144(判定手段)と、測定部145(測定手段)と、を備えている。
画像バッファ部141は、ラインバッファおよびレジスタ等を備え、撮像素子12から出力される画素を順に入力して、撮像画像をバッファリングする処理部である。
フィルタ処理部143は、画像バッファ部141から出力される撮像画像に対して、フィルタ回路によって、所定のフィルタ処理(逆変換処理)を行う処理部である。本実施の形態においては、フィルタ処理に使用するフィルタとして、位相板11aの作用によって点像分布関数を与えられたぼけた画像に対して、ぼけ(収差)を補正(復元)する逆変換処理をするための逆変換フィルタを例に説明する。フィルタ処理部143の具体的な動作については、図12〜14において後述する。
判定部144は、フィルタ処理部143により逆変換処理が実行された画像において、光源17から光線60が被写体に照射されることによって被写体上に形成された照射光点(以下、ポインタという)を検出し、そのポインタの画像上の位置を判定する処理部である。判定部144の具体的な動作については、図20において後述する。
測定部145は、判定部144によって判定された画像におけるポインタの位置情報に基づいて、ポインタが形成された被写体までの距離を測定する処理部である。測定部145の具体的な動作については、図21において後述する。
<<撮像素子12から出力される画素が画像バッファ部141に入力される動作>>
図11は、撮像素子から出力される画素が画像バッファ部に入力される動作を示すタイミングチャートである。図11を参照しながら、撮像素子12によって検出された撮像画像の画素の出力動作について説明する。
撮像素子12は、検出した画素をX方向の1水平ラインずつ走査しながら、その1水平ラインに含まれる画素を出力する。具体的には、撮像素子12は、Y方向の1番目の水平ラインに含まれる画素を、X方向の1番目の画素から640番目の画素まで順に出力する。撮像素子12は、上記の動作を、Y方向の480番目までの水平ラインに含まれる画素の出力をそれぞれ行う。なお、撮像素子12によって検出される画像の640×480の各画素について、X方向のX番目およびY方向のY番目の画素を(X,Y)の画素というものとする。
上述の動作を図11に示すタイミングチャートに基づいて説明する。図11に示すように、撮像素子12は、有効フレーム信号がオン状態のとき、1フレーム分、すなわち1画像分の画素を出力する。撮像素子12において、有効フレーム信号がオン状態になってからフレーム開始期間Aを経て、Y方向の1番目の水平ラインの画素の出力許可を示す有効ライン信号L1がオン状態になる。撮像素子12は、有効ライン信号L1がオン状態になっている有効データ期間Tの間に、Y方向の1番目の水平ラインを走査し、その水平ラインに含まれるX方向の1〜640番目の画素((1,1)〜(640,1)の画素)を順に出力する。撮像素子12によってY方向の1番目の水平ラインの画素が出力された後、有効ライン信号L1がオフ状態になる。
撮像素子12において、有効ライン信号L1がオフ状態になってから水平ブランキング期間Bを経て、Y方向の2番目の水平ラインの画素の出力許可を示す有効ライン信号L2がオン状態になる。撮像素子12は、有効ライン信号L2がオン状態になっている有効データ期間Tの間に、Y方向の2番目の水平ラインを走査し、その水平ラインに含まれるX方向の1〜640番目の画素((1,2)〜(640,2)の画素)を順に出力する。撮像素子12によってY方向の2番目の水平ラインの画素が出力された後、有効ライン信号L2がオフ状態になる。
撮像素子12は、以上の動作について、有効ライン信号L480がオン状態になっている有効データ期間Tの間に、Y方向の480番目の水平ラインに含まれるX方向の1〜640番目の画素を出力するまで行う。撮像素子12において、有効ライン信号L480がオフ状態になってからフレーム終了期間Cを経て、有効フレーム信号がオフ状態になる。以上の動作によって、撮像素子12による1フレーム分の画素の出力が終了する。また、撮像素子12において、有効フレーム信号がオフ状態になってから垂直ブランキング期間Dを経て、再び有効フレーム信号がオン状態になり、次の1フレーム分の画素の出力が開始される。
<<フィルタ処理部143の動作>>
図12は、逆変換フィルタの構成の一例を示す図である。図13は、画像を逆変換フィルタによってフィルタ処理することを説明する図である。図14は、画像において逆変換フィルタのフィルタ処理の対象となる対象部分画像をスキャンする動作を説明する図である。図12〜14を参照しながら、画像処理部14のフィルタ処理部143の逆変換処理について説明する。
逆変換処理に使用されるフィルタは、例えば、図12に示すように、フィルタ係数a11〜a15、a21〜a25、a31〜a35、a41〜a45およびa51〜a55によって構成されるタップ数が5×5の線形フィルタである逆変換フィルタ121である。逆変換フィルタ121による逆変換処理の対象となる画像の部分を、図13に示す対象部分画像131であるものとする。対象部分画像131は、画素A11〜A15、A21〜A25、A31〜A35、A41〜A45およびA51〜A55によって構成された5×5の部分画像である。
フィルタ処理部143は、図13に示すように、対象部分画像131に対して逆変換フィルタ121によってコンボリューション演算した値、すなわち、図13の式(1)で表される演算値と同一である。コンボリューション演算の演算値は、対象部分画像131の中央に位置する画素である中央データに対して逆変換処理を実行した値となる。すなわち、コンボリューション演算の演算値は、逆変換処理後の画像において、逆変換処理前の画像の中央データに相当する位置の画素となる。
次に、フィルタ処理部143の逆変換処理について、図14を参照しながら、画像105においてX方向の水平ラインを走査しながら逆変換処理をする動作の概略を説明する。図14(a)は、フィルタ処理部143が、画像105における(1,1)の画素に対して逆変換フィルタ121によって逆変換処理をする状態を示している。図14(a)に示すように、(1,1)の画素を中央データ135aとしてコンボリューション演算するためには、(1,1)の画素を中央データとする対象部分画像131aと、画像105とが重複している部分の画素が必要になる。すなわち、対象部分画像131aのうち、図13に示す対象部分画像131の画素A33〜A35、A43〜A45およびA53〜A55に相当する画素が必要である。そして、対象部分画像131aにおいて、画像105と重複していない部分の画素は「0」として取り扱うものとする。
以上の状態において、フィルタ処理部143は、図13に示したコンボリューション演算と同様に、対象部分画像131aに対して逆変換フィルタ121によってコンボリューション演算を行う。フィルタ処理部143は、画像105の対象部分画像131aの中央データ135aである(1,1)の画素に対してコンボリューション演算した値を、逆変換処理後の画像の(1,1)の画素として出力する。
次に、フィルタ処理部143は、図14(b)に示すように、コンボリューション演算の対象となる画素をX方向にひとつシフトし、対象部分画像131bの中央データ135bである(2,1)の画素に対して逆変換処理をする。そして、フィルタ処理部143は、X方向の水平ラインをシフトしながらコンボリューション演算を繰り返し、図14(c)に示すように、X方向の水平ラインの最後の画素である(640,1)の画素に対して逆変換処理をする。(640,1)の画素は、図14(c)に示すように、対象部分画像131cの中央データ135cである。
以上のように、フィルタ処理部143は、X方向の水平ラインをシフトしながらコンボリューション演算を繰り返し、水平ラインの最後の画素に対する逆変換処理が終了すると、Y方向の次の水平ラインに対して同様に逆変換処理を行う。
図14(d)〜14(f)は、フィルタ処理部143が、画像105におけるY方向の4番目の水平ラインの画素に対して逆変換処理を行う状態を示している。図14(d)は、フィルタ処理部143が、画像105における(1,4)の画素に対して逆変換フィルタ121によって逆変換処理をする状態を示している。図14(d)に示すように、(1,4)の画素を中央データ135dとしてコンボリューション演算するためには、(1,4)の画素を中央データとする対象部分画像131dと、画像105とが重複している部分の画素が必要になる。そして、対象部分画像131dにおいて、画像105と重複していない部分の画素は、上述と同様に「0」として取り扱うものとする。
図14(e)は、フィルタ処理部143が、画像105における(5,4)の画素に対して逆変換フィルタ121によって逆変換処理をする状態を示している。図14(e)に示すように、(5,4)の画素を中央データ135eとする対象部分画像131eは全体が画像105と重複しているので、フィルタ処理部143は、対象部分画像131eに含まれる画素をすべて利用した逆変換処理が可能となる。
そして、フィルタ処理部143は、X方向の水平ラインをシフトしながらコンボリューション演算を繰り返し、図14(f)に示すように、X方向の水平ラインの最後の画素である(640,4)の画素に対して逆変換処理をする。(640,4)の画素は、図14(f)に示すように、対象部分画像131fの中央データ135fである。
以上のように、フィルタ処理部143は、画像105を構成する各画素に対して逆変換フィルタ121によるコンボリューション演算を行って逆変換処理をするので、位相板11aによってぼけた画像を復元し、画像の解像度を向上させることができる。
なお、上述のように、画像105における逆変換フィルタ121によるコンボリューション演算の対象となる対象部分画像について、画像105と重複していない部分の画素は「0」としたが、これに限定されるものではない。例えば、対象部分画像の画像105と重複していない部分の画素は、対象部分画像の中央データを基準にして、対象部分画像の画像105と重複している部分の画素を折り返した場合の画素を用いるものとしてもよい。
具体的に、図14(a)の対象部分画像131aを例にして説明する。対象部分画像131aのそれぞれの画素の名称を、仮に図13に示す対象部分画像131の画素の名称と同様とする。この場合、対象部分画像131aの画像105と重複していない部分の画素は、画素A11〜A15、A21〜A25、A31、A32、A41、A42、A51およびA52である。また、対象部分画像131aの画像105と重複している部分の画素は、画素A33〜A35、A43〜A45およびA53〜A55である。
このとき、画素A31、A32、A41、A42、A51およびA52は、中央データを基準にして、対象部分画像131aの画像105と重複している部分の画素を折り返し、それぞれ画素A35、A34、A45、A44、A55およびA54の値を用いる。また、画素A13〜A15およびA23〜A25は、中央データを基準にして、対象部分画像131aの画像105と重複している部分の画素を折り返し、それぞれ画素A53〜A55およびA43〜A45の値を用いる。そして、画素A11、A12、A21およびA22は、中央データを基準にして、対象部分画像131aの画像105と重複している部分の画素のうち点対象の位置関係にある画素、すなわち、それぞれA55、A54、A45およびA44の値を用いる。以上のような方法によって、対象部分画像の各画素を決定するものとしてもよい。
また、図13に示すように、フィルタ処理部143が有する逆変換フィルタ121はタップ数が5×5のフィルタとしているが、これに限定されるものではない。すなわち、フィルタのタップ数は3×3、15×15または21×21等異なるタップ数としてもよい。この場合、フィルタのタップ数に合わせて、対象部分画像の大きさも一致させる必要がある。また、フィルタによる逆変換処理の対象となる中央データが存在するように、フィルタのタップ数は奇数である必要がある。
また、逆変換フィルタは、例えば15×15以上のタップ数であることが好ましい。逆変換フィルタは、タップ数が多いほど、位相板によって被写界深度が拡張されてぼけが加えられた画像に対して、ぼけを補正できる光軸上の幅を大きくすることができる。したがって、タップ数が多い逆変換フィルタを用いることによって、位相板およびレンズの被写界深度についての設計のバリエーションを増やすことができる。
<<逆変換フィルタの周波数特性の導出>>
次に、上述の逆変換フィルタ(例えば、図12に示す逆変換フィルタ121)の周波数特性を導出する方法について説明する。合焦面50上のフォーカス位置において光学系であるレンズユニット11によって広がったスポットを一点に集まるように復元する逆変換処理に使用される逆変換フィルタの周波数特性の導出方法について説明する。上述の周波数特性を実現するフィルタとしては、2次元の線形フィルタかつFIR(Finite Impulse Response)フィルタが好適である。
まず、撮像素子12によって撮像された画像への光学系による影響のモデルを以下の式(2)に示す二次元のコンボリューション演算(畳み込み演算)の式によって表す。
ここで、imagecapturedは光学系を通って検出された二次元の撮像画像の画素であり、imageidealは被写体4そのものを示す理想画像の画素であり、hは光学系のPSFを示す。
以下、画像処理系(撮像素子12および画像処理部14)に加わるノイズの影響を考慮して、逆変換処理後の画像の各画素と、理想画像の各画素との誤差についての平均二乗誤差を最小とする逆変換フィルタの周波数特性の導出を考える。平均二乗誤差は、以下の式(3)によって表される。
ここで、E[]は期待値(平均値)を示し、nは画像上の位置を示し、imageprocessed(n)は、imagecaptured(n)に対して逆変換処理をした画素を示す。なお、imagecapturedは、ノイズが含まれていることを考慮する。
波形x(n)が持つ全エネルギーのnの全領域についての総和と、波形x(n)のエネルギーのフーリエ変換X(ω)の全周波数成分についての総和とが等しいとするパーセバルの定理より、式(3)は、周波数領域における平均二乗誤差として以下の式(4)で表される。
ここで、IMAGEideal(ω)はimageideal(n)の周波数特性を示し、IMAGEprocessed(ω)はimageprocessed(n)の周波数特性を示し、ωは空間周波数を示す。
ここで、逆変換フィルタの周波数特性をR(ω)とすると、以下の式(5)の最小値を与える周波数特性R(ω)が最適の逆変換フィルタとなる。
ここで、IMAGEcaptured(ω)は、imagecaptured(n)の周波数特性である。
式(5)において、IMAGE
ideal(ω)=S(ω)、およびIMAGE
captured(ω)=X(ω)とし、式(5)の最小値を求めるため、式(5)をR
*によって微分すると、下記の式(6)が得られる。
ここで、E[|X(ω)|2]は、ノイズを含んだ撮像画像のパワースペクトルの平均値であり、E[S(ω)・X(ω)*]は、ノイズを含んだ撮像画像と理想画像との相互パワースペクトルの平均値である。
式(5)の最小値を求めるために式(6)の最右辺を0とすると下記の式(7)が得られる。
この式(8)に示す周波数特性R(ω)に基づく逆変換フィルタが、上述の式(3)に示す平均二乗誤差を最小とする最適のフィルタとなる。
ここで、ノイズの周波数特性をW(ω)とし、光学系のPSFであるhの周波数特性をH(ω)として、上述の式(2)を周波数領域で示すと下記の式(9)で示される。
ノイズの周波数特性W(ω)と、周波数特性S(ω)とが無相関であるとすると、E[S(ω)・W(ω)
*]=0であるので、上述の式(8)の右辺の分子に、式(9)を代入すると、下記の式(10)が得られる。
同じくノイズの周波数特性W(ω)と、周波数特性S(ω)とが無相関であるとすると、E[W(ω)・S(ω)
*]=0およびE[S(ω)
*・W(ω)]=0であるので、上述の式(8)の右辺の分母に、式(9)を代入すると、下記の式(11)が得られる。
上述の式(8)、(10)および(11)から、下記の式(12)に示す周波数特性R(ω)が得られる。
この式(12)に示す周波数特性R(ω)に基づく逆変換フィルタが、画像処理系のノイズを考慮した場合の上述の式(3)に示す平均二乗誤差を最小とする最適なフィルタとなる。ここで、E[|S(ω)|2]は理想画像のパワースペクトルの平均値であり、E[|W(ω)|2]はノイズのパワースペクトルの平均値であり、|H(ω)|2は光学系の周波数特性のパワースペクトルである。
また、上述の式(12)に示す周波数特性R(ω)を適用した場合において、逆変換処理後の画像の各画素と、理想画像の各画素との二乗誤差についての周波数領域における積分を取ると、下記の式(13)が得られる。
上記の式(13)の演算においては、上述のように、ノイズの周波数特性W(ω)と、周波数特性S(ω)とが無相関であることを利用している式(13)の最右辺の第1項は、逆変換処理後の画像の復元しきれなかった誤差量を示している。第2項は、ノイズによる誤差量を示している。
式(13)の積分値が最小となるように、光学系の周波数特性H(ω)を設計することによって、上述の式(5)に示す周波数領域においての平均二乗誤差が最小となる光学系および逆変換フィルタの組み合わせを得ることができる。また、パーセバルの定理より、上述の式(3)に示す実空間における平均二乗誤差が最小となる光学系および逆変換フィルタの組み合わせを得ることができる。したがって、式(12)に示す周波数特性R(ω)に基づいて、例えば、画像処理部14のフィルタ処理部143が有する逆変換フィルタ121を導出するものとすればよい。
以上のように、合焦面50上のフォーカス位置について、式(12)に示す周波数特性R(ω)から最適な逆変換フィルタを求めることができる。これによって、合焦面50上のフォーカス位置においてより広い範囲にまで被写界深度を拡張することができる。
なお、上述のような式(12)に示す周波数特性R(ω)に基づいた逆変換フィルタ121による逆変換処理によって被写界深度を拡張することに限定されるものではなく、被写界深度を拡張するその他のフィルタが用いられてもよい。
図15は、第1の実施の形態の画像処理部のフィルタ処理部の逆変換フィルタを決定するための周波数特性を演算する流れを示すフローチャートである。図15を参照しながら、式(12)に示す周波数特性Rを具体的に演算する流れについて説明する。
<<<ステップS1>>>
まず、レンズユニット11における面曲率および面間隔等、ならびに位相板11aの特性等の光学系パラメータに基づいて、レンズユニット11に対する光線追跡演算によりPSFを導出する。そして、ステップS2へ進む。
<<<ステップS2>>>
ステップS1で導出したPSFをフーリエ変換することによって、光学系の周波数特性Hを導出する。そして、ステップS5へ進む。
<<<ステップS3>>>
画像処理系(撮像素子12および画像処理部14)に加わるノイズ特性を測定する。そして、ノイズ特性をフーリエ変換することによって、ノイズの周波数特性Wを導出する。なお、ノイズ特性の測定が困難である場合は、空間周波数によらず、撮像素子12のS/N比の値を定数としてノイズの周波数特性Wを導出するものとしてもよい。そして、ステップS5へ進む。
<<<ステップS4>>>
撮像装置1により、自然風景またはシンボル等を様々な大きさおよび撮影条件によって撮像された画像を理想画像とする。理想画像を構成する画素の値をフーリエ変換し、空間周波数ωについての平均値を被写体の周波数特性Sとして導出する。なお、被写体の周波数特性Sは、被写体から出る光に収差を与えない光学系を通過した光に基づく撮像画像の画素の周波数特性としてもよい。また、被写体の周波数特性Sは、定数としてもよい。そして、ステップS5へ進む。
<<<ステップS5>>>
ステップS2で導出した光学系の周波数特性H、ステップS3で導出したノイズの周波数特性W、およびステップS4で導出した被写体の周波数特性Sから、上述の式(12)を使用して、逆変換フィルタの周波数特性Rを演算する。
<<MTFの空間周波数特性>>
図16は、光学系を通過した光による撮像画像の空間周波数特性を示す図である。図17は、逆変換処理が行われた画像の空間周波数特性を示す図である。図16および17を参照しながら、画像の空間周波数特性について説明する。
まず、図16を参照しながら、レンズユニット11(光学系)を通過した光が撮像素子12によって撮像された画像についての空間周波数ωに対するMTFについて説明する。図16に示す目標空間周波数特性201は、被写体の撮像画像のコントラストが完全に再現された場合のMTFの空間周波数ωについての特性(MTF=1)を示す。
上述したように、レンズユニット11を通過した光は、収差を与えるレンズおよび位相板11aの作用によって点像分布関数(PSF)が付加される。図16に示す空間周波数特性202は、レンズユニット11を通過した光に基づいて、撮像素子12によりフォーカス位置において撮像された撮像画像のMTFの空間周波数ωについての特性を示す。図16に示す空間周波数特性203は、レンズユニット11を通過した光に基づいて撮像素子12によって、あるデフォーカス位置において撮像された撮像画像のMTFの空間周波数ωについての特性を示す。レンズユニット11を通過した光はPSFが付加されているので、フォーカス位置における空間周波数特性202、およびデフォーカス位置における空間周波数特性203は、図16に示すように、何れも目標空間周波数特性201よりも低い値となる。
次に、図17を参照しながら、フィルタ処理部143が有する逆変換フィルタが、上述の式(12)に示す周波数特性Rによって求められた場合を考える。この場合において、撮像素子12によって撮像された画像がフィルタ処理部143によって逆変換処理が行われた画像についての空間周波数ωに対するMTFについて説明する。
図17に示す空間周波数特性202aは、撮像素子12によりフォーカス位置において撮像された撮像画像について、フィルタ処理部143により逆変換処理された画像のMTFの空間周波数ωについての特性を示す。図17に示す空間周波数特性203aは、撮像素子12により、あるデフォーカス位置において撮像された撮像画像について、フィルタ処理部143により逆変換処理された画像のMTFの空間周波数ωについての特性を示す。上述のように、式(12)は、合焦面50上のフォーカス位置において、レンズユニット11によってPSFが付加された画像を復元する逆変換フィルタの周波数特性Rを示すので、空間周波数特性202aは、MTF=1となり、目標空間周波数特性201と一致する。しかし、式(12)に示す周波数特性Rから導出された逆変換フィルタは、フォーカス位置におけるスポットとは形状の異なるデフォーカス位置には対応していないので、空間周波数特性203aのMTFは、空間周波数特性202aのMTFよりも低くなる。
このように、フィルタ処理部143は、式(12)に示す周波数特性R(ω)に基づいて求められた逆変換フィルタによる逆変換処理によって、フォーカス位置を含む所定の位置範囲において、レンズユニット11によってPSFが付加された画像を復元することができる。しがたって、合焦面50上のフォーカス位置においてより広い範囲にまで被写界深度を拡張することができる。
<<合焦領域の形成>>
図18は、合焦面の各位置において被写界深度が拡張された場合に形成される合焦領域を説明する図である。図19は、撮像素子上でピントの合う領域が拡大されることを説明する図である。図18および19を参照しながら、合焦面50の各位置において被写界深度が拡張されることによって形成される合焦領域51について説明する。
上述のように、フィルタ処理部143が、上述の式(12)に示す周波数特性R(ω)に基づく逆変換フィルタによる逆変換処理を実行することによって、図18(a)に示すように、合焦面50の各位置において、矢印の方向(レンズユニット11の光軸方向)に被写界深度が拡張する。したがって、逆変換処理をしない場合、被写体が合焦面50上に位置しないと焦点が合った状態で撮像されないのに対して、上述の逆変換処理を実行することによって、焦点が合う領域がレンズユニット11の光軸方向に拡張され、合焦領域51が形成される。すなわち、被写体がこの合焦領域51内に含まれていれば、被写体の全体に対して焦点が合った状態の画像を得ることが可能となる。例えば、図18(b)に示すように、様々な角度で配置された被写体4e〜4gは、いずれも全体が合焦領域51に含まれているので、全体に対して焦点が合った状態で撮像されることができる。この場合、光源17から照射される光線60は、少なくとも合焦領域51内に含まれるように照射すればよい。
また、例えば、上述の図8に示す合焦面50上の被写体4cが配置された位置(合焦面50の奥側)における合焦範囲を、撮像素子12のセンサ面において考えると、フィルタ処理部143によって逆変換処理がされない場合、図19(a)に示すように、合焦範囲は狭い。これに対して、フィルタ処理部143によって逆変換処理が実行される場合、図19(b)に示すように、撮像素子12のセンサ面において合焦面50の奥側に対応する合焦範囲は広くなる。
<<判定部144の動作>>
図20は、撮像画像における光源の照射の位置を判定する動作を説明する図である。図20を参照しながら、画像処理部14の判定部144の動作について説明する。
判定部144は、光源制御部18により光源17から光線60が被写体に照射された状態で、撮像素子12により撮像された撮像画像がフィルタ処理部143により逆変換処理が実行された図20に示す画像102に対して、まず、被写体4hに形成されたポインタLPを検出する。例えば、判定部144は、画像102において、周囲の画素の輝度値よりも所定値以上高い輝度値を有する画素の領域を検出し、その領域をポインタLPとして検出する。または、判定部144は、画像102全体の輝度値の平均値を算出し、その平均値よりも所定値以上高い輝度値を有する画素の領域を検出し、その領域をポインタLPとして検出するものとしてもよい。または、ポインタLPは、多角形形状もしくは星形形状等の特殊なパターン形状を有するものとし、判定部144は、画像102において、パターンマッチング処理によって、特殊なパターン形状を有するポインタLPを検出するものとしてもよい。なお、判定部144によりポインタLPの検出方法は、上述の方法に限定されるものではなく、ポインタLPが検出可能な方法であればどのような方法を採用するものとしてもよい。
次に、判定部144は、検出したポインタLPの画像102における位置を判定する。例えば、判定部144は、画像102の中心点である点PからポインタLPの高さ(Y方向)である像高IHを、ポインタLPの画像102における位置として判定するものとしてもよい。なお、ポインタLPの位置としては、ポインタLPの像高IHに限定されるものではなく、例えば、画像102におけるポインタLPのXY方向の座標(X,Y)であってもよい。判定部144は、判定した画像102におけるポインタLPの位置情報(像高IH等)を測定部145に渡す。
<<測定部145の動作>>
図21は、撮像画像における位置と被写体までの距離とを対応付けるルックアップテーブルの一例を示す図である。図21を参照しながら、画像処理部14の測定部145の動作について説明する。
測定部145は、上述のように、判定部144によって判定された画像102におけるポインタLPの位置情報に基づいて、ポインタLPが形成された被写体4hまでの距離を測定する。具体的には、測定部145は、例えば、図21に示すルックアップテーブル301(対応情報)を予め備えているものとする。ルックアップテーブル301は、画像102におけるポインタの像高と、ポインタが形成された被写体までの距離とを対応付けて保持しているテーブルである。図7で上述したように、画像のY方向の位置によって焦点が合う被写体までの距離が定まるので、ポインタのY方向の位置を示す像高が定まれば、被写体までの距離が一意に定まる。測定部145は、ルックアップテーブル301を参照し、判定部144によって判定された画像102におけるポインタLPの位置情報である像高の値から、ポインタLPが形成された被写体4hまでの距離を求める。そして、測定部145は、測定した被写体4hまでの距離情報を認識処理部15に渡す。
なお、図21に示すルックアップテーブル301の構成は一例を示すものであり、ルックアップテーブル301の像高、被写体距離および倍率(後述)も一例を示すものであり、図21に示されたものに限定されるものではない。また、図21に示すルックアップテーブル301のようにテーブル形式で構成されている必要もなく、画像102におけるポインタの像高と、ポインタが形成された被写体までの距離とを対応付けられた形式のデータであればよい。また、図21に示すルックアップテーブル301は、像高および被写体距離と、倍率(後述)とが対応付けられているが、測定部145の動作において、倍率の情報は必要ないので、ルックアップテーブル301において倍率の情報が含まれている必要はない。
また、測定部145がルックアップテーブル301を有しているものとしたが、これに限定されるものではない。すなわち、測定部145ではない別の記憶部(図示せず)がルックアップテーブル301を記憶しており、測定部145は、その記憶部からルックアップテーブル301を参照するものとしてもよい。
また、測定部145は、ルックアップテーブル301を参照し、画像102におけるポインタLPの位置情報(像高の値等)から、ポインタLPが形成された被写体4hまでの距離を求める動作を説明したが、これに限定されるものではない。測定部145は、例えば、ポインタLPの位置から被写体4hまでの距離を換算する換算式に基づいて、距離を算出するものとしてもよい。
<認識処理部の動作>
図22は、撮像画像においてシンボルを探索する動作を説明する図である。図22を参照しながら、認識処理部15のシンボルの認識処理について説明する。
認識処理部15は、光源制御部18により光源17から光線60が被写体4hに照射されていない状態で、撮像素子12により撮像された撮像画像がフィルタ処理部143により逆変換処理が実行された図22に示す画像103に対して、シンボルの認識処理を実行する。ここで、光源17から光線60が被写体4hに照射されていない状態とするのは、光線60によるポインタが被写体のシンボルに重畳していると、シンボルを正確に認識できない可能性があるためである。ここで、図22に示すように、認識処理部15による認識処理の対象となるシンボルとしてバーコードを例に説明する。
シンボルとしてのバーコードおよび二次元コード等は大きさが規格化されているため、画像103に含まれるバーコード等の大きさは、被写体の距離によって定まることになる。認識処理部15は、例えば、上述の図21に示すルックアップテーブル301を予め備えているものとする。ここでのルックアップテーブル301は、被写体までの距離と、倍率とを対応付けて保保持しているテーブルであるものとする。ここで、倍率とは、例えば、被写体までの距離が「0」の場合の被写体の倍率を「1」とし、被写体が離れるほどどれくらいの大きさで画像上に表示されるかを示す割合を示すものとする。したがって、被写体までの距離から、被写体が表示される倍率が一意に定まることになる。
認識処理部15は、ルックアップテーブル301を参照し、測定部145によって測定された画像103における被写体4hまでの距離の値から、被写体4hの倍率を求める。次に、認識処理部15は、求めた倍率から、認識処理の対象となる画像103上のバーコードの大きさを特定し、特定したバーコードの大きさに基づいて、画像103上でバーコードを探索するための探索枠110の大きさを決定する。そして、認識処理部15は、探索枠110を画像103全体でスキャンしながら、バーコードを探索して認識する。さらに、認識処理部15は、認識したシンボルであるバーコードをデコードし、通信部16を介して、デコードした情報を外部機器(例えば、図1に示すPC2)に送信する。このように、被写体までの距離から画像103上のバーコードの大きさが特定されるので、あらゆるバーコードの大きさを想定する必要がなく、決定した大きさの探索枠110により探索することができるため、認識処理部15における認識処理の処理負荷を低減することができる。また、画像103はフィルタ処理部143による逆変換処理により解像度が向上しているため、被写体に含まれるシンボルの認識の精度が向上する。
なお、上述のように、図21に示すルックアップテーブル301の構成は一例を示すものであり、ルックアップテーブル301の像高、被写体距離および倍率も一例を示すものであり、図21に示されたものに限定されるものではない。また、図21に示すルックアップテーブル301のようにテーブル形式で構成されている必要もなく、ポインタが形成された被写体までの距離と、被写体の倍率と、を対応付けられた形式のデータであればよい。また、図21に示すルックアップテーブル301は、像高と、被写体距離と、倍率とが対応付けられているが、認識処理部15の動作において、像高の情報は必要ないので、認識処理部15が参照するルックアップテーブル301において像高の情報が含まれている必要はない。すなわち、測定部145が参照するルックアップテーブルと、認識処理部15が参照するルックアップテーブルとは別のテーブルであってよい。
また、認識処理部15がルックアップテーブル301を有しているものとしたが、これに限定されるものではない。すなわち、認識処理部15ではない別の記憶部(図示せず)がルックアップテーブル301を記憶しており、認識処理部15は、その記憶部からルックアップテーブル301を参照するものとしてもよい。この場合、測定部145および認識処理部15は、像高と、被写体距離と、倍率とが対応付けられたルックアップテーブル301を共通に参照することができる。
また、認識処理部15は、ルックアップテーブル301を参照し、画像103における被写体4hの距離情報から、被写体4hの倍率を求める動作を説明したが、これに限定されるものではない。認識処理部15は、例えば、被写体4hの距離情報から被写体4hの倍率を換算する換算式に基づいて、距離を算出するものとしてもよい。
また、認識処理部15は、通信部16を介して、デコードした情報を外部機器(例えば、図1に示すPC2)に送信するものとしているが、併せて、測定部145から受け取った被写体4hまでの距離情報を外部機器に送信してもよい。これによって、外部機器は、被写体4hまでの距離情報を付加情報として役立てることができる。
また、認識処理部15は、特定したバーコードの大きさから探索枠110の大きさを決定し、探索枠110を画像103全体でスキャンしながら、バーコードを探索するものとしたが、これに限定されるものではない。上述のように、測定部145により画像103上の被写体4hの距離が測定されると共に、判定部144により画像102において被写体4hに形成されているポインタLPの位置も判定されている。すなわち、認識処理部15は、探索枠110により画像103全体を探索しなくても、図20に示す画像102のポインタLPの位置に対応する画像103上のポインタ位置LP1の周辺の所定領域を探索すれば、バーコードを認識できる可能性が十分高い。したがって、例えば、認識処理部15のバーコードの認識動作は、以下のようにしてもよい。
まず、測定部145は、測定した被写体4hまでの距離情報と共に、判定部144から受け取ったポインタLPの位置情報を認識処理部15に渡す。認識処理部15は、ルックアップテーブル301を参照し、測定部145によって測定された画像103における被写体4hまでの距離の値から、被写体4hの倍率を求める。次に、認識処理部15は、求めた倍率から、認識処理の対象となる画像103上のバーコードの大きさを特定し、特定したバーコードの大きさに基づいて、画像103上でバーコードを探索するための探索枠110の大きさを決定する。さらに、認識処理部15は、測定部145から受け取った画像102におけるポインタLPの位置情報に基づいて、図23に示すように、画像103上でポインタLPの位置に対応するポインタ位置LP1を特定する。そして、認識処理部15は、図23に示すように、特定したポインタ位置LP1に基づいて、例えばポインタ位置LP1を中心とする探索領域111を設定し、かつ、ポインタLPの位置情報により求まる被写体4hまでの距離情報に基づいて、探索領域111の大きさを決定する。例えば、被写体4hまでの距離が遠ければバーコードの大きさは画像103上で小さくなるので、探索領域111の大きさを縮小すればよく、距離が近ければバーコードの大きさは画像103上で大きくなるので、探索領域111の大きさを拡大すればよい。なお、探索領域111は、ポインタ位置LP1を中心とすることに限定されるものではなく、少なくともポインタ位置LP1を含む領域であればよい。そして、認識処理部15は、探索枠110を画像103の探索領域111内でスキャンしながら、バーコードを探索して認識する。これによって、認識処理部15は、大きさが決定された探索枠110によって、ポインタ位置LP1および被写体4hまでの距離により位置と大きさとが決定される画像103上の探索領域111のみを探索すればよいので、さらに認識処理の処理負荷を低減することができる。
<撮像装置の動作の全体の流れ>
図24は、第1の実施の形態の撮像装置の動作の一例を示すフローチャートである。図24を参照しながら、撮像装置1の全体的な動作の流れについて説明する。
<<ステップS11>>
レンズユニット11は、被写体からの光を集光し、撮像素子12に対して結像させる。この際、レンズユニット11の位相板11aは、レンズユニット11に入射する光に対して収差を与える。その結果、位相板11aは、撮像素子12に入射される光に対して点像分布関数を付加し、撮像素子12で撮像される画像がぼけた状態とする代わりに広い深度でそのぼけが一定となるようにする。また、光源制御部18は、光源17に光線60を被写体に照射する。光線60が照射された被写体にはポインタが形成される。そして、ステップS12へ進む。
<<ステップS12>>
撮像素子12は、レンズユニット11に入射する被写体からの光を電気信号に変換することによってポインタが形成された被写体を撮像して撮像画像を生成し、画像処理部14に撮像画像を出力する。画像処理部14の画像バッファ部141は、撮像素子12から入力した撮像画像をバッファリングする。そして、ステップS13へ進む。
<<ステップS13>>
画像処理部14のフィルタ処理部143は、画像バッファ部141から出力される撮像画像に対して、上述の式(12)に示す周波数特性R(ω)に基づく逆変換フィルタ121により逆変換処理を実行し画像102を生成する。フィルタ処理部143は、画像102を判定部144へ渡す。そして、ステップS14へ進む。
<<ステップS14>>
画像処理部14の判定部144は、フィルタ処理部143により逆変換処理が実行された画像102に対して、被写体に形成されたポインタを検出する。次に、判定部144は、検出したポインタの画像102における位置を判定する。例えば、判定部144は、画像102の中心点からポインタの高さ(Y方向)である像高を、ポインタの画像102における位置として判定する。そして、判定部144は、判定した画像102におけるポインタの位置情報(像高等)を測定部145に渡す。そして、ステップS15へ進む。
<<ステップS15>>
画像処理部14の測定部145は、画像102におけるポインタの像高と、ポインタが形成された被写体までの距離とを対応付けられたルックアップテーブルを参照し、判定部144によって判定された画像102におけるポインタの位置情報である像高の値から、ポインタが形成された被写体までの距離を求めて測定する。そして、測定部145は、測定した被写体までの距離情報を認識処理部15に渡す。そして、ステップS16へ進む。
<<ステップS16>>
光源制御部18は、光源17に対して光線60の被写体への照射を停止させる。そして、ステップS17へ進む。
<<ステップS17>>
撮像素子12は、レンズユニット11に入射する被写体からの光を電気信号に変換することによってポインタが形成されていない被写体を撮像して撮像画像を生成し、画像処理部14に撮像画像を出力する。画像処理部14の画像バッファ部141は、撮像素子12から入力した撮像画像をバッファリングする。そして、ステップS18へ進む。
<<ステップS18>>
フィルタ処理部143は、画像バッファ部141から出力される撮像画像に対して、上述の式(12)に示す周波数特性R(ω)に基づく逆変換フィルタ121により逆変換処理を実行し画像103を生成する。フィルタ処理部143は、画像103を認識処理部15へ渡す。そして、ステップS19へ進む。
<<ステップS19>>
認識処理部15は、被写体までの距離と、被写体の倍率とが対応づけられたルックアップテーブルを参照し、測定部145から受け取った被写体までの距離の値から、被写体の倍率を求める。次に、認識処理部15は、求めた倍率から、フィルタ処理部143から受け取った画像103上のバーコードの大きさを特定し、特定したバーコードの大きさに基づいて、画像103上でバーコードを探索するための探索枠110の大きさを特定する。そして、認識処理部15は、探索枠110を画像103全体でスキャンしながら、シンボルであるバーコードを探索して認識する。そして、ステップS20へ進む。
<<ステップS20>>
認識処理部15によって、シンボルが認識された場合、すなわち、シンボルの候補が発見された場合(ステップS20:Yes)、ステップS21へ進む。一方、シンボルが認識されない場合、すなわち、シンボルの候補が発見されなかった場合(ステップS20:No)、動作を終了する。
<<ステップS21>>
認識処理部15によって、認識したシンボルに対してデコード処理を実行した結果、デコードが正常に完了した場合(ステップS21:Yes)、ステップS22へ進み、デコードが正常に完了できなかった場合(ステップS21:No)、動作を終了する。
<<ステップS22>>
認識処理部15は、画像処理部14から入力した画像103に対してシンボルの認識処理を実行することにより、画像に含まれるシンボルを認識して、認識したシンボルをデコードした情報を外部機器(例えば、図1に示すPC2)に送信(出力)する。
以上の流れによって、撮像装置1による撮像動作、逆変換処理、ポインタ判定、被写体の距離の測定、およびシンボルの認識処理が実行される。なお、ステップS11〜S22の動作によって、シンボルの認識処理が正常に完了しなかった場合、正常に完了するまで所定回数繰り返すものとしてもよい。
以上のように、本実施の形態に係る撮像装置1は、シャインプルーフの原理に基づき、撮像素子12のセンサ面をレンズユニット11の主面に対して傾けて配置させ、合焦位置がレンズユニット11の光軸方向に延伸した合焦面50を形成させている。また、認識処理部15は、測定部145によって測定された画像103における被写体までの距離の値から、被写体の倍率を求める。認識処理部15は、求めた倍率から、認識処理の対象となる画像103上のバーコードの大きさを特定し、特定したバーコードの大きさに基づいて、画像103上でバーコードを探索するための探索枠110の大きさを決定する。そして、認識処理部15は、探索枠110を画像103全体でスキャンしながら、バーコードを探索して認識する。したがって、被写体までの距離から画像103上のバーコードの大きさが特定されるので、あらゆるバーコードの大きさを想定する必要がなく、決定した大きさの探索枠110により探索することができるため、認識処理部15における認識処理の処理負荷を低減することができる。
光源17を、照射する光線60の方向をレンズユニット11の画角の中心軸方向からずらし、光線60を合焦面50上に位置するように照射するように配置するものとしている。これによって、ユーザは、光源17が照射する光線60が示す位置に被写体が配置されるように、撮像装置1を移動させることによって、容易に被写体の距離に応じた適切な撮像位置とすることができ、被写体に焦点が合った撮像画像を得ることができる。なお、光源17は、光線60を厳密に合焦面50上に位置するように照射することは、必ずしも必要ではなく、少なくとも、光線60を、合焦面50と少しずれた位置、かつ合焦面50と平行となるように照射する等のように、合焦面50の近傍に照射するようにしても、上述の効果を得ることはできる。
また、フィルタ処理部143が、上述の式(12)に示す周波数特性R(ω)に基づく逆変換フィルタによる逆変換処理を実行することによって、レンズユニット11の光軸方向に延伸した合焦面50の各位置において、レンズユニット11の光軸方向に被写界深度が拡張する。これによって、焦点が合う領域がレンズユニット11の光軸方向に拡張され、合焦領域51が形成される。これによって、焦点が合う領域がレンズユニット11の光軸方向に拡張され、被写体が有するシンボルが拡張した被写界深度内に含まれていれば、所定の大きさを有するシンボルでも、シンボルの全体に対して焦点が合った状態とすることが可能となる。
なお、本実施の形態に係る撮像装置1は、光源17を備えるものとし、ユーザは、光源17が照射する光線60が示す位置に被写体が配置されるように、撮像装置1を移動させることによって、容易に被写体の焦点が合った撮像画像を得ることができるものとしている。しかし、例えば、撮像装置1が生産ライン等において固定して使用される場合、被写体(例えば、生産ラインを流れるワークに貼付された二次元コード等)が、通常、合焦面50または合焦領域51を必ず通過するように撮像装置1は固定される。この場合は、必ずしも光源17は必要がなく、被写体が合焦面50上または合焦領域51内に含まれていれば、被写体の全体に対して焦点が合った状態で撮像することができるという効果は得られる。
また、シンボルを含む被写体が合焦面50上に配置させることができれば、認識処理部15によるシンボルの認識処理は可能であるので、必ずしも、フィルタ処理部143による被写界深度拡張が必要なわけではない。
また、被写界深度拡張のために、上述の式(12)に示す周波数特性Rに基づく逆変換フィルタによる逆変換処理を例に挙げたが、被写界深度拡張の方法はこれに限定されるものではない。すなわち、異なる逆変換フィルタによる逆変換処理、または、異なるその他の処理によって被写界深度の拡張が実現されるものとしてもよい。
また、判定部144は、フィルタ処理部143によって逆変換処理が実行された画像102に対してポインタを検出する動作を実行しているが、これに限定されるものではない。すなわち、判定部144による、画像上のポインタを検出して、ポインタの画像における位置を判定する動作は、フィルタ処理部143の逆変換処理によって解像度が向上した画像に対して実行しなくても、画像バッファ部141からの撮像画像に対して可能であれば、フィルタ処理部143による逆変換処理は必須ではない。
また、上述のように、認識処理部15は、光源17から光線60が被写体に照射されていない画像103(図22、23参照)に対してシンボルの認識処理を実行するものとしているが、これに限定されるものではない。すなわち、光線60によるポインタが被写体のシンボルに重畳していても、ポインタの輝度がシンボルを認識できる程度の輝度である場合、認識処理部15は、画像102(図20参照)に対してシンボルの認識処理を実行するものとしてもよい。この場合、認識処理部15は、画像処理部14から、光線60が被写体に照射された画像102を受け取るものとすればよい。
<第1の実施の形態の変形例>
本実施の形態の変形例に係る撮像装置について、上述の第1の実施の形態に係る撮像装置1と相違する点を中心に説明する。
図25は、第1の実施の形態の変形例に係る撮像装置における光学系周辺の要部構成の一例を示す図である。図25を参照しながら、本実施の形態の変形例に係る撮像装置の光学系周辺の要部構成について説明する。
本変形例に係る撮像装置は、第1の実施の形態に係る撮像装置1におけるレンズユニット11を、多焦点レンズ11c(光学系の一例)に置換した構成を有する。このような多焦点レンズ11cを用いることによって、図25に示すように、第1の実施の形態における合焦面50と同様に、合焦位置が光軸方向に延伸した合焦面50aを形成することができる。また、多焦点レンズ11cを用いることによって、撮像素子12a(撮像手段)は、センサ面が多焦点レンズ11cの主面に対して傾けて配置する必要がなく、撮像素子12aのセンサ面と、多焦点レンズ11cの主面とは平行の状態となっている。なお、平行の状態とは、厳密に平行である状態に限定するものではなく、略平行である状態を含むものとする。このような本変形例に係る撮像装置の構成を採用することによって、図25に示す合焦面50a上に存在する3つの被写体4a〜4cは、いずれも撮像素子12a上で結像する。すなわち、合焦面50aは、多焦点レンズ11cの光学特性、および多焦点レンズ11cと撮像素子12aのセンサ面(結像面)との位置関係に基づいて、形成される。そして、光源17は、照射する光線60の方向を多焦点レンズ11cの画角の中心軸方向からずらし、光線60を合焦面50a上に位置するように照射する。
以上のように、撮像装置の光学系として多焦点レンズ11cを用いることにより、合焦位置が光軸方向に延伸した合焦面50aを形成することができると共に、撮像素子12aのセンサ面を多焦点レンズ11cの主面に対して傾けて配置する必要のない構成とすることができる。したがって、撮像装置の全体のサイズをコンパクトにすることが可能となる。
(第2の実施の形態)
第2の実施の形態に係る撮像装置について、第1の実施の形態に係る撮像装置と相違する点を中心に説明する。第1の実施の形態においては、撮像素子12のセンサ面が、レンズユニット11の主面に対して傾いて設置されることにより合焦面50を形成し、これによって、合焦した被写体の距離は撮像画像上において異なることを利用し、被写体のシンボルの認識処理をの処理負荷を低減する動作について説明した。しかし、撮像素子12のセンサ面をレンズユニット11の主面に対して傾いて設置することにより撮像画像にシェーディングが発生する場合がある。本実施の形態においては、補正部142(後述)によって撮像画像に対してシェーディング補正が実行されることにより、シンボルの読み取り精度を向上させる動作について説明する。本実施の形態において、撮像システムの全体構成、撮像装置の構成、およびレンズユニット11周辺の要部構成については、第1の実施の形態における構成と同様である。
<画像処理部の構成および動作>
図26は、第2の実施の形態の撮像装置の画像処理部のブロック構成の一例を示す図である。図26を参照しながら、本実施の形態の撮像装置の画像処理部14aのブロック構成について説明する。
図26に示すように、本実施の形態の画像処理部14aは、画像バッファ部141と、補正部142(補正手段)と、フィルタ処理部143(逆変換手段)と、判定部144(判定手段)と、測定部145(測定手段)と、を備えている。
補正部142は、撮像素子12によって撮像される際に発生するシェーディングに対し、撮像素子12により撮像され、画像バッファ部141によりバッファリングされた撮像画像に対してシェーディングを解消または低減するシェーディング補正を実行する処理部である。補正部142の具体的な動作は、図27および28において後述する。
フィルタ処理部143は、補正部142によりシェーディング補正された画像に対して、フィルタ回路によって、所定のフィルタ処理(逆変換処理)を行う処理部である。フィルタ処理(逆変換処理)の具体的内容は、第1の実施の形態と同様である。
なお、画像バッファ部141、判定部144および測定部145の動作は、第1の実施の形態と同様である。
<<補正部142の動作>>
図27は、シェーディングの発生を説明する図である。図28は、シェーディング補正をするための補正値テーブルの一例を示す図である。図27および28を参照しながら、画像処理部14aの補正部142のシェーディング補正の動作について説明する。
撮像素子12のセンサ面には、通常、光の集光効率を高めるためのマイクロレンズ(図示せず)が設置されている。撮像素子12にマイクロレンズが設置されることによって、光の検出単位であるフォトダイオードへの集光効率を向上させ、フォトダイオードの感度を向上させることができる。しかし、マイクロレンズによりフォトダイオードに対して光を取り込める角度には限度があるため、撮像素子12のセンサ面に入射する光の入射角が大きくなるほど、フォトダイオードの感度が低下して、シェーディングが発生する。
上述したように、本実施の形態の撮像装置においては、撮像素子12のセンサ面が、レンズユニット11の主面に対して傾いて設置されている。このため、図27に示すように、撮像素子12に入射する被写体からの光のうち、撮像素子12のセンサ面の図27の紙面視上側の部分に入射する光(例えば、被写体4aからの光)の入射角は、センサ面の図27の紙面視下側の部分に入射する光(例えば、被写体4cからの光)の入射角よりも大きい。したがって、撮像素子12のセンサ面の図27の紙面視下側の部分で検出した画素よりも、紙面視上側の部分で検出した画素に大きなシェーディングが発生することになる。認識処理部15は、例えば、バーコードを認識する場合、所定の閾値で二値化を行うため、撮像素子12により撮像された撮像画像に大きなシェーディングがある場合には、1つのバーコードの中でも白レベルと黒レベルとが逆になることがあり、バーコードに対して正しく白黒の判定ができない場合がある。したがって、本実施の形態のように、撮像素子12のセンサ面がレンズユニット11の主面に対して傾いて設置された場合、撮像素子12によって撮像された撮像画像に対して、シェーディングを解消または低減するシェーディング補正を実行する必要がある。そこで、補正部142は、撮像素子12により撮像された撮像画像に対して、シェーディング補正を実行する。
具体的には、補正部142は、例えば、図28に示す補正値テーブル302を予め備えているものとする。補正値テーブル302は、撮像画像を構成するそれぞれの画素の画素値に対応する補正値を保持しているテーブルである。この補正値テーブル302が保持している補正値は、撮像素子12のセンサ面に設置されたマイクロレンズの光学特性、および撮像素子12のセンサ面のレンズユニット11の主面に対する傾き角度等に基づいて求められた値である。図28に示す補正値テーブル302は、図28の紙面視上方の補正値が、撮像素子12のセンサ面における図27の紙面視上側の部分、すなわち、シェーディングの大きい部分の検出単位(フォトダイオード)に対応しており、図28の紙面視下方の補正値よりも大きな値となっている。補正部142は、撮像画像を構成する画素の画素値それぞれと、各画素値に対応する補正値テーブル302の補正値とを乗算して、補正された画素値として新たに算出し、元の画素値を補正された画素値に置き換えるシェーディング補正を実行する。すなわち、補正部142は、撮像画像に対してシェーディング補正することによって、補正された画素値を有する画素によって構成された補正された画像(以下、補正画像という)を生成する。
なお、図28に示す補正値テーブル302の構成は一例を示すものであり、補正値テーブル302の補正値も一例を示すものであり、図28に示されたものに限定されるものではない。例えば、補正値テーブル302の構成は、撮像画像の画素単位で補正値を有する構成でなくてもよく、撮像画像の所定の画素群ごとに補正値が割り当てられているものとしてもよい。また、補正値テーブル302のようにテーブル形式で構成されている必要もなく、撮像画像を構成する各画素の画素値に補正値が対応付けられた形式のデータであればよい。
また、補正部142が補正値テーブル302を有しているものとしたが、これに限定されるものではない。すなわち、補正部142ではない別の記憶部(図示せず)が補正値テーブル302を記憶しており、補正部142は、その記憶部から補正値テーブル302を参照するものとしてもよい。
また、補正部142は、撮像画像の画素値を補正値テーブル302の補正値を用いてシェーディング補正する動作を説明したが、これに限定されるものではない。補正部142は、例えば、撮像画像の画素の位置から補正値を換算する補正式に基づいて、補正値を算出し、この補正値を用いてシェーディング補正を実行するものとしてもよい。図29は、補正式の例を示すグラフであり、横軸が撮像素子12のセンサ面での受光位置Yを示し、縦軸が補正値Rを示す。ここで、横軸の撮像素子12のセンサ面での受光位置として、X方向(例えば図10に示すX方向に対応)は、センサ面を傾けることと関連が小さいので、Y方向のみを考えるものとする。図29に示す補正値グラフ401は、下記の式(14)に示す一次式の補正式の例をグラフにしたものである。
R=a×Y ・・・式(14)
式(14)の値aは、光学系であるレンズユニット11、撮像素子12のセンサ面の傾き角度、およびマイクロレンズの配置等に基づいて決定される定数である。
また、図29に示す補正値グラフ402は、下記の式(15)に示す二次式の補正式の例をグラフにしたものである。
R=a1×y2+b1 ・・・式(15)
式(15)の値a1、b1は、光学系であるレンズユニット11、撮像素子12のセンサ面の傾き角度、およびマイクロレンズの配置等に基づいて決定される定数である。補正部142は、補正値グラフ401、402等に示す補正式に基づいて、撮像画像の画素値それぞれに対応する補正値を算出し、その補正値を用いて撮像画像に対してシェーディング補正を実行するものとしてもよい。
なお、図29では、補正値を算出するための補正式として、一次式および二次式の補正式の例を示したが、これに限定されるものではない。すなわち、光学系であるレンズユニット11、撮像素子12のセンサ面の傾き角度、およびマイクロレンズの配置等に関連するシェーディングを補正するために十分でない場合は、三次以上の高次の多項式で表される補正式を用いるものとしてもよい。
以上のように、本実施の形態に係る撮像装置は、第1の実施の形態と同様に、シャインプルーフの原理に基づき、撮像素子12のセンサ面をレンズユニット11の主面に対して傾けて配置させ、合焦位置がレンズユニット11の光軸方向に延伸した合焦面50を形成させている。そして、補正部142は、撮像素子12のセンサ面をレンズユニット11の主面に対して傾けることによって発生するシェーディングに対して、撮像画像の画素の画素値それぞれに対して対応する補正値を用いて、補正された画素値を算出してシェーディング補正を実行する。これによって、レンズユニット11の光軸方向の広い範囲において合焦した合焦面50に配置された被写体としてのシンボルの読み取り精度を向上させることができる。その他、第1の実施の形態の効果を有することは言うまでもない。
<第2の実施の形態の変形例>
本実施の形態の変形例に係る撮像装置について、上述の第2の実施の形態に係る撮像装置と相違する点を中心に説明する。ただし、後述するように、本変形例において、第2の実施の形態の撮像素子12に相当するものを、撮像素子12b(撮像手段)と称して説明する。
<<撮像素子のマイクロレンズについて>>
図30は、撮像素子に平行光が入射される場合の集光効率を説明する図である。図31は、撮像素子がチルトしていない場合の光線の向きとマイクロレンズの配置との関係を説明する図である。図32は、撮像素子への入射角度、およびマイクロレンズの配置に基づく最適入射角度を説明する図である。図30〜32を参照しながら、本変形例に係る撮像装置の撮像素子12bに備えられたマイクロレンズ74の配置について説明する。
図30(a)は、撮像素子12bに備えられたマイクロレンズ74を模式的に示す図である。図30(b)は、図30(a)の点線箇所を拡大表示した図である。図30(b)に示すように、撮像素子12bはセンサ面に光の検出単位であるフォトダイオード71がX方向およびY方向にマトリックス状に配列されている。マイクロレンズ74は、撮像素子12bの光の検出単位であるフォトダイオード71に対して、入射する光を効率的に集光させるレンズである。フォトダイオード71へ向かう光は、フォトダイオード71とマイクロレンズ74との間に配置された遮光膜72に開口された開口部73を通ってフォトダイオード71に達する。
図30(a)に示すように、撮像素子12bのセンサ面に対して垂直に平行光線が入射する場合、図30(b)に示すように、主光線81は、マイクロレンズ74を透過し、開口部73を通って、フォトダイオード71に達する。また、主光線81の周辺の光線である周辺光線82は、マイクロレンズ74の集光効果によって、マイクロレンズ74において屈折し、主光線81と同様に開口部73を通って、フォトダイオード71に達する。すなわち、図30(b)に示すように、マイクロレンズ74が、その光軸が開口部73の中心を通るように配置されている場合であって、かつ、図30(a)に示すように、撮像素子12bのセンサ面に対して垂直に平行光線が入射する場合、平行光線はマイクロレンズ74によって効率的に集光されてフォトダイオード71によって検出される。このように、マイクロレンズ74が、その光軸が開口部73の中心を通るように配置されている場合の、センサ面の受光位置(Y方向)と、センサ面への最適入射角との関係を、図32のグラフ451に示す。図32のグラフ451に示すように、マイクロレンズ74が、その光軸が開口部73の中心を通るように配置されている場合、センサ面に対して垂直に入射する場合の入射角、すなわち、入射角が0°の場合が、最も集光効率の高い最適な入射角となる。
上述の図30(a)および30(b)おいては、光線が撮像素子12bのセンサ面に対して垂直に入射する場合について説明したが、図30(c)に示すように、光線がセンサ面に対して斜めに入射する場合を説明する。図30(c)に示すように、マイクロレンズ74に入射する光線のうち、主光線81aは、図30(b)の場合と同様に、マイクロレンズ74を透過し、開口部73を通って、フォトダイオード71に達する。一方、主光線81aの周辺の光線である周辺光線82aは、マイクロレンズ74の集光効果によって、マイクロレンズ74において屈折して進行方向が変化するが、図30(c)に示すように、一部は、遮光膜72によって遮光されていわゆるケラレが発生する。この場合、マイクロレンズ74に入射した光線のうち一部が、ケラレによってフォトダイオード71に到達しないため、フォトダイオード71が検出する光量は、図30(b)の場合と比較して少なくなる。これが、シェーディングが発生する要因の一つである。
次に、図31(a)を参照しながら、撮像素子12cのセンサ面が、レンズユニット11の主面に平行に配置された場合において、センサ面に配置されたマイクロレンズの配置をずらすことによってケラレを抑制する内容について説明する。
図31(a)は、撮像素子12cが、センサ面がレンズユニット11の主面と平行に配置された場合を示している。この場合、図31(a)および(b)に示すように、レンズユニット11の中心を通る主光線のうち、撮像素子12cのセンサ面の図31(b)の紙面視上方の部分に入射する主光線(以下、上側光線という)は、センサ面に対して右上方に向かって入射する。また、センサ面の図31(b)の紙面視下方の部分に入射する主光線(以下、下側光線という)は、センサ面に対して右下方に向かって入射する。そして、センサ面の図31(b)の紙面視中央の部分に入射する主光線(以下、中央光線という)は、センサ面に対して垂直に入射する。ここで、例えば、図30(b)に示すように、各マイクロレンズが、その光軸が対向する開口部73の中心を通るように配置されている場合、中央光線については、ケラレは生じないが、上側光線および下側光線については、上述したようにケラレが生じることになる。
このようなケラレの発生を低減するために、撮像素子12cに入射する光線が図31(a)および(b)に示す方向に入射する場合、通常は、各マイクロレンズ74に入射する主光線の方向に基づいて、マイクロレンズ74を、その光軸が対向する開口部73の中心からずれるように配置する。例えば、図31(b)の点線箇所を拡大表示した図31(c)に示すように、撮像素子12cにおいて図31(b)の紙面視上方に位置するマイクロレンズ74aの光軸が、対向する開口部73の中心よりも、撮像素子12cの中心側にずれるようにマイクロレンズ74aを配置するようにする。図示しないが、図31(b)の紙面視下方に位置するマイクロレンズ74aについても同様である。すなわち、撮像素子12cの周囲側に位置するマイクロレンズ74aほど、光軸が対向する開口部73の中心よりも、撮像素子12cの中心側にずれるように配置する。これによって、図31(c)に示すように、マイクロレンズ74aに入射する主光線81b、および主光線81bの周辺の光線である周辺光線82bは、マイクロレンズ74aを透過し、開口部73を通って、フォトダイオード71に達する。したがって、各マイクロレンズ74aに入射した光線は、ケラレの発生が抑制された状態で、それぞれ対向するフォトダイオード71に入射するため、集光効率が向上し、シェーディングの発生が抑制される。
このように、図31で上述したように、撮像素子12cの周囲側に位置するマイクロレンズ74aほど、光軸が対向する開口部73の中心よりも、撮像素子12cの中心側にずれるように配置した場合の、センサ面の受光位置と、センサ面への最適入射角との関係を示したグラフが、図32に示すグラフ452である。
しかし、本実施の形態に係る撮像装置の撮像素子12は、図27に示すように、センサ面が、レンズユニット11の主面に対して傾いて設置されている。この場合において、レンズユニット11の中心を通る主光線が、撮像素子12のセンサ面に入射する場合の、センサ面の受光位置と、センサ面への入射角との関係を示したグラフが、図32に示すグラフ453である。ただし、図32に示すように、グラフ453は、マイクロレンズ74が、その光軸が開口部73の中心を通るように配置されている場合の最適入射角を示すグラフ451とずれており、シェーディングが発生する可能性がある。さらに、グラフ453は、撮像素子12cの周囲側に位置するマイクロレンズ74aほど、光軸が対向する開口部73の中心よりも撮像素子12cの中心側にずれるように配置した場合の最適入射角を示すグラフ452ともずれており、シェーディングが発生する可能性がある。このように、グラフ453が示す撮像素子12のセンサ面への入射角が、グラフ451またはグラフ452が示すマイクロレンズへの最適入射角からのずれが大きいほどシェーディングが大きくなる。
ここで、グラフ451に係るマイクロレンズ74に着目する。グラフ451に係るマイクロレンズ74は、その光軸が開口部73の中心を通るように配置されている。ここで、上述の図27を参照し、レンズユニット11から遠い被写体(例えば、被写体4c)からの光は、レンズユニット11を通って、撮像素子12へ向かう光量が少なくなるため、シェーディングを抑制する必要がある。一方、レンズユニット11から近い被写体(例えば、被写体4a)からの光は、レンズユニット11を通って、撮像素子12へ向かう光量が大きいので、ある程度のシェーディングが発生しても許容できる。ここで、図32を参照し、撮像素子12において合焦面50上の、レンズユニット11から遠い被写体4cからの光の入射角を示す、グラフ453における図32の紙面視左側の部分は、グラフ452からの距離よりも、グラフ451からの距離の方が小さい。一方、撮像素子12において合焦面50上の、レンズユニット11から近い被写体4aからの光の入射角を示す、グラフ453における図32の紙面視右側の部分は、グラフ452からの距離よりも、グラフ451の距離の方が大きいが、上述のように、ある程度のシェーディングが発生しても許容できる部分である。以上のことから、本実施の形態に係る撮像装置1の撮像素子12は、光軸が開口部73の中心を通るように配置されたグラフ451に係るマイクロレンズ74を備えるものとする。
以上のように、本変形例に係る撮像装置は、撮像素子12が、光軸が開口部73の中心を通るように配置されたマイクロレンズ74を備え、かつ、補正部142によるシェーディング補正の機能を具備する。これによって、シェーディングが発生するとしても、その影響を低減するマイクロレンズ74の配置とすることができ、かつ、補正部142によるシェーディング補正が実行される。ゆえに、レンズユニット11の光軸方向の広い範囲において合焦した合焦面50に配置された被写体としてのシンボルの読み取り精度を向上させることができる。また、撮像素子12は、従来から存在する光軸が開口部73の中心を通るように配置されたマイクロレンズ74を備えればよいので、コストの削減を図ることができる。
なお、撮像素子12が備えるマイクロレンズ74は、その光軸が開口部73の中心を通るように撮像素子12のセンサ面に配置するものとしているが、これに限定されるものではない。すなわち、撮像素子12は、図32のグラフ453で示される撮像素子12への入射角と一致するような最適入射角を有するように配置されたマイクロレンズを備えるものとしてもよい。これによって、グラフ453は、マイクロレンズの最適入射角を示すグラフとのずれがなくなりシェーディングの発生自体を抑制することができるので、被写体としてのシンボルの読み取り精度をさらに向上させることができる。ただし、上述の「入射角と一致する」とは、完全な一致を意味するものではなく、所定のずれを含んだほぼ一致する状態を含む概念である。
(第3の実施の形態)
第3の実施の形態においては、第1の実施の形態または第2の実施の形態に係る撮像装置をシンボルリーダの一例としてのコードリーダに適用した場合について説明する。したがって、第3の実施の形態のコードリーダは、第1の実施の形態または第2の実施の形態に係る撮像装置の構成および動作と同様である。
<コードリーダの構成および動作>
図33は、第3の実施の形態のコードリーダの外観構成の一例を示す図である。図34は、第3の実施の形態のコードリーダの合焦面の位置および動作を説明する図である。図33および34を参照しながら、本実施の形態に係る撮像装置としてのコードリーダ1_1の構成および動作について説明する。図33のうち、図33(a)は、コードリーダ1_1の側面図を示し、図33(b)は、コードリーダ1_1の平面図を示す。
コードリーダ1_1は、バーコードまたは二次元コード等を被写体として撮像および認識処理をするハンディタイプの装置である。図33(a)に示すように、コードリーダ1_1は、ヘッド31と、取っ手32と、を備えている。ヘッド31は、図33(b)に示すように、被写体からの光を集光し、撮像素子12(図示せず)に対して結像させるレンズユニット11と、光線60を照射する光源17と、を備えている。取っ手32は、ユーザが把持する部分であり、情報を所定の方式により暗号化したバーコードまたは二次元コード等(シンボルの一例)を有する被写体を撮像するトリガとなる操作ボタン(図示せず)を備えている。
撮像素子12は、図示しないが、センサ面がレンズユニット11の主面に対して傾けて配置されており、シャインプルーフの原理によって、合焦位置がレンズユニット11の光軸方向に延伸した合焦面50b(図34参照)が形成されている。光源17は、図34に示すように、照射する光線60の方向をレンズユニット11の画角の中心軸方向からずらし、光線60を合焦面50b上に位置するように照射する。認識処理部15(図示せず)は、撮像素子12によって撮像されたバーコードまたは二次元コード等を含む撮像画像であって、画像処理部14により画像処理が実行された画像に基づいて、バーコードまたは二次元コード等の認識処理を実行する。
以上の構成によって、第1の実施の形態および第2の実施の形態に係る撮像装置と同様の効果を有し、レンズユニット11の光軸方向の広い範囲において合焦した撮像画像を撮像するコードリーダ1_1を得ることができる。
なお、図33に示すように、コードリーダ1_1は、ハンディタイプの装置としているが、これに限定されるものではなく、固定式のコードリーダであってもよい。