(57)【特許請求の範囲】
【請求項１】
第１の動画を構成する画像間における相対的な位置関係を示す第１の変換情報に基づいて前記第１の動画を構成する各画像を変換し、第２の動画を構成する少なくとも１つの画像と前記第１の動画を構成する少なくとも１つの画像との相対的な位置関係を示す相対関係情報と前記第２の動画を構成する画像間における相対的な位置関係を示す第２の変換情報とに基づいて前記第２の動画を構成する各画像を変換する画像変換手段と、
前記変換された前記第１の動画を構成する画像を合成し、前記変換された前記第２の動画を構成する画像を合成して出力対象の合成画像とする画像合成手段と
を具備する画像処理装置。
【請求項２】
複数の前記相対関係情報と前記第１の変換情報と前記第２の変換情報とに基づいて前記第１の変換情報および前記第２の変換情報の少なくとも一方を補正するための補正値を算出する補正値算出手段をさらに具備し、
前記画像変換手段は、前記算出された補正値を用いて前記第１の変換情報および前記第２の変換情報の少なくとも一方を補正して前記補正後の変換情報を用いて前記変換を行う
請求項１記載の画像処理装置。
【請求項３】
前記第１の動画を構成する画像である第１の画像と前記第２の動画を構成する画像である第２の画像とにおける位置を指定する指定操作を受け付ける操作受付手段と、
前記指定された前記第１の画像および前記第２の画像における位置を前記第１の画像および前記第２の画像における一致点として選択する選択手段と、
前記選択された一致点に基づいて前記第１の画像および前記第２の画像に関する前記相対関係情報を算出する相対関係情報算出手段と、
前記第１の動画および前記第２の動画と前記第１の画像および前記第２の画像とに関連付けて、前記算出された前記相対関係情報を相対関係情報記憶手段に記録する記録制御手段と
をさらに具備する請求項１記載の画像処理装置。
【請求項４】
前記第１の動画を構成する画像である第１の画像と前記第２の動画を構成する画像である第２の画像とにおける一致点を検索する一致点検索手段と、
前記検索された一致点に基づいて前記第１の画像および前記第２の画像に関する前記相対関係情報を算出する相対関係情報算出手段と、
前記第１の動画および前記第２の動画と前記第１の画像および前記第２の画像とに関連付けて、前記算出された前記相対関係情報を相対関係情報記憶手段に記録する記録制御手段と
をさらに具備する請求項１記載の画像処理装置。
【請求項５】
前記合成画像を出力手段に順次出力させる制御手段をさらに具備する請求項１記載の画像処理装置。
【請求項６】
前記合成画像を保持する画像保持手段に保持されている前記合成画像から前記出力手段による出力の対象となる領域である出力領域に含まれる画像を出力画像として取り出す出力領域取出手段をさらに具備し、
前記画像合成手段は、前記変換された前記第１の動画を構成する画像と前記変換された前記第２の動画を構成する画像とを前記出力画像に上書きして合成して新たな出力画像とし、
前記制御手段は、前記新たな出力画像を前記出力手段に順次出力させる
請求項５記載の画像処理装置。
【請求項７】
前記第１の動画および前記第２の動画のそれぞれを構成するフレーム毎に前記第１の変換情報および前記第２の変換情報を順次算出する変換情報算出手段をさらに具備し、
前記画像変換手段は、前記第１の動画および前記第２の動画のそれぞれを構成する各画像を前記フレーム毎に変換し、
前記画像合成手段は、前記変換された前記第１の動画および前記第２の動画のそれぞれを構成する各画像を前記フレーム毎に順次合成し、
前記制御手段は、前記合成画像を前記フレーム毎に順次出力させる
請求項５記載の画像処理装置。
【請求項８】
前記第１の変換情報および前記第２の変換情報がそれぞれ画像毎に関連付けられて記録されるとともに前記相対関係情報が関連付けられて記録されている前記第１の動画および前記第２の動画を取得する動画取得手段をさらに具備する請求項１記載の画像処理装置。
【請求項９】
第１の動画を構成する画像間における相対的な位置関係を示す第１の変換情報に基づいて前記第１の動画を構成する各画像を変換し、第２の動画を構成する少なくとも１つの画像と前記第１の動画を構成する少なくとも１つの画像との相対的な位置関係を示す相対関係情報と前記第２の動画を構成する画像間における相対的な位置関係を示す第２の変換情報とに基づいて前記第２の動画を構成する各画像を変換する画像変換手段と、
前記変換された前記第１の動画を構成する画像と前記変換された前記第２の動画を構成する画像とを出力手段に順次出力させる制御手段と
を具備する画像処理装置。
【請求項１０】
第１の動画を構成する画像間における動き情報に基づいて前記第１の動画を構成する各画像を合成して第１の合成画像とし、第２の動画を構成する画像間における動き情報に基づいて前記第２の動画を構成する各画像を合成して第２の合成画像とする画像合成手段を具備し、
前記画像合成手段は、前記第１の合成画像に含まれる画像のうちの少なくとも１つの画像を基準として、前記第１の動画に係る前記動き情報に対する前記第２の動画に係る前記動き情報の相対的な位置関係を示す相対関係情報に基づいて前記第１の合成画像と前記第２の合成画像とを合成する
画像処理装置。
【請求項１１】
前記第２の動画は、前記第１の動画を構成する少なくとも１つの画像との一致点を有する画像を含む請求項１乃至１０の何れかに記載の画像処理装置。
【請求項１２】
第１の動画を構成する画像間における相対的な位置関係を示す第１の変換情報に基づいて前記第１の動画を構成する各画像を変換し、第２の動画を構成する少なくとも１つの画像と前記第１の動画を構成する少なくとも１つの画像との相対的な位置関係を示す相対関係情報と前記第２の動画を構成する画像間における相対的な位置関係を示す第２の変換情報とに基づいて前記第２の動画を構成する各画像を変換する画像変換手順と、
前記変換された前記第１の動画を構成する画像を合成し、前記変換された前記第２の動画を構成する画像を合成して出力対象の合成画像とする画像合成手順と
を具備する画像処理方法。
【請求項１３】
第１の動画を構成する画像間における相対的な位置関係を示す第１の変換情報に基づいて前記第１の動画を構成する各画像を変換し、第２の動画を構成する少なくとも１つの画像と前記第１の動画を構成する少なくとも１つの画像との相対的な位置関係を示す相対関係情報と前記第２の動画を構成する画像間における相対的な位置関係を示す第２の変換情報とに基づいて前記第２の動画を構成する各画像を変換する画像変換手順と、
前記変換された前記第１の動画を構成する画像を合成し、前記変換された前記第２の動画を構成する画像を合成して出力対象の合成画像とする画像合成手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、動画を扱う画像処理装置および画像処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
近年、デジタルビデオカメラが普及している。このため、例えば、家族で旅行をしている場合に、この旅行の様子がデジタルビデオカメラで撮影されることが広く行われている。また、例えば、複数の家族で旅行をしている場合には、同一の風景が複数のデジタルビデオカメラにより複数の動画として記録されることがある。
【０００３】
このように撮影された動画については、例えば、家庭内において、動画再生装置を用いてそのディスプレイで再生することができる。また、例えば、同一の風景について複数の動画が同時刻に撮影されている場合には、同一の風景について各撮影方向からの動画を同時に見るため、これらの動画を１つのディスプレイで時刻を合わせて同時に再生することが考えられる。
【０００４】
例えば、１つの表示器で複数の動画像を同時に再生する再生装置が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平０５−２９２４９０号公報（図３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述の従来技術によれば、同一の風景について撮影された複数の動画を１つのディスプレイで同時に見ることができるため、１つの動画を再生する場合と比較して同一の風景画像を含む動画を各撮影方向から見ることができる。
【０００６】
しかしながら、上述の従来技術では、複数の動画を１つのディスプレイで同時に再生する場合には、ディスプレイ上において各動画の撮影方向とは無関係の位置で各動画が再生されるため、１つの動画に対する他の動画の相対的な位置関係を把握することが容易ではない場合がある。例えば、複数の家族で旅行をした場合に撮像された複数の動画を再生する場合には、１つの動画に含まれている風景画像と、他の動画に含まれている風景画像との相対的な位置関係を把握することが困難であるおそれがある。このように、複数の動画における双方の相対的な位置関係を把握することが困難である場合には、同一の風景について撮像された複数の動画を同時に再生しているにもかかわらず、複数の動画再生による面白みが減少してしまうおそれがある。そこで、例えば、同一の風景について撮像された複数の動画を同時に再生する場合において、これらの複数の動画の相対的な位置関係を容易に把握しながら、これらの動画を見ることができれば、複数の動画再生による面白みをさらに高めて見ることができると考えられる。
【０００７】
そこで、本発明は、複数の動画を再生する場合に複数の動画の相対的な位置関係を把握させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、第１の動画を構成する画像間における相対的な位置関係を示す第１の変換情報に基づいて上記第１の動画を構成する各画像を変換し、第２の動画を構成する少なくとも１つの画像と上記第１の動画を構成する少なくとも１つの画像との相対的な位置関係を示す相対関係情報と上記第２の動画を構成する画像間における相対的な位置関係を示す第２の変換情報とに基づいて上記第２の動画を構成する各画像を変換する画像変換手段と、上記変換された上記第１の動画を構成する画像を合成し、上記変換された上記第２の動画を構成する画像を合成して出力対象の合成画像とする画像合成手段とを具備する画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、第１の変換情報に基づいて第１の動画を構成する各画像を変換し、相対関係情報と第２の変換情報とに基づいて第２の動画を構成する各画像を変換し、その変換された第１の動画を構成する画像を合成し、その変換された第２の動画を構成する画像を合成して出力対象の合成画像とするという作用をもたらす。
【０００９】
また、この第１の側面において、複数の上記相対関係情報と上記第１の変換情報と上記第２の変換情報とに基づいて上記第１の変換情報および上記第２の変換情報の少なくとも一方を補正するための補正値を算出する補正値算出手段をさらに具備し、上記画像変換手段は、上記算出された補正値を用いて上記第１の変換情報および上記第２の変換情報の少なくとも一方を補正して上記補正後の変換情報を用いて上記変換を行うようにしてもよい。これにより、複数の相対関係情報と第１の変換情報と第２の変換情報とに基づいて、第１の変換情報および第２の変換情報の少なくとも一方を補正するための補正値を算出し、この算出された補正値を用いて第１の変換情報および第２の変換情報の少なくとも一方を補正し、この補正後の変換情報を用いて変換を行うという作用をもたらす。
【００１０】
また、この第１の側面において、上記第１の動画を構成する画像である第１の画像と上記第２の動画を構成する画像である第２の画像とにおける位置を指定する指定操作を受け付ける操作受付手段と、上記指定された上記第１の画像および上記第２の画像における位置を上記第１の画像および上記第２の画像における一致点として選択する選択手段と、上記選択された一致点に基づいて上記第１の画像および上記第２の画像に関する上記相対関係情報を算出する相対関係情報算出手段と、上記第１の動画および上記第２の動画と上記第１の画像および上記第２の画像とに関連付けて、上記算出された上記相対関係情報を相対関係情報記憶手段に記録する記録制御手段とをさらに具備するようにしてもよい。これにより、第１の画像および第２の画像における位置を指定する指定操作を受け付けると、この指定された第１の画像および第２の画像における位置を第１の画像および第２の画像における一致点として選択し、この選択された一致点に基づいて、第１の画像および第２の画像に関する相対関係情報を算出し、この算出された相対関係情報を第１の動画および第２の動画と、第１の画像および第２の画像とに関連付けて記録するという作用をもたらす。
【００１１】
また、この第１の側面において、上記第１の動画を構成する画像である第１の画像と上記第２の動画を構成する画像である第２の画像とにおける一致点を検索する一致点検索手段と、上記検索された一致点に基づいて上記第１の画像および上記第２の画像に関する上記相対関係情報を算出する相対関係情報算出手段と、上記第１の動画および上記第２の動画と上記第１の画像および上記第２の画像とに関連付けて、上記算出された上記相対関係情報を相対関係情報記憶手段に記録する記録制御手段とをさらに具備するようにしてもよい。これにより、第１の画像および第２の画像における一致点を検索し、この検索された一致点に基づいて第１の画像および第２の画像に関する相対関係情報を算出し、この算出された相対関係情報を、第１の動画および第２の動画と、第１の画像および第２の画像とに関連付けて記録するという作用をもたらす。
また、この第１の側面において、上記合成画像を出力手段に順次出力させる制御手段をさらに具備するようにしてもよい。これにより、合成画像を順次出力させるという作用をもたらす。
【００１２】
また、この第１の側面において、上記合成画像を保持する画像保持手段に保持されている上記合成画像から上記出力手段による出力の対象となる領域である出力領域に含まれる画像を出力画像として取り出す出力領域取出手段をさらに具備し、上記画像合成手段は、上記変換された上記第１の動画を構成する画像と上記変換された上記第２の動画を構成する画像とを上記出力画像に上書きして合成して新たな出力画像とし、上記制御手段は、上記新たな出力画像を上記出力手段に順次出力させるようにしてもよい。これにより、合成画像から出力の対象となる出力領域に含まれる画像を出力画像として取り出し、変換された各画像を出力画像に上書きして合成して新たな出力画像とし、新たな出力画像を順次出力させるという作用をもたらす。
【００１４】
また、この第１の側面において、上記第１の動画および上記第２の動画のそれぞれを構成するフレーム毎に上記第１の変換情報および上記第２の変換情報を順次算出する変換情報算出手段をさらに具備し、上記画像変換手段は、上記第１の動画および上記第２の動画のそれぞれを構成する各画像を上記フレーム毎に変換し、上記画像合成手段は、上記変換された上記第１の動画および上記第２の動画のそれぞれを構成する各画像を上記フレーム毎に順次合成し、上記制御手段は、上記合成画像を上記フレーム毎に順次出力させるようにしてもよい。これにより、第１の動画および第２の動画のそれぞれを構成するフレーム毎に第１の変換情報および第２の変換情報を順次算出し、第１の動画および第２の動画のそれぞれを構成する各画像をフレーム毎に変換し、変換された各画像をフレーム毎に順次合成し、合成画像をフレーム毎に順次出力させるという作用をもたらす。
【００１８】
また、この第１の側面において、上記第１の変換情報および上記第２の変換情報がそれぞれ画像毎に関連付けられて記録されるとともに上記相対関係情報が関連付けられて記録されている上記第１の動画および上記第２の動画を取得する動画取得手段をさらに具備するようにしてもよい。これにより、第１の変換情報および第２の変換情報がそれぞれ画像毎に関連付けられて記録されるとともに、相対関係情報が関連付けられて記録されている第１の動画および第２の動画を取得するという作用をもたらす。
【００１９】
また、本発明の第２の側面は、第１の動画を構成する画像間における相対的な位置関係を示す第１の変換情報に基づいて上記第１の動画を構成する各画像を変換し、第２の動画を構成する少なくとも１つの画像と上記第１の動画を構成する少なくとも１つの画像との相対的な位置関係を示す相対関係情報と上記第２の動画を構成する画像間における相対的な位置関係を示す第２の変換情報とに基づいて上記第２の動画を構成する各画像を変換する画像変換手段と、上記変換された上記第１の動画を構成する画像と上記変換された上記第２の動画を構成する画像とを出力手段に順次出力させる制御手段とを具備する画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、第１の変換情報に基づいて第１の動画を構成する各画像を変換し、相対関係情報と第２の変換情報とに基づいて第２の動画を構成する各画像を変換し、その変換された第１の動画を構成する画像とその変換された第２の動画を構成する画像とを順次出力させるという作用をもたらす。
【００２０】
また、本発明の第３の側面は、第１の動画を構成する画像間における動き情報に基づいて上記第１の動画を構成する各画像を合成して第１の合成画像とし、第２の動画を構成する画像間における動き情報に基づいて上記第２の動画を構成する各画像を合成して第２の合成画像とする画像合成手段を具備し、上記画像合成手段は、上記第１の合成画像に含まれる画像のうちの少なくとも１つの画像を基準として、上記第１の動画に係る上記動き情報に対する上記第２の動画に係る上記動き情報の相対的な位置関係を示す相対関係情報に基づいて上記第１の合成画像と上記第２の合成画像とを合成する画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、第１の動画に係る動き情報に基づいて第１の動画を構成する各画像を合成して第１の合成画像とし、第２の動画に係る動き情報に基づいて第２の動画を構成する各画像を合成して第２の合成画像とし、相対関係情報に基づいて第１の合成画像と第２の合成画像とを合成するという作用をもたらす。
【００２１】
また、これらの第１乃至第３の側面において、上記第２の動画を、上記第１の動画を構成する少なくとも１つの画像との一致点を有する画像を含む動画とするようにしてもよい。これにより、第１の動画を構成する少なくとも１つの画像との一致点を有する画像を含む第２の動画を用いるという作用をもたらす。
【発明の効果】
【００２２】
本発明によれば、複数の動画を再生する場合に複数の動画の相対的な位置関係を把握させることができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００２３】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２４】
図１は、本発明の実施の形態における画像処理装置１００の機能構成例を示すブロック図である。画像処理装置１００は、動画入力部１１０と、カメラワーク検出部１２０と、記録制御部１３０と、ファイル取得部１４０と、画像変換部１５０と、操作受付部１６０と、一致点選択部１７０と、相対関係情報算出部１８０と、対象画像変換情報算出部１９０と、動画記憶部２００と、メタデータ記憶部２１０と、相対関係情報記憶部２２０と、補正値算出部２３０と、画像合成部２４０と、画像メモリ２５０と、表示領域取出部２６０と、表示用メモリ２７０と、表示制御部２８０と、表示部２９０と、一致点検索部３４０とを備える。画像処理装置１００は、例えば、デジタルビデオカメラ等の撮像装置で撮影された動画について、映像解析により特徴量を抽出し、この抽出された特徴量を用いて各種画像処理を施すことが可能なパーソナルコンピュータによって実現することができる。
【００２５】
動画入力部１１０は、デジタルビデオカメラ等の撮像装置（以下では、単に「カメラ」と称する。）により撮像された動画を入力する動画入力部であり、入力された動画をカメラワーク検出部１２０に出力する。
【００２６】
カメラワーク検出部１２０は、動画入力部１１０から出力された動画を解析して、撮影時におけるカメラの動き情報（カメラワーク）を検出するものであり、このカメラの動き情報に基づいて算出されたアフィン変換パラメータ（カメラワークパラメータ）を記録制御部１３０に出力する。すなわち、カメラワーク検出部１２０は、動画を構成する各画像から特徴点を抽出するとともに、この特徴点に対するオプティカルフロー（動きベクトル）を抽出し、この抽出された特徴点に対するオプティカルフローを解析して支配的な動きを見せた特徴点を選択し、この支配的な動きを見せた特徴点に対するオプティカルフローに基づいてカメラの動きを推定する。ここで、支配的な動きとは、複数の特徴点に対するオプティカルフローの中で、比較的多数のオプティカルフローが示す規則的な動きを意味する。なお、カメラワーク検出部１２０については、図２を参照して詳細に説明する。
【００２７】
記録制御部１３０は、動画入力部１１０から出力された動画を動画ファイルとして動画記憶部２００に記録するとともに、カメラワーク検出部１２０から出力されたアフィン変換パラメータを、対応する動画およびフレームに関連付けてメタデータファイルとしてメタデータ記憶部２１０に記録するものである。また、記録制御部１３０は、相対関係情報算出部１８０から出力されたアフィン変換パラメータを、このアフィン変換パラメータに対応する動画およびフレームに関連付けて相対関係情報記憶部２２０に記録する。
【００２８】
動画記憶部２００は、記録制御部１３０の制御に基づいて動画入力部１１０から出力された動画を動画ファイルとして記憶するものである。また、動画記憶部２００は、ファイル取得部１４０からの要求に応じて動画ファイルをファイル取得部１４０に供給し、一致点検索部３４０からの要求に応じて少なくとも２つの動画ファイルを一致点検索部３４０に供給する。なお、動画記憶部２００に記憶される動画ファイルについては、図４および図５を参照して詳細に説明する。
【００２９】
メタデータ記憶部２１０は、記録制御部１３０の制御に基づいてカメラワーク検出部１２０から出力されたアフィン変換パラメータをメタデータファイルとして記憶するものである。また、メタデータ記憶部２１０は、ファイル取得部１４０からの要求に応じてメタデータファイルをファイル取得部１４０に供給する。なお、メタデータ記憶部２１０に記憶されるメタデータファイルについては、図４を参照して詳細に説明する。
【００３０】
相対関係情報記憶部２２０は、記録制御部１３０の制御に基づいて、相対関係情報算出部１８０から出力されたアフィン変換パラメータと、これに対応する動画およびフレームとを関連付けて相対関係メタデータファイルとして記憶するものである。また、相対関係情報記憶部２２０は、ファイル取得部１４０からの要求に応じて相対関係メタデータファイルをファイル取得部１４０に供給する。なお、相対関係情報記憶部２２０に記憶される相対関係メタデータファイルについては、図５を参照して詳細に説明する。
【００３１】
ファイル取得部１４０は、操作受付部１６０により受け付けられた操作入力に応じて、動画記憶部２００に記憶されている１または複数の動画ファイル、これらの各動画ファイルに関連付けられてメタデータ記憶部２１０に記憶されているメタデータファイル、これらの動画ファイルに共通して関連付けられて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイルの少なくとも１つを取得し、取得された各ファイルの情報を各部に供給するものである。具体的には、ファイル取得部１４０は、操作受付部１６０により通常の動画再生に係る操作入力が受け付けられた場合には、動画記憶部２００に記憶されている１または複数の動画ファイルを取得し、取得された動画ファイルの動画を一致点選択部１７０および表示用メモリ２７０に順次出力する。この通常の動画再生が行われている際に、操作受付部１６０により動画再生の停止に係る操作入力が受け付けられた場合には、ファイル取得部１４０は、動画の出力を停止する。また、ファイル取得部１４０は、複数の動画を合成しながら再生する複数動画合成再生モードを指定する操作入力が操作受付部１６０により受け付けられた場合には、動画記憶部２００に記憶されている複数の動画ファイルと、これらの各動画ファイルに関連付けられてメタデータ記憶部２１０に記憶されているメタデータファイルと、これらの動画ファイルに共通して関連付けられて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイルとを取得し、取得された動画ファイルの動画およびメタデータファイルのアフィン変換パラメータを画像変換部１５０に出力する。また、取得されたメタデータファイルおよび相対関係メタデータファイルの内容を対象画像変換情報算出部１９０および補正値算出部２３０に出力する。
【００３２】
画像変換部１５０は、ファイル取得部１４０から出力された動画ファイルの動画を構成する画像について、この画像に対応するアフィン変換パラメータを用いてフレーム毎にアフィン変換を施し、アフィン変換された画像を画像合成部２４０に出力するものである。ここで、複数動画合成再生モードが指定されている場合には、画像変換部１５０は、再生の対象となる複数の動画のうちの１つの動画を基準動画とし、この基準動画については、この基準動画を構成する画像に対応するアフィン変換パラメータを用いて、フレーム毎にアフィン変換を施す。一方、再生の対象となる複数の動画のうちの基準動画以外の他の動画については、対象画像変換情報算出部１９０により算出された対象画像変換情報（アフィン変換パラメータ）と、動画を構成する画像に対応するアフィン変換パラメータとを用いて、フレーム毎にアフィン変換を施す。また、画像変換部１５０は、補正値算出部２３０から補正値が出力された場合には、この補正値に基づいてアフィン変換パラメータの値を補正して、この補正後のアフィン変換パラメータを用いてアフィン変換を施す。なお、これらの画像変換については、図１１乃至図２１等を参照して詳細に説明する。また、他の動画の変換方法については、図２４等を参照して詳細に説明する。さらに、補正値によるアフィン変換パラメータの補正については、図２８乃至図３１を参照して詳細に説明する。
【００３３】
操作受付部１６０は、各種入力キーからなるキーボードやマウス（ポインティングデバイス）を備え、これらのマウス等から操作入力を受け付けると、受け付けた操作入力の内容をファイル取得部１４０、一致点選択部１７０、画像合成部２４０、表示領域取出部２６０、または、一致点検索部３４０に出力するものである。操作受付部１６０には、例えば、動画記憶部２００に記憶されている１または複数の動画ファイルの中から所望の動画を選択する動作選択キー、通常の動画再生を指示する再生指示キー、再生中の動画を停止する停止キー、動画の表示倍率を指定する表示倍率指定キー、複数動画合成再生モードを設定する複数動画合成再生設定キー等が設けられている。なお、これらのキーについては、１つのキーに複数の機能を割り当てるようにしてもよい。また、操作受付部１６０の少なくとも一部と表示部２９０とをタッチパネルとして一体として構成するようにしてもよい。なお、マウスの操作として、例えば、「左クリック」とは、マウスの左側ボタンを１回だけ押すことを意味し、「右クリック」とは、マウスの右側ボタンを１回だけ押すことを意味する。
【００３４】
一致点選択部１７０は、操作受付部１６０により一致点を指定する指定操作の操作入力が受け付けられた場合には、ファイル取得部１４０から出力された動画ファイルの動画を構成する画像における一致点を選択するものであり、１つの画像について少なくとも３つの一致点が選択された場合には、この選択された一致点の位置および選択順序と、選択対象の画像とを相対関係情報算出部１８０に出力する。この一致点の選択操作は、複数の画像について同時に行うようにしてもよく、１つの動画毎に順次行うようにしてもよい。
【００３５】
一致点検索部３４０は、動画記憶部２００に記憶されている複数の動画ファイルの中の少なくとも２つの動画についての相対関係情報を作成する旨の操作入力が操作受付部１６０により受け付けられた場合には、指定された複数の動画を構成する各画像について、少なくとも３つの一致点を検索するものであり、この検索された一致点の位置を含む各画像を相対関係情報算出部１８０に出力する。この一致点の検索は、例えば、画像の大小にかかわらず、画像に含まれる物体を認識することが可能な一般物体認識等の技術（例えば、特開２００６−６５３９９号を参照。）を用いることによって実現することができる。また、一致点検索部３４０については、図３を参照して詳細に説明する。
【００３６】
相対関係情報算出部１８０は、一致点選択部１７０または一致点検索部３４０から出力された少なくとも２つの画像およびこれらの画像における少なくとも３つの一致点に基づいて、これらの画像に関する相対関係情報としてのアフィン変換パラメータを算出するものであり、算出されたアフィン変換パラメータと、このアフィン変換パラメータの算出に用いられた動画の動画ＩＤおよび画像のフレーム番号を記録制御部１３０に出力する。なお、これらの画像に関するアフィン変換パラメータの算出については、図９および図１０を参照して詳細に説明する。また、本発明の実施の形態では、相対関係情報として、アフィン変換パラメータを用いる例について説明するが、射影変換パラメータ等の他の画像変換情報を用いるようにしてもよい。なお、アフィン変換パラメータは、３点のベクトルを用いて計算して求めることができ、射影変換パラメータは、４点のベクトルを用いて計算して求めることができる。
【００３７】
対象画像変換情報算出部１９０は、複数動画合成再生モードが指定されている場合に、ファイル取得部１４０から出力されたメタデータファイルおよび相対関係メタデータファイルのアフィン変換パラメータに基づいて、再生の対象となる複数の動画の中の１つの動画を構成する少なくとも１つの画像を基準画像とし、他の動画を構成する各画像を対象画像とした場合に、この対象画像の変換に用いられる対象画像変換情報を算出するものである。そして、算出された対象画像変換情報を画像変換部１５０に出力する。１つの動画における基準画像については、例えば、１つの動画を構成する画像の中の先頭フレームに対応する画像を用いることができる。また、対象画像変換情報は、例えば、基準画像に対する対象画像の変換に用いられるアフィン変換パラメータである。なお、対象画像変換情報の算出については、図２４等を参照して詳細に説明する。
【００３８】
補正値算出部２３０は、複数動画合成再生モードが指定されている場合において、ファイル取得部１４０から出力された相対関係メタデータファイルに少なくとも２つのアフィン変換パラメータが格納されている場合には、アフィン変換による画像位置のずれを補正するための補正値を算出するものである。すなわち、補正値算出部２３０は、ファイル取得部１４０から出力されたメタデータファイルおよび相対関係メタデータファイルのアフィン変換パラメータに基づいて、相対関係メタデータファイルに格納されているアフィン変換パラメータに対応するフレーム間の変換位置を補正するための補正値を算出し、この算出された補正値を画像変換部１５０に出力する。この補正値として、例えば、線型補間を行うための補正値を用いることができる。なお、この補正値の算出については、図２８乃至図３１を参照して詳細に説明する。
【００３９】
画像合成部２４０は、画像メモリ２５０に保持されている直前までの各フレームに対応する合成画像に、画像変換部１５０によるアフィン変換後の画像を上書きすることにより画像を合成し、合成された新たな合成画像を画像メモリ２５０に保存するものである。また、画像合成部２４０は、複数動画合成再生モードが指定されている場合には、画像メモリ２５０に保持されている直前までの各フレームに対応する合成画像に、基準画像を基準として画像変換部１５０によりアフィン変換された各画像を上書きすることにより画像を合成し、合成された新たな合成画像を画像メモリ２５０に保存する。なお、画像合成部２４０は、表示領域取出部２６０から出力された表示領域における現画像の位置に基づいて、画像変換部１５０によるアフィン変換後の現画像を表示用メモリ２７０に保持される合成画像に上書きすることにより合成する。また、画像合成部２４０は、複数動画合成再生モードが指定されている場合についても同様に、表示領域取出部２６０から出力された表示領域における各現画像の位置に基づいて、画像変換部１５０によるアフィン変換後の各現画像を表示用メモリ２７０に保持される合成画像に上書きすることにより合成する。ここで、表示用メモリ２７０に合成される現画像の大きさについては、表示倍率の値に応じて決定される。なお、表示用メモリ２７０における現画像の合成については、図２１等を参照して詳細に説明する。なお、複数の動画の再生開始位置については、操作受付部１６０からの操作入力に応じて、それぞれ決定するようにしてもよい。なお、これらの画像合成については、図１１乃至図２６等を参照して詳細に説明する。
【００４０】
画像メモリ２５０は、画像合成部２４０により合成された合成画像を保持するワークバッファであり、保持されている合成画像を画像合成部２４０または表示領域取出部２６０に供給するものである。すなわち、画像メモリ２５０は、履歴画像を保持する画像メモリである。
【００４１】
表示領域取出部２６０は、画像メモリ２５０に保持されている合成画像から、表示の対象となる領域である表示領域の範囲内に存在する画像を取り出すものであり、取り出された画像を表示用メモリ２７０に保持させる。なお、この表示領域の範囲内に含まれる画像の取出しについては、図２０および図２１を参照して詳細に説明し、表示領域における現画像の位置の算出については、図２１を参照して詳細に説明する。
【００４２】
表示用メモリ２７０は、表示領域取出部２６０により画像メモリ２５０から取り出された画像を保持する表示用バッファであり、保持されている画像が表示部２９０に表示される。なお、この表示用メモリ２７０に保持される画像については、図２１乃至図２３等を参照して詳細に説明する。
【００４３】
表示制御部２８０は、表示用メモリ２７０に保持されている合成画像をフレーム毎に表示部２９０に順次表示させるものである。
【００４４】
表示部２９０は、表示制御部２８０の制御に基づいて、表示用メモリ２７０に保持されている合成画像を表示するものである。例えば、パーソナルコンピュータやテレビジョンのディスプレイにより実現することができる。なお、合成画像の表示例については、図３２乃至図３６等を参照して詳細に説明する。ここで、動画を構成する画像における一致点を選択する場合には、図９（ａ）および（ｂ）に示すように、表示部２９０に表示される画面上に、マウスの動きに応じて移動するカーソル（マウスポインタ）が表示される。
【００４５】
図２は、本発明の実施の形態におけるカメラワーク検出部１２０の機能構成例を示すブロック図である。カメラワーク検出部１２０は、特徴点抽出部１２１と、オプティカルフロー計算部１２２と、カメラワークパラメータ算出部１２３とを備える。
【００４６】
特徴点抽出部１２１は、動画入力部１１０から出力された動画を構成するフレームに対応する画像から特徴点を抽出し、抽出された特徴点をオプティカルフロー計算部１２２に出力するものである。ここで、特徴点抽出部１２１は、動画入力部１１０から出力された動画を構成するフレームのうちの先頭のフレームについては、画像全体から特徴点を抽出し、先頭以外のフレームについては、直前のフレームに対応する画像と比較して新しく撮影された領域部分から特徴点を抽出する。なお、特徴点として、例えば、縦方向または横方向にエッジの勾配が強い点（一般に「コーナー点」と呼ばれている。以下では、「コーナー点」と称する。）を抽出することができる。このコーナー点は、オプティカルフローの計算に強い特徴点であり、エッジ検出を用いて求めることができる。なお、このコーナー点の抽出については、図６および図７を参照して詳細に説明する。また、この例では、特徴点抽出部１２１は、先頭のフレームについては画像全体から特徴点を抽出し、先頭以外のフレームについては直前の画像と比較して新しく撮影された領域部分から特徴点を抽出するが、処理能力等に応じて、先頭以外の各フレームについても、画像全体から特徴点を抽出するようにしてもよい。
【００４７】
オプティカルフロー計算部１２２は、特徴点抽出部１２１から出力された各特徴点に対するオプティカルフローを計算するものであり、計算して求められたオプティカルフローをカメラワークパラメータ算出部１２３に出力する。具体的には、動画入力部１１０から出力された動画を構成する連続する２つのフレーム（現フレームおよびこの直前のフレーム）に対応する各画像を比較することにより、直前のフレームに対応する画像における各特徴点に対応するオプティカルフローを、現フレームのオプティカルフローとして求める。また、オプティカルフローは、動画を構成するフレーム毎に求められる。なお、オプティカルフローを検出する検出方法として、勾配法やブロックマッチング方法等の検出方法を用いることができる。なお、このオプティカルフローの計算については、図６および図７を参照して詳細に説明する。
【００４８】
カメラワークパラメータ算出部１２３は、オプティカルフロー計算部１２２から出力された各特徴点に対応するオプティカルフローを用いて、カメラワークパラメータを算出するカメラワークパラメータ算出処理を行うものであり、算出されたカメラワークパラメータを記録制御部１３０に出力する。ここで、本発明の実施の形態では、再生の対象となる複数の動画を構成する各画像をカメラの動きに合わせてそれぞれ変換して表示する。この画像の変換を行うため、オプティカルフロー計算部１２２により計算されたオプティカルフローを用いてカメラの動きが抽出され、この抽出された動きに基づいて、カメラワークパラメータ（変換パラメータ）が計算される。なお、本発明の実施の形態では、再生の対象となる動画を構成する画像を変換する画像変換方法として、アフィン変換を用いる例について説明する。また、カメラワークパラメータとして、オプティカルフローに基づいて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを用いる例について説明する。すなわち、本発明の実施の形態では、変換情報として用いられるアフィン変換パラメータを、連続する画像間の特徴点の動きを表すアフィン行列ではなく、連続する画像のうちの１つの画像を基準画像とした場合に、この基準画像の次の画像がどこに移動するかを示すアフィン行列に対応するアフィン変換パラメータと定義する。また、カメラワークパラメータとして、アフィン変換パラメータを用いる例について説明するが、射影変換等の他の画像変換方法を用いるようにしてもよい。なお、アフィン変換パラメータは、３点のベクトルを用いて計算して求めることができる。また、射影変換パラメータは、４点のベクトルを用いて計算して求めることができる。ここで、カメラワークパラメータは、撮像動画を構成する撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報であり、少なくともカメラの座標系で記述される位置情報および姿勢情報を含むものである。すなわち、カメラワークパラメータは、撮影者により撮影されている場合におけるカメラの位置や姿勢に関する情報を含むものである。また、カメラワークパラメータ算出部１２３により求められたアフィン変換パラメータに基づいて、例えば、ズームイン、ズームアウト、パン、チルト、ローテーション等の撮影者の操作によるカメラの動きを推定することができる。なお、アフィン変換パラメータの計算については、図６および図７を参照して詳細に説明する。
【００４９】
図３は、本発明の実施の形態における一致点検索部３４０の機能構成例を示すブロック図である。一致点検索部３４０は、動画取得部１４１と、多重解像度生成部３４１と、特徴点抽出部３４２と、特徴量抽出部３４３と、モデル辞書登録部３４４と、多重解像度生成部３４５と、特徴点抽出部３４６と、特徴量抽出部３４７と、ｋｄツリー構築部３４８と、特徴量比較部３４９とを備える。そして、一致点検索部３４０は、複数の動画を構成するフレーム間の部分的な一致度を計算し、この計算された一致度に基づいて複数の動画を自動的に関連付けるものである。
【００５０】
動画取得部１４１は、操作受付部１６０からの動画取得に係る操作入力に応じて、動画記憶部２００に記憶されている２つの動画ファイルを取得するものであり、取得された１つの動画ファイルを構成する画像をフレーム毎に多重解像度生成部３４１に出力する。また、他の動画ファイルを構成する画像をフレーム毎に多重解像度生成部３４５に出力する。
【００５１】
多重解像度生成部３４１は、動画取得部１４１から出力された画像について、予め定められている割合で解像度を低下させることにより、複数の異なる解像度の画像からなる多重解像度画像を、認識時における場合よりも細かい精度で生成するものであり、生成された多重解像度画像を特徴点抽出部３４２に出力する。
【００５２】
特徴点抽出部３４２は、多重解像度生成部３４１から出力された多重解像度画像のそれぞれの解像度の画像について特徴点を抽出するものであり、抽出された特徴点を特徴量抽出部３４３に出力する。この特徴点の抽出方法は、例えば、図２に示す特徴点抽出部１２１による特徴点抽出方法と同様の方法を用いることができる。
【００５３】
特徴量抽出部３４３は、特徴点抽出部３４２から出力された特徴点における少なくとも２つの局所的な特徴量を抽出するものであり、抽出された特徴量をモデル辞書登録部３４４に登録させるものである。ここで、特徴量抽出部３４３により抽出される２つの局所的な特徴量は、第１のタイプの特徴量として特徴点近傍の濃度勾配の方向ヒストグラムが抽出され、第２のタイプの特徴量として次元縮退濃度勾配ベクトルが抽出される。
【００５４】
モデル辞書登録部３４４は、特徴量抽出部３４３から出力された特徴量を登録するものであり、登録されている特徴量をｋｄツリー構築部３４８に供給する。
【００５５】
多重解像度生成部３４５は、動画取得部１４１から出力された画像について、予め定められている割合で解像度を低下させることにより、複数の異なる解像度の画像からなる多重解像度画像を、学習時における場合よりも粗い精度で生成するものであり、生成された多重解像度画像を特徴点抽出部３４６に出力する。
【００５６】
特徴点抽出部３４６は、多重解像度生成部３４５から出力された多重解像度画像のそれぞれの解像度の画像について特徴点を抽出するものであり、抽出された特徴点を特徴量抽出部３４３に出力する。この特徴点の抽出方法は、例えば、特徴点抽出部３４２と同様の方法を用いることができる。
【００５７】
特徴量抽出部３４７は、特徴点抽出部３４２から出力された特徴点における少なくとも２つの局所的な特徴量を抽出するものであり、抽出された特徴量を特徴量比較部３４９に出力するものである。この特徴量抽出は、例えば、特徴量抽出部３４３と同様の方法を用いることができる。
【００５８】
ｋｄツリー構築部３４８は、モデル辞書登録部３４４に登録されている各特徴量に基づいて、特徴量比較部３４９による特徴量の比較に用いられるｋｄツリーを構築するものであり、構築されたｋｄツリーを特徴量比較部３４９に出力する。ここで、特徴量比較部３４９により特徴量が比較される場合、特徴量抽出部３４７から抽出された各特徴点特徴量と、モデル辞書登録部３４４に登録されている各特徴点特徴量とが比較され、類似する特徴量抽出部３４７から抽出された特徴点特徴量とモデル辞書登録部３４４に登録されている特徴点特徴量との組み合わせが検索される。この特徴量比較方法として、最も単純な方法は全探索である。すなわち、特徴量抽出部３４７から抽出された各特徴点特徴量に対して、モデル辞書登録部３４４に登録されている各特徴点特徴量との特徴量間類似度の計算を行い、この計算された類似度に基づいて、類似する特徴点特徴量の組み合わせを選択する方法が最も単純な方法である。しかしながら、全探索による方法は、処理時間が長くなる。そこで、本発明の実施の形態では、大量のデータ群からデータを高速に探索するために、ｋｄツリーというデータ構造を用いたツリー探索手法（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）探索することにより、類似度を計算して類似する特徴点特徴量の組み合わせを検索し、検索された特徴点特徴量の組み合わせに対応する特徴点の位置を一致点として相対関係情報算出部１８０に出力する。ここで、１または複数の動画に関する特徴量をモデル辞書登録部３４４に予め登録しておき、動画取得部１４１が動画記憶部２００に記憶されている他の動画ファイルを順次取得して、登録された動画と他の動画とについて一致点を順次検索するようにしてもよい。また、動画記憶部２００に記憶されている各動画ファイルを、一致点検索部３４０が順次取得して、動画記憶部２００に記憶されている各動画ファイルに関する一致点を自動的に順次検索するようにしてもよい。なお、検索の対象となる一致点については、図１０を参照して詳細に説明する。
【００６０】
図４は、本発明の実施の形態における動画記憶部２００およびメタデータ記憶部２１０に記録されている各ファイルを模式的に示す図である。図４（ａ）では、動画記憶部２００に記憶されている動画ファイル２０１乃至２０４と、動画ファイル２０１乃至２０４に関連付けてメタデータ記憶部２１０に記憶されているメタデータファイル２１１乃至２１３とを示す。ここで、動画記憶部２００に記憶されている各動画ファイルを識別するための識別情報である動画ＩＤが、各動画ファイルに付与されているものとする。例えば、動画ファイル２０１には「＃１」が付与され、動画ファイル２０２には「＃２」が付与され、動画ファイル２０４には「＃ｎ」が付与されている。
【００６１】
図４（ｂ）では、動画記憶部２００に記憶されている動画ファイル２０１と、動画ファイル２０１に関連付けてメタデータ記憶部２１０に記憶されているメタデータファイル２１１とを模式的に示す図である。ここで、動画ファイル２０１は、ｎ枚のフレームで構成された動画のファイルであり、これらのｎ枚のフレームをフレーム「１」２０５乃至「ｎ」２０８として示す。
【００６２】
また、メタデータファイル２１１には、動画ＩＤ２１４と、フレーム番号２１５と、アフィン変換パラメータ２１６とが関連付けて格納されている。
【００６３】
動画ＩＤ２１４は、対応する動画ファイルに付与されている動画ＩＤであり、例えば、動画ファイル２０１に付与されている「＃１」が格納される。
【００６４】
フレーム番号２１５は、対応する動画ファイルの動画を構成する各フレームの通し番号であり、例えば、動画ファイル２０１の動画を構成するフレーム「１」２０５乃至「ｎ」２０８に対応する「１」乃至「ｎ」が格納される。
【００６５】
アフィン変換パラメータ２１６は、フレーム番号２１５に対応する動画の各フレームについて計算されたアフィン変換パラメータである。なお、フレーム番号２１５の「１」に対応するアフィン変換パラメータ２１６「ａ１，ｂ１，ｃ１，ｄ１，ｅ１，ｆ１」は、単位行列のアフィン変換パラメータである。また、フレーム番号２１５の「ｍ（ｍは２以上の整数）」に対応するアフィン変換パラメータ２１６の「ａｍ，ｂｍ，ｃｍ，ｄｍ，ｅｍ，ｆｍ」は、フレーム「ｍ」の直前フレーム「ｍ−１」に対するアフィン変換パラメータである。
【００６６】
図５は、本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。この例では、動画記憶部２００に記憶されている動画ファイル２０１乃至２０４と、動画ファイル２０１乃至２０４に関連付けて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイル２２１乃至２２３とを模式的に示す図である。この例では、動画ファイル（＃１）２０１を構成するフレーム「５」３６１およびフレーム「８」３６２と、動画ファイル（＃２）２０２を構成するフレーム「７」３６３およびフレーム「９」３６４と、動画ファイル（＃３）２０３を構成するフレーム「３」３６５およびフレーム「１０」３６６とが、相対関係情報記憶部２２０に記憶されている相対関係メタデータファイル２２１乃至２２３に関連付けて記憶されている例について説明する。なお、動画記憶部２００に記憶されている各動画ファイルについては、図４に示す動画ファイルと同様であるため、ここでの説明を省略する。
【００６７】
相対関係メタデータファイル２２１乃至２２３には、動画ＩＤ２２４と、フレーム番号２２５と、アフィン変換パラメータ２２６とが関連付けてそれぞれ格納されている。
【００６８】
動画ＩＤ２２４は、少なくとも３つの一致点を互いに含む２つの画像に対応する２つの動画ファイルに付与されている動画ＩＤであり、例えば、相対関係メタデータファイル２２１には、動画ファイル２０１に付与されている「＃１」および動画ファイル２０２に付与されている「＃２」が格納される。
【００６９】
フレーム番号２２５は、少なくとも３つの一致点を互いに含む２つの画像に対応する２つのフレームの通し番号であり、例えば、相対関係メタデータファイル２２１には、動画ファイル２０１の動画を構成するフレームのフレーム番号「５」および動画ファイル２０２の動画を構成するフレームのフレーム番号「７」が格納される。
【００７０】
アフィン変換パラメータ２２６は、動画ＩＤ２２４およびフレーム番号２２５に対応する少なくとも２つの画像について計算されたアフィン変換パラメータであり、例えば、相対関係メタデータファイル２２１には、動画ファイル２０１の動画を構成するフレーム「５」および動画ファイル２０２の動画を構成するフレーム「７」に対応するアフィン変換パラメータとして「ａｏ，ｂｏ，ｃｏ，ｄｏ，ｅｏ，ｆｏ」が格納される。なお、本発明の実施の形態では、アフィン変換パラメータ２２６は、対応する２つの動画ＩＤ２２４およびフレーム番号２２５のうちの図５に示す下側のフレーム番号に対応する画像を基準画像として、上側を対象画像とした場合におけるアフィン変換パラメータであるものとする。例えば、相対関係メタデータファイル２２１に格納されているアフィン変換パラメータ２２６は、動画ファイル（＃１）２０１の動画を構成するフレーム「５」３６１の動画ファイル（＃２）２０２の動画を構成するフレーム「７」３６３に対するアフィン変換パラメータである。
【００７１】
次に、画像変換に用いられるアフィン変換パラメータを検出する検出方法について図面を参照して詳細に説明する。
【００７２】
図６（ａ）乃至（ｃ）は、動画を構成するフレームに対応する画像の一例を示す図である。図７（ａ）は、図６に示す画像３００に対応するフレームの１つ前のフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。また、図７（ｂ）および（ｃ）は、図６に示す画像３００について背景等を省略して簡略化した画像を示す図である。
【００７３】
図６および図７に示す画像３００、３２０、３３０には、人が跨っている馬の像３０１、３２１、３３１と、この馬の像３０１、３２１、３３１の手前に設置されている蛇の像３０２、３２２、３３２とが含まれている。また、図６に示すように、これらの像の背景には旗や椅子等が存在し、この旗が風になびいている。
【００７４】
図７（ａ）に示す画像３２０は、図６（ａ）乃至（ｃ）および図７（ｂ）および（ｃ）に示す画像３００、３３０に対応するフレームの１つ前のフレームに対応する画像を簡略化した画像である。また、２つの連続するフレームに対応する画像３２０および３３０は、画面内の被写体がしだいに大きくなる場合における遷移を示す画像である。すなわち、この撮影時には、画面内の被写体をしだいに大きくする操作であるズームイン操作がされている。
【００７５】
本発明の実施の形態では、動画を構成する画像から特徴点を検出し、この特徴点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。また、この例では、特徴点としてコーナー点を用いる場合について説明する。
【００７６】
ここで、図７（ａ）乃至（ｃ）では、画像３２０および３３０から検出された３つのコーナー点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。
【００７７】
例えば、図７（ａ）に示す画像３２０において、特徴点として、馬の像３２１における口付近のコーナー点３２３と、馬の像３２１における人のお尻付近のコーナー点３２４と、蛇の像３２２の口付近のコーナー点３２５とが検出されているものとする。この場合において、図７（ｂ）に示す画像３３０において、勾配法やブロックマッチング法等により、画像３２０におけるコーナー点３２３、３２４および３２５に対するオプティカルフロー３３７、３３８および３３９が検出される。そして、この検出されたオプティカルフロー３３７、３３８および３３９に基づいて、画像３２０におけるコーナー点３２３、３２４および３２５に対応するコーナー点３３３、３３４および３３５が検出される。
【００７８】
ここで、例えば、図７（ａ）および（ｂ）に示す画像３２０および３３０に含まれる馬の像３２１、３３１や蛇の像３２２、３３２は、地面に設置されているものであるため、カメラの動きとは無関係に動くものではない。このため、馬の像３２１、３３１や蛇の像３２２、３３２について検出されたコーナー点に対して求められたオプティカルフローに基づいて、カメラの動きを正確に推定することができる。例えば、図７（ｃ）に示すように、画像３３０において検出された３つのオプティカルフロー３３７乃至３３９に基づいて、画像３３０が、点３３６を中心にして画像３２０を拡大したものであることを推定することができる。これにより、画像３３０の撮影時におけるカメラの動きは、点３３６を中心とするズームイン動作であると判断することができる。このように、カメラの動きとは無関係に動くものではない物体についてコーナー点を検出し、このコーナー点に対して求められたオプティカルフローに基づいて、一定の規則性を備えるカメラの動きを正確に検出することができる。このため、これらのコーナー点に対して求められたオプティカルフローを用いて、アフィン変換パラメータを計算して求めることができる。
【００７９】
しかしながら、風になびいている旗等のように、カメラの動きとは無関係に動く物体が画像内に含まれる場合が考えられる。例えば、図６に示す画像３００には、風になびいている旗が含まれている。このようなカメラの動きとは無関係に動く物体についてコーナー点が検出され、このコーナー点に対して求められたオプティカルフローを用いてカメラの動きを推定する場合には、カメラの動きを正確に推定することができない。
【００８０】
例えば、図６（ｂ）に示す画像３００において検出されたオプティカルフローを矢印で示すとともに、このオプティカルフローにより検出されたコーナー点を矢印の先端に白抜きの丸で示す。ここで、コーナー点３０３乃至３０５は、図７（ｂ）および（ｃ）に示すコーナー点３３３乃至３３５に対応するコーナー点である。また、コーナー点３０６乃至３１１は、馬の像３０１の背景に存在する旗について検出されたコーナー点である。そして、これらの旗が風になびいているため、風の影響による旗の動きがオプティカルフローとして検出されている。すなわち、コーナー点３０６乃至３１１に対応する各オプティカルフローは、カメラの動きとは無関係に動く旗について検出されたものである。このため、アフィン変換パラメータを計算する場合に用いられる３つのオプティカルフローに、コーナー点３０６乃至３１１のうちの少なくとも１つのコーナー点に対応するオプティカルフローが含まれている場合には、正確なカメラの動きを検出することができない。この場合には、正確なアフィン変換パラメータを計算することができない。
【００８１】
以上で示したように、例えば、カメラの動きとは無関係に動く物体に対するオプティカルフロー（図６（ｂ）に示すコーナー点３０６乃至３１１に対応する各オプティカルフロー）と、カメラの動きとの関係で一定の規則性を備えるオプティカルフロー（図６（ｂ）に示すコーナー点３０６乃至３１１に対応する各オプティカルフロー以外のオプティカルフロー）とが、撮影画像から検出されることがある。
【００８２】
そこで、本発明の実施の形態では、３個のオプティカルフローに基づいてアフィン変換パラメータを計算するアフィン変換パラメータ計算処理を複数回行い、複数のアフィン変換パラメータを求め、これらの複数のアフィン変換パラメータの中から最適なアフィン変換パラメータを選択する例について説明する。なお、この例では、動画を構成する各画像に含まれている動物体の大きさが、画像の面積に対して比較的小さいものとする。
【００８３】
ここで、アフィン変換について簡単に説明する。２次元上において、移動元の位置を（ｘ，ｙ）とし、アフィン変換後の移動先の位置を（ｘ´，ｙ´）とした場合に、アフィン変換の行列式は、式１で表すことができる。
【数１】
0005092722.tif 000002
【００８４】
ここで、ａ乃至ｆは、アフィン変換パラメータである。また、このアフィン変換パラメータによるアフィン行列ＡＭを次の式で表すことができる。この場合に、Ｘ方向のズーム成分ＸＺ、Ｙ方向のズーム成分ＹＺ、Ｘ方向の並進成分ＸＴ、Ｙ方向の並進成分ＹＴ、回転成分Ｒについては、それぞれ次の式で求めることができる。なお、単位行列の場合には、ａ＝ｅ＝１、ｂ＝ｃ＝ｄ＝ｆ＝０となる。
【数２】
0005092722.tif 000003
【００８５】
次に、アフィン変換パラメータの計算方法について説明する。
【００８６】
最初に、動画を構成するフレームの中の１つのフレームである現フレームに対応する画像において、オプティカルフローが検出された特徴点の中から３個の特徴点が選択される。例えば、図６（ｂ）に示す画像３００において検出されたコーナー点（白抜きの丸で示す）の中からランダムに３個のコーナー点が選択される。なお、カメラワークパラメータとして、射影変換パラメータを用いる場合には、４個の特徴点がランダムに選択される。
【００８７】
続いて、選択された３個の特徴点に対応する３個のオプティカルフローを用いてアフィン変換パラメータが計算される。例えば、図６（ｂ）に示す画像３００におけるコーナー点（白抜きの丸で示す）の中から選択された３個のコーナー点に対応するオプティカルフロー（白抜きの丸に接続される矢印で示す）を用いてアフィン変換パラメータが計算される。このアフィン変換パラメータは、式１を用いて求めることができる。
【００８８】
続いて、求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される。具体的には、求められたアフィン変換パラメータを用いて、現フレームの直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、現フレームにおいて検出された特徴点の位置とを比較して、互いに対応する２つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する２つの特徴点の位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。このように、オプティカルフローが検出された特徴点の中から３個の特徴点をランダムに選択し、これらの特徴点に対応するオプティカルフローに基づいてアフィン変換パラメータのスコアを算出する処理を所定回数繰り返し、アフィン変換パラメータのスコアを複数算出する。この所定回数は、比較の対象となる画像の種類や画像処理装置１００の処理能力等に応じて適宜設定するようにしてもよく、固定値を用いるようにしてもよい。この所定回数として、例えば、画像処理装置１００の処理能力を考慮して２０回程度と設定することができる。
【００８９】
例えば、図６（ｂ）に示す画像３００において検出されたコーナー点の中から、コーナー点３０６乃至３１１以外のコーナー点が３個選択された場合を考える。このように選択された３個のコーナー点に対応する３個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この３個のオプティカルフローは一定の規則性を備えているため、直前のフレームに対応する画像を一定の規則に従って変換させるアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて、コーナー点３０６乃至３１１以外のコーナー点に関して求められる差分値は、比較的小さい値が算出される。このため、アフィン変換パラメータのスコアは、大きい値になる。
【００９０】
一方、図６（ｂ）に示す画像３００において検出されたコーナー点の中から、コーナー点３０６乃至３１１のうちの少なくとも１個を含む３個のコーナー点が選択された場合を考える。このように選択された３個のコーナー点に対応する３個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この３個のオプティカルフローには、一定の規則性を備えていないオプティカルフローが含まれるため、直前のフレームに対応する画像を一定の規則に従って変換させるものではないアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて求められる差分値は、任意のコーナー点で比較的大きい値が算出される。このため、アフィン変換パラメータのスコアは、小さい値になる。
【００９１】
続いて、求められた複数のアフィン変換パラメータのスコアの中で、スコアの値が最も大きいアフィン変換パラメータを代表アフィン変換パラメータとして選択する。そして、選択された代表アフィン変換パラメータを、現フレームに関連付けて動画記憶部２００に記録する。これにより、動画を構成する画像をアフィン変換する場合に、最適なアフィン変換パラメータを用いてアフィン変換することができる。
【００９２】
以上で示したように、動画を構成する各画像に人物や車等の動いている物体（動物体）が含まれている場合でも、画像の面積に対するその動物体の大きさが比較的小さい場合には、動物体の影響を受けずにカメラの動きを抽出することができる。
【００９３】
また、カメラの動きを抽出することによって、ズームイン、ズームアウト、パン、チルト、ローテーション等の意図的に撮影者が移動させたと思われる動きを推定することができる。
【００９４】
次に、本発明の実施の形態における画像処理装置１００の動作について図面を参照して説明する。
【００９５】
図８は、本発明の実施の形態における画像処理装置１００によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
【００９６】
最初に、動画入力部１１０に動画ファイルが入力される（ステップＳ９００）。続いて、動画入力部１１０に入力された動画ファイルがデコードされ、時系列の順序で１つのフレームの画像が取得される（ステップＳ９０１）。続いて、取得された１つのフレームが動画入力部１１０に入力された動画ファイルの先頭のフレームであるか否かが判断される（ステップＳ９０２）。取得された１つのフレームが、先頭のフレームである場合には（ステップＳ９０２）、この先頭のフレームに対応する画像の全体から特徴点が抽出される（ステップＳ９０３）。例えば、図６（ｂ）に示すように、画像において複数のコーナー点が抽出される。続いて、アフィン変換パラメータとして単位行列のアフィン変換パラメータが選択され（ステップＳ９０４）、ステップＳ９１４に進む。
【００９７】
一方、取得された１つのフレームが、先頭のフレームではない場合には（ステップＳ９０２）、直前のフレームに対応する画像を基準として新たに撮影された領域から特徴点が抽出される（ステップＳ９０５）。すなわち、直前のフレームに対応する画像において既に抽出されている特徴点については、この特徴点に対応するオプティカルフローにより求めることができるため、現フレームに対応する画像においては抽出されない。
【００９８】
続いて、直前のフレームに対応する画像から抽出された各特徴点に対するオプティカルフローが計算される（ステップＳ９０６）。すなわち、図６（ｂ）に示すように、各コーナー点に対するオプティカルフローが計算される。
【００９９】
続いて、変数ｉが「１」に初期化される（ステップＳ９０７）。続いて、オプティカルフローが検出された特徴点の中から、Ｍ個の特徴点が選択される（ステップＳ９０８）。例えば、カメラワークパラメータとして、アフィン変換パラメータを用いる場合には、３個の特徴点がランダムに選択される。また、カメラワークパラメータとして、射影変換パラメータを用いる場合には、４個の特徴点がランダムに選択される。続いて、選択されたＭ個の特徴点に対応して計算されたＭ個のオプティカルフローに基づいて、アフィン変換パラメータが計算される（ステップＳ９０９）。
【０１００】
続いて、計算して求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される（ステップＳ９１０）。具体的には、計算して求められたアフィン変換パラメータを用いて、直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、ステップＳ９０６でオプティカルフローを計算した際に求められた現フレームに対応する画像における特徴点の位置とを比較して、互いに対応する２つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する２つの位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。
【０１０１】
続いて、変数ｉに「１」が加算され（ステップＳ９１１）、変数ｉが、定数Ｎよりも大きいか否かが判断される（ステップＳ９１２）。変数ｉが、定数Ｎ以下である場合には（ステップＳ９１２）、ステップＳ９０８に戻り、アフィン変換パラメータのスコア算出処理を繰り返す（ステップＳ９０８乃至Ｓ９１０）。例えば、定数Ｎとして、２０を用いることができる。
【０１０２】
一方、変数ｉが定数Ｎよりも大きい場合には（ステップＳ９１２）、求められたアフィン変換パラメータのスコアのうちで、スコアの値が最も大きいアフィン変換パラメータが代表アフィン変換パラメータとして選択される（ステップＳ９１３）。続いて、選択された代表アフィン変換パラメータの行列に対する逆行列のアフィン変換パラメータが、現フレームに関連付けて動画記憶部２００に記録される（ステップＳ９１４）。なお、現フレームが先頭のフレームである場合には、選択された単位行列のアフィン変換パラメータが、先頭のフレームに関連付けて動画記憶部２００に記録される。続いて、現フレームに対応する画像と、この画像における特徴点とが上書き保存される（ステップＳ９１５）。
【０１０３】
続いて、現フレームが、動画入力部１１０に入力された動画ファイルの最後のフレームであるか否かが判断される（ステップＳ９１６）。現フレームが、最後のフレームではない場合には（ステップＳ９１６）、ステップＳ９０１に戻り、アフィン変換パラメータ検出処理を繰り返す（ステップＳ９０１乃至Ｓ９１５）。一方、現フレームが、最後のフレームである場合には（ステップＳ９１６）、アフィン変換パラメータ検出処理を終了する。
【０１０４】
本発明の実施の形態では、カメラワークパラメータの検出として、動画を構成する画像において検出されたオプティカルフローに基づいてアフィン変換パラメータを検出する例について説明したが、加速度センサやジャイロセンサ等のセンサやズーム操作をする際に用いられるズームボタンをカメラに設け、このセンサやズームボタンによって撮影時におけるカメラの移動量を検出し、このカメラの移動量に基づいてカメラワークパラメータを求めるようにしてもよい。なお、これらの撮影時において検出されたカメラの移動量については、カメラワークパラメータ算出部１２３により求められたカメラワークパラメータが正しいか否かを判断する際に用いることができる。また、カメラワークパラメータ算出部１２３により複数のカメラワークパラメータを検出しておき、撮影時において検出されたカメラの移動量に基づいて、この複数のカメラワークパラメータの中から１つのカメラワークパラメータを選択するようにしてもよい。
【０１０５】
図９は、画像に含まれる一致点を選択することにより２つの画像に関するアフィン変換パラメータを算出するアフィン変換パラメータ算出方法、および、その選択された一致点に基づいて２つの画像を合成させた場合を概略的に示す図である。図９（ａ）には、基準となる１つの動画を構成する基準画像の一例である画像３７０を示し、図９（ｂ）には、比較対象となる他の動画を構成する比較対象画像の一例である画像３７６を示す。図９（ａ）および（ｂ）に示す画像３７０および３７６は、画像３７０または３７６の何れかを含む２つの動画を表示部２９０での再生中に停止させた状態を示す画像である。この例では、表示部２９０に動画を停止させた状態で、この動画の停止の際に表示されている画像における一致点を手動で指定する場合における選択方法を概略的に示す。図９（ｃ）には、画像３７０および３７６において選択された各一致点を用いて、アフィン変換パラメータを算出する場合に用いられるオプティカルフローの検出例を示す。また、図９（ｄ）には、画像３７０および３７６において選択された各一致点に基づいて、画像３７０および３７６を合成させた場合の一例を示す。
【０１０６】
図９（ａ）および（ｂ）に示す画像３７０および３７６には、同一の対象物である家３７１が含まれているものとする。ここで、画像３７０を含む動画、および画像３７６を含む動画に関する相対関係メタデータファイルをユーザの手動操作により作成する場合には、これらの２つの動画をユーザが手動操作により再生させ、同一の対象物が含まれる画像を表示部２９０に表示させる。例えば、同一の対象物である家３７１が含まれている画像３７０および３７６を表示部２９０に表示させる。この場合に、画像３７０および３７６の２つの画像を表示部２９０における同一の画面上に表示させるようにしてもよく、１つの画像を順次表示させるようにしてもよい。
【０１０７】
例えば、図９（ａ）に示す画像３７０が表示部２９０に表示されている状態で、操作受付部１６０においてユーザが操作入力を行うことにより、カーソル３７５を用いて家３７１の屋根の上部分３７２、家３７１の下側の角部分３７３および３７４を指定する。例えば、指定すべき部分にカーソル３７５を重ねた状態で左クリック操作を行うことにより所望の部分を指定することができる。このように指定操作が行われた場合には、例えば、図９（ａ）に示すように、指定操作がされた部分に丸印を付してその部分をユーザに認識させることができる。また、図９（ｂ）に示す画像３７６についても、同様に、家３７１の屋根の上部分３７７と、家３７１の下側の角部分３７８および３７９を指定する。これらの指定操作がユーザにより行われると、この指定された位置を一致点選択部１７０が画像における一致点として選択して、この選択された一致点の位置および指定された順序を画像とともに相対関係情報算出部１８０に出力する。
【０１０８】
図９（ａ）および（ｂ）に示すように、２つの画像３７０および３７６において、それぞれ３つの一致点が選択された場合には、相対関係情報算出部１８０が、これらの一致点に基づいてベクトルを算出し、この算出されたベクトルを用いて、アフィン変換パラメータを算出する。このベクトルは、例えば、指定された一致点の順序に基づいて、２つの画像において対応する一致点の組合せを選択して、この一致点の組合せにより算出される。例えば、画像３７０において家３７１の屋根の上部分３７２、家３７１の下側の角部分３７３、３７４の順序で指定操作が行われ、さらに、画像３７６において、家３７１の屋根の上部分３７７、家３７１の下側の角部分３７８、３７９の順序で指定操作が行われた場合には、画像３７０における上部分３７２と、画像３７６における上部分３７７とについてベクトルが算出され、画像３７０における角部分３７３と、画像３７６における角部分３７８とについてベクトルが算出され、画像３７０における角部分３７４と、画像３７６における角部分３７９とについてベクトルが算出される。このように、画像３７０および３７６において選択された各一致点に基づいて算出されたベクトルを、図９（ｃ）に矢印３８１乃至３８３で示す。なお、図９（ｃ）に示す画像３８０では、図９（ａ）に示す画像３７０に含まれる線を点線で示し、図９（ｂ）に示す画像３７６に含まれる線を実線で示す。このように算出されたベクトルを用いて、アフィン変換パラメータが算出される。このアフィン変換パラメータの算出については、図６および図７で示した算出方法と同様である。なお、本発明の実施の形態では、一致点を用いて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを、相対関係メタデータとして用いる例について説明する。すなわち、相対関係メタデータとして用いられるアフィン変換パラメータを、一致点が求められた２つの画像間のベクトルにより表されるアフィン行列ではなく、２つの画像のうちの１つの画像を基準画像とした場合に、他の画像がどこに移動するかを示すアフィン行列に対応するアフィン変換パラメータと定義する。
【０１０９】
なお、相対関係情報算出部１８０は、指定された順序を用いずにアフィン変換パラメータを算出するようにしてもよい。例えば、各画像において一致点として選択された３点のそれぞれの組合せについてベクトルを算出する。２つの画像において３つの一致点がそれぞれ選択されている場合には、各画像における一致点の組合せとして６通りの組合せが考えられる。続いて、この６通りの組合せについて算出された各ベクトルを用いて、６通りのアフィン変換パラメータを算出する。続いて、２つの画像のうちの一方の画像を基準画像とし、他の画像を比較対象画像として、算出された６通りのアフィン変換パラメータを用いて、比較対象画像を順次アフィン変換する。これにより、１つの基準画像と、６つのアフィン変換された比較対象画像とが作成される。続いて、基準画像における３つの一致点を頂点とする三角形の内部に存在する画素と、アフィン変換された比較対象画像における３つの一致点を頂点とする三角形の内部に存在する画素とを比較することにより、各三角形の内部に存在する画素の輝度値の差分値を順次算出する。これにより、６通りのアフィン変換パラメータに対応する６つの差分値の２乗の合計値が算出される。続いて、算出された６つの差分値の中から、値が最も小さい差分値に係るアフィン変換パラメータを選択し、この選択されたアフィン変換パラメータを、一致点の指定操作がされた２つの画像に関するアフィン変換パラメータとして決定する。
【０１１０】
また、例えば、画像３７０および３７６において選択された各一致点に基づいて算出されたアフィン変換パラメータを用いて、画像３７０をアフィン変換して画像３７６に上書き合成した場合には、図９（ｄ）に示す画像３８４が作成される。このように、算出されたアフィン変換パラメータを用いて画像３７０および３７６を合成することにより、家３７１の周りの背景が各画像における背景よりも広範囲に含まれた合成画像が作成される。
【０１１１】
図１０は、画像に含まれる一致点を選択することにより２つの画像に関するアフィン変換パラメータを算出するアフィン変換パラメータ算出方法を概略的に示す図である。ここでは、図１および図３に示す一致点検索部３４０により画像に含まれる一致点が検索され、この検索された一致点を用いて２つの画像に関するアフィン変換パラメータを算出する例について説明する。なお、図１０（ａ）乃至（ｃ）に示す画像３７０、３７６、３８０は、一致点検索部３４０により検索された各特徴点を丸で示す点以外は、図９（ａ）乃至（ｃ）に示す画像３７０、３７６、３８０と同じものである。上述したように、一致点検索部３４０は、動画を構成するフレーム間の部分的な一致度を計算し、この計算された一致度に基づいて複数の画像を自動的に関連付ける。２つの動画について一致点の検索が行われる場合に、例えば、画像３７０における特徴点として特徴点８０１乃至８１０、３７２乃至３７４が抽出され、画像３７６における特徴点として特徴点８１１乃至８２３、３７７乃至３７９が抽出される。そして、抽出された特徴点の中から、各画像において類似する特徴点の組合せが選択される。例えば、画像３７０および３７６においては、特徴点８０５乃至８１０、３７２乃至３７４と、特徴点８１８乃至８２３、３７７乃至３７９とが選択される。図１０（ａ）および（ｂ）では、このマッチする特徴点を太丸で示す。このように選択された特徴点の中から、アフィン変換パラメータの算出に用いられる３つの特徴点が一致点として検索される。例えば、画像３７０および３７６においては、特徴点３７２乃至３７４と、特徴点３７７乃至３７９とが一致点として検索される。この一致点の検索は、例えば、類似度のスコアが最も高いスコアである特徴点の組合せを選択する。そして、この検索された一致点に基づいてベクトルが算出され、このベクトルに基づいてアフィン変換パラメータが算出される。なお、これらのアフィン変換パラメータの算出については、図９で示した算出方法と同様である。
【０１１２】
次に、カメラワーク検出部１２０により算出されたアフィン変換パラメータを用いて、１つの動画を再生表示する場合について図面を参照して詳細に説明する。なお、図１１乃至図１９に示す各画像は、説明のため、簡略化するとともに、連続する２つのフレーム間の移動量を大きくして示している。
【０１１３】
最初に、カメラの撮影時において、倍率が変更されないものの、カメラの位置を中心として、カメラのレンズの方向が上下左右の何れかに移動されている場合について説明する。
【０１１４】
図１１は、カメラにより撮影された動画の遷移の一例を示す図である。図１１には、山を背景にして人４００を撮影した場合における動画に含まれる連続するフレームに対応する画像４０１乃至４０３を示す図である。この例では、カメラのレンズの方向を右および上側に移動しながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人４００が、その動画を構成する画像において右側から左側に移動するとともに下側に移動する。
【０１１５】
図１２は、図１１に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図１２（ａ）に示す画像４０１は、図１１（ａ）に示す画像４０１と同じものである。また、図１２（ｂ）に示す画像４０２のうちの実線の部分は、図１１（ｂ）に示す画像４０２と同じものであり、図１２（ｂ）に示す画像４０２のうちの破線の部分は、図１２（ａ）に示す画像４０１の実線の部分と同じものである。また、図１２（ｂ）に示す画像４０２における矢印４０４乃至４０６は、画像４０２から検出されたオプティカルフローの一例を示す。同様に、図１２（ｃ）に示す画像４０３のうちの実線の部分は、図１１（ｃ）に示す画像４０３と同じものであり、図１２（ｃ）に示す画像４０３のうちの破線の部分は、図１２（ｂ）に示す画像４０２の実線の部分と同じものである。また、図１２（ｃ）に示す画像４０３における矢印４０７乃至４０９は、画像４０３から検出されたオプティカルフローの一例を示す。
【０１１６】
図１２（ｂ）および（ｃ）に示すように、カメラの移動に合わせて、画像に含まれる人４００および背景の山が移動する。この移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
【０１１７】
図１３は、図１１に示す画像４０１乃至４０３を含む動画を合成しながら再生する場合における画像合成例を示す図である。なお、本発明の実施の形態では、２つの動画を構成する各画像が合成されるため、再生時間の経過とともに、表示部２９０に表示される画像が通常の画像よりも大きくなる。このため、最初に表示される画像は、表示部２９０の表示領域の大きさよりも比較的小さくして表示される。なお、最初に表示される画像の大きさや位置等をユーザが指定するようにしてもよい。
【０１１８】
図１３（ａ）に示すように、最初は、先頭のフレームに対応する画像４０１のみが表示される。ここで、画像４０１に対応するアフィン変換パラメータの行列（３×３の行列）をＡ１とする場合に、Ａ１の値が求められ、先頭のフレームの画像４０１の位置および大きさを基準にして、求められたＡ１の行列により画像４０１がアフィン変換される。ここで、Ａは単位行列であるため、画像４０１の位置および大きさは変換されない。続いて、次のフレームに対応する画像４０２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４０２がアフィン変換される。具体的には、画像４０２に対応するアフィン変換パラメータの行列をＡ２とし、画像４０１に対応するアフィン変換パラメータの行列をＡ１とする場合において、Ａ１×Ａ２の値が求められ、先頭のフレームの画像４０１の位置および大きさを基準にして、求められたＡ１×Ａ２の行列により画像４０２がアフィン変換される。図１３（ｂ）に示す画像においては、画像４０２の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像４０２が、直前のフレームに対応する画像４０１に重なるように上書きされる。すなわち、画像４０１の領域のうちで、画像４０２と重複する領域４１０については、画像４０２の画像が上書きされる。また、画像４０１の領域のうちで、画像４０２と重複しない領域４１１については、画像４０１の画像が合成される。すなわち、２つ目のフレームに対応する画像４０２が表示される場合には、図１３（ｂ）に示すように、画像４０２の全体部分と、画像４０１のうちの領域４１１に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図１３（ｂ）では、画像４０２に画像枠が表示される。また、画像４０２をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。
【０１１９】
続いて、次のフレームに対応する画像４０３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４０３がアフィン変換される。すなわち、画像４０３に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像４０２に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像４０３がアフィン変換される。具体的には、画像４０３に対応するアフィン変換パラメータの行列をＡ３とし、画像４０２に対応するアフィン変換パラメータの行列をＡ２とし、画像４０１に対応するアフィン変換パラメータの行列をＡ１とする場合において、Ａ１×Ａ２×Ａ３の値が求められ、先頭のフレームの画像４０１の位置および大きさを基準にして、求められたＡ１×Ａ２×Ａ３の行列により画像４０３がアフィン変換される。図１３（ｃ）に示す画像においては、画像４０３の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像４０３が、前のフレームに対応する画像４０１および４０２の合成画像に重なるように上書きされる。すなわち、画像４０１および４０２の合成画像の領域のうちで、画像４０３と重複する領域４１３および４１４については、画像４０３の画像が上書きされる。また、画像４０１および４０２の合成画像の領域のうちで、画像４０３と重複しない領域４１１および４１２については、画像４０１および４０２の合成画像が合成される。すなわち、３つ目のフレームに対応する画像４０３が表示される場合には、図１３（ｃ）に示すように、画像４０３の全体部分と、画像４０１のうちの領域４１１に対応する部分と、画像４０２のうちの領域４１２に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図１３（ｃ）に示す画像４０３に画像枠が表示される。また、画像４０３をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。すなわち、画像４０２および４０３のそれぞれに対応するアフィン変換パラメータの行列の乗算により求められたアフィン変換パラメータが画像変換部１５０に保持される。このように、現フレームに対応する画像をアフィン変換する場合には、現フレームに対応するアフィン変換パラメータの行列と、この直前までの各フレームに対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより、現フレームに対応する画像がアフィン変換される。このアフィン変換の際に求められたアフィン変換パラメータが画像変換部１５０に保持され、次のアフィン変換で用いられる。また、図１６および図１９の場合についても同様である。
【０１２０】
次に、カメラの撮影時において、カメラのレンズの方向は移動されないものの、倍率が変更されている場合について説明する。
【０１２１】
図１４は、カメラにより撮影された動画の遷移の一例を示す図である。図１４には、山を背景にして人４２０を撮影した場合における動画に含まれる連続するフレームに対応する画像４２１乃至４２３を示す図である。この例では、カメラのレンズの倍率を上げながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人４２０が、その動画を構成する画像において次第に大きくなる。なお、倍率を上げる際にカメラの位置が多少移動する場合があるものの、この例では、カメラの位置の移動については考慮せずに説明する。
【０１２２】
図１５は、図１４に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図１５（ａ）に示す画像４２１は、図１４（ａ）に示す画像４２１と同じものである。また、図１５（ｂ）に示す画像４２２のうちの実線の部分は、図１４（ｂ）に示す画像４２２と同じものであり、図１５（ｂ）に示す画像４２２のうちの破線の部分は、図１４（ａ）に示す画像４２１の実線の部分と同じものである。また、図１５（ｂ）に示す画像４２２における矢印４２４乃至４２６は、画像４２２から検出されたオプティカルフローの一例を示す。同様に、図１５（ｃ）に示す画像４２３のうちの実線の部分は、図１４（ｃ）に示す画像４２３と同じものであり、図１５（ｃ）に示す画像４２３のうちの破線の部分は、図１４（ｂ）に示す画像４２２の実線の部分と同じものである。また、図１５（ｃ）に示す画像４２３における矢印４２７乃至４２９は、画像４２３から検出されたオプティカルフローの一例を示す。
【０１２３】
図１５（ｂ）および（ｃ）に示すように、倍率の変更に合わせて、画像に含まれる人４２０および背景の山の大きさが変更する。この変更により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
【０１２４】
図１６は、図１４に示す画像４２１乃至４２３を含む動画を再生する場合における表示例を示す図である。
【０１２５】
図１６（ａ）に示すように、最初は、先頭のフレームに対応する画像４２１のみが表示される。続いて、次のフレームに対応する画像４２２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４２２がアフィン変換される。図１６（ｂ）に示す画像においては、画像４２２の大きさのみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像４２２が、直前のフレームに対応する画像４２１に重なるように上書きされる。すなわち、画像４２１の領域のうちで、画像４２２と重複する領域については、画像４２２の画像が上書きされる。この場合には、画像４２１は、画像４２２の全ての領域と重複しているため、画像４２１に画像４２２の全ての画像が上書きされる。また、画像４２１の領域のうちで、画像４２２と重複しない領域４３１については、画像４２１の画像が合成される。すなわち、２つ目のフレームに対応する画像４２２が表示される場合には、図１６（ｂ）に示すように、画像４２２の全体部分と、画像４２１のうちの領域４３１に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図１６（ｂ）では、画像４２２に画像枠が表示される。また、画像４２２をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。
【０１２６】
続いて、次のフレームに対応する画像４２３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４２３がアフィン変換される。すなわち、画像４２３に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像４２２に対応するアフィン変換パラメータの行列とを乗算して求められたアフィン変換パラメータにより画像４２３がアフィン変換される。図１６（ｃ）に示す画像においては、画像４２３の大きさのみが変換される。そして、アフィン変換された画像４２３が、前のフレームに対応する画像４２１および４２２の合成画像に重なるように上書きされる。すなわち、画像４２１および４２２の合成画像の領域のうちで、画像４２３と重複する領域については、画像４２３の画像が上書きされる。この場合には、画像４２３は、画像４２１および４２２の全ての領域と重複しているため、画像４２１および４２２の合成画像に画像４２３の全ての画像が上書きされる。また、画像４２１および４２２の合成画像の領域のうちで、画像４２３と重複しない領域４３２および４３３については、画像４２１および４２２の合成画像が合成される。すなわち、３つ目のフレームに対応する画像４２３が表示される場合には、図１６（ｃ）に示すように、画像４２３の全体部分と、画像４２１のうちの領域４３２に対応する部分と、画像４２２のうちの領域４３３に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図１６（ｃ）に示す画像４２３に画像枠が表示される。また、画像４２３をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。すなわち、画像４２２および４２３のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部１５０に保持される。
【０１２７】
次に、カメラの撮影時において、カメラのレンズの方向や倍率は変更されないものの、撮影方向を回転中心にしてカメラが回転されている場合について説明する。
【０１２８】
図１７は、カメラにより撮影された動画の遷移の一例を示す図である。図１７には、山を背景にして人４４０を撮影した場合における動画に含まれる連続するフレームに対応する画像４４１乃至４４３を示す図である。この例では、撮影方向を回転中心にしてカメラを回転しながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人４４０が、その動画を構成する画像において回転していく。なお、カメラの回転によりカメラの位置が多少移動する場合があるものの、この例では、カメラの位置の移動については考慮せずに説明する。
【０１２９】
図１８は、図１７に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図１８（ａ）に示す画像４４１は、図１７（ａ）に示す画像４４１と同じものである。また、図１８（ｂ）に示す画像４４２のうちの実線の部分は、図１７（ｂ）に示す画像４４２と同じものであり、図１８（ｂ）に示す画像４４２のうちの破線の部分は、図１７（ａ）に示す画像４４１の実線の部分と同じものである。また、図１８（ｂ）に示す画像４４２における矢印４４４乃至４４６は、画像４４２から検出されたオプティカルフローの一例を示す。同様に、図１８（ｃ）に示す画像４４３のうちの実線の部分は、図１７（ｃ）に示す画像４４３と同じものであり、図１８（ｃ）に示す画像４４３のうちの破線の部分は、図１７（ｂ）に示す画像４４２の実線の部分と同じものである。また、図１８（ｃ）に示す画像４４３における矢印４４７乃至４４９は、画像４４３から検出されたオプティカルフローの一例を示す。
【０１３０】
図１８（ｂ）および（ｃ）に示すように、カメラの回転に合わせて、画像に含まれる人４４０および背景の山が回転移動する。この回転移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
【０１３１】
図１９は、図１７に示す画像４４１乃至４４３を含む動画を再生する場合における表示例を示す図である。
【０１３２】
図１９（ａ）に示すように、最初は、先頭のフレームに対応する画像４４１のみが表示される。続いて、次のフレームに対応する画像４４２が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４４２がアフィン変換される。図１９（ｂ）に示す画像においては、画像４４２の角度のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像４４２が、直前のフレームに対応する画像４４１に重なるように上書きされる。すなわち、画像４４１の領域のうちで、画像４４２と重複する領域４５０については、画像４４２の画像が上書きされる。また、画像４４１の領域のうちで、画像４４２と重複しない領域４５１および４５２については、画像４４１の画像が合成される。すなわち、２つ目のフレームに対応する画像４４２が表示される場合には、図１９（ｂ）に示すように、画像４４２の全体部分と、画像４４１のうちの領域４５１および４５２に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図１９（ｂ）では、画像４４２に画像枠が表示される。また、画像４４２をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。
【０１３３】
続いて、次のフレームに対応する画像４４３が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像４４３がアフィン変換される。すなわち、画像４４３に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像４４２に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像４４３がアフィン変換される。図１９（ｃ）に示す画像においては、画像４４３の角度のみが変換される。そして、アフィン変換された画像４４３が、前のフレームに対応する画像４４１および４４２の合成画像に重なるように上書きされる。すなわち、画像４４１および４４２の合成画像の領域のうちで、画像４４３と重複する領域４５３乃至４５７については、画像４４３の画像が上書きされる。また、画像４４１および４４２の合成画像の領域のうちで、画像４４３と重複しない領域４５８乃至４６１については、画像４４１および４４２の合成画像がさらに合成される。すなわち、３つ目のフレームに対応する画像４４３が表示される場合には、図１９（ｃ）に示すように、画像４４３の全体部分と、画像４４１のうちの領域４５９に対応する部分と、画像４４２のうちの領域４５８および４６０に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図１９（ｃ）に示す画像４４３に画像枠が表示される。また、画像４４３をアフィン変換したアフィン変換パラメータが画像変換部１５０に保持される。すなわち、画像４４２および４４３のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部１５０に保持される。
【０１３４】
図２０は、本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。ここでは、操作受付部１６０、メタデータ記憶部２１０および画像メモリ２５０についてのみ図示し、これら以外の構成についての図示を省略する。また、図４（ｂ）に示す動画ファイル２０１を構成するフレーム「１」乃至「３」について、メタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いて画像メモリ２５０に合成画像が作成される場合を例にして説明する。なお、図２０では、１つの動画を画像メモリ２５０に保持させる場合を例にして示すが、複数の動画を画像メモリ２５０に保持させる場合についても同様に合成される。
【０１３５】
図２０（ａ）には、図４（ｂ）に示す動画ファイル２０１を構成するフレームのうちの最初のフレームであるフレーム１（２０５）が画像メモリ２５０に保存される場合を示す。例えば、図２０（ａ）に示すように、動画ファイル２０１のフレーム１（２０５）に対応する画像４７１が画像メモリ２５０に保存される。ここで、最初のフレームに対応する画像４７１が画像メモリ２５０に保存される位置は、予め指定されている位置に保存するようにしてもよく、操作受付部１６０においてユーザにより指定された位置に保存するようにしてもよい。また、例えば、再生の対象となる複数の動画に関連付けられているメタデータファイルおよび相対関係メタデータのアフィン変換パラメータを用いて、複数の動画の各フレームにより作成される合成画像の大きさを計算し、この計算に基づいて画像４７１が保存される位置を決定するようにしてもよい。なお、以下では、画像メモリ２５０上に配置された画像４７１の左上の位置を原点とし、横方向（横軸）をｘ軸とし、縦方向（縦軸）をｙ軸として説明する。
【０１３６】
図２０（ａ）に示すように、画像メモリ２５０上に画像４７１が配置された場合における表示領域を表示領域４７０とする。表示領域４７０は、例えば、複数の動画により作成される合成画像の位置および大きさに基づいて、操作受付部１６０により受け付けられた表示倍率の値に応じて決定するようにしてもよい。なお、画像４７１に対する表示領域４７０の位置は、アフィン変換パラメータにより決定することができる。すなわち、現画像をズームアウトする「０．５倍」の表示倍率が指定されている場合には、ｘ方向およびｙ方向のズーム成分が２倍となるアフィン変換パラメータを用いて表示領域が設定される。また、現画像に対して表示領域を平行移動させる場合や回転させる場合についても、アフィン変換パラメータを用いることにより表示領域の位置および範囲を決定することができる。
【０１３７】
図２０（ｂ）には、図４（ｂ）に示す動画ファイル２０１を構成するフレームのうちのフレーム２（２０６）が画像メモリ２５０に保存される場合を示す。この場合には、上述したように、フレーム番号２１５の「１」および「２」に関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いてフレーム２（２０６）に対応する画像４７２が変換され、画像４７１に上書き合成される。ここで、現画像が現在の表示領域の範囲内からはみ出す場合には、現画像の全部が現在の表示領域の範囲内に入るように表示領域を変更するようにしてもよい。
【０１３８】
図２０（ｃ）には、図４（ｂ）に示す動画ファイル２０１を構成するフレームのうちのフレーム３が画像メモリ２５０に保存される場合を示す。この場合についても、上述したように、フレーム番号２１５「１」乃至「３」に関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いてフレーム３に対応する画像４７３が変換され、画像４７１および３５２に上書き合成される。
【０１３９】
以上で示したように、画像メモリ２５０上に配置される表示領域の範囲内に存在する画像を表示することによって、再生中の合成画像を順次表示させることができる。ここで、現画像がアフィン変換されて画像メモリ６８４に合成される際には、低い解像度に変換する解像度変換処理や圧縮処理等の画質の変換が施されることがある。このため、表示倍率を高くして現画像を拡大表示させる場合には、現画像を含む合成画像がぼけてしまうことが考えられる。そこで、この例では、現在再生中の現画像については、画像メモリ２５０に合成される前の画像を用いて合成画像を表示させる。以下では、この表示方法について図面を参照して詳細に説明する。
【０１４０】
図２１は、本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームの流れを模式的に示す図である。ここでは、操作受付部１６０、動画記憶部２００、メタデータ記憶部２１０、画像メモリ２５０および表示用メモリ２７０の関係についてのみ図示し、これら以外の構成についての図示を省略する。なお、図２１では、１つの動画を表示部２９０に表示させる場合を例にして示すが、複数の動画を表示部２９０に表示させる場合についても同様に合成される。
【０１４１】
図２１（ａ）には、図４（ｂ）に示す動画ファイル２０１およびメタデータファイル２１１を簡略化して示す。以下では、動画ファイル２０１を構成するフレームｉ（２０７）に対応する画像が表示される例について説明する。すなわち、動画ファイル２０１を構成するフレーム１乃至「ｉ−１」に対応する画像については、合成画像が作成されているものとする。
【０１４２】
図２１（ｂ）には、動画ファイル２０１を構成する各フレームに対応する画像が合成された合成画像が保持されている画像メモリ２５０を模式的に示す。図２０（ｂ）に示すように、動画ファイル２０１を構成するフレーム１（６６１）に対応する画像４７１が画像メモリ２５０に最初に保持される。そして、画像４７１が画像メモリ２５０に保持された後に、動画ファイル２０１を構成するフレーム２乃至「ｉ−１」に対応する各画像が、フレーム２乃至「ｉ−１」のそれぞれに関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６の値を用いて順次アフィン変換され、アフィン変換された画像が画像メモリ２５０に順次上書きされて保持される。そして、画像メモリ２５０に保持されている合成画像から、操作受付部１６０からの表示倍率指定に係る操作入力等に応じて決定された表示領域内に存在する画像を、表示領域取出部２６０がフレーム毎に取り出す。
【０１４３】
フレーム１乃至「ｉ−１」に対応する各画像による合成画像が画像メモリ２５０に保持されている状態で、動画ファイル２０１を構成するフレームｉ（２０７）に対応する画像が、フレーム１乃至ｉに関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータ２１６を用いてアフィン変換され、アフィン変換された現画像４７４が画像メモリ２５０に上書きされて保持される。そして、画像メモリ２５０に保持されている合成画像から、表示領域４７０内に存在する画像を表示領域取出部２６０が取り出し、取り出された画像を、例えば、図２１（ｃ）に示すように表示用メモリ２７０に保持させる。
【０１４４】
図２１（ｃ）には、表示領域取出部２６０により取り出された画像が保持されている表示用メモリ２７０を模式的に示す。ここで、表示領域取出部２６０により取り出された画像のうちの現フレームに対応する現画像４７５は、表示領域取出部２６０により画像メモリ２５０から取り出された現画像４７４ではなく、動画記憶部２００から取得されて画像変換部１５０によりアフィン変換された画像を用いる。ここで、表示用メモリ２７０における現画像４７５の保存位置は、画像メモリ２５０における現画像４７４の位置および大きさと、画像メモリ２５０における表示領域４７０の位置および大きさとに基づいて決定することができる。例えば、フレーム番号２１５の「１」乃至「ｉ」に関連付けてメタデータファイル２１１に記憶されているアフィン変換パラメータの行列をそれぞれＡ１、…、Ａｉとし、表示領域４７０を決定するためのアフィン変換パラメータの行列（例えば、画像メモリ２５０を基準とする行列）をＣとする場合には、画像４７１の位置を基準として、Ｉｎｖ（Ｃ）×Ａ１×…×Ａｉを用いることにより、表示用メモリ２７０における現画像４７５の保存位置を決定することができる。
【０１４５】
図２１（ｃ）に示すように、表示領域取出部２６０により取り出された画像が表示用メモリ２７０に保持されるとともに、表示領域取出部２６０により取り出された画像に、動画記憶部２００から取得されて画像変換部１５０によりアフィン変換された画像が上書きされて表示用メモリ２７０に保持される。そして、表示用メモリ２７０に保持されている画像が表示部２９０に表示される。このように、現画像については、アフィン変換後に縮小等の処理が施されて画像メモリ２５０に保持される前の状態の画像を用いることによって、比較的綺麗な現画像を表示することができる。また、ユーザの操作により拡大等がされた場合についても現画像を綺麗な状態で表示することができる。
【０１４６】
以上で示したように、現画像については、画像メモリ２５０に保持される合成画像の代わりに、動画記憶部２００から取得されてアフィン変換された画像を用いることができるため、比較的綺麗な画像を視聴することができる。この表示例については、図２２および図２３を参照して詳細に説明する。
【０１４７】
図２２（ａ）は、カメラにより撮影された動画を再生する場合における表示例を示す図である。この例では、大きな建物がある芝生の広場で遊んでいる親子を、カメラを主に左右方向に移動させながら撮影した場合の動画を再生中における画像４８０を示す。ここで、画像４８０には、動画を構成する各クレームに対応する画像により合成された画像４８１がパノラマ状に形成されている。また、画像４８０における現フレームに対応する画像は、現画像４８２である。
【０１４８】
ここで、枠４８３で囲まれた画像領域を拡大表示する場合について説明する。表示部２９０に表示されている画像について拡大縮小表示をする場合には、ユーザが操作受付部１６０において表示倍率指定キーを操作することにより所望の表示倍率を指定することができる。例えば、図２２（ａ）に示すように、表示部２９０に画像４８０が表示されている場合において、枠４８３で囲まれた画像領域を拡大表示する場合には、ユーザが操作受付部１６０において表示倍率指定キーを操作して表示倍率を指定するとともに、位置を指定することにより、枠４８３で囲まれた画像領域を拡大表示することができる。
【０１４９】
図２２（ｂ）は、画像４８０における現画像４８２がアフィン変換される前の状態の画像４８４を示す図である。
【０１５０】
図２３（ａ）は、図２２（ａ）に示す枠４８３で囲まれた画像領域が拡大表示された場合における画像４８５を示す図である。図２３（ａ）に示す画像４８５は、アフィン変換後の現画像が画像メモリ２５０に保存される前の状態で表示用メモリ２７０に合成された画像である。このように、現画像４８６の領域には、画像メモリ２５０に保存される前の状態の比較的精細な画像が表示される。このため、現画像４８６と、この領域以外の領域とを比較した場合に、他の領域よりも比較的綺麗な現画像４８６を見ることができる。一方、図２３（ｂ）に示す画像４８７は、アフィン変換後の現画像が画像メモリ２５０に保存された状態で表示用メモリ２７０に保存された画像である。このように表示される場合には、現画像４８８の領域についても、他の領域の画像と同程度の画像が表示される。すなわち、本発明の実施の形態によれば、画像合成表示する際に、表示用メモリ２７０に保持された履歴画像は圧縮される場合があるものの、現在（カレント）の画像については非圧縮の画像、または、履歴画像よりも高い解像度の画像を使用することができるため、高画質な画像合成表示を実現することができる。
【０１５１】
以上では、１つの動画を構成する各画像を合成する場合を例にして説明したが、以下では、２つの動画についての各画像を合成する場合における合成例について図面を参照して詳細に説明する。
【０１５２】
図２４は、２つの動画を合成する場合における合成例を模式的に示す図である。この例では、動画５００を構成する画像５０１乃至５１４と、動画５２０を構成する画像５２１乃至５２７とを合成する場合について説明する。また、内部を斜線で示す画像５０８および５２４は、動画５００および５２０に関する相対関係メタデータに含まれるフレーム番号に対応する画像であるものとする。
【０１５３】
図２４（ａ）では、動画５００を構成する画像５０１乃至５１４を、各フレームに関連付けて記憶されているアフィン変換パラメータを用いて順次アフィン変換していき、画像メモリ２５０上に合成する場合を示す。例えば、最初に、先頭フレームに対応する画像５０１が画像メモリ２５０に保持される。そして、画像５０１を基準にして画像５０２乃至５１４が順次アフィン変換されて画像メモリ２５０に合成される。このアフィン変換による現画像の流れを矢印５１５で示す。すなわち、矢印５１５に沿うように画像５０１乃至５１４が順次合成される。
【０１５４】
図２４（ｂ）では、動画５２０を構成する画像５２１乃至５２７を、各フレームに関連付けて記憶されているアフィン変換パラメータを用いて順次アフィン変換していき、画像メモリ２５０上に合成する場合を示す。また、図２４（ｃ）では、動画５００および５２０に関する相対関係メタデータに含まれるアフィン変換パラメータにより、画像５０１を基準画像として画像５２４をアフィン変換した場合における画像５０８および画像５２４の相対関係位置を示す。ここで、図２４（ｂ）に示す合成画像は、図２４（ｃ）に示す画像５０８および画像５２４の相対関係位置を基準にして、画像５２１乃至５２７が合成された場合を示すものである。この場合のアフィン変換による現画像の流れを矢印５２８で示す。すなわち、矢印５２８に沿うように画像５２１乃至５２７が順次合成される。このように、図２４（ｃ）に示す画像５０８および画像５２４の相対関係位置を基準にして、図２４（ａ）に示す合成画像および図２４（ｂ）に示す合成画像が合成された場合における合成例を図２４（ｄ）に示す。なお、図２４（ｄ）に示す例では、画像５０８および５２４が同時刻に再生される場合を示し、同時刻に再生される各画像は、動画５２０が動画５００よりも上書き合成される例を示す。
【０１５５】
ここで、具体的な各動画の保持位置に関する計算方法について説明する。最初に、複数の動画のうちの１つの動画を構成する少なくとも１つの画像の位置が決定される。例えば、動画５００を構成する先頭フレームに対応する画像５０１の位置が決定される。この決定される位置は、操作受付部１６０においてユーザが指定してもよく、上述した計算により算出された位置を用いて決定してもよい。続いて、他の動画を構成する画像のうちの少なくとも１つの画像の保持位置が算出される。例えば、画像５０１乃至５１４に対応する各フレームに関連付けられているアフィン変換パラメータの行列を、Ａ１乃至Ａ１４とする。また、画像５２１乃至５２７に対応する各フレームに関連付けられているアフィン変換パラメータの行列を、Ｂ１乃至Ｂ７とする。さらに、動画５００および５２０に関連付けて記憶されている相対関係メタデータのアフィン変換パラメータの行列をＣ１とする。ここで、基準画像は画像５０１とする。画像メモリ２５０上における画像５０１の保持位置を基準とした場合に、画像５０８の保持位置は、Ａ１乃至Ａ８の乗算により算出される。すなわち、Ａ１×…×Ａ８を用いて算出される。また、画像メモリ２５０上における画像５０１の保持位置を基準とした場合に、画像５２４の保持位置は、Ａ１乃至Ａ８、Ｃ１の乗算により算出される。すなわち、Ａ１×…×Ａ８×Ｃ１を用いて算出される。ここで、例えば、動画５２０の先頭フレームに対応する画像５２１の保持位置を算出する場合には、Ａ１乃至Ａ８およびＣ１と、Ｂ１乃至Ｂ４の逆行列の乗算により算出することができる。すなわち、「Ａ１×…×Ａ８×Ｃ１×Ｉｎｖ（Ｂ１×…×Ｂ４）」を用いて画像５２１の保持位置を算出することができる。また、動画５２０を構成する他の画像についての保持位置についても同様に、Ａ１乃至Ａ８およびＣ１と、Ｂ１乃至Ｂ４の逆行列またはＢ５乃至Ｂ７とを用いて算出することが可能である。
【０１５６】
また、基準画像を含む動画以外の動画を構成する画像をアフィン変換する場合には、先頭フレームに対応する画像の保持位置の算出に用いられた行列と、画像に関連付けられたアフィン変換パラメータを用いて行う。例えば、動画５２０の画像５２２をアフィン変換する場合には、画像５２２に対応する行列Ｂ２を用いて、「Ａ１×…×Ａ８×Ｃ１×Ｉｎｖ（Ｂ３×Ｂ４）」の行列により変換される。また、例えば、動画５２０の画像５２３をアフィン変換する場合も同様に、「Ａ１×…×Ａ８×Ｃ１×Ｉｎｖ（Ｂ４）」の行列により変換される。同様に、動画５２０の各画像が変換される。
【０１５７】
このように、複数の動画について合成して再生する場合には、１つの動画の基準画像の画像メモリ２５０における位置および大きさを決定した後に、各動画のそれぞれに関連付けられているメタデータファイルと、各動画に関連付けられている相対関係メタデータファイルとを用いて、各画像の位置および大きさを算出することができる。このため、複数の動画について合成して再生する場合には、各動画の何れかの位置からも再生させることが可能である。例えば、図２４（ｄ）に示す画像メモリ２５０上では、動画５００を構成する画像５０１乃至５０４が合成された後に、動画５２０を構成する画像５２１が合成される例を示す。すなわち、画像５０５および５２１が同時に合成され、続いて、画像５０６および５２２が同時に合成される。以降も同様に合成される。なお、この例では、同時刻に再生される各画像は、動画５２０が動画５００よりも上書き合成される例を示すが、上書きする動画を操作受付部１６０において指定するようにしてもよい。
【０１５８】
図２５は、２つの動画を合成する場合における合成例を模式的に示す図である。図２５（ａ）には、動画５３０を構成する画像５３１乃至５３７の遷移を示し、図２５（ｂ）には、動画５４０を構成する画像５４１乃至５４７の遷移を示し、図２５（ｃ）には、動画５３０および５４０が合成された場合における合成画像である画像５５１乃至５５７の遷移を示す。なお、動画５３０および５４０は、時刻ｔ１乃至ｔ７に記録された動画であるものとする。また、時刻ｔ３における画像５３３および５４３は、図９に示す画像３７０および３７６に対応する画像であり、画像５３３および５４３について図９に示す一致点の選択操作がされているものとする。また、この選択操作により算出された相対関係メタデータを用いて、動画５３０および５４０を合成するものとする。
【０１５９】
図２６は、図２５に示す合成画像が表示部２９０に表示される場合における表示例を示す図である。画像５６１乃至５６７は、動画５３０および５４０により合成された合成画像の遷移を示す画像であり、実線は現画像を示し、点線は現画像の前の各画像の領域を示す。図２６に示すように、図９に示す家３７１を中心にして家３７１の周りの背景が広がるように表示される。このように、ほぼ同じ場所を異なるカメラで撮像された動画５３０および５４０を同時に再生する場合に、動画５３０および５４０を合成することによって、通常の動画では常時見ることができない背景等を見ながら、２つの動画を再生して見ることができる。また、動画５３０および５４０を合成することによって、動画５３０および５４０の撮像場所の相対関係を容易に把握することができる。この例では、同時刻に撮像された画像については、動画５３０を構成する画像上に、動画５４０を構成する画像を上書き合成する例について示すが、操作受付部１６０からの操作入力に応じて、何れかを上書きするかを選択するようにしてもよい。また、撮像時刻が同じものを、時刻に従って合成する例について説明したが、異なる時刻同士の画像を、操作受付部１６０からの操作入力に応じた位置から順次合成するようにしてもよい。
【０１６０】
以上では、２つの動画に関連付けられている相対関係メタデータに格納されている１つのアフィン変換パラメータを用いて、２つの動画を合成して再生する例について説明した。以下では、２つの動画に関連付けられている相対関係メタデータに２つ以上のアフィン変換パラメータが格納されている場合において、この２つ以上のアフィン変換パラメータを用いて、２つの動画を合成して再生する例について図面を参照して詳細に説明する。この例では、２つの動画を合成して再生する場合において、２つ以上のアフィン変換パラメータを用いて動画同士の位置関係のずれを補間する線型補間方法について図面を参照して詳細に説明する。
【０１６１】
図２７は、本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。この例では、動画記憶部２００に記憶されている動画ファイル（＃１０）６００および（＃１１）６１０と、動画ファイル（＃１０）６００および（＃１１）６１０に関連付けて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイル６３０とを模式的に示す図である。この例では、動画ファイル（＃１０）６００を構成するフレーム「１」６０１およびフレーム「９」６０９と、動画ファイル（＃１１）６１０を構成するフレーム「１」６１１およびフレーム「９」６１９とのそれぞれが、相対関係情報記憶部２２０に記憶されている相対関係メタデータファイル６３０に関連付けて記憶されている例について説明する。なお、動画記憶部２００に記憶されている各動画ファイルの構成については、図４および図５に示す動画ファイルと同様であるため、ここでの説明を省略する。また、相対関係情報記憶部２２０に記憶されている相対関係メタデータファイルの構成については、１つの相対関係メタデータファイルに２つのアフィン変換パラメータが格納されている点以外の構成は、図５に示す相対関係メタデータファイルと同様であるため、ここでの説明を省略する。
【０１６２】
相対関係メタデータファイル６３０には、動画ＩＤ２２４と、フレーム番号２２５と、アフィン変換パラメータ２２６とが関連付けて格納されている。また、動画ファイル（＃１０）６００および動画ファイル（＃１１）６１０を構成する各画像の中で、それぞれ２つの各画像の相対関係に関するアフィン変換パラメータが、相対関係メタデータファイル６３０に格納されている。なお、この例では、２つのアフィン変換パラメータを格納する例について説明するが、３以上のアフィン変換パラメータを格納する場合についても適用することが可能である。
【０１６３】
図２８は、図２７に示す動画ファイル（＃１０）６００および（＃１１）６１０を構成する各画像と、これらの画像に含まれる被写体に基づいて合成された画像とを模式的に示す図である。図２８（ａ）には、動画ファイル（＃１０）６００を構成する画像Ａ１（６０１）乃至Ａ９（６０９）、および、動画ファイル（＃１１）６１０を構成するＢ１（６１１）乃至Ｂ９（６１９）を示す。また、図２８（ｂ）には、画像Ａ１（６０１）乃至Ａ９（６０９）、および、Ｂ１（６１１）乃至Ｂ９（６１９）に含まれる被写体に基づいて、各画像を合成された画像６２０を示す図である。なお、図２８では、画像の一部を省略して示す。
【０１６４】
図２８（ａ）および（ｂ）では、画像Ａ１（６０１）および画像Ｂ１（６１１）と、画像Ａ９（６０９）および画像Ｂ９（６１９）とに一致している被写体が含まれているものとする。画像Ａ１（６０１）および画像Ｂ１（６１１）において、この一致する被写体を含む領域を領域６２１および６２２とし、画像Ａ９（６０９）および画像Ｂ９（６１９）において、この一致する被写体を含む領域を領域６２３および６２４とする。
【０１６５】
ここで、例えば、画像Ａ１（６０１）および画像Ｂ１（６１１）に関連付けて相対関係メタデータファイル６３０に格納されているアフィン変換パラメータ「ａｒ，ｂｒ，ｃｒ，ｄｒ，ｅｒ，ｆｒ」を用いて動画を再生する場合を考える。この場合には、画像Ｂ１（６１１）の位置を基準にして画像Ａ１（６０１）がアフィン変換される。そして、画像Ａ２（６０２）以降の画像が順次アフィン変換されるとともに、画像Ｂ２（６１２）以降の画像が順次アフィン変換されることにより、図２８（ｂ）に示すように、画像Ａ９（６０９）の領域６２３と、画像Ｂ９（６１９）の領域６２４とが重なり、画像Ａ９（６０９）および画像Ｂ９（６１９）の位置関係が正しい位置関係となるはずである。しかしながら、カメラワーク検出部１２０により算出されたアフィン変換パラメータの誤差が、複数のアフィン変換により比較的大きな値として蓄積されたような場合には、本来正確な位置で重なるはずの画像Ａ９（６０９）および画像Ｂ９（６１９）が、例えば、図２９（ａ）に示すように、重ならない可能性がある。
【０１６６】
図２９（ａ）は、画像Ａ１（６０１）および画像Ｂ１（６１１）に関連付けられているアフィン変換パラメータ「ａｒ，ｂｒ，ｃｒ，ｄｒ，ｅｒ，ｆｒ」を用いて、動画ファイル（＃１０）６００および（＃１１）６１０をアフィン変換しながら合成した場合における合成例を示す図である。図２９（ａ）に示す例では、各フレームに関連付けられているアフィン変換パラメータの誤差が蓄積されて、画像Ａ１（６０１）乃至画像Ａ９（６０９）のそれぞれが上寄りに変換された場合の一例を示す。
【０１６７】
図２８（ｂ）に示すように、本来正確な位置で重なるはずの画像Ａ９（６０９）および画像Ｂ９（６１９）が、図２９（ａ）に示すように重ならない場合には、画像Ａ９（６０９）の領域６２３および画像Ｂ９（６１９）の領域６２４には、同一の対象物が含まれているにもかかわらず、この同一の対象物が異なる位置に表示されてしまう。この場合には、被写体を正確に再現することが困難となるおそれがある。また、これ以降の画像について、アフィン変換をしながら合成する場合には、アフィン変換パラメータの誤差の蓄積が増大し、被写体を正確に再現することができないおそれが増大する。
【０１６８】
そこで、例えば、図２９（ｂ）に示すように、画像Ａ９（６０９）および画像Ｂ９（６１９）に関連付けて相対関係メタデータファイル６３０に格納されているアフィン変換パラメータ「ａｓ，ｂｓ，ｃｓ，ｄｓ，ｅｓ，ｆｓ」を用いて、画像Ａ９（６０９）の位置を補正することが考えられる。例えば、矢印６２５に示すように、画像Ｂ９（６１９）を基準にして、アフィン変換パラメータ「ａｓ，ｂｓ，ｃｓ，ｄｓ，ｅｓ，ｆｓ」を用いて画像Ａ９（６０９）をアフィン変換し、画像Ａ９（６０９）を正確な位置に移動させることができる。しかしながら、このようにする場合には、画像Ａ８（６０８）および画像Ａ９（６０９）の位置が乖離してしまうため、画像Ａ９（６０９）が表示される際に不自然な画像が表示されてしまう。そこで、この例では、画像Ａ９（６０９）および画像Ｂ９（６１９）に関連付けられているアフィン変換パラメータ「ａｓ，ｂｓ，ｃｓ，ｄｓ，ｅｓ，ｆｓ」に基づいて、画像Ａ１（６０１）乃至画像Ａ９（６０９）を線型補間する例について説明する。
【０１６９】
ここで、画像Ａ１（６０１）の位置は、画像Ｂ１（６１１）の位置を基準として、アフィン変換パラメータ「ａｒ，ｂｒ，ｃｒ，ｄｒ，ｅｒ，ｆｒ」を用いて算出することができる。また、画像Ａ２（６０２）乃至Ａ９（６０９）の各位置は、各フレームに対応するアフィン変換パラメータを用いることにより算出することができる。また、画像Ａ９（６０９）の位置については、画像Ｂ９（６１９）の位置を基準として、アフィン変換パラメータ「ａｓ，ｂｓ，ｃｓ，ｄｓ，ｅｓ，ｆｓ」を用いて算出することができる。
【０１７０】
したがって、画像Ａ１（６０１）および画像Ｂ１（６１１）に関連付けられているアフィン変換パラメータ「ａｒ，ｂｒ，ｃｒ，ｄｒ，ｅｒ，ｆｒ」と、画像Ａ１（６０１）乃至Ａ９（６０９）に関連付けられているアフィン変換パラメータとに基づいて算出された画像Ａ９（６０９）の位置と、画像Ｂ９（６１９）を基準として、アフィン変換パラメータ「ａｒ，ｂｒ，ｃｒ，ｄｒ，ｅｒ，ｆｒ」を用いて算出された画像Ａ９（６０９）の位置とのずれを求め、このずれを等分に分配する行列を作成する。そして、画像Ａ２（６０２）乃至画像Ａ９（６０９）のそれぞれに関連付けられているアフィン変換パラメータを、ずれに基づいて算出された行列を用いて補正することにより、画像Ａ２（６０２）乃至画像Ａ９（６０９）の補間を行うことができる。このようにすることによって、画像Ａ２（６０２）乃至画像Ａ８（６０８）について発生するずれを正確な位置に補正することができる。
【０１７１】
ここで、各画像に関連付けられているアフィン変換パラメータを補正するための補間行列の算出方法について説明する。画像Ａ１（６０１）乃至画像Ａ９（６０９）に関連付けられているアフィン変換パラメータに対応する行列をＣａ１乃至Ｃａ９とし、画像Ｂ１（６１１）乃至画像Ｂ９（６１９）に関連付けられているアフィン変換パラメータに対応する行列をＣｂ１乃至Ｃｂ９とし、画像Ａ１（６０１）および画像Ｂ１（６１１）に関連付けられているアフィン変換パラメータ「ａｒ，ｂｒ，ｃｒ，ｄｒ，ｅｒ，ｆｒ」に対応する行列をＡＭ１とし、画像Ａ９（６０９）および画像Ｂ９（６１９）に関連付けて相対関係メタデータファイル６３０に格納されているアフィン変換パラメータ「ａｓ，ｂｓ，ｃｓ，ｄｓ，ｅｓ，ｆｓ」に対応する行列をＡＭ２とする。
【０１７２】
画像Ｂ１（６１１）を基準とした場合における画像Ａ９（６０１）の位置を算出する行列Ｐａ９は、次の式３で表される。
Ｐａ９＝Ｃｂ１×Ｃｂ２×…×Ｃｂ９×ＡＭ２  ……（式３）
【０１７３】
また、画像Ｂ１（６１１）を基準とした場合における画像Ａ９（６０１）の位置を算出する行列Ｐ'ａ９は、次の式４でも表すことができる。
Ｐ'ａ９＝ＡＭ１×Ｃａ１×Ｃａ２×…×Ｃａ９  ……（式４）
【０１７４】
ここで、行列Ｐａ９およびＰ'ａ９は、画像Ｂ１（６１１）を基準とした場合における画像Ａ９（６０１）の位置を算出する行列であるため、同一であるはずである。しかしながら、上述したように、行列Ｐａ９およびＰ'ａ９には、ずれが生じていることがある。そこで、行列Ｐａ９およびＰ'ａ９のずれを表す行列を誤差行列Ｅａ９とした場合に、Ｅａ９×Ｐ'ａ９＝Ｐａ９となるため、誤差行列Ｅａ９は、次の式５で表すことができる。
Ｅａ９＝Ｐａ９×Ｉｎｖ（Ｐ'ａ９）  ……（式５）
【０１７５】
次に、ずれを表す誤差行列に基づいて補間行列を算出する補間行列算出方法について図面を参照して詳細に説明する。
【０１７６】
図３０は、ずれを表す誤差行列に基づいて補間行列を算出する場合における算出方法の概略を示す図である。同図には、横軸をｘ軸とし、縦軸をｙ軸とした場合におけるグラフを示す。また、この例では、誤差行列Ｅａ９に基づいて、３つの補間行列を算出する例について説明する。
【０１７７】
最初に、同図に示すグラフにおいて、座標（０，０）、（１，０）、（０，１）を頂点とする三角形５７０を配置する。続いて、三角形５７０に誤差行列Ｅａ９を乗算して、移動先の三角形を算出する。例えば、移動先の三角形を三角形５７１とする。この場合に、三角形５７０および５７１の各頂点を結ぶ３つの移動ベクトル５７２乃至５７４が算出される。
【０１７８】
続いて、算出された各移動ベクトルを算出すべき補間行列の数に分割する。そして、補間行列の数に分割された各移動ベクトルの分割点を用いて三角形を作成する。例えば、同図に示すように、移動ベクトル５７２乃至５７４のそれぞれが３つに分割され、各分割点を頂点とする三角形５７５および５７６が作成される。
【０１７９】
続いて、最初に配置された三角形５７０から、新たに作成された三角形５７５、５７６および５７１のぞれぞれをアフィン変換するためのアフィン行列を算出する。そして、この算出されたアフィン行列を補間行列とする。例えば、同図では、３つの補間行列が算出される。なお、この３つの補間行列のうちの１つの補間行列は、誤差行列Ｅａ９となる。
【０１８０】
以上で示したように、誤差行列Ｅａ９に基づいて、所定数の補間行列を算出することができる。そこで、同図に示す補間行列算出方法により、誤差行列Ｅａ９に基づいて、８個の補間行列を算出し、各補間行列を補間行列Ｉｎｔ（interporate：補間）１乃至Ｉｎｔ８とする。ここで、補間行列Ｉｎｔ１は、画像Ａ２（６０２）のアフィン変換パラメータを補正するものであり、補間行列Ｉｎｔ２は、画像Ａ３（６０３）のアフィン変換パラメータを補正するものであり、以下、同様であり、補間行列Ｉｎｔ８は、画像Ａ９（６０９）のアフィン変換パラメータを補正するものである。また、Ｉｎｔ８＝Ｅａ９である。
【０１８１】
図３１は、上述した補間行列Ｉｎｔ１乃至Ｉｎｔ８を用いて、画像Ａ２（６０２）乃至画像Ａ９（６０９）を変換した場合における合成例を示す図である。図３０（ａ）では、補正前の画像Ａ２（６０２）乃至画像Ａ９（６０９）を点線で示すとともに、補正後の画像Ａ２（６０２）乃至画像Ａ９（６０９）を実線で示し、これらの変移を矢印で示す。図３０（ｂ）では、補正後の画像Ａ１（６０１）乃至画像Ａ９（６０９）、および、画像Ａ１（６０１）乃至画像Ａ９（６０９）を示す。
【０１８２】
以上で求められた補間行列Ｉｎｔ１乃至Ｉｎｔ８を用いて、画像Ａ２（６０２）乃至画像Ａ９（６０９）を順次変換することにより、同図に示すように、画像Ａ２（６０２）乃至画像Ａ８（６０８）について発生するずれを正確な位置に補正することができる。例えば、行列Ｉｎｔ１乃至Ｉｎｔ８を用いて画像Ａ２（６０２）乃至画像Ａ９（６０９）を変換する場合において、画像Ａ２（６０２）をアフィン変換する場合には、行列（ＡＭ１×Ｃａ１×Ｃａ２×Ｉｎｔ１）を用いてアフィン変換する。また、画像Ａ３（６０３）をアフィン変換する場合には、行列（ＡＭ１×Ｃａ１×Ｃａ２×Ｃａ３×Ｉｎｔ２）を用いてアフィン変換する。以下同様であり、画像Ａ９（６０９）をアフィン変換する場合には、行列（ＡＭ１×Ｃａ１×Ｃａ２×…×Ｃａ９×Ｉｎｔ８）を用いてアフィン変換する。
【０１８３】
なお、画像Ａ２（６０２）乃至画像Ａ８（６０８）の全てに対して補正をする代わりに、例えば、真中に存在する画像Ａ５（６０５）のみを補正するようにしてもよく、１つおきの画像Ａ３（６０３）、Ａ５（６０５）Ａ３、画像Ａ７（６０７）のみに補正をするようにしてもよい。この場合には、補正の対象となる画像の数に基づいて、補間行列ｉｎｔが算出される。
【０１８４】
なお、比較的多くの画像に対して補間行列による補正を行うことにより、複数動画を合成しながら再生する場合に、動画同士の合成に関して滑らかな位置合わせが可能となる。これにより、ユーザが動画を構成する画像の遷移を見やすくすることができる。なお、この例では、２つの動画のうちの１つの動画を基準動画として、基準動画以外の他の動画を線型補間する例を示したが、２つの動画について線型補間する場合についても同様に適用することができる。
【０１８５】
次に、実際にカメラにより撮影された複数の動画を合成再生する場合における表示例を示す。以下に示す表示例では、表示部２９０の表示領域のうちで、複数の動画の少なくとも何れかを構成する現フレームおよび前のフレームに対応する画像が表示される領域のみに合成画像を表示し、その他の領域を黒くする例を示す。また、現フレームに対応する画像の周りには枠を表示する。すなわち、再生の対象となる動画の数分の枠が表示される。なお、以下に示す表示例では、２つの動画が再生されている途中からの表示例を示す。また、実際ではフレーム毎に合成画像が順次表示されるが、同図では、所定数のフレーム間隔毎の表示例を示し、このフレーム間に表示される合成画像の図示を省略する。このため、現フレームに対応する枠の移動が、同図では大きいものとなっている。
【０１８６】
図３２乃至図３６は、カメラにより撮影された複数の動画の遷移の一例を示す図である。同図では、公園の広場で遊んでいる家族を、２つのカメラを移動させながら同時刻に撮影された場合における動画を構成する画像７３０乃至７４４を示す。この例では、同一の撮影時刻の動画を、同一時刻に再生する例について説明するが、撮像時刻とは無関係に、再生時刻をずらして再生させるようにしてもよい。
【０１８７】
同図に示す画像７３０乃至７４４において、現フレームに対応する画像は、画像７５０および７５１である。なお、同図に示す画像７３０乃至７４４においては、合成画像が異なる場合でも現画像を同一の符号７５０および７５１で示す。同図に示すように、撮影された画像に含まれる撮影対象物（公園の広場等）が画面に固定され、現フレームに対応する画像７５０および７５１がカメラの動きに合わせて画面上を移動する。このように表示することによって、表示部２９０に黒く表示されている表示領域において、現フレームに対応する２つの画像が、２つのカメラの動きに応じて進んでいくように、閲覧者に見せることができる。また、相対関係情報により２つの動画が関連付けて合成されるため、２つの動画により作成される合成画像が１つの動画により構成されたように表示される。また、現画像が合成画像上を移動する場合にも、合成画像上の位置と現画像の位置とが合うように移動していく。
【０１８８】
図３７および図３８は、カメラにより撮影された動画の遷移の一例を示す図である。同図では、図３２乃至図３６に示す２つの動画について、１つづつ再生させた場合を示す。図３７および図３８に示す画像７６０乃至７６５は、図３４に示す画像７３６乃至７３８とほぼ同時刻における画像である。なお、図３７および図３８に示す画像７６０乃至７６５において、現フレームに対応する画像の周りには枠が付される。このように、図３２乃至図３６に示す画像７３０乃至７４４と、図３７および図３８に示す画像７６０乃至７６５とを比較すると、図３２乃至図３６に示す画像７３０乃至７４４の方が比較的広い領域に合成画像が作成される。このため、視聴者にとって見やすくなる。
【０１８９】
以上では、２つの動画に関するアフィン変換パラメータを格納する相対関係メタデータファイルを用いて、２つの動画を合成しながら再生する例について説明したが、１つの相対関係メタデータファイルに３以上の動画に関するアフィン変換パラメータを格納しておき、これらのアフィン変換パラメータを用いて３以上の動画を合成しながら再生することができる。以下では、３以上の動画を合成しながら再生する例について図面を参照して詳細に説明する。
【０１９０】
図３９は、本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。この例では、動画記憶部２００に記憶されている動画ファイル（＃１２）６５１乃至（＃１４）６５３と、動画ファイル（＃１２）６５１乃至（＃１４）６５３に関連付けて相対関係情報記憶部２２０に記憶されている相対関係メタデータファイル６６０とを模式的に示す図である。この例では、１つの相対関係メタデータファイル６６０に３つの動画ファイル（＃１２）６５１乃至（＃１４）６５３に関するアフィン変換パラメータが格納されている例について説明する。なお、動画記憶部２００に記憶されている各動画ファイルの構成については、図４および図５等に示す動画ファイルと同様であるため、ここでの説明を省略する。また、相対関係情報記憶部２２０に記憶されている相対関係メタデータファイルの構成については、１つの相対関係メタデータファイルに３以上の動画に関するアフィン変換パラメータが格納されている点以外の構成は、図５に示す相対関係メタデータファイルと同様であるため、ここでの説明を省略する。
【０１９１】
相対関係メタデータファイル６６０には、動画ＩＤ２２４と、フレーム番号２２５と、アフィン変換パラメータ２２６とが関連付けて格納されている。また、動画ファイル（＃１２）６５１乃至（＃１４）６５３を構成する各画像の中で、それぞれ２つの各画像の相対関係に関するアフィン変換パラメータが、相対関係メタデータファイル６３０に格納されている。具体的には、動画ファイル（＃１２）６５１を構成するフレーム「２」６５４を基準とした場合における動画ファイル（＃１３）６５２を構成するフレーム「５」６５６の位置を算出するアフィン変換パラメータ「ａｔ，ｂｔ，ｃｔ，ｄｔ，ｅｔ，ｆｔ」と、動画ファイル（＃１２）６５１を構成するフレーム「９」６５５を基準とした場合における動画ファイル（＃１４）６５３を構成するフレーム「６」６５７の位置を算出するアフィン変換パラメータ「ａｕ，ｂｕ，ｃｕ，ｄｕ，ｅｕ，ｆｕ」とが、相対関係メタデータファイル６３０に格納されている。これにより、３つの動画を合成しながら再生する場合に、３つの動画の相対的な関連性が考慮された動画を再生することができる。
【０１９２】
図４０は、３つの動画に関する画像に含まれる一致点を選択する場合における各画像を示す図である。なお、図４０（ａ）および（ｂ）に示す画像３７０および３７６は、図９（ａ）および（ｂ）に示す画像３７０および３７６と同じであり、一致点３７２乃至３７４、３７２乃至３７４が選択されているものとする。また、図４０（ｂ）に示す画像３７６では、一致点３７２乃至３７４以外の一致点として、家３７１の右側にある電柱の上部分６７１乃至６７３が選択されているものとする。図４０（ｃ）に示す画像６７４においては、電柱の上部分６７５乃至６７７が選択されているものとする。なお、図４０（ａ）乃至（ｃ）に示す画像上における一致点の選択およびアフィン変換パラメータの算出については、図９に示す方法と同様であるため、ここでの説明を省略する。
【０１９３】
図４１は、３つの動画に関する画像において選択された一致点に基づいて３つの画像を合成させた場合の一例を示す図である。図４１では、図４０（ａ）乃至（ｃ）に示す画像３７０、３７６、６７４において選択された各一致点に基づいて算出されたアフィン変換パラメータを用いて、画像３７０、３７６、６７４がアフィン変換されて合成された合成画像６８０を示す。このように、算出されたアフィン変換パラメータを用いて、３つの動画を合成することにより、家３７１の周りの背景が各画像における背景よりもさらに広範囲に含まれた合成画像６８０が作成される。
【０１９４】
図４２は、３つの動画を合成する場合における合成例を模式的に示す図である。この例では、動画５００を構成する画像５０１乃至５１４と、動画５２０を構成する画像５２１乃至５２７と、動画６９０を構成する画像６９１乃至６９７とを合成する場合について説明する。なお、動画５００を構成する画像５０１乃至５１４と、動画５２０を構成する画像５２１乃至５２７とについては、図２４に示すものと同一であるため、ここでの説明を省略する。また、内部を斜線で示す画像５０８および５２４は、動画５００および５２０に関する相対関係メタデータに含まれるフレーム番号に対応する画像であるものとし、同様に、内部を斜線で示す画像５１０および６９４は、動画５００および６９０に関する相対関係メタデータに含まれるフレーム番号に対応する画像であるものとする。図４２（ａ）に示す動画５００は、内部を斜線で示す画像５１０以外は、図２４に示す動画５００と同様である。
【０１９５】
図４２（ｂ）では、動画６９０を構成する画像６９１乃至６９７を、各フレームに関連付けて記憶されているアフィン変換パラメータを用いて順次アフィン変換していき、画像メモリ２５０上に合成する場合を示す。ここで、図４２（ｂ）に示す合成画像は、画像５１０および画像６９４の相対関係位置を基準にして、画像６９１乃至６９７が合成された場合を示すものである。この場合のアフィン変換による現画像の流れを矢印６９８で示す。すなわち、矢印６９８に沿うように画像６９１乃至６９７が順次合成される。このように、画像５１０および画像６９４の相対関係位置を基準にして、図４２（ａ）に示す合成画像、図４２（ｂ）に示す合成画像、および、図２４（ｂ）に示す合成画像が合成された場合における合成例を図４２（ｃ）に示す。なお、図４２（ｃ）に示す例では、画像５０８および５２４が同時刻に再生されるとともに、画像５１０および６９４が同時刻に再生される場合を示し、同時刻に再生される各画像は、動画５２０が動画５００よりも上書き合成されるとともに、動画６９０が動画５００よりも上書き合成される例を示す。なお、具体的な各動画の保持位置に関する計算方法については、図２４で示した算出方法と同様の算出方法を用いることができる。なお、再生の対象となる複数の動画に関する相対関係メタデータが存在しない場合でも、他の動画に関する相対関係メタデータを用いて、再生の対象となる複数の動画を合成して再生することが可能である。例えば、図４２（ｃ）に示す動画５００、動画５２０、動画６９０のうちで、動画５２０および動画６９０を合成させる場合には、動画５００および５２０に関する相対関係メタデータと、動画５００および６９０に関する相対関係メタデータとを用いて、動画５２０および動画６９０の何れかを基準動画とした場合における他の動画の位置を算出することができる。例えば、動画５２０を基準動画とする場合には、画像５０８および画像５２４の相対関係位置を用いて、動画５００を構成する画像５０８の位置を算出することができる。また、画像５０８に基づいて画像５１０の位置が算出することができる。そして、画像５１０および画像６９４の相対関係位置を用いて、画像５１０を基準とした場合における動画６９０を構成する各画像の位置を算出することができる。このように、共通の相対関係メタデータが存在しない動画５２０および動画６９０についても、動画５００を介して、合成して再生させることができる。また、２以上の動画を介して複数の動画を合成して再生する場合についても同様に適用することができる。
【０１９６】
図４３は、静止画と複数の動画とを合成する場合の一例を示す図である。図４３（ａ）は、静止画である画像７０１乃至７１８が、画像メモリ２５０に保持されている場合を示す図であり、図４３（ｂ）は、画像メモリ２５０に保持されている画像７０１乃至７１８上に、動画５００、５２０、６９０を上書き合成する場合を示す図である。同図では、画像７０１乃至７１８の枠線を太線で示す。同図に示すように、複数の動画とともに静止画を合成することができる。この場合には、静止画と、動画を構成する少なくとも１つの画像との相対関係に関するアフィン変換パラメータを、相対関係メタデータファイルとして格納しておき、この相対関係メタデータファイルを用いて合成を行う。また、動画を構成する画像の間に静止画を合成するようにしてもよく、動画上に静止画が合成されるようにしてもよい。
【０１９７】
また、本発明の実施の形態における画像処理装置１００をインターネット等のネットワークと接続し、このネットワークを介して受信される画像または動画と組み合わせて、動画を再生するようにしてもよい。例えば、ネットワークを介して所定の公園の風景画像を画像処理装置が受信し、この受信された公園の風景画像を背景画像とし、この背景画像上に、子供が撮像された動画を合成しながら再生させることができる。これにより、その公園を子供が移動しているような擬似的な再生画像を提供することが可能である。
【０１９８】
次に、本発明の実施の形態における画像処理装置１００の動作について図面を参照して説明する。
【０１９９】
図４４は、本発明の実施の形態における画像処理装置１００による手動操作による一致点選択処理の処理手順を示すフローチャートである。
【０２００】
最初に、動画記憶部２００に記憶されている動画を再生する指示が操作受付部１６０により受け付けられたか否かが判断される（ステップＳ９２１）。動画を再生する指示が操作受付部１６０により受け付けられていない場合には（ステップＳ９２１）、ステップＳ９２３に進む。動画を再生する指示が操作受付部１６０により受け付けられた場合には（ステップＳ９２１）、指示された動画ファイルをファイル取得部１４０が取得して、取得された動画ファイルの動画が表示部２９０に表示される（ステップＳ９２２）。
【０２０１】
続いて、表示部２９０で再生中の動画の停止指示が操作受付部１６０により受け付けられたか否かが判断される（ステップＳ９２３）。再生中の動画の停止指示が操作受付部１６０により受け付けられていない場合には（ステップＳ９２３）、ステップＳ９２５に進む。再生中の動画の停止指示が操作受付部１６０により受け付けられた場合には（ステップＳ９２３）、停止指示がされた動画の再生動作が停止され、停止指示がされた際における動画の画像が表示部２９０に表示された状態とする（ステップＳ９２４）。
【０２０２】
続いて、一致点選択部１７０が、表示部２９０に表示されている画像において、ユーザにより指定された位置を一致点として選択する。そして、同一画像上において３点の位置が指定されたか否かが判断される（ステップＳ９２５）。同一画像上において３点の位置が指定されていない場合には（ステップＳ９２５）、ステップＳ９２１に戻り、一致点選択処理を繰り返す（ステップＳ９２１乃至Ｓ９２４）。一方、同一画像上において３点の位置が指定された場合には（ステップＳ９２５）、一致点選択部１７０が、指定された位置に基づいて相対関係情報を算出する指示が、操作受付部１６０により受け付けられたか否かを判断する（ステップＳ９２６）。
【０２０３】
相対関係情報を算出する指示が受け付けられていない場合には（ステップＳ９２６）、ステップＳ９２１に戻り、一致点選択処理を繰り返す。一方、相対関係情報を算出する指示が受け付けられた場合には（ステップＳ９２６）、一致点選択部１７０が、少なくとも２つの動画について、各動画を構成する同一画像上において３点の一致点が選択されたか否かを判断する（ステップＳ９２７）。
【０２０４】
少なくとも２つの動画について、各動画を構成する同一画像上において３点の一致点が選択されていない場合には（ステップＳ９２７）、ステップＳ９２１に戻り、一致点選択処理を繰り返す。一方、少なくとも２つの動画について、各動画を構成する同一画像上において３点の一致点が選択された場合には（ステップＳ９２７）、一致点選択部１７０が、選択された一致点の画像における位置を、対応する画像および動画に関連付けて、相対関係情報算出部１８０に出力する（ステップＳ９２８）。
【０２０５】
続いて、相対関係情報算出部１８０は、一致点選択部１７０から出力された少なくとも２つの画像上における各一致点の位置に基づいて、アフィン変換パラメータを算出する（ステップＳ９２８）。続いて、記録制御部１３０が、算出されたアフィン変換パラメータと、これに対応する画像のフレーム番号および動画の動画ＩＤとを関連付けて相対関係情報記憶部２２０に記録する（ステップＳ９２９）。
【０２０６】
図４５は、本発明の実施の形態における画像処理装置１００による一致点検索処理の処理手順を示すフローチャートである。この例では、モデル辞書登録部３４４に特徴量を予め登録しておき、この特徴量を用いて一致点の検索を行う例について説明する。
【０２０７】
最初に、操作受付部１６０により動画選択に係る操作入力が受け付けられたか否かが判断される（ステップＳ９３１）。操作受付部１６０により動画選択に係る操作入力が受け付けられない場合には（ステップＳ９３１）、動画選択に係る操作入力が受け付けられるまで待機する。一方、操作受付部１６０により動画選択に係る操作入力が受け付けられた場合には（ステップＳ９３１）、動画取得部１４１が、操作受付部１６０からの動画取得に係る操作入力に応じて動画記憶部２００に記憶されている動画ファイルを取得する（ステップＳ９３２）。
【０２０８】
続いて、多重解像度生成部３４５が、取得された動画を構成する各画像について多重解像度画像を生成する（ステップＳ９３３）。続いて、特徴点抽出部３４６が、多重解像度画像のそれぞれの解像度の画像について特徴点を抽出する（ステップＳ９３４）。続いて、特徴量抽出部３４７が、抽出された特徴点における少なくとも２つの局所的な特徴量を抽出する（ステップＳ９３５）。
【０２０９】
続いて、特徴量比較部３４９が、抽出された各特徴点特徴量と、モデル辞書登録部３４４に登録され、ｋｄツリー構築部３４８により構築されたＫｄツリーとして表現された各特徴点特徴量とを比較して、類似度を計算する（ステップＳ９３６）。続いて、特徴量比較部３４９が、計算して求められた類似度のうちで、最も高い値の特徴点の組合せを一致点として選択する（ステップＳ９３７）。
【０２１０】
続いて、相対関係情報算出部１８０が、選択された各一致点の位置に基づいてアフィン変換パラメータを算出する（ステップＳ９３８）。続いて、記録制御部１３０が、算出されたアフィン変換パラメータと、このアフィン変換パラメータの算出の対象となった２つの画像に関する動画ＩＤおよびフレーム番号を相対関係情報記憶部２２０に記録する（ステップＳ９３９）。
【０２１１】
図４６は、本発明の実施の形態における画像処理装置１００による複数動画の合成再生処理の処理手順を示すフローチャートである。
【０２１２】
最初に、動画記憶部２００に記憶されている複数の動画ファイルの中から、少なくとも２つの動画ファイルを選択する選択操作が操作受付部１６０により受け付けられたか否かが判断される（ステップＳ９６１）。少なくとも２つの動画ファイルを選択する選択操作が受け付けられていない場合には（ステップＳ９６１）、ステップＳ９６１に戻る。一方、少なくとも２つの動画ファイルを選択する選択操作が受け付けられた場合には（ステップＳ９６１）、複数動画合成再生モードを指定する指定操作が操作受付部１６０により受け付けられたか否かが判断される（ステップＳ９６２）。
【０２１３】
複数動画合成再生モードを指定する指定操作が受け付けられた場合には（ステップＳ９６２）、選択された各動画ファイルに関連付けられている相対関係メタデータファイルが、相対関係情報記憶部２２０に存在するか否かが判断される（ステップＳ９６３）。選択された各動画ファイルに関連付けられている相対関係メタデータファイルが存在する場合には（ステップＳ９６３）、複数動画の合成再生処理が実行される（ステップＳ９７０）。この複数動画の合成再生処理については、図４７を参照して詳細に説明する。
【０２１４】
また、複数動画合成再生モードを指定する指定操作が受け付けられていない場合（ステップＳ９６２）、または、選択された各動画ファイルに関連付けられている相対関係メタデータファイルが存在しない場合には（ステップＳ９６３）、選択された各動画ファイルが再生表示される（ステップＳ９６４）。この再生表示として、通常の複数動画の再生が行われる。
【０２１５】
図４７は、本発明の実施の形態における画像処理装置１００による複数動画の合成再生処理の処理手順（図４６に示すステップＳ９７０の処理手順）を示すフローチャートである。この例では、１つの動画における基準画像として、１つの動画を構成する画像の中の先頭フレームに対応する画像を用いる例について説明する。
【０２１６】
最初に、動画を構成する画像のサイズよりも大きいワークバッファが画像メモリ２５０に確保される（ステップＳ９７１）。続いて、ファイル取得部１４０が、操作受付部１６０により選択された複数の動画ファイルを動画記憶部２００から取得するとともに、これらの動画ファイルに関連付けられているメタデータファイルおよび相対関係メタデータファイルを、メタデータ記憶部２１０または相対関係情報記憶部２２０から取得する（ステップＳ９７２）。
【０２１７】
続いて、対象画像変換情報算出部１９０が、メタデータファイルおよび相対関係メタデータファイルのアフィン変換パラメータに基づいて、再生の対象となる複数の動画の中の１つの動画を構成する少なくとも１つの画像を基準画像とし、他の動画を構成する各画像を対象画像とした場合に、この対象画像の変換に用いられるアフィン変換パラメータ（対象画像変換情報）を算出する（ステップＳ９７３）。続いて、補正値算出部２３０が、メタデータファイルおよび相対関係メタデータファイルのアフィン変換パラメータに基づいて、相対関係メタデータファイルに格納されている少なくとも２つのアフィン変換パラメータと、メタデータファイルのアフィン変換パラメータとに基づいて、アフィン変換による画像位置のずれを補正するための補正値を算出する（ステップＳ９７４）。
【０２１８】
続いて、ファイル取得部１４０が、各動画ファイルをデコードし、動画ファイルを構成する１つのフレームである現フレームを各動画ファイルについて取得する（ステップＳ９７５）。続いて、ファイル取得部１４０が、取得された各現フレームに対応するアフィン変換パラメータをメタデータファイルから取得する（ステップＳ９７６）。ここで、現フレームが先頭フレームである場合には、単位行列のアフィン変換パラメータが取得される。
【０２１９】
続いて、画像変換部１５０が、各アフィン変換パラメータを用いて、各現フレームに対応する画像をそれぞれアフィン変換する（ステップＳ９７７）。ここで、再生の対象となる複数の動画のうちの基準動画以外の他の動画については、対象画像変換情報（アフィン変換パラメータ）と、動画を構成する画像に対応するアフィン変換パラメータとを用いてアフィン変換が施される。また、補正値算出部２３０により補正値が算出されている場合において、補正の対象となる画像を変換する場合には、算出された補正値を用いてアフィン変換パラメータの値を補正して、この補正後のアフィン変換パラメータを用いて、現フレームに対応する画像がアフィン変換される。なお、現フレームが先頭フレームである場合において、基準画像を変換する場合には、単位行列を用いてアフィン変換がされるため、実際の画像は変換されない。また、基準動画以外の動画に係る画像を変換する場合には、アフィン変換パラメータ（対象画像変換情報）を用いて、先頭フレームに対応する画像が変換される。すなわち、動画を構成する先頭フレームに対応する各画像については、基準画像以外の画像は、アフィン変換された状態で画像メモリ２５０に保持される。
【０２２０】
続いて、画像合成部２４０が、アフィン変換された現フレームに対応する各画像を、この現フレームよりも前のフレームに対応する各画像の合成画像に上書きして合成し、この現フレームに対応する画像が合成された画像を画像メモリ２５０に保存する（ステップＳ９７８）。ここで、先頭フレームに対応する画像が基準画像である場合には、アフィン変換がされていない状態で画像メモリ２５０に保存される。また、先頭フレームに対応する画像が基準画像でない場合には、対象画像変換情報算出部１９０により算出されたアフィン変換パラメータに基づいてアフィン変換された画像が画像メモリ２５０に保持される。また、２つの動画に対応する２つの現画像同士が重なる場合には、何れか一方が上書きされて合成される。この上書きされる動画をユーザが操作受付部１６０において選択するようにしてもよく、基準画像に係る動画を構成する画像または対象画像に係る動画を構成する画像の何れか一方を上書きされる動画と予め決定しておくようにしてもよい。また、上書きされる動画を合成再生中に操作受付部１６０において変更するようにしてもよい。
【０２２１】
続いて、表示領域取出部２６０は、指定された表示倍率および位置に対応するアフィン変換パラメータを用いて表示領域の位置および大きさを決定する（ステップＳ９７９）。続いて、表示領域取出部２６０は、表示領域に含まれる合成画像を画像メモリ２５０から取り出す（ステップＳ９８０）。続いて、表示領域取出部２６０は、画像メモリ２５０から取り出された合成画像を表示用メモリ２７０に保存する（ステップＳ９８１）。
【０２２２】
続いて、表示領域取出部２６０は、現画像の変換に用いられたアフィン変換パラメータの行列と、表示領域の決定に用いられたアフィン変換パラメータの行列に対する逆行列とを用いて、表示用メモリ２７０における現画像の位置を決定する（ステップＳ９８２）。この場合に、２つの現画像についての位置が決定される。続いて、画像合成部２４０は、表示用メモリ２７０に保存されている合成画像に、アフィン変換された２つの現画像を上書き合成する（ステップＳ９８３）。続いて、表示用メモリ２７０に保存されている合成画像が表示部２９０に表示される（ステップＳ９８４）。
【０２２３】
続いて、入力された動画ファイルを構成するフレームの中で、現フレームが最後のフレームであるか否かが判断される（ステップＳ９８５）。現フレームが最後のフレームではない場合には（ステップＳ９８５）、ステップＳ９７５に戻り、合成画像表示処理を繰り返す（ステップＳ９７５乃至Ｓ９８４）。一方、現フレームが最後のフレームである場合には（ステップＳ９８５）、確保されているワークバッファを解放して（ステップＳ９８６）、動画再生処理を終了する。
【０２２４】
次に、本発明の実施の形態における特徴点抽出処理およびオプティカルフロー計算処理をマルチコアプロセッサにより行う場合について図面を参照して詳細に説明する。
【０２２５】
図４８は、本発明の実施の形態におけるマルチコアプロセッサ８００の一構成例を示す図である。マルチコアプロセッサ８００は、１つのＣＰＵ（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）８９０の内部構成を模式的に示す図である。ここで、ブルーレイディスクを再生可能なブルーレイ再生機８９０は、ＣＰＵ８９１およびＯＳ８９２とともに、Ｊａｖａ  ＶＭ（Ｊａｖａ仮想マシン）およびライブラリ８９３が標準で搭載されているため、Ｊａｖａプログラムを実行することが可能である。このため、ブルーレイディスク８８０をブルーレイ再生機８９０に装着することにより、ブルーレイ再生機８９０がＪａｖａプログラム８８１をロードして実行することが可能である。これにより、ブルーレイ再生機８９０が動画コンテンツ８８２を再生する場合に、メタデータ８８４を用いて、本発明の実施の形態における動画再生を行うことが可能である。すなわち、専用のＰＣソフト等を使わずに、全てのブルーレイ再生機で本発明の実施の形態における動画再生を実現することが可能になる。
【０２８６】
以上で示したように、本発明の実施の形態では、複数の動画を再生する場合に、現在表示されている画像よりも前のフレームに対応する各画像を現在の画像に合成しながら表示するため、撮影の中心となっている対象物とともに、少なくとも一部の時間帯で撮影された背景等を容易に閲覧することができる。このため、例えば、少なくとも一部の時間帯で撮影された背景等を再度見たい場合には、巻き戻し操作や検索操作等をしなくても、現在表示されている画像と同時にその背景等を見ることができる。また、カメラにより撮影された動画を閲覧する場合に、その動画の内容を容易に把握することができる。さらに、例えば、同一の対象物が含まれている動画を再生する場合には、その対象物の部分では、複数の動画が重ねられて表示されるため、複数の動画の相対的な関係を容易に把握することができる。また、前のフレームに対応する画像が固定されるため、空間的な広がりを閲覧者が容易に認識することができる。
【０２８７】
すなわち、過去のフレームを活用して、複数の動画を空間的に展開して鑑賞することができる。これにより、例えば、複数の動画を再生しながらパノラマ画像を完成させていくような鑑賞方法を提供することができるため、閲覧者は面白み豊かに動画を観賞することができる。また、現画像については、画像メモリに２５０に保存される前の状態の画像を順次表示させることができるため、比較的綺麗な画像を表示させることができる。
【０２８８】
また、本発明の実施の形態では、予め検出されたアフィン変換パラメータを用いて再生表示をする例について説明したが、再生の際にアフィン変換パラメータを算出し、この算出されたアフィン変換パラメータを用いて再生表示をするようにしてもよい。例えば、マルチコアプロセッサを用いたＳＩＭＤ演算によりアフィン変換パラメータを算出することにより、１フレームのデコードの処理時間内に、１フレームのアフィン変換パラメータを算出することが可能である。これにより、アフィン変換パラメータが算出されていない動画を再生する場合でも、アフィン変換パラメータを算出しながら動画再生を行うことが可能であるため、動画を空間的に展開する鑑賞を迅速に行うことができる。
【０２８９】
また、本発明の実施の形態では、複数の動画ファイルを動画記憶部２００に記憶するとともに、この動画に対応するアフィン変換パラメータを、対応する動画およびフレームと関連付けてメタデータファイルとしてメタデータ記憶部２１０に記憶し、さらに、複数の動画に関する相対関係情報を相対関係情報記憶部２２０に記憶する例について説明したが、動画と、この動画に対応するアフィン変換パラメータと、この動画に関する相対関係情報とを関連付けて動画ファイルとして動画記憶部に記録しておき、再生時には、動画ファイルから各情報を抽出して用いるようにしてもよい。
【０２９０】
また、例えば、ハイビジョンＴＶ（Television）において、ＳＤ（Standard Definition）画質で撮影された動画を鑑賞する場合や、デジタルスチルカメラや携帯電話の動画保存機能等を用いて撮影された動画を鑑賞する場合において、元の画像サイズの状態で表示すると、ハイビジョンＴＶの画素数を生かせないことがある。また、拡大表示を行うと、画像の粗さが目立つことが多い。そこで、本発明の実施の形態において説明した表示をすることによって、画像の粗さを目立たせることなく、ハイビジョンＴＶの画素数を生かした鑑賞をすることができる。
【０２９１】
なお、画像合成部２４０により合成された合成画像を記録媒体等に記録して、他の再生表示に用いるようにしてもよい。また、本発明の実施の形態では、現フレームの前のフレームに対応する合成画像を表示させておく例について説明したが、この合成画像については、時間の経過に応じて順次消去するようにしてもよい。この場合に、残像を残して消去するような演出を施すようにしてもよい。また、現フレームに対応する画像についてはカラー表示するとともに、現フレームの前のフレームに対応する合成画像については、時間の経過に応じて、カラー表示からセピア色に変更するような演出を施すようにしてもよい。
【０２９２】
また、本発明の実施の形態では、画像合成部により合成された画像を表示部に表示する画像処理装置を例にして説明したが、画像合成部により合成された画像を他の画像表示装置において表示させるための画像情報を出力する画像出力手段を設けた画像処理装置に本発明の実施の形態を適用することができる。さらに、動画を再生することが可能な動画再生装置や撮影された動画を再生することが可能なデジタルビデオカメラ等の撮像装置等に本発明の実施の形態を適用することができる。
【０２９３】
また、本発明の実施の形態では、カメラにより撮像された動画について説明したが、例えば、カメラにより撮像された動画が編集された場合における編集後の動画やアニメーション等が合成された動画等についても、本発明の実施の形態を適用することができる。また、本発明の実施の形態では、履歴画像の一部または全部を表示する例について説明したが、変換された複数の現画像のみを表示させるようにしてもよい。すなわち、画像メモリに最後に保持された複数の現画像のみを順次表示させるようにしてもよい。
【０２９４】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０３０７】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【０３０８】
【図１】本発明の実施の形態における画像処理装置１００の機能構成例を示すブロック図である。
【図２】本発明の実施の形態におけるカメラワーク検出部１２０の機能構成例を示すブロック図である。
【図３】本発明の実施の形態における一致点検索部３４０の機能構成例を示すブロック図である。
【図４】本発明の実施の形態における動画記憶部２００およびメタデータ記憶部２１０に記録されている各ファイルを模式的に示す図である。
【図５】本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。
【図６】動画を構成するフレームに対応する画像の一例を示す図である。
【図７】動画を構成するフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。
【図８】本発明の実施の形態における画像処理装置１００によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
【図９】画像に含まれる一致点を選択することにより２つの画像に関するアフィン変換パラメータを算出するアフィン変換パラメータ算出方法、および、その選択された一致点に基づいて２つの画像を合成させた場合を概略的に示す図である。
【図１０】画像に含まれる一致点を選択することにより２つの画像に関するアフィン変換パラメータを算出するアフィン変換パラメータ算出方法を概略的に示す図である。
【図１１】カメラにより撮影された動画の遷移の一例を示す図である。
【図１２】図１１に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図１３】図１１に示す画像４０１乃至４０３を含む動画を再生する場合における表示例を示す図である。
【図１４】カメラにより撮影された動画の遷移の一例を示す図である。
【図１５】図１４に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図１６】図１４に示す画像４２１乃至４２３を含む動画を再生する場合における表示例を示す図である。
【図１７】カメラにより撮影された動画の遷移の一例を示す図である。
【図１８】図１７に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図１９】図１７に示す画像４４１乃至４４３を含む動画を再生する場合における表示例を示す図である。
【図２０】本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。
【図２１】本発明の実施の形態における動画記憶部２００に記憶されている動画ファイルの各フレームの流れを模式的に示す図である。
【図２２】カメラにより撮影された動画を再生する場合における表示例（画像４８０）および画像４８０における現画像４８２がアフィン変換される前の状態の画像４８４を示す図である。
【図２３】図２２に示す枠４８３で囲まれた画像領域が拡大表示された場合における画像４８５と、アフィン変換後の現画像が画像メモリ２５０に保存された状態で表示用メモリ２７０に保存された画像４８７を示す図である
【図２４】２つの動画を合成する場合における合成例を模式的に示す図である。
【図２５】２つの動画を合成する場合における合成例を模式的に示す図である。
【図２６】図２５に示す合成画像が表示部２９０に表示される場合における表示例を示す図である。
【図２７】本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。
【図２８】図２７に示す動画ファイル（＃１０）６００および（＃１１）６１０を構成する各画像と、これらの画像に含まれる被写体に基づいて合成された画像とを模式的に示す図である。
【図２９】画像Ａ１（６０１）および画像Ｂ１（６１１）に関連付けられている相対関係情報を用いて、動画ファイル（＃１０）６００および（＃１１）６１０をアフィン変換しながら合成した場合における合成例を示す図である。
【図３０】ずれを表す誤差行列に基づいて補間行列を算出する場合における算出方法の概略を示す図である。
【図３１】補間行列Ｉｎｔ１乃至Ｉｎｔ８を用いて、画像Ａ２（６０２）乃至画像Ａ９（６０９）を変換した場合における合成例を示す図である。
【図３２】カメラにより撮影された複数の動画の遷移の一例を示す図である。
【図３３】カメラにより撮影された複数の動画の遷移の一例を示す図である。
【図３４】カメラにより撮影された複数の動画の遷移の一例を示す図である。
【図３５】カメラにより撮影された複数の動画の遷移の一例を示す図である。
【図３６】カメラにより撮影された複数の動画の遷移の一例を示す図である。
【図３７】カメラにより撮影された動画の遷移の一例を示す図である。
【図３８】カメラにより撮影された動画の遷移の一例を示す図である。
【図３９】本発明の実施の形態における動画記憶部２００および相対関係情報記憶部２２０に記録されている各ファイルを模式的に示す図である。
【図４０】３つの動画に関する画像に含まれる一致点を選択する場合における各画像を示す図である。
【図４１】３つの動画に関する画像において選択された一致点に基づいて３つの画像を合成させた場合の一例を示す図である。
【図４２】３つの動画を合成する場合における合成例を模式的に示す図である。
【図４３】静止画と複数の動画とを合成する場合の一例を示す図である。
【図４４】本発明の実施の形態における画像処理装置１００による手動操作による一致点選択処理の処理手順を示すフローチャートである。
【図４５】本発明の実施の形態における画像処理装置１００による一致点検索処理の処理手順を示すフローチャートである。
【図４６】本発明の実施の形態における画像処理装置１００による複数動画の合成再生処理の処理手順を示すフローチャートである。
【図４７】本発明の実施の形態における画像処理装置１００による複数動画の合成再生処理の処理手順を示すフローチャートである。
【図４８】本発明の実施の形態におけるマルチコアプロセッサ８００の一構成例を示す図である。
【図４９】本発明の実施の形態における制御プロセッサコア８０１の一構成例を示す図である。
【図５０】本発明の実施の形態における演算プロセッサコア（＃１）８１１の一構成例を示す図である。
【図５１】本発明の実施の形態におけるマルチコアプロセッサ８００の演算方法を模式的に示す図である。
【図５２】本発明の実施の形態におけるマルチコアプロセッサ８００により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。
【図５３】複数のデータに対する処理をそれぞれの命令で行う演算方式の概要、および、複数のデータに対する処理を１つの命令で行うＳＩＭＤ演算の概要を模式的に示す図である。
【図５４】本発明の実施の形態における制御プロセッサコア８０１または演算プロセッサコア（＃１）８１１により実行されるプログラムの構成例を示す図である。
【図５５】本発明の実施の形態におけるメインメモリ７８１に格納されている画像データについて、ソベルフィルタ８３０を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。
【図５６】本発明の実施の形態におけるメインメモリ７８１に格納されている画像データについてソベルフィルタ８３０を用いてＳＩＭＤ演算を行う場合におけるデータの流れを概略的に示す図である。
【図５７】本発明の実施の形態におけるソベルフィルタ８３０を用いてフィルタリング処理を行う場合において、第一バッファ８３１に格納されている画像データから９つのベクトルを作成するベクトル作成方法を概略的に示す図である。
【図５８】本発明の実施の形態におけるソベルフィルタ８３０を用いてフィルタリング処理を行う場合において、ベクターデータ８４１乃至８４９についてＳＩＭＤ命令を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。
【図５９】本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。
【図６０】記録媒体の一例であるブルーレイディスク８８０、ブルーレイディスク８８０に記録されている各データ８８１乃至８８４、および、ブルーレイディスク８８０を再生可能なブルーレイ再生機８９０の内部構成を模式的に示す図である。
【符号の説明】
【０３０９】
１００  画像処理装置
１１０  動画入力部
１２０  カメラワーク検出部
１２１  特徴点抽出部
１２２  オプティカルフロー計算部
１２３  カメラワークパラメータ算出部
１３０  記録制御部
１４０  ファイル取得部
１５０  画像変換部
１６０  操作受付部
１７０  一致点選択部
１８０  相対関係情報算出部
１９０  対象画像変換情報算出部
２００  動画記憶部
２１０  メタデータ記憶部
２２０  相対関係情報記憶部
２３０  補正値算出部
２４０  画像合成部
２５０  画像メモリ
２６０  表示領域取出部
２７０  表示用メモリ
２８０  表示制御部
２９０  表示部
【図１】
0005092722.tif 000004
【図２】
0005092722.tif 000005
【図３】
0005092722.tif 000006
【図４】
0005092722.tif 000007
【図５】
0005092722.tif 000008
【図７】
0005092722.tif 000009
【図８】
0005092722.tif 000010
【図９】
0005092722.tif 000011
【図１０】
0005092722.tif 000012
【図１１】
0005092722.tif 000013
【図１２】
0005092722.tif 000014
【図１３】
0005092722.tif 000015
【図１４】
0005092722.tif 000016
【図１５】
0005092722.tif 000017
【図１６】
0005092722.tif 000018
【図１７】
0005092722.tif 000019
【図１８】
0005092722.tif 000020
【図１９】
0005092722.tif 000021
【図２０】
0005092722.tif 000022
【図２１】
0005092722.tif 000023
【図２４】
0005092722.tif 000024
【図２５】
0005092722.tif 000025
【図２６】
0005092722.tif 000026
【図２７】
0005092722.tif 000027
【図２８】
0005092722.tif 000028
【図２９】
0005092722.tif 000029
【図３０】
0005092722.tif 000030
【図３１】
0005092722.tif 000031
【図３９】
0005092722.tif 000032
【図４０】
0005092722.tif 000033
【図４１】
0005092722.tif 000034
【図４２】
0005092722.tif 000035
【図４３】
0005092722.tif 000036
【図４４】
0005092722.tif 000037
【図４５】
0005092722.tif 000038
【図４６】
0005092722.tif 000039
【図４７】
0005092722.tif 000040
【図４８】
0005092722.tif 000041
【図４９】
0005092722.tif 000042
【図５０】
0005092722.tif 000043
【図５１】
0005092722.tif 000044
【図５２】
0005092722.tif 000045
【図５３】
0005092722.tif 000046
【図５４】
0005092722.tif 000047
【図５５】
0005092722.tif 000048
【図５６】
0005092722.tif 000049
【図５７】
0005092722.tif 000050
【図５８】
0005092722.tif 000051
【図５９】
0005092722.tif 000052
【図６０】
0005092722.tif 000053
【図６】
0005092722.tif 000054
【図２２】
0005092722.tif 000055
【図２３】
0005092722.tif 000056
【図３２】
0005092722.tif 000057
【図３３】
0005092722.tif 000058
【図３４】
0005092722.tif 000059
【図３５】
0005092722.tif 000060
【図３６】
0005092722.tif 000061
【図３７】
0005092722.tif 000062
【図３８】
0005092722.tif 000063