(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-09
(45)【発行日】2022-12-19
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
H04N 5/232 20060101AFI20221212BHJP
H04N 5/262 20060101ALI20221212BHJP
【FI】
H04N5/232 480
H04N5/262 050
H04N5/262 080
H04N5/232 290
(21)【出願番号】P 2019012484
(22)【出願日】2019-01-28
【審査請求日】2022-01-25
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】成田 優
(72)【発明者】
【氏名】齊藤 光洋
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2015-079329(JP,A)
【文献】国際公開第2017/017808(WO,A1)
【文献】特開2016-103246(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/232
H04N 5/262
(57)【特許請求の範囲】
【請求項1】
第1の動画から撮像軌跡を推定する軌跡推定手段と、
推定された前記撮像軌跡を補正する軌跡補正手段と、
補正後の前記撮像軌跡に応じた第2の動画を前記第1の動画から生成する画像生成手段とを有し、
前記軌跡補正手段は、
前記第1の動画から動体領域を検出し、検出した動体領域から算出される、前記第2の動画の各フレームにおける動体位置の変動を低減させるように
、三次元空間上のカメラ位置姿勢を調整することで、前記撮像軌跡を補正することを特徴とする画像処理装置。
【請求項2】
前記軌跡補正手段は、前記第1の動画から検出される動きベクトル及び推定された前記撮像軌跡に基づいて、前記動体領域を検出することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記軌跡補正手段は、前記撮像軌跡に基づいて算出される変動量を前記第1の動画から検出される動きベクトルから除去した動きベクトルに基づいて、前記動体領域を検出することを特徴とする請求項2記載の画像処理装置。
【請求項4】
前記軌跡補正手段は、さらに動体領域の大きさ及び動体との距離の少なくとも一方に応じて前記撮像軌跡を補正することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記軌跡補正手段は、検出した前記動体領域に外接する矩形の重心を前記動体位置として算出することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記軌跡補正手段は、検出した前記動体領域を構成する画素の各座標の平均値を前記動体位置として算出することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項7】
前記軌跡補正手段は、二次元画像上で前記動体位置が基準位置に近づくよう
、前記撮像軌跡を補正することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
第1の動画から撮像軌跡を推定する軌跡推定工程と、
推定された前記撮像軌跡を補正する軌跡補正工程と、
補正後の前記撮像軌跡に応じた第2の動画を前記第1の動画から生成する画像生成工程とを有し、
前記軌跡補正工程では、
前記第1の動画から動体領域を検出し、検出した動体領域から算出される、前記第2の動画の各フレームにおける動体位置の変動を低減させるように
、三次元空間上のカメラ位置姿勢を調整することで、前記撮像軌跡を補正することを特徴とする画像処理方法。
【請求項9】
コンピュータを請求項1乃至7のいずれか1項に記載の画像処理装置の各手段として機能させるプログラム。
【請求項10】
請求項9記載のプログラムを記録したコンピュータ読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
手振れ等による撮影画角の変動を電子的に安定化させる技術として、撮影動画から撮像軌跡を推定して、推定された撮像軌跡の軌跡変動が低減するように補正し、撮影動画を基に補正後の撮像軌跡に対応した動画を生成する技術が提案されている。例えば、特許文献1には、撮影動画のフレーム間の被写体の移動量が一定となるようにフレームを間引くもしくは補間する処理を行うことで、軌跡変動を低減する技術が提案されている。また、特許文献2には、フレーム間の特定被写体の移動量が所望の移動量となるように撮影間隔を制御することで、軌跡変動を低減する技術が提案されている。また最近では、撮影画角の変動を安定化させた動画を撮影動画のN倍速い速度で再生するように生成することで、アクションカムで撮影された長時間動画を短時間のダイジェスト動画にして楽しむ、と言ったことも行われている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-60258号公報
【文献】特開2011-66873号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の技術では、動画の安定化のために、撮像装置の動きによる画面全体の動きを考慮しているが、動体の位置変動を考慮していない。その結果、動体の動きが安定化されず、フレーム毎に動体が不規則な位置に現れてしまう。特に、通常のデジタルカメラで撮影された長時間動画から短時間のダイジェストの動画を生成する場合には、動体の動きが安定化されていないと、フレームが間引かれることによって動体の動きが不規則かつ不連続になる。そのため、画面全体の動きが安定化されていたとしても、画面内で動体がちらついて見え、見苦しい映像になってしまう。
【0005】
また、特許文献2に記載の技術では、動体の位置変動を考慮しているものの、撮影間隔を制御することのみにとどまり、画像上の動体位置そのものを制御するものではない。そのため、動体が所望の位置を通過して移動する場合を除いて、動体の動きの安定化を実現することができない。
【0006】
本発明は、このような事情に鑑みてなされたものであり、撮影動画から安定化されたN倍速の動画を生成する場合に、動体の位置変動を考慮して動画を安定化させることが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る画像処理装置は、第1の動画から撮像軌跡を推定する軌跡推定手段と、推定された前記撮像軌跡を補正する軌跡補正手段と、補正後の前記撮像軌跡に応じた第2の動画を前記第1の動画から生成する画像生成手段とを有し、前記軌跡補正手段は、前記第1の動画から動体領域を検出し、検出した動体領域から算出される、前記第2の動画の各フレームにおける動体位置の変動を低減させるように、三次元空間上のカメラ位置姿勢を調整することで、前記撮像軌跡を補正することを特徴とする。
【発明の効果】
【0008】
本発明によれば、撮影動画から安定化されたN倍速の動画を生成する場合に、動体の位置変動による見苦しさが低減された安定化された動画を生成することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施形態における画像処理装置の構成例を示す図である。
【
図2】第1の実施形態における軌跡推定部の構成例を示す図である。
【
図3】第1の実施形態における軌跡補正部の構成例を示す図である。
【
図4】第1の実施形態における画像処理装置の動作例を示すフローチャートである。
【
図5】第1の実施形態における軌跡推定処理の例を示すフローチャートである。
【
図6】第1の実施形態におけるマッチング処理を説明する図である。
【
図7】第1の実施形態におけるカメラ位置姿勢の推定方法を説明する図である。
【
図8】第1の実施形態における撮像軌跡の変動例を説明する図である。
【
図9】第1の実施形態における軌跡補正処理の例を示すフローチャートである。
【
図10】第1の実施形態における動体領域の検出方法を説明する図である。
【
図11】第1の実施形態における撮像軌跡の適正化を説明する図である。
【
図12】第1の実施形態における撮像軌跡の適正化を説明する図である。
【
図13】第2の実施形態における軌跡補正部の構成例を示す図である。
【
図14】第2の実施形態における軌跡補正処理の例を示すフローチャートである。
【
図15】第2の実施形態における撮像軌跡補正の重み制御を説明する図である。
【
図16】本実施形態における画像処理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面に基づいて説明する。
【0011】
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、第1の実施形態における画像処理装置100の構成例を示すブロック図である。画像処理装置100は、画像入力部101、画像メモリ102、軌跡推定部103、軌跡補正部104、及び画像生成部105を有する。画像入力部101は、複数のフレームからなる画像(撮影動画)が入力される。画像メモリ102は、画像入力部101により入力された画像を1フレーム又は複数のフレーム、一時的に記憶保持する。
【0012】
軌跡推定部103は、画像入力部101により入力された画像と画像メモリ102に記憶保持された画像との異なるフレームの画像を使用して、撮影動画が撮影されたときのカメラの軌跡推定を行う。
図2は、軌跡推定部103の構成例を示すブロック図である。軌跡推定部103は、
図2に示すように、画像マッチング部201、変動量算出部202、及び変動量累積部203を有する。
【0013】
画像マッチング部201は、現フレーム(フレーム番号n)と次フレーム(フレーム番号n+1)のマッチング処理を行う。例えば、現フレーム(フレーム番号n)の画像が画像メモリ102より入力され、次フレーム(フレーム番号n+1)の画像が画像入力部101より入力される。変動量算出部202は、画像マッチング部201によるマッチング処理の結果を用いて画像間の変動量を算出する。変動量累積部203は、変動量算出部202によって算出された画像間の変動量を累積し撮像軌跡を算出する。
【0014】
軌跡補正部104は、軌跡推定部103により推定される撮像時の撮像軌跡に基づいて、画像間の変動量を低減するように補正処理を行い、安定化された撮像軌跡を算出する。
図3は、軌跡補正部104の構成例を示すブロック図である。軌跡補正部104は、
図3に示すように、動きベクトル検出部301、動体領域検出部302、動体位置算出部303、及び軌跡適正化部304を有する。
【0015】
動きベクトル検出部301は、フレーム毎に画素単位で動きベクトルを検出する。動体領域検出部302は、動きベクトル検出部301で検出された動きベクトルを用いて、フレーム毎に動体領域を検出する。動体位置算出部303は、動体領域検出部302で検出された動体領域に基づいて、動体領域を示す座標を動体位置として算出する。軌跡適正化部304は、動体位置算出部303で算出されたフレーム毎の動体位置を利用して、軌跡推定部103によって推定された撮像軌跡の補正を行う。
【0016】
画像生成部105は、軌跡補正部104によって補正された撮像軌跡に応じた画角領域に対応する画像を撮影動画から読み出し、撮影動画のN倍速での安定化された動画を生成する。
【0017】
第1の実施形態における画像処理装置100の動作について説明する。
図4は、第1の実施形態における画像処理装置100の動作例を示すフローチャートである。
【0018】
ステップS401では、撮影された画像が、画像入力部101を介して画像処理装置100に入力される。入力された画像は、画像メモリ102に記憶保持される。次に、ステップS402では、軌跡推定部103は、ステップS401において入力された画像と、画像メモリ102に記憶保持されている画像とを使用して、撮影動画が撮像されたときの撮像軌跡を推定する軌跡推定処理を行う。
【0019】
続く、ステップS403では、軌跡補正部104は、ステップS402において推定された撮像軌跡を補正する軌跡補正処理を行う。軌跡補正部104は、推定された撮像時の撮像軌跡に対して1フレーム毎の変化が滑らかになるように処理を施すことで、補正された撮像軌跡を生成する。次に、ステップS404では、画像生成部105は、1フレーム毎にステップS403において補正された撮像軌跡に応じた画角領域の画像を撮影動画から読み出すことで、安定化された動画を生成する。
【0020】
図4のステップS402での軌跡推定部103による軌跡推定処理について説明する。
図5は、第1の実施形態における軌跡推定処理の例を示すフローチャートである。
【0021】
ステップS501では、軌跡推定部103の画像マッチング部201は、
図6に一例を示すように、
図6(a)の現フレーム(フレーム番号n)と
図6(b)の次フレーム(フレーム番号n+1)とでマッチング処理を行う。マッチング処理の結果の例を
図6(c)に示す。マッチング処理の手法は、2フレーム内の対応点を算出することができれば手法は問わない。例えば、SIFT(Scale Invariant Feature Transform)のように現フレームと次フレームとの特徴点をそれぞれ算出し、算出した特徴点の対応探索を行っても良い。また、例えばKLT(Kanade-Lucas-Tomasi feature tracker)追跡器のように現フレームで特徴点を算出し、算出した特徴点を続くフレームで追跡する特徴点追跡を行っても良い。
【0022】
図6(a)において、丸で示された位置601、602、603は、現フレーム中にある特徴点の位置であり、
図6(b)において示されている位置604、605、606は、次フレーム中にある特徴点の位置である。マッチング処理の結果は、各特徴点の位置のうち対応する点を、
図6(c)の線607、608、609で示した。マッチング処理により、このように
図6(a)の位置601は、
図6(b)の位置604といったように各特徴点の対応を算出する。特徴点の数は、
図6においては3点の対応点のみしか表示していないが、特徴点の数は、これに限定されない。しかし、後に算出する基礎行列Fのパラメータの数が8個あるため、好ましくは8点以上の特徴点が有る方が精度よく算出可能である。また特徴点は、その特徴量やマッチングの精度が高い点のみを用いる方が、後のカメラ位置姿勢の算出精度が向上するため、マッチング時の相関値や特徴量がある閾値よりも高い対応点のみを用いるといった処理を行っても良い。
【0023】
ステップS502では、軌跡推定部103の変動量算出部202は、ステップS501において行ったマッチング処理の結果を使用して、画像間のカメラ位置姿勢の変動量を算出する。ここでStructure from Motionを用いたカメラ位置姿勢の推定方法を、
図7を用いて説明する。2フレーム間の対応点は2つの視点から見た三次元的な同一点であり、
図7を用いると、2つの視点のカメラ中心はC1、C2であり、同一点は三次元座標点Xで表される。そして、カメラ中心C1、C2から見た三次元座標点Xがフレーム上に投影される対応点はx1、x2で表される。
【0024】
ここで、カメラ中心C1、C2でのカメラ行列P1、P2は、それぞれ以下の(式1)及び(式2)のように表せる。
【0025】
【0026】
ここで、原点を基準とした時の座標軸は、カメラ中心C1にあわせており、Iは単位行列であり、Kは内部キャリブレーション行列である。また、Rはカメラ中心C2の位置でのカメラの向きを表す回転変換行列であり、Tは三次元の平行移動ベクトルである。本実施形態では、カメラ中心C1、C2でのカメラは同じであるので、内部キャリブレーション行列Kは同じである。
【0027】
ここで、カメラの相対的な位置関係RとT、カメラの特性K、三次元点の位置の結果として画像上の点x1、x2に幾何学的な制約が生じるために、前述のカメラ行列を用いると、三次元座標点Xを画像上の点x1、x2に射影する条件を導き出すことができる。この場合、以下の(式3)の方程式を満たす必要がある。
【0028】
【0029】
(式3)はエピポーラ制約といい、このエピポーラ制約中の行列Fを基礎行列という。この行列Fは、2つのカメラC1,C2間の回転及び平行移動量を表す式であり、(式3)は点x1を点x2に変換する式として表している。(式4)は行列Fを、カメラの相対的な位置関係RとT、カメラの特性K、Stで表した式である。Stは、三次元の平行移動ベクトルTで表される交代行列である。
【0030】
よってステップS501において求めた2フレーム間の対応点群を用いて、(式3)を解くと、この基礎行列Fが求められる。基礎行列Fを求める方法は、8組の対応点を用いた8点法、SVD(特異値分解)を用いた最小二乗法等がある。そして、この基礎行列Fを求めた後に、(式4)を用いてカメラ行列を復元することで、2つのフレーム間での回転変換行列Rと平行移動ベクトルTを求めることができる。
【0031】
図8(a)は、算出した変動量のうち平行移動ベクトルTの変動量を時系列(フレーム番号順)に並べたものである。
図8(a)において、縦軸が画像の変動量、横軸がフレーム番号を示し、各フレームでのベクトルは矢印801で示している。画像変動量は、実際にはx、y、z方向の3方向の成分を持っているが、
図8(a)では説明の便宜上、省略していずれか1成分のみを表しているものとする。
【0032】
次に、ステップS503では、軌跡推定部103の変動量累積部203は、ステップS502において算出した変動量を時間方向に累積して撮像軌跡を算出する。変動量累積部203は、
図8(a)のベクトルである矢印801を時間方向に累積することで、
図8(b)の撮像軌跡である折れ線802を算出する。
以上で、ステップS402における軌跡推定処理の説明を終える。
【0033】
次に、
図4のステップS403での軌跡補正部104による軌跡補正処理について説明する。
図9は、第1の実施形態における軌跡補正処理の例を示すフローチャートである。
【0034】
ステップS901では、軌跡補正部104の動きベクトル検出部301は、フレーム毎に画素単位で動きベクトルを検出する。画素単位で動きベクトルを検出する方法としては例えば勾配法がある。勾配法では、連続する2フレーム間での物体の移動量は微小であり、物体上の点の明るさは移動後も変化しないと仮定する。この仮定を基に、画像上の画素(x,y)の時刻tにおける画素値をI(x,y,t)、時間Δt後にその画素が(Δx,Δy)だけ移動したとすると、以下の(式5)が成り立つ。
【0035】
【0036】
(式5)の右辺をテイラー展開すると(式6)が得られる。
【0037】
【0038】
ここで、(式6)において、εは、Δx,Δy,Δtに関する高次の項である。εが十分小さいとして無視して、両辺をΔtで割る。そして、Δt→0として極限をとることで、以下の(式7)が得られる。
【0039】
【0040】
ここで、(式7)だけでは、2つの未知数u,vを一意に定めることができない。そのため、例えば、着目画素近傍の局所領域内では動きベクトルは等しいと仮定し、局所領域内で得られる複数の(式7)による拘束条件式を連立させることでu,vを求める。
【0041】
なお、画素単位で動きベクトルを検出する方法としては、勾配法以外にも、例えば公知のテンプレートマッチング法を用いても良い。また、動きベクトルは、画像中のすべての画素を着目画素として全点に対して求めるようにしても良いし、一定間隔の画素に対してのみ求めるようにしても良い。
【0042】
次に、ステップS902では、軌跡補正部104の動体領域検出部302は、ステップS901において検出された画素単位の動きベクトルを用いて、フレーム毎に動体領域を検出する。
図10を参照して、動体領域の検出方法について説明する。
【0043】
まず、連続するフレーム1001とフレーム1002との2フレーム間で動きベクトルを算出することを考える。
図10(a)に示すように、フレーム1001には静止被写体1003と動被写体1004が映っている。
図10(b)のように、次のフレーム1002では、静止被写体1003はカメラの動きによって1005に移動し、動被写体1004はカメラの動きと動被写体の動きとによって1006に移動する。
【0044】
図10(c)は、フレーム1101と1102との間の動きベクトルを示している。この動きベクトルには、カメラの位置姿勢の変化による画面全体の動き1007と、それに動体の動きを加えた1008が混在しているが、この動きベクトル情報からだけでは両者を区別することができない。そこで、
図5のステップS502において、カメラの位置姿勢の変化(変動量)が分かっていることを利用する。例えば、カメラ位置姿勢の回転Rと平行移動Tから、
図10(d)に示すように、カメラの位置姿勢の変化だけによるフレーム間の各画素の移動量1009が求められる。
図10(e)は、
図10(c)に示した動きベクトルから、
図10(d)に示した各画素の移動量を除去した結果を示している。静止領域は零ベクトル1010、動体領域は非零ベクトル1011として検出されている。
図10(f)は、非零ベクトルを持つ領域を示しており、この領域の集合が動体領域1012に相当する。
【0045】
実際には、カメラの位置姿勢や画素単位の動きベクトルは誤差を含んで算出されるため、非動体領域であっても厳密に零とはならないことがある。しかし、カメラの位置姿勢及び画素単位の動きベクトルがおおよそ正確に算出できていれば、非動体領域は零に近いベクトル値を示す。そのため、ベクトル値がより大きい領域を動体領域として検出すれば良い。あるいは、判別分析法のような二値化手法を用いて、ベクトル値を零ベクトルと非零ベクトルとに二値化し、非零ベクトルを動体領域として検出しても良い。
【0046】
なお、ステップS901の処理を行う直前に、ステップS502において算出されたカメラ位置姿勢の回転Rと平行移動Tを用いて、フレーム間でのカメラの位置姿勢の変化を打ち消すように画像を幾何学変換するようにしても良い。そして、その後のステップS901において、動きベクトル検出を実行するようにしても良い。この場合、フレーム間のカメラ位置姿勢の変化が無い状態で動きベクトル検出が行われるため、動体領域のみが非零のベクトル値を持つことになる。
【0047】
続く、ステップS903では、軌跡補正部104の動体位置算出部303は、ステップS902において検出された動体領域に基づいて、動体領域を示す座標を動体位置として算出する。動体位置算出部303は、例えば
図10(g)に示すように、動体領域1012に外接する矩形1013を求め、その重心1014を動体位置として算出する。動体位置は動体領域を示す点の座標であれば良いので、動体位置算出部303は、例えば動体領域を構成する画素の各座標の平均値を、動体位置として算出しても良い。前者の外接矩形の重心を求める方法は演算量が少なくて済む。一方、後者の各画素の座標の平均値を求める方法は、複雑な形状の動体に対しても動体位置を精度良く算出できる。
【0048】
ステップS904では、動体位置算出部303は、動体の動き量の大きさを算出する。動体が存在していたとしても、その動き量が小さい場合には安定化する必要性が低いと考えられる。そのため、動体の動き量に応じて、後のステップS905で撮像軌跡を補正する際に、動体の位置変動の低減度合いを調整することが好ましい。動体の動き量としては、例えばステップS903において算出された動体位置における動きベクトルの絶対値を用いれば良い。あるいは、ステップS902において検出された動体領域を構成する各画素の動きベクトルの平均を求め、その絶対値を用いることもできる。
【0049】
ステップS905では、軌跡補正部104の軌跡適正化部304は、ステップS402において推定された撮像時の撮像軌跡を、ステップS903において算出した動体位置を使用して補正し撮像軌跡の適正化を行う。撮像軌跡適正化の式は、例えば次の(式8)から(式13)で表すことができる。
【0050】
【0051】
基準位置は、動体位置を固定したい点として画像上の任意の座標を設定すれば良い。例えば、画像の中心や最初に処理するフレームの動体位置を基準位置として設定する。
【0052】
ここで、
図11を参照して、撮像軌跡の補正の効果について説明する。
図11(a)~
図11(d)に示したグラフは、縦軸が三次元上のカメラ位置姿勢の変動量、横軸がフレーム番号を表している。
図11(a)~
図11(d)に示す折れ線1101は、入力された撮像軌跡(撮像時の撮像軌跡)を示している。
【0053】
(式8)は、補正後の撮像軌跡の長さを調整する式である。
図11(b)に示す折れ線1102は、折れ線1101に対して補正後の撮像軌跡の長さが短くなるように調整している図である。
【0054】
(式9)は、補正後のカメラ位置姿勢の1フレーム毎の変化が滑らかになるように調整する式である。
図11(c)に示す曲線1103は、折れ線1102に対して補正後の撮像軌跡の1フレーム毎の変化が滑らかになるように調整している図である。
【0055】
(式10)は、入力カメラ位置姿勢と補正後のカメラ位置姿勢との差分を調整する式である。
図11(d)に示す曲線1104は、曲線1103が入力撮像軌跡との差分が少なくなるように調整している図である。
【0056】
(式11)は、出力画像内の動体位置と基準位置の差分を調整する式であり、詳細は後述する。(式12)は、(式11)を変換した撮像軌跡を調整する式である。
【0057】
(式13)は、(式8)~(式10)と(式12)の各項に対して、パラメータλ1~λ4で重み付け加算したものであり、本実施形態では、これを撮像軌跡補正の式とする。そして、(式13)に示される値Eを最小とするようにp(t)とf(t)について非線形の最小化問題を解くことで、補正された撮像軌跡を算出することができる。
【0058】
(式11)及び(式12)について、
図12を参照して説明する。(式11)は、二次元画像上での動体位置obj(t)と基準位置cとの差分Dを最小化する式である。(式12)は、(式11)を三次元のカメラ位置姿勢の表現に変換した式である。(式12)は、二次元画像上での差分Dが0となるような三次元空間上のカメラ位置姿勢をpc(t)として、カメラ位置姿勢p(t)がpc(t)に近づくように補正を行う。
【0059】
図12(a)は、三次元空間におけるシーン及びカメラ位置を示している。
図12(a)において、1201は入力のカメラ位置姿勢p
inである。三次元空間中の動体座標1202を、各カメラ位置姿勢から撮像することで、二次元画像上の動体位置obj(t)1203が得られる。
【0060】
入力のカメラ位置姿勢1201を、動体位置obj(t)を考慮せずに補正した補正後のカメラ位置姿勢p(t)を1204とする。カメラ位置姿勢1204からの出力画角を1205として、
図12(b)にその様子を示す。ここで、出力画角1205の中央を基準位置c1206として設定している。
【0061】
カメラ位置姿勢p(t)は動体位置obj(t)を考慮していないため、カメラ位置姿勢p(t)の出力画角1205では、動体位置1203と基準位置1206のずれが大きい。このように、動体位置を考慮せずに入力のカメラ位置姿勢を補正した場合、補正後のカメラ位置姿勢の出力画角において、動体位置1203は基準位置1206とは無関係に存在することになる。その結果、フレーム毎に動体位置が変動するため、動体位置が安定しない動画が生成されることになる。
【0062】
入力のカメラ位置姿勢1201を、(式12)に基づいて動体位置obj(t)を考慮して補正した補正後のカメラ位置姿勢p(t)を1207とする。カメラ位置姿勢1207からの出力画角を1208として、
図12(c)にその様子を示す。
【0063】
カメラ位置姿勢p(t)は動体位置obj(t)を考慮しているため、カメラ位置姿勢p(t)の出力画角1208では、動体位置1203と基準位置1206がほぼ重なっている。このように、動体位置を考慮して入力のカメラ位置姿勢を補正した場合、補正後のカメラ位置姿勢の出力画角において、動体位置1203は基準位置1206に近づくようになる。その結果、フレーム毎で動体位置が基準位置付近に固定されるため、動体位置が安定した動画が生成されることになる。
【0064】
ここで、(式13)は、パラメータλによって各項の重みを変更することが可能である。これらの重みづけは任意で指定することが可能である。例えば、パラメータλ2の値を大きくし、パラメータλ3の値を小さくすると、
図11(c)に示した曲線1103のように入力された撮像軌跡から離れた撮像軌跡になっても1フレーム毎の変化を滑らかすることが優先される。また、ステップS904において算出された動体の動き量が大きくなるほど、動体の位置変動をより低減することが好ましい。そのため、動体の動き量が大きいほど、パラメータλ4の値を大きくするのが良い。
【0065】
ステップS906では、軌跡補正部104は、処理フレームが最終フレームであるか否かの判定を行う。処理フレームが最終フレームであると軌跡補正部104が判定した場合(YES)、軌跡補正処理を終了し、
図4に示すフローチャートに戻る。一方、処理フレームが最終フレームでないと軌跡補正部104が判定した場合、ステップS901へ進む。
【0066】
以上説明したように、第1の実施形態によれば、動体位置を考慮してフレーム毎に動体位置が基準位置付近に固定されるように、推定された撮像時の撮像軌跡を補正する。そして、補正後の撮像軌跡に応じた画角領域に対応する画像を撮影動画から読み出すことで、撮影画角の変動を安定化させた動画を生成することができる。したがって、動体位置の変動を低減した安定化された動画の生成が可能となる。
【0067】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態における画像処理装置及びそれが有する軌跡推定部は、第1の実施形態における画像処理装置100及び軌跡推定部103と同様であるので、その説明は省略する。
図13は、第2の実施形態における軌跡補正部104の構成例を示すブロック図である。
図13において、
図3に示した構成要素と同様の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0068】
第2の実施形態における軌跡補正部104は、動きベクトル検出部301、動体領域検出部302、動体位置算出部303、及び軌跡適正化部304に加え、動体サイズ算出部305及び距離情報取得部306を有する。なお、
図13においては、動体サイズ算出部305及び距離情報取得部306を有する構成を示しているが、動体サイズ算出部305又は距離情報取得部306を有するように構成しても良い。
【0069】
第2の実施形態が第1の実施形態と異なるのは、撮像軌跡を補正する際に動体の大きさ及び距離情報の少なくとも一方をさらに考慮する点である。第1の実施形態では、フレーム間の動体位置の変動が低減するように撮像軌跡の補正を行う。これにより、動体の動きが注目されるシーンにおいては、動体の変動が低減することで安定化された動画が得られる。
【0070】
ここで、動体の動きが注目されるシーンとしては、例えば、人が歩いているところを後ろから追いながら撮影するシーンや、歩きながら自分の顔を撮影するシーンが考えられる。これらのシーンでは、動体の大きさが大きいことや、動体の距離が近くて並進の移動量が相対的に大きくなることから、動体の動きが注目されやすくなる。しかしながら、これに当てはまらないシーンでは、たとえ動体の移動量が大きい場合でも、動体の動きが注目されにくく、動体の変動を低減する必要性は低い。そのため本実施形態では、シーンにおける動体の注目度合いを、動体の大きさ及び距離情報の少なくとも一方を用いて判断し、その結果を撮像軌跡の適正化に反映する。
【0071】
第2の実施形態における軌跡補正部104による軌跡補正処理について説明する。
図14は、第2の実施形態における軌跡補正処理の例を示すフローチャートである。ステップS1401~S1404の処理は、
図9に示したステップS901~S904での処理とそれぞれ同様であるので、説明は省略する。
【0072】
ステップS1405では、軌跡補正部104の動体サイズ算出部305は、ステップS1402において検出された動体領域の大きさを算出する。動体領域の大きさとしては、例えば、動体領域を構成する画素の数や、動体領域に外接する矩形の面積を用いれば良い。
【0073】
ステップS1406では、軌跡補正部104の距離情報取得部306は、撮像時におけるカメラと被写体との距離(動体距離)を取得する。例えば、動体距離として、位相差検出方式のオートフォーカス制御で算出できる測距情報を使用する。フォーカスを合わせている領域は撮影者が注目している領域であるので、その領域の距離が近く、そこに動体が存在するとすれば、動体の動きが注目されるシーンとして判断することができる。
【0074】
ここで、ステップS1403~S1406の処理を行う順番は任意であり、入れ替えても良い。
【0075】
ステップS1407では、軌跡補正部104の撮像軌跡適正化部304は、ステップS402において推定された撮像時の撮像軌跡を補正し撮像軌跡の適正化を行う。第2の実施形態では、ステップS1403において算出した動体位置と、ステップS1405において算出した動体の大きさ及びステップS1406において取得した距離情報の少なくとも一方を使用し、撮像軌跡の補正を行う。撮像軌跡適正化の式は、第1の実施形態で示した(式8)から(式13)と同じである。ここでは、動体の動きが注目されるシーンほど、(式13)の重みλ4を大きくし、動体位置の変動が低減されるように制御する。
【0076】
前述の通り、動体の動きが注目されるシーンでは、動体の大きさが大きいことや、動体の距離が近いことが考えられる。これを考慮し、
図15に重みλ4の制御の一例を示す。
図15(a)では、動体の大きさが大きくなるほど、重みλ4を大きくしている。また
図15(b)では、動体の距離が遠くなるほど、重みλ4を小さくしている。なお、
図15では重みを線形に変化させる例を示しているが、重みは非線形に変化させても良い。
【0077】
動体の大きさ及び距離情報によって決定される重みλ4を、それぞれλ4a、λ4bとする。最終的な重みλ4は、重みλ4aと重みλ4bを合成して得られる。合成する方法としては、例えば両者を足し合わせれば良い。なお、動体の大きさと距離情報は両方用いた方が、動体の動きが注目されるシーンを的確に判断できるため好ましいが、いずれか一方の情報を用いるのでも良い。その場合、重みλ4a又は重みλ4bのいずれかを、最終的な重みλ4として採用すればよい。
【0078】
第2の実施形態によれば、第1の実施形態と同様に、動体位置の変動を低減した安定化された動画の生成が可能となる。また、動体の大きさ及び距離情報の少なくとも一方に応じて決定した重みλ4を用いて撮像軌跡の適正化を行うことで、シーンに応じて適切に動体の変動を低減した安定化された動画を生成することが可能になる。
【0079】
(本発明の他の実施形態)
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0080】
図16は、本実施形態における画像処理装置のハードウェア構成の一例を示すブロック図である。
図16に示すように、本実施形態における画像処理装置は、CPU1601、RAM1602、ROM1603、入力部1604、出力部1605、記憶部1606、及び通信インターフェース(IF)1607を有する。CPU1601、RAM1602、ROM1603、入力部1604、出力部1605、記憶部1606、及び通信IF1607は、システムバス1608を介して通信可能に接続される。
【0081】
CPU(Central Processing Unit)1601は、システムバス1608に接続された各部の制御を行う。RAM(Random Access Memory)1602は、CPU1601の主記憶装置として使用される。ROM(Read Only Memory)1603は、装置の起動プログラム等を記憶する。CPU1601が、記憶部1606からプログラムを読み出して実行することで、例えば軌跡推定部103、軌跡補正部104、及び画像生成部105等の機能が実現される。
【0082】
入力部1604は、ユーザによる入力等を受け付けたり、画像データを入力したりする。出力部1605は、画像データやCPU1601における処理結果等を出力する。記憶部1606は、装置の動作や処理に係る制御プログラム等を記憶する不揮発性の記憶装置である。通信IF1607は、本装置と他の装置(中継器等)との情報通信を制御する。
【0083】
前述のように構成された装置において、装置に電源が投入されると、CPU1601は、ROM1603に格納された起動プログラムに従って、記憶部1606から制御プログラム等をRAM1602に読み込む。CPU1601は、RAM1602に読み込んだ制御プログラム等に従い処理を実行することによって、画像処理装置の機能を実現する。つまり、画像処理装置のCPU1601が制御プログラム等に基づき処理を実行することによって、画像処理装置の機能構成及び動作が実現される。
【0084】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0085】
100:画像処理装置 101:画像入力部 102:画像メモリ 103:軌跡推定部 104:軌跡補正部 105:画像生成部 201:画像マッチング部 202:変動量算出部 203:変動量累積部 301:動きベクトル検出部 302:動体領域検出部 303:動体位置算出部 304:軌跡適正化部 305:動体サイズ算出部 306:距離情報取得部