JP2009077363A - 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム - Google Patents

画像処理装置、動画再生装置、これらにおける処理方法およびプログラム Download PDF

Info

Publication number
JP2009077363A
JP2009077363A JP2007317768A JP2007317768A JP2009077363A JP 2009077363 A JP2009077363 A JP 2009077363A JP 2007317768 A JP2007317768 A JP 2007317768A JP 2007317768 A JP2007317768 A JP 2007317768A JP 2009077363 A JP2009077363 A JP 2009077363A
Authority
JP
Japan
Prior art keywords
image
captured
index
moving image
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2007317768A
Other languages
English (en)
Inventor
Shingo Tsurumi
辰吾 鶴見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007317768A priority Critical patent/JP2009077363A/ja
Priority to TW097130137A priority patent/TW200922325A/zh
Priority to EP08828856A priority patent/EP2073539A4/en
Priority to PCT/JP2008/064984 priority patent/WO2009028409A1/ja
Priority to KR1020097017397A priority patent/KR20100043138A/ko
Priority to US12/447,923 priority patent/US8754959B2/en
Priority to BRPI0806239-0A priority patent/BRPI0806239A2/pt
Priority to RU2009131717/09A priority patent/RU2009131717A/ru
Publication of JP2009077363A publication Critical patent/JP2009077363A/ja
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)
  • Processing Or Creating Images (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Studio Circuits (AREA)

Abstract

【課題】撮像動画を閲覧する場合に所望の動画を迅速に検索する。また、検索した動画の中から所望のフレームを迅速に検索する。
【解決手段】オプティカルフロー計算部122は、撮影動画の撮影時における撮像装置の動き量を検出し、カメラワークパラメータ算出部123は、その動き量に基づいて変換パラメータを算出する。画像変換部160は、変換パラメータに基づいて撮像画像を変換する。画像合成部180は、変換された撮像画像および履歴画像を合成する。表示部260は、撮像画像のうちの一定数の画像について画像合成部180により作成された履歴画像を代表画像として表示する。この表示されている代表画像における位置を選択する選択操作が受け付けられると、選択部240は、その選択された位置に基づいて動画の記録位置を選択する。表示制御部250は、選択された動画の記録位置から動画を再生させる。
【選択図】図1

Description

本発明は、画像処理装置に関し、特に、動画に対する画像処理を行うことが可能な画像処理装置、動画再生装置、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
近年、デジタルビデオカメラが普及している。このため、例えば、子供が通園している幼稚園のイベントにおいて、このイベントの様子が父母等によりデジタルビデオカメラで撮影されることが広く行われている。このようなイベントにおいて、父母等により撮影が行われる場合には、自分の子供を中心にして撮影されることが多いものの、そのイベントの様子が分かるように、そのイベントの風景等も適宜撮影されることが多い。また、幼稚園のイベント毎に撮影が行われると、撮影された動画の数が多くなる。
このように撮影された動画については、例えば、家庭内において、動画再生装置を用いてそのディスプレイで再生することができる。このように、動画再生装置を用いて再生する場合において、例えば、複数のイベントにおいて撮影された動画全体を最初から再生すると、再生時間が長くなってしまう。そこで、これらの動画全体から所望する部分を視聴者が検索して、検索された部分を順次再生することができれば、動画を効率的に楽しむことができると考えられる。
そこで、動画の各部におけるサムネイル画像を生成して、この生成されたサムネイル画像を用いて所望の記録位置から動画を再生させる技術が提案されている。例えば、記録媒体に記録されている複数の動画のシーンから各シーンを示す画面のサムネイル画像を複数形成し、これらのサムネイル画像を表示して、表示されているサムネイル画像から所望のサムネイル画像を選択することによって、選択されたサムネイル画像に対応するシーンの先頭から動画の再生を開始する再生装置が提案されている(例えば、特許文献1参照。)。
特開平11−289517号公報(図7)
上述の従来技術によれば、幼稚園等の複数のイベントで撮影された動画を視聴する場合において、これらの動画について表示されるサムネイル画像を用いて、所望するシーンの先頭から動画の再生を開始させることができる。
ここで、例えば、幼稚園の複数のイベントにおいて自分の子供を中心にして撮影された動画を閲覧する場合には、イベントが異なる場合でも、自分の子供が主に含まれている、似ているシーンが多く再生されることが考えられる。この場合には、生成されるサムネイル画像も似ていることが多い。また、撮影された動画の数が多い場合には、生成されるサムネイル画像の数が多くなる。このように、互いに似ているサムネイル画像が表示される場合や多数のサムネイル画像が表示される場合には、適切な検索を迅速に行うことができないと考えられる。
例えば、撮影の中心となる人物が同じである場合でも、撮影が行われた場所や周りの雰囲気等によって検索の対象である動画であるか否かを容易に判断することができる場合がある。そこで、例えば、幼稚園等の複数のイベントで撮影された動画を視聴する場合において、これらのイベントが行われた場所や周りの雰囲気等を容易に参照することができれば、動画の内容を容易に把握することができるため、所望の動画を迅速に検索することができると考えられる。
そこで、本発明は、撮像装置により撮影された動画の内容を容易に把握することを目的とする。
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、撮像装置により撮像された撮像動画を記憶する動画記憶手段と、上記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段と、上記撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、上記算出された変換情報に基づいて上記撮像画像を変換する画像変換手段と、上記変換された撮像画像を上記履歴画像に合成して新たな履歴画像として上記画像保持手段に保持させる画像合成手段と、上記変換された撮像画像の上記合成による上記履歴画像上の座標位置を取得する画像位置取得手段と、上記取得された座標位置と上記撮像画像とを関連付けて記憶する画像位置記憶手段と、上記撮像動画を表す代表画像として上記履歴画像を表示する表示手段と、上記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、上記選択された上記代表画像における位置に基づいて上記動画記憶手段に記憶されている撮像動画を上記選択された位置に対応する撮像画像から再生させる表示制御手段とを具備することを特徴とする画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出し、この算出された変換情報に基づいて撮像画像を変換し、この変換された撮像画像を履歴画像に合成して新たな履歴画像として保持させ、変換された撮像画像の履歴画像上の座標位置を取得して撮像画像に関連付けて記憶し、撮像動画を表す代表画像として履歴画像を表示し、この表示されている代表画像における位置を選択する選択操作を受け付けると、この選択された代表画像における位置に対応する撮像画像から撮像動画を再生させるという作用をもたらす。また、この場合において、上記変換情報算出手段は、上記撮像動画を構成する上記第1の撮像画像および上記第2の撮像画像を構成する各画素に基づいて上記第1の撮像画像および上記第2の撮像画像における特徴点を抽出する特徴点抽出手段と、上記抽出された各特徴点に基づいて上記第1の撮像画像および上記第2の撮像画像に関する動き量を算出する動き量算出手段と、上記算出された動き量に基づいて所定の変換パラメータを算出することにより上記変換情報を算出する変換パラメータ算出手段とを含むようにしてもよい。また、この場合において、上記特徴点抽出手段はマルチコアプロセッサにより構成され、上記マルチコアプロセッサは、上記第1の撮像画像および上記第2の撮像画像を構成する各画素についてSIMD演算によって並列処理することにより上記第1の撮像画像および上記第2の撮像画像における特徴量を抽出するようにしてもよい。また、この場合において、上記動き量算出手段はマルチコアプロセッサにより構成され、上記マルチコアプロセッサは、上記抽出された各特徴点についてSIMD演算によって並列処理することにより上記第1の撮像画像および上記第2の撮像画像に関する動き量を算出するようにしてもよい。
また、この第1の側面において、上記画像位置取得手段は、上記変換された撮像画像の中心位置を上記座標位置として取得し、上記画像位置記憶手段は、上記取得された中心位置と上記撮像画像とを関連付けて記憶し、上記画像位置記憶手段に記憶されている中心位置の中から上記選択された上記代表画像における位置から最も近い中心位置を選択することにより上記選択された位置に対応する撮像画像を選択する選択手段をさらに具備するようにしてもよい。これにより、変換された撮像画像の中心位置を座標位置として取得して撮像画像と関連付けて記憶し、この記憶されている中心位置の中から、選択された代表画像における位置から最も近い中心位置を選択することにより、選択された位置に対応する撮像画像を選択するという作用をもたらす。
また、この第1の側面において、上記画像位置取得手段は、上記変換された撮像画像の中心位置および大きさを上記座標位置として取得し、上記画像位置記憶手段は、上記取得された中心位置および大きさと上記撮像画像とを関連付けて記憶し、上記選択手段は、上記画像位置記憶手段に記憶されている中心位置の中から上記選択された上記代表画像における位置から最も近い中心位置が複数検出された場合には当該検出された複数の中心位置に対応する大きさを比較することにより上記選択された位置に対応する撮像画像を選択するようにしてもよい。これにより、変換された撮像画像の中心位置および大きさを座標位置として取得して撮像画像と関連付けて記憶し、この記憶されている中心位置の中から、選択された代表画像における位置から最も近い中心位置が複数検出された場合には、この検出された複数の中心位置に対応する大きさを比較することにより、選択された位置に対応する撮像画像を選択するという作用をもたらす。
また、この第1の側面において、上記変換情報算出手段は、上記撮像動画を構成するフレーム毎に上記変換情報を順次算出し、上記画像変換手段は、上記撮像画像を上記フレーム毎に順次変換し、上記画像合成手段は、上記変換された撮像画像を上記履歴画像に上記フレーム毎に順次合成して新たな履歴画像とし、上記画像保持手段は、上記フレーム毎に上記新たな履歴画像を順次保持し、上記撮像動画を構成する少なくとも一定数のフレームに対応する画像が合成された上記履歴画像を上記代表画像として記憶する代表画像記憶手段をさらに具備するようにしてもよい。これにより、フレーム毎に変換情報を順次算出し、撮像画像をフレーム毎に順次変換し、この変換された撮像画像を履歴画像にフレーム毎に順次合成して新たな履歴画像として順次保持し、撮像動画を表す代表画像として撮像動画を構成する少なくとも一定数のフレームに対応する画像が合成された履歴画像を記憶するという作用をもたらす。
また、この第1の側面において、上記画像合成手段は、上記代表画像の縮小画像を作成し、上記代表画像および上記縮小画像を関連付けて記憶する代表画像記憶手段をさらに具備し、上記表示制御手段は、上記代表画像記憶手段に記憶されている縮小画像を一覧画像として選択可能に表示させるようにしてもよい。これにより、代表画像の縮小画像を作成して代表画像と関連付けて記憶し、この記憶されている縮小画像を一覧画像として選択可能に表示させるという作用をもたらす。
また、本発明の第2の側面は、撮像装置により撮像された動画を撮像動画として入力する動画入力手段と、上記撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、上記算出された変換情報に基づいて上記撮像画像を変換する画像変換手段と、上記撮像画像または上記変換された撮像画像のうちの少なくとも一方を上記撮像動画のインデックス画像とし、上記変換情報により定められる撮像空間上の上記インデックス画像の座標位置および大きさを記憶するインデックス画像記憶手段と、上記変換された撮像画像と上記インデックス画像記憶手段に記憶されているインデックス画像の座標位置および大きさとに基づいて上記撮像動画からインデックス画像を抽出するインデックス画像抽出手段とを具備することを特徴とする画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、撮像動画を入力すると、撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出し、この算出された変換情報に基づいて撮像画像を変換し、この変換された撮像画像とインデックス画像記憶手段に記憶されているインデックス画像の座標位置および大きさとに基づいて、撮像動画からインデックス画像を抽出するという作用をもたらす。
また、この第2の側面において、上記インデックス画像抽出手段は、上記変換された撮像画像と上記インデックス画像記憶手段に記憶されているインデックス画像との重複率を算出して当該算出された重複率に基づいて上記インデックス画像を抽出するようにしてもよい。これにより、変換された撮像画像と、インデックス画像記憶手段に記憶されているインデックス画像との重複率を算出し、この算出された重複率に基づいてインデックス画像を抽出するという作用をもたらす。
また、この第2の側面において、上記インデックス画像抽出手段は、上記抽出されたインデックス画像の上記座標位置および大きさを上記インデックス画像記憶手段に順次記録するようにしてもよい。これにより、抽出されたインデックス画像の座標位置および大きさを、インデックス画像記憶手段に順次記録するという作用をもたらす。
また、この第2の側面において、上記インデックス画像抽出手段は、上記抽出されたインデックス画像の上記座標位置および大きさと上記抽出されたインデックス画像とを関連付けて上記インデックス画像記憶手段に順次記録するようにしてもよい。これにより、抽出されたインデックス画像の座標位置および大きさとそのインデックス画像とを関連付けて、インデックス画像記憶手段に順次記録するという作用をもたらす。
また、この第2の側面において、上記インデックス画像記憶手段に記憶されているインデックス画像の上記座標位置および大きさに基づいて当該インデックス画像を二次元空間に配置して表示させる表示制御手段をさらに具備するようにしてもよい。これにより、インデックス画像記憶手段に記憶されているインデックス画像の座標位置および大きさに基づいて、インデックス画像を二次元空間に配置して表示させるという作用をもたらす。
また、この第2の側面において、上記インデックス画像抽出手段は、上記抽出されたインデックス画像の上記座標位置および大きさと上記抽出されたインデックス画像と上記撮像動画における上記抽出されたインデックス画像に関する時間情報とを関連付けて上記インデックス画像記憶手段に順次記録し、上記インデックス画像記憶手段に記憶されているインデックス画像の時間情報と座標位置と大きさとに基づいて当該インデックス画像を三次元空間に仮想的に配置して当該インデックス画像を平面に投影して表示させる表示制御手段をさらに具備するようにしてもよい。これにより、抽出されたインデックス画像の座標位置および大きさと、そのインデックス画像と、そのインデックス画像に関する時間情報とを関連付けてインデックス画像記憶手段に順次記録し、このインデックス画像記憶手段に記憶されているインデックス画像の時間情報と座標位置と大きさとに基づいて、インデックス画像を三次元空間に仮想的に配置してインデックス画像を平面に投影して表示させるという作用をもたらす。
また、この第2の側面において、上記撮像動画を記憶する動画記憶手段と、上記三次元空間に配置されているインデックス画像を選択する選択操作を受け付ける操作受付手段と、上記選択された上記インデックス画像に基づいて上記インデックス画像記憶手段に記憶されている上記時間情報を選択する選択手段とをさらに具備し、上記表示制御手段は、上記動画記憶手段に記憶されている撮像動画を上記選択された時間情報に対応する撮像画像から再生させるようにしてもよい。これにより、三次元空間に配置されているインデックス画像を選択する選択操作を受け付けると、この選択されたインデックス画像に基づいて時間情報を選択して、この選択された時間情報に対応する撮像画像から動画を再生させるという作用をもたらす。
また、この第2の側面において、履歴画像を保持する画像保持手段と、上記抽出されたインデックス画像に対応する上記変換された撮像画像には所定のマーカを付して上記変換された撮像画像を上記履歴画像に合成して新たな履歴画像として上記画像保持手段に保持させる画像合成手段と、上記撮像動画を表す代表画像として上記履歴画像を記憶する代表画像記憶手段とをさらに具備するようにしてもよい。これにより、抽出されたインデックス画像に対応する撮像画像には所定のマーカを付して、変換された撮像画像を履歴画像に合成して新たな履歴画像として保持させ、履歴画像を代表画像として記憶するという作用をもたらす。
また、この第2の側面において、上記撮像動画を記憶する動画記憶手段と、上記代表画像記憶手段に記憶されている代表画像を表示する表示手段と、上記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、上記選択された上記代表画像における位置に基づいて上記抽出されたインデックス画像を選択する選択手段と、上記動画記憶手段に記憶されている撮像動画を上記選択されたインデックス画像に対応する撮像画像から再生させる表示制御手段とをさらに具備するようにしてもよい。これにより、表示されている代表画像における位置を選択する選択操作を受け付けると、この選択された代表画像における位置に基づいてインデックス画像を選択し、この選択されたインデックス画像に対応する撮像画像から動画を再生させるという作用をもたらす。
また、本発明の第3の側面は、撮像装置により撮像された撮像動画を記憶する動画記憶手段と、上記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段と、上記撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、上記算出された変換情報に基づいて上記撮像画像を変換する画像変換手段と、上記変換された撮像画像を上記履歴画像に合成して新たな履歴画像として上記画像保持手段に保持させる画像合成手段と、上記変換された撮像画像の上記合成による上記履歴画像上の座標位置を取得する画像位置取得手段と、上記取得された座標位置と上記撮像画像とを関連付けて記憶する画像位置記憶手段と、上記撮像動画を表す代表画像として上記履歴画像を表示する表示手段と、上記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、上記選択された上記代表画像における位置に基づいて上記動画記憶手段に記憶されている撮像動画を上記選択された位置に対応する撮像画像から再生させる表示制御手段とを具備することを特徴とする動画再生装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出し、この算出された変換情報に基づいて撮像画像を変換し、この変換された撮像画像を履歴画像に合成して新たな履歴画像として保持させ、変換された撮像画像の履歴画像上の座標位置を取得して撮像画像に関連付けて記憶し、撮像動画を表す代表画像として履歴画像を表示し、この表示されている代表画像における位置を選択する選択操作を受け付けると、この選択された代表画像における位置に対応する撮像画像から撮像動画を再生させるという作用をもたらす。
本発明によれば、撮像装置により撮影された動画の内容を容易に把握することができるという優れた効果を奏し得る。
次に本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の実施の形態における画像処理装置100の機能構成例を示すブロック図である。画像処理装置100は、動画入力部110と、カメラワーク検出部120と、記録制御部130と、動画取得部140と、カメラワークパラメータ抽出部150と、画像変換部160と、画像メモリ170と、画像合成部180と、画像位置取得部190と、動画記憶部200と、画像位置記憶部210と、代表画像記憶部220と、操作受付部230と、選択部240と、表示制御部250と、表示部260とを備える。画像処理装置100は、例えば、デジタルビデオカメラ等の撮像装置で撮影された動画について、映像解析により特徴量を抽出し、この抽出された特徴量を用いて各種画像処理を施すことが可能なパーソナルコンピュータによって実現することができる。
動画入力部110は、デジタルビデオカメラ等の撮像装置(以下では、単に「カメラ」と称する。)により撮像された動画を入力する動画入力部であり、入力された動画をカメラワーク検出部120に出力する。
カメラワーク検出部120は、動画入力部110から出力された動画を解析して、撮像時におけるカメラの動き情報(カメラワーク)を検出するものであり、特徴点抽出部121と、オプティカルフロー計算部122と、カメラワークパラメータ算出部123とを備える。すなわち、カメラワーク検出部120は、動画を構成する各画像から特徴点を抽出するとともに、この特徴点に対するオプティカルフロー(動きベクトル)を抽出し、この抽出された特徴点に対するオプティカルフローを解析して支配的な動きを見せた特徴点を選択し、この支配的な動きを見せた特徴点に対するオプティカルフローに基づいてカメラの動きを推定する。ここで、支配的な動きとは、複数の特徴点に対するオプティカルフローの中で、比較的多数のオプティカルフローが示す規則的な動きを意味する。
特徴点抽出部121は、動画入力部110から出力された動画を構成するフレームに対応する画像から特徴点を抽出し、抽出された特徴点をオプティカルフロー計算部122に出力するものである。ここで、特徴点抽出部121は、動画入力部110から出力された動画を構成するフレームのうちの先頭のフレームについては、画像全体から特徴点を抽出し、先頭以外のフレームについては、直前のフレームに対応する画像と比較して新しく撮影された領域部分から特徴点を抽出する。なお、特徴点として、例えば、縦方向または横方向にエッジの勾配が強い点(一般に「コーナー点」と呼ばれている。以下では、「コーナー点」と称する。)を抽出することができる。このコーナー点は、オプティカルフローの計算に強い特徴点であり、エッジ検出を用いて求めることができる。なお、このコーナー点の抽出については、図4および図5を参照して詳細に説明する。また、この例では、特徴点抽出部121は、先頭のフレームについては画像全体から特徴点を抽出し、先頭以外のフレームについては直前の画像と比較して新しく撮影された領域部分から特徴点を抽出するが、処理能力等に応じて、先頭以外の各フレームについても、画像全体から特徴点を抽出するようにしてもよい。
オプティカルフロー計算部122は、特徴点抽出部121から出力された各特徴点に対するオプティカルフローを計算するものであり、計算して求められたオプティカルフローをカメラワークパラメータ算出部123に出力する。具体的には、動画入力部110から出力された動画を構成する連続する2つのフレーム(現フレームおよびこの直前のフレーム)に対応する各画像を比較することにより、直前のフレームに対応する画像における各特徴点に対応するオプティカルフローを、現フレームのオプティカルフローとして求める。また、オプティカルフローは、動画を構成するフレーム毎に求められる。なお、オプティカルフローを検出する検出方法として、勾配法やブロックマッチング方法等の検出方法を用いることができる。なお、このオプティカルフローの計算については、図4および図5を参照して詳細に説明する。
カメラワークパラメータ算出部123は、オプティカルフロー計算部122から出力された各特徴点に対応するオプティカルフローを用いて、カメラワークパラメータを抽出するカメラワークパラメータ算出処理を行うものであり、算出されたカメラワークパラメータを記録制御部130に出力する。ここで、本発明の実施の形態では、再生の対象となる動画を構成する画像をカメラの動きに合わせて変換して表示する。この画像の変換を行うため、オプティカルフロー計算部122により計算されたオプティカルフローを用いてカメラの動きが抽出され、この抽出された動きに基づいて、カメラワークパラメータ(変換パラメータ)が計算される。なお、本発明の実施の形態では、再生の対象となる動画を構成する画像を変換する画像変換方法として、アフィン変換を用いる例について説明する。また、カメラワークパラメータとして、オプティカルフローに基づいて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを用いる例について説明する。すなわち、本発明の実施の形態では、変換情報として用いられるアフィン変換パラメータを、連続する画像間の特徴点の動きを表すアフィン行列ではなく、連続する画像のうちの1つの画像を基準画像とした場合に、この基準画像の次の画像がどこに移動するかを示すアフィン行列に対応するアフィン変換パラメータと定義する。また、カメラワークパラメータとして、アフィン変換パラメータを用いる例について説明する。なお、射影変換等の他の画像変換方法を用いるようにしてもよい。なお、アフィン変換パラメータは、3点のベクトルを用いて計算して求めることができる。また、射影変換パラメータは、4点のベクトルを用いて計算して求めることができる。ここで、カメラワークパラメータは、撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報であり、少なくともカメラの座標系で記述される位置情報および姿勢情報を含むものである。すなわち、カメラワークパラメータは、撮影者により撮影されている場合におけるカメラの位置や姿勢に関する情報を含むものである。また、カメラワークパラメータ算出部123により求められたアフィン変換パラメータに基づいて、例えば、ズームイン、ズームアウト、パン、チルト、ローテーション等の撮影者の操作によるカメラの動きを推定することができる。なお、アフィン変換パラメータの計算については、図4および図5を参照して詳細に説明する。
記録制御部130は、動画入力部110から出力された動画と、カメラワークパラメータ算出部123から出力されたアフィン変換パラメータとについて、互いに対応するフレームとアフィン変換パラメータとを関連付けて動画ファイルとして動画記憶部200に記録するものである。
動画記憶部200は、互いに対応するフレームとアフィン変換パラメータとが関連付けられた動画ファイルを記憶するものである。また、動画記憶部200は、動画取得部140からの要求に応じて動画ファイルを動画取得部140に供給する。
動画取得部140は、動画記憶部200に記憶されている動画ファイルを取得するものであり、取得された動画ファイルをカメラワークパラメータ抽出部150および画像変換部160に出力する。
カメラワークパラメータ抽出部150は、動画取得部140から出力された動画ファイルに関連付けて記録されているアフィン変換パラメータをフレーム毎に抽出するものであり、抽出されたアフィン変換パラメータを画像変換部160に出力する。
画像変換部160は、動画取得部140から出力された動画ファイルの動画を構成する画像について、カメラワークパラメータ抽出部150から出力されたアフィン変換パラメータを用いてフレーム毎にアフィン変換を施し、アフィン変換された画像を画像合成部180および画像位置取得部190に出力するものである。具体的には、画像変換部160は、動画取得部140から出力された現フレームに対応する画像を、カメラワークパラメータ抽出部150から出力されたアフィン変換パラメータを用いてアフィン変換する。なお、この画像変換については、図7乃至図15等を参照して詳細に説明する。
画像メモリ170は、画像合成部180により合成された合成画像を保持するワークバッファを備え、保持されている合成画像を画像合成部180および画像位置取得部190に供給するものである。すなわち、画像メモリ170は、履歴画像を保持する画像メモリである。
画像合成部180は、画像変換部160から出力された変換画像および画像メモリ170に保持されている合成画像を合成し、合成された合成画像を画像メモリ170に出力するものである。具体的には、画像合成部180は、画像メモリ170に保持されている直前までの各フレームに対応する合成画像に、画像変換部160によりアフィン変換された画像を上書きすることにより画像を合成する。また、1つの動画について先頭のフレームから最後のフレームまでの画像合成が終了した場合には、画像合成部180は、画像メモリ170に保持されている合成画像の縮小画像を作成して、この作成された縮小画像および画像メモリ170に保持されている合成画像をパノラマ画像として代表画像記憶部220に出力して記録させる。このパノラマ画像は、動画入力部110から入力された動画を表す代表画像であり、この動画に含まれる各撮影空間の大部分が含まれるように作成される画像である。なお、これらの画像合成については、図7乃至図15等を参照して詳細に説明する。
画像位置取得部190は、画像変換部160から出力された変換画像および画像メモリ170に保持されている合成画像に基づいて、画像メモリ170のワークバッファ上における画像変換部160から出力された変換画像の中心位置および画像の大きさ(面積)を取得するものであり、取得された変換画像の中心位置および画像の大きさを、変換画像に対応するフレーム番号とともに画像位置記憶部210に出力する。すなわち、画像位置取得部190は、画像変換部160から出力された変換画像について、画像合成部180により作成されるパノラマ画像(代表画像)における座標位置を取得する。なお、この画像の中心位置および画像の大きさについては、図2を参照して詳細に説明する。
画像位置記憶部210は、画像位置取得部190から出力された画像のフレーム番号、画像の中心位置および大きさを関連付けて記憶するものであり、記憶されているフレーム番号、画像の中心位置および大きさを選択部240に出力する。なお、画像位置記憶部210に記憶されている各情報については、図2を参照して詳細に説明する。
代表画像記憶部220は、画像合成部180から出力された合成画像を、動画記憶部200に記憶されている動画に関するパノラマ画像として記憶するとともに、画像合成部180から出力された縮小画像を、動画記憶部200に記憶されている動画に関するパノラマ縮小画像として記憶するものであり、記憶されているパノラマ画像を表示制御部250に供給する。
操作受付部230は、各種操作キー等を備え、これらのキーによる操作入力を受け付けると、受け付けた操作入力の内容を選択部240または表示制御部250に出力するものである。操作受付部230には、例えば、マウス(ポインティングデバイス)が備えられ、このマウスからの操作入力に応じて移動するカーソル(マウスポインタ)が表示部260に表示される。カーソルは、表示部260に表示される画面上において、指示や操作の対象を指し示すために用いられるマウスポインタである。
選択部240は、操作受付部230により受け付けられたパノラマ画像における位置選択操作を入力すると、画像位置記憶部210に記憶されている画像の中心位置および大きさに基づいて、画像位置記憶部210に記憶されているフレーム番号の中から1つのフレーム番号を選択して、選択されたフレーム番号およびこれに対応する動画IDを表示制御部250に出力するものである。なお、この選択については、図22を参照して詳細に説明する。
表示制御部250は、操作受付部230の操作入力に応じて、代表画像記憶部220に記憶されているパノラマ画像、または、動画記憶部200に記憶されている動画を表示部260に表示させる制御を行うものである。また、表示制御部250は、選択部240からフレーム番号および動画IDが入力されると、動画記憶部200から動画IDに対応する動画を検索するとともに、この検索された動画についてフレーム番号に対応する位置から再生を開始する。
表示部260は、表示制御部250からの制御に基づいて、代表画像記憶部220に記憶されているパノラマ画像、または、動画記憶部200に記憶されている動画を表示するものである。例えば、パーソナルコンピュータやテレビジョンのディスプレイにより実現することができる。なお、合成画像の表示例については、図20等を参照して詳細に説明する。
図2は、本発明の実施の形態における画像位置記憶部210に記憶されている内容を概略的に示す図である。
画像位置記憶部210には、画像変換部160によりアフィン変換され、画像合成部180により合成された画像に関する情報がフレーム毎に時系列で記憶されている。具体的には、画像位置記憶部210には、動画ID211と、フレーム番号212と、中心位置213と、画像サイズ214とが関連付けて記憶されている。
動画ID211は、動画記憶部200に記憶されている各動画に対応するIDである。
フレーム番号212は、動画記憶部200に記憶されている動画を構成するフレームの識別番号であり、例えば、先頭のフレームのフレーム番号を「1」とし、2番目のフレーム番号を「2」とする。そして、3番目以降のフレームについても同様にフレーム番号が付与される。このように、動画取得部140により取得された動画を構成する各フレームについて、画像変換部160によりアフィン変換された画像に対応するフレームのフレーム番号が時系列でフレーム番号212に記録される。
中心位置213は、画像メモリ170のワークバッファ上における画像変換部160によりアフィン変換された画像の中心位置を示すものである。例えば、画像メモリ170のワークバッファ上をxy座標とした場合には、画像変換部160によりアフィン変換された画像の中心位置に対応する座標の値が記録される。
画像サイズ214は、画像メモリ170のワークバッファ上における画像変換部160によりアフィン変換された画像の大きさを示す画像サイズである。例えば、この画像サイズとして、画像変換部160によりアフィン変換された画像の面積が記録される。なお、本発明の実施の形態では、画像変換部160によりアフィン変換された画像の位置情報として、中心位置および画像サイズを用いる例について説明するが、そのアフィン変換された画像の位置情報として、その画像の4頂角に対応する座標等の他の位置情報を用いるようにしてもよい。
図3は、本発明の実施の形態における代表画像記憶部220に記憶されている内容を概略的に示す図である。
代表画像記憶部220には、動画記憶部200に記憶されている各動画について画像合成部180により作成された合成画像および縮小画像が、パノラマ画像およびパノラマ縮小画像として記憶されている。具体的には、代表画像記憶部220には、動画ID221と、パノラマ画像222と、パノラマ縮小画像223とが関連付けて記憶されている。例えば、1つの動画について1つのパノラマ画像およびパノラマ縮小画像が記憶される。
動画ID211は、動画記憶部200に記憶されている動画に対応するIDである。
パノラマ画像222は、動画記憶部200に記憶されている各動画について画像合成部180により合成された合成画像である。なお、図3では、代表画像記憶部220に記憶されている各パノラマ画像を「A1」、「B1」、「C1」として省略して示す。
パノラマ縮小画像223は、動画記憶部200に記憶されている各動画について画像合成部180により作成された合成画像が縮小された縮小画像であり、パノラマ画像222に記憶されるパノラマ画像が縮小されたものである。なお、図3では、代表画像記憶部220に記憶されている各パノラマ縮小画像を「A11」、「B11」、「C11」として省略して示す。
次に、画像変換に用いられるアフィン変換パラメータを検出する検出方法について図面を参照して詳細に説明する。
図4(a)乃至(c)は、動画を構成するフレームに対応する画像の一例を示す図である。図5(a)は、図4に示す画像300に対応するフレームの1つ前のフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。また、図5(b)および(c)は、図4に示す画像300について背景等を省略して簡略化した画像を示す図である。
図4および図5に示す画像300、320、330には、人が跨っている馬の像301、321、331と、この馬の像301、321、331の手前に設置されている蛇の像302、322、332とが含まれている。また、図4に示すように、これらの像の背景には旗や椅子等が存在し、この旗が風になびいている。
図5(a)に示す画像320は、図4(a)乃至(c)および図5(b)および(c)に示す画像300、330に対応するフレームの1つ前のフレームに対応する画像を簡略化した画像である。また、2つの連続するフレームに対応する画像320および330は、画面内の被写体が次第に大きくなる場合における遷移を示す画像である。すなわち、この撮像時には、画面内の被写体を次第に大きくする操作であるズームイン操作がされている。
本発明の実施の形態では、動画を構成する画像から特徴点を検出し、この特徴点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。また、この例では、特徴点としてコーナー点を用いる場合について説明する。
ここで、図5(a)乃至(c)では、画像320および330から検出された3つのコーナー点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。
例えば、図5(a)に示す画像320において、特徴点として、馬の像321における口付近のコーナー点323と、馬の像321における人のお尻付近のコーナー点324と、蛇の像322の口付近のコーナー点325とが検出されているものとする。この場合において、図5(b)に示す画像330において、勾配法やブロックマッチング法等により、画像320におけるコーナー点323、324および325に対するオプティカルフロー337、338および339が検出される。そして、この検出されたオプティカルフロー337、338および339に基づいて、画像320におけるコーナー点323、324および325に対応するコーナー点333、334および335が検出される。
ここで、例えば、図5(a)および(b)に示す画像320および330に含まれる馬の像321、331や蛇の像322、332は、地面に設置されているものであるため、カメラの動きとは無関係に動くものではない。このため、馬の像321、331や蛇の像322、332について検出されたコーナー点に対して求められたオプティカルフローに基づいて、カメラの動きを正確に推定することができる。例えば、図5(c)に示すように、画像330において検出された3つのオプティカルフロー337乃至339に基づいて、画像330が、点336を中心にして画像320を拡大したものであることを推定することができる。これにより、画像330の撮影時におけるカメラの動きは、点336を中心とするズームイン動作であると判断することができる。このように、カメラの動きとは無関係に動くものではない物体についてコーナー点を検出し、このコーナー点に対して求められたオプティカルフローに基づいて、一定の規則性を備えるカメラの動きを正確に検出することができる。このため、これらのコーナー点に対して求められたオプティカルフローを用いて、アフィン変換パラメータを計算して求めることができる。
しかしながら、風になびいている旗等のように、カメラの動きとは無関係に動く物体が画像内に含まれる場合が考えられる。例えば、図4に示す画像300には、風になびいている旗が含まれている。このようなカメラの動きとは無関係に動く物体についてコーナー点が検出され、このコーナー点に対して求められたオプティカルフローを用いてカメラの動きを推定する場合には、カメラの動きを正確に推定することができない。
例えば、図4(b)に示す画像300において検出されたオプティカルフローを矢印で示すとともに、このオプティカルフローにより検出されたコーナー点を矢印の先端に白抜きの丸で示す。ここで、コーナー点303乃至305は、図5(b)および(c)に示すコーナー点333乃至335に対応するコーナー点である。また、コーナー点306乃至311は、馬の像301の背景に存在する旗について検出されたコーナー点である。そして、これらの旗が風になびいているため、風の影響による旗の動きがオプティカルフローとして検出されている。すなわち、コーナー点306乃至311に対応する各オプティカルフローは、カメラの動きとは無関係に動く旗について検出されたものである。このため、アフィン変換パラメータを計算する場合に用いられる3つのオプティカルフローに、コーナー点306乃至311のうちの少なくとも1つのコーナー点に対応するオプティカルフローが含まれている場合には、正確なカメラの動きを検出することができない。この場合には、正確なアフィン変換パラメータを計算することができない。
以上で示したように、例えば、カメラの動きとは無関係に動く物体に対するオプティカルフロー(図4(b)に示すコーナー点306乃至311に対応する各オプティカルフロー)と、カメラの動きとの関係で一定の規則性を備えるオプティカルフロー(図4(b)に示すコーナー点306乃至311に対応する各オプティカルフロー以外のオプティカルフロー)とが、撮影画像から検出されることがある。
そこで、本発明の実施の形態では、3個のオプティカルフローに基づいてアフィン変換パラメータを計算するアフィン変換パラメータ計算処理を複数回行い、複数のアフィン変換パラメータを求め、これらの複数のアフィン変換パラメータの中から最適なアフィン変換パラメータを選択する例について説明する。なお、この例では、動画を構成する各画像に含まれている動物体の大きさが、画像の面積に対して比較的小さいものとする。
ここで、アフィン変換について簡単に説明する。2次元上において、移動元の位置を(x,y)とし、アフィン変換後の移動先の位置を(x´,y´)とした場合に、アフィン変換の行列式は、式1で表すことができる。
ここで、a乃至fは、アフィン変換パラメータである。また、このアフィン変換パラメータによるアフィン行列AMを次の式で表すことができる。この場合に、X方向のズーム成分XZ、Y方向のズーム成分YZ、X方向の並進成分XT、Y方向の並進成分YT、回転成分Rについては、それぞれ次の式で求めることができる。なお、単位行列の場合には、a=e=1、b=c=d=f=0となる。
次に、アフィン変換パラメータの計算方法について説明する。
最初に、動画を構成するフレームの中の1つのフレームである現フレームに対応する画像において、オプティカルフローが検出された特徴点の中から3個の特徴点が選択される。例えば、図4(b)に示す画像300において検出されたコーナー点(白抜きの丸で示す)の中からランダムに3個のコーナー点が選択される。なお、カメラワークパラメータとして、射影変換パラメータを用いる場合には、4個の特徴点がランダムに選択される。
続いて、選択された3個の特徴点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算される。例えば、図4(b)に示す画像300におけるコーナー点(白抜きの丸で示す)の中から選択された3個のコーナー点に対応するオプティカルフロー(白抜きの丸に接続される矢印で示す)を用いてアフィン変換パラメータが計算される。このアフィン変換パラメータは、式1を用いて求めることができる。
続いて、求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される。具体的には、求められたアフィン変換パラメータを用いて、現フレームの直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、現フレームにおいて検出された特徴点の位置とを比較して、互いに対応する2つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する2つの特徴点の位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。このように、オプティカルフローが検出された特徴点の中から3個の特徴点をランダムに選択し、これらの特徴点に対応するオプティカルフローに基づいてアフィン変換パラメータのスコアを算出する処理を所定回数繰り返し、アフィン変換パラメータのスコアを複数算出する。この所定回数は、比較の対象となる画像の種類や画像処理装置100の処理能力等に応じて適宜設定するようにしてもよく、固定値を用いるようにしてもよい。この所定回数として、例えば、画像処理装置100の処理能力を考慮して20回程度と設定することができる。
例えば、図4(b)に示す画像300において検出されたコーナー点の中から、コーナー点306乃至311以外のコーナー点が3個選択された場合を考える。このように選択された3個のコーナー点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この3個のオプティカルフローは一定の規則性を備えているため、直前のフレームに対応する画像を一定の規則に従って変換させるアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて、コーナー点306乃至311以外のコーナー点に関して求められる差分値は、比較的小さい値が算出される。このため、アフィン変換パラメータのスコアは、大きい値になる。
一方、図4(b)に示す画像300において検出されたコーナー点の中から、コーナー点306乃至311のうちの少なくとも1個を含む3個のコーナー点が選択された場合を考える。このように選択された3個のコーナー点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この3個のオプティカルフローには、一定の規則性を備えていないオプティカルフローが含まれるため、直前のフレームに対応する画像を一定の規則に従って変換させるものではないアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて求められる差分値は、任意のコーナー点で比較的大きい値が算出される。このため、アフィン変換パラメータのスコアは、小さい値になる。
続いて、求められた複数のアフィン変換パラメータのスコアの中で、スコアの値が最も大きいアフィン変換パラメータを代表アフィン変換パラメータとして選択する。そして、選択された代表アフィン変換パラメータの行列に対する逆行列のアフィン変換パラメータを、現フレームに関連付けて動画記憶部200に記録する。これにより、動画を構成する画像をアフィン変換する場合に、最適なアフィン変換パラメータを用いてアフィン変換することができる。
以上で示したように、動画を構成する各画像に人物や車等の動いている物体(動物体)が含まれている場合でも、画像の面積に対するその動物体の大きさが比較的小さい場合には、動物体の影響を受けずにカメラの動きを抽出することができる。
また、カメラの動きを抽出することによって、ズームイン、ズームアウト、パン、チルト、ローテーション等の意図的に撮影者が移動させたと思われる動きを推定することができる。
次に、本発明の実施の形態における画像処理装置100の動作について図面を参照して説明する。
図6は、本発明の実施の形態における画像処理装置100によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
最初に、動画入力部110に動画ファイルが入力される(ステップS900)。続いて、動画入力部110に入力された動画ファイルがデコードされ、時系列の順序で1つのフレームの画像が取得される(ステップS901)。続いて、取得された1つのフレームが動画入力部110に入力された動画ファイルの先頭のフレームであるか否かが判断される(ステップS902)。取得された1つのフレームが、先頭のフレームである場合には(ステップS902)、この先頭のフレームに対応する画像の全体から特徴点が抽出される(ステップS903)。例えば、図4(b)に示すように、画像において複数のコーナー点が抽出される。続いて、アフィン変換パラメータとして単位行列のアフィン変換パラメータが選択され(ステップS904)、ステップS914に進む。
一方、取得された1つのフレームが、先頭のフレームではない場合には(ステップS902)、直前のフレームに対応する画像を基準として新たに撮影された領域から特徴点が抽出される(ステップS905)。すなわち、直前のフレームに対応する画像において既に抽出されている特徴点については、この特徴点に対応するオプティカルフローにより求めることができるため、現フレームに対応する画像においては抽出されない。
続いて、直前のフレームに対応する画像から抽出された各特徴点に対するオプティカルフローが計算される(ステップS906)。すなわち、図4(b)に示すように、各コーナー点に対するオプティカルフローが計算される。
続いて、変数iが「1」に初期化される(ステップS907)。続いて、オプティカルフローが検出された特徴点の中から、M個の特徴点が選択される(ステップS908)。例えば、カメラワークパラメータとして、アフィン変換パラメータを用いる場合には、3個の特徴点がランダムに選択される。また、カメラワークパラメータとして、射影変換パラメータを用いる場合には、4個の特徴点がランダムに選択される。続いて、選択されたM個の特徴点に対応して計算されたM個のオプティカルフローに基づいて、アフィン変換パラメータが計算される(ステップS909)。
続いて、計算して求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される(ステップS910)。具体的には、計算して求められたアフィン変換パラメータを用いて、直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、ステップS906でオプティカルフローを計算した際に求められた現フレームに対応する画像における特徴点の位置とを比較して、互いに対応する2つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する2つの位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。
続いて、変数iに「1」が加算され(ステップS911)、変数iが、定数Nよりも大きいか否かが判断される(ステップS912)。変数iが、定数N以下である場合には(ステップS912)、ステップS908に戻り、アフィン変換パラメータのスコア算出処理を繰り返す(ステップS908乃至S910)。例えば、定数Nとして、20を用いることができる。
一方、変数iが定数Nよりも大きい場合には(ステップS912)、求められたアフィン変換パラメータのスコアのうちで、スコアの値が最も大きいアフィン変換パラメータが代表アフィン変換パラメータとして選択される(ステップS913)。続いて、選択された代表アフィン変換パラメータの行列に対する逆行列のアフィン変換パラメータが、現フレームに関連付けて動画記憶部200に記録される(ステップS914)。なお、現フレームが先頭のフレームである場合には、選択された単位行列のアフィン変換パラメータが、先頭のフレームに関連付けて動画記憶部200に記録される。続いて、現フレームに対応する画像と、この画像における特徴点とが上書き保存される(ステップS915)。
続いて、現フレームが、動画入力部110に入力された動画ファイルの最後のフレームであるか否かが判断される(ステップS916)。現フレームが、最後のフレームではない場合には(ステップS916)、ステップS901に戻り、アフィン変換パラメータ検出処理を繰り返す(ステップS901乃至S915)。一方、現フレームが、最後のフレームである場合には(ステップS916)、アフィン変換パラメータ検出処理を終了する。
本発明の実施の形態では、カメラワークパラメータの検出として、動画を構成する画像において検出されたオプティカルフローに基づいてアフィン変換パラメータを検出する例について説明したが、加速度センサやジャイロセンサ等のセンサやズーム操作をする際に用いられるズームボタンをカメラに設け、このセンサやズームボタンによって撮影時におけるカメラの移動量を検出し、このカメラの移動量に基づいてカメラワークパラメータを求めるようにしてもよい。なお、これらの撮影時において検出されたカメラの移動量については、カメラワークパラメータ算出部123により求められたカメラワークパラメータが正しいか否かを判断する際に用いることができる。また、カメラワークパラメータ算出部123により複数のカメラワークパラメータを検出しておき、撮影時において検出されたカメラの移動量に基づいて、この複数のカメラワークパラメータの中から1つのカメラワークパラメータを選択するようにしてもよい。
次に、上述したアフィン変換パラメータを用いて動画を合成する場合について図面を参照して詳細に説明する。なお、図7乃至図15に示す各画像は、説明のため、簡略化するとともに、連続する2つのフレーム間の移動量を大きくして示している。
最初に、カメラの撮影時において、倍率が変更されないものの、カメラの位置を中心として、カメラのレンズの方向が上下左右の何れかに移動されている場合について説明する。
図7は、カメラにより撮影された動画の遷移の一例を示す図である。図7には、山を背景にして人400を撮影した場合における動画に含まれる連続するフレームに対応する画像401乃至403を示す図である。この例では、カメラのレンズの方向を右および上側に移動しながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人400が、その動画を構成する画像において右側から左側に移動するとともに下側に移動する。
図8は、図7に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図8(a)に示す画像401は、図7(a)に示す画像401と同じものである。また、図8(b)に示す画像402のうちの実線の部分は、図7(b)に示す画像402と同じものであり、図8(b)に示す画像402のうちの破線の部分は、図8(a)に示す画像401の実線の部分と同じものである。また、図8(b)に示す画像402における矢印404乃至406は、画像402から検出されたオプティカルフローの一例を示す。同様に、図8(c)に示す画像403のうちの実線の部分は、図7(c)に示す画像403と同じものであり、図8(c)に示す画像403のうちの破線の部分は、図8(b)に示す画像402の実線の部分と同じものである。また、図8(c)に示す画像403における矢印407乃至409は、画像403から検出されたオプティカルフローの一例を示す。
図8(b)および(c)に示すように、カメラの移動に合わせて、画像に含まれる人400および背景の山が移動する。この移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図9は、図7に示す画像401乃至403を含む動画を合成する場合における画像合成例を示す図である。
図9(a)に示すように、最初は、先頭のフレームに対応する画像401のみであるため合成はされない。ここで、画像401に対応するアフィン変換パラメータの行列(3×3の行列)をA1とする場合に、A1の値が求められ、先頭のフレームの画像401の位置および大きさを基準にして、求められたA1の行列により画像401がアフィン変換される。ここで、A1は単位行列であるため、画像401の位置および大きさは変換されない。続いて、次のフレームに対応する画像402が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像402がアフィン変換される。具体的には、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする場合において、A1×A2の値が求められ、先頭のフレームの画像401の位置および大きさを基準にして、求められたA1×A2の行列により画像402がアフィン変換される。図9(b)に示す画像においては、画像402の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像402が、直前のフレームに対応する画像401に重なるように上書きされる。すなわち、画像401の領域のうちで、画像402と重複する領域410については、画像402の画像が上書きされる。また、画像401の領域のうちで、画像420と重複しない領域411については、画像401の画像が合成される。すなわち、2つ目のフレームに対応する画像402が合成される場合には、図9(b)に示すように、画像402の全体部分と、画像401のうちの領域411に対応する部分とが合成される。また、画像402をアフィン変換したアフィン変換パラメータが画像変換部160に保持される。
続いて、次のフレームに対応する画像403が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像403がアフィン変換される。すなわち、画像403に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像402に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像403がアフィン変換される。具体的には、画像403に対応するアフィン変換パラメータの行列をA3とし、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする場合において、A1×A2×A3の値が求められ、先頭のフレームの画像401の位置および大きさを基準にして、求められたA1×A2×A3の行列により画像403がアフィン変換される。図9(c)に示す画像においては、画像403の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像403が、前のフレームに対応する画像401および402の合成画像に重なるように上書きされる。すなわち、画像401および402の合成画像の領域のうちで、画像403と重複する領域413および414については、画像403の画像が上書きされる。また、画像401および402の合成画像の領域のうちで、画像403と重複しない領域411および412については、画像401および402の合成画像が合成される。すなわち、3つ目のフレームに対応する画像403が合成される場合には、図9(c)に示すように、画像403の全体部分と、画像401のうちの領域411に対応する部分と、画像420のうちの領域412に対応する部分とが合成される。また、画像403をアフィン変換したアフィン変換パラメータが画像変換部160に保持される。すなわち、画像402および403のそれぞれに対応するアフィン変換パラメータの行列の乗算により求められたアフィン変換パラメータが画像変換部160に保持される。このように、現フレームに対応する画像をアフィン変換する場合には、現フレームに対応するアフィン変換パラメータの行列と、この直前までの各フレームに対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより、現フレームに対応する画像がアフィン変換される。このアフィン変換の際に求められたアフィン変換パラメータが画像変換部160に保持され、次のアフィン変換で用いられる。また、画像メモリ170のワークバッファ上におけるアフィン変換された画像の中心位置に対応する座標の値と、画像の大きさを示す画像サイズとが画像位置記憶部210に記録される。また、図12および図15の場合についても同様である。
次に、カメラの撮影時において、カメラのレンズの方向は移動されないものの、倍率が変更されている場合について説明する。
図10は、カメラにより撮影された動画の遷移の一例を示す図である。図10には、山を背景にして人420を撮影した場合における動画に含まれる連続するフレームに対応する画像421乃至423を示す図である。この例では、カメラのレンズの倍率を上げながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人420が、その動画を構成する画像において次第に大きくなる。なお、倍率を上げる際にカメラの位置が多少移動する場合があるものの、この例では、カメラの位置の移動については考慮せずに説明する。
図11は、図10に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図11(a)に示す画像421は、図10(a)に示す画像421と同じものである。また、図11(b)に示す画像422のうちの実線の部分は、図10(b)に示す画像422と同じものであり、図11(b)に示す画像422のうちの破線の部分は、図10(a)に示す画像421の実線の部分と同じものである。また、図11(b)に示す画像422における矢印424乃至426は、画像422から検出されたオプティカルフローの一例を示す。同様に、図11(c)に示す画像423のうちの実線の部分は、図10(c)に示す画像423と同じものであり、図11(c)に示す画像423のうちの破線の部分は、図10(b)に示す画像422の実線の部分と同じものである。また、図11(c)に示す画像423における矢印427乃至429は、画像423から検出されたオプティカルフローの一例を示す。
図11(b)および(c)に示すように、倍率の変更に合わせて、画像に含まれる人420および背景の山の大きさが変更する。この変更により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図12は、図10に示す画像421乃至423を含む動画を合成する場合における合成例を示す図である。
図12(a)に示すように、最初は、先頭のフレームに対応する画像421のみであるため合成はされない。続いて、次のフレームに対応する画像422が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像422がアフィン変換される。図12(b)に示す画像においては、画像422の大きさのみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像422が、直前のフレームに対応する画像421に重なるように上書きされる。すなわち、画像421の領域のうちで、画像422と重複する領域については、画像422の画像が上書きされる。この場合には、画像421は、画像422の全ての領域と重複しているため、画像421に画像422の全ての画像が上書きされる。また、画像421の領域のうちで、画像422と重複しない領域431については、画像421の画像が合成される。すなわち、2つ目のフレームに対応する画像422が合成される場合には、図12(b)に示すように、画像422の全体部分と、画像421のうちの領域431に対応する部分とが合成される。また、画像422をアフィン変換したアフィン変換パラメータが画像変換部160に保持される。
続いて、次のフレームに対応する画像423が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像423がアフィン変換される。すなわち、画像423に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像422に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像423がアフィン変換される。図12(c)に示す画像においては、画像423の大きさのみが変換される。そして、アフィン変換された画像423が、前のフレームに対応する画像421および422の合成画像に重なるように上書きされる。すなわち、画像421および422の合成画像の領域のうちで、画像423と重複する領域については、画像423の画像が上書きされる。この場合には、画像423は、画像421および422の全ての領域と重複しているため、画像421および422の合成画像に画像423の全ての画像が上書きされる。また、画像421および422の合成画像の領域のうちで、画像423と重複しない領域432および433については、画像421および422の合成画像が合成される。すなわち、3つ目のフレームに対応する画像423が合成される場合には、図12(c)に示すように、画像423の全体部分と、画像421のうちの領域432に対応する部分と、画像422のうちの領域433に対応する部分とが合成される。また、画像423をアフィン変換したアフィン変換パラメータが画像変換部160に保持される。すなわち、画像422および423のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部160に保持される。
次に、カメラの撮影時において、カメラのレンズの方向や倍率は変更されないものの、撮影方向を回転中心にしてカメラが回転されている場合について説明する。
図13は、カメラにより撮影された動画の遷移の一例を示す図である。図13には、山を背景にして人440を撮影した場合における動画に含まれる連続するフレームに対応する画像441乃至443を示す図である。この例では、撮影方向を回転中心にしてカメラを回転しながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人440が、その動画を構成する画像において回転していく。なお、カメラの回転によりカメラの位置が多少移動する場合があるものの、この例では、カメラの位置の移動については考慮せずに説明する。
図14は、図13に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図14(a)に示す画像441は、図13(a)に示す画像441と同じものである。また、図14(b)に示す画像442のうちの実線の部分は、図13(b)に示す画像442と同じものであり、図14(b)に示す画像442のうちの破線の部分は、図13(a)に示す画像441の実線の部分と同じものである。また、図14(b)に示す画像442における矢印444乃至446は、画像442から検出されたオプティカルフローの一例を示す。同様に、図14(c)に示す画像443のうちの実線の部分は、図13(c)に示す画像443と同じものであり、図14(c)に示す画像443のうちの破線の部分は、図13(b)に示す画像442の実線の部分と同じものである。また、図14(c)に示す画像443における矢印447乃至449は、画像443から検出されたオプティカルフローの一例を示す。
図14(b)および(c)に示すように、カメラの回転に合わせて、画像に含まれる人440および背景の山が回転移動する。この回転移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図15は、図13に示す画像441乃至443を含む動画を合成する場合における合成例を示す図である。
図15(a)に示すように、最初は、先頭のフレームに対応する画像441のみであるため合成はされない。続いて、次のフレームに対応する画像442が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像442がアフィン変換される。図15(b)に示す画像においては、画像442の角度のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像442が、直前のフレームに対応する画像441に重なるように上書きされる。すなわち、画像441の領域のうちで、画像442と重複する領域450については、画像442の画像が上書きされる。また、画像441の領域のうちで、画像442と重複しない領域451および452については、画像441の画像が合成される。すなわち、2つ目のフレームに対応する画像442が表示される場合には、図15(b)に示すように、画像442の全体部分と、画像441のうちの領域451および452に対応する部分とが合成される。また、画像442をアフィン変換したアフィン変換パラメータが画像変換部160に保持される。
続いて、次のフレームに対応する画像443が合成される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像443がアフィン変換される。すなわち、画像443に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像442に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像443がアフィン変換される。図15(c)に示す画像においては、画像443の角度のみが変換される。そして、アフィン変換された画像443が、前のフレームに対応する画像441および442の合成画像に重なるように上書きされる。すなわち、画像441および442の合成画像の領域のうちで、画像443と重複する領域453乃至457については、画像443の画像が上書きされる。また、画像441および442の合成画像の領域のうちで、画像443と重複しない領域458乃至461については、画像441および442の合成画像がさらに合成される。すなわち、3つ目のフレームに対応する画像443が合成される場合には、図15(c)に示すように、画像443の全体部分と、画像441のうちの領域459に対応する部分と、画像442のうちの領域458および460に対応する部分とが合成される。また、画像443をアフィン変換したアフィン変換パラメータが画像変換部160に保持される。すなわち、画像442および443のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部160に保持される。
以上では、動画を構成する各画像の位置、倍率および角度が順次変更される場合についてそれぞれ説明したが、これらの変更が組み合わされている場合についても同様に適用することができる。
次に、実際にカメラにより撮影された動画を合成する場合における表示例を示す。以下に示す画像合成例では、現フレームおよび前のフレームに対応する画像が合成された領域のみに合成画像を表示し、その他の領域を黒くして示す。また、現フレームに対応する画像の周りには枠を付す。さらに、以下に示す画像合成例では、作成されている途中の合成画像を例にして示す。
図16乃至図19は、カメラにより撮影された動画の遷移の一例を示す図である。図16および図17は、マンションの広場で遊んでいる親子を、カメラを移動させながら撮影した場合における動画を構成する画像500乃至505を示す図である。
図16および図17に示す画像500乃至505において、現フレームに対応する画像は、画像506乃至511である。また、前の各フレームに対応して合成された画像である合成画像は、画像512乃至517である。図16および図17に示すように、撮影された画像に含まれる撮影対象物(マンションの広場等)が画面に固定され、現フレームに対応する画像506乃至511がカメラの動きに合わせて画面上を移動する。
図18および図19は、マンションの広場で遊んでいる親子を、ズームイン操作をしながら撮影した場合における動画を構成するフレームに対応する画像520乃至525を示す図である。
図18および図19に示す画像520乃至525において、現フレームに対応する画像は、画像526乃至531である。また、前の各フレームに対応して合成された画像である合成画像は、画像532乃至537である。図18および図19に示すように、撮影された画像に含まれる撮影対象物(マンションの広場等)が画面に固定され、現フレームに対応する画像526乃至531がカメラの動きに合わせて画面上を移動する。
このように、図16乃至図19に示す画像合成例では、現フレームに対応する画像が拡大縮小を伴いながらディスプレイ上を動き回り、広大な画像が作成されていく。
図20は、カメラにより撮影された動画が画像合成部180により合成されたパノラマ画像の一例を示す図である。図20に示すパノラマ画像540は、マンションの広場で遊んでいる親子を中心にして撮影された動画について作成されたパノラマ画像である。図20に示すように、被写体の中心として撮影された親子とともに、適宜撮影されたマンションの広場等の背景がパノラマ画像540に含まれる。このため、この動画の内容の把握が容易である。また、撮影された空間についても速やかに把握することができる。
次に、パノラマ画像を用いて動画を再生する場合について図面を参照して詳細に説明する。
図21は、本発明の実施の形態における表示部260に表示されるパノラマ画像一覧画面の表示例を示す図である。このパノラマ画像一覧画面は、動画記憶部200に記憶されている動画を再生させる場合に、再生を所望する動画を選択する場合等に表示させる画面である。なお、図21に示す各パノラマ画像については、図3に示す代表画像記憶部220のパノラマ縮小画像223に記憶されているパノラマ縮小画像と同様に「A11」、「B11」および「C11」と省略して示す。なお、このパノラマ画像一覧画面は、ユーザによる操作受付部230からの操作入力に応じて表示部260に表示される。
パノラマ画像一覧画面600には、代表画像記憶部220のパノラマ縮小画像223に記録されているパノラマ縮小画像601乃至603(「A11」、「B11」および「C11」)がそれぞれ表示されるとともに、選択操作をするためのカーソル604が表示される。このように、動画記憶部200に記憶されている動画を再生させる場合には、各動画に対応するパノラマ縮小画像がパノラマ画像一覧画面600に表示されるため、各動画の内容を把握することが容易であり、動画の選択が容易である。このため、再生すべき動画の選択を効率的に行うことができる。
ここで、再生の対象となる動画を選択する選択方法について説明する。図21に示すように、パノラマ画像一覧画面600にパノラマ縮小画像601乃至603が表示されている場合において、操作受付部230からの操作入力によりユーザがカーソル604を操作してパノラマ縮小画像601乃至603の中から所望のパノラマ縮小画像を選択する。例えば、マウスにより、所望のパノラマ縮小画像上をダブルクリックする。この選択操作により選択されたパノラマ縮小画像に対応するパノラマ画像が、例えば、図22(a)に示すように、表示部260に拡大表示される。
図22(a)は、本発明の実施の形態における表示部260に表示されるパノラマ画像表示画面の表示例を示す図である。パノラマ画像表示画面610には、パノラマ画像一覧画面600において選択されたパノラマ縮小画像に対応するパノラマ画像620が画面全体に表示されるとともに、カーソル629が表示される。ここで、パノラマ画像620内に点線で示す枠621乃至628は、説明用に付したものであり、実際には表示されない。また、枠621乃至628は、パノラマ画像620に対応する動画を構成する各画像の一部の画像を示すものである。
図22(b)は、パノラマ画像620に対応する動画630、および動画630を構成するフレームの一部であるフレーム631乃至638を模式的に示す図である。ここで、動画630に含まれるフレームは、矢印639に示す「0」から時系列に並べられているものとする。また、フレーム631乃至638は、図22(a)に示す枠621乃至628内の画像にそれぞれ対応するものとする。
ここで、パノラマ画像表示画面610に表示されているパノラマ画像620を用いて、動画630を再生させる再生方法について説明する。パノラマ画像表示画面610に表示されているパノラマ画像620において、操作受付部230からの操作入力によりユーザがカーソル629を操作してパノラマ画像620内の所望の部分を選択する。例えば、マウスにより、パノラマ画像620上の所望の部分をダブルクリックする。この選択操作により選択された位置に基づいて、動画630における所定位置からの再生が開始される。具体的には、動画630に対応して画像位置記憶部210の中心位置213に記録されている座標の中で、パノラマ画像620上の選択操作により選択された位置から最短距離に存在する座標点が検出され、この座標点に対応するフレーム番号212および動画ID211が選択される。そして、この選択されたフレーム番号212および動画ID211が表示制御部250に出力されると、表示制御部250は、動画記憶部200から動画ID211に対応する動画を検索するとともに、この検索された動画についてフレーム番号212に対応する位置から再生を開始する。そして、その位置からの動画が表示部260に表示される。なお、画像位置記憶部210の中心位置213に記録されている座標の中で、パノラマ画像620上の選択操作により選択された位置から最短距離に存在する座標点が複数検出された場合には、例えば、画像サイズ214に記録されている画像の面積が大きいものが選択されるようにする。また、フレーム番号が大きいものが選択されるようにしてもよい。なお、他の評価関数に基づいて適切なフレーム番号および動画IDを選択するようにしてもよい。
例えば、図22(a)に示すパノラマ画像620において、枠628の中心付近にカーソルが存在する場合にマウスによりダブルクリックがされると、枠628内の画像に対応するフレームのフレーム番号が画像位置記憶部210から選択されるとともに、パノラマ画像620に対応する動画IDが画像位置記憶部210から選択され、この選択された動画IDおよびフレーム番号に基づいて動画630のフレーム638の位置から再生が開始される。
次に、本発明の実施の形態における画像処理装置100の動作について図面を参照して説明する。
図23は、本発明の実施の形態における画像処理装置100によるパノラマ画像作成処理の処理手順を示すフローチャートである。
最初に、動画を構成する画像のサイズよりも大きいワークバッファが画像メモリ170に確保される(ステップS921)。続いて、動画記憶部200から動画ファイルが取得される(ステップS922)。続いて、取得された動画ファイルがデコードされ、1つのフレームである現フレームが取得される(ステップS923)。
続いて、取得された現フレームに対応するアフィン変換パラメータが、動画ファイルから抽出される(ステップS924)。ここで、現フレームが先頭のフレームである場合には、単位行列のアフィン変換パラメータが抽出される。続いて、取得されたアフィン変換パラメータを用いて現フレームに対応する画像がアフィン変換される(ステップS925)。ここで、現フレームが先頭のフレームである場合には、単位行列のアフィン変換パラメータを用いてアフィン変換がされるため、実際の画像は変換されない。続いて、アフィン変換された現フレームに対応する画像が、この現フレームよりも前のフレームに対応する各画像の合成画像に上書きして合成され、この現フレームに対応する画像が合成された画像が画像メモリ170に保存される(ステップS926)。ここで、現フレームが先頭のフレームである場合には、先頭のフレームに対応する画像が画像メモリ170に保存される。続いて、画像メモリ170のワークバッファ上におけるアフィン変換された現フレームに対応する画像の中心位置および画像サイズが、現フレームのフレーム番号とともに画像位置記憶部210に記録される(ステップS927)。ここで、現フレームが先頭のフレームである場合には、画像メモリ170のワークバッファ上における先頭のフレームに対応する画像の中心位置および画像サイズが、フレーム番号「1」とともに画像位置記憶部210に記録される。
続いて、入力された動画ファイルを構成するフレームの中で、現フレームが最後のフレームであるか否かが判断される(ステップS928)。現フレームが最後のフレームではない場合には(ステップS928)、ステップS923に戻り、合成画像作成処理を繰り返す(ステップS923乃至S927)。
一方、現フレームが最後のフレームである場合には(ステップS928)、画像メモリ170に保持されている合成画像を代表画像記憶部220に出力して記録させる(ステップS929)。この場合に、画像メモリ170に保持されている合成画像の縮小画像が作成され、この縮小画像を代表画像記憶部220に出力して記録させる。続いて、確保されているワークバッファを解放して(ステップS930)、パノラマ画像作成処理を終了する。
図24は、本発明の実施の形態における画像処理装置100による動画再生処理の処理手順を示すフローチャートである。この処理手順では、代表画像記憶部220に記憶されているパノラマ画像を用いて動画記憶部200に記憶されている動画を所望の位置から再生させる場合を例にして説明する。
最初に、パノラマ画像一覧画面を表示する旨の操作入力が操作受付部230により受け付けられたか否かが判断される(ステップS941)。パノラマ画像一覧画面を表示する旨の操作入力が受け付けられた場合には(ステップS941)、パノラマ画像一覧画面が表示部260に表示される(ステップS942)。例えば、図21に示すように、パノラマ画像一覧画面600が表示される。一方、パノラマ画像一覧画面を表示する旨の操作入力が受け付けられていない場合には(ステップS941)、パノラマ画像一覧画面が表示部260に表示されているか否かが判断される(ステップS948)。パノラマ画像一覧画面が表示されている場合には(ステップS948)、ステップS943に進み、パノラマ画像一覧画面が表示されていない場合には(ステップS948)、ステップS949に進む。
続いて、表示部260に表示されているパノラマ画像一覧画面に含まれるパノラマ画像の中から1つのパノラマ画像を選択する旨の操作入力が操作受付部230により受け付けられたか否かが判断される(ステップS943)。パノラマ画像を選択する旨の操作入力が受け付けられた場合には(ステップS943)、選択されたパノラマ画像が画面全体に表示されるパノラマ画像表示画面が表示部260に表示される(ステップS944)。例えば、図22(a)に示すように、パノラマ画像表示画面610が表示される。一方、パノラマ画像を選択する旨の操作入力が受け付けられていない場合には(ステップS943)、動画再生処理を終了する。
パノラマ画像一覧画面を表示する旨の操作入力が受け付けられていない場合において(ステップS941)、パノラマ画像一覧画面が表示されていない場合には(ステップS948)、パノラマ画像表示画面が表示部260に表示されているか否かが判断される(ステップS949)。パノラマ画像表示画面が表示されている場合には(ステップS949)、ステップS945に進み、パノラマ画像表示画面が表示されていない場合には(ステップS949)、動画再生処理を終了する。
続いて、表示部260に表示されているパノラマ画像表示画面に含まれるパノラマ画像内を選択する旨の操作入力が操作受付部230により受け付けられたか否かが判断される(ステップS945)。例えば、図22(a)に示すように、カーソル629を用いてパノラマ画像620内の一部分が選択される。パノラマ画像表示画面に含まれるパノラマ画像内を選択する旨の操作入力が受け付けられた場合には(ステップS945)、選択されたパノラマ画像内の位置に基づいて、画像位置記憶部210からフレーム番号および動画IDが選択される(ステップS946)。続いて、選択された動画IDに対応する動画が動画記憶部200から検索されるとともに、この検索された動画について、選択されたフレーム番号に対応する位置から再生が開始される(ステップS947)。一方、パノラマ画像表示画面に含まれるパノラマ画像内を選択する旨の操作入力が受け付けられていない場合には(ステップS945)、動画再生処理を終了する。
以上では、パノラマ画像上の任意の位置を選択することによって所望の位置から動画を再生させる例について説明した。さらに、動画に含まれる代表的な画像であるインデックス画像を動画から抽出して、このインデックス画像をパノラマ画像上に表示させ、このパノラマ画像上においてインデックス画像を選択することにより所望の位置から動画を再生させることができる。以下では、この例について図面を参照して詳細に説明する。
図25は、本発明の実施の形態における画像処理装置101の機能構成例を示すブロック図である。ここで、画像処理装置101は、図1に示す画像処理装置100の一部を変形したものであり、この画像処理装置100において、画像合成部180、画像位置取得部190、代表画像記憶部220、画像位置記憶部210、選択部240および表示制御部250の代わりに、画像合成部181、インデックス画像抽出部270、代表画像記憶部225、インデックス画像記憶部280、選択部241および表示制御部251を設けた画像処理装置である。なお、画像合成部181、インデックス画像抽出部270、代表画像記憶部225、インデックス画像記憶部280、選択部241および表示制御部251以外の構成は、図1に示す画像処理装置100と同様であるため、これらの以外の構成についての説明は省略する。
インデックス画像抽出部270は、画像変換部160から出力された変換画像およびインデックス画像記憶部280に記憶されているインデックス画像に基づいて、動画取得部140から出力された動画ファイルの動画を構成する画像の中からインデックス画像を抽出するものであり、抽出されたインデックス画像を、これに対応するフレーム番号および位置情報とともにインデックス画像記憶部280に出力する。具体的には、インデックス画像抽出部270は、インデックス画像記憶部280に記憶されているインデックス画像と、アフィン変換された現フレームに対応する画像との重複率に基づいてインデックス画像を抽出する。また、インデックス画像抽出部270は、インデックス画像を抽出した場合には、現フレームに対応する画像がインデックス画像である旨を画像合成部181に出力する。なお、このインデックス画像の抽出方法については、図27を参照して詳細に説明する。
インデックス画像記憶部280は、インデックス画像抽出部270から出力されたインデックス画像、このフレーム番号および位置情報を関連付けて記憶するものであり、記憶されているインデックス画像を表示制御部251に出力するとともに、フレーム番号および位置情報を選択部240に出力する。また、インデックス画像記憶部280は、記憶されている位置情報をインデックス画像抽出部270に出力する。なお、インデックス画像記憶部280に記憶されている各情報については、図26を参照して詳細に説明する。
画像合成部181は、現フレームに対応する画像がインデックス画像である旨をインデックス画像抽出部270から入力すると、現フレームに対応する画像の周りに、インデックス画像である旨を示すインデックス画像マーカを付す。例えば、図28(a)のインデックス画像551乃至558に示すように、インデックス画像マーカが付される。なお、これ以外の画像合成等については、画像合成部180と同様であるため、ここでの説明を省略する。
代表画像記憶部225は、画像合成部181から出力された合成画像を、動画記憶部200に記憶されている動画に関するパノラマ画像として記憶するものであり、記憶されているパノラマ画像を表示制御部250に供給する。
選択部241は、操作受付部230により受け付けられたパノラマ画像におけるインデックス画像の選択操作を入力すると、インデックス画像記憶部280に記憶されているインデックス画像の位置情報に基づいて、インデックス画像記憶部280に記憶されているフレーム番号の中から1つのフレーム番号を選択して、選択されたフレーム番号およびこれに対応する動画IDを表示制御部251に出力するものである。なお、この選択については、図28を参照して詳細に説明する。
表示制御部251は、操作受付部230の操作入力に応じて、インデックス画像記憶部280に記憶されているインデックス画像の一覧、代表画像記憶部225に記憶されているパノラマ画像、または、動画記憶部200に記憶されている動画を表示部260に表示させる制御を行うものである。また、表示制御部251は、選択部241からフレーム番号および動画IDが入力されると、動画記憶部200から動画IDに対応する動画を検索するとともに、この検索された動画についてフレーム番号に対応する位置から再生を開始する。
図26は、本発明の実施の形態におけるインデックス画像記憶部280に記憶されている内容を概略的に示す図である。
インデックス画像記憶部280には、インデックス画像抽出部270により抽出されたインデックス画像に関する情報がフレーム毎に時系列で記憶されている。具体的には、インデックス画像記憶部280には、動画ID281と、フレーム番号282と、位置情報283と、インデックス画像284とが関連付けて記憶されている。
動画ID281は、動画記憶部200に記憶されている各動画に対応するIDである。
フレーム番号282は、インデックス画像抽出部270により抽出されたインデックス画像に対応するフレームの識別番号である。
位置情報283は、画像メモリ170のワークバッファ上におけるインデックス画像抽出部270により抽出されたインデックス画像の位置を示すものである。例えば、画像メモリ170のワークバッファ上をxy座標とした場合には、インデックス画像抽出部270により抽出されたインデックス画像の4頂角に対応する座標の値が記録される。すなわち、インデックス画像抽出部270により抽出されたインデックス画像の位置として、撮像動画の撮像時におけるカメラの動き情報により定められる撮像空間上の座標位置が記録される。この撮像空間は、例えば、動画入力部110から入力された撮像動画の撮像時におけるカメラの動き量に基づいて算出されるアフィン変換パラメータを用いて、画像合成部181により作成される代表画像に対応する画像空間である。なお、本発明の実施の形態では、インデックス画像抽出部270により抽出されたインデックス画像の位置情報として、その4頂角に対応する座標の値を用いる例について説明するが、そのインデックス画像の位置情報として、その画像の中心位置および大きさ等の他の位置情報を用いるようにしてもよい。
インデックス画像284は、インデックス画像抽出部270により抽出されたインデックス画像である。
図27は、本発明の実施の形態におけるインデックス画像を抽出する場合における抽出方法の一例を概略的に示す図である。図27に示す合成画像640は、画像合成部180により作成されている途中の合成画像を簡略化して示すものである。この例では、合成画像640において、インデックス画像として画像641乃至643が抽出されているものとする。
インデックス画像を抽出する場合には、インデックス画像記憶部280に記憶されているインデックス画像(既にインデックス画像として抽出されている画像)と、アフィン変換された現フレームに対応する画像との重複率に基づいて判断される。具体的には、インデックス画像記憶部280に記憶されているインデックス画像(既にインデックス画像として抽出されている画像)と、アフィン変換された現フレームに対応する画像との重複率が計算される。例えば、図28に示す画像644は、アフィン変換された現フレームに対応する画像であるものとする。この場合には、画像644と、インデックス画像である画像641乃至643との重複率が計算される。画像644については、画像641のみとの重複領域645と、画像641および642との重複領域646と、画像642のみとの重複領域647とが、画像641乃至643と重複している領域である。図27では、重複領域645乃至647を斜線で示す。そして、重複領域645乃至647の面積が加算され、この加算された面積(重複領域645乃至647の合計面積)の値と、予め設定されている閾値とを比較して、画像644全体の面積に対する重複領域645乃至647の合計面積の割合である重複率の値が閾値以下であれば、他のインデックス画像との重複が少ない画像である。このように、他のインデックス画像との重複が少ない画像がインデックス画像として抽出される。そして、抽出されたインデックス画像に対応するフレーム番号と、インデックス画像の4頂角に対応する座標の値と、インデックス画像とが動画IDに関連付けられてインデックス画像記憶部280に記憶される。
このように、インデックス画像が抽出された場合には、インデックス画像抽出部270が、現フレームに対応する画像がインデックス画像である旨を画像合成部181に出力する。そして、現フレームに対応する画像がインデックス画像である旨を示すインデックス画像マーカが、画像合成部181により合成される合成画像における現フレームに対応する画像の周りに付される。例えば、図27に示すように、合成画像640における画像644の周りに太線の枠が付される。なお、複数のインデックス画像が重なる場合には、撮影時刻が最も遅いインデックス画像マーカが、他のインデックス画像マーカに上書きされる。例えば、インデックス画像641乃至643のインデックス画像マーカに、画像644のインデックス画像マーカが上書きされる。また、例えば、図28(a)に示すように、インデックス画像551乃至558のインデックス画像マーカが撮影時刻に応じて上書きされる。本発明の実施の形態では、既にインデックス画像として抽出されている全ての画像と、アフィン変換された現フレームに対応する画像との重複率に基づいて、新たなインデックス画像を抽出する例について説明するが、例えば、直前に抽出された1または所定数のインデックス画像と、アフィン変換された現フレームに対応する画像との重複率に基づいて、新たなインデックス画像を抽出するようにしてもよい。このように、直前に抽出された1または所定数のインデックス画像を比較の対象として用いることにより、撮像空間上において比較的近い位置に存在する画像について、撮影時刻が比較的早い画像と、撮影時刻が比較的遅い画像とをインデックス画像として抽出することができる。
図28(a)は、カメラにより撮影された動画が画像合成部181により合成されて作成されたパノラマ画像の一例を示す図である。図28(a)に示すパノラマ画像550に対応する動画については、インデックス画像551乃至558が抽出されている。また、パノラマ画像550は、図20に示すパノラマ画像540と同じ動画について作成されたパノラマ画像であり、インデックス画像551乃至558の周りにインデックス画像マーカが付されている点で両者は異なる。なお、このパノラマ画像550の表示方法については、図21および図22を参照して説明したパノラマ画像の表示方法と同様であるため、ここでの説明を省略する。
図28(b)は、図28(a)に示すパノラマ画像550に対応する動画570に含まれるフレーム571乃至578と、インデックス画像561乃至568との関係を示す図である。なお、インデックス画像561乃至568は、図28(a)に示すインデックス画像551乃至558に対応するものであり、インデックス画像記憶部280に記憶されているものである。また、フレーム571乃至578と一覧画像561乃至568との対応関係を矢印で示す。ここで、動画570に含まれるフレームは、矢印579に示す「0」から時系列に並べられているものとする。
次に、インデックス画像マーカが付されているパノラマ画像を用いて動画を再生する場合について図面を参照して詳細に説明する。
ここでは、図28(a)に示すパノラマ画像550が表示部260に表示されている場合に、動画570を再生させる場合について説明する。表示部260に表示されているパノラマ画像550において、操作受付部230からの操作入力によりユーザがカーソル(図示せず)を操作してパノラマ画像550に含まれるインデックス画像551乃至558の何れかの部分を選択する。例えば、マウスにより、パノラマ画像550に含まれるインデックス画像551乃至558の何れかの部分をダブルクリックする。この選択操作により選択された位置に基づいて、動画570における所定位置からの再生が開始される。具体的には、動画570に対応してインデックス画像記憶部280の位置情報283に記録されている4頂角の座標により特定される四角の中から、インデックス画像551乃至558の何れかの選択操作により選択されたパノラマ画像550上の位置が含まれる四角が検出され、この四角(4頂角の座標)に対応するフレーム番号282および動画ID281が選択される。そして、この選択されたフレーム番号282および動画ID281が表示制御部251に出力されると、表示制御部251は、動画記憶部200から動画ID281に対応する動画を検索するとともに、この検索された動画についてフレーム番号282に対応する位置から再生を開始する。なお、パノラマ画像550に含まれるインデックス画像551乃至558の中で、複数のインデックス画像が重複されている部分が選択された場合には、撮影時刻が最も遅いインデックス画像が選択される。すなわち、フレーム番号が最も大きいインデックス画像が選択される。このように、表示されているインデックス画像マーカにより囲まれている領域に従ってインデックス画像が選択される。
また、インデックス画像記憶部280に記憶されているインデックス画像を一覧画像として表示して、この一覧画像を用いて動画を再生するようにしてもよい。例えば、図28(b)に示すように、撮影された時刻に基づいてインデックス画像を動画毎に並べて表示させることができる。このように並べられているインデックス画像を選択することにより、上述したように動画を再生させることができる。また、例えば、マウスによるクリック操作により、インデックス画像マーカが付されているパノラマ画像と、撮影時刻に基づいて時系列に並べられるインデックス画像とが順次切り換わるように表示させるようにしてもよい。この場合には、例えば、切り換える際のインデックス画像の軌跡をアニメーションにより表示するようにしてもよい。
次に、本発明の実施の形態における画像処理装置101の動作について図面を参照して説明する。
図29は、本発明の実施の形態における画像処理装置101によるパノラマ画像作成処理の処理手順を示すフローチャートである。なお、図29に示す処理手順のうちで、ステップS921乃至S925、ステップS928乃至S930については、図23に示す処理手順と同様であるため、ここでの説明は省略する。
ステップS923において取得された現フレームが、動画を構成するフレームの中の先頭のフレームであるか否かが判断される(ステップS950)。現フレームが先頭のフレームである場合には(ステップS950)、画像メモリ170のワークバッファ上における現フレームに対応する画像の位置情報が取得され、この位置情報とフレーム番号「1」とがインデックス画像記憶部280に記録される(ステップS955)。続いて、現フレームに対応する画像が画像メモリ170に保存される(ステップS956)。一方、現フレームが先頭のフレームではない場合には(ステップS950)、ステップS924に進む。
ステップS925において、アフィン変換パラメータを用いてアフィン変換された現フレームに対応する画像と、インデックス画像記憶部280に記憶されているインデックス画像との重複率が計算される(ステップS951)。続いて、計算して求められた重複率の値が、閾値以下であるか否かが判断される(ステップS952)。計算して求められた重複率の値が、閾値以下ではない場合には(ステップS952)ステップS954に進む。一方、計算して求められた重複率の値が、閾値以下である場合には(ステップS952)、画像メモリ170のワークバッファ上における現フレームに対応する画像の位置情報が取得され、この位置情報とフレーム番号とがインデックス画像記憶部280に記録される(ステップS953)。続いて、アフィン変換された現フレームに対応する画像が、この現フレームよりも前のフレームに対応する各画像の合成画像に上書きして合成され、この現フレームに対応する画像が合成された画像が画像メモリ170に保存される(ステップS954)。この場合に、現フレームに対応する画像の周りにインデックス画像マーカが付される。
図30は、本発明の実施の形態における画像処理装置101による動画再生処理の処理手順を示すフローチャートである。この処理手順では、代表画像記憶部225に記憶されているパノラマ画像に含まれるインデックス画像を用いて動画記憶部200に記憶されている動画を所望の位置から再生させる場合を例にして説明する。なお、図30に示す処理手順のうちで、ステップS941乃至S944、ステップS947乃至S949については、図24に示す処理手順と同様であるため、ここでの説明は省略する。
パノラマ画像表示画面が表示部260に表示されている場合において(ステップS944、ステップS949)、パノラマ画像表示画面のパノラマ画像に含まれるインデックス画像を選択する旨の操作入力が操作受付部230により受け付けられたか否かが判断される(ステップS961)。パノラマ画像に含まれるインデックス画像を選択する旨の操作入力が受け付けられた場合には(ステップS962)、選択されたインデックス画像に対応してインデックス画像記憶部280に記憶されているフレーム番号および動画IDが選択される(ステップS962)。一方、パノラマ画像表示画面のパノラマ画像に含まれるインデックス画像を選択する旨の操作入力が受け付けられていない場合には(ステップS961)、動画再生処理を終了する。
以上では、抽出されたインデックス画像について、パノラマ画像上にインデックス画像マーカを付して表示する場合、または、時系列に並べて表示する場合を例にして説明した。ここでは、インデックス画像記憶部280に記憶されているフレーム番号および位置情報を用いて、インデックス画像を三次元空間上に仮想的に配置して、この三次元空間上におけるインデックス画像を表示する例について図面を参照して詳細に説明する。すなわち、三次元空間上に仮想的に配置されたインデックス画像が平面に投影されて三次元画像として表示部260に表示される。ここで、本発明の実施の形態における三次元空間とは、撮像画像に対応する二次元空間(平面)と、時間軸に対応する一次元空間とにより構成される空間である。
図31および図32は、本発明の実施の形態におけるインデックス画像記憶部280に記憶されているインデックス画像が三次元空間上に仮想的に配置されている場合を概略的に示す図である。図31および図32では、x軸、y軸、t軸からなる三次元空間上にインデックス画像701乃至708が配置された場合を示す。ここで、x軸は、撮影された動画を構成する画像に対する左右方向を示す軸である。また、y軸は、撮影された動画を構成する画像に対する上下方向を示す軸である。さらに、t軸は、撮影された動画を構成する画像に対する時間軸である。
図31(a)および図32(a)は、三次元空間上に配置されたインデックス画像701乃至708について、t軸方向の正面側から見た場合を示す図である。なお、図31(a)および図32(a)は同じ図である。図31(b)は、三次元空間上に配置されたインデックス画像701乃至708について、y軸方向の上面側から見た場合を示す図である。また、図32(b)は、三次元空間上に配置されたインデックス画像701乃至708について、x軸方向の左側の側面から見た場合を示す図である。ここで、図31乃至図34においては、インデックス画像701乃至708を四角で模式的に示すとともに、各画像を示す四角内に「H1」乃至「H8」の文字を付して説明する。
図31および図32に示すように、インデックス画像701乃至708は、各インデックス画像に関連付けて記憶されているフレーム番号に基づいて、t軸に対して時系列に配置される。また、各インデックス画像に関連付けて記憶されている位置情報に基づいて、x軸およびy軸に対して、撮影された空間上の位置に配置される。
このように三次元空間上に仮想的に配置されたインデックス画像701乃至708が、平面に投影されて三次元画像として表示部260に表示される。
図33は、三次元空間上に仮想的に配置されたインデックス画像701乃至708の表示例を示す図である。図33(a)には、インデックス画像701乃至708における上面側を表示するインデックス画像表示画面710を示す。なお、インデックス画像表示画面710に含まれるインデックス画像701乃至708の配置構成は、図31(b)に示す配置構成と同様である。図33(b)には、インデックス画像701乃至708における側面側を表示するインデックス画像表示画面720を示す。なお、インデックス画像表示画面720に含まれるインデックス画像701乃至708の配置構成は、図32(b)に示す配置構成と同様である。なお、各インデックス画像の上面や側面としては、例えば、各インデックス画像の大きさに応じた長方形等で模式的に表示することができる。
ここでは、三次元空間上に仮想的に配置されたインデックス画像701乃至708における上面側および側面側の表示例についてのみ示すが、これらの表示以外に、三次元空間上に仮想的に配置されたインデックス画像を、ユーザの操作入力に応じて、各方向から見ることができるように表示させることができる。例えば、上斜め正面方向から各インデックス画像を見ることができるように表示させることができる。
このように各インデックス画像が表示されている場合においては、上述したように、表示されているインデックス画像の中から所望のインデックス画像を選択することによって、選択されたインデックス画像に対応する位置から動画を再生させることができる。例えば、図33(a)に示すカーソル711、または図33(b)に示すカーソル721を用いて所望のインデックス画像を選択することができる。
このように、三次元空間上に仮想的に配置されたインデックス画像を表示することによって、動画が撮影された空間を視覚的に容易に把握することができるとともに、動画が撮影された時間についても視覚的に容易に把握することができる。これにより、動画の撮影時における空間的な情報および時間的な情報を視覚的に容易に把握することができる。また、これらの情報に基づいて動画の撮影内容を迅速に把握することができる。さらに、動画を再生する場合における検索を容易に行うことができる。
以上では、表示されている各インデックス画像から1つのインデックス画像を選択して動画の所望部分から再生を開始する例について説明した。ここでは、三次元空間上に仮想的に配置されたインデックス画像が表示されている場合において、表示されているインデックス画像の中から複数のインデックス画像を選択することによって、選択された各インデックス画像に対応する位置から動画を再生させる例について図面を参照して詳細に説明する。
図34は、三次元空間上に仮想的に配置されたインデックス画像701乃至708の表示例を示す図である。図34(a)には、インデックス画像701乃至708における正面側を表示するインデックス画像表示画面730を示す。なお、インデックス画像表示画面730に含まれるインデックス画像701乃至708の配置構成は、図31(a)および図32(a)に示す配置構成と同様である。図34(b)には、インデックス画像701乃至708における上面側を表示するインデックス画像表示画面740を示す。なお、インデックス画像表示画面740に含まれるインデックス画像701乃至708の配置構成は、インデックス画像表示画面720と同様である。
この例では、インデックス画像表示画面730または740が表示されている場合において、インデックス画像表示画面730または740に含まれる各インデックス画像の中の複数のインデックス画像を選択する。例えば、インデックス画像表示画面730において、インデックス画像701乃至708の中からインデックス画像701、702、707、708が選択される。この選択方法として、例えば、カーソル731を用いたドラック操作により、選択すべきインデックス画像を囲むように領域を指定して選択することができる。図34(a)では、カーソル731を用いて指定された領域を点線で示す。この場合に、例えば、全ての四角が囲まれたインデックス画像のみが選択されるようにしてもよく、四角の中心位置が囲まれたインデックス画像が選択されるようにしてもよい。また、図34(b)についても同様に、カーソル741を用いて複数のインデックス画像を選択することができる。
このように、複数のインデックス画像が選択された場合には、選択されたインデックス画像に対応する位置から動画が開始される。例えば、選択された各インデックス画像のうちで、対応するフレーム番号が一番小さいインデックス画像に対応する位置から動画が開始される。そして、対応するフレーム番号の順序に従って、各インデックス画像に対応する位置から動画が開始される。すなわち、撮影時刻の早い動画から順番に再生が開始される。このように、選択された各インデックス画像に対応する位置から動画の再生が開始された場合には、所定の時間が経過したら、次の位置から再生を開始することができる。また、選択されたインデックス画像に対応するフレーム番号とともに、他のインデックス画像に対応するフレーム番号についても表示制御部251に出力し、選択されたインデックス画像に対応する位置から、次のフレーム番号に対応する位置までの動画を順次再生させるようにしてもよい。
なお、この複数のインデックス画像選択については、図28に示すパノラマ画像についても同様に適用することができる。また、インデックス画像は、二次元空間上に配置して表示するようにしてもよい。さらに、各フレームに対応する画像または所定間隔毎の画像を三次元空間上に配置して表示するようにしてもよい。
このように、三次元空間上に仮想的に配置されたインデックス画像が表示されている場合において、複数のインデックス画像を選択して順次再生させることができる。このため、空間的に近い場面が、時間的に離れて撮影が行われた場合であっても、この空間的に近い場面をまとめて再生することができる。また、この選択操作が容易である。
以上では、アフィン変換パラメータを動画ファイルに記録する例について説明したが、動画ファイルとは異なる形式の付随情報(例えば、メタデータ)として、動画を構成するフレーム毎にアフィン変換パラメータを記録するようにしてもよい。以下では、動画ファイルとは異なる形式の付随情報として、メタデータファイルにアフィン変換パラメータを記録する例について図面を参照して詳細に説明する。
図35は、本発明の実施の形態における画像処理装置650の機能構成例を示すブロック図である。ここで、画像処理装置650は、図1に示す画像処理装置100の一部を変形したものであり、この画像処理装置100において、記録制御部130、動画記憶部200、動画取得部140およびカメラワークパラメータ抽出部150の代わりに、記録制御部651、動画記憶部660、メタデータ記憶部670およびファイル取得部652を設けた画像処理装置である。なお、記録制御部651、動画記憶部660、メタデータ記憶部670およびファイル取得部652以外の構成は、図1に示す画像処理装置100と同様であるため、これらの以外の構成についての説明は省略する。
記録制御部651は、動画入力部110から出力された動画を動画ファイルとして動画記憶部660に記録するとともに、カメラワークパラメータ算出部123から出力されたアフィン変換パラメータを、対応する動画およびフレームと関連付けてメタデータファイルとしてメタデータ記憶部670に記録するものである。
動画記憶部660は、動画入力部110から出力された動画を動画ファイルとして記憶するものである。また、動画記憶部660は、ファイル取得部652からの要求に応じて動画ファイルをファイル取得部652に供給する。なお、動画記憶部660に記憶される動画ファイルについては、図36を参照して詳細に説明する。
メタデータ記憶部670は、カメラワークパラメータ算出部123から出力されたアフィン変換パラメータをメタデータファイルとして記憶するものである。また、メタデータ記憶部670は、ファイル取得部652からの要求に応じてメタデータファイルをファイル取得部652に供給する。なお、メタデータ記憶部670に記憶されるメタデータファイルについては、図36を参照して詳細に説明する。
ファイル取得部652は、動画記憶部660に記憶されている動画ファイルと、この動画ファイルに関連付けられてメタデータ記憶部670に記憶されているメタデータファイルとを取得するものであり、取得された動画ファイルの動画およびメタデータファイルのアフィン変換パラメータを画像変換部160に出力する。
図36は、本発明の実施の形態における動画記憶部660およびメタデータ記憶部670に記録されている各ファイルを模式的に示す図である。図36(a)では、動画記憶部660に記憶されている動画ファイル661乃至663と、動画ファイル661乃至663に関連付けてメタデータ記憶部670に記憶されているメタデータファイル671乃至673とを示す。ここで、動画記憶部660に記憶されている各動画ファイルを識別するための識別情報である動画IDが、各動画ファイルに付与されているものとする。例えば、動画ファイル661には「#1」が付与され、動画ファイル662には「#2」が付与され、動画ファイル663には「#n」が付与されている。
図36(b)では、動画記憶部660に記憶されている動画ファイル661と、動画ファイル661に関連付けてメタデータ記憶部670に記憶されているメタデータファイル671とを模式的に示す図である。ここで、動画ファイル661は、n枚のフレームで構成された動画のファイルであり、これらのn枚のフレームをフレーム1(664)乃至n(667)として示す。
また、メタデータファイル671には、動画ID674と、フレーム番号675と、アフィン変換パラメータ676とが関連付けて格納されている。
動画ID674は、対応する動画ファイルに付与されている動画IDであり、例えば、動画ファイル661に付与されている「#1」が格納される。
フレーム番号675は、対応する動画ファイルの動画を構成する各フレームの通し番号であり、例えば、動画ファイル661の動画を構成するフレーム(1)664乃至(n)667に対応する「1」乃至「n」が格納される。
アフィン変換パラメータ676は、フレーム番号675に対応する動画の各フレームについて計算されたアフィン変換パラメータである。なお、フレーム番号675「1」に対応するアフィン変換パラメータ676「a1,b1,c1,d1,e1,f1」は、単位行列のアフィン変換パラメータである。また、フレーム番号675「m(mは2以上の整数)」に対応するアフィン変換パラメータ676「am,bm,cm,dm,em,fm」は、フレーム「m」の直前フレーム「m−1」に対するアフィン変換パラメータである。
以上では、メタデータファイルにアフィン変換パラメータを記録する例として、図1に示す画像処理装置100の一部を変形した画像処理装置650について説明したが、図24に示す画像処理装置101についても同様に適用することができる。
次に、本発明の実施の形態における特徴点抽出処理およびオプティカルフロー計算処理をマルチコアプロセッサにより行う場合について図面を参照して詳細に説明する。
図37は、本発明の実施の形態におけるマルチコアプロセッサ800の一構成例を示す図である。マルチコアプロセッサ800は、1つのCPU(Central Processing Unit)パッケージ上に異なる種類のプロセッサコアが複数搭載されているプロセッサである。すなわち、マルチコアプロセッサ800には、各プロセッサコア単体の処理性能を維持するとともに、シンプルな構成にするため、あらゆる用途(アプリケーション)に対応する1種類のコアと、所定の用途にある程度最適化されている他の種類のコアとの2種類のプロセッサコアが複数搭載されている。
マルチコアプロセッサ800は、制御プロセッサコア801と、演算プロセッサコア(#1)811乃至(#8)818と、バス802とを備え、メインメモリ781と接続されている。また、マルチコアプロセッサ800は、例えば、グラフィックスデバイス782やI/Oデバイス783等の他のデバイスと接続される。マルチコアプロセッサ800として、例えば、本願出願人等により開発されたマイクロプロセッサである「Cell(セル:Cell Broadband Engine)」を採用することができる。
制御プロセッサコア801は、オペレーティング・システムのような頻繁なスレッド切り替え等を主に行う制御プロセッサコアである。なお、制御プロセッサコア801については、図38を参照して詳細に説明する。
演算プロセッサコア(#1)811乃至(#8)818は、マルチメディア系の処理を得意とするシンプルで小型の演算プロセッサコアである。なお、演算プロセッサコア(#1)811乃至(#8)818については、図39を参照して詳細に説明する。
バス802は、EIB(Element Interconnect Bus)と呼ばれる高速なバスであり、制御プロセッサコア801および演算プロセッサコア(#1)811乃至(#8)818のそれぞれが接続され、各プロセッサコアによるデータアクセスはバス802を経由して行われる。
メインメモリ781は、バス802に接続され、各プロセッサコアにロードすべき各種プログラムや、各プロセッサコアの処理に必要なデータを格納するとともに、各プロセッサコアにより処理されたデータを格納するメインメモリである。
グラフィックスデバイス782は、バス802に接続されているグラフィックスデバイスであり、I/Oデバイス783は、バス802に接続されている外部入出力デバイスである。
図38は、本発明の実施の形態における制御プロセッサコア801の一構成例を示す図である。制御プロセッサコア801は、制御プロセッサユニット803および制御プロセッサストレージシステム806を備える。
制御プロセッサユニット803は、制御プロセッサコア801の演算処理を行う核となるユニットであり、マイクロプロセッサのアーキテクチャをベースとする命令セットを備え、一次キャッシュとして命令キャッシュ804およびデータキャッシュ805が搭載されている。命令キャッシュ804は、例えば、32KBの命令キャッシュであり、データキャッシュ805は、例えば、32KBのデータキャッシュである。
制御プロセッサストレージシステム806は、制御プロセッサユニット803からメインメモリ781へのデータアクセスを制御するユニットであり、制御プロセッサユニット803からのメモリアクセスを高速化させるために512KBの二次キャッシュ807が搭載されている。
図39は、本発明の実施の形態における演算プロセッサコア(#1)811の一構成例を示す図である。演算プロセッサコア(#1)811は、演算プロセッサユニット820およびメモリフローコントローラ822を備える。なお、演算プロセッサコア(#2)812乃至(#8)818は、演算プロセッサコア(#1)811と同様の構成であるため、ここでの説明を省略する。
演算プロセッサユニット820は、演算プロセッサコア(#1)811の演算処理を行う核となるユニットであり、制御プロセッサコア801の制御プロセッサユニット803とは異なる独自の命令セットを備える。また、演算プロセッサユニット820には、ローカルストア(LS:Local Store)821が搭載されている。
ローカルストア821は、演算プロセッサユニット820の専用メモリであるとともに、演算プロセッサユニット820から直接参照することができる唯一のメモリである。ローカルストア821として、例えば、容量が256Kバイトのメモリを用いることができる。なお、演算プロセッサユニット820が、メインメモリ781や他の演算プロセッサコア(演算プロセッサコア(#2)812乃至(#8)818)上のローカルストアにアクセスするためには、メモリフローコントローラ822を利用する必要がある。
メモリフローコントローラ822は、メインメモリ781や他の演算プロセッサコア等との間でデータのやり取りするためのユニットであり、MFC(Memory Flow Controller)と呼ばれるユニットである。ここで、演算プロセッサユニット820は、チャネルと呼ばれるインタフェースを介してメモリフローコントローラ822に対してデータ転送等を依頼する。
以上で示したマルチコアプロセッサ800のプログラミング・モデルとして、さまざまなものが提案されている。このプログラミング・モデルの中で最も基本的なモデルとして、制御プロセッサコア801上でメインプログラムを実行し、演算プロセッサコア(#1)811乃至(#8)818上でサブプログラムを実行するモデルが知られている。本発明の実施の形態では、このモデルを用いたマルチコアプロセッサ800の演算方法について図面を参照して詳細に説明する。
図40は、本発明の実施の形態におけるマルチコアプロセッサ800の演算方法を模式的に示す図である。この例では、データ785を用いて制御プロセッサコア801がタスク784を実行する場合に、タスク784の一部であるタスク786の処理に必要なデータ787(データ785の一部)を用いて、タスク786を各演算プロセッサコアに実行させる場合を例に図示する。
同図に示すように、データ785を用いて制御プロセッサコア801がタスク784を実行する場合には、タスク784の一部であるタスク786の処理に必要なデータ787(データ785の一部)を用いて、タスク786を各演算プロセッサコアに実行させる。本発明の実施の形態では、動画を構成するフレーム毎に各演算プロセッサコアにより演算処理が行われる。
同図に示すように、マルチコアプロセッサ800が演算を行うことにより、演算プロセッサコア(#1)811乃至(#8)818を並列に利用して、比較的少ない時間で多くの演算を行うことができるとともに、演算プロセッサコア(#1)811乃至(#8)818上でSIMD(Single Instruction/Multiple Data:単一命令/複数データ)演算を利用して、さらに少ない命令数により、比較的多くの演算処理を行うことができる。なお、SIMD演算については、図44乃至図47等を参照して詳細に説明する。
図41は、本発明の実施の形態におけるマルチコアプロセッサ800により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。ここでは、演算プロセッサコア(#1)811乃至(#8)818のうちの演算プロセッサコア(#1)811を例にして説明するが、演算プロセッサコア(#2)812乃至(#8)818についても同様に行うことができる。
最初に、制御プロセッサコア801は、メインメモリ781に格納されている演算プロセッサコアプログラム823を演算プロセッサコア(#1)811のローカルストア821にロードする指示を演算プロセッサコア(#1)811に送る。これにより、演算プロセッサコア(#1)811は、メインメモリ781に格納されている演算プロセッサコアプログラム823をローカルストア821にロードする。
続いて、制御プロセッサコア801は、ローカルストア821に格納された演算プロセッサコアプログラム825の実行を演算プロセッサコア(#1)811に指示する。
続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825の実行処理に必要なデータ824をメインメモリ781からローカルストア821に転送する。
続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825に基づいて、メインメモリ781から転送されたデータ826を加工し、条件に応じた処理を実行して処理結果をローカルストア821に格納する。
続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825に基づいて実行された処理結果をローカルストア821からメインメモリ781に転送する。
続いて、演算プロセッサコア(#1)811は、制御プロセッサコア801に演算処理の終了を通知する。
次に、マルチコアプロセッサ800を用いて行うSIMD演算について図面を参照して詳細に説明する。ここで、SIMD演算とは、複数のデータに対する処理を1つの命令で行う演算方式である。
図42(a)は、複数のデータに対する処理をそれぞれの命令で行う演算方式の概要を模式的に示す図である。図42(a)に示す演算方式は、通常の演算方式であり、例えば、スカラー演算と呼ばれている。例えば、データ「A1」およびデータ「B1」を加算する命令によりデータ「C1」の処理結果が求められる。また、他の3つの演算についても同様に、同一の行にあるデータ「A2」、「A3」、「A4」と、データ「B2」、「B3」、「B4」とを加算する命令がそれぞれの処理について行われ、この命令により、各行の値が加算処理され、この処理結果がデータ「C2」、「C3」、「C4」として求められる。このように、スカラー演算では、複数のデータに対する処理については、それぞれに対して命令を行う必要がある。
図42(b)は、複数のデータに対する処理を1つの命令で行う演算方式であるSIMD演算の概要を模式的に示す図である。ここで、SIMD演算用に1まとまりにしたデータ(点線827および828で囲まれる各データ)は、ベクターデータと呼ばれることがある。また、このようなベクターデータを用いて行われるSIMD演算は、ベクトル演算と呼ばれることがある。
例えば、点線827で囲まれるベクターデータ(「A1」、「A2」、「A3」、「A4」)と、点線828で囲まれるベクターデータ(「B1」、「B2」、「B3」、「B4」)とを加算する1つの命令により「C1」、「C2」、「C3」、「C4」の処理結果(点線829で囲まれているデータ)が求められる。このように、SIMD演算では、複数のデータに対する処理を1つの命令で行うことができるため、演算処理を迅速に行うことができる。また、これらのSIMD演算に関する命令を、マルチコアプロセッサ800の制御プロセッサコア801が行い、この命令に対する複数データの演算処理について演算プロセッサコア(#1)811乃至(#8)818が並列処理を行う。
一方、例えば、データ「A1」と「B1」とを加算し、データ「A2」と「B2」とを減算し、データ「A3」と「B3」とを乗算し、データ「A4」と「B4」とを除算する処理については、SIMD演算では行うことができない。すなわち、複数のデータのそれぞれに対して異なる処理をする場合には、SIMD演算による処理を行うことがではできない。
次に、特徴点抽出処理およびオプティカルフロー算出処理を行う場合におけるSIMD演算の具体的な演算方法について図面を参照して詳細に説明する。
図43は、本発明の実施の形態における制御プロセッサコア801または演算プロセッサコア(#1)811により実行されるプログラムの構成例を示す図である。ここでは、演算プロセッサコア(#1)811についてのみ図示するが、演算プロセッサコア(#2)812乃至(#8)818についても同様の処理が行われる。
制御プロセッサコア801は、デコード851としてデコード852、インターレース853およびリサイズ854を実行する。デコード852は、動画ファイルをデコードする処理である。インターレース853は、デコードされた各フレームについてインターレース除去する処理である。リサイズ854は、インターレース除去された各フレームについて縮小する処理である。
また、制御プロセッサコア801は、演算プロセッサコア管理856として命令送信857および859、終了通知受信858および860を実行する。命令送信857および859は、演算プロセッサコア(#1)811乃至(#8)818に対するSIMD演算の実行命令を送信する処理であり、終了通知受信858および860は、上記命令に対する演算プロセッサコア(#1)811乃至(#8)818からのSIMD演算の終了通知を受信する処理である。さらに、制御プロセッサコア801は、カメラワーク検出861としてカメラワークパラメータ算出処理862を実行する。カメラワークパラメータ算出処理862は、演算プロセッサコア(#1)811乃至(#8)818によるSIMD演算により算出されたオプティカルフローに基づいてフレーム毎にアフィン変換パラメータを算出する処理である。
演算プロセッサコア(#1)811は、特徴点抽出処理863として、ソベルフィルタ(Sobel Filter)処理864、二次モーメント行列(Second Moment Matrix)処理865、セパラブルフィルタ(Separable Filter)処理866、ハリスコーナー点抽出(Calc Harris)処理867、膨張処理(Dilation)868、並べ替え処理(Sort)869を実行する。
ソベルフィルタ処理864は、P2のフィルタ(x方向)を使って得られるx方向の値dxと、Y方向のフィルタを使って得られるy方向の値dyとを算出する処理である。なお、x方向の値dxの算出については、図44乃至図47を参照して詳細に説明する。
二次モーメント行列処理865は、ソベルフィルタ処理864により算出されたdxおよびdyを用いて、dx,dy,dx・dyの各値を算出する処理である。
セパラブルフィルタ処理866は、二次モーメント行列処理865により算出されたdx,dy,dx・dyの画像に対してガウシアンフィルタ(ぼかし処理)を掛ける処理である。
ハリスコーナー点抽出処理867は、セパラブルフィルタ処理866により、ぼかし処理が施されたdx,dy,dx・dyの各値を用いて、ハリスコーナーのスコアを算出する処理である。このハリスコーナーのスコアSは、例えば、次の式により算出される。
S=(dx×dy−dx・dy×dx・dy)/(dx+dy+ε)
膨張処理868は、ハリスコーナー点抽出処理867により算出されたハリスコーナーのスコアで構成された画像に対してぼかし処理を行う処理である。
並べ替え処理869は、ハリスコーナー点抽出処理867により算出されたハリスコーナーのスコアが高い順に画素を並べ、このスコアが高い方から所定の数だけピックアップし、このピックアップされた点を特徴点として抽出する処理である。
演算プロセッサコア(#1)811は、オプティカルフロー(Optical Flow)演算処理870として、ピラミッド画像(Make Pyramid Image)処理871、オプティカルフロー算出(Calc Optical Flow)処理872を実行する。
ピラミッド画像処理871は、カメラによる撮像時の画サイズから所定数の段階に縮小された画像を順次作成する処理であり、作成された画像は多重解像度画像と呼ばれる。
オプティカルフロー算出処理872は、ピラミッド画像処理871により作成された多重解像度画像のうちで、最も小さい画像についてオプティカルフローを計算し、この計算結果を用いて、1つ上の解像度の画像について再びオプティカルフローを計算する処理であり、この一連の処理を最も大きい画像に辿り着くまで繰り返し行う。
このように、例えば、図1等に示す特徴点抽出部121により行われる特徴点抽出処理と、オプティカルフロー計算部122により行われるオプティカルフロー算出処理とについては、マルチコアプロセッサ800を用いてSIMD演算によって並列処理することにより処理結果を求めることができる。なお、図43等で示す特徴点抽出処理およびオプティカルフロー算出処理は、一例であり、動画を構成する画像に対する各種フィルタ処理や閾値処理等により構成される他の処理を用いて、マルチコアプロセッサ800によるSIMD演算を行うようにしてもよい。
図44は、本発明の実施の形態におけるメインメモリ781に格納されている画像データ(カメラにより撮像された動画を構成する1つのフレームに対応する画像データ)について、ソベルフィルタ830を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。なお、同図に示すメインメモリ781に格納されている画像データについては、横の画素数を32画素として簡略化して示す。また、ソベルフィルタ830は、3×3のエッジ抽出フィルタである。同図に示すように、メインメモリ781に格納されている画像データについて、ソベルフィルタ830を用いたフィルタリング処理を行い、このフィルタリング処理の結果が出力される。この例では、SIMD演算を用いて4つ分のフィルタ結果を一度に得る例について説明する。
図45は、本発明の実施の形態におけるメインメモリ781に格納されている画像データについてソベルフィルタ830を用いてSIMD演算を行う場合におけるデータの流れを概略的に示す図である。最初は、メインメモリ781に格納されている画像データのうちの最初のラインを含む所定数のライン(例えば、3ライン)が演算プロセッサコアのローカルストア821に備えられる第一バッファ831にDMA(Direct Memory Access)転送されるとともに、第一バッファ831にDMA転送された各ラインを1つ下にずらした所定数のラインが第二バッファ832にDMA転送される。このように、ダブルバッファを使用することにより、DMA転送による遅延を隠蔽することができる。
図46は、本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、第一バッファ831に格納されている画像データから9つのベクトルを作成するベクトル作成方法を概略的に示す図である。図45に示すように、DMA転送が行われた後に、第一バッファ831に格納されている画像データから9つのベクトルが作成される。具体的には、第一バッファ831に格納されている画像データの1ラインにおいて左隅から4つのデータによりベクターデータ841が作成され、その4つのデータを右側に1つずらした4つのデータによりベクターデータ842が作成され、同様に、その4つのデータを右側に1つずらした4つのデータによりベクターデータ843が作成される。また、2ラインおよび3ラインにおいても同様に4つのデータによりベクターデータ844乃至849が作成される。
図47は、本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、ベクターデータ841乃至849についてSIMD命令を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。具体的には、ベクターデータ841乃至843についてSIMD演算が順次行われ、ベクトルAが求められる。このSIMD演算では、最初に、『「−1」×「ベクターデータ841」』のSIMD演算が実行される。続いて、『「0」×「ベクターデータ842」』のSIMD演算が実行され、『「1」×「ベクターデータ843」』のSIMD演算が実行される。ここで、『「0」×「ベクターデータ842」』については、演算結果が「0」であると確定しているため、省略することが可能である。また、『「1」×「ベクターデータ843」』については、演算結果が「ベクターデータ843」と同じ値であることが確定しているため、省略することが可能である。
続いて、『「−1」×「ベクターデータ841」』の演算結果と、『「0」×「ベクターデータ842」』の演算結果との加算処理がSIMD演算により実行される。続いて、この加算処理の結果と、『「1」×「ベクターデータ843」』の演算結果との加算処理がSIMD演算により実行される。ここで、例えば、「ベクターデータ1」×「ベクターデータ2」+「ベクターデータ3」となるデータ構造の演算については、SIMD演算により実行することが可能である。そこで、ベクトルAの演算については、例えば、『「0」×「ベクターデータ842」』および『「1」×「ベクターデータ843」』についてのSIMD演算を省略し、『「−1」×「ベクターデータ841」+「ベクターデータ843」』を一度のSIMD演算により実行するようにしてもよい。
また、同様に、ベクターデータ844乃至846についてSIMD演算が行われ、ベクトルBが求められ、ベクターデータ847乃至849についてSIMD演算が行われ、ベクトルCが求められる。
続いて、SIMD演算により求められたベクトルA乃至CについてSIMD演算が行われ、ベクトルDが求められる。このように、SIMD演算を行うことにより、ベクトルの要素数分(この例では4つのデータ)の結果をまとめて得ることができる。
ベクトルDが算出された後は、図45に示す第一バッファ831に格納されている画像データにおいて、取り出すデータの位置を右側に1つずらしながら、同様の処理を繰り返し実行して、それぞれのベクトルDの算出を順次行う。そして、図45に示す第一バッファ831に格納されている画像データの右端までの処理が終了した場合には、処理結果をメインメモリ781にDMA転送する。
続いて、メインメモリ781に格納されている画像データのうちで、第二バッファ832にDMA転送された各ラインを1つ下にずらした所定数のラインが第一バッファ831にDMA転送されるとともに、第二バッファ832に格納されている画像データについて、上述した処理を繰り返し行う。そして、メインメモリ781に格納されている画像データの各ラインのうちの下端のラインに達するまで、同様の処理を繰り返し行う。
同様に、特徴点抽出とオプティカルフロー算出の大部分の処理をSIMD演算により行うことによって高速化を実現することができる。
図48は、本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。上述したように、例えば、マルチコアプロセッサ800を用いてSIMD演算を行うことにより、動画についてのデコードおよび解析処理を並列化して行うことができる。このため、動画を構成する1フレームの解析時間を、デコード時間よりも短縮することが可能である。
例えば、同図において、t1は、制御プロセッサコア801が動画を構成する1フレームのデコード処理に要する時間を示し、t2は、演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームの特徴点抽出処理に要する時間を示し、t3は、演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームのオプティカルフロー算出処理に要する時間を示し、t4は、制御プロセッサコア801が動画を構成する1フレームのカメラワーク検出処理に要する時間を示す。なお、t5は、制御プロセッサコア801および演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームについて、カメラワーク検出処理に要する時間を示す。また、t6は、t6は、制御プロセッサコア801が演算プロセッサコア(#1)811乃至(#8)818を管理する処理に要する時間を示す。例えば、t1を「25.0ms」とし、t2を「7.9ms」とし、t3を「6.7ms」とし、t4を「1.2ms」とし、t5を「15.8ms」とすることができる。
次に、本発明の実施の形態におけるメタデータファイルを用いた動画コンテンツを再生する場合について図面を参照して詳細に説明する。
図49(a)は、記録媒体の一例であるブルーレイディスク(Blu-ray Disc(登録商標))880を模式的に示す上面図であり、図49(b)は、ブルーレイディスク880に記録されている各データ881乃至884を模式的に示す図である。ブルーレイディスク880には、例えば、カメラ等により撮像された動画である動画コンテンツ882、動画コンテンツ882の字幕883、および、動画コンテンツ882について解析されて得られたメタデータ(例えば、図2、図3、図26、図36(b)に示す各情報)884とともに、本発明の実施の形態における動画再生に係るJava(登録商標)プログラム881が記録されている。
図49(c)は、ブルーレイディスク880を再生可能なブルーレイ再生機(Blu-ray Disc Player)890の内部構成を模式的に示す図である。ここで、ブルーレイディスクを再生可能なブルーレイ再生機890は、CPU891およびOS892とともに、Java VM(Java仮想マシン)およびライブラリ893が標準で搭載されているため、Javaプログラムを実行することが可能である。このため、ブルーレイディスク880をブルーレイ再生機890に装着することにより、ブルーレイ再生機890がJavaプログラム881をロードして実行することが可能である。これにより、ブルーレイ再生機890が動画コンテンツ882を再生する場合に、メタデータ884を用いて、本発明の実施の形態における動画に対応するパノラマ画像の表示や、複数の動画の中からの動画の検索等を行うことが可能である。すなわち、専用のPCソフト等を使わずに、全てのブルーレイ再生機で本発明の実施の形態における動画再生を実現することが可能になる。
以上で示したように、本発明の実施の形態によれば、撮像装置により撮影された動画を閲覧する場合に、動画に対応するパノラマ画像を表示することができるため、各動画の内容を容易に把握することができる。また、複数の動画の中から所望の動画を検索する場合には、パノラマ縮小画像を参照して検索することができるため、所望の動画を迅速に探すことができる。さらに、パノラマ画像上の任意の位置を選択することによって、所望の位置から動画を再生させることができるため、動画内の検索についても迅速に行うことができる。
また、動画からインデックス画像を抽出する場合には、空間的な位置に基づいて抽出することができるため、動画の内容を把握し易いインデックス画像を抽出することができる。また、動画から抽出されたインデックス画像をパノラマ画像上に空間的に配置することによって、動画の再生位置の指定をさらに容易に行うことができる。このように、インデックス画像を用いて検索をすることができるため、1つの動画の中の所望のフレームについて撮影空間における場所を指定して迅速に探すことができる。
また、三次元空間上に仮想的に配置されたインデックス画像を表示することによって、動画の撮影時における空間的な情報および時間的な情報を視覚的に容易に把握することができ、これらの情報に基づいて動画の撮影内容を迅速に把握することができる。また、動画を再生する場合における検索を容易に行うことができる。
すなわち、過去のフレームを活用して動画を空間的に展開したパノラマ画像またはインデックス画像を用いて動画を楽しく鑑賞することができる。これにより、例えば、パノラマ画像や3次元空間上に配置されたインデックス画像を見ながら動画を再生することができるため、閲覧者は面白み豊かに動画を観賞することができる。
また、本発明の実施の形態によれば、マルチコアプロセッサを用いたSIMD演算によりアフィン変換パラメータを算出することにより、1フレームのデコードの処理時間内に、1フレームのアフィン変換パラメータを算出することが可能である。これにより、パノラマ画像の作成やインデックス画像の抽出等を迅速に行うことができる。
なお、ステップS926、S954等で合成された合成画像を記録媒体等に記録して、他の再生表示に用いるようにしてもよい。また、本発明の実施の形態では、予め算出されたアフィン変換パラメータを用いて画像合成する例について説明したが、画像合成の際にアフィン変換パラメータを算出し、この算出されたアフィン変換パラメータを用いて画像合成をするようにしてもよい。
また、本発明の実施の形態では、入力された動画ファイルを構成する全てのフレームについて合成画像作成処理を繰り返して合成画像を作成する例について説明したが、入力された動画ファイルを構成するフレームの中の少なくとも一定数のフレームについて合成画像作成処理を繰り返して合成画像を作成し、この合成画像を代表画像記憶部220に記録させるようにしてもよい。また、本発明の実施の形態では、動画を構成する先頭のフレームから合成画像作成処理を繰り返して合成画像を作成する例について説明したが、例えば、最後のフレームから先頭のフレームに向かって合成画像作成処理を繰り返して合成画像を作成するようにしてもよい。
また、本発明の実施の形態では、動画を構成する画像の面積に対する動物体の大きさが比較的小さい場合にカメラの動きを求め、このカメラの動きを利用して動画を再生する場合について説明した。しかしながら、動画を構成する画像の面積に対する動物体の大きさが比較的大きい場合についても、本発明の実施の形態を適用することが可能である。例えば、駅を出発する電車を被写体の中心としてその電車の画像面積に対する割合を大きく撮像した場合に、上述したアフィン変換パラメータを算出すると、電車の動きを算出することになる。この場合に、この電車の動きを利用して、上述した合成画像作成方法により合成画像を作成することができる。このように、動画を構成する画像を変換するための変換情報として、撮像時におけるカメラと被写体との相対的な動き量に関する動き情報を算出して用いることができる。
また、本発明の実施の形態では、合成画像またはインデックス画像を表示部に表示する画像処理装置を例にして説明したが、合成画像またはインデックス画像を他の画像表示装置において表示させるための画像情報を出力する画像出力手段を設けた画像処理装置に本発明の実施の形態を適用することができる。さらに、動画を再生することが可能な動画再生装置や撮影された動画を再生することが可能なデジタルビデオカメラ等の撮像装置等に本発明の実施の形態を適用することができる。
また、本発明の実施の形態では、画像処理装置を例にして説明したが、動画を再生することが可能な動画再生装置等に本発明の実施の形態を適用することができる。また、本発明の実施の形態では、カメラにより撮像された動画について説明したが、例えば、カメラにより撮像された動画が編集された場合における編集後の動画やアニメーション等が一部に合成された動画等についても、本発明の実施の形態を適用することができる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
すなわち、請求項1または15において、動画記憶手段は、例えば動画記憶部200または660に対応する。また、画像保持手段は、例えば画像メモリ170に対応する。また、変換情報算出手段は、例えばカメラワーク検出部120に対応する。また、画像変換手段は、例えば画像変換部160に対応する。また、画像合成手段は、例えば画像合成部180に対応する。また、画像位置取得手段は、例えば画像位置取得部190に対応する。また、画像位置記憶手段は、例えば画像位置記憶部210に対応する。また、表示手段は、例えば表示部260に対応する。また、操作受付手段は、例えば操作受付部230に対応する。また、表示制御手段は、例えば表示制御部250に対応する。
また、請求項2において、選択手段は、例えば選択部240に対応する。
また、請求項4または5において、代表画像記憶手段は、例えば代表画像記憶部220に対応する。
また、請求項6において、動画入力手段は、例えば動画入力部110に対応する。また、変換情報算出手段は、例えばカメラワーク検出部120に対応する。また、画像変換手段は、例えば画像変換部160に対応する。また、インデックス画像記憶手段は、例えばインデックス画像記憶部280に対応する。また、インデックス画像抽出手段は、例えばインデックス画像抽出部270に対応する。
また、請求項10または11において、表示制御手段は、例えば表示制御部251に対応する。
また、請求項12において、動画記憶手段は、例えば動画記憶部200に対応する。また、操作受付手段は、例えば操作受付部230に対応する。また、選択手段は、例えば選択部241に対応する。
また、請求項13において、画像保持手段は、例えば画像メモリ170に対応する。また、画像合成手段は、例えば画像合成部181に対応する。また、代表画像記憶手段は、例えば代表画像記憶部225に対応する。
また、請求項14において、動画記憶手段は、例えば動画記憶部200に対応する。また、表示手段は、例えば表示部260に対応する。また、操作受付手段は、例えば操作受付部230に対応する。また、選択手段は、例えば選択部241に対応する。また、表示制御手段は、例えば表示制御部251に対応する。
また、請求項16または17において、変換情報算出手順は、例えばステップS903乃至S913に対応する。また、画像変換手順は、例えばステップS925に対応する。また、画像合成手順は、例えばステップS926およびS954に対応する。また、画像位置取得手順は、例えばステップS927に対応する。また、画像位置記憶手段に記憶する手順は、例えばステップS927に対応する。また、表示手順は、例えばステップS942に対応する。また、操作受付手順は、例えばステップS945に対応する。また、表示制御手順は、例えばステップS947に対応する。
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
本発明の実施の形態における画像処理装置100の機能構成例を示すブロック図である。 本発明の実施の形態における画像位置記憶部210に記憶されている内容を概略的に示す図である。 本発明の実施の形態における代表画像記憶部220に記憶されている内容を概略的に示す図である。 動画を構成するフレームに対応する画像の一例を示す図である。 動画を構成するフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。 本発明の実施の形態における画像処理装置100によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。 カメラにより撮影された動画の遷移の一例を示す図である。 図7に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。 図7に示す画像401乃至403を含む動画を合成する場合における画像合成例を示す図である。 カメラにより撮影された動画の遷移の一例を示す図である。 図10に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。 図10に示す画像421乃至423を含む動画を合成する場合における合成例を示す図である。 カメラにより撮影された動画の遷移の一例を示す図である。 図13に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。 図13に示す画像441乃至443を含む動画を合成する場合における合成例を示す図である。 カメラにより撮影された動画の遷移の一例を示す図である。 カメラにより撮影された動画の遷移の一例を示す図である。 カメラにより撮影された動画の遷移の一例を示す図である。 カメラにより撮影された動画の遷移の一例を示す図である。 カメラにより撮影された動画が画像合成部180により合成されたパノラマ画像の一例を示す図である。 本発明の実施の形態における表示部260に表示されるパノラマ画像一覧画面の表示例を示す図である。 本発明の実施の形態における表示部260に表示されるパノラマ画像表示画面の表示例、動画および動画を構成するフレームの一部を模式的に示す図である。 本発明の実施の形態における画像処理装置100によるパノラマ画像作成処理の処理手順を示すフローチャートである。 本発明の実施の形態における画像処理装置100による動画再生処理の処理手順を示すフローチャートである。 本発明の実施の形態における画像処理装置101の機能構成例を示すブロック図である。 本発明の実施の形態におけるインデックス画像記憶部280に記憶されている内容を概略的に示す図である。 本発明の実施の形態におけるインデックス画像を抽出する場合における抽出方法の一例を概略的に示す図である。 パノラマ画像の一例とともに、このパノラマ画像に対応する動画に含まれるフレームおよびインデックス画像の関係を示す図である。 本発明の実施の形態における画像処理装置101によるパノラマ画像作成処理の処理手順を示すフローチャートである。 本発明の実施の形態における画像処理装置101による動画再生処理の処理手順を示すフローチャートである。 本発明の実施の形態におけるインデックス画像記憶部280に記憶されているインデックス画像が三次元空間上に仮想的に配置されている場合を概略的に示す図である。 本発明の実施の形態におけるインデックス画像記憶部280に記憶されているインデックス画像が三次元空間上に仮想的に配置されている場合を概略的に示す図である。 三次元空間上に仮想的に配置されたインデックス画像701乃至708の表示例を示す図である。 三次元空間上に仮想的に配置されたインデックス画像701乃至708の表示例を示す図である。 本発明の実施の形態における画像処理装置650の機能構成例を示すブロック図である。 本発明の実施の形態における動画記憶部660およびメタデータ記憶部670に記録されている各ファイルを模式的に示す図である。 本発明の実施の形態におけるマルチコアプロセッサ800の一構成例を示す図である。 本発明の実施の形態における制御プロセッサコア801の一構成例を示す図である。 本発明の実施の形態における演算プロセッサコア(#1)811の一構成例を示す図である。 本発明の実施の形態におけるマルチコアプロセッサ800の演算方法を模式的に示す図である。 本発明の実施の形態におけるマルチコアプロセッサ800により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。 複数のデータに対する処理をそれぞれの命令で行う演算方式の概要、および、複数のデータに対する処理を1つの命令で行うSIMD演算の概要を模式的に示す図である。 本発明の実施の形態における制御プロセッサコア801または演算プロセッサコア(#1)811により実行されるプログラムの構成例を示す図である。 本発明の実施の形態におけるメインメモリ781に格納されている画像データについて、ソベルフィルタ830を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。 本発明の実施の形態におけるメインメモリ781に格納されている画像データについてソベルフィルタ830を用いてSIMD演算を行う場合におけるデータの流れを概略的に示す図である。 本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、第一バッファ831に格納されている画像データから9つのベクトルを作成するベクトル作成方法を概略的に示す図である。 本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、ベクターデータ841乃至849についてSIMD命令を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。 本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。 記録媒体の一例であるブルーレイディスク880、ブルーレイディスク880に記録されている各データ881乃至884、および、ブルーレイディスク880を再生可能なブルーレイ再生機890の内部構成を模式的に示す図である。
符号の説明
100、101、650 画像処理装置
110 動画入力部
120 カメラワーク検出部
121 特徴点抽出部
122 オプティカルフロー計算部
123 カメラワークパラメータ算出部
130、651 記録制御部
140 動画取得部
150 カメラワークパラメータ抽出部
160 画像変換部
170 画像メモリ
180、181 画像合成部
190 画像位置取得部
200、660 動画記憶部
210 画像位置記憶部
220、225 代表画像記憶部
230 操作受付部
240、241 選択部
250、251 表示制御部
260 表示部
270 インデックス画像抽出部
280 インデックス画像記憶部
670 メタデータ記憶部
652 ファイル取得部

Claims (17)

  1. 撮像装置により撮像された撮像動画を記憶する動画記憶手段と、
    前記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段と、
    前記撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、
    前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手段と、
    前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手段と、
    前記変換された撮像画像の前記合成による前記履歴画像上の座標位置を取得する画像位置取得手段と、
    前記取得された座標位置と前記撮像画像とを関連付けて記憶する画像位置記憶手段と、
    前記撮像動画を表す代表画像として前記履歴画像を表示する表示手段と、
    前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、
    前記選択された前記代表画像における位置に基づいて前記動画記憶手段に記憶されている撮像動画を前記選択された位置に対応する撮像画像から再生させる表示制御手段と
    を具備することを特徴とする画像処理装置。
  2. 前記画像位置取得手段は、前記変換された撮像画像の中心位置を前記座標位置として取得し、
    前記画像位置記憶手段は、前記取得された中心位置と前記撮像画像とを関連付けて記憶し、
    前記画像位置記憶手段に記憶されている中心位置の中から前記選択された前記代表画像における位置から最も近い中心位置を選択することにより前記選択された位置に対応する撮像画像を選択する選択手段をさらに具備する
    ことを特徴とする請求項1記載の画像処理装置。
  3. 前記画像位置取得手段は、前記変換された撮像画像の中心位置および大きさを前記座標位置として取得し、
    前記画像位置記憶手段は、前記取得された中心位置および大きさと前記撮像画像とを関連付けて記憶し、
    前記選択手段は、前記画像位置記憶手段に記憶されている中心位置の中から前記選択された前記代表画像における位置から最も近い中心位置が複数検出された場合には当該検出された複数の中心位置に対応する大きさを比較することにより前記選択された位置に対応する撮像画像を選択する
    ことを特徴とする請求項2記載の画像処理装置。
  4. 前記変換情報算出手段は、前記撮像動画を構成するフレーム毎に前記変換情報を順次算出し、
    前記画像変換手段は、前記撮像画像を前記フレーム毎に順次変換し、
    前記画像合成手段は、前記変換された撮像画像を前記履歴画像に前記フレーム毎に順次合成して新たな履歴画像とし、
    前記画像保持手段は、前記フレーム毎に前記新たな履歴画像を順次保持し、
    前記撮像動画を構成する少なくとも一定数のフレームに対応する画像が合成された前記履歴画像を前記代表画像として記憶する代表画像記憶手段をさらに具備する
    ことを特徴とする請求項1記載の画像処理装置。
  5. 前記画像合成手段は、前記代表画像の縮小画像を作成し、
    前記代表画像および前記縮小画像を関連付けて記憶する代表画像記憶手段をさらに具備し、
    前記表示制御手段は、前記代表画像記憶手段に記憶されている縮小画像を一覧画像として選択可能に表示させる
    ことを特徴とする請求項1記載の画像処理装置。
  6. 撮像装置により撮像された動画を撮像動画として入力する動画入力手段と、
    前記撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、
    前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手段と、
    前記撮像画像または前記変換された撮像画像のうちの少なくとも一方を前記撮像動画のインデックス画像とし、前記変換情報により定められる撮像空間上の前記インデックス画像の座標位置および大きさを記憶するインデックス画像記憶手段と、
    前記変換された撮像画像と前記インデックス画像記憶手段に記憶されているインデックス画像の座標位置および大きさとに基づいて前記撮像動画からインデックス画像を抽出するインデックス画像抽出手段と
    を具備することを特徴とする画像処理装置。
  7. 前記インデックス画像抽出手段は、前記変換された撮像画像と前記インデックス画像記憶手段に記憶されているインデックス画像との重複率を算出して当該算出された重複率に基づいて前記インデックス画像を抽出する
    ことを特徴とする請求項6記載の画像処理装置。
  8. 前記インデックス画像抽出手段は、前記抽出されたインデックス画像の前記座標位置および大きさを前記インデックス画像記憶手段に順次記録する
    ことを特徴とする請求項6記載の画像処理装置。
  9. 前記インデックス画像抽出手段は、前記抽出されたインデックス画像の前記座標位置および大きさと前記抽出されたインデックス画像とを関連付けて前記インデックス画像記憶手段に順次記録する
    ことを特徴とする請求項6記載の画像処理装置。
  10. 前記インデックス画像記憶手段に記憶されているインデックス画像の前記座標位置および大きさに基づいて当該インデックス画像を二次元空間に配置して表示させる表示制御手段をさらに具備する
    ことを特徴とする請求項9記載の画像処理装置。
  11. 前記インデックス画像抽出手段は、前記抽出されたインデックス画像の前記座標位置および大きさと前記抽出されたインデックス画像と前記撮像動画における前記抽出されたインデックス画像に関する時間情報とを関連付けて前記インデックス画像記憶手段に順次記録し、
    前記インデックス画像記憶手段に記憶されているインデックス画像の時間情報と座標位置と大きさとに基づいて当該インデックス画像を三次元空間に仮想的に配置して当該インデックス画像を平面に投影して表示させる表示制御手段をさらに具備する
    ことを特徴とする請求項6記載の画像処理装置。
  12. 前記撮像動画を記憶する動画記憶手段と、
    前記三次元空間に配置されているインデックス画像を選択する選択操作を受け付ける操作受付手段と、
    前記選択された前記インデックス画像に基づいて前記インデックス画像記憶手段に記憶されている前記時間情報を選択する選択手段とをさらに具備し、
    前記表示制御手段は、前記動画記憶手段に記憶されている撮像動画を前記選択された時間情報に対応する撮像画像から再生させる
    ことを特徴とする請求項11記載の画像処理装置。
  13. 履歴画像を保持する画像保持手段と、
    前記抽出されたインデックス画像に対応する前記変換された撮像画像には所定のマーカを付して前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手段と、
    前記撮像動画を表す代表画像として前記履歴画像を記憶する代表画像記憶手段とをさらに具備する
    ことを特徴とする請求項6記載の画像処理装置。
  14. 前記撮像動画を記憶する動画記憶手段と、
    前記代表画像記憶手段に記憶されている代表画像を表示する表示手段と、
    前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、
    前記選択された前記代表画像における位置に基づいて前記抽出されたインデックス画像を選択する選択手段と、
    前記動画記憶手段に記憶されている撮像動画を前記選択されたインデックス画像に対応する撮像画像から再生させる表示制御手段とをさらに具備する
    ことを特徴とする請求項13記載の画像処理装置。
  15. 撮像装置により撮像された撮像動画を記憶する動画記憶手段と、
    前記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段と、
    前記撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手段と、
    前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手段と、
    前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手段と、
    前記変換された撮像画像の前記合成による前記履歴画像上の座標位置を取得する画像位置取得手段と、
    前記取得された座標位置と前記撮像画像とを関連付けて記憶する画像位置記憶手段と、
    前記撮像動画を表す代表画像として前記履歴画像を表示する表示手段と、
    前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手段と、
    前記選択された前記代表画像における位置に基づいて前記動画記憶手段に記憶されている撮像動画を前記選択された位置に対応する撮像画像から再生させる表示制御手段と
    を具備することを特徴とする動画再生装置。
  16. 撮像装置により撮像された撮像動画を記憶する動画記憶手段と前記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段とを備える画像処理装置における画像処理方法であって、
    前記撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手順と、
    前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手順と、
    前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手順と、
    前記変換された撮像画像の前記合成による前記履歴画像上の座標位置を取得する画像位置取得手順と、
    前記取得された座標位置と前記撮像画像とを関連付けて画像位置記憶手段に記憶する手順と、
    前記撮像動画を表す代表画像として前記履歴画像を表示する表示手順と、
    前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手順と、
    前記選択された前記代表画像における位置に基づいて前記動画記憶手段に記憶されている撮像動画を前記選択された位置に対応する撮像画像から再生させる表示制御手順と
    を具備することを特徴とする画像処理方法。
  17. 撮像装置により撮像された撮像動画を記憶する動画記憶手段と前記撮像動画を構成する撮像画像を履歴画像として保持する画像保持手段とを備える画像処理装置において、
    前記撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報を算出する変換情報算出手順と、
    前記算出された変換情報に基づいて前記撮像画像を変換する画像変換手順と、
    前記変換された撮像画像を前記履歴画像に合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手順と、
    前記変換された撮像画像の前記合成による前記履歴画像上の座標位置を取得する画像位置取得手順と、
    前記取得された座標位置と前記撮像画像とを関連付けて画像位置記憶手段に記憶する手順と、
    前記撮像動画を表す代表画像として前記履歴画像を表示する表示手順と、
    前記表示されている代表画像における位置を選択する選択操作を受け付ける操作受付手順と、
    前記選択された前記代表画像における位置に基づいて前記動画記憶手段に記憶されている撮像動画を前記選択された位置に対応する撮像画像から再生させる表示制御手順と
    をコンピュータに実行させることを特徴とするプログラム。
JP2007317768A 2007-08-24 2007-12-07 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム Abandoned JP2009077363A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2007317768A JP2009077363A (ja) 2007-08-24 2007-12-07 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
TW097130137A TW200922325A (en) 2007-08-24 2008-08-07 Image processing device, dynamic image reproduction device, and processing method and program in them
EP08828856A EP2073539A4 (en) 2007-08-24 2008-08-22 IMAGE PROCESSING DEVICE, DYNAMIC IMAGE PROGRAM AND METHOD OF PROCESSING AND PROGRAM THEREFOR
PCT/JP2008/064984 WO2009028409A1 (ja) 2007-08-24 2008-08-22 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
KR1020097017397A KR20100043138A (ko) 2007-08-24 2008-08-22 화상 처리 장치, 동화상 재생 장치, 이들에서의 처리 방법 및 프로그램
US12/447,923 US8754959B2 (en) 2007-08-24 2008-08-22 Image processing device, dynamic image reproduction device, and processing method and program in them
BRPI0806239-0A BRPI0806239A2 (pt) 2007-08-24 2008-08-22 aparelhos de processamento de imagem e de reprodução de imagem em movimento, método de processamento de imagem em um aparelho de processamento de imagem, e, programa em um aparelho de processamento de imagem
RU2009131717/09A RU2009131717A (ru) 2007-08-24 2008-08-22 Устройство обработки изображения, устройство воспроизведения движущегося изображения, способ обработки и их программа

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007219094 2007-08-24
JP2007317768A JP2009077363A (ja) 2007-08-24 2007-12-07 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2009077363A true JP2009077363A (ja) 2009-04-09

Family

ID=40387131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007317768A Abandoned JP2009077363A (ja) 2007-08-24 2007-12-07 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム

Country Status (8)

Country Link
US (1) US8754959B2 (ja)
EP (1) EP2073539A4 (ja)
JP (1) JP2009077363A (ja)
KR (1) KR20100043138A (ja)
BR (1) BRPI0806239A2 (ja)
RU (1) RU2009131717A (ja)
TW (1) TW200922325A (ja)
WO (1) WO2009028409A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922823B2 (en) 2016-08-25 2021-02-16 Nec Corporation Motion analyis device, motion analysis method, and program recording medium

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5092722B2 (ja) 2007-12-07 2012-12-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP2009151896A (ja) 2007-12-21 2009-07-09 Sony Corp 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
JP5395512B2 (ja) * 2009-05-26 2014-01-22 オリンパスイメージング株式会社 撮影装置
JP5279636B2 (ja) * 2009-06-30 2013-09-04 キヤノン株式会社 撮像装置
JP5340895B2 (ja) * 2009-11-24 2013-11-13 株式会社ソニー・コンピュータエンタテインメント 画像データ作成支援装置および画像データ作成支援方法
JP5293587B2 (ja) * 2009-12-16 2013-09-18 ソニー株式会社 表示制御装置、表示制御方法、プログラム
TWI495342B (zh) * 2011-08-12 2015-08-01 Univ Far East Use a hand-held electronic device to upload and synthesize photos
CN102364470B (zh) * 2011-10-14 2013-05-15 西安工业大学 一种基于图像序列的三维动画检索方法
KR101913837B1 (ko) * 2011-11-29 2018-11-01 삼성전자주식회사 파노라마 영상 생성 방법 및 이를 적용한 영상기기
US9690458B2 (en) * 2012-09-10 2017-06-27 Mediatek Inc. Image viewing method for displaying portion of selected image based on user interaction input and related image viewing system and machine readable medium
KR20150060026A (ko) * 2013-11-25 2015-06-03 삼성전자주식회사 이전 커맨드 정보를 이용하여 현재 커맨드를 처리하는 방법 및 장치.
TWI571753B (zh) * 2014-11-07 2017-02-21 財團法人資訊工業策進會 用於產生一影像之一互動索引碼圖之電子計算裝置、其方法及其電腦程式產品
US10078218B2 (en) * 2016-01-01 2018-09-18 Oculus Vr, Llc Non-overlapped stereo imaging for virtual reality headset tracking
KR102360179B1 (ko) 2016-02-02 2022-02-08 삼성전자주식회사 가상 현실을 제공하기 위한 이미지를 촬영하는 3차원 카메라
KR101905580B1 (ko) * 2016-02-17 2018-10-11 한국전자통신연구원 촬영 기능을 갖는 모바일 장치를 이용한 상황 재연 방법 및 시스템
WO2021053967A1 (ja) * 2019-09-20 2021-03-25 富士フイルム株式会社 撮影装置、及び撮影方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657402A (en) 1991-11-01 1997-08-12 Massachusetts Institute Of Technology Method of creating a high resolution still image using a plurality of images and apparatus for practice of the method
JP2989364B2 (ja) 1992-03-12 1999-12-13 シャープ株式会社 画像処理装置及び画像処理方法
US5649032A (en) 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
JPH0962861A (ja) * 1995-08-21 1997-03-07 Matsushita Electric Ind Co Ltd パノラマ映像装置
US6549681B1 (en) * 1995-09-26 2003-04-15 Canon Kabushiki Kaisha Image synthesization method
JPH09121358A (ja) * 1995-10-25 1997-05-06 Matsushita Electric Ind Co Ltd 画像符号化及び復号化装置と方法
US5706416A (en) 1995-11-13 1998-01-06 Massachusetts Institute Of Technology Method and apparatus for relating and combining multiple images of the same scene or object(s)
US5768447A (en) * 1996-06-14 1998-06-16 David Sarnoff Research Center, Inc. Method for indexing image information using a reference model
US5943445A (en) * 1996-12-19 1999-08-24 Digital Equipment Corporation Dynamic sprites for encoding video data
US6215505B1 (en) * 1997-06-20 2001-04-10 Nippon Telegraph And Telephone Corporation Scheme for interactive video manipulation and display of moving object on background image
JPH11120353A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd 画像表示装置
JP4154012B2 (ja) 1997-10-30 2008-09-24 株式会社日立製作所 画像表示方法を実現するためのプログラムを記録した記録媒体及び画像合成装置
US6366699B1 (en) * 1997-12-04 2002-04-02 Nippon Telegraph And Telephone Corporation Scheme for extractions and recognitions of telop characters from video data
JPH11289517A (ja) 1998-04-02 1999-10-19 Sony Corp 再生装置及び再生方法
US6192393B1 (en) * 1998-04-07 2001-02-20 Mgi Software Corporation Method and system for panorama viewing
US7292261B1 (en) * 1999-08-20 2007-11-06 Patrick Teo Virtual reality camera
EP2278549A1 (en) * 1999-09-24 2011-01-26 Nippon Telegraph And Telephone Corporation Method and apparatus for extracting segmentation mask
IL136080A0 (en) * 2000-05-11 2001-05-20 Yeda Res & Dev Sequence-to-sequence alignment
US6895126B2 (en) 2000-10-06 2005-05-17 Enrico Di Bernardo System and method for creating, storing, and utilizing composite images of a geographic location
US7194112B2 (en) * 2001-03-12 2007-03-20 Eastman Kodak Company Three dimensional spatial panorama formation with a range imaging system
JP4519364B2 (ja) * 2001-05-31 2010-08-04 株式会社日立メディコ パノラマ画像表示方法、ソフトウエア及び装置
US6839067B2 (en) 2002-07-26 2005-01-04 Fuji Xerox Co., Ltd. Capturing and producing shared multi-resolution video
US7113185B2 (en) * 2002-11-14 2006-09-26 Microsoft Corporation System and method for automatically learning flexible sprites in video layers
JP4419499B2 (ja) 2003-01-07 2010-02-24 セイコーエプソン株式会社 画像生成装置、画像ずれ量検出装置、画像生成方法、画像ずれ量検出方法、画像生成プログラムおよび画像ずれ量検出プログラム
US7139006B2 (en) 2003-02-04 2006-11-21 Mitsubishi Electric Research Laboratories, Inc System and method for presenting and browsing images serially
US20060109283A1 (en) 2003-02-04 2006-05-25 Shipman Samuel E Temporal-context-based video browsing interface for PVR-enabled television systems
JP4583717B2 (ja) 2003-03-03 2010-11-17 ソニー株式会社 撮像装置及び方法、画像情報提供システム、プログラム、並びに制御装置
WO2005032125A1 (ja) * 2003-09-26 2005-04-07 Sharp Kabushiki Kaisha パノラマ画像作成装置及びパノラマ画像撮影装置
US7606441B2 (en) * 2003-11-27 2009-10-20 Seiko Epson Corporation Image processing device and a method for the same
JP2005217874A (ja) * 2004-01-30 2005-08-11 Konica Minolta Photo Imaging Inc ファイル管理方法
US7623682B2 (en) * 2004-08-13 2009-11-24 Samsung Electronics Co., Ltd. Method and device for motion estimation and compensation for panorama image
US7627194B2 (en) * 2004-08-13 2009-12-01 Samsung Electronics Co., Ltd. Method and device for making virtual image region for motion estimation and compensation of panorama image
KR100677142B1 (ko) * 2004-08-13 2007-02-02 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상
US20070103544A1 (en) 2004-08-26 2007-05-10 Naofumi Nakazawa Panorama image creation device and panorama image imaging device
US7911482B1 (en) * 2006-01-06 2011-03-22 Videomining Corporation Method and system for efficient annotation of object trajectories in image sequences
JP5260264B2 (ja) 2008-03-25 2013-08-14 富士通株式会社 ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922823B2 (en) 2016-08-25 2021-02-16 Nec Corporation Motion analyis device, motion analysis method, and program recording medium

Also Published As

Publication number Publication date
EP2073539A4 (en) 2011-08-10
KR20100043138A (ko) 2010-04-28
WO2009028409A1 (ja) 2009-03-05
RU2009131717A (ru) 2011-02-27
US8754959B2 (en) 2014-06-17
EP2073539A1 (en) 2009-06-24
US20100066860A1 (en) 2010-03-18
BRPI0806239A2 (pt) 2011-09-06
TW200922325A (en) 2009-05-16

Similar Documents

Publication Publication Date Title
JP5223318B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2009077363A (ja) 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
JP4678404B2 (ja) 撮像装置、その制御方法およびプログラム
WO2009081806A1 (ja) 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
JP5092722B2 (ja) 画像処理装置、画像処理方法およびプログラム
EP2180701A1 (en) Image processing device, dynamic image reproduction device, and processing method and program in them
JP4623199B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4623201B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4623200B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4692550B2 (ja) 画像処理装置、その処理方法およびプログラム
JP4697221B2 (ja) 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
CN101627623A (zh) 图像处理设备、运动图像播放设备及其处理方法和程序
CN101617531A (zh) 图像处理装置、运动图像播放装置及其处理方法和程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101013

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20120412