(57)【特許請求の範囲】
【請求項１】
被写体を撮像して画像データを生成する撮像手段と、
前記画像データに対応する画像である第１の撮像画像と前記画像データの撮像時に係る時間軸において前記第１の撮像画像よりも後に位置する第２の撮像画像とに基づいて、前記第１の撮像画像を基準として前記第２の撮像画像を変換するための変換情報を算出する変換情報算出手段と、
前記時間軸において前記第２の撮像画像よりも前に位置する各画像と前記第１の撮像画像との合成により形成される合成画像を保持する画像保持手段と、
前記画像保持手段に保持されている合成画像における前記第１の撮像画像の位置および大きさを基準として前記算出された変換情報に基づいて前記第２の撮像画像を変換する画像変換手段と、
前記画像保持手段に保持されている合成画像に前記変換された第２の撮像画像を合成して新たな合成画像として前記画像保持手段に保持させる画像合成手段と、
表示部に表示される画像の表示倍率を指定する指定操作を受け付ける操作受付手段と、
前記指定された表示倍率の値に基づいて前記画像保持手段に保持されている合成画像における表示領域のサイズを決定し、当該合成画像のうち前記表示領域に含まれる画像を前記表示部に表示させる制御手段と
を具備する撮像装置。
【請求項２】
前記制御手段は、前記操作受付手段により前記表示部に表示される合成画像を縮小させる表示倍率を指定する指定操作が受け付けられた場合には、前記画像保持手段に保持されている合成画像において前記変換された第２の撮像画像と当該第２の撮像画像の周りの画像とを少なくとも含む表示領域のサイズを決定する請求項１記載の撮像装置。
【請求項３】
前記制御手段は、前記指定された表示倍率の値に基づいてサイズが決定される前記表示領域を前記算出された変換情報に基づいて前記画像変換手段による前記第２の撮像画像の変換方法と同一の変換方法により変換して前記表示領域の位置を決定し、
前記画像合成手段は、前記画像変換手段により変換される前の前記第２の撮像画像を前記表示領域に含まれる画像に上書き合成して表示画像とする
請求項１記載の撮像装置。
【請求項４】
前記制御手段は、前記算出された変換情報に基づいて前記画像変換手段による前記第２の撮像画像の変換方向とは逆方向に前記表示領域に含まれる画像を変換し、
前記画像合成手段は、前記画像変換手段により変換される前の前記第２の撮像画像を前記変換後の前記表示領域に含まれる画像に上書き合成して前記表示画像とする
請求項３記載の撮像装置。
【請求項５】
前記撮像手段は、被写体を撮像して動画に係る画像データを生成し、
前記第１の撮像画像および前記第２の撮像画像は、前記動画を構成する撮像画像である
請求項１記載の撮像装置。
【請求項６】
前記操作受付手段は、前記表示領域を移動させる移動操作を受け付け、
前記制御手段は、前記受け付けられた移動操作に基づいて前記画像保持手段に保持されている合成画像における前記表示領域を移動させる
請求項１記載の撮像装置。
【請求項７】
被写体を撮像して画像データを生成する撮像手段と、
前記画像データに対応する画像である第１の撮像画像と前記画像データの撮像時に係る時間軸において前記第１の撮像画像よりも後に位置する第２の撮像画像とに基づいて、前記第１の撮像画像を基準として前記第２の撮像画像を変換するための変換情報を算出する変換情報算出手段と、
前記時間軸において前記第２の撮像画像よりも前に位置する各画像と前記第１の撮像画像との合成により形成される合成画像を保持する画像保持手段と、
前記画像保持手段に保持されている合成画像の位置および大きさを基準として、前記算出された変換情報に基づいて、前記第２の撮像画像の変換方向とは逆方向に当該合成画像を変換する画像変換手段と、
前記変換された合成画像に前記第２の撮像画像を合成して新たな合成画像として前記画像保持手段に保持させる画像合成手段と、
表示部に表示される画像の表示倍率を指定する指定操作を受け付ける操作受付手段と、
前記指定された表示倍率の値に基づいて前記画像保持手段に保持されている合成画像における表示領域のサイズを決定し、当該合成画像のうち前記表示領域に含まれる画像を前記表示部に表示させる制御手段と
を具備する撮像装置。
【請求項８】
被写体を撮像して画像データを生成する撮像手順と、
前記画像データに対応する画像である第１の撮像画像と前記画像データの撮像時に係る時間軸において前記第１の撮像画像よりも後に位置する第２の撮像画像とに基づいて、前記第１の撮像画像を基準として前記第２の撮像画像を変換するための変換情報を算出する変換情報算出手順と、
前記時間軸において前記第２の撮像画像よりも前に位置する各画像と前記第１の撮像画像との合成により形成される合成画像を画像保持手段に保持させる手順と、
前記画像保持手段に保持されている合成画像における前記第１の撮像画像の位置および大きさを基準として前記算出された変換情報に基づいて前記第２の撮像画像を変換する画像変換手順と、
前記画像保持手段に保持されている合成画像に前記変換された第２の撮像画像を合成して新たな合成画像として前記画像保持手段に保持させる画像合成手順と、
表示部に表示される合成画像の表示倍率を指定する指定操作を受け付ける操作受付手順と、
前記指定された表示倍率の値に基づいて前記画像保持手段に保持されている合成画像における表示領域のサイズを決定し、当該合成画像のうち前記表示領域に含まれる画像を前記表示部に表示させる制御手順と
を具備する撮像装置の制御方法。
【請求項９】
被写体を撮像して画像データを生成する撮像手順と、
前記画像データに対応する画像である第１の撮像画像と前記画像データの撮像時に係る時間軸において前記第１の撮像画像よりも後に位置する第２の撮像画像とに基づいて、前記第１の撮像画像を基準として前記第２の撮像画像を変換するための変換情報を算出する変換情報算出手順と、
前記時間軸において前記第２の撮像画像よりも前に位置する各画像と前記第１の撮像画像との合成により形成される合成画像を画像保持手段に保持させる手順と、
前記画像保持手段に保持されている合成画像における前記第１の撮像画像の位置および大きさを基準として前記算出された変換情報に基づいて前記第２の撮像画像を変換する画像変換手順と、
前記画像保持手段に保持されている合成画像に前記変換された第２の撮像画像を合成して新たな合成画像として前記画像保持手段に保持させる画像合成手順と、
表示部に表示される合成画像の表示倍率を指定する指定操作を受け付ける操作受付手順と、
前記指定された表示倍率の値に基づいて前記画像保持手段に保持されている合成画像における表示領域のサイズを決定し、当該合成画像のうち前記表示領域に含まれる画像を前記表示部に表示させる制御手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関し、特に、撮像された画像を表示することが可能な撮像装置およびその制御方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
近年、デジタルビデオカメラやデジタルスチルカメラ等の撮像装置が普及している。また、これらの撮像装置により記録された撮像画像を液晶パネル等の表示部に表示させて再生することが可能な撮像装置が存在する。
【０００３】
また、これらの表示部に表示されている撮像画像の表示倍率をユーザ操作により変更させることが可能な撮像装置が存在する。例えば、記録されている画像が再生表示されている場合において、この画像の一部の領域を拡大表示する画像再生装置が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開２０００−２１７０６１号公報（図４）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の従来技術によれば、表示部に表示されている撮像画像の一部の領域を拡大表示させることができるため、ユーザは所望の画像部分を拡大して見ることができる。一方、表示部に表示されている撮像画像を俯瞰的に見たい場合に、この撮像画像を縮小表示させることが考えられる。例えば、連続して記録された静止画を縮小させた状態で表示部の中央付近に１枚ずつ順次表示させることが考えられる。この場合には、表示の対象となる静止画のみが縮小表示されるため、他の静止画との関連性を把握することができず、撮像画像を俯瞰的に見ることは困難である。そこで、これらの静止画を縮小させた状態で、例えば、時系列に表示部に並べて表示させることが考えられる。この場合には、静止画が時系列に並べられるものの、例えば、隣合う静止画同士の関連性を把握することができず、撮像画像を俯瞰的に見ることができないおそれがある。
【０００５】
また、撮像動画を縮小させた状態で表示部の中央付近に再生させることが考えられる。この場合についても同様に、撮像動画を構成する１つの撮像画像と、この撮像画像以外の他の撮像画像との関連性を把握することができず、撮像動画を俯瞰的に見ることができないおそれがある。
【０００６】
そこで、例えば、連続して記録された静止画または撮像動画について他の撮像画像との関係で俯瞰的に見ることができれば、その撮像画像の内容を容易に把握することができると考えられる。
【０００７】
本発明は、撮像装置により撮影された撮像画像を閲覧する場合にその撮像画像の内容を容易に把握することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、被写体を撮像して画像データを生成する撮像手段と、上記画像データに対応する画像である第１の撮像画像と上記画像データの撮像時に係る時間軸において上記第１の撮像画像よりも後に位置する第２の撮像画像とに基づいて、上記第１の撮像画像を基準として上記第２の撮像画像を変換するための変換情報を算出する変換情報算出手段と、上記時間軸において上記第２の撮像画像よりも前に位置する各画像と上記第１の撮像画像との合成により形成される合成画像を保持する画像保持手段と、上記画像保持手段に保持されている合成画像における上記第１の撮像画像の位置および大きさを基準として上記算出された変換情報に基づいて上記第２の撮像画像を変換する画像変換手段と、上記画像保持手段に保持されている合成画像に上記変換された第２の撮像画像を合成して新たな合成画像として上記画像保持手段に保持させる画像合成手段と、表示部に表示される画像の表示倍率を指定する指定操作を受け付ける操作受付手段と、上記指定された表示倍率の値に基づいて上記画像保持手段に保持されている合成画像における表示領域のサイズを決定し、当該合成画像のうち上記表示領域に含まれる画像を上記表示部に表示させる制御手段とを具備する撮像装置およびその制御方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、変換情報に基づいて第２の撮像画像を変換し、この変換された第２の撮像画像を合成画像に合成して新たな合成画像とし、表示部に表示される画像の表示倍率を指定する指定操作を受け付けると、この指定された表示倍率に基づいて合成画像における表示領域のサイズを決定し、この表示領域に含まれる画像を表示させるという作用をもたらす。
【０００９】
また、この第１の側面において、上記制御手段は、上記操作受付手段により上記表示部に表示される合成画像を縮小させる表示倍率を指定する指定操作が受け付けられた場合には、上記画像保持手段に保持されている合成画像において上記変換された第２の撮像画像と当該第２の撮像画像の周りの画像とを少なくとも含む表示領域のサイズを決定するようにしてもよい。これにより、表示部に表示される合成画像を縮小させる表示倍率を指定する指定操作が受け付けられた場合には、合成画像において、変換された第２の撮像画像とこの第２の撮像画像の周りの画像とを少なくとも含む表示領域のサイズを決定するという作用をもたらす。
【００１０】
また、この第１の側面において、上記制御手段は、上記指定された表示倍率の値に基づいてサイズが決定される上記表示領域を上記算出された変換情報に基づいて上記画像変換手段による上記第２の撮像画像の変換方法と同一の変換方法により変換して上記表示領域の位置を決定し、上記画像合成手段は、上記画像変換手段により変換される前の上記第２の撮像画像を上記表示領域に含まれる画像に上書き合成して表示画像とするようにしてもよい。これにより、変換情報と、指定された表示倍率とに基づいて表示領域を決定し、変換される前の第２の撮像画像を表示領域に含まれる画像に上書きして合成して表示画像とするという作用をもたらす。
【００１１】
また、この第１の側面において、上記制御手段は、上記算出された変換情報に基づいて上記画像変換手段による上記第２の撮像画像の変換方向とは逆方向に上記表示領域に含まれる画像を変換し、上記画像合成手段は、上記画像変換手段により変換される前の上記第２の撮像画像を上記変換後の上記表示領域に含まれる画像に上書き合成して上記表示画像とするようにしてもよい。これにより、変換情報に基づいて、第２の撮像画像の変換方向とは逆方向に、表示領域に含まれる画像を変換し、変換される前の第２の撮像画像を、変換後の表示領域に含まれる画像に上書きして合成して表示画像とするという作用をもたらす。
【００１２】
また、この第１の側面において、上記撮像手段は、被写体を撮像して動画に係る画像データを生成し、上記第１の撮像画像および上記第２の撮像画像を、上記動画を構成する撮像画像とすることができる。これにより、被写体を撮像して動画に係る画像データを生成し、この生成された画像データに係る撮像動画を構成する撮像画像についての表示画像を順次表示させるという作用をもたらす。また、この場合において、上記変換情報算出手段は、上記撮像動画を構成する上記第１の撮像画像および上記第２の撮像画像を構成する各画素に基づいて上記第１の撮像画像および上記第２の撮像画像における特徴点を抽出する特徴点抽出手段と、上記抽出された各特徴点に基づいて上記第１の撮像画像および上記第２の撮像画像に関する動き量を算出する動き量算出手段と、上記算出された動き量に基づいて所定の変換パラメータを算出することにより上記変換情報を算出する変換パラメータ算出手段とを含むようにしてもよい。また、この場合において、上記特徴点抽出手段はマルチコアプロセッサにより構成され、上記マルチコアプロセッサは、上記第１の撮像画像および上記第２の撮像画像を構成する各画素についてＳＩＭＤ演算によって並列処理することにより上記第１の撮像画像および上記第２の撮像画像における特徴量を抽出するようにしてもよい。また、この場合において、上記動き量算出手段はマルチコアプロセッサにより構成され、上記マルチコアプロセッサは、上記抽出された各特徴点についてＳＩＭＤ演算によって並列処理することにより上記第１の撮像画像および上記第２の撮像画像に関する動き量を算出するようにしてもよい。
【００１３】
また、この第１の側面において、上記操作受付手段は、上記表示領域を移動させる移動操作を受け付け、上記制御手段は、上記受け付けられた移動操作に基づいて上記画像保持手段に保持されている合成画像における上記表示領域を移動させるようにしてもよい。これにより、表示領域を移動させる移動操作を受け付けると、この受け付けられた移動操作に基づいて、合成画像における表示領域を移動させるという作用をもたらす。
【００１４】
また、本発明の第２の側面は、被写体を撮像して画像データを生成する撮像手段と、上記画像データに対応する画像である第１の撮像画像と上記画像データの撮像時に係る時間軸において上記第１の撮像画像よりも後に位置する第２の撮像画像とに基づいて、上記第１の撮像画像を基準として上記第２の撮像画像を変換するための変換情報を算出する変換情報算出手段と、上記時間軸において上記第２の撮像画像よりも前に位置する各画像と上記第１の撮像画像との合成により形成される合成画像を保持する画像保持手段と、上記画像保持手段に保持されている合成画像の位置および大きさを基準として、上記算出された変換情報に基づいて、上記第２の撮像画像の変換方向とは逆方向に当該合成画像を変換する画像変換手段と、上記変換された合成画像に上記第２の撮像画像を合成して新たな合成画像として上記画像保持手段に保持させる画像合成手段と、表示部に表示される画像の表示倍率を指定する指定操作を受け付ける操作受付手段と、上記指定された表示倍率の値に基づいて上記画像保持手段に保持されている合成画像における表示領域のサイズを決定し、当該合成画像のうち上記表示領域に含まれる画像を上記表示部に表示させる制御手段とを具備する撮像装置およびその制御方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、変換情報に基づいて合成画像を変換し、この変換された合成画像に第２の画像に合成して新たな合成画像とし、表示部に表示される画像の表示倍率を指定する指定操作を受け付けると、この指定された表示倍率に基づいて合成画像における表示領域のサイズを決定し、この表示領域に含まれる画像を表示させるという作用をもたらす。
【発明の効果】
【００１５】
本発明によれば、撮像装置により撮影された撮像画像を閲覧する場合にその撮像画像の内容を容易に把握することができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１６】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
図１は、本発明の実施の形態における撮像装置１００の機能構成例を示すブロック図である。撮像装置１００は、撮像部１１０と、カメラワーク検出部１２０と、記録制御部１３０と、ファイル取得部１４０と、画像変換部１５０と、操作受付部１６０と、画像合成部１７０と、画像メモリ１８０と、表示領域取出部１９０と、動画記憶部２００と、メタデータ記憶部２１０と、表示用メモリ２３０と、表示制御部２４０と、表示部２５０とを備える。撮像装置１００は、例えば、撮像された動画について、映像解析により特徴量を抽出し、この抽出された特徴量を用いて各種画像処理を施すことが可能なデジタルビデオカメラによって実現することができる。
【００１８】
撮像部１１０は、撮像レンズ（図示せず）を介して入射された被写体からの光を受光して光電変換を行うことにより、光の受光量に応じた画像信号を生成し、この画像信号に各種の信号処理を施すものである。そして、この信号処理が施された画像信号が動画（撮像動画）としてカメラワーク検出部１２０および記録制御部１３０に出力される。
【００１９】
カメラワーク検出部１２０は、撮像部１１０から出力された動画を解析して、撮影時における撮像装置１００の動き情報（カメラワーク）を検出するものであり、この撮像装置１００の動き情報に基づいて算出されたアフィン変換パラメータ（カメラワークパラメータ）を記録制御部１３０に出力する。すなわち、カメラワーク検出部１２０は、動画を構成する各画像から特徴点を抽出するとともに、この特徴点に対するオプティカルフロー（動きベクトル）を抽出し、この抽出された特徴点に対するオプティカルフローを解析して支配的な動きを見せた特徴点を選択し、この支配的な動きを見せた特徴点に対するオプティカルフローに基づいて撮像装置１００の動きを推定する。ここで、支配的な動きとは、複数の特徴点に対するオプティカルフローの中で、比較的多数のオプティカルフローが示す規則的な動きを意味する。なお、カメラワーク検出部１２０については、図３を参照して詳細に説明する。
【００２０】
記録制御部１３０は、撮像部１１０から出力された動画を動画ファイルとして動画記憶部２００に記録するとともに、カメラワーク検出部１２０から出力されたアフィン変換パラメータを、対応する動画およびフレームに関連付けてメタデータファイルとしてメタデータ記憶部２１０に記録するものである。
【００２１】
動画記憶部２００は、記録制御部１３０の制御に基づいて撮像部１１０から出力された動画を動画ファイルとして記憶するものである。また、動画記憶部２００は、ファイル取得部１４０からの要求に応じて動画ファイルをファイル取得部１４０に供給する。なお、動画記憶部２００に記憶される動画ファイルについては、図４を参照して詳細に説明する。
【００２２】
メタデータ記憶部２１０は、記録制御部１３０の制御に基づいてカメラワーク検出部１２０から出力されたアフィン変換パラメータをメタデータファイルとして記憶するものである。また、メタデータ記憶部２１０は、ファイル取得部１４０からの要求に応じてメタデータファイルをファイル取得部１４０に供給する。なお、メタデータ記憶部２１０に記憶されるメタデータファイルについては、図４を参照して詳細に説明する。
【００２３】
ファイル取得部１４０は、操作受付部１６０により受け付けられた操作入力に応じて、動画記憶部２００またはメタデータ記憶部２１０に記憶されている各ファイルの少なくとも１つを取得し、取得された各ファイルの情報を各部に供給するものである。具体的には、ファイル取得部１４０は、動画を再生する指示操作が操作受付部１６０により受け付けられた場合には、再生が指示された動画ファイルを動画記憶部２００から取得するとともに、この動画ファイルに関連付けられてメタデータ記憶部２１０に記憶されているメタデータファイルを取得し、取得された動画ファイルの動画およびメタデータファイルのアフィン変換パラメータを画像変換部１５０に出力する。
【００２４】
画像変換部１５０は、ファイル取得部１４０から出力された動画ファイルの動画を構成する画像について、この画像に対応するアフィン変換パラメータを用いてフレーム毎にアフィン変換を施し、アフィン変換された画像を画像合成部１７０に出力するものである。なお、これらの画像変換については、図８乃至図１９等を参照して詳細に説明する。
【００２５】
操作受付部１６０は、各種操作部材を備え、これらの操作部材から操作入力を受け付けると、受け付けた操作入力の内容をファイル取得部１４０または表示領域取出部１９０に出力するものである。なお、これらの操作部材については、図２を参照して詳細に説明する。また、操作受付部１６０の少なくとも一部と表示部２５０とをタッチパネルとして一体として構成するようにしてもよい。
【００２６】
画像合成部１７０は、画像メモリ１８０に保持されている直前までの各フレームに対応する合成画像に、画像変換部１５０によるアフィン変換後の画像を上書きすることにより画像を合成し、合成された新たな合成画像を画像メモリ１８０に保存するものである。また、画像合成部１７０は、表示倍率の値に応じて決定される表示領域の大きさに基づいて、画像変換部１５０によるアフィン変換前の現画像を表示用メモリ２３０に保持される合成画像に上書きすることにより合成する。なお、表示用メモリ２３０における現画像の合成については、図１９等を参照して詳細に説明する。また、これらの画像合成については、図８乃至図１９等を参照して詳細に説明する。ここで、画像合成部１７０は、画像変換部１５０によるアフィン変換後の画像を圧縮して画像メモリ１８０に保持されている合成画像に上書きし、表示用メモリ２３０に保持される合成画像に上書きされる現画像を非圧縮画像または圧縮された履歴画像よりも高解像度の撮像画像とする。これにより、合成画像を出力する際の履歴画像を圧縮画像とし、現画像を非圧縮画像または圧縮された履歴画像よりも高解像度の撮像画像とすることができる。
【００２７】
画像メモリ１８０は、画像合成部１７０により合成された合成画像を保持するワークバッファであり、保持されている合成画像を画像合成部１７０または表示領域取出部１９０に供給するものである。すなわち、画像メモリ１８０は、履歴画像を保持する画像メモリである。
【００２８】
表示領域取出部１９０は、画像メモリ１８０に保持されている合成画像から、表示の対象となる領域である表示領域の範囲内に存在する画像を取り出すものであり、取り出された画像を表示用メモリ２３０に保持させる。なお、この表示領域の範囲内に含まれる画像の取出しについては、図１７乃至図１９等を参照して詳細に説明する。
【００２９】
表示用メモリ２３０は、表示領域取出部１９０により画像メモリ１８０から取り出された画像を保持する表示用バッファであり、保持されている画像が表示部２５０に表示される。
【００３０】
表示制御部２４０は、表示用メモリ２３０に保持されている合成画像をフレーム毎に表示部２５０に順次表示させるものである。
【００３１】
表示部２５０は、表示制御部２４０の制御に基づいて、表示用メモリ２３０に保持されている現画像や合成画像を表示するものである。例えば、図２に示すように、液晶パネル２５１により実現することができる。
【００３２】
図２は、本発明の実施の形態における撮像装置１００の外観を示す図である。すなわち、図２は、液晶パネル２５１およびその周辺部分を示す図である。
【００３３】
撮像装置１００は、液晶パネル２５１と、ズームボタン１６１と、十字ボタン１６２とを備える。なお、ズームボタン１６１および十字ボタン１６２は、図１に示す操作受付部１６０に対応する。また、液晶パネル２５１は、図１に示す表示部２５０に対応する。なお、撮像装置１００には、電源スイッチ、撮像画像記録指示ボタン等の他の操作部材が操作受付部１６０として備えられているが、ここでの図示および説明は省略する。
【００３４】
液晶パネル２５１は、撮像部１１０から出力された撮像動画を表示する液晶パネルである。なお、液晶パネル２５１は、各種の選択ボタン等を表示し、これらの選択ボタン等の領域を指等で触ることにより操作入力を行うことが可能なタッチパネルとするようにしてもよい。
【００３５】
ズームボタン１６１は、ズームの倍率を調整する際に操作されるボタンである。具体的には、図２に示すＷ（ワイド）ボタンおよびＴ（テレ）ボタンがズームボタン１６１に備えられている。そして、撮像時において、Ｗボタンが押下されている状態では、ズームレンズがワイド端側（広角側）に移動し、Ｔボタンが押下されている状態では、ズームレンズがテレ端側（望遠側）に移動する。また、動画再生時において、Ｗボタンが押下されている状態では、再生中の動画が順次縮小して表示され、Ｔボタンが押下されている状態では、再生中の動画が順次拡大して表示される。
【００３６】
十字ボタン１６２は、動画の再生時における表示領域を上下左右方向に移動させる場合に操作されるボタンである。具体的には、十字ボタン１６２の４つの矢印のうちの少なくとも１つを押下することにより、矢印で示される方向に表示領域を移動させることができる。
【００３７】
図３は、本発明の実施の形態におけるカメラワーク検出部１２０の機能構成例を示すブロック図である。カメラワーク検出部１２０は、特徴点抽出部１２１と、オプティカルフロー計算部１２２と、カメラワークパラメータ算出部１２３とを備える。
【００３８】
特徴点抽出部１２１は、撮像部１１０から出力された動画を構成するフレームに対応する画像から特徴点を抽出し、抽出された特徴点をオプティカルフロー計算部１２２に出力するものである。ここで、特徴点抽出部１２１は、撮像部１１０から出力された動画を構成するフレームのうちの先頭のフレームについては、画像全体から特徴点を抽出し、先頭以外のフレームについては、直前のフレームに対応する画像と比較して新しく撮影された領域部分から特徴点を抽出する。なお、特徴点として、例えば、縦方向または横方向にエッジの勾配が強い点（一般に「コーナー点」と呼ばれている。以下では、「コーナー点」と称する。）を抽出することができる。このコーナー点は、オプティカルフローの計算に強い特徴点であり、エッジ検出を用いて求めることができる。なお、このコーナー点の抽出については、図５および図６を参照して詳細に説明する。また、この例では、特徴点抽出部１２１は、先頭のフレームについては画像全体から特徴点を抽出し、先頭以外のフレームについては直前の画像と比較して新しく撮影された領域部分から特徴点を抽出するが、処理能力等に応じて、先頭以外の各フレームについても、画像全体から特徴点を抽出するようにしてもよい。
【００３９】
オプティカルフロー計算部１２２は、特徴点抽出部１２１から出力された各特徴点に対するオプティカルフローを計算するものであり、計算して求められたオプティカルフローをカメラワークパラメータ算出部１２３に出力する。具体的には、撮像部１１０から出力された動画を構成する連続する２つのフレーム（現フレームおよびこの直前のフレーム）に対応する各画像を比較することにより、直前のフレームに対応する画像における各特徴点に対応するオプティカルフローを、現フレームのオプティカルフローとして求める。また、オプティカルフローは、動画を構成するフレーム毎に求められる。なお、オプティカルフローを検出する検出方法として、勾配法やブロックマッチング方法等の検出方法を用いることができる。なお、このオプティカルフローの計算については、図５および図６を参照して詳細に説明する。
【００４０】
カメラワークパラメータ算出部１２３は、オプティカルフロー計算部１２２から出力された各特徴点に対応するオプティカルフローを用いて、カメラワークパラメータを算出するカメラワークパラメータ算出処理を行うものであり、算出されたカメラワークパラメータを記録制御部１３０に出力する。ここで、本発明の実施の形態では、再生の対象となる複数の動画を構成する各画像を撮像装置１００の動きに合わせてそれぞれ変換して表示する。この画像の変換を行うため、オプティカルフロー計算部１２２により計算されたオプティカルフローを用いて撮像装置１００の動きが抽出され、この抽出された動きに基づいて、カメラワークパラメータ（変換パラメータ）が計算される。なお、本発明の実施の形態では、再生の対象となる動画を構成する画像を変換する画像変換方法として、アフィン変換を用いる例について説明する。また、カメラワークパラメータとして、オプティカルフローに基づいて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを用いる例について説明する。すなわち、本発明の実施の形態では、変換情報として用いられるアフィン変換パラメータを、連続する画像間の特徴点の動きを表すアフィン行列ではなく、連続する画像のうちの１つの画像を基準画像とした場合に、この基準画像の次の画像がどこに移動するかを示すアフィン行列に対応するアフィン変換パラメータと定義する。また、カメラワークパラメータとして、アフィン変換パラメータを用いる例について説明するが、射影変換等の他の画像変換方法を用いるようにしてもよい。なお、アフィン変換パラメータは、３点のベクトルを用いて計算して求めることができる。また、射影変換パラメータは、４点のベクトルを用いて計算して求めることができる。ここで、カメラワークパラメータは、撮像動画を構成する撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報であり、少なくとも撮像装置１００の座標系で記述される位置情報および姿勢情報を含むものである。すなわち、カメラワークパラメータは、撮影者により撮影されている場合における撮像装置１００の位置や姿勢に関する情報を含むものである。また、カメラワークパラメータ算出部１２３により求められたアフィン変換パラメータに基づいて、例えば、ズームイン、ズームアウト、パン、チルト、ローテーション等の撮影者の操作による撮像装置１００の動きを推定することができる。なお、アフィン変換パラメータの計算については、図５および図６を参照して詳細に説明する。
【００４１】
図４は、本発明の実施の形態における動画記憶部２００およびメタデータ記憶部２１０に記録されている各ファイルを模式的に示す図である。図４（ａ）では、動画記憶部２００に記憶されている動画ファイル２０１乃至２０４と、動画ファイル２０１乃至２０４に関連付けてメタデータ記憶部２１０に記憶されているメタデータファイル２１１乃至２１３とを示す。ここで、動画記憶部２００に記憶されている各動画ファイルを識別するための識別情報である動画ＩＤが、各動画ファイルに付与されているものとする。例えば、動画ファイル２０１には「＃１」が付与され、動画ファイル２０２には「＃２」が付与され、動画ファイル２０４には「＃ｎ」が付与されている。
【００４２】
図４（ｂ）では、動画記憶部２００に記憶されている動画ファイル２０１と、動画ファイル２０１に関連付けてメタデータ記憶部２１０に記憶されているメタデータファイル２１１とを模式的に示す図である。ここで、動画ファイル２０１は、ｎ枚のフレームで構成された動画のファイルであり、これらのｎ枚のフレームをフレーム「１」２０５乃至「ｎ」２０８として示す。
【００４３】
また、メタデータファイル２１１には、動画ＩＤ２１４と、フレーム番号２１５と、アフィン変換パラメータ２１６とが関連付けて格納されている。
【００４４】
動画ＩＤ２１４は、対応する動画ファイルに付与されている動画ＩＤであり、例えば、動画ファイル２０１に付与されている「＃１」が格納される。
【００４５】
フレーム番号２１５は、対応する動画ファイルの動画を構成する各フレームの通し番号であり、例えば、動画ファイル２０１の動画を構成するフレーム「１」２０５乃至「ｎ」２０８に対応する「１」乃至「ｎ」が格納される。
【００４６】
アフィン変換パラメータ２１６は、フレーム番号２１５に対応する動画の各フレームについて計算されたアフィン変換パラメータである。なお、フレーム番号２１５の「１」に対応するアフィン変換パラメータ２１６「ａ１，ｂ１，ｃ１，ｄ１，ｅ１，ｆ１」は、単位行列のアフィン変換パラメータである。また、フレーム番号２１５の「ｍ（ｍは２以上の整数）」に対応するアフィン変換パラメータ２１６の「ａｍ，ｂｍ，ｃｍ，ｄｍ，ｅｍ，ｆｍ」は、フレーム「ｍ」の直前フレーム「ｍ−１」に対するアフィン変換パラメータである。
【００４７】
次に、画像変換に用いられるアフィン変換パラメータを検出する検出方法について図面を参照して詳細に説明する。
【００４８】
図５（ａ）乃至（ｃ）は、動画を構成するフレームに対応する画像の一例を示す図である。図６（ａ）は、図５に示す画像３００に対応するフレームの１つ前のフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。また、図６（ｂ）および（ｃ）は、図５に示す画像３００について背景等を省略して簡略化した画像を示す図である。
【００４９】
図５および図６に示す画像３００、３２０、３３０には、人が跨っている馬の像３０１、３２１、３３１と、この馬の像３０１、３２１、３３１の手前に設置されている蛇の像３０２、３２２、３３２とが含まれている。また、図５に示すように、これらの像の背景には旗や椅子等が存在し、この旗が風になびいている。
【００５０】
図６（ａ）に示す画像３２０は、図５（ａ）乃至（ｃ）および図６（ｂ）および（ｃ）に示す画像３００、３３０に対応するフレームの１つ前のフレームに対応する画像を簡略化した画像である。また、２つの連続するフレームに対応する画像３２０および３３０は、画面内の被写体がしだいに大きくなる場合における遷移を示す画像である。すなわち、この撮影時には、画面内の被写体をしだいに大きくする操作であるズームイン操作がされている。
【００５１】
本発明の実施の形態では、動画を構成する画像から特徴点を検出し、この特徴点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。また、この例では、特徴点としてコーナー点を用いる場合について説明する。
【００５２】
ここで、図６（ａ）乃至（ｃ）では、画像３２０および３３０から検出された３つのコーナー点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。
【００５３】
例えば、図６（ａ）に示す画像３２０において、特徴点として、馬の像３２１における口付近のコーナー点３２３と、馬の像３２１における人のお尻付近のコーナー点３２４と、蛇の像３２２の口付近のコーナー点３２５とが検出されているものとする。この場合において、図６（ｂ）に示す画像３３０において、勾配法やブロックマッチング法等により、画像３２０におけるコーナー点３２３、３２４および３２５に対するオプティカルフロー３３７、３３８および３３９が検出される。そして、この検出されたオプティカルフロー３３７、３３８および３３９に基づいて、画像３２０におけるコーナー点３２３、３２４および３２５に対応するコーナー点３３３、３３４および３３５が検出される。
【００５４】
ここで、例えば、図６（ａ）および（ｂ）に示す画像３２０および３３０に含まれる馬の像３２１、３３１や蛇の像３２２、３３２は、地面に設置されているものであるため、撮像装置１００の動きとは無関係に動くものではない。このため、馬の像３２１、３３１や蛇の像３２２、３３２について検出されたコーナー点に対して求められたオプティカルフローに基づいて、撮像装置１００の動きを正確に推定することができる。例えば、図６（ｃ）に示すように、画像３３０において検出された３つのオプティカルフロー３３７乃至３３９に基づいて、画像３３０が、点３３６を中心にして画像３２０を拡大したものであることを推定することができる。これにより、画像３３０の撮影時における撮像装置１００の動きは、点３３６を中心とするズームイン動作であると判断することができる。このように、撮像装置１００の動きとは無関係に動くものではない物体についてコーナー点を検出し、このコーナー点に対して求められたオプティカルフローに基づいて、一定の規則性を備える撮像装置１００の動きを正確に検出することができる。このため、これらのコーナー点に対して求められたオプティカルフローを用いて、アフィン変換パラメータを計算して求めることができる。
【００５５】
しかしながら、風になびいている旗等のように、撮像装置１００の動きとは無関係に動く物体が画像内に含まれる場合が考えられる。例えば、図５に示す画像３００には、風になびいている旗が含まれている。このような撮像装置１００の動きとは無関係に動く物体についてコーナー点が検出され、このコーナー点に対して求められたオプティカルフローを用いて撮像装置１００の動きを推定する場合には、撮像装置１００の動きを正確に推定することができない。
【００５６】
例えば、図５（ｂ）に示す画像３００において検出されたオプティカルフローを矢印で示すとともに、このオプティカルフローにより検出されたコーナー点を矢印の先端に白抜きの丸で示す。ここで、コーナー点３０３乃至３０５は、図６（ｂ）および（ｃ）に示すコーナー点３３３乃至３３５に対応するコーナー点である。また、コーナー点３０６乃至３１１は、馬の像３０１の背景に存在する旗について検出されたコーナー点である。そして、これらの旗が風になびいているため、風の影響による旗の動きがオプティカルフローとして検出されている。すなわち、コーナー点３０６乃至３１１に対応する各オプティカルフローは、撮像装置１００の動きとは無関係に動く旗について検出されたものである。このため、アフィン変換パラメータを計算する場合に用いられる３つのオプティカルフローに、コーナー点３０６乃至３１１のうちの少なくとも１つのコーナー点に対応するオプティカルフローが含まれている場合には、正確な撮像装置１００の動きを検出することができない。この場合には、正確なアフィン変換パラメータを計算することができない。
【００５７】
以上で示したように、例えば、撮像装置１００の動きとは無関係に動く物体に対するオプティカルフロー（図５（ｂ）に示すコーナー点３０６乃至３１１に対応する各オプティカルフロー）と、撮像装置１００の動きとの関係で一定の規則性を備えるオプティカルフロー（図５（ｂ）に示すコーナー点３０６乃至３１１に対応する各オプティカルフロー以外のオプティカルフロー）とが、撮影画像から検出されることがある。
【００５８】
そこで、本発明の実施の形態では、３個のオプティカルフローに基づいてアフィン変換パラメータを計算するアフィン変換パラメータ計算処理を複数回行い、複数のアフィン変換パラメータを求め、これらの複数のアフィン変換パラメータの中から最適なアフィン変換パラメータを選択する例について説明する。なお、この例では、動画を構成する各画像に含まれている動物体の大きさが、画像の面積に対して比較的小さいものとする。
【００５９】
ここで、アフィン変換について簡単に説明する。２次元上において、移動元の位置を（ｘ，ｙ）とし、アフィン変換後の移動先の位置を（ｘ´，ｙ´）とした場合に、アフィン変換の行列式は、式１で表すことができる。
【数１】
0004678404.tif 000002
【００６０】
ここで、ａ乃至ｆは、アフィン変換パラメータである。また、このアフィン変換パラメータによるアフィン行列ＡＭを次の式で表すことができる。また、Ｘ方向のズーム成分ＸＺ、Ｙ方向のズーム成分ＹＺ、Ｘ方向の並進成分ＸＴ、Ｙ方向の並進成分ＹＴ、回転成分Ｒについては、それぞれ次の式で求めることができる。なお、単位行列の場合には、ａ＝ｅ＝１、ｂ＝ｃ＝ｄ＝ｆ＝０となる。
【数２】
0004678404.tif 000003
【００６１】
次に、アフィン変換パラメータの計算方法について説明する。
【００６２】
最初に、動画を構成するフレームの中の１つのフレームである現フレームに対応する画像において、オプティカルフローが検出された特徴点の中から３個の特徴点が選択される。例えば、図５（ｂ）に示す画像３００において検出されたコーナー点（白抜きの丸で示す）の中からランダムに３個のコーナー点が選択される。なお、カメラワークパラメータとして、射影変換パラメータを用いる場合には、４個の特徴点がランダムに選択される。
【００６３】
続いて、選択された３個の特徴点に対応する３個のオプティカルフローを用いてアフィン変換パラメータが計算される。例えば、図５（ｂ）に示す画像３００におけるコーナー点（白抜きの丸で示す）の中から選択された３個のコーナー点に対応するオプティカルフロー（白抜きの丸に接続される矢印で示す）を用いてアフィン変換パラメータが計算される。このアフィン変換パラメータは、式１を用いて求めることができる。
【００６４】
続いて、求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される。具体的には、求められたアフィン変換パラメータを用いて、現フレームの直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、現フレームにおいて検出された特徴点の位置とを比較して、互いに対応する２つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する２つの特徴点の位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。このように、オプティカルフローが検出された特徴点の中から３個の特徴点をランダムに選択し、これらの特徴点に対応するオプティカルフローに基づいてアフィン変換パラメータのスコアを算出する処理を所定回数繰り返し、アフィン変換パラメータのスコアを複数算出する。この所定回数は、比較の対象となる画像の種類や撮像装置１００の処理能力等に応じて適宜設定するようにしてもよく、固定値を用いるようにしてもよい。この所定回数として、例えば、撮像装置１００の処理能力を考慮して２０回程度と設定することができる。
【００６５】
例えば、図５（ｂ）に示す画像３００において検出されたコーナー点の中から、コーナー点３０６乃至３１１以外のコーナー点が３個選択された場合を考える。このように選択された３個のコーナー点に対応する３個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この３個のオプティカルフローは一定の規則性を備えているため、直前のフレームに対応する画像を一定の規則に従って変換させるアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて、コーナー点３０６乃至３１１以外のコーナー点に関して求められる差分値は、比較的小さい値が算出される。このため、アフィン変換パラメータのスコアは、大きい値になる。
【００６６】
一方、図５（ｂ）に示す画像３００において検出されたコーナー点の中から、コーナー点３０６乃至３１１のうちの少なくとも１個を含む３個のコーナー点が選択された場合を考える。このように選択された３個のコーナー点に対応する３個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この３個のオプティカルフローには、一定の規則性を備えていないオプティカルフローが含まれるため、直前のフレームに対応する画像を一定の規則に従って変換させるものではないアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて求められる差分値は、任意のコーナー点で比較的大きい値が算出される。このため、アフィン変換パラメータのスコアは、小さい値になる。
【００６７】
続いて、求められた複数のアフィン変換パラメータのスコアの中で、スコアの値が最も大きいアフィン変換パラメータを代表アフィン変換パラメータとして選択する。そして、選択された代表アフィン変換パラメータの行列に対する逆行列を算出して、この逆行列のアフィン変換パラメータを現フレームに関連付けてメタデータ記憶部２１０に記録する。これにより、動画を構成する画像をアフィン変換する場合に、最適なアフィン変換パラメータを用いてアフィン変換することができる。
【００６８】
以上で示したように、動画を構成する各画像に人物や車等の動いている物体（動物体）が含まれている場合でも、画像の面積に対するその動物体の大きさが比較的小さい場合には、動物体の影響を受けずに撮像装置１００の動きを抽出することができる。
【００６９】
また、撮像装置１００の動きを抽出することによって、ズームイン、ズームアウト、パン、チルト、ローテーション等の意図的に撮影者が移動させたと思われる動きを推定することができる。
【００７０】
次に、本発明の実施の形態における撮像装置１００の動作について図面を参照して説明する。
【００７１】
図７は、本発明の実施の形態における撮像装置１００によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
【００７２】
最初に、撮像部１１０からの動画が入力される（ステップＳ９００）。続いて、撮像部１１０から出力された動画がデコードされ、時系列の順序で１つのフレームの画像が取得される（ステップＳ９０１）。続いて、取得された１つのフレームが、撮像部１１０から出力された動画の先頭のフレームであるか否かが判断される（ステップＳ９０２）。取得された１つのフレームが、先頭のフレームである場合には（ステップＳ９０２）、この先頭のフレームに対応する画像の全体から特徴点が抽出される（ステップＳ９０３）。例えば、図５（ｂ）に示すように、画像において複数のコーナー点が抽出される。続いて、アフィン変換パラメータとして単位行列のアフィン変換パラメータが選択され（ステップＳ９０４）、ステップＳ９１４に進む。
【００７３】
一方、取得された１つのフレームが、先頭のフレームではない場合には（ステップＳ９０２）、直前のフレームに対応する画像を基準として新たに撮影された領域から特徴点が抽出される（ステップＳ９０５）。すなわち、直前のフレームに対応する画像において既に抽出されている特徴点については、この特徴点に対応するオプティカルフローにより求めることができるため、現フレームに対応する画像においては抽出されない。
【００７４】
続いて、直前のフレームに対応する画像から抽出された各特徴点に対するオプティカルフローが計算される（ステップＳ９０６）。すなわち、図５（ｂ）に示すように、各コーナー点に対するオプティカルフローが計算される。
【００７５】
続いて、変数ｉが「１」に初期化される（ステップＳ９０７）。続いて、オプティカルフローが検出された特徴点の中から、Ｍ個の特徴点が選択される（ステップＳ９０８）。例えば、カメラワークパラメータとして、アフィン変換パラメータを用いる場合には、３個の特徴点がランダムに選択される。また、カメラワークパラメータとして、射影変換パラメータを用いる場合には、４個の特徴点がランダムに選択される。続いて、選択されたＭ個の特徴点に対応して計算されたＭ個のオプティカルフローに基づいて、アフィン変換パラメータが計算される（ステップＳ９０９）。
【００７６】
続いて、計算して求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される（ステップＳ９１０）。具体的には、計算して求められたアフィン変換パラメータを用いて、直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、ステップＳ９０６でオプティカルフローを計算した際に求められた現フレームに対応する画像における特徴点の位置とを比較して、互いに対応する２つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する２つの位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。
【００７７】
続いて、変数ｉに「１」が加算され（ステップＳ９１１）、変数ｉが、定数Ｎよりも大きいか否かが判断される（ステップＳ９１２）。変数ｉが、定数Ｎ以下である場合には（ステップＳ９１２）、ステップＳ９０８に戻り、アフィン変換パラメータのスコア算出処理を繰り返す（ステップＳ９０８乃至Ｓ９１０）。例えば、定数Ｎとして、２０を用いることができる。
【００７８】
一方、変数ｉが定数Ｎよりも大きい場合には（ステップＳ９１２）、求められたアフィン変換パラメータのスコアのうちで、スコアの値が最も大きいアフィン変換パラメータが代表アフィン変換パラメータとして選択される（ステップＳ９１３）。続いて、選択された代表アフィン変換パラメータの行列に対する逆行列のアフィン変換パラメータが、現フレームに関連付けてメタデータ記憶部２１０に記録される（ステップＳ９１４）。なお、現フレームが先頭のフレームである場合には、選択された単位行列のアフィン変換パラメータが、先頭のフレームに関連付けてメタデータ記憶部２１０に記録される。続いて、現フレームに対応する画像と、この画像における特徴点とが上書き保存される（ステップＳ９１５）。
【００７９】
続いて、現フレームが、撮像部１１０から出力された動画の最後のフレームであるか否かが判断される（ステップＳ９１６）。現フレームが、最後のフレームではない場合には（ステップＳ９１６）、ステップＳ９０１に戻り、アフィン変換パラメータ検出処理を繰り返す（ステップＳ９０１乃至Ｓ９１５）。一方、現フレームが、最後のフレームである場合には（ステップＳ９１６）、アフィン変換パラメータ検出処理を終了する。
【００８０】
本発明の実施の形態では、カメラワークパラメータの検出として、動画を構成する画像において検出されたオプティカルフローに基づいてアフィン変換パラメータを検出する例について説明したが、加速度センサやジャイロセンサ等のセンサやズーム操作をする際に用いられるズームボタン１６１によって撮影時における撮像装置１００の移動量を検出し、この撮像装置１００の移動量に基づいてカメラワークパラメータを求めるようにしてもよい。また、手振れ補正用に求められた動きベクトルに基づいてカメラワークパラメータを求めるようにしてもよい。さらに、加速度センサやジャイロセンサ等のセンシングデバイスにより検出された情報と、手振れ補正用に求めている動きベクトルとを組み合わせた情報に基づいてカメラワークパラメータを求めるようにしてもよい。なお、これらの撮影時において検出された撮像装置１００の移動量については、カメラワークパラメータ算出部１２３により求められたカメラワークパラメータが正しいか否かを判断する際に用いることができる。また、カメラワークパラメータ算出部１２３により複数のカメラワークパラメータを検出しておき、撮影時において検出された撮像装置１００の移動量に基づいて、この複数のカメラワークパラメータの中から１つのカメラワークパラメータを選択するようにしてもよい。
【００８１】
次に、カメラワーク検出部１２０により算出されたアフィン変換パラメータを用いて、動画を構成する各画像を合成する場合について図面を参照して詳細に説明する。なお、図８乃至図１６に示す各画像は、説明のため、簡略化するとともに、連続する２つのフレーム間の移動量を大きくして示している。
【００８２】
最初に、撮像装置１００の撮影時において、倍率が変更されないものの、撮像装置１００の位置を中心として、撮像装置１００のレンズの方向が上下左右の何れかに移動されている場合について説明する。
【００８３】
図８は、撮像装置１００により撮影された動画の遷移の一例を示す図である。図８には、山を背景にして人４００を撮影した場合における動画に含まれる連続するフレームに対応する画像４０１乃至４０３を示す図である。この例では、撮像装置１００のレンズの方向を右および上側に移動しながら、撮影者が撮影を行っている場合を示す。この場合には、撮像装置１００により撮影される動画に含まれる人４００が、その動画を構成する画像において右側から左側に移動するとともに下側に移動する。
【００８４】
図９は、図８に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図９（ａ）に示す画像４０１は、図８（ａ）に示す画像４０１と同じものである。また、図９（ｂ）に示す画像４０２のうちの実線の部分は、図８（ｂ）に示す画像４０２と同じものであり、図９（ｂ）に示す画像４０２のうちの破線の部分は、図９（ａ）に示す画像４０１の実線の部分と同じものである。また、図９（ｂ）に示す画像４０２における矢印４０４乃至４０６は、画像４０２から検出されたオプティカルフローの一例を示す。同様に、図９（ｃ）に示す画像４０３のうちの実線の部分は、図８（ｃ）に示す画像４０３と同じものであり、図９（ｃ）に示す画像４０３のうちの破線の部分は、図９（ｂ）に示す画像４０２の実線の部分と同じものである。また、図９（ｃ）に示す画像４０３における矢印４０７乃至４０９は、画像４０３から検出されたオプティカルフローの一例を示す。
【００８５】
図９（ｂ）および（ｃ）に示すように、撮像装置１００の移動に合わせて、画像に含まれる人４００および背景の山が移動する。この移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
【００８６】
図１０は、図８に示す画像４０１乃至４０３を含む動画を合成しながら再生する場合における画像合成例を示す図である。なお、本発明の実施の形態では、２つの動画を構成する各画像が合成されるため、再生時間の経過とともに、表示部２５０に表示される画像が通常の画像よりも大きくなる。このため、最初に表示される画像は、表示部２５０の表示領域の大きさよりも比較的小さくして表示される。なお、最初に表示される画像の大きさや位置等をユーザが指定するようにしてもよい。
【００８７】
図１０（ａ）に示すように、最初は、先頭のフレームに対応する画像４０１のみが表示される。ここで、画像４０１に対応するアフィン変換パラメータの行列（３×３の行列）をＡ１とする場合に、Ａ１の値が求められ、先頭のフレームの画像４０１の位置および大きさを基準にして、求められたＡ１の行列により画像４０１がアフィン変換される。ここで、Ａは単位行列であるため、画像４０１の位置および大きさは変換されない。続いて、次のフレームに対応する画像４０２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４０２がアフィン変換される。具体的には、画像４０２に対応するアフィン変換パラメータの行列をＡ２とし、画像４０１に対応するアフィン変換パラメータの行列をＡ１とする場合において、Ａ１×Ａ２の値が求められ、先頭のフレームの画像４０１の位置および大きさを基準にして、求められたＡ１×Ａ２の行列により画像４０２がアフィン変換される。図１０（ｂ）に示す画像においては、画像４０２の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像４０２が、直前のフレームに対応する画像４０１に重なるように上書きされる。すなわち、画像４０１の領域のうちで、画像４０２と重複する領域４１０については、画像４０２の画像が上書きされる。また、画像４０１の領域のうちで、画像４０２と重複しない領域４１１については、画像４０１の画像が合成される。すなわち、２つ目のフレームに対応する画像４０２が表示される場合には、図１０（ｂ）に示すように、画像４０２の全体部分と、画像４０１のうちの領域４１１に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図１０（ｂ）では、画像４０２に画像枠が表示される。また、画像４０２をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。
【００８８】
続いて、次のフレームに対応する画像４０３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４０３がアフィン変換される。すなわち、画像４０３に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像４０２に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像４０３がアフィン変換される。具体的には、画像４０３に対応するアフィン変換パラメータの行列をＡ３とし、画像４０２に対応するアフィン変換パラメータの行列をＡ２とし、画像４０１に対応するアフィン変換パラメータの行列をＡ１とする場合において、Ａ１×Ａ２×Ａ３の値が求められ、先頭のフレームの画像４０１の位置および大きさを基準にして、求められたＡ１×Ａ２×Ａ３の行列により画像４０３がアフィン変換される。図１０（ｃ）に示す画像においては、画像４０３の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像４０３が、前のフレームに対応する画像４０１および４０２の合成画像に重なるように上書きされる。すなわち、画像４０１および４０２の合成画像の領域のうちで、画像４０３と重複する領域４１３および４１４については、画像４０３の画像が上書きされる。また、画像４０１および４０２の合成画像の領域のうちで、画像４０３と重複しない領域４１１および４１２については、画像４０１および４０２の合成画像が合成される。すなわち、３つ目のフレームに対応する画像４０３が表示される場合には、図１０（ｃ）に示すように、画像４０３の全体部分と、画像４０１のうちの領域４１１に対応する部分と、画像４０２のうちの領域４１２に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図１０（ｃ）に示す画像４０３に画像枠が表示される。また、画像４０３をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。すなわち、画像４０２および４０３のそれぞれに対応するアフィン変換パラメータの行列の乗算により求められたアフィン変換パラメータが画像変換部１５０に保持される。このように、現フレームに対応する画像をアフィン変換する場合には、現フレームに対応するアフィン変換パラメータの行列と、この直前までの各フレームに対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより、現フレームに対応する画像がアフィン変換される。このアフィン変換の際に求められたアフィン変換パラメータが画像変換部１５０に保持され、次のアフィン変換で用いられる。また、図１３および図１６の場合についても同様である。
【００８９】
次に、撮像装置１００の撮影時において、撮像装置１００のレンズの方向は移動されないものの、倍率が変更されている場合について説明する。
【００９０】
図１１は、撮像装置１００により撮影された動画の遷移の一例を示す図である。図１１には、山を背景にして人４２０を撮影した場合における動画に含まれる連続するフレームに対応する画像４２１乃至４２３を示す図である。この例では、撮像装置１００のレンズの倍率を上げながら、撮影者が撮影を行っている場合を示す。この場合には、撮像装置１００により撮影される動画に含まれる人４２０が、その動画を構成する画像において次第に大きくなる。なお、倍率を上げる際に撮像装置１００の位置が多少移動する場合があるものの、この例では、撮像装置１００の位置の移動については考慮せずに説明する。
【００９１】
図１２は、図１１に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図１２（ａ）に示す画像４２１は、図１１（ａ）に示す画像４２１と同じものである。また、図１２（ｂ）に示す画像４２２のうちの実線の部分は、図１１（ｂ）に示す画像４２２と同じものであり、図１２（ｂ）に示す画像４２２のうちの破線の部分は、図１１（ａ）に示す画像４２１の実線の部分と同じものである。また、図１２（ｂ）に示す画像４２２における矢印４２４乃至４２６は、画像４２２から検出されたオプティカルフローの一例を示す。同様に、図１２（ｃ）に示す画像４２３のうちの実線の部分は、図１１（ｃ）に示す画像４２３と同じものであり、図１２（ｃ）に示す画像４２３のうちの破線の部分は、図１１（ｂ）に示す画像４２２の実線の部分と同じものである。また、図１２（ｃ）に示す画像４２３における矢印４２７乃至４２９は、画像４２３から検出されたオプティカルフローの一例を示す。
【００９２】
図１２（ｂ）および（ｃ）に示すように、倍率の変更に合わせて、画像に含まれる人４２０および背景の山の大きさが変更する。この変更により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
【００９３】
図１３は、図１１に示す画像４２１乃至４２３を含む動画を再生する場合における表示例を示す図である。
【００９４】
図１３（ａ）に示すように、最初は、先頭のフレームに対応する画像４２１のみが表示される。続いて、次のフレームに対応する画像４２２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４２２がアフィン変換される。図１３（ｂ）に示す画像においては、画像４２２の大きさのみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像４２２が、直前のフレームに対応する画像４２１に重なるように上書きされる。すなわち、画像４２１の領域のうちで、画像４２２と重複する領域については、画像４２２の画像が上書きされる。この場合には、画像４２１は、画像４２２の全ての領域と重複しているため、画像４２１に画像４２２の全ての画像が上書きされる。また、画像４２１の領域のうちで、画像４２２と重複しない領域４３１については、画像４２１の画像が合成される。すなわち、２つ目のフレームに対応する画像４２２が表示される場合には、図１３（ｂ）に示すように、画像４２２の全体部分と、画像４２１のうちの領域４３１に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図１３（ｂ）では、画像４２２に画像枠が表示される。また、画像４２２をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。
【００９５】
続いて、次のフレームに対応する画像４２３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４２３がアフィン変換される。すなわち、画像４２３に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像４２２に対応するアフィン変換パラメータの行列とを乗算して求められたアフィン変換パラメータにより画像４２３がアフィン変換される。図１３（ｃ）に示す画像においては、画像４２３の大きさのみが変換される。そして、アフィン変換された画像４２３が、前のフレームに対応する画像４２１および４２２の合成画像に重なるように上書きされる。すなわち、画像４２１および４２２の合成画像の領域のうちで、画像４２３と重複する領域については、画像４２３の画像が上書きされる。この場合には、画像４２３は、画像４２１および４２２の全ての領域と重複しているため、画像４２１および４２２の合成画像に画像４２３の全ての画像が上書きされる。また、画像４２１および４２２の合成画像の領域のうちで、画像４２３と重複しない領域４３２および４３３については、画像４２１および４２２の合成画像が合成される。すなわち、３つ目のフレームに対応する画像４２３が表示される場合には、図１３（ｃ）に示すように、画像４２３の全体部分と、画像４２１のうちの領域４３２に対応する部分と、画像４２２のうちの領域４３３に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図１３（ｃ）に示す画像４２３に画像枠が表示される。また、画像４２３をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。すなわち、画像４２２および４２３のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部１５０に保持される。
【００９６】
次に、撮像装置１００の撮影時において、撮像装置１００のレンズの方向や倍率は変更されないものの、撮影方向を回転中心にして撮像装置１００が回転されている場合について説明する。
【００９７】
図１４は、撮像装置１００により撮影された動画の遷移の一例を示す図である。図１４には、山を背景にして人４４０を撮影した場合における動画に含まれる連続するフレームに対応する画像４４１乃至４４３を示す図である。この例では、撮影方向を回転中心にして撮像装置１００を回転しながら、撮影者が撮影を行っている場合を示す。この場合には、撮像装置１００により撮影される動画に含まれる人４４０が、その動画を構成する画像において回転していく。なお、撮像装置１００の回転により撮像装置１００の位置が多少移動する場合があるものの、この例では、撮像装置１００の位置の移動については考慮せずに説明する。
【００９８】
図１５は、図１４に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図１５（ａ）に示す画像４４１は、図１４（ａ）に示す画像４４１と同じものである。また、図１５（ｂ）に示す画像４４２のうちの実線の部分は、図１４（ｂ）に示す画像４４２と同じものであり、図１５（ｂ）に示す画像４４２のうちの破線の部分は、図１４（ａ）に示す画像４４１の実線の部分と同じものである。また、図１５（ｂ）に示す画像４４２における矢印４４４乃至４４６は、画像４４２から検出されたオプティカルフローの一例を示す。同様に、図１５（ｃ）に示す画像４４３のうちの実線の部分は、図１４（ｃ）に示す画像４４３と同じものであり、図１５（ｃ）に示す画像４４３のうちの破線の部分は、図１４（ｂ）に示す画像４４２の実線の部分と同じものである。また、図１５（ｃ）に示す画像４４３における矢印４４７乃至４４９は、画像４４３から検出されたオプティカルフローの一例を示す。
【００９９】
図１５（ｂ）および（ｃ）に示すように、撮像装置１００の回転に合わせて、画像に含まれる人４４０および背景の山が回転移動する。この回転移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
【０１００】
図１６は、図１４に示す画像４４１乃至４４３を含む動画を再生する場合における表示例を示す図である。
【０１０１】
図１６（ａ）に示すように、最初は、先頭のフレームに対応する画像４４１のみが表示される。続いて、次のフレームに対応する画像４４２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４４２がアフィン変換される。図１６（ｂ）に示す画像においては、画像４４２の角度のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像４４２が、直前のフレームに対応する画像４４１に重なるように上書きされる。すなわち、画像４４１の領域のうちで、画像４４２と重複する領域４５０については、画像４４２の画像が上書きされる。また、画像４４１の領域のうちで、画像４４２と重複しない領域４５１および４５２については、画像４４１の画像が合成される。すなわち、２つ目のフレームに対応する画像４４２が表示される場合には、図１６（ｂ）に示すように、画像４４２の全体部分と、画像４４１のうちの領域４５１および４５２に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図１６（ｂ）では、画像４４２に画像枠が表示される。また、画像４４２をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。
【０１０２】
続いて、次のフレームに対応する画像４４３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４４３がアフィン変換される。すなわち、画像４４３に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像４４２に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像４４３がアフィン変換される。図１６（ｃ）に示す画像においては、画像４４３の角度のみが変換される。そして、アフィン変換された画像４４３が、前のフレームに対応する画像４４１および４４２の合成画像に重なるように上書きされる。すなわち、画像４４１および４４２の合成画像の領域のうちで、画像４４３と重複する領域４５３乃至４５７については、画像４４３の画像が上書きされる。また、画像４４１および４４２の合成画像の領域のうちで、画像４４３と重複しない領域４５８乃至４６１については、画像４４１および４４２の合成画像がさらに合成される。すなわち、３つ目のフレームに対応する画像４４３が表示される場合には、図１６（ｃ）に示すように、画像４４３の全体部分と、画像４４１のうちの領域４５９に対応する部分と、画像４４２のうちの領域４５８および４６０に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図１６（ｃ）に示す画像４４３に画像枠が表示される。また、画像４４３をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。すなわち、画像４４２および４４３のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部１５０に保持される。
【０１０３】
次に、表示部２５０に表示される合成画像を取り出す方法について図面を参照して詳細に説明する。
【０１０４】
図１７は、本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。ここでは、画像メモリ１８０、メタデータ記憶部２１０および操作受付部１６０についてのみ図示し、これら以外の構成についての図示を省略する。また、図４（ｂ）に示す動画ファイル２０１を構成するフレーム「１」乃至「３」について、メタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いて画像メモリ１８０に合成画像が作成される場合を例にして説明する。
【０１０５】
図１７（ａ）には、図４（ｂ）に示す動画ファイル２０１を構成するフレームのうちの最初のフレームであるフレーム１（２０５）が画像メモリ１８０に保存される場合を示す。例えば、動画記憶部２００に記憶されている動画ファイル２０１の再生を指示する再生指示の操作入力が操作受付部１６０により受け付けられると、図１７（ａ）に示すように、動画ファイル２０１のフレーム１（２０５）に対応する画像３５１が画像メモリ１８０に保存される。ここで、最初のフレームに対応する画像３５１が画像メモリ１８０に保存される位置は、例えば、メタデータファイル２１１に記憶されている動画ファイル２０１に関するアフィン変換パラメータ２１６を用いてフレーム「１」乃至「ｎ」までの合成画像の大きさを計算し、この計算に基づいて画像３５１が保存される位置を決定することができる。なお、この例では、画像メモリ１８０上に配置された画像３５１の左上の位置を原点とし、横方向（横軸）をｘ軸とし、縦方向（縦軸）をｙ軸として説明する。
【０１０６】
図１７（ａ）に示すように、画像メモリ１８０上に画像３５１が配置された場合における表示領域を表示領域３６１とする。表示領域３６１は、例えば、画像３５１が保存されている位置および大きさに基づいて、操作受付部１６０により受け付けられた表示倍率の値に応じて決定される。例えば、通常の再生時には、現画像のみを再生させる表示倍率が指定されているため、表示領域３６１は、画像３５１と同じ大きさとなる。また、例えば、現画像をズームアウトする「０．５倍」の表示倍率が指定されている場合には、表示領域３６１は、画像３５１を中心として画像３５１の２倍の大きさとなる。なお、画像３５１に対する表示領域３６１の位置は、アフィン変換パラメータにより決定することができる。すなわち、現画像をズームアウトする「０．５倍」の表示倍率が指定されている場合には、ｘ方向およびｙ方向のズーム成分が２倍となるアフィン変換パラメータを用いて表示領域が設定される。また、現画像に対して表示領域を平行移動させる場合や回転させる場合についても、アフィン変換パラメータを用いることにより表示領域の位置および範囲を決定することができる。なお、この例では、現画像の変換とともに、表示領域が変換されるものの、フレーム１（２０５）に対応するアフィン変換パラメータは単位行列のパラメータであるため、フレーム１（２０５）に対応する表示領域３６１は、操作受付部１６０からの表示倍率指定のみが考慮されて決定される。
【０１０７】
図１７（ｂ）には、図４（ｂ）に示す動画ファイル２０１を構成するフレームのうちのフレーム２（２０６）が画像メモリ１８０に保存される場合を示す。この場合には、上述したように、フレーム番号２１５の「１」および「２」に関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いてフレーム２（２０６）に対応する画像３５２が変換され、画像３５１に上書き合成されるとともに、表示領域についてもアフィン変換が施される。すなわち、画像３５１の位置および大きさを基準として、フレーム番号２１５の「１」および「２」に関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いてフレーム２（２０６）に対応する画像３５２が変換される。そして、操作受付部１６０により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータを用いて画像３５２の位置および大きさが変換され、この変換後の位置および大きさにより決定される領域が表示領域３６２となる。具体的には、フレーム番号２１５の「１」および「２」に対応するアフィン変換パラメータの行列をそれぞれＡ１、Ａ２とし、操作受付部１６０により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータの行列をＢ（例えば、現画像を基準とする行列）とする場合には、Ａ１×Ａ２×Ｂの値が求められ、画像３５１の位置および大きさを基準として、求められたＡ１×Ａ２×Ｂの行列により表示領域３６２が決定される。
【０１０８】
図１７（ｃ）には、図４（ｂ）に示す動画ファイル２０１を構成するフレームのうちのフレーム３が画像メモリ１８０に保存される場合を示す。この場合についても、上述したように、フレーム番号２１５「１」乃至「３」に関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いてフレーム３に対応する画像３５３が変換され、画像３５１および３５２に上書き合成されるとともに、表示領域についてもアフィン変換が施されて、画像３５３に対する表示領域３６３が決定される。具体的には、フレーム番号２１５の「１」乃至「３」に対応するアフィン変換パラメータの行列をそれぞれＡ１乃至Ａ３とし、操作受付部１６０により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータの行列をＢとする場合には、Ａ１×Ａ２×Ａ３×Ｂの値が求められ、画像３５１の位置および大きさを基準として、求められたＡ１×Ａ２×Ａ３×Ｂの行列により表示領域３６３が決定される。
【０１０９】
図１８は、動画の表示倍率を変更して表示させる場合における画像メモリ１８０に保持される画像と液晶パネル２５１に表示される画像との関係を概略的に示す図である。図１８（ａ）には、液晶パネル２５１に現画像のみを表示させる場合を示し、図１８（ｂ）には、液晶パネル２５１に表示される動画を縮小表示（ズームアウト）させる場合を示し、図１８（ｃ）には、液晶パネル２５１に表示される動画を拡大表示（ズームイン）させる場合を示す。この例では、現画像の被写体に魚が含まれている場合を示す。
【０１１０】
最初に動画の再生が指示された場合には、図１８（ａ）に示すように、現画像４９１と表示領域４９２とが同一とされ、表示領域４９２の範囲内に含まれる合成画像が画像メモリ１８０から取り出されて液晶パネル２５１に表示される。すなわち、液晶パネル２５１には現画像のみが順次表示される。
【０１１１】
また、動画再生時において、Ｗボタンが押下されている状態では、図１８（ｂ）に示すように、画像メモリ１８０上における表示領域４９３がＷボタンの押下時間に応じて拡大され、表示領域４９３に含まれる合成画像が液晶パネル２５１に順次表示される。一方、動画再生時において、Ｔボタンが押下されている状態では、図１８（ｃ）に示すように、画像メモリ１８０上における表示領域４９５がＴボタンの押下時間に応じて縮小され、表示領域４９５に含まれる合成画像が液晶パネル２５１に順次表示される。なお、これらの拡大縮小処理は、現画像４９１が中心となるように表示領域取出部１９０により行われる。すなわち、上述したように、操作受付部１６０により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータを用いて現画像４９１の位置および大きさが変換され、この変換後の位置および大きさにより表示領域が決定される。図１８（ｂ）に示す例では、表示倍率を下げる操作入力がされているため、この表示倍率の縮小に応じてアフィン変換パラメータのズーム成分が決定され、図１８（ｃ）に示す例では、表示倍率を上げる操作入力がされているため、この表示倍率の上昇に応じてアフィン変換パラメータのズーム成分が決定される。このように、表示領域の大きさを変更するのみで、現画像を含む画像を拡大または縮小させて表示することができる。なお、十字ボタン１６２の操作により、表示領域を上下左右に移動させることが可能である。
【０１１２】
以上で示したように、画像メモリ１８０上に配置される表示領域の範囲内に存在する画像を表示することによって、再生中の合成画像を順次表示させることができる。ここで、現画像がアフィン変換されて画像メモリ１８０に合成される際には、低い解像度に変換する解像度変換処理や圧縮処理等の画質の変換が施されることがある。このため、表示倍率を高くして現画像を拡大表示させる場合には、現画像を含む合成画像がぼけてしまうことが考えられる。そこで、本発明の実施の形態では、現在再生中の現画像については、画像メモリ１８０に合成される前の画像を用いて合成画像を表示させる。以下では、この表示方法について図面を参照して詳細に説明する。
【０１１３】
図１９は、本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームの流れを模式的に示す図である。ここでは、操作受付部１６０、動画記憶部２００、メタデータ記憶部２１０、画像メモリ１８０および表示用メモリ２３０の関係についてのみ図示し、これら以外の構成についての図示を省略する。
【０１１４】
図１９（ａ）には、図４（ｂ）に示す動画ファイル２０１およびメタデータファイル２１１を簡略化して示す。以下では、動画ファイル２０１を構成するフレームｉ（２０７）に対応する画像が表示される例について説明する。すなわち、動画ファイル２０１を構成するフレーム１乃至「ｉ−１」に対応する画像については、合成画像が作成されているものとする。
【０１１５】
図１９（ｂ）には、動画ファイル２０１を構成する各フレームに対応する画像が合成された合成画像が保持されている画像メモリ１８０を模式的に示す。図１７（ｂ）に示すように、動画ファイル２０１を構成するフレーム１（２０５）に対応する画像３５１が画像メモリ１８０に最初に保持される。なお、図１７（ａ）に示す表示領域３６１を破線で示す。そして、画像３５１が画像メモリ１８０に保持された後に、動画ファイル２０１を構成するフレーム２乃至「ｉ−１」に対応する各画像が、フレーム２乃至「ｉ−１」のそれぞれに関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６の値を用いて順次アフィン変換され、アフィン変換された画像が画像メモリ１８０に順次上書きされて保持される。ここで、表示領域は、操作受付部１６０からの表示倍率指定に係る操作入力（ＷボタンまたはＴボタンの押下）に応じて大きさが決定されるとともに、現画像に応じたアフィン変換により算出される。そして、画像メモリ１８０に保持されている合成画像から、算出された表示領域内に存在する画像を、表示領域取出部１９０がフレーム毎に取り出す。
【０１１６】
フレーム１乃至「ｉ−１」に対応する各画像による合成画像が画像メモリ１８０に保持されている状態で、動画ファイル２０１を構成するフレームｉ（２０７）に対応する画像が、フレーム１乃至ｉに関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いてアフィン変換され、アフィン変換された現画像６９２が画像メモリ１８０に上書きされて保持される。すなわち、画像３５１を基準として、フレーム番号２１５の「１」乃至「ｉ」に関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いてフレームｉ（２０７）に対応する画像が画像６９２に変換され、画像メモリ１８０に保存される。そして、フレームｉ（２０７）に対応する表示領域６９５については、操作受付部１６０により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータを用いて画像６９２の位置および大きさが変換され、表示領域６９５が決定される。この表示領域の決定は、表示領域取出部１９０により行われる。そして、画像メモリ１８０に保持されている合成画像から、表示領域６９５内に存在する画像を、表示領域取出部１９０が取り出し、取り出された画像を、例えば、図１９（ｃ）に示すように表示用メモリ２３０に保持させる。
【０１１７】
図１９（ｃ）には、表示領域取出部１９０により取り出された画像が保持されている表示用メモリ２３０を模式的に示す。ここで、表示用メモリ２３０に保持される画像（現画像６９６以外の画像）は、表示領域取出部１９０により取り出された画像（表示領域６９５の範囲内に存在する画像）が、表示領域６９５の変換に用いられたアフィン変換パラメータに係る行列に対する逆行列を用いて変換された画像である。すなわち、画像メモリ１８０上に配置される表示領域の形状は、アフィン変換により平行四辺形となる場合等がある。このようにアフィン変換された表示領域内の合成画像を表示部２５０に表示させるため、現在の現画像をアフィン変換する際に用いられたアフィン変換パラメータに係る行列の逆行列を用いて表示領域内の合成画像を変換する。例えば、フレーム番号２１５の「１」乃至「ｉ」に関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータの行列をそれぞれＡ１、…、Ａｉとし、表示領域６９５を決定するためのアフィン変換パラメータの行列（例えば、現画像を基準とする行列）をＢとする場合には、表示領域内の合成画像を変換するための行列として、Ｉｎｖ（Ａ１×…×Ａｉ×Ｂ）を用いる。これにより、例えば、図１９（ｃ）に示すように、平行四辺形に変換された画像を長方形に変換して表示部２５０に表示させることができる。また、表示領域取出部１９０により取り出された画像のうちの現フレームに対応する画像６９６は、表示領域取出部１９０により画像メモリ１８０から取り出された画像の代わりに、動画記憶部２００から取得されてアフィン変換されていない画像を用いる。ここで、表示用メモリ２３０において画像６９６が保存される位置および大きさは、操作受付部１６０からの表示倍率に応じて決定される。
【０１１８】
図１９（ｃ）に示すように、表示領域取出部１９０により取り出された画像が表示用メモリ２３０に保持されるとともに、表示領域取出部１９０により取り出された画像に、動画記憶部２００から取得された画像が上書きされて表示用メモリ２３０に保持される。これにより、一旦アフィン変換がされた合成画像を、逆行列によりアフィン変換がされていない状態に戻して表示することができる。また、現画像については、アフィン変換後に縮小等の処理が施されて画像メモリ１８０に保持される前の状態の画像を用いることによって、比較的綺麗な現画像を表示することができる。また、ユーザの操作により拡大等がされた場合についても現画像を綺麗な状態で表示することができる。
【０１１９】
以上で示したように、現画像については、画像メモリ１８０に保持される合成画像の代わりに、動画記憶部２００から取得されてアフィン変換される前の画像を用いることができるため、比較的綺麗な画像を視聴することができる。この合成例については、図２０および図２１を参照して詳細に説明する。
【０１２０】
図２０（ａ）は、撮像装置１００により撮影された動画を再生する場合における合成例を示す図である。この例では、大きな建物がある芝生の広場で遊んでいる親子を、撮像装置１００を主に左右方向に移動させながら撮影した場合の動画により形成される合成画像を逆行列によりアフィン変換する前の状態を画像４８０として示す。ここで、画像４８０には、動画を構成する各クレームに対応する画像により合成された画像４８１がパノラマ状に形成されている。また、画像４８０における現フレームに対応する画像は、現画像４８２である。
【０１２１】
ここで、枠４８３で囲まれた画像領域を拡大表示する場合について説明する。表示部２５０に表示されている画像について拡大縮小表示をする場合には、ユーザがズームボタン１６１を操作することにより所望の表示倍率を指定することができる。例えば、図２０（ａ）に示すように、表示部２５０に画像４８０が表示されている場合において、枠４８３で囲まれた画像領域を拡大表示する場合には、ユーザがズームボタン１６１を操作して表示倍率を指定するとともに、十字ボタン１６２を操作して位置を指定することにより、枠４８３で囲まれた画像領域を拡大表示することができる。
【０１２２】
図２０（ｂ）は、画像４８０における現画像４８２がアフィン変換される前の状態の画像４８４を示す図である。
【０１２３】
図２１（ａ）は、図２０（ａ）に示す枠４８３で囲まれた画像領域が拡大された場合における画像４８５を示す図である。図２１（ａ）に示す画像４８５は、アフィン変換後の現画像が画像メモリ１８０に保存される前の状態で表示用メモリ２３０に合成された画像である。このように、現画像４８６の領域には、画像メモリ１８０に保存される前の状態の比較的精細な画像が表示される。このため、現画像４８６と、この領域以外の領域とを比較した場合に、他の領域よりも比較的綺麗な現画像４８６を見ることができる。一方、図２１（ｂ）に示す画像４８７は、アフィン変換後の現画像が画像メモリ１８０に保存された状態で表示用メモリ２３０に保存された画像である。このように表示される場合には、現画像４８８の領域についても、他の領域の画像と同程度の画像が表示される。すなわち、本発明の実施の形態によれば、画像合成表示する際に、表示用メモリ２３０に保持された履歴画像は圧縮される場合があるものの、現在（カレント）の画像については非圧縮の画像、または、履歴画像よりも高い解像度の画像を使用することができるため、高画質な画像合成表示を実現することができる。なお、この例では、説明のため、表示の対象となる画像を逆行列によりアフィン変換する前の状態を示すため、現画像が矩形ではないものの、上述した逆行列によりアフィン変換を施すことにより現画像を矩形とすることができる。
【０１２４】
次に、本発明の実施の形態における撮像装置１００の動作について図面を参照して説明する。
【０１２５】
図２２は、本発明の実施の形態における撮像装置１００による動画再生処理の処理手順を示すフローチャートである。この例では、ユーザにより再生すべき動画が選択された場合を示す。
【０１２６】
最初に、動画を構成する画像のサイズよりも大きいワークバッファが画像メモリ１８０に確保される（ステップＳ９２１）。続いて、ファイル取得部１４０が、操作受付部１６０により選択された動画ファイルを動画記憶部２００から取得するとともに、これらの動画ファイルに関連付けられているメタデータファイルをメタデータ記憶部２１０から取得する（ステップＳ９２２）。
【０１２７】
続いて、ファイル取得部１４０が、動画ファイルをデコードし、動画ファイルを構成する１つのフレームである現フレームを取得する（ステップＳ９２３）。続いて、ファイル取得部１４０が、取得された現フレームに対応するアフィン変換パラメータをメタデータファイルから取得する（ステップＳ９２４）。ここで、現フレームが先頭フレームである場合には、単位行列のアフィン変換パラメータが取得される。
【０１２８】
続いて、画像変換部１５０が、アフィン変換パラメータを用いて現フレームに対応する画像をアフィン変換する（ステップＳ９２５）。なお、現フレームが先頭フレームである場合には、単位行列を用いてアフィン変換がされるため、実際の画像は変換されない。
【０１２９】
続いて、画像合成部１７０が、アフィン変換された現フレームに対応する画像を、この現フレームよりも前のフレームに対応する各画像の合成画像に上書きして合成し、この現フレームに対応する画像が合成された画像を画像メモリ１８０に保存する（ステップＳ９２６）。
【０１３０】
続いて、表示領域取出部１９０は、最初のフレームから現フレームまでのアフィン変換パラメータと、表示倍率に対応するアフィン変換パラメータとを用いて表示領域の位置および大きさを決定する（ステップＳ９２７）。続いて、表示領域取出部１９０は、表示領域に含まれる合成画像を画像メモリ１８０から取り出す（ステップＳ９２８）。続いて、表示領域取出部１９０は、表示領域の決定に用いられたアフィン変換パラメータの行列に対する逆行列を用いて、画像メモリ１８０から取り出された合成画像をアフィン変換する（ステップＳ９２９）。
【０１３１】
続いて、表示領域取出部１９０は、画像メモリ１８０から取り出されてアフィン変換された合成画像を表示用メモリ２３０に保存する（ステップＳ９３０）。続いて、画像合成部１７０は、表示用メモリ２３０に保存されている合成画像に現画像を上書き合成する（ステップＳ９３１）。続いて、表示制御部２４０が、表示用メモリ２３０に保存されている合成画像を表示部２５０に表示させる（ステップＳ９３２）。
【０１３２】
続いて、選択された動画ファイルを構成するフレームの中で、現フレームが最後のフレームであるか否かが判断される（ステップＳ９３３）。現フレームが最後のフレームではない場合には（ステップＳ９３３）、ステップＳ９２３に戻り、動画の合成再生処理を繰り返す（ステップＳ９２３乃至Ｓ９３２）。一方、現フレームが最後のフレームである場合には（ステップＳ９３３）、確保されているワークバッファを解放して（ステップＳ９３４）、動画再生処理を終了する。
【０１３３】
以上では、現フレームに対応する現画像にアフィン変換を順次施して合成画像を作成して画像メモリに順次保存するとともに、この画像メモリの合成画像から、表示の対象となる領域である表示領域を取り出して動画を再生させる例について説明した。ここでは、前の各フレームに対応する合成画像に、アフィン変換パラメータの方向とは逆方向にアフィン変換を施して合成画像を作成することにより、現フレームに対応する現画像を表示部２５０の真中部分等に固定して動画を再生する動画再生方法について図面を参照して詳細に説明する。
【０１３４】
最初に、図８乃至図１６で示した画像４０１乃至４０３、４２１乃至４２３、４４１乃至４４３を用いて動画を合成再生する場合について図面を参照して詳細に説明する。なお、図２３乃至図２５に示す各画像は、図８乃至図１６と同様に、説明のため、簡略化するとともに、連続する２つのフレーム間の移動量を大きくして示している。
【０１３５】
最初に、撮像装置１００の撮影時において、倍率が変更されないものの、撮像装置１００の位置を中心として、撮像装置１００のレンズの方向が上下左右の何れかに移動されている場合について説明する。
【０１３６】
図２３は、図８に示す画像４０１乃至４０３を含む動画を再生する場合における表示例を示す図である。図１０に示す表示例は、現フレームの前の各フレームに対応する合成画像（最初は１つの画像）を固定して、アフィン変換された現フレームに対応する画像をその合成画像に上書きして合成し、この合成された画像を表示するものである。これに対して、図２３に示す表示例は、現フレームに対応する画像の位置を固定とし、現フレームの前の各フレームに対応する合成画像をアフィン変換パラメータの方向とは逆方向にアフィン変換し、このアフィン変換された合成画像に現フレームに対応する画像を上書きして合成し、この合成された画像を表示するものである。すなわち、図１０および図２３に示す表示例は、固定位置に表示される画像、および、アフィン変換の対象となる画像が異なるものの、他の部分は共通する。このため、図１０に共通する部分については、共通の符号を付して説明する。
【０１３７】
図２３（ａ）に示すように、最初は、先頭のフレームに対応する画像４０１のみが表示される。ここで、画像４０１は先頭フレームであるため、前のフレームが存在しない。続いて、次のフレームに対応する画像４０２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて直前の画像である画像４０１がアフィン変換される。具体的には、画像４０２に対応するアフィン変換パラメータの行列をＡ２とし、画像４０１に対応するアフィン変換パラメータの行列をＡ１とする場合において、Ｉｎｖ（Ａ１×Ａ２）の値が求められ、求められたＩｎｖ（Ａ１×Ａ２）の行列により画像４０１がアフィン変換される。ここで、ＩｎｖＡ（Ａは行列）は、Ａの逆行列を示す。図２３（ｂ）に示す画像においては、画像４０１の位置のみが変換される。そして、アフィン変換された画像４０１に、現フレームに対応する画像４０２が重なるように上書きされる。なお、画像４０１に画像４０２が上書きされた合成画像は、図１０（ｂ）に示す合成画像と同じであるため、ここでの説明は省略する。
【０１３８】
続いて、次のフレームに対応する画像４０３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて、前のフレームに対応する画像４０１および画像４０２の合成画像がアフィン変換パラメータの方向とは逆方向にアフィン変換される。具体的には、画像４０３に対応するアフィン変換パラメータの行列をＡ３とし、画像４０２に対応するアフィン変換パラメータの行列をＡ２とし、画像４０１に対応するアフィン変換パラメータの行列をＡ１とする場合において、Ｉｎｖ（Ａ１×Ａ２×Ａ３）の値が求められ、Ｉｎｖ（Ａ１×Ａ２×Ａ３）の行列により画像４０１および４０２の合成画像がアフィン変換される。図２３（ｃ）に示す画像においては、画像４０１および画像４０２の合成画像の位置のみが変換される。そして、現フレームに対応する画像４０３が、アフィン変換された画像４０１および４０２の合成画像に重なるように上書きされる。なお、画像４０１および４０２に画像４０３が上書きされた合成画像は、図１０（ｃ）に示す合成画像と同じであるため、ここでの説明は省略する。
【０１３９】
次に、撮像装置１００の撮影時において、撮像装置１００のレンズの方向は移動されないものの、倍率が変更されている場合について説明する。
【０１４０】
図２４は、図１１に示す画像４２１乃至４２３を含む動画を再生する場合における表示例を示す図である。図１３および図２４に示す表示例の相違は、図１０および図２３に示す表示例の相違と同様であり、固定位置に表示される画像、および、アフィン変換の対象となる画像が異なるものの、他の部分は共通する。このため、図１３に共通する部分については、共通の符号を付して説明する。
【０１４１】
図２４（ａ）に示すように、最初は、先頭のフレームに対応する画像４２１のみが表示される。続いて、次のフレームに対応する画像４２２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて直前の画像である画像４２１が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。図２４（ｂ）に示す画像においては、画像４２１の大きさのみが変換される。そして、アフィン変換された画像４２１に、現フレームに対応する画像４２２が重なるように上書きされる。なお、画像４２１に画像４２２が上書きされた合成画像については、大きさが異なるものの、その他の点は、図１３（ｂ）に示す合成画像と同じであるため、ここでの説明は省略する。
【０１４２】
続いて、次のフレームに対応する画像４２３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて、前のフレームに対応する画像４２１および画像４２２の合成画像が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。図２４（ｃ）に示す画像においては、画像４２１および４２２の合成画像の大きさのみが変換される。そして、現フレームに対応する画像４２３が、アフィン変換された画像４２１および４２２の合成画像に重なるように上書きされる。なお、画像４２１および４２２の合成画像に画像４２３が上書きされた合成画像は、大きさが異なるものの、その他の点は、図１３（ｃ）に示す合成画像と同じであるため、ここでの説明は省略する。
【０１４３】
次に、撮像装置１００の撮影時において、撮像装置１００のレンズの方向や倍率は変更されないものの、撮影方向を回転中心にして撮像装置１００が回転されている場合について説明する。
【０１４４】
図２５は、図１４に示す画像４４１乃至４４３を含む動画を再生する場合における表示例を示す図である。図１６および図２５に示す表示例の相違は、図１０および図２３に示す表示例の相違と同様であり、固定位置に表示される画像、および、アフィン変換の対象となる画像が異なるものの、他の部分は共通する。このため、図１６に共通する部分については、共通の符号を付して説明する。
【０１４５】
図２５（ａ）に示すように、最初は、先頭のフレームに対応する画像４４１のみが表示される。続いて、次のフレームに対応する画像４４２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて直前の画像である画像４４１が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。図２５（ｂ）に示す画像においては、画像４４１の角度のみが変換される。そして、アフィン変換された画像４４１に、現フレームに対応する画像４４２が重なるように上書きされる。なお、画像４４１に画像４４２が上書きされた合成画像については、角度が異なるものの、その他の点は、図１６（ｂ）に示す合成画像と同じであるため、ここでの説明は省略する。
【０１４６】
続いて、次のフレームに対応する画像４４３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて、前のフレームに対応する画像４４１および画像４４２の合成画像が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。図２５（ｃ）に示す画像においては、画像４４１および４４２の合成画像の角度のみが変換される。そして、現フレームに対応する画像４４３が、アフィン変換された画像４４１および４４２の合成画像に重なるように上書きされる。なお、画像４４１および４４２に画像４４３が上書きされた合成画像は、角度が異なるものの、その他の点は、図１６（ｃ）に示す合成画像と同じであるため、ここでの説明は省略する。
【０１４７】
次に、表示部２５０に表示される合成画像を取り出す方法について図面を参照して詳細に説明する。
【０１４８】
図２６は、本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。ここでは、画像メモリ１８０、メタデータ記憶部２１０および操作受付部１６０についてのみ図示し、これら以外の構成についての図示を省略する。また、図２６では、図１７と同様に、図４（ｂ）に示す動画ファイル２０１を構成するフレーム「１」乃至「３」について、メタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いて画像メモリ１８０に合成画像が作成される場合を例にして示す。
【０１４９】
ここで、図１７では、現フレームに対応する現画像にアフィン変換を順次施して合成画像を作成して画像メモリ１８０に順次保存するとともに、画像メモリ１８０の合成画像から、現画像に応じて変換された表示領域の範囲内に含まれる合成画像を取り出す例について説明した。図２６では、前の各フレームに対応する合成画像に、アフィン変換パラメータの方向とは逆方向にアフィン変換を施して合成画像を作成することにより、現画像に応じて表示領域を変換させずに、現フレームに対応する現画像を表示部２５０の特定位置に固定する例である。この場合に、画像変換部１５０は、画像メモリ１８０に保持されている直前までの各フレームに対応する合成画像にアフィン変換を施し、画像合成部１７０は、このアフィン変換後の合成画像に現画像を上書きすることにより画像を合成し、合成された新たな合成画像を画像メモリ１８０に保存する。なお、図１７と同一のものについては、同一の符号を付す。このように、現画像に応じて表示領域を変換させずに、現画像を表示部２５０の特定位置に固定することができる。また、現画像については、図１９で示したように、画像メモリ１８０に保持される合成画像の代わりに、動画記憶部２００から取得されてアフィン変換される前の画像を用いることができる。
【０１５０】
以上では、１つの動画を構成する各画像を合成する場合を例にして説明したが、以下では、２つの動画についての各画像を合成する場合における合成例について図面を参照して詳細に説明する。
【０１５１】
図２７は、本発明の実施の形態における撮像装置１０１の機能構成例を示すブロック図である。ここで、撮像装置１０１は、図１に示す撮像装置１００の一部を変形したものであり、撮像部１１０と、カメラワーク検出部１２０と、記録制御部１３１と、ファイル取得部１４１と、画像変換部１５１と、操作受付部１６５と、画像合成部１７１と、画像メモリ１８０と、表示領域取出部１９０と、動画記憶部２００と、メタデータ記憶部２１０と、相対関係情報記憶部２２０と、表示用メモリ２３１と、表示制御部２４０と、表示部２５０と、一致点選択部２６０と、相対関係情報算出部２７０と、対象画像変換情報算出部２８０と、一致点検索部３４０とを備える。なお、撮像部１１０、カメラワーク検出部１２０、画像メモリ１８０、表示領域取出部１９０、メタデータ記憶部２１０、表示制御部２４０および表示部２５０の構成は、図１に示す撮像装置１００と同様であるため、これらの構成についての説明は省略する。また、以下では、図１に示す撮像装置１００と異なる部分を中心に説明する。
【０１５２】
記録制御部１３１は、撮像部１１０から出力された動画を動画ファイルとして動画記憶部２００に記録するとともに、カメラワーク検出部１２０から出力されたアフィン変換パラメータを、対応する動画およびフレームに関連付けてメタデータファイルとしてメタデータ記憶部２１０に記録するものである。また、記録制御部１３１は、相対関係情報算出部２７０から出力されたアフィン変換パラメータを、このアフィン変換パラメータに対応する動画およびフレームに関連付けて相対関係情報記憶部２２０に記録する。
【０１５３】
動画記憶部２００は、記録制御部１３１の制御に基づいて撮像部１１０から出力された動画を動画ファイルとして記憶するものである。また、動画記憶部２００は、ファイル取得部１４１からの要求に応じて動画ファイルをファイル取得部１４１に供給し、一致点検索部３４０からの要求に応じて少なくとも２つの動画ファイルを一致点検索部３４０に供給する。
【０１５４】
相対関係情報記憶部２２０は、記録制御部１３１の制御に基づいて、相対関係情報算出部２７０から出力されたアフィン変換パラメータと、これに対応する動画およびフレームとを関連付けて相対関係メタデータファイルとして記憶するものである。また、相対関係情報記憶部２２０は、ファイル取得部１４１からの要求に応じて相対関係メタデータファイルをファイル取得部１４１に供給する。なお、相対関係情報記憶部２２０に記憶される相対関係メタデータファイルについては、図２９、図３５を参照して詳細に説明する。
【０１５５】
ファイル取得部１４１は、操作受付部１６５により受け付けられた操作入力に応じて、動画記憶部２００に記憶されている１または複数の動画ファイル、これらの各動画ファイルに関連付けられてメタデータ記憶部２１０に記憶されているメタデータファイル、これらの動画ファイルに共通して関連付けられて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイルの少なくとも１つを取得し、取得された各ファイルの情報を各部に供給するものである。具体的には、ファイル取得部１４１は、操作受付部１６５により通常の動画再生を指示する指示操作が受け付けられた場合には、動画記憶部２００に記憶されている１または複数の動画ファイルを取得し、取得された動画ファイルの動画を一致点選択部２６０および表示用メモリ２３１に順次出力する。この通常の動画再生が行われている際に、操作受付部１６５により動画再生の停止に係る操作入力が受け付けられた場合には、ファイル取得部１４１は、動画の出力を停止する。また、ファイル取得部１４１は、１または複数の動画の合成再生を指示する指示操作が操作受付部１６５により受け付けられた場合には、動画記憶部２００に記憶されている指示された動画ファイルと、これらの各動画ファイルに関連付けられてメタデータ記憶部２１０に記憶されているメタデータファイルと、これらの動画ファイルに共通して関連付けられて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイルとを取得し、取得された動画ファイルの動画およびメタデータファイルのアフィン変換パラメータを画像変換部１５１に出力する。また、取得されたメタデータファイルおよび相対関係メタデータファイルの内容を対象画像変換情報算出部２８０に出力する。
【０１５６】
画像変換部１５１は、ファイル取得部１４１から出力された動画ファイルの動画を構成する画像について、この画像に対応するアフィン変換パラメータを用いてフレーム毎にアフィン変換を施し、アフィン変換された画像を画像合成部１７１に出力するものである。ここで、複数の動画合成が指示された場合には、画像変換部１５１は、再生の対象となる複数の動画のうちの１つの動画を基準動画とし、この基準動画については、この基準動画を構成する画像に対応するアフィン変換パラメータを用いて、フレーム毎にアフィン変換を施す。一方、再生の対象となる複数の動画のうちの基準動画以外の他の動画については、対象画像変換情報算出部２８０により算出された対象画像変換情報（アフィン変換パラメータ）と、動画を構成する画像に対応するアフィン変換パラメータとを用いて、フレーム毎にアフィン変換を施す。なお、他の動画の変換方法については、図３２、３８等を参照して詳細に説明する。
【０１５７】
操作受付部１６５は、各種操作部材を備え、これらの操作部材から操作入力を受け付けると、受け付けた操作入力の内容をファイル取得部１４１、一致点選択部２６０、画像合成部１７１、表示領域取出部１９０、または、一致点検索部３４０に出力するものである。なお、これらの操作部材については、図２で説明したものと同様である。
【０１５８】
一致点選択部２６０は、操作受付部１６５により一致点を指定する指定操作の操作入力が受け付けられた場合には、ファイル取得部１４１から出力された動画ファイルの動画を構成する画像における一致点を選択するものであり、１つの画像について少なくとも３つの一致点が選択された場合には、この選択された一致点の位置および選択順序と、選択対象の画像とを相対関係情報算出部２７０に出力する。この一致点の選択操作は、複数の画像について同時に行うようにしてもよく、１つの動画毎に順次行うようにしてもよい。
【０１５９】
一致点検索部３４０は、動画記憶部２００に記憶されている複数の動画ファイルの中の少なくとも２つの動画についての相対関係情報の作成を指示する指示操作が操作受付部１６５により受け付けられた場合には、指定された複数の動画を構成する各画像について、少なくとも３つの一致点を検索するものであり、この検索された一致点の位置を含む各画像を相対関係情報算出部２７０に出力する。この一致点の検索は、例えば、画像の大小にかかわらず、画像に含まれる物体を認識することが可能な一般物体認識等の技術（例えば、特開２００２−６５３９９号を参照。）を用いることによって実現することができる。また、一致点検索部３４０については、図２８を参照して詳細に説明する。
【０１６０】
相対関係情報算出部２７０は、一致点選択部２６０または一致点検索部３４０から出力された少なくとも２つの画像およびこれらの画像における少なくとも３つの一致点に基づいて、これらの画像に関する相対関係情報としてのアフィン変換パラメータを算出するものであり、算出されたアフィン変換パラメータと、このアフィン変換パラメータの算出に用いられた動画の動画ＩＤおよび画像のフレーム番号を記録制御部１３１に出力する。なお、これらの画像に関するアフィン変換パラメータの算出については、図３０、図３１等を参照して詳細に説明する。また、本発明の実施の形態では、相対関係情報として、アフィン変換パラメータを用いる例について説明するが、射影変換パラメータ等の他の画像変換情報を用いるようにしてもよい。なお、アフィン変換パラメータは、３点のベクトルを用いて計算して求めることができ、射影変換パラメータは、４点のベクトルを用いて計算して求めることができる。
【０１６１】
対象画像変換情報算出部２８０は、複数動画の合成再生が指示された場合に、ファイル取得部１４１から出力されたメタデータファイルおよび相対関係メタデータファイルのアフィン変換パラメータに基づいて、再生の対象となる複数の動画の中の１つの動画を構成する少なくとも１つの画像を基準画像とし、他の動画を構成する各画像を対象画像とした場合に、この対象画像の変換に用いられる対象画像変換情報を算出するものである。そして、算出された対象画像変換情報を画像変換部１５１に出力する。１つの動画における基準画像については、例えば、１つの動画を構成する画像の中の先頭フレームに対応する画像を用いることができる。また、対象画像変換情報は、例えば、基準画像に対する対象画像の変換に用いられるアフィン変換パラメータである。なお、対象画像変換情報の算出については、図３２等を参照して詳細に説明する。
【０１６２】
画像合成部１７１は、画像メモリ１８０に保持されている直前までの各フレームに対応する合成画像に、画像変換部１５１によるアフィン変換後の画像を上書きすることにより画像を合成し、合成された新たな合成画像を画像メモリ１８０に保存するものである。また、画像合成部１７１は、複数動画の合成再生が指示された場合には、画像メモリ１８０に保持されている直前までの各フレームに対応する合成画像に、基準画像を基準として画像変換部１５１によりアフィン変換された各画像を上書きすることにより画像を合成し、合成された新たな合成画像を画像メモリ１８０に保存する。なお、画像合成部１７１は、表示倍率の値に応じて決定される表示領域の大きさに基づいて、画像変換部１５１によるアフィン変換前の現画像を表示用メモリ２３１に保持される合成画像に上書きすることにより合成する。ここで、表示用メモリ２３１に合成される現画像の大きさについては、表示倍率の値に応じて決定される。なお、複数の動画の再生開始位置については、操作受付部１６５からの操作入力に応じて、それぞれ決定するようにしてもよい。なお、これらの画像合成については、図３２乃至図３４等を参照して詳細に説明する。
【０１６３】
表示用メモリ２３１は、表示領域取出部１９０により画像メモリ１８０から取り出された画像を保持する表示用バッファであり、保持されている画像が表示部２５０に表示される。
【０１６４】
図２８は、本発明の実施の形態における一致点検索部３４０の機能構成例を示すブロック図である。一致点検索部３４０は、動画取得部１４５と、多重解像度生成部３４１と、特徴点抽出部３４２と、特徴量抽出部３４３と、モデル辞書登録部３４４と、多重解像度生成部３４５と、特徴点抽出部３４６と、特徴量抽出部３４７と、ｋｄツリー構築部３４８と、特徴量比較部３４９とを備える。そして、一致点検索部３４０は、複数の動画を構成するフレーム間の部分的な一致度を計算し、この計算された一致度に基づいて複数の動画を自動的に関連付けるものである。
【０１６５】
動画取得部１４５は、操作受付部１６５からの動画取得に係る操作入力に応じて、動画記憶部２００に記憶されている２つの動画ファイルを取得するものであり、取得された１つの動画ファイルを構成する画像をフレーム毎に多重解像度生成部３４１に出力する。また、他の動画ファイルを構成する画像をフレーム毎に多重解像度生成部３４５に出力する。
【０１６６】
多重解像度生成部３４１は、動画取得部１４５から出力された画像について、予め定められている割合で解像度を低下させることにより、複数の異なる解像度の画像からなる多重解像度画像を、認識時における場合よりも細かい精度で生成するものであり、生成された多重解像度画像を特徴点抽出部３４２に出力する。
【０１６７】
特徴点抽出部３４２は、多重解像度生成部３４１から出力された多重解像度画像のそれぞれの解像度の画像について特徴点を抽出するものであり、抽出された特徴点を特徴量抽出部３４３に出力する。この特徴点の抽出方法は、例えば、図２に示す特徴点抽出部１２１による特徴点抽出方法と同様の方法を用いることができる。
【０１６８】
特徴量抽出部３４３は、特徴点抽出部３４２から出力された特徴点における少なくとも２つの局所的な特徴量を抽出するものであり、抽出された特徴量をモデル辞書登録部３４４に登録させるものである。ここで、特徴量抽出部３４３により抽出される２つの局所的な特徴量は、第１のタイプの特徴量として特徴点近傍の濃度勾配の方向ヒストグラムが抽出され、第２のタイプの特徴量として次元縮退濃度勾配ベクトルが抽出される。
【０１６９】
モデル辞書登録部３４４は、特徴量抽出部３４３から出力された特徴量を登録するものであり、登録されている特徴量をｋｄツリー構築部３４８に供給する。
【０１７０】
多重解像度生成部３４５は、動画取得部１４５から出力された画像について、予め定められている割合で解像度を低下させることにより、複数の異なる解像度の画像からなる多重解像度画像を、学習時における場合よりも粗い精度で生成するものであり、生成された多重解像度画像を特徴点抽出部３４６に出力する。
【０１７１】
特徴点抽出部３４６は、多重解像度生成部３４５から出力された多重解像度画像のそれぞれの解像度の画像について特徴点を抽出するものであり、抽出された特徴点を特徴量抽出部３４３に出力する。この特徴点の抽出方法は、例えば、特徴点抽出部３４２と同様の方法を用いることができる。
【０１７２】
特徴量抽出部３４７は、特徴点抽出部３４２から出力された特徴点における少なくとも２つの局所的な特徴量を抽出するものであり、抽出された特徴量を特徴量比較部３４９に出力するものである。この特徴量抽出は、例えば、特徴量抽出部３４３と同様の方法を用いることができる。
【０１７３】
ｋｄツリー構築部３４８は、モデル辞書登録部３４４に登録されている各特徴量に基づいて、特徴量比較部３４９による特徴量の比較に用いられるｋｄツリーを構築するものであり、構築されたｋｄツリーを特徴量比較部３４９に出力する。ここで、特徴量比較部３４９により特徴量が比較される場合、特徴量抽出部３４７から抽出された各特徴点特徴量と、モデル辞書登録部３４４に登録されている各特徴点特徴量とが比較され、類似する特徴量抽出部３４７から抽出された特徴点特徴量とモデル辞書登録部３４４に登録されている特徴点特徴量との組み合わせが検索される。この特徴量比較方法として、最も単純な方法は全探索である。すなわち、特徴量抽出部３４７から抽出された各特徴点特徴量に対して、モデル辞書登録部３４４に登録されている各特徴点特徴量との特徴量間類似度の計算を行い、この計算された類似度に基づいて、類似する特徴点特徴量の組み合わせを選択する方法が最も単純な方法である。しかしながら、全探索による方法は、処理時間が長くなる。そこで、本発明の実施の形態では、大量のデータ群からデータを高速に探索するために、ｋｄツリーというデータ構造を用いたツリー探索手法（J.H.Friedman, J.L.Bentley, R.A.Finkel:"An algorithm for finding best matches in logarithmic expected time,"ACM Transactions on Mathematical Software, Vol.3, No.3, pp.209-226, September 1977.）を用いる例について説明する。Ｋｄツリーは、ｋ次元の木構造のツリーを意味する。なお、本発明の実施の形態では、タイプ１の特徴量の３６ｄツリー（ｋ＝３６）とタイプ２の特徴量の１８ｄツリー（ｋ＝１８）がそれぞれ構築される。構築されたツリーの各リーフ（終端ノード）には、１つの特徴点特徴量が、その特徴量がどのフレームの多重解像度画像群の、どの画像の、どのスケールから抽出された、どの特徴点の特徴量なのか等を参照することができるラベル等の情報とともに保持される。
【０１７４】
特徴量比較部３４９は、特徴量抽出部３４７から抽出された各特徴点特徴量と、ｋｄツリー構築部３４８により構築されたＫｄツリーとして表現された各特徴点特徴量とを比較して、ｋ−ＮＮ（k Nearest Neighbor）探索することにより、類似度を計算して類似する特徴点特徴量の組み合わせを検索し、検索された特徴点特徴量の組み合わせに対応する特徴点の位置を一致点として相対関係情報算出部２７０に出力する。ここで、１または複数の動画に関する特徴量をモデル辞書登録部３４４に予め登録しておき、動画取得部１４５が動画記憶部２００に記憶されている他の動画ファイルを順次取得して、登録された動画と他の動画とについて一致点を順次検索するようにしてもよい。また、動画記憶部２００に記憶されている各動画ファイルを、一致点検索部３４０が順次取得して、動画記憶部２００に記憶されている各動画ファイルに関する一致点を自動的に順次検索するようにしてもよい。なお、検索の対象となる一致点については、図３１を参照して詳細に説明する。
【０１７５】
図２９は、本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。この例では、動画記憶部２００に記憶されている動画ファイル２０１乃至２０４と、動画ファイル２０１乃至２０４に関連付けて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイル２２１乃至２２３とを模式的に示す図である。この例では、動画ファイル（＃１）２０１を構成するフレーム「５」３６１およびフレーム「８」３６２と、動画ファイル（＃２）２０２を構成するフレーム「７」３６３およびフレーム「９」３６４と、動画ファイル（＃３）２０３を構成するフレーム「３」３６５およびフレーム「１０」３６６とが、相対関係情報記憶部２２０に記憶されている相対関係メタデータファイル２２１乃至２２３に関連付けて記憶されている例について説明する。なお、動画記憶部２００に記憶されている各動画ファイルについては、図４に示す動画ファイルと同様であるため、ここでの説明を省略する。
【０１７６】
相対関係メタデータファイル２２１乃至２２３には、動画ＩＤ２２４と、フレーム番号２２５と、アフィン変換パラメータ２２６とが関連付けてそれぞれ格納されている。
【０１７７】
動画ＩＤ２２４は、少なくとも３つの一致点を互いに含む２つの画像に対応する２つの動画ファイルに付与されている動画ＩＤであり、例えば、相対関係メタデータファイル２２１には、動画ファイル２０１に付与されている「＃１」および動画ファイル２０２に付与されている「＃２」が格納される。
【０１７８】
フレーム番号２２５は、少なくとも３つの一致点を互いに含む２つの画像に対応する２つのフレームの通し番号であり、例えば、相対関係メタデータファイル２２１には、動画ファイル２０１の動画を構成するフレームのフレーム番号「５」および動画ファイル２０２の動画を構成するフレームのフレーム番号「７」が格納される。
【０１７９】
アフィン変換パラメータ２２６は、動画ＩＤ２２４およびフレーム番号２２５に対応する少なくとも２つの画像について計算されたアフィン変換パラメータであり、例えば、相対関係メタデータファイル２２１には、動画ファイル２０１の動画を構成するフレーム「５」および動画ファイル２０２の動画を構成するフレーム「７」に対応するアフィン変換パラメータとして「ａｏ，ｂｏ，ｃｏ，ｄｏ，ｅｏ，ｆｏ」が格納される。なお、本発明の実施の形態では、アフィン変換パラメータ２２６は、対応する２つの動画ＩＤ２２４およびフレーム番号２２５のうちの図２９に示す下側のフレーム番号に対応する画像を基準画像として、上側を対象画像とした場合におけるアフィン変換パラメータであるものとする。例えば、相対関係メタデータファイル２２１に格納されているアフィン変換パラメータ２２６は、動画ファイル（＃１）２０１の動画を構成するフレーム「５」３６１の動画ファイル（＃２）２０２の動画を構成するフレーム「７」３６３に対するアフィン変換パラメータである。
【０１８０】
図３０は、画像に含まれる一致点を選択することにより２つの画像に関するアフィン変換パラメータを算出するアフィン変換パラメータ算出方法、および、その選択された一致点に基づいて２つの画像を合成させた場合を概略的に示す図である。図３０（ａ）には、基準となる１つの動画を構成する基準画像の一例である画像３７０を示し、図３０（ｂ）には、比較対象となる他の動画を構成する比較対象画像の一例である画像３７６を示す。図３０（ａ）および（ｂ）に示す画像３７０および３７６は、画像３７０または３７６の何れかを含む２つの動画を表示部２５０での再生中に停止させた状態を示す画像である。この例では、表示部２５０に動画を停止させた状態で、この動画の停止の際に表示されている画像における一致点を手動で指定する場合における選択方法を概略的に示す。図３０（ｃ）には、画像３７０および３７６において選択された各一致点を用いて、アフィン変換パラメータを算出する場合に用いられるオプティカルフローの検出例を示す。また、図３０（ｄ）には、画像３７０および３７６において選択された各一致点に基づいて、画像３７０および３７６を合成させた場合の一例を示す。
【０１８１】
図３０（ａ）および（ｂ）に示す画像３７０および３７６には、同一の対象物である家３７１が含まれているものとする。ここで、画像３７０を含む動画、および画像３７６を含む動画に関する相対関係メタデータファイルをユーザの手動操作により作成する場合には、これらの２つの動画をユーザが手動操作により再生させ、同一の対象物が含まれる画像を表示部２５０に表示させる。例えば、同一の対象物である家３７１が含まれている画像３７０および３７６を表示部２５０に表示させる。この場合に、画像３７０および３７６の２つの画像を表示部２５０における同一の画面上に表示させるようにしてもよく、１つの画像を順次表示させるようにしてもよい。
【０１８２】
例えば、図３０（ａ）に示す画像３７０が表示部２５０に表示されている状態で、操作受付部１６５においてユーザが操作入力を行うことにより、カーソル３７５を用いて家３７１の屋根の上部分３７２、家３７１の下側の角部分３７３および３７４を指定する。カーソル３７５は、例えば、十字ボタン１６２による操作入力により移動させるようにしてもよく、他の操作部材による操作入力により移動させるようにしてもよい。例えば、指定すべき部分にカーソル３７５を重ねた状態で指定操作を行うことにより所望の部分を指定することができる。このように指定操作が行われた場合には、例えば、図３０（ａ）に示すように、指定操作がされた部分に丸印を付してその部分をユーザに認識させることができる。また、図３０（ｂ）に示す画像３７６についても、同様に、家３７１の屋根の上部分３７７と、家３７１の下側の角部分３７８および３７９を指定する。これらの指定操作がユーザにより行われると、この指定された位置を一致点選択部２６０が画像における一致点として選択して、この選択された一致点の位置および指定された順序を画像とともに相対関係情報算出部２７０に出力する。
【０１８３】
図３０（ａ）および（ｂ）に示すように、２つの画像３７０および３７６において、それぞれ３つの一致点が選択された場合には、相対関係情報算出部２７０が、これらの一致点に基づいてベクトルを算出し、この算出されたベクトルを用いて、アフィン変換パラメータを算出する。このベクトルは、例えば、指定された一致点の順序に基づいて、２つの画像において対応する一致点の組合せを選択して、この一致点の組合せにより算出される。例えば、画像３７０において家３７１の屋根の上部分３７２、家３７１の下側の角部分３７３、３７４の順序で指定操作が行われ、さらに、画像３７６において、家３７１の屋根の上部分３７７、家３７１の下側の角部分３７８、３７９の順序で指定操作が行われた場合には、画像３７０における上部分３７２と、画像３７６における上部分３７７とについてベクトルが算出され、画像３７０における角部分３７３と、画像３７６における角部分３７８とについてベクトルが算出され、画像３７０における角部分３７４と、画像３７６における角部分３７９とについてベクトルが算出される。このように、画像３７０および３７６において選択された各一致点に基づいて算出されたベクトルを、図３０（ｃ）に矢印３８１乃至３８３で示す。なお、図３０（ｃ）に示す画像３８０では、図３０（ａ）に示す画像３７０に含まれる線を点線で示し、図３０（ｂ）に示す画像３７６に含まれる線を実線で示す。このように算出されたベクトルを用いて、アフィン変換パラメータが算出される。このアフィン変換パラメータの算出については、図６および図７で示した算出方法と同様である。なお、本発明の実施の形態では、一致点を用いて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを、相対関係メタデータとして用いる例について説明する。すなわち、相対関係メタデータとして用いられるアフィン変換パラメータを、一致点が求められた２つの画像間のベクトルにより表されるアフィン行列ではなく、２つの画像のうちの１つの画像を基準画像とした場合に、他の画像がどこに移動するかを示すアフィン行列に対応するアフィン変換パラメータと定義する。
【０１８４】
なお、相対関係情報算出部２７０は、指定された順序を用いずにアフィン変換パラメータを算出するようにしてもよい。例えば、各画像において一致点として選択された３点のそれぞれの組合せについてベクトルを算出する。２つの画像において３つの一致点がそれぞれ選択されている場合には、各画像における一致点の組合せとして６通りの組合せが考えられる。続いて、この６通りの組合せについて算出された各ベクトルを用いて、６通りのアフィン変換パラメータを算出する。続いて、２つの画像のうちの一方の画像を基準画像とし、他の画像を比較対象画像として、算出された６通りのアフィン変換パラメータを用いて、比較対象画像を順次アフィン変換する。これにより、１つの基準画像と、６つのアフィン変換された比較対象画像とが作成される。続いて、基準画像における３つの一致点を頂点とする三角形の内部に存在する画素と、アフィン変換された比較対象画像における３つの一致点を頂点とする三角形の内部に存在する画素とを比較することにより、各三角形の内部に存在する画素の輝度値の差分値を順次算出する。これにより、６通りのアフィン変換パラメータに対応する６つの差分値の２乗の合計値が算出される。続いて、算出された６つの差分値の中から、値が最も小さい差分値に係るアフィン変換パラメータを選択し、この選択されたアフィン変換パラメータを、一致点の指定操作がされた２つの画像に関するアフィン変換パラメータとして決定する。
【０１８５】
また、例えば、画像３７０および３７６において選択された各一致点に基づいて算出されたアフィン変換パラメータを用いて、画像３７０をアフィン変換して画像３７６に上書き合成した場合には、図３０（ｄ）に示す画像３８４が作成される。このように、算出されたアフィン変換パラメータを用いて画像３７０および３７６を合成することにより、家３７１の周りの背景が各画像における背景よりも広範囲に含まれた合成画像が作成される。
【０１８６】
図３１は、画像に含まれる一致点を選択することにより２つの画像に関するアフィン変換パラメータを算出するアフィン変換パラメータ算出方法を概略的に示す図である。ここでは、図２７および図２８に示す一致点検索部３４０により画像に含まれる一致点が検索され、この検索された一致点を用いて２つの画像に関するアフィン変換パラメータを算出する例について説明する。なお、図３１（ａ）乃至（ｃ）に示す画像３７０、３７６、３８０は、一致点検索部３４０により検索された各特徴点を丸で示す点以外は、図３０（ａ）乃至（ｃ）に示す画像３７０、３７６、３８０と同じものである。上述したように、一致点検索部３４０は、動画を構成するフレーム間の部分的な一致度を計算し、この計算された一致度に基づいて複数の画像を自動的に関連付ける。２つの動画について一致点の検索が行われる場合に、例えば、画像３７０における特徴点として特徴点８０１乃至８１０、３７２乃至３７４が抽出され、画像３７６における特徴点として特徴点８１１乃至８２３、３７７乃至３７９が抽出される。そして、抽出された特徴点の中から、各画像において類似する特徴点の組合せが選択される。例えば、画像３７０および３７６においては、特徴点８０５乃至８１０、３７２乃至３７４と、特徴点８１８乃至８２３、３７７乃至３７９とが選択される。図３１（ａ）および（ｂ）では、このマッチする特徴点を太丸で示す。このように選択された特徴点の中から、アフィン変換パラメータの算出に用いられる３つの特徴点が一致点として検索される。例えば、画像３７０および３７６においては、特徴点３７２乃至３７４と、特徴点３７７乃至３７９とが一致点として検索される。この一致点の検索は、例えば、類似度のスコアが最も高いスコアである特徴点の組合せを選択する。そして、この検索された一致点に基づいてベクトルが算出され、このベクトルに基づいてアフィン変換パラメータが算出される。なお、これらのアフィン変換パラメータの算出については、図３０で示した算出方法と同様である。
【０１８７】
図３２は、２つの動画を合成する場合における合成例を模式的に示す図である。この例では、動画５００を構成する画像５０１乃至５１４と、動画５２０を構成する画像５２１乃至５２７とを合成する場合について説明する。また、内部を斜線で示す画像５０８および５２４は、動画５００および５２０に関する相対関係メタデータに含まれるフレーム番号に対応する画像であるものとする。
【０１８８】
図３２（ａ）では、動画５００を構成する画像５０１乃至５１４を、各フレームに関連付けて記憶されているアフィン変換パラメータを用いて順次アフィン変換していき、画像メモリ１８０上に合成する場合を示す。例えば、最初に、先頭フレームに対応する画像５０１が画像メモリ１８０に保持される。そして、画像５０１を基準にして画像５０２乃至５１４が順次アフィン変換されて画像メモリ１８０に合成される。このアフィン変換による現画像の流れを矢印５１５で示す。すなわち、矢印５１５に沿うように画像５０１乃至５１４が順次合成される。
【０１８９】
図３２（ｂ）では、動画５２０を構成する画像５２１乃至５２７を、各フレームに関連付けて記憶されているアフィン変換パラメータを用いて順次アフィン変換していき、画像メモリ１８０上に合成する場合を示す。また、図３２（ｃ）では、動画５００および５２０に関する相対関係メタデータに含まれるアフィン変換パラメータにより、画像５０１を基準画像として画像５２４をアフィン変換した場合における画像５０８および画像５２４の相対関係位置を示す。ここで、図３２（ｂ）に示す合成画像は、図３２（ｃ）に示す画像５０８および画像５２４の相対関係位置を基準にして、画像５２１乃至５２７が合成された場合を示すものである。この場合のアフィン変換による現画像の流れを矢印５２８で示す。すなわち、矢印５２８に沿うように画像５２１乃至５２７が順次合成される。このように、図３２（ｃ）に示す画像５０８および画像５２４の相対関係位置を基準にして、図３２（ａ）に示す合成画像および図３２（ｂ）に示す合成画像が合成された場合における合成例を図３２（ｄ）に示す。なお、図３２（ｄ）に示す例では、画像５０８および５２４が同時刻に再生される場合を示し、同時刻に再生される各画像は、動画５２０が動画５００よりも上書き合成される例を示す。
【０１９０】
ここで、具体的な各動画の保持位置に関する計算方法について説明する。最初に、複数の動画のうちの１つの動画を構成する少なくとも１つの動画の位置が決定される。例えば、動画５００を構成する先頭フレームに対応する画像５０１の位置が決定される。この決定される位置は、操作受付部１６５においてユーザが指定してもよく、上述した計算により算出された位置を用いて決定してもよい。続いて、他の動画を構成する画像のうちの少なくとも１つの画像の保持位置が算出される。例えば、画像５０１乃至５１４に対応する各フレームに関連付けられているアフィン変換パラメータの行列を、Ａ１乃至Ａ１４とする。また、画像５２１乃至５２７に対応する各フレームに関連付けられているアフィン変換パラメータの行列を、Ｂ１乃至Ｂ７とする。さらに、動画５００および５２０に関連付けて記憶されている相対関係メタデータのアフィン変換パラメータの行列をＣ１とする。ここで、基準画像は画像５０１とする。画像メモリ１８０上における画像５０１の保持位置を基準とした場合に、画像５０８の保持位置は、Ａ１乃至Ａ８の乗算により算出される。すなわち、Ａ１×…×Ａ８を用いて算出される。また、画像メモリ１８０上における画像５０１の保持位置を基準とした場合に、画像５２４の保持位置は、Ａ１乃至Ａ８、Ｃ１の乗算により算出される。すなわち、Ａ１×…×Ａ８×Ｃ１を用いて算出される。ここで、例えば、動画５２０の先頭フレームに対応する画像５２１の保持位置を算出する場合には、Ａ１乃至Ａ８およびＣ１と、Ｂ１乃至Ｂ４の逆行列の乗算により算出することができる。すなわち、「Ａ１×…×Ａ８×Ｃ１×Ｉｎｖ（Ｂ１×…×Ｂ４）」を用いて画像５２１の保持位置を算出することができる。また、動画５２０を構成する他の画像についての保持位置についても同様に、Ａ１乃至Ａ８およびＣ１と、Ｂ１乃至Ｂ４の逆行列またはＢ５乃至Ｂ７とを用いて算出することが可能である。
【０１９１】
また、基準画像を含む動画以外の動画を構成する画像をアフィン変換する場合には、先頭フレームに対応する画像の保持位置の算出に用いられた行列と、画像に関連付けられたアフィン変換パラメータを用いて行う。例えば、動画５２０の画像５２２をアフィン変換する場合には、画像５２２に対応する行列Ｂ２を用いて、「Ａ１×…×Ａ８×Ｃ１×Ｉｎｖ（Ｂ３×Ｂ４）」の行列により変換される。また、例えば、動画５２０の画像５２３をアフィン変換する場合も同様に、「Ａ１×…×Ａ８×Ｃ１×Ｉｎｖ（Ｂ４）」の行列により変換される。同様に、動画５２０の各画像が変換される。
【０１９２】
このように、複数の動画について合成して再生する場合には、１つの動画の基準画像の画像メモリ１８０における位置および大きさを決定した後に、各動画のそれぞれに関連付けられているメタデータファイルと、各動画に関連付けられている相対関係メタデータファイルとを用いて、各画像の位置および大きさを算出することができる。このため、複数の動画について合成して再生する場合には、各動画の何れかの位置からも再生させることが可能である。例えば、図３２（ｄ）に示す画像メモリ１８０上では、動画５００を構成する画像５０１乃至５０４が合成された後に、動画５２０を構成する画像５２１が合成される例を示す。すなわち、画像５０５および５２１が同時に合成され、続いて、画像５０６および５２２が同時に合成される。以降も同様に合成される。なお、この例では、同時刻に再生される各画像は、動画５２０が動画５００よりも上書き合成される例を示すが、上書きする動画を操作受付部１６５において指定するようにしてもよい。また、表示領域は、基準動画に係る現画像に基づいて決定される。
【０１９３】
図３３は、２つの動画を合成する場合における合成例を模式的に示す図である。図３３（ａ）には、動画５３０を構成する画像５３１乃至５３７の遷移を示し、図３３（ｂ）には、動画５４０を構成する画像５４１乃至５４７の遷移を示し、図３３（ｃ）には、動画５３０および５４０が合成された場合における合成画像である画像５５１乃至５５７の遷移を示す。なお、動画５３０および５４０は、時刻ｔ１乃至ｔ７に記録された動画であるものとする。また、時刻ｔ３における画像５３３および５４３は、図３０に示す画像３７０および３７６に対応する画像であり、画像５３３および５４３について図３０に示す一致点の選択操作がされているものとする。また、この選択操作により算出された相対関係メタデータを用いて、動画５３０および５４０を合成するものとする。
【０１９４】
図３４は、図３３に示す合成画像が表示部２５０に表示される場合における表示例を示す図である。画像５６１乃至５６７は、動画５３０および５４０により合成された合成画像の遷移を示す画像であり、実線は現画像を示し、点線は現画像の前の各画像の領域を示す。図３４に示すように、図３０に示す家３７１を中心にして家３７１の周りの背景が広がるように表示される。このように、ほぼ同じ場所を撮像された動画５３０および５４０を同時に再生する場合に、動画５３０および５４０を合成することによって、通常の動画では常時見ることができない背景等を見ながら、２つの動画を再生して見ることができる。また、動画５３０および５４０を合成することによって、動画５３０および５４０の撮像場所の相対関係を容易に把握することができる。この例では、同時刻に撮像された画像については、動画５３０を構成する画像上に、動画５４０を構成する画像を上書き合成する例について示すが、操作受付部１６５からの操作入力に応じて、何れかを上書きするかを選択するようにしてもよい。ここで、撮像時刻が同じものを、時刻に従って合成する例について説明したが、異なる時刻同士の画像を、操作受付部１６５からの操作入力に応じた位置から順次合成する場合についても同様に適用することができる。
【０１９５】
以上では、２つの動画に関するアフィン変換パラメータを格納する相対関係メタデータファイルを用いて、２つの動画を合成しながら再生する例について説明したが、１つの相対関係メタデータファイルに３以上の動画に関するアフィン変換パラメータを格納しておき、これらのアフィン変換パラメータを用いて３以上の動画を合成しながら再生することができる。以下では、３以上の動画を合成しながら再生する例について図面を参照して詳細に説明する。
【０１９６】
図３５は、本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。この例では、動画記憶部２００に記憶されている動画ファイル（＃１２）６５１乃至（＃１４）６５３と、動画ファイル（＃１２）６５１乃至（＃１４）６５３に関連付けて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイル６６０とを模式的に示す図である。この例では、１つの相対関係メタデータファイル６６０に３つの動画ファイル（＃１２）６５１乃至（＃１４）６５３に関するアフィン変換パラメータが格納されている例について説明する。なお、動画記憶部２００に記憶されている各動画ファイルの構成については、図４および図２９等に示す動画ファイルと同様であるため、ここでの説明を省略する。また、相対関係情報記憶部２２０に記憶されている相対関係メタデータファイルの構成については、１つの相対関係メタデータファイルに３以上の動画に関するアフィン変換パラメータが格納されている点以外の構成は、図２９に示す相対関係メタデータファイルと同様であるため、ここでの説明を省略する。
【０１９７】
相対関係メタデータファイル６６０には、動画ＩＤ２２４と、フレーム番号２２５と、アフィン変換パラメータ２２６とが関連付けて格納されている。また、動画ファイル（＃１２）６５１乃至（＃１４）６５３を構成する各画像の中で、それぞれ２つの各画像の相対関係に関するアフィン変換パラメータが、相対関係メタデータファイル６３０に格納されている。具体的には、動画ファイル（＃１２）６５１を構成するフレーム「２」６５４を基準とした場合における動画ファイル（＃１３）６５２を構成するフレーム「５」６５６の位置を算出するアフィン変換パラメータ「ａｔ，ｂｔ，ｃｔ，ｄｔ，ｅｔ，ｆｔ」と、動画ファイル（＃１２）６５１を構成するフレーム「９」６５５を基準とした場合における動画ファイル（＃１４）６５３を構成するフレーム「６」６５７の位置を算出するアフィン変換パラメータ「ａｕ，ｂｕ，ｃｕ，ｄｕ，ｅｕ，ｆｕ」とが、相対関係メタデータファイル６３０に格納されている。これにより、３つの動画を合成しながら再生する場合に、３つの動画の相対的な関連性が考慮された動画を再生することができる。
【０１９８】
図３６は、３つの動画に関する画像に含まれる一致点を選択する場合における各画像を示す図である。なお、図３６（ａ）および（ｂ）に示す画像３７０および３７６は、図３０（ａ）および（ｂ）に示す画像３７０および３７６と同じであり、一致点３７２乃至３７４、３７２乃至３７４が選択されているものとする。また、図３６（ｂ）に示す画像３７６では、一致点３７２乃至３７４以外の一致点として、家３７１の右側にある電柱の上部分６７１乃至６７３が選択されているものとする。図３６（ｃ）に示す画像６７４においては、電柱の上部分６７５乃至６７７が選択されているものとする。なお、図３６（ａ）乃至（ｃ）に示す画像上における一致点の選択およびアフィン変換パラメータの算出については、図３０に示す方法と同様であるため、ここでの説明を省略する。
【０１９９】
図３７は、３つの動画に関する画像において選択された一致点に基づいて３つの画像を合成させた場合の一例を示す図である。図３７では、図３６（ａ）乃至（ｃ）に示す画像３７０、３７６、６７４において選択された各一致点に基づいて算出されたアフィン変換パラメータを用いて、画像３７０、３７６、６７４がアフィン変換されて合成された合成画像６８０を示す。このように、算出されたアフィン変換パラメータを用いて、３つの動画を合成することにより、家３７１の周りの背景が各画像における背景よりもさらに広範囲に含まれた合成画像６８０が作成される。
【０２００】
図３８は、３つの動画を合成する場合における合成例を模式的に示す図である。この例では、動画５００を構成する画像５０１乃至５１４と、動画５２０を構成する画像５２１乃至５２７と、動画６９０を構成する画像６９１乃至６９７とを合成する場合について説明する。なお、動画５００を構成する画像５０１乃至５１４と、動画５２０を構成する画像５２１乃至５２７とについては、図３２に示すものと同一であるため、ここでの説明を省略する。また、内部を斜線で示す画像５０８および５２４は、動画５００および５２０に関する相対関係メタデータに含まれるフレーム番号に対応する画像であるものとし、同様に、内部を斜線で示す画像５１０および６９４は、動画５００および６９０に関する相対関係メタデータに含まれるフレーム番号に対応する画像であるものとする。図３８（ａ）に示す動画５００は、内部を斜線で示す画像５１０以外は、図３２に示す動画５００と同様である。
【０２０１】
図３８（ｂ）では、動画６９０を構成する画像６９１乃至６９７を、各フレームに関連付けて記憶されているアフィン変換パラメータを用いて順次アフィン変換していき、画像メモリ１８０上に合成する場合を示す。ここで、図３８（ｂ）に示す合成画像は、画像５１０および画像６９４の相対関係位置を基準にして、画像６９１乃至６９７が合成された場合を示すものである。この場合のアフィン変換による現画像の流れを矢印６９８で示す。すなわち、矢印６９８に沿うように画像６９１乃至６９７が順次合成される。このように、画像５１０および画像６９４の相対関係位置を基準にして、図３８（ａ）に示す合成画像、図３８（ｂ）に示す合成画像、および、図３２（ｂ）に示す合成画像が合成された場合における合成例を図３８（ｃ）に示す。なお、図３８（ｃ）に示す例では、画像５０８および５２４が同時刻に再生されるとともに、画像５１０および６９４が同時刻に再生される場合を示し、同時刻に再生される各画像は、動画５２０が動画５００よりも上書き合成されるとともに、動画６９０が動画５００よりも上書き合成される例を示す。なお、具体的な各動画の保持位置に関する計算方法については、図３２で示した算出方法と同様の算出方法を用いることができる。なお、再生の対象となる複数の動画に関する相対関係メタデータが存在しない場合でも、他の動画に関する相対関係メタデータを用いて、再生の対象となる複数の動画を合成して再生することが可能である。例えば、図３８（ｃ）に示す動画５００、動画５２０、動画６９０のうちで、動画５２０および動画６９０を合成させる場合には、動画５００および５２０に関する相対関係メタデータと、動画５００および６９０に関する相対関係メタデータとを用いて、動画５２０および動画６９０の何れかを基準動画とした場合における他の動画の位置を算出することができる。例えば、動画５２０を基準動画とする場合には、画像５０８および画像５２４の相対関係位置を用いて、動画５００を構成する画像５０８の位置を算出することができる。また、画像５０８に基づいて画像５１０の位置が算出することができる。そして、画像５１０および画像６９４の相対関係位置を用いて、画像５１０を基準とした場合における動画６９０を構成する各画像の位置を算出することができる。このように、共通の相対関係メタデータが存在しない動画５２０および動画６９０についても、動画５００を介して、合成して再生させることができる。また、２以上の動画を介して複数の動画を合成して再生する場合についても同様に適用することができる。
【０２０２】
図３９は、静止画と複数の動画とを合成する場合の一例を示す図である。図３９（ａ）は、静止画である画像７０１乃至７１８が、画像メモリ１８０に保持されている場合を示す図であり、図３９（ｂ）は、画像メモリ１８０に保持されている画像７０１乃至７１８上に、動画５００、５２０、６９０を上書き合成する場合を示す図である。同図では、画像７０１乃至７１８の枠線を太線で示す。同図に示すように、複数の動画とともに静止画を合成することができる。この場合には、静止画と、動画を構成する少なくとも１つの画像との相対関係に関するアフィン変換パラメータを、相対関係メタデータファイルとして格納しておき、この相対関係メタデータファイルを用いて合成を行う。また、動画を構成する画像の間に静止画を合成するようにしてもよく、動画上に静止画が合成されるようにしてもよい。
【０２０３】
また、本発明の実施の形態における撮像装置１０１をインターネット等のネットワークと接続し、このネットワークを介して受信される画像または動画と組み合わせて、動画を再生するようにしてもよい。例えば、ネットワークを介して所定の公園の風景画像を撮像装置１０１が受信し、この受信された公園の風景画像を背景画像とし、この背景画像上に、子供が撮像された動画を合成しながら再生させることができる。これにより、その公園を子供が移動しているような擬似的な再生画像を提供することが可能である。
【０２０４】
次に、本発明の実施の形態における特徴点抽出処理およびオプティカルフロー計算処理をマルチコアプロセッサにより行う場合について図面を参照して詳細に説明する。
【０２０５】
図４０は、本発明の実施の形態におけるマルチコアプロセッサ８００の一構成例を示す図である。マルチコアプロセッサ８００は、１つのＣＰＵ（Central Processing Unit）パッケージ上に異なる種類のプロセッサコアが複数搭載されているプロセッサである。すなわち、マルチコアプロセッサ８００には、各プロセッサコア単体の処理性能を維持するとともに、シンプルな構成にするため、あらゆる用途（アプリケーション）に対応する１種類のコアと、所定の用途にある程度最適化されている他の種類のコアとの２種類のプロセッサコアが複数搭載されている。
【０２０６】
マルチコアプロセッサ８００は、制御プロセッサコア８０１と、演算プロセッサコア（＃１）８１１乃至（＃８）８１８と、バス８０２とを備え、メインメモリ７８１と接続されている。また、マルチコアプロセッサ８００は、例えば、グラフィックスデバイス７８２やＩ／Ｏデバイス７８３等の他のデバイスと接続される。マルチコアプロセッサ８００として、例えば、本願出願人等により開発されたマイクロプロセッサである「Ｃｅｌｌ（セル：Cell Broadband Engine）」を採用することができる。
【０２０７】
制御プロセッサコア８０１は、オペレーティング・システムのような頻繁なスレッド切り替え等を主に行う制御プロセッサコアである。なお、制御プロセッサコア８０１については、図４１を参照して詳細に説明する。
【０２０８】
演算プロセッサコア（＃１）８１１乃至（＃８）８１８は、マルチメディア系の処理を得意とするシンプルで小型の演算プロセッサコアである。なお、演算プロセッサコア（＃１）８１１乃至（＃８）８１８については、図４２を参照して詳細に説明する。
【０２０９】
バス８０２は、ＥＩＢ（Element Interconnect Bus）と呼ばれる高速なバスであり、制御プロセッサコア８０１および演算プロセッサコア（＃１）８１１乃至（＃８）８１８のそれぞれが接続され、各プロセッサコアによるデータアクセスはバス８０２を経由して行われる。
【０２１０】
メインメモリ７８１は、バス８０２に接続され、各プロセッサコアにロードすべき各種プログラムや、各プロセッサコアの処理に必要なデータを格納するとともに、各プロセッサコアにより処理されたデータを格納するメインメモリである。
【０２１１】
グラフィックスデバイス７８２は、バス８０２に接続されているグラフィックスデバイスであり、Ｉ／Ｏデバイス７８３は、バス８０２に接続されている外部入出力デバイスである。
【０２１２】
図４１は、本発明の実施の形態における制御プロセッサコア８０１の一構成例を示す図である。制御プロセッサコア８０１は、制御プロセッサユニット８０３および制御プロセッサストレージシステム８０６を備える。
【０２１３】
制御プロセッサユニット８０３は、制御プロセッサコア８０１の演算処理を行う核となるユニットであり、マイクロプロセッサのアーキテクチャをベースとする命令セットを備え、一次キャッシュとして命令キャッシュ８０４およびデータキャッシュ８０５が搭載されている。命令キャッシュ８０４は、例えば、３２ＫＢの命令キャッシュであり、データキャッシュ８０５は、例えば、３２ＫＢのデータキャッシュである。
【０２１４】
制御プロセッサストレージシステム８０６は、制御プロセッサユニット８０３からメインメモリ７８１へのデータアクセスを制御するユニットであり、制御プロセッサユニット８０３からのメモリアクセスを高速化させるために５１２ＫＢの二次キャッシュ８０７が搭載されている。
【０２１５】
図４２は、本発明の実施の形態における演算プロセッサコア（＃１）８１１の一構成例を示す図である。演算プロセッサコア（＃１）８１１は、演算プロセッサユニット８２０およびメモリフローコントローラ８２２を備える。なお、演算プロセッサコア（＃２）８１２乃至（＃８）８１８は、演算プロセッサコア（＃１）８１１と同様の構成であるため、ここでの説明を省略する。
【０２１６】
演算プロセッサユニット８２０は、演算プロセッサコア（＃１）８１１の演算処理を行う核となるユニットであり、制御プロセッサコア８０１の制御プロセッサユニット８０３とは異なる独自の命令セットを備える。また、演算プロセッサユニット８２０には、ローカルストア（ＬＳ：Local Store）８２１が搭載されている。
【０２１７】
ローカルストア８２１は、演算プロセッサユニット８２０の専用メモリであるとともに、演算プロセッサユニット８２０から直接参照することができる唯一のメモリである。ローカルストア８２１として、例えば、容量が２５６Ｋバイトのメモリを用いることができる。なお、演算プロセッサユニット８２０が、メインメモリ７８１や他の演算プロセッサコア（演算プロセッサコア（＃２）８１２乃至（＃８）８１８）上のローカルストアにアクセスするためには、メモリフローコントローラ８２２を利用する必要がある。
【０２１８】
メモリフローコントローラ８２２は、メインメモリ７８１や他の演算プロセッサコア等との間でデータのやり取りするためのユニットであり、ＭＦＣ（Memory Flow Controller）と呼ばれるユニットである。ここで、演算プロセッサユニット８２０は、チャネルと呼ばれるインタフェースを介してメモリフローコントローラ８２２に対してデータ転送等を依頼する。
【０２１９】
以上で示したマルチコアプロセッサ８００のプログラミング・モデルとして、さまざまなものが提案されている。このプログラミング・モデルの中で最も基本的なモデルとして、制御プロセッサコア８０１上でメインプログラムを実行し、演算プロセッサコア（＃１）８１１乃至（＃８）８１８上でサブプログラムを実行するモデルが知られている。本発明の実施の形態では、このモデルを用いたマルチコアプロセッサ８００の演算方法について図面を参照して詳細に説明する。
【０２２０】
図４３は、本発明の実施の形態におけるマルチコアプロセッサ８００の演算方法を模式的に示す図である。この例では、データ７８５を用いて制御プロセッサコア８０１がタスク７８４を実行する場合に、タスク７８４の一部であるタスク７８６の処理に必要なデータ７８７（データ７８５の一部）を用いて、タスク７８６を各演算プロセッサコアに実行させる場合を例に図示する。
【０２２１】
同図に示すように、データ７８５を用いて制御プロセッサコア８０１がタスク７８４を実行する場合には、タスク７８４の一部であるタスク７８６の処理に必要なデータ７８７（データ７８５の一部）を用いて、タスク７８６を各演算プロセッサコアに実行させる。本発明の実施の形態では、動画を構成するフレーム毎に各演算プロセッサコアにより演算処理が行われる。
【０２２２】
同図に示すように、マルチコアプロセッサ８００が演算を行うことにより、演算プロセッサコア（＃１）８１１乃至（＃８）８１８を並列に利用して、比較的少ない時間で多くの演算を行うことができるとともに、演算プロセッサコア（＃１）８１１乃至（＃８）８１８上でＳＩＭＤ（Single Instruction/Multiple Data：単一命令／複数データ）演算を利用して、さらに少ない命令数により、比較的多くの演算処理を行うことができる。なお、ＳＩＭＤ演算については、図４７乃至図５０等を参照して詳細に説明する。
【０２２３】
図４４は、本発明の実施の形態におけるマルチコアプロセッサ８００により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。ここでは、演算プロセッサコア（＃１）８１１乃至（＃８）８１８のうちの演算プロセッサコア（＃１）８１１を例にして説明するが、演算プロセッサコア（＃２）８１２乃至（＃８）８１８についても同様に行うことができる。
【０２２４】
最初に、制御プロセッサコア８０１は、メインメモリ７８１に格納されている演算プロセッサコアプログラム８２３を演算プロセッサコア（＃１）８１１のローカルストア８２１にロードする指示を演算プロセッサコア（＃１）８１１に送る。これにより、演算プロセッサコア（＃１）８１１は、メインメモリ７８１に格納されている演算プロセッサコアプログラム８２３をローカルストア８２１にロードする。
【０２２５】
続いて、制御プロセッサコア８０１は、ローカルストア８２１に格納された演算プロセッサコアプログラム８２５の実行を演算プロセッサコア（＃１）８１１に指示する。
【０２２６】
続いて、演算プロセッサコア（＃１）８１１は、ローカルストア８２１に格納された演算プロセッサコアプログラム８２５の実行処理に必要なデータ８２４をメインメモリ７８１からローカルストア８２１に転送する。
【０２２７】
続いて、演算プロセッサコア（＃１）８１１は、ローカルストア８２１に格納された演算プロセッサコアプログラム８２５に基づいて、メインメモリ７８１から転送されたデータ８２６を加工し、条件に応じた処理を実行して処理結果をローカルストア８２１に格納する。
【０２２８】
続いて、演算プロセッサコア（＃１）８１１は、ローカルストア８２１に格納された演算プロセッサコアプログラム８２５に基づいて実行された処理結果をローカルストア８２１からメインメモリ７８１に転送する。
【０２２９】
続いて、演算プロセッサコア（＃１）８１１は、制御プロセッサコア８０１に演算処理の終了を通知する。
【０２３０】
次に、マルチコアプロセッサ８００を用いて行うＳＩＭＤ演算について図面を参照して詳細に説明する。ここで、ＳＩＭＤ演算とは、複数のデータに対する処理を１つの命令で行う演算方式である。
【０２３１】
図４５（ａ）は、複数のデータに対する処理をそれぞれの命令で行う演算方式の概要を模式的に示す図である。図４５（ａ）に示す演算方式は、通常の演算方式であり、例えば、スカラー演算と呼ばれている。例えば、データ「Ａ１」およびデータ「Ｂ１」を加算する命令によりデータ「Ｃ１」の処理結果が求められる。また、他の３つの演算についても同様に、同一の行にあるデータ「Ａ２」、「Ａ３」、「Ａ４」と、データ「Ｂ２」、「Ｂ３」、「Ｂ４」とを加算する命令がそれぞれの処理について行われ、この命令により、各行の値が加算処理され、この処理結果がデータ「Ｃ２」、「Ｃ３」、「Ｃ４」として求められる。このように、スカラー演算では、複数のデータに対する処理については、それぞれに対して命令を行う必要がある。
【０２３２】
図４５（ｂ）は、複数のデータに対する処理を１つの命令で行う演算方式であるＳＩＭＤ演算の概要を模式的に示す図である。ここで、ＳＩＭＤ演算用に１まとまりにしたデータ（点線８２７および８２８で囲まれる各データ）は、ベクターデータと呼ばれることがある。また、このようなベクターデータを用いて行われるＳＩＭＤ演算は、ベクトル演算と呼ばれることがある。
【０２３３】
例えば、点線８２７で囲まれるベクターデータ（「Ａ１」、「Ａ２」、「Ａ３」、「Ａ４」）と、点線８２８で囲まれるベクターデータ（「Ｂ１」、「Ｂ２」、「Ｂ３」、「Ｂ４」）とを加算する１つの命令により「Ｃ１」、「Ｃ２」、「Ｃ３」、「Ｃ４」の処理結果（点線８２９で囲まれているデータ）が求められる。このように、ＳＩＭＤ演算では、複数のデータに対する処理を１つの命令で行うことができるため、演算処理を迅速に行うことができる。また、これらのＳＩＭＤ演算に関する命令を、マルチコアプロセッサ８００の制御プロセッサコア８０１が行い、この命令に対する複数データの演算処理について演算プロセッサコア（＃１）８１１乃至（＃８）８１８が並列処理を行う。
【０２３４】
一方、例えば、データ「Ａ１」と「Ｂ１」とを加算し、データ「Ａ２」と「Ｂ２」とを減算し、データ「Ａ３」と「Ｂ３」とを乗算し、データ「Ａ４」と「Ｂ４」とを除算する処理については、ＳＩＭＤ演算では行うことができない。すなわち、複数のデータのそれぞれに対して異なる処理をする場合には、ＳＩＭＤ演算による処理を行うことがではできない。
【０２３５】
次に、特徴点抽出処理およびオプティカルフロー算出処理を行う場合におけるＳＩＭＤ演算の具体的な演算方法について図面を参照して詳細に説明する。
【０２３６】
図４６は、本発明の実施の形態における制御プロセッサコア８０１または演算プロセッサコア（＃１）８１１により実行されるプログラムの構成例を示す図である。ここでは、演算プロセッサコア（＃１）８１１についてのみ図示するが、演算プロセッサコア（＃２）８１２乃至（＃８）８１８についても同様の処理が行われる。
【０２３７】
制御プロセッサコア８０１は、デコード８５１としてデコード８５２、インターレース８５３およびリサイズ８５４を実行する。デコード８５２は、動画ファイルをデコードする処理である。インターレース８５３は、デコードされた各フレームについてインターレース除去する処理である。リサイズ８５４は、インターレース除去された各フレームについて縮小する処理である。
【０２３８】
また、制御プロセッサコア８０１は、演算プロセッサコア管理８５６として命令送信８５７および８５９、終了通知受信８５８および８６０を実行する。命令送信８５７および８５９は、演算プロセッサコア（＃１）８１１乃至（＃８）８１８に対するＳＩＭＤ演算の実行命令を送信する処理であり、終了通知受信８５８および８６０は、上記命令に対する演算プロセッサコア（＃１）８１１乃至（＃８）８１８からのＳＩＭＤ演算の終了通知を受信する処理である。さらに、制御プロセッサコア８０１は、カメラワーク検出８６１としてカメラワークパラメータ算出処理８６２を実行する。カメラワークパラメータ算出処理８６２は、演算プロセッサコア（＃１）８１１乃至（＃８）８１８によるＳＩＭＤ演算により算出されたオプティカルフローに基づいてフレーム毎にアフィン変換パラメータを算出する処理である。
【０２３９】
演算プロセッサコア（＃１）８１１は、特徴点抽出処理８６３として、ソベルフィルタ（Sobel Filter）処理８６４、二次モーメント行列（Second Moment Matrix）処理８６５、セパラブルフィルタ（Separable Filter）処理８６６、ハリスコーナー点抽出（Calc Harris）処理８６７、膨張処理（Dilation）８６８、並べ替え処理（Sort）８６９を実行する。
【０２４０】
ソベルフィルタ処理８６４は、Ｐ２のフィルタ（ｘ方向）を使って得られるｘ方向の値ｄｘと、Ｙ方向のフィルタを使って得られるｙ方向の値ｄｙとを算出する処理である。なお、ｘ方向の値ｄｘの算出については、図４７乃至図５０を参照して詳細に説明する。
【０２４１】
二次モーメント行列処理８６５は、ソベルフィルタ処理８６４により算出されたｄｘおよびｄｙを用いて、ｄｘ２，ｄｙ２，ｄｘ・ｄｙの各値を算出する処理である。
【０２４２】
セパラブルフィルタ処理８６６は、二次モーメント行列処理８６５により算出されたｄｘ２，ｄｙ２，ｄｘ・ｄｙの画像に対してガウシアンフィルタ（ぼかし処理）を掛ける処理である。
【０２４３】
ハリスコーナー点抽出処理８６７は、セパラブルフィルタ処理８６６により、ぼかし処理が施されたｄｘ２，ｄｙ２，ｄｘ・ｄｙの各値を用いて、ハリスコーナーのスコアを算出する処理である。このハリスコーナーのスコアＳは、例えば、次の式により算出される。
Ｓ＝（ｄｘ２×ｄｙ２−ｄｘ・ｄｙ×ｄｘ・ｄｙ）／（ｄｘ２＋ｄｙ２＋ε）
【０２４４】
膨張処理８６８は、ハリスコーナー点抽出処理８６７により算出されたハリスコーナーのスコアで構成された画像に対してぼかし処理を行う処理である。
【０２４５】
並べ替え処理８６９は、ハリスコーナー点抽出処理８６７により算出されたハリスコーナーのスコアが高い順に画素を並べ、このスコアが高い方から所定の数だけピックアップし、このピックアップされた点を特徴点として抽出する処理である。
【０２４６】
演算プロセッサコア（＃１）８１１は、オプティカルフロー（Optical Flow）演算処理８７０として、ピラミッド画像（Make Pyramid Image）処理８７１、オプティカルフロー算出（Calc Optical Flow）処理８７２を実行する。
【０２４７】
ピラミッド画像処理８７１は、撮像装置による撮像時の画サイズから所定数の段階に縮小された画像を順次作成する処理であり、作成された画像は多重解像度画像と呼ばれる。
【０２４８】
オプティカルフロー算出処理８７２は、ピラミッド画像処理８７１により作成された多重解像度画像のうちで、最も小さい画像についてオプティカルフローを計算し、この計算結果を用いて、１つ上の解像度の画像について再びオプティカルフローを計算する処理であり、この一連の処理を最も大きい画像に辿り着くまで繰り返し行う。
【０２４９】
このように、例えば、図３等に示す特徴点抽出部１２１により行われる特徴点抽出処理と、オプティカルフロー計算部１２２により行われるオプティカルフロー算出処理とについては、マルチコアプロセッサ８００を用いてＳＩＭＤ演算によって並列処理することにより処理結果を求めることができる。なお、図４６等で示す特徴点抽出処理およびオプティカルフロー算出処理は、一例であり、動画を構成する画像に対する各種フィルタ処理や閾値処理等により構成される他の処理を用いて、マルチコアプロセッサ８００によるＳＩＭＤ演算を行うようにしてもよい。
【０２５０】
図４７は、本発明の実施の形態におけるメインメモリ７８１に格納されている画像データ（撮像装置により撮像された動画を構成する１つのフレームに対応する画像データ）について、ソベルフィルタ８３０を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。なお、同図に示すメインメモリ７８１に格納されている画像データについては、横の画素数を３２画素として簡略化して示す。また、ソベルフィルタ８３０は、３×３のエッジ抽出フィルタである。同図に示すように、メインメモリ７８１に格納されている画像データについて、ソベルフィルタ８３０を用いたフィルタリング処理を行い、このフィルタリング処理の結果が出力される。この例では、ＳＩＭＤ演算を用いて４つ分のフィルタ結果を一度に得る例について説明する。
【０２５１】
図４８は、本発明の実施の形態におけるメインメモリ７８１に格納されている画像データについてソベルフィルタ８３０を用いてＳＩＭＤ演算を行う場合におけるデータの流れを概略的に示す図である。最初は、メインメモリ７８１に格納されている画像データのうちの最初のラインを含む所定数のライン（例えば、３ライン）が演算プロセッサコアのローカルストア８２１に備えられる第一バッファ８３１にＤＭＡ（Direct Memory Access）転送されるとともに、第一バッファ８３１にＤＭＡ転送された各ラインを１つ下にずらした所定数のラインが第二バッファ８３２にＤＭＡ転送される。このように、ダブルバッファを使用することにより、ＤＭＡ転送による遅延を補うことができる。
【０２５２】
図４９は、本発明の実施の形態におけるソベルフィルタ８３０を用いてフィルタリング処理を行う場合において、第一バッファ８３１に格納されている画像データから９つのベクトルを作成するベクトル作成方法を概略的に示す図である。図４８に示すように、ＤＭＡ転送が行われた後に、第一バッファ８３１に格納されている画像データから９つのベクトルが作成される。具体的には、第一バッファ８３１に格納されている画像データの１ラインにおいて左隅から４つのデータによりベクターデータ８４１が作成され、その４つのデータを右側に１つずらした４つのデータによりベクターデータ８４２が作成され、同様に、その４つのデータを右側に１つずらした４つのデータによりベクターデータ８４３が作成される。また、２ラインおよび３ラインにおいても同様に４つのデータによりベクターデータ８４４乃至８４９が作成される。
【０２５３】
図５０は、本発明の実施の形態におけるソベルフィルタ８３０を用いてフィルタリング処理を行う場合において、ベクターデータ８４１乃至８４９についてＳＩＭＤ演算を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。具体的には、ベクターデータ８４１乃至８４３についてＳＩＭＤ演算が順次行われ、ベクトルＡが求められる。このＳＩＭＤ演算では、最初に、『「−１」×「ベクターデータ８４１」』のＳＩＭＤ演算が実行される。続いて、『「０」×「ベクターデータ８４２」』のＳＩＭＤ演算が実行され、『「１」×「ベクターデータ８４３」』のＳＩＭＤ演算が実行される。ここで、『「０」×「ベクターデータ８４２」』については、演算結果が「０」であると確定しているため、省略することが可能である。また、『「１」×「ベクターデータ８４３」』については、演算結果が「ベクターデータ８４３」と同じ値であることが確定しているため、省略することが可能である。
【０２５４】
続いて、『「−１」×「ベクターデータ８４１」』の演算結果と、『「０」×「ベクターデータ８４２」』の演算結果との加算処理がＳＩＭＤ演算により実行される。続いて、この加算処理の結果と、『「１」×「ベクターデータ８４３」』の演算結果との加算処理がＳＩＭＤ演算により実行される。ここで、例えば、「ベクターデータ１」×「ベクターデータ２」＋「ベクターデータ３」となるデータ構造の演算については、ＳＩＭＤ演算により実行することが可能である。そこで、ベクトルＡの演算については、例えば、『「０」×「ベクターデータ８４２」』および『「１」×「ベクターデータ８４３」』についてのＳＩＭＤ演算を省略し、『「−１」×「ベクターデータ８４１」＋「ベクターデータ８４３」』を一度のＳＩＭＤ演算により実行するようにしてもよい。
【０２５５】
また、同様に、ベクターデータ８４４乃至８４６についてＳＩＭＤ演算が行われ、ベクトルＢが求められ、ベクターデータ８４７乃至８４９についてＳＩＭＤ演算が行われ、ベクトルＣが求められる。
【０２５６】
続いて、ＳＩＭＤ演算により求められたベクトルＡ乃至ＣについてＳＩＭＤ演算が行われ、ベクトルＤが求められる。このように、ＳＩＭＤ演算を行うことにより、ベクトルの要素数分（この例では４つのデータ）の結果をまとめて得ることができる。
【０２５７】
ベクトルＤが算出された後は、図４８に示す第一バッファ８３１に格納されている画像データにおいて、取り出すデータの位置を右側に１つずらしながら、同様の処理を繰り返し実行して、それぞれのベクトルＤの算出を順次行う。そして、図４８に示す第一バッファ８３１に格納されている画像データの右端までの処理が終了した場合には、処理結果をメインメモリ７８１にＤＭＡ転送する。
【０２５８】
続いて、メインメモリ７８１に格納されている画像データのうちで、第二バッファ８３２にＤＭＡ転送された各ラインを１つ下にずらした所定数のラインが第一バッファ８３１にＤＭＡ転送されるとともに、第二バッファ８３２に格納されている画像データについて、上述した処理を繰り返し行う。そして、メインメモリ７８１に格納されている画像データの各ラインのうちの下端のラインに達するまで、同様の処理を繰り返し行う。
【０２５９】
同様に、特徴点抽出とオプティカルフロー算出の大部分の処理をＳＩＭＤ演算により行うことによって高速化を実現することができる。
【０２６０】
図５１は、本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。上述したように、例えば、マルチコアプロセッサ８００を用いてＳＩＭＤ演算を行うことにより、動画についてのデコードおよび解析処理を並列化して行うことができる。このため、動画を構成する１フレームの解析時間を、デコード時間よりも短縮することが可能である。
【０２６１】
例えば、同図において、ｔ１は、制御プロセッサコア８０１が動画を構成する１フレームのデコード処理に要する時間を示し、ｔ２は、演算プロセッサコア（＃１）８１１乃至（＃８）８１８が動画を構成する１フレームの特徴点抽出処理に要する時間を示し、ｔ３は、演算プロセッサコア（＃１）８１１乃至（＃８）８１８が動画を構成する１フレームのオプティカルフロー算出処理に要する時間を示し、ｔ４は、制御プロセッサコア８０１が動画を構成する１フレームのカメラワーク検出処理に要する時間を示す。なお、ｔ５は、制御プロセッサコア８０１および演算プロセッサコア（＃１）８１１乃至（＃８）８１８が動画を構成する１フレームについて、カメラワーク検出処理に要する時間を示す。また、ｔ６は、制御プロセッサコア８０１が演算プロセッサコア（＃１）８１１乃至（＃８）８１８を管理する処理に要する時間を示す。例えば、ｔ１を「２５．０ｍｓ」とし、ｔ２を「７．９ｍｓ」とし、ｔ３を「６．７ｍｓ」とし、ｔ４を「１．２ｍｓ」とし、ｔ５を「１５．８ｍｓ」とすることができる。
【０２６２】
次に、本発明の実施の形態におけるメタデータファイルを用いた動画コンテンツを再生する場合について図面を参照して詳細に説明する。
【０２６３】
図５２（ａ）は、記録媒体の一例であるブルーレイディスク（Blu-ray Disc（登録商標））８８０を模式的に示す上面図であり、図５２（ｂ）は、ブルーレイディスク８８０に記録されている各データ８８１乃至８８４を模式的に示す図である。ブルーレイディスク８８０には、例えば、カメラ等により撮像された動画である動画コンテンツ８８２、動画コンテンツ８８２の字幕８８３、および、動画コンテンツ８８２について解析されて得られたメタデータ（例えば、図４（ｂ）に示すメタデータファイル、図２９、図３５に示す相対関係メタデータファイル）８８４とともに、本発明の実施の形態における動画再生に係るＪａｖａ（登録商標）プログラム８８１が記録されている。
【０２６４】
図５２（ｃ）は、ブルーレイディスク８８０を再生可能なブルーレイ再生機（Blu-ray Disc Player）８９０の内部構成を模式的に示す図である。ここで、ブルーレイディスクを再生可能なブルーレイ再生機８９０は、ＣＰＵ８９１およびＯＳ８９２とともに、Ｊａｖａ  ＶＭ（Ｊａｖａ仮想マシン）およびライブラリ８９３が標準で搭載されているため、Ｊａｖａプログラムを実行することが可能である。このため、ブルーレイディスク８８０をブルーレイ再生機８９０に装着することにより、ブルーレイ再生機８９０がＪａｖａプログラム８８１をロードして実行することが可能である。これにより、ブルーレイ再生機８９０が動画コンテンツ８８２を再生する場合に、メタデータ８８４を用いて、本発明の実施の形態における動画再生を行うことが可能である。すなわち、専用のＰＣソフト等を使わずに、全てのブルーレイ再生機で本発明の実施の形態における動画再生を実現することが可能になる。
【０２６５】
以上で示したように、本発明の実施の形態では、撮像装置において１または複数の動画を再生する場合に、現在表示されている画像よりも前のフレームに対応する各画像を現在の画像に合成しながら表示するため、撮影の中心となっている対象物とともに、少なくとも一部の時間帯で撮影された背景等を俯瞰的に閲覧することができる。すなわち、撮影時の画サイズで再生されている初期状態から、ズームアウト操作により画像を拡大させた場合には、現画像全体が小さくなるとともに、現画像の周りに過去のフレームに対応する画像が表示されるため、空間的なズームアウトを実現することができる。これにより、撮影画サイズよりも広範囲の画像を俯瞰することができる。
【０２６６】
また、例えば、少なくとも一部の時間帯で撮影された背景等を再度見たい場合には、巻き戻し操作や検索操作等をしなくても、ズームアウト操作により、現在表示されている画像と同時にその背景等を見ることができる。これにより、撮像装置により撮影された動画を閲覧する場合に、その動画の内容を容易に把握することができる。さらに、例えば、同一の対象物が含まれている動画を再生する場合には、その対象物の部分では、複数の動画が重ねられて表示されるため、複数の動画の相対的な関係を容易に把握することができる。
【０２６７】
すなわち、過去のフレームを活用して、複数の動画を空間的に展開して鑑賞することができる。これにより、例えば、複数の画像を再生しながらパノラマ画像を完成させていくような鑑賞方法を提供することができるため、閲覧者は面白み豊かに動画を観賞することができる。また、現画像については、画像メモリ１８０に保存される前の状態の画像を順次表示させることができるため、比較的綺麗な画像を表示させることができる。
【０２６８】
また、本発明の実施の形態では、予め検出されたアフィン変換パラメータを用いて再生表示をする例について説明したが、再生の際にアフィン変換パラメータを算出し、この算出されたアフィン変換パラメータを用いて再生表示をするようにしてもよい。例えば、マルチコアプロセッサを用いたＳＩＭＤ演算によりアフィン変換パラメータを算出することにより、１フレームのデコードの処理時間内に、１フレームのアフィン変換パラメータを算出することが可能である。これにより、アフィン変換パラメータが算出されていない動画を再生する場合でも、アフィン変換パラメータを算出しながら動画再生を行うことが可能であるため、動画を空間的に展開する鑑賞を迅速に行うことができる。
【０２６９】
また、本発明の実施の形態では、複数の動画ファイルを動画記憶部２００に記憶するとともに、この動画に対応するアフィン変換パラメータを、対応する動画およびフレームと関連付けてメタデータファイルとしてメタデータ記憶部２１０に記憶し、さらに、複数の動画に関する相対関係情報を相対関係情報記憶部２２０に記憶する例について説明したが、動画と、この動画に対応するアフィン変換パラメータと、この動画に関する相対関係情報とを関連付けて動画ファイルとして動画記憶部に記録しておき、再生時には、動画ファイルから各情報を抽出して用いるようにしてもよい。
【０２７０】
また、本発明の実施の形態では、先頭のフレームから最後のフレームに向かって合成再生する例について説明したが、最後のフレームから先頭のフレームに向かって合成再生する場合についても同様に適用することができる。この場合には、フレームに関連付けられているアフィン変換パラメータの逆行列を用いてアフィン変換を行う。
【０２７１】
また、画像合成部により合成された合成画像を記録媒体等に記録して、他の再生表示に用いるようにしてもよい。また、本発明の実施の形態では、動画を例にして説明したが、例えば、連続して記録された撮像画像等の静止画についても同様に合成表示することができる。すなわち、動画または静止画の再生機能と、再生時の表示倍率を切り替える機能とを備えるパーソナルコンピュータの動画再生アプリケーション、デジタルスチルカメラ、カムコーダ、携帯電話等の撮像装置に本発明の実施の形態を適用することができる。
【０２７２】
また、本発明の実施の形態では、画像合成部により合成された画像を表示部に表示する撮像装置を例にして説明したが、画像合成部により合成された画像を他の画像表示装置において表示させるための画像情報を出力する画像出力手段を設けた撮像装置に本発明の実施の形態を適用することができる。
【０２７３】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０２７４】
すなわち、請求項１において、撮像手段は、例えば撮像部１１０に対応する。また、変換情報算出手段は、例えばカメラワーク検出部１２０に対応する。また、画像保持手段は、例えば画像メモリ１８０に対応する。また、画像変換手段は、例えば画像変換部１５０および１５１に対応する。また、画像合成手段は、例えば画像合成部１７０および１７１に対応する。また、操作受付手段は、例えば操作受付部１６０および１６５に対応する。また、制御手段は、例えば表示領域取出部１９０および表示制御部２４０に対応する。
【０２７５】
また、請求項７において、撮像手段は、例えば撮像部１１０に対応する。また、変換情報算出手段は、例えばカメラワーク検出部１２０に対応する。また、画像保持手段は、例えば画像メモリ１８０に対応する。また、画像変換手段は、例えば画像変換部１５０に対応する。また、画像合成手段は、例えば画像合成部１７０に対応する。また、操作受付手段は、例えば操作受付部１６０に対応する。また、制御手段は、例えば表示領域取出部１９０および表示制御部２４０に対応する。
【０２７６】
また、請求項８または９において、変換情報算出手順は、例えばステップＳ９０３乃至Ｓ９１３に対応する。また、履歴画像として画像保持手段に保持させる手順は、例えばステップＳ９２６に対応する。また、画像変換手順は、例えばステップＳ９２５に対応する。また、画像合成手順は、例えばステップＳ９２６に対応する。また、操作受付手順は、例えば操作受付部１６０および１６５により行われる。また、制御手順は、例えばステップＳ９２７乃至Ｓ９３２に対応する。
【０２７７】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【０２７８】
【図１】本発明の実施の形態における撮像装置１００の機能構成例を示すブロック図である。
【図２】本発明の実施の形態における撮像装置１００の外観を示す図である。
【図３】本発明の実施の形態におけるカメラワーク検出部１２０の機能構成例を示すブロック図である。
【図４】本発明の実施の形態における動画記憶部２００およびメタデータ記憶部２１０に記録されている各ファイルを模式的に示す図である。
【図５】動画を構成するフレームに対応する画像の一例を示す図である。
【図６】動画を構成するフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。
【図７】本発明の実施の形態における撮像装置１００によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
【図８】撮像装置１０１により撮影された動画の遷移の一例を示す図である。
【図９】図８に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図１０】図８に示す画像４０１乃至４０３を含む動画を再生する場合における表示例を示す図である。
【図１１】撮像装置１０１により撮影された動画の遷移の一例を示す図である。
【図１２】図１１に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図１３】図１１に示す画像４２１乃至４２３を含む動画を再生する場合における表示例を示す図である。
【図１４】撮像装置１０１により撮影された動画の遷移の一例を示す図である。
【図１５】図１４に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図１６】図１４に示す画像４４１乃至４４３を含む動画を再生する場合における表示例を示す図である。
【図１７】本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。
【図１８】動画の表示倍率を変更して表示させる場合における画像メモリ１８０に保持される画像と液晶パネル２５１に表示される画像との関係を概略的に示す図である。
【図１９】本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームの流れを模式的に示す図である。
【図２０】撮像装置１０１により撮影された動画を再生する場合における合成例（画像４８０）および画像４８０における現画像４８２がアフィン変換される前の状態の画像４８４を示す図である。
【図２１】図２０に示す枠４８３で囲まれた画像領域が拡大された場合における画像４８５と、アフィン変換後の現画像が画像メモリ１８０に保存された状態で表示用メモリ２３０に保存された画像４８７を示す図である。
【図２２】本発明の実施の形態における撮像装置１００による動画再生処理の処理手順を示すフローチャートである。
【図２３】図８に示す画像４０１乃至４０３を含む動画を再生する場合における表示例を示す図である。
【図２４】図１１に示す画像４２１乃至４２３を含む動画を再生する場合における表示例を示す図である。
【図２５】図１４に示す画像４４１乃至４４３を含む動画を再生する場合における表示例を示す図である。
【図２６】本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。
【図２７】本発明の実施の形態における撮像装置１０１の機能構成例を示すブロック図である。
【図２８】本発明の実施の形態における一致点検索部３４０の機能構成例を示すブロック図である。
【図２９】本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。
【図３０】画像に含まれる一致点を選択することにより２つの画像に関するアフィン変換パラメータを算出するアフィン変換パラメータ算出方法、および、その選択された一致点に基づいて２つの画像を合成させた場合を概略的に示す図である。
【図３１】画像に含まれる一致点を選択することにより２つの画像に関するアフィン変換パラメータを算出するアフィン変換パラメータ算出方法を概略的に示す図である。
【図３２】２つの動画を合成する場合における合成例を模式的に示す図である。
【図３３】２つの動画を合成する場合における合成例を模式的に示す図である。
【図３４】図３３に示す合成画像が表示部２５０に表示される場合における表示例を示す図である。
【図３５】本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。
【図３６】３つの動画に関する画像に含まれる一致点を選択する場合における各画像を示す図である。
【図３７】３つの動画に関する画像において選択された一致点に基づいて３つの画像を合成させた場合の一例を示す図である。
【図３８】３つの動画を合成する場合における合成例を模式的に示す図である。
【図３９】静止画と複数の動画とを合成する場合の一例を示す図である。
【図４０】本発明の実施の形態におけるマルチコアプロセッサ８００の一構成例を示す図である。
【図４１】本発明の実施の形態における制御プロセッサコア８０１の一構成例を示す図である。
【図４２】本発明の実施の形態における演算プロセッサコア（＃１）８１１の一構成例を示す図である。
【図４３】本発明の実施の形態におけるマルチコアプロセッサ８００の演算方法を模式的に示す図である。
【図４４】本発明の実施の形態におけるマルチコアプロセッサ８００により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。
【図４５】複数のデータに対する処理をそれぞれの命令で行う演算方式の概要、および、複数のデータに対する処理を１つの命令で行うＳＩＭＤ演算の概要を模式的に示す図である。
【図４６】本発明の実施の形態における制御プロセッサコア８０１または演算プロセッサコア（＃１）８１１により実行されるプログラムの構成例を示す図である。
【図４７】本発明の実施の形態におけるメインメモリ７８１に格納されている画像データについて、ソベルフィルタ８３０を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。
【図４８】本発明の実施の形態におけるメインメモリ７８１に格納されている画像データについてソベルフィルタ８３０を用いてＳＩＭＤ演算を行う場合におけるデータの流れを概略的に示す図である。
【図４９】本発明の実施の形態におけるソベルフィルタ８３０を用いてフィルタリング処理を行う場合において、第一バッファ８３１に格納されている画像データから９つのベクトルを作成するベクトル作成方法を概略的に示す図である。
【図５０】本発明の実施の形態におけるソベルフィルタ８３０を用いてフィルタリング処理を行う場合において、ベクターデータ８４１乃至８４９についてＳＩＭＤ命令を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。
【図５１】本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。
【図５２】記録媒体の一例であるブルーレイディスク８８０、ブルーレイディスク８８０に記録されている各データ８８１乃至８８４、および、ブルーレイディスク８８０を再生可能なブルーレイ再生機８９０の内部構成を模式的に示す図である。
【符号の説明】
【０２７９】
１００、１０１  撮像装置
１１０  撮像部
１２０  カメラワーク検出部
１２１  特徴点抽出部
１２２  オプティカルフロー計算部
１２３  カメラワークパラメータ算出部
１３０、１３１  記録制御部
１４０、１４１  ファイル取得部
１５０、１５１  画像変換部
１６０、１６５  操作受付部
１６１  ズームボタン
１６２  十字ボタン
１７０、１７１  画像合成部
１８０  画像メモリ
１９０  表示領域取出部
２００  動画記憶部
２１０  メタデータ記憶部
２２０  相対関係情報記憶部
２３０、２３１  表示用メモリ
２４０  表示制御部
２５０  表示部
２５１  液晶パネル
２６０  一致点選択部
２７０  相対関係情報算出部
２８０  対象画像変換情報算出部
【図１】
0004678404.tif 000004
【図２】
0004678404.tif 000005
【図３】
0004678404.tif 000006
【図４】
0004678404.tif 000007
【図６】
0004678404.tif 000008
【図７】
0004678404.tif 000009
【図８】
0004678404.tif 000010
【図９】
0004678404.tif 000011
【図１０】
0004678404.tif 000012
【図１１】
0004678404.tif 000013
【図１２】
0004678404.tif 000014
【図１３】
0004678404.tif 000015
【図１４】
0004678404.tif 000016
【図１５】
0004678404.tif 000017
【図１６】
0004678404.tif 000018
【図１７】
0004678404.tif 000019
【図１８】
0004678404.tif 000020
【図１９】
0004678404.tif 000021
【図２２】
0004678404.tif 000022
【図２３】
0004678404.tif 000023
【図２４】
0004678404.tif 000024
【図２５】
0004678404.tif 000025
【図２６】
0004678404.tif 000026
【図２７】
0004678404.tif 000027
【図２８】
0004678404.tif 000028
【図２９】
0004678404.tif 000029
【図３０】
0004678404.tif 000030
【図３１】
0004678404.tif 000031
【図３２】
0004678404.tif 000032
【図３３】
0004678404.tif 000033
【図３４】
0004678404.tif 000034
【図３５】
0004678404.tif 000035
【図３６】
0004678404.tif 000036
【図３７】
0004678404.tif 000037
【図３８】
0004678404.tif 000038
【図３９】
0004678404.tif 000039
【図４０】
0004678404.tif 000040
【図４１】
0004678404.tif 000041
【図４２】
0004678404.tif 000042
【図４３】
0004678404.tif 000043
【図４４】
0004678404.tif 000044
【図４５】
0004678404.tif 000045
【図４６】
0004678404.tif 000046
【図４７】
0004678404.tif 000047
【図４８】
0004678404.tif 000048
【図４９】
0004678404.tif 000049
【図５０】
0004678404.tif 000050
【図５１】
0004678404.tif 000051
【図５２】
0004678404.tif 000052
【図５】
0004678404.tif 000053
【図２０】
0004678404.tif 000054
【図２１】
0004678404.tif 000055