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