(57)【要約】      （修正有）【課題】多視点画像の間の視差推定の演算コストを低減する画像処理装置を提供する。【解決手段】画像処理装置が、被写体を第一の視点から見た場合の画像である第一の画像と、前記被写体を第一の視点とは異なる第二の視点から見た場合の画像である第二の画像とを取得する取得手段２０１と、第一の画像の第一の画像領域を第一の周波数スペクトルに変換し、第二の画像の第二の画像領域を第二の周波数スペクトルに変換する変換手段２０２と、第一の周波数スペクトルと第二の周波数スペクトルとの比を示す情報に基づいて、第一の画像領域と前記第二の画像領域との間の視差を推定する推定手段とを有する。【選択図】図２
2016125986.tif 000002
【特許請求の範囲】
【請求項１】
被写体を第一の視点から見た場合の画像である第一の画像と、前記被写体を前記第一の視点とは異なる第二の視点から見た場合の画像である第二の画像とを取得する取得手段と、
前記第一の画像の第一の画像領域を第一の周波数スペクトルに変換し、前記第二の画像の第二の画像領域を第二の周波数スペクトルに変換する変換手段と、
前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を示す情報に基づいて、前記第一の画像領域と前記第二の画像領域との間の視差を推定する推定手段とを有することを特徴とする画像処理装置。
【請求項２】
前記推定手段は、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比の位相成分の微分値を示す情報に基づいて前記視差を推定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記推定手段は、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比の位相成分の、周波数空間の原点における微分値を示す情報に基づいて、前記視差を推定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記推定手段は、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を逆フーリエ変換して得られる強度分布に表れるピークに基づいて前記視差を推定することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記推定手段は、前記ピークの位置を前記視差として決定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第一の画像における前記第一の画像領域の位置は、前記第二の画像における前記第二の画像領域の位置と同じであることを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記第一の画像における前記第一の画像領域の位置は、前記第二の画像における前記第二の画像領域の位置から所定の画素数分ずれた位置であることを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項８】
前記所定の画素数は、前記第一の画像及び前記第二の画像のうちの少なくとも一方を撮像する際の、撮像装置のオートフォーカス機構の出力に基づいて決定されることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記第一の画像において、画像中のぼけ度合いが所定の程度を超えているぼけ領域を決定する決定手段を更に有し、
前記推定手段は、前記第一の画像領域が前記ぼけ領域に属する場合に、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を示す情報に基づいて、前記第一の画像領域と前記第二の画像領域との間の視差を推定することを特徴とする請求項１乃至８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記推定手段は、前記第一の画像領域が記ぼけ領域に属していない場合に、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を示す情報とは異なる基準に基づいて、前記第一の画像領域に対応する視差を推定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
被写体を第一の視点から見た場合の画像である第一の画像と、前記被写体を前記第一の視点とは異なる第二の視点から見た場合の画像である第二の画像とを取得する取得工程と、
前記第一の画像の第一の画像領域を第一の周波数スペクトルに変換し、前記第二の画像の第二の画像領域を第二の周波数スペクトルに変換する変換工程と、
前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を示す情報に基づいて、前記第一の画像領域と前記第二の画像領域との間の視差を推定する推定工程とを有することを特徴とする画像処理装置。
【請求項１２】
コンピュータを請求項１乃至１０のいずれか一項に記載の画像処理装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視差推定処理に関する。
【背景技術】
【０００２】
同一の被写体を異なる視点から見た場合の複数の画像（多視点画像）の間の視差を用いて、ステレオマッチングアルゴリズムにより被写体の距離を推定する技術がある。
【０００３】
特許文献１では、多視点画像の間の視差推定の精度を向上する技術として、位相限定相関法と呼ばれる方法が開示されている。これは、各画像の部分領域を切り出し、各々の周波数スペクトルの相関係数に逆フーリエ変換を行うことで得られる位相限定相関関数のピーク位置を視差推定量として算出する方法である。また、特許文献２では、多視点画像の周波数スペクトルを用いた視差推定法として、位相項のシフトマッチングにより視差候補値を決定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３―１９８０１号公報
【特許文献２】特開平０２―１００５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１および特許文献２に記載の技術を用いた場合、ある画像のある画像領域に対応する視差を求めるために、他の画像の複数の画像領域の中で、対象の画像領域との類似度が最大になる画像領域を探索する。この方法では、画像領域の位置を変えて類似度を繰り返し算出する必要があるために、演算コストが高くなってしまう。そこで本発明は、多視点画像の間の視差推定の演算コストを低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題に鑑み、本発明に係る画像処理装置は、被写体を第一の視点から見た場合の画像である第一の画像と、前記被写体を前記第一の視点とは異なる第二の視点から見た場合の画像である第二の画像とを取得する取得手段と、前記第一の画像の第一の画像領域を第一の周波数スペクトルに変換し、前記第二の画像の第二の画像領域を第二の周波数スペクトルに変換する変換手段と、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を示す情報に基づいて、前記第一の画像領域と前記第二の画像領域との間の視差を推定する推定手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、多視点画像の間の視差推定の演算コストを低減することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１の画像処理装置の構成を示すブロック図。
【図２】実施例１の画像処理装置の構成を示すブロック図。
【図３】実施例１の画像処理装置による処理の流れを示すフローチャート。
【図４】実施例１の入力画像を示す図。
【図５】実施例１の点像強度分布を示す図。
【図６】実施例１の位相分布を示す図。
【図７】実施例２の画像処理装置の構成を示すブロック図。
【図８】実施例２の画像処理装置による処理の流れを示すフローチャート。
【図９】実施例２の逆フーリエ変換後の分布データを示す図。
【図１０】実施例３の画像処理装置の構成を示すブロック図。
【図１１】実施例３の画像処理装置による処理の流れを示すフローチャート。
【発明を実施するための形態】
【０００９】
＜実施例１＞
実施例１では、プレノプティックカメラや多眼カメラのような多視点画像を撮像するカメラによって撮像された多視点画像から視差マップを生成する例について述べる。なお、以下多視点画像に含まれる各視点の画像を単視点画像と呼ぶ。まずは、実施例１に係る画像処理装置の構成について説明する。
【００１０】
図１は、実施例１の画像処理装置の構成の一例を示す図である。実施例１の画像処理装置１００（以下、処理装置１００とする）は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、二次記憶装置１０４、入力インターフェース１０５、出力インターフェース１０６を含む。そして、処理装置１００の各構成部はシステムバス１０７によって相互に接続されている。また、処理装置１００は、入力インターフェース１０５を介して外部記憶装置１０８および操作部１１０に接続されており、出力インターフェース１０６を介して外部記憶装置１０８および表示装置１０９に接続されている。
【００１１】
ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３に格納されたプログラムを実行し、システムバス１０７を介して処理装置１００の各構成部を統括的に制御するプロセッサーである。これにより、後述する様々な処理が実行される。二次記憶装置１０４は、処理装置１００で取り扱われる種々のデータを記憶する記憶装置であり、本実施例ではＨＤＤが用いられる。ＣＰＵ１０１は、システムバス１０７を介して二次記憶装置１０４へのデータの書き込みおよび二次記憶装置１０４に記憶されたデータの読出しを行うことができる。なお、二次記憶装置１０４にはＨＤＤの他に、光ディスクドライブやフラッシュメモリなど、様々な記憶デバイスを用いることが可能である。
【００１２】
入力インターフェース１０５は、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインターフェースであり、外部装置から処理装置１００へのデータや命令等の入力は、この入力インターフェース１０５を介して行われる。処理装置１００は、この入力インターフェース１０５を介して、外部記憶装置１０８（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどの記憶媒体）からデータを取得する。また、処理装置１００は、この入力インターフェース１０５を介して、操作部１１０を用いて入力されたユーザによる命令を取得する。操作部１１０はマウスやキーボードなどの入力装置であり、ユーザの指示を処理装置１００に入力するために用いられる。
【００１３】
出力インターフェース１０６は、入力インターフェース１０５と同様にＵＳＢやＩＥＥＥ１３９４等のシリアルバスインターフェースを備える。その他に、例えばＤＶＩやＨＤＭＩ（登録商標）等の映像出力端子を用いることも可能である。処理装置１００から外部装置へのデータ等の出力は、この出力インターフェース１０６を介して行われる。処理装置１００は、この出力インターフェース１０６を介して表示装置１０９（液晶ディスプレイなどの各種画像表示デバイス）に、処理された画像などを出力することで、画像の表示を行う。なお、処理装置１００の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。
【００１４】
以下、本実施例の処理装置１００で行われる処理について説明する。まずは、本実施例における処理の原理について述べる。なお、簡単のため、２枚の単視点画像から任意の１つの画素位置における視差を推定する場合を例にとり説明する。２枚の単視点画像内の同じ位置に対応する部分領域内の画素値を表す関数をＩ１、Ｉ２、各画像の形成に関わる撮像系に起因する像のぼけを表す点像強度分布の関数をｈ１、ｈ２、被写体の輝度分布を表す関数をｏとすると、式（１）の関係が成り立つ。
Ｉ１（ｘ，ｙ）＝ｏ（ｘ，ｙ）＊ｈ１（ｘ，ｙ）
Ｉ２（ｘ，ｙ）＝ｏ（ｘ，ｙ）＊ｈ２（ｘ−ｄｘ，ｙ−ｄｙ）    ・・・（１）
なお、画像上の座標（ｘ，ｙ）の位置において、被写体の１点はｘ軸方向にｄｘ画素、ｙ軸方向にｄｙ画素の視差を有していると仮定している。また、＊は２次元の畳み込み演算を表す。
【００１５】
式（１）の各式の両辺をフーリエ変換し両者の比をとると、ｏに関する項は消滅し、式（２）に示すように点像のフーリエスペクトルの比だけが残る。この関数をＲと定義する。
【００１６】
【数１】
2016125986.tif 000003
【００１７】
ここで、（ｆ，ｇ）は周波数空間座標、Ｎｘ、Ｎｙは部分領域のｘ、ｙ軸方向画素数、チルダは各関数のフーリエ変換を表す。
【００１８】
点像ｈ１、ｈ２の形状が同一である場合、式（２）の右辺にはｅｘｐの項だけが残り、式（２）のＲの位相成分はｆとｇの１次多項式となる。そのため、Ｒの位相成分のｆ、ｇ軸方向の微分値Ｇｆ、Ｇｇを算出すれば、視差ｄｘ、ｄｙが式（３）により決定される。
ｄｘ＝ＧｆＮｘ／２π
ｄｙ＝ＧｇＮｙ／２π    ・・・（３）
すなわち、視差ｄｘおよびｄｙは、Ｒの微分値ＧｆおよびＧｇに基づいて算出することができる。式（３）に基づいて部分領域間の視差を算出すれば、二つの画像間で複数の部分領域を走査することなく視差が算出できるので、視差推定の為の演算コストを低減することができる。
【００１９】
なお、上記の方法は、点像ｈ１、ｈ２が同一の形状でない場合においても適用することが可能である。以下に、その原理について説明する。点像ｈ１およびｈ２の形状が異なる場合、式（２）の右辺における点像のフーリエ変換の比の部分が、点像の形状が同一の場合とは異なる。点像の形状が異なる場合のＲの位相成分は以下の式（４）で表わされる。
【００２０】
【数２】
2016125986.tif 000004
【００２１】
ここで、ａｒｇは位相成分を抽出する演算子、Ｌは任意の多項式展開の次数である。一般に、視差を除いた２つの点像ｈ１、ｈ２はピークがほぼ一致しているために、フーリエ変換の比の位相成分をｆとｇについて多項式展開すると、１次項の係数はほぼ０となる。これは、式（４）においてａ１０とａ０１がほぼ０であることを意味する。式（４）から、Ｒの位相成分のｆ軸方向の微分は、以下の式（５）で表わされる。そして、式（５）にｆ＝０およびｇ＝０を代入した値、すなわち、周波数空間の原点におけるＲのｆ軸方向の微分値は、式（６）で表される。
【００２２】
【数３】
2016125986.tif 000005
【００２３】
【数４】
2016125986.tif 000006
【００２４】
前述のようにａ１０はほぼ０であるとみなすことができるので、式（６）は式（３）と同様の式となる。すなわち、点像の形状が異なる場合であっても、周波数空間の原点におけるＲの微分値を用いれば、点像の形状が同一である場合と同様にｘ軸方向の視差ｄｘを求めることができる。以上の議論はｙ軸方向の視差ｄｙの算出にも同様に成り立つ。すなわち、Ｒの位相成分の周波数空間の原点における微分値を用いることで、点像ｈ１、ｈ２の形状によらず、多視点画像の視差を導出することが可能である。そこで、本実施例では、二つの画像の周波数スペクトルの比の位相成分の、周波数空間の原点における微分値に基づいて多視点画像の視差を算出する。この処理によれば、多視点画像を用いた視差推定において、各画像内の複数の領域で類似領域を探索する必要が無くなるので、視差推定の演算コストを低減することができる。更に、点像の形状に依存しないパラメータを用いて視差推定を行うことができるので、各単視点画像で点像の形状が異なる場合であっても高精度に視差を推定することができる。なお、上記の式（２）〜（６）における係数２πおよび符号はフーリエ変換の定義に依存するものであり、なくてもよい。
【００２５】
以下、実施例１の処理装置１００で行われる具体的な処理について、図２に示す機能ブロック図および図３に示すフローチャートを用いて説明する。実施例１の処理装置１００は、図２に示すように取得部２０１、変換部２０２、位相取得部２０３、微分部２０４、視差導出部２０５としての機能を有する。処理装置１００は、ＣＰＵ１０１がＲＯＭ１０３内に格納された制御プログラムを読み込み実行することで、上記各部の機能を実現する。なお、各構成部に相当する専用の処理回路を備えるように処理装置１００を構成するようにしてもよい。以下、各構成部により行われる処理の流れを説明する。
【００２６】
ステップＳ３０１では、取得部２０１が入力インターフェース１０５を介して、または二次記憶装置１０４から、処理対象の多視点画像を取得する。そして、取得部２０１は、取得した多視点画像を変換部２０２に出力する。本実施例では、多視点画像に含まれる単視点画像が２枚の場合を例にとり説明するが、画像枚数は何枚でもよい。多視点画像に含まれる単視点画像が３枚以上の場合には、単視点画像２枚の組を１つまたは複数作り、それぞれに対して以降の処理を行うことにより視差マップを生成する。視差マップとは、各画素位置に対応する視差値を画素値として格納した画像データである。なお、視差マップの形態は画像データに限られず、画素位置と視差値の関係を示したテーブルの形で出力してもよい。なお、１つの単視点画像に対して複数の視差マップが生成された場合にはそれらを合成するようにする。
【００２７】
ステップＳ３０２では、変換部２０２が取得部２０１から入力された多視点画像が含む画像から、比較対象となる部分領域をそれぞれ抽出する。すなわち、変換部２０２は、多視点画像が含む一方の画像から一つの画像領域を部分領域として抽出し、多視点画像が含むもう一方の画像から一つの画像領域を部分領域として抽出する。そして、ステップＳ３０３では、変換部２０２が、ステップＳ３０２で抽出された部分領域のそれぞれを周波数スペクトルに変換し、得られた周波数スペクトルを位相取得部２０３に出力する。本実施例では２次元離散フーリエ変換を用いて周波数スペクトルへの変換を行うが、周波数スペクトルへの変換には公知の他の方法を用いてもよい。なお、ここで変換部２０２が抽出する画像領域の、各単視点画像内における位置は各単視点画像間で同一であるとするが、抽出する画像領域の画像内の位置は互いに異なっていてもよい。抽出する画像領域の画像内の位置が互いに異なる場合の処理については後述する。
【００２８】
なお、画像の中心を、画像上に定義する実空間座標の原点として設定した場合には、周波数スペクトル分布の中心が周波数座標の原点として設定される。以降の説明では、周波数スペクトルの０次成分（ピーク）の位置に周波数座標の原点が設定されているものとする。また、部分領域の抽出はステップＳ３０１で取得部２０１が行ってもよい。
【００２９】
ステップＳ３０４では、位相取得部２０３が、変換部２０２から入力された２つの周波数スペクトルの比の位相成分を抽出する。そして、抽出した位相成分を微分部２０４に出力する。
【００３０】
ステップＳ３０５では、微分部２０４が、位相取得部２０３から入力された位相成分の、周波数座標の原点における微分値を算出する。仮に位相成分の分布が１次元のデータであるとすれば、位相成分の微分値は、原点を含む隣接２点の位相値の差分、または原点に隣接する２点の位相値の差分から算出される。さらには、原点近傍の３以上の点の位相値を用いて直線回帰から微分値を算出するなど、微分値の算出方法としては上記の方法に限らず様々な方法を利用可能である。単視点画像の部分領域は２次元の離散データであるため、上記位相値の差分を水平および垂直の２方向について独立に算出して、２次元の微分ベクトルを算出することもできる。また、１次元の場合と同様に、予め視差が水平または垂直方向であると分かっている場合には、その方向の１次元位相分布から原点における微分を算出すればよい。また、単視点画像間で点像の形状が同一である場合には、周波数空間中のどの位置であっても式（３）が満たされるため、微分値を算出する位置は原点でなくともよい。
【００３１】
ステップＳ３０６では、視差導出部２０５が、式（３）に従って前記微分値を視差に変換する。ステップＳ３０７では、視差導出部２０５が、視差推定の対象である単視点画像中の全ての部分領域について視差が導出されたかどうかを判定する。全ての部分領域について視差が導出されていないと判定された場合には、ステップＳ３０２に戻り、新たな部分領域の抽出を行う。全ての部分領域について視差が算出されたと判定された場合には各画素位置に対応する視差値を示す視差マップを出力して処理を終了する。以上が本実施例における視差算出処理である。以上の処理によれば、多視点画像を用いた視差推定において、各画像内の複数の領域で類似領域を探索する必要が無くなるので、視差推定の演算コストを低減することができる。更に、点像の形状に依存しないパラメータを用いて視差推定を行うので、各単視点画像で点像の形状が異なる場合であっても高精度に視差を推定することができる。
【００３２】
本実施例の効果を説明するため、以下に上記の処理を画像データに対して実際に行った例を示す。この例では水平方向にのみ視差を有する２枚の平行化された視差画像を入力画像とする。ここでは例として、図４（ａ）および図４（ｂ）に示す、人工的に生成した互いに３画素の視差を有する２枚の視差画像を用いる。図４（ａ）は、図５に示す点像ｈ１（ｘ）を原画像に畳みこんだ画像であり、図４（ｂ）は図５に示す点像ｈ２（ｘ−ｄｘ）を図４（ａ）と同じ原画像に畳みこんだ画像である。
【００３３】
処理装置１００は、視差の推定に用いる部分領域を、推定の対象の画素を中心とする１１×１１画素の正方領域とし、図４に白枠で示した部分領域について、前述したステップＳ３０２からＳ３０４の処理を行う。図６は、ステップＳ３０２からＳ３０４の処理により得られたＲの位相分布のｆ軸上の値を示すプロファイルである。図６で示される位相分布においてステップＳ３０４の処理により算出される原点における微分値Ｇｆ０は１．５６５２ラジアンとなる。これを、式（３）により画素単位の視差に変換すると２．７４０３画素となり、正解の３画素に近い値が得られる。
【００３４】
なお、部分領域間に生じた視差の大きさが部分領域のサイズと同程度以上である場合には、抽出する部分領域の位置を単視点画像間で同一にすると、ｏに関する項が消滅しないために式（２）が成立せず、上述した原理が成立しなくなってしまうことがある。このような状況を回避するためには、抽出する部分領域の位置を単視点画像間であらかじめ所定の画素数分ずらしておくことが有効である。この場合、上述した方法で推定した値に部分領域の位置ずれを加えた値が、最終的な視差推定値として得られる。なお、部分領域間に生じている視差の大きさが大きくなるのは、画像中の被写体までの距離が近い場合であり、多くの場合、画像中で最も近くに存在する被写体は、撮影においてフォーカスされた主被写体である。そこで、抽出する部分領域のずらし量はオートフォーカス機構の出力値に基づいて予め簡易的に求められた視差値に基づいて決定するようにすればよい。例えば、視差推定に用いる部分領域のサイズが１１×１１画素であり、オートフォーカス機構の出力値に基づいて予測される最も大きな視差が１５画素である場合には、各単視点画像間で互いに５画素ずれた部分領域を抽出するようにすればよい。
【００３５】
なお、本実施例において、取得部２０１は被写体を第一の視点から見た場合の画像である第一の画像と、前記被写体を前記第一の視点とは異なる第二の視点から見た場合の画像である第二の画像とを取得する取得手段として機能する。また、変換部２０２は、前記第一の画像の第一の画像領域を第一の周波数スペクトルに変換し、前記第二の画像の第二の画像領域を第二の周波数スペクトルに変換する変換手段として機能する。また、位相取得部２０３と微分部２０４と視差導出部２０５は、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を示す情報に基づいて、前記第一の画像領域と前記第二の画像領域との間の視差を推定する推定手段として機能する。
【００３６】
＜実施例２＞
実施例１では、二つの画像の周波数スペクトルの比の位相成分の、周波数空間の原点における微分値に基づいて多視点画像の視差を算出する例について説明した。実施例２では、微分値を直接用いずに視差値を推定する方法を説明する。
【００３７】
以下、実施例２の処理装置１００で行われる処理について、図７に示す機能ブロック図および図８に示すフローチャートを用いて説明する。実施例２の処理装置１００は、図７に示すように取得部２０１、変換部２０２、逆変換部７０１、ピーク検出部７０２としての機能を有する。処理装置１００は、ＣＰＵ１０１がＲＯＭ１０３内に格納された制御プログラムを読み込み実行することで、上記各部の機能を実現する。なお、各構成部に相当する専用の処理回路を備えるように処理装置１００を構成するようにしてもよい。以下、各構成部により行われる処理の流れを説明する。なお、実施例１と同様の処理については説明を省略する。
【００３８】
ステップＳ８０１では、逆変換部７０１が、変換部２０２から入力された２つの周波数スペクトルの比Ｒに逆フーリエ変換を行う。その結果、視差に対応する位置にピークを有する強度分布が得られる。そして、逆変換部７０１は、得られた強度分布をピーク検出部７０２に出力する。
【００３９】
ステップＳ８０２では、ピーク検出部７０２が、逆変換部７０１から入力された分布に対してピーク検出処理を行い、検出されたピーク位置に対応する画素数を視差値として決定する。ピーク位置の検出としては公知の様々な方法を用いることが可能である。本実施例では、強度分布の最大値と近接値に対して２次関数のフィッティングを行うことでピーク位置の検出を行っている。視差値が決定されると、ピーク検出部７０２は、視差導出部２０５と同様にステップＳ３０７の処理を行う。
以上が本実施例における処理装置１００の処理である。以上の処理によれば、周波数スペクトルの比の位相成分の微分値を用いずに、視差推定の演算コストを低減することができる。
【００４０】
本実施例の効果を説明するため、以下に上記の処理を画像データに対して実際に行った例を示す。実施例１と同様に、図４（ａ）に示す画像と図４（ｂ）に示す画像とにステップＳ３０２およびステップＳ３０３と、ステップＳ８０１の処理とを行うことにより得られる分布のｘ軸上の断面を、図９に示す。図９に示す分布の最大値と近接値に対して、ステップＳ８０２の処理として２次関数フィッティングを行い得られたピーク位置は−２．１２４１となり、正解の３画素に近い値が得られた。
【００４１】
なお、本実施例において、逆変換部７０１とピーク検出部７０２は、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を示す情報に基づいて、前記第一の画像領域と前記第二の画像領域との間の視差を推定する推定手段として機能する。
【００４２】
＜実施例３＞
実施例１および実施例２では、二つの画像の周波数スペクトルの比に基づいて視差推定を行う処理を、画像中の全ての領域について適用する例について説明した。実施例３では、画像の一部において、実施例１又は実施例２の手法よりも従来手法の方が視差推定の精度が高い場合に、実施例１又は実施例２の手法に適した画像領域にのみ、実施例１又は実施例２の手法を適用する例について述べる。
【００４３】
１枚の画像のある画像領域に類似する画像領域を、もう１枚の画像の全画像領域の中から探索する従来手法では、実施例１および実施例２に記載の手法よりも演算コストがかかるものの、幅広い距離に複数の被写体が存在する場合にも精度よく視差が推定できる。一方、実施例１および実施例２に記載の手法では、画像がぼけている場合にも精度を落とすことなく視差を推定することができる。
【００４４】
そこで、本実施例では、画像中のぼけている領域においては周波数スペクトルの比を用いた視差推定を行う。以下、実施例３の処理装置１００で行われる処理について、図１０に示す機能ブロック図および図１１に示すフローチャートを用いて説明する。実施例３の処理装置１００は、図１０に示すように取得部２０１、ぼけ判定部１００１、視差推定部１００２としての機能を有する。処理装置１００は、ＣＰＵ１０１がＲＯＭ１０３内に格納された制御プログラムを読み込み実行することで、上記各部の機能を実現する。なお、各構成部に相当する専用の処理回路を備えるように処理装置１００を構成するようにしてもよい。以下、各構成部により行われる処理の流れを説明する。なお、実施例１および２と同様の処理については説明を省略する。
【００４５】
ステップＳ１１０１では、ぼけ判定部１００１が、取得部２０１から入力された多視点画像において、画像が所定の程度を超えてぼけているぼけ領域を決定する。ぼけ領域の判定方法としては公知の技術を幅広く用いることができるが、本実施例においては、画像に対してエッジ抽出フィルタを適用し、エッジの検出頻度が所定の閾値よりも低い領域を、ぼけの程度が閾値を超えたぼけ領域として判定する。ぼけ判定部１００１は、取得部２０１から入力された多視点画像と、多視点画像中でぼけ領域であるとして判定された領域を示す情報とを視差推定部１００２に出力する。なお、ここで行われるぼけ領域の判定は、多視点画像が含む画像のうちの少なくとも一枚について行われれば良い。
【００４６】
ステップＳ１１０２では、視差推定部１００２が、ぼけ判定部１００１から入力された多視点画像に含まれる１枚の単視点画像から、視差推定の対象となるブロックを抽出する。なお、ぼけ領域の判定が多視点画像に含まれる一部の画像にのみ行われていた場合には、ぼけ領域の判定が行われている単視点画像から、視差推定の対象となるブロックを抽出するようにする。そして、ステップＳ１１０３では、視差推定部１００２が、ぼけ判定部１００１から入力されたぼけ領域を示す情報に基づいて、ステップＳ１１０２で抽出したブロックがぼけ領域に属するかどうかを判定する。ステップＳ１１０２で抽出したブロックがぼけ領域に属すると判定された場合は、ステップＳ１１０４に進む。ステップＳ１１０２で抽出したブロックがぼけ領域に属しないとして判定された場合は、ステップＳ１１０５に進む。
【００４７】
ステップＳ１１０４では、視差推定部１００２が、ステップＳ１１０２で抽出されたブロックに対して、周波数スペクトルの比を用いた視差推定処理を行う。具体的な処理としては、実施例１又は実施例２に記載した処理を用いる。例えば、図３および図８からステップＳ３０１とステップＳ３０７とを除いた処理を行うようにすればよい。
【００４８】
ステップＳ１１０５では、視差推定部１００２が、従来手法を用いた視差推定処理を行う。具体的には、ブロックマッチングの技術を用いて、多視点画像に含まれる他の画像中の画像領域から、ステップＳ１１０２で抽出した視差推定対象のブロックに類似するブロックを探索する。そして、類似ブロックとして抽出されたブロックと、視差推定対象のブロックとの間の位置ずれの大きさを、視差値として決定する。なお、ここで行う視差推定処理はブロックマッチングを用いた視差推定処理に限られず、ステップＳ１１０４とは異なる基準に基づく視差推定処理であれば様々な視差推定処理を利用可能である。
【００４９】
ステップＳ１１０６では、視差推定部１００２が、画像中の全ての領域について視差推定が行われたかどうかを判定する。画像中の全ての領域について視差推定が行われたと判定された場合は、視差マップを出力して処理を終了する。画像中の全ての領域について視差推定が行われていないと判定された場合は、ステップＳ１１０２に戻って新たなブロックを視差推定対象のブロックとして抽出する。
【００５０】
以上が本実施例の処理装置１００で行われる処理である。以上の処理によれば、画像の一部において、実施例１又は実施例２の手法よりも視差推定の精度が高い手法が存在する場合に、各領域に適した視差推定処理を実行することができる。なお、本実施例において、ぼけ判定部１００１は、前記第一の画像において、画像中のぼけ度合いが所定の程度を超えているぼけ領域を決定する決定手段として機能する。また、視差推定部１００２は、前記第一の画像の第一の画像領域を第一の周波数スペクトルに変換し、前記第二の画像の第二の画像領域を第二の周波数スペクトルに変換する変換手段として機能する。また、視差推定部１００２は、前記第一の周波数スペクトルと前記第二の周波数スペクトルとの比を示す情報に基づいて、前記第一の画像領域と前記第二の画像領域との間の視差を推定する推定手段として機能する。
【００５１】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５２】
２０１  取得部
２０２  変換部
２０３  位相取得部
２０４  微分部
２０５  視差導出部
【図１】
2016125986.tif 000007
【図２】
2016125986.tif 000008
【図３】
2016125986.tif 000009
【図５】
2016125986.tif 000010
【図６】
2016125986.tif 000011
【図７】
2016125986.tif 000012
【図８】
2016125986.tif 000013
【図９】
2016125986.tif 000014
【図１０】
2016125986.tif 000015
【図１１】
2016125986.tif 000016
【図４】
2016125986.tif 000017