(57)【要約】【課題】撮影処理中に生じるブラックアウト時の画像の移動量を推定し、画像移動量の算出精度を向上させること。【解決手段】動き検出部１５は、現フレーム画像と直前フレーム画像との間で動き検出を行ってフレーム間移動量を検出する。撮影中移動量推定部は、撮影処理の開始前および撮影処理の終了後に検出されたフレーム間移動量を用い、撮影処理の開始後、ライブビュー画像の表示が停止されてから復帰するまでのブラックアウトとなる像消失時間に従って、撮影処理中のライブビュー画像の動きを近似して補間することで撮影中移動量を推定する。【選択図】図２
2009278351.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から移動量推定状態Ｃ11へと遷移する。ここでは、撮影中移動量を推定し、推定した撮影中移動量をもとに積算移動量を更新するとともに、推定した撮影中移動量をもとにポインタの初期表示位置を調整して設定し、ライブビュー画像上にポインタとターゲットとを表示させる。推定を完了すると（ａ１５）、デジタルカメラ１は、移動量推定状態Ｃ11から移動量検出状態Ｃ9へと遷移し、次の部分画像の撮影に移る。このようにして、所定枚数の部分画像を撮影したならば、生成した部分画像を合成してパノラマ画像を生成し、パノラマ撮影を終える（ａ１７）。このとき、デジタルカメラ１は、撮影状態Ｃ5から静止画撮影待機状態Ｃ3へと遷移する。
【００３３】
図９は、撮影モードにおけるデジタルカメラ１の動作を示すフローチャートである。撮影モードでは先ず、コントローラ２７が、撮影モードの種類を判定する。通常の撮影モード等のパノラマ撮影モード以外の撮影モードが設定されている場合には（ステップｂ１：Ｎｏ）、その撮影モードに応じた撮影動作に移り（ステップｂ３）、終了後、処理を終える。
【００３４】
一方、パノラマ撮影モードが設定されている場合には（ステップｂ１：Ｙｅｓ）、先ず１枚目の部分画像の撮影を行う。すなわち、撮影開始指示部２７１が、シャッターボタン３が押下されたタイミングを撮影タイミングとして撮影処理の開始を指示する。これによって撮影処理が開始され、各部の動作を制御してこのときの撮影範囲の静止画像を１枚目の部分画像として撮影する（ステップｂ５）。この撮影処理の開始後、ライブビュー画像の表示が一旦停止される。このライブビュー画像の表示は、撮影処理の終了時、すなわち、露光の後、画像データの転送処理や画像処理を終えると復帰するようになっている。
【００３５】
続いて、コントローラ２７は、パノラマ撮影方向の指示を促す撮影方向誘導ＯＳＤ（On-Screen Display）をライブビュー画像上に表示する制御を行い、この撮影方向誘導ＯＳＤによってカメラ本体２のパノラマ撮影方向へのパンニング操作を促して、例えば“左”または“右”のいずれかのパノラマ撮影方向の指示を受け付ける（ステップｂ７）。そして、ステップｂ９〜ステップｂ１３の処理をフレーム毎に繰り返し実行し、カメラ本体２のパンニング操作を検出する。すなわち、動き検出部１５が現フレーム画像と直前フレーム画像との間の動き検出を行い、フレーム間移動量を随時積算して積算移動量を算出・更新する（ステップｂ９）。そして、コントローラ２７が、積算移動量をもとに撮影方向判定処理を行う（ステップｂ１１）。このとき、ユーザが撮影方向誘導ＯＳＤの表示に従ってカメラ本体２を左側に向けて水平方向に回転させれば、パノラマ撮影方向は左方向として確定される。同様にして、ユーザがカメラ本体２を右側に向けて水平方向に回転させると、パノラマ撮影方向は右方向として確定される。カメラ本体２が動かされずにパノラマ撮影方向が確定されない場合には（ステップｂ１３：Ｎｏ）、ステップｂ９に戻る。
【００３６】
そして、パノラマ撮影方向を確定したならば（ステップｂ１３：Ｙｅｓ）、続いてコントローラ２７は、表示制御部として、ポインタとターゲットとをライブビュー画像上に表示する制御を行う（ステップｂ１５）。具体的には、コントローラ２７は、ステップｂ９で積算された積算移動量をもとにポインタの初期表示位置を設定し、ポインタとターゲットとをライブビュー画像上に配置する。またこのとき、ポインタとターゲットとの位置関係をパノラマ撮影方向に従って決定する。
【００３７】
この後、ポインタがターゲットの位置に移動するまでの間、ステップｂ１７〜ステップｂ２１の処理をフレーム毎に繰り返し行う。すなわち先ず、動き検出部１５が動き検出処理を行って積算移動量を更新する（ステップｂ１７）。続いてコントローラ２７が、動き検出処理の結果更新された積算移動量をもとにポインタの表示位置を移動させ、表示を更新する（ステップｂ１９）。そして、コントローラ２７は、ポインタの表示位置がターゲットの枠内か否かを判定し、ターゲットの枠内でないならば（ステップｂ２１：Ｎｏ）、ステップｂ１７に戻る。
【００３８】
ポインタがターゲットの枠内に移動した場合には（ステップｂ２１：Ｙｅｓ）、動き検出部１５が、現時点で内部のＲＡＭに記憶されている直近の所定数フレーム分のフレーム間移動量を撮影前動きデータとし、撮影中移動量推定処理用に内部のＲＡＭ内に記憶する（ステップｂ２３）。そして、像消失時間計測部２７３が、撮影処理直前の最後のライブビュー画像の露光が終了した時点で像消失時間の計測を開始する（ステップｂ２５）。続いて、撮影開始指示部２７１が、撮影処理の開始を指示する（ステップｂ２７）。ここでの指示によって撮影処理が開始され、このときの撮影範囲の静止画像を部分画像として撮影する。そして、撮影処理を終えると（ステップｂ２９）、像消失時間計測部２７３は、像消失時間の計測を終了する（ステップｂ３１）。
【００３９】
続いてコントローラ２７は、所定枚数の撮影を終了したか否かを判定する。例えば、３枚の部分画像を撮影してパノラマ画像を生成する場合であれば、３枚の部分画像を撮影したか否かを判定する。部分画像の枚数は固定でもよいし、ユーザが適宜設定できるように構成してもよい。所定枚数の撮影が終了していない場合には（ステップｂ３３：Ｎｏ）、動き検出部１５が撮影中移動量推定処理を行い、撮影中移動量を推定して積算移動量を更新する（ステップｂ３５）。続いてコントローラ２７が、表示制御部として、撮影中移動量推定処理で推定された撮影中移動量をもとにポインタの初期表示位置を調整して設定し、ポインタとターゲットとをライブビュー画像上に表示する制御を行う（ステップｂ３７）。このとき、そして、ポインタとターゲットとの位置関係をパノラマ撮影方向に従って決定する。その後、ステップｂ１７に戻る。
【００４０】
そして、所定枚数の撮影を行った場合には（ステップｂ３３：Ｙｅｓ）、画像処理部１６が、撮影した所定枚数の部分画像をパノラマ撮影方向に従って繋ぎ合わせて合成し、パノラマ画像を生成する（ステップｂ３９）。そして、コントローラ２７が、生成したパノラマ画像を表示部２２に表示する制御を行い（ステップｂ４１）、処理を終了する。また、このとき、生成したパノラマ画像を記録媒体１９に記録する。
【００４１】
次に、図９のステップｂ１１で行う撮影方向判定処理について説明する。図１０は、撮影方向判定処理の詳細な処理手順を示すフローチャートである。この撮影方向判定処理では、図９のステップｂ９で算出・更新された積算移動量の水平成分の絶対値を予め設定される所定の方向閾値と比較することによって、カメラ本体２のパンニング操作を検出する。そして、積算移動量（水平成分）の絶対値が方向閾値以下の場合には（ステップｃ１：Ｎｏ）、コントローラ２７は、撮影方向未確定とする（ステップｃ３）。そして、図９のステップｂ１１にリターンする。一方、積算移動量（水平成分）の絶対値が方向閾値より大きい場合には（ステップｃ１：Ｙｅｓ）、コントローラ２７は、この積算移動量（水平成分）が０より大きければ（ステップｃ５：Ｙｅｓ）、パノラマ撮影方向を「右」として確定する（ステップｃ７）。そして、図９のステップｂ１１にリターンする。また、コントローラ２７は、積算移動量（水平成分）が０未満の場合には（ステップｃ５：Ｎｏ）、パノラマ撮影方向を「左」として確定する（ステップｃ９）。そして、図９のステップｂ１１にリターンする。
【００４２】
次に、図９のステップｂ１７で行う動き検出処理について説明する。図１１は、動き検出処理の詳細な処理手順を示すフローチャートである。この動き検出処理では、動き検出部１５は、現フレーム画像と直前フレーム画像との間で動き検出を行って（ステップｄ１）、動き検出結果（フレーム間移動量）を動き検出部１５のＲＡＭに記憶する（ステップｄ３）。続いて、信頼性評価部１５１が、フレーム間移動量の信頼性の評価を行う（ステップｄ５）。ここでの評価の結果、信頼性評価部１５１がフレーム間移動量を信頼性ありと判定した場合には（ステップｄ７：Ｙｅｓ）、続いて移動量更新部１５５が、積算移動量の前回値と今回のフレーム間移動量との合計値を積算移動量として更新する（ステップｄ９）。そして、図９のステップｂ１７にリターンする。
【００４３】
ここで、信頼性評価部１５１が行う信頼性の評価について説明する。信頼性評価部１５１は、フレーム間移動量をもとに評価パラメータの値を算出し、信頼性の有無を判定する。例えば、複数配置された代表点に対するマッチング失敗数が多い場合や、得られた動きベクトルの方向に統一性が無い場合は、フレーム間移動量の信頼性が低いと考えられる。そこで、代表点数に対するマッチング成功数を第１の評価パラメータとして算出する。また、マッチングが成功している動きベクトルをその方向毎にグループ分けして要素数の最大値を選出し、マッチング成功数に対する要素数の最大値を第２の評価パラメータとして算出する。そして、信頼性評価部１５１は、得られた各評価パラメータが予め設定される所定の閾値を超えているか否かによって、フレーム間移動量の信頼性の有無を判定する。
【００４４】
一方、ステップｄ５での評価の結果、信頼性評価部１５１がフレーム間動き検出結果を信頼性なしと判定した場合には（ステップｄ７：Ｎｏ）、移動量更新部１５５は、フレーム間動き量推定処理を行って、現フレーム画像と直前フレーム画像との間の動き量を推定する（ステップｄ１１）。例えば、動き検出部１５のＲＡＭに随時更新記憶される直近の所定数フレーム分のフレーム間動き検出結果をもとに、例えばこれらの平均値を求める等し、現フレーム画像と直前フレーム画像との間の推定動き量とする。そして、移動量更新部１５５は、積算移動量の前回値と推定動き量との合計値を積算移動量として更新する（ステップｄ１３）。そして、図９のステップｂ１７にリターンする。
【００４５】
次に、図９のステップｂ３５で行う撮影中移動量推定処理について説明する。図１２は、横軸をフレーム、縦軸をフレーム間移動量（％）として、撮影処理の開始前に検出された４フレーム分のフレーム間移動量である撮影前動きデータと、撮影処理の終了直後に検出された１フレーム分のフレーム間移動量とをプロットしてグラフ化した図である。ここでは、フレーム間移動量を、前回の撮影位置から次に撮影を行う撮影位置まで移動したときの移動量を１００％とした場合の値（％）として示している。撮影中移動量推定処理では、撮影処理の開始前および撮影処理の終了直後のフレーム間移動量を用い、像消失時間計測部２７３によって計測された撮影処理中の像消失時間に従って、この撮影処理中の動きの近似式を導出し、近似式に従って撮影中移動量を推定する。
【００４６】
図１３は、撮影中移動量推定処理について説明するための図であり、図１２と同様にして、横軸をフレーム、縦軸をフレーム間移動量（％）として、撮影処理の開始前に検出された４つのフレーム間移動量と、撮影処理の終了直後に検出された１つのフレーム間移動量とを示している。先ず、像消失時間に従って、撮影処理中のブラックアウトとなる区間に仮想フレームｆｖ11，ｆｖ13を設定する。続いて、撮影処理の開始前の４つのフレーム間移動量Ｐ１１〜Ｐ１４と撮影処理の終了直後の１つのフレーム間移動量Ｐ１５とから、例えば最小二乗法を適用して近似式を導出する。そして、導出した近似式に従って各仮想フレームｆｖ11，ｆｖ13でのフレーム間移動量Ｐ１６，Ｐ１７を補間し、各値の積算値を撮影中移動量とする。
【００４７】
図１４は、撮影中移動量推定処理の詳細な処理手順を示すフローチャートである。図１４に示すように、動き検出部１５は先ず、動き検出処理を行う（ステップｅ１）。この動き検出処理の処理手順は、図１１に示した動き検出処理と同様であり、この結果、撮影処理の終了直後のフレーム間移動量が検出される。続いて撮影中移動量推定部１５３が、像消失時間に従って仮想フレームの設定を行う（ステップｅ３）。そして、撮影中移動量推定部１５３は、撮影処理の開始前のフレーム間移動量と撮影処理の終了直後のフレーム間移動量を用い、最小二乗法を適用して近似式を導出する（ステップｅ５）。続いて、撮影中移動量推定部１５３は、導出した近似式に従って、設定した仮想フレームでのフレーム間移動量を補間する（ステップｅ７）。そして、撮影中移動量推定部１５３は、補間した各仮想フレームでのフレーム間移動量（補間値）を積算し、撮影中移動量として算出する（ステップｅ９）。そして、撮影中移動量推定部１５３は、積算移動量の前回値とステップｅ９で算出した撮影中移動量との合計値を積算移動量として更新する（ステップｅ１１）。そして、図９のステップｂ３５にリターンする。
【００４８】
以上説明したように、本実施の形態によれば、撮影処理の開始前および撮影処理の終了直後のフレーム間移動量を用い、像消失時間に従って近似式を導出し、該近似式に従って、撮影中移動量を推定することができる。これによれば、撮影処理中に生じるブラックアウト時の画像の移動量を推定できるので、ライブビュー画像の表示が一旦停止されてブラックアウトが生じる撮影処理中にカメラ本体２が動かされた場合であっても、画像移動量を精度良く算出することができるという効果を奏する。したがって、部分画像間の繋ぎ目を正しく検出することができ、部分画像を合成して違和感のない自然なパノラマ画像を生成することができる。また、撮影中移動量を推定する際、撮影処理の直後に検出された１つのフレーム間移動量を用いるので、撮影処理の後直ぐに、ライブビュー画像上にポインタとターゲットとを表示させることができる。
【００４９】
以上、本発明の好適な実施の形態について説明したが、本発明は、上記したものに限定されず、発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００５０】
例えば、上記した実施の形態では、撮影処理中のライブビュー画像の動きを最小二乗近似して補間することとしたが、直線近似して補間することとしてもよい。図１５は、本変形例における撮影中移動量推定処理について説明するための図であり、横軸をフレーム、縦軸をフレーム間移動量（％）として、撮影処理の開始前に検出された４つのフレーム間移動量と、撮影処理の終了直後に検出された１つのフレーム間移動量とを示している。本変形例の撮影中移動量推定処理では、上記した実施の形態と同様にして、像消失時間に従い、撮影処理中のブラックアウトとなる区間に仮想フレームｆｖ21，ｆｖ23を設定する。続いて、撮影処理の開始前の４つのフレーム間移動量Ｐ２１〜Ｐ２４と撮影処理の終了直後の１つのフレーム間移動量Ｐ２５とから例えば近似直線を求め、この近似直線に従って設定した仮想フレームｆｖ21，ｆｖ23でのフレーム間移動量Ｐ２６，Ｐ２７を補間し、各値の積算値を撮影中移動量とする。
【００５１】
また、上記した実施の形態では、撮影処理の開始前に検出された４フレーム分のフレーム間移動量と、撮影処理の終了直後に検出された１フレーム分のフレーム間移動量とを用いて撮影中移動量を推定する場合について説明したが、これに限定されるものではない。例えば、撮影処理の終了後、所定数分（例えば４フレーム分）のフレーム間移動量を検出した後で、撮影処理の開始前および撮影処理の終了後にそれぞれ検出された４フレーム分のフレーム間移動量を用いて、撮影中移動量を推定することとしてもよい。図１６は、本変形例における撮影中移動量推定処理について説明するための図であり、横軸をフレーム、縦軸をフレーム間移動量（％）として、撮影処理の開始前に検出された４つのフレーム間移動量と、撮影処理の終了後に検出された４つのフレーム間移動量とを示している。本変形例の撮影中移動量推定処理では、上記した実施の形態と同様にし、先ず、像消失時間に従って撮影処理中のブラックアウトとなる区間に仮想フレームｆｖ31，ｆｖ33を設定する。続いて、撮影処理の開始前の４つのフレーム間移動量Ｐ３０〜Ｐ３３と撮影処理の終了後の４つのフレーム間移動量Ｐ３４〜Ｐ３７とから、例えば最小二乗法を適用して近似式を導出する。そして、導出した近似式に従って設定した仮想フレームｆｖ31，ｆｖ33でのフレーム間移動量Ｐ３８，Ｐ３９を補間し、各値の積算値を撮影中移動量とする。
【００５２】
あるいは、撮影処理の開始直前および撮影処理の終了直後に検出されたフレーム間移動量を用いて、撮影中移動量を推定することとしてもよい。図１７は、本変形例における撮影中移動量推定処理について説明するための図であり、横軸をフレーム、縦軸をフレーム間移動量（％）として、撮影処理の開始前に検出された１つのフレーム間移動量と、撮影処理の終了後に検出された１つのフレーム間移動量とを示している。この場合には、像消失時間に従って仮想フレームｆｖ41，ｆｖ43を設定した後、撮影処理の開始直前の１つのフレーム間移動量Ｐ４１と終了直後の１つのフレーム間移動量Ｐ４２とから例えば近似直前を求める。そして、この近似直線に従って、設定した仮想フレームｆｖ41，ｆｖ43でのフレーム間移動量Ｐ４３，Ｐ４４を補間し、各値の積算値を撮影中移動量とする。
【００５３】
また、上記した実施の形態では、２枚目以降の部分画像の撮影処理の後、撮影中移動量を算出する場合について説明したが、１枚目の撮影処理の後においても、２枚目以降の撮影処理の後と同様にして撮影中移動量の算出を行うようにしても構わない。
【００５４】
また、上記した実施の形態では、「右」または「左」のいずれかをパノラマ撮影方向とする場合について説明したが、左右以外の方向をパノラマ撮影方向とすることもできる。例えば、「上」または「下」をパノラマ撮影方向としたパノラマ撮影を行う場合には、図１０に示した撮影方向判定処理において、積算移動量の垂直成分の絶対値を予め設定される所定の方向閾値と比較するように構成し、積算移動量の垂直成分の正負を判定して正の値であれば「上」、負の値であれば「下」としてパノラマ撮影方向を確定する。
【図面の簡単な説明】
【００５５】
【図１】デジタルカメラの背面図である。
【図２】デジタルカメラの構成例を示す概略ブロック図である。
【図３】フレーム間の動き検出について説明するための図である。
【図４】動き検出部の機能構成を示す模式図である。
【図５】パノラマ撮影モードの概要を説明する説明図である。
【図６】パノラマ撮影モードにおいて表示部に表示される表示画面の遷移例を示す図である。
【図７】パノラマ撮影モードにおいて表示部に表示される表示画面の遷移例を示す図である。
【図８】デジタルカメラの状態遷移図である。
【図９】撮影モードにおけるデジタルカメラの動作を示すフローチャートである。
【図１０】撮影方向判定処理の詳細な処理手順を示すフローチャートである。
【図１１】動き検出処理の詳細な処理手順を示すフローチャートである。
【図１２】撮影処理の開始前に検出された４つのフレーム間移動量と、撮影処理の終了直後に検出された１つのフレーム間移動量とをグラフ化した図である。
【図１３】撮影中移動量推定処理について説明するための図である。
【図１４】撮影中移動量推定処理の詳細な処理手順を示すフローチャートである。
【図１５】変形例における撮影中移動量推定処理について説明するための図である。
【図１６】他の変形例における撮影中移動量推定処理について説明するための図である。
【図１７】他の変形例における撮影中移動量推定処理について説明するための図である。
【符号の説明】
【００５６】
１      デジタルカメラ
２      カメラ本体
１１      撮像光学系
１２      撮像素子
１３      ＡＦＥ
１４      フレームメモリ
１５      動き検出部
１５１      信頼性評価部
１５３      撮影中移動量推定部
１５５      移動量更新部
１６      画像処理部
１７      記録媒体Ｉ／Ｆ
１８      記録媒体保持部
１９      記録媒体
２０      ビデオエンコーダ
２１      表示ドライバ
２２      表示部
２３      ビデオ信号出力端子
２４      操作部
３      シャッターボタン
４      電源ボタン
２５      ＲＡＭ
２６      ＲＯＭ
２７      コントローラ
２７１      撮影開始指示部
２７３      像消失時間計測部
【図１】
2009278351.tif 000003
【図２】
2009278351.tif 000004
【図３】
2009278351.tif 000005
【図４】
2009278351.tif 000006
【図５】
2009278351.tif 000007
【図６】
2009278351.tif 000008
【図７】
2009278351.tif 000009
【図８】
2009278351.tif 000010
【図９】
2009278351.tif 000011
【図１０】
2009278351.tif 000012
【図１１】
2009278351.tif 000013
【図１２】
2009278351.tif 000014
【図１３】
2009278351.tif 000015
【図１４】
2009278351.tif 000016
【図１５】
2009278351.tif 000017
【図１６】
2009278351.tif 000018
【図１７】
2009278351.tif 000019