測距装置および測距方法並びにプログラム
【課題】精度良くかつ高速に測距を行うことができるようにする。
【解決手段】測距光源16が、所定周期にて強度が時間的に変化するように変調された第1の測距光、および所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する。第1の測距光を発光し、第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、複数の第1の受光信号に基づいて、第1の測距光と第1の測距光の反射光との位相差を算出し、位相差に基づいて第2の測距光の位相を第1の測距光とは異なるように変更して第2の測距光を発光する。第2の測距光の変調周期における位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、複数の第1の受光信号に基づいて、距離情報の算出に使用する第2の受光信号を選択する。距離画像生成部31が、選択した第2の事項信号を用いて距離情報を算出する。
【解決手段】測距光源16が、所定周期にて強度が時間的に変化するように変調された第1の測距光、および所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する。第1の測距光を発光し、第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、複数の第1の受光信号に基づいて、第1の測距光と第1の測距光の反射光との位相差を算出し、位相差に基づいて第2の測距光の位相を第1の測距光とは異なるように変更して第2の測距光を発光する。第2の測距光の変調周期における位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、複数の第1の受光信号に基づいて、距離情報の算出に使用する第2の受光信号を選択する。距離画像生成部31が、選択した第2の事項信号を用いて距離情報を算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体の立体形状を表す距離画像を生成するための測距装置および方法並びに測距方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【0002】
光の反射を用いて被写体までの距離の測定(測距)を行うTOF(Time Of Flight)方式の測距方法を用いて、撮影装置から被写体までの距離を測定して、被写体の立体形状を表す距離画像を生成することが行われている(特許文献1参照)。TOF方式を用いた測距は、具体的には強度変調された測距光を被写体に向けて照射し、この変調周期における0、π/2、π、3π/2の4つの位相において反射光を受光して受光光量に応じた受光信号を得、受光信号に基づいて測距光と反射光との位相の遅れ(位相差)を、撮影装置に設けられた撮像素子の受光素子毎に検出して距離情報を算出し、この距離情報を各画素の画素値とする被写体の立体形状を表す距離画像を生成するものである。
【0003】
また、TOF方式により測距を行う際に、強度が時間的に変化する正弦波、三角波あるいは鋸波状に強度変調された第1の測距光と、強度が一定のパルス状に強度変調された第2の測距光を使用して測距精度を向上させる手法も提案されている(特許文献2参照)。特許文献2に記載された手法は、第1の測距光により得られる第1の受光信号を第2の測距光により得られる第2の受光信号により除算することにより、距離情報を算出するものである。
【特許文献1】特開2006−84429号公報
【特許文献1】特開2001−313958号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、強度が時間的に変化するように強度変調された測距光を使用する場合、その変調周期の長さを最大値とする位相差を算出することができるため、比較的長いレンジにより測距を行うことができるが、測距光の変調の位相によっては、反射光の強度が小さくなる。このため、外光の影響により得られる受光信号のS/Nが低下してしまうことから、測距の精度はそれほど高いものではない。一方、パルス状に強度変調された測距光を使用する場合、反射光の強度は一定となるためS/Nの低下が少なく、精度良く測距を行うことができる。しかしながら、パルス光を使用する場合、パルス光が発光している期間を最大値とする位相差しか算出することができないため、測距を行うことができるレンジが狭く、ある限られた範囲のみしか測距を行うことができない。
【0005】
ここで、上記特許文献2に記載された手法においては、第1の測距光により得られる受光信号を第2の測距光により得られる受光信号により除算して距離情報を算出しているため、強度が時間的に変化するように強度変調された第1の測距光による第1の受光信号により測距が行われることとなる。このため、特許文献2に記載された手法では測距の精度はそれほど高いものではない。
【0006】
本発明は上記事情に鑑みなされたものであり、精度良くかつ高速に測距を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明による測距装置は、所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段と、
前記第1の測距光を発光し、該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出し、該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光し、該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択するよう、前記測距光発光手段、前記撮像手段、前記受光制御手段および前記距離情報算出手段を制御する制御手段とを備えたことを特徴とするものである。
【0008】
「強度が時間的に変化するように強度変調」するとは、時間の経過とともに強度が連続して変化するように第1の測距光を変調することを意味する。具体的には、正弦波状、三角波状、鋸波状に強度を変調することにより、強度が時間的に変化するように強度変調することができる。
【0009】
ここで、強度が時間的に変化するように変調された第1の測距光を使用する場合、比較的長いレンジにより測距を行うことができるが、変調の位相によっては反射光の強度が小さくなる。このため、外光の影響により得られる受光信号のS/Nが低下してしまうことから、測距の精度はそれほど高いものではない。一方、強度が一定のパルス状に強度変調された第2の測距光を使用する場合、反射光の強度は一定となるためS/Nの低下が少なく、精度良く測距を行うことができる。しかしながら、測距を行うことができるレンジがパルス幅により制限されてしまうため、ある限られた範囲のみしか測距を行うことができない。
【0010】
本発明によれば、第1の測距光の反射光から得られる複数の第1の受光信号に基づいて、第2の測距光の反射光から得られる複数の第2の受光信号のうち、距離情報の算出に使用する受光信号を選択するようにしたものである。ここで、複数の第1の受光信号により第1の測距光と第1の測距光の反射光との位相差を算出でき、この位相差により被写体までの大まかな距離情報を算出できるものである。このため、第1の受光信号に基づいて選択した第2の受光信号により、第1の受光信号を用いて算出できる距離情報と同一の距離レンジにおいて、より正確に位相差を算出できるため、より正確な距離を表す距離情報を算出することができることとなる。
【0011】
また、第1の測距光と反射光との位相差に基づいて、第2の測距光の位相を第1の測距光の位相とは異なるように変更して第2の測距光を発光し、位相差に応じた複数の受光期間において第2の受光信号を取得しているため、第1の受光信号を取得した受光期間のすべてにおいて第2の受光信号を取得する必要がなくなる。このため、距離情報の算出を迅速に行うことができる。したがって、本発明によれば、被写体までの距離に拘わらず正確かつ高速に測距を行うことができる。
【0012】
なお、本発明による測距装置においては、前記測距光発光手段を、前記複数の受光素子について算出した複数の位相差のうち、最小位相差分前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相から早めて、前記第2の測距光を発光する手段とし、
前記受光制御手段を、前記複数の位相差のうち、最大位相差と前記最小位相差との差分が大きいほど、より多くの受光期間において前記第2の受光信号を取得する手段としてもよい。
【0013】
これにより、位相差が最小となる第2の測距光の反射光の位相を第1の測距光の変調の位相と一致させることができるため、差分位相差に応じた第2の受光信号を取得する受光期間の設定を容易に行うことができる。
【0014】
また、本発明による測距装置においては、前記距離情報算出手段を、前記位相差と前記最小位相差との差分位相差に基づいて、前記複数の第2の受光信号のうち、前記距離情報の算出に使用する第2の受光信号を選択する手段としてもよい。
【0015】
これにより、差分位相差に応じて、より容易に第2の受光信号を取得する期間を設定することができる。
【0016】
また、本発明による測距装置においては、前記測距光発光手段を、前記第2の測距光を、前記第1の測距光の変調周期と同一周期にて、該第1の測距光の変調周期よりも短い期間発光する手段としてもよい。
【0017】
これにより、第1および第2の測距光の発光の制御を容易に行うことができる。
【0018】
また、本発明による測距装置においては、前記測距光発光手段を、前記第2の測距光を前記第1の測距光の変調周期の1/4の期間発光する手段とし、
前記受光制御手段を、前記撮像手段の受光期間を、前記第1の測距光の変調周期の1/4期間または1/2期間となるように制御する手段としてもよい。
【0019】
これにより、第1および第2の測距光の発光の制御、並びに第1および第2の測距光の反射光の受光の制御をより容易に行うことができる。
【0020】
また、本発明による測距装置においては、前記距離情報算出手段を、前記選択した前記第2の受光信号が複数の受光期間に跨る場合、信号レベルが大きい受光期間側の第2の受光信号を前記距離情報の算出に使用する手段としてもよい。
【0021】
ここで、信号レベルが大きいということは外光によるノイズの影響が小さいことを意味する。したがって、信号レベルが大きい側の第2の受光信号を距離情報の算出に使用することにより、より正確に距離情報を算出することができる。
【0022】
また、本発明による測距装置においては、前記距離情報算出手段を、前記複数の第1の受光信号に基づいて外光成分を表す外光信号を算出し、該外光信号により、前記選択した第2の受光信号を補正する手段としてもよい。
【0023】
これにより、より正確に距離情報を算出することができる。
【0024】
本発明による測距方法は、所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段とを備えた測距装置における測距方法であって、
前記第1の測距光を発光し、
該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、
前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出し、
該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光し、
該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、
前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択することを特徴とするものである。
【0025】
なお、本発明による測距方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の第1の実施形態による測距装置の構成を示す概略ブロック図である。図1に示すように第1の実施形態による測距装置1は撮像部2を備える。
【0027】
撮像部2は、レンズ10、絞り11、シャッタ12、CCD13、アナログフロントエンド(AFE)14およびA/D変換部15を備える。
【0028】
レンズ10は、被写体にピントを合わせるためのフォーカスレンズ、ズーム機能を実現するためのズームレンズ等の複数の機能別レンズにより構成され、不図示のレンズ駆動部によりその位置が調整される。
【0029】
絞り11は、不図示の絞り駆動部により、予め定められた絞り値データに基づいて絞り径の調整が行われる。
【0030】
シャッタ12はメカニカルシャッタであり、予め定められたシャッタスピードに応じて駆動される。
【0031】
CCD13は、多数の受光素子を2次元的に配列した光電面を有する撮像素子であり、被写体光がこの光電面に結像して光電変換されてアナログ撮像信号である受光信号が取得される。なお、CCD13は、後述する撮像制御部19から与えられる電子シャッタ駆動信号によって受光期間が制御される。また、CCD13の前面には、後述する測距光の波長域の光を透過するフィルタ13Aが配設されているため、CCD13の受光素子は測距光の反射光のみを受光することができる。ここで、本実施形態においては、測距光として赤外光を用いるものとする。
【0032】
AFE14は、CCD13から出力される受光信号に対して、受光信号のノイズを除去する処理、および受光信号のゲインを調節する処理(以下アナログ処理とする)を施す。
【0033】
A/D変換部15は、AFE14によりアナログ処理が施された受光信号をデジタル信号に変換する。
【0034】
また、撮像部2は、被写体に向けて赤外光からなる測距光を照射するための測距光源16を備える。
【0035】
図2は測距光源の構成を示す概略ブロック図である。図2に示すように測距光源16は、赤外光からなる測距光を発光するLEDが2次元状に複数配設された面光源16A、面光源16Aから発せられる測距光を強度変調する変調部16B、測距光を変調するための波形データを記憶するメモリ16C、およびメモリ16Cから波形データを読み出し、波形データをD/A変換して変調部16Bに入力するメモリ制御部16Dを備える。
【0036】
メモリ制御部16Dは、後述する撮像制御部19からの指示により、所定の波形データを読み出してD/A変換して変調部16Bに入力する。変調部16Bは入力された波形データにより表される波形と一致するように面光源16Aから発光される測距光の強度を変調する。
【0037】
ここで、本実施形態においては、メモリ16Cには測距光を正弦波状に強度変調するための正弦波データ、および測距光をパルス波状に強度変調するためのパルス波データが記憶されている。なお、正弦波データおよびパルス波データは周期が同一であり、パルスの期間は正弦波の周期の1/4の期間であるものとする。また、正弦波データにより強度変調される測距光を第1の測距光、パルス波データにより強度変調される測距光を第2の測距光と称するものとする。
【0038】
また、撮像部2は、CCD13、AFE14および測距光源16の駆動を制御するための撮像制御部19を備える。具体的には、撮像制御部19は、CPU32からの指示により、変調部18に変調の指示を行って測距光照射部3から第1および第2の測距光を発光させ、これとタイミングを合わせて被写体による測距光の反射光を受光し、受光光量に応じた受光信号を出力するよう撮像部2の各部を制御する。なお、第1および第2の測距光の発光、並びにCCD13の各受光素子からの受光信号の取得の詳細な制御については後述する。
【0039】
また、測距装置1は、撮影条件設定部22、画像処理部23、圧縮/伸長処理部24、フレームメモリ25、メディア制御部26、内部メモリ27、および表示制御部28を備える。
【0040】
撮影条件設定部22は、予め定められた焦点距離、絞り値およびシャッタ速度を記憶しており、撮影を行う際に、焦点距離、絞り値およびシャッタ速度を撮像部2に出力する。
【0041】
画像処理部23は、後述するように生成された距離画像の画像データに対して、階調補正、シャープネス補正等の画像処理を施す。
【0042】
圧縮/伸長処理部24は、画像処理部23によって画像処理が施された距離画像の画像データに対して、例えば、JPEG等の圧縮形式で圧縮処理を行い、画像ファイルを生成する。この画像ファイルには、Exifフォーマット等に基づいて、撮影日時等の付帯情報が格納されたタグが付加される。
【0043】
フレームメモリ25は、撮像部2が取得した受光信号に対して、前述の画像処理を含む各種処理を行う際に使用する作業用メモリである。
【0044】
メディア制御部26は、記録メディア29にアクセスして距離画像の画像ファイルの書き込みと読み込みの制御を行う。
【0045】
内部メモリ27は、測距装置1において設定される各種定数、およびCPU32が実行するプログラム等を記憶する。
【0046】
表示制御部28は、フレームメモリ25に格納された画像データをモニタ30に表示させたり、記録メディア29に記録されている画像をモニタ30に表示させたりするためのものである。
【0047】
また、測距装置1は、距離画像生成部31およびCPU32を備える。
【0048】
距離画像生成部31は、撮像部2が取得した受光信号を用いて被写体上の各点の測距装置1からの距離情報D1を、CCD13上における受光素子毎に算出する。以下、距離情報D1の算出について説明する。
【0049】
距離画像生成部31は、強度変調された第1の測距光が発光されてから被写体により反射された反射光を受光するまでの時間(すなわち光の飛行時間)に基づいて、距離情報D1を算出する。
【0050】
図3は距離情報を算出するための位相差の算出を説明するための図である。図3に示すように、測距光源16から発光される第1の測距光の強度は曲線K1に示すように正弦波状に変化するため、CCD13のある受光素子により受光した反射光の受光光量も曲線K2のように正弦波状に変化するが、光の飛行時間に相当する位相差tdaが発生する。
【0051】
位相差tdaは、第1の測距光の複数のタイミングで求めた反射光の受光光量を用いて計算することができる。本実施形態においては、第1の測距光における0、π/2、π、3π/2の位相において、第1の測距光の1/4周期に相当する受光期間Tw、パルス状に受光した反射光の受光光量を用いて位相差tdaを算出する。
【0052】
ここで、第1の測距光における連続した0、π/2、π、3π/2の位相において受光した反射光の受光光量がそれぞれF1a、F2a、F3a、F4aであるとする。なお、受光光量F1a、F2a、F3a、F4aを求める間に位相差tdaは変化せず、かつ被写体の反射率にも変化がないものとし、時刻tにおいてCCD13の各受光素子で受光される光の強度がA・sin(ωt+δ)+Bで表されるものとする。ここで、Aは振幅、Bは外光成分、ωは角振動数、δは位相である。これにより、受光素子で受光する受光光量F1a、F2a、F3a、F4aは、次のように表すことができる。なお、受光光量は測距光における0、π/2、π、3π/2の位相において各受光素子から出力される受光信号に相当する。また、位相差tdaの算出には、上述した4つの受光光量すなわち4つの受光信号F1a、F2a、F3a、F4aをCCD13から取得することが必要であるため、すべての受光素子が4つの受光信号F1a、F2a、F3a、F4aを取得するまで、第1の測距光の発光およびCCD13による反射光の受光が行われる。
【0053】
F1a=A・sin(δ)+B
F2a=A・sin(π/2+δ)+B
F3a=A・sin(π+δ)+B
F4a=A・sin(3π/2+δ)+B
ここで、δ=−tdaであるから、F1a=−A・sin(tda)+B、F2a=A・cos(tda)+B、F3a=A・sin(tda)+B、F4a=−A・cos(tda)+Bであるため、各受光光量(受光信号)F1a、F2a、F3a、F4aと位相差tdaとの関係は、次式のようになる。
【0054】
tda=tan-1{(F3a−F1a)/(F2a−F4a)} (1)
なお、位相差tdaを使用することにより、距離情報Dを下記の式(2)により算出することができる。
【0055】
D=c・tda/(4πF) (2)
cは光速、Fは周波数(=ω/2π)である。
【0056】
ここで、4つの受光信号F1a、F2a、F3a、F4aは各受光素子において、第1の測距光における0、π/2、π、3π/2の位相にてそれぞれ受光期間を区切って取得すればよいが、CCD13の各受光素子に4つの電荷蓄積部を設け、第1の測距光の1周期に相当する1つの受光期間において、4つの電荷蓄積部のそれぞれにより4つの受光信号を取得するようにしてもよい。
【0057】
また、第1の実施形態においては、距離画像生成部31は、位相差tdaを算出した後、第1の測距光に代えて第2の測距光を発光する。ここで、第2の測距光は第1の測距光と周期が同一であり、発光期間は第1の測距光の1/4、すなわちTwであるため、反射光も期間Twのパルス状の光となる。なお、第2の測距光の反射光についても、第1の測距光の反射光と同様に位相差が発生する。
【0058】
なお、距離画像生成部31は、すべての受光素子について算出した位相差tdaのうち最小位相差t1を算出し、撮像部2に出力する。撮像部2の撮像制御部19は、発光開始位相を最小位相差t1分早めて、測距光源16から第2の測距光を発光する。すなわち、発光開始位相を変更しない場合には、第2の測距光は図3の破線に示すように、第1の測距光の発光開始位相と同一の発光開始位相にて発光するが、最小位相差t1分発光開始位相を早めることにより、図3の実線に示すように第2の測距光を発光する。
【0059】
さらに、距離画像生成部31は、位相差tdaの最大位相差t2を求め、最大位相差t2と最小位相差t1との差分位相差tr(=t2−t1)を算出し、撮像部2に出力する。撮像部2の撮像制御部19は、差分位相差trに応じて、第2の測距光の発光の1周期において、第1の測距光の反射光と同一の受光期間(すなわち第1の測距光の変調周期の0、π/2、π、3π/2の位相に相当する受光期間Tw)のうち、いずれの受光期間において反射光を受光するかを設定する。
【0060】
図4は受光期間の設定を説明するための図である。第2の測距光は第1の測距光を用いて算出した最小位相差t1分、第1の測距光よりも発光開始位相が早い。このため、最も早く受光される反射光は、第2の測距光と位相が最小位相差t1ずれることから、反射光の位相は、図4に示すように0の位相における第1の測距光の1/4周期に相当する期間Twに相当するものとなる。
【0061】
一方、差分位相差trは第1の測距光の1変調周期未満の値となるため、第2の測距光の反射光は、第1の測距光の1の変調周期に相当する期間において受光すればよいこととなる。したがって、差分位相差trに応じて第1の測距光の変調周期の0、π/2、π、3π/2のうちのいずれの位相に対応する受光期間Twにおいて受光をすればよいかが分かることとなる。
【0062】
具体的には、tr≦T/4(Tは第1の測距光の1変調周期)の場合は、第2の測距光の反射光の位相は0〜πにあるものとなるため、0およびπ/2の2つの受光期間Twにおいて反射光を受光すればよいこととなる。また、T/4<tr≦T/2の場合は、第2の測距光の反射光の位相は図4の差分位相差tr1の場合に示すように、0〜3π/2にあるものとなるため、0、π/2およびπの3つの受光期間Twにおいて反射光を受光すればよいこととなる。また、T/2<tr≦Tの場合は、図4の差分位相差tr2の場合に示すように第2の測距光の反射光の位相は、0〜2πにあるものとなるため、0、π/2、π、3π/2のすべての受光期間Twにおいて反射光を受光すればよいこととなる。
【0063】
なお、第1の測距光の変調周期の0、π/2、π、3π/2の位相に相当する受光期間Twにおいて、第2の測距光の反射光を受光することにより得られる受光信号を受光信号F1b、F2b、F3b、F4bとする。
【0064】
また、距離画像生成部31は、受光素子毎に位相差tdaと最小位相差t1との差分位相差ts(ts=tda−1)を算出し、差分位相差tsに基づいて、受光信号F1b、F2b、F3b、F4bのうち、位相差tdbの算出に使用する受光信号を選択する。すなわち、位相差tdaがTw以内であれば、第2の測距光の反射光は第1の測距光の0〜πの位相の間に存在することから、受光信号F1b、F2bを選択する。そして下記の式(3)により位相差tdbを算出する。
【0065】
tdb=Tw×F2b/(F1b+F2b) (3)
差分位相差tsがTwより大きく2Tw以内であれば、第2の測距光の反射光は第1の測距光のπ/2〜3π/2の位相の間に存在することから、距離画像生成部31は受光信号F2b、F3bを選択する。そして下記の式(4)により位相差tdbを算出する。
【0066】
tdb=Tw+Tw×F3b/(F2b+F3b) (4)
差分位相差tsが2Twより大きく3Tw以内であれば、第2の測距光の反射光は第1の測距光のπ〜2π(すなわち0)の位相の間に存在することから、距離画像生成部31は受光信号F3b、F4bを選択する。そして下記の式(5)により位相差tdbを算出する。
【0067】
tdb=2Tw+Tw×F4b/(F3b+F4b) (5)
さらに、差分位相差tsが3Twより大きく4Tw以内であれば、第2の測距光の反射光は第1の測距光の3π/2〜π/2(次の周期)の位相の間に存在することから、距離画像生成部31は受光信号F4b、F1bを選択する。そして下記の式(6)により位相差tdbを算出する。
【0068】
tdb=3Tw+Tw×F1b/(F4b+F1b) (6)
そして、位相差tdbを用いて下記の式(7)により受光素子毎に被写体までの距離を表す距離情報D1を算出する。
【0069】
D1=c×(tdb+t1)/2 (7)
なお、cは光速である。
【0070】
さらに、距離画像生成部31は、上述したように受光素子単位で算出した距離情報D1を各画素の画素値とする距離画像S1を生成する。
【0071】
なお、差分位相差がtr≦T/4の場合には、2つの受光信号F1b、F2bのみしか取得されないが、ts≦Twとなるため、必ず式(3)により位相差tdbが算出される。また、差分位相差がT/4<tr≦T/2の場合は、3つの受光信号F1b、F2b、F3bのみしか取得されないが、ts≦2Twとなるため、必ず式(3)、(4)により位相差tdbが算出される。
【0072】
CPU32は、入出力部33からの信号に応じて測距装置1の各部を制御する。
【0073】
データバス34は、測距装置1を構成する各部およびCPU32に接続されており、測距装置1における各種データおよび各種情報のやり取りを行う。
【0074】
次いで、第1の実施形態において行われる処理について説明する。図5および図6は第1の実施形態において行われる処理を示すフローチャートである。
【0075】
撮影指示が行われることによりCPU32が処理を開始し、撮像部2がCPU32からの指示により、測距光源16から第1の測距光を被写体に向けて発光し(ステップST1)、さらに第1の測距光の被写体による反射光を第1の測距光における連続した0、π/2、π、3π/2の位相において受光して、4つの受光信号F1a、F2a、F3a、F4aを取得する(ステップST2)。次いで、距離画像生成部31が、4つの受光信号F1a、F2a、F3a、F4aから上記式(1)により、位相差tdaを受光素子単位で算出する(ステップST3)。さらに、距離画像生成部31は位相差tdaの最大位相差t2と最小位相差t1との差分位相差trを算出する(ステップST4)。
【0076】
そして、撮像部2の撮像制御部19が、第2の測距光の発光開始位相を第1の測距光よりも最小位相差t1分早くなるように設定し(ステップST5)、差分位相差trの範囲を判定する(ステップST6)。
【0077】
tr≦T/4の場合は、撮像制御部19は、位相が0およびπ/2の受光期間Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST7)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST8)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2の位相において受光して、2つの受光信号F1b、F2bを取得する(ステップST9)。
【0078】
また、T/4<tr≦T/2の場合は、撮像制御部19は、位相が0、π/2およびπの受光期間Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST10)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST8)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2、πの位相において受光して、3つの受光信号F1b、F2b、F3bを取得する(ステップST11)。
【0079】
また、T/2<tr≦Tの場合は、撮像制御部19は、位相が0、π/2、π、3π/2のすべての受光期間Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST12)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST8)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2、π、3π/2の位相において受光して、4つの受光信号F1b、F2b、F3b、F4bを取得する(ステップST13)。
【0080】
続いて、距離画像生成部31が、各受光素子について位相差tdaと最小位相差t1との差分位相差tsを算出し(ステップST14)、差分位相差tsの範囲を判定する(ステップST15)。
【0081】
ts≦Twの場合は上記式(3)により位相差tdbを算出する(ステップST16)。Tw<ts≦2Twの場合は上記式(4)により位相差tdbを算出する(ステップST17)。2Tw<ts≦3Twの場合は上記式(5)により位相差tdbを算出する(ステップST18)。そして、3Tw<ts≦4Twの場合は上記式(6)により位相差tdbを算出する(ステップST19)。
【0082】
次いで、距離画像生成部31は上記式(7)により距離情報D1を算出し(ステップST20)、距離情報D1を各画素の画素値とする距離画像S1を生成する(ステップST21)。そして、メディア制御部26が距離画像S1の画像データを記録メディア29に記録し(ステップST22)、処理を終了する。
【0083】
ここで、正弦波のように強度が時間的に変化するように変調された第1の測距光を使用する場合、比較的長いレンジにより測距を行うことができるが、変調の位相によっては反射光の強度が小さくなる。例えば図3に示すπ/2の位相においては、反射光の強度は非常に小さくなる。このため、第1の測距光を使用する場合、得られる受光信号のS/Nが外光の影響により低下してしまうことから、測距の精度はそれほど高いものではない。
【0084】
一方、強度が一定のパルス状に強度変調された第2の測距光を使用する場合、反射光の強度は一定となるためS/Nの低下が少なく、精度良く測距を行うことができる。しかしながら、測距を行うことができるレンジがパルス幅により制限されてしまうため、ある限られた範囲のみしか測距を行うことができない。
【0085】
第1の実施形態によれば、第1の測距光の反射光から得られる複数の受光信号F1a、F2a、F3a、F4aに基づいて、第2の測距光の反射光から得られる複数の第2の受光信号F1b、F2b、F3b、F4bのうち、距離情報D1の算出に使用する受光信号を選択するようにしたものである。ここで、複数の第1の受光信号F1a、F2a、F3a、F4aにより第1の測距光と第1の測距光の反射光との位相差tdaが分かることとなる。位相差tdaは被写体までの大まかな距離情報を算出できるものであり、位相差tdaから求めた差分位相差tsにより距離情報D1の算出に使用する第2の受光信号F1b、F2b、F3b、F4bを選択することにより、位相差tdaにより求められる距離情報と同様の距離レンジにおいて、より正確に距離情報を算出することができる。したがって、第1の実施形態によれば、被写体までの距離に拘わらず正確に測距を行うことができる。
【0086】
また、第1の測距光の反射光から最小位相差t1を算出し、第2の測距光の発光開始位相を第1の測距光から最小位相差t1早めて第2の測距光を発光し、最大位相差t2と最小位相差t1との差分位相差trに応じた複数の受光期間において第2の受光信号を取得しているため、第1の受光信号を取得した受光期間のすべてにおいて第2の受光信号を取得する必要がなくなる。例えば、第2の測距光の反射光をすべての位相において受光した場合、第1の測距光の受光と併せて8位相分、受光信号を取得する必要があるが、ts≦Twの場合およびTw<ts≦2Twの場合には、それぞれ6位相分および7位相分の受光信号のみを取得すればよいこととなる。
【0087】
したがって、本実施形態によれば、被写体までの距離に拘わらず正確かつ高速に測距を行うことができる。
【0088】
次いで、本発明の第2の実施形態について説明する。なお、第2の実施形態においては、第1の実施形態と行われる処理のみが異なり、装置の構成は第1の実施形態と同一であるため、構成についての詳細な説明は省略する。ここで、第2の測距光の反射光から得られる受光信号F1b、F2b、F3b、F4bは、2つの受光期間に跨るものであるが、反射光はパルス光であるため各受光期間における信号のレベルが異なるものとなる。例えば、図7に示すように、受光信号F1b、F2bが2つの受光期間に跨る場合、受光信号F1bの方が信号レベルが大きくなる。第2の実施形態においては、信号レベルが大きい側の受光期間の受光信号を用いて位相差tdbを算出するようにした点が第1の実施形態と異なる。
【0089】
図8は第2の実施形態において行われる処理を示すフローチャートである。なお、第2の実施形態においては、第1の実施形態におけるステップST14以降の処理のみが異なるため、ここでは第1の実施形態におけるステップST14以降の処理についてのみ説明する。ステップST14に続いて、距離画像生成部31が差分位相差tsの範囲を判定する(ステップST31)。
【0090】
ts≦Twの場合、さらにF1b≦F2bであるか否かを判定し(ステップST32)、ステップST32が肯定されると上記式(3)により位相差tdbを算出する(ステップST33)。ステップST32が否定されると、下記の式(8)により位相差tdbを算出する(ステップST34)。
【0091】
tdb=Tw×{1−F1b/(F1b+F2b)} (8)
Tw<ts≦2Twの場合、さらにF2b≦F3bであるか否かを判定し(ステップST35)、ステップST35が肯定されると上記式(4)により位相差tdbを算出する(ステップST36)。ステップST35が否定されると、下記の式(9)により位相差tdbを算出する(ステップST37)。
【0092】
tdb=Tw+Tw×{1−F2b/(F2b+F3b)} (9)
2Tw<ts≦3Twの場合、さらにF3b≦F4bであるか否かを判定し(ステップST38)、ステップST38が肯定されると上記式(5)により位相差tdbを算出する(ステップST39)。ステップST38が否定されると、下記の式(10)により位相差tdbを算出する(ステップST40)。
【0093】
tdb=2Tw+Tw×{1−F3b/(F3b+F4b)} (10)
そして、3Tw<ts≦4Twの場合、さらにF4b≦F1bであるか否かを判定し(ステップST41)、ステップST41が肯定されると上記式(6)により位相差tdbを算出する(ステップST42)。ステップST42が否定されると、下記の式(11)により位相差tdbを算出する(ステップST43)。
【0094】
tdb=3Tw+Tw×{1−F4b/(F4b+F1b)} (11)
次いで、距離画像生成部31は第1の実施形態におけるステップST20以降の処理を行い、処理を終了する。
【0095】
ここで、信号レベルが大きいということは外光によるノイズの影響が小さいことを意味する。したがって、信号レベルが大きい側の第2の受光信号を距離情報D1の算出に使用することにより、より正確に距離情報D1を算出することができる。
【0096】
次いで、本発明の第3の実施形態について説明する。なお、第3の実施形態においては、第1の実施形態と行われる処理のみが異なり、装置の構成は第1の実施形態と同一であるため、構成についての詳細な説明は省略する。ここで、第1および第2の測距光の反射光には外光成分が含まれる。外光成分は図9(a),(b)の斜線に示すように反射光に重畳されるため、受光信号は外光成分をも含むものとなっている。
【0097】
第1の測距光の反射光の受光信号からの位相差tdaの算出は、上記式(1)により行われるため、外光成分の影響は除去される。しかしながら、第2の測距光の反射光の受光信号からの位相差tdbの算出は、上記式(3)〜(6)により行われるため、外光成分の影響が含まれたものとなっている。第3の実施形態は外光成分の影響を除去して位相差tdbを算出するようにしたものである。
【0098】
ここで、第1の測距光の反射光の1周期分の受光信号は、F1a+F2a+F3a+F4aである。また、第1の測距光の反射光の振幅Aは、A=√{(F1a−F3a)2+(F2a−F4a)2}により算出される。振幅Aは、図9(a)に示すように、第1の測距光の反射光の1/4周期を一辺、外光成分を除く反射光の輝度の最大値を他の一辺とする長方形の積算値となるため、第1の測距光の反射光の1周期分の振幅Aの平均値Amは、Am=(A×4)/2となる。したがって、第1の測距光の反射光の1周期分の外光成分k′は、k′=(F1a+F2a+F3a+F4a)−(A×4)/2により算出される。一方、各受光信号の位相は反射光の1/4周期であるため、外光成分k′を1/4とすることにより、下記の式(12)に示すように外光成分kを算出できる。
【0099】
k={(F1a+F2a+F3a+F4a)−(A×4)/2}/4 (12)
距離画像生成部31は、上記式(12)により外光成分kを算出し、第2の測距光の反射光の受光信号F1b、F2b、F3b、F4bから外光成分kを減算し、これにより取得した受光信号F1b′、F2b′、F3b′、F4b′を用いて位相差tdbを算出する。
【0100】
図10は第3の実施形態において行われる処理を示すフローチャートである。なお、第3の実施形態においては、第1の実施形態におけるステップST9,ST11,ST13とステップST14との間の処理のみが異なるため、ここでは第1の実施形態におけるステップST9,ST11,ST13とステップST14との間の処理についてのみ説明する。
【0101】
ステップSTST9,ST11,ST13に続いて、距離画像生成部31が上記式(12)により、外光成分kを算出する(ステップST41)。そして、受光信号F1b、F2b、F3b、F4bを外光成分kにより補正し(ステップST42)、ステップST14の処理に進む。
【0102】
なお、第3の実施形態においては、第1の実施形態におけるステップST16,ST17,ST18,ST19の処理は、外光成分kにより補正された受光信号F1b′、F2b′、F3b′、F4b′により行われることとなる。
【0103】
これにより、外光成分の影響を除去して、より精度良く距離画像を生成することができる。
【0104】
なお、上記第3の実施形態においては、第1の実施形態において外光成分を除去しているが、第2の実施形態においても同様に外光成分を除去することができることはもちろんである。
【0105】
また、上記第1から第3の実施形態においては、第1の測距光の変調周期における0の位相を基準としているが、0でない位相を基準として基準位相、基準位相からπ/2ずれた位相、基準位相からπずれた位相および基準位相から3π/2ずれた位相において反射光をそれぞれ受光するようにしてもよい。また、受光信号を取得する位相のずれは、π/2に限定されるものではない。
【0106】
また、上記第1から第3の実施形態においては、第1の測距光の変調周期における0、π/2、π、3π/2の4つの位相に対応する、第1の測距光の1周期の1/4の4つの受光期間Twにおいて受光信号F1a、F2a、F3a、F4a、F1b、F2b、F3b、F4bを取得しているが、測距光の変調周期における0、π/2、πの3つの位相に対応する、第1の測距光の1周期の1/2の3つの受光期間2Twにおいて受光信号を取得することによっても、位相差を算出することができる。以下、これを第4の実施形態として説明する。
【0107】
図11は第4の実施形態における位相差の算出を説明するための図である。図11に示すように、第4の実施形態においては、第1の測距光の変調周期における0、π/2、πの3つの位相において、変調周期の半分の受光期間2Tw反射光を受光するように受光素子の受光タイミングを制御する。なお、これにより取得される受光光量をF1c、F2c、F3cとする。
【0108】
なお、受光光量F1cは、測距光の変調周期の0〜πの期間の受光信号に、受光光量F2cはπ/2〜3π/2の期間の受光信号に、受光光量F3cはπ〜2πの期間の受光信号にそれぞれ対応するため、受光信号についても参照符号としてF1c、F2c、F3cを用いる。
【0109】
また、曲線K1における0〜π/2、π/2〜π、π〜3π/2、3π/2〜2πの位相において求めた曲線K2の受光光量は、上記第1の実施形態における受光光量F1a、F2a、F3a、F4aに相当する。したがって、F1c=F1a+F2a、F2c=F2a+F3a、F3c=F3a+F4aとなるため、下記の関係が成立する。
【0110】
F2c−F1c=F3a−F1a
F2c−F3c=F2a−F4a
ここで位相差tdaに相当する位相差tdcは上記式(1)により算出することができるため、上記関係を式(1)に代入すると、
tdc=tan-1{(F2c−F1c)/(F2c−F3c)} (13)
となる。したがって、3つの位相において取得した受光信号F1c、F2c、F3cからも、式(13)により位相差tdaに相当する位相差tdcを算出することができる。
【0111】
なお、第4の実施形態において、差分位相差trの算出、第2の測距光の発光開始位相の設定は第1の実施形態と同様に行う。
【0112】
第2の受光素子の受光期間については、差分位相差trは第1の測距光の1周期未満の値となるため、第2の測距光の反射光は、第1の測距光の1周期に相当する期間において受光すればよいこととなる。したがって、差分位相差trに応じて第1の測距光の変調周期の0、π/2、πの位相のいずれの位相に相当する受光期間2Twにおいて受光をすればよいかが分かることとなる。
【0113】
すなわち、tr≦T/2(Tは第1の測距光の1周期)の場合は、第2の測距光の反射光の位相は0〜πにあるものとなるため、0およびπ/2の受光期間2Twにおいて反射光を受光すればよいこととなる。また、T/2<trの場合は、第2の測距光の反射光の位相は0〜2πにあるものとなるため、0,π/2およびπのすべての受光期間2Twにおいて反射光を受光すればよいこととなる。
【0114】
撮像部2の撮像制御部19は、このようにして差分位相差trに応じて、第2の測距光の反射光の受光期間2Twを決定する。なお、第1の測距光の変調周期の0、π/2、πの位相に相当する受光期間2Twにおいて、第2の測距光の反射光を受光することにより得られる受光信号を受光信号F1d、F2d、F3dとする。
【0115】
また、距離画像生成部31は、位相差tdcと最小位相差t1との差分位相差ts(ts=tdc−1)を算出し、差分位相差tsに基づいて、受光信号F1d、F2d、F3bdのうち、位相差tddの算出に使用する受光信号を選択する。すなわち、差分位相差tsがTw以内であれば、第2の測距光の反射光は第1の測距光の0〜πの位相の間に存在することから、受光信号F1d、F2dを選択する。そして下記の式(14)により位相差tddを算出する。
【0116】
tdd=Tw×F2d/F1d (14)
差分位相差tsがTwより大きく2Tw以内であれば、第2の測距光の反射光は第1の測距光のπ/2〜3π/2の位相の間に存在することから、受光信号F1d、F2dを選択する。そして下記の式(15)により位相差tddを算出する。
【0117】
tdd=Tw+Tw×(1−F1d/F2d) (15)
差分位相差tsが2Twより大きく3Tw以内であれば、第2の測距光の反射光は第1の測距光のπ〜2π(すなわち0)の位相の間に存在することから、受光信号F2d、F3dを選択する。そして下記の式(16)により位相差tddを算出する。
【0118】
tdd=2Tw+Tw×(1−F2d/F3d) (16)
さらに、差分位相差tsが3Twより大きく4Tw以内であれば、第2の測距光の反射光は第1の測距光の3π/2〜π/2(次の周期)の位相の間に存在することから、受光信号F3d、F1dを選択する。そして下記の式(17)により位相差tddを算出する。
【0119】
tdd=3Tw+Tw×F1d/(F3d+F1d) (17)
そして、位相差tddを用いて上記式(7)により受光素子毎に被写体までの距離を表す距離情報D1を算出する。
【0120】
なお、差分位相差がtr≦T/2の場合には、2つの受光信号F1d、F2dのみしか取得されないが、ts≦2Twとなるため、必ず式(14)、(15)により位相差tddが算出される。
【0121】
次いで、第4の実施形態において行われる処理について説明する。図12および図13は第4の実施形態において行われる処理を示すフローチャートである。撮影指示が行われることによりCPU32が処理を開始し、撮像部2がCPU32からの指示により、測距光源16から第1の測距光を被写体に向けて発光し(ステップST51)、さらに第1の測距光の被写体による反射光を第1の測距光における連続した0、π/2、πの位相において受光して、3つの受光信号F1c、F2c、F3cを取得する(ステップST52)。次いで、距離画像生成部31が、3つの受光信号F1c、F2c、F3cから上記式(13)により、位相差tdcを受光素子単位で算出する(ステップST53)。さらに、距離画像生成部31は位相差tdcの最大位相差t2と最小位相差t1との差分位相差trを算出する(ステップST54)。
【0122】
そして、撮像部2の撮像制御部19が、第2の測距光の発光開始位相を第1の測距光よりも最小位相差t1分早くなるように設定し(ステップST55)、差分位相差trの範囲を判定する(ステップST56)。
【0123】
tr≦T/2の場合は、撮像制御部19は、位相が0およびπ/2の受光期間2Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST57)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST58)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2の位相において受光して、2つの受光信号F1d、F2dを取得する(ステップST59)。
【0124】
また、T/2<trの場合は、撮像制御部19は、位相が0、π/2およびπの受光期間2Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST60)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST58)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2、πの位相において受光して、3つの受光信号F1d、F2d、F3dを取得する(ステップST61)。
【0125】
続いて、距離画像生成部31が、位相差tdcと最小位相差t1との差分位相差tsを算出し(ステップST62)、差分位相差tsの範囲を判定する(ステップST63)。
【0126】
ts≦Twの場合は上記式(14)により位相差tddを算出する(ステップST64)。Tw<ts≦2Twの場合は上記式(15)により位相差tddを算出する(ステップST65)。2Tw<ts≦3Twの場合は上記式(16)により位相差tddを算出する(ステップST66)。そして、3Tw<ts≦4Twの場合は上記式(17)により位相差tddを算出する(ステップST67)。
【0127】
次いで、距離画像生成部31は上記式(7)により距離情報D1を算出し(ステップST68)、距離情報D1を各画素の画素値とする距離画像S1を生成する(ステップST69)。そして、メディア制御部26が距離画像S1の画像データを記録メディア29に記録し(ステップST70)、処理を終了する。
【0128】
なお、上記第4の実施形態においては、第3の実施形態と同様に、受光信号F1c、F2c、F3cから外光成分kを算出し、受光信号F1d,F2d,F3dを外光成分kにより補正して位相差tddを算出するようにしてもよい。この場合、外光成分kは下記の式(18)により算出される。
【0129】
k=(F1c+F3c)/2
−√{(F1c−F2c)2+(F2c−F3c)2} (18)
なお、上記各実施形態においては、第1の測距光を正弦波により変調しているが、三角波、パルス波等、一定の周期で変調するものであれば、どのように変調を行ってもよい。
【0130】
また、上記各実施形態においては、測距装置1内において距離画像を生成しているが、距離画像生成部31を装置1外に設け、入出力部33から受光信号を外部の距離画像生成部31に出力して距離画像を生成するようにしてもよい。
【0131】
以上、本発明の実施形態に係る測距装置について説明したが、コンピュータを、上記の距離画像生成部31に対応する手段として機能させ、図5,6,8,10,12,13に示すような処理を行わせるプログラムも、本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の1つである。
【図面の簡単な説明】
【0132】
【図1】第1の実施形態による測距装置の構成を示す概略ブロック図
【図2】測距光源の構成の構成を示す概略ブロック図
【図3】第1の実施形態における位相差の算出を説明するための図
【図4】受光期間の設定を説明するための図
【図5】第1の実施形態において行われる処理を示すフローチャート(その1)
【図6】第1の実施形態において行われる処理を示すフローチャート(その2)
【図7】2つの受光期間に跨る受光信号を示す図
【図8】第2の実施形態において行われる処理を示すフローチャート
【図9】外光成分を説明するための図
【図10】第3の実施形態において行われる処理を示すフローチャート
【図11】第4の実施形態における位相差の算出を説明するための図
【図12】第4の実施形態において行われる処理を示すフローチャート(その1)
【図13】第4の実施形態において行われる処理を示すフローチャート(その2)
【符号の説明】
【0133】
1 測距装置
2 撮像部
13 CCD
16 測距光源
19 撮像制御部
31 距離画像生成部
32 CPU
【技術分野】
【0001】
本発明は、被写体の立体形状を表す距離画像を生成するための測距装置および方法並びに測距方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【0002】
光の反射を用いて被写体までの距離の測定(測距)を行うTOF(Time Of Flight)方式の測距方法を用いて、撮影装置から被写体までの距離を測定して、被写体の立体形状を表す距離画像を生成することが行われている(特許文献1参照)。TOF方式を用いた測距は、具体的には強度変調された測距光を被写体に向けて照射し、この変調周期における0、π/2、π、3π/2の4つの位相において反射光を受光して受光光量に応じた受光信号を得、受光信号に基づいて測距光と反射光との位相の遅れ(位相差)を、撮影装置に設けられた撮像素子の受光素子毎に検出して距離情報を算出し、この距離情報を各画素の画素値とする被写体の立体形状を表す距離画像を生成するものである。
【0003】
また、TOF方式により測距を行う際に、強度が時間的に変化する正弦波、三角波あるいは鋸波状に強度変調された第1の測距光と、強度が一定のパルス状に強度変調された第2の測距光を使用して測距精度を向上させる手法も提案されている(特許文献2参照)。特許文献2に記載された手法は、第1の測距光により得られる第1の受光信号を第2の測距光により得られる第2の受光信号により除算することにより、距離情報を算出するものである。
【特許文献1】特開2006−84429号公報
【特許文献1】特開2001−313958号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、強度が時間的に変化するように強度変調された測距光を使用する場合、その変調周期の長さを最大値とする位相差を算出することができるため、比較的長いレンジにより測距を行うことができるが、測距光の変調の位相によっては、反射光の強度が小さくなる。このため、外光の影響により得られる受光信号のS/Nが低下してしまうことから、測距の精度はそれほど高いものではない。一方、パルス状に強度変調された測距光を使用する場合、反射光の強度は一定となるためS/Nの低下が少なく、精度良く測距を行うことができる。しかしながら、パルス光を使用する場合、パルス光が発光している期間を最大値とする位相差しか算出することができないため、測距を行うことができるレンジが狭く、ある限られた範囲のみしか測距を行うことができない。
【0005】
ここで、上記特許文献2に記載された手法においては、第1の測距光により得られる受光信号を第2の測距光により得られる受光信号により除算して距離情報を算出しているため、強度が時間的に変化するように強度変調された第1の測距光による第1の受光信号により測距が行われることとなる。このため、特許文献2に記載された手法では測距の精度はそれほど高いものではない。
【0006】
本発明は上記事情に鑑みなされたものであり、精度良くかつ高速に測距を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明による測距装置は、所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段と、
前記第1の測距光を発光し、該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出し、該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光し、該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択するよう、前記測距光発光手段、前記撮像手段、前記受光制御手段および前記距離情報算出手段を制御する制御手段とを備えたことを特徴とするものである。
【0008】
「強度が時間的に変化するように強度変調」するとは、時間の経過とともに強度が連続して変化するように第1の測距光を変調することを意味する。具体的には、正弦波状、三角波状、鋸波状に強度を変調することにより、強度が時間的に変化するように強度変調することができる。
【0009】
ここで、強度が時間的に変化するように変調された第1の測距光を使用する場合、比較的長いレンジにより測距を行うことができるが、変調の位相によっては反射光の強度が小さくなる。このため、外光の影響により得られる受光信号のS/Nが低下してしまうことから、測距の精度はそれほど高いものではない。一方、強度が一定のパルス状に強度変調された第2の測距光を使用する場合、反射光の強度は一定となるためS/Nの低下が少なく、精度良く測距を行うことができる。しかしながら、測距を行うことができるレンジがパルス幅により制限されてしまうため、ある限られた範囲のみしか測距を行うことができない。
【0010】
本発明によれば、第1の測距光の反射光から得られる複数の第1の受光信号に基づいて、第2の測距光の反射光から得られる複数の第2の受光信号のうち、距離情報の算出に使用する受光信号を選択するようにしたものである。ここで、複数の第1の受光信号により第1の測距光と第1の測距光の反射光との位相差を算出でき、この位相差により被写体までの大まかな距離情報を算出できるものである。このため、第1の受光信号に基づいて選択した第2の受光信号により、第1の受光信号を用いて算出できる距離情報と同一の距離レンジにおいて、より正確に位相差を算出できるため、より正確な距離を表す距離情報を算出することができることとなる。
【0011】
また、第1の測距光と反射光との位相差に基づいて、第2の測距光の位相を第1の測距光の位相とは異なるように変更して第2の測距光を発光し、位相差に応じた複数の受光期間において第2の受光信号を取得しているため、第1の受光信号を取得した受光期間のすべてにおいて第2の受光信号を取得する必要がなくなる。このため、距離情報の算出を迅速に行うことができる。したがって、本発明によれば、被写体までの距離に拘わらず正確かつ高速に測距を行うことができる。
【0012】
なお、本発明による測距装置においては、前記測距光発光手段を、前記複数の受光素子について算出した複数の位相差のうち、最小位相差分前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相から早めて、前記第2の測距光を発光する手段とし、
前記受光制御手段を、前記複数の位相差のうち、最大位相差と前記最小位相差との差分が大きいほど、より多くの受光期間において前記第2の受光信号を取得する手段としてもよい。
【0013】
これにより、位相差が最小となる第2の測距光の反射光の位相を第1の測距光の変調の位相と一致させることができるため、差分位相差に応じた第2の受光信号を取得する受光期間の設定を容易に行うことができる。
【0014】
また、本発明による測距装置においては、前記距離情報算出手段を、前記位相差と前記最小位相差との差分位相差に基づいて、前記複数の第2の受光信号のうち、前記距離情報の算出に使用する第2の受光信号を選択する手段としてもよい。
【0015】
これにより、差分位相差に応じて、より容易に第2の受光信号を取得する期間を設定することができる。
【0016】
また、本発明による測距装置においては、前記測距光発光手段を、前記第2の測距光を、前記第1の測距光の変調周期と同一周期にて、該第1の測距光の変調周期よりも短い期間発光する手段としてもよい。
【0017】
これにより、第1および第2の測距光の発光の制御を容易に行うことができる。
【0018】
また、本発明による測距装置においては、前記測距光発光手段を、前記第2の測距光を前記第1の測距光の変調周期の1/4の期間発光する手段とし、
前記受光制御手段を、前記撮像手段の受光期間を、前記第1の測距光の変調周期の1/4期間または1/2期間となるように制御する手段としてもよい。
【0019】
これにより、第1および第2の測距光の発光の制御、並びに第1および第2の測距光の反射光の受光の制御をより容易に行うことができる。
【0020】
また、本発明による測距装置においては、前記距離情報算出手段を、前記選択した前記第2の受光信号が複数の受光期間に跨る場合、信号レベルが大きい受光期間側の第2の受光信号を前記距離情報の算出に使用する手段としてもよい。
【0021】
ここで、信号レベルが大きいということは外光によるノイズの影響が小さいことを意味する。したがって、信号レベルが大きい側の第2の受光信号を距離情報の算出に使用することにより、より正確に距離情報を算出することができる。
【0022】
また、本発明による測距装置においては、前記距離情報算出手段を、前記複数の第1の受光信号に基づいて外光成分を表す外光信号を算出し、該外光信号により、前記選択した第2の受光信号を補正する手段としてもよい。
【0023】
これにより、より正確に距離情報を算出することができる。
【0024】
本発明による測距方法は、所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段とを備えた測距装置における測距方法であって、
前記第1の測距光を発光し、
該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、
前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出し、
該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光し、
該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、
前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択することを特徴とするものである。
【0025】
なお、本発明による測距方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の第1の実施形態による測距装置の構成を示す概略ブロック図である。図1に示すように第1の実施形態による測距装置1は撮像部2を備える。
【0027】
撮像部2は、レンズ10、絞り11、シャッタ12、CCD13、アナログフロントエンド(AFE)14およびA/D変換部15を備える。
【0028】
レンズ10は、被写体にピントを合わせるためのフォーカスレンズ、ズーム機能を実現するためのズームレンズ等の複数の機能別レンズにより構成され、不図示のレンズ駆動部によりその位置が調整される。
【0029】
絞り11は、不図示の絞り駆動部により、予め定められた絞り値データに基づいて絞り径の調整が行われる。
【0030】
シャッタ12はメカニカルシャッタであり、予め定められたシャッタスピードに応じて駆動される。
【0031】
CCD13は、多数の受光素子を2次元的に配列した光電面を有する撮像素子であり、被写体光がこの光電面に結像して光電変換されてアナログ撮像信号である受光信号が取得される。なお、CCD13は、後述する撮像制御部19から与えられる電子シャッタ駆動信号によって受光期間が制御される。また、CCD13の前面には、後述する測距光の波長域の光を透過するフィルタ13Aが配設されているため、CCD13の受光素子は測距光の反射光のみを受光することができる。ここで、本実施形態においては、測距光として赤外光を用いるものとする。
【0032】
AFE14は、CCD13から出力される受光信号に対して、受光信号のノイズを除去する処理、および受光信号のゲインを調節する処理(以下アナログ処理とする)を施す。
【0033】
A/D変換部15は、AFE14によりアナログ処理が施された受光信号をデジタル信号に変換する。
【0034】
また、撮像部2は、被写体に向けて赤外光からなる測距光を照射するための測距光源16を備える。
【0035】
図2は測距光源の構成を示す概略ブロック図である。図2に示すように測距光源16は、赤外光からなる測距光を発光するLEDが2次元状に複数配設された面光源16A、面光源16Aから発せられる測距光を強度変調する変調部16B、測距光を変調するための波形データを記憶するメモリ16C、およびメモリ16Cから波形データを読み出し、波形データをD/A変換して変調部16Bに入力するメモリ制御部16Dを備える。
【0036】
メモリ制御部16Dは、後述する撮像制御部19からの指示により、所定の波形データを読み出してD/A変換して変調部16Bに入力する。変調部16Bは入力された波形データにより表される波形と一致するように面光源16Aから発光される測距光の強度を変調する。
【0037】
ここで、本実施形態においては、メモリ16Cには測距光を正弦波状に強度変調するための正弦波データ、および測距光をパルス波状に強度変調するためのパルス波データが記憶されている。なお、正弦波データおよびパルス波データは周期が同一であり、パルスの期間は正弦波の周期の1/4の期間であるものとする。また、正弦波データにより強度変調される測距光を第1の測距光、パルス波データにより強度変調される測距光を第2の測距光と称するものとする。
【0038】
また、撮像部2は、CCD13、AFE14および測距光源16の駆動を制御するための撮像制御部19を備える。具体的には、撮像制御部19は、CPU32からの指示により、変調部18に変調の指示を行って測距光照射部3から第1および第2の測距光を発光させ、これとタイミングを合わせて被写体による測距光の反射光を受光し、受光光量に応じた受光信号を出力するよう撮像部2の各部を制御する。なお、第1および第2の測距光の発光、並びにCCD13の各受光素子からの受光信号の取得の詳細な制御については後述する。
【0039】
また、測距装置1は、撮影条件設定部22、画像処理部23、圧縮/伸長処理部24、フレームメモリ25、メディア制御部26、内部メモリ27、および表示制御部28を備える。
【0040】
撮影条件設定部22は、予め定められた焦点距離、絞り値およびシャッタ速度を記憶しており、撮影を行う際に、焦点距離、絞り値およびシャッタ速度を撮像部2に出力する。
【0041】
画像処理部23は、後述するように生成された距離画像の画像データに対して、階調補正、シャープネス補正等の画像処理を施す。
【0042】
圧縮/伸長処理部24は、画像処理部23によって画像処理が施された距離画像の画像データに対して、例えば、JPEG等の圧縮形式で圧縮処理を行い、画像ファイルを生成する。この画像ファイルには、Exifフォーマット等に基づいて、撮影日時等の付帯情報が格納されたタグが付加される。
【0043】
フレームメモリ25は、撮像部2が取得した受光信号に対して、前述の画像処理を含む各種処理を行う際に使用する作業用メモリである。
【0044】
メディア制御部26は、記録メディア29にアクセスして距離画像の画像ファイルの書き込みと読み込みの制御を行う。
【0045】
内部メモリ27は、測距装置1において設定される各種定数、およびCPU32が実行するプログラム等を記憶する。
【0046】
表示制御部28は、フレームメモリ25に格納された画像データをモニタ30に表示させたり、記録メディア29に記録されている画像をモニタ30に表示させたりするためのものである。
【0047】
また、測距装置1は、距離画像生成部31およびCPU32を備える。
【0048】
距離画像生成部31は、撮像部2が取得した受光信号を用いて被写体上の各点の測距装置1からの距離情報D1を、CCD13上における受光素子毎に算出する。以下、距離情報D1の算出について説明する。
【0049】
距離画像生成部31は、強度変調された第1の測距光が発光されてから被写体により反射された反射光を受光するまでの時間(すなわち光の飛行時間)に基づいて、距離情報D1を算出する。
【0050】
図3は距離情報を算出するための位相差の算出を説明するための図である。図3に示すように、測距光源16から発光される第1の測距光の強度は曲線K1に示すように正弦波状に変化するため、CCD13のある受光素子により受光した反射光の受光光量も曲線K2のように正弦波状に変化するが、光の飛行時間に相当する位相差tdaが発生する。
【0051】
位相差tdaは、第1の測距光の複数のタイミングで求めた反射光の受光光量を用いて計算することができる。本実施形態においては、第1の測距光における0、π/2、π、3π/2の位相において、第1の測距光の1/4周期に相当する受光期間Tw、パルス状に受光した反射光の受光光量を用いて位相差tdaを算出する。
【0052】
ここで、第1の測距光における連続した0、π/2、π、3π/2の位相において受光した反射光の受光光量がそれぞれF1a、F2a、F3a、F4aであるとする。なお、受光光量F1a、F2a、F3a、F4aを求める間に位相差tdaは変化せず、かつ被写体の反射率にも変化がないものとし、時刻tにおいてCCD13の各受光素子で受光される光の強度がA・sin(ωt+δ)+Bで表されるものとする。ここで、Aは振幅、Bは外光成分、ωは角振動数、δは位相である。これにより、受光素子で受光する受光光量F1a、F2a、F3a、F4aは、次のように表すことができる。なお、受光光量は測距光における0、π/2、π、3π/2の位相において各受光素子から出力される受光信号に相当する。また、位相差tdaの算出には、上述した4つの受光光量すなわち4つの受光信号F1a、F2a、F3a、F4aをCCD13から取得することが必要であるため、すべての受光素子が4つの受光信号F1a、F2a、F3a、F4aを取得するまで、第1の測距光の発光およびCCD13による反射光の受光が行われる。
【0053】
F1a=A・sin(δ)+B
F2a=A・sin(π/2+δ)+B
F3a=A・sin(π+δ)+B
F4a=A・sin(3π/2+δ)+B
ここで、δ=−tdaであるから、F1a=−A・sin(tda)+B、F2a=A・cos(tda)+B、F3a=A・sin(tda)+B、F4a=−A・cos(tda)+Bであるため、各受光光量(受光信号)F1a、F2a、F3a、F4aと位相差tdaとの関係は、次式のようになる。
【0054】
tda=tan-1{(F3a−F1a)/(F2a−F4a)} (1)
なお、位相差tdaを使用することにより、距離情報Dを下記の式(2)により算出することができる。
【0055】
D=c・tda/(4πF) (2)
cは光速、Fは周波数(=ω/2π)である。
【0056】
ここで、4つの受光信号F1a、F2a、F3a、F4aは各受光素子において、第1の測距光における0、π/2、π、3π/2の位相にてそれぞれ受光期間を区切って取得すればよいが、CCD13の各受光素子に4つの電荷蓄積部を設け、第1の測距光の1周期に相当する1つの受光期間において、4つの電荷蓄積部のそれぞれにより4つの受光信号を取得するようにしてもよい。
【0057】
また、第1の実施形態においては、距離画像生成部31は、位相差tdaを算出した後、第1の測距光に代えて第2の測距光を発光する。ここで、第2の測距光は第1の測距光と周期が同一であり、発光期間は第1の測距光の1/4、すなわちTwであるため、反射光も期間Twのパルス状の光となる。なお、第2の測距光の反射光についても、第1の測距光の反射光と同様に位相差が発生する。
【0058】
なお、距離画像生成部31は、すべての受光素子について算出した位相差tdaのうち最小位相差t1を算出し、撮像部2に出力する。撮像部2の撮像制御部19は、発光開始位相を最小位相差t1分早めて、測距光源16から第2の測距光を発光する。すなわち、発光開始位相を変更しない場合には、第2の測距光は図3の破線に示すように、第1の測距光の発光開始位相と同一の発光開始位相にて発光するが、最小位相差t1分発光開始位相を早めることにより、図3の実線に示すように第2の測距光を発光する。
【0059】
さらに、距離画像生成部31は、位相差tdaの最大位相差t2を求め、最大位相差t2と最小位相差t1との差分位相差tr(=t2−t1)を算出し、撮像部2に出力する。撮像部2の撮像制御部19は、差分位相差trに応じて、第2の測距光の発光の1周期において、第1の測距光の反射光と同一の受光期間(すなわち第1の測距光の変調周期の0、π/2、π、3π/2の位相に相当する受光期間Tw)のうち、いずれの受光期間において反射光を受光するかを設定する。
【0060】
図4は受光期間の設定を説明するための図である。第2の測距光は第1の測距光を用いて算出した最小位相差t1分、第1の測距光よりも発光開始位相が早い。このため、最も早く受光される反射光は、第2の測距光と位相が最小位相差t1ずれることから、反射光の位相は、図4に示すように0の位相における第1の測距光の1/4周期に相当する期間Twに相当するものとなる。
【0061】
一方、差分位相差trは第1の測距光の1変調周期未満の値となるため、第2の測距光の反射光は、第1の測距光の1の変調周期に相当する期間において受光すればよいこととなる。したがって、差分位相差trに応じて第1の測距光の変調周期の0、π/2、π、3π/2のうちのいずれの位相に対応する受光期間Twにおいて受光をすればよいかが分かることとなる。
【0062】
具体的には、tr≦T/4(Tは第1の測距光の1変調周期)の場合は、第2の測距光の反射光の位相は0〜πにあるものとなるため、0およびπ/2の2つの受光期間Twにおいて反射光を受光すればよいこととなる。また、T/4<tr≦T/2の場合は、第2の測距光の反射光の位相は図4の差分位相差tr1の場合に示すように、0〜3π/2にあるものとなるため、0、π/2およびπの3つの受光期間Twにおいて反射光を受光すればよいこととなる。また、T/2<tr≦Tの場合は、図4の差分位相差tr2の場合に示すように第2の測距光の反射光の位相は、0〜2πにあるものとなるため、0、π/2、π、3π/2のすべての受光期間Twにおいて反射光を受光すればよいこととなる。
【0063】
なお、第1の測距光の変調周期の0、π/2、π、3π/2の位相に相当する受光期間Twにおいて、第2の測距光の反射光を受光することにより得られる受光信号を受光信号F1b、F2b、F3b、F4bとする。
【0064】
また、距離画像生成部31は、受光素子毎に位相差tdaと最小位相差t1との差分位相差ts(ts=tda−1)を算出し、差分位相差tsに基づいて、受光信号F1b、F2b、F3b、F4bのうち、位相差tdbの算出に使用する受光信号を選択する。すなわち、位相差tdaがTw以内であれば、第2の測距光の反射光は第1の測距光の0〜πの位相の間に存在することから、受光信号F1b、F2bを選択する。そして下記の式(3)により位相差tdbを算出する。
【0065】
tdb=Tw×F2b/(F1b+F2b) (3)
差分位相差tsがTwより大きく2Tw以内であれば、第2の測距光の反射光は第1の測距光のπ/2〜3π/2の位相の間に存在することから、距離画像生成部31は受光信号F2b、F3bを選択する。そして下記の式(4)により位相差tdbを算出する。
【0066】
tdb=Tw+Tw×F3b/(F2b+F3b) (4)
差分位相差tsが2Twより大きく3Tw以内であれば、第2の測距光の反射光は第1の測距光のπ〜2π(すなわち0)の位相の間に存在することから、距離画像生成部31は受光信号F3b、F4bを選択する。そして下記の式(5)により位相差tdbを算出する。
【0067】
tdb=2Tw+Tw×F4b/(F3b+F4b) (5)
さらに、差分位相差tsが3Twより大きく4Tw以内であれば、第2の測距光の反射光は第1の測距光の3π/2〜π/2(次の周期)の位相の間に存在することから、距離画像生成部31は受光信号F4b、F1bを選択する。そして下記の式(6)により位相差tdbを算出する。
【0068】
tdb=3Tw+Tw×F1b/(F4b+F1b) (6)
そして、位相差tdbを用いて下記の式(7)により受光素子毎に被写体までの距離を表す距離情報D1を算出する。
【0069】
D1=c×(tdb+t1)/2 (7)
なお、cは光速である。
【0070】
さらに、距離画像生成部31は、上述したように受光素子単位で算出した距離情報D1を各画素の画素値とする距離画像S1を生成する。
【0071】
なお、差分位相差がtr≦T/4の場合には、2つの受光信号F1b、F2bのみしか取得されないが、ts≦Twとなるため、必ず式(3)により位相差tdbが算出される。また、差分位相差がT/4<tr≦T/2の場合は、3つの受光信号F1b、F2b、F3bのみしか取得されないが、ts≦2Twとなるため、必ず式(3)、(4)により位相差tdbが算出される。
【0072】
CPU32は、入出力部33からの信号に応じて測距装置1の各部を制御する。
【0073】
データバス34は、測距装置1を構成する各部およびCPU32に接続されており、測距装置1における各種データおよび各種情報のやり取りを行う。
【0074】
次いで、第1の実施形態において行われる処理について説明する。図5および図6は第1の実施形態において行われる処理を示すフローチャートである。
【0075】
撮影指示が行われることによりCPU32が処理を開始し、撮像部2がCPU32からの指示により、測距光源16から第1の測距光を被写体に向けて発光し(ステップST1)、さらに第1の測距光の被写体による反射光を第1の測距光における連続した0、π/2、π、3π/2の位相において受光して、4つの受光信号F1a、F2a、F3a、F4aを取得する(ステップST2)。次いで、距離画像生成部31が、4つの受光信号F1a、F2a、F3a、F4aから上記式(1)により、位相差tdaを受光素子単位で算出する(ステップST3)。さらに、距離画像生成部31は位相差tdaの最大位相差t2と最小位相差t1との差分位相差trを算出する(ステップST4)。
【0076】
そして、撮像部2の撮像制御部19が、第2の測距光の発光開始位相を第1の測距光よりも最小位相差t1分早くなるように設定し(ステップST5)、差分位相差trの範囲を判定する(ステップST6)。
【0077】
tr≦T/4の場合は、撮像制御部19は、位相が0およびπ/2の受光期間Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST7)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST8)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2の位相において受光して、2つの受光信号F1b、F2bを取得する(ステップST9)。
【0078】
また、T/4<tr≦T/2の場合は、撮像制御部19は、位相が0、π/2およびπの受光期間Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST10)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST8)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2、πの位相において受光して、3つの受光信号F1b、F2b、F3bを取得する(ステップST11)。
【0079】
また、T/2<tr≦Tの場合は、撮像制御部19は、位相が0、π/2、π、3π/2のすべての受光期間Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST12)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST8)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2、π、3π/2の位相において受光して、4つの受光信号F1b、F2b、F3b、F4bを取得する(ステップST13)。
【0080】
続いて、距離画像生成部31が、各受光素子について位相差tdaと最小位相差t1との差分位相差tsを算出し(ステップST14)、差分位相差tsの範囲を判定する(ステップST15)。
【0081】
ts≦Twの場合は上記式(3)により位相差tdbを算出する(ステップST16)。Tw<ts≦2Twの場合は上記式(4)により位相差tdbを算出する(ステップST17)。2Tw<ts≦3Twの場合は上記式(5)により位相差tdbを算出する(ステップST18)。そして、3Tw<ts≦4Twの場合は上記式(6)により位相差tdbを算出する(ステップST19)。
【0082】
次いで、距離画像生成部31は上記式(7)により距離情報D1を算出し(ステップST20)、距離情報D1を各画素の画素値とする距離画像S1を生成する(ステップST21)。そして、メディア制御部26が距離画像S1の画像データを記録メディア29に記録し(ステップST22)、処理を終了する。
【0083】
ここで、正弦波のように強度が時間的に変化するように変調された第1の測距光を使用する場合、比較的長いレンジにより測距を行うことができるが、変調の位相によっては反射光の強度が小さくなる。例えば図3に示すπ/2の位相においては、反射光の強度は非常に小さくなる。このため、第1の測距光を使用する場合、得られる受光信号のS/Nが外光の影響により低下してしまうことから、測距の精度はそれほど高いものではない。
【0084】
一方、強度が一定のパルス状に強度変調された第2の測距光を使用する場合、反射光の強度は一定となるためS/Nの低下が少なく、精度良く測距を行うことができる。しかしながら、測距を行うことができるレンジがパルス幅により制限されてしまうため、ある限られた範囲のみしか測距を行うことができない。
【0085】
第1の実施形態によれば、第1の測距光の反射光から得られる複数の受光信号F1a、F2a、F3a、F4aに基づいて、第2の測距光の反射光から得られる複数の第2の受光信号F1b、F2b、F3b、F4bのうち、距離情報D1の算出に使用する受光信号を選択するようにしたものである。ここで、複数の第1の受光信号F1a、F2a、F3a、F4aにより第1の測距光と第1の測距光の反射光との位相差tdaが分かることとなる。位相差tdaは被写体までの大まかな距離情報を算出できるものであり、位相差tdaから求めた差分位相差tsにより距離情報D1の算出に使用する第2の受光信号F1b、F2b、F3b、F4bを選択することにより、位相差tdaにより求められる距離情報と同様の距離レンジにおいて、より正確に距離情報を算出することができる。したがって、第1の実施形態によれば、被写体までの距離に拘わらず正確に測距を行うことができる。
【0086】
また、第1の測距光の反射光から最小位相差t1を算出し、第2の測距光の発光開始位相を第1の測距光から最小位相差t1早めて第2の測距光を発光し、最大位相差t2と最小位相差t1との差分位相差trに応じた複数の受光期間において第2の受光信号を取得しているため、第1の受光信号を取得した受光期間のすべてにおいて第2の受光信号を取得する必要がなくなる。例えば、第2の測距光の反射光をすべての位相において受光した場合、第1の測距光の受光と併せて8位相分、受光信号を取得する必要があるが、ts≦Twの場合およびTw<ts≦2Twの場合には、それぞれ6位相分および7位相分の受光信号のみを取得すればよいこととなる。
【0087】
したがって、本実施形態によれば、被写体までの距離に拘わらず正確かつ高速に測距を行うことができる。
【0088】
次いで、本発明の第2の実施形態について説明する。なお、第2の実施形態においては、第1の実施形態と行われる処理のみが異なり、装置の構成は第1の実施形態と同一であるため、構成についての詳細な説明は省略する。ここで、第2の測距光の反射光から得られる受光信号F1b、F2b、F3b、F4bは、2つの受光期間に跨るものであるが、反射光はパルス光であるため各受光期間における信号のレベルが異なるものとなる。例えば、図7に示すように、受光信号F1b、F2bが2つの受光期間に跨る場合、受光信号F1bの方が信号レベルが大きくなる。第2の実施形態においては、信号レベルが大きい側の受光期間の受光信号を用いて位相差tdbを算出するようにした点が第1の実施形態と異なる。
【0089】
図8は第2の実施形態において行われる処理を示すフローチャートである。なお、第2の実施形態においては、第1の実施形態におけるステップST14以降の処理のみが異なるため、ここでは第1の実施形態におけるステップST14以降の処理についてのみ説明する。ステップST14に続いて、距離画像生成部31が差分位相差tsの範囲を判定する(ステップST31)。
【0090】
ts≦Twの場合、さらにF1b≦F2bであるか否かを判定し(ステップST32)、ステップST32が肯定されると上記式(3)により位相差tdbを算出する(ステップST33)。ステップST32が否定されると、下記の式(8)により位相差tdbを算出する(ステップST34)。
【0091】
tdb=Tw×{1−F1b/(F1b+F2b)} (8)
Tw<ts≦2Twの場合、さらにF2b≦F3bであるか否かを判定し(ステップST35)、ステップST35が肯定されると上記式(4)により位相差tdbを算出する(ステップST36)。ステップST35が否定されると、下記の式(9)により位相差tdbを算出する(ステップST37)。
【0092】
tdb=Tw+Tw×{1−F2b/(F2b+F3b)} (9)
2Tw<ts≦3Twの場合、さらにF3b≦F4bであるか否かを判定し(ステップST38)、ステップST38が肯定されると上記式(5)により位相差tdbを算出する(ステップST39)。ステップST38が否定されると、下記の式(10)により位相差tdbを算出する(ステップST40)。
【0093】
tdb=2Tw+Tw×{1−F3b/(F3b+F4b)} (10)
そして、3Tw<ts≦4Twの場合、さらにF4b≦F1bであるか否かを判定し(ステップST41)、ステップST41が肯定されると上記式(6)により位相差tdbを算出する(ステップST42)。ステップST42が否定されると、下記の式(11)により位相差tdbを算出する(ステップST43)。
【0094】
tdb=3Tw+Tw×{1−F4b/(F4b+F1b)} (11)
次いで、距離画像生成部31は第1の実施形態におけるステップST20以降の処理を行い、処理を終了する。
【0095】
ここで、信号レベルが大きいということは外光によるノイズの影響が小さいことを意味する。したがって、信号レベルが大きい側の第2の受光信号を距離情報D1の算出に使用することにより、より正確に距離情報D1を算出することができる。
【0096】
次いで、本発明の第3の実施形態について説明する。なお、第3の実施形態においては、第1の実施形態と行われる処理のみが異なり、装置の構成は第1の実施形態と同一であるため、構成についての詳細な説明は省略する。ここで、第1および第2の測距光の反射光には外光成分が含まれる。外光成分は図9(a),(b)の斜線に示すように反射光に重畳されるため、受光信号は外光成分をも含むものとなっている。
【0097】
第1の測距光の反射光の受光信号からの位相差tdaの算出は、上記式(1)により行われるため、外光成分の影響は除去される。しかしながら、第2の測距光の反射光の受光信号からの位相差tdbの算出は、上記式(3)〜(6)により行われるため、外光成分の影響が含まれたものとなっている。第3の実施形態は外光成分の影響を除去して位相差tdbを算出するようにしたものである。
【0098】
ここで、第1の測距光の反射光の1周期分の受光信号は、F1a+F2a+F3a+F4aである。また、第1の測距光の反射光の振幅Aは、A=√{(F1a−F3a)2+(F2a−F4a)2}により算出される。振幅Aは、図9(a)に示すように、第1の測距光の反射光の1/4周期を一辺、外光成分を除く反射光の輝度の最大値を他の一辺とする長方形の積算値となるため、第1の測距光の反射光の1周期分の振幅Aの平均値Amは、Am=(A×4)/2となる。したがって、第1の測距光の反射光の1周期分の外光成分k′は、k′=(F1a+F2a+F3a+F4a)−(A×4)/2により算出される。一方、各受光信号の位相は反射光の1/4周期であるため、外光成分k′を1/4とすることにより、下記の式(12)に示すように外光成分kを算出できる。
【0099】
k={(F1a+F2a+F3a+F4a)−(A×4)/2}/4 (12)
距離画像生成部31は、上記式(12)により外光成分kを算出し、第2の測距光の反射光の受光信号F1b、F2b、F3b、F4bから外光成分kを減算し、これにより取得した受光信号F1b′、F2b′、F3b′、F4b′を用いて位相差tdbを算出する。
【0100】
図10は第3の実施形態において行われる処理を示すフローチャートである。なお、第3の実施形態においては、第1の実施形態におけるステップST9,ST11,ST13とステップST14との間の処理のみが異なるため、ここでは第1の実施形態におけるステップST9,ST11,ST13とステップST14との間の処理についてのみ説明する。
【0101】
ステップSTST9,ST11,ST13に続いて、距離画像生成部31が上記式(12)により、外光成分kを算出する(ステップST41)。そして、受光信号F1b、F2b、F3b、F4bを外光成分kにより補正し(ステップST42)、ステップST14の処理に進む。
【0102】
なお、第3の実施形態においては、第1の実施形態におけるステップST16,ST17,ST18,ST19の処理は、外光成分kにより補正された受光信号F1b′、F2b′、F3b′、F4b′により行われることとなる。
【0103】
これにより、外光成分の影響を除去して、より精度良く距離画像を生成することができる。
【0104】
なお、上記第3の実施形態においては、第1の実施形態において外光成分を除去しているが、第2の実施形態においても同様に外光成分を除去することができることはもちろんである。
【0105】
また、上記第1から第3の実施形態においては、第1の測距光の変調周期における0の位相を基準としているが、0でない位相を基準として基準位相、基準位相からπ/2ずれた位相、基準位相からπずれた位相および基準位相から3π/2ずれた位相において反射光をそれぞれ受光するようにしてもよい。また、受光信号を取得する位相のずれは、π/2に限定されるものではない。
【0106】
また、上記第1から第3の実施形態においては、第1の測距光の変調周期における0、π/2、π、3π/2の4つの位相に対応する、第1の測距光の1周期の1/4の4つの受光期間Twにおいて受光信号F1a、F2a、F3a、F4a、F1b、F2b、F3b、F4bを取得しているが、測距光の変調周期における0、π/2、πの3つの位相に対応する、第1の測距光の1周期の1/2の3つの受光期間2Twにおいて受光信号を取得することによっても、位相差を算出することができる。以下、これを第4の実施形態として説明する。
【0107】
図11は第4の実施形態における位相差の算出を説明するための図である。図11に示すように、第4の実施形態においては、第1の測距光の変調周期における0、π/2、πの3つの位相において、変調周期の半分の受光期間2Tw反射光を受光するように受光素子の受光タイミングを制御する。なお、これにより取得される受光光量をF1c、F2c、F3cとする。
【0108】
なお、受光光量F1cは、測距光の変調周期の0〜πの期間の受光信号に、受光光量F2cはπ/2〜3π/2の期間の受光信号に、受光光量F3cはπ〜2πの期間の受光信号にそれぞれ対応するため、受光信号についても参照符号としてF1c、F2c、F3cを用いる。
【0109】
また、曲線K1における0〜π/2、π/2〜π、π〜3π/2、3π/2〜2πの位相において求めた曲線K2の受光光量は、上記第1の実施形態における受光光量F1a、F2a、F3a、F4aに相当する。したがって、F1c=F1a+F2a、F2c=F2a+F3a、F3c=F3a+F4aとなるため、下記の関係が成立する。
【0110】
F2c−F1c=F3a−F1a
F2c−F3c=F2a−F4a
ここで位相差tdaに相当する位相差tdcは上記式(1)により算出することができるため、上記関係を式(1)に代入すると、
tdc=tan-1{(F2c−F1c)/(F2c−F3c)} (13)
となる。したがって、3つの位相において取得した受光信号F1c、F2c、F3cからも、式(13)により位相差tdaに相当する位相差tdcを算出することができる。
【0111】
なお、第4の実施形態において、差分位相差trの算出、第2の測距光の発光開始位相の設定は第1の実施形態と同様に行う。
【0112】
第2の受光素子の受光期間については、差分位相差trは第1の測距光の1周期未満の値となるため、第2の測距光の反射光は、第1の測距光の1周期に相当する期間において受光すればよいこととなる。したがって、差分位相差trに応じて第1の測距光の変調周期の0、π/2、πの位相のいずれの位相に相当する受光期間2Twにおいて受光をすればよいかが分かることとなる。
【0113】
すなわち、tr≦T/2(Tは第1の測距光の1周期)の場合は、第2の測距光の反射光の位相は0〜πにあるものとなるため、0およびπ/2の受光期間2Twにおいて反射光を受光すればよいこととなる。また、T/2<trの場合は、第2の測距光の反射光の位相は0〜2πにあるものとなるため、0,π/2およびπのすべての受光期間2Twにおいて反射光を受光すればよいこととなる。
【0114】
撮像部2の撮像制御部19は、このようにして差分位相差trに応じて、第2の測距光の反射光の受光期間2Twを決定する。なお、第1の測距光の変調周期の0、π/2、πの位相に相当する受光期間2Twにおいて、第2の測距光の反射光を受光することにより得られる受光信号を受光信号F1d、F2d、F3dとする。
【0115】
また、距離画像生成部31は、位相差tdcと最小位相差t1との差分位相差ts(ts=tdc−1)を算出し、差分位相差tsに基づいて、受光信号F1d、F2d、F3bdのうち、位相差tddの算出に使用する受光信号を選択する。すなわち、差分位相差tsがTw以内であれば、第2の測距光の反射光は第1の測距光の0〜πの位相の間に存在することから、受光信号F1d、F2dを選択する。そして下記の式(14)により位相差tddを算出する。
【0116】
tdd=Tw×F2d/F1d (14)
差分位相差tsがTwより大きく2Tw以内であれば、第2の測距光の反射光は第1の測距光のπ/2〜3π/2の位相の間に存在することから、受光信号F1d、F2dを選択する。そして下記の式(15)により位相差tddを算出する。
【0117】
tdd=Tw+Tw×(1−F1d/F2d) (15)
差分位相差tsが2Twより大きく3Tw以内であれば、第2の測距光の反射光は第1の測距光のπ〜2π(すなわち0)の位相の間に存在することから、受光信号F2d、F3dを選択する。そして下記の式(16)により位相差tddを算出する。
【0118】
tdd=2Tw+Tw×(1−F2d/F3d) (16)
さらに、差分位相差tsが3Twより大きく4Tw以内であれば、第2の測距光の反射光は第1の測距光の3π/2〜π/2(次の周期)の位相の間に存在することから、受光信号F3d、F1dを選択する。そして下記の式(17)により位相差tddを算出する。
【0119】
tdd=3Tw+Tw×F1d/(F3d+F1d) (17)
そして、位相差tddを用いて上記式(7)により受光素子毎に被写体までの距離を表す距離情報D1を算出する。
【0120】
なお、差分位相差がtr≦T/2の場合には、2つの受光信号F1d、F2dのみしか取得されないが、ts≦2Twとなるため、必ず式(14)、(15)により位相差tddが算出される。
【0121】
次いで、第4の実施形態において行われる処理について説明する。図12および図13は第4の実施形態において行われる処理を示すフローチャートである。撮影指示が行われることによりCPU32が処理を開始し、撮像部2がCPU32からの指示により、測距光源16から第1の測距光を被写体に向けて発光し(ステップST51)、さらに第1の測距光の被写体による反射光を第1の測距光における連続した0、π/2、πの位相において受光して、3つの受光信号F1c、F2c、F3cを取得する(ステップST52)。次いで、距離画像生成部31が、3つの受光信号F1c、F2c、F3cから上記式(13)により、位相差tdcを受光素子単位で算出する(ステップST53)。さらに、距離画像生成部31は位相差tdcの最大位相差t2と最小位相差t1との差分位相差trを算出する(ステップST54)。
【0122】
そして、撮像部2の撮像制御部19が、第2の測距光の発光開始位相を第1の測距光よりも最小位相差t1分早くなるように設定し(ステップST55)、差分位相差trの範囲を判定する(ステップST56)。
【0123】
tr≦T/2の場合は、撮像制御部19は、位相が0およびπ/2の受光期間2Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST57)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST58)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2の位相において受光して、2つの受光信号F1d、F2dを取得する(ステップST59)。
【0124】
また、T/2<trの場合は、撮像制御部19は、位相が0、π/2およびπの受光期間2Twにおいて反射光を受光するよう、CCD13の各受光素子の受光期間を設定する(ステップST60)。そして、測距光源16から第2の測距光を被写体に向けて発光し(ステップST58)、さらに第2の測距光の被写体による反射光を、設定した受光期間に対応する0、π/2、πの位相において受光して、3つの受光信号F1d、F2d、F3dを取得する(ステップST61)。
【0125】
続いて、距離画像生成部31が、位相差tdcと最小位相差t1との差分位相差tsを算出し(ステップST62)、差分位相差tsの範囲を判定する(ステップST63)。
【0126】
ts≦Twの場合は上記式(14)により位相差tddを算出する(ステップST64)。Tw<ts≦2Twの場合は上記式(15)により位相差tddを算出する(ステップST65)。2Tw<ts≦3Twの場合は上記式(16)により位相差tddを算出する(ステップST66)。そして、3Tw<ts≦4Twの場合は上記式(17)により位相差tddを算出する(ステップST67)。
【0127】
次いで、距離画像生成部31は上記式(7)により距離情報D1を算出し(ステップST68)、距離情報D1を各画素の画素値とする距離画像S1を生成する(ステップST69)。そして、メディア制御部26が距離画像S1の画像データを記録メディア29に記録し(ステップST70)、処理を終了する。
【0128】
なお、上記第4の実施形態においては、第3の実施形態と同様に、受光信号F1c、F2c、F3cから外光成分kを算出し、受光信号F1d,F2d,F3dを外光成分kにより補正して位相差tddを算出するようにしてもよい。この場合、外光成分kは下記の式(18)により算出される。
【0129】
k=(F1c+F3c)/2
−√{(F1c−F2c)2+(F2c−F3c)2} (18)
なお、上記各実施形態においては、第1の測距光を正弦波により変調しているが、三角波、パルス波等、一定の周期で変調するものであれば、どのように変調を行ってもよい。
【0130】
また、上記各実施形態においては、測距装置1内において距離画像を生成しているが、距離画像生成部31を装置1外に設け、入出力部33から受光信号を外部の距離画像生成部31に出力して距離画像を生成するようにしてもよい。
【0131】
以上、本発明の実施形態に係る測距装置について説明したが、コンピュータを、上記の距離画像生成部31に対応する手段として機能させ、図5,6,8,10,12,13に示すような処理を行わせるプログラムも、本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の1つである。
【図面の簡単な説明】
【0132】
【図1】第1の実施形態による測距装置の構成を示す概略ブロック図
【図2】測距光源の構成の構成を示す概略ブロック図
【図3】第1の実施形態における位相差の算出を説明するための図
【図4】受光期間の設定を説明するための図
【図5】第1の実施形態において行われる処理を示すフローチャート(その1)
【図6】第1の実施形態において行われる処理を示すフローチャート(その2)
【図7】2つの受光期間に跨る受光信号を示す図
【図8】第2の実施形態において行われる処理を示すフローチャート
【図9】外光成分を説明するための図
【図10】第3の実施形態において行われる処理を示すフローチャート
【図11】第4の実施形態における位相差の算出を説明するための図
【図12】第4の実施形態において行われる処理を示すフローチャート(その1)
【図13】第4の実施形態において行われる処理を示すフローチャート(その2)
【符号の説明】
【0133】
1 測距装置
2 撮像部
13 CCD
16 測距光源
19 撮像制御部
31 距離画像生成部
32 CPU
【特許請求の範囲】
【請求項1】
所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段と、
前記第1の測距光を発光し、該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出し、該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光し、該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択するよう、前記測距光発光手段、前記撮像手段、前記受光制御手段および前記距離情報算出手段を制御する制御手段とを備えたことを特徴とする測距装置。
【請求項2】
前記測距光発光手段は、前記複数の受光素子について算出した複数の位相差のうち、最小位相差分前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相から早めて、前記第2の測距光を発光する手段であり、
前記受光制御手段は、前記複数の位相差のうち、最大位相差と前記最小位相差との差分位相差が大きいほど、より多くの受光期間において前記第2の受光信号を取得する手段であることを特徴とする請求項1記載の測距装置。
【請求項3】
前記距離情報算出手段は、前記位相差と前記最小位相差との差分位相差に基づいて、前記複数の第2の受光信号のうち、前記距離情報の算出に使用する第2の受光信号を選択する手段であることを特徴とする請求項1または2記載の測距装置。
【請求項4】
前記測距光発光手段は、前記第2の測距光を、前記第1の測距光の変調周期と同一周期にて、該第1の測距光の変調周期よりも短い期間発光する手段であることを特徴とする請求項1から3のいずれか1項記載の測距装置。
【請求項5】
前記測距光発光手段は、前記第2の測距光を、前記第1の測距光の変調周期の1/4の期間発光する手段であり、
前記受光制御手段は、前記第2の測距光の反射光の受光期間を、前記第1の測距光の変調周期の1/4期間または1/2期間となるように制御する手段であることを特徴とする請求項1から4のいずれか1項記載の測距装置。
【請求項6】
前記距離情報算出手段は、前記選択した第2の受光信号が複数の受光期間に跨る場合、信号レベルが大きい受光期間側の第2の受光信号を前記距離情報の算出に使用する手段であることを特徴とする請求項1から5のいずれか1項記載の測距装置。
【請求項7】
前記距離情報算出手段は、前記複数の第1の受光信号に基づいて外光成分を表す外光信号を算出し、該外光信号により、前記選択した第2の受光信号を補正する手段であることを特徴とする請求項1から6のいずれか1項記載の測距装置。
【請求項8】
所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段とを備えた測距装置における測距方法であって、
前記第1の測距光を発光し、
該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、
前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出し、
該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光し、
該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、
前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択することを特徴とする測距方法。
【請求項9】
所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段とを備えた測距装置における測距方法をコンピュータに実行させるためのプログラムであって、
前記第1の測距光を発光する手順と、
該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得する手順と、
前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出する手順と、
該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光する手順と、
該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得する手順と、
前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択する手順とを有することを特徴とするプログラム。
【請求項1】
所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段と、
前記第1の測距光を発光し、該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出し、該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光し、該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択するよう、前記測距光発光手段、前記撮像手段、前記受光制御手段および前記距離情報算出手段を制御する制御手段とを備えたことを特徴とする測距装置。
【請求項2】
前記測距光発光手段は、前記複数の受光素子について算出した複数の位相差のうち、最小位相差分前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相から早めて、前記第2の測距光を発光する手段であり、
前記受光制御手段は、前記複数の位相差のうち、最大位相差と前記最小位相差との差分位相差が大きいほど、より多くの受光期間において前記第2の受光信号を取得する手段であることを特徴とする請求項1記載の測距装置。
【請求項3】
前記距離情報算出手段は、前記位相差と前記最小位相差との差分位相差に基づいて、前記複数の第2の受光信号のうち、前記距離情報の算出に使用する第2の受光信号を選択する手段であることを特徴とする請求項1または2記載の測距装置。
【請求項4】
前記測距光発光手段は、前記第2の測距光を、前記第1の測距光の変調周期と同一周期にて、該第1の測距光の変調周期よりも短い期間発光する手段であることを特徴とする請求項1から3のいずれか1項記載の測距装置。
【請求項5】
前記測距光発光手段は、前記第2の測距光を、前記第1の測距光の変調周期の1/4の期間発光する手段であり、
前記受光制御手段は、前記第2の測距光の反射光の受光期間を、前記第1の測距光の変調周期の1/4期間または1/2期間となるように制御する手段であることを特徴とする請求項1から4のいずれか1項記載の測距装置。
【請求項6】
前記距離情報算出手段は、前記選択した第2の受光信号が複数の受光期間に跨る場合、信号レベルが大きい受光期間側の第2の受光信号を前記距離情報の算出に使用する手段であることを特徴とする請求項1から5のいずれか1項記載の測距装置。
【請求項7】
前記距離情報算出手段は、前記複数の第1の受光信号に基づいて外光成分を表す外光信号を算出し、該外光信号により、前記選択した第2の受光信号を補正する手段であることを特徴とする請求項1から6のいずれか1項記載の測距装置。
【請求項8】
所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段とを備えた測距装置における測距方法であって、
前記第1の測距光を発光し、
該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得し、
前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出し、
該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光し、
該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得し、
前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択することを特徴とする測距方法。
【請求項9】
所定周期にて強度が時間的に変化するように変調された第1の測距光、および前記所定周期にて強度が一定のパルス波状に変調された第2の測距光を切換可能に発光する測距光発光手段と、
受光光量に応じた受光信号を出力する複数の受光素子を有する撮像手段と、
前記撮像手段の受光期間を制御する受光制御手段と、
前記受光信号に基づいて、被写体までの距離を表す距離情報を前記受光素子毎に算出する距離情報算出手段とを備えた測距装置における測距方法をコンピュータに実行させるためのプログラムであって、
前記第1の測距光を発光する手順と、
該第1の測距光の変調周期における位相が異なる複数の受光期間において複数の第1の受光信号を取得する手順と、
前記複数の第1の受光信号に基づいて、前記第1の測距光と該第1の測距光の反射光との位相差を前記受光素子毎に算出する手順と、
該位相差に基づいて前記第2の測距光の発光開始位相を前記第1の測距光の発光開始位相とは異なるように変更して該第2の測距光を発光する手順と、
該第2の測距光の変調周期における前記位相差に応じた複数の受光期間において複数の第2の受光信号を取得する手順と、
前記複数の第1の受光信号に基づいて、前記距離情報の算出に使用する第2の受光信号を選択する手順とを有することを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2009−103627(P2009−103627A)
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2007−277142(P2007−277142)
【出願日】平成19年10月25日(2007.10.25)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【復代理人】
【識別番号】100104189
【弁理士】
【氏名又は名称】福尾 勲将
【Fターム(参考)】
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願日】平成19年10月25日(2007.10.25)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【復代理人】
【識別番号】100104189
【弁理士】
【氏名又は名称】福尾 勲将
【Fターム(参考)】
[ Back to top ]