(57)【特許請求の範囲】
【請求項１】
被写体像を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置であって、
前記撮像部によって撮像された前記画像データをライブビュー画像として連続表示する表示部と、
前記ライブビュー画像の複数の画像データから画像の動き量を検出するライブビュー期間動き検出部と、
前記撮影処理の開始直前に得られたライブビュー画像の画像データおよび終了直後に得られたライブビュー画像の画像データから画像の動き量を検出する撮影前後動き検出部と、
前記ライブビュー期間動き検出部による検出結果をもとに前記ライブビュー画像の表示中におけるライブビュー時画像移動量を算出するとともに、前記撮影前後動き検出部による検出結果をもとに前記撮影処理中における撮影時画像移動量を算出する画像移動量算出部と、
を備えることを特徴とする撮像装置。
【請求項２】
前記撮影処理の開始から終了までの撮影時間を計測する撮影時間計測部と、
前記撮影時間計測部によって計測された撮影時間に応じて縮小率を設定する縮小率設定部と、
を備え、
前記撮影前後動き検出部は、前記撮影処理の開始直前に得られたライブビュー画像の画像データおよび終了直後に得られたライブビュー画像の画像データを前記縮小率設定部によって設定された縮小率で縮小処理することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記撮影前後動き検出部による検出結果の信頼性を判定する信頼性判定部を備え、
前記画像移動量算出部は、前記信頼性判定部によって信頼性ありと判定された検出結果をもとに、前記撮影時画像移動量を算出することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記信頼性判定部によって前記撮影前後動き検出部の検出結果が信頼性なしと判定された場合に、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを、前記信頼性判定部が信頼性ありと判定するまで繰り返し行い、
前記縮小率設定部は、縮小率の設定の度に、前記縮小処理後の画像サイズが小さくなるように前記縮小率の設定を行うことを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記画像移動量算出部は、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを所定回数繰り返した結果、前記信頼性判定部によって信頼性ありと判定されなかった場合に、前記撮影処理前に前記ライブビュー期間動き検出部によって検出された画像の動き量および／または前記撮影処理後に前記ライブビュー期間動き検出部によって検出された画像の動き量をもとに、前記撮影処理中の画像移動量を推定することを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記信頼性判定部によって前記撮影前後動き検出部の検出結果が信頼性ありと判定された場合に、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを、前記信頼性判定部が信頼性なしと判定するまで繰り返し行い、
前記縮小率設定部は、縮小率の設定の度に、前記縮小処理後の画像サイズが大きくなるように前記縮小率の設定を行い、
前記画像移動量算出部は、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを繰り返した結果、前記信頼性判定部によって信頼性なしと判定された場合に、前記撮影前後動き検出部による前回の検出結果をもとに前記撮影時画像移動量を算出することを特徴とする請求項３に記載の撮像装置。
【請求項７】
前記撮影前後動き検出部は、予め設定される所定の探索範囲をもとにパタンマッチングを行って画像の動き量を検出し、
前記信頼性判定部によって前記撮影前後動き検出部の検出結果が信頼性ありと判定された場合に、前記撮影前後動き検出部が前記所定の探索範囲について前回行った動き検出結果をもとに、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを再度行うか否かを判定する実行判定部を備え、
前記縮小率設定部は、前記実行判定部によって行うと判定された場合に、前記前回行った動き検出結果をもとに、前記縮小率を再度設定することを特徴とする請求項３に記載の撮像装置。
【請求項８】
被写体像を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置であって、
前記撮像部によって撮像された前記画像データをライブビュー画像として連続表示する表示部と、
前記ライブビュー画像間の複数の画像データから画像の動き量を検出するライブビュー期間動き検出部と、
前記撮影処理の開始から終了までの撮影時間を計測する撮影時間計測部と、
前記撮影時間計測部によって計測された撮影時間に応じて探索範囲を設定する探索範囲設定部と、
前記撮影処理の開始直前に得られた画像データおよび終了直後に得られた画像データとの間で、前記探索範囲設定部によって設定された前記探索範囲をもとにパタンマッチングを行い、前記各画像データから画像の動き量を検出する撮影前後動き検出部と、
前記ライブビュー期間動き検出部による検出結果をもとに前記ライブビュー画像の表示中におけるライブビュー時画像移動量を算出するとともに、前記撮影前後動き検出部による検出結果をもとに前記撮影処理中における撮影時画像移動量を算出する画像移動量算出部と、
を備えることを特徴とする撮像装置。
【請求項９】
前記画像移動量算出部によって算出される画像移動量をもとに前記撮影処理の開始を指示する撮影開始指示部と、
撮影開始指示部によって開始が指示された初回の撮影処理の後、前記ライブビュー画像上に、前記ライブビュー時画像移動量に従って移動する移動マークと、該移動マークの移動目標位置を示す移動目標マークとを表示する制御を行う表示制御部と、
を備え、
前記表示制御部は、前記撮影時画像移動量をもとに前記移動マークの初期表示位置を設定し、
前記撮影開始指示部は、前記移動マークが前記移動目標位置に移動した時点で、次の撮影処理の開始を指示することを特徴とする請求項１または８に記載の撮像装置。
【請求項１０】
被写体像を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置における撮像方法であって、
前記撮像部によって撮像された前記画像データをライブビュー画像として連続表示する表示ステップと、
前記ライブビュー画像の複数の画像データから画像の動き量を検出するライブビュー期間動き検出ステップと、
前記撮影処理の開始直前に得られたライブビュー画像の画像データおよびライブビュー画像の終了直後に得られた画像データから画像の動き量を検出する撮影前後動き検出ステップと、
前記ライブビュー期間動き検出ステップでの検出結果をもとに前記ライブビュー画像の表示中におけるライブビュー時画像移動量を算出するとともに、前記撮影前後動き検出ステップでの検出結果をもとに前記撮影処理中における撮影時画像移動量を算出する画像移動量算出ステップと、
を含むことを特徴とする撮像装置における撮像方法。
【請求項１１】
被写体像を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置における撮像方法であって、
前記撮像部によって撮像された前記画像データをライブビュー画像として連続表示する表示ステップと、
前記ライブビュー画像間の複数の画像データから画像の動き量を検出するライブビュー期間動き検出ステップと、
前記撮影処理の開始から終了までの撮影時間を計測する撮影時間計測ステップと、
前記撮影時間計測ステップで計測された撮影時間に応じて探索範囲を設定する探索範囲設定ステップと、
前記撮影処理の開始直前に得られた画像データおよび終了直後に得られた画像データとの間で、前記探索範囲設定ステップで設定された前記探索範囲をもとにパタンマッチングを行い、前記各画像データから画像の動き量を検出する撮影前後動き検出ステップと、
前記ライブビュー期間動き検出ステップでの検出結果をもとに前記ライブビュー画像の表示中におけるライブビュー時画像移動量を算出するとともに、前記撮影前後動き検出ステップでの検出結果をもとに前記撮影処理中における撮影時画像移動量を算出する画像移動量算出ステップと、
を含むことを特徴とする撮像装置における撮像方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置およびこの撮像装置における撮像方法に関するものである。
【背景技術】
【０００２】
従来から、デジタルカメラ等の撮像装置において、複数の撮影画像を合成してパノラマ画像を生成するパノラマ撮影モードを備えたものが知られており、撮像装置をパンニングしながら被写体を部分毎に撮影し、撮影した画像データを合成することによって、この部分毎の撮影画像が繋ぎ合されたパノラマ画像を得ることができる。デジタルカメラでは、撮像素子からの出力を所定のフレームレートで表示部に表示させることにより電子ファインダーとして用いているが、パノラマ撮影モードでは、このライブビュー画像間の動きをフレーム毎に検出して積算することによって画像の移動量を求め、撮影画像間の繋ぎ目を検出するようにしている。これによれば、継ぎ目に違和感が生じない適切なタイミングで撮影処理を行うことができる。例えば、特許文献１には、パンニングに伴う画像間の動き（動きベクトル）を求め、この動きベクトルをもとに撮影画像を繋ぎ合わせる際の幅を制御する技術が開示されている。
【０００３】
【特許文献１】特許第３４２１８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、撮影処理中（露光中、転送中等）は撮像素子からの出力がないため、ライブビュー画像の表示が一旦停止され、一時的に表示部に何も表示されないブラックアウト状態となる。ここで、ブラックアウト中に装置本体が動かされてしまうと、この間の画像の動きを検出することができないため、撮影画像間の繋ぎ目を正しく検出できず、画像移動量の算出精度が低下してしまうという問題があった。またこの結果、合成時の繋ぎ目にズレが生じ、生成したパノラマ画像に違和感が生じる場合があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、撮影処理中に生じるブラックアウト時の画像移動量を適切に算出し、画像移動量の算出精度を向上させることができる撮像装置およびこの撮像装置における撮像方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明にかかる撮像装置は、被写体像を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置であって、前記撮像部によって撮像された前記画像データをライブビュー画像として連続表示する表示部と、前記ライブビュー画像の複数の画像データから画像の動き量を検出するライブビュー期間動き検出部と、前記撮影処理の開始直前に得られたライブビュー画像の画像データデータおよび終了直後に得られたライブビュー画像の画像データから画像の動き量を検出する撮影前後動き検出部と、前記ライブビュー期間動き検出部による検出結果をもとに前記ライブビュー画像の表示中におけるライブビュー時画像移動量を算出するとともに、前記撮影前後動き検出部による検出結果をもとに前記撮影処理中における撮影時画像移動量を算出する画像移動量算出部と、を備えることを特徴とする。
【０００７】
また、本発明にかかる撮像装置は、上記の発明において、前記撮影処理の開始から終了までの撮影時間を計測する撮影時間計測部と、前記撮影時間計測部によって計測された撮影時間に応じて縮小率を設定する縮小率設定部と、を備え、前記撮影前後動き検出部は、前記撮影処理の開始直前に得られたライブビュー画像の画像データおよび終了直後に得られたライブビュー画像の画像データを前記縮小率設定部によって設定された縮小率で縮小処理することを特徴とする。
【０００８】
また、本発明にかかる撮像装置は、上記の発明において、前記撮影前後動き検出部による検出結果の信頼性を判定する信頼性判定部を備え、前記画像移動量算出部は、前記信頼性判定部によって信頼性ありと判定された検出結果をもとに、前記撮影時画像移動量を算出することを特徴とする。
【０００９】
また、本発明にかかる撮像装置は、上記の発明において、前記信頼性判定部によって前記撮影前後動き検出部の検出結果が信頼性なしと判定された場合に、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを、前記信頼性判定部が信頼性ありと判定するまで繰り返し行い、前記縮小率設定部は、縮小率の設定の度に、前記縮小処理後の画像サイズが小さくなるように前記縮小率の設定を行うことを特徴とする。
【００１０】
また、本発明にかかる撮像装置は、上記の発目において、前記画像移動量算出部は、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを所定回数繰り返した結果、前記信頼性判定部によって信頼性ありと判定されなかった場合に、前記撮影処理前に前記ライブビュー期間動き検出部によって検出された画像の動き量および／または前記撮影処理後に前記ライブビュー期間動き検出部によって検出された画像の動き量をもとに、前記撮影処理中の画像移動量を推定することを特徴とする。
【００１１】
また、本発明にかかる撮像装置は、上記の発明において、前記信頼性判定部によって前記撮影前後動き検出部の検出結果が信頼性ありと判定された場合に、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを、前記信頼性判定部が信頼性なしと判定するまで繰り返し行い、前記縮小率設定部は、縮小率の設定の度に、前記縮小処理後の画像サイズが大きくなるように前記縮小率の設定を行い、前記画像移動量算出部は、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを繰り返した結果、前記信頼性判定部によって信頼性なしと判定された場合に、前記撮影前後動き検出部による前回の検出結果をもとに前記撮影時画像移動量を算出することを特徴とする。
【００１２】
また、本発明にかかる撮像装置は、上記の発明において、前記撮影前後動き検出部は、予め設定される所定の探索範囲をもとにパタンマッチングを行って画像の動き量を検出し、前記信頼性判定部によって前記撮影前後動き検出部の検出結果が信頼性ありと判定された場合に、前記撮影前後動き検出部が前記所定の探索範囲について前回行った動き検出結果をもとに、前記縮小率設定部による縮小率の設定と前記撮影前後動き検出部による動き検出とを再度行うか否かを判定する実行判定部を備え、前記縮小率設定部は、前記実行判定部によって行うと判定された場合に、前記前回行った動き検出結果をもとに、前記縮小率を再度設定することを特徴とする。
【００１３】
また、本発明にかかる撮像装置は、被写体像を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置であって、前記撮像部によって撮像された前記画像データをライブビュー画像として連続表示する表示部と、前記ライブビュー画像間の複数の画像データから画像の動き量を検出するライブビュー期間動き検出部と、前記撮影処理の開始から終了までの撮影時間を計測する撮影時間計測部と、前記撮影時間計測部によって計測された撮影時間に応じて探索範囲を設定する探索範囲設定部と、前記撮影処理の開始直前に得られた画像データおよび終了直後に得られた画像データとの間で、前記探索範囲設定部によって設定された前記探索範囲をもとにパタンマッチングを行い、前記各画像データから画像の動き量を検出する撮影前後動き検出部と、前記ライブビュー期間動き検出部による検出結果をもとに前記ライブビュー画像の表示中におけるライブビュー時画像移動量を算出するとともに、前記撮影前後動き検出部による検出結果をもとに前記撮影処理中における撮影時画像移動量を算出する画像移動量算出部と、を備えることを特徴とする。
【００１４】
また、本発明にかかる撮像装置は、上記の発明において、前記画像移動量算出部によって算出される画像移動量をもとに前記撮影処理の開始を指示する撮影開始指示部と、撮影開始指示部によって開始が指示された初回の撮影処理の後、前記ライブビュー画像上に、前記ライブビュー時画像移動量に従って移動する移動マークと、該移動マークの移動目標位置を示す移動目標マークとを表示する制御を行う表示制御部と、を備え、前記表示制御部は、前記撮影時画像移動量をもとに前記移動マークの初期表示位置を設定し、前記撮影開始指示部は、前記移動マークが前記移動目標位置に移動した時点で、次の撮影処理の開始を指示することを特徴とする。
【００１５】
また、本発明にかかる撮像装置における撮像方法は、被写体像を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置における撮像方法であって、前記撮像部によって撮像された前記画像データをライブビュー画像として連続表示する表示ステップと、前記ライブビュー画像の複数の画像データから画像の動き量を検出するライブビュー期間動き検出ステップと、前記撮影処理の開始直前に得られた画像データおよび終了直後に得られた画像データを所定の縮小率で縮小処理し、該縮小処理後の各画像データから画像の動き量を検出する撮影前後動き検出ステップと、前記ライブビュー期間動き検出ステップでの検出結果をもとに前記ライブビュー画像の表示中におけるライブビュー時画像移動量を算出するとともに、前記撮影前後動き検出ステップでの検出結果をもとに前記撮影処理中における撮影時画像移動量を算出する画像移動量算出ステップと、を含むことを特徴とする。
【００１６】
また、本発明にかかる撮像装置における撮像方法は、被写体像を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置における撮像方法であって、前記撮像部によって撮像された前記画像データをライブビュー画像として連続表示する表示ステップと、前記ライブビュー画像の複数の画像データから画像の動き量を検出するライブビュー期間動き検出ステップと、前記撮影処理の開始直前に得られたライブビュー画像の画像データおよびライブビュー画像の終了直後に得られた画像データから画像の動き量を検出する撮影前後動き検出ステップと、前記ライブビュー期間動き検出ステップでの検出結果をもとに前記ライブビュー画像の表示中におけるライブビュー時画像移動量を算出するとともに、前記撮影前後動き検出ステップでの検出結果をもとに前記撮影処理中における撮影時画像移動量を算出する画像移動量算出ステップと、を含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ライブビュー画像の表示中では、ライブビュー画像間の動きを検出することによって画像移動量を算出することができる。また、撮影処理の開始直前のライブビュー画像および終了直後のライブビュー画像を撮影時間に応じた縮小率で縮小処理し、この縮小処理後の各画像間の動きを検出することによって、撮影処理中における画像移動量を算出することができる。これによれば、ライブビュー画像の表示が一旦停止されてブラックアウトが生じる撮影処理中の撮影時画像移動量を適切に算出することができ、画像移動量を精度良く算出することができる。したがって、撮影処理中に装置本体が動かされた場合であっても、撮影画像間の繋ぎ目を正しく検出することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照し、本発明の好適な実施の形態について詳細に説明する。本実施の形態では、本発明の撮像装置をデジタルカメラに適用した場合を例にとって説明する。
【００１９】
（実施の形態）
図１は、デジタルカメラ１の背面図である。図１に示すように、デジタルカメラ１は、カメラ本体２の上面に配設された撮影タイミングを指示するためのシャッターボタン（レリーズボタン）３、カメラ本体２の背面に配設された電源ボタン４やメニューボタン５、上下左右の各方向ボタン（上ボタン、下ボタン、左ボタンおよび右ボタン）を有する十字ボタン６、操作内容を確定する等のためのＯＫボタン７、各種画面を表示する表示部２２等を備えている。また、図示しないが、カメラ本体２の前面には、ファインダーや撮像レンズ等が配設されている。ユーザが電源ボタン４を押下し、電源をＯＮすると、デジタルカメラ１は撮影可能な状態（撮影モード）となる。この撮影モードでは、撮像レンズを通して撮像素子１２（図２参照）に結像されている被写体像が１フレーム（例えば１／３０秒）毎に取り込まれ、ライブビュー画像として表示部２２にリアルタイムに表示されるようになっている。そして、例えばシャッターボタン３の押下タイミング等で電子的な撮影が行われる。
【００２０】
先ず、このデジタルカメラ１の構成について説明する。図２は、デジタルカメラ１の構成例を示す概略ブロック図である。図２に示すように、デジタルカメラ１は、撮像光学系１１、撮像部としての撮像素子１２、ＡＦＥ（Analog Front End）１３、フレームメモリ１４、動き検出部１５、画像処理部１６、記録媒体Ｉ／Ｆ１７、記録媒体保持部１８、記録媒体１９、ビデオエンコーダ２０、表示ドライバ２１、表示部２２、ビデオ信号出力端子２３、操作部２４、ＲＡＭ２５、ＲＯＭ２６、コントローラ２７等を備える。
【００２１】
撮像光学系１１は、撮像レンズ、絞り、シャッター等を含み、入射される被写体像を撮像素子１２に結像する。撮像素子１２は、例えばＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の固体撮像素子であり、被写体からの光束を撮像光学系１１を介して受光し、光電変換することによってフレーム単位の画像データ（アナログ電気信号）を得るものである。ＡＦＥ１３は、撮像素子１２によって得られる画像データに対してＣＤＳ（Correlated Double Sampling）やＡＧＣ（Automatic Gain Control）等のアナログ信号処理を施した後、Ａ／Ｄ変換処理を施してデジタル電気信号に変換する。ＡＦＥ１３によってデジタル化された画像データは、フレームメモリ１４および動き検出部１５に出力されるとともに、ＲＡＭ２５に一時的に記憶される。
【００２２】
フレームメモリ１４は、動き検出部１５による作業用メモリとして用いられる。このフレームメモリ１４は、過去２フレーム分の画像データを記憶するための領域を備え、前回取り込まれたライブビュー画像の画像データと、今回取り込まれたライブビュー画像の画像データとが記憶される。すなわち、ライブビュー画像の表示時（以下、「ライブビュー時」と呼ぶ。）では、直前に取り込まれた直前フレームのライブビュー画像（直前フレーム画像）の画像データおよび現フレームのライブビュー画像（現フレーム画像）が記憶される。また、撮影処理が開始されるとライブビュー画像の表示が一旦停止されるが、この撮影処理中（以下、「撮影時」と呼ぶ。）では、その開始前の最後に取り込まれた撮影直前フレームのライブビュー画像（撮影直前フレーム画像）の画像データが記憶され、撮影処理後、ライブビュー画像の表示が復帰した時点で、現フレームのライブビュー画像が撮影直後フレームのライブビュー画像（撮影直後フレーム画像）として記憶される。
【００２３】
動き検出部１５は、ＡＦＥ１３からの画像データをもとに、画像間の動きを検出するためのものである。図３は、動き検出部１５が行う動き検出の概要を説明する説明図である。動き検出部１５は、撮影処理の後、最初に取り込まれるライブビュー画像である撮影直後フレーム画像および既にフレームメモリ１４に記憶されている撮影直前フレーム画像を縮小処理し、縮小処理後の撮影直前フレーム画像と縮小処理後の撮影直後フレーム画像とを比較する。そして、各画像に映る同一の被写体位置の変化量を表す動きベクトルを撮影前後検出結果として算出することによって、撮影前後動き検出部として機能する。また、ライブビュー時では、動き検出部１５は、ＡＦＥ１３から随時入力される現フレームのライブビュー画像（現フレーム画像）を既にフレームメモリ１４に記憶されている直前フレーム画像と比較する。そして、各画像に映る同一の被写体位置の変化量を表す動きベクトルを直前フレーム間検出結果として算出することによって、ライブビュー期間動き検出部として機能する。
【００２４】
図４は、この動き検出部１５の機能構成を示す模式図である。図４に示すように、動き検出部１５は、コントローラ２７の撮影時間計測部２７３によって計測された撮影時間に応じて縮小率を設定する縮小率設定部１５１と、撮影直前フレーム画像および撮影直後フレーム画像を、縮小率設定部１５１が設定した縮小率で縮小処理する縮小処理部１５３と、直前フレーム間検出結果および撮影前後検出結果の信頼性を評価する信頼性判定部としての信頼性評価部１５５と、直前フレーム間検出結果を積算してライブビュー時の画像移動量（ライブビュー時画像移動量）を算出するとともに、撮影前後検出結果をもとに撮影時の画像移動量（撮影時画像移動量）を算出する画像移動量算出部１５７とを含む。また、図示しないが、動き検出部１５は、直前フレーム間検出結果や撮影前後検出結果、各検出結果の信頼性の評価結果等を一時的に記憶しておくためのＲＡＭを内部に備えている。
【００２５】
画像処理部１６は、図２に示すように、ＲＡＭ２５に一旦記憶された画像データを読み出し、この画像データに対して各種の画像処理を施すとともに、記録用、表示用、パノラマ合成用等に適した画像データに変換する処理を行う。例えば、撮影画像やパノラマ画像の画像データを記録する際、あるいは記録されている画像データを表示する際等に、ＪＰＥＧ（Joint Photographic Experts Group）方式等に基づく画像データの圧縮処理や伸張処理を行う。また、パノラマ撮影モード中に撮影された連続性のある複数の撮影画像の画像データを合成し、１枚のパノラマ画像を生成する処理等を行う。この画像処理部１６で画像処理された画像データは、記録媒体Ｉ／Ｆ１７に出力されて記録媒体１９に記録され、あるいはビデオエンコーダ２０に出力されて表示部２２に表示される。
【００２６】
ビデオエンコーダ２０は、表示用に変換された画像データを表示ドライバ２１に送出する。例えば撮影モードでは、１フレーム毎に撮像素子１２から取り込まれて画像処理部１６によって画像処理された画像をフレーム単位で表示部２２に切換表示させ、ライブビュー画像の表示を行う。一方、再生モードでは、記録媒体１９から読み出されて画像処理部１６よって画像処理された撮影画像やパノラマ画像を表示部２２に表示させる。また、このビデオエンコーダ２０は、ビデオ信号出力端子２３に接続された外部機器に対し、必要に応じて表示用の画像データを出力する。表示部２２は、撮影画像やライブビュー画像の他、デジタルカメラ１の各種設定情報等を表示するためのものであり、ＬＣＤ（Liquid Crystal Display）やＥＬディスプレイ（Electroluminescence Display）等の表示装置で実現される。
【００２７】
記録媒体Ｉ／Ｆ１７は、記録媒体保持部１８によって挿脱自在に保持される記録媒体１９に対して、記録用に変換された画像データ等の書き込みや、記録された画像データの読み出し等を行う。記録媒体１９は、例えばｘＤ−ピクチャーカード（登録商標）やコンパクトフラッシュ（登録商標）カード等のメモリカードである。
【００２８】
操作部２４は、撮影タイミングの指示や、パノラマ撮影モードを含む各種の撮影モードや再生モードといったモードの設定操作、撮影条件の設定操作等、ユーザによる各種操作を受け付けて操作信号をコントローラ２７に通知するためのものであり、各種機能が割り当てられたボタンスイッチ等で実現される。この操作部２４は、図１のシャッターボタン３、電源ボタン４、メニューボタン５、十字ボタン６、およびＯＫボタン７を含む。
【００２９】
ＲＯＭ２６は、デジタルカメラ１を動作させ、このデジタルカメラ１が備える種々の機能を実現するための各種のカメラプログラムや、このカメラプログラムの実行中に使用されるデータ等を予め記憶する。ＲＡＭ２５は、画像処理部１６やコントローラ２７の作業用メモリとして用いられる。例えば、ＡＦＥ１３からの画像データ等が一時的に記憶され、表示部２２に表示するライブビュー画像の画像データを生成する際の作業用やパノラマ画像を生成する際の作業用、撮影画像やパノラマ画像を記録媒体１９に記録する際の作業用に用いられる。
【００３０】
コントローラ２７は、操作部２４からの操作信号等に応じてＲＯＭ２６からカメラプログラムを読み出して実行し、デジタルカメラ１を構成する各部の動作制御やメモリ制御を行ってデジタルカメラ１全体の動作を統括的に制御する。また、ＡＦ（自動焦点）、ＡＥ（自動露出）、ＡＷＢ（自動ホワイトバランス）等の処理を行う。このコントローラ２７は、パノラマ撮影モードにおいて撮影処理の開始タイミングを指示する撮影開始指示部２７１と、この撮影開始指示部２７１の指示によって開始された撮影処理の開始から終了までの撮影時間をカウント（計測）し、動き検出部１５に出力する撮影時間計測部２７３とを含む。
【００３１】
次に、以上のように構成されるデジタルカメラ１の撮影モードの一つであるパノラマ撮影モードについて説明する。図５は、パノラマ撮影モードの概要を説明する図である。パノラマ撮影モードでは、複数回撮影処理を行って、複数の画像（以下、パノラマ画像用に撮影される撮影画像を「部分画像」という。）の画像データを生成する。例えば、ユーザは、シャッターボタン３を押下し、１枚目の部分画像を生成する。その後カメラ本体２を所定のパノラマ撮影方向へとパンニング操作し、２枚目の部分画像撮影位置に達したところで２枚目の部分画像を撮影する。以後、任意の枚数の部分画像の撮影を繰り返すことで、被写体を部分毎に撮影する。パンニング操作とは、パノラマ撮影方向に沿ってカメラ本体２を回転させながら移動させる操作のことをいう。図５では、ユーザが、シャッターボタン３の押下後にカメラ本体２を左側から右側に向けて水平方向にパンニング操作し、例えば３枚の部分画像Ｉ１，Ｉ３，Ｉ５を撮影した場合を示している。ここで、各部分画像Ｉ１，Ｉ３，Ｉ５の撮影処理は、１枚目の部分画像Ｉ１についてはシャッターボタン３の押下タイミングで行われる。２枚目以降の部分画像Ｉ３，Ｉ５については、ユーザによるカメラ本体２のパンニング操作の途中で自動的に行われる。そして、このようにして生成した部分毎の部分画像Ｉ１，Ｉ３，Ｉ５を、それぞれ隣り合う部分画像Ｉ１，Ｉ３，Ｉ５間の位置関係が合うように繋ぎ合わせて合成し、１枚のパノラマ画像Ｉ７を生成する。具体的には、部分画像Ｉ１の右端の領域Ａ１と、部分画像Ｉ３の左端の領域Ａ３とに映る重複部分を探索し、探索された重複部分をもとに、部分画像Ｉ１と部分画像Ｉ３とを合成する。同様にして、部分画像Ｉ３の右側の領域Ａ５と、部分画像Ｉ５の左側の領域Ａ７とに映る重複部分をもとに、部分画像Ｉ３と部分画像Ｉ５とを合成する。
【００３２】
このように、パノラマ画像を生成するためには、各部分画像の所定範囲が重複している必要があるが、一方で、重複部分が所定範囲からずれると合成箇所の探索処理に時間を要し、合成処理時間が増大してしまう。また、重複部分が著しく所定範囲からずれると、合成箇所を検出することができず、合成の結果、継ぎ目に違和感のあるパノラマ画像となる。このため、２枚目以降の部分画像の撮影処理は、重複部分が適切な範囲となるようなタイミングで行う必要がある。本実施の形態では、１枚目の撮影処理の後、移動マークとしてのポインタと、このポインタの移動目標位置を示す移動目標マークとしてのターゲットとをライブビュー画像上に表示し、ポインタをターゲット上に移動させるようなパンニング操作を促す。
【００３３】
図６および図７は、パノラマ撮影を行う際のデジタルカメラ１の操作を説明するための図であり、パノラマ撮影モードにおいて表示部２２に表示される表示画面の遷移例を示している。パノラマ撮影モードでは先ず、ライブビュー画像の表示が開始される（図６（ａ））。そして、シャッターボタン３が押下されるまで待機状態となる。ユーザは、このライブビュー画像を見ながらシャッターボタン３を押下し、１枚目の部分画像の撮影タイミングを指示する。撮影タイミングを指示すると撮影処理が開始され、１枚目の部分画像が生成される。ここで、撮影処理が開始されると、ライブビュー画像の表示が一旦停止されて露光に移る。すなわち、露光中や転送中等は撮像素子１２からの出力がないためライブビュー画像が取り込めず、表示部２２の表示は、何も表示されないブラックアウト状態となる（図６（ｂ））。そして、露光が終わると、画像データの転送処理や画像処理を経てライブビュー画像の表示が復帰する。また、１枚目の部分画像の撮影の後復帰したライブビュー画像上には、ポインタＰＭとターゲットＴＭとが表示され（図６（ｃ））、２枚目の部分画像を撮影するためのターゲットＴＭへのパンニング操作を促す。ここで、図６（ｃ）では、向かって右側にポインタＰＭが、左側にターゲットＴＭが配置されており、パノラマ撮影方向が“右”の場合の操作例を示している。パノラマ撮影方向は、例えばユーザが「右」または「左」のいずれか一方を選択することで確定される。なお、パノラマ撮影方向が“左”の場合には、ポインタは画面左側、ターゲットは画面右側を初期表示位置として配置される。ユーザがカメラ本体２を右方向に向けて水平方向にパンニング操作すると、ポインタＰＭは、動き検出部１５が行う動き検出処理の結果算出されるライブビュー時画像移動量に従ってライブビュー画像とともにターゲットＴＭが配置される左側へと移動していく（図６（ｄ））。
【００３４】
そして、図７に示すように、ポインタＰＭがターゲットＴＭの枠内に移動すると（図７（ａ））、撮影処理が自動的に開始される。この撮影処理においても、１枚目の部分画像の撮影処理のときと同様にライブビュー画像の表示が一旦停止され、表示部２２の表示は何も表示されないブラックアウト状態となる（図７（ｂ））。そして、露光が終わり、画像データの転送処理や画像処理の後にライブビュー画像の表示が復帰する。また、２枚目の部分画像の撮影の後復帰したライブビュー画像上には、１枚目の撮影後と同様にしてポインタＰＭとターゲットＴＭとが表示され、３枚目の部分画像を撮影するためのパンニング操作を促すが、２枚目以降の撮影処理の後では、動き検出部１５が行う撮影前後動き検出処理の結果算出される撮影時画像移動量から部分画像の繋ぎ目が検出され、この繋ぎ目をもとに次の撮影位置が決定されてポインタＰＭの初期表示位置が調整されるようになっている。例えば、撮影処理中にカメラ本体２がほとんど動かされなければ、ポインタＰＭは、ライブビュー画像の右側端部の所定位置を初期表示位置として配置される（図７（ｃ））。部分画像の撮影処理中にカメラ本体２が右方向に動かされた場合には、ポインタＰＭは、前述の所定位置よりもターゲットＴＭ側を初期表示位置として配置される（図７（ｄ））。どの程度ターゲットＴＭ側に寄せるかは、撮影時画像移動量をもとに決定する。
【００３５】
ここで、動き検出部１５が行う動き検出処理および撮影前後動き検出処理の原理について説明する。上記したように、動き検出部１５は、動き検出対象の画像間の動きを検出する。すなわち、ライブビュー時では、動き検出処理を行い、直前フレームと現フレームとを動き検出対象とした各画像間（直前フレーム間）の動きを検出する。一方、ブラックアウト状態となってライブビュー画像の動きが検出できない撮影処理時では、撮影前後動き検出処理を行い、縮小処理した撮影直前フレーム画像と縮小処理した撮影直後フレーム画像とを動き検出対象とした各画像間（撮影前後）の動きを検出する。
【００３６】
図８−１および図８−２は、直前フレーム間の動き検出について説明するための図であり、図８−１は、直前フレーム画像の一例を示し、図８−２は、現フレーム画像の一例を示している。動き検出部１５は先ず、図８−１に示すように、直前フレーム画像中の直前フレーム間検出エリアＥｂ内に複数の代表点Ｂを設定する。代表点Ｂを設定する位置やそのサイズ、数等は、例えば予め設定しておく。また、現フレーム画像中に、直前フレーム画像中に設定した各代表点に対する探索範囲を設定する。設定する探索範囲のサイズは、予め設定しておく。そして、直前フレームの各代表点と対応する探索範囲とでパタンマッチングを行い、代表点と最も相関の高い位置を現フレーム画像中の各探索範囲の中から探索する。例えば、図８−１の直前フレーム画像中に設定された代表点Ｂ１に着目すると、この代表点Ｂ１の位置に対応する現フレーム画像中の探索範囲Ｅｓの中から、代表点Ｂ１の最も相関の高い位置Ｐ１が探索される。このパタンマッチングによって得られた各代表点の動きベクトルをもとに、画面全体の動きを示す代表動きベクトルを求める。動き検出処理では、このようにしてライブビュー時に随時検出される直前フレーム間検出結果を積算してライブビュー時画像移動量を算出する。
【００３７】
一方、撮影前後動き検出処理においても、図８−１および図８−２を参照して説明したパタンマッチングの手法を用いて動き検出を行うが、撮影前後の動き検出では、撮影直前フレーム画像と撮影直後フレーム画像とを動き検出対象とするため、撮影処理中にカメラ本体２が大きく動かされた場合等、各画像間の動きが大きい場合に、撮影直前フレーム画像中に設定される代表点に対応する動きベクトルが撮影直後フレーム画像中の探索範囲から外れてしまう事態が生じ得る。図９−１は、撮影直前フレーム画像の一例を示す図であり、図９−２は、撮影直後フレーム画像の一例を示す図である。例えば、図９−１の撮影直前フレーム画像中に設定された代表点Ｂ１１に着目すると、この撮影直前フレーム画像中の代表点Ｂ１１に対応する動きベクトルＰ１１が、図９−２の撮影直後フレーム画像中の探索範囲Ｅｓから外れてしまっている。この場合、代表点Ｂ１１についてのマッチングが失敗するため、正しい動き検出結果を得ることができない。
【００３８】
このため、撮影前後の動き検出では、撮影直前フレーム画像および撮影直後フレーム画像を所定の縮小率で縮小処理した後で、動き検出を行う。図１０−１は、縮小処理後の撮影直前フレーム画像の一例を示す図であり、図１０−２は、縮小処理後の撮影直後フレーム画像の一例を示す図である。この場合には、動き検出部１５は、図１０−１に示すように、縮小処理後の撮影直前フレーム画像中に縮小率に応じた数の代表点、探索範囲を縮小率に応じた位置に設定する。探索範囲を設定する位置や数等は、縮小率毎に予め設定しておく。そして、縮小処理後の撮影直前の代表点と縮小処理後の撮影直後フレーム画像中の探索範囲とでパタンマッチングを行う。例えば、図１０−１の縮小処理後の撮影直前フレーム画像中に設定された一つの代表点Ｂｃ１を図示しており、この代表点Ｂｃ１に着目すると、図１０−２に示す縮小処理後の撮影直後フレーム画像中の対応する探索範囲Ｅｓから、動きベクトルＰｃ１が検出される。このように動き検出対象の撮影直前フレーム画像および撮影直後フレーム画像を縮小処理すれば、探索範囲のサイズを変更することなく動きベクトルの検出確率を向上させることができ、処理負荷や処理時間が増大しない。より詳細には、撮影時間が長い程撮影前後での画像の動きが大きい可能性が高いため、撮影時間に応じて縮小率を設定することによって、代表点に対応する動きベクトルが探索範囲内に収まるようにする。
【００３９】
次に、デジタルカメラ１の動作について説明する。図１１は、デジタルカメラ１の状態遷移図である。図１１に示すように、デジタルカメラ１は、電源ボタン４が押下されて電源がＯＮされると（ａ１）、カメラ電源ＯＦＦ状態Ｃ1から静止画撮影待機状態Ｃ3に遷移し、撮影モードとなる。撮影モードでは、撮像素子１２に結像されている被写体像の画像データをＲＡＭ２５に記憶し、この画像データをフレーム単位で切り換えて表示部２２に表示する一連の処理を繰り返し行い、ライブビュー画像の表示を継続的に行う。また、電源ボタン４が押下されて電源がＯＦＦされると（ａ３）、デジタルカメラ１は、カメラ電源ＯＦＦ状態Ｃ1へと遷移する。
【００４０】
そして、パノラマ撮影モードが選択されると（ａ５）、デジタルカメラ１は、静止画撮影待機状態Ｃ3から撮影状態Ｃ5へと遷移する。ここで、１枚目の部分画像の撮影に際しては、シャッターボタン３の押下タイミングで撮影処理を開始する。そして、撮影を完了すると（ａ７）、デジタルカメラ１は、撮影状態Ｃ5から撮影方向検出状態Ｃ7へと遷移する。ここでは、ライブビュー画像の動きを検出することによってカメラ本体２のパンニング操作を検出し、パノラマ撮影方向を確定する。パノラマ撮影方向が確定すると（ａ９）、デジタルカメラ１は、撮影方向検出状態Ｃ7からライブビュー時移動量検出状態Ｃ9へと遷移する。ここでは先ず、パノラマ撮影方向をもとにポインタの初期表示位置を設定し、ライブビュー画像上にポインタとターゲットとを表示させる。そして、直前フレーム間での動き検出を随時積算することによってライブビュー時画像移動量を算出し、ポインタを移動させる。ポインタがターゲットに重なるとポインタの移動を完了し（ａ１１）、デジタルカメラ１は、ライブビュー時移動量検出状態Ｃ9から撮影状態Ｃ5へと遷移して撮影処理を開始する。２枚目以降の撮影を完了した場合には（ａ１３）、デジタルカメラ１は、撮影状態Ｃ5から撮影時移動量検出状態Ｃ11へと遷移する。ここでは、撮影前後の動き検出を行って撮影時画像移動量を算出する。そして、求めた撮影時画像移動量やパノラマ撮影方向をもとにポインタの初期表示位置を設定し、ライブビュー画像上にポインタとターゲットとを表示させる。検出を完了すると（ａ１５）、デジタルカメラ１は、撮影時移動量検出状態Ｃ11からライブビュー時移動量検出状態Ｃ9へと遷移し、次の部分画像の撮影に移る。このようにして、所定枚数の部分画像を撮影したならば、生成した部分画像を合成してパノラマ画像を生成し、パノラマ撮影を終える（ａ１７）。このとき、デジタルカメラ１は、撮影状態Ｃ5から静止画撮影待機状態Ｃ3へと遷移する。
【００４１】
図１２は、撮影モードにおけるデジタルカメラ１の動作を示すフローチャートである。撮影モードでは先ず、コントローラ２７が、撮影モードの種類を判定する。通常の撮影モード等のパノラマ撮影モード以外の撮影モードが設定されている場合には（ステップｂ１：Ｎｏ）、その撮影モードに応じた撮影動作に移り（ステップｂ３）、終了後、処理を終える。
【００４２】
一方、パノラマ撮影モードが設定されている場合には（ステップｂ１：Ｙｅｓ）、先ず１枚目の部分画像の撮影を行う。すなわち、撮影開始指示部２７１が、シャッターボタン３が押下されたタイミングを撮影タイミングとして撮影処理の開始を指示する。これによって撮影処理が開始され、各部の動作を制御してこのときの撮影範囲の静止画像を１枚目の部分画像として撮影する（ステップｂ５）。この撮影処理が開始されると、ライブビュー画像の表示が一旦停止される。このライブビュー画像の表示は、露光の後、画像データの転送処理や画像処理を終えると復帰するようになっている。
【００４３】
続いて、コントローラ２７は、パノラマ撮影方向の指示を促す撮影方向誘導ＯＳＤ（On-Screen Display）をライブビュー画像上に表示する制御を行い、この撮影方向誘導ＯＳＤによってカメラ本体２のパノラマ撮影方向へのパンニング操作を促して、例えば“左”または“右”のいずれかのパノラマ撮影方向の指示を受け付ける（ステップｂ７）。そして、ステップｂ９〜ステップｂ１３の処理をフレーム毎に繰り返し実行し、カメラ本体２のパンニング操作を検出する。すなわち、動き検出部１５が現フレーム画像と直前フレーム画像との間の動き検出を行い、直前フレーム間検出結果を積算して積算移動量を算出する（ステップｂ９）。そして、コントローラ２７が積算移動量をもとに撮影方向判定処理を行う（ステップｂ１１）。このとき、ユーザが撮影方向誘導ＯＳＤの表示に従ってカメラ本体２を左側に向けて水平方向に回転させれば、パノラマ撮影方向は左方向として確定される。同様にして、ユーザがカメラ本体２を右側に向けて水平方向に回転させると、パノラマ撮影方向は右方向として確定される。カメラ本体２が動かされずにパノラマ撮影方向が確定されない場合には（ステップｂ１３：Ｎｏ）、ステップｂ９に戻る。
【００４４】
そして、パノラマ撮影方向を確定したならば（ステップｂ１３：Ｙｅｓ）、続いてコントローラ２７は、表示制御部として、ポインタとターゲットとをライブビュー画像上に表示する制御を行う（ステップｂ１５）。具体的には、コントローラ２７は、ステップｂ９で算出された積算移動量をもとにポインタの初期表示位置を設定し、ポインタとターゲットとをライブビュー画像上に配置する。またこのとき、ポインタとターゲットとの位置関係をパノラマ撮影方向に従って決定する。
【００４５】
この後、ポインタがターゲットの位置に移動するまでの間、ステップｂ１７〜ステップｂ２１の処理をフレーム毎に繰り返し行う。すなわち先ず、動き検出部１５が動き検出処理を行い、ライブビュー時画像移動量を算出する（ステップｂ１７）。続いてコントローラ２７が、動き検出処理で算出されたライブビュー時画像移動量をもとにポインタの表示位置を移動させ、表示を更新する（ステップｂ１９）。そして、コントローラ２７は、ポインタの表示位置がターゲットの枠内か否かを判定し、ターゲットの枠内でないならば（ステップｂ２１：Ｎｏ）、ステップｂ１７に戻る。
【００４６】
ポインタがターゲットの枠内に移動した場合には（ステップｂ２３：Ｙｅｓ）、現フレーム画像を撮影直前フレーム画像とし、画像データをフレームメモリ１４に記憶する（ステップｂ２３）。続いて、撮影開始指示部２７１が撮影処理の開始を指示するが、このとき、撮影時間計測部２７３が撮影時間の計測を開始する（ステップｂ２５）。そして、撮影開始指示部２７１の指示によって撮影処理が開始され、このときの撮影範囲の静止画像を部分画像として撮影する（ステップｂ２７）。撮影処理を終えると、撮影時間計測部２７３は、撮影時間の計測を終了する（ステップｂ２９）。
【００４７】
続いてコントローラ２７は、所定枚数の撮影を終了したか否かを判定する。例えば、３枚の部分画像を撮影してパノラマ画像を生成する場合であれば、３枚の部分画像を撮影したか否かを判定する。部分画像の枚数は固定でもよいし、ユーザが適宜設定できるように構成してもよい。所定枚数の撮影が終了していない場合には（ステップｂ３１：Ｎｏ）、動き検出部１５が撮影前後動き検出処理を行い、撮影時画像移動量を算出する（ステップｂ３３）。続いてコントローラ２７が、表示制御部として、撮影前後動き検出処理で算出された撮影時画像移動量をもとにポインタの初期表示位置を設定し、ポインタとターゲットとをライブビュー画像上に表示する制御を行う（ステップｂ３５）。このとき、ポインタとターゲットとの位置関係をパノラマ撮影方向に従って決定する。その後、ステップｂ１７に戻る。
【００４８】
そして、所定枚数の撮影を行った場合には（ステップｂ３１：Ｙｅｓ）、画像処理部１６が、撮影した所定枚数の部分画像をパノラマ撮影方向に従って繋ぎ合わせて合成し、パノラマ画像を生成する（ステップｂ３９）。そして、コントローラ２７が、生成したパノラマ画像を表示部２２に表示する制御を行い（ステップｂ４１）、処理を終了する。また、このとき、生成したパノラマ画像を記録媒体１９に記録する。
【００４９】
次に、ステップｂ１１の撮影方向判定処理、ステップｂ１７の動き検出処理およびステップｂ３３の撮影前後動き検出処理について説明する。
【００５０】
図１３は、撮影方向判定処理の詳細な処理手順を示すフローチャートである。この撮影方向判定処理では、図１２のステップｂ９で算出された積算移動量の水平成分の絶対値を予め設定される所定の方向閾値と比較することによって、カメラ本体２のパンニング操作を検出する。そして、積算移動量（水平成分）の絶対値が方向閾値以下の場合には（ステップｃ１：Ｎｏ）、コントローラ２７は、撮影方向未確定とする（ステップｃ３）。そして、図１２のステップｂ１１にリターンする。一方、積算移動量（水平成分）の絶対値が方向閾値より大きい場合には（ステップｃ１：Ｙｅｓ）、コントローラ２７は、この積算移動量（水平成分）が０より大きければ（ステップｃ５：Ｙｅｓ）、パノラマ撮影方向を「右」として確定する（ステップｃ７）。そして、図１２のステップｂ１１にリターンする。また、コントローラ２７は、積算移動量（水平成分）が０未満の場合には（ステップｃ５：Ｎｏ）、パノラマ撮影方向を「左」として確定する（ステップｃ９）。そして、図１２のステップｂ１１にリターンする。
【００５１】
図１４は、動き検出処理の詳細な処理手順を示すフローチャートである。この動き検出処理では、動き検出部１５は、現フレーム画像と直前フレーム画像との間（直前フレーム間）で動き検出を行い（ステップｄ１）、直前フレーム間検出結果を動き検出部１５のＲＡＭに一時的に記憶する（ステップｄ３）。続いて、信頼性評価部１５５が、直前フレーム間検出結果の信頼性の評価を行う（ステップｄ５）。ここでの評価の結果、信頼性評価部１５５が直前フレーム間検出結果を信頼性ありと判定した場合には（ステップｄ７：Ｙｅｓ）、続いて画像移動量算出部１５７が、ライブビュー時画像移動量の前回値と今回の直前フレーム間検出結果との合計値をライブビュー時画像移動量として算出する（ステップｄ９）。そして、図１２のステップｂ１７にリターンする。
【００５２】
ここで、信頼性評価部１５５が行う信頼性の評価について説明する。信頼性評価部１５５は、直前フレーム間検出結果および撮影前後検出結果をもとに評価パラメータの値を算出し、信頼性の有無を判定する。例えば、複数配置された代表点に対するマッチング失敗数が多い場合や、得られた動きベクトルの方向に統一性が無い場合は、検出結果の信頼性が低いと考えられる。そこで、代表点数に対するマッチング成功数を第１の評価パラメータとして算出する。また、マッチングが成功している動きベクトルをその方向毎にグループ分けして要素数の最大値を選出し、マッチング成功数に対する要素数の最大値を第２の評価パラメータとして算出する。そして、信頼性評価部１５５は、得られた評価パラメータが予め設定される所定の閾値を超えているか否かによって、各検出結果の信頼性の有無を判定する。
【００５３】
一方、ステップｄ５での評価の結果、信頼性評価部１５５が直前フレーム間検出結果を信頼性なしと判定した場合には（ステップｄ７：Ｎｏ）、画像移動量算出部１５７は、直前フレーム間動き量推定処理を行って、現フレーム画像と直前フレーム画像との間の動き量を推定する（ステップｄ１１）。例えば、直近の所定数フレーム分の直前フレーム間検出結果を動き検出部１５のＲＡＭに保持しておくようにする。そして、この所定数の直前フレーム間検出結果をもとに、例えばこれらの平均値を求める等し、現フレーム画像と直前フレーム画像との間の推定動き量とする。そして、画像移動量算出部１５７は、ライブビュー時画像移動量の前回値と推定動き量との合計値をライブビュー時画像移動量として算出する（ステップｄ１３）。そして、図１２のステップｂ１７にリターンする。
【００５４】
図１５は、撮影前後動き検出処理の詳細な処理手順を示すフローチャートである。撮影前後動き検出処理の開始に先立ち、この撮影前後動き検出処理中に用いる繰り返し数ｉ，ｊを“０”に初期化する。そして、図１５に示すように、撮影前後動き検出処理では先ず、動き検出部１５の縮小率設定部１５１が、図１２のステップｂ２５，ｂ２９で撮影時間計測部２７３によって計測された撮影時間に応じて縮小率を設定する（ステップｅ１）。例えば、等倍時の縮小率を１とし、撮影時間が長い程縮小処理後の画像サイズが小さくなるように１以下の値を設定する。続いて縮小処理部１５３が、ステップｅ１で設定された縮小率で縮小処理を行い、撮影直前フレーム画像および撮影直後フレーム画像を小さくリサイズする（ステップｅ２）。
【００５５】
続いて、動き検出部１５が、縮小処理後の撮影直前フレーム画像中にステップｅ１で設定された縮小率に応じた位置および数の代表点を設定し（ステップｅ３）、代表点と対応する縮小処理後の撮影直後フレーム画像中の探索範囲を対象に撮影前後の動き検出を行う（ステップｅ５）。そして、信頼性評価部１５５が撮影前後検出結果の信頼性の評価を行う（ステップｅ６）。ここでの評価の結果、信頼性評価部１５５が撮影前後検出結果を信頼性ありと判定した場合には（ステップｅ７：Ｙｅｓ）、撮影前後検出結果をもとに撮影時画像移動量を算出し、動き検出部１５のＲＡＭに更新記憶する（ステップｅ９）。そして、動き検出部１５は、縮小処理時の縮小率を判定し、縮小率が１未満でなければ（ステップｅ１１：Ｎｏ）、図１２のステップｂ３３にリターンする。
【００５６】
一方、縮小率が１未満の場合には（ステップｅ１１：Ｙｅｓ）、繰り返し数ｉをインクリメントする（ステップｅ１３）。インクリメント後の繰り返し数ｉが閾値Ｖｓｉより大きければ（ステップｅ１５：Ｙｅｓ）、図１２のステップｂ３３にリターンする。そして、繰り返し数ｉが予め設定される所定の閾値Ｖｓｉ以下の場合には（ステップｅ１５：Ｎｏ）、縮小率の前回値を基準とし、繰り返し数ｉのインクリメントの都度縮小処理後の画像サイズが段階的に大きくなるように縮小率を１以下の範囲で再設定し、縮小処理を行って撮影直前フレーム画像および撮影直後フレーム画像を前回よりも大きくリサイズする（ステップｅ１７）。続いて、動き検出部１５が、ステップｅ１７で再設定した縮小率に従って、縮小処理後の撮影直前フレーム画像中に代表点を設定し（ステップｅ１９）、代表点と対応する縮小処理後の撮影直後フレーム画像中の探索範囲を対象に撮影前後の動き検出を行う（ステップｅ２１）。そして、信頼性評価部１５５が、撮影前後検出結果の信頼性の評価を行う（ステップｅ２３）。ここでの評価の結果、信頼性評価部１５５が撮影前後検出結果を信頼性ありと判定した場合には（ステップｅ２５：Ｙｅｓ）、撮影前後検出結果をもとに撮影時画像移動量を算出し、動き検出部１５のＲＡＭに更新記憶する（ステップｅ２７）。そして、ステップｅ１１に戻る。一方、ステップｅ２３での評価の結果、信頼性なしと判定された場合には（ステップｅ２５：Ｎｏ）、図１２のステップｂ３３にリターンし、撮影時画像移動量を、現時点で動き検出部１５のＲＡＭに記憶されている前回値として確定する。縮小率の値を下げれば、画像サイズに対する探索範囲のサイズが大きくなるので、動き検出の成功確率が向上する。しかしながら一方で、分解能が低下し、動きベクトルの検出精度が低下するという問題があるが、このようにしてステップｅ１３〜ステップｅ２７の処理を繰り返すことによって、縮小率を大きくし過ぎてしまった場合であっても、撮影前後検出結果に信頼性が得られ、且つ動きベクトルの検出精度の低下を最小限に抑えた適切な縮小率を探して撮影前後の動き検出を行うことができるので、動き検出の成功確率の向上と、動きベクトルの検出精度の低下とのバランスを図ることができる。
【００５７】
また、ステップｅ６での評価の結果、撮影前後検出結果に信頼性がないと判定した場合には（ステップｅ７：Ｎｏ）、繰り返し数ｊをインクリメントする（ステップｅ３３）。インクリメント後の繰り返し数ｊが閾値Ｖｓｊより大きければ（ステップｅ３５：Ｙｅｓ）、ステップｅ４９に移行する。そして、繰り返し数ｊが予め設定される所定の閾値Ｖｓｊ以下の場合には（ステップｅ３５：Ｎｏ）、縮小率の前回値を基準とし、繰り返し数ｊのインクリメントの都度縮小処理後の画像サイズが段階的に小さくなるように縮小率を予め設定される最小縮小率以上であって１以下の範囲で再設定し、縮小処理を行って撮影直前フレーム画像および撮影直後フレーム画像を前回よりも小さくリサイズする（ステップｅ３７）。続いて、動き検出部１５が、ステップｅ３７で再設定した縮小率に従って、縮小処理後の撮影直前フレーム画像中に代表点を設定し（ステップｅ３９）、代表点と対応する縮小処理後の撮影直後フレーム画像中の探索範囲を対象に撮影前後の動き検出を行う（ステップｅ４１）。そして、信頼性評価部１５５が、撮影前後検出結果の信頼性の評価を行う（ステップｅ４３）。ここでの評価の結果、信頼性評価部１５５が撮影前後検出結果を信頼性ありと判定した場合には（ステップｅ４５：Ｙｅｓ）、撮影前後検出結果をもとに撮影時画像移動量を算出し、動き検出部１５のＲＡＭに更新記憶する（ステップｅ４７）。その後、図１２のステップｂ３３にリターンする。一方、ステップｅ４３での評価の結果、信頼性なしと判定された場合には（ステップｅ４５：Ｎｏ）、ステップｅ３３に戻る。このようにしてステップｅ３３〜ステップｅ４７の処理を繰り返すことで、縮小率の値を段階的に上げていくことができるので、設定した縮小率が低すぎた場合であっても、撮影前後検出結果に信頼性が得られ、且つ動きベクトルの検出精度の低下を最小限に抑えた適切な縮小率を探して撮影前後の動き検出を行うことができ、動き検出の成功確率の向上と、動きベクトルの検出精度の低下とのバランスを図ることができる。
【００５８】
ステップｅ３３〜ステップｅ４７の処理を繰り返し行っても撮影前後検出結果に信頼性が得られない場合には、画像移動量算出部１５７が、撮影前後動き量推定処理を行って、撮影直前フレーム画像と撮影直後フレーム画像との間の動き量を推定する（ステップｅ４９）。例えば、撮影処理前の所定数フレーム分の直前フレーム間検出結果を動き検出部１５のＲＡＭに保持しておくようにする。そして、例えばこの所定数の直前フレーム間検出結果から、撮影時間に従って撮影前後の推定動き量を算出する。なお、撮影処理の後に行った所定数フレーム分の直前フレーム間検出結果から、撮影前後の推定動き量を算出することとしてもよいし、撮影処理の前に検出した直前フレーム間検出結果と撮影処理の後に検出した直前フレーム間検出結果の双方を用いて撮影前後の推定動き量を算出することとしてもよい。そして、画像移動量算出部１５７は、算出した推定動き量を撮影時画像移動量とし、動き検出部１５のＲＡＭに更新記憶する（ステップｅ５１）。その後、図１２のステップｂ３３にリターンする。
【００５９】
以上説明したように、本実施の形態によれば、ライブビュー時では、ライブビュー画像間の動きを検出することによってライブビュー時画像移動量を算出することができる。また、撮影処理の開始直前のライブビュー画像および終了直後のライブビュー画像を撮影時間に応じた縮小率で縮小処理し、この縮小処理後の各画像間の動きを検出することによって、撮影時画像移動量を算出することができる。これによれば、ライブビュー画像の表示が一旦停止されてブラックアウトが生じる撮影処理中にカメラ本体２が動かされた場合であっても、撮影時画像移動量を適切に算出することができ、画像移動量を精度良く算出することができるという効果を奏する。したがって、撮影画像間の繋ぎ目を正しく検出することができ、部分画像を合成して違和感のない自然なパノラマ画像を生成することができる。
【００６０】
以上、本発明の好適な実施の形態について説明したが、本発明は、上記したものに限定されず、発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００６１】
例えば、上記した実施の形態では、撮影時間に応じた縮小率で撮影直前フレーム画像および撮影直後フレーム画像を縮小処理し、縮小処理後の各画像間の動きを検出することによって撮影時画像移動量を算出する場合について説明したが、これに限定されるものではない。図１６は、本変形例における動き検出部１５ａの機能構成を示す模式図であり、図１７は、本変形例における撮影前後動き検出処理の詳細な処理手順を示すフローチャートである。なお、以下の説明において、上記した実施の形態と同様の構成については、同一の符号を付する。
【００６２】
図１６に示す動き検出部１５ａは、コントローラ２７の撮影時間計測部２７３によって計測された撮影時間に応じて探索範囲のサイズを設定する探索範囲設定部１５４と、直前フレーム間検出結果および撮影前後検出結果の信頼性を評価する信頼性評価部１５５と、直前フレーム間検出結果をもとにライブビュー時画像移動量を算出するとともに、撮影前後検出結果をもとに撮影時画像移動量を算出する画像移動量算出部１５７とを含む。
【００６３】
そして、本変形例の撮影前後動き検出処理では、図１７に示すように、先ず探索範囲設定部１５４が、撮影時間計測部２７３によって計測された撮影時間に応じて探索範囲のサイズを設定する（ステップｆ１）。例えば、撮影時間が長い程探索範囲のサイズが大きくなるように、所定の最大サイズを上限として設定する。続いて、動き検出部１５ａが、撮影直前フレーム画像中に代表点を設定する（ステップｆ３）。そして、対応する直後フレーム画像中の探索範囲をステップｆ１で設定されたサイズとし、各代表点に対応する撮影直後フレーム画像中の探索範囲を対象に撮影前後の動き検出を行う（ステップｆ５）。続いて信頼性評価部１５５が、撮影前後検出結果の信頼性の評価を行う（ステップｆ７）。ここでの評価の結果、信頼性評価部１５５が撮影前後検出結果を信頼性ありと判定した場合には（ステップｆ９：Ｙｅｓ）、撮影前後検出結果をもとに撮影時画像移動量を算出し、動き検出部１５ａのＲＡＭに更新記憶する（ステップｆ１１）。
【００６４】
また、ステップｆ７での評価の結果、撮影前後検出結果に信頼性がないと判定した場合には（ステップｆ９：Ｎｏ）、現在の探索範囲のサイズを判定する。最大サイズでなければ（ステップｆ１３：Ｎｏ）、探索範囲設定部１５４が、前回値よりも大きくなるように最大サイズを上限として探索範囲のサイズを再設定し（ステップｆ１５）、ステップｆ３に戻る。一方、最大サイズの場合には（ステップｆ１３：Ｙｅｓ）、画像移動量算出部１５７が撮影前後動き量推定処理を行って、撮影直前フレーム画像と撮影直後フレーム画像との間の動き量を推定する（ステップｆ１７）。そして、画像移動量算出部１５７は、算出した推定動き量を撮影時画像移動量とし、動き検出部１５ａのＲＡＭに更新記憶する（ステップｆ１９）。
【００６５】
本変形例によれば、撮影時間に応じてパタンマッチングの際の探索範囲のサイズを設定し、撮影前後の動き検出を行うことができる。これによれば、動きベクトルの検出精度を低下させることなく、動き検出の成功確率を向上させることができる。撮影時間が短い場合には、探索範囲のサイズを小さくするので、処理効率の低下を抑制できる。
【００６６】
また、上記した実施の形態では、撮影前後検出結果に信頼性があると判定された場合に、縮小処理後のサイズが段階的に大きくなるように縮小率を再設定し、撮影前後の動きを繰り返し検出することによって動きベクトルの検出精度の低下を最小限に抑えた適切な縮小率を探すこととしたが、これに限定されるものではない。図１８−１および図１８−２は、本変形例における縮小率の設定方法を説明する図である。例えば、図１８−１に示すように、探索範囲Ｅｓの中央寄りの位置で動きベクトルＰｃ１１が検出された場合には、縮小率の値を上げて再度撮影前後の動きを検出する。一方、図１８−２に示すように、探索範囲Ｅｓの端部寄りで動きベクトルＰｃ１３が検出された場合には、縮小率の値を上げると探索範囲Ｅｓ内に動きベクトルが収まらなくなることが予想されるので、縮小率の値を上げて再度撮影前後の動きを検出する処理を行わない。具体的には、動き検出部１５は、実行判定部として、前回撮影前後の動き検出を行った際に探索した探索範囲中の動きベクトルの位置をもとに、縮小率を再設定して撮影前後の動き検出を再度行うか否かを判定する。このとき、全ての探索範囲についてその動きベクトルの位置の判定を行い、縮小率を再設定して撮影前後の動き検出を再度行うか否かを判定することとしてもよいし、探索範囲を１つ選択してその探索範囲について動きベクトルの位置の判定を行うことにより、縮小率を再設定して撮影前後の動き検出を再度行うか否かを判定することとしてもよい。
【００６７】
また、上記した実施の形態では、撮影時間に応じて縮小率を設定する場合について説明したが、撮影処理の開始前に検出された直前フレーム間検出結果から撮影前後の移動量を推定し、推定結果に応じて縮小率を設定することとしてもよい。
【００６８】
また、上記した実施の形態では、パンニング操作をしながら撮影を行う２枚目以降の部分画像の撮影処理の後、撮影前後の動き検出を行うこととしたが、１枚目の撮影処理の後においても、２枚目以降の撮影処理の後と同様にして撮影前後の動き検出を行うようにしても構わない。
【００６９】
また、上記した実施の形態では、「右」または「左」のいずれかをパノラマ撮影方向とする場合について説明したが、左右以外の方向をパノラマ撮影方向とすることもできる。例えば、「上」または「下」をパノラマ撮影方向としたパノラマ撮影を行う場合には、図１５に示した撮影方向判定処理において、積算移動量の垂直成分の絶対値を予め設定される所定の方向閾値と比較するように構成し、積算移動量の垂直成分の正負を判定して正の値であれば「上」、負の値であれば「下」としてパノラマ撮影方向を確定する。
【図面の簡単な説明】
【００７０】
【図１】デジタルカメラの背面図である。
【図２】デジタルカメラの構成例を示す概略ブロック図である。
【図３】動き検出部が行う動き検出の概要を説明する説明図である。
【図４】動き検出部の機能構成を示す模式図である。
【図５】パノラマ撮影モードの概要を説明する説明図である。
【図６】パノラマ撮影モードにおいて表示部に表示される表示画面の遷移例を示す図である。
【図７】パノラマ撮影モードにおいて表示部に表示される表示画面の遷移例を示す図である。
【図８−１】撮影直前フレーム画像の一例を示す図である。
【図８−２】現フレーム画像の一例を示す図である。
【図９−１】撮影直前フレーム画像の一例を示す図である。
【図９−２】撮影直後フレーム画像の一例を示す図である。
【図１０−１】縮小処理後の撮影直前フレーム画像の一例を示す図である。
【図１０−２】縮小処理後の撮影直後フレーム画像の一例を示す図である。
【図１１】デジタルカメラの状態遷移図である。
【図１２】撮影モードにおけるデジタルカメラの動作を示すフローチャートである。
【図１３】撮影方向判定処理の詳細な処理手順を示すフローチャートである。
【図１４】動き検出処理の詳細な処理手順を示すフローチャートである。
【図１５】撮影前後動き検出処理の詳細な処理手順を示すフローチャートである。
【図１６】変形例における動き検出部の機能構成を示す模式図である。
【図１７】本変形例における撮影前後動き検出処理の詳細な処理手順を示すフローチャートである。
【図１８−１】変形例における縮小率の設定方法を説明する図である。
【図１８−２】変形例における縮小率の設定方法を説明する図である。
【符号の説明】
【００７１】
１      デジタルカメラ
２      カメラ本体
１１      撮像光学系
１２      撮像素子
１３      ＡＦＥ
１４      フレームメモリ
１５      動き検出部
１５１      縮小率設定部
１５３      縮小処理部
１５５      信頼性評価部
１５７      画像移動量算出部
１６      画像処理部
１７      記録媒体Ｉ／Ｆ
１８      記録媒体保持部
１９      記録媒体
２０      ビデオエンコーダ
２１      表示ドライバ
２２      表示部
２３      ビデオ信号出力端子
２４      操作部
３      シャッターボタン
４      電源ボタン
２５      ＲＡＭ
２６      ＲＯＭ
２７      コントローラ
２７１      撮影開始指示部
２７３      撮影時間計測部
【図１】
0005142811.tif 000002
【図２】
0005142811.tif 000003
【図３】
0005142811.tif 000004
【図４】
0005142811.tif 000005
【図５】
0005142811.tif 000006
【図６】
0005142811.tif 000007
【図７】
0005142811.tif 000008
【図８−１】
0005142811.tif 000009
【図８−２】
0005142811.tif 000010
【図９−１】
0005142811.tif 000011
【図９−２】
0005142811.tif 000012
【図１０−１】
0005142811.tif 000013
【図１０−２】
0005142811.tif 000014
【図１１】
0005142811.tif 000015
【図１２】
0005142811.tif 000016
【図１３】
0005142811.tif 000017
【図１４】
0005142811.tif 000018
【図１５】
0005142811.tif 000019
【図１６】
0005142811.tif 000020
【図１７】
0005142811.tif 000021
【図１８−１】
0005142811.tif 000022
【図１８−２】
0005142811.tif 000023