(57)【要約】【課題】  流し撮りのようなカメラを動かしながら撮影する際に、主被写体の位置にかかわらず、主被写体を認識することを可能にした画像処理装置を提供することである。【解決手段】  複数の画像間で変化のある領域を検出する検出手段と、前記複数の画像の領域ごとの移動ベクトルを算出する算出手段と、前記算出手段により算出された領域ごとの移動ベクトルと、前記複数の画像を撮像した撮像手段の前記複数の画像間での動きに関する情報を用いて、前記複数の画像内で動体の存在する領域を推定する推定手段と、前記検出手段により検出された変化のある領域と、前記推定手段により推定された動体の存在する領域とに基づいて動体領域を特定する特定手段と、を有することを特徴とする。【選択図】  図２
2015012480.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像の差分から画像間で変化のある領域を検出する検出手段と、
前記複数の画像の領域ごとの移動ベクトルを算出する算出手段と、
前記算出手段により算出された領域ごとの移動ベクトルに基づいて、前記複数の画像内で動体の存在する動体領域を推定する推定手段と、
前記検出手段により検出された変化のある領域と、前記推定手段により推定された動体領域とに基づいて動体領域を特定する特定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記検出手段は、前記複数の画像を撮像した撮像手段の動きを検出するセンサからの情報に対応する動き情報を用いて、前記複数の画像を背景の位置で位置を合わせる位置合わせ手段を有し、
前記位置合わせ手段により位置合わせされた前記複数の画像の差分から前記変化のある領域を検出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、前記算出手段により算出された領域ごとの移動ベクトルを用いて、前記複数の画像を背景の位置で位置を合わせる位置合わせ手段を有し、
前記位置合わせ手段により位置合わせされた前記複数の画像の差分から前記変化のある領域を検出することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記推定手段は、前記算出手段により算出された領域ごとの移動ベクトルから、前記複数の画像を撮像した撮像手段の動きを検出するセンサからの情報に対応する動き情報に基づいて決まる大きさの範囲にある移動ベクトルを、動体の領域に対応する移動ベクトルとして検出し、前記動体領域を推定することを特徴とする請求項１乃至３のいずれか１つに記載の画像処理装置。
【請求項５】
前記推定手段は、前記移動ベクトルのヒストグラムに基づいて、前記動体領域を推定することを特徴とする請求項１乃至４のいずれか１つに記載の画像処理装置。
【請求項６】
前記検出手段は、連続して撮影された３枚の画像に対して、中間に撮影された画像を基準にして他の画像との差分をそれぞれとった差分画像を生成し、当該２つの差分画像の論理積によって前記変化のある領域を検出することを特徴とする請求項１乃至５のいずれか１つに記載の画像処理装置。
【請求項７】
前記推定手段は、前記算出手段により求められた移動ベクトルで前記動体の存在する領域を推定した後、さらに推定された前記動体の存在する領域についてより細かい領域ごとの移動ベクトルを検出し、前記動体領域を推定することを特徴とする請求項１乃至６のいずれか１つに記載の画像処理装置。
【請求項８】
前記特定手段は、前記検出手段により検出される前記変化のある領域であり、前記推定手段により推定される前記動体領域でもある領域を、動体領域として特定することを特徴とする請求項１乃至７のいずれか１つに記載の画像処理装置。
【請求項９】
前記複数の画像を撮像した撮像手段の動きを検出するセンサからの情報に対応する動き情報は、前記複数の画像が撮像された際の前記撮像手段の角速度に対応する情報であることを特徴とする請求項１乃至８のいずれか１つに記載の画像処理装置。
【請求項１０】
前記動体領域を基準として前記複数の画像の位置合わせを行い、合成する合成手段を有することを特徴とする請求項１乃至９のいずれか１つに記載の画像処理装置。
【請求項１１】
前記合成手段により合成された画像に基づいて、前記特定された動体領域以外の領域がぼけた合成画像を生成することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記撮像手段と、
前記撮像手段の動きを検出する検出手段と、を有することを特徴とする請求項１乃至１１のいずれか１つに記載の画像処理装置。
【請求項１３】
複数の画像の差分から画像間で変化のある領域を検出する検出ステップと、
前記複数の画像の領域ごとの移動ベクトルを算出する算出ステップと、
前記算出手段により算出された領域ごとの移動ベクトルと、前記複数の画像を撮像した撮像手段の前記複数の画像間での動きに関する情報を用いて、前記複数の画像内で動体の領域を推定する推定ステップと、
前記検出ステップにて検出された変化のある領域と、前記推定ステップにて推定された動体の領域とに基づいて動体領域を特定する特定ステップと、
を有することを特徴とする画像処理方法。
【請求項１４】
請求項１３に記載の画像処理方法のステップが記述されたコンピュータで実行可能なプログラム。
【請求項１５】
コンピュータに、請求項１３に記載の画像処理方法の各ステップを実行させるためのプログラムが記憶されたコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に流し撮り時の被写体の動きに着目した被写体認識に関するものである。
【背景技術】
【０００２】
移動している被写体のスピード感を表現する撮影技術として流し撮りがある。前記撮影技術は、撮影者が被写体の動きに合わせてカメラをパンニングすることにより、移動している被写体を撮影画像内では静止させて、背景が流れるように写すことを目的とする。一般的な流し撮りは、撮影したい被写体（主被写体）の移動速度に合わせてシャッター速度を通常より遅めに調節することで撮影を行う。しかしながら、シャッター速度を遅くしているため、手ぶれや主被写体の移動速度とパンニング速度の差の影響により、主被写体までぶれた画像になることも多い。前記問題を鑑み、画像処理技術による流し撮りの容易化が望まれている。
【０００３】
例えば、特許文献１では、主被写体を捕捉するための基準領域を任意に設定し、各画像データと基準領域との位置関係から主被写体を特定する。特定した主被写体で位置を合わせて、複数の画像を合成する撮像装置が開示されている。特許文献２では、画像間における移動ベクトルやカメラの動きから移動体を検出。主被写体を特定する情報に基づき、検出した移動体から主被写体を特定し、主被写体以外の領域に流し撮りの効果を付与する撮像装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３３９８０３号公報
【特許文献２】特開２０１０−２７３１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献１に開示された従来技術では、主被写体を捕捉するための基準領域を設定する必要があるため、基準領域外に主被写体がある場合に撮り逃してしまう可能性がある。また、撮影したい構図で撮影するためには、基準領域を事前に設定するなどの前処理が必要になってくる。
【０００６】
特許文献２に開示された従来技術では、主被写体を特定するための情報を別途用意する必要がある。この主被写体を特定するための情報を、事前に設定するか撮影時に予測する必要があるが、どのように情報を取得するかまでは開示されていない。
【０００７】
また、上述したような主被写体認識についての課題は、流し撮りのような特殊な撮影方法に限らず、通常の撮影においても、手振れやパンニングによって起こりうる。
【０００８】
そこで、本発明の目的は、撮像装置に動きを伴う撮影において、被写体を高精度に認識することを可能にした画像処理装置を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の画像処理装置は、複数の画像間で変化のある領域を検出する検出手段と、前記複数の画像の領域ごとの移動ベクトルを算出する算出手段と、前記算出手段により算出された領域ごとの移動ベクトルと、前記複数の画像を撮像した撮像手段の前記複数の画像間での動きに関する情報を用いて、前記複数の画像内で動体の存在する領域を推定する推定手段と、前記検出手段により検出された変化のある領域と、前記推定手段により推定された動体の存在する領域とに基づいて動体領域を特定する特定手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、撮像装置に動きを伴う撮影において、被写体を高精度に認識することを可能にする。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態にかかわる撮像装置の基本構成図。
【図２】第１の実施形態にかかわるＣＰＵの処理のフローチャート。
【図３】第１の実施形態にかかわる差分領域検出のフローチャート。
【図４】第１の実施形態にかかわる背景で位置合わせの説明図。
【図５】第１の実施形態にかかわる差分領域検出の説明図。
【図６】第１の実施形態にかかわる背景の移動量の算出方法の説明図。
【図７】第１の実施形態にかかわる主被写体ベクトル算出の説明図。
【図８】第１の実施形態にかかわる主被写体ベクトル領域検出の説明図。
【図９】第１の実施形態にかかわる主被写体領域検出の説明図。
【図１０】第１の実施形態にかかわる流し撮り画像例を示す図。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
図１は、本発明の第１の実施形態にかかわる画像処理装置の一例としての撮像装置のブロック図である。
【００１３】
撮像装置１００は、デジタルカメラ、デジタルビデオカメラのようなカメラはもとより、カメラ機能付き携帯電話、カメラ付きコンピュータ、スキャナなど、撮像機能を備える任意の電子機器であっても良い。また、本実施形態における撮像装置１００の一部あるいは全部をもって本実施形態における画像処理装置とすることができる。画像処理装置としては必ずしも撮像機能を有する必要はなく、撮像素子１０２から出力される画像あるいは各記憶装置に記憶されている画像を処理する機能を有していればよい。
【００１４】
光学系１０１は、レンズ、シャッター、絞りから構成されており、被写体からの光束を撮像素子１０２に導き、被写体の光学像を撮像素子１０２上に結像する。そして、焦点距離、シャッター速度、絞り値などの情報を中央演算装置（以降、ＣＰＵ）１０３へ伝達する。
【００１５】
撮像素子１０２は、光学系１０１により結像された光学像を電気信号に変換する。撮像素子１０２としては、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージセンサ、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）イメージセンサなどが適用できる。その後ＡＤ変換器を通してデジタル化した後、一次記憶装置１０４に記憶する。また、本実施形態では、撮像素子１０２の画素配列はＲＧＢの画素によるＢａｙｅｒ配列とするが、本発明の適用はこの画素配置に限られない。例えば補色の色フィルタの画素の配列であってもよいし、このような撮影用の画素とは別に測色、測距などの目的で機能画素などを配していてもよい。なお、撮像素子１０２の電気的利得（以降、ＩＳＯ感度）は、ＣＰＵ１０３によって設定される。
【００１６】
ジャイロセンサなどの角速度センサ１０５は、振れを検出し、電気信号として変換してＣＰＵ１０３へ伝達する。
【００１７】
制御部として機能するＣＰＵ１０３は、入力された信号や予め記憶されたプログラムに従い、撮像装置１００を構成する各部を制御することで、撮像装置１００の各機能を実現させる。なお、以下の説明において、ＣＰＵ１０３がプログラムを実行して実現する機能の少なくとも一部は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの専用ハードウェアによって実現されても良い。
【００１８】
一次記憶装置１０４は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性装置であり、ＣＰＵ１０３の作業用に使われる。また、一次記憶装置１０４に記憶されている情報は、画像処理部１０６で利用されたり、記録媒体１０７へ記録されたりもする。
【００１９】
二次記憶装置１０８は、例えばＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）のような不揮発性記憶装置である。二次記憶装置１０８は、撮像装置１００を制御するためのプログラム（ファームウェア）や各種の設定情報を記憶し、ＣＰＵ１０３によって利用される。
【００２０】
記録媒体１０７は、一次記憶装置１０４に記憶されている、撮影により得られた画像のデータなどを記録する。なお、記録媒体１０７は、例えば半導体メモリカードのように撮像装置１００から取り外し可能であり、記録されたデータはパーソナルコンピュータなど他の機器で読み出し可能である。つまり、撮像装置１００は、記録媒体１０７の着脱機構及び読み書き機能を有する。
【００２１】
表示部１０９は、ＣＰＵ１０３の指示により一時記憶装置１０４内に表示用に記憶される情報を表示する機能を有する。本実施形態では、撮像素子１０２から連続的に取得される画像の少なくとも一部を順次表示するライブビュー（ビューファインダ）表示の機能を有する。また、撮影後記録媒体１０７等に記録されている記録画像の再生表示、対話的な操作のためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などの表示の機能を有する。
【００２２】
操作部１１０は、ユーザの操作を受け付けてＣＰＵ１０３へ入力情報を伝達する入力デバイス群であり、例えばボタン、レバー、タッチパネル等はもちろん、音声や視線などを用いた入力機器であっても良い。なお、本実施形態の撮像装置１００は、画像処理装置１０６が撮像画像に適用する画像処理のパターンを複数有し、パターンを撮像モードとして操作部１１０から設定可能である。
【００２３】
画像処理部１０６は、いわゆる現像処理と呼ばれる画像処理をはじめ、撮影モードに応じた色調の調整なども行う。例えばデモザイキング処理などの補間処理、ホワイトバランス処理、収差、歪などの補正処理、シャープネス、ガンマ処理、マトリクス演算、ルックアップテーブル等による色変換処理などがあげられる。表示部１０９で表示するためのリサイズ、ガンマ変換等の表示用処理、記録媒体１０７への記録時の符号化、圧縮等の記録用処理も画像処理部１０６により行う。また、本実施形態にある流し撮り画像を生成する処理も画像処理部１０６が行う。合成される複数の画像や処理過程で生成される画像データは、例えば一次記憶装置１０４に記憶される。なお、画像処理部１０６の機能の少なくとも一部は、ＣＰＵ１０３がソフトウェア的に実現しても良い。
【００２４】
図２は、流し撮り撮影モードでの撮影、記録に関するＣＰＵ１０３の処理に関するフローチャートである。
【００２５】
なお、本実施形態では、画像の撮影、記録までの指示が２段階になっており、以降に出てくる操作部１１０のＳ１は、撮影準備の指示を意味し、操作部１１０のＳ２は、本画像の撮影、記録の指示を意味する。また、本実施形態では、Ｓ１を操作部１１０のシャッターボタンの半押し、Ｓ２をシャッターボタンの全押しと対応付けてユーザが入力可能なようにしている。この他にも操作部１１０がタッチパネルである場合、タッチパネルへのタッチ操作を変えることが考えられ、任意の操作をＳ１、Ｓ２に割り当てることが可能である。
【００２６】
Ｓ２０１で、ＣＰＵ１０３は、操作部１１０からのユーザの入力を受け付ける。
【００２７】
Ｓ２０２で、ＣＰＵ１０３は、入力された情報を基に、光学系１０１の焦点距離、シャッター速度、絞り値などの設定を調節する。
【００２８】
Ｓ２０３で、ＣＰＵ１０３は、入力された情報を基に、撮像素子１０２のＩＳＯ感度などの設定を調節する。
【００２９】
Ｓ２０４で、ＣＰＵ１０３は、変更された設定に関する情報を表示部１０９でユーザに提示する。
【００３０】
Ｓ２０５で、ＣＰＵ１０３は、角速度センサ１０５で検出された撮像装置１００の角速度の情報を受信する。また、Ｓ２０５をＳ２０２やＳ２０３と同様に常に実行することで、焦点距離、シャッター速度、絞り値、ＩＳＯ感度などの情報と併せて、角速度の情報も画像情報として埋め込む。そして、撮影済みの画像に対して、カメラ内での再処理や、ＰＣアプリケーションでの後加工を可能とする。記録する角速度に対応する情報としては、角速度自体であっても良いし、画像間で移動した角度、角変位であっても良い。
【００３１】
なお、Ｓ２０１〜Ｓ２０５の順番はこの限りではなく、処理に応じて自由に順番を入れ替えることができる。
【００３２】
Ｓ２０６で、操作部１１０のＳ１の入力の有無（ＯＮ／ＯＦＦ）を判定し、操作部１１０のＳ１が入力されない限り、ＣＰＵ１０３は、Ｓ２０１〜Ｓ２０５の動作を繰り返し行う。
【００３３】
以降は、Ｓ２０６で、操作部１１０のＳ１が入力（ＯＮ）された後の処理である。
【００３４】
Ｓ２０７で、ＣＰＵ１０３は、光学系１０１の一部である測光センサを用いて露出を計測する。また、自動露出制御を行うＡＥ（Ａｕｔｏ  Ｅｘｐｏｓｕｒｅ）モードの場合は、シャッター速度と絞り値、ＩＳＯ感度を用いて、自動的に露出を調節する。
【００３５】
Ｓ２０８で、ＣＰＵ１０３は、自動焦点調節制御を行うＡＦ（Ａｕｔｏ  Ｆｏｃｕｓ）モードの場合、光学系１０１の一部あるいは撮像素子１０２内に配されている測距センサを用いて、被写体距離を測定し、デフォーカス量に基づいて焦点調節を行う。
【００３６】
なお、Ｓ２０７、Ｓ２０８の順番はこの限りではなく、処理に応じて自由に順番を入れ替えることができる。
【００３７】
Ｓ２０９では、操作部１１０のＳ２の入力の有無（ＯＮ／ＯＦＦ）を判定し、操作部１１０のＳ２が入力されない限り，ＣＰＵ１０３は、Ｓ２０１〜Ｓ２０８の動作を繰り返し行う。また、Ｓ２０９において操作部１１０のＳ１の入力が継続されているかどうかの検出を行い、操作部１１０のＳ１の入力が行われていない（ＯＦＦ）の場合、ステップＳ２０１に戻るように構成してもよい。
【００３８】
以降は、Ｓ２０９で、操作部１１０のＳ２が入力（ＯＮ）された後の処理である。
【００３９】
Ｓ２１０では、操作部１０からのＳ２の撮影指示を受けて、流し撮り処理に必要な数の画像を撮影する。なお、本実施形態において「撮影」とは、Ｓ２の押下げにより行われる撮像及びその撮像により得られた画像の記録までのＳ２１０からＳ２１５の一連の動作を意味する。この際、流し撮りモードでは、ユーザが、流し撮り効果を得るため、撮像装置１００（あるいは撮像素子１０２を含むその一部）をパンニングして撮影を行うことを想定している。流し撮りに用いる画像の数はユーザによりあらかじめ設定されていてもよいし、主被写体の速度、パンニングの量、背景領域をぼかす程度の設定などから自動的に算出される数であってもよい。
【００４０】
Ｓ２１１では、Ｓ２１０で撮影された画像データに対して画像処理部１０６が上述したような現像処理を行う。
【００４１】
Ｓ２１２では、ＣＰＵ１０３は、主被写体領域の検出処理と、検出された主被写体領域での位置合わせ処理を行う。ここで、本実施形態で主被写体領域とは、撮影画像の画像内において後述する背景領域と区別して検出される被写体領域のことを指し、当該領域内の被写体が例えば複数の人物から構成されていてもよいものとする。また、本実施形態では、流し撮りの主被写体領域として、動いている被写体が撮影されている領域（動体領域）を検出することとする。すなわち、複数の撮影の中で静止している被写体（静止体）は背景として取り扱われる。ただし、上述したとおり、パンニングして撮影が行われることを想定している場合、撮影された画像間で比較すると、画像内で、パンニング方向の逆方向にパンニング量に対応するような動きをする被写体が元は静止している被写体である。つまり静止している被写体はパンニング量相当動いているように見える。パンニング方向に、パンニング量あるいはパンニング量に近い量の動きをする被写体が動体と判定される。詳細は後述する。一方、三脚等で固定して撮影が行われることを想定している場合、動きベクトルが大きく検出できる領域が主被写体領域と考えられる。
【００４２】
Ｓ２１３では、ＣＰＵ１０３は、画像処理部１０６によってＳ２１２で主被写体領域が一致するように位置合わせが行われた複数枚の画像を合成し、流し撮り画像として合成画像を生成する。流し撮りと同様の視覚効果のある合成画像の生成方法としては複数の方法が考えられる。
【００４３】
撮影で得られた複数の画像の背景領域に、画像間の背景の移動量に基づいたぼかし量（タップ数）でぼかし処理（フィルタ処理等）を施し、主被写体領域が撮影された複数の画像間で一致するように位置合わせを行って加算平均で合成する。ここで、背景の移動量は、角速度センサ１０５によって得られる角速度から算出できる。これに限らず、例えば、主被写体領域が撮影された複数の画像間で一致するように位置合わせを行って加算し、さらに合成後の画像の主被写体領域、つまり動体の存在する動体領域以外の背景領域にぼかし処理を施してもよい。また、合成後の画像を上記のようにぼかした画像と、ぼかす前の画像とをさらに合成した画像を最終的な合成画像としてもよい。
【００４４】
Ｓ２１４では、ＣＰＵ１０３は、Ｓ２１３で生成された合成画像データやその元となった合成前の画像データに画像処理部１０６によって表示用処理が施された画像データを、表示部１０９に表示する。
【００４５】
そして、Ｓ２１５では、ＣＰＵ１０３は、記録媒体１０７にＳ２１３で生成された合成画像データやその元となった合成前の画像データに、記録用に符号化、圧縮等の処理が施された画像データを記録する。また、本実施形態では、記録画像の設定として、現像処理等を行わないＲＡＷ画像の記録や現像処理を施し、規格に準拠したＪＰＥＧ画像の記録などを設定可能である。それらの設定によってはＳ２１１の現像処理やＳ２１５での画像記録処理は適用されない場合もある。
【００４６】
また、本実施形態では、Ｓ２１１における現像処理後の画像に対してＳ２１２の主被写体の検出処理、及びＳ２１３の流し撮り合成処理を行ったが、これに限らず、現像処理前の画像に対して各処理を適用することも可能である。
【００４７】
以下、Ｓ２１２の主被写体検出処理の内部について図３（ａ）のフローチャートを用いて説明する。
【００４８】
Ｓ３０１で、ＣＰＵ１０３は、画像間で変化のある領域を検出するため、画像間の差分絶対値を用いて差分画像を生成し、差分領域を検出する。Ｓ３０１の処理の詳細は後述する。なお、後述のＳ３０２で用いられる方法以外の方法であって画像間で変化のある領域を検出できる手法であれば、異なる検出方法でも良い。
【００４９】
Ｓ３０２では、ＣＰＵ１０３は、角速度センサ１０５で検出される角速度と画像から算出される移動ベクトル（動きベクトル）を用いて主被写体の移動ベクトルを特定し、主被写体（動体）と同等な移動ベクトルを持つ領域を検出する。Ｓ３０２の処理の詳細は後述する。
【００５０】
そして、Ｓ３０３で、ＣＰＵ１０３は、Ｓ３０２で検出した主被写体ベクトル領域を用いて、Ｓ３０１で検出した動体領域の中から主被写体領域を絞り込む。具体的には、本実施形態では、主被写体ベクトル領域の画素値と、動体領域の対応する画素値とを比較し、比較結果より得られる画素値が所定値以上の領域を主被写体領域として検出する。なお、本実施形態では両領域の比較を画素値ごとに行っているが、これに限らず、所定の画素群ごとに平均値等の代表値の比較を行い、主被写体領域を検出してもよい。また、画素値あるいは画素群の代表値の比較の代わりに、画素あるいは画素群の代表値の平均を求めてもよい。すなわち、差分領域及び主被写体領域の両領域を参酌しても主被写体領域の決定が行われれば、その参酌方法は問わない。
【００５１】
図４は、Ｓ３０１〜Ｓ３０３の処理の過程で得られる領域を表した図である。Ｓ３０１では画像４０１のような差分領域による主被写体領域マップが、Ｓ３０２では画像４０２のような主被写体ベクトルによる主被写体領域マップが得られ、Ｓ３０３で画像４０３のような主被写体領域マップが検出される。なお、画像５０１、５０３、５０３は、各検出方法によって検出された主被写体領域に対応する領域を高い信号値（白）で、それ以外をゼロにした主被写体領域マップである。
【００５２】
図３（ｂ）は、Ｓ３０１で行われる差分領域検出処理の詳細を示したフローチャートである。本実施形態では、各画像の画素値として現像後の輝度（Ｙ）信号を用いることを想定している。しかし、同様の処理を色差（ＵＶ）信号についても行って結果を合成してもよいし、現像後のＹＵＶ信号からＲＧＢ信号に変換し、各色信号について検出を行った結果を合成してもよい。各画像の画素値として上記のような変形例が適用できるのは、後述する主被写体ベクトル領域検出処理、主被写体領域検出処理においても同様である。
【００５３】
なお、差分領域検出処理には、少なくとも２枚の画像が必要である。本実施形態では、３枚の画像データから差分領域を検出する例を説明する。
【００５４】
Ｓ３０１１では、ＣＰＵ１０３は、ユーザが撮像装置１００をパンニングしながら取得した３枚の画像を時系列順に並べ、１枚目の画像と３枚目の画像を、２枚目の画像（中間画像）を基準にして背景で位置を合わせる。図５は、位置合わせの一例を示したものであり、５０１〜５０３の画像をその背景で位置合わせすると、５０４〜５０６の画像のようになる。位置合わせ方法の詳細は後述する。
【００５５】
Ｓ３０１２では、ＣＰＵ１０３は、位置合わせした３枚の画像の前後、つまり、１枚目の画像と２枚目の画像、２枚目の画像と３枚目の画像で差分絶対値をとる。
【００５６】
Ｓ３０１３では、ＣＰＵ１０３は、差分絶対値をとった２枚の画像同士で論理積をとる。
【００５７】
図６は、図５の画像５０４〜５０６に対してＳ３０１２とＳ３０１３の処理を行った結果を示した図である。５０４と５０５の画像の差分絶対値結果は６０１、５０５と５０６の画像の差分絶対値結果は６０２になる。そして、６０１と６０２の画像で論理積をとることで画像６０３が得られる。
【００５８】
Ｓ３０１４では、ＣＰＵ１０３は、画像処理部１０６で上述した論理積の結果にフィルタ等のぼかし処理を行う。これは主被写体と背景に異なる補正を行って、画像を合成する場合を考慮し、主被写体と背景の境界線を滑らかにするために行う。したがって、Ｓ３０１４は必要に応じて省略しても良い。
【００５９】
以上のＳ３０１１〜Ｓ３０１４のステップによってＳ３０１の差分領域検出を行う。この差分領域を持って静止している被写体（背景）が完全に分離できていればよいが、実際にはいくつかの原因で分離がうまくいかないことがある。例えば、背景に繰り返し模様があったり、レンズの歪みによって背景が歪んでいる場合に、差分絶対値の結果として値が出てくる場合がある。したがって、差分領域で差分として検出された領域を後述の被写体ベクトル領域で限定することにより、より高精度な主被写体領域の検出を行うことができる。
【００６０】
ここで、Ｓ３０１１における位置合わせ方法の詳細を図７及び式（１）を用いて説明する。
【００６１】
図７は、カメラをパンニングした時に背景が撮像面上でどのように移動するかを表している。
【００６２】
カメラ７０１を７０２のようにパンニングして、静止している被写体７０３を撮影した場合、静止している被写体７０３は、撮像素子１０２上において、７０４の位置から７０５の位置まで移動する。
【００６３】
式（１）を用いて、前述の静止している被写体７０３の画像上の移動量を算出する。
【００６４】
【数１】
2015012480.tif 000003
【００６５】
式（１）に示す通り、静止している被写体、すなわち、背景の移動量７０６は、パンニングによる撮像装置７０１の移動角度７０７と、レンズ状態検知部１０５で検知されたレンズ１０１の焦点距離ｆから算出できる。
【００６６】
移動角度７０７は、角速度センサ１０３で検出された撮像装置７０１の角速度ωと、フレームレートｆｐｓ、サンプリングする画像間にある画像数ｎを用いて算出する。
【００６７】
最後に、画素ピッチｐｐを用いて背景の移動量７０６をピクセルに換算することで、画像内での背景の移動量が算出され、この移動量を基に基準画像以外を移動させ、位置合わせを行うことが可能となる。
【００６８】
移動角度７０７は、各画像に対応した角速度から毎回正確に算出しても、全画像の平均角速度から一括して算出しても良い。
【００６９】
以上の処理の結果、図３（ａ）のＳ３０１では、図４、の画像４０１のような差分領域が得られる。なお、４０１では、白い領域が動体領域を表す。理想環境下での動体領域は４０３であるが、実環境下では、パンニングによる被写体の入射角の変化から発生する像の歪みや、主被写体以外の動体の影響まで含んだ差分領域４０１のように検出されることが多い。また、Ｓ３０１に用いる３枚の画像は、３画像間の変化が顕著なほど動体領域を検出しやすいため、例えば連続的に撮影される複数の画像を取得した場合には、最初と最後の画像、そして二つの画像の間に撮影された中間画像を用いると良い。
【００７０】
また、２枚の画像で差分領域を算出する場合、上述したステップから論理積をとるステップが除かれる。
【００７１】
上記の実施形態では、角速度センサ１０３の出力に基づいて撮影された画像内における背景の移動量、すなわち撮像手段の動きを検出するセンサからの情報に対応する動き情報を検出した。しかし、赤外センサ、加速度センサなど公知の他のセンサを用いて検出しても良いし、後述する画像間の移動ベクトルから、背景に対応する移動ベクトルを特定し、背景の移動量としても良い。さらには、それら複数の手段から得られる背景の移動量に基づいて重み付け平均をとるなどして最終的な背景の移動量を算出しても良い。
【００７２】
図３（ｃ）は、図３（ａ）のＳ３０２で行われる動体領域推定処理の詳細を示したフローチャートである。また、図８はＳ３０２１〜Ｓ３０２５の処理を説明する図である。
【００７３】
Ｓ３０２１で、ＣＰＵ１０３は、複数の画像それぞれの対応する領域に移動ベクトル検出用の探索領域を図８の画像８０１のように設定し、画像間における各領域の移動ベクトルを図８の画像８０２のように検出する。移動ベクトルの算出方法としては公知の手法を用いてよく、例えば領域ごとに図８の画像８０２のように差分絶対値和を求め、差分絶対値和が最小になる対応点を結んで当該領域の移動ベクトルとする。
【００７４】
Ｓ３０２２では、ＣＰＵ１０３は、検出された移動ベクトルの中から主被写体の移動ベクトル（以降、主被写体ベクトル）を算出する。図９は、画像間の移動ベクトルのヒストグラムを算出したものを表したグラフであり、横軸に移動ベクトルの大きさを、縦軸に同じ大きさを持つ移動ベクトルの数（度数）をとる。横軸は０を境に、移動ベクトルの方向を区別している。まず、Ｓ３０２１で算出される振れ（すなわち複数の画像間の撮像手段の動き情報）に基づき背景の移動量９０１を求める。次に、背景の移動量９０１に基づいて移動ベクトルを図９のように背景の移動量から離れた主被写体成分９０２と背景の移動量近傍の背景成分９０３に分類する。次に、分類された主被写体成分９０２の移動ベクトルの中で、数が最も多かった移動ベクトルを主被写体ベクトル９０４とする。ここでＳ３０２１で算出される振れの情報を用いずに、移動ベクトルのヒストグラムから主被写体と背景を分類することも可能である。この場合、流し撮りがパンニング撮影によって各画像でほぼ中心付近に主被写体がいると仮定すると、ベクトルの大きさがゼロに近く、画像内で連続した領域に固まって存在する移動ベクトルに対応する領域が、主被写体領域と考えられる。しかし、移動ベクトルの探索領域の大きさによっては移動ベクトルの誤検出も存在するため、上記実施形態のように、振れ情報を参照した方がより精度良く主被写体と背景を分類できる。
【００７５】
Ｓ３０２３では、ＣＰＵ１０３は、上記主被写体ベクトルと同等な移動ベクトルを持つ連続した領域の中で、面積が最大となる領域を抽出して、該当領域およびその周辺を主被写体暫定領域（図８の画像８０３中の８０３ａ）とする。また、主被写体ベクトルを用いて画像の位置を合わせることで、画像内における主被写体の位置を統一する。
【００７６】
Ｓ３０２４では、ＣＰＵ１０３は、主被写体暫定領域に移動ベクトル検出用の探索領域（図８の画像８０４中の８０４ａ）を設定し、探索領域内で再度、画像間における各領域の移動ベクトルを検出する。Ｓ３０２３では、Ｓ３０２１と比べて１領域の大きさが小さな探索領域での検出を行い、主被写体と背景をより細かく分類する。例えば、Ｓ３０２１に対して縦横それぞれ２分の１の大きさで探索領域を設定する。
【００７７】
Ｓ３０２５では、ＣＰＵ１０３は、ほぼ０の移動ベクトルを持つ連続した領域の中で、最大となる領域を抽出して、主被写体ベクトル領域（図８の画像８０５中の８０５ａ）とする。
【００７８】
Ｓ３０２６は、Ｓ３０１４と同様に主被写体ベクトルを持つ領域に値を持つ８０５のような画像データに対してもぼかし処理を施す。Ｓ３０１４と同様に、Ｓ３０２６も省略しても良い。
【００７９】
以上の画像処理の結果、Ｓ３０２では、図５の画像５０２や図８の８０５ａのような主被写体ベクトル領域が得られる。また、画像間における主被写体の位置がほぼ同じ位置にある場合や、被写体が低コントラストでも同じ模様が繰り返されることがない場合は、Ｓ３０２１の探索領域を最初から小さく設定し、Ｓ３０２４とＳ３０２５を省略しても良い。
【００８０】
以上のように、本実施形態では、振れを伴う撮影で得られた複数の画像について、振れと、画像間の差分と、振れに基づく主被写体の移動ベクトルとに基づいて主被写体領域を高精度に検出する。これにより、撮像装置に動きを伴う撮影において、被写体を高精度に認識することを可能にする。
【００８１】
また、本実施形態ではこれにより、主被写体と背景が高精度に分離され違和感の少ない流し撮り画像の生成が可能となる。
【００８２】
本実施形態では、Ｓ３０１１における位置合わせの方法として、角速度センサ１０５で検出される角速度を用いる方法を示した。角速度を用いる利点は、被写体に依存しない検出が可能な点にある。被写体の移動速度が速く、背景の変化量が著しい場合、被写体が低コントラストや同じ模様が繰り返される場合のように、背景の移動量を画像から判断するのが難しい場合にも検出が可能である。その一方で、角速度センサ１０５を用いているため、多少なりともオフセットがのってしまう。したがって、正確な位置まで合わせることは難しい。他にもコストが高くなるなどの問題もある。前述からも分かるように、角速度の代わりに移動ベクトルを用いる方法もあり、角速度とは対照的な特徴を持つ。移動ベクトルは、オフセットの影響がないため、正確な位置まで合わせることができ、かつ、コストも安価である。その一方で、画像から判断するのが難しい場合は、移動ベクトルの誤検出が多くなるため、誤った位置で合わせてしまう可能性もある。以上より、角速度と移動ベクトルを組み合わせて使用しても良い。例えば、移動ベクトルに、低コントラストや同じ模様の繰り返しによる信頼性という指標を設定し、信頼性が高いときには移動ベクトルを、信頼性が低いときには角速度を用いるとしても良い。また、角速度から算出した背景の移動量を用いて、移動ベクトルの検出範囲を制限してやることで、より高精度な移動ベクトル検出にする方法もある。
【００８３】
上記実施形態において生成される合成後の画像のイメージを図１０に示す。画像１００１は、図５に示す画像５０１，５０２、５０３に基づいて上記のステップで合成を行い生成された画像のイメージ図である。動体であり、主被写体である車両がくっきりと写り、背景の木が流れて写っている。
【００８４】
本実施形態では、撮像装置１００で行われる撮影時に連続して撮影される複数の撮影画像を用いて流し撮り画像を生成した。しかし、これに限らず、例えば画像処理装置としてＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）を用いて、時系列的に撮影された複数の記録画像を用いて、同様の流し撮り画像を生成することも可能である。この場合、背景の移動量の推定に用いられる振れ情報は、記録される画像のヘッダあるいは記録される画像と関連付けられて記憶されていればよい。
【００８５】
（他の実施形態）
本発明の目的は以下のようにしても達成できる。すなわち、前述した各実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ（またはＣＰＵ、ＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行しても実現できる。
【００８６】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
【００８７】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等も用いることができる。
【００８８】
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
【００８９】
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。
【００９０】
また、本発明はデジタルカメラのような撮影を主目的とした機器にかぎらず、携帯電話、パーソナルコンピュータ（ラップトップ型、デスクトップ型、タブレット型など）、ゲーム機など、撮像装置を内蔵もしくは外部接続する任意の機器に適用可能である。従って、本明細書における「撮像装置」は、撮像機能を備えた任意の電子機器を包含する。
【符号の説明】
【００９１】
１００  撮像装置
１０１  光学系
１０２  撮像素子
１０３  中央演算装置（ＣＰＵ）
１０４  一次記憶装置
１０５  角速度センサ
１０６  画像処理部
１０７  記録媒体
１０８  二次記憶装置
１０９  表示部
１１０  操作部
【図１】
2015012480.tif 000004
【図２】
2015012480.tif 000005
【図３】
2015012480.tif 000006
【図４】
2015012480.tif 000007
【図５】
2015012480.tif 000008
【図６】
2015012480.tif 000009
【図７】
2015012480.tif 000010
【図８】
2015012480.tif 000011
【図９】
2015012480.tif 000012
【図１０】
2015012480.tif 000013