(57)【要約】【課題】所望の合焦状態に応じた合成画像を生成可能な画像処理装置等の提供。【解決手段】スマートフォン１において、エッジ検出手段１０７は、焦点距離を変えて撮像された異なる複数の入力画像から特徴としてエッジを検出し、検出されたエッジの強度を特徴量として検出する。そして、深度推定部１１１は、エッジ検出手段１０７により検出されたエッジの強度を用いて、対象画素について、複数の入力画像のうちの何れの入力画像で合焦しているかを示す情報である深度を推定する。そして、デプスマップ生成部１１３は、深度推定部１１１の推定結果に基づいてデプスマップを生成する。【選択図】図１
2015111822.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力画像から所定の特徴を検出する特徴検出手段と、
前記特徴検出手段の検出結果に基づいてデプスマップを生成するデプスマップ生成手段と、
を備えた画像処理装置。
【請求項２】
前記特徴検出手段は、前記複数の入力画像から所定の特徴量を検出する特徴量検出手段を有し、
前記特徴量検出手段により検出された特徴量を用いて、対象画素について、前記複数の入力画像のうちの何れの入力画像で合焦しているかを示す情報である深度を推定する深度推定手段を更に備え、
前記デプスマップ生成手段は、前記深度推定手段の推定結果に基づいて前記デプスマップを生成する、
請求項１に記載の画像処理装置。
【請求項３】
前記深度推定手段は、前記特徴量検出手段により検出された前記複数の入力画像それぞれの特徴量を用いて、前記対象画素について、当該対象画素の特徴量に応じて定まる第１種パラメーター値と、当該対象画素について合焦しているとする第１の入力画像と当該対象画素の近傍画素について合焦しているとする第２の入力画像とが異なる場合のペナルティとして定められる第２種パラメーター値とを用いた所定の適切解演算処理を行って、前記対象画素について合焦している入力画像を判定する、
請求項２に記載の画像処理装置。
【請求項４】
前記複数の入力画像から被写体ぶれ領域を検出する被写体ぶれ領域検出手段を更に備え、
前記適切解演算処理では、前記被写体ぶれ領域検出手段により検出された被写体ぶれ領域について、前記第１種パラメーター値及び前記第２種パラメーター値の少なくとも一方を前記被写体ぶれ領域以外の領域で用いるパラメーター値とは異なる値として演算を行う、
請求項３に記載の画像処理装置。
【請求項５】
前記複数の入力画像の焦点が適切に分離されているかを判定する焦点分離判定手段を更に備え、
前記深度推定手段は、前記焦点分離判定手段の判定結果が肯定判定となった入力画像を用いて、前記対象画素について前記深度を推定する、
請求項２〜４の何れか一項に記載の画像処理装置。
【請求項６】
前記特徴量検出手段は、前記複数の入力画像又は前記複数の入力画像を縮小した縮小入力画像から前記特徴量を検出し、
前記デプスマップ生成手段は、前記深度推定手段の推定結果に基づいて、縮小されたデプスマップを生成し、
前記縮小されたデプスマップを所定の復元方法を用いて復元する復元手段と、
前記復元手段により復元されたデプスマップを、所定の修正用画像を用いて修正したデプスマップを生成する修正手段と、
を更に備えた、
請求項２〜５の何れか一項に記載の画像処理装置。
【請求項７】
前記特徴検出手段は、視差が発生する複数の視点で撮像された撮影画像を前記複数の入力画像として、前記入力画像から特徴点を検出する特徴点検出手段を有し、
前記特徴点検出手段によって検出された特徴点に基づいて、前記複数の入力画像それぞれの視点の相対的な位置関係を推定する視点位置関係推定手段と、
所定の推定演算を行って、前記複数の入力画像を構成する画素の３次元の位置を推定する画素位置推定手段と、
を更に備え、
前記デプスマップ生成手段は、前記視点位置関係推定手段の推定結果と前記画素位置推定手段の推定結果とに基づいて、前記デプスマップを生成する、
請求項１に記載の画像処理装置。
【請求項８】
前記視点位置関係推定手段は、
前記特徴点検出手段によって検出された特徴点を追跡する特徴点追跡手段と、
前記特徴点追跡手段の追跡結果に基づいて、前記複数の入力画像の中から基点となる入力画像である基点入力画像を抽出する基点入力画像抽出手段と、
を有し、前記基点入力画像抽出手段によって抽出された基点入力画像について前記特徴点検出手段によって検出された特徴点に基づいて、前記複数の撮影画像それぞれの視点の相対的な位置関係を推定する、
請求項７に記載の画像処理装置。
【請求項９】
表示手段と、
前記複数の撮影画像に視差を生じさせるための自装置の移動方法を前記ユーザーにガイドするためのガイド表示を前記表示手段に表示させる制御を行う表示制御手段と、
自装置の移動諸量を検出する移動諸量検出手段と、
を更に備え、
前記表示制御手段は、前記移動諸量検出手段の検出結果に基づいて、前記ガイド表示の表示を変化させる、
請求項７又は８に記載の画像処理装置。
【請求項１０】
表示手段と、
ユーザー操作を受け付ける入力手段と、
前記入力手段に対するユーザー操作に応じて、前記デプスマップに基づいて、特定深度に相当する入力画像中の画素の画素値を、前記特定深度以外の深度に相当する入力画像に合成した合成画像を生成する合成画像生成手段と、
を更に備え、
前記表示手段は、前記合成画像生成手段によって生成された合成画像を表示する、
請求項１〜９の何れか一項に記載の画像処理装置。
【請求項１１】
表示手段と、
ユーザー操作を受け付ける入力手段と、
前記デプスマップと前記複数の入力画像とを用いて全焦点画像を生成する全焦点画像生成手段と、
前記全焦点画像に対して暈し処理を行う暈し処理手段を有し、前記入力手段に対するユーザー操作に応じて、前記デプスマップに基づいて、特定深度に相当する入力画像中の画素の画素値を前記暈し処理の結果の画像に合成した合成画像を生成する合成画像生成手段と、
を更に備え、
前記表示手段は、前記合成画像生成手段により生成された合成画像を表示する、
請求項１〜９の何れか一項に記載の画像処理装置。
【請求項１２】
前記入力手段に対するユーザー操作に応じて、合焦対象とする領域である合焦対象領域を前記ユーザーが指定するための指定用図形を前記表示手段に表示させる表示制御手段を更に備え、
前記合成画像生成手段は、前記デプスマップに基づいて、前記入力画像のうち前記指定用図形に含まれる画素の深度を前記特定深度として、前記合成画像を生成する、
請求項１１に記載の画像処理装置。
【請求項１３】
前記入力手段は、前記表示手段と一体的に構成されたタッチパネルを有し、
前記表示手段は、撮像対象を確認可能な確認画面を表示し、
前記確認画面における前記タッチパネルに対するタップ操作に応じて、合焦対象とする確認画面上の位置である合焦対象位置を記憶する記憶手段と、
前記記憶手段に合焦対象位置が記憶された後、所定の撮像条件の成立に応じて撮像を行う撮像手段と、
を更に備え、
前記特徴検出手段は、前記撮像手段によって撮像された複数の撮影画像を前記複数の入力画像として前記特徴を検出し、
前記合成画像生成手段は、前記記憶手段に記憶された合焦対象位置に対応する深度を前記特定深度として、前記合成画像を生成する、
請求項１０又は１１に記載の画像処理装置。
【請求項１４】
前記入力手段は、前記表示手段と一体的に構成されたタッチパネルを有し、
前記表示手段は、所定の表示用画像を表示し、
前記表示用画像が表示された表示画面における前記タッチパネルに対するピンチ操作に応じて、合焦対象とする領域である合焦対象領域を設定する合焦対象領域設定手段と、
前記合焦対象領域設定手段によって設定された合焦対象領域以外の領域に対して所定の暈し度合で暈し処理を行う暈し処理手段と、
を更に備え、
前記暈し処理手段は、前記合焦対象領域設定手段によって設定された合焦対象領域に対するピンチ操作に応じて、前記暈し度合を変更する暈し度合変更手段を有する、
請求項１０又は１１に記載の画像処理装置。
【請求項１５】
前記複数の入力画像は、異なる焦点距離で撮像された複数の撮影画像であり、
表示手段と、
ユーザー操作を受け付ける入力手段と、
前記表示手段の所定位置に、焦点距離範囲をユーザーが指定するための焦点距離範囲指定用画像を表示させる制御を行う表示制御手段と、
前記デプスマップに基づいて、前記焦点距離範囲指定用画像に対するユーザー操作によって指定された焦点距離範囲に対応する深度の画素を合焦とし、それ以外の画素を非合焦とした合成画像を生成する合成画像生成手段と、
を更に備え、
前記表示手段は、前記合成画像生成手段によって生成された合成画像を表示する、
請求項１〜９の何れか一項に記載の画像処理装置。
【請求項１６】
前記複数の入力画像は、異なる焦点距離で撮像された複数の撮影画像であり、
表示手段と、
ユーザー操作を受け付ける入力手段と、
前記複数の入力画像に基づく複数の参照用画像を前記表示手段に順次に表示させる制御を行う表示制御手段と、
前記デプスマップに基づいて、前記参照用画像のうち、ユーザーによって指定された参照用画像に対応する入力画像の焦点距離に対応する深度の画素を合焦とし、それ以外の画素を非合焦とした合成画像を生成する合成画像生成手段と、
を更に備え、
前記表示手段は、前記合成画像生成手段によって生成された合成画像を表示する、
請求項１〜９の何れか一項に記載の画像処理装置。
【請求項１７】
前記入力手段は、前記表示手段と一体的に構成されたタッチパネルを有し、
前記合成画像生成手段は、前記タッチパネルに対するドラッグ操作に基づいて、前記特定深度を動的に変更して前記合成画像を動的に生成し、
前記表示手段は、前記合成画像生成手段により動的に生成される合成画像を前記ドラッグ操作に合わせて表示する、
請求項１０又は１１に記載の画像処理装置。
【請求項１８】
ユーザー操作を受け付ける入力手段を更に備え、
前記深度推定手段は、前記ユーザー操作により指定された指定領域に含まれる画素について前記深度を再推定する深度再推定手段を有し、
前記デプスマップ生成手段は、前記深度再推定手段による深度の再推定の結果に基づいてデプスマップを再生成するデプスマップ再生成手段を有する、
請求項２〜６の何れか一項に記載の画像処理装置。
【請求項１９】
ユーザー操作を受け付ける入力手段を更に備え、
前記深度推定手段は、前記ユーザー操作により指定された指定領域に含まれる画素について前記深度を再推定する深度再推定手段を有し、
前記デプスマップ生成手段は、前記深度再推定手段による深度の再推定の結果に基づいてデプスマップを再生成するデプスマップ再生成手段を有し、
前記深度再推定手段は、前記指定領域に含まれる画素について、前記第１種パラメーター値及び前記第２種パラメーター値の少なくとも一方を、前記深度推定手段が当初の深度推定で用いたパラメーター値とは異なる値に変更して前記適切解演算処理を行って、前記深度を再推定する、
請求項３又は４に記載の画像処理装置。
【請求項２０】
複数の入力画像から所定の特徴を検出することと、
前記特徴の検出結果に基づいてデプスマップを生成することと、
を含む画像処理方法。
【請求項２１】
コンピュータに、
複数の入力画像から所定の特徴を検出する特徴検出ステップと、
前記特徴検出ステップの検出結果に基づいてデプスマップを生成するデプスマップ生成ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理を行う画像処理装置等に関する。
【背景技術】
【０００２】
目的の被写体をカメラ等の撮像装置によって撮像する際には、その被写体を取り巻く背景も含めたシーン情報の取り込みが行われ、そのシーン情報に関する画像が出力される。この際、被写体及び背景についての焦点をどのように合わせるかによって、出力される画像の印象が異なってくる。
【０００３】
ここで、目的の被写体を強調した画像出力としたい場合には、近景である目的の被写体には合焦しつつ、遠景である背景は非合焦とするべく、被写界深度を浅くするという方法がある。被写界深度を浅くするためには、近接撮像を行ったり、または望遠レンズを用いたり、絞りを開いたりといった措置が必要となるが、これらの措置を一般人が実施したり、またはこれら措置が可能なハードウエアを揃えることは困難である。また、スマートフォン等のカメラ機能付き携帯電話においては、ハードウエアの制約が非常に厳しく、被写界深度が深く、近景から遠景まで全て合焦して見えるパンフォーカスな画像を出力するものが主流となっており、広く使用されているこれらの機器のハードウエア上で被写体深度の浅い画像を取得することは困難である。
【０００４】
そこで、被写界深度を浅くすることが困難なカメラでも目的の被写体を強調した画像出力とすべく、特許文献１などに示されるように、撮像操作が行われると、被写体像のピントがあった合焦画像と被写体像のピントがずれた非合焦画像とを自動的に連続撮像し、合焦画像と非合焦画像とを合成することにより、被写体の輪郭の周囲がボケた状態の画像（所謂ソフトフォーカス画像）を取得する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−８９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、撮像によって得られた撮影画像に複数の被写体が含まれるような場合等には、一方の被写体について合焦している（ピントが合っている）が、他方の被写体は非合焦（ボケている）の合成画像を取得したいケースもあれば、逆のケース、すなわち他方の被写体について合焦しているが、一方の被写体は非合焦の合成画像を取得したいケースもある。上記のような従来の画像処理装置等では、このように所望の合焦状態に応じた合成画像を取得することが困難であるという問題があった。
【０００７】
本発明は、上記の課題を解決するためになされたものであり、その目的とするところは、所望の合焦状態に応じた合成画像を生成可能な画像処理装置等を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するために、次のような手段を採る。なお、後述する発明を実施するための形態の説明及び図面で使用した符号を参考のために付記するが、本発明の構成要素は該符号を付したものには限定されない。
【０００９】
以上の課題を解決するための第１の発明は、
複数の入力画像（撮像部５０によって撮像された複数の撮影画像）から所定の特徴（特徴量、特徴点）を検出する（図４、図１５のステップＡ１１、図１９のステップＪ７）特徴検出手段（図１の処理部１０：例えばエッジ検出部１０７）と、
前記特徴検出手段の検出結果に基づいてデプスマップを生成する（図４のステップＡ１７、図１５のステップＦ１７、図１９のステップＪ２７）デプスマップ生成手段（図１の処理部１０；デプスマップ生成部１１３）と、
を備えた画像処理装置である。
【００１０】
また、他の発明として、
複数の入力画像（撮像部５０によって撮像された複数の撮影画像）から所定の特徴（特徴量、特徴点）を検出すること（図４、図１５のステップＡ１１、図１９のステップＪ７）と、
前記特徴の検出結果に基づいてデプスマップを生成すること（図４のステップＡ１７、図１５のステップＦ１７、図１９のステップＪ２７）と、
を含む画像処理方法を構成してもよい。
【００１１】
更に、他の発明として、
コンピュータ（図１のスマートフォン１、画像処理装置、他の情報処理装置）に、
複数の入力画像（撮像部５０によって撮像された複数の撮影画像）から所定の特徴（特徴量、特徴点）を検出する特徴検出ステップ（図４、図１５のステップＡ１１、図１９のステップＪ７）と、
前記特徴検出ステップの検出結果に基づいてデプスマップを生成するデプスマップ生成ステップ（図４のステップＡ１７、図１５のステップＦ１７、図１９のステップＪ２７）と、
を実行させるためのプログラム（図１の画像処理プログラム８１）を構成してもよい。
【００１２】
この第１の発明等によれば、複数の入力画像から所定の特徴を検出し、検出した特徴に基づいてデプスマップを生成する。複数の入力画像から検出した特徴に基づくことで、デプスマップを生成することができる。
【００１３】
デプスマップは、各座標の画素について、いずれの入力画像で合焦しているか（すなわち合焦している入力画像）を特定可能とする情報であると共に、各入力画像について合焦している画素の座標（すなわち合焦している領域）を特定可能とする情報である。このようにして生成したデプスマップによって、所望の合焦状態に応じた合成画像を生成することが可能となる。この「所望の合焦状態に応じた合成画像」としては、例えば、所定の被写体は合焦しているがその他の被写体は非合焦となっている合成画像や、全ての被写体が合焦している合成画像（全焦点画像ともいう。）が含まれる。
【００１４】
また、デプスマップにより、一旦、所望の合焦状態に応じた合成画像を生成した後、合焦させる被写体を変更したり、あるいは非合焦の度合いを変更したりして異なる合成画像を生成することも可能となる。
【００１５】
また、デプスマップとデプスマップを生成する際に用いた入力画像とを記憶しておけば、所望の合焦状態に応じた合成画像を生成可能となるため、撮像時に複数の合成画像を生成しておく必要は無く、画像データ量を削減し、画像ファイルの管理負担等も軽減することができる。
【００１６】
特に、本発明は、スマートフォン等のカメラ機能付き携帯電話機のように、被写界深度が深く、近景から遠景まで全て合焦して見えるパンフォーカスな画像を生成する画像処理装置に好適に適用することができる。
【００１７】
また、第２の発明として、
第１の発明の画像処理装置であって、
前記特徴検出手段は、前記複数の入力画像から所定の特徴量（エッジ強度、ＤｏＧ（Difference of Gaussian）値、背景度合等）を検出する特徴量検出手段（図１の処理部１０）を有し、
前記特徴量検出手段により検出された特徴量を用いて、対象画素（画像中の全ての画素、一部の画素）について、前記複数の入力画像のうちの何れの入力画像で合焦しているかを示す情報である深度を推定する（図４、図１５のステップＡ１５）深度推定手段（図１の深度推定部１１１）を更に備え、
前記デプスマップ生成手段は、前記深度推定手段の推定結果に基づいて前記デプスマップを生成する（図４のステップＡ１７、図１５のステップＦ１７）、
画像処理装置を構成してもよい。
【００１８】
この第２の発明によれば、複数の入力画像から検出した特徴量を用いて、対象画素について、複数の入力画像のうちの何れの入力画像で合焦しているかを示す深度を推定する。対象画素について複数の入力画像のうちの何れの入力画像で合焦しているかを示す深度が推定できれば、その推定結果に基づいて、デプスマップを生成することができる。なお、対象画素は、画像中の全ての画素としてもよいし、画像中の一部の領域に含まれる画素としてもよい。
【００１９】
この場合、他の発明として、
前記特徴量検出手段は、前記複数の入力画像から特徴としてエッジを検出するエッジ検出手段（図１のエッジ検出部１０７）を有し、
前記深度推定手段は、前記エッジ検出手段により検出されたエッジの強度を前記特徴量として用いて、前記対象画素について前記深度を推定する、
画像処理装置を構成してもよい。
【００２０】
この他の発明によれば、複数の入力画像から特徴としてエッジを検出し、検出されたエッジの強度を特徴量として用いて、対象画素について深度を推定する。本願発明者の知見によれば、入力画像から検出されるエッジの強度は、その焦点距離における合焦度合と相関がある。このため、エッジの強度を特徴量として用いることで、対象画素について合焦している入力画像を適切に推定することができる。
【００２１】
また、第３の発明として、
第２の発明の画像処理装置であって、
前記深度推定手段は、前記特徴量検出手段により検出された前記複数の入力画像それぞれの特徴量を用いて、前記対象画素について、当該対象画素の特徴量に応じて定まる第１種パラメーター値（コスト値）と、当該対象画素について合焦しているとする第１の入力画像と当該対象画素の近傍画素について合焦しているとする第２の入力画像とが異なる場合のペナルティとして定められる第２種パラメーター値（ペナルティ値）とを用いた所定の適切解演算処理（エネルギー関数の値を最大化又は最小化するスコア値演算処理：図７のステップＣ１〜Ｃ７）を行って、前記対象画素について合焦している入力画像を判定する、
画像処理装置を構成してもよい。
【００２２】
この第３の発明によれば、第１種パラメーター値と第２種パラメーター値とを用いた所定の適切解演算処理を行うことで、対象画素について合焦している入力画像を適切に判定することができる。
【００２３】
この場合、他の発明として、
前記適切解演算処理において、前記対象画素について、前記第１種パラメーター値から前記第２種パラメーター値を減算することで所定のスコア値を演算し、
前記深度推定手段は、前記対象画素について、前記スコア値が所定の高値条件を満たす入力画像を合焦している入力画像と判定する（図７のステップＣ５）、
画像処理装置を構成してもよい。
【００２４】
この他の発明によれば、適切解演算処理において、対象画素について、第１種パラメーター値から第２種パラメーター値を減算することでスコア値を演算し、対象画素について、スコア値が所定の高値条件を満たす入力画像を合焦している入力画像と判定する。これにより、対象画素についてはなるべく特徴量の大きい入力画像を選択しつつ、近傍画素ではできるだけ入力画像を変化させないようにすべく、抑止をかけることができる。このようなスコア値演算処理を行うことで、対象画素について合焦している入力画像を正しく判定することができる。
【００２５】
また、他の発明として、
前記適切解演算処理において、前記対象画素について、前記第１種パラメーター値に前記第２種パラメーター値を加算することで所定のスコア値を演算し、
前記深度推定手段は、前記対象画素について、前記スコア値が所定の低値条件を満たす入力画像を合焦している入力画像と判定する、
画像処理装置を構成してもよい。
【００２６】
この他の発明によれば、適切解演算処理において、対象画素について、第１種パラメーター値に第２種パラメーター値を加算することでスコア値を演算し、対象画素について、スコア値が所定の低値条件を満たす入力画像を合焦している入力画像と判定する。これにより、対象画素について合焦している入力画像を正しく判定することができる。
【００２７】
また、他の発明として、
前記適切解演算処理において、前記第１の入力画像が合焦しているとした場合の深度と前記第２の入力画像が合焦しているとした場合の深度との差が大きいほど、前記第２種パラメーター値をより大きな値として（図３のペナルティ値テーブル８９；Ｐ１＜Ｐ２）、前記スコア値を演算する、
画像処理装置を構成してもよい。
【００２８】
この他の発明によれば、適切解演算処理において、第１の入力画像が合焦しているとした場合の深度と第２の入力画像が合焦しているとした場合の深度との差が大きいほど、第２種パラメーター値をより大きな値としてスコア値を演算する。これにより、対象画素の近傍画素については、できるだけ焦点の近い入力画像が選択されるようにスコア値を演算することができる。
【００２９】
また、他の発明として、
前記適切解演算処理において、前記複数の入力画像のうちの２つの入力画像の組み合わせに応じて個別に定められる前記第２種パラメーター値を用いて、前記スコア値を演算する、
画像処理装置を構成してもよい。
【００３０】
この他の発明によれば、適切解演算処理において、複数の入力画像のうちの２つの入力画像の組み合わせに応じて設定した第２種パラメーター値を用いて、スコア値を演算する。例えば、第１の入力画像の焦点と第２の入力画像の焦点とが大きく乖離している場合には、第２種パラメーターとして大きな値を設定することで、焦点が大きく乖離した入力画像が合焦している入力画像と判定されにくくなるようにすることができる。
【００３１】
また、他の発明として、
前記適切解値演算処理において、前記入力画像を構成するラインについて、当該ライン上の画素について前記スコア値（式（２）、式（３）のエネルギー関数の値）を演算し（図７のステップＣ３）、
前記深度推定手段は、前記入力画像を構成するライン上の画素について、前記スコア値に基づいて合焦している入力画像を判定する（図７のステップＣ５）、
画像処理装置を構成してもよい。
【００３２】
この他の発明によれば、適切解演算処理において、入力画像を構成するライン上の画素についてスコア値を演算し、入力画像を構成するライン上の画素について、スコア値に基づいて合焦している入力画像を判定する。これにより、深度推定に係る演算を容易化することができる。
【００３３】
また、第４の発明として、
第３の発明の画像処理装置であって、
前記複数の入力画像から被写体ぶれ領域を検出する被写体ぶれ領域検出手段（図１の処理部１０）を更に備え、
前記適切解演算処理において、前記被写体ぶれ領域検出手段により検出された被写体ぶれ領域について、前記第１種パラメーター値及び前記第２種パラメーター値の少なくとも一方を前記被写体ぶれ領域以外の領域で用いるパラメーター値とは異なる値として演算を行う、
画像処理装置を構成してもよい。
【００３４】
この第４の発明によれば、複数の入力画像から被写体ぶれ領域を検出する。そして、適切解演算処理において、当該被写体ぶれ領域について、第１種パラメーター値及び第２種パラメーター値の少なくとも一方を被写体ぶれ領域以外の領域で用いるパラメーター値とは異なる値として、演算を行う。これにより、被写体ぶれ領域に含まれる画素について、合焦している入力画像を適切に判定することができる。
【００３５】
また、他の発明として、
前記複数の入力画像に対してコントラスト補正（図４、図１５のステップＡ９）を行うコントラスト補正手段（図１のコントラスト補正部１０５）を更に備え、
前記特徴量検出手段は、前記コントラスト補正手段により補正された前記複数の入力画像から前記特徴量を検出する（図４、図１５のステップＡ１１）、
画像処理装置を構成してもよい。
【００３６】
この他の発明によれば、複数の入力画像に対してコントラスト補正を行い、コントラスト補正された複数の入力画像から特徴量を検出することで、入力画像の特徴を適切に反映した特徴量を検出することが可能となる。
【００３７】
また、第５の発明として、
第２〜第４の何れかの発明の画像処理装置であって、
前記複数の入力画像の焦点が適切に分離されているかを判定する（図６の焦点分離判定処理）焦点分離判定手段（図１の焦点分離判定部１０９）を更に備え、
前記深度推定手段は、前記焦点分離判定手段の判定結果が肯定判定となった入力画像を用いて、前記対象画素について前記深度を推定する（図６のステップＢ７）、
画像処理装置を構成してもよい。
【００３８】
この第５の発明によれば、複数の入力画像の焦点が適切に分離されているかを判定し、その判定結果が肯定判定となった入力画像を用いて、対象画素について深度を推定する。入力画像の焦点が適切に分離されていない場合、目的の被写体とそれ以外の背景とが適切に分離されていなかったりするという問題が生ずる。そこで、焦点距離が適切に変更され、入力画像の焦点が適切に分離されている入力画像を対象として、深度の推定を行うようにする。
【００３９】
この場合、他の発明として、
前記焦点分離判定手段は、前記特徴量検出手段により特徴量が検出された前記複数の入力画像それぞれに対応する画像について、異なる画像間の相関値を算出（図６のステップＢ１）する相関演算手段（図１の処理部１０）を有し、前記相関演算手段により算出された相関値が所定の低閾値条件を満たす画像に対応する入力画像を、焦点が適切に分離されている入力画像と判定する（図６のステップＢ５）、
画像処理装置を構成してもよい。
【００４０】
この他の発明によれば、特徴量検出手段により特徴量が検出された複数の入力画像それぞれに対応する画像について、異なる画像間の相関値を算出し、算出された相関値が所定の低閾値条件を満たす画像に対応する入力画像を、焦点が適切に分離されている入力画像と判定する。入力画像の焦点が適切に分離されていれば、特徴量が検出された異なる画像間の相関値はある程度小さな値となるはずである。このため、異なる画像間の相関値を指標値として用いることで、入力画像の焦点が適切に分離されているかを確実に判定することができる。
【００４１】
また、他の発明として、
前記焦点分離判定手段は、前記特徴量検出手段により特徴量が検出された前記複数の入力画像それぞれに対応する画像について、特徴の数又は割合が所定の高閾値条件を満たす（図６のステップＢ３）入力画像を、焦点が適切に分離されている入力画像と判定する（図６のステップＢ５）、
画像処理装置を構成してもよい。
【００４２】
この他の発明によれば、特徴量検出手段により特徴量が検出された複数の入力画像それぞれに対応する画像について、特徴の数又は割合が所定の高閾値条件を満たす入力画像を、焦点が適切に分離されている入力画像と判定する。入力画像の焦点が適切に分離されていれば、特徴の数や割合はある程度大きな値となるはずである。従って、特徴の数や割合を指標値として用いることで、入力画像の焦点が適切に分離されているかを確実に判定することができる。
【００４３】
また、第６の発明として、
第２〜第５の何れかの発明の画像処理装置であって、
前記特徴量検出手段は、前記複数の入力画像又は前記複数の入力画像を縮小した縮小入力画像（図１の入力画像縮小部１０１）から前記特徴量を検出し（図４のステップＡ１１）、
前記デプスマップ生成手段は、前記深度推定手段の推定結果に基づいて、縮小されたデプスマップを生成する（図４のステップＡ１７）、
画像処理装置を構成してもよい。
【００４４】
この第６の発明によれば、複数の入力画像又は複数の入力画像を縮小した縮小入力画像から特徴量を検出する。そして、深度の推定結果に基づいて、縮小されたデプスマップを生成する。複数の入力画像、又は、複数の入力画像を縮小した縮小入力画像に対して、上記の発明のデプスマップ生成手法を適用することで、縮小されたデプスマップを生成することができる。縮小デプスマップは、デプスマップに比べて容量が小さいため、メモリに記憶させる際にメモリ容量の削減になる。
【００４５】
また、第７の発明として、
第６の発明の画像処理装置であって、
前記縮小されたデプスマップを復元する（図４のステップＡ１９）復元手段（図１のデプスマップ復元部１１５）と、
前記復元手段により復元されたデプスマップを、所定の修正用画像（入力画像）を用いて修正したデプスマップを生成する（図４のステップＡ２１）修正手段（図１のデプスマップ修正部１１７）と、
を更に備えた、
画像処理装置を構成してもよい。
【００４６】
この第７の発明によれば、縮小されたデプスマップを所定の復元方法を用いて復元する。このようにして復元されたデプスマップは、その復元により、深度の境界となる部分で凹凸が発生したり、被写体の境界部分においてのエッジの位置がずれてしまうなどの問題が生ずる。そこで、復元されたデプスマップである復元デプスマップを、所定の修正用画像を用いて修正したデプスマップを生成する。これにより、上記の問題を解消して、適切なデプスマップを得ることができる。
【００４７】
また、第８の発明として、
第１の発明の画像処理装置であって、
前記特徴検出手段は、視差が発生する複数の視点で撮像された撮影画像（視差方式で撮像された撮影画像）を前記複数の入力画像として、前記入力画像から特徴点を検出する（図１９のステップＪ７）特徴点検出手段（図１の処理部１０）を有し、
前記特徴点検出手段によって検出された特徴点に基づいて、前記複数の撮影画像それぞれの視点の相対的な位置関係（カメラ行列：回転行列、並進移動ベクトル）を推定する（図１９のステップＪ２３）視点位置関係推定手段（図１の処理部１０）と、
所定の推定演算（バンドル調整）を行って、前記複数の入力画像を構成する画素の３次元の位置を推定する（図１９のステップＪ２５）画素位置推定手段（図１の処理部１０）と、
を更に備え、
前記デプスマップ生成手段は、前記視点位置関係推定手段の推定結果と前記画素位置推定手段の推定結果とに基づいて、前記デプスマップを生成する（図１９のステップＪ２７）、
画像処理装置を構成してもよい。
【００４８】
この第８の発明によれば、視差が発生する複数の視点で撮像された撮影画像から検出された特徴点に基づいて推定した視点の相対的な位置関係と、所定の推定演算を行って推定した複数の入力画像を構成する画素の３次元の位置とに基づくことで、デプスマップを適切に生成することができる。
【００４９】
また、第９の発明として、
第８の発明の画像処理装置であって、
前記視点位置関係推定手段は、
前記特徴点検出手段によって検出された特徴点を追跡する（図１９のステップＪ１１）特徴点追跡手段（図１の処理部１０）と、
前記特徴点追跡手段の追跡結果に基づいて、前記複数の入力画像の中から基点となる入力画像である基点入力画像（ベースフレーム）を抽出する（図１９のステップＪ１３）基点入力画像抽出手段（図１の処理部１０）と、
を有し、前記基点入力画像抽出手段によって抽出された基点入力画像について前記特徴点検出手段によって検出された特徴点に基づいて、前記複数の撮影画像それぞれの視点の相対的な位置関係を推定する、
画像処理装置を構成してもよい。
【００５０】
この第９の発明によれば、特徴点を追跡した追跡結果に基づいて複数の入力画像の中から抽出した基点入力画像について検出された特徴点に基づくことで、複数の撮影画像それぞれの視点の相対的な位置関係を正確に推定することができる。
【００５１】
また、第１０の発明として、
第８又は第９の発明の画像処理装置であって、
表示手段（図１の表示部３０）と、
前記複数の撮影画像に視差を生じさせるための自装置の移動方法（移動方向、移動量）を前記ユーザーにガイドするためのガイド表示（図２２のガイド矢印、ガイド図形）を前記表示手段に表示させる制御を行う表示制御手段（図１の表示制御部１２７）と、
を更に備えた、
画像処理装置を構成してもよい。
【００５２】
この第１０の発明によれば、前記複数の撮影画像に視差を生じさせるための自装置の移動方法をユーザーにガイドするためのガイド表示を表示することで、ユーザーは、デプスマップの生成のために、どのように自装置を移動させればよいかを知ることができるため、至便である。
【００５３】
また、第１１の発明として、
自装置の移動諸量（移動距離、移動方向）を検出する移動諸量検出手段（図１の慣性センサ７５（加速度センサ、ジャイロセンサ）、処理部１０、慣性計測ユニットＩＭＵ、ＧＰＳユニット、慣性航法装置ＩＮＳ）を更に備え、
前記表示制御手段は、前記移動諸量検出手段の検出結果に基づいて、前記ガイド表示の表示（図２２のガイド矢印の表示位置やガイド図形の表示位置）を変化させる、
画像処理装置を構成してもよい。
【００５４】
この第１１の発明によれば、検出した自装置の移動諸量に基づいてガイド表示の表示を変化させることで、自装置の適切な移動方向や移動距離をユーザーに報知することが可能となる。
【００５５】
また、第１２の発明として、
第１〜第１１の何れかの発明の画像処理装置であって、
前記デプスマップと前記複数の入力画像とを用いて全焦点画像を生成する（図４、図１９のステップＡ２３）全焦点画像生成手段（図１の全焦点画像生成部１１９）を更に備えた、
画像処理装置を構成してもよい。
【００５６】
この第１２の発明によれば、デプスマップと複数の入力画像とを用いることで、入力画像を構成する画素それぞれについて合焦している状態の画像である全焦点画像を生成することができる。
【００５７】
また、他の発明として、
前記デプスマップ生成手段により生成されたデプスマップと前記複数の入力画像とを用いて全焦点画像を生成する（図１５のステップＦ１９）全焦点画像生成手段（図１の全焦点画像生成部１１９）と、
前記デプスマップ生成手段により生成されたデプスマップを所定の縮小方法を用いて縮小する（図１５のステップＦ２１）デプスマップ縮小手段（図１のデプスマップ縮小部１２１）と、
前記縮小されたデプスマップである縮小デプスマップを前記複数の入力画像及び前記全焦点画像の少なくとも一方と対応付けて記憶する記憶手段（図１の記憶部８０、画像データセット８３）と、
を更に備えた、
画像処理装置を構成してもよい。
【００５８】
この他の発明によれば、デプスマップ生成手段により生成されたデプスマップと複数の入力画像とを用いて全焦点画像を生成する。そして、デプスマップ生成手段により生成されたデプスマップを所定の縮小方法を用いて縮小し、縮小されたデプスマップである縮小デプスマップを複数の入力画像及び全焦点画像の少なくとも一方と対応付けて記憶する。縮小デプスマップを記憶することで、デプスマップそのものを記憶する場合と比べてメモリ容量の削減になる。また、複数の入力画像や全焦点画像と対応付けて記憶しておくことで、後にこれらの画像情報を用いて全焦点画像の修正等を行ったり、他の装置でこれらの画像情報を利用することが可能となる。
【００５９】
また、他の発明として、
前記記憶手段に記憶された縮小デプスマップを所定の復元方法を用いて復元（図１５のステップＡ４７）するデプスマップ復元手段（図１のデプスマップ復元部１１５）と、
前記復元されたデプスマップである復元デプスマップを所定の修正用画像を用いて修正（図１５のステップＡ４９）する修正手段（図１のデプスマップ修正部１１７）と、
を更に備えた、
画像処理装置を構成してもよい。
【００６０】
この他の発明によれば、記憶手段に記憶された縮小デプスマップを所定の復元方法を用いて復元する。そして、復元されたデプスマップである復元デプスマップを所定の修正用画像を用いて修正する。復元されたデプスマップは、その復元により、深度の境界となる部分で凹凸が発生したり、被写体の境界部分においてのエッジの位置がずれてしまうなどの問題が生ずる。そこで、復元されたデプスマップである復元デプスマップを、所定の修正用画像を用いて修正する。これにより、上記の問題を解消して、適切なデプスマップを得ることができる。
【００６１】
この場合、他の発明として、
前記修正用画像は、前記記憶手段に対応付けて記憶された全焦点画像又は前記複数の入力画像のうちの少なくとも何れかの入力画像であり、
前記修正手段は、前記復元デプスマップのうちの修正対象画素について、当該修正対象画素の近傍画素のデプスマップの画素値に、当該修正対象画素の修正用画像の画素値と当該近傍画素の修正用画像の画素値とが近い値であるほど高い重み付けをし、さらに、当該修正対象画素と当該近傍画素との距離が近いほど高い重み付けをした加重平均化処理（式（３）による加重平均化処理）を行って、当該修正対象画素の復元デプスマップの画素値を修正する、
画像処理装置を構成してもよい。
【００６２】
この他の発明によれば、修正用画像として、前記記憶手段に対応付けて記憶された全焦点画像又は前記複数の入力画像のうちの少なくとも何れかの入力画像を用いる。そして、復元デプスマップのうちの修正対象画素について、当該修正対象画素の近傍画素のデプスマップの画素値に、当該修正対象画素の修正用画像の画素値と当該近傍画素の修正用画像の画素値とが近い値であるほど高い重み付けをし、さらに、当該修正対象画素と当該近傍画素との距離が近いほど高い重み付けをした加重平均化処理を行って、当該修正対象画素の復元デプスマップの画素値を修正する。この手法により、前景と背景との境界が明確となったデプスマップを得ることができる。
【００６３】
また、第１３の発明として、
第１〜第１２の何れかの発明の画像処理装置であって、
表示手段（図１の表示部３０）と、
ユーザー操作を受け付ける入力手段（図１の入力部２０）と、
前記入力手段に対するユーザー操作に応じて、前記デプスマップに基づいて、特定深度に相当する入力画像中の画素の画素値を、前記特定深度以外の深度に相当する入力画像に適用した合成画像を生成する合成画像生成手段（図１の強調画像生成部１２３）と、
を更に備え、
前記表示手段は、前記合成画像生成手段によって生成された合成画像を表示する、
画像処理装置を構成してもよい。
【００６４】
この第１３の発明によれば、ユーザー操作を受け付ける入力手段から入力されるユーザー操作に応じて、デプスマップに基づいて、特定深度に相当する入力画像中の画素の画素値を、特定深度以外の深度に相当する入力画像に合成した合成画像を生成する。生成した合成画像を表示する。これにより、例えば、ユーザーにより指定された部分にフォーカスの合った合成画像を生成して、ユーザーに閲覧させることが可能となる。
【００６５】
また、第１４の発明として、
第１２の発明の画像処理装置であって、
表示手段（図１の表示部３０）と、
ユーザー操作を受け付ける入力手段（図１の入力部２０）と、
前記全焦点画像に対して暈し処理を行う暈し処理手段（図１の処理部１０）を有し、前記入力手段に対するユーザー操作に応じて、前記デプスマップに基づいて、特定深度に相当する入力画像中の画素の画素値を前記暈し処理の結果の画像に合成した合成画像を生成する合成画像生成手段（図１の強調画像生成部１２３）と、
を更に備え、
前記表示手段は、前記合成画像生成手段により生成された合成画像を表示する、
画像処理装置を構成してもよい。
【００６６】
この第１４の発明によれば、ユーザー操作を受け付ける入力手段から入力されるユーザー操作に応じて、デプスマップに基づいて、特定深度に相当する入力画像中の画素の画素値を、全焦点画像に対して暈し処理を行った結果の画像に合成した合成画像を生成し、生成した合成画像を表示する。これにより、例えば、ユーザーにより指定された部分にフォーカスの合った合成画像を生成して、ユーザーに閲覧させることが可能となる。
【００６７】
この場合、他の発明として、
前記合成画像生成手段は、ユーザー操作により指定された画像上の領域が前記暈し処理が行われた領域であるか否かを判定し、その判定結果が肯定判定である場合に、当該領域の暈し度合を前記所定の暈し度合とは異なる暈し度合に変更して、前記合成画像に対して再度暈し処理を行う、
画像処理装置を構成してもよい。
【００６８】
この他の発明によれば、ユーザー操作により指定された画像上の領域について、暈し処理によって一旦暈された画像を暈し度合を変更して、再度暈した合成画像を生成することができる。これにより、例えば、合成画像において既に暈された部分をユーザーがタップすることにより、その部分の暈し度合を変更する（強くする又は弱くする）といったことが可能となる。
【００６９】
また、第１５の発明として、
第１４の発明の画像処理装置であって、
前記入力手段に対するユーザー操作（アイコン操作、タップ操作）に応じて、合焦対象とする領域である合焦対象領域を前記ユーザーが指定するための指定用図形（図２５の楕円形の図形や円形、矩形の図形）を前記表示手段に表示させる表示制御手段（図１の表示制御部１２７）を更に備え、
前記合成画像生成手段は、前記デプスマップに基づいて、前記入力画像のうち前記指定用図形に含まれる画素の深度を前記特定深度として、前記合成画像を生成する、
画像処理装置を構成してもよい。
【００７０】
この第１５の発明によれば、入力手段に対するユーザー操作に応じて、合焦対象とする領域である合焦対象領域をユーザーが指定するための指定用図形を表示手段に表示させることで、ユーザーは、簡易な操作によって合焦対象領域を指定することができる。
【００７１】
また、第１６の発明として、
第１５の発明の画像処理装置であって。
前記入力手段は、前記表示手段と一体的に構成されたタッチパネルを有し、
前記表示制御手段は、前記指定用図形を前記表示手段に表示させた後、（１）前記指定用図形に対するピンチ操作（ピンチアウト操作／ピンチイン操作）、（２）前記指定用図形に対する複数回のタップ操作（ダブルタップ操作）、（３）前記指定用図形に対してタップ操作を継続した継続時間（長押し操作がされた場合の長押し時間）、のうちの何れかに応じて、前記表示させた指定用図形の形状を変更する（指定用図形を拡大する／縮小する）、
画像処理装置を構成してもよい。
【００７２】
この第１６の発明によれば、簡易なユーザー操作によって、指定用図形の大きさを変更させることができる。
【００７３】
また、第１７の発明として、
第１３又は第１４の発明の画像処理装置であって、
前記入力手段は、前記表示手段と一体的に構成されたタッチパネル（図１のタッチパネル２１）を有し、
前記合成画像生成手段は、前記タッチパネルに対する操作に基づいて決定した深度を前記特定深度として、前記合成画像を生成する、
画像処理装置を構成してもよい。
【００７４】
この第１７の発明によれば、表示手段と一体的に構成されたタッチパネルに対する操作によって、合成画像を生成することができる。
【００７５】
また、第１８の発明として、
第１７の発明の画像処理装置であって、
前記表示手段は、撮像対象を確認可能な確認画面（撮像素子からの出力信号に基づく画像がリアルタイムに表示される画面）を表示し、
前記確認画面における前記タッチパネルに対するタップ操作に応じて、合焦対象とする確認画面上の位置である合焦対象位置を記憶する記憶手段（図１の記憶部８０）と、
前記記憶手段に合焦対象位置が記憶された後、所定の撮像条件の成立に応じて撮像を行う撮像手段（図１の撮像部５０）と、
を更に備え、
前記特徴検出手段は、前記撮像手段によって撮像された複数の撮影画像を前記複数の入力画像として前記特徴を検出し、
前記合成画像生成手段は、前記記憶手段に記憶された合焦対象位置に対応する深度を前記特定深度として、前記合成画像を生成する、
画像処理装置を構成してもよい。
【００７６】
この第１８の発明によれば、ユーザーは、確認画面において合焦対象位置を指定することができる。そして、その後に撮像を行い、確認画面において指定された合焦対象位置に対応する深度を特定深度とした合成画像を生成することができる。
【００７７】
この場合、他の発明として、
前記撮像手段は、前記記憶手段に合焦対象位置が記憶された後、（１）前記入力手段に対する所定の撮像操作を検知したこと、（２）一定時間以上の継続したタップ操作を検知したこと、（３）複数回のタップ操作を検知したこと、のいずれかを前記撮像条件の成立として撮像を行う、
画像処理装置を構成してもよい。
【００７８】
この他の発明によれば、タップ操作によって合焦対象位置が記憶された後、簡易なユーザー操作によって、撮像を行わせることができる。
【００７９】
また、第１９の発明として、
第１７の発明の画像処理装置であって、
前記表示手段は、所定の表示用画像（入力画像）を表示し、
前記表示用画像が表示された表示画面における前記タッチパネルに対するピンチ操作に応じて、合焦対象とする領域である合焦対象領域を設定する合焦対象領域設定手段（図１の処理部１０）と、
前記合焦対象領域設定手段によって設定された合焦対象領域以外の領域に対して所定の暈し度合で暈し処理を行う暈し処理手段（図１の処理部１０）と、
を更に備え、
前記暈し処理手段は、前記合焦対象領域設定手段によって設定された合焦対象領域に対するピンチ操作（ピンチアウト操作／ピンチイン操作）に応じて、前記暈し度合を変更する（暈し度合を高くする／低くする）暈し度合変更手段（図１の処理部１０）を有する、
画像処理装置を構成してもよい。
【００８０】
この第１９の発明によれば、ユーザーは、表示用画像が表示された表示画面において、タッチパネルに対するタップ操作によって、合焦対象とする領域である合焦対象領域を指定することができる。そして、合焦対象領域以外の領域に対して所定の暈し度合で暈し処理を行うことで、合焦対象領域が強調された合成画像を生成することができる。
【００８１】
また、第２０の発明として、
第１９の発明の画像処理装置であって、
前記暈し度合変更手段は、前記合焦対象領域に対するピンチアウト操作に応じて前記暈し度合を段階的に高くし、前記合焦対象領域に対するピンチイン操作に応じて前記暈し度合を段階的に低くする、
画像処理装置を構成してもよい。
【００８２】
この第２０の発明によれば、簡易なユーザー操作によって、合焦対象領域以外の領域に対して暈し処理を行う暈し度合を変更することができる。
【００８３】
また、第２１の発明として、
第１〜第１２の何れかの発明の画像処理装置であって、
前記複数の入力画像は、異なる焦点距離で撮像された複数の撮影画像であり、
表示手段（図１の表示部３０）と、
ユーザー操作を受け付ける入力手段（図１の入力部２０）と、
前記表示手段の所定位置に、焦点距離範囲をユーザーが指定するための焦点距離範囲指定用画像（図２７の焦点距離スライダーＳ１）を表示させる制御を行う表示制御手段（図１の表示制御部１２７）と、
前記デプスマップに基づいて、前記焦点距離範囲指定用画像に対するユーザー操作によって指定された焦点距離範囲に対応する深度の画素を合焦とし、それ以外の画素を非合焦とした合成画像を生成する合成画像生成手段（図１の強調画像生成部１２３）と、
を更に備え、
前記表示手段は、前記合成画像生成手段によって生成された合成画像を表示する、
画像処理装置を構成してもよい。
【００８４】
この第２１の発明によれば、ユーザーが焦点距離範囲指定用画像に対する操作によって、所望の焦点距離範囲に対応する深度の画素を合焦とし、それ以外の画素を非合焦とした合成画像を生成させて、当該合成画像を閲覧することができる。
【００８５】
また、第２２の発明として、
第１〜第１２の何れかの発明の画像処理装置であって、
前記複数の入力画像は、異なる焦点距離で撮像された複数の撮影画像であり、
表示手段（図１の表示部３０）と、
ユーザー操作を受け付ける入力手段（図１の入力部２０）と、
前記複数の入力画像に基づく複数の参照用画像（複数の入力画像、複数の入力画像に対してそれぞれ特徴を検出した特徴検出画像、複数の入力画像に対してそれぞれコントラスト補正を施したコントラスト補正画像、複数の入力画像と対応する特徴検出画像とを乗算した積画像）を前記表示手段に順次に表示させる制御を行う表示制御手段（図１の表示制御部１２７）と、
前記デプスマップに基づいて、前記順次に表示される参照用画像のうち、ユーザーによって指定された参照用画像に対応する入力画像の焦点距離に対応する深度の画素を合焦とし、それ以外の画素を非合焦とした合成画像を生成する合成画像生成手段（図１の強調画像生成部１２３）と、
を更に備え、
前記表示手段は、前記合成画像生成手段によって生成された合成画像を表示する、
画像処理装置を構成してもよい。
【００８６】
この第２２の発明によれば、ユーザーは、順次に表示される参照用画像を閲覧して所望の被写体が強く表示されている参照用画像を指定し、デプスマップに基づいて、順次に表示される参照用画像のうち、ユーザーによって指定された参照用画像に対応する入力画像の焦点距離に対応する深度の画素を合焦とし、それ以外の画素を非合焦とした合成画像を生成させて、当該合成画像を閲覧することができる。
【００８７】
また、第２３の発明として、
第２２の発明の画像処理装置であって、
前記複数の入力画像それぞれについて、当該入力画像と前記特徴検出手段によって特徴が検出された特徴検出画像（エッジ画像）とを乗算した積画像（入力画像とエッジ画像とを画素単位で乗算することで得られる画像）を生成する積画像生成手段（図１の処理部１０）を更に備え、
前記表示制御手段は、前記積画像生成手段によって生成された積画像を前記参照用画像として、前記表示手段に順次に表示させる制御を行う、
画像処理装置を構成してもよい。
【００８８】
この第２３の発明によれば、複数の入力画像それぞれについて、当該入力画像と特徴が検出された特徴検出画像とを乗算した積画像を生成して、参照用画像として順次に表示させることで、合焦とする深度をユーザーが容易に指定可能となる。
【００８９】
また、第２４の発明として、
第１７の発明の画像処理装置であって、
前記合成画像生成手段は、前記タッチパネルに対するドラッグ操作に基づいて、前記特定深度を動的に変更して前記合成画像を動的に生成し、
前記表示手段は、前記合成画像生成手段により動的に生成される合成画像を前記ドラッグ操作に合わせて表示する、
画像処理装置を構成してもよい。
【００９０】
この第２４の発明によれば、ユーザーのタッチパネルに対するドラッグ操作に基づいて、リアルタイムに合成画像を生成して表示することができる。
【００９１】
また、第２５の発明として、
第２〜第７の何れかの発明の画像処理装置であって、
ユーザー操作を受け付ける入力手段（図１の入力部２０）を更に備え、
前記深度推定手段は、前記ユーザー操作により指定された指定領域に含まれる画素について前記深度を再推定する深度再推定手段（図１の処理部１０）を有し、
前記デプスマップ生成手段は、前記深度再推定手段による深度の再推定の結果に基づいてデプスマップを再生成するデプスマップ再生成手段（図１の処理部１０）を有する、
画像処理装置を構成してもよい。
【００９２】
この第２５の発明によれば、ユーザーが画像中で不自然な表示がなされている部分を発見した場合に、ユーザーがその部分を指定することで、その部分について深度の再推定が行われ、その深度の再推定の結果に基づいて、不自然な部分な適切に修正されたデプスマップを得ることができる。
【００９３】
また、第２６の発明として、
第２５の発明の画像処理装置であって、
前記深度再推定手段は、前記指定領域に含まれる画素について、前記第１種パラメーター値及び前記第２種パラメーター値の少なくとも一方を、前記深度推定手段が当初の深度推定で用いたパラメーター値とは異なる値に変更して前記適切解演算処理を行って、前記深度を再推定する、
画像処理装置を構成してもよい。
【００９４】
この第２６の発明によれば、指定領域に含まれる画素について、第１種パラメーター値及び第２種パラメーター値の少なくとも一方を、深度推定手段が当初の深度推定で用いたパラメーター値とは異なる値に変更して適切解演算処理を行って、深度を適切に再推定することができる。
【００９５】
また、他の発明として、
前記全焦点画像における所定の画素（例えば、タッチパネル上でユーザーがタップした領域の画素や、エッジ強度が所定値以上又は所定値未満の領域の画素）を特定する画素特定手段をさらに備え、
前記合成画像生成手段は、前記全焦点画像のうち前記画素特定手段により特定された画素について暈し度合を前記所定の暈し度合よりも小さくするか、又は、前記全焦点画像のうち前記画素特定手段により特定された画素以外の画素について暈し度合を前記所定の暈し度合よりも大きくして前記暈し処理を行う、
画像処理装置を構成してもよい。
【００９６】
全焦点画像を一様に暈した画像に強調すべき深度の画素を合成した場合、合焦と非合焦の境界付近において輪郭のような不自然な画素値となってしまう領域が発生するという現象が生ずる。この現象を回避するために、全焦点画像のうち画素特定手段により特定された画素について暈し度合を所定の暈し度合よりも小さくするか、又は、全焦点画像のうち画素特定手段により特定された画素以外の画素について暈し度合を所定の暈し度合よりも大きくして暈し処理を行う。これにより、上記の現象を回避し、適切な合成画像を得ることが可能となる。
【００９７】
また、他の発明として、
前記表示手段の所定位置に、前記特定深度をユーザーに指定させるための深度指定用操作窓（例えば、図１７の深度指定用操作窓Ｗ１、または図２７の焦点距離スライダーＳ１）を表示させる制御を行う表示制御手段を更に備え、
前記表示手段に表示された深度指定用操作窓において、前記入力手段を用いてユーザーによる前記特定深度の指定が可能である、
画像処理装置を構成してもよい。
【００９８】
この他の発明によれば、表示手段の所定位置に、特定深度をユーザーに指定させるための深度指定用操作窓を表示させる制御を行う。そして、ユーザーは、表示手段に表示された深度指定用操作窓から入力手段を用いて特定深度を指定する。これにより、ユーザーは深度指定用操作窓から任意の特定深度を指定することができる。その結果、特定深度の画素が強調された強調画像が生成されて表示部に表示されるため、ユーザーは選択した深度の画素が強調された合成画像を閲覧することが可能となる。
【００９９】
また、他の発明として、
前記入力手段は、前記表示手段と一体的に構成されたタッチパネル（図１のタッチパネル２１）を有し、
前記ユーザーは、前記タッチパネルに対するタップ操作により前記特定深度を指定する、
画像処理装置を構成してもよい。
【０１００】
この他の発明によれば、ユーザーは、タッチパネルに対するタップ操作によって特定深度を指定することができる。
【０１０１】
また、他の発明として、
前記ユーザー操作はタップ操作であり、
前記合成画像生成手段は、前記タップ操作によりタップされた画像上の領域を前記指定領域として（図８のステップＤ１）、当該指定領域に基づいて前記特定深度を選択する（例えば、図８のステップＤ５）、
画像処理装置を構成してもよい。
【０１０２】
この他の発明によれば、ユーザー操作はタップ操作であり、タップ操作によりタップされた画像上の領域を指定領域として、当該指定領域に基づいて特定深度を選択する。これにより、ユーザーのタップ操作に伴い、タップされた指定領域について特定深度を選択して合成画像を生成し、表示部に表示させることが可能となる。
【０１０３】
また、他の発明として、
前記合焦点画像、前記複数の入力画像の中から選択した入力画像、前記合成画像及び前記デプスマップのうちの何れかの画像を表示用画像として前記表示手段に表示させる制御を行う表示制御手段を更に備え、
前記表示用画像は、前記ユーザーが前記入力手段を用いて前記特定深度を指定するよう参照可能である、
画像処理装置を構成してもよい。
【０１０４】
この他の発明によれば、表示制御手段は、合焦点画像、複数の入力画像の中から選択した入力画像、合成画像及びデプスマップのうちの何れかの画像を表示用画像として表示手段に表示させるように制御する。そして、ユーザーは、表示手段に参照可能に表示された表示用画像に基づき、入力手段を用いて特定深度を指定する。これにより、ユーザーは、表示用画像を閲覧して、強調表示させたい部分を指定することができる。
【０１０５】
また、他の発明として、
前記合成画像生成手段は、（１）前記指定領域の中心位置に最も近い画素に対応する深度、（２）前記指定領域に含まれる画素のうち前記デプスマップにおいて最も深度が深い又は浅い画素に対応する深度、（３）前記指定領域に含まれる画素の画素値の平均値に画素値が最も近い画素に対応する深度、（４）前記指定領域のうちデプスマップ上において最も対応する深度の画素が占める面積が大きい深度、のうちの何れかを前記特定深度として選択する、
画像処理装置を構成してもよい。
【０１０６】
この他の発明によれば、（１）指定領域の中心位置に最も近い画素に対応する深度、（２）指定領域に含まれる画素のうちデプスマップにおいて最も深度が深い又は浅い画素に対応する深度、（３）指定領域に含まれる画素の画素値の平均値に画素値が最も近い画素に対応する深度、（４）指定領域のうちデプスマップ上において最も対応する深度の画素が占める面積が大きい深度、のうちの何れかを特定深度として選択して、合成画像を生成することができる。
【０１０７】
また、他の発明として、
前記特徴量検出手段は、前記複数の入力画像の特徴としてエッジを検出するエッジ検出手段（図１のエッジ検出部１０７）を有し、
前記入力手段は、前記表示手段と一体的に構成されたタッチパネル（図１のタッチパネル２１）を有し、
前記ユーザー操作はドラッグ操作であり、
前記ドラッグ操作に応じて一の深度を選択（図９のステップＥ５）する深度選択手段（図１の処理部１０）と、
前記ユーザーによるドラッグ操作の方向と、前記深度選択手段により選択された深度の入力画像中の前記ドラッグ操作により指定された指定領域に含まれるエッジの方向との類似度を算出（図９のステップＥ６）する類似度算出手段（図１の処理部１０）を更に備え、
前記深度再推定手段は、前記指定領域に含まれる画素について、前記第１種パラメーター値及び前記第２種パラメーター値の少なくとも一方を、前記深度推定手段が当初の深度推定で用いたパラメーター値とは異なる値に変更して前記スコア値演算処理を行って、前記深度を再推定する、
画像処理装置を構成してもよい。
【０１０８】
この他の発明によれば、特徴量検出手段は、複数の入力画像の特徴としてエッジを検出するエッジ検出手段を有する。そして、タッチパネルに対するユーザーのドラッグ操作に応じて一の深度を選択し、ユーザーによるドラッグ操作の方向と、選択された深度の入力画像中のドラッグ操作により指定された指定領域に含まれるエッジの方向との類似度を算出する。そして、深度再推定手段が、ドラッグ操作により指定された指定領域に含まれる画素について、第１種パラメーター値及び第２種パラメーター値の少なくとも一方を、深度推定手段が当初の深度推定で用いたパラメーター値とは異なる値に変更してスコア値演算処理を行うことで、画像中のエッジ部分の深度を適切に再推定することができる。
【図面の簡単な説明】
【０１０９】
【図１】スマートフォンの機能構成の一例を示すブロック図。
【図２】画像データセットのデータ構成の一例を示す図。
【図３】ペナルティ値テーブルのテーブル構成の一例を示す図。
【図４】画像処理の流れの一例を示すフローチャート。
【図５】図４に続くフローチャート。
【図６】焦点分離判定処理の流れの一例を示すフローチャート。
【図７】深度推定処理の流れの一例を示すフローチャート。
【図８】強調画像生成処理の流れの一例を示すフローチャート。
【図９】強調画像修正処理の流れの一例を示すフローチャート。
【図１０】（１）入力画像の一例。（２）入力画像の一例。（３）エッジ画像の一例。（４）エッジ画像の一例。
【図１１】（１）デプスマップの一例。（２）全焦点画像の一例。
【図１２】（１）復元デプスマップの一例。（２）修正デプスマップの一例。
【図１３】（１）全焦点画像に対する暈し画像の一例。（２）強調画像の一例。（３）暈し画像の一例。（４）強調画像の一例。
【図１４】（１）強調画像の一例。（２）強調画像に対する修正画像の一例。
【図１５】第２の画像処理の流れの一例を示すフローチャート。
【図１６】変形例におけるペナルティ値テーブルのテーブル構成の一例を示す図。
【図１７】深度選択用操作窓の一例を示す図。
【図１８】第２の強調画像生成処理の流れの一例を示すフローチャート。
【図１９】第３の画像処理の流れの一例を示すフローチャート。
【図２０】（１）特徴点検出結果の一例を示す図。（２）特徴点検出結果の一例を示す図。（３）特徴点追跡結果の一例を示す図。
【図２１】（１）正面視点の特徴点の座標の推定結果の一例を示す図。（２）上視点の特徴点の座標の推定結果の一例を示す図。（３）左視点の特徴点の座標の推定結果の一例を示す図。
【図２２】（１）確認画面の一例を示す図。（２）ガイド表示の一例を示す図。（３）ガイド表示の一例を示す図。（４）ガイド表示の一例を示す図。
【図２３】第４の画像処理の流れの一例を示すフローチャート。
【図２４】第３の強調画像生成処理の流れの一例を示すフローチャート。
【図２５】（１）領域指定用図形の一例を示す図。（２）領域指定用図形のサイズ調整の説明図。
【図２６】（１）ピンチアウト操作による暈し度合の変更の説明図。（２）ピンチイン操作による暈し度合の変更の説明図。
【図２７】（１）焦点距離スライダーの一例を示す図。（２）焦点距離スライダーの一例を示す図。（３）焦点距離スライダーの一例を示す図。
【図２８】画素の区別表示の一例を示す図。
【図２９】第４の強調画像生成処理の流れの一例を示す図。
【図３０】記録媒体の一例を示す図。
【図３１】視差方式を用いたデプスマップの生成の原理の説明図。
【図３２】白飛び効果暈し処理の流れの一例を示すフローチャート。
【発明を実施するための形態】
【０１１０】
以下、図面を参照して、本発明を適用した好適な実施形態の一例について説明する。本実施形態では、画像処理装置として、カメラ機能付き携帯電話機の一種であるスマートフォンに本発明を適用した場合の実施形態について説明する。但し、本発明を適用可能な形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【０１１１】
図１は、本実施形態におけるスマートフォン１の機能構成の一例を示すブロック図である。スマートフォン１は、処理部１０と、入力部２０と、表示部３０と、通信部４０と、撮像部５０と、携帯電話用アンテナ５５と、携帯電話用無線通信回路部６０と、時計部７０と、慣性センサ７５と、記憶部８０とを有して構成される。
【０１１２】
処理部１０は、記憶部８０に記憶されているシステムプログラム等の各種プログラムに従ってスマートフォン１の各部を統括的に制御するプロセッサーであり、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等のプロセッサーを有して構成される。
【０１１３】
本実施形態において、処理部１０は、主要な機能部として、入力画像縮小部１０１と、位置合わせ部１０３と、コントラスト補正部１０５と、エッジ検出部１０７と、焦点分離判定部１０９と、深度推定部１１１と、デプスマップ生成部１１３と、デプスマップ復元部１１５と、デプスマップ修正部１１７と、全焦点画像生成部１１９と、デプスマップ縮小部１１９と、強調画像生成部１２３と、強調画像修正部１２５と、表示制御部１２７とを有する。但し、これらの機能部は一実施例として記載したものに過ぎず、これ以外の機能部を必須構成要素としてもよいことは勿論である。
【０１１４】
入力部２０は、タッチパネル２１を有して構成される入力装置であり、タッチパネル２１に対するユーザー操作の検知信号を処理部１０に出力する。タッチパネル２１は、ユーザーとスマートフォン１との間の入力インターフェースとして機能する。
【０１１５】
本実施形態では、入力部２０を介してスマートフォン１のカメラ機能が選択されると、ユーザーは、モードとして「撮影モード」と「画像閲覧モード」との２つのモードを選択可能であり、さらにこれらのモードに付随して、「強調画像生成モード」と「強調画像修正モード」との２つのモードを選択可能に構成される。
【０１１６】
表示部３０は、ＬＣＤ（Liquid Crystal Display）等を有して構成される表示装置であり、処理部１０から出力される表示信号に基づいた各種表示を行う。表示部３０には、時刻情報やアプリケーションを起動するためのアイコンの他、後述する画像処理で生成される各種の画像が表示される。
【０１１７】
通信部４０は、処理部１０の制御に従って、装置内部で利用される情報を外部の情報処理装置（例えばパソコン）との間で送受するための通信装置である。通信部４０の通信方式としては、所定の通信規格に準拠したケーブルを介して有線接続する形式や、クレイドルと呼ばれる充電器と兼用の中間装置を介して接続する形式、近距離無線通信を利用して無線接続する形式等、種々の方式を適用可能である。
【０１１８】
撮像部５０は、任意のシーンの画像を撮像可能に構成された撮像デバイスであり、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary MOS）イメージセンサ等の撮像素子（半導体素子）を有して構成される。撮像部５０は、撮影対象物から発せられた光を、不図示のレンズによって撮像素子の受光平面に結像させ、光電変換によって、像の光の明暗を電気信号に変換する。変換された電気信号は、不図示のＡ／Ｄ（Analog Digital）変換器によってデジタル信号に変換されて、処理部１０に出力される。
【０１１９】
表示制御部１２７は、撮像部５０から出力されるデジタル化された電気信号に基づいて、ユーザーが撮影対象とするシーンを写し出した画面（後述する確認画面）を表示部３０に表示制御する。そして、ユーザーの撮像操作（例えばタッチパネル２１の撮像ボタンをタップする操作）に応じて、撮像部５０から出力される電気信号に基づいて所定のフォーマット（例えばＪＰＥＧ方式等）に変換された画像データが、撮影画像のデータとして記憶部８０に記憶される。本明細書では、撮像部５０による撮像の結果として得られた画像のことを「撮影画像」という。
【０１２０】
携帯電話用アンテナ５５は、スマートフォン１の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【０１２１】
携帯電話用無線通信回路部６０は、ＲＦ変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【０１２２】
時計部７０は、スマートフォン１の内部時計であり、例えば水晶振動子及び発振回路である水晶発振器を有して構成される。時計部７０の計時時刻は処理部１０に随時出力される。
【０１２３】
慣性センサ７５は、スマートフォン１の慣性情報を検出するセンサであり、例えば、３軸の加速度センサや３軸のジャイロセンサを有して構成され、センサを基準とする３次元のローカル座標系で検出した３軸の加速度ベクトル及び３軸の角速度ベクトルが処理部１０に出力される。
【０１２４】
記憶部８０は、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の記憶装置を有して構成され、処理部１０がスマートフォン１を制御するためのシステムプログラムや、各種アプリケーション処理を実行するための各種プログラムやデータ等を記憶する。
【０１２５】
本実施形態において、記憶部８０には、プログラムとして、画像処理（図３及び図４参照）として実行される画像処理プログラム８１が記憶されている。画像処理プログラム８１は、焦点分離判定処理（図５参照）として実行される焦点分離判定プログラム８１１と、深度推定処理（図６参照）として実行される深度推定プログラム８１３と、強調画像生成処理（図７参照）として実行される強調画像生成プログラム８１５と、強調画像修正処理（図８参照）として実行される強調画像修正プログラム８１７とをサブルーチンとして含む。これらの処理についてはフローチャートを用いて詳細に後述する。
【０１２６】
また、記憶部８０には、データとして、画像データセット８３と、強調画像データ８５と、修正強調画像データ８７と、ペナルティ値テーブル８９とが記憶される。
【０１２７】
画像データセット８３は、処理部１０が各種画像処理を行うために使用する各種データにより構成されるものであり、そのデータ構成の一例を図２に示す。各画像データセット８３には、それぞれ異なるシーンで撮像部５０によって撮像された画像に係るデータの組合せが記憶されている。各画像データセット８３には、複数の入力画像データ８３３と、当該複数の入力画像データ８３３に基づいて生成される縮小デプスマップデータ８３５と、当該複数の入力画像データ８３３及び当該極小デプスマップデータ８３５に基づいて生成される全焦点画像データ８３７とが含まれる。
【０１２８】
複数の入力画像データ８３３は、それぞれ、あるシーンについて撮像部５０によって焦点距離や合焦距離、絞り値等のカメラでの撮像に係る諸元（以下、「カメラ諸元」という。）を変えて撮像部５０によって撮像された撮影画像である入力画像と、当該入力画像に関する付随情報とからなるデータである。各入力画像データ８３３における当該入力画像の付随情報として、撮影日時８３３ａと、入力画像をユニークに識別するための画像番号８３３ｂと、縮小された入力画像のデータである縮小入力画像データ８３３ｃとが対応付けて記憶されている。
【０１２９】
撮影日時８３３ａは、時計部７０の計時時刻に基づいて処理部１０により入力画像データ８３３に記憶される。
【０１３０】
この実施の形態において、処理部１０は、所定のルールに従って画像番号８３３ｂを設定し、入力画像データ８３３に対応付けて記憶する。
【０１３１】
例えば、撮像部５０が、撮像時に一番手前に焦点を合わせて撮像し、徐々に焦点を奥に移して撮像を行う場合、処理部１０は、それぞれの入力画像の撮影日時８３３ａに基づいて、撮影時刻が後になるほど焦点距離が長くなるというルールに基づいて、撮影時刻が早い入力画像から順に、１から順番に画像番号８３３ｂを割り振る。逆に、撮像時に一番奥に焦点を合わせて撮像し、徐々に焦点を手前に移して撮像を行う場合には、撮影時刻が後になるほど焦点距離が短くなるというルールに基づいて、撮影時刻が遅い入力画像から順に、１から順番に画像番号８３３ｂを割り振ればよい。また、他にも、撮像時のカメラ諸元に応じて画像名が自動的に付されるような場合（例えば合焦距離が増加するに従ってＩｍａｇｅ××の××が増加するように自動的に画像ファイル名が付されるような場合）には、撮影画像の画像名（Ｉｍａｇｅ１，Ｉｍａｇｅ２，Ｉｍａｇｅ３，・・・）の順（昇順）に画像番号８３３ｂを割り振ることとしてもよい。
【０１３２】
また、例えば、撮像部５０が、撮像時にカメラ諸元をＥＸＩＦ情報等のメタデータとして入力画像に記憶させる構成となっている場合には、そのカメラ諸元を参照して、カメラ諸元に応じた画像番号８３３ｂを割り振るようにすることも可能である。
【０１３３】
縮小デプスマップデータ８３５は、デプスマップ生成部１１３が縮小入力画像を用いて生成した縮小されたデプスマップである縮小デプスマップのデータである。デプスマップとは、複数の入力画像のうちの何れの入力画像で合焦しているかを示す情報である深度が画素別に定められたマップデータである。本実施形態では、対象画素について、複数の入力画像のうちの何れの入力画像で合焦しているかを示す情報である深度を推定する深度推定処理を行い、その深度推定の結果に基づいてデプスマップを生成する。なお、本実施形態では、対象画素を画像中の全ての画素として説明するが、画像中の全ての画素ではなく、画像中の一部の領域に含まれる画素を対象画素としてもよいことは勿論である。
【０１３４】
全焦点画像データ８３７は、全焦点画像生成部１１９がデプスマップと複数の入力画像とを用いて生成した全ての画素において合焦していると推定される入力画像の画素値で構成される画像のデータである。
【０１３５】
複数の入力画像や全焦点画像は、例えばＪＰＥＧ形式で符号化され、画像Ｎｏ８３１や撮影日時８３２、スマートフォンの機種、絞り値、焦点距離、合焦距離、画素数、ＧＰＳ情報といった付随的なＥＸＩＦ情報と併せて記憶される。この際、縮小デプスマップデータ８３５は、付随的なデータとしてＥＸＩＦ情報に含める形で記憶させることができ、このようにすることで、１つのＪＰＥＧファイルとして記憶部８０に記憶させることができる。ＥＸＩＦ情報には、さらに縮小デプスマップの生成に用いた情報（例えば縮小率）を含めることができる。画像データセット８３は、不揮発性のメモリ（例えばフラッシュＲＯＭ）に記憶される。
【０１３６】
なお、縮小デプスマップを付随的なデータとしてＥＸＩＦ情報に含めるのではなく、縮小デプスマップを複数の入力画像及び全焦点画像の少なくとも一方と共にＪＰＥＧ形式で符号化して画像データセット８３に含めるようにすることも可能である。この場合は、これらの符号化された画像データのＥＸＩＦ情報として、縮小デプスマップの生成に用いた情報（例えば縮小率）を含めるようにすればよい。
【０１３７】
また、詳細は後述するが、本実施形態では、複数の入力画像の焦点が適切に分離されているかを判定する焦点分離判定処理を行い、焦点が適切に分離されている入力画像を用いて縮小デプスマップを生成する。つまり、焦点が適切に分離されていないと判定された入力画像は縮小デプスマップの生成に利用されない。このため、複数の入力画像のうち、何れの入力画像を縮小デプスマップの生成に用いたかを示す情報をＥＸＩＦ情報に含めるようにすると好適である。つまり、縮小デプスマップと、当該縮小デプスマップの生成に用いた入力画像の情報とを関連づけて記憶させておくことで、後に縮小デプスマップを用いて全焦点画像の生成や強調画像の生成、強調画像の修正等の処理を行う際に、どの入力画像を用いて処理を行えばよいかが明確となる。
【０１３８】
強調画像データ８５は、強調画像生成部１２３が、ユーザー操作に従って全焦点画像のうちの特定の画素部分を強調し、他の画素部分を暈かした画像のデータである。なお、この強調画像データ８５は、一時データとして揮発性のメモリ（例えばＲＡＭ）に記憶させることとしてもよいし、画像データセット８３に含めて不揮発性のメモリ（例えばフラッシュＲＯＭ）に記憶させることとしてもよい。
【０１３９】
修正強調画像データ８７は、強調画像修正部１２５が、ユーザー操作に従って強調画像の一部を修正した画像データである。なお、この修正強調画像データ８７も、一時データとして揮発性のメモリ（例えばＲＡＭ）に記憶させることとしてもよいし、画像データセット８３に含めて不揮発性のメモリ（例えばフラッシュＲＯＭ）に記憶させることとしてもよい。
【０１４０】
ペナルティ値テーブル８９は、深度推定部１１１が行う深度推定処理において、後述する適切解演算処理としてスコア値演算処理を行う際に用いるパラメーター値の一種であるペナルティ値が定められたテーブルであり、不揮発性のメモリ（例えばＲＯＭ）に予め記憶されている。スコア値演算処理では、対象画素について、当該対象画素の対応する深度のエッジ画像のエッジ強度に応じたコスト値を算出し、コスト値とペナルティ値とを用いて、所定のエネルギー関数の値をスコア値として演算する。ペナルティ値は、対象画素と当該対象画素の近傍画素とで、合焦しているとする入力画像を変化させる場合に課されるペナルティである。本実施形態において、コスト値は第１種パラメーター値に相当し、ペナルティ値は第２種パラメーター値に相当する。
【０１４１】
図３は、ペナルティ値テーブル８９のテーブル構成の一例を示す図である。
ペナルティ値テーブル８９には、種別８９１と、第１のペナルティ値８９３と、第２のペナルティ値８９５とが対応付けて定められている。
【０１４２】
対象画素と近傍画素とで、合焦しているとする入力画像を画像番号８３３ｂで「１」だけ変化させる場合のペナルティ値が第１のペナルティ値８９３である。また、対象画素と近傍画素とで、合焦しているとする入力画像を画像番号８３３ｂで「２以上」変化させる場合のペナルティ値が第２のペナルティ値８９５である。そして、種別８９１の「通常時」には、第１のペナルティ値８９３として「Ｐ１」が、第２のペナルティ値８９５として「Ｐ２」がそれぞれ定められている。但し、「Ｐ１＜Ｐ２」である。
【０１４３】
また、種別８９１の「強調画像修正時」には、ユーザーによるドラッグ方向とエッジ方向とが所定の近似条件を満たす場合と、ユーザーによるドラッグ方向とエッジ方向とが所定の乖離条件を満たす場合とで、異なるペナルティ値が定められている。具体的には、前者については、第１のペナルティ値８９３として「Ｐ１−α」が、第２のペナルティ値８９５として「Ｐ２−α」がそれぞれ定められている。また、後者については、第１のペナルティ値８９３として「Ｐ１＋α」が、第２のペナルティ値８９５として「Ｐ２＋α」がそれぞれ定められている。「α」の値は適宜設定可能であり、例えば「α＝１」である。
【０１４４】
２−１．第１実施例
２−１−１．処理の流れ
図４及び図５は、処理部１０が記憶部８０に記憶されている画像処理プログラム８１に従って実行する画像処理の流れを示すフローチャートである。この画像処理は、スマートフォン１のカメラ機能がユーザーにより選択された場合に実行を開始する処理である。
【０１４５】
本実施例では、画像処理として、「撮影モード」として、例えば焦点距離を変えて撮像された複数の撮影画像を入力画像として用いてデプスマップや全焦点画像、強調画像、修正強調画像の生成・表示を行うことに着目した処理を図示・説明する。但し、従来のスマートフォンに備えられているカメラ機能のように、焦点距離を変えずにパンフォーカスな画像を撮像して表示する「通常撮影モード」での撮像を行うことも当然可能であるが、これに係る処理については図示・説明を省略する。
【０１４６】
最初に、処理部１０は、ユーザーにより入力部２０を介して選択されたモードを判定する（ステップＡ１）。選択されたモードが「撮影モード」である場合は（ステップＡ１；撮影モード）、処理部１０は、ユーザーのシャッター操作に従って、同一シーンについて焦点距離を変えて複数枚の画像の撮像を撮像部５０に行わせるように制御する（ステップＡ３）。例えば、ユーザーによる１回のシャッター操作に伴い、あるシーンを対象とした１の画像データセット８３が取得されるものとする。
【０１４７】
その後、入力画像縮小部１０１が、所定の縮小方法を用いて複数の入力画像をそれぞれ縮小する入力画像縮小処理を行う（ステップＡ５）。この場合、なるべく元の入力画像の画像情報が失われないように、例えば縦横を１／２ｎ（ｎは１以上の整数）に縮小する。入力画像の縮小は、ダウンサンプリング等の公知の手法によって実現することができる。縮小入力画像は、縮小対象となった元の入力画像に対応付けて記憶される。
【０１４８】
その後、位置合わせ部１０３が、記憶部８０に記憶された複数の縮小入力画像の位置合わせ処理を行う（ステップＡ７）。
ユーザーによる撮影がスマートフォン１を固定した状態等の安定した状態での撮影ではなく、撮影者が手で持った状態で行われた場合、入力画像間で位置ズレが発生する可能性が高い。位置ズレがあると、合焦・非合焦として出力する画素の位置がズレてしまい、その結果、間違った深さ情報を含むデプスマップを生成してしまうおそれがある。そこで、縮小入力画像の位置合わせを行う。位置合わせ処理には、種々の手法を適用可能であるが、例えばオプティカルフローを用いた公知の位置合わせ手法を適用することができる。この手法には、ブロックマッチング法や勾配法といった手法が含まれる。
【０１４９】
次いで、コントラスト補正部１０５が、コントラスト補正処理を行う（ステップＡ９）。後述するエッジ検出処理においてエッジを検出する際に、撮影シーンに強い光が存在することに起因して、入力画像間でエッジがずれるという問題がある。そこで、入力画像の輝度に対して、所定のコントラスト補正の演算式に従ったコントラスト補正を行う。この場合、画像全体にコントラスト補正を施すこととしてもよいし、画像中の一部分にコントラスト補正を施すこととしてもよい。
【０１５０】
画像中の一部分にコントラスト補正を施す場合においては、白飛びの発生を考慮する必要がある。白飛びとは、強い光が照射されている領域において露出オーバーが発生し、諧調の情報が失われて真っ白になってしまうことを意味する。白飛びしている領域（以下、「白飛び領域」という。）では、諧調が全体的に鈍ってしまう場合があり、エッジを検出する際に、適切なエッジが検出されなくなるおそれがある。
【０１５１】
そこで、公知の手法を用いて白飛び領域を検出し、当該白飛び領域について、好ましくは当該白飛び領域を含む一回り大きい領域について局所的にコントラストを下げる処理を行う。この処理により、後段のエッジ検出処理で白飛び領域の境界で誤った位置でのエッジを検出しないようにすることができ、後述する深度推定及びデプスマップ生成においてエッジのずれの影響を低減できる。
【０１５２】
また、上記の白飛びは、複数の露出で同じ画像を撮像し、１枚の画像に合成するＨＤＲを適用することによっても回避することができる。本願出願人は、露出変換関数を用いて白飛びを回避する手法を考案している。詳細は、国際公開第２０１３／０５４４４６号明細書で開示しているが、「ｙ＝ａ・ｘｂ」で表される露出変換関数を定義し、低露出の入力画像の画素値のサンプルデータを用いた最小二乗法等の手法を用いて、露出変換関数に含まれる（ａ，ｂ）の露出変換パラメーターの値を推定することで、露出変換関数を求める。そして、求めた露出変換関数を用いて対象画像の諧調値を修正することで、諧調値の鈍りが解消された対象画像を生成する。このようにして生成した対象画像に対してエッジ検出を行うことで、後述する深度推定及びデプスマップ生成においてエッジのずれの影響を低減することができる。
【０１５３】
次いで、エッジ検出部１０７が、コントラスト補正処理で得られた複数の縮小入力画像それぞれに対応するコントラスト補正画像に対してエッジ検出処理を行う（ステップＡ１１）。本実施例では、入力画像の特徴として、コントラスト補正画像中のエッジを検出する。具体的には、例えば、エッジ検出処理として、ラプラシアンフィルタを用いたエッジ検出を行う。なお、ラプラシアンフィルタを用いるのではなく、他にもＳｏｂｅｌフィルタやＲｏｂｅｒｔｓフィルタ、Ｆｏｒｓｅｎフィルタ、レンジフィルタといったエッジ検出用のフィルタを用いてもよい。また、コントラスト補正画像をフーリエ変換によって周波数領域に変換し、低周波成分を除去することで、高周波成分であるエッジを検出することとしてもよい。
【０１５４】
次いで、焦点分離判定部１０９が、記憶部８０に記憶されている焦点分離判定プログラム８１１に従って焦点分離判定処理を行う（ステップＡ１３）。
【０１５５】
図６は、焦点分離判定処理の流れを示すフローチャートである。
まず、焦点分離判定部１０９は、エッジ画像間の相関値を算出する（ステップＢ１）。相関値は、２つのエッジ画像を構成する全ての画素について、全ての画素同士の畳み込み演算を行う相関演算を行うことで算出することができる。そして、焦点分離判定部１０９は、各エッジ画像について、エッジ強度が所定の閾値強度を超える画素数を算出する（ステップＢ３）。
【０１５６】
その後、焦点分離判定部１０９は、所定の焦点分離条件を満たすエッジ画像を判定する（ステップＢ５）。焦点分離条件は、例えば、ステップＢ１で算出した相関値が第１の閾値に達しておらず（第１の閾値条件）、且つ、ステップＢ３で算出した画素数が第２の閾値に達している（第２の閾値条件）こととして定めておくことができる。つまり、相関値が所定の低閾値条件を満たし、且つ、画素数が所定の高閾値条件を満たすことを、焦点分離条件として定めておく。
【０１５７】
なお、エッジ強度が所定の閾値強度を超える画素数の代わりに、エッジ強度が所定の閾値強度を超える画素の割合を算出することとしてもよい。この場合は、相関値が第１の閾値に達してらず（第１の閾値条件）、且つ、エッジ強度が所定の閾値強度を超える画素の割合が所定の閾値に達している（第２の閾値条件）ことを焦点分離条件として定めることとすればよい。つまり、相関値が所定の低閾値条件を満たし、且つ、画素の割合が所定の高閾値条件を満たすことを、焦点分離条件として定めておくこととしてもよい。
【０１５８】
次いで、焦点分離判定部１０９は、焦点分離条件を満たすと判定したエッジ画像に対応する入力画像を深度推定に用いる入力画像に決定する（ステップＢ７）。そして、焦点分離判定部１０９は、焦点分離条件を満たさない入力画像を消去した後（ステップＢ９）、焦点分離判定処理を終了する。
【０１５９】
なお、上記において、焦点分離条件を満たさない入力画像が存在した場合にエラー報知を行うこととし、ユーザーに再度の撮影を促すようにしてもよい。つまり、撮像部５０に焦点距離を変えて、同一シーンの撮像を再度行わせるようにしてもよい。
【０１６０】
図４に戻り、焦点分離判定処理を行った後、深度推定部１１１が、記憶部８０に記憶されている深度推定プログラム８１３に従って深度推定処理を行う（ステップＡ１５）。
【０１６１】
図７は、深度推定処理の流れを示すフローチャートである。
深度推定部１１１は、縮小入力画像を構成する各ラインについてループＡの処理を行う（ステップＣ１〜Ｃ９）。ループＡの処理では、深度推定部１１１は、当該ラインに含まれる画素についてエネルギー関数に基づく適切解演算処理を実行する（ステップＣ３）。
【０１６２】
適切解演算処理では、複数の入力画像別のスコア値を、当該入力画像を構成する画素について演算するスコア値演算処理を実行する。具体的には、エネルギー関数に基づき、入力画像を構成する画素別のスコア値を算出する。スコア値は、対象画素について、当該対象画素の対応する深度の入力画像のエッジ強度に応じて定まるコスト値と、当該対象画素について合焦しているとする第１の入力画像と当該対象画素の近傍画素について合焦しているとする第２の入力画像とが異なる場合のペナルティとして定められるペナルティ値とを用いて、入力画像別のスコア値を演算する。そして、演算したスコア値が所定の高値条件を満たす入力画像を合焦している入力画像と推定する。
【０１６３】
本実施形態で用いるエネルギー関数について説明する。
本願発明者の知見によれば、エッジ画像から求められるエッジの強さ（エッジ強度）は、その焦点距離における合焦度合いと相関がある。そして、複数の入力画像中、その画素においてエッジが最も強い入力画像が、その画素における最も合焦した入力画像といえると考えられる。この論理から、エッジ情報に基づいて、各画素におけるデプス適切解を導出し、その集合であるデプスマップを生成する。エッジ画像からデプスマップを生成するにあたっては、例えば次式（１）に示すエネルギー関数を用いる。
【数１】
2015111822.tif 000003
【０１６４】
式（１）において、「ｐ」及び「ｑ」は画素（画素の座標値）であり、「Ｎｐ」は画素ｐの近傍所定範囲を示す。画素ｑは、画素ｐの近傍所定範囲Ｎｐに含まれる画素であり、画素ｐの近傍画素である。
【０１６５】
「Ｒｘ」は画素ｘにおける深度であり、例えば入力画像の画像番号８３３ｂと一対一に対応する。画像番号８３３ｂは、前述したように、所定のルール（例えば、撮影時刻が後になるほど焦点距離が長くなる又は短くなるというルール）に基づいて１から順番に割り振られる。この場合、画像番号８３３ｂは焦点距離の昇順又は降順になっているため、入力画像の深さを表していると言える。
【０１６６】
「Ｃ（ｐ，Ｒｘ）」は深度Ｒｘにおける画素ｐのコスト値であり、このコスト値は、エッジ強度の逆数として算出される。つまり、エッジ強度が強いほどコスト値は小さくなる。Ｔ［］は括弧内の条件が満たされる場合に「１」、満たされない場合に「０」をとる関数である。
【０１６７】
「Ｐ（ｐ）」は画素ｐにおけるペナルティ値である。「Ｐ１」は深度が１変わった場合のペナルティ値である第１のペナルティ値であり、「Ｐ２」は深度が２以上変わった場合のペナルティ値である第２のペナルティ値である。この第１のペナルティ値及び第２のペナルティ値は、ペナルティ値テーブル８９の「通常時」に定められたペナルティ値である。前述したように、「Ｐ１＜Ｐ２」である。
【０１６８】
式（１）のエネルギー関数は、対象画素ｐについて、複数の入力画像のうち最も合焦である入力画像の情報をできるだけ選択しつつ、対象画素ｐの近傍画素ｑについてはできるだけ焦点の近い入力画像が選択されるように、各画素に対し、複数の入力画像のうちどの入力画像の画素値を用いればよいかを選択するための適切解を導出するものである。適切解のときにはこのエネルギー関数の値であるスコア値は最大値をとる。また、このエネルギー関数の内部においては、エッジ画像における画素値（輝度値）に応じてそのスコア値が決定され、最大の画素値をとる入力画像を順次選択していけばエネルギー関数の出力が最大となるように設計されている。これを示しているのが式（１）の右辺第１項のコスト値である。
【０１６９】
その一方で、対象画素ｐの近傍画素ｑにおいて選択する入力画像を変化させる場合は、ペナルティ値を科される、つまり所定の値を差し引かれる設定となっている。これを示しているのが、式（１）の右辺第２項及び第３項のペナルティ項である。具体的には、対象画素ｐについて合焦しているとする第１の入力画像と近傍画素ｑについて合焦しているとする第２の入力画像とが異なる場合には、所定のペナルティ値（第１のペナルティ値及び第２のペナルティ値）をスコア値から減算する。
【０１７０】
また、上記のように、第２のペナルティ値の方が第１のペナルティ値よりも大きい値が定められている（Ｐ１＜Ｐ２）。これは、対象画素ｐについて推定される深度「Ｒp」と、近傍画素ｑについて推定される深度「Ｒq」との差が大きいほど、より大きなペナルティ値をスコア値から減算することを意味する。
【０１７１】
以上のことから、式（１）のエネルギー関数は、なるべく最大の画素値をとる入力画像を選択しつつ、近傍の画素ではできるだけ入力画像を変化させないようにすべく、抑止がかかるように構成されている。コスト値を用いることで、各画素についてエッジの強い入力画像が合焦している入力画像として選択され易くなるようにし、エッジの強さを反映したデプスマップを得ることができる。また、ペナルティ値を用いることで、推定される深度にでこぼこが生じないように制約し、滑らかに深度が変化する平滑的されたデプスマップを得ることができる。
【０１７２】
なお、撮像部５０が撮像した入力画像は、原則的に焦点距離を変えて撮像された異なる撮影画像であるが、同じ焦点距離の画像が入力画像の中に含まれていても問題はない。この場合、同じ焦点距離の入力画像については、ペナルティ値を「０」として上記の適切解演算処理を行えばよい。
【０１７３】
本実施形態では、上記の適切解演算処理におけるスコア値の演算を容易化するために、式（１）のエネルギー関数を一次元化し、入力画像を構成するライン毎に、スコア値を演算して、デプス適切解を算出する。式（１）を一次元化すると、次式（２）のようになる。
【数２】
2015111822.tif 000004
【０１７４】
式（２）において、「Ｌｒ」はラインｒにおけるペナルティ関数である。「Ｌｒ（ｐ，ｄ）」は、ラインｒにおける画素ｐにおけるコスト値である。また、「Ｃ（ｐ，ｒ）」は、画素ｐにおいて深度がｒの場合のコスト値である。
【０１７５】
ステップＣ３では、式（２）のエネルギー関数に基づいてスコア値算出処理を実行し、当該ラインを構成する画素それぞれについてスコア値を算出する。そして、深度推定部１１１は、当該ラインに含まれる画素それぞれについて、当該画素ｘについてスコア値が最大となった深度Ｒｘを判定する（ステップＣ５）。そして、深度推定部１１１は、判定した深度Ｒｘに対応する画像番号８３３ｂの入力画像を当該画素ｘにおける合焦している入力画像と判定した後（ステップＣ７）。次のラインへと処理を移行する。
【０１７６】
入力画像を構成する全てのラインについてステップＣ３〜Ｃ７の処理を行ったならば、深度推定部１１１は、ループＡの処理を終了し（ステップＣ９）、深度推定処理を終了する。
【０１７７】
図４の画像処理に戻り、深度推定処理を行ったならば、デプスマップ生成部１１３が、縮小デプスマップ生成処理を行う（ステップＡ１７）。具体的には、深度推定処理の結果に基づいて、縮小入力画像を構成する各画素について推定された深度に応じたビット値を割り当てたマップを生成し、これを縮小デプスマップとする。なお、生成する縮小デプスマップは、深度推定処理で用いた入力画像の数に応じてビット数を設定すればよい。例えば、入力画像が３〜４枚であれば２ビット、５〜８枚であれば３ビットでデプスマップを表現すればよい。生成された縮小デプスマップは、記憶部８０の画像データセット８３に複数の入力画像と対応付けて記憶される。
【０１７８】
次いで、デプスマップ復元部１１５が、縮小デプスマップ復元処理を行う（ステップＡ１９）。具体的には、縮小デプスマップを所定の復元方法を用いて元の大きさに拡大し、これを復元デプスマップとする。
【０１７９】
次いで、デプスマップ修正部１１７が、デプスマップ修正処理を行う（ステップＡ２１）。具体的には、デプスマップ修正部１１７は、複数の入力画像の中から選択した一の入力画像を修正用画像として用いて復元デプスマップを修正する。この場合は、例えば、複数の入力画像のうち、焦点距離が中間値に最も近い入力画像を修正用画像として選択することができる。
なお、複数の入力画像の中から選択した２以上の入力画像を合成した合成画像を修正用画像として用いることとしてもよい。
【０１８０】
デプスマップの修正は、修正用画像の画素値を用いた加重平均化処理を行うことで実現することができる。この加重平均化処理は、次式（３）で与えられる。
【数３】
2015111822.tif 000005
【０１８１】
式（３）において、「ｐ」は修正対象画素であり、「ｑ」は修正対象画素の近傍に位置する近傍画素である。「Ｇ（ｐ，ｑ）」は修正対象画素ｐと近傍画素ｑとの間の距離が近いほど値が大きくなる関数であり、例えばガウス関数で与えられる。また、「Ｉ（ｐ）」は修正用画像の修正対象画素ｐにおける輝度値であり、「Ｉ（ｑ）」は修正用画像の近傍画素ｑにおける輝度値である。そして、「Ｗ（Ｉ（ｐ），Ｉ（ｑ））」は、輝度値「Ｉ（ｐ）」と「Ｉ（ｑ）」とが近い値であるほど値が大きくなる関数である。「Ｄ（ｑ）」はデプスマップにおける近傍画素ｑにおける値であり、「Ｄ’（ｐ）」は加重平均化で得られるデプスマップの修正対象画素ｐにおける修正値を示す。このようにして得られた修正デプスマップを、以降の処理においてデプスマップとして利用する。
【０１８２】
ここで、式（３）の加重平均化処理の処理負荷を軽減するために、詳細な原理説明は省略するが、量子化コードを用いて次式（４）に従って加重平均化処理を行うようにしてもよい。
【数４】
2015111822.tif 000006
【０１８３】
次いで、全焦点画像生成部１１９が、全焦点画像生成処理を行う（ステップＡ２３）。具体的には、ステップＡ２１で修正されたデプスマップに基づいて、複数の入力画像の中から選択すべき画素値を抽出し、全ての画素において合焦度が高い入力画像の画素値である構成される全焦点画像を生成する。生成された全焦点画像データ８３７は、記憶部８０の画像データセット８３に入力画像データ８３３及び縮小デプスマップ８３５と対応付けて記憶される。
【０１８４】
図５に移り、表示制御部１２７は、全焦点画像を表示部３０に表示させるように制御する（ステップＡ２５）。その後、処理部１０は、ユーザーによって入力部２０を介して「強調画像生成モード」が選択されたか否かを判定し（ステップＡ２７）、選択されたと判定したならば（ステップＡ２７；Ｙｅｓ）、強調画像生成部１２３が、記憶部８０に記憶されている強調画像生成プログラム８１５に従って強調画像生成処理を行う（ステップＡ２９）。
【０１８５】
図８は、強調画像生成処理の流れを示すフローチャートである。
強調画像生成部１２３は、ユーザー操作に従って指定領域を判定する（ステップＤ１）。具体的には、タッチパネル２１のうちのタップされた領域を認識し、タップされた領域を指定領域と判定する。その後、強調画像生成部１２３は、指定領域の中から代表画素を選択する（ステップＤ３）。
【０１８６】
ユーザーの指によってタップされる箇所は面積があるため、対応する座標は一つに限られず、複数の座標に亘ることになる。そのため、複数の画素値が抽出されることになり、強調したい（合焦を維持する）焦点距離を一意に決めることができない。そのため、本実施例では、抽出された複数の画素値でなる指定領域の中から一の画素を代表画素として選択する。
【０１８７】
この場合における代表画素の選択方法としては、例えば、（１）指定領域の中心位置に最も近い画素、（２）指定領域に含まれる画素のうちデプスマップにおいて最も深度が深い又は浅い画素に対応する深度、（３）指定領域に含まれる画素の画素値の平均値に画素値が最も近い画素、のうちの何れかの画素を代表画素として選択するようにすることができる。
【０１８８】
その後、強調画像生成部１２３は、デプスマップに基づいて代表画素の深度を選択する（ステップＤ５）。つまり、代表画素として選択した画素がデプスマップにおいて何れの深度に対応付けられているかを判定し、判定した深度を選択する。
【０１８９】
なお、代表画素を選択してその代表画素の深度を選択するようにするのではなく、代表画素の選択を行わずに、デプスマップを利用して一の深度を選択するようにすることも可能である。具体的には、ステップＤ３を省略して、ステップＤ５において、例えば、（４）指定領域のうちデプスマップ上において最も対応する深度の画素が占める面積が大きい深度を選択するようにしてもよい。
【０１９０】
次いで、強調画像生成部１２３は、デプスマップに基づいて、ステップＤ５で選択された深度に対応する画素を特定する（ステップＤ７）。つまり、デプスマップの各画素の深度を示すビット値に基づいて、ステップＤ５で判定された深度の画素がどの画素に相当するかを判定する。
【０１９１】
その後、強調画像生成部１２３は、強調画像を生成する（ステップＤ９）。具体的には、暈しフィルタを用いて、所定の暈し度合で全焦点画像の全体を暈す処理を行う。この場合の暈しフィルタとしては、例えば、ガウシアンフィルタ等の公知のフィルタを適用することができる。そして、暈し処理の結果として得られる暈し画像に、ステップＤ７で特定した画素の画素値を合成し、その処理結果を強調画像（合成画像）とする。そして、表示制御部１２７は、生成した強調画像で表示部３０の表示を更新する（ステップＤ１１）。
【０１９２】
全焦点画像に対し一様に暈しフィルタを適用したものに強調すべき焦点距離にある画素を合成した場合、合焦と非合焦の境界付近において輪郭のような不自然な画素値となってしまう領域が発生するという現象が生じ得る。この現象は、撮影シーン中の物体の境界付近においては、強調表示すべき焦点距離ではない画素にも関わらず、強調表示すべき焦点距離にある画素の影響を受けてしまうことから発生してしまうことによる。この現象を回避するために、強調表示すべき画素でない部分に重み付けをして全焦点画像に暈しフィルタを掛けて、合成を行う。具体的には、全焦点画像のうち、ステップＤ７で特定された画素以外の画像部分に対して暈し度合を上記の所定の暈し度合よりも大きくして暈し処理を行う。
【０１９３】
なお、上記に代えて、ステップＤ７で特定された画素については暈し度合を上記の所定の暈し度合よりも小さくして暈し処理を行うこととしてもよい。
【０１９４】
次いで、強調画像生成部１２３は、続けてユーザー操作があったか否かを判定する（ステップＤ１３）。続けてユーザー操作があったと判定したならば（ステップＤ１３；Ｙｅｓ）、強調画像生成部１２３は、ステップＤ１に処理を戻す。これは、ユーザーが全く別の位置をタップした場合の他、ユーザーが一度タップした位置からドラッグ操作を行った場合も含む。つまり、ユーザーによりドラッグ操作がなされた場合は、ドラッグ操作により指定領域が順次変化することに伴い代表画素を動的に選択し、デプスマップに基づいて代表画素の深度を動的に判定する。そして、強調画像生成部１２３は、ドラッグ操作により指定領域が変化することに伴い動的に判定される深度に基づいて、当該代表画素に応じた合成画像を動的に生成し、表示制御部１２９が、動的に生成される合成画像をドラッグ操作に合わせて表示部３０に動的に表示させる制御を行う。
【０１９５】
ステップＤ１３において続けてユーザー操作がなかったと判定したならば（ステップＤ１３；Ｎｏ）、強調画像生成部１２３は、ユーザー操作に従って強調画像生成モードを終了するか否かを判定し（ステップＤ１５）、終了しないと判定した場合は（ステップＤ１５；Ｎｏ）、ステップＤ１３に処理を戻す。一方、終了すると判定した場合は（ステップＤ１５；Ｙｅｓ）、強調画像生成処理を終了する。
【０１９６】
図５に戻り、強調画像生成処理を行った後、処理部１０は、強調画像が表示部３０に表示中であるか否かを判定し（ステップＡ３１）、表示中であると判定したならば（ステップＡ３１；Ｙｅｓ）、ユーザーによって入力部２０を介して「強調画像修正モード」が選択されたか否かを判定する（ステップＡ３３）。そして、選択されたと判定したならば（ステップＡ３３；Ｙｅｓ）、強調画像修正部１２５が、記憶部８０に記憶されている強調画像修正プログラム８１７に従って強調画像修正処理を行う（ステップＡ３５）。
【０１９７】
図９は、強調画像修正処理の流れを示すフローチャートである。
強調画像修正部１２５は、タッチパネル２１を介してユーザーによりドラッグされた領域を指定領域とする（ステップＥ１）。そして、強調画像修正部１２５は、指定領域の中から代表画素を選択する（ステップＥ３）。代表画素は、図８の強調画像生成処理のステップＤ３で代表画素を選択する際と同様の手法で選択することができる。
【０１９８】
次いで、強調画像修正部１２５は、デプスマップに基づいて代表画素の深度を選択する（ステップＥ５）。つまり、代表画素として選択した画素がデプスマップにおいて何れの深度に対応付けられているかを判定し、判定した深度を選択する。
【０１９９】
その後、強調画像修正部１２５は、ユーザーによるドラッグ方向と、ステップＥ５で選択した深度の入力画像中の指定領域に含まれるエッジの方向との相対関係を表す指標値としてコサイン類似度を算出する（ステップＥ６）。コサイン類似度は、ベクトル空間モデルにおける類似度計算手法の１つであり、ベクトル同士の成す角度の近さを表現する指標値である。コサイン類似度は、「１」に近ければベクトル同士が類似しており、「０」に近ければベクトル同士は類似していないことを意味する。なお、コサイン類似度の代わりに、ドラッグ方向とエッジ方向とのコサイン距離を算出するようにしてもよい。
【０２００】
強調画像修正部１２５は、ステップＥ５で算出したコサイン類似度に基づいて、指定領域内の画素に対するペナルティ値を設定する。具体的には、コサイン類似度が所定の閾値（例えば０．７）を超えている場合には、ドラッグ方向とエッジ方向とが近似条件を満たすとして、ペナルティ値テーブル８９に定められたペナルティ値（第１のペナルティ値を「Ｐ１−α」、第２のペナルティ値「Ｐ２−α」）を設定する。また、コサイン類似度が閾値以下である場合には、ドラッグ方向とエッジ方向とが乖離条件を満たすとして、ペナルティ値テーブル８９に定められたペナルティ値（第１のペナルティ値を「Ｐ１＋α」、第２のペナルティ値を「Ｐ２＋α」）を設定する。
【０２０１】
その結果、ドラッグ方向とエッジ方向とが近似条件を満たす場合（例えば、ドラッグ方向とエッジ方向とが平行な場合）には、ペナルティ値が通常時と比べて小さくなるため、対象画素と当該対象画素の近傍の画素の深度差に対するペナルティが弱くなる。その結果、指定領域に含まれる画素について、合焦しているとして選択する入力画像の許容度が大きくなり、より広い深さの幅で入力画像が選択される可能性が高まるため、エッジ部分を相対的に強める（強調する）作用が生ずる。
【０２０２】
一方、ドラッグ方向とエッジ方向とが乖離条件を満たす場合（例えば、ドラッグ方向とエッジ方向とが直交する場合）には、ペナルティ値が通常時と比べて大きくなるため、対象画素と当該対象画素の近傍の画素の深度差に対するペナルティが強くなる。その結果、指定領域に含まれる画素について、合焦しているとして選択する入力画像に対する許容度が小さくなり、入力画像を選択する深さの幅に強い制約がかかることで、エッジ部分を相対的に弱める（消去する）作用が生ずる。
【０２０３】
なお、上記では、ドラッグ方向とエッジ方向とが近似条件を満たす場合に、ペナルティ値を通常時と比べて小さくしたが、これに代えて、ドラッグ方向とエッジ方向とが近似条件を満たす場合に、ペナルティ値を通常時と同じ値にすることとしてもよい。この場合は、通常時に生成されたデプスマップが保存され、ドラッグ方向と近似するエッジ情報が保存されるようになる。
【０２０４】
次いで、強調画像修正部１２５は、指定領域内の画素について式（１）のエネルギー関数に基づくスコア値算出処理を実行する（ステップＥ９）。そして、強調画像修正部１２５は、指定領域内の画素についてスコア値が最大となった入力画像を合焦している入力画像と判定する（ステップＥ１１）。
【０２０５】
その後、強調画像修正部１２５は、修正デプスマップ生成処理を行う（ステップＥ１３）。具体的には、ステップＥ１１の判定結果に基づいて、入力画像を構成する各画素について合焦していると判定された入力画像に応じたビット値を割り当てたデプスマップを生成し、これを修正デプスマップとする。
【０２０６】
その後、強調画像修正部１２５は、修正強調画像生成処理を行う（ステップＥ１５）。具体的には、ステップＥ１３で生成された修正デプスマップを用いて、指定領域の画素値を修正した強調画像を生成する。
【０２０７】
次いで、強調画像修正部１２５は、ユーザーにより続けてドラッグ操作がなされたか否かを判定し（ステップＥ１７）、なされたと判定したならば（ステップＥ１７；Ｙｅｓ）、ステップＥ１に処理を戻す。一方、なされなかったと判定したならば（ステップＥ１７；Ｎｏ）、強調画像修正部１２５は、ユーザーにより強調画像修正モードを終了する操作がなされたか否かを判定する（ステップＥ１９）。
【０２０８】
強調画像修正モードを終了する操作がなされなかったと判定したならば（ステップＥ１９；Ｎｏ）、強調画像修正部１２５は、ステップＥ１７に処理を戻す。一方、強調画像修正モードを終了する操作がなされたと判定した場合は（ステップＥ１９；Ｙｅｓ）、強調画像修正処理を終了する。
【０２０９】
図５に戻り、強調画像修正処理を行ったならば、処理部１０は、入力部２０を介してユーザーにより撮影モード又は画像閲覧モードが選択されたか否かを判定し（ステップＡ３７）、選択されたと判定したならば（ステップＡ３７；Ｙｅｓ）、ステップＡ１に処理を戻す。一方、選択されなかったと判定したならば（ステップＡ３７；Ｙｅｓ）、処理部１０は、入力部２０を介してユーザーによりカメラ機能の終了操作がなされたか否かを判定する（ステップＡ３９）。
【０２１０】
カメラ機能の終了操作がなされなかったと判定したならば（ステップＡ３９；Ｎｏ）、処理部１０は、ステップＡ２７に処理を戻す。一方、カメラ機能の終了操作がなされたと判定したならば（ステップＡ３９；Ｙｅｓ）、処理部１０は、画像処理を終了する。
【０２１１】
一方、ステップＡ１においてユーザーにより「画像閲覧モード」が選択されたと判定したならば（ステップＡ１；画像閲覧モード）、表示制御部１２７は、記憶部８０の画像データセット８３に記憶されている全焦点画像の一覧を表示部３０に表示させるように制御する（ステップＡ４１）。そして、処理部１０は、入力部２０からのユーザー操作に従って、一覧表示させた全焦点画像の中から一の全焦点画像を選択する（ステップＡ４３）。
【０２１２】
次いで、処理部１０は、ステップＡ４３で選択した全焦点画像に対応付けて画像データセット８３に記憶されている縮小デプスマップを抽出する（ステップＡ４５）。そして、デプスマップ復元部１１５が、抽出された縮小デプスマップを復元する縮小デプスマップ復元処理を行う（ステップＡ４７）。画像データセット８３に記憶された縮小デプスマップは、縮小されていることによりそのままではデプスマップとして用いることができないため、元のサイズに戻すべく復元を行う。
【０２１３】
ここで、縮小デプスマップを復元して得られた復元デプスマップは、その復元により、全焦点画像におけるエッジ部分とのズレが生じてしまうという問題が生ずる。この状態で前述した強調画像生成処理を行うと、強調表示したい被写体を正確に反映できず、背景の一部を合焦領域に含んでしまったり、逆に目的の被写体の一部を非合焦領域としてしまったりすることになる。従って、復元して得られた復元デプスマップそのままではデプスマップとして用いることは不適切である。そこで、デプスマップ修正部１１７が、復元デプスマップを修正する復元デプスマップ修正処理を行う（ステップＡ４９）。
【０２１４】
具体的には、デプスマップ修正部１１７は、ステップＡ４９で抽出した縮小デプスマップに対応付けて記憶されている全焦点画像を読み出し、この全焦点画像を修正用画像として用いた加重平均化処理を行って、復元デプスマップを修正する。この場合の加重平均化処理は、前述した式（３）と同じ式を用いて実現することができる。
【０２１５】
この場合、式（３）において、「ｐ」は修正対象画素であり、「ｑ」は修正対象画素の近傍に位置する近傍画素である。「Ｇ（ｐ，ｑ）」は修正対象画素ｐと近傍画素ｑとの間の距離が近いほど値が大きくなる関数であり、例えばガウス関数で与えられる。また、「Ｉ（ｐ）」は全焦点画像の修正対象画素ｐにおける輝度値であり、「Ｉ（ｑ）」は全焦点画像の近傍画素ｑにおける輝度値である。そして、「Ｗ（Ｉ（ｐ），Ｉ（ｑ））」は、輝度値「Ｉ（ｐ）」と「Ｉ（ｑ）」とが近い値であるほど値が大きくなる関数である。「Ｄ（ｑ）」はデプスマップにおける近傍画素ｑにおける値であり、「Ｄ’（ｐ）」は加重平均化で得られるデプスマップの修正対象画素ｐにおける修正値を示す。このようにして得られた修正デプスマップを、以降の処理においてデプスマップとして利用する。
【０２１６】
なお、全焦点画像を修正用画像として用いて復元デプスマップを修正する代わりに、複数の入力画像の中から選択した入力画像を修正用画像として用いて復元デプスマップを修正することも可能である。この場合も、例えば、複数の入力画像のうち、焦点距離が中間値に最も近い入力画像を修正用画像として選択することができる。また、複数の入力画像の中から選択した２以上の入力画像を合成した合成画像を修正用画像として用いて復元デプスマップを修正することとしてもよい。
【０２１７】
ステップＡ４９において復元デプスマップ修正処理を行ったならば、処理部１０は、ステップＡ２５へと処理を移す。つまり、表示制御部１２７が、ステップＡ４３で選択した全焦点画像を表示部３０に表示させるように制御する。以降の処理は同じである。
【０２１８】
２−１−２．実験結果
次に、上記の処理について、実際に画像を用いて実験を行った結果を示す。
図１０は、同一シーンについて、焦点距離を変えて撮像された２枚の画像を示す。
図１０（１）は、近景であるウサギの人形部分に焦点を合わせて撮像された入力画像であり、図１０（２）は、背景である木々部分に焦点を合わせて撮像された入力画像である。
【０２１９】
これらの入力画像に対して位置合わせ処理及びコントラスト補正処理を行い、その後にエッジ検出処理を行うことで得られたエッジ画像が、それぞれ図１０（３）及び図１０（４）である。図１０（３）は、図１０（１）の入力画像に対してエッジ検出処理を行うことで得られたエッジ画像であり、ウサギの人形部分に焦点を合わせて撮像を行ったため、ウサギの人形の輪郭がエッジとして検出されている。それに対し、図１０（４）は、図１０（２）の入力画像に対してエッジ検出処理を行うことで得られたエッジ画像であり、背景の木々部分に焦点を合わせて撮像を行ったため、背景である木々の部分のエッジが検出されている。
【０２２０】
図１１（１）は、図１０（３），（４）に示した２枚のエッジ画像を用いて適切解演算処理を行って生成したデプスマップを示す。入力画像が２枚であるため、１ビットでデプスマップを表現している。これを見ると、近景であるウサギの人形の部分と、背景である木々の部分とが適切に分離されていることがわかる。
【０２２１】
図１１（２）は、図１１（１）のデプスマップと２枚の入力画像とを用いて生成した全焦点画像を示す。これを見ると、近景であるウサギの人形の部分と、背景である木々の部分との両方が合焦した状態の全焦点画像が生成されていることがわかる。
【０２２２】
図１２（１）は、デプスマップ復元処理で復元されたデプスマップを示しており、図１２（２）は、デプスマップ修正処理で生成された修正デプスマップを示している。これを見ると、復元デプスマップを、選択入力画像を用いて加重平均化処理したことで、近景であるウサギの人形部分と、背景である木々の部分との境界がはっきりした修正デプスマップが得られていることがわかる。
【０２２３】
図１３は、強調画像生成処理において強調画像を生成した結果を示す図である。図１３（１）は、全焦点画像に対して一様に暈し処理を施した結果を示し、図１３（２）は、図１３（１）の暈し画像に前景であるウサギの人形部分を強調すべく合成した結果を示す。
【０２２４】
図１３（２）を見ると、ウサギの人形の周辺に輪郭のような不自然な表示となった領域が発生している。この現象は、ウサギの人形部分と背景の木々の部分との境界付近においては、強調表示すべき深度ではない画素にも関わらず、強調表示すべき深度にある画素の影響を受けてしまうことによる。そこで、近景であるウサギの人形の部分に対する重みを小さくして全焦点画像に暈し処理を行った結果が図１３（３）である。そして、この図１３（３）の暈し画像に全景であるウサギの人形部分を強調すべく合成した結果が、図１３（４）である。これを見ると、図１３（２）で見られたようなウサギの人形の周辺に生じていた輪郭のような不自然な表示が解消されていることがわかる。
【０２２５】
図１４（１）は、強調画像生成処理において生成した強調画像を模式化して前景であるウサギの人形部分のみを図示したものを示している。ウサギの人形部分がユーザーによりタップされたことで、ウサギの人形部分が強調された強調画像が表示部３０に表示されている。この図を見ると、ウサギの右耳の一部が内側に欠けているような形状となっていることがわかる。これは、図１２に示したデプスマップにおいて、ウサギの人形の右耳の部分において適切に深度が推定されず、一部正確ではないデプスマップが生成されてしまったことによる。
【０２２６】
前述のエネルギー関数を用いて合焦度の高い入力画像を選択する場合、エネルギー関数における係数の設定によっては、適切な入力画像を選択できない場合があり、その結果、表示された画像中に対象の焦点距離にある被写体部分以外の画素がぼかされず表示されてしまう場合がある。
【０２２７】
そこで、表示された強調画像中、対象の焦点距離にある被写体部分以外の画素がぼかされず表示されていることを閲覧したユーザーは、強調画像修正モードを選択する。そして、強調画像修正モードにおいて、修正したい部分をなぞるようにドラッグ操作する。具体的には、図１４（１）において画像中の領域Ｒ１の部分をユーザーがなぞるようにドラッグ操作する。すると、処理部１０は、領域Ｒ１を指定領域Ｒ１とし、指定領域Ｒ１内の画素についてエネルギー関数の係数（より具体的にはペナルティ値）を変化させて再計算を行い、再計算によって強調画像を修正する。
【０２２８】
具体的には、ドラッグ方向とエッジ方向とのコサイン類似度を算出し、その値に応じてペナルティ値を設定する。ここでは、コサイン類似度が所定の閾値以下であると判定され、ドラッグ方向とエッジ方向とが近似条件を満たすと判定された結果、第１のペナルティ値を「Ｐ１−α」とし、第２のペナルティ値を「Ｐ２−α」として再計算が行われる。つまり、ペナルティ値を通常時と比べて低く設定して再計算が行われる。その結果、前述したように、ドラッグ方向に対して相対的にエッジを強調する作用が生じ、指定領域Ｒ１について、通常時に生成されたデプスマップに対して深度の分布が大きく修正されたデプスマップが得られる。この修正されたデプスマップに基づいて合成画像を修正することで、欠けていたウサギの右耳のエッジ部分が強調・補完され、図１４（２）に示すように、指定領域Ｒ１においてウサギの人形の右耳の形状が適切に修正された修正強調画像が表示画面に表示される。
【０２２９】
２−１−３．作用効果
第１実施例によれば、スマートフォン１において、エッジ検出部１０７は、複数の入力画像から特徴としてエッジを検出し、検出されたエッジの強度を特徴量として検出する。そして、深度推定部１１１は、エッジ検出手段１０７により検出されたエッジの強度を用いて、対象画素について、複数の入力画像のうちの何れの入力画像で合焦しているかを示す情報である深度を推定する。そして、デプスマップ生成部１１３は、深度推定部１１１の推定結果に基づいてデプスマップを生成する。
【０２３０】
より具体的には、入力画像縮小部１０１が、複数の入力画像をそれぞれ縮小し、縮小した入力画像からエッジを検出する。そして、検出されたエッジの強度を用いた適切解演算処理を行って、対象画素について深度を推定し、その推定結果に基づいてデプスマップを生成する。
【０２３１】
深度の推定では、エッジ検出部１０７の検出結果として得られる複数の入力画像それぞれに対応するエッジ検出画像のエッジ強度に基づく所定の適切解演算処理を行って深度を推定する。適切解演算処理では、スコア値演算処理を行う。このスコア値演算処理では、対象画素について、エッジ強度を用いてコスト値が算出されてスコア値に加算され、当該対象画素の近傍画素について選択する入力画像を変化させる場合は、ペナルティ値がスコア値から減算される。つまり、対象画素についてはなるべく強いエッジ強度の入力画像を選択しつつ、近傍画素ではできるだけ焦点の近い入力画像が選択されるようにすべく、抑止がかかるようになっている。このようなスコア値演算処理を行い、スコア値が所定の高値条件を満たす入力画像を合焦している入力画像と判定することで、深度を正しく推定することが可能となる。
【０２３２】
デプスマップは、各座標の画素について、いずれの入力画像で合焦しているか（すなわち深度）を特定可能とする情報であると共に、各入力画像について合焦している画素の座標（すなわち合焦している領域）を特定可能とする情報である。本実施形態では、このようにして生成したデプスマップと複数の入力画像とを用いて全焦点画像を生成し、表示部３０に表示させる。
【０２３３】
表示部３０に表示された全焦点画像は、ユーザー操作に従って強調画像の生成に用いられる。具体的には、タッチパネル２１に対するユーサーのタップ操作やドラッグ操作に応じて一の深度を選択する。そして、デプスマップに基づいて選択した深度の画素を特定し、強調画像を生成する。具体的には、全焦点画像に対して所定の暈し度合で暈し処理を行い、その処理結果の画像に、特定された画素の対応する深度の入力画像の画素値を合成した強調画像を生成して、表示部３０に表示する。これにより、ユーザーにより指定された部分に焦点の合った強調画像を生成して、ユーザーに閲覧させることが可能となる。
【０２３４】
また、強調画像は、ユーザー操作に従って修正される。具体的には、深度推定部１１１は、ユーザー操作が検知された場合に、ユーザーにより指定された指定領域に含まれる画素について深度を再推定する。そして、デプスマップ生成部１１３は、深度の再推定の結果に基づいてデプスマップを再生成し、この再生成したデプスマップに基づいて修正強調画像を生成する。これにより、強調画像中のユーザーにより指定された部分を修正して、ユーザーの要求に応じた修正強調画像を提供することが可能となる。
【０２３５】
２−２．第２実施例
第１実施例は、焦点距離を変えて撮像された複数の入力画像を縮小し、その縮小した入力画像に対して深度推定処理を行って縮小デプスマップを生成した。第２実施例は、複数の入力画像を縮小せずにそのままの大きさとし、この複数の入力画像に対して第１実施例と同様の画像処理を行って、デプスマップを生成する実施例である。
【０２３６】
図１５は、処理部１０が図４及び図５の画像処理に代えて実行する第２画像処理のうち、画像処理の図４に相当する部分を示したフローチャートである。なお、画像処理と同一のステップについては同一の符号を付している。
【０２３７】
最初に、処理部１０は、ユーザーにより入力部２０を介して選択されたモードを判定する（ステップＡ１）。選択されたモードが「撮影モード」である場合は、処理部１０は、ユーザーのシャッター操作に従って、同一シーンについて焦点距離を変えて複数枚の画像の撮像を撮像部５０に行わせるように制御する（ステップＡ３）。複数の入力画像は画像データセット８３に記憶される。
【０２３８】
その後、コントラスト補正部１０５は、画像データセット８３に記憶された深度の異なる複数の入力画像それぞれに対して位置合わせ処理（ステップＡ７）及びコントラスト補正処理を行う（ステップＡ９）。そして、エッジ検出部１０７が、コントラスト補正処理で補正された複数の入力画像それぞれに対してエッジ検出処理を行う（ステップＡ１１）。
【０２３９】
その後、焦点分離判定部１０９が、エッジ検出処理で得られたエッジ画像それぞれに対して焦点分離判定処理を行う（ステップＡ１３）。そして、深度推定部１１１が、焦点分離判定部１０９によって焦点が適切に分離されていると判定したエッジ画像を用いて深度推定処理を行う（ステップＡ１５）。
【０２４０】
その後、デプスマップ生成部１１３が、デプスマップ生成処理を行う（ステップＦ１７）。具体的には、深度推定処理の結果に基づいて、入力画像を構成する各画素について合焦していると推定された深度に応じたビット値を割り当てたマップを生成し、これをデプスマップとする。なお、生成するデプスマップは、深度推定処理で用いた入力画像の数に応じてビット数を設定すればよい。例えば、入力画像が３〜４枚であれば２ビット、５〜８枚であれば３ビットでデプスマップを表現すればよい。
【０２４１】
その後、全焦点画像生成部１１９が、全焦点画像生成処理を行う（ステップＦ１９）。具体的には、デプスマップ生成処理で得られたデプスマップに基づいて、複数の入力画像の中から選択すべき画素値を抽出し、全ての画素において合焦度が高い入力画像の画素値である構成される全焦点画像を生成する。生成された全焦点画像は、記憶部８０の画像データセット８３に複数の入力画像と対応付けて記憶される。
【０２４２】
その後、デプスマップ縮小部１２１が、デプスマップ縮小処理を行う（ステップＦ２１）。具体的には、ステップＦ１７で生成されたデプスマップを所定の縮小方法を用いて縮小する。この場合、デプスマップを元の大きさに復元したときになるべく元のデプスマップの画像情報が失われないように、例えば縦横を１／２ｎ（ｎは１以上の整数）に縮小する。入力画像の縮小は、ダウンサンプリング等の公知の手法によって実現することができる。生成された縮小デプスマップは、記憶部８０の画像データセット８３に複数の入力画像及び全焦点画像と対応付けて記憶される。
【０２４３】
３．第３実施例
第３実施例は、上記の第１実施例及び第２実施例で説明した手法とは異なる手法でデプスマップを生成する実施例である。本実施例では、視差が生ずるようにカメラの位置を変化させて異なる視点で撮像された複数の撮影画像を用いてデプスマップを生成する。この視差が生ずるようにカメラの位置を変化させて異なる視点で画像を撮像する方式を「視差方式」と称して説明する。
【０２４４】
３−１．デプスマップの生成の流れ
図１９は、第３実施例において、処理部１０が、図４及び図５の画像処理に代えて実行する第３の画像処理のうち、図４に相当する部分を抜き出したフローチャートである。なお、画像処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
【０２４５】
ステップＡ１においてモードが撮影モードであると判定したならば（ステップＡ１；撮影モード）、処理部１０は、カメラの位置を変えて異なる視点での複数枚の画像を撮像部５０に撮像させるように制御する（ステップＪ３）。本実施例の手法では、デプスマップを生成するために、目的の被写体を撮像した撮影画像に視差が生じていることが必要となる。そこで、ユーザーに対して、カメラの位置を変えて、複数の視点から目的の被写体を撮影することを促す報知を行うようにすると好適である。
【０２４６】
次いで、処理部１０は、最初に撮像された撮影画像を基準入力画像として入力する（ステップＪ５）。そして、処理部１０は、当該基準入力画像について複数の特徴点を検出する特徴点検出処理を行う（ステップＪ７）。特徴点の検出方法としては種々の手法を適用可能であるが、例えば、Ｈａｒｒｉｓ、Ｓｔｅｐｈｅｎｓ、Ｐｌｅｓｓｅｙのコーナー検出アルゴリズム等を用いた手法や、入力画像に対してアフィン変換を施してＳＩＦＴ特徴を検出する手法といった公知の手法を適用することができる。
【０２４７】
図２０（１）は、基準入力画像について特徴点を検出した結果を示す図である。
この基準入力画像は、テーブルに被写体とする箱を置いて、この箱をカメラで正面視点から撮像した撮影画像であり、画像中に示される多数の矩形のマーカが、特徴点検出処理を行うことで検出された特徴点を示している。これを見ると、基準入力画像中から多数の特徴点が検出されていることがわかる。
【０２４８】
次いで、処理部１０は、次の撮影画像を入力画像として入力する（ステップＪ９）。そして、処理部１０は、特徴点追跡処理を行う（ステップＪ１１）。特徴点の追跡は、例えば、多重解像度解析を用いた手法を適用することができる。具体的には、基準入力画像に対して作成した多重解像度画像と、当該入力画像に対して作成した多重解像度画像とを用いて、例えば、粗い解像度から順番に同じ解像度間で特徴点の追跡処理を行う。そして、入力画像を複数のブロックに分割したブロック単位で特徴点の移動量を伝搬させることで、より安定して特徴点を追跡する。この際、基準入力画像において検出された各特徴点が、当該入力画像において、どの方向にどの程度移動したか、つまり特徴点の移動方向及び移動量を算出する。
【０２４９】
図２０（２）は、入力画像について特徴点を検出した結果を示す図である。
この入力画像は、図２０（１）と同様に、テーブルに置かれた被写体を左視点から撮像した撮影画像である。この入力画像に対して特徴点の追跡を行った結果が図２０（３）である。図２０（３）において、各線の始点と終点が各画像における特徴点の位置を示し、線の色は各特徴点の移動方向を示し、線の長さは各特徴点の移動量を示す。この図を見ると、異なる視点で撮像した撮影画像について対応する各特徴点が移動している様子が分かる。
【０２５０】
次いで、処理部１０は、当該入力画像を基点入力画像（キーフレーム）として抽出するか否かを判定する（ステップＪ１３）。基点入力画像とは、特徴点の追跡に成功した画像のことであり、例えば、当該入力画像において特徴点の移動量を伝搬させた結果、特徴点の総体的な移動量が、所定の閾値である第１の閾値以上（又は第１の閾値超）である場合に、当該入力画像を基点入力画像として抽出する。
【０２５１】
当該入力画像を基点入力画像として抽出すると判定したならば（ステップＪ１３；Ｙｅｓ）、処理部１０は、当該基点入力画像における特徴点の座標値を記憶部８０に記憶させる（ステップＪ１５）。また、当該入力画像を基点入力画像として抽出しないと判定したならば（ステップＪ１３；Ｎｏ）、処理部１０は、ステップＪ１７へと処理を移す。
【０２５２】
次いで、処理部１０は、基点入力画像の抽出を終了するか否かを判定する（ステップＪ１７）。例えば、ステップＪ１３において、特徴点の総体的な移動量が、第１の閾値よりも大きい閾値である第２の閾値以上（又は第２の閾値超）となった場合に、基点入力画像の抽出を終了すると判定する。つまり、特徴点の総体的な移動量がある程度大きくなった時点で、基点入力画像の抽出を終了する。基点入力画像の抽出を終了しないと判定したならば（ステップＪ１７；Ｎｏ）、処理部１０は、ステップＪ９に処理を戻す。これにより、複数の入力画像が基点入力画像として抽出されることになる。
【０２５３】
基点入力画像の抽出を終了すると判定したならば（ステップＪ１７；Ｙｅｓ）、処理部１０は、基点入力画像についてステップＪ１５で記憶部８０に記憶された特徴点の座標値を用いて、基礎行列（Fundamental Matrix）Ｆを推定する（ステップＪ１９）。基礎行列Ｆは、エピポーラ幾何に基づき、２つの画像における投影点の正規化画像座標の間での関係を定義する基本行列（Essential Matrix）Ｅを画像の座標系に相似変換した行列である。なお、基礎行列Ｆ及び基本行列Ｅそれ自体は公知であるため、行列の要素については説明を省略する。
【０２５４】
基礎行列Ｆは３×３の行列で表され、その要素の数は９個であるが、基礎行列Ｆのフロベニウスノルムを“１”とすることで、実質的な未知数の数は８個となる。従って、最低８組の特徴点の対応点の座標値が得られれば、基礎行列Ｆを求めることができる。そこで、基点入力画像の組合せについて、ステップＪ１５で記憶部８０に記憶された８組以上の特徴点の対応点の座標値を用いて、基礎行列Ｆを推定する。そして、例えば、ＲＡＮＳＡＣ（RANdom Sampling Consensus）のアルゴリズムを用いて、はずれ値を除きつつ、適切な基礎行列Ｆを推定する。また、ＲＡＮＳＡＣを適用した後、一定誤差以内の特徴点の全てをサンプルデータとし、最小二乗法を用いて、より適切な基礎行列Ｆを推定する。
【０２５５】
次いで、処理部１０は、ステップＪ１９で推定した基礎行列Ｆを基本行列Ｅに変換する（ステップＪ２１）。基本行列Ｅは、基礎行列Ｆに対してカメラの内部パラメーターを作用させることで求めることができる。なお、本実施例では、カメラの内部パラメーターは既知であることとする。
【０２５６】
その後、処理部１０は、ステップＪ２１で求めた基本行列Ｅを用いて、カメラ行列を算出する（ステップＪ２３）。カメラ行列は、基点入力画像の視点の相対的な位置関係を表す行列であり、カメラの移動を表す回転行列及び並進移動ベクトルを含む行列である。カメラ行列の算出は、基点入力画像の視点の相対的な位置関係の算出と言える。
【０２５７】
次いで、処理部１０は、バンドル調整処理を行う（ステップＪ２５）。バンドル調整とは、入力画像から、幾何学的な３次元のモデルパラメーターを推定するための手法である。バンドル調整処理では、入力画像間の各特徴点の対応関係に基づいて、各特徴点の３次元座標を算出する。そして、算出した各特徴点の３次元座標を画像面に再投影し、再投影点と特徴点との距離として算出される再投影誤差を反復的に再推定していくことで、より正確な特徴点の３次元座標値を推定する。また、バンドル調整処理では、ステップＪ２３で算出したカメラ行列を構成するパラメーター値を、上記と同様の処理を行って推定することで、カメラ行列を構成するパラメーター値を調整する。
【０２５８】
図２１は、特徴点の３次元座標を推定して、同じ特徴点群を異なる視点から見た場合のサンプル画像である。
図２１（１）は、正面視点から特徴点群を見た場合のサンプル画像を、図２１（２）は、上視点から特徴点群を見た場合のサンプル画像を、図２１（３）は、左視点から特徴点群を見た場合のサンプル画像をそれぞれ示している。これらのサンプル画像を見ると、特徴点の３次元座標が正しく推定され、その特徴点群がそれぞれの視点に応じて異なる分布を示していることがわかる。
【０２５９】
その後、処理部１０は、ステップＪ２５のバンドル調整処理の結果を用いて、デプスマップを生成する（ステップＪ２７）。デプスマップを生成するためには、各画素それぞれについて、３次元空間における画素の位置座標を算出することが必要となる。そこで、対象とする画素（以下、「対象画素」という。）について、その対象画素の３次元空間における位置（以下、「対象画素位置」という。）を基点入力画像上に投影した位置（以下、「投影画素位置」という。）と、基点入力画像を撮像した際のカメラ位置とを用いて、対象画素位置を推定する。
【０２６０】
最初に、バンドル調整処理でパラメーター値を調整したカメラ行列と、記憶部８０に予め記憶されているカメラの初期位置とを用いて、各基点入力画像が撮像されたカメラ位置を推定する。初期位置は、任意の位置でよく、予め定められた３次元座標値が初期位置の座標値として記憶部８０に記憶されている。この初期位置と、カメラ行列（回転行列及び並進移動ベクトル）とを用いて、初期位置を基準として各基点入力画像が撮像されたカメラ位置を算出する。
【０２６１】
なお、初期位置は、予め所定位置を記憶部８０に記憶させておくことが可能であるが、このようにするのではなく、ＧＰＳ（Global Positioning System）等の測位用信号を利用して測位演算を行って算出した位置を初期位置として、上記の演算を行うこととしてもよい。
【０２６２】
また、基点入力画像の組合せについて、画素単位で対応関係を算出する。具体的には、基本行列Ｅを用いて、基点入力画像間で、画像上のあるライン上のみについて対応点の探索を行う。より具体的には、基点入力画像間で、基本的に色が近く、且つ、近傍画素の対応関係と近くなるような対象画素の対応点の位置を、準大域最適化の手法を用いて算出する。
【０２６３】
このようにして基点入力画像の組合せについて算出した対象画素の対応点の位置を投影画素位置とする。そして、基点入力画像の組合せについて、算出した２つのカメラ位置と、算出した２つの投影画素位置とを用いて対象画素位置を推定し、視点から対象画素位置までの距離を算出する。全ての画素を対象画素として上記の処理を行い、各画素それぞれについて算出した距離を深度とするデプスマップを生成する。
【０２６４】
図３１は、デプスマップの生成の原理の説明図である。
図３１には、基点入力画像Ａと基点入力画像Ｂとの組合せについて、それぞれの基点入力画像を撮像した際のカメラの位置をカメラ位置Ａ及びカメラ位置Ｂとして、それぞれ黒丸で示している。また、１つの画素を対象画素とし、対象画素位置を基点入力画像Ａに投影した位置を投影画素位置Ａとし、対象画素位置を基点入力画像Ｂに投影した位置を投影画素位置Ｂとして、それぞれ白丸で示している。
【０２６５】
図３１において、カメラ位置Ａ及び投影画素位置Ａを結ぶ直線と、カメラ位置Ｂ及び投影画素位置Ｂを結ぶ直線との交点を、対象画素位置として推定する。対象画素位置が求まれば、視点から対象画素位置までの距離が算出できるため、対象画素についての深度が求まる。全ての画素を対象画素として、上記のように対象画素位置を算出し、視点から対象画素位置までの距離を算出し、これを深度とするデプスマップを生成する。
【０２６６】
上記のようにしてデプスマップを生成した後の後段の処理は、前述した第１実施例及び第２実施例と同様である。
【０２６７】
３−２．ガイド表示
上記のデプスマップの生成方法では、視差を得るために、ユーザーがカメラを移動させて複数の視点から画像を撮像させることが必要となる。このとき、単にカメラを移動させることをユーザーに示唆するのみでは、どのようにカメラを動かせばよいかユーザーが分からない場合が多く、不便であるという問題がある。例えば、カメラを一箇所で回転させるだけだと、視差が発生せず、距離情報を得ることができないため、このような操作をしないようにユーザーに促すことが必要となる。そこで、次のような処理を行うようにしてもよい。
【０２６８】
処理部１０は、１枚目の撮影画像の撮像後に、カメラの表示画面において目的の被写体が映し出された部分をユーザーにタップさせるなどして被写体を指定させる。そして、処理部１０は、人検出や物検出を行って被写体領域を検出し、検出した被写体領域を示唆する。例えば、被写体領域を含む当該被写体領域よりも僅かに大きな図形（以下、「被写体指定図形」という。）を１枚目の撮影画像上に表示させる。例えば、点線や破線の矩形の図形を被写体指定図形として表示させればよい。
【０２６９】
次いで、表示制御部１２７は、ユーザーが自装置（カメラ）を移動させる方向（右方向、左方向、上方向、下方向のいずれに移動させるか）や、ユーザーが自装置を移動させる距離（自装置をどの程度移動させればよいか）をガイドするためのガイド表示を表示部３０に表示させる。具体的には、どちらの方向に自装置を移動させればよいかを示すガイド用の矢印（以下、「ガイド矢印」という。）や、目的の撮影位置にユーザーを誘導するためのガイド用の図形（以下、「ガイド図形」という。）を、ガイド表示として表示部３０に表示させる。例えば、ガイド図形は、確認画面と共通の形状及びサイズであり、ユーザーはプレピュー画面とガイド図形とが合致するようにカメラを移動させる操作が必要であることを把握することができる。
【０２７０】
ここで、確認画面とは、カメラを撮影モードで起動した際に、撮像部５０（撮像デバイス）から出力される信号に基づいて表示部３０に写し出される画面のことであり、確認画面の画像は撮像デバイスからの出力信号に応じて更新される。即ち、確認画面には撮像対象の画像が表示され、リアルタイムに更新されている。撮影者は、確認画面を見ることにより、被写体の撮像状態を確認可能であり、撮影を行うに際して、目的の被写体が適切に写し出されているかどうかを確認したり、どの位置やどの角度から撮影を行うかを決定することができる。
【０２７１】
ここで、装置を動かすべき方向は、視差を生じさせる方向であればよく、例えば、垂直方向あるいは水平方向のいずれであってもよい。ただし、カメラは重力方向を基準として上方向に動かすことが好ましい。これは、撮影対象である被写体が何らかの物体(地面・床・机等)の上に置かれている場合が多いことによる。具体的には、水平方向または下方向にカメラを移動させた場合は、移動前にはカメラの視界に存在していた移動方向とは逆方向に位置する被写体部分の情報(被写体の側面または上面の情報)が、移動後には被写体自身が陰となりカメラの視界から消えてしまう、いわゆるオクルージョンが発生する。結果、デプスマップ生成において必要となる対応点が移動後の画像から消えてしまう。反面、上方向に移動させた場合には、被写体が地面・床・机等の上に置かれていることから、移動前のカメラの視界には被写体の底面の情報は少なく、カメラの移動後であっても陰となる領域は小さい。従って、オクルージョンの発生を抑え、被写体自身の陰になることにより多く対応点を見失ってしまうことがない。なお、処理部１０における上方向の検出は、慣性センサ７５による重力方向の検出に基づいて可能であるため、カメラの撮影角度（確認画面の表示方向）によらず、上方向への移動をガイドすることができる。
【０２７２】
１枚目の撮影画像記憶後に、処理部１０は、検出された被写体領域をトラッキングして被写体指定図形を当該被写体領域に追随させるとともに、自装置の移動に応じてガイド表示の表示を変化させる。ここで自装置の移動に応じて、当初の撮影位置からの自装置の移動距離及び移動方向が変化する。そこで、自装置の移動諸量として、例えば自装置の移動距離及び移動方向を検出し、その検出結果に基づいて、表示部３０のガイド表示の表示を変化させる。
【０２７３】
慣性センサ７５には、３軸の加速度センサ及び３軸のジャイロセンサが含まれ、センサを基準とするローカル座標系における３軸の加速度ベクトル及び３軸の角速度ベクトルが処理部１０に出力される。処理部１０は、慣性センサ７５から出力される３軸の角速度ベクトルを積分してカメラの姿勢を算出し、算出した姿勢に基づいて、ローカル座標系における３軸の加速度ベクトルを、例えば地球を基準とする絶対座標系における３軸の加速度ベクトルに座標変換する。そして、処理部１０は、座標変換した３軸の加速度ベクトルを積分して３軸の速度ベクトルを算出する。処理部１０は、この処理を所定の時間間隔で行い、当該時間間隔において算出された３軸の速度ベクトルに基づいて、各時間間隔における自装置の移動距離及び移動方向を算出する。
【０２７４】
処理部１０は、算出したカメラの移動方向に基づいて、表示画面のガイド図形をどちらの方向に移動させるか（ガイド図形の移動方向）を判定する。また、処理部１０は、算出したカメラの移動距離に基づいて、表示画面のガイド図形をどれだけ移動させるか（ガイド図形の移動量）を判定する。そして、判定した移動方向及び移動量に基づいてガイド図形の表示を変化させる。
【０２７５】
ここで、被写体上の特定の特徴点を対象とした場合、その特徴点について一定の視差を生じさせるために必要な移動距離は、被写体までの距離（例えば焦点距離）に応じて長くなる。そのため、被写体までの距離に応じてガイド図形の更新条件を異ならせるようにするとよい。例えば、焦点距離が所定距離以上である場合における一定距離Ｘの移動に基づくガイド図形の画面上での移動幅Ａと、焦点距離が所定距離未満である場合における一定距離Ｘの移動に基づくガイド図形の画面上での移動幅Ｂとの関係において、Ａ＜Ｂとなるように、ガイド図形の移動幅を異ならせるようにするとよい。
【０２７６】
図２２は、この場合におけるガイド表示の一例を示す図である。
図２２には、画像処理装置を備えた電子機器の一例であるスマートフォン１の表示画面を示している。外枠で囲まれる領域全体がスマートフォン１の表示画面を表しており、表示画面の中央部に、前述した確認画面が表示されている。
【０２７７】
図２２（１）は、正面視点から被写体が撮像された撮影画像を示している。撮像部５０による撮像が終了して１枚目の撮影画像が保存されると、確認画面が再び表示される。この確認画面においてユーザーが被写体である子供の表示部分をタップすると、図２２（１）に示すように、２人の子供を囲う破線の矩形の図形の被写体指定図形が表示される。
【０２７８】
続いて、ガイド表示として、例えば水平方向（ここでは右方向）にカメラを移動させることを示す矩形の図形が表示された状態が図２２（２）である。この図を見ると、ユーザーから見て右方向にカメラを移動させることを示す右方向のガイド矢印が表示されている。また、確認画面と同じサイズである矩形のガイド図形が、確認画面の右枠外にはみ出す形で表示されている。ユーザーは、このガイド矢印及びガイド図形に従って、被写体が確認画面の中央に維持されるように注意しながら、カメラを持って右方向に移動する。
【０２７９】
その後、右方向に移動すると、上記のように処理部１０によってガイド表示の移動方向及び移動量が判定され、スマートフォン１の移動方向とは反対方向に、スマートフォン１の移動距離に応じた移動量分、ガイド図形の表示位置が変更される。具体的には、図２２（３）に示すように、ユーザーが右方向に移動するのに伴い、表示中のガイド図形が画面左方向に移動していく。
【０２８０】
最終的に、図２２（４）に示すように、ユーザーの移動によってガイド図形が確認画面と合致すると（ガイド画像の輪郭が確認画面の輪郭と合致したと判定されると）、処理部１０はユーザーの移動が完了したと認識し、その位置で自動的に撮像部５０によって撮像が行われ、１枚目の撮影画像との関係で視差を有する２枚目の撮影画像が取得される。
【０２８１】
なお、図１の慣性センサに含まれる加速度センサ及びジャイロセンサは、加速度センサ及びジャイロセンサがパッケージ化された慣性計測ユニットＩＭＵ（Inertial Measurement Unit）であってもよい。
【０２８２】
また、上記では、慣性センサや慣性計測ユニットによって検出される加速度ベクトルや角速度ベクトルに基づいて自装置の移動諸量を検出したが、この他にも、例えばＧＰＳユニット等の測位用衛星から発信される測位用信号を利用して測位演算を行うユニットを画像処理装置に内蔵し、このセンサの検出結果に基づいて、移動諸量を検出してもよい。ＧＰＳでは、ＧＰＳ衛星から発信されるＧＰＳ衛星信号に基づいて、擬似距離やドップラー周波数を利用した測位演算（擬似距離測位、ドップラー測位）を行って、自装置の位置を算出することができる。この測位演算で求めた測位位置の差分に基づいて自装置の移動速度や移動方向を検出してもよい。また、ＧＰＳでは、ドップラー周波数を利用した速度ベクトル演算を行って、自装置の速度ベクトルを算出することもできる。このようにして算出した速度ベクトルから、自装置の移動距離及び移動方向を検出してもよい。
【０２８３】
また、慣性センサ７５の代わりに、慣性航法演算を行って自立的に移動距離及び移動方向を検出する慣性航法装置ＩＮＳ（Inertial Navigation System）を画像処理装置に備えておき、この慣性航法装置によって画像処理装置の移動距離及び移動方向を検出してもよい。
【０２８４】
また、上記のように、自装置の移動諸量（移動方向や移動距離）を検出し、その検出結果に基づいて、ガイド表示の表示を変化させる他に、例えば、第３の画像処理（図１９参照）のステップＪ１１における特徴点追跡処理で特徴点を追跡した結果に基づいて、ガイド表示の表示を変化させてもよい。つまり、特徴点追跡処理において特徴点を追跡した結果、特徴点がどちらの方向にどれだけ移動したか（特徴点の移動方向及び移動距離）を判定し、その判定結果に基づいて、表示画面のガイド図形をどちらの方向にどれだけ移動させるか（ガイド図形の移動方向及び移動量）を決定して、ガイド図形の表示を変化させてもよい。
【０２８５】
４．第４実施例
４−１．ユーザー操作によるデフォルト合焦位置の設定
上記の実施例では、全焦点画像が生成された後に、強調画像生成モードにおいて実行される強調画像生成処理において、ユーザーが全焦点画像の中から強調させる領域を指定し、その指定領域に含まれる画素が合焦とされた強調画像を生成することとして説明した。しかし、この方法では、ユーザーが所望の画像を生成するために、撮像部５０による撮像後にユーザーがその都度、強調させたい領域を指定することが必要となり、不便であるという問題がある。
【０２８６】
そこで、撮像部５０による撮像前に、ユーザーがデフォルトとする合焦位置（以下、「デフォルト合焦位置」という。）を指定可能としてもよい。具体的には、確認画面において、ユーザーが、表示画面をタップするタップ操作を行うなどして、デフォルト合焦位置を指定することを可能としてもよい。
【０２８７】
図２３は、この場合に、処理部１０が、図４及び図５の画像処理に代えて実行する第４の画像処理のうち、画像処理の図４に対応する部分を抜き出したフローチャートである。なお、画像処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
【０２８８】
処理部１０は、モードが撮影モードであると判定したならば（ステップＡ１）、タップ操作を検知したか否かを判定する（ステップＧ３）。タップ操作を検知したと判定したならば（ステップＧ３；Ｙｅｓ）、処理部１０は、指定領域に基づいて代表画素を決定する（ステップＧ５）。指定領域は、ユーザーによりタップされた領域であり、処理部１０は、上記の実施例と同様に、この指定領域の中から一の画素を代表画素として選択する。この場合における代表画素の選択方法としては、例えば、指定領域の中心位置に最も近い画素や、指定領域に含まれる画素の画素値の平均値に画素値が最も近い画素を代表画素として選択することができる。そして、処理部１０は、決定した代表画素を記憶部８０に記憶させる（ステップＧ７）。
【０２８９】
次いで、処理部１０は、撮像条件が成立したか否かを判定する（ステップＧ９）。具体的には、（１）ステップＧ３におけるタップ操作を検知したこと、（２）ステップＧ３におけるタップ操作を検知した後、撮影ボタンの押下操作を検知したこと、（３）ステップＧ３におけるタップ操作を検知した後、そのタップ位置から指を離さずに一定時間（例えば５秒）以上の時間が経過したこと（長押し操作の検知）、（４）ステップＧ３におけるタップ操作を検知した後、同じ位置を再度タップする操作を検知したこと（ダブルタップ操作の検知）等の条件を撮像条件とし、これらの撮像条件のうちの何れかの条件が成立した場合に、撮像部５０に撮像を実行させる。
【０２９０】
撮像条件が成立しなかったと判定したならば（ステップＧ９；Ｎｏ）、処理部１０は、ステップＧ３に処理を戻す。撮像条件が成立したと判定したならば（ステップＧ９；Ｙｅｓ）、処理部１０は、撮像部５０に焦点距離を変えて複数枚の画像を撮像させる撮像処理を行う（ステップＧ１１）。そして、処理部１０は、ステップＡ５へと処理を移す。
【０２９１】
図２４は、第４の画像処理において、処理部１０が、図８の強調画像生成処理に代えて実行する第３の強調画像生成処理の流れの一例を示すフローチャートである。なお、強調画像生成処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
【０２９２】
処理部１０は、ステップＧ７において記憶させた代表画素を記憶部８０から読み出す（ステップＪ１）。そして、処理部１０は、記憶部８０に記憶されているデプスマップに基づいて、読み出した代表画素の深度を判定する（ステップＪ３）。そして、処理部１０は、ステップＤ７へと処理を移す。
【０２９３】
なお、上記の第４の画像処理において、ユーザーが、デフォルト合焦位置を指定する場合において、カーソル等を用いて画素単位での合焦位置の指定を行うことを可能としてもよい。また、ユーザーが指で被写体全体を囲うような操作を行うことで、被写体単位での合焦位置の指定を可能としてもよい。
【０２９４】
また、ステップＧ５において代表画素を決定する処理を行うのではなく、例えば、最初にユーザー操作（例えばタッチパネルに対するタップ操作）に従って指定領域を決定してその後に撮像部５０に撮像を行わせ、撮像後に、最初に決定しておいた指定領域に含まれる画素(及び対応する深度)において、最も多く含まれる深度の画素を特定し、当該深度について特定した画素を合焦とする強調画像を生成することとしてもよい。つまり、代表画素を決定せずに、ユーザーによって指定された指定領域から合焦させる深度を決定することとしてもよい。
【０２９５】
また、ステップＧ１１における撮像処理は、第３実施例で説明した第３の画像処理のステップＪ３における撮像と同様に、ユーザーにカメラの位置を変化させて、複数の視点から目的の被写体を撮像部５０に撮像させる処理としてもよい。
【０２９６】
４−２．顔検出／人検出によるデフォルト合焦位置の設定
上記の処理において、デフォルト合焦位置を設定する際に、確認画面において、被写体として写し出されている人物やその人物の顔を検出し、検出した人物や顔をデフォルトの合焦位置として、上記と同様の処理を行って、強調画像を生成するようにしてもよい。また、画像の撮像後に入力画像を表示する入力画像表示画面において、被写体として写し出されている人物やその人物の顔を検出し、検出した人物や顔をデフォルトの合焦位置として、上記と同様の処理を行って、強調画像を生成するようにしてもよい。
【０２９７】
５．第５実施例
５−１．図形による領域の指定
上記の実施例では、目的の被写体にピントを合わせようとした場合に、その目的の被写体と同程度の奥行き距離に異なる被写体が存在すると、当該被写体に対してもピントの合った画像が生成されてしまう。従って、目的の被写体と同程度の奥行き距離にユーザーが意図しない被写体の写り込みが発生した場合、目的の被写体だけにピントを合わせ、意図せずに写り込んだ被写体について暈し処理によって暈すということができなくなるという問題がある。
【０２９８】
そこで、例えば、撮像後の入力画像をプレビュー表示した表示画面において、ユーザーによりタップされた点を中心とする円形や楕円形、矩形の図形（以下、「領域指定用図形」という。）を表示し、この領域指定用図形の大きさを動的に変化させることで、暈し処理によって暈されることを希望しない領域をユーザーが指定可能としてもよい。
【０２９９】
図２５は、この場合における領域指定用図形の一例を示す図である。
図２５には、入力画像として、中央部に目的の被写体であるマグカップが表示された画像を示している。この入力画像には、画像の右境界部に、ユーザーが意図しない被写体である紙コップの一部が写し出されている。ユーザーは、目的の被写体であるマグカップの画像部分を強調させ、意図しない被写体である紙コップの画像部分を暈すために、領域指定用図形を操作してマグカップの画像部分を指定する。
【０３００】
具体的には、図２５（１）に示すように、ユーザーにより目的の被写体であるマグカップの画像部分がタップされたことを検知すると、表示制御部１２７は、例えば楕円形の領域指定用図形をタップ位置に表示させる。この場合に表示させる領域指定用図形のサイズは、予め規定されたサイズとすればよく、図２５（１）では、マグカップの中央部に比較的小さいサイズの領域指定用図形が表示された状態を示している。領域指定用図形は、２本の指を用いたピンチ操作によってそのサイズを変更可能とし、ピンチアウト操作によって領域指定用図形のサイズを拡大させ、ピンチイン操作によって領域指定用図形のサイズを縮小させる。
【０３０１】
図２５（２）に示すように、ユーザーが領域指定用図形に対して２本の指でピンチアウト操作を行うと、領域指定用図形のサイズが拡大する。そして、ユーザーは、領域指定用図形によってマグカップの全体が覆われるように、ピンチアウト操作によって領域指定用図形のサイズや形状を調整する。そして、ユーザーは、確定ボタンを押下するなどの確定操作を行って、強調表示させる領域を確定させる。
【０３０２】
この場合、処理部１０は、強調画像生成処理において、確定操作を検知した後、領域指定用図形で囲まれた領域を指定領域とする。そして、当該指定領域について、例えば、当該指定領域に含まれる各画素の深度のうち、最も多くの画素が属する深度を特定し、デプスマップ上において当該特定した深度（又は当該特定した深度と所定範囲内の深度）に属する画素については合焦とし、他の画素については暈し処理を行って非合焦とする。また、指定領域に含まれない領域についても、同様に暈し処理を行って非合焦とする。この場合の暈し処理では、例えば、暈し処理を施す領域に被写体が写り込んでいる場合には、当該被写体とその周囲の背景領域の奥行き距離がほぼ等しくなるようにデプスマップの深度を書き換え、書き換えたデプスマップに基づいて、暈し処理を施すなどすればよい。
【０３０３】
なお、暈し処理を行う領域について、上記の合焦領域の深度からの深度の差や、ユーザーによりタップされた位置からの距離に応じて、暈し度合を変更してもよい。例えば、指定領域に含まれない領域のうち、合焦領域から深度の差が大きい領域ほど、暈し度合を高くして暈し処理を行うようにしてもよい。また、指定領域に含まれない領域のうち、タップ位置からの距離が離れた領域ほど、暈し度合を高くして暈し処理を行うようにしてもよい。この場合、合焦領域からの深度が等しい領域や、タップ位置の中心位置からの距離が等しい領域については、暈し度合を同じ値として、暈し処理を行うようにしてもよい。
【０３０４】
また、領域指定用図形の操作方法は上記に限らず、例えば、１回目のタップ操作で領域指定用図形を表示させ、表示させた領域指定用図形をタップする操作を繰り返すことで、段階的に領域指定用図形の大きさが拡大されるようにしてもよい。また、タップ操作を行ってから指を離さずにタップ操作が継続して行われた時間に基づき、その時間が長くなるほど、領域指定用図形の大きさが拡大されるようにしてもよい。
【０３０５】
また、ユーザーによるピンチ操作（ピンチアウト操作／ピンチイン操作）によって、領域指定用図形のサイズを拡大／縮小する他に、例えば、ユーザーによる指定用図形の外縁部分をタップし、外縁を外側に広げたり、内側に縮めるような操作を行うことで、領域指定用図形の形状を変化させることを可能としてもよい。
【０３０６】
また、領域指定用図形の中心からの距離や面積に応じて、暈し処理における暈し度合を変更してもよい。具体的には、領域指定用図形の中心からの距離が長くなるほど、又は、領域指定用図形の面積が大きくなるほど、暈し度合を大きくしてもよい。
【０３０７】
また、上記のように、領域指定用図形を用いて強調したい領域を指定するのではなく、図示は省略するが、ユーザーがドラッグ操作＆ドロップ操作によって所望の領域を塗りつぶす操作を行って、暈したくない領域を指定するようにしてもよい。
【０３０８】
５−２．ユーザー操作による暈し度合の変更
また、上記のように強調したい領域以外の領域に対して暈し処理を施す場合において、対象とする領域を暈す度合がユーザー操作によって調整可能としてもよい。具体的には、例えば、表示画面に対するピンチ操作に応じて、暈し処理における暈し度合を変更して、暈し処理を施すようにしてもよい。
【０３０９】
具体的には、例えば、全焦点画像が表示された表示画面において、ユーザーに強調表示させる領域をピンチ操作によって指定させる。この場合、例えば、ピンチ操作によって接触した２本の指の中心位置を算出し、算出した中心位置の画素とデプスマップ上において同じ深度になる画素でなる領域を合焦対象領域として設定し、合焦対象領域以外の領域には暈し処理の対象とする暈し対象領域として設定して、当該暈し対象領域に対して暈し処理を行うようにしてもよい。
【０３１０】
この場合、ユーザーのピンチ操作に応じて、暈し処理における暈し度合を変更して、暈し対象領域に対する暈し処理を行う。具体的には、ピンチアウト操作がなされた場合は、暈し度合を段階的に高くして、暈し対象領域に対する暈し処理を行う。また、ピンチイン操作がなされた場合には、そのピンチイン操作に応じて、暈し度合を段階的に低くして、暈し対象領域に対する暈し処理を行う。
【０３１１】
図２６は、この場合における暈し処理の一例を示す図である。
図２６には、ミニカーやぬいぐるみを含む複数の被写体が写し出された全焦点画像を示している。この画像において、ミニカーを目的の被写体とし、それ以外の被写体や背景を暈す場合を考える。この場合、図２６（１）に示すように、ユーザーがミニカーの画像領域をタップし、２本の指でピンチアウト操作を行うと、処理部１０は、２本の指の間隔（２本の指が接触している２点の座標間隔）の広がりに応じて、暈し度合を段階的に高くして、ミニカーの画像部分以外の画像領域に対する暈し処理を行う。その結果、図２６（２）に示すように、ミニカーの画像領域が明瞭に表示され、それ以外の画像領域が暈された画像が生成される。
【０３１２】
一方、図２６（２）において、ユーザーがミニカーの画像領域に対して２本の指でピンチイン操作を行うと、処理部１０は、２本の指の間隔（２本の指が接触している２点の座標間隔）の狭まりに応じて、暈し度合を段階的に低くして、ミニカー以外の画像領域に対する暈し処理を行う。その結果、徐々に図２６（１）の表示状態に戻っていく。
【０３１３】
また、上記の暈し度合を変更する場合において、デプスマップ上で同じ深度にある画素でなる領域単位で、暈し度合を個別に設定して、暈し処理を行うようにしてもよい。具体的には、ピンチ操作で画面に接触している２本の指の中心位置の深度を基準深度とし、基準深度にある画素でなる領域については、所定の基準暈し度合で暈し処理を行うか、又は、当該領域については暈し処理を行わないようにする。また、基準深度から深度が近い順に領域を設定し、基準深度から離れた深度の画素でなる領域ほど、上記の基準暈し度合から暈し度合を段階的に高くするなどしてもよい。
【０３１４】
例えば、ピンチアウト操作によって暈し度合を高くする場合において、深度が同じ画素でなる領域を、焦点距離が近い順に、領域Ａ〜領域Ｄとする。この場合、ピンチ操作で画面に接触している２本の指の中心位置の画素が領域Ｂに含まれる場合、領域Ｂについては暈し度合を２０％に設定し、領域Ａ及び領域Ｃについては暈し度合を５０％に設定し、領域Ｄについては暈し度合を８０％に設定して、各領域それぞれについて、当該領域に含まれる全画素について、対応する暈し度合で暈し処理を行うようにしてもよい。
【０３１５】
これは、換言すると、ピンチアウト操作によって暈し度合を弱める効果を付しているとも言える。例えば、デフォルトとして各領域の暈し度合を１００％に設定しておく場合、上記の場合、領域Ｂについては暈し度合を１００％→２０％とすることで暈しの程度を大きく弱め、領域Ａ及び領域Ｃについては暈し度合を１００％→５０％とすることで暈しの程度を半分に弱め、領域Ｄについては暈し度合を１００％→８０％とすることで暈しの程度を少しだけ弱めることになるためである。なお、この場合において、領域Ｄについては暈し度合を下げずに１００％とすることで、生成される強調画像にコントラストが出るようにしてもよい。
【０３１６】
なお、上記のように、目的の被写体が写し出された領域においてピンチイン操作が行われた場合に暈し度合を段階的に低くして暈し処理を行うのに限らず、画像中の任意の領域においてピンチイン操作がなされた場合に、暈し度合を段階的に低くして暈し処理を行うようにしてもよい。また、画像中の任意の領域においてピンチイン操作ではなくピンチアウト操作がなされた場合に、暈し度合を段階的に低くして暈し処理を行うようにしてもよい。
【０３１７】
６．第６実施例
任意の焦点距離範囲について合焦として画像を自由に生成可能とするために、出力画像の生成時又は出力画像の生成後の編集画面において、焦点距離範囲をユーザーが指定するための焦点距離スライダーを出力画像又は出力画像の外側に表示させて、ユーザーが任意の焦点距離範囲を指定可能としてもよい。なお、本実施例において、焦点距離と深度とは一対一に対応している。
【０３１８】
図２７は、焦点距離スライダーの一例を示す図である。
図２７には、ウサギの人形が中心部に前景として、木々や建物が背景として表示された出力画像の一例を示している。また、出力画像の左下部には、横方向のバーで表される焦点距離スライダーＳ１が表示されている。焦点距離スライダーＳ１は、左側にいくほど焦点距離が近く（ｎｅａｒ）、右側にいくほど焦点距離が遠い（ｆａｒ）ことを意味している。
【０３１９】
焦点距離スライダーＳ１には、ユーザーが焦点距離の下限を指定するための右向きの三角形状の下限指定用アイコンと、ユーザーが焦点距離の上限を指定するための左向きの三角形状の上限指定用アイコンとが焦点距離スライダーＳ１のバー上に表示されており、これらのアイコンをユーザーがドラッグ操作によって左右に移動させることで、ユーザーは任意の焦点距離範囲を指定することが可能に構成されている。
【０３２０】
焦点距離範囲を変化させると、処理部１０は、記憶部８０に記憶されているデプスマップを参照して、指定された焦点距離範囲に対応する深度の画素を特定する。そして、特定した画素については合焦とし、それ以外の画素については非合焦とした画像を生成する。なお、非合焦とする画素については、当該画素の焦点距離が指定された焦点距離範囲から離れるほど、暈し度合を高くして暈し処理を行うなどするようにすると好適である。このようにすることで、指定された焦点距離範囲に含まれない画素でなる領域については、指定された焦点距離範囲から焦点距離が離れるに従って暈しの度合が強くなった、違和感のない自然な画像が生成されることになる。
【０３２１】
図２７（１）に示すように、焦点距離スライダーＳ１の焦点距離範囲を焦点距離が近い方（前景側）に変化させると、前景であるウサギの人形が強調され、背景である木々や建物が暈された画像が生成される。一方、図２７（２）に示すように、焦点距離スライダーＳ１の焦点距離範囲を焦点距離が遠い方（背景側）に変化させると、背景である木々や建物が強調され、前景であるウサギの人形が暈された画像が生成される。
【０３２２】
また、ユーザーのタップ操作を検知した場合に、デプスマップに基づいて、タップ位置の近傍所定範囲に含まれる画素の焦点距離に対応する深度を判定し、判定した深度を焦点距離スライダーＳ１における焦点距離範囲に反映させることとしてもよい。
【０３２３】
例えば、図２７（３）に示すように、ユーザーによって背景である木々の部分がタップされた場合、そのタップ位置を中心とする所定の半径の円に含まれる画素を近傍範囲画素とし、この近傍範囲画素の深度のうちの最小深度及び最大深度を判定する。そして、判定した最小深度及び最大深度に対応させるように、焦点距離スライダーＳ１上の下限指定用アイコン及び上限指定用アイコンの表示位置を自動的に移動させるようにしてもよい。
【０３２４】
また、強調画像生成処理において、ユーザーが画像上の任意の位置をタップしてその位置と同じ焦点距離にある画素を合焦とし、他の焦点距離にある画素を非合焦とした強調画像を生成する際に、どの画素が合焦となるか（又は非合焦となるか）をユーザーに示すべく、タップ位置と同じ焦点距離にある画素を、他の焦点距離にある画素と区別する表示を行うこととしてもよい。
【０３２５】
具体的には、処理部１０は、ユーザーによるタップ位置に含まれる画素を判定する。この場合、例えば、処理部１０は、タップ位置の中心に位置する画素を特定し、これを処理対象画素とする。そして、処理部１０は、デプスマップを参照して、処理対象画素と同じ焦点距離の画素を特定し、これらの画素をフラッシュ表示するなどして、ユーザーが他の画素と区別できるようにする。
【０３２６】
図２８は、この場合における画像の区別表示の一例を示す図であり、ウサギの人形が中心部に前景として、木々や建物が背景として表示された出力画像の一例を示している。
図２８（１）に示すように、ユーザーが前景であるウサギの人形の胴体部分をタップすると、タップ位置に対応する画素が判定され、同じ焦点距離にある画素がフラッシュ表示される。説明の簡明化のため、ウサギの人形を構成する画素の焦点距離が全て同じであるとすると、図２８（１）に示すように、ウサギの人形を構成する画素が区別表示の対象とされ、ウサギの人形の画像部分がフラッシュ表示される。
【０３２７】
また、図２８（２）に示すように、ユーザーが背景である木々の部分をタップすると、タップ位置に対応する画素が判定され、同じ焦点距離にある画素がフラッシュ表示される。説明の簡明化のため、背景である木々や建物を構成する画素の焦点距離が全て同じであるとすると、図２８（２）に示すように、背景である木々を構成する画素が区別表示の対象とされ、背景の画像部分がフラッシュ表示される。
【０３２８】
なお、上記の区別表示として、同じ焦点距離にある画素を、それ以外の画素とは異なる色で半透明に表示させたり、異なる色で塗りつぶして表示させたり、所定の模様やハッチングを施すなどして、同じ焦点距離にある画素の区別表示を実現してもよい。
【０３２９】
７．第７実施例
上記の実施例において、撮像部５０によって撮像が行われた後、強調画像生成処理において強調画像が生成されるまでには一定の時間を要する。その間、ユーザーをただ待たせるのは非効率であるため、強調画像生成処理において、どの画像部分を合焦／非合焦とするかをユーザーに指定させる処理を挟んでもよい。
【０３３０】
具体的には、異なる焦点距離で撮像された複数の撮影画像を入力画像とし、これらの入力画像の特徴として、例えばエッジを検出する処理を行う。そして、各入力画像それぞれについて、当該入力画像と当該入力画像について生成されたエッジ画像とを画素単位で乗算することで得られる画像（以下、「積画像」という。）を生成し、この積画像を参照用画像として、焦点距離が近い順（又は遠い順）に順次に表示する。一巡したならば、その表示を繰り返す。
【０３３１】
ユーザーは、順次に表示される積画像を閲覧し、合焦とさせたい被写体が明瞭に表示されている積画像が表示された際に、その画像を選択するための選択操作（例えばタップ操作）を行う。この場合、ユーザーの選択操作によって選択された積画像に対応する入力画像を特定し、当該入力画像の焦点距離にある画素を合焦とし、それ以外の画素を非合焦とした画像を生成して表示する。
【０３３２】
図２９は、この場合に、処理部１０が、図８の強調画像生成処理に代えて実行する第４の強調画像生成処理の流れの一例を示すフローチャートである。
【０３３３】
最初に、処理部１０は、積画像生成処理を行う（ステップＫ１）。具体的には、複数の入力画像それぞれについて、当該入力画像と、ステップＡ１１のエッジ検出処理において当該入力画像について得られたエッジ画像との積を算出した積画像を生成する。
なお、入力画像とエッジ画像との積画像は明度が低くなる場合があるため、生成した積画像に対して明度を上げる処理を行うようにすると好適である。
【０３３４】
次いで、表示制御部１２７は、最初の積画像を表示部３０に表示させる制御を行う（ステップＫ３）。具体的には、例えば、焦点距離が最も短い入力画像に対応する積画像、又は、焦点距離が最も長い入力画像に対応する積画像を表示部３０に表示させる。
【０３３５】
その後、処理部１０は、タッチパネル２１に対するタップ操作がなされたか否かを判定し（ステップＫ５）、なされなかったと判定したならば（ステップＫ５；Ｎｏ）、最初の積画像の表示を開始してから所定時間（例えば１分）が経過したか否かを判定する（ステップＫ７）。
【０３３６】
所定時間が経過していないと判定したならば（ステップＫ７；Ｎｏ）、表示制御部１２７は、次の積画像を表示部３０に表示させるように制御する（ステップＫ９）。そして、処理部１０は、ステップＫ５に処理を戻す。
【０３３７】
一方、タップ操作がなされたと判定したならば（ステップＫ５；Ｙｅｓ）、処理部１０は、当該積画像に対応する入力画像の焦点距離を特定する（ステップＫ１１）。そして、強調画像生成部１２３が、強調画像を生成する（ステップＫ１３）。具体的には、デプスマップが生成された記憶部８０に記憶済みである場合は、記憶部８０に記憶されているデプスマップに基づいて、ステップＫ１１で特定した焦点距離に対応する深度の画素を合焦とし、それ以外の画素については暈し処理を施して非合焦とした強調画像を生成する。デプスマップが生成済みではない場合には、デプスマップが生成されるまで待機する。
【０３３８】
次いで、表示制御部１２７は、生成された強調画像を表示部３０に表示させるように制御する（ステップＫ１５）。そして、処理部１０は、第４の強調画像生成処理を終了する。
【０３３９】
一方、ステップＫ７において所定時間が経過したと判定したならば（ステップＫ７；Ｙｅｓ）、処理部１０は、デフォルト入力画像の焦点距離を特定する（ステップＫ１７）。ここで、デフォルト入力画像は、例えば、焦点距離が最も短い入力画像や、焦点距離が最も長い入力画像とすることができる。そして、処理部１０は、ステップＫ１３へと処理を移す。
【０３４０】
上記の処理によれば、どの焦点距離を合焦とさせるかはユーザーの好みによるため、合焦とさせる位置を自動的に決定することは困難であるが、強調画像生成処理の実行中にユーザーに合焦とさせる位置を指定させることで、この問題を解消することができる。また、強調画像生成処理の実行中にただユーザーを待たせるという非効率さも解消することができる。
【０３４１】
なお、ステップＫ１の積画像生成処理を省略し、ステップＫ３において、表示制御部１２７が、例えば、撮像部５０によって撮像された複数の入力画像を、参照用画像として順次に表示させるようにしてもよい。また、撮像部５０によって撮像された複数の入力画像に対してそれぞれ特徴（例えばエッジ）を検出した特徴検出画像や、複数の入力画像に対してそれぞれコントラスト補正を行ったコントラスト補正画像等の画像を、参照用画像として順次に表示させるようにしてもよい。
【０３４２】
８．第８実施例
第８実施例は、入力画像に白飛びが発生している場合を想定し、白飛び領域に対して効果を発揮する暈し処理（以下、「白飛び効果暈し処理」という。）に関する実施例である。白飛びを含む領域においては、光の強さに応じて膨張するように暈しを施すことが好ましい。しかし、単純な畳み込み演算（空間的な加重平均）を行うフィルタを用いて、白飛び領域を含む入力画像に対する暈し処理を行った場合、現実の世界と乖離した不自然な暈し結果の画像が得られてしまう。
【０３４３】
ここで、通常の暈し処理は、次式（５）で与えられる。
【数５】
2015111822.tif 000007
但し、“ｘ”は画素を、“Ｉ（ｘ）”は暈し対象画像の画素ｘの画素値を、“Ｉ´（ｘ）”は暈し画像の画素ｘの画素値を、”ｗ（ｎ）“は空間的な重み（暈しカーネル）を、”ｎ“は画素ｘの近傍画素を示す。
【０３４４】
白飛び領域については、本来の光の強さが不明となってしまっていることが問題である。８ビットで表した諧調値が飽和してしまうことにより、本来諧調値が２５６以上であった画素の諧調値が２５５に補正されてしまう。つまり、“Ｌ（ｘ）”を画素ｘにおける光の強度とした場合、「Ｉ（ｘ）＝ｍｉｎ（Ｌ（ｘ），２５５）」として画素値が算出されてしまう。このため、式（５）を用いて暈し処理を行った場合、不当に低く加重平均されてしまう。その結果、白飛び領域に膨張が発生しなくなる。
【０３４５】
そこで、本実施例では、次式（６）及び（７）に従って暈し処理を行う。
【数６】
2015111822.tif 000008
【数７】
2015111822.tif 000009
【０３４６】
つまり、飽和した画素値を用いて加重平均を行うのではなく、光の強度に対する加重平均を行い、この加重平均で求められた光の強度を用いて入力画像の画素値を修正することで、暈し結果の画像の画素値を得る。
【０３４７】
また、上記の問題を回避するための他の手法として、白飛び領域に対して大きい重みを設定して画素値を加重平均することが考えられる。具体的には、例えば、次式（８）に従って加重平均を行う。
【数８】
2015111822.tif 000010
【０３４８】
式（８）において、“ｗ２”は白飛び領域に対する重みであり、白飛び領域に含まれる画素値ほど大きくなる値を設定しておくことができる。具体的には、例えば、次式（９）〜（１１）の何れかに従って重み“ｗ２”を算出して設定することができる。
【数９】
2015111822.tif 000011
【数１０】
2015111822.tif 000012
【数１１】
2015111822.tif 000013
但し、式（１１）における“ｓ”は適当なパラメーター値である。
【０３４９】
図３２は、この場合に、処理部１０が実行する白飛び効果暈し処理の流れの一例を示すフローチャートである。
最初に、処理部１０は、処理対象とする画像である処理対象画像を入力する（ステップＬ１）。そして、処理部１０は、入力した処理対象画像から白飛び領域を検出する白飛び領域検出処理を行う（ステップＬ３）。
【０３５０】
次いで、処理部１０は、白飛び領域用の重み“ｗ２”を画素単位で設定する（ステップＬ５）。具体的には、式（９）〜（１１）の何れかに従って、各画素それぞれについて、白飛び領域用の重み“ｗ２”を算出して設定する。
【０３５１】
次いで、処理部１０は、ステップＬ５で設定した白飛び領域用の重み“ｗ２”と、処理対象画像の画素値“Ｉ”とを用いて、式（８）に従って、処理対象画像の画素値“Ｉ”に対する加重平均演算を行って、修正された画素値“Ｉ´”で構成される暈し結果の画像を取得する（ステップＬ７）。そして、処理部１０は、白飛び効果暈し処理を終了する。
【０３５２】
なお、上記の白飛び効果暈し処理において、より現実的な暈しを行うために、白飛び領域の中央ほど光の強度が大きくなるとの仮定に基づくモデルを適用して、暈し処理を行うようにしてもよい。例えば、白飛び領域と非白飛び領域との境界からの距離に応じて、白飛び領域用の重み“ｗ２”を大きく設定してもよい。具体的には、公知の境界検出手法を用いて、白飛び領域と非白飛び領域との境界を検出する処理を行い、当該白飛び領域に含まれる画素について、検出した境界からの距離が長い位置に存在する画素ほど、白飛び領域用の重み“ｗ２”に大きな値を設定して、画素値“Ｉ”に対する加重平均演算を行うようにしてもよい。
【０３５３】
また、上記の白飛び効果暈し処理の他に、例えば、基準画像と同じ視点の低露出画像を利用して白飛び領域の真の画素値を推定し、この推定した画素値用いて暈し処理を行うようにしてもよい。
【０３５４】
白飛び領域の真の画素値の推定には、種々の手法を用いることができる。具体的には、例えば、暈しの基準とする基準画像と低露光画像との２枚の画像の対応する２点(但し、白飛び領域を除く。)の画素値を、前述した「ｙ＝ａ・ｘｂ」で表される露出変換関数に当てはめ、最小二乗法によって、露出変換関数に含まれる（ａ，ｂ）の露出変換パラメーターの値を算出する。そして、算出した露出変換パラメーター（ａ，ｂ）の値を用いて、低露光画像の画素値を変換することによって、白飛び領域の真の画素値を推定する。
【０３５５】
上記の白飛びを考慮した各種の暈し処理は、例えば、第１実施例や第２実施例で説明したようなピント位置をずらして複数枚の画像を取得するフォーカスブラケット方式によって撮像された複数の撮影画像（入力画像）や、第３実施例で説明したような視差方式によって撮像された複数の撮影画像（入力画像）を処理対象画像として適用することが可能である。
【０３５６】
つまり、上記の各種の実施例で説明した画像処理を実行するための画像処理プログラムのサブルーチンとして、上記の白飛び効果暈し処理を実行するための白飛び効果暈し処理プログラムを記憶部８０に記憶させておき、処理部１０が、画像処理プログラムに従って実行する画像処理において、白飛び効果暈し処理プログラムを読み出して実行することで、それぞれの方式で撮像された画像に対して、白飛びを考慮した効果的な暈しを実現することが可能となる。
【０３５７】
９．変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明するが、上記の実施例と同一の構成については同一の符号を付して、再度の説明を省略する。
【０３５８】
９−１．画像処理装置
上記の実施形態では、画像処理装置をスマートフォンとした場合の実施形態について説明したが、画像処理装置として適用可能な電子機器はスマートフォンに限られるわけではない。例えば、カメラやデジタルカメラ、タブレット端末、ＰＤＡ等の電子機器を画像処理装置として適用してもよいことは勿論である。撮像部を備えた電子機器であれば、種々の電子機器に本発明の画像処理装置を適用することが可能である。
【０３５９】
また、例えば、画像処理装置において表示部に表示されたデプスマップや全焦点画像に基づいてユーザーが深度を選択し、選択された深度に基づいて生成した強調画像を、所定の情報処理装置の表示部に表示させるようにしてもよい。具体的には、例えば、ユーザーは、手元のスマートフォンとパソコンとを通信接続する。そして、ユーザーは、スマートフォンのディスプレイに表示されたデプスマップや全焦点画像に基づいて深度を選択する。スマートフォンは、ユーザーにより選択された深度に基づいて強調画像を生成し、当該強調画像をパソコンに送信する。パソコンは、スマートフォンから受信した強調画像をディスプレイに表示させ、ユーザーはパソコンの表示画面で強調画像を確認する。
【０３６０】
なお、この場合において、スマートフォンから画像データ一式をパソコンに送信するようにし、スマートフォンの代わりにパソコンが強調画像を生成して、パソコンのディスプレイに表示させるようにしてもよい。この場合は、スマートフォン及びパソコンが、本発明における画像処理装置となる。
【０３６１】
９−２．特徴量
上記の実施形態では、焦点距離を変えて撮像された深度の異なる複数の入力画像から特徴としてエッジを検出し、そのエッジ強度を特徴量として用いて深度を推定する場合を例に挙げて説明したが、これに限られるわけではない。
【０３６２】
例えば、エッジ強度と同様に合焦度と正の相関のある特徴量として、ガウス関数の差で表されるＤｏＧ（Difference of Gaussian）値を特徴量として検出することとしてもよい。この場合は、複数の入力画像それぞれに対して、例えば、標準偏差σ（分散σ２）の異なる２つのガウシアンフィルタを用いたフィルタ処理を施すことで、標準偏差σの異なる２枚の平滑化画像を得る。そして、複数の入力画像それぞれについて、２枚の平滑化画像の差分を算出することで、ＤｏＧ画像を得る。このようにして得られたＤｏＧ画像の各画素の画素値（ＤｏＧ値）を特徴量として用いて、上記の実施形態と同様の適切解演算処理を行って、各画素について深度を推定する。この場合も、各画素について合焦度が反映されたデプスマップを生成することができる。
【０３６３】
また、合焦度以外の評価指標として、例えば、画像の背景度合を特徴量として検出し、検出した背景度合を特徴量として用いて、上記の実施形態と同様の適切解演算処理を行って、各画素について背景度合が反映されたマップを得ることとしてもよい。この場合は、複数の入力画像のうち背景が映っている入力画像が優先的に選択され、各画素について背景度合が反映されたマップが生成される。
【０３６４】
これらの他には、例えば、画像中で使用されている代表色とその色の割合、色分布といった色特徴を特徴量として検出してもよい。また、画像中に含まれる規則的なパターンであるテクスチャーを特徴量として検出してもよい。また、画像中のオブジェクトの形状を特徴量として検出してもよい。また、方位選択性フィルタを用いて特定の方位情報を特徴量として検出してもよい。何れにせよ、特徴量が合焦度の指標であれば、合焦度を反映したマップが得られるし、特徴量が他の評価指標であれば、当該評価指標を反映したマップが得られることになる。
【０３６５】
９−３．適切解演算処理
上記の実施形態では、適切解演算処理として、式（１）のエネルギー関数を用いてスコア値を算出し、スコア値が最大となった入力画像を合焦している入力画像と判定することとして説明したが、式（１）の代わりに次式（１２）のエネルギー関数を用いてスコア値を算出し、スコア値が最小となった入力画像を合焦している入力画像と判定することとしてもよい。
【数１２】
2015111822.tif 000014
【０３６６】
式（１２）では、式（１）の右辺の各項がマイナスではなくプラスとなっている。この式は、対象画素について、当該対象画素の対応するエッジ画像のエッジ強度に応じたコスト値をスコア値に加算するとともに、当該対象画素について合焦しているとする第１の入力画像と当該対象画素の近傍画素について合焦しているとする第２の入力画像とが異なる場合にはペナルティ値をスコア値に加算することを意味している。そして、スコア値が所定の低値条件を満たす入力画像を合焦している入力画像と判定する。
【０３６７】
式（１２）のエネルギー関数を一次元に拡張した式（２）に対応する式は、次式（１３）のように表される。
【数１３】
2015111822.tif 000015
【０３６８】
また、式（１）のエネルギー関数を用いる場合は、スコア値が最大となる入力画像を合焦している入力画像と判定したが、この手法は一例に過ぎない。例えば、例えば、スコア値が大きい順に所定割合（例えば３割）の数のスコア値を特定し、その中からスコア値を１つ選んで、合焦している入力画像を判定することとしてもよい。つまり、スコア値が最大のものを選択する必要はなく、２番目や３番目に大きいスコア値を選択するようにしてもよい。これは、スコア値が所定の高値条件を満たす入力画像を合焦している入力画像と判定することを示す一例である。
【０３６９】
同様に、式（１２）のエネルギー関数を用いる場合には、スコア値が小さい順に所定割合（例えば３割）の数のスコア値を特定し、その中からスコア値を１つ選択するようにしてもよい。これは、スコア値が所定の低値条件を満たす入力画像を合焦している入力画像と判定することを示す一例である。
【０３７０】
９−４．表示用画像
上記の実施形態では、デプスマップに基づいて生成した全焦点画像を表示用画像として表示部３０に表示させることとして説明したが、必ずしも全焦点画像を表示部３０に表示させなければならないわけではない。
【０３７１】
具体的には、全焦点画像の代わりに、複数の入力画像の中から選択した代表画像を表示用画像として表示部３０に表示することとしてもよい。この場合は、例えば、一番最初に撮像された入力画像や、一番最後に撮像された入力画像、焦点距離が中間値に最も近い入力画像を代表画像として選択することができる。
【０３７２】
また、この他にも、デプスマップを表示用画像として表示部３０に表示させてもよいし、複数の入力画像のうちの任意の入力画像を合成した合成画像を表示用画像として表示部３０に表示させることとしてもよい。
何れにせよ、ユーザーは、表示部３０に表示された上記の表示用画像を閲覧しながら、操作部２０を操作して、画像中の修正したい部分を選択することになる。
【０３７３】
９−５．深度選択窓の表示
表示制御部１２７が、表示部３０に所定の表示用画像を表示させるように制御し、その表示画面の所定位置に、深度をユーザーに選択させるための深度選択用操作窓を表示させる制御を行うこととしてもよい。この場合、ユーザーは、入力部２０を介して深度選択用操作窓から深度を選択する。
【０３７４】
図１７は、この場合の表示画面の一例を示す図であり、全焦点画像が表示部３０に表示された状態を示している。なお、前景であるウサギの人形部分のみを図示し、背景である木々の部分については図示を省略している。この図を見ると、表示画面の左下部に、ユーザーが深度を選択するための深度選択用操作窓Ｗ１が表示されている。深度選択用操作窓Ｗ１は、深度別に分けられた縦長のゲージで示されており、ユーザーはゲージの中央部に示された深度選択用バーＢＡＲをタップ操作により上下に動かして、深度を選択可能に構成されている。
【０３７５】
図１８は、この場合に強調画像生成部１２３が実行する第２の強調画像生成処理の流れを示すフローチャートである。なお、図８に示した強調画像生成処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
【０３７６】
強調画像生成部１２３は、最初にユーザー操作を判定する（ステップＨ１）。ユーザー操作が表示画面中の画像のタップ操作であると判定したならば（ステップＨ１；画像のタップ操作）、強調画像生成部１２３は、タップされた領域（タップ領域）を指定領域と判定する（ステップＨ２）。そして、強調画像生成部１２３は、ステップＤ３へと処理を移す。
【０３７７】
一方、ユーザー操作が深度選択用操作窓のアイコンに対する操作であると判定したならば（ステップＨ１；深度選択用操作窓のアイコン操作）、強調画像生成部１２３は、アイコンの移動先の深度（アイコンにより選択された深度）を判定する（ステップＨ３）。そして、強調画像生成部１２３は、デプスマップを参照し、判定した深度に対応する画素を特定する（ステップＨ５）。そして、強調画像生成部１２３は、特定した画素に基づいて強調画像を生成する（ステップＨ７）。具体的には、暈しフィルタを用いて、第１の暈し度合で全焦点画像の全体を暈す処理を行う。そして、暈し処理の結果として得られる暈し画像に、ステップＨ５で特定した画素の画素値を合成することで、強調画像を生成する。
【０３７８】
９−６．再度の暈し処理
上記の実施形態で説明した強調画像生成処理において、ユーザー操作が検知された場合に、ユーザーにより指定された画像上の領域が暈し処理が行われた領域であるか否かを判定し、その判定結果が肯定判定である場合に、当該領域の暈し度合を所定の暈し度合とは異なる暈し度合にして強調画像に対して再度暈し処理を行うようにしてもよい。
【０３７９】
具体的には、強調画像生成処理において暈し処理がなされた部分のうち、所定の部分をユーザーがタッチパネル２１を介してタップすると、処理部１０は、その部分が既に暈し処理が行われた部分（以下、「暈し済み部分」と称す。）であるか否かを判定する。そして、暈し済み部分であると判定したならば、処理部１０は、その暈し済み部分の暈し度合を強めるか、それとも弱めるかをユーザーに確認する確認報知を行う。暈し度合を弱めることがユーザーにより選択された場合は、処理部１０は、暈し済み部分に対して、暈し度合を規定の暈し度合よりも小さくして、暈し処理を行う。一方、暈し度合を強めることがユーザーにより選択された場合は、処理部１０は、暈し済み部分に対して、暈し度合を規定の暈し度合よりも大きくして、暈し処理を行う。そして、暈し処理を行った結果の強調画像を表示部３０に表示させるように制御する。
【０３８０】
９−７．ユーザー操作
上記の実施形態では、ユーザーが強調画像の生成や強調画像の修正を行う際の操作を、タッチパネル２１に対するタップ操作やドラッグ操作として説明したが、必ずしもタッチパネル２１に対するユーザー操作に従って強調画像の生成や強調画像の修正を行わなければならないわけではない。
【０３８１】
例えば、画像処理装置が操作ボタン（十字キーを含む。）を備える場合には、この操作ボタンの操作に従って、強調画像の生成や強調画像の修正を行うこととしてもよい。この場合は、例えば、表示部３０に全焦点画像が表示されている状態で画像上の位置を指定させるための指定用アイコン（例えば矢印のアイコン）を表示させ、ユーザーが操作ボタンを用いてこの指定用アイコンを動かして、表示用画像中の強調したい部分を指定するようにしてもよい。また、表示部３０に強調画像が表示されている状態で画像上の位置を指定させるための上記の指定用アイコンを表示させ、ユーザーが操作ボタンを用いてこの指定用アイコンを動かして、強調画像中の修正したい部分を指定するようにしてもよい。
【０３８２】
９−８．強調画像の生成
上記の実施形態では、全焦点画像に基づいて強調画像を生成することとして説明した。具体的には、全焦点画像に対して暈し処理を施した画像に、強調したい部分の深度の入力画像の画素値を合成することで強調画像を生成した。しかし、全焦点画像を生成せずに、入力画像のみを用いて強調画像を生成することも可能である。
【０３８３】
具体的には、例えば、ユーザーにより操作入力がなされた場合に、デプスマップに基づいて、その操作入力による強調すべき深度にある入力画像中の対象画素の画素値に、その深度以外の入力画像における対象画素以外の画素に対して暈し処理を行ったものを合成して、強調画像を生成するようにしてもよい。また、ユーザー操作により指定された指定領域の中から選択した画素の対応する深度の入力画像の画素値に、それ以外の深度の入力画像の画素値を合成して、強調画像を生成することとしてもよい。つまり、ユーザーの操作入力による強調すべき深度にある入力画像中の対象画素の画素値を、その深度以外の深度に相当する入力画像に合成して、強調画像を生成することとしてもよい。
【０３８４】
９−９．強調画像生成タイミング
ユーザーがタップ操作やドラッグ操作を行った場合に強調画像を生成するのではなく、他の何らかのアクションをトリガーとして、強調画像を生成するようにしてもよい。具体的には、例えば、表示部３０に強調画像生成の指示を行わせるためのボタンを表示させ、タッチパネル２１を介してこのボタンが押下されたことを検知した場合に、強調画像を生成するようにしてもよい。また、操作ボタンを具備する画像処理装置であれば、この操作ボタンの押下を検知して、強調画像を生成するようにしてもよい。
【０３８５】
また、画像処理装置に振動を検知するためのセンサ（例えば加速度センサやジャイロセンサといった慣性センサ）を内蔵し、ユーザーにより画像処理装置を振る操作がなされたことを検知した場合に、強調画像を生成することとしてもよい。
【０３８６】
さらに、画像処理装置に集音部としてマイクを設け、このマイクに対して所定の音声が入力されたことを検知した場合に、強調画像を生成するようにしてもよい。この場合は、強調画像生成のトリガーとする何種類かの音声をデジタル化した音声データを画像処理装置に記憶させておき、マイクから入力された音声と、記憶している音声データとを照合する音声認識処理を行って、強調画像の生成がユーザーにより指示されたか否かを判定するなどすればよい。これらの場合は、例えば、強調表示する深度を、入力画像の深度の浅い方から深い方に、或いは、入力画像の深度の深い方から浅い方に順番に変化させて、順次に強調画像を生成し、生成した強調画像を順番に表示させるなどすることができる。
【０３８７】
９−１０．ピンチ操作
ユーザーがタッチパネル２１に対するピンチ操作を行った場合に、そのピンチ操作に従って表示画像の拡大・縮小や回転を行うこととしてもよい。具体的には、ユーザーが二本の指でタッチパネル２１をタップし、そのタップした二点間の距離を大きくする／小さくする操作がなされたことを検知した場合に、例えばそのタップされた二点間の中心座標に対応するデプスマップ上の画素を特定し、その特定した画素を基準として表示画像の全体を拡大／縮小することとしてもよい。また、ユーザーにより二点間を結ぶ直線の角度を変化させるように指をねじる操作がなされたことを検知した場合に、例えばそのタップされた二点間の中心座標に対応するデプスマップ上の画素を特定し、その特定した画素を基準として表示画像の全体を回転させることとしてもよい。
【０３８８】
９−１１．深度の再推定
上記の実施形態では、図９の強調画像修正処理において、ドラッグ方向とエッジ方向とのコサイン類似度に基づいてペナルティ値を変更し、指定領域内の画素についてスコア値演算処理を実行して、深度を再推定した。つまり、指定領域内の画素について第２種パラメーター値を変更してスコア値演算処理を実行した。しかし、これに代えて、指定領域内の画素についてコスト値を変更して、スコア値演算処理を実行してもよい。つまり、指定領域内の画素について第１種パラメーター値を変更してスコア値演算処理を実行することとしてもよい。
【０３８９】
強調画像修正処理では、ユーザーにより指定された指定領域においてエッジを強調した修正画像を生成する必要がある。エッジを強調するためには、指定領域内の代表画素の深度に近い深さの入力画像からエッジに相当する画素が選択されるようにする必要がある。コスト値はエッジ強度の逆数として算出されるため、エッジ強度が強いほどコスト値は小さくなる。つまり、エッジ強度が強い画像ほど、コスト値は小さくなる。従って、近い深さの入力画像からエッジに相当する画素を選択するためには、指定領域内の代表画素の深度に近い深さの入力画像に対するコスト値を小さくすればよい。コスト値は入力画像毎に独立に変更することができる。このため、ある入力画像だけコスト値を小さくすることで当該入力画像が選ばれ易くなるようにしたり、逆に、ある入力画像だけコスト値を大きくすることで当該入力画像が選ばれにくくするようにすることが可能となる。
【０３９０】
なお、コスト値とペナルティ値との何れか一方のみを変更して深度の再推定を行うこととしてもよいが、コスト値とペナルティ値との両方を変更して深度の再推定を行うことも当然可能である。つまり、第１種パラメーター値及び第２種パラメーター値の少なくとも一方を変更してスコア値演算処理を行って、深度の再推定を行うことが可能である。
【０３９１】
９−１２．ペナルティ値
ペナルティ値として設定可能な値は、第１のペナルティ値と第２のペナルティ値との２つに限られるわけではない。例えば、図１６のペナルティ値テーブル８９に示すように、第１のペナルティ値８９３及び第２のペナルティ値８９５に加えて、第３のペナルティ値８９７を設定することとしてもよい。具体的には、対象画素と近傍画素とで、合焦しているとする入力画像を画像番号８３３ｂで「３以上」変化させる場合のペナルティ値として、第３のペナルティ値８９７を定めておくこととしてもよい。図１６のペナルティ値テーブル８９５では、種別８９１の「通常時」に、第３のペナルティ値８９７として「Ｐ３」が定められている。但し、「Ｐ１＜Ｐ２＜Ｐ３」である。
【０３９２】
また、種別８９１の「強調画像修正時」には、ユーザーによるドラッグ方向とエッジ方向とが所定の近似条件を満たす場合と、ユーザーによるドラッグ方向とエッジ方向とが所定の乖離条件を満たす場合とで、異なるペナルティ値が定められている。具体的には、前者については、第３のペナルティ値８９７として「Ｐ３−β」が定められている。また、後者については、第３のペナルティ値８９７として「Ｐ３＋β」が定められている。なお、「β」の値は適宜設定可能であり、例えば「β＝１」である。
【０３９３】
また、ユーザーのドラッグ方向と画像中のエッジ方向との相対関係に応じてペナルティ値を変更するようにしてもよい。具体的には、例えば、ドラッグ方向とエッジ方向との類似度に応じて個別にペナルティ値を定めておき（以下、「方向類似度別ペナルティ値」という。）、この方向類似度別ペナルティ値を用いて適切解演算処理を行うようにしてもよい。ドラッグ方向とエッジ方向との類似度を表す指標値としては、上記の実施形態と同様に、コサイン類似度やコサイン距離を適用することができる。
【０３９４】
具体的には、上記の実施形態で定義したペナルティ値Ｐ（ｐ）に代えて、方向類似度別ペナルティ値Ｐｄｉｒ（ｐ）を定めておく。例えば、コサイン類似度が「１」（ドラッグ方向とエッジ方向とが平行）である場合の方向類似度別ペナルティ値として、通常時のペナルティ値と同じ値を定めておく。また、コサイン類似度が小さくなるにつれて（ドラッグ方向とエッジ方向とが乖離するにつれて）、通常時のペナルティ値から値が徐々に大きくなるようにペナルティ値を定め、コサイン類似度が「０」（ドラッグ方向とエッジ方向とが直交）である場合のペナルティ値として所定の最大値を定めておく。そして、ユーザーのドラッグ方向とエッジ方向とのコサイン類似度を算出し、算出したコサイン類似度について定められた方向類似度別ペナルティ値を用いて適切解演算処理を行う。
【０３９５】
この方向類似度別ペナルティ値は、上記の実施形態で説明した深度の再推定を行う際に有用である。前述したように、本願発明は、ドラッグ方向とエッジ方向が近似しているほどペナルティ値を小さくし、逆に、ドラッグ方向とエッジ方向とが乖離しているほどペナルティ値を大きくするのが特徴である。ユーザーが表示画像中に表示の不具合、すなわち深度の演算ミスが発生しているのを発見した場合は、演算ミスが発生している箇所をドラッグ操作で特定して、強調画像の修正要求を行う。
【０３９６】
ユーザーが正しく表示されている物体のエッジ方向をなぞるようにドラッグした場合、ドラッグ方向とエッジ方向とのコサイン類似度は「１」に近い値となる。この場合は、コサイン類似度を「１」とする方向類似度別ペナルティ値を用いて適切解演算処理を行うが、この場合のペナルティ値は通常時のペナルティ値と同じ値であるため、正しく表示されている物体については、通常時に生成されたデプスマップを保存することができる。
【０３９７】
一方、ユーザーが演算ミスの生じている部分をなぞるようにドラッグした場合、演算ミスが生じている部分のエッジ方向と正しく表示されている部分のエッジ方向とが同一ではない限り、ドラッグ方向とエッジ方向との間に方向差が生じ、コサイン類似度は「１」よりも小さくなる。例えば、ドラッグ方向とエッジ方向とが直交する場合は、コサイン類似度は「０」となる。この場合は、コサイン類似度が「０」である場合の方向類似度別ペナルティ値を用いて適切解演算処理を行うが、この場合のペナルティ値としては最大値が定められているため、ペナルティが最も強くなる。その結果、演算ミスが生じている部分について深度をより正確に表したデプスマップが再生成される。このようにして再生成されたデプスマップを用いて強調画像を修正することで、演算ミスが生じていた部分を適切に修正することができる。
【０３９８】
また、一の入力画像から別の入力画像へのペナルティ値を個別に定めることとしてもよい。具体的には、上記の実施形態で定義したペナルティ値Ｐ（ｐ）に代えて、画像間ペナルティ値Ｐｉｊ（ｐ）を設定することとしてもよい。但し、「ｉ」及び「ｊ」は画像の番号である。
【０３９９】
例えば、入力画像の焦点距離が「ｆ１〜ｆ４」の４つであり、その大小関係が「ｆ１＜ｆ２＜＜＜＜＜ｆ３＜ｆ４」であったとする。この場合、「ｆ１」と「ｆ２」とはそれほど大きく乖離していないため、「ｆ１」の入力画像と「ｆ２」の入力画像との間の画像間ペナルティ値Ｐ１２（ｐ）を大きくし、「ｆ１」の入力画像と「ｆ２」の入力画像とが合焦している入力画像として相互に選択され易くなるようにする。同様に、「ｆ３」と「ｆ４」とはそれほど大きく乖離していないため、「ｆ３」の入力画像と「ｆ４」の入力画像との間の画像間ペナルティ値Ｐ３４（ｐ）を大きくし、「ｆ３」の入力画像と「ｆ４」の入力画像とが合焦している入力画像として相互に選択され易くなるようにする。
【０４００】
一方、「ｆ２」と「ｆ３」とは大きく乖離しているため、「ｆ２」の入力画像と「ｆ３」の入力画像との間の画像間ペナルティ値Ｐ２３（ｐ）を小さくし、「ｆ２」の入力画像と「ｆ３」の入力画像とが合焦している入力画像として相互に選択されにくくなるようにする。これにより、「ｆ１」の入力画像から「ｆ２」の入力画像や、「ｆ３」の入力画像から「ｆ４」の入力画像に対しては、ペナルティを高くして、焦点距離が近い画像として選択され易くすることができ、「ｆ２」の入力画像から「ｆ３」の入力画像に対しては、ペナルティを低くして、焦点距離が遠い画像として選択されにくくなるようにすることができる。
【０４０１】
９−１３．被写体ぶれ対策
入力画像中の被写体ぶれの領域（以下、「被写体ぶれ領域」という。）を検出し、当該被写体ぶれ領域では推定される深度（合焦しているとして選択される入力画像）が変更されにくくするように、コスト値及びペナルティ値の少なくとも一方を変更するようにしてもよい。被写体ぶれとは、撮像時に被写体が動き、その動きの早さがカメラのシャッタースピードよりも早いことで、画像中の被写体がぶれてしまうことをいう。被写体ぶれ領域の検出は、従来公知の手法を用いて実現することができる。
【０４０２】
被写体ぶれ領域が検出されたならば、当該被写体ぶれ領域におけるペナルティ値Ｐ（ｐ）を通常時のペナルティ値よりも大きな値に変更してスコア値演算処理を行うか、又は、コスト値Ｃ（ｐ，Ｒｐ）を、エッジ強度を用いて算出されるコスト値よりも小さな値に変更してスコア値演算処理を行う。これにより、被写体ぶれ領域について適切に深度が推定されたデプスマップを生成することができる。
【０４０３】
９−１４．記録媒体
上記の実施例では、画像処理に係る各種のプログラムやデータが、画像処理装置の記憶部８０に記憶されており、処理部１０がこれらのプログラムを読み出して実行することで、上記の各実施例における画像処理を実現することとして説明した。この場合、記憶部８０は、ＲＯＭやフラッシュＲＯＭ、ハードディスク、ＲＡＭといった内部記憶装置の他に、メモリカードやコンパクトフラッシュ（登録商標）カード、メモリスティック、ＵＳＢメモリ、ＣＤ−ＲＷ（光学ディスク）、ＭＯ（光磁気ディスク）といった記録媒体（記録メディア、外部記憶装置）を有していてもよく、これらの記録媒体に上記の各種のプログラムやデータを記憶させることとしてもよい。
【０４０４】
図３０は、この場合における記録媒体の一例を示す図である。
画像処理装置には、メモリカード７を挿入するためのカードスロット７１０が設けられており、カードスロット７１０に挿入されたメモリカード７に記憶された情報を読み取る又はメモリカード７に情報を書き込むためのカードリーダライタ（Ｒ／Ｗ）７２０が設けられている。カードリーダライタ７２０は、処理部１０の制御に従って、記憶部８０に記録されたプログラムやデータをメモリカード７に書き込む動作を行う。メモリカード７に記録されたプログラムやデータは、画像処理装置以外の情報処理装置（例えばパソコン）で読み取ることで、当該情報処理装置において、上記の実施例における画像処理を実現することが可能である。
【符号の説明】
【０４０５】
１    スマートフォン
７    メモリカード
１０  処理部
２０  入力部
２１  タッチパネル
３０  表示部
４０  通信部
５０  撮像部
５５  携帯電話用アンテナ
６０  携帯電話用無線通信回路部
７０  時計部
７５  慣性センサ
８０  記憶部
【図１】
2015111822.tif 000016
【図２】
2015111822.tif 000017
【図３】
2015111822.tif 000018
【図４】
2015111822.tif 000019
【図５】
2015111822.tif 000020
【図６】
2015111822.tif 000021
【図７】
2015111822.tif 000022
【図８】
2015111822.tif 000023
【図９】
2015111822.tif 000024
【図１５】
2015111822.tif 000025
【図１６】
2015111822.tif 000026
【図１７】
2015111822.tif 000027
【図１８】
2015111822.tif 000028
【図１９】
2015111822.tif 000029
【図２３】
2015111822.tif 000030
【図２４】
2015111822.tif 000031
【図２９】
2015111822.tif 000032
【図３０】
2015111822.tif 000033
【図３２】
2015111822.tif 000034
【図１０】
2015111822.tif 000035
【図１１】
2015111822.tif 000036
【図１２】
2015111822.tif 000037
【図１３】
2015111822.tif 000038
【図１４】
2015111822.tif 000039
【図２０】
2015111822.tif 000040
【図２１】
2015111822.tif 000041
【図２２】
2015111822.tif 000042
【図２５】
2015111822.tif 000043
【図２６】
2015111822.tif 000044
【図２７】
2015111822.tif 000045
【図２８】
2015111822.tif 000046
【図３１】
2015111822.tif 000047