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