(57)【要約】【課題】画像間の動き検出誤差を低減し、画像の移動量を精度良く決定すること。【解決手段】動き検出部１５は、現フレーム画像と直前フレーム画像との間で動き検出を行って直前フレーム間検出結果を算出するとともに、現フレーム画像と基準フレーム画像との間で動き検出を行って基準フレーム間検出結果を算出する。動き検出部１５の信頼度評価部１５１は、直前フレーム間検出結果および基準フレーム間検出結果の信頼度を評価する。動き検出部１５の移動量決定部は、信頼度評価部による評価結果をもとに、直前フレーム間検出結果に信頼性が有る場合には、直前フレーム間検出結果を用いて基準フレームから現フレームまでの画像移動量を決定する。基準フレーム間検出結果に信頼性が無い場合であって、直前フレーム間検出結果に信頼性が有る場合には、直前フレーム間検出結果と画像移動量の前回値とから画像移動量を決定する。【選択図】図２
2009278432.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置であって、
前記撮像部によって撮像された前記画像データを所定のフレーム単位で切り換えて表示する表示部と、
前記現フレームの画像と前記現フレームと隣接する隣接フレームの画像との間の動きを検出する隣接フレーム間動き検出部と、
前記現フレームの画像と所定の基準フレームの画像との間の動きを検出する基準フレーム間動き検出部と、
前記隣接フレーム間動き検出部の検出結果および前記基準フレーム間動き検出部の検出結果をもとに、各検出結果についての信頼度を評価する信頼度評価部と、
前記信頼度評価部の評価結果をもとに、前記隣接フレーム間動き検出部の検出結果および／または前記基準フレーム間動き検出部の検出結果を用いて前記基準フレームから現フレームまでの画像移動量を決定する移動量決定部と、
前記移動量決定部によって決定される画像移動量をもとに前記撮影処理の開始を指示する撮影開始指示部と、
を備えることを特徴とする撮像装置。
【請求項２】
現フレームの画像上に、前記移動量決定部によって決定される画像移動量に従って移動する移動マークと、該移動マークの移動目標位置を示す移動目標マークとを表示する制御を行う表示制御部を備え、
前記撮影開始指示部は、前記移動目標マークが示す前記移動目標位置に前記移動マークが移動した場合に、前記撮影処理の開始を指示することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記信頼度評価部は、前記各検出結果についての信頼度の評価結果をもとに、前記各検出結果の信頼性の有無を判定することを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果の双方が信頼性有りと判定された場合に、少なくとも前記基準フレーム間動き検出部の検出結果を用いて前記画像移動量を決定することを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果の双方が信頼性有りと判定された場合に、前記隣接フレーム間動き検出部の検出結果によって定まる前記基準フレームから現フレームまでの画像移動量と、前記基準フレーム間動き検出部の検出結果によって定まる前記基準フレームから現フレームまでの画像移動量との平均値を前記画像移動量として決定することを特徴とする請求項３に記載の撮像装置。
【請求項６】
前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果の双方が信頼性有りと判定された場合に、前記隣接フレーム間動き検出部の検出結果および前記基準フレーム間動き検出部の検出結果に対して対応する信頼度の重み付けを行って前記画像移動量を決定することを特徴とする請求項３に記載の撮像装置。
【請求項７】
前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果のうちの一方の検出結果が信頼性無しと判定された場合に、信頼性有りと判定された他方の検出結果を用いて前記画像移動量を決定することを特徴とする請求項３〜６のいずれか一つに記載の撮像装置。
【請求項８】
前記移動量決定部は、前記信頼度評価部による評価の結果、前記基準フレーム間動き検出部の検出結果が信頼性有りと判定された場合には前記基準フレーム間動き検出部の検出結果を用いて前記画像移動量を決定し、前記基準フレーム間動き検出部の検出結果が信頼性無しと判定された場合には前記隣接フレーム間動き検出部の検出結果を用いて前記画像移動量を決定することを特徴とする請求項３に記載の撮像装置。
【請求項９】
前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果の双方が信頼性無しと判定された場合に、現フレームの画像および前記現フレームと隣接する隣接フレームの画像との間の動きを推定して前記画像移動量を決定することを特徴とする請求項３〜８のいずれか一つに記載の撮像装置。
【請求項１０】
前記信頼度評価部による評価の結果、前記基準フレーム間動き検出部の検出結果が信頼性無しと判定された場合に、前記基準フレームを現フレームに変更する基準フレーム変更部を備えることを特徴とする請求項３〜９のいずれか一つに記載の撮像装置。
【請求項１１】
被写体を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置における撮像方法であって、
前記撮像部によって撮像された前記画像データを所定のフレーム単位で切り換えて表示する表示ステップと、
前記現フレームの画像と前記現フレームと隣接する隣接フレームの画像との間の動きを検出する隣接フレーム間動き検出ステップと、
前記現フレームの画像と所定の基準フレームの画像との間の動きを検出する基準フレーム間動き検出ステップと、
前記隣接フレーム間動き検出ステップでの検出結果および前記基準フレーム間動き検出ステップでの検出結果をもとに、各検出結果についての信頼度を評価する信頼度評価ステップと、
前記信頼度評価ステップでの評価結果をもとに、前記隣接フレーム間動き検出ステップでの検出結果および／または前記基準フレーム間動き検出ステップでの検出結果を用いて前記基準フレームから現フレームまでの画像移動量を決定する移動量決定ステップと、
前記移動量決定ステップで決定される画像移動量をもとに前記撮影処理の開始を指示する撮影開始指示ステップと、
を含むことを特徴とする撮像装置における撮像方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置およびこの撮像装置における撮像方法に関するものである。
【背景技術】
【０００２】
従来から、デジタルカメラ等の撮像装置において、複数の撮影画像を合成してパノラマ画像を生成するパノラマ撮影モードを備えたものが知られており、撮像装置をパンニングさせながら被写体を部分毎に撮影し、撮影した画像データを合成することによって、この部分毎の撮影画像が繋ぎ合されたパノラマ画像を得ることができる。デジタルカメラでは、撮像素子からの出力を所定のフレームレートで表示部に表示させることにより電子ファインダーとして用いているが、パノラマ撮影モードでは、このライブビュー画像間の動きをフレーム毎に検出して積算することによって画像の移動量を求め、撮影画像間の繋ぎ目を検出するようにしている。これによれば、継ぎ目に違和感が生じない適切なタイミングで撮影処理を行うことができる。例えば、特許文献１には、パンニングに伴う画像間の動き（動きベクトル）を求め、この動きベクトルをもとに撮影画像を繋ぎ合わせる際の幅を制御する技術が開示されている。
【０００３】
【特許文献１】特許第３４２１８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、フレーム毎にライブビュー画像間の動きを検出してライブビュー画像の移動量を求める場合、例えばフレームレートが３０（フレーム／秒）とすると、１枚目の撮影から２枚目の撮影までのパンニング操作の所要時間が３秒であれば９０回の動き検出を行うこととなる。ここで、動き検出では、実際の移動量に対する検出誤差が生じ得る。このため、動き検出の結果を積算して画像の移動量を算出する場合、動き検出の度に生じた誤差が積算されていくこととなり、ライブビュー画像の移動量を精度良く算出できないという問題があった。またこの結果、合成時の繋ぎ目にズレが生じ、生成したパノラマ画像に違和感が生じる場合があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、画像間の動き検出誤差を低減し、画像の移動量を精度良く決定することができる撮像装置およびこの撮像装置における撮像方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明にかかる撮像装置は、被写体を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置であって、前記撮像部によって撮像された前記画像データを所定のフレーム単位で切り換えて表示する表示部と、前記現フレームの画像と前記現フレームと隣接する隣接フレームの画像との間の動きを検出する隣接フレーム間動き検出部と、前記現フレームの画像と所定の基準フレームの画像との間の動きを検出する基準フレーム間動き検出部と、前記隣接フレーム間動き検出部の検出結果および前記基準フレーム間動き検出部の検出結果をもとに、各検出結果についての信頼度を評価する信頼度評価部と、前記信頼度評価部の評価結果をもとに、前記隣接フレーム間動き検出部の検出結果および／または前記基準フレーム間動き検出部の検出結果を用いて前記基準フレームから現フレームまでの画像移動量を決定する移動量決定部と、前記移動量決定部によって決定される画像移動量をもとに前記撮影処理の開始を指示する撮影開始指示部と、を備えることを特徴とする。
【０００７】
また、本発明にかかる撮像装置は、上記の発明において、現フレームの画像上に、前記移動量決定部によって決定される画像移動量に従って移動する移動マークと、該移動マークの移動目標位置を示す移動目標マークとを表示する制御を行う表示制御部を備え、前記撮影開始指示部は、前記移動目標マークが示す前記移動目標位置に前記移動マークが移動した場合に、前記撮影処理の開始を指示することを特徴とする。
【０００８】
また、本発明にかかる撮像装置は、上記の発明において、前記信頼度評価部は、前記各検出結果についての信頼度の評価結果をもとに、前記各検出結果の信頼性の有無を判定することを特徴とする。
【０００９】
また、本発明にかかる撮像装置は、上記の発明において、前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果の双方が信頼性有りと判定された場合に、少なくとも前記基準フレーム間動き検出部の検出結果を用いて前記画像移動量を決定することを特徴とする。
【００１０】
また、本発明にかかる撮像装置は、上記の発明において、前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果の双方が信頼性有りと判定された場合に、前記隣接フレーム間動き検出部の検出結果によって定まる前記基準フレームから現フレームまでの画像移動量と、前記基準フレーム間動き検出部の検出結果によって定まる前記基準フレームから現フレームまでの画像移動量との平均値を前記画像移動量として決定することを特徴とする。
【００１１】
また、本発明にかかる撮像装置は、上記の発明において、前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果の双方が信頼性有りと判定された場合に、前記隣接フレーム間動き検出部の検出結果および前記基準フレーム間動き検出部の検出結果に対して対応する信頼度の重み付けを行って前記画像移動量を決定することを特徴とする。
【００１２】
また、本発明にかかる撮像装置は、上記の発明において、前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果のうちの一方の検出結果が信頼性無しと判定された場合に、信頼性有りと判定された他方の検出結果を用いて前記画像移動量を決定することを特徴とする。
【００１３】
また、本発明にかかる撮像装置は、上記の発明において、前記移動量決定部は、前記信頼度評価部による評価の結果、前記基準フレーム間動き検出部の検出結果が信頼性有りと判定された場合には前記基準フレーム間動き検出部の検出結果を用いて前記画像移動量を決定し、前記基準フレーム間動き検出部の検出結果が信頼性無しと判定された場合には前記隣接フレーム間動き検出部の検出結果を用いて前記画像移動量を決定することを特徴とする。
【００１４】
また、本発明にかかる撮像装置は、上記の発明において、前記移動量決定部は、前記信頼度評価部による評価の結果、前記各検出結果の双方が信頼性無しと判定された場合に、現フレームの画像および前記現フレームと隣接する隣接フレームの画像との間の動きを推定して前記画像移動量を決定することを特徴とする。
【００１５】
また、本発明にかかる撮像装置は、上記の発明において、前記信頼度評価部による評価の結果、前記基準フレーム間動き検出部の検出結果が信頼性無しと判定された場合に、前記基準フレームを現フレームに変更する基準フレーム変更部を備えることを特徴とする。
【００１６】
また、本発明にかかる撮像装置における撮像方法は、被写体を撮像して画像データを生成する撮像部を備え、複数回の撮影処理を行って複数の撮影画像を生成する撮像装置における撮像方法であって、前記撮像部によって撮像された前記画像データを所定のフレーム単位で切り換えて表示する表示ステップと、前記現フレームの画像と前記現フレームと隣接する隣接フレームの画像との間の動きを検出する隣接フレーム間動き検出ステップと、前記現フレームの画像と所定の基準フレームの画像との間の動きを検出する基準フレーム間動き検出ステップと、前記隣接フレーム間動き検出ステップでの検出結果および前記基準フレーム間動き検出ステップでの検出結果をもとに、各検出結果についての信頼度を評価する信頼度評価ステップと、前記信頼度評価ステップでの評価結果をもとに、前記隣接フレーム間動き検出ステップでの検出結果および／または前記基準フレーム間動き検出ステップでの検出結果を用いて前記基準フレームから現フレームまでの画像移動量を決定する移動量決定ステップと、前記移動量決定ステップで決定される画像移動量をもとに前記撮影処理の開始を指示する撮影開始指示ステップと、を含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、現フレームの画像と隣接フレームの画像との間の隣接フレーム間の動きを検出するとともに、現フレームの画像と所定の基準フレームの画像との間の基準フレーム間の動きを検出し、各検出結果についての信頼度の評価結果をもとに、隣接フレーム間の検出結果および／または基準フレーム間の検出結果を用いて基準フレームから現フレームまでの画像移動量を決定することができる。例えば、基準フレーム間の検出結果についての信頼度の評価が高ければ、画像移動量を決定する際に基準フレーム間の検出結果を用いることができるので、画像間の動き検出誤差を低減することができ、画像の移動量を精度良く決定できるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照し、本発明の好適な実施の形態について詳細に説明する。本実施の形態では、本発明の撮像装置をデジタルカメラに適用した場合を例にとって説明する。
【００１９】
（実施の形態）
図１は、デジタルカメラ１の背面図である。図１に示すように、デジタルカメラ１は、カメラ本体２の上面に配設された撮影タイミングを指示するためのシャッターボタン（レリーズボタン）３、カメラ本体２の背面に配設された電源ボタン４やメニューボタン５、上下左右の各方向ボタン（上ボタン、下ボタン、左ボタンおよび右ボタン）を有する十字ボタン６、操作内容を確定する等のためのＯＫボタン７、各種画面を表示する表示部２２等を備えている。また、図示しないが、カメラ本体２の前面には、ファインダーや撮像レンズ等が配設されている。ユーザが電源ボタン４を押下し、電源をＯＮすると、デジタルカメラ１は撮影可能な状態（撮影モード）となる。この撮影モードでは、撮像レンズを通して撮像素子１２（図２参照）に結像されている被写体像が１フレーム（例えば１／３０秒）毎に取り込まれ、ライブビュー画像として表示部２２にリアルタイムに表示されるようになっている。そして、例えばシャッターボタン３の押下タイミング等で電子的な撮影が行われる。
【００２０】
先ず、このデジタルカメラ１の構成について説明する。図２は、デジタルカメラ１の構成例を示す概略ブロック図である。図２に示すように、デジタルカメラ１は、撮像光学系１１、撮像部としての撮像素子１２、ＡＦＥ（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から移動量検出状態Ｃ9へと遷移し、次の部分画像の撮影に移る。このようにして、所定枚数の部分画像を撮影したならば、生成した部分画像を合成してパノラマ画像を生成し、パノラマ撮影を終える（ａ１５）。このとき、デジタルカメラ１は、撮影状態Ｃ5から静止画撮影待機状態Ｃ3へと遷移する。
【００４６】
図１４は、撮影モードにおけるデジタルカメラ１の動作を示すフローチャートである。撮影モードでは先ず、コントローラ２７が、撮影モードの種類を判定する。通常の撮影モード等のパノラマ撮影モード以外の撮影モードが設定されている場合には（ステップｂ１：Ｎｏ）、その撮影モードに応じた撮影動作に移り（ステップｂ３）、終了後、処理を終える。
【００４７】
一方、パノラマ撮影モードが設定されている場合には（ステップｂ１：Ｙｅｓ）、先ず１枚目の部分画像の撮影を行う。すなわち、撮影開始指示部２７１が、シャッターボタン３が押下されたタイミングを撮影タイミングとして撮影処理の開始を指示する。これによって撮影処理が開始され、各部の動作を制御してこのときの撮影範囲の静止画像を１枚目の部分画像として撮影する（ステップｂ５）。この撮影処理が開始されると、ライブビュー画像の表示が一旦停止される。このライブビュー画像の表示は、露光の後、画像データの転送処理や画像処理を終えると復帰するようになっている。
【００４８】
続いて、コントローラ２７は、パノラマ撮影方向の指示を促す撮影方向誘導ＯＳＤ（On-Screen Display）をライブビュー画像上に表示する制御を行い、この撮影方向誘導ＯＳＤによってカメラ本体２のパノラマ撮影方向へのパンニング操作を促して、例えば“左”または“右”のいずれかのパノラマ撮影方向の指示を受け付ける（ステップｂ７）。続いて、動き検出部１５において、動き検出エリア設定部１５５が動き検出初期化処理を行う（ステップｂ９）。このとき、動き検出エリア設定部１５５は、直前フレーム画像中の例えば画像の全域に直前フレーム間検出エリアを設定し、この直前フレーム間検出エリア内に代表点を配置するとともに、各代表点に対する現フレーム画像中の探索範囲の位置を固定的に設定する。また、動き検出エリア設定部１５５は、基準フレームの初期設定を行う。具体的には、現フレームを基準フレームに設定して基準移動量を“０”に初期化する。そして、基準フレーム画像中に基準フレーム間検出エリアを所定位置（パノラマ撮影方向が右方向であれば画像の右端位置、左方向であれば画像の左端位置）に設定し、この基準フレーム間検出エリア中の右端に代表点を配置するとともに、各代表点に対する現フレーム画像中の探索範囲の位置を、画像中の右端部を初期位置として設定する。そして、ステップｂ１１〜ステップｂ１５の処理をフレーム毎に繰り返し実行し、カメラ本体２のパンニング操作を検出する。すなわち、動き検出部１５が動き検出処理を行い、画像移動量を決定する（ステップｂ１１）。そして、コントローラ２７が画像移動量をもとに撮影方向判定処理を行う（ステップｂ１３）。このとき、ユーザが撮影方向誘導ＯＳＤの表示に従ってカメラ本体２を左側に向けて水平方向に回転させれば、パノラマ撮影方向は左方向として確定される。同様にして、ユーザがカメラ本体２を右側に向けて水平方向に回転させると、パノラマ撮影方向は右方向として確定される。カメラ本体２が動かされずにパノラマ撮影方向が確定されない場合には（ステップｂ１５：Ｎｏ）、ステップｂ１１に戻る。
【００４９】
そして、パノラマ撮影方向を確定したならば（ステップｂ１５：Ｙｅｓ）、続いてコントローラ２７は、ポインタとターゲットとをライブビュー画像上に表示する制御を行う（ステップｂ１７）。具体的には、コントローラ２７は、ステップｂ１１で算出された画像移動量やステップｂ１３で確定されたパノラマ撮影方向等からポインタおよびポインタの移動目標位置を設定し、ポインタとターゲットとをライブビュー画像上に配置する。
【００５０】
この後、ポインタがターゲットの位置に移動するまでの間、ステップｂ１７〜ステップｂ２３の処理をフレーム毎に繰り返し行う。すなわち、動き検出部１５が動き検出処理を行い、画像移動量を決定する（ステップｂ１９）。この動き検出処理は、ステップｂ１１の動き検出と同様の処理である。続いてコントローラ２７が、動き検出処理で決定された画像移動量に従ってポインタの表示位置を移動させ、表示を更新する（ステップｂ２１）。そして、コントローラ２７は、ポインタの表示位置がターゲットの枠内か否かを判定し、ターゲットの枠内でないならば（ステップｂ２３：Ｎｏ）、ステップｂ１９に戻る。
【００５１】
そして、ポインタがターゲットの枠内に移動した場合には（ステップｂ２３：Ｙｅｓ）、撮影開始指示部２７１が撮影処理の開始を指示する。これによって撮影処理が開始され、このときの撮影範囲の静止画像を部分画像として撮影する（ステップｂ２５）。
【００５２】
続いてコントローラ２７は、所定枚数の撮影を終了したか否かを判定する。例えば、３枚の部分画像を撮影してパノラマ画像を生成する場合であれば、３枚の部分画像を撮影したか否かを判定する。部分画像の枚数は固定でもよいし、ユーザが適宜設定できるように構成してもよい。そして、所定枚数の撮影が終了していない場合には（ステップｂ２７：Ｎｏ）、ステップｂ１５に戻る。
【００５３】
所定枚数の撮影を行った場合には（ステップｂ２７：Ｙｅｓ）、画像処理部１６が、撮影した所定枚数の部分画像をパノラマ撮影方向に従って繋ぎ合わせて合成し、パノラマ画像を生成する（ステップｂ２９）。そして、コントローラ２７が、生成したパノラマ画像を表示部２２に表示する制御を行い（ステップｂ３１）、処理を終了する。また、このとき、生成したパノラマ画像を記録媒体１９に記録する。
【００５４】
次に、ステップｂ１３の撮影方向判定処理およびステップｂ１１，ｂ１９の動き検出処理について順次説明する。
【００５５】
図１５は、撮影方向判定処理の詳細な処理手順を示すフローチャートである。この撮影方向判定処理では、図１４のステップｂ９で算出された画像移動量の水平成分の絶対値を予め設定される所定の方向閾値と比較することによって、カメラ本体２のパンニング操作を検出する。そして、画像移動量（水平成分）の絶対値が方向閾値以下の場合には（ステップｃ１：Ｎｏ）、コントローラ２７は、撮影方向未確定とする（ステップｃ３）。そして、図１４のステップｂ１１にリターンする。一方、画像移動量（水平成分）の絶対値が方向閾値より大きい場合には（ステップｃ１：Ｙｅｓ）、コントローラ２７は、この画像移動量（水平成分）が０より大きければ（ステップｃ５：Ｙｅｓ）、パノラマ撮影方向を「右」として確定する（ステップｃ７）。そして、図１４のステップｂ１１にリターンする。また、コントローラ２７は、画像移動量（水平成分）が０未満の場合には（ステップｃ５：Ｎｏ）、パノラマ撮影方向を「左」として確定する（ステップｃ９）。そして、図１４のステップｂ１１にリターンする。
【００５６】
図１６は、動き検出処理の詳細な処理手順を示すフローチャートである。この動き検出処理では、動き検出部１５は、現フレーム画像と直前フレーム画像との間で動き検出を行い（ステップｄ１）、直前フレーム間検出結果を動き検出部１５のＲＡＭに一時的に記憶するとともに（ステップｄ３）、現フレーム画像と基準フレーム画像との間で動き検出を行い（ステップｄ５）、基準フレーム間検出結果を動き検出部１５のＲＡＭに一時的に記憶する（ステップｄ７）。続いて、信頼度評価部１５１が、直前フレーム間検出結果および基準フレーム間検出結果の信頼度を算出してその評価を行う（ステップｄ８）。ここでの評価の結果、信頼度評価部１５１が基準フレーム間検出結果を信頼性有りと判定した場合には（ステップｄ９：Ｙｅｓ）、続いて移動量決定部１５３が、現時点での基準移動量と今回の基準フレーム間検出結果との合計値を画像移動量として決定する（ステップｄ１１）。そして、動き検出エリア設定部１５５が、ステップｄ１１で決定された画像移動量に従って、基準フレームの基準フレーム間検出エリア内に配置された代表点に対する現フレーム画像中の探索範囲の設定位置を更新し（ステップｄ１３）、図１４のステップｂ１９にリターンする。
【００５７】
一方、ステップｄ８での評価の結果、信頼度評価部１５１が基準フレーム間検出結果を信頼性無しと判定した場合には（ステップｄ９：Ｎｏ）、基準フレーム間検出結果についての信頼度の評価結果を判定する。信頼度評価部１５１が直前フレーム間検出結果を信頼性有りと判定した場合には（ステップｄ１５：Ｙｅｓ）、続いて移動量決定部１５３が、画像移動量の前回値と今回の直前フレーム間検出結果との合計値を画像移動量として決定する（ステップｄ１７）。決定後、ステップｄ２３に移行する。一方、信頼度評価部１５１が直前フレーム間検出結果を信頼性無しと判定した場合であれば（ステップｄ１５：Ｎｏ）、移動量決定部１５３は、動き量推定処理を行って、現フレーム画像と直前フレーム画像との間の動き量を推定する（ステップｄ１９）。例えば、直近の所定数フレーム分の直前フレーム間検出結果を動き検出部１５のＲＡＭに保持しておくようにする。そして、この所定数の直前フレーム間検出結果をもとに、例えばこれらの平均値を求める等し、現フレーム画像と直前フレーム画像との間の推定動き量とする。そして、移動量決定部１５３は、画像移動量の前回値と推定動き量との合計値を画像移動量として決定する（ステップｄ２１）。決定後、ステップｄ２３に移行する。
【００５８】
ステップｄ２３では、動き検出エリア設定部１５５が、現フレームを基準フレームに再設定し、続いて基準フレームの基準フレーム間検出エリア内に配置された代表点に対する現フレーム画像中の探索範囲の設定位置を初期位置とするとともに（ステップｄ２５）、基準移動量を現在の画像移動量の値に更新する（ステップｄ２７）。その後、図１４のステップｂ１９にリターンする。
【００５９】
以上説明したように、本実施の形態によれば、直前フレーム間の動き検出と基準フレーム間の動き検出とを行い、基準フレーム間検出結果に信頼性が有る場合には、この基準フレーム間検出結果を用いて基準フレームから現フレームまでの画像移動量を決定することができる。一方、基準フレーム間検出結果に信頼性が無い場合、直前フレーム間検出結果に信頼性があれば、この直前フレーム間検出結果を用いて画像移動量を決定することができる。また、基準フレーム間検出結果および直前フレーム間検出結果の双方に信頼性がなければ、直前フレーム間の動きを推定することによって画像移動量を決定することができる。すなわち、基準フレーム間検出結果に信頼性が有る間は、現フレーム画像と基準フレーム画像との間の動き検出によって画像移動量を決定するので、動き検出で生じた検出誤差が積算されることがない。また、基準フレーム間検出結果に信頼性が無いと判定された場合、直前フレーム間検出結果に信頼性が有れば、この直前フレーム間検出結果と画像移動量の前回値とから画像移動量を決定することができる。したがって、画像間の動き検出誤差を低減することができるため、画像の移動量を精度良く決定できるという効果を奏する。これによれば、パノラマ画像を合成する際、部分画像間を適切に繋ぎ合せて違和感のない自然なパノラマ画像を生成することができる。
【００６０】
以上、本発明の好適な実施の形態について説明したが、本発明は、上記したものに限定されず、発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００６１】
例えば、上記した実施の形態では、基準フレーム間検出結果が信頼性有りと判定された場合に、この基準フレーム間検出結果を用いて画像移動量を決定する場合について説明したが、これに限定されるものではない。図１７は、変形例における動き検出処理の処理手順を示すフローチャートである。なお、図１７において、図１６と同様のステップには同一の符号を付する。また、以下の説明において、上記した実施の形態と同様の構成については、同一の符号を付する。
【００６２】
本変形例では、図１７に示すように、信頼度評価部１５１が基準フレーム間検出結果を信頼性有りと判定した場合に（ステップｄ９：Ｙｅｓ）、続いて直前フレーム間検出結果の評価結果を判定する。そして、信頼性が有る場合には（ステップｅ２９：Ｙｅｓ）、移動量決定部１５３が、重み付き移動量算出処理を行う（ステップｅ３１）。例えば、移動量決定部１５３は、次式（１）に従って重み付き移動量Ｍｗを算出する。ここで、Ｍｂは今回の直前フレーム間検出結果、Ｍｄは今回の基準フレーム間検出結果、Ｍｅは前回の基準フレーム間検出結果、Ｃｂは今回の直前フレーム間検出結果の信頼度、Ｃｄは今回の基準フレーム間検出結果の信頼度をそれぞれ示している。
Ｍｗ＝Ｍｂ×Ｃｂ／（Ｃｂ＋Ｃｄ）＋(Ｍｄ-Ｍｅ)×Ｃｄ／（Ｃｂ＋Ｃｄ）・・・（１）
【００６３】
そして、移動量決定部１５３は、基準移動量とステップｅ３１で算出された重み付き移動量Ｍｗとの合計値を画像移動量として決定する（ステップｅ３３）。その後、ステップｄ１３に移行する。
【００６４】
一方、直前フレーム間検出結果に信頼性が無い場合には（ステップｅ２９：Ｎｏ）、ステップｅ３５に移行し、移動量決定部１５３が、現時点での基準移動量と今回の基準フレーム間検出結果との合計値を画像移動量として決定する。その後、ステップｄ１３に移行する。すなわち、動き検出エリア設定部１５５が、基準フレームの基準フレーム間検出エリア内に配置された代表点に対する現フレーム画像中の探索範囲の設定位置を更新する。
【００６５】
また、上記した実施の形態では、「右」または「左」のいずれかをパノラマ撮影方向とする場合について説明したが、左右以外の方向をパノラマ撮影方向とすることもできる。例えば、「上」または「下」をパノラマ撮影方向としたパノラマ撮影を行う場合には、図１５に示した撮影方向判定処理において、画像移動量の垂直成分の絶対値を予め設定される所定の方向閾値と比較するように構成し、画像移動量の垂直成分の正負を判定して正の値であれば「上」、負の値であれば「下」としてパノラマ撮影方向を確定する。
【００６６】
また、上記した実施の形態では、パノラマ撮影方向が“右”の場合には画角範囲の右端位置を初期位置として基準フレーム間検出エリアを設定し、パノラマ撮影方向が“左”の場合には画角範囲の左端位置を初期位置として基準フレーム間検出エリアを設定することとして説明したが、例えば画角範囲の中央を初期位置として設定することとしてもよい。また、「上」または「下」をパノラマ撮影方向としたパノラマ撮影を行う場合には、画角範囲の上端位置や下端位置を初期位置として基準フレーム間検出を設定することとしてもよい。
【図面の簡単な説明】
【００６７】
【図１】デジタルカメラの背面図である。
【図２】デジタルカメラの構成例を示す概略ブロック図である。
【図３】フレームメモリの内部構成を示す模式図である。
【図４】動き検出部が行う動き検出の概要を説明する説明図である。
【図５】動き検出部の機能構成を示す模式図である。
【図６】パノラマ撮影モードの概要を説明する説明図である。
【図７】パノラマ撮影モードにおいて表示部に表示される表示画面の遷移例を示す図である。
【図８】動き検出エリアの一例を示す図である。
【図９】直前フレーム間の動き検出について説明するための図である。
【図１０】基準フレーム間の動き検出について説明するための図である。
【図１１】動き検出の原理について説明するための説明図である。
【図１２】動き検出の原理について説明するための説明図である。
【図１３】デジタルカメラの状態遷移図である。
【図１４】撮影モードにおけるデジタルカメラの動作を示すフローチャートである。
【図１５】撮影方向判定処理の詳細な処理手順を示すフローチャートである。
【図１６】動き検出処理の詳細な処理手順を示すフローチャートである。
【図１７】変形例における動き検出処理の処理手順を示すフローチャートである。
【符号の説明】
【００６８】
１      デジタルカメラ
２      カメラ本体
１１      撮像光学系
１２      撮像素子
１３      ＡＦＥ
１４      フレームメモリ
１４１      現フレームデータ
１４３      直前フレームデータ
１４５      基準フレームデータ
１５      動き検出部
１５１      信頼度評価部
１５３      移動量決定部
１５５      動き検出エリア設定部
１６      画像処理部
１７      記録媒体Ｉ／Ｆ
１８      記録媒体保持部
１９      記録媒体
２０      ビデオエンコーダ
２１      表示ドライバ
２２      表示部
２３      ビデオ信号出力端子
２４      操作部
３      シャッターボタン
４      電源ボタン
２５      ＲＡＭ
２６      ＲＯＭ
２７      コントローラ
２７１      撮影開始指示部
【図１】
2009278432.tif 000003
【図２】
2009278432.tif 000004
【図３】
2009278432.tif 000005
【図４】
2009278432.tif 000006
【図５】
2009278432.tif 000007
【図６】
2009278432.tif 000008
【図７】
2009278432.tif 000009
【図８】
2009278432.tif 000010
【図９】
2009278432.tif 000011
【図１０】
2009278432.tif 000012
【図１１】
2009278432.tif 000013
【図１２】
2009278432.tif 000014
【図１３】
2009278432.tif 000015
【図１４】
2009278432.tif 000016
【図１５】
2009278432.tif 000017
【図１６】
2009278432.tif 000018
【図１７】
2009278432.tif 000019