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