(57)【特許請求の範囲】
【請求項１】
対象物までの距離を測定する測距装置であって、
２つの撮像手段と、
前記２つの撮像手段のうち一方の撮像手段により撮像された画像に対し、視差算出の対象画像のサイズに応じて、視差算出画素を選択するための複数の処理から１つを決定する決定手段と、
前記決定手段により決定された処理に基づき、前記対象画像から視差算出画素を選択する選択手段と、
前記選択手段により選択された視差算出画素と、他の撮像手段により撮像された画像のうち、前記選択された視差算出画素に対応する画素とを用いて視差データを算出する算出手段と、を有し、
前記処理は、前記対象画像の所定ブロック内の画素のテクスチャ特性を検出する検出処理であり、
前記検出処理は、精度の高いテクスチャ特性を検出する第１検出処理、又は簡易的なテクスチャ特性を検出する第２検出処理であり、
前記選択手段は、
前記検出処理により検出されたテクスチャ特性の値に応じて視差算出画素を選択し、
前記決定手段は、
前記対象画像のサイズがサイズ閾値より大きい場合、前記第１検出処理に決定し、前記対象画像のサイズが閾値より小さい場合、前記第２検出処理に決定する、測距装置。
【請求項２】
前記選択手段は、
視差算出に要求される処理速度に応じて、選択する視差算出画素の数を決定する請求項１記載の測距装置。
【請求項３】
前記選択手段は、
前記検出処理により検出されたテクスチャ特性の値がテクスチャ閾値以上である画素を選択する請求項１記載の測距装置。
【請求項４】
前記選択手段は、
前記検出処理により検出されたテクスチャ特性の値が高い順に所定数選択する請求項１記載の測距装置。
【請求項５】
前記第１検出処理は、視差計算を行う画素および該画素のまわりの複数の画素の情報に基づいた処理であり、
前記第２検出処理は、視差計算を行う画素および隣接する単一の画素のみの情報に基づいた処理である、請求項１ないし４のいずれか１項に記載の測距装置。
【請求項６】
２つの撮像手段と、
前記２つの撮像手段のうち一方の撮像手段により撮像された画像に対し、視差算出の対象画像のサイズに応じて、視差算出画素を選択するための複数の処理から１つを決定する決定手段と、
前記決定手段により決定された処理により、前記対象画像から視差算出画素を選択する選択手段と、
前記選択手段により選択された視差算出画素と、他の撮像手段により撮像された画像のうち、前記選択された視差算出画素に対応する画素とを用いて視差データを算出する視差算出手段と、
前記視差算出手段により算出された視差データに基づく距離を算出する距離算出手段と、
前記距離算出手段により算出された距離に基づきオートフォーカスを制御する制御手段と、を有し、
前記処理は、前記対象画像の所定ブロック内の画素のテクスチャ特性を検出する検出処理であり、
前記検出処理は、精度の高いテクスチャ特性を検出する第１検出処理、又は簡易的なテクスチャ特性を検出する第２検出処理であり、
前記選択手段は、
前記検出処理により検出されたテクスチャ特性の値に応じて視差算出画素を選択し、
前記決定手段は、
前記対象画像のサイズがサイズ閾値より大きい場合、前記第１検出処理に決定し、前記対象画像のサイズが閾値より小さい場合、前記第２検出処理に決定する、撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測距装置及び撮像装置に関する。
【背景技術】
【０００２】
近年、デジタルカメラや車載カメラなどのリアルタイム処理が要求される組み込み環境で、ステレオカメラのような測距装置を利用することが実用化されてきている。例えば、デジタルカメラにおいて、ステレオカメラを高速オートフォーカスに利用するという技術がある。
【０００３】
従来のデジタルカメラのオートフォーカスにおいては、少しずつフォーカスを変えてそのたびに画像を取得し、それらの画像のコントラストを比較して、最も高いコントラストを持つフォーカス位置を最適のフォーカス位置に決定していた。
【０００４】
しかしながら、前述した方法では、フォーカス位置を変えて多くの画像を撮像しなければならないため、処理時間がかかるという問題がある。これに対して、ステレオカメラを測距装置としてオートフォーカス用に利用し、一度の撮像で被写体までの距離を取得することで、その距離にあわせたフォーカス位置を算出する方法がある。この方法を用いると、一度の撮像処理で最適のフォーカス位置を算出できるために、高速なオートフォーカス処理が可能になる。
【０００５】
例えば、特許文献１（特開平７−２２５１２７）には、ステレオカメラとして測距精度を出しやすい縦に並んだ水平エッジ（以降、単に縦エッジと呼ぶ）を検出し、その縦エッジ部の視差データを算出する方法が開示されている。
【０００６】
また、特許文献２（特開２００９−１４４４４）には、エッジ検出部が検出したエッジ情報を用いて、処理領域設定部が、物体が存在する可能性のある候補領域を切出し、その切出した候補領域に対して、対応領域探索部がＰＯＣ法などで視差を算出するという方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来技術をデジタルカメラに適用すると、測距装置を利用する方法では、測距した結果でメインの撮像素子側を制御することになる。よって、デジタルカメラとしてのメインの撮像素子の撮像画角に、測距処理用の撮像画像の画角をあわせることが大きな課題になる。デジタルカメラでは、６°〜６０°の大きな画角変動範囲をもつことが一般的である。このような画角変動（ズーム）は、筐体を動作させてレンズの焦点距離を動かす機械的な機構で実現される（光学ズーム）か、画像処理のような電子的処理によって実現される（電子ズーム）。
【０００８】
しかしながら、オートフォーカス用の測距装置側に対しても光学ズーム機構を持たせようとすると、大きなコストアップにつながり、また筐体におけるスペースも必要になる。電子ズーム機構の場合は、処理時間がかかること、高速で実現しようとするとコストアップにつながることが問題になる。
【０００９】
以上を踏まえると、オートフォーカス用の測距装置に対しては、ひとつの画角・焦点距離で、メインの撮像素子側の画角変動範囲全体をカバーできることが望ましい。ただし、そのような構成の場合、図１に示すように、メインの撮像画像のさまざまな画角に対して、対応するオートフォーカス撮像画像内の対応画像領域が大きく異なってしまう。
【００１０】
図１は、オートフォーカス撮像画像内の対応画像領域が異なる例を示す図である。図１（Ａ）は、オートフォーカス撮像画角＜メイン撮像画角の場合のそれぞれの画像の例を示す。図１（Ａ）に示すように、メイン撮像画角が大きい場合、つまり近傍撮影時には、メイン撮像画像は、オートフォーカス撮像画像の視差算出対象の対応画像よりも大きくなる。
【００１１】
図１（Ｂ）は、オートフォーカス撮像画角＝メイン撮像画角の場合のそれぞれの画像の例を示す。図１（Ｂ）に示すように、オートフォーカス撮像画像とメイン撮像画像とは同じ画像サイズになる。
【００１２】
図１（Ｃ）は、オートフォーカス撮像画角＞メイン撮像画角の場合のそれぞれの画像の例を示す。図１（Ｃ）に示すように、メイン撮像画角が小さい場合、つまり望遠撮影時には、オートフォーカス撮像画像の視差算出対象の対応画像領域は小さくなる。
【００１３】
ここで、対応画像領域から視差データを高速に算出するために、対応画像領域から視差算出画素を間引く方法がある。しかし、画素を間引いて、視差データを計算する画素を選択する処理方法では、所定のアルゴリズムを利用して、閾値の値を変更することで画素を間引く率を変更している。このような手法では、図１（Ｃ）に示すように、オートフォーカス側の画像が小さく、画素をそれほど間引きたくないときの処理時間を効率化したい要求がある。また、図１（Ａ）に示すように、オートフォーカス側の画像が大きすぎるために視差算出画素数を減らす必要があり、そのために画素を多く間引くが、その間引く方法には精度が高くテクスチャ特性の高い画素を選択したい、という要求がある。
【００１４】
従来技術では、このような並列する異なる要求に対応できず、視差算出にかかる処理時間を考慮して視差算出に用いる画素を適切に選択することができないという問題点があった。
【００１５】
そこで、本発明は上記問題点に鑑みてなされたものであり、視差算出にかかる処理時間を考慮して、視差算出に用いる画素を適切に選択することができる測距装置及び撮像装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の一観点における測距装置は、対象物までの距離を測定する測距装置であって、２つの撮像手段と、前記２つの撮像手段のうち一方の撮像手段により撮像された画像に対し、視差算出の対象画像のサイズに応じて、視差算出画素を選択するための複数の処理から１つを決定する決定手段と、前記決定手段により決定された処理に基づき、前記対象画像から視差算出画素を選択する選択手段と、前記選択手段により選択された視差算出画素と、他の撮像手段により撮像された画像のうち、前記選択された視差算出画素に対応する画素とを用いて視差データを算出する算出手段と、を備える。
【００１７】
また、本発明の他の観点における撮像装置は、２つの撮像手段と、前記２つの撮像手段のうち一方の撮像手段により撮像された画像に対し、視差算出の対象画像のサイズに応じて、視差算出画素を選択するための複数の処理から１つを決定する決定手段と、前記決定手段により決定された処理により、前記対象画像から視差算出画素を選択する選択手段と、前記選択手段により選択された視差算出画素と、他の撮像手段により撮像された画像のうち、前記選択された視差算出画素に対応する画素とを用いて視差データを算出する視差算出手段と、前記視差算出手段により算出された視差データに基づく距離を算出する距離算出手段と、前記距離算出手段により算出された距離に基づきオートフォーカスを制御する制御手段と、を備える。
【発明の効果】
【００１８】
本発明によれば、視差算出にかかる処理時間を考慮して、視差算出に用いる画素を適切に選択することができる。
【図面の簡単な説明】
【００１９】
【図１】オートフォーカス撮像画像内の対応画像領域が異なる例を示す図。
【図２】測距装置の原理図。
【図３】本発明における測距装置の構成の一例を示すブロック図。
【図４】テクスチャ検出処理部の機能の一例を示すブロック図。
【図５】テクスチャ特性値（その１）を説明するための図。
【図６】テクスチャ特性値（その２）を説明するための図。
【図７】実施例１における視差データ算出処理の一例を示すフローチャート。
【図８】撮像装置の構成の一例を示すブロック図。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照し、本発明の実施例について説明する。まず、測距装置における、画像内に含まれる対象物までの距離を検出する方法について説明する。測距装置は、例えばステレオカメラである。測距装置は、２つの撮像部により得られる２つの撮像画像に基づいて、撮像画像内に含まれる対象物までの距離を検出する装置である。
【００２１】
図２は、測距装置の原理図である。図２に示すように、測距装置は、撮像部１と撮像部２とを有する。撮像部１，２は、例えばカメラである。図２では、ピンホールカメラを例に挙げて説明する。基線長（撮像部１と撮像部２の距離）をＢ、２つの撮像部の焦点距離をｆ、撮像部１，２から測定対象物３までの距離をＺとする。
【００２２】
２つの撮像部の光軸は、互いに平行であり、基線に対して垂直である。２つの撮像部の撮像面には測定対象物３がｐだけずれた位置に映る。このｐは、左右のカメラにおける対応する点間の距離であり視差と呼ぶ。視差の大きさは画素単位で表される事が多い。
【００２３】
これらＺ、Ｂ、ｆ、ｐの値を用いて三角形の相似の関係から式（１）で撮像部１，２から測定対象物３までの距離Ｚが求まる。
Ｚ＝Ｂ×ｆ／ｐ      ・・・式（１）
このとき、視差ｐは、視差を算出する画素ごとに１画素ずつずらして相関値を計算し、それを比較することによって算出される。そのため、処理に膨大な時間がかかることが知られている。例えば、１画素ごとに視差ｐを探索するための画素をずらして探索する長さ（探索幅）が６４画素だとすると、ある画像を処理するための処理時間は、１画素分の視差を探索するために１クロックサイクルかかるとしても、１画像を処理するために６４倍の処理時間がかかってしまう。
【００２４】
一般に１画素分の相関値を計算するために１クロックサイクルで処理が実現されるということは不可能であり、これは相関をとるブロックサイズによって指数的にさらに増大する。このため、視差計算時間を短縮することは大きな課題となっている。この視差計算時間を算出する概算式を式（２）で表す。
１画像分の視差計算時間＝視差算出画素数×（１画素の相関計算時間×探索幅）・・・式（２）
視差計算時間を減らす課題に対し、
・視差算出画素数を減らす
・１画素の相関計算時間を減らす
・探索幅を減らす
ことが考えられる。
【００２５】
探索幅は、ターゲットとなる測距範囲によって決定されるものである。１画素の相関計算時間は、短縮するためにハードウェアのリソースが大きく必要となるためコストが高くなる。相関計算時間のアルゴリズムを短縮した場合は、精度が劣化する傾向にある。
【００２６】
そこで、本発明では、視差算出画素数を効率よく減らすこと（視差算出画素を効率よく選択すること）を目的とする。この視差算出画素を選択するための処理を、以下ではテクスチャ検出処理、そのためのアルゴリズムを、テクスチャ検出アルゴリズムと呼ぶ。本発明は、このテクスチャ検出アルゴリズムを適宜切り替える。
【００２７】
［実施例１］
＜構成＞
図３は、本発明における測距装置の構成の一例を示すブロック図である。図３に示す測距装置１０は、撮像部１、撮像部２、画像取込部４、メモリ５、テクスチャ検出処理部６、視差算出部７、距離算出部８を含む。
【００２８】
撮像部１，２は、予め基線間隔がＢだけ離間し、かつ光軸が相互に平行になるように配置される。撮像部１，２は例えばカメラである。
【００２９】
画像取込部４は、撮像部１，２により撮像された画像を取得し、メモリ５に出力する。メモリ５は、画像取込部４から入力された画像を記憶する。メモリ５は例えばＲＡＭ（Random Access Memory）などである。
【００３０】
テクスチャ検出処理部６は、撮像部１により撮像された画像を取得する。本実施例では、撮像部１により撮像された画像を基準画像とする。テクスチャ検出処理部６は、基準画像の視差算出に用いる対象画像などに基づき、視差算出画素を効率よく選択する。テクスチャ検出処理部６の詳細は、図４を用いて説明する。
【００３１】
図４は、テクスチャ検出処理部６の機能の一例を示すブロック図である。図４に示すテクスチャ検出処理部６は、決定部１１、切替部１２、第１検出処理部１３、第２検出処理部１４、選択部１５を含む。
【００３２】
決定部１１は、基準画像を取得し、基準画像内における、視差を算出するための対象画像に基づき、視差を算出するための画素を選択するための処理（テクスチャ検出処理）を決定する。以下、視差を算出するための画素を視差算出画素という。
【００３３】
決定部１１は、視差を算出するための対象画像が所定のサイズ（サイズ閾値）よりも大きければ第１検出処理部１３に決定し、対象画像が所定のサイズ以下であれば第２検出処理部１４に決定する。サイズ閾値は、例えば２００×１００である。また、決定部１１は、サイズ閾値を複数記憶し、３以上の検出処理部の中から１つの検出処理部を選択するようにしてもよい。
【００３４】
決定部１１は、視差算出画素数によりテクスチャ検出アルゴリズムを決定してもよい。例えば、決定部１１は、視差算出にかかった過去の処理時間に基づく今回要求される処理時間（例えば数ミリセック）により視差算出画素数を決定し、この視差算出画素数が所定数（画素閾値）よりも大きければ第２検出処理部１４、所定数以下であれば第１検出処理部１３に決定してもよい。要求される処理時間は、アプリケーションとデバイスの処理能力により決まる。例えば、高速オートフォーカスによれば、０．１秒〜０．７秒の処理時間が要求され、そのうちの所定数の時間が視差算出にかかる処理時間として要求される。
【００３５】
これは、視差算出画素数が所定数以下であれば、それだけ多くの画素を間引くことになるので第１検出処理部１３を適用し、所定数よりも視差算出画素数が大きければ、それほど画素を間引く必要がないので第２検出処理部１４を適用するという考えに基づく。
【００３６】
また、決定部１１は、対象画像のサイズと、決定される視差算出画素数とに基づいて、対象画像から多くの画素を間引く必要があると判断すれば第１検出処理部１３に決定し、対象画像から画素を間引く数が少ないと判断すれば第２検出処理部１４に決定してもよい。
【００３７】
切替部１２は、決定部１１の決定内容により、いずれかの検出処理部に接続する。この切替部１２は、説明の便宜上ハードウェア的に説明するが、プログラムの条件分岐による切り替えを行うソフトウェアで実装してもよい。
【００３８】
第１検出処理部１３は、視差を算出するための対象画像が大きい場合に適用されるテクスチャ特性の検出処理である。第１検出処理部１３は、高度なテクスチャ検出アルゴリズムを適用し、テクスチャ特性値を算出する。
【００３９】
図５は、テクスチャ特性値（その１）を説明するための図である。図５に示す例では、視差計算を行うブロックサイズを９×９とした場合、テクスチャを検出するブロックサイズも９×９とした例である。なお、視差計算を行うブロックサイズと、テクスチャを検出するブロックサイズとは必ずしも一致させる必要はない。
【００４０】
第１検出処理部１３は、図５に示す例によれば、テクスチャ特性値を式（３）により算出する。
【００４１】
【数１】
0005454392.tif 000002
ただし、（ｉ，ｊ）：画素位置
ｘ（ｉ，ｊ）：（ｉ，ｊ）の輝度値
ａ：水平５ＴＡＰ係数、ａ（０）が中心の係数とする
ｂ：５×３ブロックフィルタ係数、ｂ（０，０）が中心の係数とする
ω１：水平５ＴＡＰ計算用重み係数
ω２：５×３ブロックフィルタ用重み係数
図５に示すテクスチャ特性値のテクスチャ検出アルゴリズムは、視差計算を行うブロック（９×９の画素ブロック）内で、水平エッジがどれくらい含まれているかという情報と、視差計算を行う中心の画素のまわりに縦ラインがどれくらい続くか（水平エッジがどれくらい縦に続いているか）という情報によって、テクスチャレベルを評価するアルゴリズムである。
【００４２】
このアルゴリズムでは、たとえば５×３のブロックフィルタのパタンを変えることによって、縦エッジだけでなく、斜め線など、さまざまなパタンに対応することができる。対象画像のサイズが大きい場合は、多くの画素を間引く必要があるので、このようなアルゴリズムを使って、精度の高いテクスチャ特性値が算出される。これにより、視差算出を行うのに、精度の高いテクスチャ特性値に基づく理想的な画素を選択することができる。第１検出処理部１３は、算出したテクスチャ特性値を対象画像と共に選択部１５に出力する。
【００４３】
第２検出処理部１４は、視差を算出するための対象画像のサイズが小さい場合に適用されるテクスチャ特性の検出処理である。第２検出処理部１４は、処理速度優先の簡易的なテクスチャ検出アルゴリズムを適用し、テクスチャ特性値を算出する。
【００４４】
図６は、テクスチャ特性値（その２）を説明するための図である。図６に示す例では、対象画像の中の画素に対し、シンプルなテクスチャ検出アルゴリズムでテクスチャ特性値を算出する。
【００４５】
第２検出処理部１４は、図６に示す例によれば、テクスチャ特性値を式（４）により算出する。
【００４６】
【数２】
0005454392.tif 000003
ただし、（ｉ，ｊ）：画素位置
ｘ（ｉ，ｊ）：（ｉ，ｊ）の輝度値
図６に示す例では、隣接する画素の輝度値の差分の絶対値を算出してテクスチャ特性値とする。対象画像のサイズが小さい場合には、それほど画素を間引く必要がないので、処理速度を優先して簡易的にテクスチャ特性値が算出される。第２検出処理部１４は、算出したテクスチャ特性値を対象画像と共に選択部１５に出力する。
【００４７】
第１検出処理部１３、第２検出処理部１４は、１つの検出処理部１６として構成されてもよい。この検出処理部１６は、３つ以上の検出処理を備えてもよい。
【００４８】
選択部１５は、第１検出処理部１３や第２検出処理部１４により取得したテクスチャ特性値に基づいて、対象画像から視差算出画素を選択する。選択部１５は、例えば、第１検出処理部１３からテクスチャ特性値を取得した場合、取得したテクスチャ特性値が第１閾値（テクスチャ閾値）以上であれば、そのテクスチャ特性値に対応する画素を視差算出画素として選択する。選択されなかった画素は間引かれることになる。
【００４９】
また、選択部１５は、第１検出処理部１３からテクスチャ特性値を取得した場合、選択する視差算出画素数を決めておき、取得したテクスチャ特性値の上位から視差算出画素数分のテクスチャ特性値に対応する画素を選択するようにしてもよい。これにより、一定数以上の画素を選択することができ、後処理でまとまった数の画素を用いることができる。
【００５０】
選択部１５は、例えば、第２検出処理部１４からテクスチャ特性値を取得した場合、取得したテクスチャ特性値が第２閾値（テクスチャ閾値）以上であれば、そのテクスチャ特性値に対応する画素を視差算出画素として選択する。選択されなかった画素は間引かれることになる。
【００５１】
選択部１５は、第１閾値と第２閾値とをそれぞれに適するように異ならせてもよい。また、第１閾値及び第２閾値は、それぞれの対象画像または基準画像の輝度のヒストグラムに応じて適宜変更してもよい。対象画像が明るめの画像であれば閾値は高くなり、暗めの画像であれば閾値は低く設定される。この閾値は実験により最適な値に設定される。
【００５２】
なお、選択部１５は、視差算出にかかる処理時間に応じて、視差算出画素数に制限を加えてもよい。例えば視差算出にかかる処理時間が５ｍｓｅｃ（ミリセック）であれば、選択部１５は、１２００点の画素が選択されるようにする。選択部１５は、５ミリセックで１２００点を基準にし、視差算出にかかる処理時間に比例して視差算出画素数を決定するようにすればよい。選択部１５は、選択した視差算出画素（又はその輝度値）を視差算出部７に出力する。
【００５３】
図３に戻り、視差算出部７は、テクスチャ検出処理部６により選択された視差算出画素を取得する。視差算出部７は、取得した視差算出画素に対応する画素である、撮像部２により撮像された画像の画素をメモリ５から取得する。撮像部２により撮像された画像を比較画像という。
【００５４】
視差算出部７は、基準画像の視差算出画素と、比較画像の視差算出画素に対応する画素とに基づいて、視差データを算出する。視差算出部７は、式（５）により視差データを算出する。式（５）では、図５に示す例に合わせて、視差計算を行うブロックサイズを９×９として視差データが算出される。
【００５５】
【数３】
0005454392.tif 000004
ただし、Ｉ（ｉ，ｊ）：視差算出画素の輝度値
Ｃ（ｉ，ｊ）：視差算出画素に対応する比較画像の画素の輝度値
なお、視差算出部７は、視差データ算出に用いるアルゴリズムは式（５）に示すようにＳＡＤ（Sum of Absolute Difference）に限らず、２つの画素ブロックの相関を比較するものであれば適用できる。視差算出部７は、算出した視差データを距離算出部８に出力する。
【００５６】
距離算出部８は、視差算出部７から取得した視差データを視差ｐとし、式（１）により、距離Ｚを求める。この距離Ｚが、対象物までの距離を示す。
【００５７】
＜動作＞
次に、実施例１における測距装置の動作について説明する。図７は、実施例１における視差データ算出処理の一例を示すフローチャートである。図７に示すステップＳ１０１で、決定部１１は、視差算出画素数及び／又は対象画像のサイズを取得する。決定部１１は、視差算出画素数を自ら求めてもよいし、例えばメモリ５に記憶される場合は、メモリ５から視差算出画素数を取得してもよい。
【００５８】
ステップＳ１０２で、決定部１１は、取得した対象画像のサイズ及び／又は視差算出画素数からテクスチャ検出アルゴリズムを決定する。決定の仕方は前述した通りである。
【００５９】
ステップＳ１０３で、検出処理部１６は、決定されたテクスチャ検出アルゴリズムによりテクスチャ特性値を算出する。例えば、テクスチャ特性値は、式（３）や式（４）により算出される。
【００６０】
ステップＳ１０４で、選択部１５は、算出されたテクスチャ特性値に基づき、視差算出画素を選択する。例えば、選択部１５は、対象画像のサイズが大きければ、多くの画素を間引くようにして視差算出画素を選択する。このとき用いるテクスチャ特性値は精度の高いアルゴリズムにより求められた値である。また、選択部１５は、対象画像のサイズが小さければ、間引く画素を少なくして視差算出画素を選択する。このとき用いるテクスチャ特性値は処理時間を優先した簡易的なアルゴリズムにより求められた値である。
【００６１】
ステップＳ１０５で、視差算出部７は、選択された視差算出画素の輝度値と、比較画像のうち、視差算出画素に対応する画素の輝度とを用いて、視差データを算出する。
【００６２】
これにより、間引く数が多い場合は、精度の高いアルゴリズムにより求められたテクスチャ特性値により視差算出画素を選択できる。一方、間引く画素が少ない場合は、簡易的なアルゴリズムにより求められたテクスチャ特性値により視差算出画素を選択できる。
【００６３】
以上、実施例１によれば、視差算出にかかる処理時間を考慮して視差算出に用いる画素を適切に選択することができる。また、利用する対象画像サイズに応じて（対応画角）、適用するテクスチャ検出アルゴリズムを切り替えることができるため、光学ズームや電子ズームなしで広い画角範囲に対応する視差算出を効率的に実行することが可能になる。また、視差計算の処理速度、コスト削減、距離検出精度を考慮した測距装置を提供することが可能になる。
【００６４】
また、実施例１によれば、対象画像のサイズごとに、適用するテクスチャ検出アルゴリズムをあらかじめ規定しておくため、画像サイズが大きい場合には、数多くの画素を間引くことになり、テクスチャ検出アルゴリズムとして検出精度の高いアルゴリズムを採用することができる。一方、対象画像のサイズが小さい場合には、ほとんど画素を間引く必要がないため、シンプルなテクスチャ検出アルゴリズムで、すぐに視差計算の実効処理に移行することができる。
【００６５】
また、実施例１によれば、前述した処理を実現することにより、大きな対象画像に対して視差を算出する場合でも、高精度を保ちつつ画素を多く間引くため膨大な処理時間がかかることを避けることができる。また、小さな対象画像に対して視差を算出する場合でも、情報量を減らすことなく高速に視差計算をすることができる。
【００６６】
また、実施例１によれば、要求される処理時間を制約として、算出したい視差算出画素数の範囲を決定してもよい。本実施例の測距装置１０は、決定された視差算出画素数と対象画像のサイズとに応じて複数のテクスチャ検出アルゴリズムの中から適切なアルゴリズムを決定することができる。上記実施例では、２つのテクスチャ検出アルゴリズムを用いて説明したが、例えばサイズ閾値を複数用意しておくことで、そのサイズ閾値に応じて複数のテクスチャ検出アルゴリズムの１つを適用してもよい。
【００６７】
なお、テクスチャ検出処理部６、視差算出部７、及び距離算出部８は、例えば測拒装置１０内の演算回路により実現されうる。
【００６８】
［実施例２］
次に、実施例２における撮像装置について説明する。実施例２における撮像装置は、実施例１における測距装置１０を内蔵する撮像装置である。
【００６９】
＜構成＞
図８は、撮像装置３０の構成の一例を示すブロック図である。図８に示す撮像装置３０は、例えばデジタルカメラである。撮像装置３０は、電源３１、被写体３２を撮像する撮影光学系３３、撮像手段３４、プロセッサ３５、測距装置１０、制御手段３７、オートフォーカス手段３８、フォーカス駆動手段３９を有する。
【００７０】
撮像手段３４は、撮影光学系３３により撮像された被写体像を像形成信号に変換してプロセッサ３５とオートフォーカス手段３８とに向けて出力する。
【００７１】
プロセッサ３５は、撮像手段３４からの像形成信号に所定の処理を行って、モニターに出力する。測距装置１０は、実施例１で説明したように、被写体３２までの距離を三角測距の原理に基づき測定する。
【００７２】
制御手段３７は、測距装置１０の測距結果に基づいて後述する制御を行う。オートフォーカス手段３８は、撮像手段３４の像形成信号に基づき後述する制御を行う。
【００７３】
フォーカス駆動手段３９は、撮影光学系３３の一部を光軸方向に移動させて撮像手段３４に形成される被写体像のピント状態を変化させる。
【００７４】
オートフォーカス手段３８は、フォーカス駆動手段３９を制御してピント状態を順次変化させつつ、ピント状態ごとに得られた像形成信号を逐次評価し、この評価値に基づいて所定のピント状態を得る。
【００７５】
制御手段３７は、測距装置１０によって得られた距離に対応するピント状態の近傍のピント範囲で評価を行うようにオートフォーカス手段３８を制御する。
【００７６】
測距装置１０は、実施例１で説明したように、視差算出の対象となる対象画像のサイズなどに応じて、テクスチャ検出アルゴリズムを決定する。測距装置１０は、決定したテクスチャ検出アルゴリズムに基づいて画素を間引き、視差算出画素に基づいて視差データを算出し、視差データに基づき距離を算出する。
【００７７】
オートフォーカス手段３８は、撮影光学系３３のフォーカスレンズ群を可動させてズーム全域を走査範囲として移動させつつ、各フォーカスレンズ群の各レンズ位置における被写体像のコントラストを算出し、全域走査後に最大のコントラストが得られる位置を最適ピント状態の位置すなわち最適焦点位置（合焦位置）として決定している。
【００７８】
この方法は、コントラストＡＦ方式又は山登りＡＦ方式と呼ばれ、実際に被写体像を見ながらフォーカス合わせを行うため、高精度で正確なフォーカス検出を行うことができる。
【００７９】
しかし、その反面、全域走査後に最適ピント位置（合焦位置）を求めるため、合焦するまでに時間がかかるという欠点がある。とりわけ、高倍率のズーム機能を持つ撮像装置３０においてはフォーカスが合焦するまでに時間がかかる。
【００８０】
そこで、制御手段３７は、測距装置１０によって得られた被写体３２までの距離に対応するフォーカスレンズ群のレンズ位置Ａを算出し、そのレンズ位置を中心として±ΔＢの走査範囲（Ａ−ΔＢ〜Ａ＋ΔＢ）を近傍のピント範囲に設定し、この近傍のピント範囲を走査範囲とするように、オートフォーカス手段３８を制御する。すなわち、制御手段３７は、距離に対応するレンズ位置を含む近傍が合焦検出の走査範囲となるようにオートフォーカス手段３８を制御する。
【００８１】
これにより、フォーカスが合うまでの時間が短縮され、かつ正確なフォーカス合わせも実現する。もちろん、測距装置１０の測距情報だけでフォーカスレンズ群を可動させ、コントラストＡＦを行わずにフォーカス合わせを行っても良い。
【００８２】
また、実施例２に係る測距装置を用いた撮像装置では、小型でかつ低コスト化を図ることができ、しかも、高速で高精度にフォーカス合わせを行うことができることになり、シャッターチャンスを逃すことなく画像を取り込むことができる。
【００８３】
本発明の測距装置１０は、車載用測距装置やビデオカメラの測距装置、携帯機器搭載用カメラや３次元デジタルカメラや監視用カメラ等の用途に応用することが可能である。
【００８４】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、実施例以外にも種々の変形・変更が可能である。
【符号の説明】
【００８５】
１、２  撮像部
４  画像取込部
５  メモリ
６  テクスチャ検出処理部
７  視差算出部
８  距離算出部
１０  測距装置
１１  決定部
１２  切替部
１３  第１検出処理部
１４  第２検出処理部
１５  選択部
１６  検出処理部
３０  撮像装置
３５  プロセッサ
３７  制御手段
３８  オートフォーカス手段
３９  フォーカス駆動手段
【先行技術文献】
【特許文献】
【００８６】
【特許文献１】特開平７−２２５１２７
【特許文献２】特開２００９−１４４４４
【図１】
0005454392.tif 000005
【図２】
0005454392.tif 000006
【図３】
0005454392.tif 000007
【図４】
0005454392.tif 000008
【図５】
0005454392.tif 000009
【図６】
0005454392.tif 000010
【図７】
0005454392.tif 000011
【図８】
0005454392.tif 000012