(57)【要約】      （修正有）【課題】ユーザが所望するカメラワークによって見やすくなめらかな動画を生成することができる技術を提供する。【解決手段】被写体像を連続して撮像した動画データを構成する複数の画像において、画像から複数の特徴点を抽出する抽出ステップと、抽出ステップによって抽出した複数の特徴点に基づいて隣り合う一対の画像間の位置ズレ量を検出する検出ステップと、検出ステップによって検出した一対の画像間の位置ズレ量を順次積算して実際のカメラワークの軌跡を求めるカメラワーク算出ステップと、カメラワーク算出ステップによって求めたカメラワークの軌跡に基づいてユーザの意図に近い最適なカメラワークの軌跡を算出するカメラワーク最適化ステップと、カメラワーク最適化ステップによって求めた最適なカメラワークの軌跡上における複数の画像の位置情報に基づいて複数の画像間の相対的位置を補正する補正ステップで構成する。【選択図】図１
2010093343.tif 000002
【特許請求の範囲】
【請求項１】
被写体像を連続して撮像して生成された動画データを構成する複数の画像の各々において、画像の特徴量を有する複数の特徴点を抽出する抽出ステップと、
前記抽出ステップによって抽出した前記複数の画像の各々における前記複数の特徴点に基づいて、前記複数の画像のうち隣り合う一対の画像間の位置ズレ量を検出する検出ステップと、
前記検出ステップによって検出した、前記各一対の画像間の前記位置ズレ量を積算することによって、実際のカメラワークの軌跡を求めるカメラワーク算出ステップと、
前記カメラワーク算出ステップによって求めた前記実際のカメラワークの軌跡に基づいて、ユーザが意図したと考えられる最適なカメラワークの軌跡を所定の閾値の範囲内で算出するカメラワーク最適化ステップと、
前記カメラワーク最適化ステップによって求めた前記最適なカメラワークの軌跡上における、前記複数の画像の各々の位置情報に基づいて、前記複数の画像の各々の相対的位置を補正する補正ステップと
をコンピュータに実行させることを特徴とするカメラワーク最適化プログラム。
【請求項２】
請求項１に記載のカメラワーク最適化プログラムにおいて、
前記補正ステップによって前記相対的位置が補正された前記複数の画像の各々に対して、周囲の画素を前記所定の閾値の大きさの範囲内で切り取って整形するフレーム整形ステップをさらに備えることを特徴とするカメラワーク最適化プログラム。
【請求項３】
請求項１又は請求項２に記載のカメラワーク最適化プログラムにおいて、
前記検出ステップにおいて検出される前記一対の画像間の位置ズレ量は、前記画像面内における一の方向成分、前記一の方向成分に交差する方向成分、及び回転成分を有することを特徴とするカメラワーク最適化プログラム。
【請求項４】
請求項１ないし請求項３のいずれか１項に記載のカメラワーク最適化プログラムにおいて、
前記検出ステップにおいて検出される前記一対の画像間の位置ズレ量が所定値より大きい場合には、前記動画データの前記被写体像の対象が変化したと判定するシーン判定ステップをさらに備えることを特徴とするカメラワーク最適化プログラム。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載のカメラワーク最適化プログラムにおいて、
前記カメラワーク最適化ステップは、前記所定の閾値の範囲内で、前記実際のカメラワークの軌跡と前記最適なカメラワークの軌跡との差分の総和が最小になるように、前記最適なカメラワークの軌跡を算出することを特徴とするカメラワーク最適化プログラム。
【請求項６】
請求項３ないし請求項５のいずれか１項に記載のカメラワーク最適化プログラムにおいて、
前記カメラワーク最適化ステップは、前記差分の総和を、前記一の方向成分、前記一の方向成分に交差する方向成分、及び前記回転成分毎に行い、それぞれの成分毎に前記差分の総和を、前記それぞれの成分毎の前記所定の閾値の範囲内で最小になるように、前記最適なカメラワークの軌跡を算出することを特徴とするカメラワーク最適化プログラム。
【請求項７】
被写体像を連続して撮像して動画データを生成する撮像部と、
請求項１ないし請求項６のいずれか１項に記載のカメラワーク最適化プログラムを前記動画データに対して実行する制御部と
を備えることを特徴とする撮像装置。
【請求項８】
被写体像を連続して撮像して生成された動画データを構成する複数の画像の各々において、画像の特徴量を有する複数の特徴点を抽出する抽出工程と、
前記抽出工程によって抽出した前記複数の画像の各々における前記複数の特徴点に基づいて、前記複数の画像のうち隣り合う一対の画像間の位置ズレ量を検出する検出工程と、
前記検出工程によって検出した、前記各一対の画像間の前記位置ズレ量を積算することによって、実際のカメラワークの軌跡を求めるカメラワーク算出工程と、
前記カメラワーク算出工程によって求めた前記実際のカメラワークの軌跡に基づいて、ユーザが意図したと考えられる最適なカメラワークの軌跡を所定の閾値の範囲内で算出するカメラワーク最適化工程と、
前記カメラワーク最適化工程によって求めた前記最適なカメラワークの軌跡上における、前記複数の画像の各々の位置情報に基づいて、前記複数の画像の各々の相対的位置を補正する補正工程と
を備えることを特徴とするカメラワーク最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラワーク最適化プログラム、撮像装置及びカメラワーク最適化方法に関する。
【背景技術】
【０００２】
従来、動画の撮影における手ブレ補正処理やカメラワーク最適化処理は、動画撮影中に処理を行うものと撮影後に処理を行うものとに大きく分けられる。
【０００３】
例えば、特許文献１は、動画撮影後に処理を行うものであり、撮影した動画に基づいて、フィールド間又はフレーム間の動きから手ブレやカメラの動きを検出して、手ブレ補正を行うことにより、カメラ自身の軌跡を求めてユーザが意図したカメラワークの軌跡を推定し、そのカメラワークの軌跡となるように、フィールド間又はフレーム間の動きを補正する技術を開示している。
【特許文献１】特開２００８−００５１０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のような従来技術では、動画に写っている被写体像が静止するように、フレームである各画像を如何になめらかに繋ぐかということを目的としているため、あるフレームの画像が他の画像の位置から大きくズレてしまっている場合には、処理されて得られた動画を再生した時、そのフレームだけ表示されないか、又はその一部しか表示されず、見苦しいという問題があった。
【０００５】
上記従来技術が有する問題に鑑み、本発明の目的は、ユーザが所望するカメラワークによって見やすくなめらかな動画を生成することができる技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のカメラワーク最適化プログラムは、被写体像を連続して撮像して生成された動画データを構成する複数の画像の各々において、画像の特徴量を有する複数の特徴点を抽出する抽出ステップと、抽出ステップによって抽出した複数の画像の各々における複数の特徴点に基づいて、複数の画像のうち隣り合う一対の画像間の位置ズレ量を検出する検出ステップと、検出ステップによって検出した、各一対の画像間の位置ズレ量を積算することによって、実際のカメラワークの軌跡を求めるカメラワーク算出ステップと、カメラワーク算出ステップによって求めた実際のカメラワークの軌跡に基づいて、ユーザが意図したと考えられる最適なカメラワークの軌跡を所定の閾値の範囲内で算出するカメラワーク最適化ステップと、カメラワーク最適化ステップによって求めた最適なカメラワークの軌跡上における、複数の画像の各々の位置情報に基づいて、複数の画像の各々の相対的位置を補正する補正ステップとをコンピュータに実行させる。
【０００７】
また、本発明において、補正ステップによって相対的位置が補正された複数の画像の各々に対して、周囲の画素を所定の閾値の大きさの範囲内で切り取って整形するフレーム整形ステップをさらに備える。
【０００８】
また、本発明において、検出ステップにおいて検出される一対の画像間の位置ズレ量は、画像面内における一の方向成分、一の方向成分に交差する方向成分、及び回転成分を有する。
【０００９】
また、本発明において、検出ステップにおいて検出される一対の画像間の位置ズレ量が所定値より大きい場合には、動画データの被写体像の対象が変化したと判定するシーン判定ステップをさらに備える。
【００１０】
また、本発明において、カメラワーク最適化ステップは、所定の閾値の範囲内で、実際のカメラワークの軌跡と最適なカメラワークの軌跡との差分の総和が最小になるように、最適なカメラワークの軌跡を算出する。
【００１１】
また、本発明において、カメラワーク最適化ステップは、差分の総和を、一の方向成分、一の方向成分に交差する方向成分、及び回転成分毎に行い、それぞれの成分毎に差分の総和を、それぞれの成分毎の所定の閾値の範囲内で最小になるように、最適なカメラワークの軌跡を算出する。
【００１２】
本発明の撮像装置は、被写体像を連続して撮像して動画データを生成する撮像部と、本発明のカメラワーク最適化プログラムを動画データに対して実行する制御部とを備える。
【００１３】
本発明のカメラワーク最適化方法は、被写体像を連続して撮像して生成された動画データを構成する複数の画像の各々において、画像の特徴量を有する複数の特徴点を抽出する抽出工程と、抽出工程によって抽出した複数の画像の各々における複数の特徴点に基づいて、複数の画像のうち隣り合う一対の画像間の位置ズレ量を検出する検出工程と、検出工程によって検出した、各一対の画像間の位置ズレ量を積算することによって、実際のカメラワークの軌跡を求めるカメラワーク算出工程と、カメラワーク算出工程によって求めた実際のカメラワークの軌跡に基づいて、ユーザが意図したと考えられる最適なカメラワークの軌跡を所定の閾値の範囲内で算出するカメラワーク最適化工程と、カメラワーク最適化工程によって求めた最適なカメラワークの軌跡上における、複数の画像の各々の位置情報に基づいて、複数の画像の各々の相対的位置を補正する補正工程とを備える。
【発明の効果】
【００１４】
本発明によれば、ユーザが所望するカメラワークによって見やすくなめらかな動画を生成することができる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明の一の実施形態に係るカメラワーク最適化プログラムがインストールされたコンピュータ１０の概念図である。
【００１６】
図１に示すコンピュータ１０は、ＣＰＵ１、記憶部２、入出力インタフェース（入出力Ｉ／Ｆ）３及びバス４から構成され、ＣＰＵ１、記憶部２及び入出力Ｉ／Ｆ３は、バス４を介して情報伝達可能に接続される。また、コンピュータ１０には、入出力Ｉ／Ｆ３を介して、画像処理の途中経過や処理結果を表示する出力装置５、ユーザからの入力を受け付ける入力装置６がそれぞれ接続される。出力装置５には、一般的な液晶モニタやプリンタ等を用いることができ、入力装置６には、キーボードやマウス等をそれぞれ適宜選択して使用できる。
【００１７】
ＣＰＵ１は、入力装置６で受け付けたユーザからの指示に基づいて、記憶部２に記憶されているカメラワーク最適化プログラムを読み込み、記憶部２に記憶されている動画データに対する処理を行う。ＣＰＵ１は、その動画の処理の結果を、出力装置５に表示したり、記憶部２に記録する。ＣＰＵ１には、一般的な中央演算装置を用いることができる。
【００１８】
記憶部２は、カメラワーク最適化プログラムや被写体像が撮像された動画データだけでなく、ユーザが望むカメラワークで見やすくなめらかなに処理された動画データも保持する。また、記憶部２は、そうした処理において必要となるパラメータの閾値等のデータも記憶する。記憶部２に記憶される動画データ、プログラム及びその他データは、バス４を介して、ＣＰＵ１から適宜参照することができる。記憶部２には、一般的なハードディスク装置、光磁気ディスク装置等の記憶装置を選択して用いることができる。なお、図１の記憶部２は、コンピュータ１０に組み込まれているが、外付けの記憶装置でもよい。この場合、記憶部２は、入出力Ｉ／Ｆ３を介してコンピュータ１０に接続される。
【００１９】
次に、本実施形態に係るカメラワーク最適化の処理の手順について、図２のフローチャートを参照しながら説明する。
【００２０】
ユーザが、入力装置６を用いて、カメラワーク最適化プログラムのコマンドを入力、又はそのプログラムのアイコンをダブルクリックすることにより、プログラムの起動命令をＣＰＵ１に対して出す。ＣＰＵ１は、その命令を入出力Ｉ／Ｆ３を通じて受け、記憶部２に記憶されているカメラワーク最適化プログラムを起動する。そのプログラムの起動とともに、ＣＰＵ１は、カメラワーク最適化処理のためのパラメータの閾値を読み込み、メモリ（不図示）に一時的に記憶する。そして、ユーザは、後述するステップＳ１５における最適なカメラワークの軌跡を求める不等式拘束条件付き最小化問題を解く際に必要となる位置ズレ量の閾値を設定する。その結果、図２のステップＳ１０からの処理が行われる。
【００２１】
なお、本実施形態では、記憶部２にあらかじめ処理の対象となる、電子カメラ等で被写体像を撮像した動画データが記憶されているものとする。また、本実施形態では、動画データの第０フレームの画像を基準にしてカメラワーク最適化処理を行う。
【００２２】
ステップＳ１０：ＣＰＵ１は、ユーザがカメラワーク最適化処理を施したい、例えば、図３に示すシーンを撮影した動画の指定を、入力装置６を介して、ユーザから受け付け、その動画データを記憶部２より読み込み、メモリ（不図示）に一時的に記憶する。
【００２３】
ステップＳ１１：ＣＰＵ１は、ステップＳ１０で読み込んだ動画データを構成する複数のフレームの画像を用いて、隣り合うフレームの画像間の位置ズレ量を求める。そのために、ＣＰＵ１は、最初のフレーム（第０フレーム）の画像と次の第１フレームの画像とから開始し、順次隣り合うフレームの画像間の位置ズレ量を求める。そこで、ＣＰＵ１は、画像の特徴量であるエッジ量に基づいて画像の特徴点を抽出する。具体的には、ＣＰＵ１は、ＫＬＴ（Kanade-Lucas-Tomasi）法と多重解像度変換とを用いて複数の特徴点を抽出する。なお、一般にＫＬＴ法は、ある２つの画像間において対応する部分の動きベクトルを求めるものとして用いられるが、本実施形態におけるＫＬＴ法は、画像中の直交する水平走査方向と垂直走査方向とにおいて大きなエッジ勾配を有する点、つまり被写体像の境界の角にある点を抽出する機能を備えたものを用いる（例えば、J. Shin and C. Tomasi, 'Good Features to Track', IEEE Conference on Computer Vision and Pattern Recognition (CVPR94) Seattle, June 1994を参照)。さらに、多重解像度変換とを併せて用いることにより、特徴点の抽出の精度を上げるようにする。
【００２４】
そのようにして特徴点を抽出した一例を図３に示す。図３は、第０フレームの画像２０ａ及び第１フレームの画像２０ｂのそれぞれにおいて、山の稜線や人物と背景との境界等に特徴点（●印）が抽出されている。なお、抽出される点数は、最低でも３点必要であり、点数が多ければ多いほど、後で求める各フレームの画像間の位置ズレ量を精度良く求めることができる。本実施形態では、抽出された特徴点のうち、所定値以上のエッジ量を有し、大きい値のものから順に特徴点を抽出した。具体的には、上位１００位までの特徴点を抽出した。なお、この特徴点の数は、画像の撮影状況等に応じて任意に決めることができる。
【００２５】
ステップＳ１２：ＣＰＵ１は、ステップＳ１１で抽出した第０フレームの画像２０ａ及び第１フレームの画像２０ｂにおけるそれぞれの特徴点に対して、オプティカルフローの手法を適用して、各特徴点における動きベクトルを算出する。具体的には、ＣＰＵ１は、上述したＫＬＴ法を用い、隣り合うフレームの２つ画像における特徴点の全てが互いに存在する場合には、全ての特徴点についての動きベクトルを求める。一方、隣り合うフレームの２つ画像における特徴点の一部が画像領域からフレームイン又はフレームアウトしているような場合（例えば、第０フレーム画像の右側の特徴点がフレームアウトしたり、第１フレームの画像２０ｂにおける左側の樹木上の特徴点がフレームインしている場合）には、ＣＰＵ１は、両方の画像において存在する特徴点のみの動きベクトルを求める。図４の第１フレームの画像２０ｂに示す矢印が、上記の手順で求めた各特徴点における動きベクトルを示す。
【００２６】
次に、ＣＰＵ１は、求めた第０フレームの画像２０ａと第１フレームの画像２０ｂとで動きベクトルを求めることのできた特徴点を用いて、水平走査方向であるＸ成分（ピクセル）、垂直走査方向であるＹ成分（ピクセル）及び回転成分θ（度）から成る位置ズレ量を算出する。本実施形態では、位置ズレ量を算出する方法の１つである、その３成分からなるアフィン変換の変換行列を用いて求める方法を用いる。つまり、次式（１）で示される変換行列Ａを有する次式（２）で表される方程式を用いて、各フレームの画像間の位置ズレ量を算出する。
【数式１】
【００２７】
2010093343.tif 000003
【数式２】
【００２８】
2010093343.tif 000004
【００２９】
即ち、ＣＰＵ１は、上記で求めた各動きベクトルに対応する第０フレームの画像２０ａにおける各特徴点の座標（ｘ、ｙ、１）と、対応する第１フレームの画像２０ｂにおける特徴点の座標（ｘ’、ｙ’、１）とを式（２）にそれぞれ代入して、最小２乗法によって式（１）のパラメータである位置ズレ量（ｘ0、ｙ0、θ）の値を算出する。そして、ＣＰＵ１は、第０フレームの画像２０ａと第１フレームの画像２０ｂとの位置ズレ量（ｘ0、ｙ0、θ）を記憶部２に記録する。
【００３０】
ステップＳ１３：ＣＰＵ１は、ステップＳ１２で求めた各隣り合うフレームの画像間の位置ズレ量（ｘ0、ｙ0、θ）を、次式（３）のように成分毎に積算する。
【数式３】
【００３１】
2010093343.tif 000005
【００３２】
ここで、Ｘｍ（ｉ）、Ｙｍ（ｉ）、θｍ（ｉ）は、第０フレームの画像から第ｉフレームの画像までの位置ズレ量（ｘ0、ｙ0、θ）を成分毎に積算した値を表す（ｉ＝０、１、２、…）。この積算値（Ｘｍ（ｉ）、Ｙｍ（ｉ）、θｍ（ｉ））が、実際の動画撮影時のカメラワークの軌跡を与えるとともに、実際のカメラワークの軌跡における第ｉフレームの画像の位置を示す。なお、積算値の初期値（Ｘｍ（０）、Ｙｍ（０）、θｍ（０））は、それぞれ０にするのが好ましい。
【００３３】
ステップＳ１４：ＣＰＵ１は、動画データの全てのフレームの画像について、ステップＳ１１からステップＳ１３までの処理を行ったか否かを判定する。ＣＰＵ１が、全ての処理を行ったと判定した場合には、ステップＳ１５（ＹＥＳ側）へ移行する。一方、ＣＰＵ１が、処理が途中であると判定した場合には、ステップＳ１１（ＮＯ側）へ移行し、次に隣り合う第１フレームの画像２０ｂと第２フレームの画像に対して、ステップＳ１１からステップＳ１３までの処理を行う。ＣＰＵ１は、動画データの最後のフレームである第Ｎフレーム（Ｎ＝１、２、３、…）の画像までの処理を行い、ステップＳ１５へ移行する。
【００３４】
ここで、図４は、動画データの全てのフレームのうち、第５フレームまでの画像におけるステップＳ１１からステップＳ１３の処理によって求めた、（ａ）実際のカメラワークのＸｍとＹｍとの成分の軌跡、（ｂ）回転成分θｍの軌跡の一例を示す。図４（ａ）の例において、Ｘｍ成分の値が大きく変化していることから、ある程度の手振れはあるものの、この実際のカメラワークの軌跡はＸ方向にパンニングしている場合のものであることが分かる。
【００３５】
ステップＳ１５：ＣＰＵ１は、ステップＳ１４で求めた実際のカメラワークの軌跡に基づいて、ユーザが所望する最適なカメラワークの軌跡を求める。
【００３６】
ここで、その求め方について簡単に説明する。従来のカメラワークの最適化方法としては、特許文献１等に用いられているＤＰ（Douglas-Pecker）法やB-Spline法等によるものがある。しかしながら、これらの方法による処理では、任意の曲線若しくは直線又は近似曲線等を最適なカメラワークの軌跡と見なしている。そのために、例えば、隣り合う他のフレームの画像と大きく位置がズレたフレームの画像がある場合、最適なカメラワークの軌跡として求めた上記任意の曲線若しくは直線又は近似曲線等からも大きく外れてしまう。その結果、処理して得られた動画を再生した場合、その大きく位置ズレしたフレームの画像は、その全部が見えない又はほんの一部しか見えないということになってしまう。つまり、従来の処理法によって得られた動画は、必ずしも最適なカメラワークの軌跡で且つ見やすくなめらかなものとは言えない。これは、従来の処理法では、何ら制限を与えることなく、数学的に最適な解として求まった上記曲線若しくは直線又は近似曲線を、最適なカメラワークの軌跡としていることに原因がある。
【００３７】
これに対して、本実施形態では、実際のカメラワークの軌跡から最適なカメラワークの軌跡を求めるために、各フレームの画像間において互いに一定の相関を持って所定の制限の範囲内で検索して求める。そして、動画の各フレームの画像の位置を、その最適なカメラワークの軌跡上に来るように補正することによって、見やすくなめらかな動画を生成する。ここで、上記「一定の相関」とは、２つの画像の重なる領域の大きさがある一定値以上を有するということを意味する。また、「見やすくなめらかな動画」とは、各フレームの画像が全く見えなくなったり、一部しか見えないということが起きない動画ということを意味する。
【００３８】
具体的には、本実施形態では、次式（４）で表される式を用いて最適なカメラワークの軌跡を求める。ここで、αiは最適なカメラワークの軌跡における第ｉフレームの画像の位置（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））の３成分のいずれかの成分を表し、βiは実際のカメラワークの軌跡における第ｉフレームの画像の位置（Ｘｍ（ｉ）、Ｙｍ（ｉ）、θｍ（ｉ））の３成分のいずれかの成分を表す。
【数式４】
【００３９】
2010093343.tif 000006
【００４０】
ＣＰＵ１は、各成分において式（４）のパラメータＥを最小にする、最適なカメラワークの軌跡であるαi（ｉ＝０〜Ｎ）の値を求める。そのためには、各成分においてパラメータＥを各αiで偏微分して、その偏微分の値が全て０になる時のαiの値が、求める最適なカメラワークの軌跡となる。しかしながら、このままでは、従来のやり方と同じである。そこで、本実施形態では、上述したように式（４）を偏微分して解くにあたり、実際のカメラワークの軌跡における各フレームの画像の位置（Ｘｍ（ｉ）、Ｙｍ（ｉ）、θｍ（ｉ））の各成分に、制限である閾値を設けてその閾値の範囲内で解くことによって、最適なカメラワークの軌跡における各フレームの画像の位置（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））の各成分のαiの値を求める。これは、不等式拘束条件付き最小化問題として解くことを意味する。この不等式拘束条件付き最小化問題を解くにあたり、本実施形態では、準ニュートン法を用いて行う。なお、準ニュートン法だけでなく、他の解法として共役勾配法、ネルダーミード法又は乗数法等を、即知の不等式拘束条件付き最小化問題の解法とそれらを組み合わせて行ってもよい。
【００４１】
図５は、図４の実際のカメラワークの軌跡上における、各フレームの画像の位置（Ｘｍ（ｉ）、Ｙｍ（ｉ）、θｍ（ｉ））（●印）を中心にした閾値の範囲を、□印の領域３０と領域３１とで示す。本実施形態では、ユーザは、各フレームの画像の位置（Ｘｍ（ｉ）、Ｙｍ（ｉ）、θｍ（ｉ））での閾値（ΔＸｍ、ΔＹｍ、Δθｍ）の大きさを、（±１０ピクセル、±１０ピクセル、±５度）と設定するものとする。なお、図５（ｂ）の回転成分θｍの軌跡において、横軸はフレーム数を表すことから本来は閾値というものはないが、回転成分θｍの閾値Δθｍの範囲を便宜上領域３１として見やすくするために一定の幅を持たせて描いている。
【００４２】
上述したように、ＣＰＵ１は、成分毎にパラメータＥを各αiで偏微分して、その偏微分の値を最小にする（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））の各成分であるαiの値を、領域３０及び領域３１の範囲内で検索する。その結果、図５に示すように、○印で示された点を繋いだものが求まった最適なカメラワークの軌跡であり、○印が各フレームの画像の位置（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））である。なお、回転成分θ（ｉ）の軌跡を示す○印は、上記理由により、必ず各フレームの線上にある。ＣＰＵ１は、最適なカメラワークの軌跡における各フレームの画像の（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））を、記憶部２に記録する。
【００４３】
ステップＳ１６：ＣＰＵ１は、ステップＳ１５で求めた最適なカメラワークの軌跡上における各フレームの画像の位置である（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））（ｉ＝０〜Ｎ）を用いて、第０フレームの画像を基準にして、順次各フレームの画像の相対的位置の補正を行う。図６は、第ｉフレームの画像５０とその画像５０を（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））に基づいて補正した画像５１を示す。ＣＰＵ１は、ΔＸｍとΔＹｍとの閾値の幅で画像５１の周囲を切り取って画像６０を生成し、メモリ（不図示）に記録するとともに、出力装置５に画像６０を表示する。なお、本実施形態では、ピクセル単位及び度単位で補正を行ったが、サブピクセル単位の精度で補正を行ってもよい。
【００４４】
ステップＳ１７：ＣＰＵ１は、全てのフレームの画像について、ステップＳ１６の処理を行ったか否かを判定する。ＣＰＵ１が、全ての処理を行ったと判定した場合には、ステップＳ１８（ＹＥＳ側）へ移行する。一方、ＣＰＵ１が、処理が途中であると判定した場合には、ステップＳ１６（ＮＯ側）へ移行し、次の第（ｉ＋１）フレームの画像に対してステップＳ１６の処理を行う。ＣＰＵ１は、動画データの最後のフレームである第Ｎフレームの画像の処理が終了するまで行い、ステップＳ１８へ移行する。
【００４５】
ステップＳ１８：ＣＰＵ１は、ステップＳ１６の処理によって得られた最適なカメラワークの軌跡の動画データを記憶部２に記録し終了する。
【００４６】
このように本実施形態は、撮影された動画データに基づいて、実際のカメラワークの軌跡を求め、式（４）の不等式拘束条件付き最小化問題を解くことによって、ユーザの希望する最適なカメラワークの軌跡で撮られたなめらかな動画を生成することができる。
【００４７】
また、最適なカメラワークの軌跡上に各フレームの画像が来るように位置を補正するとともに、ΔＸｍとΔＹｍとの閾値の幅で画像５１の周囲を切り取って、画像６０を生成することから、ユーザにとって、見やすくなめらかな動画を取得することができる。
≪実施形態の補足事項≫
本実施形態では、各フレームの画像間における特徴点の抽出及び動きベクトルの検出を、多重解像度変換と併せて、ＫＬＴ法を用いて行ったが、本発明はこれに限定されない。例えば、特徴点を抽出するためのエッジ抽出を一般的な公知のエッジ抽出方法で行い、動きベクトルの検出を勾配法（ＬＫ法）やブロックマッチング法、Hesse法やSIFT法等で行うというように、別々の手法を用いて行ってもよい。
【００４８】
なお、本実施形態では、被写体像を動画として撮影した動画データに対してカメラワーク最適化プログラムを適用したが、本発明はこれに限定されず、連写して撮影した静止画に対しても適用可能である。ただし、連写による静止画の場合は、一枚ずつ出力装置５に表示させればよく、動画のように重ね合わせる必要はない。
【００４９】
なお、本実施形態では、動画データの第０フレームの画像を基準画像にして、最適なカメラワークの軌跡を求めたが、本発明はこれに限定されない。例えば、動画データのある隣り合うフレームの画像間の位置ズレ量が、所定値（例えば、Δθｍ＝±３０度）より大きい場合には、撮像装置がパンニング等をして撮影対象の被写体像が変わったと判断し、被写体像が変わる前後において、互いに異なる動画データとしてそれぞれについてカメラワーク最適化の処理を行ってもよい。この場合、例えば、大きく位置ズレが起きる前の動画データについては、基準画像を第０フレームの画像とし、位置ズレした後の動画データに対しては、位置ズレを起こした直後のフレームの画像を基準画像とすればよい。
【００５０】
また、動画データの隣り合うフレームの画像間の位置ズレ量と所定値との比較だけでなく、ステップＳ１２で求める動きベクトルの大きさが所定値より大きい場合には、撮像装置がパンニング等をして撮影対象の被写体像が変わったものと判断するようにしてもよい。或いは、撮像装置に角度センサ等を設けることにより、その角度センサの出力値が所定値よりも大きい場合には、撮像装置がパンニング等をして撮影対象の被写体像が変わったものと判断するようにしてもよい。
【００５１】
なお、本実施形態では、式（４）による不等式拘束条件付き最小化問題を、（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））の成分毎に計算して求めたが、本発明はこれに限定されず、全ての（Ｘ（ｉ）、Ｙ（ｉ）、θ（ｉ））を１つにまとめた、式（４）で不等式拘束条件付き最小化問題を解いてもよい。
【００５２】
なお、本実施形態では、（Ｘｍ（ｉ）、Ｙｍ（ｉ）、θｍ（ｉ））のそれぞれの閾値（ΔＸｍ、ΔＹｍ、Δθｍ）の大きさを、（±１０ピクセル、±１０ピクセル、±５度）と設定したが、本発明はこれに限定されず、任意の値を設定することができる。
【００５３】
なお、本実施形態では、位置の補正をした各フレームの画像の周囲を、閾値ΔＸｍ及びΔＹｍで切り取ったが、本発明はこれに限定されず、実際のカメラワークの軌跡と最適なカメラワークの軌跡との差分の値が、閾値ΔＸｍ又はΔＹｍより小さい場合には閾値ΔＸｍ又はΔＹｍより小さい値で切り取ってもよい。
【００５４】
なお、本実施形態では、位置ズレ量を、隣り合うフレームの画像間の動き情報に基づいて求めたが、本発明ではそれに限定されず、フィールド間の動き情報に基づいて求めてもよい。
【００５５】
なお、本発明に係るカメラワーク最適化プログラムの各ステップを実行する制御部を有する撮像装置に対しても適用可能である。
【００５６】
なお、本発明に係るカメラワーク最適化プログラムを記憶する記録媒体に対しても適用可能である。
【００５７】
なお、本発明は、その精神又はその主要な特徴から逸脱することなく他の様々な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されてはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【図面の簡単な説明】
【００５８】
【図１】本発明の一の実施形態に係るカメラワーク最適化プログラムインストールしたコンピュータ１０の概念図
【図２】本実施形態に係るカメラワーク最適化処理における手順を示すフローチャート
【図３】隣り合うフレームの画像の一例の図
【図４】実際のカメラワークの軌跡の図
【図５】実際のカメラワークの軌跡に基づいて求めた最適なカメラワークの軌跡の図
【図６】各フレームの画像の位置の補正について説明する図
【符号の説明】
【００５９】
１  ＣＰＵ、２  記憶部、３  入出力Ｉ／Ｆ、４  バス、５  出力装置、６  入力装置、１０  コンピュータ、２０ａ  第０フレームの画像、２０ｂ  第１フレームの画像
【図１】
2010093343.tif 000007
【図２】
2010093343.tif 000008
【図３】
2010093343.tif 000009
【図４】
2010093343.tif 000010
【図５】
2010093343.tif 000011
【図６】
2010093343.tif 000012