(57)【要約】【課題】  複数の光学ユニットを有する撮像モジュールにおいて鏡面反射による影響を抑制することを目的としている。【解決手段】  複数の光学ユニットを有する撮像モジュールであって、複数の光学ユニットのうちの少なくとも一部の光学ユニットに対して偏光フィルタを備え、偏光フィルタを備える光学ユニットにより得られる画像データに基づいて、被写体までの距離情報を推定する。【選択図】  図１
2012247356.tif 000002
【特許請求の範囲】
【請求項１】
複数の光学ユニットを有する撮像モジュールであって、
前記複数の光学ユニットのうちの少なくとも一部の光学ユニットに対して偏光フィルタを備え、
前記偏光フィルタを備える光学ユニットにより得られる画像データに基づいて、被写体までの距離情報を推定することを特徴とする撮像モジュール。
【請求項２】
前記撮像モジュールは、少なくとも第一の偏光角度を有する偏光フィルタを備える第一の光学ユニットと第二の偏光角度を有する偏光フィルタを備える第二の光学ユニットを備え、
前記第一の偏光角度は、前記第二の偏光角度と異なることを特徴とする請求項１に記載の撮像モジュール。
【請求項３】
更に、偏光フィルタを備えない光学ユニットを有することを特徴とする請求項１又は２に記載の撮像モジュール。
【請求項４】
前記偏光フィルタを備える光学ユニットは、前記偏光フィルタを備えない光学ユニットよりも外部に配置されることを特徴とする請求項３に記載の撮像モジュール。
【請求項５】
前記請求項１乃至４の何れか１項に記載の撮像モジュールを有することを特徴とする撮像装置。
【請求項６】
偏光フィルタを備える光学ユニットを用いて撮像された複数の測距画像データを取得する取得手段と、
前記取得手段により取得された複数の測距画像データの中から、被写体までの距離を推定するための測距画像データを選択する選択手段と、
前記選択手段により選択された測距画像データに基づいて、被写体までの距離を推定する推定手段とを有することを特徴とする画像処理装置。
【請求項７】
前記選択手段は、前記複数の測距画像データ間の差分値に基づいて、被写体までの距離を推定するための測距画像データを選択することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記選択手段は、前記複数の測距画像データに基づいて推定された被写体までの距離に基づいて、被写体までの距離を推定するための測距画像データを選択することを特徴とする請求項６に記載の画像処理装置。
【請求項９】
偏光フィルタを備える光学ユニットを用いて撮像された複数の測距画像データを取得する取得工程と、
前記取得工程で取得された複数の測距画像データの中から、被写体までの距離を推定するための測距画像データを選択する選択工程と、
前記選択工程で選択された測距画像データに基づいて、被写体までの距離を推定する推定工程とを有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の光学ユニットを有する撮像モジュールに関する。
【背景技術】
【０００２】
従来から、ステレオカメラ、又は複数のカメラを格子上に配置した多眼方式の撮像装置を用いて、対象物体までの距離を推定する技術が知られている。この技術によれば、ステレオカメラ、又は多眼方式の撮像装置から得られる視差のある画像に基づいて対応点探索を行い、距離を推定することが可能となる（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５７８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、ガラス、水面、プラスチック等の表面で生じる鏡面反射により、視差のある画像が適切に取得できない場合がある。これは、画像中の鏡面反射成分が大きい領域においては、被写体からの反射光が適切に取得できないことが原因である。
そこで本発明は、複数の光学ユニットを有する撮像モジュールにおいて鏡面反射による影響を抑制することを目的としている。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため本発明の複数の光学ユニットを有する撮像モジュールは、
前記複数の光学ユニットのうちの少なくとも一部の光学ユニットに対して偏光フィルタを備え、前記偏光フィルタを備える光学ユニットにより得られる画像データに基づいて、被写体までの距離情報を推定することを特徴とする。
【発明の効果】
【０００６】
本発明の複数の光学ユニットを有する撮像モジュールによれば、鏡面反射による影響を抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】多眼方式の撮像装置に偏光フィルタを装着した場合の概念図である。
【図２】多眼方式の撮像装置の構成を示した図である。
【図３】撮像部を説明するための図である。
【図４】偏光角度の異なる偏光フィルタを介して取得される画像データの概念図である。
【図５】実施の形態１の画像処理部を示すブロック図である。
【図６】実施の形態１の画像処理方法を示すフローチャートである。
【図７】実施の形態１の最適測距画像選択部を示すブロック図である。
【図８】実施の形態１の画像間差分を説明するための図である。
【図９】実施の形態１の最適測距画像の選択方法を示すフローチャートである。
【図１０】実施の形態２の最適測距画像選択部を示す図である。
【図１１】相対移動量計算のフローチャートである。
【図１２】有効ブロックと無効ブロックを判定するフローチャートである。
【図１３】有効動きベクトルと無効動きベクトルを判定するフローチャートである。
【図１４】実施の形態３の最適測距画像選択部を示す図である。
【図１５】ステレオ距離推定法を説明する図である。
【図１６】実施の形態３の最適測距画像の選択方法を説明する図である。
【発明を実施するための形態】
【０００８】
［実施の形態１］
＜多眼方式の撮像装置に偏光フィルタを装着した場合の概念図＞
図１は、多眼方式の撮像装置に偏光フィルタを装着した場合の概念図である。本実施の形態における多眼方式とは複数の光学ユニットを有する方式のことを指す。図１（ａ）は、複数の光学ユニットを構成する多眼方式の撮像装置の一例を示している。２５個の光学ユニットは５行５列の格子上に配置されている。各光学ユニットは同一平面（又は略同一平面）に配置される。また、各光学ユニットの光軸は互いに平行（又は略平行）であり、配置された平面に対して垂直である。本実施の形態では、複数の光学ユニットにおいて、測距光学ユニットと撮像光学ユニットとを区別して使う。ユーザによる撮像操作（シャッタ押下操作）により、各光学ユニットに対して撮像指示信号が送信され、同時に２５枚の画像データが取得できる。
【０００９】
図１（ａ）は、測距光学ユニットと撮像光学ユニットの配置の一例を示している。本実施の形態では、図１（ａ）に示したように測距光学ユニットは距離推定の精度を向上させるために、一部の光学ユニットにおいて偏光フィルタが装着されている。光学ユニットに偏光フィルタを装着することにより、鏡面反射光による影響を抑制することができる。この鏡面反射光は、水面、ガラス、プラスチックなどの非金属の表面で生ずる反射光である。光学ユニットに入射される鏡面反射光成分は、偏光フィルタの装着角度（以下、「偏光角度」という）によって変動する。鏡面反射成分の光の振動平面と偏光フィルタの偏光角度とが３５度前後の場合、最も強く偏光され（鏡面反射成分が抑制され）、鏡面反射成分の光の振動平面と偏光フィルタの偏光角度とが０度や９０度に近づくにつれて偏光の度合いが弱まっていく（鏡面反射成分が光学ユニットに入射される）。
【００１０】
本実施の形態では、複数の異なる偏光角度を有する偏光フィルタを装着し、最適な偏光角度により撮像した画像データを使用して距離推定を行う。一般に距離推定に関しては、なるべく視差の大きな視差画像群を用いることが適当とされる。視差の大きな視差画像群は、距離の離れた二つ以上の光学ユニットから取得することができる。よって、本実施の形態では、測距光学ユニットは、光学ユニット群の中心１００を基準として撮像光学ユニットよりも外部に配置する。こうすることにより、より視差の大きな画像を取得することが可能となる。
【００１１】
図１（ａ）において、測距光学ユニットの中心を通る線分（直径）は、偏光フィルタの偏光角度を示している。図１（ｂ）、（ｃ）はガラス窓越しに被写体（ガラス窓の向こう側にる人物）を撮像した場合の撮像画像データの概念図である。図１（ｂ）は、偏光フィルタなしの撮像光学ユニットにより取得した撮像画像の概念図を示している。図１（ｃ）は偏光フィルタありの測距光学ユニットで取得した測距画像の概念図を示している。図１（ｂ）の場合、撮像画像上に鏡面反射光成分による鏡面反射領域が存在する。これはガラス窓による反射光が原因である。一方、図１（ｃ）の場合、測距画像上の鏡面反射領域は偏光フィルタにより除去又は低減することができ、ガラス越しの被写体は測距画像上に現れる。
【００１２】
図２は、多眼方式の撮像装置の構成を示した図である。
【００１３】
図２において、撮像部１０１〜１２５は、被写体から入射される光をセンサで受光しＡ／Ｄ変換を施しデータ転送経路であるバス２１５にデジタルデータを出力する。本実施の形態においては、撮像部１０１〜１２５のそれぞれは、撮像光学ユニット及び測距光学ユニットのどちらかとして機能する。
【００１４】
図３を用いて、撮像部１０１〜１２５の詳細を説明する。撮像部１０１〜１２５のうち測距光学ユニットとして機能するものは偏光フィルタ３０１を備える。一方で、撮像部１０１〜１２５のうち撮像光学ユニットとして機能するものは偏光フィルタ３０１を備えない。また、撮像部１０１〜１２５のそれぞれは、ズームレンズ３０２、フォーカスレンズ３０３、ぶれ補正レンズ３０４、絞り３０５、シャッター３０６、光学ローパスフィルタ３０７、ｉＲカットフィルタ３０８、カラーフィルタ３０９等を備える。そして、ＣＭＯＳやＣＣＤなどのセンサ３１０により、各レンズやフィルタを介して得られる被写体からの光を検知する。Ａ／Ｄ変換部３１１は、被写体の光量をデジタル値（画像データ）に変換する。
【００１５】
フラッシュ２１４は、被写体に光を照射する。デジタル信号処理部２０９は、デジタル値にホワイトバランス処理、ガンマ処理、ノイズ低減処理などを行い、デジタル画像を生成する。
【００１６】
圧縮・伸張部２１０は、上記デジタル値をＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する処理を行う。
【００１７】
外部メモリ制御部２１１は、ＰＣその他メディア２１２（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）につなぐためのインターフェースである。
【００１８】
ＣＰＵ２０３は、各構成の処理に関わり、  ＲＯＭ２０１やＲＡＭ２０２に格納されたプログラム中の命令を順に読み込み、解釈し、その結果に従って処理を実行する。また、ＲＯＭ２０１とＲＡＭ２０２は、その処理に必要なプログラム、データ、作業領域などをＣＰＵ２０３に提供する。
【００１９】
撮像装置制御部２０４は、フォーカスを合わせる、シャッターを開く、絞りを調節するなどの、ＣＰＵ２０３から指示された撮像系の制御を行う。
【００２０】
操作部２０５は、ボタンやモードダイヤルなどが該当し、これらを介して入力されたユーザ指示を受け取る。ＣＧ生成部２０６は、文字やグラフィックなどを生成する。
【００２１】
表示部２０８は、一般的には液晶ディスプレイやＬＣＤディスプレイが広く用いられており、ＣＧ生成部２０６やデジタル信号処理部２０９、後述の画像処理部２１３から受け取った撮像画像や文字の表示を行う。また、タッチスクリーン機能を有していても良く、その場合は、ユーザ指示を操作部２０５の入力手段として扱うことも可能である。
【００２２】
画像処理部２１３は、撮像部１０１〜１２５や外部メモリ制御部２１１から得られたデジタル画像データを利用して各種画像処理を行い、その結果をバス２１５へ出力する。
【００２３】
なお、装置の構成要素は上記以外にも存在するが、本実施の形態の主眼ではないので、説明を省略する。
【００２４】
＜偏光フィルタで取得した画像群の概念図＞
図４は、偏光角度の異なる偏光フィルタを介して取得される画像データの概念図である。偏光角度とは、所定の基準（本実施例では水平を基準）に対する偏光フィルタの角度である。
【００２５】
図４のＡとＡ’とは、偏光角度０度の偏光フィルタを有する測距光学ユニットの組により撮像された測距画像群である。ＡとＡ’とはそれぞれ別の光学ユニットにより撮像されている。図４のＢとＢ’とは、偏光角度４５度の偏光フィルタを有する測距光学ユニットにより撮像された測距画像群である。図４のＣとＣ’とは、偏光角度９０度の偏光フィルタを有する測距光学ユニットにより撮像された測距画像群である。偏光フィルタの偏光角度が変わることによって、画像上に現れる鏡面反射の領域の範囲と鏡面反射光成分の強さは変化する。最適な偏光角度になると、鏡面反射成分が略除去される。図４の例では偏光角度が９０度の時に鏡面反射成分が略除去される。
【００２６】
＜実施の形態１のブロック図＞
図５は、本実施の形態を適用できる画像処理部を示すブロック図である。入力端子５０１は、偏光フィルタを備えた測距光学ユニットにより撮像された測距画像データ群を画像処理部２１３に入力する。入力端子５０２は、入力された各測距画像データに対応した偏光角度の情報（偏光角度情報）を画像処理部２１３に入力する。入力端子５０３は、撮像光学ユニットにより撮像された通常撮像画像データ（又はデータ群）を画像処理部２１３に入力する。
【００２７】
測距画像取得部５０４は、入力端子５０１から入力された測距画像データを測距用画像として読み込む。撮像画像取得部５０７は、入力端子５０３から入力された撮像画像データ（又は撮像画像データ群）を撮像画像として読み込む。取得された測距画像は最適測距画像選択部５０５に入力される。最適測距画像選択部５０５は、ガラスなどの鏡面反射の影響の少ない画像データを測距用画像データとして選択する。選択方法は図７の最適測距画像選択部のブロック図を用いて後述する。距離推定部５０６において、鏡面反射の影響の少ない画像データ（最適測距画像データ）を用いて距離推定を行う。なお、距離推定については、例えば後述するステレオ法による距離推定を用いる。
【００２８】
画像合成部５０８は、距離推定部５０６により推定された距離情報を用いて撮像画像取得部５０７により取得された複数の撮像画像データの合成処理を行う。複数枚の画像データを用いた画像合成例としては、（１）撮影対象の距離データを用いて複数枚の画像データをシフトしそれらを合成することにより暈け画像を生成する処理や、（２）繰り返し演算による超解像処理等がある。
【００２９】
画像合成部５０８により合成された合成画像データ（暈け画像データや超解像処理されたデータ）は出力端子５０９から出力される。
【００３０】
＜実施形態１のフローチャート＞
図６は、実施の形態１の画像処理方法を示すフローチャートである。図６において、ステップｓ６０１は測距画像データを入力するステップである。ステップｓ６０２は撮像画像データを入力するステップである。ステップｓ６０３はステップｓ６０１で入力された測距画像データに対応する偏光フィルタの偏光角度を入力するステップである。ステップｓ６０４はステップｓ６０１で入力された測距画像データの中で鏡面反射光成分を最も抑えた測距画像データを最適測距画像データとして選択するステップである。ステップｓ６０５はｓ６０４で選択された最適測距画像データを用いた距離を推定するステップである。ステップｓ６０６は距離推定結果を用いて複数の撮像画像データに対して画像合成処理を行うステップである。
【００３１】
＜最適測距画像選択部のブロック図＞
図７は、本実施の形態を適用できる最適測距画像選択部５０５を示すブロック図である。測距画像データは入力端子７０１から測距画像取得部７０３に入力される。偏光フィルタの角度（偏光角度）が異なると、画像上において鏡面反射部分の写り具合が異なってくる。一方で、鏡面反射以外の部分は画像間で多少の明度差はあるものの、鏡面反射部分の明度差よりも小さい。差分計算部７０４は、所定の偏光角度（基準偏光角度）の偏光フィルタを介して取得された測距画像データと、偏光角度がｋαとなる偏光フィルタを介して取得された測距画像データとの対応画素の差分値の合計を計算する。αは単位偏光角度、ｋは自然数である。二つの測距画像データにおいて偏光角度の差異が大きくなると、測距画像上における鏡面反射部分の写り具合が大きく異なってくるので、二つの測距画像間の対応画素の差分値の合計は大きくなる。極値点検出部７０５は、差分値の合計を偏光角度順に比較する。差分値の合計の符号が変化する点（即ち差分値の合計を結ぶ関数の第一微分値が０、又は０に近い点）を極値点として検出する。最適測距画像選択部７０６は、極値点に対応する偏光角度で撮像した測距画像データを鏡面反射の影響は最も少ない測距画像データ（最適測距画像データ）として選択する。
【００３２】
＜極値点による最適測距画像選択方法のイメージ図＞
図８は、本実施の形態における最適測距画像データの選択方法の概念図である。
【００３３】
測距光学ユニットを用いて取得した画像には、鏡面反射部分が存在する場合、画像上に鏡面反射部分は高い輝度で現れる。偏光フィルタ装着すると、偏光フィルタの装着角度により高い輝度部分が変化する。偏光フィルタの装着角度を異なる全ての画像に対して、高い輝度部分が一番少ない画像を検出する。その画像を撮影した偏光フィルタの装着角度が鏡面反射を抑える効果がいいと見なす。
【００３４】
図８（ａ）は、偏光角度の異なる複数の光学ユニットで取得した画像データが示す画像ａ，ｂ，ｃ，ｄ，ｅを示している。画像ａ，ｂ，ｃ，ｄ，ｅは、異なる偏光角度（０度、α度、２α度、３α度、４α度）を有する偏光フィルタを介して得られる画像データに対応している。図８（ｂ）は、画像ｂ、ｃ、ｄ、ｅそれぞれに対する基準画像ａとの差分値の合計を縦軸とする図である。実施の形態１における差分値の合計は、二画像の対応画素の差分値の合計とする。横軸は、偏光フィルタの偏光角度に対応する。適切な偏光角度を有する偏光フィルタを介して取得される画像データが示す画像においては、画像上の鏡面反射成分は抑えられている。図８（ａ）からも明らかなように、差分値の合計が単純増加から単純減少に変化する点（極値点）が最適な偏光角度となる。詳しい計算方法は図９のフローチャートで説明する。
【００３５】
＜最適測距画像選択のフローチャート＞
図９は、本実施の形態の最適測距画像データの選択方法を示すフローチャートである。ステップｓ９０１は画像カウントを初期化するステップである。全ての偏光角度に対して、ステップｓ９０２からステップｓ９１０までの処理を繰り返す。本実施の形態では、一つの偏光角度につき測距画像データは２つである。よって、偏光角度がＮ個（Ｎ種類）ある場合は、測距画像データは２Ｎ枚となる。本実施の形態では、測距画像データの組（２枚）の組から１枚のみを使ってステップｓ９０２からステップｓ９１０までの処理を繰り返す。
【００３６】
入力される測距画像データのカウントは０番からＮ−１番までとする。本実施の形態では、０番目の測距画像データは偏光角度（０）で示す。ステップｓ９０３は偏光角度（０）の画像データを入力するステップである。ステップｓ９０４は偏光角度（ｉ）の画像データを入力するステップである。ｉは自然数である。ステップｓ９０５は測距画像データの画素数をカウントするカウンタｍを初期化するステップである。ステップｓ９０６からステップｓ９０９までは測距画像中のすべての画素について差分値を取得するループである。ステップｓ９０７は、カウンタｍの位置の偏光角度（０）と偏光角度（ｉ）との差分値の和を計算し、積算値Ｅ（ｉ）に加えるステップである。なお、本実施の形態では、符号による影響を排除するため差分値の二乗和を積算値Ｅ（ｉ）に加える。
【００３７】
ステップｓ９０８はカウンタｍを一つ増やすステップである。ステップｓ９０９を終了すると、積算値Ｅ（ｉ）は、偏光角度（０）と偏光角度（ｉ）の差分値の和（二乗和）となる。
【００３８】
ステップｓ９１１は、ｋ、Ｍａｘの値を初期化するステップである。Ｍａｘは極値点の値を記録する変数である。ｋは偏光角度をカウントする変数である。ステップｓ９１２からステップｓ９１７の処理は極値点を特定する計算のループである。ステップｓ９１３は、（１）ｋ番目の差分値の合計とｋ−１の差分値の合計との差と（２）ｋ番目の差分値の合計とｋ＋１の差分値の合計との差、を掛け算するステップである。掛け算の結果が０と比べて大きい場合、ｋ−１，ｋ，ｋ＋１の三点は単純増加または単純減少となり、ステップｓ９１４に進む。掛け算の結果が０又は０と比べて小さい場合、ｋは極値点となり、ｓ９１６に進む。ステップｓ９１４でｋ−１，ｋ，ｋ＋１の三点の変化量の絶対値とＭａｘとを比較する。絶対値がＭａｘより大きい場合、ステップｓ９１５に進み、Ｍａｘの値を更新する。Ｍａｘより小さい場合、Ｍａｘの値を更新することなく、ステップｓ９１６に進む。ステップｓ９１７で全ての偏光角度について処理が終わると、極値点の最大値に対応する偏光角度ｋが出力される。ステップｓ９１８は、極値点の最大値に対応する偏光角度ｋに対応する測距画像データが特定されるステップである。この特定された測距画像データが鏡面反射の影響が最も少ない最適測距画像データとなる。なお、極値点を取得する方法は上記方法に限らないことは言うまでもない。
【００３９】
以上の通り、本実施の形態によれば、複数の光学ユニットを有する撮像装置は、少なくとも一部の光学ユニットに対して偏光フィルタを有する。これにより、鏡面反射の影響の少ない測距画像データを取得することができ、より高精度に距離推定等の画像処理を実現することができる。
【００４０】
＜本実施の形態の変形例＞
・本実施の形態では、複数の光学ユニット（測距光学ユニットと撮像光学ユニット）を有する撮像装置について説明したが、撮像モジュールであっても良い。この撮像モジュールは操作部２０５や外部メモリ制御部２１１等を有してなくても良い。
・本実施の形態では、撮像光学ユニットには偏光フィルタを取り付けないこととした。しかしながら、偏光フィルタを装着した撮像光学ユニットにより撮像画像データを取得しても良い。この場合、鏡面反射の影響が低減された撮像画像データに対して画像合成処理が行われることとなる。
・本実施の形態では、画像処理の例として距離推定の後に撮像画像データを合成するとしたが、これに限らない。例えば、距離推定後に超解像処理を行ったり、任意のフォーカス距離を設定することによる暈け味付加処理等を行っても良い。
・本実施の形態では、偏光角度は固定としたが、偏光角度をユーザが任意に設定できる機構を備えても良い。ユーザは写り込み具合を確認しながら、写り込みが最も抑制される偏光角度を設定する。こうすることにより、本実施の形態では無駄に撮像していた測距画像データ（偏光角度が最適でない測距画像データ）の数を削減することが可能となる。また、アクチュエータ等により偏光角度を自動的に調整するようにしても良い。
・本実施の形態では二つの測距画像ペアに基づいて距離推定を行うとしたが、三以上の測距画像ペアを用いて距離推定を行っても良い。測距光学ユニットの数が限られている場合、測距画像の数を増やせば増やすほど、距離推定の精度は向上するが、一方で、偏光角度の種類の数は減る。
・本実施の形態では、図６の画像処理を撮像装置内で行うとしたが、これに限らない。例えば、画像処理部２１３の各処理を撮像装置とは異なる画像処理装置で行っても良い。
【００４１】
［実施の形態２］
＜最適測距画像選択部のブロック図＞
図１０は、本実施の形態の最適測距画像選択部５０５を示すブロック図である。測距画像データ群は入力端子１００１から測距画像データ取得部１００３に入力される。相対移動量計算部は、偏光角度を共通とする測距画像データ間の相対移動量を計算する。鏡面反射の領域は平坦であるため、ブロックマッチングをして相対移動量を計算する際に、無効ブロック（無効画素により構成されるブロック）として判断される。無効画素数カウント部１００５で無効画素数をカウントする。最適測距画像特定部１００６は、全ての偏光角度における無効画素数をカウントした結果を用いて、最も無効画素数が少ない画像を最適測距画像データとして特定する。特定された最適測距画像データを出力端子１００７から出力する。
【００４２】
＜相対移動量の算出＞
図１１は、画像間の相対移動量を求める方法を説明するためのフローチャートである。ここでは、ブロック毎に動きベクトルを求め、そこから画面全体の動き量をアフィンパラメータとして求める方法について説明する。ブロック毎の動きベクトルを求める際にその前処理としてステップｓ１１０１の有効ブロック判定を行う。これは正しい動きベクトルが求まらない可能性のあるブロックを除外する処理である。詳細は後述する。ステップｓ１１０２では、ブロックの動きベクトルを算出する。ここでは一般的なブロックマッチング方法について説明する。ブロックマッチング法では、マッチングの評価値としてブロック内の画素間の差分二乗和もしくは差分絶対値和を用いる。ベクトルを求める対象ブロックを基準画像のサーチ範囲内で順次動かしなら評価値を求めていく。サーチ範囲内で求めた全ての評価値の中から最小の評価値もつ位置が対称ブロックと最も相関の高い位置であり、その移動量が動きベクトルとなる。サーチ範囲を１画素ずつ求めていく方法はフルサーチと呼ばれている。これに対し、サーチ範囲を間引きながら最小の評価値を求め、次にその近傍に対して細かくサーチする方法は、ステップサーチと呼ばれている。ステップサーチは高速に動きベクトルを求める方法としてよく知られている。次にステップｓ１１０４にて、有効動きベクトル判定を行う。これは、求めた動きベクトルのうち、算出結果が正しくないと判断されるものを除外する処理である。詳細は後述する。ステップｓ１１０３で、終了判定を行い、すべてのブロックの処理が終わると、ステップｓ１１０５にて、有効な動きベクトルから、アフィンパラメータの検出を行う。
【００４３】
次に、アフィンパラメータ検出の詳細を説明する。対象ブロックの中心座標が、（ｘ，ｙ）であり、動きベクトルの算出結果から基準画像におけるブロックの中心座標が（ｘ’，ｙ’）に移動したとすると、これらの関係は、式（１）のように表すことができる。
【００４４】
【数１】
2012247356.tif 000003
【００４５】
ここで、３×３の行列がアフィン変換行列である。行列の各要素がアフィンパラメータであり、ａ＝１，ｂ＝０，ｄ＝０，ｅ＝１のとき、この変換は平行移動となり、ｃが水平方向の移動量、ｆが垂直方向の移動量となる。また、回転角θでの回転移動は、ａ＝ｃｏｓθ，ｂ＝−ｓｉｎθ，ｄ＝ｓｉｎθ，ｅ＝ｃｏｓθで表すことができる。式（２）は一般化した行列の形式で数式２のように表現することができる。
ｘ’＝Ａ・ｘ      （２）
ここでＸとＸ’は１×３の行列、Ａは３×３の行列である。有効な動きベクトルがｎ個であった場合、対象画像の座標値は、式（３）のようにｎ×３の行列で表現できる。
ｘ＝（ｘ１  ｘ２  ・・・  ｘｎ）      （３）
同様に、移動後の座標値も式（４）のようにｎ×３の行列で表現できる。
ｘ’＝（ｘ’１  ｘ’２  ・・・  ｘ’ｎ）      （４）
よって、ｎ個の動きベクトルに対しては、数（５）のような表現となる。
Ｘ’＝Ａ・Ｘ      （５）
すなわち、式（５）におけるアフィン行列Ａを求めれば、それが画面全体の位置ずれ量になる。式（５）を変形すると、アフィン行列は式（６）のように求まる。
Ａ＝Ｘ’・ＸＴ・（Ｘ・Ｘ）Ｔ−１      （６）
この方式では、ブロックマッチングによりブロック間の相対移動量を求めようとする場合、ブロック内の画像が何らかの特徴量を持っている必要がある。平坦でほとんど直流成分しか含んでいないブロックでは正しい動きベクトルを求めることはできない。逆に水平方向や垂直方向にエッジを含んでいると、マッチングがとりやすくなると考えられる。
【００４６】
図１２は、このような平坦部のブロックを除外する一手法である。ここでは１つのブロックに対する処理で説明する。まずステップｓ１２０１で、ブロック内にある水平方向の１つのラインに対し、最大値と最小値の差分値を算出する。例えば、ブロックのサイズが５０×５０の画素で構成されているとすると、ブロック内における水平方向の５０の画素から最大値と最小値を求め、その差分値を算出する。これを水平ライン数分、すなわち５０回繰り返す。そして、ステップｓ１２０３で５０の差分値の中から最大の差分値を求める。ステップｓ１２０４で、あらかじめ設定したＴｘと最大差分値の比較を行う。最大差分値が閾値Ｔｘよりも小さければ、水平方向には特徴量を持たないブロックであるとみなし、ステップｓ１２０５にて、無効ブロックとする。水平方向に特徴量を持つとみなせる場合は、垂直方向で同様の検証を行う。まず、ステップｓ１２０６で、ブロック内にある垂直方向の１つのラインに対し、最大値と最小値の差分値を算出する。つまりブロック内における垂直方向の５０の画素から最大値と最小値を求め、その差分値を算出する。これを垂直ライン数分、すなわち５０回繰り返す。そして、ステップｓ１２０８で５０の差分値の中から最大の差分値を求める。ステップｓ１２０９で、あらかじめ設定したＴｙと最大差分値の比較を行う。最大差分値が閾値Ｔｙよりも小さければ、垂直方向には特徴量を持たないブロックであるとみなし、ステップｓ１２０５にて、無効ブロックとする。水平・垂直両方向に特徴を持つブロックならば、正確なブロックマッチングが行われることが期待できるので、ステップｓ１２１０にて、有効ブロックと判定する。
【００４７】
次に、有効動きベクトル判定方法を図１３のフローチャートを用いて説明する。まずは、ステップｓ１３０１にて動きベクトルを入力し、ステップｓ１３０２にて、その発生頻度を算出する。ステップｓ１３０３にて、全ての動きベクトルの発生頻度が求まるまでこの処理を繰り返し、終了するとステップｓ１３０４にて、最大発生頻度の動きベクトルを求める。次に、ステップｓ１３０５にて、再度動きベクトルを入力し、ステップｓ１３０６で、この動きベクトルが最大発生頻度の動きベクトル、もしくはその近傍の動きベクトルであるかどうかの判定を行う。画面全体のぶれが、シフトのみである場合、各ブロックの動きベクトルは、最大発生頻度の動きベクトルにほぼ一致するはずであり、ロールぶれを伴う場合は、最大発生頻度の動きベクトルの近傍に多くの動きベクトルが発生すると考えられる。したがって、これらの値に含まれる動きベクトルは、ステップｓ１３０７にて、有効動きベクトルと判定し、これらの値から外れている動きベクトルは、ステップｓ１３０８にて無効動きベクトルと判定する。ステップｓ１３０９では、すべての動きベクトルに対して処理が終わったかどうかの判定を行い、終了までステップｓ１３０５からの処理を繰り返す。
【００４８】
以上の通り、距離推定時に使う画像間位置合わせの無効ブロックの数（又は無効画素の数）をカウントすることにより、もっとも鏡面反射の影響の少ない画像群（最適測距画像データ）をみつけることができる。これは、鏡面反射領域においては画像間での対応関係が見つけにくいという特性を利用したものである。このようにして選択された最適測距画像データに基づいて、本実施の形態では、鏡面反射の影響を最も抑えた距離推定結果を得ることができる。
【００４９】
［実施の形態３］
＜最適測距画像選択部のブロック図＞
図１４は、本実施の形態の最適測距画像選択部５０５を示すブロック図である。測距画像データは入力端子１４０１から測距画像取得部１４０３に入力される。距離推定部１４０５は、測距画像データを用いて距離推定を行う。距離推定の結果を用いて、最適測距画像特定部１４０６は、最適測距画像データを特定する。出力端子１００７は最適測距画像データを出力する。
【００５０】
＜ステレオ法による距離推定＞
図１５は、距離推定部１４０５によるステレオ距離推定法を示している。
【００５１】
注目点１５０２は被写体１５０１に存在する。被写体表面は波の形になっている。ステレオ法を用いる二台のカメラは性能が同じカメラである。カメラは光学中心を通る光線で投影面への結像を実現する。図１５では、１５０３、１５０４は左右カメラの光学中心である。１５１２、１５１３は左右カメラの投影面である。左の投影面中心を座標原点とする直交座標系は（ｕ，ｖ）である。光学中心と投影面座標原点と連接するラインは投影面に対して垂直に交わっており、その間の距離は焦点距離ｆである。右の投影面中心を座標原点とする直交座標系は（ｕ’，ｖ’）である。三次元空間の被写体１５０１の座標は（Ｘカメラ，Ｙカメラ，Ｚカメラ）は両カメラの光学中心と連接し、投影面との接点は左右ステレオ画像上の画素になる。図１５には１５０６、１５０７は左右投影面との接点を示している。１５０６の座標は（ｕｘ，ｖｙ）である。１５０７の座標は（ｕ’ｘ，ｖ’ｙ）である。１５１１と１５０９は左右投影面上のライン１５１０、１５０８を拡大した画素配列である。両カメラの光学中心を連接したラインは基線と呼ばれ、ｂはその基線の長さである１５０５基線長である。被写体上の点１５０１（Ｘカメラ，Ｙカメラ，Ｚカメラ）は左のカメラ座標系を基準にしている。被写体１５０１（Ｘカメラ，Ｙカメラ，Ｚカメカメラ）の奥行きはＺとする。Ｚカメラについて下記の式を用いてステレオ法により計算する。
【００５２】
【数２】
2012247356.tif 000004
【００５３】
＜距離による最適測距画像選択方法のイメージ図＞
実物体より手前にあるガラスの上に起こった鏡面反射の部分の距離推定結果は実物体の距離より小さい。よって、異なる偏光角度を有する偏光フィルタを介して得られる測距画像から推定された距離のうち、最も大きな距離を推定する場合の偏光角度を選択する。この偏光角度により取得された測距画像が最適測距画像データとなる。
【００５４】
図１６は、最適測距画像データの選択方法のイメージ図である。図１６（ａ）において、画像ａ，ｂ，ｃ，ｄ，ｅはそれぞれ、偏光角度が０度、α度、２α度、３α度、４α度の場合に取得された画像を示している。図１６（ｂ）は、それぞれの偏光角度の場合に取得された被写体までの距離を示している。この場合、偏光角度が２α度である画像ｃが最も推定された距離が遠いことから、画像ｃが最適測距画像データとなる。
【００５５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012247356.tif 000005
【図２】
2012247356.tif 000006
【図３】
2012247356.tif 000007
【図４】
2012247356.tif 000008
【図５】
2012247356.tif 000009
【図６】
2012247356.tif 000010
【図７】
2012247356.tif 000011
【図８】
2012247356.tif 000012
【図９】
2012247356.tif 000013
【図１０】
2012247356.tif 000014
【図１１】
2012247356.tif 000015
【図１２】
2012247356.tif 000016
【図１３】
2012247356.tif 000017
【図１４】
2012247356.tif 000018
【図１５】
2012247356.tif 000019
【図１６】
2012247356.tif 000020