(57)【要約】【課題】複数の物体が存在する場合に適切に画像を切り出して合成画像を生成できるようにする。【解決手段】撮影した画像をＤエリアに分割してそれぞれのＤエリアで距離情報を取得して距離マップを生成し、物体が存在する領域を判断する。そして、物体が存在する領域に従って切り出し位置を評価し、さらに人物の顔を認識する画像認識処理を行う。人物の顔が認識された領域と物体判断処理により判断された物体が存在する領域とに相違がある場合は、例えば双方の領域を包含するように判断結果を更新する。っそいて、切り出し位置を決定して各画像を合成してパノラマ画像を生成する。【選択図】図１
2015109593.tif 000002
【特許請求の範囲】
【請求項１】
所定の方向にパンニングしながら被写体を撮像した複数の画像データを取得する取得手段を備えた画像処理装置であって、
前記画像処理装置と前記被写体との間の距離を検出する検出手段と、
前記検出手段により検出された距離に基づいて、前記取得手段によって取得された画像データを切り出す位置を評価する評価手段と、
前記評価手段によって評価された切り出す位置に従って、前記複数の画像データをそれぞれ切り出す切り出し手段と、
前記切り出し手段により切り出された複数の画像データを合成して、前記画像データよりも広角な合成画像データを生成する合成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記取得された画像データを複数の領域に分割する分割手段をさらに備え、
前記評価手段は、前記分割手段によって分割された領域ごとに水平方向または垂直方向に切り出し位置を評価することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、前記分割手段によって分割され領域ごとに距離を検出し、
前記評価手段は、水平方向または垂直方向に隣接する領域の間の距離の差分を算出することにより切り出す位置を評価することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記評価手段は、前記隣接する領域の間の距離の差分が所定の値以下である場合は、隣接する方向に切り出すことを禁止する位置と評価することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記評価手段は、前記隣接する領域の間の距離の差分が連続して所定の値以下である場合は、隣接する方向に切り出すことを禁止する位置と評価することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記検出手段は、前記分割手段によって分割され領域において検出した距離が所定の値を超える場合は、無限として検出ことを特徴とする請求項３〜５の何れか１項に記載の画像処理装置。
【請求項７】
前記評価手段による評価の結果をメタデータとして前記画像データに書き込む関連付け手段をさらに備えることを特徴とする請求項１〜６の何れか１項に記載の画像処理装置。
【請求項８】
前記画像データから人物の存在する領域を検出する人物検出手段をさらに備え、
前記評価手段は、前記人物検出手段により人物が検出された領域を、切り出すことを禁止する領域と評価することを特徴とする請求項３〜６の何れか１項に記載の画像処理装置。
【請求項９】
前記取得手段は、撮像手段により前記複数の画像データを取得することを特徴とする請求項１〜８の何れか１項に記載の画像処理装置。
【請求項１０】
前記複数の画像データを記憶する記憶手段をさらに備え、
前記取得手段は、前記記憶手段から前記複数の画像データを取得することを特徴とする請求項１〜８の何れか１項に記載の画像処理装置。
【請求項１１】
前記切り出し手段によって切り出された複数の画像データの間で位置合わせを行う位置合わせ手段をさらに備え、
前記合成手段は、前記位置合わせ手段によって位置合わせされた複数の画像データを合成することを特徴とする請求項１〜１０の何れか１項に記載の画像処理装置。
【請求項１２】
所定の方向にパンニングしながら被写体を撮像した複数の画像データを取得する画像処理装置の画像処理方法であって、
前記画像処理装置と前記被写体との間の距離を検出する検出工程と、
前記検出工程において検出された距離に基づいて、前記取得された画像データを切り出す位置を評価する評価工程と、
前記評価工程において評価された切り出す位置に従って、前記複数の画像データをそれぞれ切り出す切り出し工程と、
前記切り出し工程において切り出された複数の画像データを合成して、前記画像データよりも広角な合成画像データを生成する合成工程と、
を備えることを特徴とする画像処理方法。
【請求項１３】
所定の方向にパンニングしながら被写体を撮像した複数の画像データを取得する画像処理装置を制御するためのプログラムであって、
前記画像処理装置と前記被写体との間の距離を検出する検出工程と、
前記検出工程において検出された距離に基づいて、前記取得された画像データを切り出す位置を評価する評価工程と、
前記評価工程において評価された切り出す位置に従って、前記複数の画像データをそれぞれ切り出す切り出し工程と、
前記切り出し工程において切り出された複数の画像データを合成して、前記画像データよりも広角な合成画像データを生成する合成工程と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、画像のパノラマ合成を行うために用いて好適な画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、パンニングしながら静止画を連続撮影し、連続撮影した静止画を合成することによってパノラマ画像を生成する手法が提案されている（例えば特許文献１参照）。以下、このような手法をパンニングパノラマ合成と呼ぶ。従来、パンニングパノラマ合成を行う際に、合成の繋ぎ目に物体が存在すると、物体が一部切れた不自然なパノラマ画像になることがある。この不自然なパノラマ画像を抑制するため、例えば特許文献２に記載の方法では、物体までの距離情報を用いて画像間に共通する物体を重ね合わせている。そして、重ね合わせた位置から画像中心部に対して反対側の位置で各画像を切り出すことによって、物体を包含して合成するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２８７６４号公報
【特許文献２】特開２０１０−１８７１９４号公報
【特許文献３】特開２０１２−１５０２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献２で提案された技術では、重ね合わせた位置から画像中心部に対して反対側の位置に別の物体が存在している場合は、切り出した画像の繋ぎ目に物体が存在してしまい、不自然なパノラマ画像になってしまうことがある。
【０００５】
本発明は前述の問題点に鑑み、複数の物体が存在する場合に適切に画像を切り出して合成画像を生成できるようにすることを目的としている。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、所定の方向にパンニングしながら被写体を撮像した複数の画像データを取得する取得手段を備えた画像処理装置であって、前記画像処理装置と前記被写体との間の距離を検出する検出手段と、前記検出手段により検出された距離に基づいて、前記取得手段によって取得された画像データを切り出す位置を評価する評価手段と、前記評価手段によって評価された切り出す位置に従って、前記複数の画像データをそれぞれ切り出す切り出し手段と、前記切り出し手段により切り出された複数の画像データを合成して、前記画像データよりも広角な合成画像データを生成する合成手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数の物体が存在する場合であっても、切り出す領域を適切に評価して、物体の一部が途切れた不自然な合成画像を生成することを抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るデジタルカメラの内部構成例を示すブロック図である。
【図２】本発明の第１の実施形態において、パンニングパノラマ合成モードでパノラマ画像を生成する処理手順の一例を示すフローチャートである。
【図３】画像データの切り出し領域の一例を示す図である。
【図４】デジタルカメラから被写体までの距離を説明するための図である。
【図５】図４に示す撮影状況で撮影された画像の一例を示す図である。
【図６】画像の距離マップの一例を示す図である。
【図７】評価値を算出する際のＤエリアの読み出し順序を説明するための図である。
【図８】評価値の算出結果のテーブルの一例を示す図である。
【図９】図８に示した判断結果を画像に関連付けた結果の一例を示す図である。
【図１０】全体画像から切り出された画像の一例を示す図である。
【図１１】パノラマ合成された画像の振り分けを説明するための図である。
【図１２】最終的にパノラマ合成された画像の一例を示す図である。
【図１３】本発明の第２の実施形態において、パンニングパノラマ合成モードでパノラマ画像を生成する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
以下、本発明の第１の実施形態について、図面を参照しながら説明する。
図１は、本実施形態に係るデジタルカメラ１００の内部構成例を示すブロック図である。
図１において、撮像部１２１は、Ａ／Ｄ変換部１０４へ撮像信号を出力する。本実施形態においては、後述するパンニングパノラマ合成モードにより撮像信号を生成することが可能である。Ａ／Ｄ変換部１０４は、撮像信号を画像データにデジタル化し、画像処理部１０５へ出力する。
【００１０】
画像処理部１０５は、ホワイトバランス、色変換等の様々な画像形成処理や、形成後の画像を圧縮する圧縮処理、人物の顔が誰であるかを認識する画像認識処理を行う。また、画像処理部１０５は、画像を領域で切り出す切り出し処理、複数の画像の位置合わせを行う位置合わせ処理、および複数の画像を合成する合成処理を行う。本実施形態においては、さらに、画像処理部１０５は、物体が存在するか否かを判断する物体判断処理、および判断に使用した情報や判断結果を画像データと関連付けてメタデータとして書き込む関連付け処理を行う。
【００１１】
画像処理部１０５により処理された画像データは、バス１１２を介してメインメモリ１１４へ一時的に格納される。格納された画像データは記録部１１５を介して外部の記録媒体（図示せず）に記録されるか、もしくは通信部１１６を介して、パーソナルコンピュータ等の外部装置（図示せず）に送信される。なお、メインメモリ１１４に格納された画像データは画像処理部１０５により再処理することが可能である。
【００１２】
スイッチ群１１７は、レリーズスイッチ、モード切替スイッチなどから構成され、撮影モードの設定など、撮影に関わる様々な情報をＣＰＵ１１１へ出力する。またレリーズスイッチが出力する信号は、ＡＥやＡＦの動作開始トリガや、撮影の開始、完了トリガとなる。ＣＰＵ１１１はこれらの開始トリガを受けて、撮像部１２１、表示部１０６など、撮影装置の各部の制御を行う。また、ＲＯＭ１１３には、ＣＰＵ１１１が実行するためのプログラムやデータが格納されている。
【００１３】
表示部１０６は、デジタルカメラ１００のユーザインターフェース画面を表示するか、電子ビューファインダとして使用するか、もしくは撮影後の広角画像を表示する。また、表示部１０６はタッチパネルを有しており、タッチ操作の情報をＣＰＵ１１１へ出力する。
【００１４】
次に、パンニングパノラマ合成モードにおいて、パンニングしながら連続撮影し、連続撮影した画像を合成してパノラマ画像を生成する手順について、図２のフローチャートを参照しながら説明する。
【００１５】
図２は、本実施形態において、パンニングパノラマ合成モードでパノラマ画像を生成する処理手順の一例を示すフローチャートである。
まず、ユーザーによりスイッチ群１１７が操作されることによりパンニングパノラマ合成モードの指示が出されると、処理を開始する。そして、ステップＳ２０１において、ＣＰＵ１１１は、ＲＯＭ１１３、メインメモリ１１４もしくは記録部１１５から、パンニングの方向などの必要な撮影条件の情報を読み出し、撮影条件として設定する。撮影条件は予め初期値が設定されており、スイッチ群１１７から入力される情報により任意の撮影条件を設定することも可能である。
【００１６】
次に、ステップＳ２０２において、撮像部１２１により撮像処理を行い、Ａ／Ｄ変換部１０４、画像処理部１０５の処理を経て、メインメモリ１１４に画像データを書き込む。このとき、パンニングしながら連続撮影し、複数の画像データをメインメモリ１１４に書き込む。書き込んだ画像データの詳細については後述する。
【００１７】
次に、ステップＳ２０３において、画像処理部１０５は、メインメモリ１１４から画像データを読み出し、読み出した画像データをあらかじめ決められた距離情報取得エリア（以下、Ｄエリアとする）に分割する。Ｄエリアの分割数は、画像処理部１０５の演算能力やフレームレート等の制限に応じて適宜決められる。すなわち、フレームレートが高い、あるいは画像処理部１０５の演算能力が低いほど、Ｄエリアの分割数を少なくするようにしてもよい。
【００１８】
次に、ステップＳ２０４において、画像処理部１０５は、各Ｄエリアを代表する距離情報として被写体距離を算出する。ここで、１つのＤエリアに複数の距離情報が存在する場合は、中央値、平均値などを用いて被写体距離を算出する。Ｄエリアごとの距離情報は、位相差方式や、測距センサ（図示せず）、任意のアルゴリズムなどを用いて取得し、画像データと関連付ける。また、画像データのメタファイルに被写体までの距離情報が書き込まれている場合は、その距離情報をそのまま使用してもよい。
【００１９】
なお、位相差方式によってＤエリアごとの距離情報を取得する場合は、例えば特許文献３に記載の方法のように、撮像部１２１内の画素配列（図示せず）を撮影用画素と焦点検出用画素とに分類しておく。そして、焦点検出用画素を画素配列の全領域へ離散的に分布しておくことにより、撮影用画素の近傍に分布された焦点検出画素から焦点検出を行って画像データのＤエリア毎の距離情報を取得する。そして、画像処理部１０５は、このようにして得られたＤエリアごとの被写体距離を距離マップとして生成する。距離マップの詳細については後述する。
【００２０】
次に、ステップＳ２０５において、画像処理部１０５は、生成した距離マップから評価値を算出する。評価値の算出方法の詳細については後述する。次に、ステップＳ２０６において、画像処理部１０５は、算出した評価値に基づいて、物体が存在するか否かを判断する物体判断処理を行う。この物体判断処理の詳細については後述する。次に、ステップＳ２０７において、画像処理部１０５は、物体判断処理の結果を画像データに書き込む関連付け処理を行う。この関連付け処理の詳細については後述する。
【００２１】
次に、ステップＳ２０８において、画像処理部１０５は、合成候補の画像データをメインメモリ１１４から読み出して、位置合わせ処理を行う。合成候補の画像データの数は、撮像処理された画像データの中から、画像処理部１０５の演算能力やフレームレート等の制限に応じて適宜決められる。すなわち、フレームレートが高い、あるいは画像処理部１０５の演算能力が低いほど、合成候補の画像データを少なくするようにしてもよい。なお、１枚目の画像データを生成した段階では、位置合わせを行う対象となる画像データが存在しないため、以下、ステップＳ２０８、Ｓ２０９の処理を省略してステップＳ２１０へ進むようにする。
【００２２】
また、位置合わせ処理では、合成候補の画像データの位置ずれを補正する。具体的には、画像処理部１０５は画像データ間の位置ずれを検出する。具体的には、画像を任意のサイズの小ブロックに分割して、小ブロック毎に輝度のＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）が最小となる対応点を算出して、動きベクトルを算出する方法などにより位置すれを検出する。続いて、画像処理部１０５は、算出した動きベクトルから写像パラメータを算出して画像データの位置ずれを補正する。
【００２３】
次に、ステップＳ２０９において、画像処理部１０５は、位置合わせ処理の位置ずれ補正結果から画像データの位置合わせが可能か否かを判断する。この判断の結果、位置合わせが可能である場合（ステップＳ２０９：ＹＥＳ）は、画像データの合成処理が可能であると判断し、次のステップＳ２１０に進む。一方、位置合わせが不可能である場合（ステップＳ２０９：ＮＯ）は、Ｓ２０７で関連付けた画像データは、合成処理が不可能と判断し、ステップＳ２２０に進む。
【００２４】
ステップＳ２２０においては、ＣＰＵ１１１は、表示部１０６に「撮影失敗しました。」などのメッセージを表示し、失敗したことを報知する。メッセージを表示後、パンニングパノラマ合成モードを終了する。
【００２５】
一方、ステップＳ２１０においては、画像処理部１０５は、ステップＳ２０７で関連付けた画像データにおいて、人物の顔を認識する画像認識処理（人物検出処理）を行う。具体的な方法としては公知の手法を用いる。画像認識処理により人物の顔が認識された領域と物体判断処理により判断された物体が存在する領域とに相違がある場合は、例えば双方の領域を包含するように判断結果を更新することにより物体判断の精度を向上させることができる。
【００２６】
次に、ステップＳ２１１においては、ステップＳ２０７で関連付けた画像データに対して、切り出し処理を行う。ここで、切り出し処理に関して、図３を用いて説明する。図３に示すハッチング領域は、画像データの切り出し領域を示し、図３に示す太い矢印は、パンニングの方向を示している。
【００２７】
図３（ａ）は、撮像部１２１の有効画像領域を示しており、ＷVが水平方向の有効画素数であり、ＨVが垂直方向の有効画素数である。図３（ｂ）は、画像データの切り出し領域を示しており、Ｗcropが水平方向の切り出し画素数であり、Ｈcropが垂直方向の切り出し画素数である。
【００２８】
図３（ｃ）は、水平方向にパンニングした場合の画像の切り出し領域を示しており、水平方向Ｗ1からＷ2の領域における画像データの切り出しは、ＷV＞Ｗcropとし、垂直方向の画像データの切り出しは、ＨV＝Ｈcropとする。また、図３（ｄ）は、垂直方向にパンニングした場合の画像の切り出し領域を示しており、垂直方向Ｈ1からＨ2の領域における画像データの切り出しは、ＷV＝Ｗcropとし、垂直方向の画像データの切り出しは、ＨV＞Ｈcropとする。
【００２９】
なお、切り出し領域は、画像データ毎に異なる切り出し領域としてもよい。また、パンニング開始時およびパンニング終了時の生成された画像データに関しては、画角を広くするために切り出し領域を広くしてもよい。本実施形態では、画像処理部１０５の物体判断処理により物体が存在しないと判断した領域から水平方向にパンニングする場合は水平方向Ｗ1、Ｗ2を決定し、垂直方向にパンニングする場合は垂直方向Ｈ1、Ｈ2を決定する。なお、切り出し処理後の不要になった画像データはメインメモリ１１４から削除してもよい。
【００３０】
次に、ステップＳ２１２において、ＣＰＵ１１１は、ユーザーによるスイッチ群１１７の操作により、パンニングパノラマ合成モードの撮影を完了する指示が出されているか否かを確認する。この確認の結果、撮影完了指示が出されている場合（ステップＳ２１２：ＹＥＳ）は、合成処理を行うため、次のステップＳ２１３へ進む。一方、撮影完了指示が出されていない場合（ステップＳ２１２：ＮＯ）は、パンニングして撮像処理を続けるため、ステップＳ２０２に戻る。なお、スイッチ群１１７の操作とは、例えばレリーズスイッチの操作により撮影完了トリガの信号が出力された場合を示す。
【００３１】
次に、ステップＳ２１３において、画像処理部１０５は、複数の画像データを用いて合成処理を行い、合成画像データとしてパノラマ画像を生成する。複数の画像データは、撮像処理された画像データの中から、画像処理部１０５の演算能力やフレームレート等の制限に応じて、最適な合成画像が生成できるように適宜決められ、画像データ間の重複部に加重加算などを行って合成される。最後に、ステップＳ２１４において、ＣＰＵ１１１は、合成処理で生成したパノラマ画像を記録部１１５に記録し、パンニングパノラマ合成モードにおける処理を終了する。
【００３２】
次に、本実施形態において、パンニングパノラマ合成モードでの撮影開始からパノラマ画像の生成までの一連の流れに関して、図４から図１２を用いて説明する。
図４は、デジタルカメラ１００から被写体４０１、４０２、４０３までの距離を説明するための図である。本実施形態では、デジタルカメラ１００の距離分解能は、Ｄ１、Ｄ２、Ｄ３、∞（無限）の４段階とする。図４に示す例では、被写体４０１はデジタルカメラ１００から距離Ｄ２だけ離れた位置に存在し、被写体４０２、４０３は距離Ｄ３だけ離れた位置に存在する。また、距離Ｄ３より遠い場合は∞とする。
【００３３】
図５は、図４に示す撮影状況でデジタルカメラ１００を水平方向にパンニングしながら連続撮影した際に、図２のステップＳ２０２で生成される画像の一例を示す図である。図５に示す例では、各被写体の水平方向の位置関係は、左から被写体４０３、被写体４０１、被写体４０２の順に存在する。
【００３４】
図６は、図２のステップＳ２０４でＤエリアごとに距離を抽出して作成する距離マップの一例を示す図である。まず、図２のステップＳ２０３の処理により、図５に示した画像が水平方向にＸ０からＸ１１、垂直方向にＹ０からＹ７のＤエリアに分割されている。図６において、距離Ｄ１は近距離の地面が該当し、Ｄエリアの垂直方向Ｙ０に分布している。距離Ｄ２は、被写体４０１及び中距離の地面が該当し、Ｄエリアの垂直方向Ｙ１、および垂直方向Ｙ２からＹ５の一部に分布している。距離Ｄ３は、被写体４０２、４０３及び長距離の地面が該当し、Ｄエリアの垂直方向Ｙ２、および垂直方向Ｙ３からＹ５の一部に分布している。距離∞は上記以外のＤエリアに分布している。
【００３５】
図７は、図６の距離マップから評価値を算出する際のＤエリアの読み出し順序を説明するための図である。図７において、Ｓ０からＳ１１はＤエリアの読み出し順を示している。まず、Ｓ０の矢印の方向に従って垂直方向にＤエリアを連続して読み出す。このＤエリアの読み出しをＳ１、Ｓ２、Ｓ３、・・・Ｓ１１と繰り返すことにより、垂直方向の距離に着目した評価値を算出する。なお、Ｄエリアの読み出し順は、Ｓ１１、Ｓ１０、・・・Ｓ０という順序のように逆の順序でもよく、Ｓ４からＳ６までのように読み出す範囲を予め指定してもよく、特に限定しない。また、垂直方向にパンニングした場合は、Ｄエリアの読み出し方向を水平方向とすることにより、水平方向の距離に着目して評価値を算出することができる。
【００３６】
図８は、図５に示した画像における評価値の算出結果のテーブルを示す図である。ここで、評価値の算出方法について説明する。まず、連続して読み出したＤエリア間の距離の差分を絶対値として用いる。例えば、図７のＳ０の矢印に従って連続する垂直方向Ｙ０、Ｙ１のＤエリアを比較し、それぞれの距離Ｄ１、Ｄ２の差分を絶対値として評価値Ａ１（Ｄ２−Ｄ１）を算出する。このような評価値の算出方法を繰り返して、垂直方向の距離に着目した評価値を算出する。
【００３７】
次に、評価値の算出時に用いる評価対象外となるＤエリアでの距離について説明する。評価対象外となるＤエリアにおける距離は、初期値として∞とみなされる光学系の最大値が設定されている。評価値を算出する際に、対象となるＤエリアにおける距離が評価対象外となる距離以上の場合は、図２のステップＳ２０６で物体が存在しないと判断できるように評価値−を算出する。例えば、図７のＳ０の矢印に従って連続する垂直方向Ｙ２、Ｙ３のＤエリアを比較する場合は、垂直方向Ｙ３のＤエリアにおける距離は距離∞のため、評価値−を算出する。なお、評価対象外となるＤエリアでの距離は、ユーザーがスイッチ群１１７を操作することにより、任意に距離を設定することも可能である。
【００３８】
また、図８に示すテーブルにおいて、最上位の行は評価結果を示しおり、図８に示す例では、垂直方向毎の物体が存在するか否かの評価結果を"true"、または"false"で表記している。なお、評価結果の詳細については後述する。また、最下位の行は、Ｄエリアの水平方向の座標を示し、その他の行はＤエリアを垂直方向に読み出した際の距離の差分を示している。例えば、垂直方向Ｙ１での距離と直前の隣接する垂直方向Ｙ０での距離との差分は、区間（Ｙ１−Ｙ０）の行に評価値を表記している。また、各評価値については、例えば、評価値Ａ１（Ｄ２−Ｄ１）、評価値Ａ２（Ｄ３−Ｄ２）、評価値−、評価値０（Ｄ２−Ｄ２、またはＤ３−Ｄ３）といった表現で表記する。
【００３９】
次に、垂直方向毎に物体が存在するか否かの判断に用いる評価閾値について説明する。評価閾値は、図２のステップＳ２０６で評価値から物体が存在するか否かを判断するための閾値である。評価閾値は初期値として０が設定されており、デジタルカメラ１００の距離分解能に応じて適宜決められる。
【００４０】
次に、この評価閾値を用いて物体が存在するか否かを判断する方法について、図８に示すテーブルを用いて説明する。図８において、水平方向Ｘ０、Ｘ４、Ｘ７、Ｘ８、Ｘ１０、Ｘ１１は、区間（Ｙ１−Ｙ０）では評価値Ａ１（Ｄ２−Ｄ１）であり、区間（Ｙ２−Ｙ１）では評価値Ａ２（Ｄ３−Ｄ２）であり、区間（Ｙ３−Ｙ２）以降では評価値−となっている。これら全ての評価値が評価閾値を超えている場合には、物体が存在しないと判断する。なお、評価値−の場合は、評価閾値との比較は行わずに、評価閾値を超えたことと同様に判断する。
【００４１】
一方、水平方向Ｘ１、Ｘ２、Ｘ３においては、区間（Ｙ３−Ｙ２）から区間（Ｙ５−Ｙ４）の評価値が０（Ｄ３−Ｄ３）となり、評価値が評価閾値以下であるため、物体が存在すると判断する。また、水平方向Ｘ５、Ｘ６においては、区間（Ｙ２−Ｙ１）から区間（Ｙ５−Ｙ４）の評価値が０（Ｄ２−Ｄ２）となり、評価値が評価閾値以下であるため、物体が存在すると判断する。さらに、水平方向Ｘ９においては、区間（Ｙ３−Ｙ２）および区間（Ｙ４−Ｙ３）の評価値が０（Ｄ３−Ｄ３）となり、評価値が評価閾値以下であるため、物体が存在すると判断する。
【００４２】
なお、評価閾値は、例えばデジタルカメラ１００の距離分解能が高い場合には、評価値が所望の範囲内であれば物体が存在していると判断できるよう範囲を設定してもよい。また、本実施形態では、垂直方向ごとに評価値が所定の評価閾値以下になる場合は、物体が存在すると判断しているが、例えば評価値が所定の評価閾値以下になる状態が複数回連続した場合に限って物体が存在すると判断してもよい。
【００４３】
図９は、図８に示した判断結果を図２のステップＳ２０７の関連付け処理で画像データに関連付けた結果の一例を示す図である。図９（ａ）におけるハッチング領域は、画像内で物体が存在しない垂直方向の領域を示し、図９（ｂ）におけるハッチング領域は、"true"に該当する判断結果を示している。画像の垂直方向ごとに物体が存在しないと判断された場合は"true"と判断し、物体が存在すると判断された場合は"false"と判断し、その結果が画像データのメタデータに書き込まれる。つまり、画像データのメタデータを参照することにより、垂直方向Ｘ０、Ｘ４、Ｘ７、Ｘ８、Ｘ１０、Ｘ１１は、物体が存在しないことを確認できる。また、関連付け処理では、さらに画像データのメタデータに評価に用いた被写体までの距離情報や距離マップなどを書き込んでもよい。
【００４４】
図１０は、図２のステップＳ２１１の切り出し処理により、図９に示した画像から切り出された画像の一例を示す図である。図１０に示す例では、水平方向にパンニングして連続撮影して、７枚目の画像Ｔ７から切り出している。具体的には、図９に示す画像から物体の存在する水平方向Ｘ５、Ｘ６を切り出し禁止領域として残し、物体が存在しない水平方向Ｘ４、Ｘ７で切り出している。
【００４５】
図１１は、図４の撮影状況で水平方向にパンニングして連続撮影し、撮影終了後に図２のステップＳ２１３で合成した画像の一例を示す図である。画像Ｔ１からＴ１５は、水平方向にパンニングして連続撮影した１５枚の画像を切り出し、位置ずれ補正したものである。このように本実施形態では、切り出した各画像のつなぎ目に被写体４０１、４０２、４０３は存在しない。なお、図１２には、図２のステップＳ２１４で記録されるパノラマ画像の一例を示している。
【００４６】
以上のように本実施形態によれば、撮影した画像をＤエリアに分割してそれぞれのＤエリアで距離情報を取得して距離マップを生成し、物体が存在する領域を判断する。そして、物体が存在する領域に従って切り出し位置を評価するようにした。これにより、画像を切り出す際に、被写体部分が途切れることを防止することができ、被写体部分に切れ目が生じないパノラマ画像を生成することができる。
【００４７】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。第１の実施形態では、連続撮影時の画像データに対して物体判断処理を行う方法について説明した。これに対して本実施形態では、予め記録部１１５に記録されている撮影用画素と焦点検出用画素とを含むＲＡＷデータ形式の画像データを複数用いて画像合成処理する方法について説明する。本実施形態に係るデジタルカメラ１００の構成については図１と同様であるため、説明は省略する。
【００４８】
なお、このＲＡＷデータは、撮像部１２１から出力された撮像信号をＡ／Ｄ変換部１０４で画像データに変換しただけの画像形式である。また、ＲＡＷデータは撮影用画素と焦点検出用画素とで構成されており、第１の実施形態と同様に画像データのＤエリア毎の距離情報を取得することができる。
【００４９】
図１３は、画像合成モードにおいてパノラマ画像を生成する処理手順の一例を示すフローチャートである。以下、図２と同じ処理については説明を省略する。
まず、ステップＳ１３０１において、ＣＰＵ１１１は、読み出し条件を設定し、記録部１１５に記録されている複数の画像データの中からパノラマ合成に用いる画像データを検索する。読み出し条件は、全ての画像データを読み出す初期設定値が格納されており、ユーザーによるスイッチ群１１７の操作により任意の読み出し条件を設定することも可能である。そして、ステップＳ１３０２において、ＣＰＵ１１１は、ステップＳ１３０１で検索された順に画像データを記録部１１５から読み出す。
【００５０】
次に、ステップＳ２０３からＳ２１１までの処理は、図２と同様の処理である。そして、ステップＳ１３０３において、ユーザーによりスイッチ群１１７が操作され、ＣＰＵ１１１は、画像合成モードの中断指示を入力しているか否かを確認する。この判断の結果、中断指示を入力している場合（ステップＳ１３０３：ＹＥＳ）は、中断処理を行うため、ステップＳ２２０へ進む。一方、中断指示を入力していない場合（Ｓ１３０３：ＮＯ）は、次のステップＳ１３０４に進む。
【００５１】
次に、ステップＳ１３０４においては、ステップＳ１３０１で検索された画像データを全て読み出したか否かを確認する。Ｓ１３０１で検索された画像データを全て読み出した場合（ステップＳ１３０４：ＹＥＳ）は、合成処理を行うためステップＳ２１３に進む。一方、Ｓ１３０１で検索された画像データを全て読み出していない場合（ステップＳ１３０４：ＮＯ）は、画像データの読み出しを続けるため、ステップＳ１３０２に戻る。なお、ステップＳ２１３、Ｓ２１４、およびＳ２２０は図２と同様の処理である。
【００５２】
以上のように本実施形態によれば、画像を切り出す際に、被写体部分が途切れることを防止することができ、被写体部分に切れ目が生じないパノラマ画像を生成することができる。
【００５３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５４】
１０５  画像処理部
１１１  ＣＰＵ
【図１】
2015109593.tif 000003
【図２】
2015109593.tif 000004
【図３】
2015109593.tif 000005
【図４】
2015109593.tif 000006
【図５】
2015109593.tif 000007
【図６】
2015109593.tif 000008
【図７】
2015109593.tif 000009
【図８】
2015109593.tif 000010
【図９】
2015109593.tif 000011
【図１０】
2015109593.tif 000012
【図１１】
2015109593.tif 000013
【図１２】
2015109593.tif 000014
【図１３】
2015109593.tif 000015