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