(57)【特許請求の範囲】
【請求項１】
画像と、該画像における被写体の深さに対応する深度情報の分布に関する深度マップを取得する取得手段と、
前記画像における被写体領域を指定する指定手段と、
前記画像を前記指定された被写体領域とその他の領域に分割する領域分割処理を実行する領域分割手段と、
前記分割された領域における深度情報の信頼度に基づいて、前記深度マップを整形する深度マップ整形手段と、を有し、
前記深度マップ整形手段は、着目画素が被写体領域に属する場合は前記領域分割処理の結果と前記信頼度を用いて深度マップを整形し、着目画素が被写体領域に属さない場合は前記領域分割処理の結果と前記着目画素の信号と前記取得手段が取得した画像の信号とを比較した結果と前記信頼度に基づいて深度マップを整形することを特徴とする画像処理装置。
【請求項２】
画像を取得する取得手段と、
前記画像における被写体領域を指定する指定手段と、
前記画像を前記指定された被写体領域とその他の領域とに分割する領域分割処理を実行する領域分割手段と、
前記領域分割処理により分割された前記被写体領域とその他の領域との境界にある境界画素周辺に所定量以上の長さのエッジ部分が存在するか否かを判定することで、前記領域分割処理の結果の信頼度を判定する判定手段と、
前記信頼度に基づいて、前記画像における被写体の深さに対応する深度情報の分布に関する深度マップを取得するマップ取得手段と、を有し、
前記判定手段は、前記境界画素周辺に所定量以上の長さのエッジ部分が存在すれば、境界としての信頼度が高い画素と判定し、前記境界画素周辺に所定量以上の長さのエッジ部分が存在しない場合は、境界として信頼度が低い画素と判定することを特徴とする画像処理装置。
【請求項３】
前記深度マップ整形手段は、前記被写体領域に属する画素位置の該被写体領域とその他の領域との境界までの前記画像上の距離に基づいて前記被写体領域における深度情報の信頼度の分布を示す信頼度マップを求める信頼度マップ算出手段を有し、
前記被写体領域の画素位置が前記境界に近いほど前記信頼度が低くなり、前記境界から遠いほど前記信頼度は高くなることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記深度マップ整形手段は、前記着目画素の信号と前記取得手段が取得した画像の信号との差異が所定の閾値以下の場合に前記信頼度を用いることを特徴とする請求項１または３に記載の画像処理装置。
【請求項５】
前記領域分割手段は、前記被写体領域とその他の領域との境界画素周辺でエッジ抽出処理を行い、
前記判定手段は、前記境界画素周辺に所定量以上の長さのエッジ部分が存在しない場合は、前記境界としての信頼度が低いと判定し、前記領域分割処理のやり直しが必要であることを警告することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記領域分割手段は、前記被写体領域とその他の領域との境界画素周辺でエッジ抽出処理を行い、
前記マップ取得手段は、前記境界画素周辺に所定量以上の長さのエッジ部分が存在しない場合に、前記エッジ抽出処理により抽出されたエッジ情報を用いて前記深度マップを取得することを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記深度マップ整形手段は、前記深度マップを整形する処理において、前記被写体領域とその他の領域の境界からの前記画像上の距離が遠くなるほど前記被写体領域における深度情報を平滑化する際の重みを大きくしてフィルタリングを行うことを特徴とする請求項１、３、４のいずれか１項に記載の画像処理装置。
【請求項８】
前記境界からの前記画像上の距離と平滑化における重みの関係は、前記深度マップを取得するために複数の画像の相関演算を行う際に用いるテンプレート領域の範囲に基づいて決められることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記深度マップ整形手段は、前記被写体領域と分割されたその他の領域では色信号の類似度を参照して平滑化を行うか否かを決めることを特徴とする請求項７または８に記載の画像処理装置。
【請求項１０】
前記深度マップ整形手段により整形された深度マップは、整形される前の深度マップに上書きされて保存されることを特徴とする請求項１、３、４、７、８、９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記深度マップは、視差の異なる複数の画像の相関演算に基づいて取得されることを特徴とする請求項１ないし１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記相関演算は、前記相関演算に用いるテンプレート領域を前記被写体領域とその他の領域との境界でマスクすることにより行われることを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記指定手段は、前記画像に対する所定の画像処理の指示を受けた場合にユーザによる前記被写体領域の指定を受け付けることを特徴とする請求項１ないし１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記指定手段は、前記画像に所定の画像処理が自動で実施された結果に基づいて修正の指示を受けた場合に、ユーザによる前記被写体領域の指定を受け付けることを特徴とする請求項１ないし１２のいずれか１項に記載の画像処理装置。
【請求項１５】
前記画像に前記所定の画像処理を施した結果を表示する表示手段をさらに有し、
前記指定手段は、前記表示手段により前記所定の画像処理を施した画像を表示しつつ、ユーザによる前記被写体領域の指定を受け付けることを特徴とする請求項１３または１４に記載の画像処理装置。
【請求項１６】
取得手段が、画像と、該画像における被写体の深さに対応する深度情報の分布に関する深度マップを取得するステップと、
指定手段が、前記画像における被写体領域を指定するステップと、
領域分割手段が、前記画像を前記指定された被写体領域とその他の領域に分割する領域分割処理を実行するステップと、
深度マップ整形手段が、前記分割された領域における深度情報の信頼度に基づいて、前記深度マップを整形するステップと、を有し、
前記深度マップを整形するステップでは、着目画素が被写体領域に属する場合は前記領域分割処理の結果と前記信頼度を用いて深度マップを整形し、着目画素が被写体領域に属さない場合は前記領域分割処理の結果と前記着目画素の信号と前記取得手段が取得した画像の信号とを比較した結果と前記信頼度に基づいて深度マップを整形することを特徴とする画像処理方法。
【請求項１７】
取得手段が、画像を取得するステップと、
指定手段が、前記画像における被写体領域を指定するステップと、
領域分割手段が、前記画像を前記指定された被写体領域とその他の領域とに分割する領域分割処理を実行するステップと、
判定手段が、前記領域分割処理により分割された前記被写体領域とその他の領域との境界にある境界画素周辺に所定量以上の長さのエッジ部分が存在するか否かを判定することで、前記領域分割処理の結果の信頼度を判定するステップと、
マップ取得手段が、前記信頼度に基づいて、前記画像における被写体の深さに対応する深度情報の分布に関する深度マップを取得するステップと、を有し、
前記判定するステップでは、前記境界画素周辺に所定量以上の長さのエッジ部分が存在すれば、境界としての信頼度が高い画素と判定し、前記境界画素周辺に所定量以上の長さのエッジ部分が存在しない場合は、境界として信頼度が低い画素と判定することを特徴とする画像処理方法。
【請求項１８】
請求項１６または１７に記載された画像処理方法を、コンピュータに実行させるためのプログラム。
【請求項１９】
請求項１６または１７に記載された画像処理方法を、コンピュータに実行させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像における被写体の深さに対応する情報に基づく画像処理技術に関する。
【背景技術】
【０００２】
従来より、画像における被写体の深度情報を用いた画像処理技術が提案されている。例えば、被写界深度が深い画像に対し、主被写体から離れている被写体に電子的なぼけを付与する背景ぼかし処理や、ピント位置をずらして連続撮影された複数画像に対し、合焦している領域同士を合成することで、任意の被写体全体に対して合焦しているような合成画像を得る深度合成処理などが挙げられる。
【０００３】
上記画像処理には、画角内の各画素に対する深度情報をマップデータ（以下、深度マップ）として取得しておく必要がある。深度マップを取得する技術は複数存在するが、代表的な手法として右目画像と左目画像から各画像の視差情報を算出し、視差情報を深度情報に換算する視差方式がある。しかしながら、視差方式では、図１７に示すように遠近競合による誤差が存在し、画像処理結果に影響を及ぼす可能性がある。
【０００４】
ここで、図１７を参照して、前述の遠近競合による課題ついて説明する。図１７（ａ）に示すように、相関演算により視差量を算出する場合は、右目画像において被写体Ａを着目位置とした場合、着目位置周辺の矩形で示したテンプレート領域に対して、左目画像の矩形のテンプレート領域の各位置で相関演算を行い、得られた評価値が最小になる位置を視差量として算出する。ここで、相関演算とは、テンプレートを用いたパターンマッチング方式である。
【０００５】
ところが、図１７（ｂ）に示すように、必ずしも相関演算による最小値が着目する被写体（被写体Ａ）の深度に対応した視差を示すとは限らず、着目する被写体に隣接する他の被写体（被写体Ｂ）の深度に対応した視差で最小となる場合がある。このため、被写体周辺部において、着目する被写体の深度情報を正確に算出できなくなる。このような課題は特に、被写体Ｂのテクスチャが被写体Ａよりも多い場合に顕著となる。このような遠近競合の課題を解決するため、特許文献１には、遠近競合となる領域を別途算出し、当該領域ではあえて深度マップの解像度を落とすことで、遠近競合の影響を低減する技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１３／０３８８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１では、深度マップの解像度を落としてしまうので、その後の画像処理で所望の解像度による処理が行えなくなってしまう。
【０００８】
本発明は、上記課題に鑑みてなされ、その目的は、深度マップの解像度を保ちつつ、遠近競合の影響を低減できる画像処理技術を実現することである。
【課題を解決するための手段】
【０００９】
上記課題を解決し、目的を達成するために、本発明の画像処理装置は、画像と、該画像における被写体の深さに対応する深度情報の分布に関する深度マップを取得する取得手段と、前記画像における被写体領域を指定する指定手段と、前記画像を前記指定された被写体領域とその他の領域に分割する領域分割処理を実行する領域分割手段と、前記分割された領域における深度情報の信頼度に基づいて、前記深度マップを整形する深度マップ整形手段と、を有し、前記深度マップ整形手段は、着目画素が被写体領域に属する場合は前記領域分割処理の結果と前記信頼度を用いて深度マップを整形し、着目画素が被写体領域に属さない場合は前記領域分割処理の結果と前記着目画素の信号と前記取得手段が取得した画像の信号とを比較した結果と前記信頼度に基づいて深度マップを整形する。
【００１０】
また、本発明の画像処理装置は、画像を取得する取得手段と、前記画像における被写体領域を指定する指定手段と、前記画像を前記指定された被写体領域とその他の領域とに分割する領域分割処理を実行する領域分割手段と、前記領域分割処理により分割された前記被写体領域とその他の領域との境界にある境界画素周辺に所定量以上の長さのエッジ部分が存在するか否かを判定することで、前記領域分割処理の結果の信頼度を判定する判定手段と、前記信頼度に基づいて、前記画像における被写体の深さに対応する深度情報の分布に関する深度マップを取得するマップ取得手段と、を有し、前記判定手段は、前記境界画素周辺に所定量以上の長さのエッジ部分が存在すれば、境界としての信頼度が高い画素と判定し、前記境界画素周辺に所定量以上の長さのエッジ部分が存在しない場合は、境界として信頼度が低い画素と判定する。
【発明の効果】
【００１１】
本発明によれば、深度マップの解像度を保ちつつ、遠近競合の影響を低減した画像処理を行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態の装置構成を示すブロック図（ａ）および画像処理部の機能ブロック図（ｂ）。
【図２】深度マップ算出処理を示すフローチャート。
【図３】実施形態１の領域分割処理を示すフローチャート。
【図４】画像処理の選択画面（ａ）、被写体領域の初期値入力画面（ｂ）、初期値が入力された画面（ｃ）および領域分割処理結果の表示画面（ｄ）を例示する図。
【図５】深度マップ整形部の機能ブロックおよびＲＡＭとの関係を説明する図。
【図６】遠近競合信頼度マップ算出処理を示すフローチャート。
【図７】主被写体領域内の画素と他の領域までの距離算出方法を説明する図。
【図８】主被写体領域内の画素と他の領域までの距離と遠近競合信頼度の関係を示す図。
【図９】深度マップ整形処理を示すフローチャート。
【図１０】主被写体領域に所属する画素に対するフィルタリング整形処理を説明する図（ａ）および背景領域に所属する画素に対するフィルタリング整形処理を説明する図（ｂ）。
【図１１】背景ぼかし処理の説明図。
【図１２】実施形態２の画像処理部の機能ブロック図。
【図１３】実施形態２の領域分割処理を示すフローチャート。
【図１４】実施形態２の領域分割処理における信頼性評価処理を示すフローチャート。
【図１５】実施形態２の深度マップ算出処理を示すフローチャート。
【図１６】深度マップ算出処理における視差画像の相関演算処理を説明する図。
【図１７】遠近競合による課題を説明する図。
【発明を実施するための形態】
【００１３】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成してもよい。
【００１４】
［実施形態１］
実施形態１では、ステレオ撮影された画像データから深度マップを算出し、後処理でユーザ指示に基づく領域分割処理を実行し、分割領域を参照しながら深度マップを整形することで、遠近競合の影響が低減された深度マップを生成する。
【００１５】
＜装置構成＞
まず、図１（ａ）を参照して、本実施形態の画像処技術を実現するデジタルカメラ等の撮像装置１００の構成および機能について説明する。
【００１６】
図１（ａ）において、システム制御部１０１は、ＣＰＵやＭＰＵ等の演算処理装置を備え、撮像装置１００の全体を統括して制御する。システム制御部１０１は、後述するＲＯＭ１０２に格納された動作プログラムを読み出し、後述のＲＡＭ１０３に展開して実行することにより撮像装置１００が備える各ブロックの動作を制御する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであり、撮像装置１００が備える各ブロックの動作プログラムに加え、各ブロックの動作に必要なパラメータ等を記憶する。ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、撮像装置１００が備える各ブロックの動作において出力されたデータの一時的な記憶領域として用いられる。
【００１７】
本実施形態ではステレオ撮影を想定しているため、光学系および撮像部を複数（例えば、２つ）備える。第１光学系１０４および第２光学系１０６は、ズームレンズ、フォーカスレンズを含むレンズ群で構成され、左右に隣接して配置される。それぞれの被写体像は第１撮像部１０５および第２撮像部１０７に結像する。第１撮像部１０５および第２撮像部１０７は、例えばＣＣＤやＣＭＯＳ等のイメージセンサを含み、光学系により撮像部に結像された光学像を光電変換し、得られた一対のアナログ画像信号を順次Ａ／Ｄ変換部１０８に出力する。Ａ／Ｄ変換部１０８は、入力されたアナログ画像信号にデジタル画像信号に変換し、得られた一対のデジタル画像データをＲＡＭ１０３に出力する。
【００１８】
画像処理部１０９は、ＲＡＭ１０３に記録された左右一対の画像データに対して、ホワイトバランス調整、色補間、ガンマ処理、電子ズーム処理など、様々な画像処理を適用する。また、画像処理部１０９は、後述の深度マップ算出処理、ユーザ指示に基づく領域分割処理、深度マップ整形処理、および深度マップを用いた後画像処理などの画像処理を行う。本処理については後に詳細な説明を行う。
【００１９】
表示部１１０は、ＬＣＤや有機ＥＬなどの表示デバイスであり、ＲＡＭ１０３および後述の記録部１１１に記録した画像やユーザ操作による指示を受け付けるためのＧＵＩ（グラフィカルユーザインターフェース）画面などを表示する。記録部１１１は着脱可能なメモリカード等であり、画像処理部１０９で処理された画像が、ＲＡＭ１０３を介し、記録画像として記録される。
【００２０】
＜画像処理部１０９＞
次に、図１（ｂ）を参照して、本実施形態の画像処理部１０９について詳細に説明を行う。
【００２１】
図１（ｂ）に示すように、画像処理部１０９は、深度マップ算出部２００、領域分割処理部３００、深度マップ整形部４００、背景ぼかし処理部５００を備える。ここで、深度マップを用いた後の画像処理としては、背景ぼかし処理を行うものとする。次に、各処理ブロックにおける処理の内容について、詳細な説明を行う。
【００２２】
（深度マップ算出部２００）
ここで、図２を用いて、システム制御部１０１による制御に従って、画像処理部１０９の深度マップ算出部２００が実行する処理を説明する。
【００２３】
Ｓ２０１では、ＲＡＭ１０３に読み出した左右一対の画像データを入力する。Ｓ２０２では、右目画像の着目画素に対する左目画像のずれ量を算出する。ずれ量の算出手法は、前述の相関演算により行う。なお、以下、上記左右一対の視差画像のうち右目画像を主画像とし、左目画像を副画像とする。従って、表示部１１０に表示する画像や、入力画像という文言は、全て右目画像を示すものとする。Ｓ２０３では、Ｓ２０２で算出したずれ量を深度情報に変換する。ずれ量と深度の変換係数は、レンズやイメージセンサなどの撮像条件から一意に定まる。着目画素位置の座標を（ｘ、ｙ）、算出したずれ量をｍ（ｘ、ｙ）ピクセルとした場合、着目画素位置における深度情報ｄ（ｘ、ｙ）は、変換係数ｋを用いて以下の式１のように表現できる。
【００２４】
ｄ（ｘ、ｙ）＝ｋ÷ｍ（ｘ、ｙ）・・・（１）
ただし、ｍ＝０の場合、ｄは無限遠
Ｓ２０４では、右目画像に対する全画素に対して、深度情報を算出したか否かを判定し、算出していない場合は、Ｓ２０５において着目画素位置を更新し、Ｓ２０２以降の処理を同様に繰り返す。また、深度情報を算出した場合は、Ｓ２０６において算出した深度マップをＲＡＭ１０３に保存し、深度マップ算出部２００における処理を終了する。
【００２５】
以上の深度マップ算出処理によって、撮像部で取得した左右一対の画像データに対応した深度マップを取得することができる。
【００２６】
（領域分割処理部３００）
次に、領域分割処理部３００について詳細な説明を行う前に、本処理の発動条件について説明を行う。
【００２７】
入力画像および深度マップの取得後、撮像装置１００はユーザに対し、所望の画像処理の選択を促す。図４（ａ）は、ユーザに対し表示部１１０を介して、撮影画像に対する画像処理を促すＵＩ画面を例示している。画像表示ウィンドウ４０１ａには、撮影した画像を表示し、メッセージウィンドウ４０２ａには、所望の画像処理の選択を促すメッセージを表示する。画像処理選択ウィンドウ４０３ａには、画像処理の候補を一覧表示する。ユーザは、撮像装置１００に設けられた十字キーを用いたり、表示部１１０を直接タッチすることで、所望の画像処理を選択可能である。
【００２８】
ユーザが図４（ａ）のＵＩ画面からいずれかの画像処理を選択すると、当該選択された画像処理が深度マップを必要とする処理であるか否かを判定し、必要である場合は領域分割処理部３００が発動する。図４（ａ）の例では、「背景をぼかす」が選択された場合に、領域分割処理部３００が発動するものとする。
【００２９】
図３は、システム制御部１０１による制御に従って、画像処理部１０９の領域分割処理部３００が実行する処理を示している。
【００３０】
Ｓ３０１では、初期値の入力を受け付ける。ここで、初期値は、主被写体と背景を示す領域情報であり、ＵＩ画面を介してユーザ操作を受け付けるものとする。
【００３１】
図４（ｂ）は、表示部１１０に表示される初期値入力画面を例示している。画像表示ウィンドウ４０１ｂには、撮影した画像を表示し、メッセージウィンドウ４０２ｂには、主被写体と背景の初期値入力を促すメッセージを表示する。ユーザは、表示されたペンアイコン４０３ｂを操作し、初期値を入力する。図４（ｃ）は、初期値入力画面に対する初期値入力例を示し、実線で示した４０２ｃが主被写体を示す初期値であり、破線で示した４０１ｃが背景を示す初期値である。
【００３２】
Ｓ３０２では、初期値に基づく領域成長処理を実施する。本実施形態においては、本処理は広く知られているＷａｔｅｒｓｈｅｄ法を行うものとする。Ｗａｔｅｒｓｈｅｄ法とは、初期値の近接画素に対し、差分値が小さい画素から領域を確定させていく領域成長処理である。
【００３３】
Ｓ３０３では、表示部１１０に対し、領域分割結果の表示を行う。図４（ｄ）は、領域分割結果表示の一例である。上記領域成長処理の結果、画像表示ウィンドウ４０１ｄには、主被写体側と判定された領域が白で表示され、背景側と判定された領域がグレーで表示されている。メッセージウィンドウ４０２ｄには、ユーザに対し領域分割処理の終了を促す表示を行う。図４（ｄ）の例では、領域分割失敗部分４０３ｄが存在するので、ユーザは分割処理を終了せず、ペンツール４０４ｄでさらに背景側の指定を領域４０３ｄに追加する。上記追加入力がＳ３０５の処理であり、Ｓ３０６では、追加入力を新たに初期値に加え、再度Ｓ３０２の領域成長処理を実行する。本処理を繰り返し、ユーザが領域分割を終了すると判定した場合は、Ｓ３０７において、領域分割結果をＲＡＭ１０３に保存し、領域分割処理部３００における処理を終了する。
【００３４】
以上の領域分割処理によって入力画像に対して主被写体と背景に分割した領域分割結果を取得することができる。
【００３５】
（深度マップ整形部４００）
次に、図５および図６を参照して、深度マップ整形部４００について詳細な説明を行う。図５は、深度マップ整形部４００の処理ブロックとＲＡＭ１０３を示している。図５に示すように、深度マップ整形部４００は、遠近競合信頼度マップ算出部５０１と整形処理部５０２を備え、ＲＡＭ１０３から深度マップと対応する入力画像、領域分割結果が入力される。以下、各処理ブロックについて詳細な説明を行う。
【００３６】
遠近競合信頼度マップ算出部５０１には、領域分割処理部３００で得た領域分割結果が入力される。前述の通り、遠近競合により正確に深度マップが推定できない課題は、原理的には深度が切り替わる境界付近で発生する。その中で、ユーザが主被写体と背景とを切り分けた処理を所望する場合は、主被写体と背景の境界付近に着目する必要がある。遠近競合信頼度は、遠近競合による深度マップの信頼度を示し、境界付近で信頼度が低く、境界から遠くなるほど信頼度は高くなる。
【００３７】
図６は、システム制御部１０１による制御に従って、深度マップ整形部４００の遠近競合信頼度マップ算出部５０１が実行する処理を示している。
【００３８】
Ｓ６０１では、着目画素を設定する。Ｓ６０２では、着目画素の所属領域を取得する。ここでは、上記領域分割結果における着目画素位置が主被写体と背景のどちらであるかを判定する。Ｓ６０３では、所属領域と異なる領域への最短距離ｍｉｎ＿ｄｉｓｔを算出する。
【００３９】
図７は、ｍｉｎ＿ｄｉｓｔ算出を説明する図である。図７の例では、着目画素位置は主被写体側である。具体的な算出方法は図７に示すように、着目画素位置を中心に辺の長さＬの正方向を配置し、正方形内部において、背景領域に所属する画素への距離をそれぞれ算出し、その最小値をｍｉｎ＿ｄｉｓｔとする。正方形内部の全画素にわたって着目画素と同一属性の場合は、ｍｉｎ＿ｄｉｓｔには正方形の対角線長の１／２の値を設定する。また、正方形の辺の長さＬは、深度マップ算出時の相関演算におけるテンプレート領域から設定する。理由は、前述した遠近競合の原理的に、テンプレート領域のサイズが大きいほど、遠近競合が生じる可能性がある領域のサイズが大きくなるからである。
【００４０】
Ｓ６０４では、ｍｉｎ＿ｄｉｓｔから遠近競合信頼度を算出する。図８は、ｍｉｎ＿ｄｉｓｔと遠近競合信頼度Ｃｏｎｆの関係を示すグラフである。図８から分かるように、ｍｉｎ＿ｄｉｓｔが小さいほどＣｏｎｆは小さく、ｍｉｎ＿ｄｉｓｔが大きいほどＣｏｎｆは大きくなる。これは、主被写体と背景の境界面から近いほど、遠近競合が発生する可能性が高いので信頼度は低く、反対に遠いほど、遠近競合が発生する可能性が低いので信頼度は高くなることを意味している。上述した特性に従い、ｍｉｎ＿ｄｉｓｔから遠近競合信頼度Ｃｏｎｆを算出する。なお、図８のＴＨ１，ＴＨ２，Ｃｏｎｆ＿ｍｉｎ，Ｃｏｎｆ＿ｍａｘは調整パラメータであるが、特にＴｈ１，ＴＨ２は前述のＬと同様、深度マップ算出時の相関演算におけるテンプレート領域のサイズに応じて設定するのが望ましい。
【００４１】
Ｓ６０５では、全画素に対して遠近競合信頼度Ｃｏｎｆを算出したか否かを判定し、算出していない場合は、Ｓ６０６において着目画素位置を更新し、Ｓ６０２以降の処理を繰り返す。一方、算出した場合は、Ｓ６０７において作成した遠近競合信頼度マップをＲＡＭ１０３に保存し、本処理を終了する。
【００４２】
次に、整形処理部５０２について詳細な説明を行う。図５に示すように、整形処理部５０２には、整形前の深度マップ、入力画像、領域分割結果、および遠近競合信頼度マップ算出部５０１で算出した遠近競合信頼度マップが入力される。
【００４３】
図９は、システム制御部１０１による制御に従って、深度マップ整形部４００の整形処理部５０２が実行する処理を示している。
【００４４】
Ｓ９０１で、着目画素を設定する。Ｓ９０２で、領域分割結果を参照しながら、着目画素が主被写体領域に属するか否かを判定し、属する場合はＳ９０３、属しない場合はＳ９０４へ進む。
【００４５】
Ｓ９０３では、主被写体領域に所属する画素に対するフィルタリング整形処理を行う。本処理では、領域分割結果、および遠近競合信頼度を用いる。図１０（ａ）は、フィルタリング範囲を７ｐｉｘｅｌとした時の、本フィルタリング整形処理の動作を説明する図である。着目画素位置は（ｉ，ｊ）である。図１０（ａ）に示すように、フィルタリングに使用するフィルタカーネルは、着目画素位置と同じ属性の領域のみ、遠近競合信頼度をそのまま使用し、異なる属性の領域では０を使用する。図１０（ａ）の例では、着目画素位置の属性がＦ（主被写体領域）のため、同じ属性Ｆの位置では遠近競合信頼度を出力し、異属性Ｂ（背景領域）の領域ではフィルタカーネルとして０を出力する。
【００４６】
座標（ｉ，ｊ）における整形前の深度マップの値をＤｅｐｔｈ［ｉ］［ｊ］、フィルタカーネルの値をＦｉｌ［ｉ］［ｊ］とした時、整形後の深度マップの値ＤＲ［ｉ］［ｊ］は以下の式２で算出される。
【００４７】
ＤＲ［ｉ］［ｊ］＝｛ΣΣ（Ｄｅｐｔｈ［ｉ］［ｊ］×Ｆｉｌ［ｉ］［ｊ］）｝／｛ΣΣＦｉｌ［ｉ］［ｊ］・・・（２）
上記式２において、分子分母それぞれにある２つの加算記号は、いずれも所定サイズのフィルタ内部について、垂直方向および水平方向の和をとることを意味する。本処理では、着目画素位置と同じ属性の遠近競合信頼度を直接フィルタカーネルとして使用するため、同じ主被写体の領域のみがフィルタリングの対象となり、かつ、異なる物体の境界付近の重み係数を小さくすることができるので、境界付近で発生している可能性が高い遠近競合による誤推定の影響を低減しつつ、整形処理を行うことができる。
【００４８】
Ｓ９０４では、背景領域に所属する画素に対するフィルタリング整形処理を行う。図１０（ｂ）は、フィルタリング範囲を７ｐｉｘｅｌとした時の、本フィルタリング整形処理の動作を説明する図である。着目画素位置は（ｉ，ｊ）である。図１０（ｂ）に示すように、フィルタリングに使用するフィルタカーネルは、着目画素位置と同じ属性の領域かつ、着目画素位置と入力画像信号の差異が小さい領域のみ、遠近競合信頼度をそのまま使用し、その他の領域では０を使用する。ここで、入力画像信号の差異が小さいとは、以下の式３で計算されるＤｉｆｆ［ｘ］［ｙ］が所定の閾値以下である場合とする。
【００４９】
Ｄｉｆｆ［ｘ］［ｙ］＝｜Ｒ［ｘ］［ｙ］−Ｒ［ｉ］［ｊ］｜＋｜Ｇ［ｘ］［ｙ］−Ｇ［ｉ］［ｊ］｜＋｜Ｂ［ｘ］［ｙ］−Ｂ［ｉ］［ｊ］｜・・・（３）
ここで、（ｘ，ｙ）は所定サイズのフィルタ内部における任意の座標であり、Ｒ，Ｇ，Ｂはそれぞれ画像信号の信号値である。図１０（ｂ）の例では、着目画素位置の属性がＢのため、同じ属性Ｂの位置で、かつ画像信号差分が小さい位置では遠近競合信頼度を出力し、その他の領域ではフィルタカーネルとして０を出力する。整形後の深度マップＤＲ［ｉ］［ｊ］の算出方法は、式２と同様である。
【００５０】
Ｓ９０４は、Ｓ９０３と比較して、入力画像信号を用いる点が異なる。その理由は以下の通りである。
【００５１】
主被写体領域は意味のある１つの物体である場合が多いため、その内部の深度分布は略一様か、滑らかな分布になっている場合が多く、主被写体領域内の全ての座標で平滑化した方がよいと考えられる。一方、背景領域には複数の深度が異なる物体が含まれることが多く、それらを平滑化してしまうと、正しい深度分布とはならない。よって、異なる物体間は区別して平滑化を行う必要があり、その判断材料として色信号の類似度を用いる。
【００５２】
Ｓ９０５では、全画素についてフィルタリング処理を行ったか否かを判定し、フィルタリング処理を行っていない場合は、Ｓ９０６において、着目画素を更新し、Ｓ９０２以降の処理を繰り返し行う。一方、フィルタリング処理を行った場合には、Ｓ９０７において、整形前の深度マップに対し、本処理で得られた整形後の深度マップをＲＡＭ１０３に上書き保存する。
【００５３】
以上の深度マップ整形処理によって、遠近競合の影響を低減し、主被写体の輪郭に沿った形に整形された深度マップを取得することができる。
【００５４】
＜背景ぼかし処理部５００＞
次に、図１１を参照して、背景ぼかし処理部５００について詳細な説明行う。図１１（ａ）に示す入力画像に対し、図１１（ｂ）は整形後の深度マップを示す。深度マップの見方としては、明るいほど撮像装置１００からの距離が近く、暗いほど撮像装置からの距離が遠いことを示す。
【００５５】
処理の概要としては、主被写体の距離からの相対距離に応じて、距離が遠くなるほどぼかし量を大きくするような処理を施す。具体的には、入力画像をぼかすぼかしフィルタの参照範囲をコントロールする。ここで、ぼかしフィルタは、例えば特開２００９−２１８７０８号公報に開示されているような、既知の円柱型のフィルタであるものとする。図１１の例では、主被写体の背後にある三角形の物体ではぼかし量が小さくなり、その背後の領域ではぼかし量を大きくするような処理を行う。最後に、ぼかし処理後の入力画像を記録部１１１に保存する。
【００５６】
以上の背景ぼかし処理によって入力画像において主被写体からの距離に応じたぼけを付与したぼかし画像を取得することができる。
【００５７】
なお、本実施形態では、背景ぼかし処理に先立って入力画像の領域分割結果をＵＩ画面に表示したが、整形前の深度マップを用いて自動で背景ぼかし処理を行い、処理後の画像を表示してユーザが修正を所望した場合にのみ、領域分割処理を行うようにしてもよい。
【００５８】
また、本実施形態では背景ぼかし処理に先立って入力画像の領域分割処理をＵＩ画面にて行ったが、領域分割結果を直接表示するのではなく、領域分割処理の各ステップにおいて、背景ぼかし処理を施した画像を表示部に表示し、ユーザが最終画像を確認しながら領域分割処理を行うという実施形態も考えられる。
【００５９】
［実施形態２］
実施形態２では、ステレオ撮影により得られた画像を記録し、後処理でユーザ指示に基づく領域分割処理を実行し、分割領域を参照しながら深度マップを算出することで、遠近競合の影響が低減された深度マップを取得する。実施形態１との違いは、後処理で深度マップを整形するのではなく、深度マップ取得時に直接領域分割結果を参照する点である。
【００６０】
本実施形態は、画像処理部１０９の動作が実施形態１と異なる。図１２は、本実施形態において画像処理部１０９が具備する主要な処理ブロックを示している。図１２に示すように、画像処理部１０９は、領域分割処理部６００、深度マップ算出部７００、背景ぼかし処理部８００を備える。実施形態１との違いは、本実施形態では先に領域分割処理部６００が動作する点であり、また、深度マップ整形部は備えていない。
【００６１】
また、実施形態１の画像処理部１０９での処理と異なるのは、領域分割処理部６００と深度マップ算出部７００の処理である。以下、実施形態の２の領域分割処理部６００と深度マップ算出部７００が実行する処理について詳細な説明を行う。
【００６２】
（領域分割処理部６００）
図１３は、システム制御部１０１による制御に従って、本実施形態の画像処理部１０９の領域分割処理部６００が実行する処理を示している。なお、図１３におけるＳ１３０１〜Ｓ１３０５、Ｓ１３１０は、図３のＳ３０１〜Ｓ３０５、Ｓ３０７と同様であり、実施形態１の図３と異なる処理は、Ｓ１３０７における領域分割結果の信頼性評価とＳ１３０９における警告表示である。本処理は、領域分割結果が後処理を行う際に十分信頼できるか否かを判定する。理想的には、領域分割結果は主被写体と背景のエッジ部分に沿うはずであり、具体的な処理は領域分割結果がエッジ部分に沿っているか否かで判定する。
【００６３】
ここで、図１４を用いて、Ｓ１３０７の詳細な処理を説明する。
【００６４】
Ｓ１４０１では、入力画像におけるエッジ抽出処理を行う。本エッジ抽出処理は、既知のバンドパスフィルタを用いるものとする。Ｓ１４０２では、着目画素を設定する。Ｓ１４０３では、着目画素が境界画素か否かを判定する。判定方法は、領域分割結果における着目画素周辺の所定領域では、領域の属性が変化するか否かを判定し、変化している場合は境界画素、変化していない場合は境界画素ではないと判定する。判定の結果、境界画素と判定された場合はＳ１４０４に進み、着目画素が信頼度の高い境界画素か否かの判定を行う。一方、境界画素ではないと判定された場合は信頼度算出の対象外となり、Ｓ１４０７に進む。
【００６５】
Ｓ１４０４では、境界画素周辺に所定量以上のエッジ部分が存在するか否かを判定する。エッジ部分の判定は、Ｓ１４０１で抽出されたエッジ情報を利用する。前述の考察より、境界画素周辺に所定量以上のエッジ部分が存在すれば、エッジ部分に沿った境界である可能性が高く、境界としての信頼度が高い画素と判定し、Ｓ１４０５で境界画素数と信頼画素数をそれぞれインクリメントする。一方、境界周辺に所定量以上のエッジ部分が存在しない場合は、境界として信頼度が低い画素と判定し、Ｓ１４０６で境界画素数のみインクリメントする。
【００６６】
Ｓ１４０７では、上述した処理を全画素について行ったか否かを判定し、未処理の画素がある場合は、Ｓ１４０８で着目画素を更新し、Ｓ１４０３以降の処理を繰り返し行う。一方、全画素に行った場合は、次のＳ１４０９に進む。
【００６７】
Ｓ１４０９で、境界画素数に対する信頼画素数の割合を算出し、算出した割合が所定値以上か否かを判定する。算出した割合が高いほど、信頼できる境界画素数が多く、領域分割結果として信頼性が高いと考えられるため、算出した割合が所定値以上の場合は、Ｓ１４１０に進み、領域分割結果が信頼できるとして、本処理を完了する。一方、所定値未満の場合は、Ｓ１４１１に進み、領域分割結果が信頼できないとして、本処理を終了する。
【００６８】
図１３に戻り、Ｓ１３０８での処理の結果、領域分割結果が信頼できないと判定された場合は、Ｓ１３０９で警告を発してユーザに注意を促し、追加入力を受け付けるためＳ１３０５に戻る。一方、領域分割結果が信頼できると判定された場合は、Ｓ１３１０で領域分割結果をＲＡＭ１０３に保存し、領域分割処理を終了する。
【００６９】
以上の領域分割処理によって信頼性の高い領域分割結果を取得することができる。また、Ｓ１３０７以降の信頼性評価処理は本実施形態にて説明したが、実施形態１における領域分割処理部３００で同様の処理を行ってもよい。
【００７０】
また、本実施形態では、領域分割結果の信頼性が低い場合は、ユーザに警告を出すようにしたが、例えば、ユーザに警告を出さず、信頼性の低い領域に関しては、領域分割結果ではなく、周辺のエッジ情報を用いて後段の整形処理を行うようにしてもよい。
【００７１】
（深度マップ算出部７００）
図１５は、システム制御部１０１による制御に従って、本実施形態の画像処理部１０９の深度マップ算出部７００が実行する処理を示している。なお、図１５におけるＳ１５０３〜Ｓ１５０６は、図２のＳ２０３〜Ｓ２０６と同様であり、実施形態１の図２と異なる処理は、Ｓ１５０１において右目画像、左目画像に加え、領域分割結果をＲＡＭ１０３から入力している点と、Ｓ１５０２において右目画像と左目画像のずれ量を算出する際に領域分割結果を参照している点である。
【００７２】
図１６は、Ｓ１５０２での相関演算によるずれ量算出処理を説明する図である。図１６に示すように、相関演算のテンプレート領域に対し、対応する領域の領域分割結果を参照し、着目画素とは異なる領域に所属する画素をマスクしたマスクテンプレートを作成する。このマスクテンプレートを用いて、サーチ領域内の各位置で順次相関係数を算出する。相関係数算出時は、マスクされている領域は算出対象から除外する。
【００７３】
上述した処理を行うことで、着目画素位置とは異なる領域のテクスチャ（図１６の例ではＣ，Ｄのテクスチャ）の影響で、深度の推定処理を誤ることがなくなるため、遠近競合の影響を排除した深度マップを得ることができる。
【００７４】
なお、本発明は、画像における被写体の深さに対応する情報としてさまざまな実施形態での適用が可能である。つまり、被写体の深さに対応するデータが示す情報（深さ情報）は、画像内における撮像装置から被写体までの被写体距離を直接的に表すか、または画像内の被写体の被写体距離や深さの相対関係を表す情報であればよい。
【００７５】
具体的には、図１７（ｂ）でも述べたように、相関演算により右目画像と左目画像の各画素位置での像ずれ量が算出され、像ずれ量の分布を表す像ずれマップが算出される。あるいはさらに像ずれ量がデフォーカス量に換算され、デフォーカス量の分布（撮像画像の２次元平面上の分布）を表すデフォーカスマップが生成される。このデフォーカス量を光学系やイメージセンサの条件に基づいて被写体距離に換算すると、被写体距離の分布を表す深度マップデータが得られる。
【００７６】
以上のように、本実施形態の画像処理部１０９は、像ずれマップデータ、デフォーカスマップデータ、あるいはデフォーカス量から変換される被写体距離の深度マップデータを取得すればよい。なお、各マップデータの各データはブロック単位で持っていてもよいし、画素単位でもっていてもよい。このとき、通常の画像データのように最小単位ごとに８ｂｉｔ程度のｂｉｔ数を割り当て、距離画像として画像処理や表示、記録などを画像処理と同様に行う形態をとってもよい。
【００７７】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７８】
１０１…システム制御部、１０９…画像処理部、１１０…表示部、１１１…記録部
【図１】
0006752059.tif 000002
【図２】
0006752059.tif 000003
【図３】
0006752059.tif 000004
【図４】
0006752059.tif 000005
【図５】
0006752059.tif 000006
【図６】
0006752059.tif 000007
【図７】
0006752059.tif 000008
【図８】
0006752059.tif 000009
【図９】
0006752059.tif 000010
【図１０】
0006752059.tif 000011
【図１１】
0006752059.tif 000012
【図１２】
0006752059.tif 000013
【図１３】
0006752059.tif 000014
【図１４】
0006752059.tif 000015
【図１５】
0006752059.tif 000016
【図１６】
0006752059.tif 000017
【図１７】
0006752059.tif 000018