本発明は、被写体の平面画像を表す平面画像データ及び被写体までの距離を表す距離画像データを生成する画像データ生成装置、及び当該画像データ生成装置に好適な受光デバイスに関する。
従来、画像データ生成装置としては、被写体から到来する光を、複数の光電変換素子が配列されてなる受光デバイスを通じて受光し、光電変換素子毎に被写体から受けた光の受光量を検出し、受光量に応じた画素値を配列して、被写体の平面画像を表す平面画像データを生成する画像データ生成装置や、被写体までの距離に応じた画素値を配列して距離画像データを生成する画像データ生成装置が知られている(例えば、特許文献1参照)。
また、距離画像データを生成する画像データ生成装置としては、発光デバイスを通じて被写体に対し光を発射すると共に、1回の発射動作に対して、異なる期間に、複数回の受光動作を行い、各受光動作によって異なる期間に受光した光の受光量に基づいて、発射光が被写体に反射して戻ってきた反射光の発射光に対する位相差を検出し、被写体までの距離を算出するものが知られている。
また、このような画像データ生成装置に搭載される受光デバイスとしては、光電変換素子にて生成された電荷に応じた信号を出力するための回路としてCMOS回路が採用された受光デバイスが知られている。
受光デバイスとしては、他に、CCD回路と、その周辺回路としてのCMOS回路を組み合わせたものが知られているが、CMOS技術は、ADC(アナログ/ディジタル変換)回路の形成等、周辺回路の形成に欠かせないものであるのにもかかわらず、CCD回路と不適合である。このため、CCD回路を用いた受光デバイスでは、CCD回路と周辺回路との間に、インタフェース回路やコンパニオンチップ等を搭載する必要があり、製造工程が煩雑になるといった欠点がある。また、CCD回路では駆動時の消費電力が大きいといった欠点がある。
これに対し、光電変換素子から電荷を取り出し電荷に応じた信号を出力する回路を、CCD回路ではなく、CMOS回路として構成すれば、製造工程が煩雑にならず、安価で消費電力の低い受光デバイスを製造することができる。距離画像データ装置としては、このようなCMOS回路を採用したものが、近年、普及しつつある。
その他、距離画像データの生成に必要な受光デバイスを用いれば、通常の平面画像データも生成することが可能であるため、近年では、距離画像データの生成機能に加えて、平面画像データの生成機能を備えた製品が開発されている。
特表2006−516324号公報
ところで、周知の距離画像データ生成装置では、特許文献1記載のように、発射光に対する反射光の位相差を検出するために、光電変換素子に対して、一対のフローティングディフュージョンを設け、第一のフローティングディフュージョンにより電荷を蓄積する期間と、第二のフローティングディフュージョンにより電荷を蓄積する期間と、を逆相とし、発光デバイスによる光の発射後、第一の期間に光電変換素子にて生成された電荷を、第一のフローティングディフュージョンに蓄積し、第二の期間に光電変換素子にて生成された電荷を、第二のフローティングディフュージョンに蓄積するようにしている。
そして、この動作を繰返し実行することにより、異なる期間に光電変換素子に入射された光に対応する電荷を、各フローティングディフュージョンに分けて蓄積し、これら各フローティングディフュージョンに蓄積された電荷を電圧値に変換して得た出力値に基づき、発射光に対する反射光の位相差を検出し、被写体までの距離を求めるようにしている。
しかしながら、このように受光デバイスを構成して制御し、被写体までの距離を求める手法では、上記受光デバイスを用い、平面画像データも生成する場合、平面画像データの解像度が、距離画像データの解像度に制限されてしまうといった問題があった。
即ち、上記手法では、一つの光電変換素子に対して、複数のフローティングディフュージョンを設け、これと合わせて、電荷転送用のトランジスタや、フローティングディフュージョンに蓄積された電荷に応じた電圧値を出力するための出力トランジスタなどからなる複数組の出力回路を、光電変換素子の周囲に配置する必要があるため、光電変換素子の配置間隔を狭めることが難しく、共通の受光デバイスを用いて、距離画像データの生成、及び、平面画像データの生成を行う場合には、平面画像データの解像度が、低めに制限されてしまうといった問題があった。
このため、画像データ生成装置に、距離画像データ生成機能及び平面画像データ生成機能の両機能を設ける場合であって、受光デバイスとして共通する受光デバイスを用いる場合には、従来、平面画像データの解像度を、専用の平面画像データ生成装置と同等にすることが難しいといった問題があった。
本発明は、こうした問題に鑑みなされたものであり、画像データ生成装置に距離画像データ生成機能及び平面画像データ生成機能を設ける場合において、平面画像データ専用の受光デバイスを用いずに、共通する受光デバイスを用いて、従来よりも高解像度に平面画像データを生成することが可能な技術を提供することを目的とする。
かかる目的を達成するためになされた本発明の画像データ生成装置は、光を発射する発光デバイスと、発光デバイスにより発射された光が被写体に反射して戻ってくる光を含む外部からの入射光を受光する受光デバイスと、発光デバイス及び受光デバイスを制御して、被写体までの距離を求め、当該距離を表す距離画像データを生成する距離画像データ生成手段と、受光デバイスを制御して、被写体の平面画像を表す平面画像データを生成する平面画像データ生成手段と、距離画像データ生成手段及び前記平面画像データ生成手段を、切り替えて動作させる作動制御手段と、を備える画像データ生成装置であって、受光デバイス及び距離画像データ生成手段並びに平面画像データ生成手段が、次のように構成されたものである。
この画像データ生成装置において、受光デバイスは、入射光を電荷に変換する光電変換部と画素出力部とを夫々一つ備える画素生成ユニット、が複数個配列された構成にされており、画素出力部は、ユニット内の光電変換部で生成された電荷を蓄積するためのフローティングディフュージョンを有し、外部から入力される電荷排出指令信号に従い、光電変換部で生成された電荷を排出して破棄する一方、外部から入力される電荷転送指令信号に従い、光電変換部で生成された電荷をフローティングディフュージョンに転送し、更には、フローティングディフュージョンに蓄積された電荷に応じた値を、出力する構成にされている。
一方、距離画像データ生成手段は、受光デバイスが有する画素生成ユニットの一群を複数の画素生成ユニットの集合毎にグループ化して定められる画素生成ユニットの組毎に、組内の各画素生成ユニットの出力値に基づき、被写体までの距離を算出し、算出した距離に対応する値を、当該画素生成ユニットの組に対応する座標の画素値として記述して、距離画像データを生成する構成にされている。
また、平面画像データ生成手段は、受光デバイスが有する画素生成ユニットの一群について、画素生成ユニット毎に、画素生成ユニットの出力値に対応する値を、この画素生成ユニットに対応する座標の画素値として記述し、被写体の平面画像を表す画像データを生成する構成にされている。
このように、本発明では、画素生成ユニット毎に、画素生成ユニットの出力値から一画素分の画素値を求めて、平面画像データを生成する一方で、距離画像データの生成時には、複数個の画素生成ユニットの組毎に、組に属する各画素生成ユニットの出力値から距離を求めて、一画素分の画素値を算出し、距離画像データを生成するように、画像データ生成装置を構成している。
周知のように、受光量から発射光に対する反射光の位相差を求めるには、1回の発射動作に対して、異なる期間に、複数回の受光動作を行う必要があるため、従来の距離画像データ生成装置では、画素生成ユニットを、一つの光電変換部に対して複数のフローティングディフュージョンを備える構成にしていた。
しかしながら、このように画素生成ユニットを構成すると、光電変換部の周囲に、光電変換部で生成された電荷に対応した値をフローティングディフュージョンを介して出力するための構成として、大きな回路を配置しなければならず、光電変換部を狭ピッチで配置することができないといった問題があった。そして、この結果として、当該受光デバイスを用いて平面画像データを生成する際には、平面画像データの解像度が専用装置と比較して低くなってしまうといった問題があった。
そこで、本発明では、距離画像データ生成の際、画素生成ユニットの複数を一組として、各組の画素生成ユニットを制御し、各組の画素生成ユニットの出力値から距離を算出するようにした。このようにすれば、従来のように、受光デバイスにおける各光電変換部の周囲に、平面画像データ生成の際に使用されない距離画像データ生成用の回路を配置する必要がなく、画素生成ユニットを、一つの光電変換部に対して複数のフローティングディフュージョンを備える構成にしなくても、距離を算出することができる。即ち、本発明の手法によれば、光電変換部に対して、フローティングディフュージョンを含む画素出力部を一つのみ備えるように、画素生成ユニットを構成しても、発射光に対する反射光の位相差を求めることができるのである。
従って、本発明によれば、狭ピッチに光電変換部を配置することができ、画像データ生成装置に距離画像データ生成機能及び平面画像データ生成機能を設ける場合において、共通する受光デバイスを用いて、従来よりも高解像度に平面画像データを生成することができる。
ところで、距離算出に用いる上記画素生成ユニットの組は、固定にされてもよいし、可変にされてもよい。即ち、距離画像データ生成手段は、組として取り扱う画素生成ユニットの集合を切り替えて、受光デバイスが有する画素生成ユニットの一群を複数の画素生成ユニットの集合毎にグループ化する構成にされてもよい(請求項2)。
各画素生成ユニットの出力値から被写体までの距離を求めるためには、組内の各画素生成ユニットを、組内の他の画素生成ユニットに対して一定の関係で動作させる必要があるが、当該動作の関係は、組内の画素生成ユニットに対して指令信号を一定の関係を持って入力することで実現される。
換言すると、本発明の画像データ生成装置によれば、指令信号の入力パターンを切り替えることにより、距離算出に用いる画素生成ユニットの組を簡単に切り替えることができる。従って、このような指令信号の入力パターンを切り替える機能を距離画像データ生成手段に付与すれば、距離算出に用いる画素生成ユニットの組を簡単に切り替えることができる。
尚、画素生成ユニットの組から、距離を算出するためには、具体的に、発射光に対する反射光が入射されうる期間に、組内の複数の画素生成ユニットが夫々、異なる期間に光電変換部で生成された電荷に応じた値を出力するように、受光デバイスを制御する必要がある。
従って、距離画像データ生成手段は、発光デバイスから発射された光の反射光が受光デバイスに入射されうる期間において、組内の複数の画素生成ユニットが夫々異なる期間に光電変換部で生成された電荷に応じた値を出力するように、各画素生成ユニットに対し電荷排出指令信号及び転送指令信号を入力して、受光デバイスを制御し、画素生成ユニットの組毎に、組内の各画素生成ユニットの出力値から、発光デバイスによる発射光に対する入射光の位相差を求め、被写体までの距離を算出する構成にされるとよい(請求項3)。また、更に言えば、距離画像データ生成手段は、具体的に、次のように構成されるとよい。
例えば、画素生成ユニットの組を、4個の画素生成ユニットの集合として構成する場合、距離画像データ生成手段は、発光デバイスを制御して、発光デバイスに、所定パルス幅Tpのパルス光を発射させると共に、受光デバイスを制御し、パルス光の発射毎に、組内の画素生成ユニットの内、第一の画素生成ユニットに、パルス光の発射時点からパルス幅Tpに対応する時間に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させ、第二の画素生成ユニットに、パルス光の発射時点からパルス幅の二分の一時間(Tp/2)分遅れた時点からパルス幅Tpに対応する時間に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させ、第三の画素生成ユニットに、パルス光の発射時点からパルス幅Tp分遅れた時点からパルス幅Tpに対応する時間に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させ、第四の画素生成ユニットに、パルス光の発射時点からパルス幅の二分の三時間(3×Tp/2)分遅れた時点からパルス幅Tpに対応する時間に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させる構成にされるとよい。
このようにして、組内の各画素生成ユニットを動作させれば、第一の画素生成ユニットの出力値V1、第二の画素生成ユニットの出力値V2、第三の画素生成ユニットの出力値V3、及び、第四の画素生成ユニットの出力値V4に基づき、式
Φ=arctan((V2−V4)/(V1−V3)) …(1)
に従って、位相差Φを算出し、光の速度をcとして表される式
D=c×Tp×Φ/(2π) …(2)
に従って、被写体までの距離Dを、画素生成ユニットの組毎に、算出することができる(請求項4)。
また、画素生成ユニットの組を、4個の画素生成ユニットの集合として構成する場合、距離画像データ生成手段は、次のように構成されてもよい。即ち、距離画像データ生成手段は、発光デバイスを制御して、発光デバイスに、サイン波により振幅変調されたサイン変調光を発射させると共に、受光デバイスを制御し、組内の画素生成ユニットの内、第一の画素生成ユニットに、発光デバイスから発射されるサイン変調光が初期位相となる基準時点を中心とする所定時間内に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させ、第二の画素生成ユニットに、上記基準時点から位相π/2遅れた時点を中心とする所定時間内に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させ、第三の画素生成ユニットに、上記基準時点から位相π遅れた時点を中心とする所定時間内に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させ、第四の画素生成ユニットに、上記基準時点から位相3π/2遅れた時点を中心とする所定時間内に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させる構成にされてもよい(請求項5)。
このようにして、組内の各画素生成ユニットを動作させても、第一から第四の画素生成ユニットの出力値に基づき、被写体までの距離を算出することができる。
具体的に、サイン変調光が位相ゼロの時点を、上記基準時点として設定する場合には、第一の画素生成ユニットの出力値V1、第二の画素生成ユニットの出力値V2、第三の画素生成ユニットの出力値V3、及び、第四の画素生成ユニットの出力値V4に基づき、式
Φ=arctan((V3−V1)/(V2−V4)) …(3)
に従って、位相差Φを算出し、光の速度をc、サイン変調光の周期をTcとして表される式
D=c×(Tc/2)×Φ/(2π) …(4)
に従って、被写体までの距離Dを算出することができる(請求項6)。
また、画素生成ユニットの組を、4個以下の画素生成ユニットの集合とする場合には、具体的に、次のように、距離画像データ生成手段を構成することで、画素生成ユニットの組から、距離Dを算出することができる。
即ち、発光デバイスに、所定パルス幅Tpのパルス光を発射させると共に、受光デバイスを制御し、パルス光の発射毎に、組内の画素生成ユニットの内、第一の画素生成ユニットに、パルス光の発射時点からパルス幅Tpに対応する時間に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させ、第二の画素生成ユニットに、パルス光の発射時点からパルス幅Tp分遅れた時点からパルス幅Tpに対応する時間に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させ、組内の第一及び第二の画素生成ユニット以外の画素生成ユニットに、発光デバイスから発射された光に対応する反射光が受光デバイスに入射されない期間に光電変換部で生成された電荷をフローティングディフュージョンに蓄積させるように、距離画像データ生成手段を構成することで、画素生成ユニットの組から、距離Dを算出することができる(請求項7)。
このように、組内の各画素生成ユニットを動作させれば、組内の画素生成ユニットの内、第一及び第二の画素生成ユニット以外の画素生成ユニットの出力値に基づき、第一の画素生成ユニットの出力値V1から背景光成分を除去した値<V1>、及び、第二の画素生成ユニットの出力値V2から背景光成分を除去した値<V2>を求め、光の速度をcとして表される次式
D=(1/2)×c×Tp×<V2>/(<V1>+<V2>) …(5)
に従って、被写体までの距離Dを算出することができる。
尚、このような手法は、画素生成ユニットの組が、3個以上の画素生成ユニットの集合で構成される場合に、適用することができる。
また、平面画像データの生成時に光電変換部で生成される電荷は、ここでいう背景光成分を表すものであるので、平面画像データ生成手段により平面画像データが生成される際に、各画素生成ユニットから得られた出力値に基づいて、距離画像データ生成手段に対し、各画素生成ユニットの背景光成分を、設定するように、距離画像データ生成装置を構成すれば、画素生成ユニットの組を、2つの画素生成ユニットの集合で構成しても、上述の手法で、被写体までの距離Dを算出することができる。
即ち、上述の画像データ生成装置は、平面画像データ生成手段により平面画像データが生成される際に、各画素生成ユニットから得られた出力値に基づいて、距離画像データ生成手段に対し、各画素生成ユニットの背景光成分を、設定するキャンセル量設定手段を備える構成にされると共に、距離画像データ生成手段が、第一の画素生成ユニットの出力値V1からキャンセル量設定手段により設定されたら背景光成分を除去した値<V1>、及び、第二の画素生成ユニットの出力値V2からキャンセル量設定手段により設定された背景光成分を除去した値<V2>を求め、式(5)に従って、被写体までの距離Dを算出するように構成されるとよい。このようにすれば、画素生成ユニットの組を2個の画素生成ユニットの集合とし、上述の手法で受光デバイスを制御しても、被写体までの距離Dを算出することができる(請求項8)。
また、キャンセル量設定手段を設けて、各画素生成ユニットの出力値から上記キャンセル量設定手段により設定された背景光成分を除去し、背景光成分除去後の出力値に基づき、被写体までの距離を算出する手法は、請求項8記載の画像データ生成装置によらず、様々な種類の画像データ生成装置に適用することができる(請求項9)。
その他、本発明の画像データ生成装置は、距離算出の際に、各画像生成ユニットを、組単位で、順に制御して、距離を算出する構成にされてもよいが、各画像生成ユニットの組を同時に制御する構成にされると、距離画像データを高速に作成することができて、一層好ましい。
即ち、距離画像データ生成手段は、画素生成ユニットの組として、受光デバイスが有する画素生成ユニットの一群を、同一個数の画素生成ユニットの集合毎に分割して定められる画素生成ユニットの組毎に、組内の各画素生成ユニットの出力値に基づき、被写体までの距離を算出し、算出した距離に対応する値を、当該画素生成ユニットの組に対応する座標の画素値として記述して、距離画像データを生成する構成にされると共に、組内の合計S個の画素生成ユニットについて、第i(i=1,2,…,S)番目(同一番号)の画素生成ユニットが、異なる組の間で共通して同時期に同一の動作を実行し、発光デバイスから発射された光の反射光が受光デバイスに入射されうる期間において、組内の複数の画素生成ユニットが夫々、異なる期間に光電変換部で生成された電荷に応じた値を出力するように、各画素生成ユニットに対し電荷排出指令信号及び転送指令信号を入力して、受光デバイスを制御する構成にされると好ましい。
距離画像データ生成手段がこのように構成された画像データ生成装置によれば、各画像生成ユニットの組を、同一の手法で同時に制御するので、距離画像データを高速に作成することができる(請求項10)。
また、このように、距離画像データ生成手段を構成する場合には、具体的に、次のように、受光デバイスを構成すればよい。
即ち、受光デバイスは、画素生成ユニットの一群が、所定数(S個)の画素生成ユニットの集合毎にグループ化され、S個の画素生成ユニットの集合としての画素セットが複数個配列された構成にされ、外部から入力される電荷排出指令信号を各画素セットが有する画素生成ユニットに伝送するための伝送路として、上記複数個の画素セット共通の伝送路Laを、画素セットを構成する第1番目から第S番目の画素生成ユニットの夫々に対して有し、外部から入力される電荷転送指令信号を各画素セットが有する画素生成ユニットに伝送するための伝送路として、上記複数個の画素セット共通の伝送路Lbを、画素セットを構成する第1番目から第S番目の画素生成ユニットの夫々に対して有し、各画素セットが有する第i(i=1,2,…,S)番目の画素生成ユニットに対し、第i番目の画素生成ユニット用の伝送路Laを通じて、外部から入力された共通の電荷排出指令信号を入力し、各画素セットが有する第i(i=1,2,…,S)番目の画素生成ユニットに対し、第i番目の画素生成ユニット用の伝送路Lbを通じて、外部から入力された共通の電荷転送指令信号を入力する構成にされるとよい(請求項11)。
受光デバイスがこのように構成された画像データ生成装置によれば、第i番目の画素生成ユニット用の伝送路Laの入力端に、外部から第i番目の画素生成ユニットに対する電荷排出指令信号を入力し、第i番目の画素生成ユニット用の伝送路Lbの入力端に、外部から第i番目の画素生成ユニットに対する電荷転送指令信号を入力して、受光デバイスを制御する程度で、各画素セットにおける第i番目の画素生成ユニットを同時に制御することができ、各画素セットにおける第i番目の画素生成ユニットに、同時期に同一の動作を実行させることができる。
よって、このように受光デバイスを構成すれば、画像データ生成装置において、各画像生成ユニットの組を、同時に制御する場合、当該制御を簡単に実現することができる。
また、上述の画像データ生成装置は、生成する距離画像データの解像度を切替可能な構成にされると、一層好ましい。
例えば、距離画像データ生成手段は、受光デバイスが有する画素生成ユニットの一群を区画化して定められる各区画の画素生成ユニットの集合としての画素セットに関し、画素セット毎に、当該画素セットを構成する各画素生成ユニットの出力値に基づき、被写体までの距離を算出し、算出した距離に対応する値を、当該画素セットに対応する座標の画素値として記述して、距離画像データを生成する標準モードと、受光デバイスにおける画素セットの一群を区画化して定められる各区画の画素セットの集合を、大画素セットとして、大画素セット毎に、当該大画素セットを構成する各画素生成ユニットの出力値に基づき、被写体までの距離を算出し、算出した距離に対応する値を、当該大画素セットに対応する座標の画素値として記述して、距離画像データを生成する低解像度モードと、を有し、各モードを切り替えて実行する構成にされると好ましい(請求項12)。
このように、距離画像データ生成手段を構成すれば、外部からの指令によりモードを切り替えて、距離画像データの解像度を、標準の解像度から、それより低い解像度に切り替えることができ、大変便利である。
また、この画像データ生成装置においては、画素セットを構成する画素生成ユニットの個数が同数となるように、各画素セットを、所定数(S個の)の画素生成ユニットの集合から構成するのが好ましい。
その他、この画像データ生成装置においては、各モードにおいて、画素セット内の第i(i=1,2,…,S)番目の画素生成ユニットが、各画素セット間で共通して同時期に同一の動作を実行し、発光デバイスから発射された光の反射光が受光デバイスに入射されうる期間において、画素セット内の複数の画素生成ユニットが夫々、異なる期間に光電変換部で生成された電荷に応じた値を出力するように、各画素生成ユニットに対し電荷排出指令信号及び電荷転送指令信号を入力して、受光デバイスを制御し、標準モードでは、画素セット毎に、当該画素セットを構成する各画素生成ユニットから得られる出力値から、発光デバイスによる発射光に対する入射光の位相差を求め、被写体までの距離を算出し、低解像度モードでは、大画素セット毎に、当該大画素セットを構成する各画素セット内の第i(i=1,2,…,S)番目の画素生成ユニットの出力値を積算して第i番目の画素生成ユニットについての積算値を得て、第1番目から第S番目の画素生成ユニットの夫々についての積算値に基づき、標準モードと同手法にて、被写体までの距離を算出し、算出した距離に対応する値を、当該大画素セットに対応する座標の画素値として記述して、距離画像データを生成するように、距離画像データ生成手段を構成するとよい(請求項13)。
また、距離画像データ生成手段は、上記低解像度モードに代え(又は、加え)、画素セットを所定数の小画素セットに分割して、小画素セット毎に、当該小画素セットを構成する画素生成ユニットの出力値に基づき、被写体までの距離を算出し、算出した距離に対応する値を、当該小画素セットに対応する座標の画素値として記述して、距離画像データを生成する高解像度モードを有する構成にされるとよい(請求項14)。このように構成された画像データ生成装置によれば、外部からの指令によりモードを切り替えて、距離画像データの解像度を、標準の解像度から、それより高い解像度に切り替えることができるので、大変便利である。
また、上述の画像データ生成装置に対しては、受光デバイスとして、(K×M)行(L×N)列のマトリックス状に、画素生成ユニットが配列された受光デバイスを採用することができる。また、距離算出に用いる画素生成ユニットの組(画素セット)としては、受光デバイスにおける画素生成ユニットの一群をK×L個の格子状に区画化して定められるM行N列の画素生成ユニットの集合を採用することができる(請求項15)。
また、受光デバイスがこのような構成された画像データ生成装置においては、次のように、距離画像データ生成手段を構成してもよい。
即ち、距離画像データ生成手段は、受光デバイスにおける画素生成ユニットの一群をK×L個の格子状に区画化して定められるM行N列の画素生成ユニットの集合からなる画素生成ユニットの組毎に、組内の各画素生成ユニットの出力値に基づき、被写体までの距離を算出すると共に、当該画素生成ユニットの組に対応するM行N列の領域を中心領域として、この中心領域から値Mより小さいΔm行ずらしたM行N列の領域に属する画素生成ユニットの組、当該中心領域から値Nより小さいΔn列ずらしたM行N列の領域に属する画素生成ユニットの組、及び、当該中心領域からΔm行Δn列ずらしたM行N列の領域に属する画素生成ユニットの組の全て又は一部の組、の夫々について、組内の各画素生成ユニットの出力値に基づき、被写体までの距離を算出し、これら中心領域周囲の画素生成ユニットの組から得られた距離の算出結果から、中心領域の画素生成ユニットの組から得られた距離を補正し、補正後の距離に応じた値を、当該中心領域の画素生成ユニットの組に対応する座標の画素値として記述して、距離画像データを生成する構成にされてもよい。
このように、画像データ生成装置を構成すれば、距離画像データ生成時に、中心領域の画素生成ユニットから得られた距離の値を、その周囲の画素生成ユニットの組から得られた距離の値により補正して、画素値を得るので、ノイズによる影響の少ない綺麗な距離画像データを生成することができる。
また、請求項17記載の受光デバイスは、光電変換部に対して画素出力部を一つのみ備える画素生成ユニットを、複数個配列した受光デバイスである。この受光デバイスによれば、光電変換部を高密度に配列することができるので、従来よりも、高解像度の平面画像データを生成可能な画像データ生成装置を構築することができる。
また、画素出力部は、具体的に、フローティングディフュージョンと、外部から入力される電荷排出指令信号に従い、光電変換部で生成された電荷を光電変換部から排出して破棄し、光電変換部を初期状態にリセットする電荷排出部と、光電変換部とフローティングディフュージョンとの間に位置して、外部から入力される電荷転送指令信号に従い、光電変換部で生成された電荷をフローティングディフュージョンに転送する電荷転送部と、外部から入力される出力指令信号に従い、フローティングディフュージョンにて蓄積された電荷に応じた値を出力する出力部と、外部から入力されるリセット指令信号に従い、フローディングディフュージョンを初期状態にリセットするリセット部と、を備える構成にすることができる(請求項18)。
この画素出力部を備える受光デバイスを用いれば、外部から電荷排出指令信号、電荷転送指令信号、出力指令信号及びリセット指令信号を入力することで、簡単に、任意の期間に、光電変換部が生成した電荷をフローティングディフュージョンに蓄積して、当該期間に外部から入射された光の受光量を検出することができる。
また、画素出力部は、CMOS構造とすることができ、電荷排出部、電荷転送部、出力部、及び、リセット部は、トランジスタにて構成することができる。
具体的に、画素出力部は、ゲート電極を通じて外部から入力される電荷排出指令信号によりオン/オフされ、光電変換部で生成された電荷を光電変換部から排出して破棄し、光電変換部を初期状態にリセットする電荷排出トランジスタと、光電変換部とフローティングディフュージョンとの間に位置して、ゲート電極を通じて外部から入力される電荷転送指令信号によりオン/オフされ、光電変換部で生成された電荷をフローティングディフュージョンに転送する電荷転送トランジスタと、フローティングディフュージョンにて蓄積された電荷を電圧値に変換する変換トランジスタと、ゲート電極を通じて外部から入力される出力指令信号によりオン/オフされ、フローティングディフュージョンにて蓄積された電荷に応じた値として、変換トランジスタにて変換された電圧値を、出力する出力トランジスタと、ゲート電極を通じて外部から入力されるリセット指令信号によりオン/オフされ、フローティングディフュージョンを初期状態にリセットするリセットトランジスタとを備える構成にすることができる(請求項19)。
また、受光デバイスにおいては、画素生成ユニットの一群を、所定数(S個)の画素生成ユニットの集合毎にグループ化して、S個の画素生成ユニットの集合としての画素セットが複数個配列された構成にすることができる。
そして、このように受光デバイスを構成する場合には、外部から入力される各種指令信号を受け付けて画素セットに伝送するための伝送路(信号線)を、受光デバイスにおいて、次のように形成することができる。即ち、受光デバイスは、外部から入力される電荷排出指令信号を、各画素セットが有する画素生成ユニットに伝送するための伝送路として、上記複数個の画素セット共通の伝送路Laを、画素セットを構成する第1番目から第S番目の画素生成ユニットの夫々に対して有し、外部から入力される電荷転送指令信号を、各画素セットが有する画素生成ユニットに伝送するための伝送路として、上記複数個の画素セット共通の伝送路Lbを、画素セットを構成する第1番目から第S番目の画素生成ユニットの夫々に対して有し、更に、外部から入力されるリセット指令信号を、各画素生成ユニットに伝送するための伝送路として、当該受光デバイスが有する全画素生成ユニット共通の伝送路Lcを有する構成にすることができる。
このような構造の受光デバイスでは、各画素セットが有する第i(i=1,2,…,S)番目の画素生成ユニットに対して、当該画素生成ユニット用の伝送路Laを通じて、外部から共通の電荷排出指令信号が入力され、各画素セットが有する第i(i=1,2,…,S)番目の画素生成ユニットに対して、当該画素生成ユニット用の伝送路Lbを通じて、外部から共通の電荷転送指令信号が入力され、伝送路Lcを通じて、当該受光デバイスが有する各画素生成ユニットに対して、外部から共通のリセット指令信号が入力される。
このように、各画素セット共通の伝送路La,Lb,Lcを受光デバイスに設ければ、伝送路La,Lb,Lcの入力端に各画素セット共通の電荷排出指令信号、電荷転送指令信号、リセット指令信号を入力する程度で、各画素セットに、他の画素セットと同一の動作を、同時に実行させることができる。従って、この受光デバイスを用いれば、各画素セットに対応する被写体領域の距離を同時に全画素セット分容易に計測することができ、被写体までの距離を瞬間的に捉えて、好適な距離画像データを生成することができる。
以下に、本発明の実施例について、図面と共に説明する。尚、以下に説明する画像データ生成装置1,100は、被写体5までの距離を表す距離画像データや被写体5の平面画像を表す平面画像データを生成するものであり、例えば、侵入者を検知するための監視装置や、車両前方の障害物等を検知するための車載装置に接続されて動作する。この際、画像データ生成装置1,100にて生成・出力された画像データは、侵入者検知や障害物検知のために利用される。
図1は、第一実施例の画像データ生成装置1の構成を表すブロック図である。図1に示すように、本実施例の画像データ生成装置1は、発光部10、受光部20、出力データ記憶部30、信号生成部40、クロック信号生成部50、制御部60、及び、インタフェース部70を有した構成にされている。
具体的に、発光部10は、近赤外線光を発光する発光ダイオードと、発光信号FLに従って発光ダイオードを発光させる駆動回路と、発光ダイオードからの発射光を拡散して、これを所定の測定エリアに存在する被写体5に照射する拡散レンズと、を備える。また、受光部20は、入射された光の受光量に応じた値を出力する光電センサ21と、測定エリア内から到来する光を集光して光電センサ21に入射する集光レンズと、を備えた構成にされている。尚、この光電センサ21からの出力値は、出力データ記憶部30に記憶される。
また、制御部60は、CPU、ROM、RAM等を備え、ROMに記録されたプログラムに従ってCPUで演算処理を実行することにより、各種機能をソフトウェア的に実現する構成にされている。具体的に、制御部60は、距離画像データ及び平面画像データを生成して、これを、インタフェース部70を通じ外部のデータ処理装置80に出力する画像データ生成出力機能60a、及び、外部のデータ処理装置80からインタフェース部70を通じて入力される指令信号に従って、動作モードを切り替えるモード切替機能60bを、プログラムにより実現する構成にされている。尚、インタフェース部70に接続される外部のデータ処理装置80としては、上述した車載装置や監視装置等を挙げることができる。
また、信号生成部40は、クロック信号生成部50から入力されるクロック信号に基づき、発光部10や受光部20に対する各種指令信号を生成し、これを発光部10や受光部20に入力する構成にされている。具体的に、この信号生成部40は、距離画像データの生成に必要な各種指令信号を生成し、これを発光部10及び受光部20に入力する距離画像生成用信号出力部41と、平面画像データの生成に必要な各種指令信号を生成し、これを受光部20に入力する通常画像生成用信号出力部45と、を有する。
続いて、受光部20が有する上述の光電センサ21の構成について、図2〜図5を用いて説明する。図2は、光電センサ21の構成を表すブロック図であり、図3は、光電センサ21が有する画素セット25の構成を表すブロック図である。
図2に示すように、本実施例の光電センサ21は、複数の画素セット25がK行L列のマトリックス状に配列されてなる画素アレイ23と、画素セット25が有する各画素生成ユニット27からの出力値をA/D変換し、変換後の出力値を、画素生成ユニット27と一対一に対応する出力データ記憶部30内の記憶領域に書き込む書込処理部29と、を備えた構成にされている。
画素アレイ23が備える各画素セット25は、2行2列のマトリックス状に、画素生成ユニット27が配列されてなるものであり、合計4個の画素生成ユニット27を有する構成にされている。また、画素セット25が有する各画素生成ユニット27は、図4に示す回路構成にされている。尚、図4は、画素生成ユニット27の構成を表す回路図である。
図4に示すように、画素セット25が有する各画素生成ユニット27は、受光強度に応じた電荷を生成する光電変換素子(具体的にはフォトダイオード)PDと、電荷排出トランジスタTr1と、電荷転送トランジスタTr2と、ソースフォロワトランジスタTr3と、出力トランジスタTr4と、リセットトランジスタTr5と、フローティングディフュージョンFDと、を含んだ構成にされている。
具体的に、この画素生成ユニット27における光電変換素子PDは、電荷排出トランジスタTr1及び電荷転送トランジスタTr2のソース電極に接続されており、電荷排出トランジスタTr1のドレイン電極は、電源VDDに接続されている。また、電荷転送トランジスタTr2のドレイン電極は、リセットトランジスタTr5のソース電極及びソースフォロワトランジスタTr3のゲート電極に接続されており、リセットトランジスタTr5のドレイン電極及びソースフォロワトランジスタTr3のドレイン電極は、電源VDDに接続され、ソースフォロワトランジスタTr3のソース電極は、出力トランジスタTr4のドレイン電極に接続されている。また、出力トランジスタTr4のソース電極は、上記書込処理部29に信号線を介して接続されている。その他、この画素生成ユニット27は、ソースフォロワトランジスタTr3のゲート電極と、電荷転送トランジスタTr2のドレイン電極とを結ぶ信号線に、フローティングディフュージョンFDが介在した構成にされている。
即ち、この画素生成ユニット27を構成する電荷排出トランジスタTr1は、ゲート電極から入力される電荷排出指令信号DGに従って、光電変換素子PDで生成された電荷を、電源VDDに排出し、光電変換素子PDを初期状態にリセットする。また、電荷転送トランジスタTr2は、ゲート電極から入力される電荷転送指令信号TGに従って、光電変換素子PDで生成された電荷を、フローティングディフュージョンFDに転送する。
また、リセットトランジスタTr5は、ゲート電極から入力されるリセット指令信号RSTに従って、フローティングディフュージョンFDに蓄積された電荷を電源VDDに排出し、フローティングディフュージョンFDを初期状態にリセットする(即ち、フローティングディフュージョンFDの両端電圧を初期電圧にリセットする)。その他、出力トランジスタTr4は、ゲート電極から入力される出力指令信号RGに従って、フローティングディフュージョンFDに蓄積された電荷に応じた電圧値を、ソースフォロワトランジスタTr3を通じて読み出し、この電圧値を書込処理部29に入力する。また、ソースフォロワトランジスタTr3は、フローティングディフュージョンFDに蓄積された電荷を電圧値に変換する構成にされている。
また、このような構成の画素生成ユニット27を合計4つ備える画素セット25には、リセット指令信号RST用の入力電極T_Rと、画素生成ユニット27毎の入力電極T_DG,T_TG,T_RG及び出力電極T_SGと、が設けられている。そして、入力電極T_Rから画素セット25内部に延びる信号線は、各画素生成ユニット27が有するリセットトランジスタTr5のゲート電極に接続されている。
また、画素生成ユニット27毎に設けられた各入力電極T_DGから画素セット25内部に延びる信号線は、対応する画素生成ユニット27が有する電荷排出トランジスタTr1のゲート電極に接続されている。この他、画素生成ユニット27毎に設けられた各入力電極T_TGから画素セット25内部に延びる信号線は、対応する画素生成ユニット27が有する電荷転送トランジスタTr2のゲート電極に接続され、各入力電極T_RGから画素セット25内部に延びる信号線は、対応する画素生成ユニット27が有する出力トランジスタTr4のゲート電極に接続されている。また、画素生成ユニット27毎に設けられた各出力電極T_SGから画素セット25内部に延びる信号線は、出力トランジスタTr4のソース電極に接続されている。
尚、以下では、各画素セット25が有する画素生成ユニット27の内、第1行第1列の画素生成ユニットを、「第1の画素生成ユニット」と表現し、第1行第2列の画素生成ユニットを、「第2の画素生成ユニット」と表現し、第2行第2列の画素生成ユニットを、「第3の画素生成ユニット」と表現し、第2行第1列の画素生成ユニットを、「第4の画素生成ユニット」と表現する。また、第i(i=1,2,3,4)の画素生成ユニット27が有する各部の符号末尾には、サフィックスとして[i]を付すことにする。
また、第i(i=1,2,3,4)の画素生成ユニット27が有する電荷排出トランジスタTr1に接続された入力電極T_DG、第i(i=1,2,3,4)の画素生成ユニット27の電荷転送トランジスタTr2に接続された入力電極T_TG、第i(i=1,2,3,4)の画素生成ユニット27の出力トランジスタTr4に接続された入力電極T_RG、第i(i=1,2,3,4)の画素生成ユニット27の出力トランジスタTr4に接続された出力電極T_SGの符号末尾、及び、第i(i=1,2,3,4)の画素生成ユニット27に対する指令信号DG,TG,RGの符号末尾にも、同様に、サフィックスとして[i]を付すことにする。
ところで、画素アレイ23を構成する各画素セット25は、上述したように、電極T_R,T_DG[1]〜T_DG[4],T_TG[1]〜T_TG[4],T_RG[1]〜T_RG[4],T_SG[1]〜T_SG[4]を有するが、画素アレイ23を構成する各画素セット25の入出力電極には、図5に示すように、共通する信号線が接続される。図5は、画素アレイ23における信号線の配線態様を表す説明図である。
即ち、本実施例における画素アレイ23には、各画素生成ユニット27にリセット指令信号RSTを入力するための信号線として、各画素セット25の電極T_Rに分岐線が接続される全画素セット25共通の信号線L_Rが、設けられている。この信号線L_Rは画素アレイ23が備える入力端子Ta_Rに接続されており、信号線L_Rには、この入力端子Ta_Rを通じて、信号生成部40からリセット指令信号RSTが入力される。
また、本実施例の画素アレイ23には、各画素生成ユニット27に電荷排出指令信号DGを入力するための信号線として、各画素セット25の電極T_DG[1]に分岐線が接続される第1の画素生成ユニット27共通の信号線L_DG[1]と、各画素セット25の電極T_DG[2]に分岐線が接続される第2の画素生成ユニット27共通の信号線L_DG[2]と、各画素セット25の電極T_DG[3]に分岐線が接続される第3の画素生成ユニット27共通の信号線L_DG[3]と、各画素セット25の電極T_DG[4]に分岐線が接続される第4の画素生成ユニット27共通の信号線L_DG[4]と、が設けられている。尚、信号線L_DG[i]は、画素アレイ23が備える入力端子Ta_DG[i]に接続されており、この信号線L_DG[i]には、入力端子Ta_DG[i]を通じて、信号生成部40から第iの画素生成ユニット27共通の電荷排出指令信号DG[i]が入力される。
その他、画素アレイ23には、各画素生成ユニット27に電荷転送指令信号TGを入力するための信号線として、各画素セット25の電極T_TG[1]に分岐線が接続される第1の画素生成ユニット27共通の信号線L_TG[1]と、各画素セット25の電極T_TG[2]に分岐線が接続される第2の画素生成ユニット27共通の信号線L_TG[2]と、各画素セット25の電極T_TG[3]に分岐線が接続される第3の画素生成ユニット27共通の信号線L_TG[3]と、各画素セット25の電極T_TG[4]に分岐線が接続される第4の画素生成ユニット27共通の信号線L_TG[4]と、が設けられている。また、信号線L_TG[i]は、画素アレイ23が備える入力端子Ta_TG[i]に接続され、信号線L_TG[i]には、入力端子Ta_TG[i]を通じて、信号生成部40から第iの画素生成ユニット27共通の電荷転送指令信号TG[i]が入力される。
尚、図5では、信号線L_DG[i],L_TG[i]を、共通するラインで表現しているが、実際には、信号線L_DG[i]及び信号線L_TG[i]は、独立した信号線として構成されている。また、電極T_RG[1]〜T_RG[4]に接続される信号線については、図5において、その図示を省略するが、当該信号線は、画素アレイ23を構成する各画素生成ユニット27に対して独立に設けられ、各信号線は、画素アレイ23が備える画素生成ユニット27毎の入力端子Ta_RGの内の、一つに接続されている。その他、電極T_SG[i]と書込処理部29を結ぶ信号線についても、図5では、その図示を省略するが、当該信号線は、画素アレイ23を構成する各画素生成ユニット27に対して独立に設けられているものとする。
続いては、この画素アレイ23に入力される各種指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGのパターンについて、図6及び図7を用いて説明する。尚、図6は、距離画像生成用信号出力部41が出力する発光信号FL及び指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGのパターンを表すタイムチャートである。
本実施例においては、インタフェース部70を通じて外部から制御部60に距離画像モードへのモード切替指令が入力されると、信号生成部40が、制御部60からのモード切替指令を受けて、距離画像生成用信号出力部41を起動する。そして、距離画像生成用信号出力部41が起動されると、図6に示すパターンの指令信号が、繰返し、発光部10の駆動回路、及び、受光部20の光電センサ21に入力される。
図6に示すように、距離画像生成用信号出力部41は、起動して、信号出力動作を開始すると、最初に、リセット指令信号RST及び電荷排出指令信号DG[1]〜DG[4]をアクティブレベルにし、それ以外の指令信号TG[1]〜TG[4],RGを非アクティブレベルにして、これらの状態の各指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを、光電センサ21に入力する。
尚、リセット指令信号RSTとしてアクティブレベルの信号が光電センサ21に入力されている期間には、光電センサ21を構成する各画素生成ユニット27のリセットトランジスタTr5がオンにされて、フローティングディフュージョンFDから電荷が排出され、最終的に、フローティングディフュージョンFDが、初期状態にリセットされる。
また、電荷排出指令信号DG[i]としてアクティブレベルの信号が光電センサ21に入力されている期間には、第iの画素生成ユニット27の電荷排出トランジスタTr1がオンにされて、電荷排出トランジスタTr1に接続された光電変換素子PDから電荷が排出され、最終的に光電変換素子PDが、初期状態にリセットされる。
また、距離画像生成用信号出力部41は、リセット指令信号RSTをアクティブレベルに設定した後の所定時刻t1から、発光信号FLとして、パルス幅Tp、周期2×Tpのパルス信号(矩形信号)の発光部10への入力を開始する。尚、このようなパルス信号が発光部10の駆動回路に入力されると、これに合わせて発光部10からは、パルス幅Tpのパルス光が、周期2×Tpで発射される。尚、距離画像生成用信号出力部41は、距離画像データを1つ生成するために必要な1回分の信号出力動作として、複数周期分のパルス信号を、発光信号FLとして発光部10に入力する。このため、1回分の信号出力動作で、パルス光の発射は、複数回行われる。
また、距離画像生成用信号出力部41は、複数回に渡るパルス光の発射動作の最初のパルス光の発射開始時(時刻t1)に、リセット指令信号RSTを非アクティブレベルに切り替える。また、パルス光の発射開始時(時刻t1)には、電荷排出指令信号DG[1]を非アクティブレベルに切り替え、電荷転送指令信号TG[1]をアクティブレベルに切り替える。
尚、時刻t1では、指令信号RST,DG[1],TG[1]が上述のように変化するため、各画素セット25における第1の画素生成ユニット27では、時刻t1で、光電変換素子PD[1]にて生成される電荷のフローティングディフュージョンFD[1]への蓄積動作が開始される。
また、距離画像生成用信号出力部41は、パルス光が発射された時点から、パルス幅の二分の一時間Tp/2遅れて、時刻t2で、電荷転送指令信号TG[2]をアクティブレベルに切り替え、電荷排出指令信号DG[2]を非アクティブレベルに切り替える。
尚、指令信号DG[2],TG[2]が上述のように変化することで、時刻t2では、光電変換素子PD[2]にて生成される電荷のフローティングディフュージョンFD[2]への蓄積動作が、各画素セット25の第2の画素生成ユニット27において、開始される。
また、距離画像生成用信号出力部41は、パルス光が発射された時刻t1からパルス幅Tp分の時間が経過する時刻t3で、電荷転送指令信号TG[1]を非アクティブレベルに切り替え、電荷排出指令信号DG[1]をアクティブレベルに切り替えると共に、電荷転送指令信号TG[3]をアクティブレベルに切り替え、電荷排出指令信号DG[3]を非アクティブレベルに切り替える。
尚、指令信号DG[1],TG[1]が上述のように変化することで、時刻t3では、各画素セット25の第1の画素生成ユニット27において、光電変換素子PD[1]にて生成された電荷のフローティングディフュージョンFD[1]への蓄積動作が終了する。また、指令信号DG[3],TG[3]が上述のように変化することで、時刻t3では、光電変換素子PD[3]にて生成される電荷のフローティングディフュージョンFD[3]への蓄積動作が、各画素セット25の第3の画素生成ユニット27において、開始される。
また、距離画像生成用信号出力部41は、パルス光が発射された時刻t1からパルス幅の二分の三時間(3×Tp/2)遅れて、時刻t4で、電荷転送指令信号TG[2]を非アクティブレベルに切り替え、電荷排出指令信号DG[2]をアクティブレベルに切り替えると共に、電荷転送指令信号TG[4]をアクティブレベルに切り替え、電荷排出指令信号DG[4]を非アクティブレベルに切り替える。
尚、指令信号DG[2],TG[2]が上述のように変化することで、時刻t4では、光電変換素子PD[2]にて生成された電荷のフローティングディフュージョンFD[2]への蓄積動作が終了する。また、指令信号DG[4],TG[4]が上述のように状態変化することで、時刻t4では、各画素セット25の第4の画素生成ユニット27において、光電変換素子PD[4]にて生成される電荷のフローティングディフュージョンFD[4]への蓄積動作が開始される。
また、距離画像生成用信号出力部41は、パルス光が発射された時刻t1からパルス幅の二倍分の時間2×Tpが経過した時刻t5で、電荷転送指令信号TG[3]を非アクティブレベルに切り替え、電荷排出指令信号DG[3]をアクティブレベルに切り替える。また、この時点でのパルス光の発射と合わせて、再び電荷転送指令信号TG[1]をアクティブレベルに切り替え、電荷排出指令信号DG[1]を非アクティブレベルに切り替える。
尚、指令信号DG[3],TG[3]が上述のように変化することで、時刻t5では、光電変換素子PD[3]にて生成された電荷のフローティングディフュージョンFD[3]への蓄積動作が終了する。また、再度のパルス光の発射に合わせて、指令信号DG[1],TG[1]が上述のように変化することで、時刻t5では、各画素セット25の第1の画素生成ユニット27において、光電変換素子PD[1]にて生成される電荷のフローティングディフュージョンFD[1]への蓄積動作が再度開始される。
また、再度のパルス光の発射に合わせて、このパルス光の発射時点から時間Tp/2が経過した時刻t6では、電荷転送指令信号TG[2]をアクティブレベルに切り替え、電荷排出指令信号DG[2]を非アクティブレベルに切り替えて、光電変換素子PD[2]にて生成される電荷のフローティングディフュージョンFD[2]への蓄積動作を再度開始させる。
また、この時刻t6では、電荷転送指令信号TG[4]をアクティブレベルに切り替えてから、時間Tpが経過することになるので、電荷転送指令信号TG[4]を非アクティブレベルに切り替えると共に、電荷排出指令信号DG[4]をアクティブレベルに切り替え、光電変換素子PD[4]にて生成された電荷のフローティングディフュージョンFD[4]への蓄積動作を終了する。
このようにして、距離画像生成用信号出力部41は、パルス光の発射毎に、その発射時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[1]に光電変換素子PD[1]が生成した電荷を蓄積させ、上記発射時点から時間Tp/2経過した時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[2]に光電変換素子PD[2]が生成した電荷を蓄積させ、上記発射時点から時間Tp経過した時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[3]に光電変換素子PD[3]が生成した電荷を蓄積させ、上記発射時点から時間(3×Tp/2)経過した時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[4]に光電変換素子PD[4]が生成した電荷を蓄積させる。
尚、発射光が被写体5に反射して戻ってくる反射光は、図6の二段目に示すように、発射光に対して位相Φずれているので、このように、発光部10及び受光部20を制御すると、各フローティングディフュージョンFD[1]〜FD[4]には、図6に示す斜線の期間に入射された反射光の受光量に対応した電荷が蓄積される。
また、距離画像生成用信号出力部41は、所定回数のパルス光の発射が終了すると、各画素生成ユニット27に対して順にアクティブレベルの指令信号RGを入力して、フローティングディフュージョンFDに蓄積された電荷に対応する値を、画素生成ユニット27に出力させ、書込処理部29に、この出力値を、出力データ記憶部30に書き込ませる。
以上が、距離画像生成用信号出力部41が行う1回分の信号出力動作の内容である。この信号出力動作は、通常画像モードへのモード切替指令が信号生成部40に入力され、信号生成部40が、距離画像生成用信号出力部41を停止させ、通常画像生成用信号出力部45を起動するまで、繰返し、距離画像生成用信号出力部41で行われる。
続いて、図7を用いて、通常画像生成用信号出力部45が出力する指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGのパターンについて説明する。図7は、通常画像生成用信号出力部45が出力する指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGのパターンを表すタイムチャートである。
上述したように、本実施例においては、インタフェース部70を通じて制御部60に外部から通常画像モードへのモード切替指令が入力されると、制御部60からのモード切替指令を受けて、信号生成部40が、通常画像生成用信号出力部45を起動する構成にされている。そして、通常画像生成用信号出力部45が起動されると、図7に示すパターンの指令信号が、繰返し、光電センサ21に入力される。尚、平面画像データの生成時には、発光ダイオードを発光させないので、通常画像生成用信号出力部45から、発光信号FLは出力されない。
通常画像生成用信号出力部45は、起動して、信号出力動作を開始すると、最初に、リセット指令信号RSTをアクティブレベルにし、それ以外の指令信号DG[1]〜DG[4],TG[1]〜TG[4],RGを非アクティブレベルにする。そして、これらの状態の各指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを、光電センサ21に入力する。
即ち、通常画像生成用信号出力部45は、まず上記状態の指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを、光電センサ21に入力することで、光電センサ21を構成する各画素生成ユニット27のリセットトランジスタTr5をオンにし、フローティングディフュージョンFDから電荷を排出して、フローティングディフュージョンFDを初期状態にリセットする。
また、通常画像生成用信号出力部45は、リセット指令信号RSTをアクティブレベルに設定した後の所定時刻t11で、上記リセット指令信号RSTをアクティブレベルに保ったまま、電荷転送指令信号TG[1]〜TG[4]をアクティブレベルに切り替えて、各画素生成ユニット27の電荷転送トランジスタTr2をオンにし、光電変換素子PDから、フローティングディフュージョンFDを通じて電荷を排出し、光電変換素子PDを、フローティングディフュージョンFD共々、初期状態にリセットする。
また、通常画像生成用信号出力部45は、電荷転送指令信号TG[1]〜TG[4]をアクティブレベルに切り替えた後の所定時刻t12で、上記リセット指令信号RSTをアクティブレベルに保ったまま、電荷転送指令信号TG[1]〜TG[4]を非アクティブレベルに切り替え、各画素生成ユニット27の電荷転送トランジスタTr2をオフにする。
また、通常画像生成用信号出力部45は、電荷転送指令信号TG[1]〜TG[4]を非アクティブレベルに切り替えた後の所定時刻t13にて、リセット指令信号RSTを非アクティブレベルに切り替える。
そして、この後には、所定時刻t14が経過するまで、指令信号TG[1]〜TG[4],DG[1]〜DG[4]を非アクティブレベルに保持することで、各光電変換素子PD[1]〜PD[4]に、所定時間Tex(=t14−t12)、外部から入射される背景光に応じた電荷を生成させる。
また、時刻t14が到来すると、通常画像生成用信号出力部45は、電荷転送指令信号TG[1]〜TG[4]をアクティブレベルに切り替えて、各画素生成ユニット27の電荷転送トランジスタTr2をオンにし、時刻t12〜時刻t14の間に光電変換素子PDが生成した電荷をフローティングディフュージョンFDに転送して、これをフローティングディフュージョンFDに蓄積させる。
また、通常画像生成用信号出力部45は、電荷転送指令信号TG[1]〜TG[4]をアクティブレベルに切り替えた後の所定時刻t15にて、電荷転送指令信号TG[1]〜TG[4]を非アクティブレベルに切り替え、光電変換素子PD[1]〜PD[4]が生成した電荷のフローティングディフュージョンFDへの転送を終了する。
また、通常画像生成用信号出力部45は、このようにして、背景光に応じた電荷を、各フローティングディフュージョンFDに蓄積させると、各画素生成ユニット27に対して順にアクティブレベルの指令信号RGを入力して、フローティングディフュージョンFDに蓄積された電荷に対応する値を、画素生成ユニット27に出力させ、書込処理部29に、この出力値を、出力データ記憶部30に書き込ませる。
以上が、通常画像生成用信号出力部45が行う1回分の信号出力動作の内容である。この信号出力動作は、距離画像モードへのモード切替指令が制御部60から信号生成部40に入力され、これによって、信号生成部40が、通常画像生成用信号出力部45を停止し、距離画像生成用信号出力部41を起動するまで、繰返し、通常画像生成用信号出力部45で行われる。
続いて、上述した信号生成部40の信号出力動作により、出力データ記憶部30に記憶される出力データに基づき、制御部60が行う処理について、図8〜図10を用いて説明する。尚、図8は、制御部60が、当該画像データ生成装置1の動作中に繰返し実行する画像データ生成出力処理を表すフローチャートである。制御部60は、プログラムに従って、この画像データ生成出力処理を実行することにより、上述の画像データ生成出力機能60aを実現する。
制御部60は、この画像データ生成出力処理を開始すると、まず動作モードとして、距離画像モードが設定されているか否かを判断する(S110)。尚、動作モードの設定は、上述したモード切替機能60bにより実現される。即ち、本実施例において、制御部60は、当該画像データ生成装置1の動作中、プログラムに従いモード切替処理を実行して、モード切替機能60bを実現し、インタフェース部70を通じ外部から距離画像モードへの切替指令が入力されると、距離画像モードへの切替指令を信号生成部40に入力すると共に、画像データ生成出力処理の動作モードとして、距離画像モードを設定する。また、インタフェース部70を通じて外部から通常画像モードへの切替指令が入力されると、通常画像モードへの切替指令を信号生成部40に入力すると共に、画像データ生成出力処理の動作モードとして、通常画像モードを設定する。尚、本実施例では、初期状態で、動作モードとして、通常画像モードが設定されているものとする。
制御部60は、S110において、動作モードが距離画像モードに設定されていると判断すると(S110でYes)、S120に移行し、動作モードが通常画像モードに設定されていると判断すると(S110でNo)、S115に移行する。
また、S115に移行すると、制御部60は、出力データ記憶部30に記憶された出力データとしての各画素生成ユニット27の出力値を読み出し、この出力値に応じた画素値を、画素生成ユニット27に対応する座標の画素値としてRAMの平面画像データ生成領域に書き込み、平面画像データを完成させる。そして、完成した平面画像データを、インタフェース部70を通じて出力し、データ処理装置80に、この平面画像データを提供する。
即ち、S115において、制御部60は、各画素生成ユニット27の出力値を、画素の濃淡を表す濃淡値に変換し、第k行第l列の画素セット25における第m行第n列の画素生成ユニット27の出力値に対応する濃淡値を、座標(2×(k−1)+m,2×(l−1)+n)の画素値として設定して、(2×K)行(2×L)列の平面画像データを生成し、これをデータ処理装置80に向けて出力する(但し、k=1,2,…,K、l=1,2,…,L、m=1,2、n=1,2である。)。その後、制御部60は、当該画像データ生成出力処理を一旦終了する。また、信号生成部40における信号出力動作の周期に合わせて、再び、当該画像データ生成出力処理をS110から実行し、繰返し、画像データを生成・出力する。
一方、S120に移行すると、制御部60は、画像データ生成出力処理のオプション機能として、結合機能が有効に設定されているか否かを判断し、結合機能が有効に設定されていると判断すると(S120でYes)、S170に移行し、結合機能が無効に設定されていると判断すると(S120でNo)、S130に移行する。尚、本実施例において、結合機能の有効/無効は、モード切替指令の入力時に指令元装置から指定される。
S130に移行すると、制御部60は、画素アレイ23を構成する画素セット25の内の一つを処理対象に選択し、選択した処理対象の画素セット25を構成する第1の画素生成ユニット27の出力値V1、第2の画素生成ユニット27の出力値V2、第3の画素生成ユニット27の出力値V3、及び第4の画素生成ユニット27の出力値V4を、出力データ記憶部30から読み出し、これらの出力値V1,V2,V3,V4に基づいて、当該画素セット25に入射された発射光に対する反射光の位相差Φを算出する。具体的には、次式に従って、位相差Φを算出する。
Φ=arctan{(V2−V4)/(V1−V3)} …(6)
また、位相差Φを算出すると、この位相差Φに基づいて、被写体5までの距離Dを次式
D=c×Tp×Φ/(2π) …(7)
に従って算出する(S140)。
本実施例のように、図6に示すパターンで信号を入力して、発光部10からパルス光を発生させ、各画素生成ユニット27に反射光を受光させる場合には、第1の画素生成ユニット27の出力値V1、第2の画素生成ユニット27の出力値V2、第3の画素生成ユニット27の出力値V3、及び、第4の画素生成ユニット27の出力値V4として、発射光に対する反射光の位相差Φと次の関係を有する出力値V1,V2,V3,V4が得られる。
V1∝AcosΦ+B
V2∝AsinΦ+B
V3∝−AcosΦ+B
V4∝−AsinΦ+B …(8)
尚、定数Aは、反射して戻ってきたパルス光の振幅で定まる値であり、定数Bは、背景光成分である。従って、本実施例によれば、上式(6)によって、位相差Φを導出することができるのである。
S140で上述のようにして位相差Φを算出し、距離Dを算出すると、制御部60は、S150に移行し、算出した距離Dを、画素の濃淡を表す値に変換すると共に、この濃淡値を、距離Dを算出する元となった上記処理対象の画素セット25に対応した座標の画素値として、RAMの距離画像データ生成領域に書き込む。
即ち、制御部60は、距離Dを算出する元となった処理対象の画素セット25が、第k行第l列の画素セット25である場合、上記変換後の濃淡値を、座標(k,l)の画素値として、RAMに書き込む。尚、以下では、第k行第l列の画素セット25の位置座標を(X,Y)=(k,l)として、座標(X,Y)を設定し、第k行第l列の画素セット25のことを、座標(k,l)の画素セット25と表現することにする。
また、このようにして、S150での処理を終えると、制御部60は、画素アレイ23が有する全画素セット25について、距離Dを算出し、距離Dに応じた画素値を書き込んだか否かを判断し(S160)、全画素セット25について画素値の書き込みが完了していない場合には(S160でNo)、S130に移行して、画素値の書き込みが未完了の画素セット25を一つ、処理対象に選択する。そして、選択した処理対象の画素セット25に関して、S140,S150の処理を実行し、再び、S160にて、全画素セット25について画素値の書き込みが完了したか否かを判断する。
このような動作を繰返し実行することにより、制御部60は、図9に示すように、k=1,2,…,K、l=1,2,…,Lの範囲で、座標(k,l)の画素セット25の出力値から距離Dを算出し、この距離Dに対応する濃淡値を、座標(k,l)の画素値としてRAMに書き込み、K行L列の距離画像データを完成させる。尚、図9は、結合機能が無効にされているときの距離画像データの生成方法を示した説明図である。
そして、全画素セット25についての画素値の書き込みが完了し、K行L列の距離画像データが完成した場合には(S160でYes)、S250に移行し、この距離画像データを、インタフェース部70を通じて出力する。即ち、この距離画像データをデータ処理装置80に提供する。その後、制御部60は、当該画像データ生成出力処理を一旦終了する。また、信号生成部40における信号出力動作の周期に合わせて、再び、当該画像データ生成出力処理をS110から実行し、繰返し、画像データを生成・出力する。
一方、S170に移行すると、制御部60は、画素アレイ23が有するK行L列の画素セット25を区画化してなる2行2列の画素セット25の集合、即ち、合計4個の画素セット25の集合を、大画素セットとして取り扱って、大画素セットを、一つ処理対象に選択する。換言すると、制御部60は、座標(2u−1,2v−1)の画素セット25、座標(2u−1,2v)の画素セット25、座標(2u,2v)の画素セット25、及び、座標(2u,2v−1)の画素セット25の集合を、大画素セットとして取り扱い、大画素セットを、一つ処理対象の選択する(但し、u=1,2,…,K/2、v=1,2,…,L/2である。)
また、S170での処理を終えると、制御部60は、選択した処理対象の大画素セットを構成する各画素セット25の第1の画素生成ユニット27の出力値V1を、出力データ記憶部30から読み出し、図10に示すように、大画素セットを構成する各画素セット25の第1の画素生成ユニット27の出力値V1を合計して、積算値S1を算出する(S180)。尚、図10は、結合機能が有効にされているときの距離画像データの生成方法を示した説明図である。
同様に、S180の処理実行後のS190では、処理対象の大画素セットを構成する各画素セット25の第2の画素生成ユニット27の出力値V2を読み出し、読み出した各画素生成ユニット27の出力値V2を合計して、積算値S2を算出する。
この他、S190の処理実行後のS200では、処理対象の大画素セットを構成する各画素セット25の第3の画素生成ユニット27の出力値V3を読み出し、読み出した各画素生成ユニット27の出力値V3を合計して、積算値S3を算出する。
また、S200の処理実行後のS210では、処理対象の大画素セットを構成する各画素セット25の第4の画素生成ユニット27の出力値V4を読み出し、読み出した各画素生成ユニット27の出力値V4を合計して、積算値S4を算出する。
その後、制御部60は、これらの積算値S1,S2,S3,S4に基づいて、当該大画素セットに入射された発射光に対する反射光の位相差Φを次式
Φ=arctan{(S2−S4)/(S1−S3)} …(9)
従って算出する。そして、、この位相差Φに基づき、被写体5までの距離Dを式(7)に従って算出する(S220)。
また、S220で上述のようにして距離Dを算出すると、制御部60は、S230に移行し、算出した距離Dを、画素の濃淡を表す値に変換すると共に、この変換後の濃淡値を、距離Dを算出する元となった上記処理対象の大画素セットに対応した座標の画素値として、RAMの距離画像データ生成領域に書き込む。
即ち、制御部60は、距離Dを算出する元となった大画素セットが、座標(2u−1,2v−1)の画素セット25、座標(2u−1,2v)の画素セット25、座標(2u,2v)の画素セット25、及び、座標(2u,2v−1)の画素セット25の集合である場合、上記変換後の濃淡値を、座標(u,v)の画素値として、RAMに書き込む。
また、このようにして、S230での処理を終えると、制御部60は、全大画素セットについて、距離Dを算出し、距離Dに応じた画素値を書き込んだか否かを判断し(S240)、全大画素セットについて画素値の書き込みが完了していない場合には(S240でNo)、S170に移行して、画素値の書き込みが未完了の大画素セットを一つ、処理対象に選択する。そして、選択した処理対象の大画素セットに関して、S180〜S230の処理を実行する。その後、再び、S240に移行して、全大画素セットについて画素値の書き込みが完了したか否かを判断する。
このような動作を繰返し実行することにより、制御部60は、図10に示すように、u=1,2,…,K/2、v=1,2,…,L/2の範囲で、座標(2u−1,2v−1)、座標(2u−1,2v)、座標(2u,2v)、及び、座標(2u,2v−1)の画素セット25の集合の出力値から距離Dを算出し、この距離Dに対応する濃淡値を、座標(u,v)の画素値としてRAMに書き込み、(K/2)行(L/2)列の距離画像データを完成させる。
そして、全大画素セットについての画素値の書き込みが完了し、(K/2)行(L/2)列の距離画像データが完成した場合には(S240でYes)、S250に移行し、この距離画像データを、インタフェース部70を通じて出力し、これをデータ処理装置80に提供する。その後、当該画像データ生成出力処理を一旦終了する。また、信号生成部40における信号出力動作の周期に合わせて、再び、当該画像データ生成出力処理をS110から実行し、繰返し、画像データを生成・出力する。
要するに、本実施例の制御部60は、動作モードが通常画像モードに設定されている場合、信号生成部40の信号出力動作に合わせて、繰返し、当該信号出力動作により出力データ記憶部30に記憶された出力データに基づき、平面画像データを生成・出力する。また、制御部60は、動作モードが距離画像モードに設定されている場合であって結合機能が無効に設定されている場合、信号生成部40の信号出力動作に合わせて、繰返し、当該信号生成部40の動作により出力データ記憶部30に記憶された出力データに基づき、標準解像度の距離画像データを生成・出力する。また、制御部60は、動作モードが距離画像モードに設定されている場合であって結合機能が有効に設定されている場合、信号生成部40の信号出力動作に合わせて、繰返し、当該信号生成部40の動作により出力データ記憶部30に記憶された出力データに基づき、低解像度の距離画像データを生成・出力する。
以上が、第一実施例の画像データ生成装置1の動作内容であるが、本実施例では、画素生成ユニット27毎に、画素生成ユニット27の出力値から一画素分の画素値を求めて、平面画像データを生成する一方で、距離画像データの生成時には、複数個の画素生成ユニット27の組毎に、組に属する各画素生成ユニット27の出力値から距離を求め、一画素分の画素値を算出し、距離画像データを生成するようにした。即ち、本実施例では、画素生成ユニット27の複数個で被写体までの距離を求めるようにして、画素生成ユニット27を、一つの光電変換素子に対してフローティングディフュージョンを一つのみ備える構成にした。
このような手法で、距離画像データを生成するように、画像データ生成装置1を構成すれば、画素生成ユニット27の回路構成を簡素化することができ、光電変換素子PDを狭いピッチで配列して画素アレイ23を構成することができる。従って、本実施例によれば、一つの光電変換素子PDに対して複数のフローティングディフュージョンFDを備える従来装置よりも、平面画像データを高解像度に生成することができる。
換言すると、平面画像データも生成可能な従来の距離画像データ生成装置では、共通の画素アレイ23を用いる場合、距離画像データと同等の解像度の平面画像データしか生成することができなかったが、本実施例によれば、距離画像データよりも高解像度の平面画像データを、共通の画素アレイ23を用いて、生成することができる。
また、本実施例では、距離算出に用いる画素生成ユニット27の組を切り替えて、距離画像データの解像度を、外部からの指令に従って、切り替えるように、画像データ生成装置1を構成した。従って、本実施例によれば、好適な解像度の距離画像データを、外部のデータ処理装置80に提供することができる。
また、本実施例では、低解像度の距離画像データを生成する際にも、標準解像度の距離画像データを生成する際と基本的には同手法で、距離Dを算出するようにした。従って、本実施例よれば、解像度の切替によらず、性質の類似した距離画像データを、外部のデータ処理装置80に提供することができる。
この他、本実施例では、各画素セット25の第iの画素生成ユニット27に共通した信号線L_DG[i],L_TG[i]を光電センサ21内に設けると共に、各画素生成ユニット27共通の信号線L_Rを設けることで、各画素セット25を、共通の指令信号RST,DG[1]〜DG[4],TG[1]〜TG[4]で、同時に制御できるようにした。従って、本実施例によれば、簡単な信号入力で、各画素セット25を同時動作させて、同時間の出力値を各画素セット25から得ることができ、画素間で時間的なずれのない好適な距離画像データを生成することができる。
尚、本発明の距離画像データ生成手段は、本実施例において、信号生成部40が有する距離画像生成用信号出力部41の信号出力動作と、制御部60が実行するS120〜S250の処理と、により実現され、平面画像データ生成手段は、信号生成部40が有する通常画像生成用信号出力部45の信号出力動作と、制御部60が実行するS115の処理と、により実現されている。また、作動制御手段の動作は、制御部60のモード切替機能60bにて実現されている。
続いて、第二実施例の画像データ生成装置1の構成について、図11〜図13を用いて説明する。尚、図11は、第二実施例において、制御部60が実行する画像データ生成出力処理の一部を抜粋して示したフローチャートである。
第二実施例の画像データ生成装置1は、制御部60が実行する画像データ生成出力処理の一部内容が、上述した第一実施例と異なる程度であり、その他の構成は、第一実施例の画像データ生成装置1と基本的に同一である。従って、以下では、第二実施例の説明として、第一実施例とは異なる第二実施例の画像データ生成装置1の構成を、説明するに留める。
制御部60は、画像データ生成出力処理を開始して、S120に移行すると、画像データ生成出力処理のオプション機能として、結合機能が有効に設定されているか否かを判断し、結合機能が有効に設定されていると判断すると(S120でYes)、S170に移行し、結合機能が無効に設定されていると判断すると(S120でNo)、S310に移行する。
S310に移行すると、制御部60は、画素アレイ23を構成する画素セット25の一つを処理対象に選択し、選択した処理対象の画素セット25を構成する第1の画素生成ユニット27の出力値V1、第2の画素生成ユニット27の出力値V2、第3の画素生成ユニット27の出力値V3、及び第4の画素生成ユニット27の出力値V4を、出力データ記憶部30から読み出し、これらの出力値V1,V2,V3,V4に基づき、当該画素セット25に入射された発射光に対する反射光の位相差Φを、式(6)に従って算出する。また、この位相差Φに基づいて、被写体5までの距離Dを、式(7)に従って算出する(S320)。また、S320では、算出した距離Dを、距離D0として設定し、RAMに一時記憶する。
この後、制御部60は、S330に移行して、画像データ生成出力処理のオプション機能として、第一平滑化機能又は第二平滑化機能が有効に設定されているか否かを判断し、第一平滑化機能又は第二平滑化機能が有効に設定されていると判断すると(S330でYes)、S350に移行する。一方、第一平滑化機能及び第二平滑化機能のいずれもが無効に設定されていると判断すると(S330でNo)、S340に移行する。尚、本実施例において、第一平滑化機能及び第二平滑化機能の有効/無効は、モード切替指令の入力時に指令元の装置から指定されるものとする。
S340に移行すると、制御部60は、RAMに一時記憶した距離D0を、画素の濃淡を表す濃淡値に変換すると共に、この濃淡値を、距離D0を算出する元となった上記処理対象の画素セット25に対応した座標の画素値として、RAMの距離画像データ生成領域に書き込む。即ち、制御部60は、距離D0を算出する元となった処理対象の画素セット25が、座標(k,l)の画素セット25である場合、上記変換後の濃淡値を、座標(k,l)の画素値として、RAMの距離画像データ生成領域に書き込む。また、この処理を終えると、S370に移行する。
一方、第一平滑化機能又は第二平滑化機能が有効に設定されており、S350に移行すると、制御部60は、図12に示す平滑化処理を実行する。尚、図12は、制御部60が実行する平滑化処理を表すフローチャートである。
S350において平滑化処理を開始すると、制御部60は、まず、S410にて、a=2×k−1,b=2×l−1に設定する。尚、ここでいうk,lは、S310で選択した処理対象の画素セット25の座標(k,l)である。また、以下では、第k行第l列の画素セット25における第m行第n列の画素生成ユニット27の位置座標を(x,y)=(2×(k−1)+m,2×(l−1)+n)として、座標(x,y)を設定し、第k行第l列の画素セット25における第m行第n列の画素生成ユニット27のことを、座標(2×(k−1)+m,2×(l−1)+n)の画素生成ユニット27と表現することにする。
また、S410での処理を終えて、S420に移行すると、制御部60は、座標(a,b)の画素生成ユニット27の出力値V1、座標(a,b−1)の画素生成ユニット27の出力値V2、座標(a+1,b−1)の画素生成ユニット27の出力値V3、座標(a+1,b)の画素生成ユニット27の出力値V4を、式(6)及び式(7)に代入して、距離Dを算出し、算出した距離Dを、距離D1として設定し、RAMに一時記憶する。即ち、距離D0に対して、図13に示す関係を有する距離D1を、RAMに一時記憶する。尚、図13は、距離D0と平滑化処理において設定される距離D1〜D8との関係を表す説明図である。図13に示す各ブロックは、画素生成ユニット27に対応し、ブロック内の符号i=1,2,3,4は、そのブロックが、第iの画素生成ユニット27であることを示す。
また、このようにして、S420の処理を終えると、制御部60は、S430に移行し、座標(a,b)の画素生成ユニット27の出力値V1、座標(a,b+1)の画素生成ユニット27の出力値V2、座標(a−1,b+1)の画素生成ユニット27の出力値V3、座標(a−1,b)の画素生成ユニット27の出力値V4を、式(6)及び式(7)に代入して、距離Dを算出し、算出した距離Dを、距離D2として設定し、RAMに一時記憶する。
また、S430の処理後には、S440に移行し、座標(a,b+2)の画素生成ユニット27の出力値V1、座標(a,b+1)の画素生成ユニット27の出力値V2、座標(a+1,b+1)の画素生成ユニット27の出力値V3、座標(a+1,b+2)の画素生成ユニット27の出力値V4を、式(6)及び式(7)に代入して、距離Dを算出し、算出した距離Dを、距離D3として設定し、RAMに一時記憶する。
そして、S440の処理後には、S450に移行し、座標(a+2,b)の画素生成ユニット27の出力値V1、座標(a+2,b+1)の画素生成ユニット27の出力値V2、座標(a+1,b+1)の画素生成ユニット27の出力値V3、座標(a+1,b)の画素生成ユニット27の出力値V4を、式(6)及び式(7)に代入して、距離Dを算出し、算出した距離Dを、距離D4として設定し、RAMに一時記憶する。
また、このようにして、S450の処理を終えると、制御部60は、S460に移行し、第二平滑化機能が有効に設定されているか否かを判断する。そして、第二平滑化機能が有効に設定されていると判断すると(S460でYes)、S480に移行し、第二平滑化機能が無効に設定されていると判断すると(S460でNo)、S470に移行する。
また、S470では、RAMに一時記憶されている距離D0,D1,D2,D3,D4の平均値Davgを算出する。その後、当該平滑化処理を終了して、S360に移行する。
一方、S480に移行すると、制御部60は、座標(a,b)の画素生成ユニット27の出力値V1、座標(a,b−1)の画素生成ユニット27の出力値V2、座標(a−1,b−1)の画素生成ユニット27の出力値V3、座標(a−1,b)の画素生成ユニット27の出力値V4を、式(6)及び式(7)に代入して、距離Dを算出し、算出した距離Dを、距離D5として設定し、RAMに一時記憶する。
また、このようにして、S480の処理を終えると、制御部60は、S490に移行し、座標(a,b+2)の画素生成ユニット27の出力値V1、座標(a,b+1)の画素生成ユニット27の出力値V2、座標(a−1,b+1)の画素生成ユニット27の出力値V3、座標(a−1,b+2)の画素生成ユニット27の出力値V4を、式(6)及び式(7)に代入して、距離Dを算出し、算出した距離Dを、距離D6として設定し、RAMに一時記憶する。
そして、S490の処理後には、S500に移行し、座標(a+2,b+2)の画素生成ユニット27の出力値V1、座標(a+2,b+1)の画素生成ユニット27の出力値V2、座標(a+1,b+1)の画素生成ユニット27の出力値V3、座標(a+1,b+2)の画素生成ユニット27の出力値V4を、式(6)及び式(7)に代入して、距離Dを算出し、算出した距離Dを、距離D7として設定し、RAMに一時記憶する。
また、S500の処理後には、S510に移行し、座標(a+2,b)の画素生成ユニット27の出力値V1、座標(a+2,b−1)の画素生成ユニット27の出力値V2、座標(a+1,b−1)の画素生成ユニット27の出力値V3、座標(a+1,b)の画素生成ユニット27の出力値V4を、式(6)及び式(7)に代入して、距離Dを算出し、算出した距離Dを、距離D8として設定し、RAMに一時記憶する。
また、S510の処理を終えると、制御部60は、RAMに一時記憶されている距離D0,D1,D2,D3,D4,D5,D6,D7,D8の平均値Davgを算出し(S520)、その後、当該平滑化処理を終了して、S360に移行する。
S360に移行すると、制御部60は、上記平滑化処理にて算出した距離Davgを、画素の濃淡を表す濃淡値に変換すると共に、この濃淡値を、距離D0を算出する元となった上記処理対象の画素セット25に対応した座標の画素値として、RAMの距離画像データ生成領域に書き込む。即ち、制御部60は、距離D0を算出する元となった処理対象の画素セット25が、座標(k,l)の画素セット25である場合、上記変換後の濃淡値を、座標(k,l)の画素値として、RAMの距離画像データ生成領域に書き込む。
また、この処理を終えると、制御部60は、S370に移行し、画素アレイ23が有する全画素セット25について、画素値の書き込みが完了したか否かを判断し、全画素セット25について画素値の書き込みが完了していない場合には(S370でNo)、S310に移行して、画素値の書き込みが未完了の画素セット25を一つ、処理対象に選択する。そして、選択した処理対象の画素セット25に関して、S320〜S360の処理を実行する。その後、再び、S370に移行して、全画素セット25について画素値の書き込みが完了したか否かを判断する。
制御部60は、このような動作を繰返し実行することにより、第一平滑化機能及び第二平滑化機能が無効に設定されている場合、第一実施例と同様にしてK行L列の距離画像データを完成させる。また、第一平滑化機能又は第二平滑化機能が有効に設定されている場合、k=1,2,…,K、l=1,2,…,Lの範囲で、座標(k,l)の画素セット25の出力値、及び、この画素セット25の周囲領域の画素生成ユニット27の出力値から距離Davgを算出し、この距離Davgに対応する濃淡値を、座標(k,l)の画素値としてRAMに書き込み、K行L列の距離画像データを完成させる。
そして、全画素セット25について画素値の書き込みが完了し、K行L列の距離画像データが完成した場合には(S370でYes)、S250に移行し、この距離画像データを、インタフェース部70を通じて出力し、この距離画像データをデータ処理装置80に提供する。その後、当該画像データ生成出力処理を一旦終了する。
以上、第二実施例の画像データ生成装置1について説明したが、この画像データ生成装置1では、距離画像データ生成時に、各画素セット25から得られる距離D0を、その周囲領域の画素生成ユニット27から得られた距離の値D1〜D8により補正して、画素値を得る。従って、本実施例によれば、ノイズによる影響の少ない綺麗な距離画像データを生成することができる。
続いて、第三実施例の画像データ生成装置1の構成について、図14を用いて説明する。尚、図14は、第三実施例における距離画像生成用信号出力部41が出力する発光信号FL及び指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGのパターンを表すタイムチャートである。
第三実施例の画像データ生成装置1は、距離画像生成用信号出力部41が出力する信号のパターンが異なること、及び、S140,S220での距離Dの算出方法が異なることが除けば、第一実施例の画像データ生成装置1と基本的に同一構成である。従って、以下では、第三実施例の説明として、第一実施例とは異なる画像データ生成装置1の構成を、説明するに留める。
本実施例における距離画像生成用信号出力部41は、起動して、信号出力動作を開始すると、最初に、リセット指令信号RST及び電荷排出指令信号DG[1]〜DG[4]をアクティブレベルにし、それ以外の指令信号TG[1]〜TG[4],RGを非アクティブレベルにする。そして、これらの状態の各指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを、光電センサ21に入力する。これによって、距離画像生成用信号出力部41は、光電センサ21を構成する各画素生成ユニット27の電荷排出トランジスタTr1及びリセットトランジスタTr5をオンする。
また、これと同時に、上記発光信号FLとして、周期Tcのサイン波の発光部10への入力を開始する。尚、このようなサイン波が発光部10の駆動回路に入力されると、これに合わせて発光ダイオードからは、周期Tcのサイン波で振幅変調されたサイン変調光が、発射される。尚、距離画像生成用信号出力部41は、距離画像データを1つ生成するために必要な1回分の信号出力動作として、複数周期(本実施例では3周期)分のサイン波を、発光部10に入力する構成にされている。
また、距離画像生成用信号出力部41は、このようにして、発光部10及び受光部20の駆動を開始すると、その後の所定時刻t21にて、リセット指令信号RSTを非アクティブレベルに切り替える。
その他、距離画像生成用信号出力部41は、時刻t21の経過後であって、サイン変調光の位相が初期位相ゼロとなる時刻t23より時間Δt手前の時刻t22で、電荷排出指令信号DG[1]を非アクティブレベルに切り替え、電荷転送指令信号TG[1]をアクティブレベルに切り替える。また、時刻t23から時間Δt経過後の時刻t24にて、電荷排出指令信号DG[1]をアクティブレベルに切り替え、電荷転送指令信号TG[1]を非アクティブレベルに切り替える。
このようにして、距離画像生成用信号出力部41は、画素アレイ23を構成する各画素セット25の第1の画素生成ユニット27に、発光部10から発射されるサイン変調光が位相ゼロとなる時点を中心とする微小時間2×Δt内に光電変換素子PD[1]で生成された電荷をフローティングディフュージョンFD[1]に蓄積させる。
また、距離画像生成用信号出力部41は、時刻t24の経過後であって、時刻t23から位相π/2遅れた時点(時刻t26)より時間Δt手前の時刻t25で、電荷排出指令信号DG[2]を非アクティブレベルに切り替え、電荷転送指令信号TG[2]をアクティブレベルに切り替える。また、時刻t26から時間Δt経過後の時刻t27にて、電荷排出指令信号DG[2]をアクティブレベルに切り替え、電荷転送指令信号TG[2]を非アクティブレベルに切り替える。
このようにして、距離画像生成用信号出力部41は、画素アレイ23を構成する各画素セット25の第2の画素生成ユニット27に、発光部10から発射されるサイン変調光が位相π/2となる時点を中心とする微小時間2×Δt内に光電変換素子PD[2]で生成された電荷をフローティングディフュージョンFD[2]に蓄積させる。
また、距離画像生成用信号出力部41は、時刻t27の経過後であって、時刻t23から位相π遅れた時点(時刻t29)より時間Δt手前の時刻t28で、電荷排出指令信号DG[3]を非アクティブレベルに切り替え、電荷転送指令信号TG[3]をアクティブレベルに切り替える。また、時刻t29から時間Δt経過後の時刻t30にて、電荷排出指令信号DG[3]をアクティブレベルに切り替え、電荷転送指令信号TG[3]を非アクティブレベルに切り替える。
このようにして、距離画像生成用信号出力部41は、画素アレイ23を構成する各画素セット25の第3の画素生成ユニット27に、発光部10から発射されるサイン変調光が位相πとなる時点を中心とする微小時間2×Δt内に光電変換素子PD[3]で生成された電荷をフローティングディフュージョンFD[3]に蓄積させる。
また、距離画像生成用信号出力部41は、時刻t30の経過後であって、時刻t23から位相3π/2遅れた時点(時刻t32)より時間Δt手前の時刻t31で、電荷排出指令信号DG[4]を非アクティブレベルに切り替え、電荷転送指令信号TG[4]をアクティブレベルに切り替える。また、時刻t32から時間Δt経過後の時刻t33にて、電荷排出指令信号DG[4]をアクティブレベルに切り替え、電荷転送指令信号TG[4]を非アクティブレベルに切り替える。
このようにして、距離画像生成用信号出力部41は、画素アレイ23を構成する各画素セット25の第4の画素生成ユニット27に、発光部10から発射されるサイン変調光が位相3π/2となる時点を中心とする微小時間2×Δt内に光電変換素子PD[4]で生成された電荷をフローティングディフュージョンFD[4]に蓄積させる。
距離画像生成用信号出力部41は、このようなパターンの信号出力を、サイン変調光の周期に合わせ繰返し実行することにより、サイン変調光が位相ゼロとなる基準時点を中心とする微小時間2×Δt内に光電変換素子PD[1]で生成された電荷をフローティングディフュージョンFD[1]に蓄積させ、上記基準時点から位相π/2遅れた時点を中心とする微小時間2×Δt内に光電変換素子PD[2]で生成された電荷をフローティングディフュージョンFD[2]に蓄積させ、上記基準時点から位相π遅れた時点を中心とする微小時間2×Δt内に光電変換素子PD[3]で生成された電荷をフローティングディフュージョンFD[3]に蓄積させ、上記基準時点から位相3π/2遅れた時点を中心とする微小時間PD[4]内に光電変換素子PD[4]で生成された電荷をフローティングディフュージョンFD[4]に蓄積させる。
また、距離画像生成用信号出力部41は、このようにして1回分のサイン変調光の発射が終了すると、各画素生成ユニット27に対して順にアクティブレベルの指令信号RGを入力して、フローティングディフュージョンFDに蓄積された電荷に対応する値を、画素生成ユニット27に出力させ、書込処理部29に、この出力値を、出力データ記憶部30に書き込ませる。
以上が、距離画像生成用信号出力部41が行う1回分の信号出力動作の内容である。尚、図14に示す信号を入力して、発光部10からサイン変調光を発生させ、各画素生成ユニット27に、この反射光を受光させる場合には、第1の画素生成ユニット27の出力値V1、第2の画素生成ユニット27の出力値V2、第3の画素生成ユニット27の出力値V3、及び、第4の画素生成ユニット27の出力値V4として、発射光に対する反射光の位相差Φと次の関係を有する出力値V1,V2,V3,V4が得られる。
V1∝−AsinΦ+B
V2∝AcosΦ+B
V3∝AsinΦ+B
V4∝−AcosΦ+B …(10)
尚、定数Aは、反射して戻ってきたサイン変調光の振幅で定まる値であり、定数Bは、背景光成分である。従って、本実施例によれば、次式に従って、位相差Φ及び距離Dを算出することができる。
Φ=arctan{(V3−V1)/(V2−V4)} …(11)
D=c×(Tc/2)×Φ/(2π) …(12)
即ち、本実施例における画像データ生成装置1の制御部60は、画像データ生成出力処理のS140にて、第1の画素生成ユニット27の出力値V1、第2の画素生成ユニット27の出力値V2、第3の画素生成ユニット27の出力値V3、及び第4の画素生成ユニット27の出力値V4に基づき、式(11)及び式(12)に従って、距離Dを算出する。そして、この距離Dに基づいて、距離画像データを生成する。
また、制御部60は、画像データ生成出力処理のS220において、S180〜S210で算出した積算値S1,S2,S3,S4に基づき、次式
Φ=arctan{(S3−S1)/(S2−S4)} …(13)
に従って、位相差Φを算出し、この算出した位相差Φに基づいて、式(12)に従い、距離Dを算出する。そして、この距離Dに基づいて、距離画像データを生成する。
以上が、第三実施例の画像データ生成装置1の動作内容である。本実施例の画像データ生成装置1によれば、距離画像データ生成時に、サイン変調光を発射して被写体5までの距離Dを算出するので、パルス光を発射する場合のように、立ち上がり時間や立ち下り時間の遅延による誤差が生じにくく、高精度に距離Dを算出することができる。また、パルス変調する第一実施例よりも発光強度が保たれるため、本実施例によれば、距離分解能を向上させることができる。
続いて、第四実施例の画像データ生成装置100の構成について、図15〜図19を用いて説明する。図15は、第四実施例の画像データ生成装置100の構成を表すブロック図である。
第四実施例の画像データ生成装置100は、信号生成部140が標準距離画像生成用信号出力部141及び分割距離画像生成用信号出力部143を備えること、及び、制御部60が実行する画像データ生成出力処理の内容が異なることを除けば、第一実施例の画像データ生成装置1と基本的に同一である。従って、以下では、第四実施例の説明として、第一実施例とは異なる画像データ生成装置100の構成を、説明するに留める。
図15に示すように、本実施例の画像データ生成装置100は、信号生成部140が、標準距離画像生成用信号出力部141及び分割距離画像生成用信号出力部143、並びに、通常画像生成用信号出力部45を備える構成にされている。また、この構成に合わせて、当該画像データ生成装置100は、インタフェース部70を通じて、外部から、標準距離画像モードへの切替指令、及び、分割距離画像モードへの切替指令を受け付け可能な構成にされている。
即ち、本実施例の制御部60は、当該画像データ生成装置100の動作中、プログラムに従いモード切替処理を実行して、図15に示すモード切替機能60bを実現し、インタフェース部70を通じて外部から標準距離画像モードへの切替指令が入力されると、標準距離画像モードへの切替指令を信号生成部140に入力すると共に、画像データ生成出力処理の動作モードとして、標準距離画像モードを設定する構成にされている。
また、制御部60は、インタフェース部70を通じて外部から分割距離画像モードへの切替指令が入力されると、分割距離画像モードへの切替指令を信号生成部140に入力すると共に、画像データ生成出力処理の動作モードとして、分割距離画像モードを設定する構成にされている。
この他、制御部60は、インタフェース部70を通じて外部から通常画像モードへの切替指令が入力されると、通常画像モードへの切替指令を信号生成部140に入力すると共に、画像データ生成出力処理の動作モードとして、通常画像モードを設定する構成にされている。
一方、信号生成部140は、制御部60から標準距離画像モードへの切替指令が入力されると、標準距離画像生成用信号出力部141を選択的に起動し、分割距離画像生成用信号出力部143及び通常画像生成用信号出力部45を休止する構成にされている。また、信号生成部140は、制御部60から分割距離画像モードへの切替指令が入力されると、分割距離画像生成用信号出力部143を選択的に起動し、標準距離画像生成用信号出力部141及び通常画像生成用信号出力部45を休止する構成にされている。この他、信号生成部140は、制御部60から通常画像モードへの切替指令が入力された場合、通常画像生成用信号出力部45を選択的に起動し、標準距離画像生成用信号出力部141及び分割距離画像生成用信号出力部143を休止する構成にされている。
また、標準距離画像生成用信号出力部141は、図16に示すパターンの発光信号FL及び指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを出力して、発光信号FLを発光部10の駆動回路に入力し、指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを光電センサ21に入力する構成にされている。尚、図16は、標準距離画像生成用信号出力部141が出力する発光信号FL及び指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGのパターンを表すタイムチャートである。
即ち、標準距離画像生成用信号出力部141は、起動して、信号出力動作を開始すると、最初に、リセット指令信号RST及び電荷排出指令信号DG[1]〜DG[4]をアクティブレベルにし、それ以外の指令信号TG[1]〜TG[4],RGを非アクティブレベルにして、これらの状態の各指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを、光電センサ21に入力する。これにより、光電センサ21を構成する各画素生成ユニット27の電荷排出トランジスタTr1及びリセットトランジスタTr5をオンにし、光電変換素子PD及びフローティングディフュージョンFDを、初期状態にリセットする。
また、標準距離画像生成用信号出力部141は、リセット指令信号RSTをアクティブレベルに設定した後の所定時刻t41から、発光信号FLとして、パルス幅Tp、周期(4×Tp+α)のパルス信号の発光部10への入力を開始する(但し、αは、設計者により定められる任意の正の値(ゼロを含む。)である)。尚、このようなパルス信号が発光部10の駆動回路に入力されると、これに合わせて発光部10からは、パルス幅Tpのパルス光が、周期(4×Tp+α)で発射される。尚、図16には図示しないが、標準距離画像生成用信号出力部141は、距離画像データを1つ生成するために必要な1回分の信号出力動作として、複数周期分のパルス信号を、発光信号FLとして発光部10に入力する構成にされている。このため、1回分の信号出力動作で、パルス光の発射は、複数回行われる。
また、標準距離画像生成用信号出力部141は、複数回に渡るパルス光の発射動作の最初のパルス光の発射開始時(時刻t41)に、リセット指令信号RSTを非アクティブレベルに切り替える。そして、当該パルス光の発射開始時(時刻t41)には、電荷排出指令信号DG[1]を非アクティブレベルに切り替え、電荷転送指令信号TG[1]をアクティブレベルに切り替える。これにより、時刻t41では、各画素セット25における第1の画素生成ユニット27において、光電変換素子PD[1]にて生成される電荷のフローティングディフュージョンFD[1]への蓄積動作が開始される。
また、標準距離画像生成用信号出力部141は、パルス光が発射された時点から、パルス幅Tp分の時間遅れて、時刻t42で、電荷転送指令信号TG[1]を非アクティブレベルに切り替え、電荷排出指令信号DG[1]をアクティブレベルに切り替えると共に、電荷転送指令信号TG[2]をアクティブレベルに切り替え、電荷排出指令信号DG[2]を非アクティブレベルに切り替える。
これにより、時刻t42では、光電変換素子PD[1]にて生成された電荷のフローティングディフュージョンFD[1]への蓄積動作が、各画素セット25の第1の画素生成ユニット27において、終了し、光電変換素子PD[2]にて生成される電荷のフローティングディフュージョンFD[2]への蓄積動作が、各画素セット25の第2の画素生成ユニット27において、開始される。
また、標準距離画像生成用信号出力部141は、パルス光が発射された時点から、時間2×Tp遅れた時刻t43で、電荷転送指令信号TG[2]を非アクティブレベルに切り替え、電荷排出指令信号DG[2]をアクティブレベルに切り替えると共に、電荷転送指令信号TG[3]をアクティブレベルに切り替え、電荷排出指令信号DG[3]を非アクティブレベルに切り替える。
これにより、時刻t43では、光電変換素子PD[2]にて生成された電荷のフローティングディフュージョンFD[2]への蓄積動作が、各画素セット25の第2の画素生成ユニット27において、終了し、光電変換素子PD[3]にて生成される電荷のフローティングディフュージョンFD[3]への蓄積動作が、各画素セット25の第3の画素生成ユニット27において、開始される。
また、標準距離画像生成用信号出力部141は、パルス光が発射された時点から、時間3×Tp遅れた時刻t44で、電荷転送指令信号TG[3]を非アクティブレベルに切り替え、電荷排出指令信号DG[3]をアクティブレベルに切り替えると共に、電荷転送指令信号TG[4]をアクティブレベルに切り替え、電荷排出指令信号DG[4]を非アクティブレベルに切り替える。
これにより、時刻t44では、光電変換素子PD[3]にて生成された電荷のフローティングディフュージョンFD[3]への蓄積動作が、各画素セット25の第3の画素生成ユニット27において、終了し、光電変換素子PD[4]にて生成される電荷のフローティングディフュージョンFD[4]への蓄積動作が、各画素セット25の第4の画素生成ユニット27において、開始される。
また、標準距離画像生成用信号出力部141は、パルス光が発射された時点から、時間4×Tp遅れた時刻t45で、電荷転送指令信号TG[4]を非アクティブレベルに切り替え、電荷排出指令信号DG[4]をアクティブレベルに切り替える。これにより、時刻t45では、光電変換素子PD[4]にて生成された電荷のフローティングディフュージョンFD[4]への蓄積動作が、各画素セット25の第4の画素生成ユニット27において、終了する。
また、時刻t45から時間α経過すると、標準距離画像生成用信号出力部141は、発光信号FLにより、発光部10から次のパルス光を発射させ、このパルス光の発射と同時に、指令信号TG[1]〜TG[4],DG[1]〜DG[4]を、上述した時刻t41〜時刻t45と同様のパターンで、光電センサ21に入力する。
このようにして、標準距離画像生成用信号出力部141は、パルス光の発射毎に、その発射時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[1]に光電変換素子PD[1]が生成した電荷を蓄積させ、上記発射時点から時間Tp経過した時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[2]に光電変換素子PD[2]が生成した電荷を蓄積させる。
尚、図16の二段目に示すように、発射光が被写体5に反射して戻ってくる光は、発射光に対して位相Φずれているので、このように、発光部10及び受光部20を制御すると、フローティングディフュージョンFD[1],FD[2]には、図16に示す斜線の期間に入射された反射光の受光量に対応した電荷が蓄積される。
また、本実施例では、パルス光の発射毎に、その発射時点から時間2×Tp経過した時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[3]に光電変換素子PD[3]が生成した電荷を蓄積させ、上記発射時点から時間3×Tp経過した時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[4]に光電変換素子PD[4]が生成した電荷を蓄積させることにより、フローティングディフュージョンFD[3],FD[4]に、光電変換素子PD[3],PD[4]が、時間Tpの間に受光した背景光に対応した電荷を保持させる。
尚、本実施例では、距離Dの検出範囲を0≦D≦(c×Tp/2)に設定し、対応する強度のパルス光を発光部10に発射させているため、パルス光の発射時点から時間2×Tp経過した時点から次のパルス光が発射されるまでの期間は、パルス光が入射されない期間となる。
また、標準距離画像生成用信号出力部141は、所定回数のパルス光の発射が終了すると、各画素生成ユニット27に対して順にアクティブレベルの指令信号RGを入力して、フローティングディフュージョンFDに蓄積された電荷に対応する値を、画素生成ユニット27に出力させ、書込処理部29に、この出力値を、出力データ記憶部30に書き込ませる。
以上が、標準距離画像生成用信号出力部141が行う1回分の信号出力動作の内容である。この信号出力動作は、信号生成部140の動作により、当該標準距離画像生成用信号出力部141が停止されるまで、繰返し、当該標準距離画像生成用信号出力部141で行われる。
一方、分割距離画像生成用信号出力部143は、図17に示すパターンの発光信号FL及び指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを出力して、発光信号FLを発光部10の駆動回路に入力し、指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを光電センサ21に入力する構成にされている。尚、図17は、分割距離画像生成用信号出力部143が出力する発光信号FL及び指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGのパターンを表すタイムチャートである。
即ち、分割距離画像生成用信号出力部143は、起動して、信号出力動作を開始すると、最初に、リセット指令信号RST及び電荷排出指令信号DG[1]〜DG[4]をアクティブレベルにし、それ以外の指令信号TG[1]〜TG[4],RGを非アクティブレベルにして、これらの状態の各指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを、光電センサ21に入力する。これにより、光電センサ21を構成する各画素生成ユニット27の電荷排出トランジスタTr1及びリセットトランジスタTr5をオンにし、光電変換素子PD及びフローティングディフュージョンFDを、初期状態にリセットする。
また、分割距離画像生成用信号出力部143は、リセット指令信号RSTをアクティブレベルに設定した後の所定時刻t51から、発光信号FLとして、パルス幅Tp、周期(2×Tp+β)のパルス信号(矩形信号)の発光部10への入力を開始する(但し、βは、設計者により定められる任意の正の値(ゼロを含む。)である)。
尚、このようなパルス信号が発光部10の駆動回路に入力されると、これに合わせて発光部10からは、パルス幅Tpのパルス光が、周期(2×Tp+β)で発射される。尚、図17には図示しないが、分割距離画像生成用信号出力部143は、距離画像データを1つ生成するために必要な1回分の信号出力動作として、複数周期分のパルス信号を、発光信号FLとして発光部10に入力する。このため、1回分の信号出力動作で、パルス光の発射は、複数回行われる。
また、分割距離画像生成用信号出力部143は、複数回に渡るパルス光の発射動作の最初のパルス光の発射開始時(時刻t51)に、リセット指令信号RSTを非アクティブレベルに切り替えると共に、当該パルス光の発射に合わせて、電荷排出指令信号DG[1],DG[3]を非アクティブレベルに切り替え、電荷転送指令信号TG[1],TG[3]をアクティブレベルに切り替える。これにより、時刻t51では、光電変換素子PD[1]で生成される電荷のフローティングディフュージョンFD[1]への蓄積動作が開始されると共に、光電変換素子PD[3]で生成される電荷のフローティングディフュージョンFD[3]への蓄積動作が開始される。
また、分割距離画像生成用信号出力部143は、パルス光が発射された時点から、パルス幅Tp分の時間遅れた時刻t52で、電荷転送指令信号TG[1],TG[3]を非アクティブレベルに切り替え、電荷排出指令信号DG[1],DG[3]をアクティブレベルに切り替えると共に、電荷転送指令信号TG[2],TG[4]をアクティブレベルに切り替え、電荷排出指令信号DG[2],DG[4]を非アクティブレベルに切り替える。
これにより、時刻t52では、光電変換素子PD[1]にて生成された電荷のフローティングディフュージョンFD[1]への蓄積動作が、各画素セット25の第1の画素生成ユニット27において、終了すると共に、光電変換素子PD[3]にて生成された電荷のフローティングディフュージョンFD[3]への蓄積動作が、各画素セット25の第3の画素生成ユニット27において、終了する。
また、この時刻t52では、光電変換素子PD[2]にて生成される電荷のフローティングディフュージョンFD[2]への蓄積動作が、各画素セット25の第2の画素生成ユニット27において、開始され、光電変換素子PD[4]にて生成される電荷のフローティングディフュージョンFD[4]への蓄積動作が、各画素セット25の第4の画素生成ユニット27において、開始される。
また、分割距離画像生成用信号出力部143は、パルス光が発射された時点から時間2×Tp遅れた時刻t53で、電荷転送指令信号TG[2],TG[4]を非アクティブレベルに切り替え、電荷排出指令信号DG[2],DG[4]をアクティブレベルに切り替える。
これにより、時刻t53では、光電変換素子PD[2]にて生成された電荷のフローティングディフュージョンFD[2]への蓄積動作が、各画素セット25の第2の画素生成ユニット27において、終了すると共に、光電変換素子PD[4]にて生成された電荷のフローティングディフュージョンFD[4]への蓄積動作が、各画素セット25の第4の画素生成ユニット27において、終了する。
また、時刻t53から時間β経過すると、分割距離画像生成用信号出力部143は、発光信号FLにより、発光部10から次のパルス光を発射させ、このパルス光の発射と同時に、指令信号TG[1]〜TG[4],DG[1]〜DG[4]を、上述した時刻t51〜時刻t53と同様のパターンで、光電センサ21に入力する。
このようにして、分割距離画像生成用信号出力部143は、パルス光の発射毎に、その発射時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[1],FD[3]に光電変換素子PD[1],PD[3]が生成した電荷を蓄積させ、上記発射時点から時間Tp経過した時点からパルス幅Tpに対応する時間、フローティングディフュージョンFD[2],FD[4]に光電変換素子PD[2],PD[4]が生成した電荷を蓄積させる。
尚、このように、発光部10及び受光部20を制御すると、発射光が被写体5に反射して戻ってくる反射光は、発射光に対して位相Φずれているので、フローティングディフュージョンFD[1]〜FD[4]には、図17に示す斜線の期間に入射された反射光の受光量に対応した電荷が蓄積される。
また、分割距離画像生成用信号出力部143は、所定回数のパルス光の発射が終了すると、各画素生成ユニット27に対して順にアクティブレベルの指令信号RGを入力して、フローティングディフュージョンFDに蓄積された電荷に対応する値を、画素生成ユニット27に出力させ、書込処理部29に、この出力値を、出力データ記憶部30に書き込ませる。
以上が、分割距離画像生成用信号出力部143が行う1回分の信号出力動作の内容である。この信号出力動作は、当該分割距離画像生成用信号出力部143が停止されるまで、繰返し、当該分割距離画像生成用信号出力部143で行われる。
この他、本実施例における通常画像生成用信号出力部45は、第一実施例と同様、図7に示すパターンの指令信号RST,TG[1]〜TG[4],DG[1]〜DG[4],RGを光電センサ21に入力する構成にされている。
続いて、本実施例の画像データ生成装置100において、制御部60が実行する画像データ生成出力処理について、図18を用いて説明する。図18は、制御部60が当該画像データ生成装置100の動作中に繰返し実行する画像データ生成出力処理を表すフローチャートである。
制御部60は、図18に示す画像データ生成出力処理を開始すると、まず、動作モードが、標準距離画像モード又は分割距離画像モードに設定されているか否かを判断する(S610)。尚、動作モードの設定は、上述したように、モード切替機能60bにより実現される。
制御部60は、S610において、動作モードが標準距離画像モード又は分割距離画像モードに設定されていると判断すると(S610でYes)、S620に移行し、動作モードが通常画像モードに設定されていると判断すると(S610でNo)、S613に移行する。
また、S613に移行すると、制御部60は、第一実施例のS115の処理と同様に、出力データ記憶部30に記憶された出力データとしての各画素生成ユニット27の出力値を読み出し、この出力値に応じた画素値を、画素生成ユニット27に対応する座標の画素値として設定し、平面画像データを生成する。そして、この平面画像データを、インタフェース部70を通じて出力し、データ処理装置80に、この平面画像データを提供する。
また、このようにして、S613での処理を終えると、制御部60は、S617に移行し、出力データ記憶部30から読み出した出力データ、即ち、各画素生成ユニット27の出力値の一群を、そのまま、RAMの背景光データ記憶領域に、一時記憶する。尚、この背景光データ記憶領域に記憶された各画素生成ユニット27の出力値は、距離画像データの生成時に利用される。
この他、S617での処理を終えると、制御部60は、当該画像データ生成出力処理を一旦終了し、信号生成部140における信号出力動作の周期に合わせて、再び、当該画像データ生成出力処理をS610から実行する。これにより、繰返し、画像データを生成・出力する。
一方、S620に移行すると、制御部60は、当該画像データ生成出力処理の動作モードが分割距離画像モードであるか否かを判断し、動作モードが分割距離画像モードであると判断すると(S620でYes)、S670に移行し、動作モードが標準距離画像モードであると判断すると(S620でNo)、S630に移行する。
S630に移行すると、制御部60は、画素アレイ23を構成する画素セット25の内の一つを処理対象に選択し、選択した処理対象の画素セット25を構成する第1の画素生成ユニット27の出力値V1、第2の画素生成ユニット27の出力値V2、第3の画素生成ユニット27の出力値V3、及び第4の画素生成ユニット27の出力値V4を、出力データ記憶部30から読み出し、これらの出力値V1,V2,V3,V4に基づいて、被写体5までの距離Dを次式に従って算出する(S640)。
D=(1/2)×c×Tp
×(V2−V3)/(V1+V2−V3−V4) …(14)
尚、図19(a)は、標準距離画像モードでの距離Dの算出方法を示した説明図である。また、S640で上述のようにして距離Dを算出すると、制御部60は、S650に移行し、第一実施例のS150の処理と同様に、上記算出した距離Dを、画素の濃淡を表す濃淡値に変換する。そして、この濃淡値を、距離Dを算出する元となった上記処理対象の画素セット25に対応した座標の画素値として、RAMの距離画像データ生成領域に書き込む。
この他、S650での処理を終えると、制御部60は、画素アレイ23が有する全画素セット25について、距離Dを算出し、距離Dに応じた画素値の書き込みが完了したか否かを判断し(S660)、全画素セット25について画素値の書き込みが完了していないと判断した場合には(S660でNo)、S630に移行して、画素値の書き込みが未完了の画素セット25を一つ、処理対象に選択する。そして、選択した処理対象の画素セット25に関して、S640,S650の処理を実行し、その後、再び、S660に移行して、全画素セット25について画素値の書き込みが完了したか否かを判断する。
このような動作を繰返し実行することにより、制御部60は、k=1,2,…,K、l=1,2,…,Lの範囲で、座標(k,l)の画素セット25の出力値から距離Dを算出し、この距離Dに対応する濃淡値を、座標(k,l)の画素値としてRAMに書き込み、K行L列の距離画像データを完成させる。
そして、全画素セット25についての画素値の書き込みが完了し、K行L列の距離画像データが完成した場合には(S660でYes)、S730に移行し、この距離画像データを、インタフェース部70を通じて出力し、この距離画像データをデータ処理装置80に提供する。その後、当該画像データ生成出力処理を一旦終了する。また、信号生成部140における信号出力動作の周期に合わせて、再び、当該画像データ生成出力処理をS610から実行し、繰返し、画像データを生成・出力する。
一方、S670に移行すると、制御部60は、画素アレイ23を構成する画素セット25の内の一つを処理対象に選択し、選択した処理対象の画素セット25を構成する第1の画素生成ユニット27の出力値V1、第2の画素生成ユニット27の出力値V2を、出力データ記憶部30から読み出し、この出力値V1,V2と、RAMの背景光データ記憶領域に記憶された当該第1の画素生成ユニット27の出力値C1及び第2の画素生成ユニット27の出力値C2と、に基づき、次式に従って、被写体5までの距離Dを算出する(S680)。
D=(1/2)×c×Tp
×(V2−C2)/(V1+V2−C1−C2) …(15)
また、この処理を終えると、制御部60は、算出した距離Dを、画素の濃淡を表す濃淡値に変換すると共に、この濃淡値を、距離Dを算出する元となった画素生成ユニット27の組に対応する座標の画素値として、RAMの距離画像データ生成領域に書き込む(S690)。
即ち、本実施例では、処理対象の画素セット25が座標(k,l)の画素セット25である場合、座標(k,l)の画素セット25が有する第1の画素生成ユニット27の出力値V1及び第2の画素生成ユニット27の出力値V2と、背景光データ記憶領域に記憶された、通常画像モードの動作時に座標(k,l)の画素セット25における第1の画素生成ユニット27が出力した値C1及び第2の画素生成ユニット27が出力した値C2と、に基づいて、式(15)に従い、距離Dを算出すると共に、算出した距離Dに対応する濃淡値を、座標(2×k−1,l)の画素値として、RAMの距離画像データ生成領域に書き込む。
この他、上述のようにしてS690の処理を終えると、制御部60は、S700に移行し、上記処理対象の画素セット25を構成する第3の画素生成ユニット27の出力値V3、第4の画素生成ユニット27の出力値V4を、出力データ記憶部30から読み出し、この出力値V3,V4と、RAMの背景光データ記憶領域に記憶された当該第3の画素生成ユニット27の出力値C3及び第4の画素生成ユニット27の出力値C4と、に基づき、次式に従って、被写体5までの距離Dを算出する。
D=(1/2)×c×Tp
×(V4−C4)/(V3+V4−C3−C4) …(16)
尚、図19(b)は、分割距離画像モードでの距離Dの算出方法を示した説明図である。
また、この処理を終えると、制御部60は、算出した距離Dを、画素の濃淡を表す濃淡値に変換すると共に、この濃淡値を、距離Dを算出する元となった画素生成ユニット27の組に対応した座標の画素値として、RAMの距離画像データ生成領域に書き込む(S710)。
即ち、本実施例では、処理対象の画素セット25が座標(k,l)の画素セット25である場合、座標(k,l)の画素セット25が有する第3の画素生成ユニット27の出力値V3及び第4の画素生成ユニット27の出力値V4と、背景光データ記憶領域に記憶された通常画像モードの動作時に座標(k,l)の画素セット25における第3の画素生成ユニット27が出力した値C3及び第4の画素生成ユニット27が出力した値C4と、に基づいて、式(16)に従い、距離Dを算出すると共に、算出した距離Dに対応する濃淡値を、座標(2k,l)の画素値として、RAMの距離画像データ生成領域に書き込む。
そして、このS710での処理を終えると、制御部60は、S720に移行し、画素アレイ23が有する全画素セット25について、距離Dを算出し、距離Dに応じた画素値の書き込みが完了したか否かを判断し、全画素セット25について画素値の書き込みが完了していない場合には(S720でNo)、S670に移行して、画素値の書き込みが未完了の画素セット25を一つ、処理対象に選択する。そして、選択した処理対象の画素セット25に関して、S680〜S710の処理を実行し、その後、再び、S720に移行して、全画素セット25について画素値の書き込みが完了したか否かを判断する。
このような動作を繰返し実行することにより、制御部60は、k=1,2,…,K、l=1,2,…,Lの範囲で、座標(k,l)の画素セット25の出力値V1,V2から距離Dを算出し、この距離Dに対応する濃淡値を、座標(2×k−1,l)の画素値としてRAMに書き込むと共に、座標(k,l)の画素セット25の出力値V3,V4から距離Dを算出し、この距離Dに対応する濃淡値を、座標(2×k,l)の画素値としてRAMに書き込み、(2×K)行L列の距離画像データを完成させる。
そして、全画素セット25についての画素値の書き込みが完了し、(2×K)行L列の距離画像データが完成した場合には(S720でYes)、S730に移行し、この距離画像データを、インタフェース部70を通じて出力し、この距離画像データをデータ処理装置80に提供する。その後、当該画像データ生成出力処理を一旦終了する。また、信号生成部140における信号出力動作の周期に合わせて、再び、当該画像データ生成出力処理をS610から実行し、繰返し、画像データを生成・出力する。
即ち、制御部60は、動作モードが通常画像モードに設定されている場合、信号生成部140の信号出力動作に合わせて、繰返し、当該信号出力動作により出力データ記憶部30に記憶された出力データを読み出し、平面画像データを生成・出力する。また、制御部60は、動作モードが標準距離画像モードに設定されている場合、信号生成部140の信号出力動作に合わせて、繰返し、標準解像度の距離画像データを生成・出力する。また、制御部60は、動作モードが分割距離画像モードに設定されている場合、信号生成部140の信号出力動作に合わせて、繰返し、高解像度の距離画像データを生成・出力する。
以上が、第四実施例の画像データ生成装置100の動作内容である。第四実施例の画像データ生成装置100によれば、距離算出に用いる画素生成ユニット27の組を切り替えて、距離画像データの解像度を、外部からの指令に従い、高解像度に切り替える。従って、本実施例によれば、好適な解像度の距離画像データを、外部のデータ処理装置80に提供することができる。
尚、本発明の距離画像データ生成手段は、本実施例において、信号生成部140が有する標準距離画像生成用信号出力部141及び分割距離画像生成用信号出力部143の信号出力動作と、制御部60が実行するS620〜S730の処理と、により実現されている。また、平面画像データ生成手段は、信号生成部140が有する通常画像生成用信号出力部45の信号出力動作と、制御部60が実行するS613の処理と、により実現されている。また、作動制御手段の動作は、制御部60のモード切替機能60bにて実現されている。その他、キャンセル量設定手段は、制御部60が実行するS617の処理にて実現されている。
以上、本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。
例えば、上記実施例では、発光部10が発光ダイオードを備えるものとしたが、発光部10は、発光ダイオード(LED)に代えて、レーダダイオード(LD)を備える構成にされてもよい。
第一実施例の画像データ生成装置1の構成を表すブロック図である。
受光部20が備える光電センサ21の構成を表すブロック図である。
光電センサ21に配列された画素セット25の構成を表すブロック図である。
画素セット25を構成する画素生成ユニット27の構成を表す回路図である。
光電センサ21における信号線の配線態様を表す説明図である。
距離画像生成用信号出力部41が出力する信号のパターンを表すタイムチャートである。
通常画像生成用信号出力部45が出力する信号のパターンを表すタイムチャートである。
制御部60が実行する画像データ生成出力処理を表すフローチャートである。
結合機能が無効にされているときの距離画像データの生成方法を示す説明図である。
結合機能が有効にされているときの距離画像データの生成方法を示す説明図である。
第二実施例において実行される画像データ生成出力処理の一部を抜粋して示したフローチャートである。
制御部60が実行する平滑化処理を表すフローチャートである。
距離D0と平滑化処理において設定される距離D1〜D8との関係を表す説明図である。
第三実施例において距離画像生成用信号出力部41が出力する信号のパターンを表すタイムチャートである。
第四実施例の画像データ生成装置100の構成を表すブロック図である。
標準距離画像生成用信号出力部141が出力する信号のパターンを表すタイムチャートである。
分割距離画像生成用信号出力部143が出力する信号のパターンを表すタイムチャートである。
第四実施例において、制御部60が実行する画像データ生成出力処理を表すフローチャートである。
標準距離画像モードでの距離Dの算出方法を示した説明図(a)、及び、分割距離画像モードでの距離Dの算出方法を示した説明図(b)である。
符号の説明
1…画像データ生成装置、5…被写体、10…発光部、20…受光部、21…光電センサ、23…画素アレイ、25…画素セット、27…画素生成ユニット、29…書込処理部、30…出力データ記憶部、40…信号生成部、41…距離画像生成用信号出力部、45…通常画像生成用信号出力部、50…クロック信号生成部、60…制御部、60a…画像データ生成出力機能、60b…モード切替機能、70…インタフェース部、80…データ処理装置、100…画像データ生成装置、140…信号生成部、141…標準距離画像生成用信号出力部、143…分割距離画像生成用信号出力部、PD…光電変換素子、FD…フローティングディフュージョン、Tr1…電荷排出トランジスタ、Tr2…電荷転送トランジスタ、Tr3…ソースフォロワトランジスタ、Tr4…出力トランジスタ、Tr5…リセットトランジスタ、L_R,L_TG[1]〜L_TG[4],L_DG[1]〜L_DG[4]…信号線、T_R,T_TG[1]〜T_TG[4],T_DG[1]〜T_DG[4],T_RG[1]〜T_RG[4]…入力電極、T_SG[1]〜T_SG[4]…出力電極、Ta_R,Ta_TG[1]〜Ta_TG[4],Ta_DG[1]〜Ta_DG[4],Ta_RG…入力端子