(57)【特許請求の範囲】
【請求項１】
動画の画面を、被写体が移動している動領域と被写体が静止している静領域とに分割する分割手段と、
前記動画に含まれる複数のフレームのうちのＸフレーム（Ｘは１以上の整数）それぞれの前記静領域に対応する領域と、前記複数のフレームのうちのＹフレーム（ＹはＸより大きい整数）それぞれの前記動領域に対応する領域とを合成することにより、静止画を生成する生成手段と、
を備え、
前記分割手段は、
前記複数のフレームそれぞれの複数の領域それぞれについて動きベクトルを検出する検出手段と、
前記検出された動きベクトルのうち、前記動画の撮影時の手振れに起因する手振れ動きベクトルを識別する識別手段と、
前記検出された動きベクトルのうち、前記手振れ動きベクトルを除いた被写体動きベクトルの大きさ成分を、領域ごとに合算する合算手段と、
前記合算により得られる合算値が第１の閾値以上の領域を前記動領域として判定し、前記合算値が前記第１の閾値未満の領域を前記静領域として判定する判定手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
前記識別手段は、前記検出された動きベクトルの大きさ成分の度数分布に基づいて第２の閾値を決定し、前記検出された動きベクトルのうち、大きさ成分が前記第２の閾値未満の動きベクトルを、前記手振れ動きベクトルとして識別する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記識別手段は、ユーザ指示に従って第２の閾値を決定し、前記検出された動きベクトルのうち、大きさ成分が前記第２の閾値未満の動きベクトルを、前記手振れ動きベクトルとして識別する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記識別手段は、
前記検出された動きベクトルを方向別に複数のグループに分類し、
前記複数のグループそれぞれについて、前記検出された動きベクトルの大きさ成分の度数分布に基づいて、小さい動きベクトルの集中度合が最大のグループを識別し、
前記識別されたグループの中から前記手振れ動きベクトルの識別を行う
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記Ｘフレームを選択する選択手段であって、前記複数のフレームのうち、前記静領域に対応する領域における被写体の動きが最小の１フレームを少なくとも選択する選択手段
を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記選択手段は、前記複数のフレームのうち、前記静領域に対応する複数の領域それぞれの動きベクトルの大きさ成分の合算値が最小のフレームを、前記１フレームとして選択する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記Ｘフレームを選択する選択手段であって、少なくとも１フレームをユーザ指示に従って選択する選択手段
を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項８】
Ｘが２以上の場合、前記選択手段は、前記複数のフレームのうち、前記１フレームとの差分が最小の（Ｘ−１）フレームを更に選択する
ことを特徴とする請求項５乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記動画に含まれる全フレームのうちの一部を前記複数のフレームとして選出する選出手段
を更に備えることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記選出手段は、前記全フレームのうち、前記動画の撮影期間における最初又は最後の所定期間に対応するフレームを除いたフレームを、前記複数のフレームとして選出する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記選出手段は、ユーザ指示に従って前記所定期間の長さを決定する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記選出手段は、
前記全フレームの中から、撮影時に手振れが生じた手振れフレームを検出し、
前記全フレームのうち、前記手振れフレームを除いたフレームを、前記複数のフレームとして選出する
ことを特徴とする請求項９乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記動画には、前記動画の撮影期間における、前記動画を撮影した撮像装置の姿勢を示す姿勢情報が関連付けられており、
前記選出手段は、前記姿勢情報に基づき、前記全フレームの中から、前記姿勢の変化量が第３の閾値以上のタイミングに撮影されたフレームを前記手振れフレームとして検出する
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記選出手段は、
前記姿勢情報に基づき、前記動画が流し撮りにより撮影されたか否かを判定し、
前記動画が流し撮りにより撮影されていないと判定された場合に、前記姿勢情報に基づき、前記全フレームの中から、前記姿勢の変化量が前記第３の閾値以上のタイミングに撮影されたフレームを前記手振れフレームとして検出する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
請求項１乃至１４のいずれか１項に記載の画像処理装置と、
前記動画を撮影する撮影手段と、
を備えることを特徴とする撮像装置。
【請求項１６】
画像処理装置が実行する画像処理方法であって、
動画の画面を、被写体が移動している動領域と被写体が静止している静領域とに分割する分割工程と、
前記動画に含まれる複数のフレームのうちのＸフレーム（Ｘは１以上の整数）それぞれの前記静領域に対応する領域と、前記複数のフレームのうちのＹフレーム（ＹはＸより大きい整数）それぞれの前記動領域に対応する領域とを合成することにより、静止画を生成する生成工程と、
を備え、
前記分割工程は、
前記複数のフレームそれぞれの複数の領域それぞれについて動きベクトルを検出する検出工程と、
前記検出された動きベクトルのうち、前記動画の撮影時の手振れに起因する手振れ動きベクトルを識別する識別工程と、
前記検出された動きベクトルのうち、前記手振れ動きベクトルを除いた被写体動きベクトルの大きさ成分を、領域ごとに合算する合算工程と、
前記合算により得られる合算値が第１の閾値以上の領域を前記動領域として判定し、前記合算値が前記第１の閾値未満の領域を前記静領域として判定する判定工程と、
を含むことを特徴とする画像処理方法。
【請求項１７】
コンピュータを請求項１乃至１４のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
カメラでの撮影手法の１つに、「スローシャッター」がある。この撮影手法は、別名、バルブ撮影又は長秒露光とも呼ばれる。この撮影手法は、通常撮影と比べて長時間（例えば１０秒間）露光を行うことにより、動いている被写体に対して時間軸方向での合成効果を与え、通常撮影とは異なる映像表現を実現するものである。
【０００３】
また、十分な流し撮り効果を得るために、流し撮り撮影中に動きベクトル検出を行い、動いていると認識された背景領域のブレ量を増大させる技術も知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−８０８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
カメラを手で持ってスローシャッター撮影を行う場合、露光中に手振れによりカメラ姿勢が変化しやすく、最終的に得られる画像において、動く被写体のみならず静止した被写体や背景までもがブレてしまう可能性が高い。そのため、スローシャッター撮影を行う際は、三脚を用いてカメラ姿勢を固定するのが一般的である。しかしながら、三脚を撮影場所まで持ち運んで設置することは、ユーザに大きな負担をかけるものであった。
【０００６】
また、特許文献１の技術は、露出条件に関わらずスローシャッター効果に似た効果を得ることを可能にするものであるが、この効果は被写体の実際の動きに対応するものではないため、スローシャッター撮影の代わりになるものではない。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、手振れの発生する条件下で撮影を行う場合であっても、静止領域の画像ブレを軽減しつつ、スローシャッター効果を持つ画像を生成することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、動画の画面を、被写体が移動している動領域と被写体が静止している静領域とに分割する分割手段と、前記動画に含まれる複数のフレームのうちのＮフレーム（Ｎは１以上の整数）それぞれの前記静領域に対応する領域と、前記複数のフレームのうちのＭフレーム（ＭはＮより大きい整数）それぞれの前記動領域に対応する領域とを合成することにより、静止画を生成する生成手段と、を備え、前記分割手段は、前記複数のフレームそれぞれの複数の領域それぞれについて動きベクトルを検出する検出手段と、前記検出された動きベクトルのうち、前記動画の撮影時の手振れに起因する手振れ動きベクトルを識別する識別手段と、前記検出された動きベクトルのうち、前記手振れ動きベクトルを除いた被写体動きベクトルの大きさ成分を、領域ごとに合算する合算手段と、前記合算により得られる合算値が第１の閾値以上の領域を前記動領域として判定し、前記合算値が前記第１の閾値未満の領域を前記静領域として判定する判定手段と、を含むことを特徴とする画像処理装置を提供する。
【０００９】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【００１０】
本発明によれば、手振れの発生する条件下で撮影を行う場合であっても、静止領域の画像ブレを軽減しつつ、スローシャッター効果を持つ画像を生成することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】撮像装置の一例であるデジタルカメラ１０１の構成を示すブロック図。
【図２】画像処理装置の一例であるスマートフォン２０１の構成を示すブロック図。
【図３】スローシャッター効果処理のフローチャート。
【図４】処理対象フレーム選出処理（Ｓ３０２）の詳細を示すフローチャート。
【図５】Ｓ４０１の処理を例示する図。
【図６】手振れフレーム除外処理（Ｓ４０２）の詳細を示すフローチャート。
【図７】カメラ姿勢情報に基づいて手振れフレームを検出して除外する様子を例示する図。
【図８】動領域／静領域分割処理（Ｓ３０３）の詳細を示すフローチャート。
【図９】Ｓ８０１の処理を例示する図。
【図１０】動きベクトル閾値処理（Ｓ８０２）を例示する図。
【図１１】動きベクトル閾値処理（Ｓ８０２）の結果を例示する図。
【図１２】動きベクトル強度合算処理（Ｓ８０３）を例示する図。
【図１３】ＬＰＦ処理（Ｓ８０４）の結果として得られる動きベクトル量マップを例示する図。
【図１４】動静領域マップを例示する図。
【図１５】静領域フレーム選択処理（Ｓ３０４）の詳細を示すフローチャート。
【図１６】動領域フレーム合成処理（Ｓ３０５）の詳細を示すフローチャート。
【図１７】結果画像を例示する図。
【図１８】スマートフォン２０１の外観図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１３】
［第１の実施形態］
図１は、撮像装置の一例であるデジタルカメラ１０１の構成を示すブロック図である。デジタルカメラ１０１は、電源スイッチ１０２、撮像部１０３、姿勢センサ１０４、ＣＰＵ１０５、画像処理プロセッサ１０６、及びメモリ１０７を備える。メモリ１０７は、制御プログラム領域１０８及び作業用メモリ領域１０９を含む。また、デジタルカメラ１０１は、通信部１１０、表示部１１１、入力部１１２、及びメモリカード１１３を備える。メモリカード１１３は、動画ファイル１１４を格納することができる。また、デジタルカメラ１０１は、デジタルカメラとして一般的なその他の構成（不図示）も備えるものとする。
【００１４】
ユーザが電源スイッチ１０２を操作することにより電源をＯＮにすると、ＣＰＵ１０５は、制御プログラム領域１０８に格納されたプログラムを実行することにより、デジタルカメラ１０１に備わった各種機能を制御する。これにより、デジタルカメラ１０１は、デジタルカメラとして動作するようになる。
【００１５】
ユーザが入力部１１２を介して撮影指示を入力すると、ＣＰＵ１０５の制御に従い、撮像部１０３が撮像を行い、画像処理プロセッサ１０６が現像処理や圧縮エンコードなどを行う。ＣＰＵ１０５は、こうして得られた動画を、動画ファイル１１４としてメモリカード１１３に記録する。この時、姿勢センサ１０４は、撮像中のデジタルカメラ１０１の姿勢情報（カメラ姿勢情報）を取得する。ＣＰＵ１０５は、カメラ姿勢情報を動画ファイル１１４にメタデータとして記録する。これにより、動画ファイル１１４とカメラ姿勢情報とが関連付けられる。
【００１６】
表示部１１１は、ユーザが撮影済みの画像を確認したり、ユーザが入力部１１２を介して指示を入力したりする際に、ユーザインタフェースとして機能する。通信部１１０は、ＷｉＦｉなどの無線通信により、スマートフォンなどの外部機器に対して、撮影済みの画像データを送信する。
【００１７】
図２は、画像処理装置の一例であるスマートフォン２０１の構成を示すブロック図である。スマートフォン２０１は、撮影済みの動画データからスローシャッター効果を持つ静止画（スローシャッター画像）を生成する機能を持つ。なお、本実施形態においては、動画データを生成する装置とスローシャッター画像を生成する装置とが別個の装置であるが、１つの装置が動画データの生成及びスローシャッター画像の生成の両方を実行するように構成されていてもよい。例えば、デジタルカメラ１０１が、スローシャッター画像を生成する機能を備えていてもよい。また、スマートフォン２０１の代わりに、パーソナルコンピュータが、スローシャッター画像を生成する機能を備えていてもよい。
【００１８】
スマートフォン２０１は、ＣＰＵ２０２、及びメモリ２０３を備える。メモリ２０３は、制御プログラム領域２０４及び作業用メモリ領域２０５を含む。また、スマートフォン２０１は、通信部２０６、表示部２０７、入力部２０８、及びＳＳＤ２０９（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を備える。ＳＳＤ２０９は、動画ファイル２１０及びスローシャッター画像２１１（静止画ファイル）を格納することができる。また、スマートフォン２０１は、スマートフォンとして一般的なその他の構成（不図示）も備えるものとする。
【００１９】
ユーザが入力部２０８を介して動画ファイル２１０を指定し、スローシャッター効果処理の実行を指示すると、ＣＰＵ２０２は、制御プログラム領域２０４に格納されたプログラムを実行することにより、スローシャッター効果処理を実行する。ＣＰＵ２０２は、スローシャッター効果処理により生成された静止画データを、スローシャッター画像２１１として保存する。なお、ユーザは、スローシャッター効果処理の間に、スローシャッター効果を確認しながら、効果の調整を行うことができる。この場合、静止画データは、作業用メモリ領域２０５に一時的に格納され、表示部２０７に表示される。
【００２０】
図３は、スローシャッター効果処理のフローチャートである。本フローチャートの各ステップの処理は、特に断らない限り、スマートフォン２０１のＣＰＵ２０２が、制御プログラム領域２０４に格納されたプログラムを実行することにより実現される。
【００２１】
Ｓ３０１で、ＣＰＵ２０２は、動画ファイル２１０を作業用メモリ領域２０５へと読み込む。スマートフォン２０１は、事前に動画ファイル１１４をデジタルカメラ１０１から取得して、ＳＳＤ２０９に動画ファイル２１０として格納しているものとする。
【００２２】
Ｓ３０２で、ＣＰＵ２０２は、動画ファイル２１０に含まれる全フレームの中から、スローシャッター効果処理に適したフレーム（処理対象フレーム）を選出する。処理対象フレーム選出処理の詳細については後述する。
【００２３】
Ｓ３０３で、ＣＰＵ２０２は、動領域／静領域分割処理を行う。動領域／静領域分割処理は、動画の画面を、動領域（被写体が移動している領域）と静領域（被写体が静止している領域）とに分割する処理である。ここで、動画の画面は撮影画角に対応する領域であってもよいし、その領域から切り取られた一部の領域であってもよい。動領域／静領域分割処理の詳細については後述する。Ｓ３０４で、ＣＰＵ２０２は、結果画像（スローシャッター効果処理により最終的に生成されるスローシャッター画像）の静領域に用いるフレームを選択するための、静領域フレーム選択処理を行う。静領域フレーム選択処理の詳細については後述する。
【００２４】
Ｓ３０５で、ＣＰＵ２０２は、動領域フレーム合成処理を行う。動領域フレーム合成処理の詳細については後述する。Ｓ３０６で、ＣＰＵ２０２は、結果画像を表示部２０７に表示させる。その後、ＣＰＵ２０２は、本フローチャートの処理を終了する。
【００２５】
図４は、処理対象フレーム選出処理（Ｓ３０２）の詳細を示すフローチャートである。Ｓ４０１で、ＣＰＵ２０２は、動画データの全フレームのうち、撮影期間における最初と最後の所定期間（例えば、数秒）に対応するフレームを処理対象から除外する。図５は、Ｓ４０１の処理を例示する図である。ここでは、最初と最後の１秒に相当するフレームを処理対象から除外するものとする。一般的に、動画撮影を開始するときと、終了するときには、開始指示及び終了指示のためのボタン操作などが発生し、カメラ姿勢が大きく変化してしまう。そのため、これらの期間におけるフレームにはブレが生じ、スローシャッター画像としては不適切な可能性が高い。そこで、これらのフレームを処理対象から除外する。
【００２６】
なお、ここでは、最初と最後の所定期間のフレームを除外することとしたが、本実施形態はこれに限定されない。例えば、最初又は最後の一方のみ、所定期間のフレームを除外してもよい。また、操作部材の工夫により手振れが発生しにくい場合には、この期間を短くしてもよい。或いは、除外期間（所定期間の長さ）をユーザが選択可能なユーザインタフェースを設け、ユーザ指示に従って除外期間を決定するように構成してもよい。
【００２７】
Ｓ４０２で、ＣＰＵ２０２は、手振れフレーム除外処理を行う。図６は、手振れフレーム除外処理（Ｓ４０２）の詳細を示すフローチャートである。
【００２８】
Ｓ６０１で、ＣＰＵ２０２は、動画ファイル２１０のメタデータとして、カメラ姿勢情報が存在するか否かを判定する。カメラ姿勢情報が存在する場合、ＣＰＵ２０２は、処理をＳ６０２に進める。カメラ姿勢情報が存在しない場合、ＣＰＵ２０２は、処理をＳ６０３に進める。
【００２９】
Ｓ６０２で、ＣＰＵ２０２は、カメラ姿勢情報を参照し、各フレームの撮影時にカメラ姿勢が大きく変化したフレーム（姿勢変化量が第３の閾値以上のタイミングに撮影されたフレーム）を手振れフレームとして検出する。そして、ＣＰＵ２０２は、検出された手振れフレームを処理対象から除外する。図７は、カメラ姿勢情報に基づいて手振れフレームを検出して除外する様子を例示する図である。図７に示すように、カメラ姿勢が大きく変化した期間のフレームが検出され、処理対象から除外される。
【００３０】
Ｓ６０３で、ＣＰＵ２０２は、動画のフレーム間の動きベクトル量を画像解析により検出し、動きベクトル量に基づいて、手振れフレームを検出する。ＣＰＵ２０２は、こうして検出した手振れフレームを、処理対象から除外する。
【００３１】
なお、本実施形態における動きベクトル検出の方式としては勾配法を用いることとするが、動きベクトル検出の方式はこれに限定されない。一例として、本実施形態では、ＣＰＵ２０２は、各フレームごとに、フレーム内の複数の動きベクトルを方向と量に基づいてグループへの分類を行う。そして、ＣＰＵ２０２は、一番数の多い動きベクトルを含むグループを、手振れによる動きベクトルのグループと判定する。そして、ＣＰＵ２０２は、判定されたグループベクトルの長さが閾値以上の場合に、対応するフレームを手振れフレームとして検出する。
【００３２】
以上の処理により、動画の全フレームのうちの一部のフレームが、処理対象フレームとして選出される。即ち、これまでの処理により除外されなかったフレームが、最終的に処理対象フレームとして選出される。
【００３３】
次に、図８を参照して、動領域／静領域分割処理（Ｓ３０３）の詳細について説明する。Ｓ８０１で、ＣＰＵ２０２は、処理対象の全フレームについて、隣接フレーム間の動きベクトルを検出する。ここでの動きベクトル検出処理は、Ｓ６０３における処理と同等である。そのため、ＣＰＵ２０２は、Ｓ６０３において処理結果を作業用メモリ領域２０５に保持しておき、Ｓ８０１においてＳ６０３の処理結果を再利用してもよい。
【００３４】
図９は、Ｓ８０１の処理を例示する図である。図中の川の部分については、川の流れによる動領域の動きベクトルが比較的大きなベクトルとして検出されている。その他の静領域については、比較的小さい値の同じ大きさのベクトルが同一方向に多数存在することが検出されている。図９から理解できるように、ＣＰＵ２０２は、動きベクトルを検出する際に、フレームの複数の領域それぞれについて検出を行う。検出対象の複数の領域の決定方法は特に限定されないが、領域の数が多いほど（各領域が小さいほど）静領域／動領域の分割精度が向上する。
【００３５】
Ｓ８０２で、ＣＰＵ２０２は、動きベクトル閾値処理により、全処理対象フレームについて、手振れに起因する動きベクトル（手振れ動きベクトル）を削除する。
【００３６】
図１０は、動きベクトル閾値処理（Ｓ８０２）を例示する図である。図１０はヒストグラムであり、横軸はベクトルの大きさ成分（動き量）を示し、縦軸はベクトルの個数を示す。手振れ動きベクトルは、一定方向に一定の大きさを持つベクトルが多数発生する特徴を有する。また、Ｓ３０２の処理対象フレーム選出処理により、大きな手振れによる動きベクトルを持つフレームは処理対象から除外されているため、多数発生するベクトルのうち、比較的小さい（短い）ものが手振れ動きベクトルであると推定される。図１０においては、ヒストグラムの２つの山のうち、大きい山（動き量が小さい山）が手振れ動きベクトルであると判定することができる。このピークから２倍の位置などを閾値（第２の閾値）として、大きさ成分がこの閾値未満のベクトルを削除することにより、動物体による動きベクトル（被写体動きベクトル）のみを検出することが可能になる。換言すると、ＣＰＵ２０２は、動きベクトルの大きさ成分の度数分布に基づいて、手振れ動きベクトルを識別するための閾値（第２の閾値）を決定する。
【００３７】
なお、手振れ動きベクトルは、方向がほぼ一定であるという性質も持つ。そのため、ＣＰＵ２０２は、動きベクトルを方向別にグループ化してもよい（例えば、方向を８分割する）。この場合、ＣＰＵ２０２は、各グループについてヒストグラムを求め、大きさ成分が小さい位置への集中度合（小さい動きベクトルの集中度合）が最大のグループの方向を、手振れ方向と判定する。そして、ＣＰＵ２０２は、判定された手振れ方向のグループの中から、大きさ成分の閾値に基づいて手振れ動きベクトルを識別する。
【００３８】
図１１は、動きベクトル閾値処理（Ｓ８０２）の結果を例示する図である。図１１に示されるように、動領域の動きベクトルのみが削除されずに残っている。
【００３９】
Ｓ８０３で、ＣＰＵ２０２は、動きベクトル強度合算処理を行う。具体的には、ＣＰＵ２０２は、全ての処理対象フレームの動きベクトル量（大きさ成分）を、領域ごとに合算する。この処理は、動領域と静領域とを分割するための処理であるため、ＣＰＵ２０２は、ベクトルの方向成分については考慮せず、量（大きさ成分）のみの合算値を取得する。図１２は、動きベクトル強度合算処理（Ｓ８０３）を例示する図である。図１２においては、動きベクトル量が大きい位置ほど白く、小さい位置ほど黒く示されている。
【００４０】
Ｓ８０４で、ＣＰＵ２０２は、合算強度に対してＬＰＦ処理（ローパスフィルタ処理）を実行する。なお、この処理は、動きベクトルの解像度が全ピクセルで無い場合などに、特に有効である。そのため、ＣＰＵ２０２は、動ベクトル検出処理精度などに応じて、Ｓ８０４の処理を省略しても構わない。
【００４１】
図１３は、ＬＰＦ処理（Ｓ８０４）の結果として得られる動きベクトル量マップを例示する図である。図１３においては、動きベクトル量が大きい位置ほど白く、小さい位置ほど黒く示されている。
【００４２】
Ｓ８０５で、ＣＰＵ２０２は、閾値処理により動きベクトル量マップを二値化することにより、動静領域マップを生成する。ここで用いる閾値（第１の閾値）としては、動きベクトルを合算したフレーム数などに依存した値を用いるものとする。図１４は、このようにして求められた動静領域マップを例示する図である。図１４に示すように、動領域である川の部分が白で、静領域である他の部分が黒で表現される。即ち、ＣＰＵ２０２は、大きさ成分の合算値が閾値以上の領域を動領域として判定し、大きさ成分の合算値が閾値未満の領域を静領域として判定する。
【００４３】
図１５は、静領域フレーム選択処理（Ｓ３０４）の詳細を示すフローチャートである。静領域フレーム選択処理は、静領域に対応する領域における被写体の動きが最小のフレームを静領域フレームとして選択する処理である。
【００４４】
Ｓ１５０１で、ＣＰＵ２０２は、処理対象フレームのインデックスＮを１にセットする。Ｓ１５０２で、ＣＰＵ２０２は、フレームＮとフレームＮ＋１との間の動きベクトルを算出する。
【００４５】
Ｓ１５０３で、ＣＰＵ２０２は、動静領域マップ（図１４）を参照し、静領域における複数の領域それぞれの動きベクトルの強度（大きさ成分）を合算する。Ｓ１５０４で、ＣＰＵ２０２は、フレームＮの合算値が、これまでのフレームの中で最小値か否かを判定する。合算値が最小値の場合（（フレームＮの合算値）＜（これまでの最小値ｍｉｎ）の場合）、ＣＰＵ２０２は処理をＳ１５０５に進め、そうでない場合、ＣＰＵ２０２は処理をＳ１５０６に進める。
【００４６】
Ｓ１５０５で、ＣＰＵ２０２は、フレームＮを静領域フレームとして選択する。Ｓ１５０６で、ＣＰＵ２０２は、フレームＮが処理対象フレームの中での最終フレームであるか否かを判定する。フレームＮが最終フレームでない場合、ＣＰＵ２０２は、Ｓ１５０７においてＮを１つインクリメントした後、再度Ｓ１５０２へと処理を進める。フレームＮが最終フレームの場合、ＣＰＵ２０２は、本フローチャートの処理を終了して図３のフローチャートに戻る。この場合、Ｓ１５０５において最後に選択された静領域フレームが、Ｓ３０５の動領域フレーム合成処理において合成対象として使用される。
【００４７】
なお、図１５においては、選択される静領域フレームは１フレームであるものとしたが、本実施形態はこれに限定されない。一般化すると、ＣＰＵ２０２は、静領域フレームとしてＸフレーム（Ｘは１以上の整数）を選択する。Ｘが２以上の場合、ＣＰＵ２０２は、フレーム間で対応点を抽出し、シフト処理後、図１５に従って選択される１フレームとの差分が最小の（Ｘ−１）フレームを追加的に選択する。この場合、ＣＰＵ２０２は、後述する動領域フレーム合成処理（Ｓ３０５）において、静領域については、静領域フレームとして選択されたＸフレームを合成する。これにより、ノイズの少ない静領域画像を生成することができる。この方法は、特に夜間撮影時など、暗部ノイズが顕著な場合には有効である。
【００４８】
図１６は、動領域フレーム合成処理（Ｓ３０５）の詳細を示すフローチャートである。Ｓ１６０１で、ＣＰＵ２０２は、Ｓ３０４において選択された静領域フレームを作業用メモリ領域２０５へと読み込む。Ｓ１６０２で、ＣＰＵ２０２は、処理対象フレームのインデックスＮを１にセットする。
【００４９】
Ｓ１６０３で、ＣＰＵ２０２は、フレームＮと静領域フレームとの間で対応点抽出処理を行い、フレームＮを静領域フレームへと合成する際のシフト量を算出する。Ｓ１６０４で、ＣＰＵ２０２は、Ｓ１６０３において算出したシフト量に基づいてフレームＮをシフトして、フレームＮの動領域を静領域フレームに合成する。このとき、ＣＰＵ２０２は、動静領域マップ（図１４）を参照することにより、フレームＮの動領域を識別する。なお、合成処理時の画素値合算の比率については、本実施形態においては、日中撮影時の反射光に適したものとして、合成を行うフレーム数で割り算した値を用いることとする。しかしながら、画素値合算の比率はこれに限定されない。例えば、夜間撮影されたことが判定された場合には、動物体が発光体の場合に適した例として、フレーム数で割り算しない値を用いてもよい。
【００５０】
Ｓ１６０５で、ＣＰＵ２０２は、フレームＮが処理対象フレームの中での最終フレームであるか否かを判定する。フレームＮが最終フレームでない場合、ＣＰＵ２０２は、Ｓ１６０６においてＮを１つインクリメントした後、再度Ｓ１６０３へと処理を進める。フレームＮが最終フレームの場合、ＣＰＵ２０２は、本フローチャートの処理を終了して図３のフローチャートに戻る。
【００５１】
なお、図１６においては、全処理対象フレームそれぞれの動領域に対応する領域を合成することにより、結果画像の動領域に対応する領域を生成するものとしたが、本実施形態はこれに限定されない。一般化すると、ＣＰＵ２０２は、処理対象フレームのうちのＹフレーム（ＹはＸより大きい整数）それぞれの動領域に対応する領域を合成することにより、結果画像の動領域に対応する領域を生成する。この場合でも、ＹがＸより大きいので（即ち、動領域のための合成対象フレーム数が静領域のための合成対象フレーム数よりも多いので）、静領域の画像ブレの抑制と、動領域に対するスローシャッター効果とを両立することができる。
【００５２】
図１７は、動領域フレーム合成処理により得られる結果画像を例示する図である。動静領域マップに従って、各フレームの動領域を静領域フレームに合成することにより、静領域についてはブレを生じさせずに解像感を維持したまま、動領域についてスローシャッター撮影のように滑らかに動きが表現されている結果画像を生成することができる。
【００５３】
以上説明したように、第１の実施形態によれば、スマートフォン２０１は、動画の撮影画角に対応する領域を動領域と静領域とに分割する。そして、スマートフォン２０１は、複数のフレームのうちのＸフレーム（Ｘは１以上の整数）それぞれの静領域に対応する領域と、複数のフレームのうちのＹフレーム（ＹはＸより大きい整数）それぞれの動領域に対応する領域とを合成する。これにより、手振れの発生する条件下で撮影を行う場合であっても、静止領域の画像ブレを軽減しつつ、スローシャッター効果を持つ画像を生成することが可能となる。
【００５４】
［第２の実施形態］
第２の実施形態では、スマートフォン２０１がユーザからの入力を受け付けることで、ユーザがスローシャッター効果処理の各種処理パラメータを変更可能とする構成について説明する。本実施形態において、スマートフォン２０１の基本的な構成は第１の実施形態と同様であるものとする（図２参照）。以下、主に第１の実施形態と異なる点について説明する。
【００５５】
図１８は、スマートフォン２０１の外観図である。図１８において、１８０１は、スマートフォンの筐体を示す。１８０２は、結果画像表示エリアを示す。結果画像表示エリア１８０２には、スローシャッター効果処理により得られる結果画像が表示される。１８０３は、動領域明度調整スライダーであり、ユーザは、動領域明度調整スライダー１８０３を操作することにより、動領域の明るさを調整することができる。内部処理としては、Ｓ１６０４において各フレームを静領域フレームに合成する際の、全体の明るさ及び合成比率が変化する。１８０４は、静領域明度調整スライダーであり、ユーザは、静領域明度調整スライダー１８０４を操作することにより、静領域の明るさを調整することができる。内部処理としては、動領域明度調整スライダー１８０３と同様、Ｓ１６０４おいて各フレームを静領域フレームに合成する際の、全体の明るさ及び合成比率が変化する。１８０５は、手振れ強度指定スライダーであり、ユーザは、手振れ強度指定スライダー１８０５を操作することにより、Ｓ８０２の動きベクトル閾値処理の閾値（第２の閾値）を変更することができる。静領域であるべきエリアが動領域として処理され、解像感が失われた場合、ユーザは、手振れ強度指定スライダー１８０５を右に動かすことにより、誤判定された動領域を静領域に修正し、解像感を回復することができる。逆に、動領域であるべきエリアが静領域として処理され、川の流れにスローシャッター効果が不足している際には、ユーザは、手振れ強度指定スライダー１８０５を左に動かすことにより、誤判定された静領域を動領域に修正することができる。これにより、川の流れに適切なスローシャッター効果を付与することができる。１８０６は、静領域フレーム選択スライダーであり、ユーザは、静領域フレーム選択スライダー１８０６を操作することにより、処理対象フレームをスキャンし、所望の１フレームを静領域フレームとして選択することができる。特に、夜間撮影で動画撮影の各フレームの露光時間が長い場合に、静領域について手振れが目立つ場合に、ユーザは、静領域フレーム選択スライダー１８０６を操作することにより、手振れの少ないフレームを選択することができる。
【００５６】
なお、第１の実施形態において説明した通り、静領域フレームの数は２以上であってもよい。この場合、静領域フレーム選択スライダー１８０６を介したユーザ指示により選択される１フレーム以外の静領域フレームについては、第１の実施形態において説明した方法で選択される。或いは、ユーザが複数の静領域フレームを選択可能なように、静領域フレーム選択スライダー１８０６を構成してもよい。
【００５７】
以上説明したように、第２の実施形態によれば、スローシャッター効果処理の各種処理パラメータがユーザの好みに合わない場合に、ユーザがこれを変更することを可能にする。これにより、ユーザの好みに合致するスローシャッター効果を持つ画像を生成することが可能となる。
【００５８】
［第３の実施形態］
第３の実施形態では、スローシャッター効果処理を流し撮り撮影に適用した例について説明する。本実施形態において、スマートフォン２０１の基本的な構成は第１の実施形態と同様であるものとする（図２参照）。以下、主に第１の実施形態と異なる点について説明する。
【００５９】
Ｓ３０３の動領域／静領域分割処理は、デジタルカメラ１０１の撮影画角に対応する領域を、相対的に動領域と静領域とに分割する。そのため、流し撮りを行った際には、動いている物体が静領域として判定され、流れる背景が動領域として判定される。この背景に対して長秒期間に渡るフレーム合成を行うことにより、背景がなめらかに流れる効果を得ることが可能である。但し、本実施形態においては、Ｓ４０２の手振れフレーム除外処理において、ＣＰＵ２０２は、カメラ姿勢が大きく変化するフレームを除外しない。より具体的には、Ｓ６０２による処理を行わないことにより、流し撮りのような撮影に対してもスローシャッター効果を得ることができる。本実施形態においては、ＣＰＵ２０２は、動画ファイル２１０にメタデータとして記録されたカメラ姿勢情報に基づき、動画が流し撮りにより撮影されたか否かを判定する。例えば、ＣＰＵ２０２は、カメラ姿勢が同一角速度で変化する場合などに、動画が流し撮りにより撮影されたと判定することができる。動画が流し撮りにより撮影されたと判定された場合、ＣＰＵ２０２は、Ｓ６０２の処理を行わないようにし、そうでない場合に、Ｓ６０２の処理を行う。
【００６０】
以上説明したように、第３の実施形態によれば、流し撮り撮影により得られた動画データからも、背景がなめらかに流れるスローシャッター効果を持つ画像を生成することができる。
【００６１】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
２０１…スマートフォン、２０２…ＣＰＵ、２０３…メモリ、２０４…制御プログラム領域、２０５…作業用メモリ領域、２０６…通信部、２０７…表示部、２０８…入力部、２０９…ＳＳＤ
【図１】
0006700831.tif 000002
【図２】
0006700831.tif 000003
【図３】
0006700831.tif 000004
【図４】
0006700831.tif 000005
【図５】
0006700831.tif 000006
【図６】
0006700831.tif 000007
【図７】
0006700831.tif 000008
【図８】
0006700831.tif 000009
【図９】
0006700831.tif 000010
【図１０】
0006700831.tif 000011
【図１１】
0006700831.tif 000012
【図１２】
0006700831.tif 000013
【図１３】
0006700831.tif 000014
【図１４】
0006700831.tif 000015
【図１５】
0006700831.tif 000016
【図１６】
0006700831.tif 000017
【図１７】
0006700831.tif 000018
【図１８】
0006700831.tif 000019