(57)【特許請求の範囲】
【請求項１】
撮影された動画像、および、前記動画像に関連付けられた、前記動画像に含まれる第１の被写体のフレームごとの位置を示す情報を取得する取得手段と、
前記取得手段で取得した動画像のそれぞれのフレームに対して追尾処理を行うことによって、前記動画像のそれぞれのフレームにおける、追尾対象として指定された第２の被写体の動きを追尾する追尾手段と、
前記追尾処理によって検出された前記第２の被写体の位置と、前記取得手段により取得された情報が示す前記第１の被写体の位置との差が所定の範囲内のフレームにおいては、前記取得手段により取得された情報が示す前記第１の被写体の位置を用いて、表示手段に表示する前記動画像の表示領域を制御し、前記差が前記所定の範囲でないフレームにおいては、前記追尾処理によって検出された前記第２の被写体の位置を用いて、前記表示手段に表示する前記動画像の表示領域を制御する制御手段と、を有する
ことを特徴とする画像再生装置。
【請求項２】
前記制御手段は、前記追尾対象が指定されたフレームにおいて、前記指定された追尾対象の位置と、前記取得手段により取得された情報が示す前記第１の被写体の位置との差が所定の範囲内の場合には、前記追尾手段による追尾処理を行わないように制御する、
ことを特徴とする請求項１に記載の画像再生装置。
【請求項３】
前記表示手段を更に有し、
前記制御手段は、前記表示領域を前記動画像のフレームの一部となるように制御する、ことを特徴とする請求項１または２に記載の画像再生装置。
【請求項４】
前記表示手段は、前記動画像のフレームの全体をさらに表示する、
ことを特徴とする請求項３に記載の画像再生装置。
【請求項５】
前記第１の被写体の位置は、前記動画像を撮影する際に検出されており、
前記取得手段は、前記第１の被写体の位置を前記動画像のヘッダから取得する、
ことを特徴とする請求項１から４のいずれか１項に記載の画像再生装置。
【請求項６】
前記追尾処理によって検出された前記第２の被写体の位置を記録する記録手段をさらに有する、
ことを特徴とする請求項１から５のいずれか１項に記載の画像再生装置。
【請求項７】
前記記録手段は、前記追尾処理によって検出された前記第２の被写体の位置を前記動画像のファイルとは異なるファイルに記録する、
ことを特徴とする請求項６に記載の画像再生装置。
【請求項８】
前記記録手段は、前記追尾処理によって検出された前記第２の被写体の位置を前記動画像のファイルのヘッダに一部上書きして記録する、
ことを特徴とする請求項６に記載の画像再生装置。
【請求項９】
前記取得手段は、前記記録手段により前記追尾処理によって検出された前記第２の被写体の位置が記録されている場合、記録されている当該追尾対象として指定された被写体の位置を取得する、
ことを特徴とする請求項６から８のいずれか１項に記載の画像再生装置。
【請求項１０】
取得手段が、撮影された動画像、および、前記動画像に関連付けられた、前記動画像に含まれる第１の被写体のフレームごとの位置を示す情報を取得する取得工程と、
追尾手段が、前記取得工程において取得した前記動画像のそれぞれのフレームに対して追尾処理を行うことによって、前記動画像のそれぞれのフレームにおける、追尾対象として指定された第２の被写体の動きを追尾する追尾工程と、
制御手段が、前記追尾処理によって検出された前記第２の被写体の位置と、前記取得工程において取得された情報が示す前記第１の被写体の位置との差が所定の範囲内のフレームにおいては、前記取得工程において取得された情報が示す前記第１の被写体の位置を用いて、表示手段に表示する前記動画像の表示領域を制御し、前記差が前記所定の範囲でないフレームにおいては、前記追尾処理によって検出された前記第２の被写体の位置を用いて、前記表示手段に表示する前記動画像の表示領域を制御する制御工程と、を有する
ことを特徴とする画像再生装置の制御方法。
【請求項１１】
コンピュータに請求項１０に記載の、画像再生装置の制御方法の各工程を実行させるためのプログラム。
【請求項１２】
コンピュータに請求項１０に記載の、画像再生装置の制御方法の各工程を実行させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像再生装置およびその制御方法、プログラムならびに記録媒体に関する。
【背景技術】
【０００２】
近年、広角で撮影された動画像に含まれる複数の被写体について、顔検出機能等により検出された人物ごとの位置情報や識別情報等を動画像の再生前に予め記録し、動画像を再生する際に、当該位置情報を用いて追尾した人物を表示する技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２２０７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した技術では、人物等の位置情報等を予め記録する際に検出時の誤認識などにより誤った人物を追尾した場合、動画像の再生時には所望の人物を追尾して表示できない場合がある。
【０００５】
本発明は、上述の従来技術の問題点に鑑みてなされたものである。すなわち、再生前に予め記録した被写体の位置情報が適切でない場合であっても、所望の被写体を適切に追尾した動画像を再生することが可能な画像再生装置およびその制御方法、プログラムならびに記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の画像再生装置は以下の構成を備える。すなわち、撮影された動画像、および、動画像に関連付けられた、動画像に含まれる第１の被写体のフレームごとの位置を示す情報を取得する取得手段と、取得手段で取得した動画像のそれぞれのフレームに対して追尾処理を行うことによって、動画像のそれぞれのフレームにおける、追尾対象として指定された第２の被写体の動きを追尾する追尾手段と、追尾処理によって検出された第２の被写体の位置と、取得手段により取得された情報が示す第１の被写体の位置との差が所定の範囲内のフレームにおいては、取得手段により取得された情報が示す第１の被写体の位置を用いて、表示手段に表示する動画像の表示領域を制御し、差が所定の範囲でないフレームにおいては、追尾処理によって検出された第２の被写体の位置を用いて、表示手段に表示する動画像の表示領域を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、再生前に予め記録した被写体の位置情報が適切でない場合であっても、所望の被写体を適切に追尾した動画像を再生することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る画像再生装置の一例としてのパーソナルコンピュータの機能構成例を示すブロック図
【図２】本実施形態に係る再生処理の一連の動作を示すフローチャート
【図３】本実施形態に係る撮影時追尾情報の一例を示す図
【図４】本実施形態に係る主要被写体情報の一例を示す図
【図５】本実施形態に係る主要被写体情報の更新処理の一連の動作を示すフローチャート
【図６】本実施形態に係る再生時追尾処理の一連の動作を示すフローチャート
【図７】本実施形態に係る追尾再生処理の一連の動作を示すフローチャート
【図８】本実施形態に係る入力部１０５におけるユーザインターフェイスの一例を模式的に示す図
【図９】本実施形態に係る主要被写体情報の更新後における再生処理の一連の動作を示すフローチャート
【図１０】本実施形態に係る追尾情報管理表として記録するデータの一例を説明する図。
【図１１】本実施形態に係る追尾情報補正処理の一連の動作を示すフローチャート
【図１２】本実施形態に係る入力部１０５におけるユーザインターフェイスの一例を模式的に示す図
【図１３】本実施形態に係る撮影時追尾情報の一部を上書きする処理の一連の動作を示すフローチャート
【発明を実施するための形態】
【０００９】
（実施形態１）
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では画像再生装置の一例として、動画像を読み出して再生可能な任意のパーソナルコンピュータに本発明を適用した例を説明する。しかし、本発明は、パーソナルコンピュータに限らず、動画像を読み出して再生可能な任意の電子機器にも適用可能である。これらの電子機器には、例えば携帯電話機、ゲーム機、タブレット端末、デジタルカメラ、時計型や眼鏡型の情報端末、監視用機器、車載機器及び医療機器などが含まれてよい。
【００１０】
（パーソナルコンピュータ１０の構成）
図１は、本実施形態の一例としてのパーソナルコンピュータ１０の機能構成例を示すブロック図である。なお、図１に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＭＰＵ等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
【００１１】
以下の説明では、動画撮影時に記録された撮影時追尾情報を用いて追尾再生を行うと共に、ユーザが主要被写体を指定し直した場合は再生時に追尾処理を行って追尾再生処理を行う画像再生装置について説明する。なお、本実施形態における追尾再生処理は、後に詳述する撮影時追尾情報を用いて、主要被写体が含まれるように表示倍率変えて再生する処理をいう。
【００１２】
制御部１００はＣＰＵ又はＭＰＵを含み、不揮発性メモリ１０２等に格納されていたプログラムを揮発性メモリ１０３に展開して実行することにより、例えば後述する処理を実現すると共に、パーソナルコンピュータ１０全体を制御する。
【００１３】
記録部１０１はハードディスク（以下、ＨＤＤ）等の記録媒体を含み、アプリケーションプログラムやデータ、ライブラリなどを記録すると共に読み出す。また、記録部１０１は、後述する再生処理において処理対象となる動画データを記録し、読み出す。
【００１４】
不揮発性メモリ１０２は、例えばＲＯＭ等の不揮発性の記憶装置を含み、制御部１００の動作処理手順（例えばコンピュータの立ち上げ処理や基本入出力処理等のプログラム）を記憶する。
【００１５】
揮発性メモリ１０３は、例えばＲＡＭ等の揮発性の記憶装置を含み、後述する動画データや追尾情報等を記憶すると共に、制御部１００が各種処理を実行する際のワークエリアとして機能する。
【００１６】
表示部１０４は、例えば液晶やＬＥＤ等で構成される表示パネルを含み、制御部１００の制御により例えば撮影画像、再生画像及びメニュー画像を表示する。表示部１０４に含まれる表示パネルは例えば７〜２７インチの様々なサイズであり得る。
【００１７】
入力部１０５は、ポインティングデバイス、キーボードあるいはタッチパネルを含み、ユーザ操作を検出して制御部１００に通知する。
【００１８】
メディアドライブ１０６は、例えば記憶媒体装着ユニット（メディアドライブ）を含み、着脱可能な記憶媒体を装着して、デジタルスチルカメラやデジタルビデオカメラ等の撮像装置で撮影されたデータを読み出す。
【００１９】
通信インターフェイス（Ｉ／Ｆ）１０７は、通信回線１０９を介してコンピュータネットワーク１１０と接続される。この通信Ｉ／Ｆ１０７により通信可能な機器とデータを送受信する。
【００２０】
システムバス１０８は、上述した各部を接続するシステムバス（アドレスバス、データバスおよび制御バスからなる）を含み、パーソナルコンピュータ１０に含まれる各部の通信を制御する。
【００２１】
（再生処理に係る一連の動作）
次に、図２を参照して、パーソナルコンピュータ１０における再生処理に係る一連の動作を説明する。なお、本処理は、制御部１００が記録部１０１に記録されている処理対象の動画データに対してユーザ操作による再生指示を検出した場合に開始される。また、本処理は、制御部１００が不揮発性メモリ１０２に記憶されたプログラムを揮発性メモリ１０３の作業用領域に展開し、実行することにより実現される。
【００２２】
Ｓ２００にて、制御部１００は、撮影時追尾情報を取得する。例えば、制御部１００は、動画データに関連付けられて記録されている撮影時追尾情報を記録部１０１から読み出す。また、読み出した撮影時追尾情報を例えば揮発性メモリ１０３に一時的に記憶させる。なお、本実施形態における撮影時追尾情報は、動画ファイルのヘッダに記録されているものとする。
【００２３】
（撮影時追尾情報）
例えば、動画ファイルから取得される撮影時追尾情報は、図３に示すデータを含む。図３の例では、撮影時追尾情報は、動画ファイルを撮影した際のオートフォーカス制御において算出された、フレーム番号、被写体ＩＤ、被写体座標、追尾優先度のデータを含む。
【００２４】
フレーム番号３０１は、例えば撮影開始から対象フレームが何番目であるかを示すフレームの番号を含む。被写体ＩＤ３０２は、例えば対象フレーム内の被写体を識別する為の識別番号を含む。被写体座標３０３は、被写体ＩＤ３０２に対応する被写体がフレーム中のどの位置にあるかを示す座標の情報を含む。被写体の座標は、例えば検出された被写体の中心座標を示す。
【００２５】
追尾優先度３０４は、対象フレーム内に存在する複数の被写体のうち、どの被写体が優先的に追尾されるべきかを示す優先度の情報である。追尾優先度３０４の値が小さいほど、被写体ＩＤ３０２に対応する被写体の優先度が高いことを示す。
【００２６】
撮影時追尾情報は、各フレーム（図３の例では、フレーム１或いはフレームＮ）において被写体ごとに記録された撮影時被写体情報３０５〜３０９から構成される。同一の被写体ＩＤで示す被写体は同一の被写体である。
【００２７】
Ｓ２０１にて、制御部１００は、主要被写体情報を生成する。より具体的には、制御部１００は、Ｓ２００において揮発性メモリ１０３に記憶させた撮影時追尾情報を参照して、以下に説明する主要被写体情報の各データを設定する。
【００２８】
（主要被写体情報）
例えば、撮影時追尾情報に基づいて設定される主要被写体情報は、図４に示すデータを含む。主要被写体情報は、再生時における対象フレームの主要被写体情報を管理する情報であり、対象フレーム番号、主要被写体ＩＤ、追尾情報識別フラグ、主要被写体座標、及び主要被写体テンプレートのデータを含む。
【００２９】
対象フレーム番号４０１は、例えば追尾再生の対象となっているフレームが何番目であるかを示すフレーム番号を含む。主要被写体ＩＤ４０２は、例えば追尾再生の対象となる被写体のＩＤを示した主要被写体ＩＤを含む。追尾情報識別フラグ４０３は、主要被写体ＩＤ４０２の示す被写体の座標が撮影時又は再生時の追尾処理で算出されたかを識別するためのフラグを含み、撮影時に算出されたことを示す場合は０に、再生時に算出されたことを示す場合は１が設定される。
【００３０】
主要被写体座標４０４は、主要被写体ＩＤ４０２の示す被写体の、フレーム内の位置を示す主要被写体座標を含む。主要被写体座標４０４は、主要被写体ＩＤ４０２が示す被写体が再生時の追尾処理によって算出されない場合には、例えば情報が無いことを示す−１が記録される。
【００３１】
主要被写体テンプレート４０５は、主要被写体ＩＤ４０２の示す被写体に対応するテンプレートとしての画像データを含む。主要被写体テンプレート４０５の画像データは、後述する再生時追尾処理において、画像データから被写体を検出するためのテンプレートマッチング処理に用いられる。
【００３２】
主要被写体テンプレート４０５として保持する画像データの領域を式１〜式４に示す。ここで、主要被写体テンプレート４０５の領域を例えば(TemplateX1 , TemplateY1) − (TemplateX2 , TemplateY2)とする。また、動画を構成するフレームの幅をW（ピクセル）、高さをH（ピクセル）、再生時にユーザが主要被写体を指定した座標もしくは被写体座標３０３を（X、Y）とする。本実施形態では、主要被写体テンプレート４０５として設定する画像のサイズを、例えばフレームの幅、高さのピクセル数の２．５％とする。
TemplateX1  =  X − W ×0.025  …  式１
TemplateY1  =  Y − H  ×0.025  …  式２
TemplateX2  =  X  +  W  ×0.025  …  式３
TemplateY2  =  Y  +  H  ×0.025  …  式４
また、主要被写体情報４０６は、上述した４０１〜４０５を含む情報をフレームごとに含む情報である。
【００３３】
再び、図２を参照すると、制御部１００は、先頭フレームの追尾優先度が最も高い被写体の被写体ＩＤ３０２（例えば１）を主要被写体ＩＤ４０２に設定する。また、制御部１００は、追尾情報識別フラグ４０３を０（撮影時に算出されたことを示す）に、被写体座標３０３を主要被写体座標４０４に初期化して、撮影時追尾情報とは異なるファイルとして揮発性メモリ１０３に記憶させる。
【００３４】
Ｓ２０２にて、制御部１００は、再生時にユーザが主要被写体を指定したかを判定する。制御部１００は、入力部１０５を介して主要被写体を指定するユーザ操作が入力された場合、ユーザが主要被写体を指定した判定してＳ２０３に処理を進める。一方、所定の期間内に主要被写体の指定がない場合、主要被写体を指定していないと判定してＳ２０４に処理を進める。主要被写体指定方法については、図８を参照して後述する。
【００３５】
Ｓ２０３にて、制御部１００は、ユーザによって主要被写体が指定されたため、揮発性メモリ１０３に記憶されている主要被写体情報を更新する。更新方法については、図５を参照して後述する。例えば、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の追尾情報識別フラグ４０３を、主要被写体が「撮影時」に記録された被写体であるか、「再生時」にユーザが指定した被写体かを指定された主要被写体に応じて更新する。
【００３６】
Ｓ２０４にて、制御部１００は、主要被写体を再生時に追尾するかを判定する。より具体的には、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の追尾情報識別フラグ４０３を参照して、主要被写体が「撮影時」に記録された被写体であるか、「再生時」にユーザが指定した被写体かを判定する。制御部１００は、追尾情報識別フラグ４０３が０に設定されている場合、主要被写体を再生時に追尾しないと判定してＳ２０９に処理を進める。制御部１００は、追尾情報識別フラグ４０３が１に設定されている場合、主要被写体を再生時に追尾すると判定してＳ２０５に処理を進める。
【００３７】
Ｓ２０５にて、制御部１００は、再生時追尾処理を行う。例えば、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体テンプレート４０５を用いて主要被写体を追尾し、対象フレーム内の主要被写体の座標を算出する。そして、当該算出された座標を追尾結果として主要被写体情報の主要被写体座標４０４を更新する。再生時追尾処理については、図６を参照して後述する。
【００３８】
Ｓ２０６にて、制御部１００は、再生時追尾処理の結果に基づいて主要被写体テンプレート４０５を更新する。具体的には、制御部１００は、Ｓ２０５の再生時追尾処理により更新された主要被写体座標４０４に基づいて式１〜式４に従ってテンプレート情報を算出し、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体テンプレート４０５を更新する。
【００３９】
Ｓ２０７にて、制御部１００は、再生時追尾処理の結果である主要被写体座標４０４が被写体座標３０３と同等であるかを判定する。具体的には、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体座標４０４と、撮影時追尾情報の被写体座標３０３とを比較して、これらの座標の差が所定範囲内であるかを判定する。制御部１００は、比較した座標の差が所定範囲内である場合、主要被写体座標４０４が被写体座標３０３と同等であると判定してＳ２０８に処理を進める。また、座標の差が所定範囲より大きい場合、主要被写体座標４０４が被写体座標３０３と同等でないと判定してＳ２０９に処理を進める。
【００４０】
制御部１００は、比較した座標の差が所定範囲内であるかを判定するために、例えば式５及び式６が共に真となるかを判定する。式５及び式６では、動画を構成するフレームの幅のピクセル数をW、高さのピクセル数をH、主要被写体座標４０４を（PlayObjX、PlayObjY）、撮影時追尾情報の被写体座標３０３を（RecObjX、RecObjY）とする。
【００４１】
【数１】
0006579925.tif 000002
【００４２】
【数２】
0006579925.tif 000003
【００４３】
なお、本実施形態では、所定範囲を、例えば動画を構成するフレームの幅、高さのピクセル数の５．０％とする。
【００４４】
Ｓ２０８にて、制御部１００は、撮影時の主要被写体を用いて主要被写体情報を更新する。例えば、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体座標４０４と主要被写体テンプレート４０５とを情報がないことを示す−１に設定する。そして、Ｓ２０７で所定範囲内の差であると判断された撮影時追尾情報の被写体ＩＤ３０２を用いて主要被写体ＩＤ４０２を更新する。また追尾情報識別フラグ４０３を０に変更する。
【００４５】
Ｓ２０９にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報を参照して、追尾再生を行う。追尾再生処理については、図７を参照して後述する。
【００４６】
Ｓ２１０にて、制御部１００は動画データの全フレームを読み込んだかを判定して、更なるフレームに対して追尾再生処理を継続するかを判定する。制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の対象フレーム番号４０１と動画データの総フレーム数とを比較して、全フレームに対する追尾再生が終了したか判定する。制御部１００は、対象フレーム番号４０１の示すフレーム番号と動画データの総フレーム数が一致しない場合、全フレーム追尾再生が終了していないと判定してＳ２０２に処理を進める。一方、対象フレーム番号４０１の示すフレーム番号と動画データの総フレーム数が一致する場合、全フレームに対する追尾再生が終了したと判定して本一連の動作を終了する。
【００４７】
（主要被写体情報の更新処理に係る一連の動作）
図５は、本実施形態に係る、主要被写体情報の更新処理に係る一連の動作を示すフローチャートを示している。本処理は、制御部１００がＳ２０３の処理を開始する際に実行される。なお、本処理は、制御部１００が揮発性メモリ１０３に格納された制御プログラムを実行することにより動作する。また、本処理は、Ｓ２０２においてユーザ操作により主要被写体の指定があったと判定された場合に実行され、制御部１００は、指定された主要被写体が撮影時被写体であるか否かに応じて主要被写体情報を更新する。
【００４８】
Ｓ５０１にて、制御部１００は、Ｓ２０２において主要被写体としてユーザにより指定された被写体の座標を取得する。また、Ｓ５０２にて、制御部１００は、Ｓ５０１で取得した主要被写体を指定する座標と揮発性メモリ１０３に記憶されている撮影時追尾情報の被写体座標３０３との差が所定範囲内であるかを判定する。制御部１００は、比較する座標の差が所定範囲内であるかを判定する際に、例えば上述した式５及び式６が共に真となるかを判定する。制御部１００は、比較した座標の差が所定範囲内である場合（すなわち、指定された主要被写体を撮影時被写体と判定する場合）、Ｓ５０３に処理を進める。また、比較した座標の差が所定範囲内ではない場合（すなわち、指定された主要被写体が撮影時被写体でないと判定する場合）、Ｓ５０６に処理を進める。
【００４９】
Ｓ５０３にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体座標４０４と主要被写体テンプレート４０５に、例えば情報がないことを示す−１を設定する。さらに、Ｓ５０４にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の追尾情報識別フラグ４０３を、撮影時の被写体であることを示す０に変更する。そして、Ｓ５０５にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体ＩＤ４０２を所定範囲内の差であると判断された撮影時追尾情報の被写体ＩＤ３０２を用いて更新する。
【００５０】
一方、以下の各ステップは、Ｓ５０２において指定された主要被写体を指定した座標と、撮影時被写体の座標とが所定範囲より大きかった場合について説明する。Ｓ５０６にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の追尾情報識別フラグ４０３を、再生時の被写体であることを示す１に変更する。
【００５１】
Ｓ５０７にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体ＩＤ４０２を、新規の被写体ＩＤとして設定する。本実施形態では、例えば、撮影時追尾情報の被写体ＩＤ３０２に出現する値の最大値を１だけ増加させた値とする。
【００５２】
Ｓ５０８にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体座標４０４をＳ５０１において取得した指定座標で更新する。さらに、Ｓ５０９にて、制御部１００は、Ｓ５０１で取得した指定座標を用いて画像データを作成して、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体テンプレ―ト４０５を更新する。制御部１００は、例えば上述した式１〜式４を用いて主要被写体テンプレ―トを算出する。制御部１００は、主要被写体情報の主要被写体座標４０４の更新を終了すると、本処理に係る一連の動作を終了して呼び出し元に処理を戻し、Ｓ２０４に処理を進める。
【００５３】
（再生時追尾処理に係る一連の動作）
図６は、実施形態に係る再生時追尾処理の一連の動作を示すフローチャートを示している。本処理は、制御部１００がＳ２０５の処理を開始する際に実行される。なお、本処理は、制御部１００が揮発性メモリ１０３に格納された制御プログラムを実行することにより実行される。本処理は、上述したようにＳ２０４において主要被写体が撮影時主被写体である場合に実行される処理である。
【００５４】
Ｓ６０１にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体テンプレ―トを取得する。Ｓ６０２にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体テンプレ―トとマッチングする、フレーム中の対象領域を設定する。制御部１００は、例えば、式７〜式１０に従って当該対象領域を決定する。式７〜式１０では、マッチングする探索範囲を(SearchX1 , SearchY1) −  (SearchX2 , SearchY2)、動画を構成するフレームの幅のピクセル数をW、高さのピクセル数をH、主要被写体座標４０４を(X,Y)とする。
SearchX1  =  X − W  × 0.05   …  式７
SearchY1  =  Y − H  × 0.05   …  式８
SearchX2  =  X  +  W  × 0.05  …  式９
SearchY2  =  Y  +  H  × 0.05  …  式１０
なお、本実施形態では、例えば探索範囲として動画を構成するフレームの幅、高さのピクセル数の５．０％とする。
【００５５】
また、制御部１００は、式１１〜式１４に従ってマッチングの対象領域を算出する。式１１〜式１４では、中心座標(X2,Y2)の初期値を上述した(SearchX1 , SearchY1)とする。また、マッチングの対象領域を(TargetX1 , TargetY1) − (TargetX2 , TargetY2)、動画を構成するフレームの幅のピクセル数をW、高さのピクセル数をHとする。
TargetX1  =  X2 − W ×0.025  …  式１１
TargetY1  =  Y2 − H  ×0.025  …  式１２
TargetX2  =  X2  +  W  ×0.025  …  式１３
TargetY2  =  Y2  +  H  ×0.025  …  式１４
なお、本実施形態では、例えばマッチングの対象領域のサイズをフレームの幅、高さのピクセル数の２．５％とする。
【００５６】
Ｓ６０３にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体テンプレ―ト４０５と、Ｓ６０２において設定された対象領域との類似度を算出する。制御部１００は、例えば、当該テンプレートと対象領域との濃度値の差の絶対値和であるＳＡＤと、その２乗和であるＳＳＤの値が最も小さい領域を類似度が高い領域とする。式１５及び式１６では、テンプレ―トをF( i , j )、入力画像をＧ( i , j )、走査位置を（dx、dy）とする。
【００５７】
【数３】
0006579925.tif 000004
【００５８】
【数４】
0006579925.tif 000005
【００５９】
算出されたＳＡＤとＳＳＤは、Ｓ６０４にて、制御部１００によって類似度として揮発性メモリ１０３に記憶される。
【００６０】
Ｓ６０５にて、制御部１００は、上述した対象領域の中心座標(X2,Y2)を、式７〜式１０のおいて示した探索範囲の全画素が中心座標となるように順次X、Y座標を変更する。更に、Ｓ６０６にて、制御部１００は、対象フレーム内の探索範囲のマッチングがすべて終了したかを判定し、探索範囲のマッチングがすべて終了したと判定した場合、Ｓ６０７に処理を進める。また、探索範囲のマッチングがすべて終了していないと判定した場合には、残りの探索領域のマッチングを行うために再びＳ６０３に処理を戻す。
【００６１】
Ｓ６０７にて、制御部１００は、Ｓ６０４において揮発性メモリ１０３に記憶された類似度のそれぞれを参照して、最も類似度が高い対象領域を決定する。さらに、Ｓ６０８にて、制御部１００は、Ｓ６０７において算出された最も類似度が高い対象領域に基づいてその中心座標を計算し、計算された座標を揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体座標４０４として更新する。制御部１００は、主要被写体情報の主要被写体座標４０４を更新すると、本処理に係る一連の動作を終了して呼び出し元に処理を戻し、Ｓ２０６に処理を進める。
【００６２】
（追尾再生処理に係る一連の動作）
図７は、追尾再生処理に係る一連の動作を示すフローチャートを示している。本処理は、制御部１００がＳ２０９の処理を開始する際に実行される。なお、本処理は、制御部１００が揮発性メモリ１０３に格納された制御プログラムを実行することにより実行される。
【００６３】
Ｓ７０１にて、制御部１００は、主要被写体が撮影時被写体であるかを判定する。具体的には、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の追尾情報識別フラグ４０３が撮影時被写体を表す０であるかを判定する。制御部１００は、追尾情報識別フラグ４０３が撮影時被写体を表す０に設定されている場合、Ｓ７０２に処理を進める。一方、追尾情報識別フラグ４０３が再生時被写体を表す１に設定されている場合、Ｓ７０３に処理を進める。
【００６４】
Ｓ７０２にて、制御部１００は、対象フレーム番号４０１と同一のフレーム番号１００１における、主要被写体情報の主要被写体ＩＤ４０２と、対応する撮影時追尾情報の被写体座標３０３とに基づいて、追尾再生に用いる座標を取得する。一方、主要被写体が撮影時被写体でない場合、Ｓ７０３にて、制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報の主要被写体座標４０４から、追尾再生を行う座標を取得する。
【００６５】
Ｓ７０４にて、制御部１００は、Ｓ７０２又はＳ７０３において取得した被写体の座標を用いて、対象フレーム内の表示する対象領域（追尾再生対象領域）を算出する。このとき、制御部１００は、Ｓ７０３において取得した主要被写体の座標が当該領域の中央に位置するように式１７〜式２０を用いて追尾再生対象領域を算出する。式１７〜式２０では、追尾再生対象領域を(PlayAreaX1 , PlayAreaY1) −  (PlayAreaX2 , PlayAreaY2)とする。また、取得した座標を(X,Y)、指定倍率をZ、動画を構成するフレームの幅のピクセル数をW、高さのピクセル数をHとする。
PlayAreaX1  =  X − ( W / Z ) / 2     …  式１７
PlayAreaY1  =  Y − ( H / Z ) / 2    …  式１８
PlayAreaX2  =  X  + ( W / Z ) / 2    …  式１９
PlayAreaY2  =  Y  + ( H / Z ) / 2    …  式２０
なお、指定倍率Zは、動画を構成するフレームの１ピクセルが表示部１０４における出力時の１ピクセルに対応する場合には１に設定される。また、動画を構成するフレームの２ピクセル四方が出力時の１ピクセルに対応する場合には０．５、動画を構成するフレームの１ピクセルが出力時の２ピクセル四方に対応する場合には２とする。倍率の指定方法は、図８を用いて後述する。
【００６６】
Ｓ７０５にて、制御部１００は、Ｓ７０４にて算出した、表示する対象領域を指定倍率に従って変倍し、表示部１０４に表示する。
【００６７】
（追尾再生処理に係るユーザインターフェイス）
図８は、表示部１０４に表示されるユーザインターフェイス（ＵＩ）の一例を模式的に示している。図８に示す例では、動画データの再生時にユーザが主要被写体を指定する方法の一例について説明する。図８に示す例では、追尾再生処理を行うときに、動画を構成するフレームの全体領域と追尾再生対象領域とが表示部１０４に共に表示される。
【００６８】
動画読み込みボタン８０１は、動画データのファイルの読み込みを開始させるボタンである。ユーザが入力部１０５に含まれる例えばポインティングデバイスを用いて動画読み込みボタン８０１を押下すると、制御部１００は動画データの読み込み指示があったと判定して、動画データのファイルを開くためのオープンダイアログを表示する。ユーザが当該オープンダイアログにおいて動画データを選択した場合、制御部１００は記録部１０１から選択された動画データを揮発性メモリ１０３に読み込んで表示部１０４に表示させる。
【００６９】
表示倍率指定リストボックス８０２は、動画を構成するフレームの所定領域の表示倍率を指定するための、例えば選択用のリストボックスである。ユーザが（入力部１０５を用いて）表示倍率指定リストボックス８０２を選択すると、制御部１００は、倍率指定指示があったと判定して表示倍率リストを表示する。表示倍率リストに列挙される倍率は、例えば２５％、５０％、１００％、２００％、４００％である。ユーザが例えば１００％を指定した場合、制御部１００は動画を構成するフレームの１ピクセルが表示パネルの１ピクセルに対応する倍率の指定として指定倍率を１とする。また、ユーザが５０％を指定した場合、制御部１００は動画を構成するフレームの２ピクセル四方が表示パネルの１ピクセルに対応する倍率として指定倍率を０．５とする。ユーザが２００％を指定した場合、制御部１００は動画を構成するフレームの１ピクセルが出力時の２ピクセル四方に対応する倍率として指定倍率を２とする。制御部１００は、ユーザが指定した倍率に応じて指定倍率を揮発性メモリ１０３に記憶させる。
【００７０】
終了ボタン８０３は、動画データの再生を終了させるためのボタンである。ユーザが入力部１０５を用いて終了ボタン８０３を押下すると、制御部１００は終了指示があったと判定して動画データの再生を終了する。
【００７１】
全体表示エリア８０４は、読み込んだ動画データの、動画を構成するフレームの全体を表示する領域である。ユーザは全体表示エリア８０４上の所定の位置を指定することで被写体を指定可能であり、制御部１００は主要被写体指定操作があったと判定して、指定された位置の座標を揮発性メモリ１０３に記憶する。なお、全体表示エリア８０４の領域上に追尾再生対象領域として選択されている領域を明示するための枠を表示してもよい。このようにすれば、動画を構成するフレームのうちどの領域が追尾されているかをユーザが容易に把握することができ、また他の被写体に追尾対象を変更するかを容易に判断することもできる。
【００７２】
追尾表示エリア８０５は、動画を構成するフレームのうち、Ｓ７０５において追尾再生対象領域として算出された領域を表示する領域である。すなわち、追尾表示エリア８０５は、主要被写体が含まれるように表示領域が制御される。カーソル８０６は、ユーザにより指定されるポインティングデバイスの位置を示す。シークバー８０７は、入力部１０５に含まれるスライド操作の可能な部材であり、ユーザがシークバー８０７を押下又はスライドさせると、制御部１００は動画データの時間軸上の再生位置を変更する。
【００７３】
８０９〜８１２は、動画データの再生方法や再生位置を指定するボタンである。再生ボタン８０９は、カーソル８０６によって押下されると、追尾再生を開始する。一時停止ボタン８１０は、カーソル８０６によって押下されると、追尾再生を一時停止する。コマ送りボタン８１１は、カーソル８０６によって押下されると、追尾再生を一時停止して、さらに次のフレームを全体表示エリア８０４に表示する。コマ戻しボタン８１２は、カーソル８０６によって押下されると、追尾再生を一時停止してさらに前のフレームを全体表示エリア８０４に表示する。
【００７４】
（主要被写体情報の更新後における再生処理に係る一連の動作）
次に、図９を参照して、追尾再生処理が行われることにより主要被写体情報が更新された状態で行う、再生処理に係る一連の動作について説明する。
【００７５】
まず、図１０を参照して、本実施形態に係る追尾情報管理表の例について説明する。追尾情報管理表は、例えば、フレーム番号１００１、主要被写体ＩＤ１００２、追尾情報識別フラグ１００３、主要被写体指定フラグ１００４、主要被写体座標１００５を含む。制御部１００は、揮発性メモリ１０３に記憶されている主要被写体情報に基づいて、追尾情報管理表のデータを生成する。
【００７６】
フレーム番号１００１は、追尾再生開始から対象フレームが何番目のフレームであるかを示す。また、主要被写体ＩＤ１００２は、追尾再生の対象被写体を識別する識別情報を示し、追尾情報識別フラグ１００３は、主要被写体ＩＤ１００２が示す被写体が撮影時又は再生時のいずれの追尾処理により算出されたかを識別する情報を示す。本実施形態では、制御部１００は、例えば当該被写体が「撮影時」に算出された場合は０を、「再生時」に算出された場合は１を設定する。主要被写体指定フラグ１００４は、対象フレームにおいて主要被写体の指定がなされたかを示す。本実施形態では、制御部１００は主要被写体が「指定された」場合は１を、主要被写体が「指定されていない」場合は０に設定する。
【００７７】
主要被写体座標１００５は、主要被写体ＩＤ１００２の示す被写体のフレーム中における位置座標を示す。但し、主要被写体ＩＤ１００２が示す被写体が撮影時の追尾処理によって算出された場合、主要被写体座標１００５には「情報が無い」ことを表す−１が設定される。１００６〜１０１１には追尾情報管理表を構成するデータ要素の一例を示している。
【００７８】
図９に示す追尾再生処理は、既に１度以上追尾再生処理が実行されているため、揮発性メモリ１０３に記憶された主要被写体情報を参照することができる。このため、制御部１００は当該主要被写体情報に基づいて、撮影時追尾情報とは異なるデータとして追尾情報管理表を生成する。そして、２回目以降の追尾再生処理においては、追尾情報管理表を用いた追尾再生処理を行う。なお、図１において上述した追尾再生処理と同一の処理については同一の参照番号を用いて重複する説明は省略する。
【００７９】
Ｓ９０１にて、制御部１００は記録部１０１に追尾情報管理表が作成されているかを判定する。例えば、制御部１００は記録部１０１に追尾情報管理表を表す予め定められたファイル名が存在する場合、追尾情報管理表が作成されていると判定する。制御部１００は追尾情報管理表が作成されていると判定した場合はＳ９０３に処理を進め、追尾情報管理表が作成されていないと判定した場合にはＳ９０２に処理を進める。
【００８０】
Ｓ９０２にて、制御部１００は追尾情報管理表のデータを記録部１０１に作成すると共に初期化する。すなわち、制御部１００は、追尾情報管理表のファイルを生成したうえで、対象動画のフレーム数に相当するデータの各行を「情報が無い」ことを表す−１に設定する。
【００８１】
Ｓ９０３にて、制御部１００は記録部１０１に記憶された追尾情報管理表のファイルを開いてデータを揮発性メモリ１０３に読み出す。その後、制御部１００は図２において説明した処理Ｓ２００〜Ｓ２０３を実行する。
【００８２】
Ｓ９０４にて、制御部１００は揮発性メモリ１０３に記憶されている追尾情報管理表のデータのうち、対象フレームの主要被写体指定フラグ１００４の値を、「指定された」ことを表す１に更新する。制御部１００は追尾情報管理表に含まれるデータの全てのフレームについて処理を終えると揮発性メモリ１０３のデータを記録部１０１に書き出す。
【００８３】
Ｓ９０５にて、制御部１００は追尾情報管理表の作成が完了したかを判定する。例えば、制御部１００は記録部１０１に記録されている追尾情報管理表の全フレームの１００１から１００５の各データが「情報の無い」ことを示す−１でないかを判定する。制御部１００は、追尾情報管理表の作成が完了していると判定した場合、Ｓ９０６に処理を進め、追尾情報管理表の作成が完了していないと判定した場合、Ｓ２０４に処理を進める。
【００８４】
Ｓ９０６にて、制御部１００は揮発性メモリ１０３に記憶されている追尾情報管理表と揮発性メモリ１０３に記憶されている主要被写体情報の対象フレームのデータに違いがあるかを判定する。制御部１００は、例えば対象フレーム番号４０１とフレーム番号１００１が同じ番号を示すデータについて対応する要素を比較する。具体的には、主要被写体ＩＤ４０２と主要被写体ＩＤ１００２、追尾情報識別フラグ４０３と追尾情報識別フラグ１００３、主要被写体座標４０４と主要被写体座標１００５とをそれぞれ比較する。制御部１００は、追尾情報管理表と主要被写体情報の対象フレームのデータに違いがあると判定した場合、Ｓ２０４に処理を進める。また、当該データに違いがないと判定した場合、Ｓ９０７に処理を進める。さらに、制御部１００は図２において説明した処理Ｓ２０４〜Ｓ２０９を実行する。なお、Ｓ９０７にて、制御部１００は追尾再生処理をＳ２０９と同様に実行する。
【００８５】
Ｓ９０８にて、制御部１００は揮発性メモリ１０３に記憶されている追尾情報管理表のデータを用いて、揮発性メモリ１０３に記憶されている主要被写体情報を変更する。例えば制御部１００は、主要被写体情報の対象フレーム番号４０１を次のフレーム番号に増加させ、増加させたフレーム番号に対応する各データ（１００２、１００３、１００５）の値を主要被写体情報の各データ（４０２〜４０４）の値に設定する。
【００８６】
Ｓ９０９にて、制御部１００は追尾情報管理表を更新する。制御部１００は、例えば対象フレーム番号４０１とフレーム番号１００１で同じ番号を示すデータについて対応する要素を更新する。制御部１００は、主要被写体ＩＤ４０２を主要被写体ＩＤ１００２に、追尾情報識別フラグ４０３を追尾情報識別フラグ１００３に、主要被写体座標４０４を主要被写体座標１００５に書き込む。
【００８７】
Ｓ２１０にて、制御部１００は、動画データの全フレームを読み込んだかを判定し、全フレームを読み込んでいると判定した場合、Ｓ９１０に処理を進める。
【００８８】
Ｓ９１０にて、制御部１００は揮発性メモリ１０３に記憶されている追尾情報管理表のデータを、記録部１０１に記録されている追尾情報管理表のデータとして記録する。制御部１００は、例えば上書き記録するときに主要被写体情報の対象フレーム番号４０１に対応する揮発性メモリ１０３の追尾情報管理表の各データ（４０２〜４０４）を記録部１０１の追尾情報管理表の各データ（１００２、１００３、１００５）に書き出す。その後、制御部１００は処理を完了すると本一連の動作を終了する。
【００８９】
（追尾情報補正処理に係る一連の動作）
更に、図１１を参照して、本実施形態に係る追尾情報補正処理の一連の動作を説明する。図９を参照した例では、２度目以降の追尾再生処理において、追尾情報管理表に記録された追尾情報に応じて追尾再生処理を行う動作について説明した。これに対して、図１１を参照した例では、所望の主要被写体を追尾再生できていないフレームからユーザが主要被写体を指定するフレームまでの、再生時追尾処理が行われていない期間の追尾情報を補正する（追尾情報補正処理という）。なお、本処理は、制御部１００が揮発性メモリ１０３に格納された制御プログラムを実行することにより実行される。図９の説明と同様、上述した処理については同一の参照番号を用いて重複する説明は省略する。
【００９０】
Ｓ９０３にて、制御部１００は追尾情報管理表を取得する。Ｓ１１０１にて、制御部１００は揮発性メモリ１０３に記憶されている追尾情報管理表から主要被写体指定フラグ１００４が１であるフレーム番号を先頭から探索する。
【００９１】
Ｓ１１０２にて、制御部１００はＳ１１０１における探索結果について、主要被写体指定フラグが１であるフレームがあったかを判定する。制御部１００は、主要被写体指定フラグが１であるフレームがあったと判定した場合、Ｓ１１０４に処理を進め、主要被写体指定フラグが１であるフレームがないと判定した場合、本一連の動作を終了する。
【００９２】
Ｓ１１０３にて、制御部１００はＳ１１０２で検出されたフレーム番号を主要被写体情報の対象フレーム番号４０１に設定すると共に、Ｓ１１０４にて、当該検出されたフレーム番号と対応する追尾情報管理表の主要被写体指定フラグを０に変更する。
【００９３】
Ｓ１１０５にて、制御部１００は主要被写体情報の対象フレーム番号４０１と対応する
追尾情報管理表の各データ（１００２、１００３、１００５）をそれぞれの主要被写体情報の各データ（４０２〜４０４）に設定する。なお、制御部１００は、追尾情報識別フラグ４０３が「再生時」に算出されたことを示す場合、主要被写体座標４０４及び式１〜式４を用いてマッチング用のテンプレートを作成し、主要被写体テンプレート４０５に設定する。
【００９４】
Ｓ１１０６にて、制御部１００は、主要被写体情報の主要被写体座標４０４又は主要被写体ＩＤ４０２の示す被写体座標３０３と、追尾情報管理表の主要被写体座標１００５又は主要被写体ＩＤ１００２の示す被写体座標３０３とが所定範囲内の差であるかを判定する。制御部１００は、例えば主要被写体情報の主要被写体座標４０４又は主要被写体ＩＤ４０２が示す被写体座標３０３を(PlayObjX、PlayObjY)、追尾情報管理表の主要被写体座標１００５又は主要被写体ＩＤ１００２が示す被写体座標３０３を(RecObjX、RecObjY)として式５及び式６を用いて判定する。制御部１００は、所定範囲内の差であると判定した場合、Ｓ１１１１に処理を進め、所定範囲内の差ではないと判定した場合、Ｓ１１０７に処理を進める。
【００９５】
Ｓ１１０７にて、制御部１００は揮発性メモリ１０３記録されている主要被写体情報の追尾情報識別フラグ４０３が、「再生時」に算出されたことを示す１であるかを判定する。制御部１００は、追尾情報識別フラグ４０３が１である場合、再生時追尾処理を行うためＳ２０５に処理を進め、追尾情報識別フラグ４０３が１ではない場合、Ｓ１１０８に処理を進める。その後、制御部１００は、Ｓ２０５及びＳ２０６の処理を行って、主要被写体テンプレートを更新する。
【００９６】
Ｓ１１０８にて、制御部１００は主要被写体情報のデータを用いて追尾情報管理表のデータを更新する。制御部１００は、例えば揮発性メモリ１０３に記憶されている主要被写体情報のデータ（４０２〜４０４）を追尾情報管理表のデータ（１００２、１００３、２００５）を更新する。
【００９７】
Ｓ１１０９にて、制御部１００は揮発性メモリ１０３に記憶されている主要被写体情報の対象フレーム番号４０１を前フレームの番号に変更する。そして、Ｓ１１１０にて、本処理を所定のフレーム数以上について行ったか、すなわち、再生追尾処理を所定のフレーム数について行ったかを判定する。制御部１００は、本処理を所定のフレーム数以上について実行したと判定した場合、さらに主要被写体指定フラグが１であるフレームについて処理を行うため、Ｓ１１１１に処理を進める。他方、所定のフレーム数以上について実行していないと判定した場合、更に再生時追尾処理を行うためにＳ１１０５に処理を戻す。なお、所定のフレーム数とは、追尾情報補正の上限回数を示し、動画の総フレーム数をＳとすると、所定のフレーム数Ｔを式２１により表すことができる。
T  =   | S  ×  0.01 |             … 式２１
本実施形態では、所定のフレーム数Ｔを例えば動画の総フレーム数の１％とする。
【００９８】
Ｓ１１１１にて、制御部１００は揮発性メモリ１０３に記録されている追尾情報管理表のすべての追尾情報識別フラグ１００３に対する探索が終了したかを判定する。すべての追尾情報識別フラグ１００３の探索が終了したと判定した場合、Ｓ９１０に処理を進め、全ての追尾情報識別フラグ１００３の探索が終了していないと判定した場合、Ｓ１１０３に処理を進める。
【００９９】
Ｓ９１０にて、制御部１００は揮発性メモリ１０３に記憶されている追尾情報管理表のデータを、記録部１０１に記録されている追尾情報管理表のデータとして記録する。その後、制御部１００は本処理に係る一連の動作を終了する。
【０１００】
なお、図８の示したように、追尾再生時に全体表示エリア８０４と追尾表示エリア８０５を同じ表示部１０４に表示するようにしたが、外部のテレビとデジタルカメラの背面液晶といった異なる機器に出力して表示してもよい。その場合、全体表示エリア８０４を表示している端末にて主要被写体指定を行う。
【０１０１】
なお、本実施形態では、主要被写体テンプレートのサイズを決定する際に式１〜式４を用いるようにしたが、主要被写体の大きさに応じてテンプレ―トサイズを変更してもよい。その場合、テンプレートを作成する前に公知の被写体検出処理を行って、動的に主要被写体の大きさを特定すればよい。主要被写体の大きさに応じてテンプレートサイズを変更することにより、主要被写体の大きさが変化する場合に追尾性能を向上させることができる。
【０１０２】
また、本実施形態では、再生時追尾処理において、対象領域とテンプレートの類似度を算出する際に、探索範囲を式７〜式１０で求めた範囲に設定するようにした。しかし、当該探索範囲は被写体の移動量に応じて変更してもよい。このようにすることにより、被写体の移動量が大きい場合に検出精度の低下を軽減することができる。
【０１０３】
さらに、本実施形態では、主要被写体のテンプレート情報を用いて追尾処理を行うようにした。しかし、主要被写体が人物である場合には、公知の人物認証技術を用いて人物に対する追尾処理を行ってもよい。人物認証技術は、例えば比較対象である２つの顔画像データに対して、顔を構成する目鼻口などに対する特徴量に基づいて類似度を求め、類似度が高い場合に２つの顔画像が同一人物のものであると判定する。主要被写体が人物である場合には人物認証技術を用いることにより、より高い精度で尾処理を行うことができる。
【０１０４】
以上説明したように、本実施形態では、動画データの再生時にユーザが主要被写体を指定すると、指定された主要被写体と、撮影時追尾情報に含まれる主要被写体の関係に応じて、再生時追尾処理を行うか撮影時追尾情報による追尾かを行うようにした。そして、追尾された被写体が含まれるようにした表示領域を表示部１０４に表示するようにした。このとき、指定された主要被写体の位置と撮影時追尾情報に含まれる主要被写体の位置とが所定範囲内である場合、再生時追尾処理を行わないようにした。このようにすることで、再生前に予め記録した撮影時追尾情報の被写体の位置（座標）が適切でない場合であっても、所望の被写体を適切に追尾した動画像を再生することが可能になる。そして、撮影時追尾情報を利用できる状況において再生時の処理リソースを軽減し、動画再生時の処理負担に伴って生じる再生速度の低下を防止することができる。
【０１０５】
さらに、動画データの再生時には追尾情報を別途記録して、再度当該動画データを再生する場合には記録した追尾情報を用いて主要被写体を追尾するようにした。このようにすることで、再度当該動画データを再生する場合に、ユーザが一度指定した主要被写体を追尾した再生処理を行うことができる。また、所望の主要被写体を追尾できないフレームからユーザが主要被写体を指定するまでの期間について、再度動画データを再生する際に追尾情報を生成して補正するようにした。このようにすることで、当該期間においてもユーザに所望の主要被写体を追尾した再生処理を行うことができる。
【０１０６】
（実施形態２）
次に実施形態２について説明する。実施形態１では、追尾再生処理を行う際に動画フレームの全体領域と追尾再生対象領域とを共に表示する例を説明した。このような表示方法は、動画フレームの全体領域と追尾再生対象領域とを同時に視認可能であるため、表示部１０４に含まるパネルが比較的大きい場合は特に有効である。これに対して、本実施形態では、表示部１０４に含まれる表示パネルが比較的小さい場合の表示方法について説明する。すなわち、本実施形態では、追尾再生処理を行うときに動画フレームの追尾再生対象領域を表示する場合について説明する。また、実施形態１では、再生時追尾情報を撮影時追尾情報とは異なるファイルとして記録する例を説明したが、本実施形態では、撮影時追尾情報の一部を上書きして再利用する場合について説明する。本実施形態のパーソナルコンピュータ１０は、表示部１０４に含まれる表示パネルの大きさが小さいが、実施形態１と同一の構成である。このため、同一の構成又は同一のステップについては同一の符号を付して重複する説明は省略し、相違点について重点的に説明する。
【０１０７】
（追尾再生処理に係るユーザインターフェイス）
図１２を参照しながら、本実施形態の追尾再生処理に係るユーザインターフェイスの一例について説明する。動画読み込みボタン１２０１は、動画データのファイルの読み込みを開始させるボタンである。ユーザが入力部１０５に含まれる例えばタッチパネル上で動画読み込みボタン１２０１をタップすると、制御部１００は動画データの読み込み指示があったと判定して、動画データのファイルを開くためのオープンダイアログを表示する。ユーザが当該オープンダイアログにおいて動画データを選択した場合、制御部１００は記録部１０１から選択された動画データを揮発性メモリ１０３に読み込んで表示部１０４に表示させる。
【０１０８】
表示倍率指定メニュー１２０２は、動画を構成するフレームの所定領域の表示倍率を指定するための、例えば選択用のメニューである。ユーザがタッチパネルを用いて表示倍率指定メニュー１２０２の倍率を選択すると、制御部１００は、倍率指定指示があったと判定して表示倍率リストを表示する。表示倍率リストに列挙される倍率は、上述した表示倍率指定リストボックス８０２と同様でよい。制御部１００は、ユーザが指定した倍率に応じて指定倍率を揮発性メモリ１０３に記憶させる。
【０１０９】
終了ボタン８０３は、動画データの再生を終了させるためのボタンである。ユーザがタッチパネルを用いて終了ボタン８０３を押下すると、制御部１００は終了指示があったと判定して動画データの再生を終了する。
【０１１０】
追尾表示エリア１２０４は、動画を構成するフレームのうち、追尾再生対象領域を表示する領域である。ユーザがタッチパネルを用いて追尾表示エリア１２０４をスライドすると、制御部１００は追尾再生対象領域の変更操作があったと判定して、スライドした方向と逆方向に追尾再生対象領域を移動させる。また、ユーザが追尾表示エリア１２０４においてピンチイン操作を行うと、制御部１００は縮小操作があったと判定し、追尾再生対象領域の倍率を一段階縮小する。一方、ユーザがピンチアウト操作を行うと、制御部１００は拡大操作があったと判定して、追尾再生対象領域の倍率を一段階拡大する。そして、ユーザが追尾表示エリア１２０４をタッチすると、制御部１００は主要被写体が指定されたと判定して指定座標を揮発性メモリ１０３に記憶させる。
【０１１１】
シークバー１２０５は、タッチパネルによるタップ又はスライド操作の可能な部材であり、ユーザがシークバー１２０５を押下又はスライドさせると、制御部１００は動画データの時間軸上の再生位置を変更する。１２０６〜１２０９は、動画データの再生方法や再生位置を指定するボタンである。再生ボタン１２０６がタッチされた場合、制御部１００は追尾再生を開始し、一時停止ボタン１２０７がタッチされた場合、制御部１００は追尾再生を一時停止する。また、コマ送りボタン１２０８がタッチされた場合、制御部１００は追尾再生を一時停止して、さらに次のフレームを追尾表示エリア１２０４に表示する。コマ戻しボタン１２０９がタッチされると、追尾再生を一時停止して追尾表示エリア１２０４に表示する。
【０１１２】
（再生処理における撮影時追尾情報の一部上書き処理）
次に、図１３を参照して、本実施形態の再生処理に係る一連の動作において、撮影時追尾情報を一部上書きする処理について説明する。図９に示した再生処理では、２度目以降の再生処理を考慮して、Ｓ９０９において揮発性メモリ１０３に記憶されている主要被写体情報を追尾情報管理表に記録するようにした。一方、本実施形態では、揮発性メモリ１０３に記憶された主要被写体情報を用いて、記録部１０１の動画ファイルのヘッダに記録されている撮影時追尾情報の一部を上書きする。なお、本処理はＳ２０９における追尾再生処理の後に、Ｓ９０９の代わりに本処理が開始される。
【０１１３】
Ｓ１３０１にて、制御部１００は揮発性メモリ１０３に記憶されている主要被写体情報を取得する。Ｓ１３０２にて、制御部１００は、Ｓ１３０１において取得した主要被写体情報の追尾情報識別フラグ４０３が「再生時」に算出されたことを示す１であるかを判定する。制御部１００は追尾情報識別フラグ４０３が１である場合、Ｓ１３０３に処理を進め、追尾情報識別フラグ４０３が１でない場合には、Ｓ１３０５に処理を進める。
【０１１４】
Ｓ１３０３にて、制御部１００は、記録部１０１に記録されている動画ファイルのヘッダ内の撮影時追尾情報について、対象フレームのデータに主要被写体ＩＤのデータを挿入して新規被写体を登録する。Ｓ１３０４にて、制御部１００は、Ｓ１３０３によって新規に登録された主要被写体ＩＤの追尾情報識別フラグ１００３に追尾情報識別フラグ４０３のデータを、主要被写体座標１００５に主要被写体座標４０４のデータを、それぞれ設定する。
【０１１５】
Ｓ１３０５にて、制御部１００は記録部１０１の撮影時追尾情報の追尾優先度３０４を、主要被写体情報が示す被写体の優先度が最も高くなるように変更して、本処理を終了する。
【０１１６】
以上説明したように、本実施形態では、表示部１０４の表示パネルのサイズが小さい場合、動画データを追尾表示エリア１２０４にのみ表示するようにした。また、記録部１０１の動画ファイルヘッダ内に記録されている撮影時追尾情報の一部を上書きして記録する。このようにすることで、動画ファイル自体を移動させたとしても、撮影時追尾情報及び再生時追尾情報を失うことがなく、ユーザの所望の被写体を追尾した再生処理を行うことができる。
【０１１７】
（その他の実施形態）
本発明は、上述した実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１８】
１００…制御部、１０１…記録部、１０４…表示部、１０５…入力部
【図１】
0006579925.tif 000006
【図２】
0006579925.tif 000007
【図３】
0006579925.tif 000008
【図４】
0006579925.tif 000009
【図５】
0006579925.tif 000010
【図６】
0006579925.tif 000011
【図７】
0006579925.tif 000012
【図８】
0006579925.tif 000013
【図９】
0006579925.tif 000014
【図１０】
0006579925.tif 000015
【図１１】
0006579925.tif 000016
【図１２】
0006579925.tif 000017
【図１３】
0006579925.tif 000018