次に本発明の実施の形態について図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(合成画像作成制御:現フレームの1つ前および2つ前のフレームを含む矩形領域に含まれる画像を上書き合成する例)
2.第2の実施の形態(合成画像作成制御:現フレームよりも前の各フレームを含む合成画像を上書き合成する例)
3.第3の実施の形態(合成画像作成制御:現フレームよりも前の各フレームを含む合成画像のうち、現フレームを含む矩形領域に含まれる画像を上書き合成する例)
4.第4の実施の形態(合成画像作成制御:撮像装置例)
<1.第1の実施の形態>
[画像処理装置の機能構成例]
図1は、本発明の第1の実施の形態における画像処理装置100の機能構成例を示すブロック図である。画像処理装置100は、動画入力部110と、カメラワーク検出部120と、記録制御部130と、動画記憶部200と、メタデータ記憶部210とを備える。また、画像処理装置100は、ファイル取得部140と、シーンチェンジ判定部150と、変換情報補正部160と、合成画像分割判定部170と、画像変換部180と、画像合成部190と、第1の画像メモリ220と、第2の画像メモリ230とを備える。また、画像処理装置100は、表示制御部250と、表示部260と、操作受付部270とを備える。画像処理装置100は、例えば、デジタルビデオカメラ等の撮像装置により記録された撮像動画について、映像解析により特徴量を抽出し、この抽出された特徴量を用いて各種画像処理を施すことが可能なパーソナルコンピュータによって実現することができる。
動画入力部110は、デジタルビデオカメラ等の撮像装置(以下では、単に「カメラ」と称する。)により撮像された動画(撮像動画)を入力する動画入力部であり、入力された動画をカメラワーク検出部120に出力する。
カメラワーク検出部120は、動画入力部110から出力された動画を解析して、撮影時におけるカメラの動き情報(カメラワーク)を検出し、このカメラの動き情報に基づいてアフィン変換パラメータ(カメラワークパラメータ)を算出するものである。そして、算出されたアフィン変換パラメータを記録制御部130に出力する。具体的には、カメラワーク検出部120は、動画を構成する各画像から特徴点を抽出するとともに、この特徴点に対するオプティカルフロー(動きベクトル)を抽出する。そして、この抽出された特徴点に対するオプティカルフローを解析して支配的な動きを見せた特徴点を選択し、この支配的な動きを見せた特徴点に対するオプティカルフローに基づいてカメラの動きを推定する。ここで、支配的な動きとは、複数の特徴点に対するオプティカルフローの中で、比較的多数のオプティカルフローが示す規則的な動きを意味する。なお、カメラワーク検出部120の内部構成については、図2を参照して詳細に説明する。
記録制御部130は、動画記憶部200およびメタデータ記憶部210に対する記録制御を行うものである。すなわち、記録制御部130は、動画入力部110から出力された動画を動画ファイルとして動画記憶部200に記録する。また、記録制御部130は、カメラワーク検出部120から出力されたアフィン変換パラメータを、動画およびフレームに関連付けてメタデータファイルとしてメタデータ記憶部210に記録する。
動画記憶部200は、記録制御部130の制御に基づいて動画入力部110から出力された動画を動画ファイルとして記憶するものである。また、動画記憶部200は、ファイル取得部140からの要求に応じて動画ファイルをファイル取得部140に供給する。なお、動画記憶部200に記憶される動画ファイルについては、図3を参照して詳細に説明する。
メタデータ記憶部210は、記録制御部130の制御に基づいてカメラワーク検出部120から出力されたアフィン変換パラメータをメタデータファイルとして記憶するものである。また、メタデータ記憶部210は、ファイル取得部140からの要求に応じてメタデータファイルをファイル取得部140に供給する。なお、メタデータ記憶部210に記憶されるメタデータファイルについては、図3を参照して詳細に説明する。
ファイル取得部140は、操作受付部270により受け付けられた操作入力に応じて、動画記憶部200およびメタデータ記憶部210に記憶されている各ファイルの少なくとも1つを取得し、取得された各ファイルの情報を各部に供給するものである。具体的には、ファイル取得部140は、画像合成処理を行う指示操作が操作受付部270により受け付けられた場合には、動画記憶部200から動画ファイルを取得して、この動画ファイルに対応するメタデータファイルをメタデータ記憶部210から取得する。そして、取得された動画ファイルをシーンチェンジ判定部150および画像変換部180に出力し、取得されたメタデータファイルを変換情報補正部160に出力する。また、ファイル取得部140は、動画再生を行う指示操作が操作受付部270により受け付けられた場合には、動画記憶部200から動画ファイルを取得し、この動画ファイルを表示制御部250に出力する。
シーンチェンジ判定部150は、ファイル取得部140から出力された動画ファイルを構成する各画像における特徴量を抽出し、この特徴量に基づいて画像間におけるシーンチェンジ点を検出してシーンチェンジを判定するものである。そして、判定結果を合成画像分割判定部170に出力する。例えば、撮影された時刻および場所が異なる複数のシーンが1つの動画ファイルに含まれている場合には、これらのシーンが切り換わるフレームで被写体の構図や色等が瞬間的に変化する。そこで、画像における特徴量として、例えば、色や輝度の変化の程度を用いてシーンチェンジ点を検出することができる。このシーンチェンジ点は、例えば、動画において撮影場面が瞬間的に変化する場合におけるその境界点を示す位置であり、その境界点の直後の画像をシーンチェンジ点に該当する画像とする。例えば、シーンチェンジ判定部150は、ファイル取得部140から出力された動画を構成する画像における画面全体のカラーヒストグラムをフレーム毎に抽出し、連続する2フレーム間におけるカラーヒストグラムの色分布の差分値を算出する。そして、算出された2フレーム間に関する差分値に基づいてシーンチェンジスコアを算出し、このシーンチェンジスコアに基づいて画像間におけるシーンチェンジ点を検出する。例えば、被写体の構図や色等が瞬間的に変化して、連続する2フレーム間におけるヒストグラム差分値が閾値以上となった場合には、その連続する2フレーム間がシーンチェンジ点として検出される。
変換情報補正部160は、ファイル取得部140から出力されたメタデータファイルに含まれるアフィン変換パラメータに基づいて、このアフィン変換パラメータを補正するものであり、補正されたアフィン変換パラメータを画像変換部180に出力する。具体的には、変換情報補正部160は、ファイル取得部140から出力された現フレームに対応するアフィン変換パラメータに基づいてカメラワークの各成分(X方向およびY方向のズーム成分、並進成分、回転成分)を算出する。そして、これらの各成分の少なくとも1つの値が閾値以上であるか否かを判断し、これらの各成分の少なくとも1つの値が閾値以上である場合には、このアフィン変換パラメータを単位行列のアフィン変換パラメータに補正して画像変換部180に出力する。一方、カメラワークの各成分の全ての値が閾値以上でない場合には、アフィン変換パラメータを補正せずに、ファイル取得部140から出力されたアフィン変換パラメータを画像変換部180に出力する。また、変換情報補正部160は、算出されたカメラワークの各成分を合成画像分割判定部170に出力する。
合成画像分割判定部170は、ファイル取得部140から出力された動画ファイルを構成する現フレームに対応する画像について、現在作成されている合成画像から分割するか否かを判定するものである。そして、分割すると判定した場合には、合成画像の分割指示を画像変換部180および画像合成部190に出力する。すなわち、現在作成されている合成画像に、現フレームに対応する画像をさらに合成することにより、一定の大きさ(例えば、第1の画像メモリ220および第2の画像メモリ230の大きさ)を超えるか否かに応じて分割の要否が判定される。具体的には、合成画像分割判定部170は、変換情報補正部160から出力された先頭のフレームから現フレームまでの各フレームに関するカメラワークの各成分を順次加算し、この加算値が閾値を超えるか否かに基づいて分割の要否を判定する。また、分割すると判定された場合には、直前のフレームまでに算出されたカメラワーク成分の加算値を消去して、その判定がされた次のフレーム以降についてカメラワーク成分の加算を行う。また、合成画像分割判定部170は、シーンチェンジ判定部150からシーンチェンジ点を検出した旨の判定結果が出力された場合にも、合成画像の分割指示を画像変換部180および画像合成部190に出力する。
画像変換部180は、ファイル取得部140から出力された動画ファイルを構成する画像について、この画像に対応するアフィン変換パラメータを用いてフレーム毎にアフィン変換を施すものである。そして、アフィン変換された画像を画像合成部190に出力する。具体的には、画像変換部180は、1つの画像の位置を基準として他の画像を順次アフィン変換する。この基準となる画像として、例えば、先頭のフレームに対応する画像を設定する。そして、画像変換部180は、現フレームおよび現フレームよりも前の各フレームに関連付けられているアフィン変換パラメータにより特定されるアフィン行列を順次乗算することにより、現フレームに対応する画像をアフィン変換する。また、画像変換部180は、合成画像の分割指示が合成画像分割判定部170から出力された場合には、現フレームに対応する画像を基準位置に設定し、現フレームに対応する画像を単位行列によりアフィン変換して画像合成部190に出力する。なお、これらの画像変換については、図9乃至図19等を参照して詳細に説明する。
画像合成部190は、操作受付部270により受け付けられた操作入力の内容に応じて、第1の画像メモリ220および第2の画像メモリ230を用いて、画像変換部180によりアフィン変換された画像を合成して合成画像を作成するものである。そして、作成された合成画像を合成画像記憶部240に記憶させる。また、画像合成部190は、合成画像の分割指示が合成画像分割判定部170から出力された場合には、第1の画像メモリ220または第2の画像メモリ230に保持されている直前までの各フレームにより作成された合成画像を合成画像記憶部240に記憶させる。そして、その合成画像を第1の画像メモリ220または第2の画像メモリ230から消去し、新たな合成画像を作成する。なお、操作受付部270により受け付けられた操作入力の内容に応じて、作成されている合成画像を画像合成部190が表示制御部250に順次出力し、表示部260に表示させるようにしてもよい。これらの画像合成については、図23乃至図25等を参照して詳細に説明する。
第1の画像メモリ220および第2の画像メモリ230は、画像合成部190により合成画像が作成される際に用いられるワークバッファであり、画像変換部180によりアフィン変換された画像を含む履歴画像を保持する。そして、保持されている履歴画像を画像合成部190に供給する。なお、第1の画像メモリ220および第2の画像メモリ230は、画像データを記憶する1面分のメモリに相当するキャンバスと称される。なお、第1の画像メモリ220または第2の画像メモリ230は、特許請求の範囲に記載の第1の画像保持部または第2の画像保持部の一例である。
合成画像記憶部240は、画像合成部190により作成された合成画像を記憶するものであり、記憶されている合成画像を表示制御部250に供給する。なお、合成画像記憶部240に記憶される合成画像については、図4を参照して詳細に説明する。
表示制御部250は、操作受付部270により受け付けられた操作入力の内容に応じて、各画像を表示部260に表示させるものである。例えば、動画記憶部200に記憶されている各動画を表す標識(例えば、アイコン)として、合成画像記憶部240に記憶されている合成画像を表示部260に表示させる。また、表示部260に表示されているアイコンを選択する選択操作が操作受付部270により受け付けられた場合には、その選択された動画を表示部260に表示させる。
表示部260は、表示制御部250の制御に基づいて各画像を表示するものである。例えば、パーソナルコンピュータやテレビジョンのディスプレイにより実現することができる。なお、合成画像の表示例については、図29等を参照して詳細に説明する。
操作受付部270は、各種入力キーからなるキーボードやマウス(ポインティングデバイス)等からの操作入力を受け付けるものであり、受け付けられた操作入力の内容をファイル取得部140、画像合成部190または表示制御部250に出力する。
図2は、本発明の第1の実施の形態におけるカメラワーク検出部120の機能構成例を示すブロック図である。カメラワーク検出部120は、特徴点抽出部121と、オプティカルフロー算出部122と、カメラワークパラメータ算出部123とを備える。
特徴点抽出部121は、動画入力部110から出力された動画を構成するフレームに対応する画像全体から特徴点を抽出するものであり、抽出された特徴点をオプティカルフロー算出部122に出力する。なお、特徴点として、例えば、縦方向または横方向にエッジの勾配が強い点(一般に「コーナー点」と呼ばれている。以下では、「コーナー点」と称する。)を抽出することができる。このコーナー点は、オプティカルフローの計算に強い特徴点であり、エッジ検出を用いて求めることができる。なお、このコーナー点の抽出については、図5および図6を参照して詳細に説明する。また、特徴点抽出部121は、動画を構成する各フレームのうちの先頭のフレームについては画像全体から特徴点を抽出し、先頭以外のフレームについては直前の画像と比較して新しく撮像された領域部分からのみ特徴点を抽出するようにしてもよい。
オプティカルフロー算出部122は、特徴点抽出部121から出力された各特徴点に対するオプティカルフローを算出するものであり、算出されたオプティカルフローをカメラワークパラメータ算出部123に出力する。具体的には、オプティカルフロー算出部122は、動画入力部110から出力された動画を構成する連続する2つのフレーム(現フレームおよび直前のフレーム)に対応する各画像を比較することにより、現フレームのオプティカルフローを算出する。すなわち、オプティカルフロー算出部122は、現フレームに対応する画像全体から抽出された各特徴点について、直前のフレームに対応する画像に対するオプティカルフローを算出する。このオプティカルフローは、動画を構成するフレーム毎に算出される。なお、オプティカルフローを検出する検出方法として、勾配法やブロックマッチング方法等の検出方法を用いることができる。なお、このオプティカルフローの計算については、図5および図6を参照して詳細に説明する。また、オプティカルフロー算出部122は、特許請求の範囲に記載の動き量算出部の一例である。
カメラワークパラメータ算出部123は、オプティカルフロー算出部122から出力された各特徴点に対応するオプティカルフローを用いて、カメラワークパラメータを算出するカメラワークパラメータ算出処理を行うものである。そして、算出されたカメラワークパラメータを記録制御部130に出力する。このカメラワークパラメータは、連続する2つのフレーム(現フレームおよび直前のフレーム)に関する変換情報である。
ここで、本発明の第1の実施の形態では、再生の対象となる動画を構成する各画像をカメラの動きに合わせてそれぞれ変換して合成する。この画像の変換を行うため、オプティカルフロー算出部122により計算されたオプティカルフローを用いてカメラの動きが抽出され、この抽出された動きに基づいて、カメラワークパラメータ(変換パラメータ)が計算される。
また、本発明の第1の実施の形態では、再生の対象となる動画を構成する画像を変換する画像変換方法として、アフィン変換を用いる例について説明する。また、カメラワークパラメータとして、オプティカルフローに基づいて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを用いる例について説明する。なお、カメラワークパラメータとして、射影変換等の他の画像変換方法を用いるようにしてもよい。また、アフィン変換パラメータは、3点のベクトルを用いて計算して求めることができる。また、射影変換パラメータは、4点のベクトルを用いて計算して求めることができる。ここで、カメラワークパラメータは、撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報であり、少なくともカメラの座標系で記述される位置情報および姿勢情報を含むものである。すなわち、カメラワークパラメータは、撮影者により撮影されている場合におけるカメラの位置や姿勢に関する情報を含むものである。また、カメラワークパラメータ算出部123により算出されたアフィン変換パラメータに基づいて、例えば、ズームイン、ズームアウト、パン、チルト、ローテーション等の撮影者の操作によるカメラの動きを推定することができる。なお、アフィン変換パラメータの計算については、図5および図6を参照して詳細に説明する。また、カメラワークパラメータ算出部123は、特許請求の範囲に記載の変換情報算出部の一例である。
図3は、本発明の第1の実施の形態における動画記憶部200およびメタデータ記憶部210に記録されている各ファイルを模式的に示す図である。図3(a)では、動画記憶部200に記憶されている動画ファイル201乃至203と、動画ファイル201乃至203に関連付けてメタデータ記憶部210に記憶されているメタデータファイル211乃至213とを示す。ここで、動画記憶部200に記憶されている各動画ファイルを識別するための識別情報である動画IDが、各動画ファイルに付与されているものとする。例えば、動画ファイル201には「#1」が付与され、動画ファイル202には「#2」が付与され、動画ファイル203には「#n」が付与されている。
図3(b)では、動画記憶部200に記憶されている動画ファイル201と、動画ファイル201に関連付けてメタデータ記憶部210に記憶されているメタデータファイル211とを模式的に示す。ここで、動画ファイル201は、m枚のフレームで構成された動画のファイルであり、これらのm枚のフレームをフレーム「1」205乃至「m」207として示す。
また、メタデータファイル211には、動画ID214と、フレーム番号215と、アフィン変換パラメータ216とが関連付けて記憶されている。
動画ID214は、対応する動画ファイルに付与されている動画IDであり、例えば、動画ファイル201に付与されている「#1」が格納される。
フレーム番号215は、対応する動画ファイルの動画を構成する各フレームの通し番号であり、例えば、動画ファイル201の動画を構成するフレーム「1」205乃至「m」207に対応する「1」乃至「m」が格納される。
アフィン変換パラメータ216は、フレーム番号215に対応する動画の各フレームについて算出されたアフィン変換パラメータである。なお、フレーム番号215の「1」に対応するアフィン変換パラメータ216「a1,b1,c1,d1,e1,f1」は、単位行列のアフィン変換パラメータである。また、フレーム番号215の「m(mは2以上の整数)」に対応するアフィン変換パラメータ216の「am,bm,cm,dm,em,fm」は、フレーム「m」の直前フレーム「m−1」に対するアフィン変換パラメータである。
図4は、本発明の第1の実施の形態における合成画像記憶部240に記憶されている内容を概略的に示す図である。合成画像記憶部240には、動画記憶部200に記憶されている各動画ファイルについて画像合成部190により作成された合成画像が記憶されている。具体的には、合成画像記憶部240には、動画ID241と、フレーム番号242と、合成画像243とが関連付けて記憶されている。合成画像記憶部240には、例えば、1つの動画ファイルについて1または複数の合成画像が記憶される。例えば、合成画像分割判定部170により合成画像の分割が判定された動画ファイルについては、合成画像が分割して作成されるため、その動画ファイルについて複数の合成画像が合成画像記憶部240に記憶される。
動画ID241は、動画記憶部200に記憶されている各動画ファイルに対応するIDであり、例えば、動画ファイル201、202に付与されている「#1」、「#2」が格納される。
フレーム番号242は、動画記憶部200に記憶されている各動画ファイルについて画像合成部190により作成された合成画像に対応する各フレームの番号である。例えば、動画を構成する全てのフレームを用いて作成された合成画像が記憶されている場合には、その全てのフレーム番号が格納される。また、例えば、動画を構成する各フレームの一部が分割して作成された合成画像が記憶されている場合には、作成対象となったフレーム番号が合成画像に関連付けて格納される。例えば、動画ファイル201の動画を構成するフレーム「1」205乃至「m」207の全てを用いて合成画像が作成されている場合には、図4に示すように、動画ID241の「#1」に関連付けて「1」乃至「m」が記憶される。また、例えば、動画ファイル202の動画を構成する各フレームの一部を分割して合成画像が作成されている場合には、図4に示すように、作成対象となったフレームの集合毎に動画ID241の「#2」に関連付けてフレーム番号が記憶される。
合成画像243は、動画記憶部200に記憶されている各動画ファイルについて画像合成部190により合成された合成画像であり、合成画像の作成対象となったフレームに応じて動画ID241およびフレーム番号242に関連付けて記憶される。なお、図4では、合成画像記憶部240に記憶されている各パノラマ画像について、その輪郭のみを図形化して模式的に示す。これらの合成画像については、例えば、再生すべき動画を選択するためのアイコンとして表示させることができる。なお、合成画像については、図9乃至図19、図23乃至図25等を参照して詳細に説明する。
[カメラワークパラメータ検出例]
次に、画像変換に用いられるカメラワークパラメータ(アフィン変換パラメータ)を検出する検出方法について図面を参照して詳細に説明する。
図5は、動画を構成する画像の一例を示す図である。図6は、動画を構成する画像について背景等を省略して簡略化した画像を示す図である。図5(a)乃至(c)には、動画を構成する画像の一例として画像300を示す。また、図6(a)には、画像300の直後のフレームに対応する画像について背景等を省略して簡略化した画像320を示す。また、図6(b)および(c)には、画像300について背景等を省略して簡略化した画像330を示す。
図5および図6に示す画像300、320、330には、人が跨っている馬の像301、321、331と、馬の像301、321、331の手前に設置されている蛇の像302、322、332とが含まれている。また、図5に示すように、これらの像の背景には旗や椅子等が存在し、この旗が風になびいている。
図6(a)に示す画像320は、図5(a)乃至(c)および図6(b)および(c)に示す画像300、330に対応するフレームの直後のフレームに対応する画像を簡略化した画像である。また、2つの連続するフレームに対応する画像320および330は、画面内の被写体がしだいに小さくなる場合における遷移を示す画像である。すなわち、この撮影時には、画面内の被写体をしだいに小さくする操作であるズームアウト操作がされている。
本発明の第1の実施の形態では、動画を構成する画像全体から特徴点を検出し、この特徴点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。例えば、動画を構成する現フレームに対応する画像を画像tとし、画像tの直前の画像を画像t−1とする。すなわち、画像t−1および画像tは、動画を構成する連続する画像である。そして、画像t−1および画像tに関するアフィン変換パラメータを算出する場合には、画像tの画面全体における特徴点を抽出し、これらの各特徴点に対する画像tから画像t−1へのオプティカルフローを算出する。また、この例では、特徴点としてコーナー点を用いる場合について説明する。
例えば、図6(a)乃至(c)において、現フレームに対応する画像を画像320とし、画像320の直前フレームに対応する画像を画像330とする。また、図6(a)乃至(c)では、画像320から検出された3つのコーナー点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。
例えば、図6(a)に示す画像320において、特徴点として、馬の像321における口付近のコーナー点323と、馬の像321における人のお尻付近のコーナー点324と、蛇の像322の口付近のコーナー点325とが検出されたものとする。この場合において、図6(b)に示す画像330において、勾配法やブロックマッチング法等により、画像320におけるコーナー点323、324および325に対するオプティカルフロー337、338および339が検出される。そして、この検出されたオプティカルフロー337、338および339に基づいて、画像320におけるコーナー点323、324および325に対応するコーナー点333、334および335が検出される。
ここで、例えば、図6(a)および(b)に示す画像320および330に含まれる馬の像321、331や蛇の像322、332は、地面に設置されているものであるため、カメラの動きとは無関係に動くものではない。このため、馬の像321、331や蛇の像322、332について検出されたコーナー点に対して求められたオプティカルフローに基づいて、カメラの動きを正確に推定することができる。例えば、図6(c)に示すように、画像320の画像330に対する3つのオプティカルフロー337乃至339に基づいて、画像320が、点336を中心にして画像330を縮小したものであることを推定することができる。これにより、画像320の撮影時におけるカメラの動きは、点336を中心とするズームアウト動作であると判断することができる。このように、カメラの動きとは無関係に動くものではない物体についてコーナー点を検出し、このコーナー点に対して求められたオプティカルフローに基づいて、一定の規則性を備えるカメラの動きを正確に検出することができる。このため、これらのコーナー点に対して求められたオプティカルフローを用いて、アフィン変換パラメータを計算して求めることができる。
しかしながら、風になびいている旗等のように、カメラの動きとは無関係に動く物体が画像内に含まれる場合が考えられる。例えば、図5に示す画像300には、風になびいている旗が含まれている。このようなカメラの動きとは無関係に動く物体についてコーナー点が検出され、このコーナー点に対して求められたオプティカルフローを用いてカメラの動きを推定する場合には、カメラの動きを正確に推定することができない。
例えば、図5(b)に示す画像300について検出されたオプティカルフローを矢印で示すとともに、このオプティカルフローにより検出されたコーナー点を矢印の先端に白抜きの丸で示す。ここで、コーナー点303乃至305は、図6(b)および(c)に示すコーナー点333乃至335に対応するコーナー点である。また、コーナー点306乃至311は、馬の像301の背景に存在する旗について検出されたコーナー点である。そして、これらの旗が風になびいているため、風の影響による旗の動きがオプティカルフローとして検出されている。すなわち、コーナー点306乃至311に対応する各オプティカルフローは、カメラの動きとは無関係に動く旗について検出されたものである。このため、アフィン変換パラメータを計算する場合に用いられる3つのオプティカルフローに、コーナー点306乃至311のうちの少なくとも1つのコーナー点に対応するオプティカルフローが含まれている場合には、正確なカメラの動きを検出することができない。この場合には、正確なアフィン変換パラメータを計算することができない。
以上で示したように、例えば、カメラの動きとは無関係に動く物体に対するオプティカルフローと、カメラの動きとの関係で一定の規則性を備えるオプティカルフローとが、撮影画像から検出されることがある。ここで、カメラの動きとは無関係に動く物体に対するオプティカルフローは、例えば、図5(b)に示すコーナー点306乃至311に対応する各オプティカルフローである。また、カメラの動きとの関係で一定の規則性を備えるオプティカルフローは、例えば、図5(b)に示すコーナー点306乃至311に対応する各オプティカルフロー以外のオプティカルフローである。
このように、カメラの動きとは無関係に動く物体に対するオプティカルフローが検出されることがあるため、本発明の第1の実施の形態では、3個のオプティカルフローに基づいてアフィン変換パラメータを計算するアフィン変換パラメータ計算処理を複数回行う。このアフィン変換パラメータ計算処理により、複数のアフィン変換パラメータを算出し、これらの複数のアフィン変換パラメータの中から最適なアフィン変換パラメータを選択する。なお、この例では、動画を構成する各画像に含まれている動物体の大きさが、画像の面積に対して比較的小さいものとする。
ここで、アフィン変換について説明する。2次元座標上において、移動元の位置を(x,y)とし、アフィン変換後の移動先の位置を(x´,y´)とした場合に、アフィン変換の行列式は、式1で表すことができる。なお、式1の右辺の3×3の行列はアフィン行列である。
ここで、a乃至fは、アフィン変換パラメータである。また、このアフィン変換パラメータを行列AMとして次式で表すことができる。なお、X方向のズーム成分XZ、Y方向のズーム成分YZ、X方向の並進成分XT、Y方向の並進成分YT、X方向の回転成分θx、Y方向の回転成分θyについては、それぞれ次の式で求めることができる。なお、単位行列の場合には、a=e=1、b=c=d=f=0となる。
このように、アフィン変換パラメータから、カメラワークの各成分(X方向およびY方向のズーム成分、並進成分、回転成分)を求めることができる。なお、回転成分については、図7を参照して説明する。
図7は、アフィン変換パラメータを用いて矩形340が変換された場合を示す図である。図7に示すように、矩形340の1つの頂点を原点とし、この原点に対応する頂点に接する矩形340の2辺のそれぞれをx軸およびy軸とするxy座標において、所定のアフィン変換パラメータを用いて矩形340が変換された後の矩形を矩形341とする。この場合に、矩形340および341のx軸側の辺により形成される角度を回転成分θxとし、矩形340および341のy軸側の辺により形成される角度を回転成分θyとする。
次に、カメラワーク成分の加算値の算出方法について説明する。
カメラワーク成分の加算値は、先頭のフレームから現フレームまでの各フレームに対応するカメラワークの各成分を加算した値である。例えば、先頭のフレームから現フレームまでの各フレームをフレーム1乃至5とし、これらのフレーム1乃至5のカメラワーク成分のX方向の並進成分をそれぞれXT1乃至XT5とする。この場合において、カメラワーク成分のX方向の並進成分の加算値は、「XT1+XT2+XT3+XT4+XT5」により算出することができる。
次に、アフィン変換パラメータの計算方法について説明する。
最初に、動画を構成するフレームの中の1つのフレームである現フレームに対応する画像において、オプティカルフローが検出された特徴点の中から3個の特徴点が選択される。例えば、図5(b)に示す画像300において検出されたコーナー点(白抜きの丸で示す)の中からランダムに3個のコーナー点が選択される。なお、カメラワークパラメータとして、射影変換パラメータを用いる場合には、4個の特徴点がランダムに選択される。
続いて、選択された3個の特徴点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算される。例えば、図5(b)に示す画像300におけるコーナー点(白抜きの丸で示す)の中から選択された3個のコーナー点に対応するオプティカルフロー(白抜きの丸に接続される矢印で示す)を用いてアフィン変換パラメータが計算される。このアフィン変換パラメータは、式1を用いて求めることができる。
続いて、求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される。具体的には、求められたアフィン変換パラメータを用いて、現フレームの直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、直前のフレームにおいて検出された特徴点の位置とを比較して、互いに対応する2つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する2つの特徴点の位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。このように、オプティカルフローが検出された特徴点の中から3個の特徴点をランダムに選択する。そして、これらの特徴点に対応するオプティカルフローに基づいてアフィン変換パラメータのスコアを算出する処理を所定回数繰り返し、アフィン変換パラメータのスコアを複数算出する。この所定回数は、比較の対象となる画像の種類や画像処理装置100の処理能力等に応じて適宜設定するようにしてもよく、固定値を用いるようにしてもよい。この所定回数として、例えば、画像処理装置100の処理能力を考慮して20回程度と設定することができる。
例えば、図5(b)に示す画像300において検出されたコーナー点の中から、コーナー点306乃至311以外のコーナー点が3個選択された場合を考える。このように選択された3個のコーナー点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この3個のオプティカルフローは一定の規則性を備えている。このため、現フレームに対応する画像を一定の規則に従って変換させるアフィン変換パラメータが求められる。また、アフィン変換パラメータを用いて求められたコーナー点の位置と、直前のフレームにおいて検出されたコーナー点の位置とについて、コーナー点306乃至311以外のコーナー点に関して求められる差分値は、比較的小さい値が算出される。このため、アフィン変換パラメータのスコアは、大きい値になる。
一方、図5(b)に示す画像300において検出されたコーナー点の中から、コーナー点306乃至311のうちの少なくとも1個を含む3個のコーナー点が選択された場合を考える。このように選択された3個のコーナー点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この3個のオプティカルフローには、一定の規則性を備えていないオプティカルフローが含まれる。このため、現フレームに対応する画像を一定の規則に従って変換させるものではないアフィン変換パラメータが求められる。また、アフィン変換パラメータを用いて求められたコーナー点の位置と、直前のフレームにおいて検出されたコーナー点の位置とについて求められる差分値は、任意のコーナー点で比較的大きい値が算出される。このため、アフィン変換パラメータのスコアは、小さい値になる。
続いて、求められた複数のアフィン変換パラメータのスコアの中で、スコアの値が最も大きいアフィン変換パラメータを代表アフィン変換パラメータとして選択する。そして、選択された代表アフィン変換パラメータの行列に対する逆行列を算出して、この逆行列のアフィン変換パラメータを現フレームに関連付けてメタデータ記憶部210に記録する。これにより、動画を構成する画像をアフィン変換する場合に、最適なアフィン変換パラメータを用いてアフィン変換することができる。
以上で示したように、動画を構成する各画像に人物や車等の動いている物体(動物体)が含まれている場合でも、画像の面積に対するその動物体の大きさが比較的小さい場合には、動物体の影響を受けずにカメラの動きを抽出することができる。
また、カメラの動きを抽出することによって、ズームイン、ズームアウト、パン、チルト、ローテーション等の意図的に撮影者が移動させたと思われる動きを推定することができる。なお、式1において、a=e、d=−bとして、2個のオプティカルフローに基づいてアフィン変換パラメータを算出することができる。例えば、3個のオプティカルフローに基づいて計算されたアフィン変換パラメータを用いて、画像をアフィン変換する場合には、長方形の画像が平行四辺形に変形される場合がある。これに対して、2個のオプティカルフローに基づいて計算されたアフィン変換パラメータを用いて、画像をアフィン変換する場合には、並進移動、回転、ズーム(xy方向のズーム率が同じもの)の少なくとも1つの変換を長方形の画像の状態で行うことができる。本発明の第1の実施の形態では、3個のオプティカルフローに基づいて計算されたアフィン変換パラメータを用いて画像を変換する例について説明する。ただし、2個のオプティカルフローに基づいて計算されたアフィン変換パラメータを用いて画像を変換する場合についても同様に適用することができる。
次に、本発明の第1の実施の形態における画像処理装置100の動作について図面を参照して説明する。
図8は、本発明の第1の実施の形態における画像処理装置100によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
最初に、動画入力部110に動画ファイルが入力され(ステップS901)、変数tが「0」に初期化される(ステップS902)。続いて、動画入力部110に入力された動画ファイルがデコードされ、時系列の順序で1つのフレームの画像が取得される(ステップS903)。続いて、取得された1つのフレーム(以下では、「フレームt」と称する。)が動画入力部110に入力された動画ファイルの先頭のフレーム(すなわち、t=0)であるか否かが判断される(ステップS904)。フレームtが先頭のフレームである場合には(ステップS904)、アフィン変換パラメータとして単位行列のアフィン変換パラメータが選択され(ステップS905)、ステップS915に進む。一方、フレームtが先頭のフレームではない場合(すなわち、t=0でない場合)には(ステップS904)、フレームtに対応する画像全体から特徴点が抽出される(ステップS906)。
続いて、フレームtに対応する画像全体から抽出された各特徴点について、時間軸における直前のフレーム(以下では、「フレームt−1」と称する。)に対するオプティカルフローが算出される(ステップS907)。すなわち、図5(b)に示すように、各コーナー点に対するオプティカルフローが算出される。また、この算出されたオプティカルフローにより、フレームt−1に対応する画像における特徴点が検出される。
続いて、変数iが「0」に初期化される(ステップS908)。続いて、オプティカルフローが検出された特徴点の中から、M個の特徴点が選択される(ステップS909)。例えば、カメラワークパラメータとして、アフィン変換パラメータを用いる場合には、3個の特徴点がランダムに選択される。また、カメラワークパラメータとして、射影変換パラメータを用いる場合には、4個の特徴点がランダムに選択される。続いて、選択されたM個の特徴点に対応して計算されたM個のオプティカルフローに基づいて、アフィン変換パラメータが算出される(ステップS910)。
続いて、算出されたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが算出される(ステップS911)。具体的には、算出されたアフィン変換パラメータを用いて、フレームtに対応する画像における全ての特徴点の移動先の位置(すなわち、フレームt−1に対する画像における位置)が求められる。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、ステップS907でオプティカルフローを算出した際に求められたフレームt−1に対応する画像における特徴点の位置とが比較される。この比較により、互いに対応する2つの特徴点の位置の差分値が特徴点毎に算出される。この差分値として、例えば、互いに対応する2つの位置間の絶対距離が計算される。続いて、算出された差分値と、予め設定されている閾値とが特徴点毎に比較され、その差分値が閾値よりも小さい特徴点の個数がアフィン変換パラメータのスコアとして算出される。
続いて、変数iに「1」が加算され(ステップS912)、変数iが、定数Nよりも大きいか否かが判断される(ステップS913)。変数iが、定数N以下である場合には(ステップS913)、ステップS909に戻り、アフィン変換パラメータのスコア算出処理を繰り返す(ステップS909乃至S911)。例えば、定数Nとして、20を用いることができる。
一方、変数iが定数Nよりも大きい場合には(ステップS913)、算出されたアフィン変換パラメータのスコアのうちで、スコアの値が最も大きいアフィン変換パラメータが代表アフィン変換パラメータとして選択される(ステップS914)。続いて、選択された代表アフィン変換パラメータのアフィン行列に対する逆行列が算出され(ステップS915)、この逆行列のアフィン変換パラメータが、フレームtに関連付けてメタデータ記憶部210に記録される(ステップS916)。なお、フレームtが先頭のフレームである場合には、単位行列のアフィン変換パラメータが、先頭のフレームに関連付けてメタデータ記憶部210に記録される(ステップS916)。続いて、フレームtに対応する画像が上書き保存される(ステップS917)。
続いて、フレームtが、動画入力部110に入力された動画ファイルの最後のフレームであるか否かが判断される(ステップS918)。フレームtが、最後のフレームではない場合には(ステップS918)、変数tに「1」が加算され(ステップS919)、ステップS903に戻り、アフィン変換パラメータ検出処理を繰り返す(ステップS903乃至S917)。一方、フレームtが、最後のフレームである場合には(ステップS918)、アフィン変換パラメータ検出処理を終了する。
本発明の第1の実施の形態では、カメラワークパラメータの検出として、動画を構成する画像において検出されたオプティカルフローに基づいてアフィン変換パラメータを検出する例について説明した。しかしながら、加速度センサやジャイロセンサ等のセンサやズーム操作をする際に用いられるズームボタンをカメラに設け、このセンサやズームボタンを用いてカメラワークパラメータを求めるようにしてもよい。すなわち、このセンサやズームボタンにより撮影時におけるカメラの移動量を検出し、このカメラの移動量に基づいてカメラワークパラメータを求めることができる。また、例えば、画像t−1の画面全体における各特徴点について算出された画像t−1から画像tへのオプティカルフローを用いて、画像t−1および画像tに関するアフィン変換パラメータを算出するようにしてもよい。
[画像合成例]
次に、カメラワーク検出部120により算出されたアフィン変換パラメータを用いて、動画を構成する画像を合成して合成画像を作成する場合について図面を参照して詳細に説明する。なお、図9乃至図17に示す各画像は、説明のため、簡略化するとともに、連続する2つのフレーム間の移動量を大きくして示している。また、図9乃至図17に示す例では、時間軸において前のフレームに対応する画像に後のフレームに対応する画像を順次上書きして合成する場合を例にして示す。
最初に、カメラの撮影時において、倍率が変更されないものの、カメラの位置を中心として、カメラのレンズの方向が上下左右の何れかに移動されている場合について説明する。
図9は、カメラにより撮影された動画の遷移の一例を示す図である。図9には、山を背景にして人400を撮影した場合における動画に含まれる連続するフレームに対応する画像401乃至403を示す。この例では、カメラのレンズの方向を右および上側に移動しながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人400が、その動画を構成する画像において右側から左側に移動するとともに下側に移動する。
図10は、本発明の第1の実施の形態におけるオプティカルフロー算出部122によりオプティカルフローを算出する場合におけるオプティカルフロー算出例を示す図である。なお、図10(b)および(c)に示す画像402および403において、直前のフレームに対応する画像を破線で示す。図10(a)に示す画像401は、図9(a)に示す画像401と同じものである。また、図10(b)に示す画像402のうちの実線の部分は、図9(b)に示す画像402と同じものであり、図10(b)に示す画像402のうちの破線の部分は、図10(a)に示す画像401の実線の部分と同じものである。また、図10(b)に示す画像402における矢印404乃至406は、画像402から検出されたオプティカルフローの一例を示す。同様に、図10(c)に示す画像403のうちの実線の部分は、図9(c)に示す画像403と同じものであり、図10(c)に示す画像403のうちの破線の部分は、図10(b)に示す画像402の実線の部分と同じものである。また、図10(c)に示す画像403における矢印407乃至409は、画像403から検出されたオプティカルフローの一例を示す。
図10(b)および(c)に示すように、カメラの移動に合わせて、画像に含まれる人400および背景の山が移動する。この移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図11は、本発明の第1の実施の形態における画像合成部190により動画を構成する画像を合成する場合における画像合成例を示す図である。この例では、画像401が先頭のフレームに対応する画像であるものとする。
例えば、画像401に関連付けられているアフィン変換パラメータのアフィン行列をA1とする場合に、画像変換部180が、先頭のフレームの画像401の位置および大きさを基準にして、A1の行列により画像401をアフィン変換する。ここで、画像401は先頭のフレームに対応する画像であるため、A1は単位行列である。このため、画像401の位置および大きさは変換されない。また、画像401をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。
続いて、次のフレームに対応する画像402が合成される場合には、画像変換部180が、画像402に関連付けられているアフィン変換パラメータを用いて画像402をアフィン変換する。例えば、画像402に関連付けられているアフィン変換パラメータの行列をA2とし、画像401に関連付けられているアフィン変換パラメータの行列をA1とする。この場合において、画像変換部180が、A1×A2の値を算出し、先頭のフレームの画像401の位置および大きさを基準にして、算出されたA1×A2の行列により画像402をアフィン変換する。なお、図11(b)に示す例では、矢印415および416に示すように、画像402の位置のみが変換される。続いて、画像合成部190が、画像変換部180によりアフィン変換された画像402を、直前のフレームに対応する画像401に重なるように上書きして合成する。すなわち、画像401の領域のうちで、画像402と重複する領域410については、画像402の画像が上書きされる。また、画像401の領域のうちで、画像402と重複しない領域411については、画像402の画像が上書きされない。すなわち、2つ目のフレームに対応する画像402が合成される場合には、図11(b)に示すように、画像402の全体部分と、画像401のうちの領域411に対応する部分とが合成された画像が作成される。また、画像402をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。
続いて、次のフレームに対応する画像403が表示される場合には、画像変換部180が、画像403に関連付けられているアフィン変換パラメータを用いて画像403をアフィン変換する。すなわち、画像401乃至403に対応するアフィン変換パラメータの各アフィン行列を用いて画像403がアフィン変換される。例えば、画像403に対応するアフィン変換パラメータの行列をA3とし、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする。この場合において、画像変換部180が、A1×A2×A3の値を算出し、先頭のフレームの画像401の位置および大きさを基準にして、算出されたA1×A2×A3の行列により画像403をアフィン変換する。なお、図11(c)に示す画像においては、矢印417および418に示すように、画像403の位置のみが変換される。続いて、画像合成部190が、画像変換部180によりアフィン変換された画像403を、前のフレームに対応する画像401および402の合成画像に重なるように上書きして合成する。すなわち、画像401および402の合成画像の領域のうちで、画像403と重複する領域413および414については、画像403の画像が上書きされる。また、画像401および402の合成画像の領域のうちで、画像403と重複しない領域411および412については、画像401および402の合成画像が合成される。すなわち、3つ目のフレームに対応する画像403が合成される場合には、図11(c)に示すように、画像403の全体部分と、画像401のうちの領域411に対応する部分と、画像402のうちの領域412に対応する部分とが合成された画像が作成される。また、画像403をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。このように、現フレームに対応する画像をアフィン変換する場合には、先頭のフレームから現フレームまでの各フレームに対応するアフィン変換パラメータのアフィン行列を用いて、現フレームに対応する画像がアフィン変換される。このアフィン変換の際に求められたアフィン変換パラメータが画像変換部180に保持され、次のアフィン変換で用いられる。また、図14および図17の場合についても同様である。
次に、カメラの撮影時において、カメラのレンズの方向は移動されないものの、倍率が変更されている場合について説明する。
図12は、カメラにより撮影された動画の遷移の一例を示す図である。図12には、山を背景にして人420を撮影した場合における動画に含まれる連続するフレームに対応する画像421乃至423を示す。この例では、カメラのレンズの倍率を上げながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人420が、その動画を構成する画像において次第に大きくなる。なお、倍率を上げる際にカメラの位置が多少移動する場合があるものの、この例では、カメラの位置の移動については考慮せずに説明する。
図13は、本発明の第1の実施の形態におけるオプティカルフロー算出部122によりオプティカルフローを算出する場合におけるオプティカルフロー算出例を示す図である。なお、図13(b)および(c)に示す画像422および423において、直前のフレームに対応する画像を破線で示す。図13(a)に示す画像421は、図12(a)に示す画像421と同じものである。また、図13(b)に示す画像422のうちの実線の部分は、図12(b)に示す画像422と同じものであり、図13(b)に示す画像422のうちの破線の部分は、図12(a)に示す画像421の実線の部分と同じものである。また、図13(b)に示す画像422における矢印424乃至426は、画像422から検出されたオプティカルフローの一例を示す。同様に、図13(c)に示す画像423のうちの実線の部分は、図12(c)に示す画像423と同じものであり、図13(c)に示す画像423のうちの破線の部分は、図12(b)に示す画像422の実線の部分と同じものである。また、図13(c)に示す画像423における矢印427乃至429は、画像423から検出されたオプティカルフローの一例を示す。
図13(b)および(c)に示すように、倍率の変更に合わせて、画像に含まれる人420および背景の山の大きさが変更する。この変更により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図14は、本発明の第1の実施の形態における画像合成部190により動画を構成する画像を合成する場合における画像合成例を示す図である。この例では、画像421が先頭のフレームに対応する画像であるものとする。
例えば、画像422が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像422がアフィン変換される。図14(b)に示す例では、矢印で示すように、画像422の大きさのみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像422が、直前のフレームに対応する画像421に重なるように上書きされる。すなわち、画像421の領域のうちで、画像422と重複する領域については、画像422の画像が上書きされる。この場合には、画像421は、画像422の全ての領域と重複しているため、画像421に画像422の全ての画像が上書きされる。また、画像421の領域のうちで、画像422と重複しない領域431については、画像421の画像が合成される。すなわち、2つ目のフレームに対応する画像422が合成される場合には、図14(b)に示すように、画像422の全体部分と、画像421のうちの領域431に対応する部分とが合成される。また、画像422をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。
続いて、次のフレームに対応する画像423が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像423がアフィン変換される。すなわち、画像421乃至423に対応するアフィン変換パラメータの各アフィン行列を乗算して求められたアフィン変換パラメータにより画像423がアフィン変換される。図14(c)に示す例では、矢印で示すように、画像423の大きさのみが変換される。そして、アフィン変換された画像423が、前のフレームに対応する画像421および422の合成画像に重なるように上書きされる。すなわち、画像421および422の合成画像の領域のうちで、画像423と重複する領域については、画像423の画像が上書きされる。この場合には、画像423は、画像421および422の全ての領域と重複しているため、画像421および422の合成画像に画像423の全ての画像が上書きされる。また、画像421および422の合成画像の領域のうちで、画像423と重複しない領域432および433については、画像421および422の合成画像が合成される。すなわち、3つ目のフレームに対応する画像423が合成される場合には、図14(c)に示すように、画像423の全体部分と、画像421のうちの領域432に対応する部分と、画像422のうちの領域433に対応する部分とが合成される。また、画像423をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。すなわち、画像421乃至423のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部180に保持される。
次に、カメラの撮影時において、カメラのレンズの方向や倍率は変更されないものの、光軸方向を回転中心にしてカメラが回転されている場合について説明する。
図15は、カメラにより撮影された動画の遷移の一例を示す図である。図15には、山を背景にして人440を撮影した場合における動画に含まれる連続するフレームに対応する画像441乃至443を示す。この例では、光軸方向を回転中心にしてカメラを回転しながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人440が、その動画を構成する画像において回転していく。なお、カメラの回転によりカメラの位置が多少移動する場合があるものの、この例では、カメラの位置の移動については考慮せずに説明する。
図16は、本発明の第1の実施の形態におけるオプティカルフロー算出部122によりオプティカルフローを算出する場合におけるオプティカルフロー算出例を示す図である。なお、図16(b)および(c)に示す画像442および443において、直前のフレームに対応する画像を破線で示す。図16(a)に示す画像441は、図15(a)に示す画像441と同じものである。また、図16(b)に示す画像442のうちの実線の部分は、図15(b)に示す画像442と同じものであり、図16(b)に示す画像442のうちの破線の部分は、図15(a)に示す画像441の実線の部分と同じものである。また、図16(b)に示す画像442における矢印444乃至446は、画像442から検出されたオプティカルフローの一例を示す。同様に、図16(c)に示す画像443のうちの実線の部分は、図15(c)に示す画像443と同じものであり、図16(c)に示す画像443のうちの破線の部分は、図15(b)に示す画像442の実線の部分と同じものである。また、図16(c)に示す画像443における矢印447乃至449は、画像443から検出されたオプティカルフローの一例を示す。
図16(b)および(c)に示すように、カメラの回転に合わせて、画像に含まれる人440および背景の山が回転移動する。この回転移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図17は、本発明の第1の実施の形態における画像合成部190により動画を構成する画像を合成する場合における画像合成例を示す図である。この例では、画像441が先頭のフレームに対応する画像であるものとする。
例えば、画像442が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像442がアフィン変換される。図17(b)に示す例では、矢印で示すように、画像442の角度のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像442が、直前のフレームに対応する画像441に重なるように上書きされる。すなわち、画像441の領域のうちで、画像442と重複する領域450については、画像442の画像が上書きされる。また、画像441の領域のうちで、画像442と重複しない領域451および452については、画像441の画像が合成される。すなわち、2つ目のフレームに対応する画像442が合成される場合には、図17(b)に示すように、画像442の全体部分と、画像441のうちの領域451および452に対応する部分とが合成される。また、画像442をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。
続いて、次のフレームに対応する画像443が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像443がアフィン変換される。すなわち、画像441乃至443に対応するアフィン変換パラメータの各アフィン行列を乗算して求められたアフィン変換パラメータにより画像423がアフィン変換される。図17(c)に示す例では、矢印で示すように、画像443の角度のみが変換される。そして、アフィン変換された画像443が、前のフレームに対応する画像441および442の合成画像に重なるように上書きされる。すなわち、画像441および442の合成画像の領域のうちで、画像443と重複する領域453乃至457については、画像443の画像が上書きされる。また、画像441および442の合成画像の領域のうちで、画像443と重複しない領域458乃至461については、画像441および442の合成画像がさらに合成される。すなわち、3つ目のフレームに対応する画像443が合成される場合には、図17(c)に示すように、画像443の全体部分と、画像441のうちの領域459に対応する部分と、画像442のうちの領域458および460に対応する部分とが合成される。また、画像443をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。すなわち、画像441乃至443のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部180に保持される。
次に、実際にカメラにより撮影された動画を合成する場合における合成例を示す。
図18および図19は、カメラにより撮影された動画を構成する画像を合成する際の遷移の一例を示す図である。同図では、公園の広場で遊んでいる家族を、カメラを移動させながら撮影された場合における動画について合成画像を作成する例を示す。また、同図では、黒くした矩形領域760乃至765内に合成画像を順次表す例を示す。すなわち、矩形領域760乃至765には、現フレームおよび前の各フレームに対応する画像が合成された領域のみに合成画像を描画し、その他の領域を黒くする。また、現フレームに対応する画像の周りには枠を示す。なお、同図では、動画が合成されている途中からの合成例を示す。また、実際ではフレーム毎に画像が順次合成されるが、同図では、所定数のフレーム間隔毎の合成の遷移を示し、このフレーム間に合成される合成画像の図示を省略する。このため、現フレームに対応する枠の移動が、同図では大きいものとなっている。同図に示すように、撮影された画像に含まれる撮影対象物(公園の広場等)が画面に固定され、現フレームに対応する画像がカメラの動きに合わせて矩形領域上を移動しながら、画像が合成される。
このように、カメラワーク検出部120により算出されたアフィン変換パラメータを用いて、動画を構成する各画像を順次合成して合成画像を作成することができる。ここで、図9乃至図17に示すように、例えば、静止している人を撮像した動画について合成画像を作成する場合には、その人と背景とが含まれるパノラマ状の合成画像を作成することができる。ここで、例えば、移動している人を中心にして撮影した動画について、上述した画像合成方法により合成画像を作成する場合を想定する。この場合には、時間軸における前半部分の画像に含まれる人の領域に後半部分の画像が上書きされることにより、前半部分の画像に含まれる人が消えてしまう可能性がある。そこで、以下では、移動している人を中心にして撮影した動画について、上述した画像合成方法により合成画像を作成する場合について図面を参照して詳細に説明する。
図20および図21は、雪山の斜面をスノーボードで滑走する人(スノーボーダー)を撮像した場合における一定間隔毎の撮像範囲を概略的に示す図である。図20および図21では、一定間隔毎の撮像範囲451乃至455を時系列で示す。すなわち、図20(a)に示す撮像範囲451は撮像動作の開始時における撮像範囲であり、図21(b)に示す撮像範囲455は撮像動作の終了時における撮像範囲である。また、撮像範囲451から撮像範囲455までの一定間隔毎の撮像範囲を時系列で、撮像範囲452乃至454として示す。なお、図20(b)および(c)、図21(a)および(b)では、現フレームの前の各フレームに対応する各撮像範囲を破線で示す。
例えば、図20(b)に示すように、撮像範囲452が撮像範囲451を含む場合に、撮像範囲452に対応する画像を撮像範囲451に対応する画像に上書きすると、撮像範囲451に含まれる人が消えてしまう。同様に、例えば、図20(c)に示すように、撮像範囲453が撮像範囲452の一部を含む場合に、撮像範囲453に対応する画像を撮像範囲452に対応する画像に上書きすると、撮像範囲452に含まれる人の一部が消えてしまう。ここで、図20および図21では、一定間隔毎の撮像範囲のみを示すため、撮像範囲452乃至454に含まれる人は、他の撮像範囲と全部が重複していない。しかしながら、動画を構成する全ての画像を合成する場合には、撮像範囲451乃至454に含まれる人が完全に消えてしまう可能性が高い。
図22は、図20および図21に示す撮像範囲451乃至455に対応する撮像画像461乃至465と、撮像画像461乃至465を含む動画により作成される合成画像466とを概略的に示す図である。図22(a)には、図20および図21に示す撮像範囲451乃至455に対応する撮像画像461乃至465を時系列で示す。また、図22(b)には、撮像画像461乃至465を含む動画460を時系列で模式的に示す。なお、図22(b)に示す動画460の時間軸において、撮像画像461乃至465に対応する位置に、撮像画像461乃至465と同一の符号を付す。図22(c)には、撮像画像461乃至465を含む動画460により作成される合成画像466を概略的に示す。なお、合成画像466において、図22(a)に示す撮像画像461乃至465に対応する位置を破線で示し、同一の符号を付す。
例えば、画像461乃至465を含む動画460について合成画像を作成する場合には、図22(c)に示すように、撮像動作の最終時の撮像範囲に含まれる人のみが含まれる合成画像466が作成されることが想定される。このように、前半部分の画像に含まれる人が消えるとともに、後半部分の画像の被写体が多く含まれる合成画像が作成される可能性がある。例えば、再生すべき動画を選択するためのアイコンとして合成画像を表示する場合を考える。このように、アイコンとして合成画像を表示する場合には、動画の後半部分の画像に含まれる被写体が合成画像に多く含まれることになるため、その動画の後半部分をユーザが容易に把握することができる。しかしながら、例えば、動画460の最終時における撮像画像465に含まれるスノーボーダーの歓喜の姿のように、ユーザが最も高い興味をもつと考えられるシーンを、動画の再生前に見せられるため、興味が低減してしまうおそれがある。すなわち、最終フレームに対応する画像が合成画像に含まれることになるため、動画の再生前にそのストーリーの最後が理解できてしまうため、興味が低減してしまうおそれがある。
そこで、移動している人が撮像された動画について合成画像を作成する場合に、その動画に対する興味を低減させないように、例えば、動画を構成する各画像のうち、時間軸において後の画像に前の画像を上書きして合成することが考えられる。例えば、時間軸において後のフレームから先頭のフレームに向かって画像合成を行うことが考えられる。ここで、例えば、MPEG−2形式のようにフレーム間情報を用いてエンコードされている動画について、後のフレームから先頭のフレームに向かって画像合成を行う場合を考える。例えば、後ろのフレームからデコードするためには、GOP(Group Of Picture)内で時刻順に全てデコードし、このデコードされた各フレームをメモリに記録しておき、このメモリに記録された後のフレームから順次取得する必要がある。このため、時間軸において後のフレームから先頭のフレームに向かって画像合成を行う場合には、合成画像処理に要する時間が長くなる。しかしながら、再生すべき動画を選択するためのアイコンとして合成画像を表示する場合において、例えば、対象となる動画が多数である場合には処理時間を短縮させることが重要となる。
そこで、以下では、時間軸において先頭のフレームから後のフレームに向かって合成処理を行うとともに、後の画像に前の画像を上書きして合成する例について図面を参照して詳細に説明する。
図23乃至図25は、本発明の第1の実施の形態における第1の画像メモリ220および第2の画像メモリ230を用いて作成される合成画像の遷移を示す図である。ここで、図23および図24では、動画を構成する各画像を示す矩形内に、各画像を識別するための識別番号を付して説明する。また、現フレームに対応する画像の枠を太線で示す。なお、図23乃至図25に示す第1の画像メモリ220および第2の画像メモリ230において、画像を示す矩形が存在する領域以外の領域は、α値として0が設定された領域とする。ここで、α値は、透明度を表す数値であり、RGB(赤(Red)、緑(Green)、青(Blue))の透明度を0〜255の範囲内で変更するものである。
最初に、図23(a)に示すように、画像合成部190が、動画を構成する先頭のフレームに対応する画像(#0)470を第1の画像メモリ220に保持させる。ここで、先頭のフレームに対応する画像を保持させる位置およびその大きさは、予め設定された位置および大きさとすることができる。また、例えば、合成処理の対象となる動画を構成する各画像に関連付けられているアフィン変換パラメータを用いて合成画像の大きさを予め算出し、この大きさに基づいて、先頭の画像を保持させる位置およびその大きさを決定するようにしてもよい。
続いて、図23(b)に示すように、画像合成部190が、動画を構成する2番目のフレームに対応する画像(#1)471を第2の画像メモリ230に保持させる。具体的には、画像変換部180が、画像(#0)470を基準画像として、画像(#0)470および(#1)471に関連付けられているアフィン変換パラメータを用いて、画像(#1)471をアフィン変換する。そして、画像合成部190が、アフィン変換後の画像(#1)471を第2の画像メモリ230に保持させる。ここで、図23(b)に示す第2の画像メモリ230における破線の矩形480は、第1の画像メモリ220に保持されている画像(#0)470の位置および大きさを示す領域である。
続いて、図23(c)に示すように、画像合成部190が、第1の画像メモリ220に保持されている画像(#0)470を取り出し、取り出された画像(#0)470を第2の画像メモリ230に保持させる。この場合に、画像(#0)470が第2の画像メモリ230に貼り付けられる位置および大きさは、第1の画像メモリ220に保持されている位置および大きさと同じとする。また、画像(#0)470は、第2の画像メモリ230に保持されるとともに、第1の画像メモリ220にも保持された状態とする。
続いて、画像合成部190が、現フレームに対応する画像(#1)471と、直前のフレームに対応する画像(#0)470とを含む上書画像取出領域481の位置および大きさを算出する。この上書画像取出領域の算出方法については、図26および図27を参照して詳細に説明する。
続いて、図24(a)に示すように、画像合成部190が、動画を構成する3番目のフレームに対応する画像(#2)472を第1の画像メモリ220に保持させる。具体的には、画像変換部180が、画像(#0)470を基準画像として、画像(#0)470乃至(#2)472に関連付けられているアフィン変換パラメータを用いて、画像(#2)472をアフィン変換する。そして、画像合成部190が、アフィン変換後の画像(#2)472を第1の画像メモリ220に保持させる。
続いて、図24(b)に示すように、画像合成部190が、第2の画像メモリ230に保持されている画像のうち、上書画像取出領域481に含まれる画像を取り出し、取り出された画像を第1の画像メモリ220に保持させる。図24(b)に示す例では、画像(#0)470および(#1)471からなる合成画像のみが上書画像取出領域481に含まれるため、画像(#0)470および(#1)471からなる合成画像が取り出される。そして、第1の画像メモリ220に保持される。ここで、画像(#0)470および(#1)471からなる合成画像が第1の画像メモリ220に貼り付けられる位置および大きさは、第2の画像メモリ230に保持されている位置および大きさと同じとする。また、画像(#0)470および(#1)471を含む合成画像は、第1の画像メモリ220に保持されるとともに、第2の画像メモリ230にも保持された状態とする。
続いて、図24(c)に示すように、画像合成部190が、現フレームに対応する画像(#2)472と、直前のフレームに対応する画像(#1)471とを含む上書画像取出領域482の位置および大きさを算出する。
続いて、図25(a)に示すように、画像合成部190が、動画を構成する4番目のフレームに対応する画像(#3)473を第2の画像メモリ230に保持させる。具体的には、画像変換部180が、画像(#0)470を基準画像として、画像(#0)470乃至(#3)473に関連付けられているアフィン変換パラメータを用いて、画像(#3)473をアフィン変換する。そして、画像合成部190が、アフィン変換後の画像(#3)473を第2の画像メモリ230に保持させる。
続いて、図25(b)に示すように、画像合成部190が、第1の画像メモリ220に保持されている画像のうち、上書画像取出領域482に含まれる画像を取り出し、取り出された画像を第2の画像メモリ230に保持させる。図25(b)に示す例では、画像(#0)470乃至(#2)472からなる合成画像のうちの一部が上書画像取出領域482に含まれる。すなわち、画像(#1)471および(#2)472からなる合成画像の全部と、画像(#0)470の一部とが上書画像取出領域482に含まれる。この上書画像取出領域482に含まれる合成画像が取り出され、第2の画像メモリ230に保持される。ここで、上書画像取出領域482に含まれる合成画像が第2の画像メモリ230に貼り付けられる位置および大きさは、第1の画像メモリ220に保持されている位置および大きさと同じとする。また、上書画像取出領域482に含まれる合成画像は、第2の画像メモリ230に保持されるとともに、第1の画像メモリ220にも保持された状態とする。
続いて、図25(c)に示すように、画像合成部190が、現フレームに対応する画像(#3)473と、直前のフレームに対応する画像(#2)472とを含む上書画像取出領域483の位置および大きさを算出する。
続いて、動画を構成する5番目以降のフレームについても、同様に、第1の画像メモリ220および第2の画像メモリ230を用いて合成画像が作成される。このように、現フレームに対応する画像が1つの画像メモリに貼り付けられた後に、他の画像メモリにおける上書画像取出領域に含まれる合成画像が取り出される。そして、取り出された合成画像が、現フレームに対応する画像が貼り付けられた画像メモリに貼り付けられる。このため、時間軸において先頭のフレームから後のフレームに向かって合成処理を行うとともに、後の画像に前の画像を上書きして合成することができる。
ここで、合成画像記憶部240に記憶させる合成画像は、例えば、合成対象となる最後のフレームに対応する画像が貼り付けられた画像メモリ上に作成された合成画像とする。例えば、図24(c)に示すように、画像(#2)472が第1の画像メモリ220に貼り付けられた場合において、画像(#2)472が最後のフレームである場合を想定する。この場合には、第1の画像メモリ220上に作成された合成画像(画像(#0)470乃至(#2)472からなる合成画像)が合成画像記憶部240に記憶させる合成画像として設定される。また、例えば、図25(c)に示すように、画像(#3)473が第2の画像メモリ230に貼り付けられた場合において、画像(#3)473が最後のフレームである場合を想定する。この場合には、第2の画像メモリ230上に作成された合成画像(画像(#0)470乃至(#3)473からなる合成画像)が合成画像記憶部240に記憶させる合成画像として設定される。
また、合成画像の分割指示が合成画像分割判定部170から画像合成部190に出力された場合には、同一の動画について新たな合成画像が作成される。この場合には、合成画像記憶部240に記憶させる合成画像は、例えば、分割の直前に画像が貼り付けられた画像メモリ上に作成された合成画像とする。
また、この例では、上書画像取出領域の範囲を現フレームおよび直前のフレームの2つのフレームを含む範囲とする場合について説明した。しかしながら、例えば、現フレームおよび直前の2つ以上のフレームを含む範囲を上書画像取出領域の範囲とするようにしてもよい。
次に、上書画像取出領域の位置および大きさを算出する算出方法について図面を参照して詳細に説明する。
図26および図27は、本発明の第1の実施の形態における画像合成部190による上書画像取出領域の位置および大きさを算出する場合における算出方法の概略を示す図である。この算出方法では、現フレームおよび直前のフレームを含む矩形領域を上書画像取出領域とする例について説明する。また、図26および図27に示す矩形470乃至473は、図23乃至図25に示す画像(#0)470の4つの頂点がアフィン変換された後の各点により形成される矩形である。また、これらの矩形470乃至473の大きさは、図23乃至図25に示す画像(#0)470乃至(#3)473と同様であるため、これらの矩形には画像(#0)470乃至(#3)473と同一の符号を付して説明する。
最初に、図23乃至図25に示す動画を構成する先頭のフレームに対応する画像(#0)470を基準画像とする場合に、図24(c)に示す上書画像取出領域482を算出する場合について説明する。例えば、図26(a)に示すように、画像(#0)470の左上の頂点601を原点とするxy座標を設定する。また、画像(#0)470の他の頂点を頂点602乃至604とする。例えば、画像(#0)470の解像度が640画素×480画素の場合には、頂点601の座標は(0,0)とされ、頂点602の座標は(640,0)とされ、頂点603の座標は(640,480)とされ、頂点604の座標は(0,480)とされる。この場合に、x軸方向の最大値は「640」であり、x軸方向の最小値は「0」であり、y軸方向の最大値は「480」であり、y軸方向の最小値は「0」である。なお、図26および図27に示すxy座標では、y軸方向の下側を正とする。
画像変換部180により画像(#1)471がアフィン変換された場合には、図26(b)に示すように、xy座標上において、画像(#0)470の頂点601乃至604が画像(#1)471の頂点605乃至608の位置に変換される。また、画像変換部180により画像(#2)472がアフィン変換された場合には、図26(c)に示すように、xy座標上において、画像(#0)470の頂点601乃至604が画像(#2)472の頂点609乃至612の位置に変換される。
続いて、画像(#1)471の頂点605乃至608、画像(#2)472の頂点609乃至612に基づいて、x軸方向およびy軸方向の最大値および最小値が算出される。例えば、図26(d)に示すように、頂点605乃至612のうちで、頂点606が一番上側に存在する点となるため、y軸方向の最小値として頂点606のy軸の値が算出される。また、頂点605乃至612のうちで、頂点611が一番下側に存在する点となるため、y軸方向の最大値として頂点611のy軸の値が算出される。また、同様に、頂点605が一番左側に存在する点となるため、x軸方向の最小値として頂点605のx軸の値が算出され、頂点610が一番右側に存在する点となるため、x軸方向の最大値として頂点610のx軸の値が算出される。このように算出されたx軸方向およびy軸方向の最大値および最小値により特定される矩形が、画像(#1)471および画像(#2)472を含む上書画像取出領域として算出される。例えば、図26(d)に示すように、合成画像表示範囲482が決定される。
次に、図25(c)に示す上書画像取出領域483を算出する場合について説明する。画像変換部180により画像(#2)472がアフィン変換された場合には、図27(a)に示すように、xy座標上において、画像(#0)470の頂点601乃至604が画像(#2)472の頂点609乃至612の位置に変換される。なお、図27(a)に示す画像(#2)472の頂点609乃至612の位置は、図26(c)に示す画像(#2)472の頂点609乃至612の位置と同一である。また、画像変換部180により画像(#3)473がアフィン変換された場合には、図27(b)に示すように、xy座標上において、画像(画像(#0)470)の頂点601乃至604が画像(#3)473の頂点613乃至616の位置に変換される。
続いて、画像(#2)472の頂点609乃至612、画像(#3)473の頂点613乃至616に基づいて、x軸方向およびy軸方向の最大値および最小値が算出される。例えば、図27(c)に示すように、頂点609乃至616のうちで、頂点609が一番上側に存在する点となるため、y軸方向の最小値として頂点609のy軸の値が算出される。また、頂点609乃至616のうちで、頂点615が一番下側に存在する点となるため、y軸方向の最大値として頂点615のy軸の値が算出される。また、同様に、頂点612が一番左側に存在する点となるため、x軸方向の最小値として頂点612のx軸の値が算出され、頂点614が一番右側に存在する点となるため、x軸方向の最大値として頂点614のx軸の値が算出される。このように算出されたx軸方向およびy軸方向の最大値および最小値により特定される矩形が、画像(#2)472および画像(#3)473を含む上書画像取出領域として算出される。例えば、図27(c)に示すように、合成画像表示範囲483が決定される。
図28は、本発明の第1の実施の形態における画像合成部190により作成された合成画像の例を示す図である。図28(a)には、図23乃至図25で示した画像合成方法により作成された合成画像を示し、図28(b)には、時間軸において前のフレームに対応する画像から順次上書き合成することにより作成された合成画像を示す。ここで、図28(a)および(b)に示す合成画像の作成対象となった動画は、雪山の斜面をスノーボードで滑走するスノーボーダーを主な被写体として撮像された動画である。すなわち、図28(a)および(b)に示す合成画像の作成対象となった動画は、この合成画像上において、左上部分から右側に滑走するスノーボーダーの姿が各画像に記録された撮像動画である。また、図28(a)に示す合成画像に含まれる領域651は、この合成画像の動画を構成する先頭のフレームに対応する撮像範囲を示す。また、図28(b)に示す合成画像に含まれる領域652は、この合成画像の動画を構成する最後のフレームに対応する撮像範囲を示す。
図28(b)に示すように、時間軸において前のフレームに対応する画像から順次上書き合成して合成画像を作成する場合には、最後のフレームに対応する画像に含まれるスノーボーダーの姿のみが合成画像に表示され、その前の姿は消えてしまう。このように、動画に登場する中心人物が最後に登場する場面を、最初に見てしまうと、その動画に対する興味が低減してしまうおそれがある。例えば、図28(b)に示す合成画像を見ることにより、その動画を最初から再生して閲覧しなくても、領域652に含まれるスノーボーダーの滑走終了時の歓喜のポーズを見ることができる。このように、動画の結末が容易に把握することができる場合には、その動画に対する興味が低減してしまうことが考えられる。すなわち、ユーザに対して興味を高めたコンテンツを提供することができないおそれがある。
これに対して、図28(a)に示すように、時間軸において前のフレームが上になるように順次合成して合成画像を作成する場合には、先頭のフレームに対応する画像に含まれるスノーボーダーの姿のみが合成画像に表示される。そして、後のフレームに含まれるスノーボーダーの姿は消えてしまう。この場合には、領域651に含まれるスノーボーダーの姿は容易に認識することができない程度の大きさであり、動画の被写体となった背景画像(雪山の斜面)が主に表示される。このため、動画のおおよその内容を把握することができるとともに、雪山の斜面でこれから何が始まるのかという期待をユーザに与えることができ、その動画に対する興味を高めることができる。また、動画に登場する中心人物は、合成画像上では容易に認識することができない程度の大きさとして表示されているため、その中心人物に対する興味を高めることができ、その中心人物がどのような滑りをして登場するのかを期待することができる。
これらの合成画像は、例えば、動画記憶部200に記憶されている動画の再生を指示する場合に、各動画を表すアイコンとして表示部260に表示させることができる。また、時間軸において後の画像に前の画像を上書きして合成する画像合成処理と、前の画像に後の画像を上書きして合成する画像合成処理とについては、操作受付部270からのユーザ選択に応じて変更するようにしてもよい。そして、ユーザ選択に応じて作成された合成画像を表示部260に表示させることができる。また、1つの動画について、これらの2つの合成画像を順次作成して、各動画を表す標識として表示部260に同時に表示させるようにしてもよい。以下では、各動画を表すアイコンとして合成画像を表示する場合における表示例を示す。
図29は、本発明の第1の実施の形態における表示部260に表示される合成画像の表示例を示す図である。図29に示す再生動画選択領域710、720、730は、表示制御部250の制御に基づいて表示部260に表示される領域であり、動画記憶部200に記憶されている動画を再生する場合に、再生の対象となる動画を選択する際に用いられる領域である。図29では、動画記憶部200に記憶されている動画#11および動画#12を表すアイコンとして合成画像が表示されている例を示す。ここで、動画#11は、図28に示す合成画像の作成対象となった動画である。また、動画#12は、結婚式場において、カメラを左右に移動させながら撮影された動画であり、動いている被写体を含まないものである。
図29(a)に示す再生動画選択領域710には、後の画像に前の画像を上書きして合成する画像合成処理がユーザにより選択された場合に、表示部260に表示される合成画像の表示例を示す。例えば、表示領域711には、動画#11を表す合成画像がアイコンとして表示されるとともに、「動画#11」の文字が表示される。また、表示領域712には、動画#12を表す合成画像がアイコンとして表示されるとともに、「動画#12」の文字が表示される。このように再生動画選択領域710が表示されている場合において、カーソル713を用いて、所望の動画に対応するアイコンまたは動画を示す文字をクリック操作することにより、所望の動画を再生させることができる。
図29(b)に示す再生動画選択領域720には、前の画像に後の画像を上書きして合成する画像合成処理がユーザにより選択された場合に、表示部260に表示される合成画像の表示例を示す。なお、表示領域721および表示領域722に含まれる合成画像以外は、図29(a)に示す再生動画選択領域710と同様であるため、ここでの説明を省略する。
図29(c)に示す再生動画選択領域730には、後の画像に前の画像を上書きして合成する画像合成処理と、前の画像に後の画像を上書きして合成する画像合成処理とがユーザにより選択された場合に、表示部260に表示される合成画像の表示例を示す。すなわち、1つの動画について、これらの2つの合成画像を順次作成して、1つの動画を表す2つの合成画像がアイコンとして表示されるとともに、動画を示す文字が表示される。例えば、表示領域731には、図28(a)に示す合成画像と、図28(b)に示す合成画像とを同時に表示させることができる。なお、表示領域731および表示領域732に2つの合成画像が含まれる点以外は、図29(a)に示す再生動画選択領域710と同様であるため、ここでの説明を省略する。例えば、動画記憶部200に記憶されている動画が多数の場合に、1つの動画について2種類の合成画像を同時に表示することにより、各動画の全体内容および最初と最後を迅速に把握することができる。このように、ユーザの好みに応じて、適宜合成画像の作成方法を設定することができる。
[画像処理装置の動作例]
次に、本発明の第1の実施の形態における画像処理装置100の動作について図面を参照して説明する。
図30は、本発明の第1の実施の形態における画像処理装置100による合成画像作成処理の処理手順を示すフローチャートである。この例では、時間軸において後の画像に前の画像を上書きして合成する画像合成処理が操作受付部270により選択された場合を例にして説明する。また、この例では、合成画像の分割指示が合成画像分割判定部170から出力された場合には、現フレーム以降のフレームに対応する各画像について新たな合成画像を作成する例について説明する。
最初に、ファイル取得部140が、動画記憶部200に記憶されている動画ファイルを取得するとともに、この動画ファイルに関連付けられているメタデータファイルをメタデータ記憶部210から取得する(ステップS921)。続いて、変数tが「0」に初期化される(ステップS922)。
続いて、ファイル取得部140が、動画ファイルをデコードし、動画ファイルを構成する1つのフレームである現フレームを取得する(ステップS923)。続いて、ファイル取得部140が、取得された現フレームに対応するアフィン変換パラメータをメタデータファイルから取得する(ステップS924)。ここで、現フレームが先頭フレームである場合には、単位行列のアフィン変換パラメータが取得される。
続いて、シーンチェンジ判定部150が、現フレームに対応する画像がシーンチェンジ点に該当する画像であるか否かを判定する(ステップS925)。現フレームに対応する画像がシーンチェンジ点に該当する画像である場合には(ステップS925)、ステップS931に進む。一方、現フレームに対応する画像がシーンチェンジ点に該当する画像でない場合には(ステップS925)、変換情報補正部160が、現フレームに対応するアフィン変換パラメータから、カメラワークの各成分を算出する(ステップS926)。続いて、変換情報補正部160が、カメラワークの各成分の少なくとも1つの値が閾値以上であるか否かを判断する(ステップS927)。カメラワークの各成分の少なくとも1つの値が閾値以上である場合には(ステップS927)、変換情報補正部160が、アフィン変換パラメータを単位行列のアフィン変換パラメータに補正する(ステップS928)。一方、カメラワークの各成分の全ての値が閾値以上でない場合には(ステップS927)、合成画像分割判定部170が、先頭のフレームから現フレームまでの各フレームに関するカメラワークの各成分の加算値を算出する(ステップS929)。続いて、合成画像分割判定部170が、カメラワークの各成分の加算値に基づいて、現フレームに対応する画像の合成により、現在の合成画像が画像メモリからはみ出すか否かを判断する(ステップS930)。すなわち、合成画像の分割の要否が判断される。現在の合成画像が画像メモリからはみ出すと判断された場合には(ステップS930)、画像合成部190が、現フレームの直前のフレームが貼り付けられた画像メモリに保持されている合成画像を合成画像記憶部240に記憶させる(ステップS931)。続いて、画像合成部190が、第1の画像メモリ220および第2の画像メモリ230に保持されている合成画像を消去する(ステップS932)。続いて、変数tが「0」が初期化され(ステップS933)、ステップS940に進む。
現在の合成画像が画像メモリからはみ出すと判断されない場合には(ステップS930)、画像合成部190が画像合成処理を行う(ステップS940)。この画像合成処理については、図31を参照して詳細に説明する。
続いて、取得された動画ファイルを構成するフレームの中で、現フレームが最後のフレームであるか否かが判断される(ステップS934)。現フレームが最後のフレームではない場合には(ステップS934)、変数tに「1」が加算され(ステップS935)、ステップS923に戻り、画像合成処理を繰り返す(ステップS923乃至S940)。一方、現フレームが最後のフレームである場合には(ステップS934)、画像合成部190が、現フレームが貼り付けられた画像メモリに保持されている合成画像を合成画像記憶部240に記憶させ(ステップS936)、合成画像作成処理を終了する。
図31は、本発明の第1の実施の形態における画像処理装置100による合成画像作成処理の処理手順のうちの画像合成処理手順(図30に示すステップS940の処理手順)を示すフローチャートである。
最初に、変数tが「0」であるか否かが判断され(ステップS941)、変数tが「0」である場合には、画像合成部190が、現フレームに対応する画像をアフィン変換せずに、第1の画像メモリ220に保持させる(ステップS942)。この場合には、現フレームに対応する画像が、先頭のフレームに対応する画像を保持させる位置に保持される。続いて、画像合成部190が、上書画像取出領域を算出する(ステップS943)。この場合には、現フレームに対応する画像の領域が、上書画像取出領域として算出される。続いて、第1の画像メモリ220に保持されている画像が、合成画像記憶部240に記憶すべき合成画像(記憶対象合成画像)として設定される(ステップS944)。変数tが「0」でない場合には(ステップS941)、画像変換部180が、現フレームに対応するアフィン変換パラメータを用いて現フレームに対応する画像をアフィン変換する(ステップS945)。
続いて、変数tが2の倍数であるか否かが判断される(ステップS946)。すなわち、t=2n(nは正の整数)であるか否かが判断される。変数tが2の倍数である場合には(ステップS946)、アフィン変換された現フレームに対応する画像を、第1の画像メモリ220に保持されている合成画像に上書き合成する(ステップS947)。続いて、画像合成部190が、第2の画像メモリ230における上書画像取出領域に含まれる画像を取り出し、上書画像取出領域に含まれる画像を、第1の画像メモリ220に保持されている合成画像に上書き合成する(ステップS948)。続いて、画像合成部190が、第1の画像メモリ220における上書画像取出領域を算出する(ステップS949)。この場合には、第1の画像メモリ220に保持されている合成画像のうち、現フレームおよび直前のフレームに対応する画像を含む領域が上書画像取出領域として算出される。続いて、第1の画像メモリ220に保持されている合成画像が記憶対象合成画像として設定される(ステップS950)。
一方、変数tが2の倍数でない場合には(ステップS946)、アフィン変換された現フレームに対応する画像を、第2の画像メモリ230に保持されている合成画像に上書き合成する(ステップS951)。なお、t=1の場合には、第2の画像メモリ230に保持されている画像が存在しないため、アフィン変換された現フレームに対応する画像のみが第2の画像メモリ230に保持される。続いて、画像合成部190が、第1の画像メモリ220における上書画像取出領域に含まれる画像を取り出し、上書画像取出領域に含まれる画像を、第2の画像メモリ230に保持されている合成画像に上書き合成する(ステップS952)。続いて、画像合成部190が、第2の画像メモリ230における上書画像取出領域を算出する(ステップS953)。この場合には、第2の画像メモリ230に保持されている合成画像のうち、現フレームおよび直前のフレームに対応する画像を含む領域が上書画像取出領域として算出される。なお、t=1の場合には、第2の画像メモリ230に保持されている画像が存在しないため、現フレームに対応する画像の領域が、上書画像取出領域として算出される。続いて、第2の画像メモリ230に保持されている合成画像が記憶対象合成画像として設定される(ステップS954)。なお、ステップS945は、特許請求の範囲に記載の画像変換手順の一例である。また、ステップS947、S948、S951、S952は、特許請求の範囲に記載の画像合成手順の一例である。
<2.第2の実施の形態>
[画像合成例]
本発明の第1の実施の形態では、第1の画像メモリ220および第2の画像メモリ230を用いて、上書画像取出領域に含まれる画像を他の画像メモリに貼り付けながら画像を合成する例について説明した。以下では、上書画像取出領域を算出せずに、第1の画像メモリ220および第2の画像メモリ230を用いて合成画像を作成する例について図面を参照して詳細に説明する。ここで、本発明の第2の実施の形態における機能構成は、図1に示す画像処理装置100が備える画像合成部190の機能が異なる以外は画像処理装置100と同一である。このため、本発明の第1の実施の形態で示す符号と同一の符号を付して、機能が異なるものについてのみ説明し、他の説明を省略する。
図32および図33は、本発明の第2の実施の形態における第1の画像メモリ220および第2の画像メモリ230を用いて作成される合成画像の遷移を示す図である。なお、図32および図33に示す各画像については、図23乃至図25に示す各画像と同一のアフィン変換がされるため、同一の符号を付して説明する。また、現フレームに対応する画像の枠を太線で示す。さらに、図32および図33に示す第1の画像メモリ220および第2の画像メモリ230において、画像を示す矩形が存在する領域以外の領域は、α値として0が設定された領域とする。
最初に、図32(a)に示すように、画像合成部190が、動画を構成する先頭のフレームに対応する画像(#0)470を第1の画像メモリ220に保持させる。なお、第1の画像メモリ220に画像(#0)470を保持させる位置および大きさについては、図23乃至図25と同様であるため、ここでの説明を省略する。
続いて、図32(b)に示すように、画像合成部190が、動画を構成する2番目のフレームに対応する画像(#1)471を第2の画像メモリ230に保持させる。なお、この例で示す各画像のアフィン変換については、図23乃至図25に示す場合と同様であるため、ここでの説明を省略する。ここで、図32(b)に示す第2の画像メモリ230における破線の矩形480は、第1の画像メモリ220に保持されている画像(#0)470の位置および大きさを示す領域である。
続いて、図32(c)に示すように、画像合成部190が、第1の画像メモリ220に保持されている画像(#0)470を取り出し、取り出された画像(#0)470を第2の画像メモリ230に保持させる。この場合に、画像(#0)470が第2の画像メモリ230に貼り付けられる位置および大きさは、第1の画像メモリ220に保持されている位置および大きさと同じとする。また、この例では、図23(c)に示す場合と異なり、画像(#0)470は、第1の画像メモリ220から消去される。図32(c)では、消去後の画像(#0)470の位置および大きさを破線の矩形470で示す。
続いて、図33(a)に示すように、画像合成部190が、動画を構成する3番目のフレームに対応する画像(#2)472を第1の画像メモリ220に保持させる。続いて、図33(b)に示すように、画像合成部190が、第2の画像メモリ230に保持されている画像(画像(#0)470および(#1)471からなる合成画像)を取り出し、取り出された画像を第1の画像メモリ220に保持させる。ここで、取り出された画像が第1の画像メモリ220に貼り付けられる位置および大きさは、第2の画像メモリ230に保持されている位置および大きさと同じとする。また、取り出された画像は、第2の画像メモリ230から消去される。図33(b)では、消去後の画像の位置および大きさを破線の矩形470および471で示す。
続いて、図33(c)に示すように、画像合成部190が、動画を構成する4番目のフレームに対応する画像(#3)473を第2の画像メモリ230に保持させる。続いて、図33(d)に示すように、画像合成部190が、第1の画像メモリ220に保持されている画像(画像(#0)470乃至(#2)472からなる合成画像)を取り出し、取り出された画像を第2の画像メモリ230に保持させる。ここで、取り出された画像が第2の画像メモリ230に貼り付けられる位置および大きさは、第1の画像メモリ220に保持されている位置および大きさと同じとする。また、取り出された画像は、第1の画像メモリ220から消去される。図33(d)では、消去後の画像の位置および大きさを破線の矩形470乃至472で示す。
続いて、動画を構成する5番目以降のフレームについても、同様に、第1の画像メモリ220および第2の画像メモリ230を用いて合成画像が作成される。このように、現フレームに対応する画像が1つの画像メモリに貼り付けられた後に、他の画像メモリに貼り付けられている合成画像が取り出される。そして、取り出された合成画像が、現フレームに対応する画像が貼り付けられた画像メモリに貼り付けられる。このため、時間軸において先頭のフレームから後のフレームに向かって合成処理を行うとともに、後の画像に前の画像を上書きして合成することができる。また、上書画像取出領域をフレーム毎に算出しなくてもよい。また、合成画像記憶部240に記憶させる合成画像は、例えば、合成対象となる最後のフレームに対応する画像が貼り付けられた画像メモリ上に作成された合成画像とする。また、合成画像の分割指示が合成画像分割判定部170から画像合成部190に出力された場合には、合成画像記憶部240に記憶させる合成画像は、例えば、分割の直前に画像が貼り付けられた画像メモリ上に作成された合成画像とする。
[画像処理装置の動作例]
図34は、本発明の第2の実施の形態における画像処理装置100による画像合成処理手順の処理手順を示すフローチャートである。この例は、本発明の第1の実施の形態における合成画像作成処理(図30に示すステップS940の処理手順)の変形例である。
最初に、変数tが「0」であるか否かが判断され(ステップS961)、変数tが「0」である場合には、画像合成部190が、現フレームに対応する画像をアフィン変換せずに、第1の画像メモリ220に保持させる(ステップS962)。この場合には、現フレームに対応する画像が、先頭のフレームに対応する画像を保持させる位置に保持される。続いて、第1の画像メモリ220に保持されている画像が記憶対象合成画像として設定される(ステップS963)。一方、変数tが「0」でない場合には(ステップS961)、画像変換部180が、現フレームに対応するアフィン変換パラメータを用いて現フレームに対応する画像をアフィン変換する(ステップS964)。
続いて、変数tが2の倍数であるか否かが判断される(ステップS965)。変数tが2の倍数である場合には(ステップS965)、画像合成部190が、アフィン変換された現フレームに対応する画像を第1の画像メモリ220に保持させる(ステップS966)。続いて、画像合成部190が、第2の画像メモリ230に保持されている合成画像を取り出し、第1の画像メモリ220に保持されている画像に上書き合成する(ステップS967)。この場合に、第2の画像メモリ230から取り出された合成画像は消去される。続いて、第1の画像メモリ220に保持されている合成画像が記憶対象合成画像として設定される(ステップS968)。
一方、変数tが2の倍数でない場合には(ステップS965)、画像合成部190が、アフィン変換された現フレームに対応する画像を第2の画像メモリ230に保持させる(ステップS969)。続いて、画像合成部190が、第1の画像メモリ220に保持されている合成画像を取り出し、第2の画像メモリ230に保持されている画像に上書き合成する(ステップS970)。この場合に、第1の画像メモリ220から取り出された合成画像は消去される。続いて、第2の画像メモリ230に保持されている合成画像が記憶対象合成画像として設定される(ステップS971)。なお、ステップS964は、特許請求の範囲に記載の画像変換手順の一例である。また、ステップS966、S967、S969、S970は、特許請求の範囲に記載の画像合成手順の一例である。
<3.第3の実施の形態>
[画像合成例]
本発明の第2の実施の形態では、現フレームの直前のフレームに対応する画像が貼り付けられた画像メモリにおける全ての合成画像を取り出す。そして、この合成画像を、現フレームに対応する画像が貼り付けられた画像メモリに貼り付けながら画像を合成する例について説明した。以下では、現フレームの直前のフレームに対応する画像が貼り付けられた画像メモリにおける全ての合成画像を取り出さずに、第1の画像メモリ220および第2の画像メモリ230を用いて合成画像を作成する例について図面を参照して詳細に説明する。ここで、本発明の第3の実施の形態における機能構成は、図1に示す画像処理装置100が備える画像合成部190の機能が異なる以外は画像処理装置100と同一である。このため、本発明の第1の実施の形態で示す符号と同一の符号を付して、機能が異なるものについてのみ説明し、他の説明を省略する。
図35乃至図37は、本発明の第3の実施の形態における第1の画像メモリ220および第2の画像メモリ230を用いて作成される合成画像の遷移を示す図である。なお、図35乃至図37に示す各画像については、図23乃至図25に示す各画像と同一のアフィン変換がされるため、同一の符号を付して説明する。また、現フレームに対応する画像の枠を太線で示す。さらに、図35乃至図37に示す第1の画像メモリ220および第2の画像メモリ230において、画像を示す矩形が存在する領域以外の領域は、α値として0が設定された領域とする。
最初に、図35(a)に示すように、画像合成部190が、動画を構成する先頭のフレームに対応する画像(#0)470を第1の画像メモリ220に保持させる。なお、第1の画像メモリ220に画像(#0)470を保持させる位置および大きさについては、図23乃至図25と同様であるため、ここでの説明を省略する。
続いて、図35(b)に示すように、画像合成部190が、動画を構成する2番目のフレームに対応する画像(#1)471を第2の画像メモリ230に保持させる。なお、この例で示す各画像のアフィン変換については、図23乃至図25に示す場合と同様であるため、ここでの説明を省略する。ここで、図35(b)に示す第2の画像メモリ230における破線の矩形480は、第1の画像メモリ220に保持されている画像(#0)470の位置および大きさを示す領域である。
続いて、図35(c)に示すように、画像合成部190が、第2の画像メモリ230に保持されている画像(#1)471を取り出す。また、画像合成部190が、第2の画像メモリ230に保持されている画像(#1)471を含む対象領域491を算出する。この対象領域は、現フレームに対応する画像の4つの頂点により特定される矩形の領域である。続いて、画像合成部190が、第1の画像メモリ220に保持されている画像(#0)470のうち、対象領域491に含まれる画像を取り出す。ここで、第1の画像メモリ220および第2の画像メモリ230における対象領域の位置および大きさは同じものとする。続いて、画像合成部190が、第1の画像メモリ220から取り出された対象領域491に含まれる画像を、第2の画像メモリ230から取り出された画像(#1)471に上書き合成する。続いて、画像合成部190が、対象領域491に含まれる画像が画像(#1)471に上書き合成された画像を、第1の画像メモリ220における対象領域491の位置に保持させる。また、画像(#1)471は、第2の画像メモリ230から消去される。
続いて、図36(a)に示すように、画像合成部190が、動画を構成する3番目のフレームに対応する画像(#2)472を第2の画像メモリ230に保持させる。続いて、図36(b)に示すように、画像合成部190が、第2の画像メモリ230に保持されている画像(#2)472を取り出す。また、画像合成部190が、第2の画像メモリ230に保持されている画像(#2)472を含む対象領域492を算出する。続いて、画像合成部190が、第1の画像メモリ220に保持されている画像(#0)470および画像(#1)471からなる合成画像のうち、対象領域492に含まれる画像を取り出す。続いて、画像合成部190が、第1の画像メモリ220から取り出された対象領域492に含まれる画像を、第2の画像メモリ230から取り出された画像(#2)472に上書き合成する。続いて、画像合成部190が、対象領域492に含まれる画像が画像(#2)472に上書き合成された画像を、第1の画像メモリ220における対象領域492の位置に保持させる。また、画像(#2)472は、第2の画像メモリ230から消去される。
続いて、図37(a)に示すように、画像合成部190が、動画を構成する4番目のフレームに対応する画像(#3)473を第2の画像メモリ230に保持させる。続いて、図37(b)に示すように、画像合成部190が、第2の画像メモリ230に保持されている画像(#3)473を取り出す。また、画像合成部190が、第2の画像メモリ230に保持されている画像(#3)473を含む対象領域493を算出する。続いて、画像合成部190が、第1の画像メモリ220に保持されている画像(#0)470乃至画像(#2)472からなる合成画像のうち、対象領域493に含まれる画像を取り出す。続いて、画像合成部190が、第1の画像メモリ220から取り出された対象領域493に含まれる画像を、第2の画像メモリ230から取り出された画像(#3)473に上書き合成する。続いて、画像合成部190が、対象領域493に含まれる画像が画像(#3)473に上書き合成された画像を、第1の画像メモリ220における対象領域493の位置に保持させる。また、画像(#3)473は、第2の画像メモリ230から消去される。
続いて、動画を構成する5番目以降のフレームについても、同様に、第1の画像メモリ220および第2の画像メモリ230を用いて合成画像が作成される。このように、現フレームに対応する画像が第2の画像メモリ230に貼り付けられた後に、第1の画像メモリ220に貼り付けられている対象領域に含まれる画像が取り出される。そして、取り出された画像が、現フレームに対応する画像に上書き合成され、この上書き合成された対象領域に含まれる画像が第1の画像メモリ220の対象領域に貼り付けられる。このため、時間軸において先頭のフレームから後のフレームに向かって合成処理を行うとともに、後の画像に前の画像を上書きして合成することができる。また、現フレームの直前のフレームに対応する画像が貼り付けられた画像メモリにおける全ての合成画像を取り出さずに、画像合成処理を行うことができる。このため、貼り付け処理に要する時間を短縮させることができ、メモリコピー量を削減することができる。また、合成画像記憶部240に記憶させる合成画像は、第1の画像メモリ220に保持されている合成画像とする。
[画像処理装置の動作例]
図38は、本発明の第3の実施の形態における画像処理装置100による画像合成処理手順の処理手順を示すフローチャートである。この例は、本発明の第1の実施の形態における合成画像作成処理(図30に示すステップS940の処理手順)の変形例である。
最初に、変数tが「0」であるか否かが判断され(ステップS981)、変数tが「0」である場合には、画像合成部190が、現フレームに対応する画像をアフィン変換せずに、第1の画像メモリ220に保持させる(ステップS982)。この場合には、現フレームに対応する画像が、先頭のフレームに対応する画像を保持させる位置に保持される。一方、変数tが「0」でない場合には(ステップS981)、画像変換部180が、現フレームに対応するアフィン変換パラメータを用いて現フレームに対応する画像をアフィン変換する(ステップS983)。
続いて、画像合成部190が、アフィン変換された現フレームに対応する画像を、第2の画像メモリ230に保持させる(ステップS984)。続いて、画像合成部190が、第2の画像メモリ230に保持されている画像(この画像を含む対象領域内の画像)を取り出す(ステップS985)。続いて、画像合成部190が、第1の画像メモリ220に保持されている合成画像のうち、対象領域に含まれる画像を取り出す(ステップS986)。続いて、画像合成部190が、第1の画像メモリ220から取り出された対象領域に含まれる画像を、第2の画像メモリ230から取り出された画像に上書き合成する(ステップS987)。続いて、画像合成部190が、対象領域に含まれる画像が上書き合成された画像を、第1の画像メモリ220における対象領域の位置に保持させる(ステップS988)。なお、第2の画像メモリ230から取り出された画像は、第2の画像メモリ230から消去される。また、ステップS983は、特許請求の範囲に記載の画像変換手順の一例である。また、ステップS984乃至S988は、特許請求の範囲に記載の画像合成手順の一例である。
<4.第4の実施の形態>
[撮像装置の機能構成例]
上述した本発明の各実施の形態については、被写体を撮像して撮像動画を生成することが可能なデジタルビデオカメラ等の撮像装置に適用することができる。以下では、撮像部を備えた撮像装置について図面を参照して詳細に説明する。
図39は、本発明の第4の実施の形態における撮像装置800の機能構成例を示すブロック図である。ここで、撮像装置800の機能構成は、図1に示す画像処理装置100における動画入力部110の代わりに、撮像部810を設けた点以外の構成は、画像処理装置100と同一である。このため、画像処理装置100の機能構成と同一のものについては同一の符号を付して、これらの構成についての説明を省略する。撮像装置800は撮像部810を備える。
撮像部810は、撮像素子(図示せず)と、この撮像素子の出力信号を処理して撮像画像(画像データ)を生成する信号処理部(図示せず)とを備える。すなわち、撮像部810において、レンズ(図示せず)を介して入射された被写体の光学像が撮像素子の撮像面に結像され、この状態で撮像素子が撮像動作を行い、信号処理部が撮像信号に対して信号処理を行うことにより、撮像動画が生成される。そして、生成された撮像動画がカメラワーク検出部120に出力される。
以上で示したように、本発明の各実施の形態によれば、撮像装置により撮影された動画を閲覧する場合に、動画を表すアイコンとして合成画像を表示することができるため、各動画の内容を容易に把握することができる。また、ユーザの好みに応じて、後の画像に前の画像が上書き合成された合成画像と、前の画像に後の画像が上書き合成された合成画像との少なくとも1つを表示させることができるため、動画の興味を高めることができる。また、動画の内容に応じた適切な合成画像をアイコンとして表示させることができる。
また、本発明の各実施の形態では、動画ファイルを構成する全てのフレームについて合成画像作成処理を繰り返して合成画像を作成する例について説明した。しかしながら、動画ファイルを構成するフレームの中の少なくとも一定数のフレームについて合成画像作成処理を繰り返して合成画像を作成するようにしてもよい。
また、本発明の各実施の形態では、複数の動画ファイルを動画記憶部200に記憶するとともに、この動画に対応するメタデータファイルをメタデータ記憶部210に記憶する例について説明した。しかし、動画と、この動画に対応するアフィン変換パラメータとを関連付けて動画ファイルとして記憶しておき、再生時には、動画ファイルからアフィン変換パラメータを抽出して用いるようにしてもよい。
また、本発明の各実施の形態では、合成画像を表示部260に表示する例を示したが、合成画像を表示させるための画像情報を他の画像表示装置に出力し、その画像表示装置において合成画像を表示させるようにしてもよい。また、合成画像を記録媒体等に記録しておき、他の再生表示等に用いるようにしてもよい。また、動画を再生することが可能なテレビジョン等の動画再生装置や映像視聴装置等の画像処理装置に本発明の各実施の形態を適用することができる
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、上述のように特許請求の範囲における発明特定事項とそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。