(57)【要約】【課題】撮像動画を閲覧する場合に所望の動画を迅速に検索する。また、検索した動画の中から所望のフレームを迅速に検索する。【解決手段】オプティカルフロー計算部１２２は、撮影動画の撮影時における撮像装置の動き量を検出し、カメラワークパラメータ算出部１２３は、その動き量に基づいて変換パラメータを算出する。画像変換部１６０は、変換パラメータに基づいて撮像画像を変換する。画像合成部１８０は、変換された撮像画像および履歴画像を合成する。表示部２６０は、撮像画像のうちの一定数の画像について画像合成部１８０により作成された履歴画像を代表画像として表示する。この表示されている代表画像における位置を選択する選択操作が受け付けられると、選択部２４０は、その選択された位置に基づいて動画の記録位置を選択する。表示制御部２５０は、選択された動画の記録位置から動画を再生させる。【選択図】図１
2009077363.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置により撮像された撮像動画を記憶する動画記憶手段と、
前記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段と、
前記撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、
前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手段と、
前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手段と、
前記変換された撮像画像の前記合成による前記履歴画像上の座標位置を取得する画像位置取得手段と、
前記取得された座標位置と前記撮像画像とを関連付けて記憶する画像位置記憶手段と、
前記撮像動画を表す代表画像として前記履歴画像を表示する表示手段と、
前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、
前記選択された前記代表画像における位置に基づいて前記動画記憶手段に記憶されている撮像動画を前記選択された位置に対応する撮像画像から再生させる表示制御手段と
を具備することを特徴とする画像処理装置。
【請求項２】
前記画像位置取得手段は、前記変換された撮像画像の中心位置を前記座標位置として取得し、
前記画像位置記憶手段は、前記取得された中心位置と前記撮像画像とを関連付けて記憶し、
前記画像位置記憶手段に記憶されている中心位置の中から前記選択された前記代表画像における位置から最も近い中心位置を選択することにより前記選択された位置に対応する撮像画像を選択する選択手段をさらに具備する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像位置取得手段は、前記変換された撮像画像の中心位置および大きさを前記座標位置として取得し、
前記画像位置記憶手段は、前記取得された中心位置および大きさと前記撮像画像とを関連付けて記憶し、
前記選択手段は、前記画像位置記憶手段に記憶されている中心位置の中から前記選択された前記代表画像における位置から最も近い中心位置が複数検出された場合には当該検出された複数の中心位置に対応する大きさを比較することにより前記選択された位置に対応する撮像画像を選択する
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記変換情報算出手段は、前記撮像動画を構成するフレーム毎に前記変換情報を順次算出し、
前記画像変換手段は、前記撮像画像を前記フレーム毎に順次変換し、
前記画像合成手段は、前記変換された撮像画像を前記履歴画像に前記フレーム毎に順次合成して新たな履歴画像とし、
前記画像保持手段は、前記フレーム毎に前記新たな履歴画像を順次保持し、
前記撮像動画を構成する少なくとも一定数のフレームに対応する画像が合成された前記履歴画像を前記代表画像として記憶する代表画像記憶手段をさらに具備する
ことを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記画像合成手段は、前記代表画像の縮小画像を作成し、
前記代表画像および前記縮小画像を関連付けて記憶する代表画像記憶手段をさらに具備し、
前記表示制御手段は、前記代表画像記憶手段に記憶されている縮小画像を一覧画像として選択可能に表示させる
ことを特徴とする請求項１記載の画像処理装置。
【請求項６】
撮像装置により撮像された動画を撮像動画として入力する動画入力手段と、
前記撮像動画を構成する撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、
前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手段と、
前記撮像画像または前記変換された撮像画像のうちの少なくとも一方を前記撮像動画のインデックス画像とし、前記変換情報により定められる撮像空間上の前記インデックス画像の座標位置および大きさを記憶するインデックス画像記憶手段と、
前記変換された撮像画像と前記インデックス画像記憶手段に記憶されているインデックス画像の座標位置および大きさとに基づいて前記撮像動画からインデックス画像を抽出するインデックス画像抽出手段と
を具備することを特徴とする画像処理装置。
【請求項７】
前記インデックス画像抽出手段は、前記変換された撮像画像と前記インデックス画像記憶手段に記憶されているインデックス画像との重複率を算出して当該算出された重複率に基づいて前記インデックス画像を抽出する
ことを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記インデックス画像抽出手段は、前記抽出されたインデックス画像の前記座標位置および大きさを前記インデックス画像記憶手段に順次記録する
ことを特徴とする請求項６記載の画像処理装置。
【請求項９】
前記インデックス画像抽出手段は、前記抽出されたインデックス画像の前記座標位置および大きさと前記抽出されたインデックス画像とを関連付けて前記インデックス画像記憶手段に順次記録する
ことを特徴とする請求項６記載の画像処理装置。
【請求項１０】
前記インデックス画像記憶手段に記憶されているインデックス画像の前記座標位置および大きさに基づいて当該インデックス画像を二次元空間に配置して表示させる表示制御手段をさらに具備する
ことを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記インデックス画像抽出手段は、前記抽出されたインデックス画像の前記座標位置および大きさと前記抽出されたインデックス画像と前記撮像動画における前記抽出されたインデックス画像に関する時間情報とを関連付けて前記インデックス画像記憶手段に順次記録し、
前記インデックス画像記憶手段に記憶されているインデックス画像の時間情報と座標位置と大きさとに基づいて当該インデックス画像を三次元空間に仮想的に配置して当該インデックス画像を平面に投影して表示させる表示制御手段をさらに具備する
ことを特徴とする請求項６記載の画像処理装置。
【請求項１２】
前記撮像動画を記憶する動画記憶手段と、
前記三次元空間に配置されているインデックス画像を選択する選択操作を受け付ける操作受付手段と、
前記選択された前記インデックス画像に基づいて前記インデックス画像記憶手段に記憶されている前記時間情報を選択する選択手段とをさらに具備し、
前記表示制御手段は、前記動画記憶手段に記憶されている撮像動画を前記選択された時間情報に対応する撮像画像から再生させる
ことを特徴とする請求項１１記載の画像処理装置。
【請求項１３】
履歴画像を保持する画像保持手段と、
前記抽出されたインデックス画像に対応する前記変換された撮像画像には所定のマーカを付して前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手段と、
前記撮像動画を表す代表画像として前記履歴画像を記憶する代表画像記憶手段とをさらに具備する
ことを特徴とする請求項６記載の画像処理装置。
【請求項１４】
前記撮像動画を記憶する動画記憶手段と、
前記代表画像記憶手段に記憶されている代表画像を表示する表示手段と、
前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、
前記選択された前記代表画像における位置に基づいて前記抽出されたインデックス画像を選択する選択手段と、
前記動画記憶手段に記憶されている撮像動画を前記選択されたインデックス画像に対応する撮像画像から再生させる表示制御手段とをさらに具備する
ことを特徴とする請求項１３記載の画像処理装置。
【請求項１５】
撮像装置により撮像された撮像動画を記憶する動画記憶手段と、
前記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段と、
前記撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、
前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手段と、
前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手段と、
前記変換された撮像画像の前記合成による前記履歴画像上の座標位置を取得する画像位置取得手段と、
前記取得された座標位置と前記撮像画像とを関連付けて記憶する画像位置記憶手段と、
前記撮像動画を表す代表画像として前記履歴画像を表示する表示手段と、
前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、
前記選択された前記代表画像における位置に基づいて前記動画記憶手段に記憶されている撮像動画を前記選択された位置に対応する撮像画像から再生させる表示制御手段と
を具備することを特徴とする動画再生装置。
【請求項１６】
撮像装置により撮像された撮像動画を記憶する動画記憶手段と前記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段とを備える画像処理装置における画像処理方法であって、
前記撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手順と、
前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手順と、
前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手順と、
前記変換された撮像画像の前記合成による前記履歴画像上の座標位置を取得する画像位置取得手順と、
前記取得された座標位置と前記撮像画像とを関連付けて画像位置記憶手段に記憶する手順と、
前記撮像動画を表す代表画像として前記履歴画像を表示する表示手順と、
前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手順と、
前記選択された前記代表画像における位置に基づいて前記動画記憶手段に記憶されている撮像動画を前記選択された位置に対応する撮像画像から再生させる表示制御手順と
を具備することを特徴とする画像処理方法。
【請求項１７】
撮像装置により撮像された撮像動画を記憶する動画記憶手段と前記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段とを備える画像処理装置において、
前記撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手順と、
前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手順と、
前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手順と、
前記変換された撮像画像の前記合成による前記履歴画像上の座標位置を取得する画像位置取得手順と、
前記取得された座標位置と前記撮像画像とを関連付けて画像位置記憶手段に記憶する手順と、
前記撮像動画を表す代表画像として前記履歴画像を表示する表示手順と、
前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手順と、
前記選択された前記代表画像における位置に基づいて前記動画記憶手段に記憶されている撮像動画を前記選択された位置に対応する撮像画像から再生させる表示制御手順と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、動画に対する画像処理を行うことが可能な画像処理装置、動画再生装置、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
近年、デジタルビデオカメラが普及している。このため、例えば、子供が通園している幼稚園のイベントにおいて、このイベントの様子が父母等によりデジタルビデオカメラで撮影されることが広く行われている。このようなイベントにおいて、父母等により撮影が行われる場合には、自分の子供を中心にして撮影されることが多いものの、そのイベントの様子が分かるように、そのイベントの風景等も適宜撮影されることが多い。また、幼稚園のイベント毎に撮影が行われると、撮影された動画の数が多くなる。
【０００３】
このように撮影された動画については、例えば、家庭内において、動画再生装置を用いてそのディスプレイで再生することができる。このように、動画再生装置を用いて再生する場合において、例えば、複数のイベントにおいて撮影された動画全体を最初から再生すると、再生時間が長くなってしまう。そこで、これらの動画全体から所望する部分を視聴者が検索して、検索された部分を順次再生することができれば、動画を効率的に楽しむことができると考えられる。
【０００４】
そこで、動画の各部におけるサムネイル画像を生成して、この生成されたサムネイル画像を用いて所望の記録位置から動画を再生させる技術が提案されている。例えば、記録媒体に記録されている複数の動画のシーンから各シーンを示す画面のサムネイル画像を複数形成し、これらのサムネイル画像を表示して、表示されているサムネイル画像から所望のサムネイル画像を選択することによって、選択されたサムネイル画像に対応するシーンの先頭から動画の再生を開始する再生装置が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平１１−２８９５１７号公報（図７）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述の従来技術によれば、幼稚園等の複数のイベントで撮影された動画を視聴する場合において、これらの動画について表示されるサムネイル画像を用いて、所望するシーンの先頭から動画の再生を開始させることができる。
【０００６】
ここで、例えば、幼稚園の複数のイベントにおいて自分の子供を中心にして撮影された動画を閲覧する場合には、イベントが異なる場合でも、自分の子供が主に含まれている、似ているシーンが多く再生されることが考えられる。この場合には、生成されるサムネイル画像も似ていることが多い。また、撮影された動画の数が多い場合には、生成されるサムネイル画像の数が多くなる。このように、互いに似ているサムネイル画像が表示される場合や多数のサムネイル画像が表示される場合には、適切な検索を迅速に行うことができないと考えられる。
【０００７】
例えば、撮影の中心となる人物が同じである場合でも、撮影が行われた場所や周りの雰囲気等によって検索の対象である動画であるか否かを容易に判断することができる場合がある。そこで、例えば、幼稚園等の複数のイベントで撮影された動画を視聴する場合において、これらのイベントが行われた場所や周りの雰囲気等を容易に参照することができれば、動画の内容を容易に把握することができるため、所望の動画を迅速に検索することができると考えられる。
【０００８】
そこで、本発明は、撮像装置により撮影された動画の内容を容易に把握することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、撮像装置により撮像された撮像動画を記憶する動画記憶手段と、上記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段と、上記撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、上記算出された変換情報に基づいて上記撮像画像を変換する画像変換手段と、上記変換された撮像画像を上記履歴画像に合成して新たな履歴画像として上記画像保持手段に保持させる画像合成手段と、上記変換された撮像画像の上記合成による上記履歴画像上の座標位置を取得する画像位置取得手段と、上記取得された座標位置と上記撮像画像とを関連付けて記憶する画像位置記憶手段と、上記撮像動画を表す代表画像として上記履歴画像を表示する表示手段と、上記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、上記選択された上記代表画像における位置に基づいて上記動画記憶手段に記憶されている撮像動画を上記選択された位置に対応する撮像画像から再生させる表示制御手段とを具備することを特徴とする画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、撮像動画を構成する撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出し、この算出された変換情報に基づいて撮像画像を変換し、この変換された撮像画像を履歴画像に合成して新たな履歴画像として保持させ、変換された撮像画像の履歴画像上の座標位置を取得して撮像画像に関連付けて記憶し、撮像動画を表す代表画像として履歴画像を表示し、この表示されている代表画像における位置を選択する選択操作を受け付けると、この選択された代表画像における位置に対応する撮像画像から撮像動画を再生させるという作用をもたらす。また、この場合において、上記変換情報算出手段は、上記撮像動画を構成する上記第１の撮像画像および上記第２の撮像画像を構成する各画素に基づいて上記第１の撮像画像および上記第２の撮像画像における特徴点を抽出する特徴点抽出手段と、上記抽出された各特徴点に基づいて上記第１の撮像画像および上記第２の撮像画像に関する動き量を算出する動き量算出手段と、上記算出された動き量に基づいて所定の変換パラメータを算出することにより上記変換情報を算出する変換パラメータ算出手段とを含むようにしてもよい。また、この場合において、上記特徴点抽出手段はマルチコアプロセッサにより構成され、上記マルチコアプロセッサは、上記第１の撮像画像および上記第２の撮像画像を構成する各画素についてＳＩＭＤ演算によって並列処理することにより上記第１の撮像画像および上記第２の撮像画像における特徴量を抽出するようにしてもよい。また、この場合において、上記動き量算出手段はマルチコアプロセッサにより構成され、上記マルチコアプロセッサは、上記抽出された各特徴点についてＳＩＭＤ演算によって並列処理することにより上記第１の撮像画像および上記第２の撮像画像に関する動き量を算出するようにしてもよい。
【００１０】
また、この第１の側面において、上記画像位置取得手段は、上記変換された撮像画像の中心位置を上記座標位置として取得し、上記画像位置記憶手段は、上記取得された中心位置と上記撮像画像とを関連付けて記憶し、上記画像位置記憶手段に記憶されている中心位置の中から上記選択された上記代表画像における位置から最も近い中心位置を選択することにより上記選択された位置に対応する撮像画像を選択する選択手段をさらに具備するようにしてもよい。これにより、変換された撮像画像の中心位置を座標位置として取得して撮像画像と関連付けて記憶し、この記憶されている中心位置の中から、選択された代表画像における位置から最も近い中心位置を選択することにより、選択された位置に対応する撮像画像を選択するという作用をもたらす。
【００１１】
また、この第１の側面において、上記画像位置取得手段は、上記変換された撮像画像の中心位置および大きさを上記座標位置として取得し、上記画像位置記憶手段は、上記取得された中心位置および大きさと上記撮像画像とを関連付けて記憶し、上記選択手段は、上記画像位置記憶手段に記憶されている中心位置の中から上記選択された上記代表画像における位置から最も近い中心位置が複数検出された場合には当該検出された複数の中心位置に対応する大きさを比較することにより上記選択された位置に対応する撮像画像を選択するようにしてもよい。これにより、変換された撮像画像の中心位置および大きさを座標位置として取得して撮像画像と関連付けて記憶し、この記憶されている中心位置の中から、選択された代表画像における位置から最も近い中心位置が複数検出された場合には、この検出された複数の中心位置に対応する大きさを比較することにより、選択された位置に対応する撮像画像を選択するという作用をもたらす。
【００１２】
また、この第１の側面において、上記変換情報算出手段は、上記撮像動画を構成するフレーム毎に上記変換情報を順次算出し、上記画像変換手段は、上記撮像画像を上記フレーム毎に順次変換し、上記画像合成手段は、上記変換された撮像画像を上記履歴画像に上記フレーム毎に順次合成して新たな履歴画像とし、上記画像保持手段は、上記フレーム毎に上記新たな履歴画像を順次保持し、上記撮像動画を構成する少なくとも一定数のフレームに対応する画像が合成された上記履歴画像を上記代表画像として記憶する代表画像記憶手段をさらに具備するようにしてもよい。これにより、フレーム毎に変換情報を順次算出し、撮像画像をフレーム毎に順次変換し、この変換された撮像画像を履歴画像にフレーム毎に順次合成して新たな履歴画像として順次保持し、撮像動画を表す代表画像として撮像動画を構成する少なくとも一定数のフレームに対応する画像が合成された履歴画像を記憶するという作用をもたらす。
【００１３】
また、この第１の側面において、上記画像合成手段は、上記代表画像の縮小画像を作成し、上記代表画像および上記縮小画像を関連付けて記憶する代表画像記憶手段をさらに具備し、上記表示制御手段は、上記代表画像記憶手段に記憶されている縮小画像を一覧画像として選択可能に表示させるようにしてもよい。これにより、代表画像の縮小画像を作成して代表画像と関連付けて記憶し、この記憶されている縮小画像を一覧画像として選択可能に表示させるという作用をもたらす。
【００１４】
また、本発明の第２の側面は、撮像装置により撮像された動画を撮像動画として入力する動画入力手段と、上記撮像動画を構成する撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、上記算出された変換情報に基づいて上記撮像画像を変換する画像変換手段と、上記撮像画像または上記変換された撮像画像のうちの少なくとも一方を上記撮像動画のインデックス画像とし、上記変換情報により定められる撮像空間上の上記インデックス画像の座標位置および大きさを記憶するインデックス画像記憶手段と、上記変換された撮像画像と上記インデックス画像記憶手段に記憶されているインデックス画像の座標位置および大きさとに基づいて上記撮像動画からインデックス画像を抽出するインデックス画像抽出手段とを具備することを特徴とする画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、撮像動画を入力すると、撮像動画を構成する撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出し、この算出された変換情報に基づいて撮像画像を変換し、この変換された撮像画像とインデックス画像記憶手段に記憶されているインデックス画像の座標位置および大きさとに基づいて、撮像動画からインデックス画像を抽出するという作用をもたらす。
【００１５】
また、この第２の側面において、上記インデックス画像抽出手段は、上記変換された撮像画像と上記インデックス画像記憶手段に記憶されているインデックス画像との重複率を算出して当該算出された重複率に基づいて上記インデックス画像を抽出するようにしてもよい。これにより、変換された撮像画像と、インデックス画像記憶手段に記憶されているインデックス画像との重複率を算出し、この算出された重複率に基づいてインデックス画像を抽出するという作用をもたらす。
【００１６】
また、この第２の側面において、上記インデックス画像抽出手段は、上記抽出されたインデックス画像の上記座標位置および大きさを上記インデックス画像記憶手段に順次記録するようにしてもよい。これにより、抽出されたインデックス画像の座標位置および大きさを、インデックス画像記憶手段に順次記録するという作用をもたらす。
【００１７】
また、この第２の側面において、上記インデックス画像抽出手段は、上記抽出されたインデックス画像の上記座標位置および大きさと上記抽出されたインデックス画像とを関連付けて上記インデックス画像記憶手段に順次記録するようにしてもよい。これにより、抽出されたインデックス画像の座標位置および大きさとそのインデックス画像とを関連付けて、インデックス画像記憶手段に順次記録するという作用をもたらす。
【００１８】
また、この第２の側面において、上記インデックス画像記憶手段に記憶されているインデックス画像の上記座標位置および大きさに基づいて当該インデックス画像を二次元空間に配置して表示させる表示制御手段をさらに具備するようにしてもよい。これにより、インデックス画像記憶手段に記憶されているインデックス画像の座標位置および大きさに基づいて、インデックス画像を二次元空間に配置して表示させるという作用をもたらす。
【００１９】
また、この第２の側面において、上記インデックス画像抽出手段は、上記抽出されたインデックス画像の上記座標位置および大きさと上記抽出されたインデックス画像と上記撮像動画における上記抽出されたインデックス画像に関する時間情報とを関連付けて上記インデックス画像記憶手段に順次記録し、上記インデックス画像記憶手段に記憶されているインデックス画像の時間情報と座標位置と大きさとに基づいて当該インデックス画像を三次元空間に仮想的に配置して当該インデックス画像を平面に投影して表示させる表示制御手段をさらに具備するようにしてもよい。これにより、抽出されたインデックス画像の座標位置および大きさと、そのインデックス画像と、そのインデックス画像に関する時間情報とを関連付けてインデックス画像記憶手段に順次記録し、このインデックス画像記憶手段に記憶されているインデックス画像の時間情報と座標位置と大きさとに基づいて、インデックス画像を三次元空間に仮想的に配置してインデックス画像を平面に投影して表示させるという作用をもたらす。
【００２０】
また、この第２の側面において、上記撮像動画を記憶する動画記憶手段と、上記三次元空間に配置されているインデックス画像を選択する選択操作を受け付ける操作受付手段と、上記選択された上記インデックス画像に基づいて上記インデックス画像記憶手段に記憶されている上記時間情報を選択する選択手段とをさらに具備し、上記表示制御手段は、上記動画記憶手段に記憶されている撮像動画を上記選択された時間情報に対応する撮像画像から再生させるようにしてもよい。これにより、三次元空間に配置されているインデックス画像を選択する選択操作を受け付けると、この選択されたインデックス画像に基づいて時間情報を選択して、この選択された時間情報に対応する撮像画像から動画を再生させるという作用をもたらす。
【００２１】
また、この第２の側面において、履歴画像を保持する画像保持手段と、上記抽出されたインデックス画像に対応する上記変換された撮像画像には所定のマーカを付して上記変換された撮像画像を上記履歴画像に合成して新たな履歴画像として上記画像保持手段に保持させる画像合成手段と、上記撮像動画を表す代表画像として上記履歴画像を記憶する代表画像記憶手段とをさらに具備するようにしてもよい。これにより、抽出されたインデックス画像に対応する撮像画像には所定のマーカを付して、変換された撮像画像を履歴画像に合成して新たな履歴画像として保持させ、履歴画像を代表画像として記憶するという作用をもたらす。
【００２２】
また、この第２の側面において、上記撮像動画を記憶する動画記憶手段と、上記代表画像記憶手段に記憶されている代表画像を表示する表示手段と、上記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、上記選択された上記代表画像における位置に基づいて上記抽出されたインデックス画像を選択する選択手段と、上記動画記憶手段に記憶されている撮像動画を上記選択されたインデックス画像に対応する撮像画像から再生させる表示制御手段とをさらに具備するようにしてもよい。これにより、表示されている代表画像における位置を選択する選択操作を受け付けると、この選択された代表画像における位置に基づいてインデックス画像を選択し、この選択されたインデックス画像に対応する撮像画像から動画を再生させるという作用をもたらす。
【００２３】
また、本発明の第３の側面は、撮像装置により撮像された撮像動画を記憶する動画記憶手段と、上記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段と、上記撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、上記算出された変換情報に基づいて上記撮像画像を変換する画像変換手段と、上記変換された撮像画像を上記履歴画像に合成して新たな履歴画像として上記画像保持手段に保持させる画像合成手段と、上記変換された撮像画像の上記合成による上記履歴画像上の座標位置を取得する画像位置取得手段と、上記取得された座標位置と上記撮像画像とを関連付けて記憶する画像位置記憶手段と、上記撮像動画を表す代表画像として上記履歴画像を表示する表示手段と、上記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、上記選択された上記代表画像における位置に基づいて上記動画記憶手段に記憶されている撮像動画を上記選択された位置に対応する撮像画像から再生させる表示制御手段とを具備することを特徴とする動画再生装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、撮像動画を構成する撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出し、この算出された変換情報に基づいて撮像画像を変換し、この変換された撮像画像を履歴画像に合成して新たな履歴画像として保持させ、変換された撮像画像の履歴画像上の座標位置を取得して撮像画像に関連付けて記憶し、撮像動画を表す代表画像として履歴画像を表示し、この表示されている代表画像における位置を選択する選択操作を受け付けると、この選択された代表画像における位置に対応する撮像画像から撮像動画を再生させるという作用をもたらす。
【発明の効果】
【００２４】
本発明によれば、撮像装置により撮影された動画の内容を容易に把握することができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００２５】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２６】
図１は、本発明の実施の形態における画像処理装置１００の機能構成例を示すブロック図である。画像処理装置１００は、動画入力部１１０と、カメラワーク検出部１２０と、記録制御部１３０と、動画取得部１４０と、カメラワークパラメータ抽出部１５０と、画像変換部１６０と、画像メモリ１７０と、画像合成部１８０と、画像位置取得部１９０と、動画記憶部２００と、画像位置記憶部２１０と、代表画像記憶部２２０と、操作受付部２３０と、選択部２４０と、表示制御部２５０と、表示部２６０とを備える。画像処理装置１００は、例えば、デジタルビデオカメラ等の撮像装置で撮影された動画について、映像解析により特徴量を抽出し、この抽出された特徴量を用いて各種画像処理を施すことが可能なパーソナルコンピュータによって実現することができる。
【００２７】
動画入力部１１０は、デジタルビデオカメラ等の撮像装置（以下では、単に「カメラ」と称する。）により撮像された動画を入力する動画入力部であり、入力された動画をカメラワーク検出部１２０に出力する。
【００２８】
カメラワーク検出部１２０は、動画入力部１１０から出力された動画を解析して、撮像時におけるカメラの動き情報（カメラワーク）を検出するものであり、特徴点抽出部１２１と、オプティカルフロー計算部１２２と、カメラワークパラメータ算出部１２３とを備える。すなわち、カメラワーク検出部１２０は、動画を構成する各画像から特徴点を抽出するとともに、この特徴点に対するオプティカルフロー（動きベクトル）を抽出し、この抽出された特徴点に対するオプティカルフローを解析して支配的な動きを見せた特徴点を選択し、この支配的な動きを見せた特徴点に対するオプティカルフローに基づいてカメラの動きを推定する。ここで、支配的な動きとは、複数の特徴点に対するオプティカルフローの中で、比較的多数のオプティカルフローが示す規則的な動きを意味する。
【００２９】
特徴点抽出部１２１は、動画入力部１１０から出力された動画を構成するフレームに対応する画像から特徴点を抽出し、抽出された特徴点をオプティカルフロー計算部１２２に出力するものである。ここで、特徴点抽出部１２１は、動画入力部１１０から出力された動画を構成するフレームのうちの先頭のフレームについては、画像全体から特徴点を抽出し、先頭以外のフレームについては、直前のフレームに対応する画像と比較して新しく撮影された領域部分から特徴点を抽出する。なお、特徴点として、例えば、縦方向または横方向にエッジの勾配が強い点（一般に「コーナー点」と呼ばれている。以下では、「コーナー点」と称する。）を抽出することができる。このコーナー点は、オプティカルフローの計算に強い特徴点であり、エッジ検出を用いて求めることができる。なお、このコーナー点の抽出については、図４および図５を参照して詳細に説明する。また、この例では、特徴点抽出部１２１は、先頭のフレームについては画像全体から特徴点を抽出し、先頭以外のフレームについては直前の画像と比較して新しく撮影された領域部分から特徴点を抽出するが、処理能力等に応じて、先頭以外の各フレームについても、画像全体から特徴点を抽出するようにしてもよい。
【００３０】
オプティカルフロー計算部１２２は、特徴点抽出部１２１から出力された各特徴点に対するオプティカルフローを計算するものであり、計算して求められたオプティカルフローをカメラワークパラメータ算出部１２３に出力する。具体的には、動画入力部１１０から出力された動画を構成する連続する２つのフレーム（現フレームおよびこの直前のフレーム）に対応する各画像を比較することにより、直前のフレームに対応する画像における各特徴点に対応するオプティカルフローを、現フレームのオプティカルフローとして求める。また、オプティカルフローは、動画を構成するフレーム毎に求められる。なお、オプティカルフローを検出する検出方法として、勾配法やブロックマッチング方法等の検出方法を用いることができる。なお、このオプティカルフローの計算については、図４および図５を参照して詳細に説明する。
【００３１】
カメラワークパラメータ算出部１２３は、オプティカルフロー計算部１２２から出力された各特徴点に対応するオプティカルフローを用いて、カメラワークパラメータを抽出するカメラワークパラメータ算出処理を行うものであり、算出されたカメラワークパラメータを記録制御部１３０に出力する。ここで、本発明の実施の形態では、再生の対象となる動画を構成する画像をカメラの動きに合わせて変換して表示する。この画像の変換を行うため、オプティカルフロー計算部１２２により計算されたオプティカルフローを用いてカメラの動きが抽出され、この抽出された動きに基づいて、カメラワークパラメータ（変換パラメータ）が計算される。なお、本発明の実施の形態では、再生の対象となる動画を構成する画像を変換する画像変換方法として、アフィン変換を用いる例について説明する。また、カメラワークパラメータとして、オプティカルフローに基づいて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを用いる例について説明する。すなわち、本発明の実施の形態では、変換情報として用いられるアフィン変換パラメータを、連続する画像間の特徴点の動きを表すアフィン行列ではなく、連続する画像のうちの１つの画像を基準画像とした場合に、この基準画像の次の画像がどこに移動するかを示すアフィン行列に対応するアフィン変換パラメータと定義する。また、カメラワークパラメータとして、アフィン変換パラメータを用いる例について説明する。なお、射影変換等の他の画像変換方法を用いるようにしてもよい。なお、アフィン変換パラメータは、３点のベクトルを用いて計算して求めることができる。また、射影変換パラメータは、４点のベクトルを用いて計算して求めることができる。ここで、カメラワークパラメータは、撮像動画を構成する撮像画像のうちの少なくとも１つの撮像画像を基準にして他の撮像画像を変換するための変換情報であり、少なくともカメラの座標系で記述される位置情報および姿勢情報を含むものである。すなわち、カメラワークパラメータは、撮影者により撮影されている場合におけるカメラの位置や姿勢に関する情報を含むものである。また、カメラワークパラメータ算出部１２３により求められたアフィン変換パラメータに基づいて、例えば、ズームイン、ズームアウト、パン、チルト、ローテーション等の撮影者の操作によるカメラの動きを推定することができる。なお、アフィン変換パラメータの計算については、図４および図５を参照して詳細に説明する。
【００３２】
記録制御部１３０は、動画入力部１１０から出力された動画と、カメラワークパラメータ算出部１２３から出力されたアフィン変換パラメータとについて、互いに対応するフレームとアフィン変換パラメータとを関連付けて動画ファイルとして動画記憶部２００に記録するものである。
【００３３】
動画記憶部２００は、互いに対応するフレームとアフィン変換パラメータとが関連付けられた動画ファイルを記憶するものである。また、動画記憶部２００は、動画取得部１４０からの要求に応じて動画ファイルを動画取得部１４０に供給する。
【００３４】
動画取得部１４０は、動画記憶部２００に記憶されている動画ファイルを取得するものであり、取得された動画ファイルをカメラワークパラメータ抽出部１５０および画像変換部１６０に出力する。
【００３５】
カメラワークパラメータ抽出部１５０は、動画取得部１４０から出力された動画ファイルに関連付けて記録されているアフィン変換パラメータをフレーム毎に抽出するものであり、抽出されたアフィン変換パラメータを画像変換部１６０に出力する。
【００３６】
画像変換部１６０は、動画取得部１４０から出力された動画ファイルの動画を構成する画像について、カメラワークパラメータ抽出部１５０から出力されたアフィン変換パラメータを用いてフレーム毎にアフィン変換を施し、アフィン変換された画像を画像合成部１８０および画像位置取得部１９０に出力するものである。具体的には、画像変換部１６０は、動画取得部１４０から出力された現フレームに対応する画像を、カメラワークパラメータ抽出部１５０から出力されたアフィン変換パラメータを用いてアフィン変換する。なお、この画像変換については、図７乃至図１５等を参照して詳細に説明する。
【００３７】
画像メモリ１７０は、画像合成部１８０により合成された合成画像を保持するワークバッファを備え、保持されている合成画像を画像合成部１８０および画像位置取得部１９０に供給するものである。すなわち、画像メモリ１７０は、履歴画像を保持する画像メモリである。
【００３８】
画像合成部１８０は、画像変換部１６０から出力された変換画像および画像メモリ１７０に保持されている合成画像を合成し、合成された合成画像を画像メモリ１７０に出力するものである。具体的には、画像合成部１８０は、画像メモリ１７０に保持されている直前までの各フレームに対応する合成画像に、画像変換部１６０によりアフィン変換された画像を上書きすることにより画像を合成する。また、１つの動画について先頭のフレームから最後のフレームまでの画像合成が終了した場合には、画像合成部１８０は、画像メモリ１７０に保持されている合成画像の縮小画像を作成して、この作成された縮小画像および画像メモリ１７０に保持されている合成画像をパノラマ画像として代表画像記憶部２２０に出力して記録させる。このパノラマ画像は、動画入力部１１０から入力された動画を表す代表画像であり、この動画に含まれる各撮影空間の大部分が含まれるように作成される画像である。なお、これらの画像合成については、図７乃至図１５等を参照して詳細に説明する。
【００３９】
画像位置取得部１９０は、画像変換部１６０から出力された変換画像および画像メモリ１７０に保持されている合成画像に基づいて、画像メモリ１７０のワークバッファ上における画像変換部１６０から出力された変換画像の中心位置および画像の大きさ（面積）を取得するものであり、取得された変換画像の中心位置および画像の大きさを、変換画像に対応するフレーム番号とともに画像位置記憶部２１０に出力する。すなわち、画像位置取得部１９０は、画像変換部１６０から出力された変換画像について、画像合成部１８０により作成されるパノラマ画像（代表画像）における座標位置を取得する。なお、この画像の中心位置および画像の大きさについては、図２を参照して詳細に説明する。
【００４０】
画像位置記憶部２１０は、画像位置取得部１９０から出力された画像のフレーム番号、画像の中心位置および大きさを関連付けて記憶するものであり、記憶されているフレーム番号、画像の中心位置および大きさを選択部２４０に出力する。なお、画像位置記憶部２１０に記憶されている各情報については、図２を参照して詳細に説明する。
【００４１】
代表画像記憶部２２０は、画像合成部１８０から出力された合成画像を、動画記憶部２００に記憶されている動画に関するパノラマ画像として記憶するとともに、画像合成部１８０から出力された縮小画像を、動画記憶部２００に記憶されている動画に関するパノラマ縮小画像として記憶するものであり、記憶されているパノラマ画像を表示制御部２５０に供給する。
【００４２】
操作受付部２３０は、各種操作キー等を備え、これらのキーによる操作入力を受け付けると、受け付けた操作入力の内容を選択部２４０または表示制御部２５０に出力するものである。操作受付部２３０には、例えば、マウス（ポインティングデバイス）が備えられ、このマウスからの操作入力に応じて移動するカーソル（マウスポインタ）が表示部２６０に表示される。カーソルは、表示部２６０に表示される画面上において、指示や操作の対象を指し示すために用いられるマウスポインタである。
【００４３】
選択部２４０は、操作受付部２３０により受け付けられたパノラマ画像における位置選択操作を入力すると、画像位置記憶部２１０に記憶されている画像の中心位置および大きさに基づいて、画像位置記憶部２１０に記憶されているフレーム番号の中から１つのフレーム番号を選択して、選択されたフレーム番号およびこれに対応する動画ＩＤを表示制御部２５０に出力するものである。なお、この選択については、図２２を参照して詳細に説明する。
【００４４】
表示制御部２５０は、操作受付部２３０の操作入力に応じて、代表画像記憶部２２０に記憶されているパノラマ画像、または、動画記憶部２００に記憶されている動画を表示部２６０に表示させる制御を行うものである。また、表示制御部２５０は、選択部２４０からフレーム番号および動画ＩＤが入力されると、動画記憶部２００から動画ＩＤに対応する動画を検索するとともに、この検索された動画についてフレーム番号に対応する位置から再生を開始する。
【００４５】
表示部２６０は、表示制御部２５０からの制御に基づいて、代表画像記憶部２２０に記憶されているパノラマ画像、または、動画記憶部２００に記憶されている動画を表示するものである。例えば、パーソナルコンピュータやテレビジョンのディスプレイにより実現することができる。なお、合成画像の表示例については、図２０等を参照して詳細に説明する。
【００４６】
図２は、本発明の実施の形態における画像位置記憶部２１０に記憶されている内容を概略的に示す図である。
【００４７】
画像位置記憶部２１０には、画像変換部１６０によりアフィン変換され、画像合成部１８０により合成された画像に関する情報がフレーム毎に時系列で記憶されている。具体的には、画像位置記憶部２１０には、動画ＩＤ２１１と、フレーム番号２１２と、中心位置２１３と、画像サイズ２１４とが関連付けて記憶されている。
【００４８】
動画ＩＤ２１１は、動画記憶部２００に記憶されている各動画に対応するＩＤである。
【００４９】
フレーム番号２１２は、動画記憶部２００に記憶されている動画を構成するフレームの識別番号であり、例えば、先頭のフレームのフレーム番号を「１」とし、２番目のフレーム番号を「２」とする。そして、３番目以降のフレームについても同様にフレーム番号が付与される。このように、動画取得部１４０により取得された動画を構成する各フレームについて、画像変換部１６０によりアフィン変換された画像に対応するフレームのフレーム番号が時系列でフレーム番号２１２に記録される。
【００５０】
中心位置２１３は、画像メモリ１７０のワークバッファ上における画像変換部１６０によりアフィン変換された画像の中心位置を示すものである。例えば、画像メモリ１７０のワークバッファ上をｘｙ座標とした場合には、画像変換部１６０によりアフィン変換された画像の中心位置に対応する座標の値が記録される。
【００５１】
画像サイズ２１４は、画像メモリ１７０のワークバッファ上における画像変換部１６０によりアフィン変換された画像の大きさを示す画像サイズである。例えば、この画像サイズとして、画像変換部１６０によりアフィン変換された画像の面積が記録される。なお、本発明の実施の形態では、画像変換部１６０によりアフィン変換された画像の位置情報として、中心位置および画像サイズを用いる例について説明するが、そのアフィン変換された画像の位置情報として、その画像の４頂角に対応する座標等の他の位置情報を用いるようにしてもよい。
【００５２】
図３は、本発明の実施の形態における代表画像記憶部２２０に記憶されている内容を概略的に示す図である。
【００５３】
代表画像記憶部２２０には、動画記憶部２００に記憶されている各動画について画像合成部１８０により作成された合成画像および縮小画像が、パノラマ画像およびパノラマ縮小画像として記憶されている。具体的には、代表画像記憶部２２０には、動画ＩＤ２２１と、パノラマ画像２２２と、パノラマ縮小画像２２３とが関連付けて記憶されている。例えば、１つの動画について１つのパノラマ画像およびパノラマ縮小画像が記憶される。
【００５４】
動画ＩＤ２１１は、動画記憶部２００に記憶されている動画に対応するＩＤである。
【００５５】
パノラマ画像２２２は、動画記憶部２００に記憶されている各動画について画像合成部１８０により合成された合成画像である。なお、図３では、代表画像記憶部２２０に記憶されている各パノラマ画像を「Ａ１」、「Ｂ１」、「Ｃ１」として省略して示す。
【００５６】
パノラマ縮小画像２２３は、動画記憶部２００に記憶されている各動画について画像合成部１８０により作成された合成画像が縮小された縮小画像であり、パノラマ画像２２２に記憶されるパノラマ画像が縮小されたものである。なお、図３では、代表画像記憶部２２０に記憶されている各パノラマ縮小画像を「Ａ１１」、「Ｂ１１」、「Ｃ１１」として省略して示す。
【００５７】
次に、画像変換に用いられるアフィン変換パラメータを検出する検出方法について図面を参照して詳細に説明する。
【００５８】
図４（ａ）乃至（ｃ）は、動画を構成するフレームに対応する画像の一例を示す図である。図５（ａ）は、図４に示す画像３００に対応するフレームの１つ前のフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。また、図５（ｂ）および（ｃ）は、図４に示す画像３００について背景等を省略して簡略化した画像を示す図である。
【００５９】
図４および図５に示す画像３００、３２０、３３０には、人が跨っている馬の像３０１、３２１、３３１と、この馬の像３０１、３２１、３３１の手前に設置されている蛇の像３０２、３２２、３３２とが含まれている。また、図４に示すように、これらの像の背景には旗や椅子等が存在し、この旗が風になびいている。
【００６０】
図５（ａ）に示す画像３２０は、図４（ａ）乃至（ｃ）および図５（ｂ）および（ｃ）に示す画像３００、３３０に対応するフレームの１つ前のフレームに対応する画像を簡略化した画像である。また、２つの連続するフレームに対応する画像３２０および３３０は、画面内の被写体が次第に大きくなる場合における遷移を示す画像である。すなわち、この撮像時には、画面内の被写体を次第に大きくする操作であるズームイン操作がされている。
【００６１】
本発明の実施の形態では、動画を構成する画像から特徴点を検出し、この特徴点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。また、この例では、特徴点としてコーナー点を用いる場合について説明する。
【００６２】
ここで、図５（ａ）乃至（ｃ）では、画像３２０および３３０から検出された３つのコーナー点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。
【００６３】
例えば、図５（ａ）に示す画像３２０において、特徴点として、馬の像３２１における口付近のコーナー点３２３と、馬の像３２１における人のお尻付近のコーナー点３２４と、蛇の像３２２の口付近のコーナー点３２５とが検出されているものとする。この場合において、図５（ｂ）に示す画像３３０において、勾配法やブロックマッチング法等により、画像３２０におけるコーナー点３２３、３２４および３２５に対するオプティカルフロー３３７、３３８および３３９が検出される。そして、この検出されたオプティカルフロー３３７、３３８および３３９に基づいて、画像３２０におけるコーナー点３２３、３２４および３２５に対応するコーナー点３３３、３３４および３３５が検出される。
【００６４】
ここで、例えば、図５（ａ）および（ｂ）に示す画像３２０および３３０に含まれる馬の像３２１、３３１や蛇の像３２２、３３２は、地面に設置されているものであるため、カメラの動きとは無関係に動くものではない。このため、馬の像３２１、３３１や蛇の像３２２、３３２について検出されたコーナー点に対して求められたオプティカルフローに基づいて、カメラの動きを正確に推定することができる。例えば、図５（ｃ）に示すように、画像３３０において検出された３つのオプティカルフロー３３７乃至３３９に基づいて、画像３３０が、点３３６を中心にして画像３２０を拡大したものであることを推定することができる。これにより、画像３３０の撮影時におけるカメラの動きは、点３３６を中心とするズームイン動作であると判断することができる。このように、カメラの動きとは無関係に動くものではない物体についてコーナー点を検出し、このコーナー点に対して求められたオプティカルフローに基づいて、一定の規則性を備えるカメラの動きを正確に検出することができる。このため、これらのコーナー点に対して求められたオプティカルフローを用いて、アフィン変換パラメータを計算して求めることができる。
【００６５】
しかしながら、風になびいている旗等のように、カメラの動きとは無関係に動く物体が画像内に含まれる場合が考えられる。例えば、図４に示す画像３００には、風になびいている旗が含まれている。このようなカメラの動きとは無関係に動く物体についてコーナー点が検出され、このコーナー点に対して求められたオプティカルフローを用いてカメラの動きを推定する場合には、カメラの動きを正確に推定することができない。
【００６６】
例えば、図４（ｂ）に示す画像３００において検出されたオプティカルフローを矢印で示すとともに、このオプティカルフローにより検出されたコーナー点を矢印の先端に白抜きの丸で示す。ここで、コーナー点３０３乃至３０５は、図５（ｂ）および（ｃ）に示すコーナー点３３３乃至３３５に対応するコーナー点である。また、コーナー点３０６乃至３１１は、馬の像３０１の背景に存在する旗について検出されたコーナー点である。そして、これらの旗が風になびいているため、風の影響による旗の動きがオプティカルフローとして検出されている。すなわち、コーナー点３０６乃至３１１に対応する各オプティカルフローは、カメラの動きとは無関係に動く旗について検出されたものである。このため、アフィン変換パラメータを計算する場合に用いられる３つのオプティカルフローに、コーナー点３０６乃至３１１のうちの少なくとも１つのコーナー点に対応するオプティカルフローが含まれている場合には、正確なカメラの動きを検出することができない。この場合には、正確なアフィン変換パラメータを計算することができない。
【００６７】
以上で示したように、例えば、カメラの動きとは無関係に動く物体に対するオプティカルフロー（図４（ｂ）に示すコーナー点３０６乃至３１１に対応する各オプティカルフロー）と、カメラの動きとの関係で一定の規則性を備えるオプティカルフロー（図４（ｂ）に示すコーナー点３０６乃至３１１に対応する各オプティカルフロー以外のオプティカルフロー）とが、撮影画像から検出されることがある。
【００６８】
そこで、本発明の実施の形態では、３個のオプティカルフローに基づいてアフィン変換パラメータを計算するアフィン変換パラメータ計算処理を複数回行い、複数のアフィン変換パラメータを求め、これらの複数のアフィン変換パラメータの中から最適なアフィン変換パラメータを選択する例について説明する。なお、この例では、動画を構成する各画像に含まれている動物体の大きさが、画像の面積に対して比較的小さいものとする。
【００６９】
ここで、アフィン変換について簡単に説明する。２次元上において、移動元の位置を（ｘ，ｙ）とし、アフィン変換後の移動先の位置を（ｘ´，ｙ´）とした場合に、アフィン変換の行列式は、式１で表すことができる。
【数１】
2009077363.tif 000003
【００７０】
ここで、ａ乃至ｆは、アフィン変換パラメータである。また、このアフィン変換パラメータによるアフィン行列ＡＭを次の式で表すことができる。この場合に、Ｘ方向のズーム成分ＸＺ、Ｙ方向のズーム成分ＹＺ、Ｘ方向の並進成分ＸＴ、Ｙ方向の並進成分ＹＴ、回転成分Ｒについては、それぞれ次の式で求めることができる。なお、単位行列の場合には、ａ＝ｅ＝１、ｂ＝ｃ＝ｄ＝ｆ＝０となる。
【数２】
2009077363.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）８９０の内部構成を模式的に示す図である。ここで、ブルーレイディスクを再生可能なブルーレイ再生機８９０は、ＣＰＵ８９１およびＯＳ８９２とともに、Ｊａｖａ  ＶＭ（Ｊａｖａ仮想マシン）およびライブラリ８９３が標準で搭載されているため、Ｊａｖａプログラムを実行することが可能である。このため、ブルーレイディスク８８０をブルーレイ再生機８９０に装着することにより、ブルーレイ再生機８９０がＪａｖａプログラム８８１をロードして実行することが可能である。これにより、ブルーレイ再生機８９０が動画コンテンツ８８２を再生する場合に、メタデータ８８４を用いて、本発明の実施の形態における動画に対応するパノラマ画像の表示や、複数の動画の中からの動画の検索等を行うことが可能である。すなわち、専用のＰＣソフト等を使わずに、全てのブルーレイ再生機で本発明の実施の形態における動画再生を実現することが可能になる。
【０２５７】
以上で示したように、本発明の実施の形態によれば、撮像装置により撮影された動画を閲覧する場合に、動画に対応するパノラマ画像を表示することができるため、各動画の内容を容易に把握することができる。また、複数の動画の中から所望の動画を検索する場合には、パノラマ縮小画像を参照して検索することができるため、所望の動画を迅速に探すことができる。さらに、パノラマ画像上の任意の位置を選択することによって、所望の位置から動画を再生させることができるため、動画内の検索についても迅速に行うことができる。
【０２５８】
また、動画からインデックス画像を抽出する場合には、空間的な位置に基づいて抽出することができるため、動画の内容を把握し易いインデックス画像を抽出することができる。また、動画から抽出されたインデックス画像をパノラマ画像上に空間的に配置することによって、動画の再生位置の指定をさらに容易に行うことができる。このように、インデックス画像を用いて検索をすることができるため、１つの動画の中の所望のフレームについて撮影空間における場所を指定して迅速に探すことができる。
【０２５９】
また、三次元空間上に仮想的に配置されたインデックス画像を表示することによって、動画の撮影時における空間的な情報および時間的な情報を視覚的に容易に把握することができ、これらの情報に基づいて動画の撮影内容を迅速に把握することができる。また、動画を再生する場合における検索を容易に行うことができる。
【０２６０】
すなわち、過去のフレームを活用して動画を空間的に展開したパノラマ画像またはインデックス画像を用いて動画を楽しく鑑賞することができる。これにより、例えば、パノラマ画像や３次元空間上に配置されたインデックス画像を見ながら動画を再生することができるため、閲覧者は面白み豊かに動画を観賞することができる。
【０２６１】
また、本発明の実施の形態によれば、マルチコアプロセッサを用いたＳＩＭＤ演算によりアフィン変換パラメータを算出することにより、１フレームのデコードの処理時間内に、１フレームのアフィン変換パラメータを算出することが可能である。これにより、パノラマ画像の作成やインデックス画像の抽出等を迅速に行うことができる。
【０２６２】
なお、ステップＳ９２６、Ｓ９５４等で合成された合成画像を記録媒体等に記録して、他の再生表示に用いるようにしてもよい。また、本発明の実施の形態では、予め算出されたアフィン変換パラメータを用いて画像合成する例について説明したが、画像合成の際にアフィン変換パラメータを算出し、この算出されたアフィン変換パラメータを用いて画像合成をするようにしてもよい。
【０２６３】
また、本発明の実施の形態では、入力された動画ファイルを構成する全てのフレームについて合成画像作成処理を繰り返して合成画像を作成する例について説明したが、入力された動画ファイルを構成するフレームの中の少なくとも一定数のフレームについて合成画像作成処理を繰り返して合成画像を作成し、この合成画像を代表画像記憶部２２０に記録させるようにしてもよい。また、本発明の実施の形態では、動画を構成する先頭のフレームから合成画像作成処理を繰り返して合成画像を作成する例について説明したが、例えば、最後のフレームから先頭のフレームに向かって合成画像作成処理を繰り返して合成画像を作成するようにしてもよい。
【０２６４】
また、本発明の実施の形態では、動画を構成する画像の面積に対する動物体の大きさが比較的小さい場合にカメラの動きを求め、このカメラの動きを利用して動画を再生する場合について説明した。しかしながら、動画を構成する画像の面積に対する動物体の大きさが比較的大きい場合についても、本発明の実施の形態を適用することが可能である。例えば、駅を出発する電車を被写体の中心としてその電車の画像面積に対する割合を大きく撮像した場合に、上述したアフィン変換パラメータを算出すると、電車の動きを算出することになる。この場合に、この電車の動きを利用して、上述した合成画像作成方法により合成画像を作成することができる。このように、動画を構成する画像を変換するための変換情報として、撮像時におけるカメラと被写体との相対的な動き量に関する動き情報を算出して用いることができる。
【０２６５】
また、本発明の実施の形態では、合成画像またはインデックス画像を表示部に表示する画像処理装置を例にして説明したが、合成画像またはインデックス画像を他の画像表示装置において表示させるための画像情報を出力する画像出力手段を設けた画像処理装置に本発明の実施の形態を適用することができる。さらに、動画を再生することが可能な動画再生装置や撮影された動画を再生することが可能なデジタルビデオカメラ等の撮像装置等に本発明の実施の形態を適用することができる。
【０２６６】
また、本発明の実施の形態では、画像処理装置を例にして説明したが、動画を再生することが可能な動画再生装置等に本発明の実施の形態を適用することができる。また、本発明の実施の形態では、カメラにより撮像された動画について説明したが、例えば、カメラにより撮像された動画が編集された場合における編集後の動画やアニメーション等が一部に合成された動画等についても、本発明の実施の形態を適用することができる。
【０２６７】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０２６８】
すなわち、請求項１または１５において、動画記憶手段は、例えば動画記憶部２００または６６０に対応する。また、画像保持手段は、例えば画像メモリ１７０に対応する。また、変換情報算出手段は、例えばカメラワーク検出部１２０に対応する。また、画像変換手段は、例えば画像変換部１６０に対応する。また、画像合成手段は、例えば画像合成部１８０に対応する。また、画像位置取得手段は、例えば画像位置取得部１９０に対応する。また、画像位置記憶手段は、例えば画像位置記憶部２１０に対応する。また、表示手段は、例えば表示部２６０に対応する。また、操作受付手段は、例えば操作受付部２３０に対応する。また、表示制御手段は、例えば表示制御部２５０に対応する。
【０２６９】
また、請求項２において、選択手段は、例えば選択部２４０に対応する。
【０２７０】
また、請求項４または５において、代表画像記憶手段は、例えば代表画像記憶部２２０に対応する。
【０２７１】
また、請求項６において、動画入力手段は、例えば動画入力部１１０に対応する。また、変換情報算出手段は、例えばカメラワーク検出部１２０に対応する。また、画像変換手段は、例えば画像変換部１６０に対応する。また、インデックス画像記憶手段は、例えばインデックス画像記憶部２８０に対応する。また、インデックス画像抽出手段は、例えばインデックス画像抽出部２７０に対応する。
【０２７２】
また、請求項１０または１１において、表示制御手段は、例えば表示制御部２５１に対応する。
【０２７３】
また、請求項１２において、動画記憶手段は、例えば動画記憶部２００に対応する。また、操作受付手段は、例えば操作受付部２３０に対応する。また、選択手段は、例えば選択部２４１に対応する。
【０２７４】
また、請求項１３において、画像保持手段は、例えば画像メモリ１７０に対応する。また、画像合成手段は、例えば画像合成部１８１に対応する。また、代表画像記憶手段は、例えば代表画像記憶部２２５に対応する。
【０２７５】
また、請求項１４において、動画記憶手段は、例えば動画記憶部２００に対応する。また、表示手段は、例えば表示部２６０に対応する。また、操作受付手段は、例えば操作受付部２３０に対応する。また、選択手段は、例えば選択部２４１に対応する。また、表示制御手段は、例えば表示制御部２５１に対応する。
【０２７６】
また、請求項１６または１７において、変換情報算出手順は、例えばステップＳ９０３乃至Ｓ９１３に対応する。また、画像変換手順は、例えばステップＳ９２５に対応する。また、画像合成手順は、例えばステップＳ９２６およびＳ９５４に対応する。また、画像位置取得手順は、例えばステップＳ９２７に対応する。また、画像位置記憶手段に記憶する手順は、例えばステップＳ９２７に対応する。また、表示手順は、例えばステップＳ９４２に対応する。また、操作受付手順は、例えばステップＳ９４５に対応する。また、表示制御手順は、例えばステップＳ９４７に対応する。
【０２７７】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【０２７８】
【図１】本発明の実施の形態における画像処理装置１００の機能構成例を示すブロック図である。
【図２】本発明の実施の形態における画像位置記憶部２１０に記憶されている内容を概略的に示す図である。
【図３】本発明の実施の形態における代表画像記憶部２２０に記憶されている内容を概略的に示す図である。
【図４】動画を構成するフレームに対応する画像の一例を示す図である。
【図５】動画を構成するフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。
【図６】本発明の実施の形態における画像処理装置１００によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
【図７】カメラにより撮影された動画の遷移の一例を示す図である。
【図８】図７に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図９】図７に示す画像４０１乃至４０３を含む動画を合成する場合における画像合成例を示す図である。
【図１０】カメラにより撮影された動画の遷移の一例を示す図である。
【図１１】図１０に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図１２】図１０に示す画像４２１乃至４２３を含む動画を合成する場合における合成例を示す図である。
【図１３】カメラにより撮影された動画の遷移の一例を示す図である。
【図１４】図１３に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。
【図１５】図１３に示す画像４４１乃至４４３を含む動画を合成する場合における合成例を示す図である。
【図１６】カメラにより撮影された動画の遷移の一例を示す図である。
【図１７】カメラにより撮影された動画の遷移の一例を示す図である。
【図１８】カメラにより撮影された動画の遷移の一例を示す図である。
【図１９】カメラにより撮影された動画の遷移の一例を示す図である。
【図２０】カメラにより撮影された動画が画像合成部１８０により合成されたパノラマ画像の一例を示す図である。
【図２１】本発明の実施の形態における表示部２６０に表示されるパノラマ画像一覧画面の表示例を示す図である。
【図２２】本発明の実施の形態における表示部２６０に表示されるパノラマ画像表示画面の表示例、動画および動画を構成するフレームの一部を模式的に示す図である。
【図２３】本発明の実施の形態における画像処理装置１００によるパノラマ画像作成処理の処理手順を示すフローチャートである。
【図２４】本発明の実施の形態における画像処理装置１００による動画再生処理の処理手順を示すフローチャートである。
【図２５】本発明の実施の形態における画像処理装置１０１の機能構成例を示すブロック図である。
【図２６】本発明の実施の形態におけるインデックス画像記憶部２８０に記憶されている内容を概略的に示す図である。
【図２７】本発明の実施の形態におけるインデックス画像を抽出する場合における抽出方法の一例を概略的に示す図である。
【図２８】パノラマ画像の一例とともに、このパノラマ画像に対応する動画に含まれるフレームおよびインデックス画像の関係を示す図である。
【図２９】本発明の実施の形態における画像処理装置１０１によるパノラマ画像作成処理の処理手順を示すフローチャートである。
【図３０】本発明の実施の形態における画像処理装置１０１による動画再生処理の処理手順を示すフローチャートである。
【図３１】本発明の実施の形態におけるインデックス画像記憶部２８０に記憶されているインデックス画像が三次元空間上に仮想的に配置されている場合を概略的に示す図である。
【図３２】本発明の実施の形態におけるインデックス画像記憶部２８０に記憶されているインデックス画像が三次元空間上に仮想的に配置されている場合を概略的に示す図である。
【図３３】三次元空間上に仮想的に配置されたインデックス画像７０１乃至７０８の表示例を示す図である。
【図３４】三次元空間上に仮想的に配置されたインデックス画像７０１乃至７０８の表示例を示す図である。
【図３５】本発明の実施の形態における画像処理装置６５０の機能構成例を示すブロック図である。
【図３６】本発明の実施の形態における動画記憶部６６０およびメタデータ記憶部６７０に記録されている各ファイルを模式的に示す図である。
【図３７】本発明の実施の形態におけるマルチコアプロセッサ８００の一構成例を示す図である。
【図３８】本発明の実施の形態における制御プロセッサコア８０１の一構成例を示す図である。
【図３９】本発明の実施の形態における演算プロセッサコア（＃１）８１１の一構成例を示す図である。
【図４０】本発明の実施の形態におけるマルチコアプロセッサ８００の演算方法を模式的に示す図である。
【図４１】本発明の実施の形態におけるマルチコアプロセッサ８００により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。
【図４２】複数のデータに対する処理をそれぞれの命令で行う演算方式の概要、および、複数のデータに対する処理を１つの命令で行うＳＩＭＤ演算の概要を模式的に示す図である。
【図４３】本発明の実施の形態における制御プロセッサコア８０１または演算プロセッサコア（＃１）８１１により実行されるプログラムの構成例を示す図である。
【図４４】本発明の実施の形態におけるメインメモリ７８１に格納されている画像データについて、ソベルフィルタ８３０を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。
【図４５】本発明の実施の形態におけるメインメモリ７８１に格納されている画像データについてソベルフィルタ８３０を用いてＳＩＭＤ演算を行う場合におけるデータの流れを概略的に示す図である。
【図４６】本発明の実施の形態におけるソベルフィルタ８３０を用いてフィルタリング処理を行う場合において、第一バッファ８３１に格納されている画像データから９つのベクトルを作成するベクトル作成方法を概略的に示す図である。
【図４７】本発明の実施の形態におけるソベルフィルタ８３０を用いてフィルタリング処理を行う場合において、ベクターデータ８４１乃至８４９についてＳＩＭＤ命令を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。
【図４８】本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。
【図４９】記録媒体の一例であるブルーレイディスク８８０、ブルーレイディスク８８０に記録されている各データ８８１乃至８８４、および、ブルーレイディスク８８０を再生可能なブルーレイ再生機８９０の内部構成を模式的に示す図である。
【符号の説明】
【０２７９】
１００、１０１、６５０  画像処理装置
１１０  動画入力部
１２０  カメラワーク検出部
１２１  特徴点抽出部
１２２  オプティカルフロー計算部
１２３  カメラワークパラメータ算出部
１３０、６５１  記録制御部
１４０  動画取得部
１５０  カメラワークパラメータ抽出部
１６０  画像変換部
１７０  画像メモリ
１８０、１８１  画像合成部
１９０  画像位置取得部
２００、６６０  動画記憶部
２１０  画像位置記憶部
２２０、２２５  代表画像記憶部
２３０  操作受付部
２４０、２４１  選択部
２５０、２５１  表示制御部
２６０  表示部
２７０  インデックス画像抽出部
２８０  インデックス画像記憶部
６７０  メタデータ記憶部
６５２  ファイル取得部
【図１】
2009077363.tif 000005
【図２】
2009077363.tif 000006
【図３】
2009077363.tif 000007
【図５】
2009077363.tif 000008
【図６】
2009077363.tif 000009
【図７】
2009077363.tif 000010
【図８】
2009077363.tif 000011
【図９】
2009077363.tif 000012
【図１０】
2009077363.tif 000013
【図１１】
2009077363.tif 000014
【図１２】
2009077363.tif 000015
【図１３】
2009077363.tif 000016
【図１４】
2009077363.tif 000017
【図１５】
2009077363.tif 000018
【図２１】
2009077363.tif 000019
【図２２】
2009077363.tif 000020
【図２３】
2009077363.tif 000021
【図２４】
2009077363.tif 000022
【図２５】
2009077363.tif 000023
【図２６】
2009077363.tif 000024
【図２７】
2009077363.tif 000025
【図２９】
2009077363.tif 000026
【図３０】
2009077363.tif 000027
【図３１】
2009077363.tif 000028
【図３２】
2009077363.tif 000029
【図３３】
2009077363.tif 000030
【図３４】
2009077363.tif 000031
【図３５】
2009077363.tif 000032
【図３６】
2009077363.tif 000033
【図３７】
2009077363.tif 000034
【図３８】
2009077363.tif 000035
【図３９】
2009077363.tif 000036
【図４０】
2009077363.tif 000037
【図４１】
2009077363.tif 000038
【図４２】
2009077363.tif 000039
【図４３】
2009077363.tif 000040
【図４４】
2009077363.tif 000041
【図４５】
2009077363.tif 000042
【図４６】
2009077363.tif 000043
【図４７】
2009077363.tif 000044
【図４８】
2009077363.tif 000045
【図４９】
2009077363.tif 000046
【図４】
2009077363.tif 000047
【図１６】
2009077363.tif 000048
【図１７】
2009077363.tif 000049
【図１８】
2009077363.tif 000050
【図１９】
2009077363.tif 000051
【図２０】
2009077363.tif 000052
【図２８】
2009077363.tif 000053