(57)【要約】【課題】フォロー撮影時において、カメラの振りが被写体の動きに追従できていない場合、複数枚画像間において被写体の位置がずれてしまい、移動している被写体がブレてしまうといった課題がある。【解決手段】  画像内における一部領域を基準領域として設定する基準領域設定手段と、  前記基準領域内における動きベクトルの検出結果に基づき基準動きベクトルを自動設定する基準ベクトル設定手段と、  前記基準領域内の前記基準ベクトルに基づき少なくとも前記基準領域内の動きブレが減少するように画像を調整する動きブレ修正手段とを有し、被写体の動きブレを低減した流し撮り画像を生成する【選択図】  図３
2020047979.tif 000002
【特許請求の範囲】
【請求項１】
画像内における一部領域を基準領域として設定する基準領域設定手段と、
前記基準領域内における動きベクトルの検出結果に基づき基準動きベクトルを自動設定する基準ベクトル設定手段と、
前記基準領域内の前記基準ベクトルに基づき少なくとも前記基準領域内の動きブレが減少するように画像を調整する動きブレ調整手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記基準領域設定手段は、ユーザーによる少なくとも１か所の前記基準領域の指定を受け付けるためのＵＩを含むことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記基準領域設定手段は、ユーザーによる前記基準領域の指定をタッチまたはマウスのクリック操作により受け付けるためのＵＩを含むことを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記動きブレ調整手段は、前記少なくとも一か所の基準領域の動きブレが減少するように前記基準領域の画像を調整するとともに、前記基準領域とは異なる領域の画像における動きブレを前記基準領域の画像の調整に応じて調整することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記基準ベクトル設定手段は、前記基準領域内における動きベクトルのヒストグラムに基づき基準動きベクトルを設定することを特徴とする請求項１から４のうちいずれか一項に記載の画像処理装置。
【請求項６】
前記基準ベクトル設定手段は、前記基準領域内における動きベクトルのヒストグラムのグループ分けを行った結果に基づき基準動きベクトルを設定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記基準ベクトル設定手段は、前記基準領域内における動きベクトルのヒストグラムの中から最も移動量の少ないグループの移動量に基づき基準動きベクトルを設定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記基準領域設定手段は、画像内における合焦領域を特定する合焦領域特定手段を含むことを特徴とする請求項１から７のうちいずれか一項に記載の画像処理装置。
【請求項９】
前記動きブレ調整手段は、少なくとも前記基準動きベクトルと同じ動きベクトルを持つ画素の動きブレが減少するように動きブレを調整することを特徴とする請求項１から８のうちいずれか一項に記載の画像処理装置。
【請求項１０】
更に、複数の画像を取得する取得手段と、
前記取得手段によって取得された前記複数の画像から動きベクトルを検出して、動きブレを付与した画像を形成する動きブレ画像生成手段と、
を有することを特徴とする請求項１から９のうちいずれか一項に記載の画像処理装置。
【請求項１１】
前記取得手段は複数画像を撮像する撮像手段を含むことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記取得手段は複数画像を記憶した記憶手段から画像を読み出す読み出し手段を含むことを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
画像内における一部領域を基準領域として設定する基準領域設定ステップと、
前記基準領域内における動きベクトルの検出結果に基づき基準動きベクトルを自動設定する基準ベクトル設定ステップと、
前記基準領域内の前記基準ベクトルに基づき少なくとも前記基準領域内の動きブレが減少するように画像を調整する動きブレ調整ステップと、を有することを特徴とする画像処理方法。
【請求項１４】
前記基準領域設定ステップは、ユーザーによる少なくとも１か所の前記基準領域の指定を受け付けるためのステップを含むことを特徴とする請求項１３記載の画像処理方法。
【請求項１５】
前記基準領域設定ステップは、ユーザーによる前記基準領域の指定をタッチまたはマウスのクリック操作により受け付けるためのＵＩを含むことを特徴とする請求項１３または１４記載の画像処理方法。
【請求項１６】
請求項１から１２のうちいずれか一項に記載の画像処理装置の各手段としてコンピュータを機能させるためのコンピュータプログラム。
【請求項１７】
請求項１６に記載のコンピュータプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関し、特に、画像の動きブレを制御するための技術に関する。
【背景技術】
【０００２】
移動している被写体のスピード感を表現する撮影技法として流し撮りという技法がある。この流し撮り技法は、露光時間を通常よりも長めに設定し、撮影者が被写体の動きに追従するようにカメラを振り、フォロー撮影を行う。このようにフォロー撮影した画像では、移動している被写体は静止し、背景は動きブレにより流れるような表現になる。一方、このような流し撮り画像を画像処理により生成する技術がある。この技術は、移動している被写体をフォロー撮影した複数枚画像間における動きを解析し、その動きに基づき動きブレを付与することにより、あたかも実際に流し撮りしたかのような画像を生成する画像処理技術である。
【０００３】
このように画像処理により動きブレを付与する技術が開示されている。特許文献１では、動きベクトルの長さに基づき、最適な動きブレを付与する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１５４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような流し撮り画像においては、移動している被写体は静止し、背景がブレていることが望ましい。しかしながら、フォロー撮影時においてカメラの振りが被写体の動きに追従できていない場合、複数枚画像間において被写体の位置がずれてしまい、被写体に動きブレを付与してしまうため、移動している被写体がブレてしまうといった課題がある。
【０００６】
本発明は、上記の問題点を鑑みてなされたものであり、移動している被写体の動きブレを低減する等の調整が容易な、改善された流し撮り画像を生成することができる画像処理装置を実現することを目的とする。
【課題を解決するための手段】
【０００７】
画像内における一部領域を基準領域として設定する基準領域設定手段と、
前記基準領域内における動きベクトルの検出結果に基づき基準動きベクトルを自動設定する基準ベクトル設定手段と、
前記基準領域内の前記基準ベクトルに基づき少なくとも前記基準領域内の動きブレが減少するように画像を調整する動きブレ調整手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、移動している被写体の動きブレを低減するなどの調整が容易な、改善された流し撮り画像を生成することができる画像処理装置を得ることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例の構成例を示す図
【図２】実施例１における動きブレ画像生成部２００の構成例を示す図
【図３】実施例１における動きブレ画像生成部２００の処理フローを示す図
【図４】犬シーンにおける撮像画像を示す図
【図５】ステップＳ３０２動きブレ画像生成の処理フローを示す図
【図６】動きベクトル算出部２０１の処理フローを示す図
【図７】動きベクトルの算出方法を示す図
【図８】犬シーンにおける動きベクトルを示す図
【図９】動きブレ変換特性を示す図
【図１０】動きブレ付与部２０４の処理フローを示す図
【図１１】動きブレ付与方法を示す図
【図１２】ステップＳ３０４動きブレ調整の処理フローを示す図
【図１３】犬シーンにおける動きブレ調整前後画像を示す図
【図１４】動きブレ変換特性を示す図
【図１５】車シーンにおける撮像画像を示す図
【図１６】車シーンにおける動きベクトルを示す図
【図１７】車シーンにおける動きブレ調整前後画像を示す図
【図１８】車シーンにおける動きブレ調整前後画像を示す図
【図１９】車シーンにおける動きブレ調整前後画像を示す図
【図２０】実施例２における動きブレ画像生成部２０００の構成例を示す図
【図２１】実施例２における動きブレ画像生成部２０００の処理フローを示す図
【図２２】ステップＳ２１０１動きブレ画像生成の処理フローを示す図
【図２３】基準動きベクトル特定の処理フローを示す図
【図２４】動きベクトルのヒストグラムを示す図
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の好適な実施の形態について説明する。
＜実施例１＞
【００１１】
本発明の実施例１は、ユーザーにより指定された基準となる動きブレに基づき、画像の動きブレを制御する。以下、実施例１について説明する。
【００１２】
図１は、本実施例の動きブレ制御技術を撮像装置１００に応用した場合の構成例を示すブロック図である。以下、実施例１の構成例について図１を参照して説明する。
【００１３】
制御部１０１は、例えばコンピュータとしてのＣＰＵであり、撮像装置１００が備える各ブロックに対する動作制御プログラム（コンピュータプログラム）を後述の記憶媒体としてのＲＯＭ１０２より読み出し、後述のＲＡＭ１０３に展開して実行する。これにより、制御部１０１は、撮像装置１００が備える各ブロックの動作を制御する。ＲＯＭ１０２は、電気的に消去・記録可能な不揮発性メモリであり、撮像装置１００が備える各ブロックの動作制御プログラムに加え、各ブロックの動作に必要なパラメータ等を記憶する。ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、制御部１０１等が実行するプログラムの展開や、撮像装置１００が備える各ブロックの動作で生成等されたデータの一時的な記憶等に用いられる。光学系１０４は、ズームレンズ、フォーカスレンズを含むレンズ群で構成され、被写体像を後述の撮像部１０５の撮像面上に結像する。
【００１４】
撮像部１０５は、例えばＣＣＤやＣＭＯＳセンサー等の撮像素子であり、光学系１０４により撮像部１０５の撮像面上に結像された光学像を光電変換し、得られたアナログ画像信号をＡ／Ｄ変換部１０６に出力する。Ａ／Ｄ変換部１０６は、入力されたアナログ画像信号をデジタル画像データに変換する。Ａ／Ｄ変換部１０６から出力されたデジタル画像データは、ＲＡＭ１０３に一時的に記憶される。画像処理部１０７は、ＲＡＭ１０３に記憶されている画像データに対して、ホワイトバランス調整、色補間、ガンマ処理など、様々な画像処理を適用する。また、画像処理部１０７は、図２で後述する動きブレ画像生成部２００を内蔵し、記録部１０８に記憶されている画像に対して動きブレを付与した動きブレ画像を生成する。
【００１５】
記録部１０８は、着脱可能なメモリカード等である。記録部１０８は、画像処理部１０７で処理された画像データを、ＲＡＭ１０３を介し、記録画像として記録する。また、記録部１０８に記録している画像データを読み出して、ＲＡＭ１０３を介し、画像処理部１０７に出力する事もできる。表示部１０９は、ＬＣＤ等の表示デバイスであり、ＲＡＭ１０３に一時的に記憶されている画像や記録部１０８に記録されている画像の表示、ユーザーからの指示を受け付けるための操作ユーザーインターフェイスの表示等を行う。指示入力部１１０は、タッチパネルやマウス等であり、ユーザーによる指示を入力する。
以上、撮像装置１００の構成と、基本動作について説明したが、撮像装置１００の構成は必ずしも図１の構成に限定されない。また、図１の各構成は、必ずしも１つのハードウェアで実現する必要はない。例えば複数のハードウェアが処理を分担・協働して１つの手段として機能してもよいし、また１つのハードウェアがプログラム等に応じて異なる処理を行うことで、複数の手段として機能してもよい。
【００１６】
次に、本実施例の特徴である画像処理部１０７の動作について、詳細に説明を行う。本実施例では、露光時間が短い複数の撮像画像を用いて動きブレ画像を生成する例について説明する。
【００１７】
まず、画像処理部１０７に内蔵された、実施例１における動きブレ画像生成部２００の構成例について、図２を参照して説明する。実施例１における動きブレ画像生成部２００は、記録部１０８に記録した画像データに対して、動きブレを付与し、動きブレ画像を生成する。
【００１８】
図２は、動きブレ画像生成部２００の構成例を示す図である。動きブレ画像生成部２００は、動きベクトル算出部２０１、基準動きベクトル特定部２０２、動きブレ変換特性算出部２０３及び動きブレ付与部２０４を含む。
次に、動きブレ画像生成部２００の処理について、図３のフローチャートを参照して説明する。
【００１９】
図３のステップＳ３０１において、制御部１０１は撮像部１０５が撮像（撮影）動作をする際の露光時間を決定する。そして、撮像部１０５は決定した露光時間に基づき複数枚画像を撮像し、撮像した複数枚の画像を記録部１０８に記録する。本実施例では、撮像フレームレートとして毎秒６０枚の画像を撮像する例について説明する。つまり、撮像部１０５は１／６０秒毎に１枚の画像を撮像する。露光時間は、指示入力部１１０を介し、ユーザーが決定しても良いし、制御部１０１が自動露出制御により決定しても良い。自動露出制御による露光時間の決定方法は、例えば、撮像部１０５が撮像した撮像画像の所定領域毎の測光値に基づき露光時間を決定する方法が挙げられる。尚、露光時間は、通常の１枚だけの撮影による流し撮り撮影をする場合の画像の適正露光時間よりも短い時間とし、その分絞りを開くことによって動体ブレの少ない複数の画像を撮像するものとする。
【００２０】
撮像画像の例について図４を参照して説明する。図４は、撮影者が走っている犬を追従するように撮像装置を振り、フォローしながら連写撮影をする例を示す。図４（Ａ）はＮフレーム目の撮像画像、図４（Ｂ）はＮ＋１フレーム目の撮像画像を示す。尚、Ｎは正の整数である。また、短い露光時間で撮像しているため、撮像画像に大きな動きブレは発生していない。
【００２１】
フォロー撮影時において、撮像装置を走っている犬に追従させて正確に振ることは困難である。特に、被写体の動きが速かったり、動きが予測できなかったりする場合は、非常に困難である。図４の例では、走っている犬に対して撮像装置が振り遅れてしまった場合の撮像画像を示し、Ｎ＋１フレーム目の撮像画像の犬が、Ｎフレーム目の撮像画像に比べ左に移動してしまっている。
【００２２】
図３のステップＳ３０２において、動きブレ画像生成部２００は、ステップＳ３０１において撮像（撮影）したＮフレーム目の撮像画像の動きブレ画像を生成し表示部１０９に出力し表示する。ステップＳ３０２の動きブレ画像生成処理の詳細については、図５を用いて後述する。ステップＳ３０２において表示部１０９に動きブレ画像を表示した後所定時間以内にユーザーは指示入力部１１０を介して動きブレの調整（修正）をするための指示をすることができる。具体的には例えば表示画面に表示されている画像内の少なくとも一部領域をマウス等のＵＩ（ユーザーインターフェース）を使ってクリックする。あるいはユーザーが表示画面に表示されている画像内の一部領域をタッチすることによって動きブレ調整（修正）のための指示をすることができる。つまり画面内のどの被写体に対して動きブレ調整をするかを示す指示をすることができる。このとき複数点をタッチしたりマウスでクリックしてもよいし、ドラッグ操作によって領域を囲んでもよい。更に、このときにユーザーは動きブレ量の指示（動きブレ設定）もすることができる。これらを含めて動きブレを調整（修正）するための指示と呼ぶ。また、上記のようにユーザーにより指定された領域を基準領域と呼ぶ。
【００２３】
図３のステップＳ３０３において、ステップＳ３０２で表示部１０９に動きブレ画像を表示してから所定時間内に指示入力部１１０を介して動きブレの調整（修正）をするための指示がなされたか判別する。ステップＳ３０３において、動きブレの調整（修正）をするための指示を所定時間以内に受け付けない場合は終了となる。ステップＳ３０３において、動きブレの調整（修正）をするための指示を受け付けた場合は、ステップＳ３０４に進む。Ｓ３０４において、動きブレ画像生成部２００は、受け付けた動きブレに関するユーザー指示に基づき、指定された被写体の動きブレを修正し、動きブレ画像を表示部１０９に出力し表示させる。ステップＳ３０４の動きブレの調整方法については、後述する。ユーザーはステップＳ３０４で表示部１０９に表示された修正後の動きブレ画像を確認し、指示入力部１１０を介して動きブレの調整が完了したという指示をすることができる。
【００２４】
図３のステップＳ３０５において、制御部１０１は、指示入力部１１０を介して動きブレの調整（修正）が完了したという指示があったか否か判別する。ステップＳ３０５において、動きブレの調整（修正）が完了したという指示を受け付けた場合は終了となる。ステップＳ３０５において、動きブレの調整（修正）が完了したという指示を受け付けない場合は、図３のステップＳ３０４に戻り、動きブレ調整（修正）を繰り返す。
【００２５】
次に、図３のステップＳ３０２における自動動きブレ画像生成の詳細について、図５のフローチャートを参照して説明する。
図５のステップＳ５０１において、制御部１０１が目標動きブレを算出する。目標動きブレとは、露光時間が何秒相当の動きブレを目標とするか示す情報である。この目標動きブレにより、動きブレの長さが変わる。例えば、１／６０秒相当の動きブレの長さは１／１２０秒相当の動きブレの長さの２倍となる。本実施例においては、目標動きブレを１／６０秒相当の動きブレとする。
【００２６】
図５のステップＳ５０２において、動きベクトル算出部２０１は、記録部１０８に記録した複数枚の撮像画像間の動きベクトルを算出し、基準動きベクトル特定部２０２及び動きブレ付与部２０４に出力する。ここで、ステップＳ５０２の動きベクトルの算出方法について、図６、図７及び図８を参照して説明する。
【００２７】
図６は、動きベクトル算出部２０１によるステップＳ５０２の動きベクトルの算出処理フローの詳細を示すフローチャートである。また、図７は、ブロックマッチング法による動きベクトルの算出方法を説明する図である。尚、本実施例では、動きベクトルの算出手法例として、ブロックマッチング法について説明するが、動きベクトルの算出手法はこれに限ったものではない。例えば、オプティカルフロー手法でも良い。
【００２８】
図６のステップＳ６０１において、動きベクトル算出部２０１は、記録部１０８に記録した例えば２枚の撮像画像を読み出すことによって取得する。なお、記録部１０８に一旦記録された複数画像を取得する代わりに、撮像素子から直接複数画像を取得してもよい。そして、Ｎフレーム目の撮像画像を基準撮像画像に設定し、時間的に後のＮ＋１フレーム目の撮像画像を参照撮像画像に設定する。
図６のステップＳ６０２において、図７のように、基準撮像画像７０１において、Ｎ×Ｎ画素の基準ブロック７０２を配置する。
【００２９】
図６のステップＳ６０３において、図７のように、参照撮像画像７０３において、基準撮像画像７０１の基準ブロック７０２と同座標７０４の周囲（Ｎ＋ｎ）×（Ｎ＋ｎ）画素を探索範囲７０５に設定する。
【００３０】
図６のステップＳ６０４において、参照撮像画像７０３の探索範囲７０５に存在する異なる座標のＮ×Ｎ画素の参照ブロックと基準撮像画像７０１の基準ブロック７０２の相関演算を行い、相関値を算出する。相関値は、基準ブロック７０２及び参照ブロックの画素に対する、画像間差分絶対値和に基づき算出する。つまり、差分絶対値和の値が最も小さい座標が、最も相関値が高い座標となる。尚、相関値の算出方法は、差分絶対値和に限ったものではない。例えば、差分二乗和や正規相互相関値に基づき、相関値を算出しても良い。図７の例では、参照ブロック７０６が最も相関が高いことを示している。
【００３１】
図６のステップＳ６０５において、最も高い相関値を示す参照ブロック座標に基づき動きベクトルを算出する。図７の例では、基準撮像画像７０１の基準ブロック７０２の中心座標７０４から前記参照ブロック７０６の中心座標の差を動きベクトルとする。
【００３２】
図６のステップＳ６０６において、図７の基準ブロック７０２を移動させながら、ステップＳ６０２、ステップＳ６０３、ステップＳ６０４及びステップＳ６０５の処理を繰り返し、基準撮像画像７０１の全画素の動きベクトルを算出する。尚、全画素の動きベクトルを算出する代わりに、離間した間欠的な所定画素毎に動きベクトルを算出してもよい。
【００３３】
以上のような方法に基づき算出した撮像画像間の動きベクトルの例を図８に示す。図８は、図４（Ａ）Ｎフレーム目の撮像画像を基準撮像画像に設定し、図４（Ｂ）Ｎ＋１フレーム目の撮像画像を参照撮像画像に設定した場合の動きベクトルを示す図である。図８の矢印が動きベクトルを示し、矢印の長さが動きベクトルの長さ、矢印の方向が動きベクトルの方向を示す。図８の例では画素毎の動きベクトルではなく、間欠的な代表的な動きベクトルのみを簡略的に示している。
【００３４】
図８の例では、撮像装置１００を向かって右から左に振り、左に向かって走っている犬を若干振り遅れながらフォロー撮影している。そのため、背景の静止物は右方向の動きベクトルとして検出し、走っている犬についても左方向の動きベクトルが検出されてしまっている。
【００３５】
次に図５に戻り、次のステップＳ５０３に進む。Ｓ５０３の段階ではユーザーによる動きブレの修正はまだしないので、基準動きベクトル特定部２０２はスルーし、動きブレ変換特性算出部２０３における動作を実行する。すなわち、ステップＳ５０１で算出された前記目標動きブレに基づき、ステップＳ５０２で算出された前記動きベクトルを動きブレ付与情報に変換するための特性を算出する。動きブレ付与情報とは、水平方向の動きブレ量と垂直方向の動きブレ量から成り、動きブレ付与部２０４が動きブレを付与する際の最終的な動きブレの方向と動きブレ量（長さ）を決める情報である。この動きブレ変換特性の算出方法について図９を参照して説明する。図９は、動きブレ変換特性を示す図である。尚、動きベクトルは水平方向と垂直方向の動きベクトル成分により決まる２次元の方向と移動量から成るが、本実施例では説明の簡略化のため、動きベクトルの水平方向の成分（移動量）を水平方向の動きブレ量に変換する変換特性を示している。２次元の方向と移動量から成る動きベクトルを用いた動きブレ量変換方法及び変換特性も同様の処理により算出するものとし、説明は省略する。
【００３６】
図９における動きブレ変換特性Ｌ９０１は例えば式（１）で表され、ステップＳ５０１で算出された前記目標動きブレが例えば１／６０秒相当の場合の動きブレ変換特性である。
水平方向の動きブレ量  ＝  水平方向の移動量  ・・・式（１）
【００３７】
撮像画像のフレームレートは毎秒６０枚であるため、水平方向の移動量は、１／６０秒間における移動量となる。動きブレ変換特性Ｌ９０１は、１／６０秒間における移動量に相当する動きブレ量を算出している。
また、図９における動きブレ変換特性Ｌ９０２は例えば式（２）で表され、目標動きブレが１／１２０秒相当の場合の動きブレ変換特性である。
水平方向の動きブレ量  ＝  １／２  ×  水平方向の移動量  ・・・式（２）
動きブレ変換特性Ｌ９０２は、１／６０秒間における移動量の半分である１／１２０秒間における移動量に相当する動きブレ量を算出している。
このように動きブレ変換特性を変えることにより、動きブレ量をコントロールすることが可能となる。
【００３８】
次に図５のステップＳ５０４に進み、動きブレ付与部２０４は、動きブレ変換特性算出部２０３が算出した動きブレ変換特性と動きベクトル算出部２０１が算出した画素毎の動きベクトルに基づき撮像画像に動きブレを付与する。そしてステップＳ５０５で動きブレ画像を表示部１０９に出力する。
【００３９】
次に図５のステップＳ５０４における動きブレ付与の方法について、図１０及び図１１を参照して詳しく説明する。図１０は動きブレ付与部２０４によるステップＳ５０４の動きブレ付与の処理フローを示すフローチャートであり図１１は動きブレ付与部２０４による動きブレ付与の方法を説明する図である。
【００４０】
図１０のステップＳ１００１において、動きブレ付与部２０４は、動きベクトル算出部２０１が算出した画素毎の動きベクトルを、動きブレ変換特性算出部２０３が算出した動きブレ変換特性に基づき変換することにより、画素毎に動きブレ付与情報を算出する。動きブレ付与情報の例を図１１に示す。図１１においてＬ１１０１は、着目画素Ａの動きブレ付与情報を示す。また、この例の場合、動きブレ付与情報Ｌ１１０１は、画素Ａから画素Ｂ及び画素Ｃを通り、画素Ｄまで到達する動きブレ付与情報であり、水平方向の動きブレ量が４画素、垂直方向の動きブレ量が４画素として表されている。
【００４１】
図１０のステップＳ１００２において、動きブレ付与部２０４は、後述する加算画像及び加算回数マップを初期化する。加算画像は、画素値０に初期化される。また、加算回数マップは、加算回数０回に初期化される。
【００４２】
図１０のステップＳ１００３において、動きブレ付与部２０４は、動きブレ付与情報に基づき加算画像の画素値（初期値０）と撮像画像の画素値を画素毎に加算する。そして、図１０のステップＳ１００４において、動きブレ付与部２０４は、動きブレ付与情報に基づき加算回数マップの加算回数に１を加算（カウントアップ）する。
【００４３】
画素値の加算方法及び加算回数の加算方法に関して図１１を参照して説明する。
動きブレ付与部２０４は、式（３）に示す通り、加算画像における着目画素Ａの加算画素値Ａａｄｄｐｖに撮像画像の着目画素Ａの画素値Ａｐｖを加算し、加算画素値Ａａｄｄｐｖを更新する。そして、式（４）に示す通り、加算回数マップにおける加算回数Ａｃｎｔに１を加算する。
Ａａｄｄｐｖ＝Ａａｄｄｐｖ＋Ａｐｖ・・・式（３）
Ａｃｎｔ＝Ａｃｎｔ＋１・・・式（４）
【００４４】
また、動きブレ付与部２０４は、式（５）に示す通り、加算画像における画素Ｂの加算画素値Ｂａｄｄｐｖに撮像画像の着目画素Ａの画素値Ａｐｖを加算し、加算画素値Ｂａｄｄｐｖを更新する。そして、式（６）に示す通り、加算回数マップにおける加算回数Ｂｃｎｔに１を加算する。
Ｂａｄｄｐｖ＝Ｂａｄｄｐｖ＋Ａｐｖ・・・式（５）
Ｂｃｎｔ＝Ｂｃｎｔ＋１・・・式（６）
【００４５】
同様に、動きブレ付与部２０４は、式（７）に示す通り、加算画像における画素Ｃの加算画素値Ｃａｄｄｐｖに撮像画像の着目画素Ａの画素値Ａｐｖを加算し、加算画素値Ｃａｄｄｐｖを更新する。そして、式（８）に示す通り、加算回数マップにおける加算回数Ｃｃｎｔに１を加算する。
Ｃａｄｄｐｖ＝Ｃａｄｄｐｖ＋Ａｐｖ・・・式（７）
Ｃｃｎｔ＝Ｃｃｎｔ＋１・・・式（８）
【００４６】
最後に、動きブレ付与部２０４は、式（９）に示す通り、加算画像における画素Ｄの加算画素値Ｄａｄｄｐｖに撮像画像の着目画素Ａの画素値Ａｐｖを加算し、加算画素値Ｄａｄｄｐｖを更新する。そして、式（１０）に示す通り、加算回数マップにおける加算回数Ｄｃｎｔに１を加算する。
Ｄａｄｄｐｖ＝Ｄａｄｄｐｖ＋Ａｐｖ・・・式（９）
Ｄｃｎｔ＝Ｄｃｎｔ＋１・・・式（１０）
このように、動きブレ付与情報が通過する画素Ａ、画素Ｂ、画素Ｃ及び画素Ｄに対して、着目画素Ａの画素値の加算及び加算回数のカウントアップを行う。
【００４７】
図１０のステップＳ１００５において、動きブレ付与部２０４は、ステップＳ１００３及びステップＳ１００４における動きブレ付与情報に基づく画素値の加算及び加算回数のカウントアップを撮像画像の全画素分繰り返し、加算画像と加算回数マップを生成する。
【００４８】
図１０のステップＳ１００６において、動きブレ付与部２０４は、加算画像の加算画素値を加算回数マップの加算回数で画素毎に除算することにより、加算画素値を正規化する。この除算処理により加算した画素値の平均値を算出することができる。
【００４９】
図１０のステップＳ１００７において、動きブレ付与部２０４は、ステップＳ１００６における加算画素値の正規化処理を全画素分繰り返し、動きブレ画像を生成する。
以上、図５のステップＳ５０４における動きブレの付与方法について説明した。
次に図５のステップＳ５０５において、図５のステップＳ５０４で動きブレ付与部２０４が生成した動きブレ画像を表示部１０９に表示する。
以上により、図３のステップＳ３０２における自動動きブレ画像生成の処理が終了する。
【００５０】
次に、図３のステップＳ３０３でユーザーによる動きブレ調整（修正）の指示があった場合のステップＳ３０４における動きブレ調整（修正）の方法について、図１２のフローチャートを参照して詳しく説明する
図１２のステップＳ１２０１において、制御部１０１は、指示入力部１１０を介し、ユーザーによる動きブレ調整指示としての指定基準領域（すなわち画像の中の動きブレを修正すべき被写体領域）の指示を受け付ける。また、図１２のステップＳ１２０２において、制御部１０１は、指示入力部１１０を介し、ユーザーによる動きブレ調整指示としての指定基準領域における指定動きブレ（すなわち指定された被写体領域に対する動きブレの修正量）の指示を受け付ける。
【００５１】
次に動きブレ調整（修正）指示を受け付ける方法に関して図１３を参照して説明する。
図１３（Ａ）は動きブレ調整（修正）前画像を示し、図１３（Ｂ）は動きブレ調整（修正）後画像を示す。図１３（Ａ）動きブレ調整（修正）前画像は、図３のステップＳ３０２における自動動きブレ画像生成後に表示部１０９に表示した動きブレ画像である。ユーザーは表示部１０９に表示された動きブレ画像を確認し、動きブレ画像の調整が必要か否かを判断する（図３のステップＳ３０３の前に行われるユーザーによる判断）。ここで、図１３（Ａ）動きブレ調整前画像の例では、背景だけではなく、主被写体の走っている犬までブレてしまっている。これは、走っている犬を若干振り遅れながらフォロー撮影しているため、図４のように走っている犬が撮像画像間で移動し、この移動を動きと検出し動きベクトルに基づき自動で動きブレを付与しているためである。
【００５２】
一般的に、流し撮り画像は主被写体がブレずに静止し、背景がブレている画像の方が主被写体のスピード感が際立ち好ましいとされている。本実施例ではユーザーは、図１３（Ａ）動きブレ調整前画像のような動きブレ画像を確認したら、タッチパネルによるタッチ操作、又は、マウスによるクリック操作により動きブレ画像の調整（修正）を指示することができる。具体的には、図１３（Ａ）Ｌ１３０１に示すように、ユーザーは動きブレの調整（修正）をしたい領域をタッチ操作又はクリック操作する。その際に、本実施例ではタッチ操作のやり方やクリック操作のやり方に基づき、指定基準領域の動きブレを小さく調整するのか、大きく調整するのかを指定することもできる。
【００５３】
例えば、ユーザーがシングルタッチ又はシングルクリックで指定した場合、制御部１０１は、指定基準領域の指定動きブレとして、動きブレを所定量小さくする（あるいはゼロにする）指示として受け付ける。また、ユーザーがダブルタッチ又はダブルクリックで指定した場合、制御部１０１は、指定基準領域の指定動きブレとして、動きブレを所定量大きくする指示として受け付ける。
【００５４】
例えば、図１３（Ａ）動きブレ調整前画像において、犬の動きブレを小さく調整する場合、ユーザーは走っている犬をシングルクリックで指定する。すると、制御部１０１が指定した座標を指定基準領域として受け付けると共に、指定基準領域の指定動きブレとして動きブレを所定量小さくする（あるいはゼロにする）指示として受け付ける。尚、後述の説明では、ユーザーが走っている犬をシングルクリックして指定し、犬の動きブレを所定量小さく調整する例について説明する。
尚、制御部１０１が受け付ける指定基準領域は、ユーザーが指定した一点の座標だけではなく、例えばユーザーが走っている犬全体を丸く囲う指定を行った場合、制御部１０１は、その囲われた領域を指定基準領域として受け付けても良い。
【００５５】
以上のようにして図１２のステップＳ１２０２の指定動きブレの受付が終了したら、次に図１２のステップＳ５０２において、動きベクトル算出部２０１は、記録部１０８に記録された複数の撮像画像間の動きベクトルを再び算出する。具体的には、動きベクトル算出部２０１は、図４（Ａ）Ｎフレーム目の撮像画像と図４（Ｂ）Ｎ＋１フレーム目の撮像画像を取得し、図８のような動きベクトルを算出する。尚、図１２のステップＳ５０２における動きベクトルの算出方法は、図５のステップＳ５０２と同様の処理により算出するものとし、説明は省略する。また、図３のステップＳ３０２の動きブレ画像生成処理の際に算出した動きベクトルを記録部１０８などに一旦記憶しておき、図１２のステップＳ５０２において再利用しても良い。
【００５６】
次に図１２のステップＳ１２０３において、基準動きベクトル特定部２０２がステップＳ１２０１において制御部１０１が受け付けた指定基準領域と動きベクトル算出部２０１が算出した動きベクトルに基づき、基準動きベクトルを特定する。具体的には、図８において、指定基準領域（犬）の動きベクトルＬ８０１を基準動きベクトルとして特定する。尚、指定基準領域内に複数の動きベクトルが存在する場合は、指定基準領域内の動きベクトルのヒストグラム（頻度分布）を取得し、最も頻度の高い動きベクトルを基準動きベクトルとして自動設定する。
【００５７】
次に図１２のステップＳ１２０４において、動きブレ変換特性算出部２０３は、目標動きブレ、基準動きベクトル及び指定動きブレに基づき動きブレ変換特性を算出する。動きブレ変換特性の算出方法について図１４を参照して説明する。図１４の動きブレ変換特性は、制御部１０１が１／６０秒相当の動きブレを目標動きブレとして算出した場合の動きブレ変換特性の例を示している。尚、動きベクトルは水平方向と垂直方向の動きベクトル成分により決まる２次元の方向と移動量から成るが、本実施例では説明の簡略化のため、動きベクトルの水平方向の移動量を水平方向の動きブレ量に変換する変換特性を示している。２次元の方向と移動量から成る動きベクトルを用いた動きブレ量変換方法及び変換特性も同様の処理により算出するものとし、説明は省略する
【００５８】
図１４（Ａ）動きブレ変換特性において、破線のＬ９０１が目標動きブレが１／６０秒相当の場合の動きブレ変換特性を示す。動きブレ変換特性Ｌ９０１は、図３のステップＳ３０２において動きブレ変換特性算出部２０３が算出した動きブレ変換特性であり、この動きブレ変換特性に基づき生成した動きブレ画像が図１３（Ａ）動きブレ調整（修正）前画像である。動きブレ変換特性算出部２０３は、基準動きベクトル（図８の動きベクトルＬ８０１）及び指定動きブレ（例えば動きブレをゼロにする指示）に基づき、動きブレ変換特性Ｌ９０１をオフセットすることにより動きブレ変換特性Ｌ１４０１を算出する。具体的には、図８における基準動きベクトルＬ８０１の方向が水平方向左、長さが５画素だとすると、基準動きベクトルに対応する動きブレ量が０になるように、動きブレ変換特性Ｌ９０１を左方向に５画素オフセットし、動きブレ変換特性Ｌ１４０１を算出する。
【００５９】
次に図１２のステップＳ５０４において、動きブレ付与部２０４は、動きブレ変換特性算出部２０３が算出した動きブレ変換特性と動きベクトル算出部２０１が算出した画素毎の動きベクトルに基づき撮像画像に動きブレを付与する。そして、動きブレ画像を表示部１０９に出力する。図１２のステップＳ５０４における動きブレの付与方法は、図５のステップＳ５０４と同様の処理により付与するものとし、説明は省略する。
【００６０】
次に図１２のステップＳ５０５において、図１２のステップＳ５０４において動きブレ付与部２０４が生成した動きブレ画像を表示部１０９に表示する。この動きブレ画像を図１３（Ｂ）に示す。図１３（Ｂ）動きブレ調整後画像は、図１３（Ａ）動きブレ調整前画像に比べ、犬が静止し、背景の動きブレが大きくなっている。これは、ユーザーが指定した犬を指定基準領域とし、指定基準領域における基準動きベクトルの動きブレ量が０になるような動きブレ変換特性Ｌ１４０１に基づき、画面全体の指定基準領域以外の画像に対しても動きブレを付与したためである。このようにユーザーが指定した指定基準領域の基準動きベクトルと指定動きブレに基づき動きブレ変換特性を変更することにより、好みの動きブレになるようにブレ修正することが可能となる。すなわち前記被写体と背景の動きブレの関係を適宜修正可能となる。なお、指定基準領域以外の画像とは指定基準領域以外のすべての領域の画像であってもよいし、指定基準領域とは異なる一部の領域の画像であってもよい。
以上、図３のステップＳ３０４における動きブレ調整（修正）に関して説明した。
【００６１】
次に、図３のステップＳ３０４における動きブレ調整（修正）の変形例について説明する。
本変形例では、撮像装置から見て奥行き方向に長い被写体の動きブレを調整する例について説明する。
まず、本変形例における撮影処理（図３のステップＳ３０１）に関して図１５を参照して説明する。
図１５は、撮影者が、走っている車を追従するように撮像装置を振り、フォローしながら連写撮影をしている例を示す。図１５（Ａ）はＮフレーム目の撮像画像、図１５（Ｂ）はＮ＋１フレーム目の撮像画像を示す。尚、Ｎは正の整数である。また、短い露光時間で撮像しているため、撮像画像に大きな動きブレは発生していない。
【００６２】
フォロー撮影時において、撮像装置を走っている車に追従させて振ることは困難である。特に、被写体の動きが速かったり、動きが予測できなかったりする場合は、非常に困難である。図１５の例では、走っている車に対して撮像装置が振り遅れてしまった場合の撮像画像を示し、Ｎ＋１フレーム目の撮像画像の車が、Ｎフレーム目の撮像画像に比べ左に移動してしまっている。
次に、図３のステップＳ３０２における自動動きブレ画像生成について、図１５、図１６及び図１７を参照して説明する。
【００６３】
図１５のような撮像画像に基づき、動きベクトル算出部２０１が算出した動きベクトルを図１６に示す。図１６は、図１５（Ａ）Ｎフレーム目の撮像画像を基準撮像画像に設定し、図１５（Ｂ）Ｎ＋１フレーム目の撮像画像を参照撮像画像に設定した場合の動きベクトルを示す図である。図１６の例では画素毎の動きベクトルは示さず、間欠的な代表的な動きベクトルのみに簡略化し示している。
【００６４】
図１６の例では、撮像装置を向かって右から左に振り、走っている車を若干振り遅れながらフォロー撮影しているため、背景の静止物については右方向の動きベクトルが検出され、走っている車については左方向の動きベクトルが検出されている。ここで、車のように撮像装置から見て奥行き方向に長い被写体の場合、撮像画像間の移動量は撮像装置から被写体までの距離に応じて変わるため、同じ車だとしても領域毎に移動量が異なる。そのため、図１６の例では、車のフロント領域については左方向の動きベクトルが検出されており、車のリア領域については動きベクトルが検出されていない。
【００６５】
図１５の撮像画像に対して、図３のステップＳ３０２における自動動きブレ画像生成処理により動きブレを付与した動きブレ画像を図１７（Ａ）に示す。図１７（Ａ）動きブレ調整前画像は、図１６に示す動きベクトルと図９におけるＬ９０１の動きブレ変換特性に基づき、目標動きブレとして１／６０秒相当の動きブレを付与した動きブレ画像である。ここで、図１７（Ａ）動きブレ調整前画像の例では、背景だけではなく、主被写体である走っている車のフロント領域がブレてしまっている。
【００６６】
次に、図３のステップＳ３０４における動きブレ調整（修正）処理により、図１７（Ａ）動きブレ調整前画像における車全体の動きブレを小さくし、背景の動きブレを大きくする方法について図１２、図１４及び図１７を参照して説明する。
まず、図１７（Ａ）動きブレ調整前画像において、ブレてしまっている車のフロント領域の動きブレを小さくする方法について説明する。
【００６７】
図１２のステップＳ１２０１及びステップＳ１２０２において、図１７（Ａ）動きブレ調整前画像に対し、図１７（Ａ）Ｌ１７０１に示すように、ユーザーがブレてしまっている車のフロント領域（フロントバンパー）をシングルクリックにより指定する。その指定に基づき、制御部１０１は、フロントバンパーを指定基準領域として受け付け、また、シングルクリック操作を動きブレを小さくする（あるいはゼロにする）指定動きブレとして受け付ける。
【００６８】
図１２のステップＳ１２０３において、基準動きベクトル特定部２０２は、ステップＳ１２０１において制御部１０１が受け付けた指定基準領域と動きベクトル算出部２０１が算出する動きベクトルに基づき、基準動きベクトルを特定する。具体的には、図１６において、指定基準領域であるフロントパンパーの動きベクトルＬ１６０１を基準動きベクトルとして特定する。
【００６９】
図１２のステップＳ１２０４において、動きブレ変換特性算出部２０３は、目標動きブレ、基準動きベクトル及び指定動きブレに基づき動きブレ変換特性を算出する。動きブレ変換特性の算出方法について図１４を参照して説明する。図１４（Ａ）動きブレ変換特性において、破線のＬ９０１は目標動きブレが１／６０秒相当の場合の動きブレ変換特性を示す。動きブレ変換特性Ｌ９０１は、図３のステップＳ３０２において動きブレ変換特性算出部２０３が算出した動きブレ変換特性であり、この動きブレ変換特性に基づき生成した動きブレ画像が図１７（Ａ）動きブレ調整前画像である。動きブレ変換特性算出部２０３は、基準動きベクトル及び指定動きブレに基づき、動きブレ変換特性Ｌ９０１をオフセットすることにより動きブレ変換特性Ｌ１４０１を算出する。
【００７０】
具体的には、図１６における基準動きベクトルの方向が水平方向左、長さが５画素だとすると、基準動きベクトルに対応する動きブレ量が０になるように、動きブレ変換特性Ｌ９０１を左方向に５画素オフセットし、動きブレ変換特性Ｌ１４０１を算出する。尚、必ずしも基準動きベクトルに対応する動きブレ量が０にならなくても良い。例えば、基準動きベクトルと略同一の動きベクトルに対応する動きブレ量が小さくなる動きブレ変換特性（例えば４画素オフセット）でも良い。
【００７１】
図１２のステップＳ５０４において、動きブレ付与部２０４は、動きブレ変換特性算出部２０３が算出した動きブレ変換特性と動きベクトル算出部２０１が算出した画素毎の動きベクトルに基づき撮像画像に動きブレを付与する。そして動きブレ画像を表示部１０９に出力する。
【００７２】
図１２のステップＳ５０５において、図１２のステップＳ５０４において動きブレ付与部２０４が生成した動きブレ画像を表示部１０９に表示する。この動きブレ画像を図１７（Ｂ）に示す。
【００７３】
図１７（Ｂ）動きブレ調整後画像は、図１７（Ａ）動きブレ調整前画像に比べ、車のフロント領域は静止したが、逆に車のリア領域がブレてしまっている。また、背景の動きブレは大きくなっている。これは、ユーザーが指定した車のフロント領域を指定基準領域とし、指定基準領域における基準動きベクトルの動きブレ量が０になるような動きブレ変換特性Ｌ１４０１に基づき動きブレを付与したためである。このように撮像装置から見て奥行き方向に長い被写体の場合、撮像画像間の移動量は撮像装置から被写体までの距離に応じて変わるため、車のフロント領域は静止したとしても、距離差のあるリア領域はブレてしまう。したがってこの状態では図３のステップＳ３０５において調整完了の指示は出せないのでステップＳ３０４に戻る。
【００７４】
そこで、次に、図１７（Ｂ）動きブレ調整後画像において、ブレてしまっている車のリア領域の動きブレも小さくするための方法について図１２、図１４及び図１８を参照して説明する。図１８（Ａ）動きブレ調整前画像は、図１７（Ｂ）動きブレ調整後画像と同様に、図１６に示す動きベクトルと図１４（Ａ）におけるＬ１４０１の動きブレ変換特性に基づき、目標動きブレが１／６０秒相当の動きブレを付与した動きブレ画像である。
【００７５】
図１２のステップＳ１２０１及びステップＳ１２０２において、図１８（Ａ）動きブレ調整前画像において、図１８（Ａ）Ｌ１８０１に示すように、ユーザーはブレてしまっている車のリア領域（給油口）をシングルクリックにより指定する。その指定に基づき、制御部１０１は、給油口を指定基準領域として受け付け、また、シングルクリック操作を動きブレを小さくする指定動きブレとして受け付ける。
【００７６】
図１２のステップＳ１２０３において、基準動きベクトル特定部２０２は、ステップＳ１２０１において制御部１０１が受け付けた指定基準領域と動きベクトル算出部２０１が算出する動きベクトルに基づき、基準動きベクトルを特定する。具体的には、図１６において、指定基準領域である給油口の動きベクトルＬ１６０２を基準動きベクトルとして特定する。ここで、基準動きベクトル特定部２０２は、先に受け付けた指定基準領域であるフロントバンパーの動きベクトルＬ１６０１と新たに受け付けた指定基準領域である給油口の動きベクトルＬ１６０２の２本の動きベクトルを基準動きベクトルとして特定する。
【００７７】
図１２のステップＳ１２０４において、動きブレ変換特性算出部２０３は、目標動きブレ、基準動きベクトル２本及び指定動きブレに基づき動きブレ変換特性を再度算出する。動きブレ変換特性の再算出方法について図１４を参照して説明する。図１４（Ｂ）動きブレ変換特性において、破線のＬ１４０１は図１４（Ａ）における動きブレ変換特性Ｌ１４０１と同等の動きブレ変換特性を示す。動きブレ変換特性Ｌ１４０１に基づき生成した動きブレ画像が図１８（Ａ）動きブレ調整前画像である。
【００７８】
動きブレ変換特性算出部２０３は、２本の基準動きベクトルに対応する動きブレ量が小さくなるように、動きブレ変換特性Ｌ１４０１における所定移動量範囲の動きブレ量を０にすることにより動きブレ変換特性Ｌ１４０２を算出する。具体的には、図１６における基準動きベクトルＬ１６０１の方向が水平方向左、長さが５画素であり、基準動きベクトルＬ１６０２の長さが０画素だとすると、水平移動量が―５から０の範囲の動きブレ量が０になるように動きブレ変換特性Ｌ１４０２を算出する。
【００７９】
図１２のステップＳ５０４において、動きブレ付与部２０４は、動きブレ変換特性算出部２０３が算出した動きブレ変換特性と動きベクトル算出部２０１が算出した画素毎の動きベクトルに基づき撮像画像に動きブレを付与する。そして動きブレ画像を表示部１０９に出力する。
【００８０】
次に図１２のステップＳ５０５において、図１２のステップＳ５０４において動きブレ付与部２０４が生成した動きブレ画像を表示部１０９に表示する。この動きブレ画像を図１８（Ｂ）に示す。
【００８１】
図１８（Ｂ）動きブレ調整後画像は、車のフロント領域及びリア領域が静止し、背景がブレている。これは、ユーザーが指定した車のフロント領域及びリア領域を指定基準領域とし、指定基準領域における基準動きベクトルの動きブレ量が０になるような動きブレ変換特性Ｌ１４０２に基づき動きブレを付与したためである。このように撮像装置から見て奥行き方向に長い被写体の場合、２つの指定基準領域を指定することにより図１４（Ｂ）のような動きブレ変換特性Ｌ１４０２を算出することによって、距離差のある被写体全体が静止する動きブレ画像を生成することができる。すなわち前記被写体と背景の動きブレの関係を適宜修正可能となる。
【００８２】
次に、図１８（Ｂ）動きブレ調整後画像などにおいて、更に背景の動きブレを大きくしたい場合の動きブレの修正方法について図１２、図１４及び図１９を参照して説明する。図１９（Ａ）動きブレ調整前画像は、図１８（Ｂ）動きブレ調整後画像と同様のものである。即ち図１６に示す動きベクトルと図１４（Ｂ）におけるＬ１４０２の動きブレ変換特性に基づき、目標動きブレが１／６０秒相当の動きブレとなるような動きブレを付与した動きブレ画像の例である。しかし以降の変形例は例えば図１３（Ｂ）のような画像に対しても適用できることは言うまでもない。
【００８３】
例えば図３のＳ３０５で調整が完了していない場合Ｓ３０４で更に調整する場合を想定する。図１２のステップＳ１２０１及びステップＳ１２０２において、図１９（Ａ）動きブレ調整前画像において、図１９（Ａ）Ｌ１９０１に示すように、ユーザーが背景領域（ビル）をもっとブラしたい場合がある。その場合、Ｌ１９０１のタッチまたはマウスクリックをブラしたい動きブレ量分だけドラックすることにより動きブレ量を指定する。その指定に基づき、制御部１０１は、ドラック開始座標であるビルを指定基準領域として受け付け、また、ドラックの長さを指定動きブレとして受け付ける。
【００８４】
図１２のステップＳ１２０３において、基準動きベクトル特定部２０２は、ステップＳ１２０１において制御部１０１が受け付けた指定基準領域と動きベクトル算出部２０１が算出する動きベクトルに基づき、基準動きベクトルを特定する。具体的には、図１６において、指定基準領域であるビルの動きベクトルＬ１６０３を基準動きベクトルとして特定する。
【００８５】
図１２のステップＳ１２０４において、動きブレ変換特性算出部２０３は、目標動きブレ、基準動きベクトル及び指定動きブレに基づき動きブレ変換特性を算出する。動きブレ変換特性の算出方法について図１４を参照して説明する。例えば図１９（Ａ）において背景が基準領域として指定された場合、図１４（Ｂ）の動きブレ変換特性Ｌ１４０２をベースとして変形した図１４（Ｃ）動きブレ変換特性を用いる。破線のＬ１４０２は図１４（Ｂ）における動きブレ変換特性Ｌ１４０２と同等の動きブレ変換特性を示す。動きブレ変換特性Ｌ１４０２に基づき生成した動きブレ画像が図１９（Ａ）動きブレ調整前画像である。
【００８６】
本実施例では動きブレ変換特性算出部２０３は、図１９（Ａ）でＬ１９０１に示すように、クリックしドラッグ操作することによって基準動きベクトルを指定する。そして指定された基準動きベクトルによる動きブレ量が指定動きブレになるように、動きブレ変換特性Ｌ１４０２における傾きを変更することにより動きブレ変換特性Ｌ１４０３を算出する。具体的には、図１６における基準動きベクトルＬ１６０３の方向が水平方向右、長さが１０画素であり、図１９（Ａ）でＬ１９０１に示す指定動きブレが水平方向右２５画素だとする。すると水平移動量が右１０画素の動きブレ量が２５画素になるように動きブレ変換特性Ｌ１４０３を算出する。なお、仮に図１３（Ｂ）のような画像に対して背景を基準領域として指定し、動きブレ量も指定した場合には図１４（Ａ）のＬ１４０１をベースにして動きブレ変換特性の傾きを変更すればよい。
【００８７】
図１２のステップＳ５０４において、動きブレ付与部２０４は、動きブレ変換特性算出部２０３が算出した動きブレ変換特性と動きベクトル算出部２０１が算出した画素毎の動きベクトルに基づき撮像画像に動きブレを付与する。そして動きブレ画像を表示部１０９に出力する。
【００８８】
図１２のステップＳ５０５において、図１２のステップＳ５０４において動きブレ付与部２０４が生成した動きブレ画像を表示部１０９に表示する。この動きブレ画像を図１９（Ｂ）に示す。
【００８９】
図１９（Ｂ）動きブレ調整後画像においては、図１９（Ｂ）動きブレ調整前画像に比べ、背景の動きブレが大きくなっている。これは、ユーザーが指定したビルを指定基準領域とし、指定基準領域における基準動きベクトルの動きブレ量がドラックした長さ（指定動きブレ）になるような動きブレ変換特性Ｌ１４０３に基づき動きブレを付与したためである。ユーザーは、このようにドラックの位置と長さ方向を指定することにより、好みの動きブレに調整することが可能となる。すなわち前記被写体と背景の動きブレの関係を適宜修正可能となる。
【００９０】
尚、実施例１においては、動きブレが小さい画像を複数枚撮像し、動きブレを付与することにより、動きブレを制御する例について説明をしたが、動きブレの制御方法はこれに限ったものではない。例えば、動きブレが大きい長秒露光画像を撮像し、動きブレを低減することにより、動きブレを制御しても良い。動きブレを低減する方法については、例えば、ブラインド・デコンボリューション手法といったような公知の技術を用い、説明は省略する。
【００９１】
ちなみに、ブラインド・デコンボリューション手法は、画像における動きブレの特性を解析し、動きブレ特性の逆特性を画像に対してコンボリューションすることにより動きブレを低減する手法である。
【００９２】
尚、実施例１において、指定動きブレとして動きブレ量の指定を受け付ける例について説明したが、指定動きブレとして受け付ける情報はこれに限ったものではない。例えば、指定動きブレとして動きブレ方向の指定を受け付けても良い。この場合、動きブレ変換特性算出部２０３は、基準動きベクトルに対応する動きブレの方向を指定動きブレの方向に変換する特性を算出する。これにより、動きブレの方向を調整することが可能となる。
＜実施例２＞
【００９３】
次に実施例２について説明する。実施例２は、動きベクトルの分布状態に応じて決定した基準動きベクトルに基づき画像の動きブレを修正する例である。以下、実施例２について説明する。
【００９４】
実施例２では、実施例１の図２における動きブレ画像生成部２００の構成及び動作が実施例１と異なる。尚、実施例１と同じ符号のものは実施例１と同様の動作、処理を行うものであり、説明は省略する。
実施例２の撮像装置１００の動作及び処理は、実施例１と同様のため説明は省略する。
【００９５】
次に、実施例２の特徴である動きブレ画像生成部２０００の構成例について、図２０を参照して説明する。実施例２における動きブレ画像生成部２０００は、記録部１０８に記録した画像データに対して、動きブレを付与し、動きブレ画像を生成する。
【００９６】
図２０は、動きブレ画像生成部２０００の構成例を示す図である。動きブレ画像生成部２０００は、動きベクトル算出部２０１、基準動きベクトル特定部２００１、動きブレ変換特性算出部２０３及び動きブレ付与部２０４を有する。尚、実施例２における動きブレ画像生成部２０００は、基準動きベクトル特定部２００１の動作が実施例１における基準動きベクトル特定部２０２と異なる。動きベクトル算出部２０１、動きブレ変換特性算出部２０３及び動きブレ付与部２０４については、実施例１と同様の動作、処理を行うものであり、説明は省略する。
次に、動きブレ画像生成部２０００の処理について、図２１のフローチャートを参照して説明する。
【００９７】
図２１のステップＳ３０１において、制御部１０１は撮像部１０５が撮像する露光時間を決定する。そして、撮像部１０５は決定した露光時間に基づき複数枚画像を撮像し、記録部１０８に記録する。本実施例では、撮像フレームレートとして毎秒６０枚の画像を撮像する例について説明する。つまり、撮像部１０５は１／６０秒毎に１枚の画像を撮像する。撮像画像は例えば図４のような画像であるとする。
【００９８】
図２１のステップＳ２１０１において、動きブレ画像生成部２０００は、図２１のステップＳ３０１において撮像したＮフレーム目の撮像画像の動きブレを制御し、動きブレ画像を生成して表示部１０９に出力し表示する。ステップＳ２１０１の動きブレ画像生成処理の詳細については、後述する。
【００９９】
図２１のステップＳ３０３において、動きブレを調整するためのユーザーの指示が動きブレ画像がＳ２１０１で表示されてから所定時間内にあったか判別する。図２１のステップＳ３０３において、動きブレを調整するための指示が前記所定時間内になかった場合は終了となる。図２１のステップＳ３０３でＹｅｓの場合、図２１のステップＳ３０４に進む。そして動きブレ画像生成部２０００は、受け付けた動きブレに関するユーザー指示に基づき、動きブレを調整（修正）し、修正後の動きブレ画像を表示部１０９に出力し表示する。図２１のステップＳ３０４の動きブレの調整（修正）方法については、実施例１と同様の処理のため説明を省略する。
【０１００】
ユーザーが図２１のステップＳ３０４において表示部１０９に表示された修正後の動きブレ画像を確認して指示入力部１１０を介し、動きブレの調整完了の指示をした場合には、図２１のステップＳ３０５において、それを判別する。図２１のステップＳ３０５において、動きブレの調整が完了したという指示を受け付けた場合は終了となる。図２１のステップＳ３０５において、動きブレの調整が完了したという指示を受け付けない場合は、図２１のステップＳ３０４に戻り、動きブレ調整（修正）を繰り返す。
【０１０１】
次に、図２１のステップＳ２１０１における自動で動きブレを付与する処理の詳細について、図２２のフローチャートを参照して説明する。
なお、図２２において、図５と同じ符番のステップは図５のステップと同様の動作を行う。
図２２のステップＳ５０１において、制御部１０１が目標動きブレを算出する。本実施例においては、目標動きブレを１／６０秒相当の動きブレとする。
【０１０２】
図２２のステップＳ５０２において、動きベクトル算出部２０１は、例えば記録部１０８に記録した複数の撮像画像間の動きベクトルを自動的に算出し、基準動きベクトル特定部２００１及び動きブレ付与部２０４に出力する。算出した動きベクトルの例は図８に示されるようなものである。
【０１０３】
図２２のステップＳ２２０１において、基準動きベクトル特定部２００１は、図２２のステップＳ５０２において算出した動きベクトルに基づき、基準動きベクトルを特定する。基準動きベクトルの特定方法に関して、図２３を参照して説明する。図２３は、動きベクトルに基づき基準動きベクトルを特定する処理を示すフローチャートである。
【０１０４】
図２３のステップＳ２３０１において、基準動きベクトル特定部２００１は、図２２のステップＳ５０２において動きベクトル算出部２０１が算出した動きベクトルのヒストグラム（頻度分布）を算出する。具体的には、基準動きベクトル特定部２００１は、図８のような動きベクトルに基づき、図２４のような動きベクトルのヒストグラムを算出する。尚、動きベクトルは水平方向と垂直方向の動きベクトル成分により決まる２次元の方向と移動量から成るが、本実施例では説明の簡略化のため、水平方向の動きベクトルの移動量のヒストグラムを示している。２次元の方向と移動量から成る動きベクトルを用いた基準動きベクトルの特定方法も同様の処理により算出するものとし、説明は省略する。
【０１０５】
図２３のステップＳ２３０２において、基準動きベクトル特定部２００１は、ステップＳ２３０１において算出した動きベクトルのヒストグラムに基づき、ヒストグラムの山のグループ分けを行う。ヒストグラムの山のグループ分け方法は、例えば、「大津の閾値処理」（Ｏｔｓｕ  Ｍｅｔｈｏｄ）といったような公知の方法を用いればよく、説明は省略する。図２４の例では、グループＧ２４０１とグループＧ２４０２の２グループに分けている。
【０１０６】
図２３のステップＳ２３０３において、基準動きベクトル特定部２００１は、ヒストグラムの山のグループのうち、最も移動量が小さいグループを選択する。図２４の例では、グループＧ２４０１を選択する。具体的には、各グループ内に移動量又は方向の異なる動きベクトルが属する場合は、各グループ内において最もカウント数が大きい最頻移動量を各グループの代表とし、各グループの代表の最頻移動量が最も小さいグループを選択する。
【０１０７】
図２３のステップＳ２３０４において、基準動きベクトル特定部２００１は、ステップＳ２３０３において選択したヒストグラムの山のグループに属する動きベクトルに基づき、基準動きベクトルを特定する。選択されたグループ内に移動量又は方向の異なる動きベクトルが属する場合は、選択されたグループ内において最もカウント数が大きい最頻動きベクトルを基準動きベクトルとして特定する。図２４の例では、グループＧ２４０１における移動量が―５の動きベクトルを基準動きベクトルとして特定する。
以上、図２２のステップＳ２２０１における基準動きベクトルの特定方法について説明した。
【０１０８】
図２２に戻りステップＳ５０３において、動きブレ変換特性算出部２０３は、目標動きブレ及び基準動きベクトルに基づき動きブレ変換特性を算出する。具体的には、図１２のステップＳ１２０４の処理と同様の処理により、基準動きベクトルに対応する動きブレ量が０になるように、図１４（Ａ）に示すような動きブレ変換特性Ｌ９０１を左方向に５画素オフセットし、動きブレ変換特性Ｌ１４０１を算出する。
【０１０９】
図２２のステップＳ５０４において、動きブレ付与部２０４は、動きブレ変換特性算出部２０３が算出した動きブレ変換特性と動きベクトル算出部２０１が算出した画素毎の動きベクトルに基づき撮像画像に動きブレを付与する。そして動きブレ画像を表示部１０９に出力する。
図５のステップＳ５０５において、図５のステップＳ５０４において動きブレ付与部２０４が生成した動きブレ画像を表示部１０９に表示する。
以上、図２１のステップＳ２１０１における動きブレ画像生成の処理について説明した。
【０１１０】
尚、実施例２において、基準動きベクトル特定部２００１は、ヒストグラムの山のグループのうち、最も移動量が小さいグループを選択し、基準動きベクトルを特定する例について説明したが、基準動きベクトルの特定方法はこれに限ったものではない。例えば、最も移動量が小さいグループとその次に小さい移動量のグループの２つのグループの移動量の両方を用いて基準動きベクトルを特定しても良い。動きブレ変換特性算出部２０３は、このように選択した２本の基準動きベクトルに対応する動きブレ量が０になるように動きブレ変換特性を算出する。これにより、移動量が異なる２つの被写体の動きブレを低減することができる。
【０１１１】
尚、実施例２において、基準動きベクトル特定部２００１は、グループ内に移動量又は方向の異なる複数動きベクトルが属する場合は、その中から１本の基準動きベクトルを特定し、動きブレ変換特性を算出する例について説明した。しかしながら、動きブレ変換特性の算出方法は、これに限ったものではない。例えば、図２４におけるグループＧ２４０１内の動きベクトル全てを基準動きベクトルとして特定し、全ての基準動きベクトルに対応する動きブレ量が０になるように動きブレ変換特性を算出しても良い。これにより、図１６の走っている車のように、同一被写体の中で異なる動きベクトルを持つ被写体（例えば、奥行き方向に長い被写体）の全体を静止させることができる。
【０１１２】
尚、実施例２において、基準動きベクトル特定部２００１は、動きベクトルのヒストグラムに基づき基準動きベクトルを特定する例について説明したが、基準動きベクトルの特定方法はこれに限ったものではない。例えば、撮像装置１００がフォーカス位置を合わせた合焦領域の動きベクトルを基準動きベクトルとして自動的に特定しても良い。
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【０１１３】
例えば実施例では撮像装置に着脱可能な記録部から読み出された複数の画像を取得して、それらの複数の画像を用いて撮像装置内で動きブレ画像を形成したが、上記の記録部は着脱可能なものでなくてもよいし、クラウドなどに設けた外部の記録部でもよい。また、上記のような記録部を撮像措置ではなく外部の情報処理装置に接続して記録部から読み出された画像を用いて情報処理装置内で動きブレ画像を形成してもよい。
また、実施例では複数の画像に基づき動きブレを自動生成して、１枚の画像に対して動きブレを付与しているが１枚の画像だけを用いてブレを付与してもよい。即ち、その１枚の画像に対して例えばユーザーが指定した領域に所定方向または所定量の動きブレを付与するようにしてもよいことは言うまでもない。
【０１１４】
また、本発明における制御の一部または全部を上述した実施例の機能を実現するプログラム（ソフトウェア）をネットワーク又は各種記憶媒体を介して撮像装置や情報処理装置に供給するようにしてもよい。そしてその撮像装置や情報処理装置におけるコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行するようにしてもよい。その場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することとなる。
【符号の説明】
【０１１５】
１００  撮像装置
１０１  制御部
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  光学系
１０５  撮像部
１０６  Ａ／Ｄ変換部
１０７  画像処理部
１０８  記録部
１０９  表示部
１１０  指示入力部
２００  動きブレ画像生成部
２０１  動きベクトル算出部
２０２  基準動きベクトル特定部
２０３  動きブレ変換特性算出部
２０４  動きブレ付与部
２００１  基準動きベクトル特定部
【図１】
2020047979.tif 000003
【図２】
2020047979.tif 000004
【図３】
2020047979.tif 000005
【図４】
2020047979.tif 000006
【図５】
2020047979.tif 000007
【図６】
2020047979.tif 000008
【図７】
2020047979.tif 000009
【図８】
2020047979.tif 000010
【図９】
2020047979.tif 000011
【図１０】
2020047979.tif 000012
【図１１】
2020047979.tif 000013
【図１２】
2020047979.tif 000014
【図１３】
2020047979.tif 000015
【図１４】
2020047979.tif 000016
【図１５】
2020047979.tif 000017
【図１６】
2020047979.tif 000018
【図１７】
2020047979.tif 000019
【図１８】
2020047979.tif 000020
【図１９】
2020047979.tif 000021
【図２０】
2020047979.tif 000022
【図２１】
2020047979.tif 000023
【図２２】
2020047979.tif 000024
【図２３】
2020047979.tif 000025
【図２４】
2020047979.tif 000026