(57)【要約】【課題】撮影動画から安定化された動画を生成する場合に、動体の位置変動を考慮して動画を安定化させることが可能な画像処理装置を提供する。【解決手段】撮影動画から撮像軌跡を推定する軌跡推定部と、推定された撮像軌跡を補正する軌跡補正部と、補正後の撮像軌跡に応じた安定化された動画を撮影動画から生成する画像生成部とを有し、軌跡補正部が、撮影動画から検出される動きベクトルに基づいて動体領域を検出し、検出した動体領域から算出される、生成する動画の各フレームにおける動体位置の変動を低減させるように撮像軌跡を補正するようにして、動体位置の変動を低減した安定化された動画の生成を可能にする。【選択図】図１
2020120362.tif 000002
【特許請求の範囲】
【請求項１】
第１の動画から撮像軌跡を推定する軌跡推定手段と、
推定された前記撮像軌跡を補正する軌跡補正手段と、
補正後の前記撮像軌跡に応じた第２の動画を前記第１の動画から生成する画像生成手段とを有し、
前記軌跡補正手段は、
前記第１の動画から検出される動きベクトルに基づいて動体領域を検出し、検出した動体領域から算出される、前記第２の動画の各フレームにおける動体位置の変動を低減させるように前記撮像軌跡を補正することを特徴とする画像処理装置。
【請求項２】
前記軌跡補正手段は、前記第１の動画から検出される動きベクトル及び推定された前記撮像軌跡に基づいて、前記動体領域を検出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記軌跡補正手段は、前記撮像軌跡に基づいて算出される変動量を前記第１の動画から検出される動きベクトルから除去した動きベクトルに基づいて、前記動体領域を検出することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記軌跡補正手段は、さらに動体領域の大きさ及び動体との距離の少なくとも一方に応じて前記撮像軌跡を補正することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記軌跡補正手段は、検出した前記動体領域に外接する矩形の重心を前記動体位置として算出することを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
前記軌跡補正手段は、検出した前記動体領域を構成する画素の各座標の平均値を前記動体位置として算出することを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項７】
前記軌跡補正手段は、二次元画像上で前記動体位置が基準位置に近づくよう、三次元空間上のカメラ位置姿勢を調整することで、前記撮像軌跡を補正することを特徴とする請求項１〜６の何れか１項に記載の画像処理装置。
【請求項８】
第１の動画から撮像軌跡を推定する軌跡推定工程と、
推定された前記撮像軌跡を補正する軌跡補正工程と、
補正後の前記撮像軌跡に応じた第２の動画を前記第１の動画から生成する画像生成工程とを有し、
前記軌跡補正工程では、
前記第１の動画から検出される動きベクトルに基づいて動体領域を検出し、検出した動体領域から算出される、前記第２の動画の各フレームにおける動体位置の変動を低減させるように前記撮像軌跡を補正することを特徴とする画像処理方法。
【請求項９】
第１の動画から撮像軌跡を推定する軌跡推定ステップと、
推定された前記撮像軌跡を補正する軌跡補正ステップと、
補正後の前記撮像軌跡に応じた第２の動画を前記第１の動画から生成する画像生成ステップとをコンピュータに実行させ、
前記軌跡補正ステップでは、
前記第１の動画から検出される動きベクトルに基づいて動体領域を検出し、検出した動体領域から算出される、前記第２の動画の各フレームにおける動体位置の変動を低減させるように前記撮像軌跡を補正する処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
手振れ等による撮影画角の変動を電子的に安定化させる技術として、撮影動画から撮像軌跡を推定して、推定された撮像軌跡の軌跡変動が低減するように補正し、撮影動画を基に補正後の撮像軌跡に対応した動画を生成する技術が提案されている。例えば、特許文献１には、撮影動画のフレーム間の被写体の移動量が一定となるようにフレームを間引くもしくは補間する処理を行うことで、軌跡変動を低減する技術が提案されている。また、特許文献２には、フレーム間の特定被写体の移動量が所望の移動量となるように撮影間隔を制御することで、軌跡変動を低減する技術が提案されている。また最近では、撮影画角の変動を安定化させた動画を撮影動画のＮ倍速い速度で再生するように生成することで、アクションカムで撮影された長時間動画を短時間のダイジェスト動画にして楽しむ、と言ったことも行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−６０２５８号公報
【特許文献２】特開２０１１−６６８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、動画の安定化のために、撮像装置の動きによる画面全体の動きを考慮しているが、動体の位置変動を考慮していない。その結果、動体の動きが安定化されず、フレーム毎に動体が不規則な位置に現れてしまう。特に、通常のデジタルカメラで撮影された長時間動画から短時間のダイジェストの動画を生成する場合には、動体の動きが安定化されていないと、フレームが間引かれることによって動体の動きが不規則かつ不連続になる。そのため、画面全体の動きが安定化されていたとしても、画面内で動体がちらついて見え、見苦しい映像になってしまう。
【０００５】
また、特許文献２に記載の技術では、動体の位置変動を考慮しているものの、撮影間隔を制御することのみにとどまり、画像上の動体位置そのものを制御するものではない。そのため、動体が所望の位置を通過して移動する場合を除いて、動体の動きの安定化を実現することができない。
【０００６】
本発明は、このような事情に鑑みてなされたものであり、撮影動画から安定化されたＮ倍速の動画を生成する場合に、動体の位置変動を考慮して動画を安定化させることが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、第１の動画から撮像軌跡を推定する軌跡推定手段と、推定された前記撮像軌跡を補正する軌跡補正手段と、補正後の前記撮像軌跡に応じた第２の動画を前記第１の動画から生成する画像生成手段とを有し、前記軌跡補正手段は、前記第１の動画から検出される動きベクトルに基づいて動体領域を検出し、検出した動体領域から算出される、前記第２の動画の各フレームにおける動体位置の変動を低減させるように前記撮像軌跡を補正することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮影動画から安定化されたＮ倍速の動画を生成する場合に、動体の位置変動による見苦しさが低減された安定化された動画を生成することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態における画像処理装置の構成例を示す図である。
【図２】第１の実施形態における軌跡推定部の構成例を示す図である。
【図３】第１の実施形態における軌跡補正部の構成例を示す図である。
【図４】第１の実施形態における画像処理装置の動作例を示すフローチャートである。
【図５】第１の実施形態における軌跡推定処理の例を示すフローチャートである。
【図６】第１の実施形態におけるマッチング処理を説明する図である。
【図７】第１の実施形態におけるカメラ位置姿勢の推定方法を説明する図である。
【図８】第１の実施形態における撮像軌跡の変動例を説明する図である。
【図９】第１の実施形態における軌跡補正処理の例を示すフローチャートである。
【図１０】第１の実施形態における動体領域の検出方法を説明する図である。
【図１１】第１の実施形態における撮像軌跡の適正化を説明する図である。
【図１２】第１の実施形態における撮像軌跡の適正化を説明する図である。
【図１３】第２の実施形態における軌跡補正部の構成例を示す図である。
【図１４】第２の実施形態における軌跡補正処理の例を示すフローチャートである。
【図１５】第２の実施形態における撮像軌跡補正の重み制御を説明する図である。
【図１６】本実施形態における画像処理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
【００１１】
（第１の実施形態）
本発明の第１の実施形態について説明する。図１は、第１の実施形態における画像処理装置１００の構成例を示すブロック図である。画像処理装置１００は、画像入力部１０１、画像メモリ１０２、軌跡推定部１０３、軌跡補正部１０４、及び画像生成部１０５を有する。画像入力部１０１は、複数のフレームからなる画像（撮影動画）が入力される。画像メモリ１０２は、画像入力部１０１により入力された画像を１フレーム又は複数のフレーム、一時的に記憶保持する。
【００１２】
軌跡推定部１０３は、画像入力部１０１により入力された画像と画像メモリ１０２に記憶保持された画像との異なるフレームの画像を使用して、撮影動画が撮影されたときのカメラの軌跡推定を行う。図２は、軌跡推定部１０３の構成例を示すブロック図である。軌跡推定部１０３は、図２に示すように、画像マッチング部２０１、変動量算出部２０２、及び変動量累積部２０３を有する。
【００１３】
画像マッチング部２０１は、現フレーム（フレーム番号ｎ）と次フレーム（フレーム番号ｎ＋１）のマッチング処理を行う。例えば、現フレーム（フレーム番号ｎ）の画像が画像メモリ１０２より入力され、次フレーム（フレーム番号ｎ＋１）の画像が画像入力部１０１より入力される。変動量算出部２０２は、画像マッチング部２０１によるマッチング処理の結果を用いて画像間の変動量を算出する。変動量累積部２０３は、変動量算出部２０２によって算出された画像間の変動量を累積し撮像軌跡を算出する。
【００１４】
軌跡補正部１０４は、軌跡推定部１０３により推定される撮像時の撮像軌跡に基づいて、画像間の変動量を低減するように補正処理を行い、安定化された撮像軌跡を算出する。図３は、軌跡補正部１０４の構成例を示すブロック図である。軌跡補正部１０４は、図３に示すように、動きベクトル検出部３０１、動体領域検出部３０２、動体位置算出部３０３、及び軌跡適正化部３０４を有する。
【００１５】
動きベクトル検出部３０１は、フレーム毎に画素単位で動きベクトルを検出する。動体領域検出部３０２は、動きベクトル検出部３０１で検出された動きベクトルを用いて、フレーム毎に動体領域を検出する。動体位置算出部３０３は、動体領域検出部３０２で検出された動体領域に基づいて、動体領域を示す座標を動体位置として算出する。軌跡適正化部３０４は、動体位置算出部３０３で算出されたフレーム毎の動体位置を利用して、軌跡推定部１０３によって推定された撮像軌跡の補正を行う。
【００１６】
画像生成部１０５は、軌跡補正部１０４によって補正された撮像軌跡に応じた画角領域に対応する画像を撮影動画から読み出し、撮影動画のＮ倍速での安定化された動画を生成する。
【００１７】
第１の実施形態における画像処理装置１００の動作について説明する。図４は、第１の実施形態における画像処理装置１００の動作例を示すフローチャートである。
【００１８】
ステップＳ４０１では、撮影された画像が、画像入力部１０１を介して画像処理装置１００に入力される。入力された画像は、画像メモリ１０２に記憶保持される。次に、ステップＳ４０２では、軌跡推定部１０３は、ステップＳ４０１において入力された画像と、画像メモリ１０２に記憶保持されている画像とを使用して、撮影動画が撮像されたときの撮像軌跡を推定する軌跡推定処理を行う。
【００１９】
続く、ステップＳ４０３では、軌跡補正部１０４は、ステップＳ４０２において推定された撮像軌跡を補正する軌跡補正処理を行う。軌跡補正部１０４は、推定された撮像時の撮像軌跡に対して１フレーム毎の変化が滑らかになるように処理を施すことで、補正された撮像軌跡を生成する。次に、ステップＳ４０４では、画像生成部１０５は、１フレーム毎にステップＳ４０３において補正された撮像軌跡に応じた画角領域の画像を撮影動画から読み出すことで、安定化された動画を生成する。
【００２０】
図４のステップＳ４０２での軌跡推定部１０３による軌跡推定処理について説明する。図５は、第１の実施形態における軌跡推定処理の例を示すフローチャートである。
【００２１】
ステップＳ５０１では、軌跡推定部１０３の画像マッチング部２０１は、図６に一例を示すように、図６（ａ）の現フレーム（フレーム番号ｎ）と図６（ｂ）の次フレーム（フレーム番号ｎ＋１）とでマッチング処理を行う。マッチング処理の結果の例を図６（ｃ）に示す。マッチング処理の手法は、２フレーム内の対応点を算出することができれば手法は問わない。例えば、ＳＩＦＴ（Scale Invariant Feature Transform）のように現フレームと次フレームとの特徴点をそれぞれ算出し、算出した特徴点の対応探索を行っても良い。また、例えばＫＬＴ（Kanade-Lucas-Tomasi feature tracker）追跡器のように現フレームで特徴点を算出し、算出した特徴点を続くフレームで追跡する特徴点追跡を行っても良い。
【００２２】
図６（ａ）において、丸で示された位置６０１、６０２、６０３は、現フレーム中にある特徴点の位置であり、図６（ｂ）において示されている位置６０４、６０５、６０６は、次フレーム中にある特徴点の位置である。マッチング処理の結果は、各特徴点の位置のうち対応する点を、図６（ｃ）の線６０７、６０８、６０９で示した。マッチング処理により、このように図６（ａ）の位置６０１は、図６（ｂ）の位置６０４といったように各特徴点の対応を算出する。特徴点の数は、図６においては３点の対応点のみしか表示していないが、特徴点の数は、これに限定されない。しかし、後に算出する基礎行列Ｆのパラメータの数が８個あるため、好ましくは８点以上の特徴点が有る方が精度よく算出可能である。また特徴点は、その特徴量やマッチングの精度が高い点のみを用いる方が、後のカメラ位置姿勢の算出精度が向上するため、マッチング時の相関値や特徴量がある閾値よりも高い対応点のみを用いるといった処理を行っても良い。
【００２３】
ステップＳ５０２では、軌跡推定部１０３の変動量算出部２０２は、ステップＳ５０１において行ったマッチング処理の結果を使用して、画像間のカメラ位置姿勢の変動量を算出する。ここでＳｔｒｕｃｔｕｒｅ  ｆｒｏｍ  Ｍｏｔｉｏｎを用いたカメラ位置姿勢の推定方法を、図７を用いて説明する。２フレーム間の対応点は２つの視点から見た三次元的な同一点であり、図７を用いると、２つの視点のカメラ中心はＣ１、Ｃ２であり、同一点は三次元座標点Ｘで表される。そして、カメラ中心Ｃ１、Ｃ２から見た三次元座標点Ｘがフレーム上に投影される対応点はｘ１、ｘ２で表される。
【００２４】
ここで、カメラ中心Ｃ１、Ｃ２でのカメラ行列Ｐ１、Ｐ２は、それぞれ以下の（式１）及び（式２）のように表せる。
【００２５】
【数１】
2020120362.tif 000003
【００２６】
ここで、原点を基準とした時の座標軸は、カメラ中心Ｃ１にあわせており、Ｉは単位行列であり、Ｋは内部キャリブレーション行列である。また、Ｒはカメラ中心Ｃ２の位置でのカメラの向きを表す回転変換行列であり、Ｔは三次元の平行移動ベクトルである。本実施形態では、カメラ中心Ｃ１、Ｃ２でのカメラは同じであるので、内部キャリブレーション行列Ｋは同じである。
【００２７】
ここで、カメラの相対的な位置関係ＲとＴ、カメラの特性Ｋ、三次元点の位置の結果として画像上の点ｘ１、ｘ２に幾何学的な制約が生じるために、前述のカメラ行列を用いると、三次元座標点Ｘを画像上の点ｘ１、ｘ２に射影する条件を導き出すことができる。この場合、以下の（式３）の方程式を満たす必要がある。
【００２８】
【数２】
2020120362.tif 000004
【００２９】
（式３）はエピポーラ制約といい、このエピポーラ制約中の行列Ｆを基礎行列という。この行列Ｆは、２つのカメラＣ１，Ｃ２間の回転及び平行移動量を表す式であり、（式３）は点ｘ１を点ｘ２に変換する式として表している。（式４）は行列Ｆを、カメラの相対的な位置関係ＲとＴ、カメラの特性Ｋ、Ｓｔで表した式である。Ｓｔは、三次元の平行移動ベクトルＴで表される交代行列である。
【００３０】
よってステップＳ５０１において求めた２フレーム間の対応点群を用いて、（式３）を解くと、この基礎行列Ｆが求められる。基礎行列Ｆを求める方法は、８組の対応点を用いた８点法、ＳＶＤ（特異値分解）を用いた最小二乗法等がある。そして、この基礎行列Ｆを求めた後に、（式４）を用いてカメラ行列を復元することで、２つのフレーム間での回転変換行列Ｒと平行移動ベクトルＴを求めることができる。
【００３１】
図８（ａ）は、算出した変動量のうち平行移動ベクトルＴの変動量を時系列（フレーム番号順）に並べたものである。図８（ａ）において、縦軸が画像の変動量、横軸がフレーム番号を示し、各フレームでのベクトルは矢印８０１で示している。画像変動量は、実際にはｘ、ｙ、ｚ方向の３方向の成分を持っているが、図８（ａ）では説明の便宜上、省略していずれか１成分のみを表しているものとする。
【００３２】
次に、ステップＳ５０３では、軌跡推定部１０３の変動量累積部２０３は、ステップＳ５０２において算出した変動量を時間方向に累積して撮像軌跡を算出する。変動量累積部２０３は、図８（ａ）のベクトルである矢印８０１を時間方向に累積することで、図８（ｂ）の撮像軌跡である折れ線８０２を算出する。
以上で、ステップＳ４０２における軌跡推定処理の説明を終える。
【００３３】
次に、図４のステップＳ４０３での軌跡補正部１０４による軌跡補正処理について説明する。図９は、第１の実施形態における軌跡補正処理の例を示すフローチャートである。
【００３４】
ステップＳ９０１では、軌跡補正部１０４の動きベクトル検出部３０１は、フレーム毎に画素単位で動きベクトルを検出する。画素単位で動きベクトルを検出する方法としては例えば勾配法がある。勾配法では、連続する２フレーム間での物体の移動量は微小であり、物体上の点の明るさは移動後も変化しないと仮定する。この仮定を基に、画像上の画素（ｘ，ｙ）の時刻ｔにおける画素値をＩ（ｘ，ｙ，ｔ）、時間Δｔ後にその画素が（Δｘ，Δｙ）だけ移動したとすると、以下の（式５）が成り立つ。
【００３５】
【数３】
2020120362.tif 000005
【００３６】
（式５）の右辺をテイラー展開すると（式６）が得られる。
【００３７】
【数４】
2020120362.tif 000006
【００３８】
ここで、（式６）において、εは、Δｘ，Δｙ，Δｔに関する高次の項である。εが十分小さいとして無視して、両辺をΔｔで割る。そして、Δｔ→０として極限をとることで、以下の（式７）が得られる。
【００３９】
【数５】
2020120362.tif 000007
【００４０】
ここで、（式７）だけでは、２つの未知数ｕ，ｖを一意に定めることができない。そのため、例えば、着目画素近傍の局所領域内では動きベクトルは等しいと仮定し、局所領域内で得られる複数の（式７）による拘束条件式を連立させることでｕ，ｖを求める。
【００４１】
なお、画素単位で動きベクトルを検出する方法としては、勾配法以外にも、例えば公知のテンプレートマッチング法を用いても良い。また、動きベクトルは、画像中のすべての画素を着目画素として全点に対して求めるようにしても良いし、一定間隔の画素に対してのみ求めるようにしても良い。
【００４２】
次に、ステップＳ９０２では、軌跡補正部１０４の動体領域検出部３０２は、ステップＳ９０１において検出された画素単位の動きベクトルを用いて、フレーム毎に動体領域を検出する。図１０を参照して、動体領域の検出方法について説明する。
【００４３】
まず、連続するフレーム１００１とフレーム１００２との２フレーム間で動きベクトルを算出することを考える。図１０（ａ）に示すように、フレーム１００１には静止被写体１００３と動被写体１００４が映っている。図１０（ｂ）のように、次のフレーム１００２では、静止被写体１００３はカメラの動きによって１００５に移動し、動被写体１００４はカメラの動きと動被写体の動きとによって１００６に移動する。
【００４４】
図１０（ｃ）は、フレーム１１０１と１１０２との間の動きベクトルを示している。この動きベクトルには、カメラの位置姿勢の変化による画面全体の動き１００７と、それに動体の動きを加えた１００８が混在しているが、この動きベクトル情報からだけでは両者を区別することができない。そこで、図５のステップＳ５０２において、カメラの位置姿勢の変化（変動量）が分かっていることを利用する。例えば、カメラ位置姿勢の回転Ｒと平行移動Ｔから、図１０（ｄ）に示すように、カメラの位置姿勢の変化だけによるフレーム間の各画素の移動量１００９が求められる。図１０（ｅ）は、図１０（ｃ）に示した動きベクトルから、図１０（ｄ）に示した各画素の移動量を除去した結果を示している。静止領域は零ベクトル１０１０、動体領域は非零ベクトル１０１１として検出されている。図１０（ｆ）は、非零ベクトルを持つ領域を示しており、この領域の集合が動体領域１０１２に相当する。
【００４５】
実際には、カメラの位置姿勢や画素単位の動きベクトルは誤差を含んで算出されるため、非動体領域であっても厳密に零とはならないことがある。しかし、カメラの位置姿勢及び画素単位の動きベクトルがおおよそ正確に算出できていれば、非動体領域は零に近いベクトル値を示す。そのため、ベクトル値がより大きい領域を動体領域として検出すれば良い。あるいは、判別分析法のような二値化手法を用いて、ベクトル値を零ベクトルと非零ベクトルとに二値化し、非零ベクトルを動体領域として検出しても良い。
【００４６】
なお、ステップＳ９０１の処理を行う直前に、ステップＳ５０２において算出されたカメラ位置姿勢の回転Ｒと平行移動Ｔを用いて、フレーム間でのカメラの位置姿勢の変化を打ち消すように画像を幾何学変換するようにしても良い。そして、その後のステップＳ９０１において、動きベクトル検出を実行するようにしても良い。この場合、フレーム間のカメラ位置姿勢の変化が無い状態で動きベクトル検出が行われるため、動体領域のみが非零のベクトル値を持つことになる。
【００４７】
続く、ステップＳ９０３では、軌跡補正部１０４の動体位置算出部３０３は、ステップＳ９０２において検出された動体領域に基づいて、動体領域を示す座標を動体位置として算出する。動体位置算出部３０３は、例えば図１０（ｇ）に示すように、動体領域１０１２に外接する矩形１０１３を求め、その重心１０１４を動体位置として算出する。動体位置は動体領域を示す点の座標であれば良いので、動体位置算出部３０３は、例えば動体領域を構成する画素の各座標の平均値を、動体位置として算出しても良い。前者の外接矩形の重心を求める方法は演算量が少なくて済む。一方、後者の各画素の座標の平均値を求める方法は、複雑な形状の動体に対しても動体位置を精度良く算出できる。
【００４８】
ステップＳ９０４では、動体位置算出部３０３は、動体の動き量の大きさを算出する。動体が存在していたとしても、その動き量が小さい場合には安定化する必要性が低いと考えられる。そのため、動体の動き量に応じて、後のステップＳ９０５で撮像軌跡を補正する際に、動体の位置変動の低減度合いを調整することが好ましい。動体の動き量としては、例えばステップＳ９０３において算出された動体位置における動きベクトルの絶対値を用いれば良い。あるいは、ステップＳ９０２において検出された動体領域を構成する各画素の動きベクトルの平均を求め、その絶対値を用いることもできる。
【００４９】
ステップＳ９０５では、軌跡補正部１０４の軌跡適正化部３０４は、ステップＳ４０２において推定された撮像時の撮像軌跡を、ステップＳ９０３において算出した動体位置を使用して補正し撮像軌跡の適正化を行う。撮像軌跡適正化の式は、例えば次の（式８）から（式１３）で表すことができる。
【００５０】
【数６】
2020120362.tif 000008
【００５１】
基準位置は、動体位置を固定したい点として画像上の任意の座標を設定すれば良い。例えば、画像の中心や最初に処理するフレームの動体位置を基準位置として設定する。
【００５２】
ここで、図１１を参照して、撮像軌跡の補正の効果について説明する。図１１（ａ）〜図１１（ｄ）に示したグラフは、縦軸が三次元上のカメラ位置姿勢の変動量、横軸がフレーム番号を表している。図１１（ａ）〜図１１（ｄ）に示す折れ線１１０１は、入力された撮像軌跡（撮像時の撮像軌跡）を示している。
【００５３】
（式８）は、補正後の撮像軌跡の長さを調整する式である。図１１（ｂ）に示す折れ線１１０２は、折れ線１１０１に対して補正後の撮像軌跡の長さが短くなるように調整している図である。
【００５４】
（式９）は、補正後のカメラ位置姿勢の１フレーム毎の変化が滑らかになるように調整する式である。図１１（ｃ）に示す曲線１１０３は、折れ線１１０２に対して補正後の撮像軌跡の１フレーム毎の変化が滑らかになるように調整している図である。
【００５５】
（式１０）は、入力カメラ位置姿勢と補正後のカメラ位置姿勢との差分を調整する式である。図１１（ｄ）に示す曲線１１０４は、曲線１１０３が入力撮像軌跡との差分が少なくなるように調整している図である。
【００５６】
（式１１）は、出力画像内の動体位置と基準位置の差分を調整する式であり、詳細は後述する。（式１２）は、（式１１）を変換した撮像軌跡を調整する式である。
【００５７】
（式１３）は、（式８）〜（式１０）と（式１２）の各項に対して、パラメータλ１〜λ４で重み付け加算したものであり、本実施形態では、これを撮像軌跡補正の式とする。そして、（式１３）に示される値Ｅを最小とするようにｐ（ｔ）とｆ（ｔ）について非線形の最小化問題を解くことで、補正された撮像軌跡を算出することができる。
【００５８】
（式１１）及び（式１２）について、図１２を参照して説明する。（式１１）は、二次元画像上での動体位置ｏｂｊ（ｔ）と基準位置ｃとの差分Ｄを最小化する式である。（式１２）は、（式１１）を三次元のカメラ位置姿勢の表現に変換した式である。（式１２）は、二次元画像上での差分Ｄが０となるような三次元空間上のカメラ位置姿勢をｐｃ（ｔ）として、カメラ位置姿勢ｐ（ｔ）がｐｃ（ｔ）に近づくように補正を行う。
【００５９】
図１２（ａ）は、三次元空間におけるシーン及びカメラ位置を示している。図１２（ａ）において、１２０１は入力のカメラ位置姿勢ｐinである。三次元空間中の動体座標１２０２を、各カメラ位置姿勢から撮像することで、二次元画像上の動体位置ｏｂｊ（ｔ）１２０３が得られる。
【００６０】
入力のカメラ位置姿勢１２０１を、動体位置ｏｂｊ（ｔ）を考慮せずに補正した補正後のカメラ位置姿勢ｐ（ｔ）を１２０４とする。カメラ位置姿勢１２０４からの出力画角を１２０５として、図１２（ｂ）にその様子を示す。ここで、出力画角１２０５の中央を基準位置ｃ１２０６として設定している。
【００６１】
カメラ位置姿勢ｐ（ｔ）は動体位置ｏｂｊ（ｔ）を考慮していないため、カメラ位置姿勢ｐ（ｔ）の出力画角１２０５では、動体位置１２０３と基準位置１２０６のずれが大きい。このように、動体位置を考慮せずに入力のカメラ位置姿勢を補正した場合、補正後のカメラ位置姿勢の出力画角において、動体位置１２０３は基準位置１２０６とは無関係に存在することになる。その結果、フレーム毎に動体位置が変動するため、動体位置が安定しない動画が生成されることになる。
【００６２】
入力のカメラ位置姿勢１２０１を、（式１２）に基づいて動体位置ｏｂｊ（ｔ）を考慮して補正した補正後のカメラ位置姿勢ｐ（ｔ）を１２０７とする。カメラ位置姿勢１２０７からの出力画角を１２０８として、図１２（ｃ）にその様子を示す。
【００６３】
カメラ位置姿勢ｐ（ｔ）は動体位置ｏｂｊ（ｔ）を考慮しているため、カメラ位置姿勢ｐ（ｔ）の出力画角１２０８では、動体位置１２０３と基準位置１２０６がほぼ重なっている。このように、動体位置を考慮して入力のカメラ位置姿勢を補正した場合、補正後のカメラ位置姿勢の出力画角において、動体位置１２０３は基準位置１２０６に近づくようになる。その結果、フレーム毎で動体位置が基準位置付近に固定されるため、動体位置が安定した動画が生成されることになる。
【００６４】
ここで、（式１３）は、パラメータλによって各項の重みを変更することが可能である。これらの重みづけは任意で指定することが可能である。例えば、パラメータλ２の値を大きくし、パラメータλ３の値を小さくすると、図１１（ｃ）に示した曲線１１０３のように入力された撮像軌跡から離れた撮像軌跡になっても１フレーム毎の変化を滑らかすることが優先される。また、ステップＳ９０４において算出された動体の動き量が大きくなるほど、動体の位置変動をより低減することが好ましい。そのため、動体の動き量が大きいほど、パラメータλ４の値を大きくするのが良い。
【００６５】
ステップＳ９０６では、軌跡補正部１０４は、処理フレームが最終フレームであるか否かの判定を行う。処理フレームが最終フレームであると軌跡補正部１０４が判定した場合（ＹＥＳ）、軌跡補正処理を終了し、図４に示すフローチャートに戻る。一方、処理フレームが最終フレームでないと軌跡補正部１０４が判定した場合、ステップＳ９０１へ進む。
【００６６】
以上説明したように、第１の実施形態によれば、動体位置を考慮してフレーム毎に動体位置が基準位置付近に固定されるように、推定された撮像時の撮像軌跡を補正する。そして、補正後の撮像軌跡に応じた画角領域に対応する画像を撮影動画から読み出すことで、撮影画角の変動を安定化させた動画を生成することができる。したがって、動体位置の変動を低減した安定化された動画の生成が可能となる。
【００６７】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第２の実施形態における画像処理装置及びそれが有する軌跡推定部は、第１の実施形態における画像処理装置１００及び軌跡推定部１０３と同様であるので、その説明は省略する。図１３は、第２の実施形態における軌跡補正部１０４の構成例を示すブロック図である。図１３において、図３に示した構成要素と同様の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【００６８】
第２の実施形態における軌跡補正部１０４は、動きベクトル検出部３０１、動体領域検出部３０２、動体位置算出部３０３、及び軌跡適正化部３０４に加え、動体サイズ算出部３０５及び距離情報取得部３０６を有する。なお、図１３においては、動体サイズ算出部３０５及び距離情報取得部３０６を有する構成を示しているが、動体サイズ算出部３０５又は距離情報取得部３０６を有するように構成しても良い。
【００６９】
第２の実施形態が第１の実施形態と異なるのは、撮像軌跡を補正する際に動体の大きさ及び距離情報の少なくとも一方をさらに考慮する点である。第１の実施形態では、フレーム間の動体位置の変動が低減するように撮像軌跡の補正を行う。これにより、動体の動きが注目されるシーンにおいては、動体の変動が低減することで安定化された動画が得られる。
【００７０】
ここで、動体の動きが注目されるシーンとしては、例えば、人が歩いているところを後ろから追いながら撮影するシーンや、歩きながら自分の顔を撮影するシーンが考えられる。これらのシーンでは、動体の大きさが大きいことや、動体の距離が近くて並進の移動量が相対的に大きくなることから、動体の動きが注目されやすくなる。しかしながら、これに当てはまらないシーンでは、たとえ動体の移動量が大きい場合でも、動体の動きが注目されにくく、動体の変動を低減する必要性は低い。そのため本実施形態では、シーンにおける動体の注目度合いを、動体の大きさ及び距離情報の少なくとも一方を用いて判断し、その結果を撮像軌跡の適正化に反映する。
【００７１】
第２の実施形態における軌跡補正部１０４による軌跡補正処理について説明する。図１４は、第２の実施形態における軌跡補正処理の例を示すフローチャートである。ステップＳ１４０１〜Ｓ１４０４の処理は、図９に示したステップＳ９０１〜Ｓ９０４での処理とそれぞれ同様であるので、説明は省略する。
【００７２】
ステップＳ１４０５では、軌跡補正部１０４の動体サイズ算出部３０５は、ステップＳ１４０２において検出された動体領域の大きさを算出する。動体領域の大きさとしては、例えば、動体領域を構成する画素の数や、動体領域に外接する矩形の面積を用いれば良い。
【００７３】
ステップＳ１４０６では、軌跡補正部１０４の距離情報取得部３０６は、撮像時におけるカメラと被写体との距離（動体距離）を取得する。例えば、動体距離として、位相差検出方式のオートフォーカス制御で算出できる測距情報を使用する。フォーカスを合わせている領域は撮影者が注目している領域であるので、その領域の距離が近く、そこに動体が存在するとすれば、動体の動きが注目されるシーンとして判断することができる。
【００７４】
ここで、ステップＳ１４０３〜Ｓ１４０６の処理を行う順番は任意であり、入れ替えても良い。
【００７５】
ステップＳ１４０７では、軌跡補正部１０４の撮像軌跡適正化部３０４は、ステップＳ４０２において推定された撮像時の撮像軌跡を補正し撮像軌跡の適正化を行う。第２の実施形態では、ステップＳ１４０３において算出した動体位置と、ステップＳ１４０５において算出した動体の大きさ及びステップＳ１４０６において取得した距離情報の少なくとも一方を使用し、撮像軌跡の補正を行う。撮像軌跡適正化の式は、第１の実施形態で示した（式８）から（式１３）と同じである。ここでは、動体の動きが注目されるシーンほど、（式１３）の重みλ４を大きくし、動体位置の変動が低減されるように制御する。
【００７６】
前述の通り、動体の動きが注目されるシーンでは、動体の大きさが大きいことや、動体の距離が近いことが考えられる。これを考慮し、図１５に重みλ４の制御の一例を示す。図１５（ａ）では、動体の大きさが大きくなるほど、重みλ４を大きくしている。また図１５（ｂ）では、動体の距離が遠くなるほど、重みλ４を小さくしている。なお、図１５では重みを線形に変化させる例を示しているが、重みは非線形に変化させても良い。
【００７７】
動体の大きさ及び距離情報によって決定される重みλ４を、それぞれλ４ａ、λ４ｂとする。最終的な重みλ４は、重みλ４ａと重みλ４ｂを合成して得られる。合成する方法としては、例えば両者を足し合わせれば良い。なお、動体の大きさと距離情報は両方用いた方が、動体の動きが注目されるシーンを的確に判断できるため好ましいが、いずれか一方の情報を用いるのでも良い。その場合、重みλ４ａ又は重みλ４ｂのいずれかを、最終的な重みλ４として採用すればよい。
【００７８】
第２の実施形態によれば、第１の実施形態と同様に、動体位置の変動を低減した安定化された動画の生成が可能となる。また、動体の大きさ及び距離情報の少なくとも一方に応じて決定した重みλ４を用いて撮像軌跡の適正化を行うことで、シーンに応じて適切に動体の変動を低減した安定化された動画を生成することが可能になる。
【００７９】
（本発明の他の実施形態）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８０】
図１６は、本実施形態における画像処理装置のハードウェア構成の一例を示すブロック図である。図１６に示すように、本実施形態における画像処理装置は、ＣＰＵ１６０１、ＲＡＭ１６０２、ＲＯＭ１６０３、入力部１６０４、出力部１６０５、記憶部１６０６、及び通信インターフェース（ＩＦ）１６０７を有する。ＣＰＵ１６０１、ＲＡＭ１６０２、ＲＯＭ１６０３、入力部１６０４、出力部１６０５、記憶部１６０６、及び通信ＩＦ１６０７は、システムバス１６０８を介して通信可能に接続される。
【００８１】
ＣＰＵ（Central Processing Unit）１６０１は、システムバス１６０８に接続された各部の制御を行う。ＲＡＭ（Random Access Memory）１６０２は、ＣＰＵ１６０１の主記憶装置として使用される。ＲＯＭ（Read Only Memory）１６０３は、装置の起動プログラム等を記憶する。ＣＰＵ１６０１が、記憶部１６０６からプログラムを読み出して実行することで、例えば軌跡推定部１０３、軌跡補正部１０４、及び画像生成部１０５等の機能が実現される。
【００８２】
入力部１６０４は、ユーザによる入力等を受け付けたり、画像データを入力したりする。出力部１６０５は、画像データやＣＰＵ１６０１における処理結果等を出力する。記憶部１６０６は、装置の動作や処理に係る制御プログラム等を記憶する不揮発性の記憶装置である。通信ＩＦ１６０７は、本装置と他の装置（中継器等）との情報通信を制御する。
【００８３】
前述のように構成された装置において、装置に電源が投入されると、ＣＰＵ１６０１は、ＲＯＭ１６０３に格納された起動プログラムに従って、記憶部１６０６から制御プログラム等をＲＡＭ１６０２に読み込む。ＣＰＵ１６０１は、ＲＡＭ１６０２に読み込んだ制御プログラム等に従い処理を実行することによって、画像処理装置の機能を実現する。つまり、画像処理装置のＣＰＵ１６０１が制御プログラム等に基づき処理を実行することによって、画像処理装置の機能構成及び動作が実現される。
【００８４】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８５】
１００：画像処理装置  １０１：画像入力部  １０２：画像メモリ  １０３：軌跡推定部  １０４：軌跡補正部  １０５：画像生成部  ２０１：画像マッチング部  ２０２：変動量算出部  ２０３：変動量累積部  ３０１：動きベクトル検出部  ３０２：動体領域検出部  ３０３：動体位置算出部  ３０４：軌跡適正化部  ３０５：動体サイズ算出部  ３０６：距離情報取得部
【図１】
2020120362.tif 000009
【図２】
2020120362.tif 000010
【図３】
2020120362.tif 000011
【図４】
2020120362.tif 000012
【図５】
2020120362.tif 000013
【図６】
2020120362.tif 000014
【図７】
2020120362.tif 000015
【図８】
2020120362.tif 000016
【図９】
2020120362.tif 000017
【図１０】
2020120362.tif 000018
【図１１】
2020120362.tif 000019
【図１２】
2020120362.tif 000020
【図１３】
2020120362.tif 000021
【図１４】
2020120362.tif 000022
【図１５】
2020120362.tif 000023
【図１６】
2020120362.tif 000024