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