(57)【要約】【課題】多様なエフェクトで拡張現実感を表現する動画データを生成する。【解決手段】情報処理装置１は、エフェクトの識別子が入力されると、エフェクト定義データ１２ａから当該エフェクトの識別子に対応づけられた特定モジュールの識別子を抽出し、動画データ１１ａの各フレームを、抽出した特定モジュールの識別子に対応する特定モジュールに入力して、エフェクト対象を取得する対象特定手段２２と、エフェクト定義データ１２ａから当該エフェクトの識別子に対応づけられたアニメーションモジュールの識別子を抽出し、対象特定手段２２によって特定されたエフェクト対象と、動画データ１１ａのフレームと、抽出されたアニメーションモジュールの識別子とから、合成画像データ１４ａを生成する合成手段２３と、合成手段２３により生成された合成画像データ１４ａから、新たな動画データを構成して表示部１０５に表示する表示手段２４と、を備える。【選択図】図１
2012113677.tif 000002
【特許請求の範囲】
【請求項１】
動画データを処理する情報処理装置であって、
前記動画データに対するエフェクトの識別子と、エフェクト対象を特定するための特定モジュールの識別子と、前記エフェクト対象のアニメーションモジュールの識別子と、を対応づけたエフェクト定義データを記憶するエフェクト定義データ記憶部と、
前記エフェクトの識別子が入力されると、前記エフェクト定義データから当該エフェクトの識別子に対応づけられた特定モジュールの識別子を抽出し、前記動画データの各フレームを、抽出した特定モジュールの識別子に対応する特定モジュールに入力して、前記エフェクト対象を取得する対象特定手段と、
前記エフェクト定義データから当該エフェクトの識別子に対応づけられたアニメーションモジュールの識別子を抽出し、前記対象特定手段によって特定されたエフェクト対象と、前記動画データのフレームと、抽出された前記アニメーションモジュールの識別子とから、合成画像データを生成する合成手段と、
前記合成手段により生成された合成画像データから、新たな動画データを構成して表示部に表示する表示手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記合成手段は、前記動画データの画像フレームデータを逐次読み出し、読み出した前記画像フレームデータの前記特定されたエフェクト対象に、前記抽出されたアニメーションモジュールの識別子に対応するアニメーションを重畳した前記合成画像データを生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アニメーションは、前記エフェクト対象にオブジェクトを表示するとともに、前記動画データの後続の画像フレームデータについて、前記オブジェクトの座標位置を連続して変化する処理である
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記エフェクト定義データにおいて、前記エフェクト対象のアニメーションモジュールの識別子に、アニメーションで表示するオブジェクトの識別子が対応づけられており、
前記合成手段は、前記動画データの画像フレームデータを逐次読み出し、読み出した前記画像フレームデータの前記特定されたエフェクト対象に、前記抽出されたアニメーションモジュールの識別子に対応するオブジェクトを表示するとともに、新たな画像フレームデータに表示するオブジェクトの座標を変化して表示する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記アニメーションは、前記エフェクト対象の座標位置および色情報のうち少なくともいずれか一方を、連続して変化する処理である
ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記エフェクト定義データにおいて、前記特定モジュールの識別子と、前記エフェクト対象のアニメーションモジュールの識別子の複数のペアが、前記エフェクトの識別子に対応づけられており、
前記合成手段は、前記画像フレームデータに、各ペアについて、当該ペアの前記エフェクト対象に、当該ペアの前記アニメーション識別子に対応するアニメーションを重畳して前記合成画像データを生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
動画データを処理する情報処理プログラムであって、
コンピュータに、
エフェクトの識別子が入力されると、前記動画データに対する前記エフェクトの識別子と、エフェクト対象を特定するための特定モジュールの識別子と、前記エフェクト対象のアニメーションモジュールの識別子と、を対応づけたエフェクト定義データから当該エフェクトの識別子に対応づけられた特定モジュールの識別子を抽出し、前記動画データの各フレームを、抽出した特定モジュールの識別子に対応する特定モジュールに入力して、前記エフェクト対象を取得する対象特定手段と、
前記エフェクト定義データから当該エフェクトの識別子に対応づけられたアニメーションモジュールの識別子を抽出し、前記対象特定手段によって特定されたエフェクト対象と、前記動画データのフレームと、抽出された前記アニメーションモジュールの識別子とから、合成画像データを生成する合成手段と、
前記合成手段により生成された合成画像データから、新たな動画データを構成して表示部に表示する表示手段
として機能させるための情報処理プログラム。
【請求項８】
前記合成手段は、前記動画データの画像フレームデータを逐次読み出し、読み出した前記画像フレームデータの前記特定されたエフェクト対象に、前記抽出されたアニメーションモジュールの識別子に対応するアニメーションを重畳した前記合成画像データを生成する
ことを特徴とする請求項７に記載の情報処理プログラム。
【請求項９】
前記アニメーションは、前記エフェクト対象にオブジェクトを表示するとともに、前記動画データの後続の画像フレームデータについて、前記オブジェクトの座標位置を連続して変化する処理である
ことを特徴とする請求項８に記載の情報処理プログラム。
【請求項１０】
前記エフェクト定義データにおいて、前記エフェクト対象のアニメーションモジュールの識別子に、アニメーションで表示するオブジェクトの識別子が対応づけられており、
前記合成手段は、前記動画データの画像フレームデータを逐次読み出し、読み出した前記画像フレームデータの前記特定されたエフェクト対象に、前記抽出されたアニメーションモジュールの識別子に対応するオブジェクトを表示するとともに、新たな画像フレームデータに表示するオブジェクトの座標を変化して表示する
ことを特徴とする請求項９に記載の情報処理プログラム。
【請求項１１】
前記アニメーションは、前記エフェクト対象の座標位置および色情報のうち少なくともいずれか一方を、連続して変化する処理である
ことを特徴とする請求項８に記載の情報処理プログラム。
【請求項１２】
前記エフェクト定義データにおいて、前記特定モジュールの識別子と、前記エフェクト対象のアニメーションモジュールの識別子の複数のペアが、前記エフェクトの識別子に対応づけられており、
前記合成手段は、前記画像フレームデータに、各ペアについて、当該ペアの前記エフェクト対象に、当該ペアの前記アニメーション識別子に対応するアニメーションを重畳して前記合成画像データを生成する
ことを特徴とする請求項７に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画データを処理する情報処理装置および情報処理プログラムに関する。
【背景技術】
【０００２】
一般的に、拡張現実感の機能を備えるカメラ等の撮像装置が知られている。拡張現実感とは、カメラで撮影された現実の環境に、ソフトウェアで付加情報を加えて合成して表示することである。この技術は、現実環境中の特定の物体に関する説明や関連情報を、説明対象となる実物体近くに提示する場合に用いられる場合がある。
【０００３】
例えば、カメラで撮影された実空間の映像に、カメラの位置情報に基づいた拡張現実感情報に対応するグラフィックスオブジェクトを、所定の表示位置に重畳して描画する装置がある（例えば特許文献１参照。）。
【０００４】
このような技術について、携帯電話機などの可搬性を有する情報処理装置への導入が期待されている。このような可搬性を有する情報処理装置において、多くの情報を表示するには困難な場合がある。特許文献１に記載の方法では、複数の拡張現実感の情報を、一つの集合グラフィックスオブジェクトとして表示部に表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２３８０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１に記載の方法では、グラフィックスオブジェクトの表示が固定されることになり、アニメーション表示するのは困難である。また、動画データにおいて、多様なエフェクトで拡張現実感を表現することは困難であった。
【０００７】
そこで本発明の目的は、多様なエフェクトで拡張現実感を表現する動画データを生成する情報処理装置および情報処理プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１の特徴は、動画データを処理する情報処理装置に関する。すなわち本発明の特徴に係る情報処理装置は、動画データに対するエフェクトの識別子と、エフェクト対象を特定するための特定モジュールの識別子と、エフェクト対象のアニメーションモジュールの識別子と、を対応づけたエフェクト定義データを記憶するエフェクト定義データ記憶部と、エフェクトの識別子が入力されると、エフェクト定義データから当該エフェクトの識別子に対応づけられた特定モジュールの識別子を抽出し、動画データの各フレームを、抽出した特定モジュールの識別子に対応する特定モジュールに入力して、エフェクト対象を取得する対象特定手段と、エフェクト定義データから当該エフェクトの識別子に対応づけられたアニメーションモジュールの識別子を抽出し、対象特定手段によって特定されたエフェクト対象と、動画データのフレームと、抽出されたアニメーションモジュールの識別子とから、合成画像データを生成する合成手段と、合成手段により生成された合成画像データから、新たな動画データを構成して表示部に表示する表示手段と、を備える。
【０００９】
ここで合成手段は、動画データの画像フレームデータを逐次読み出し、読み出した画像フレームデータの特定されたエフェクト対象に、抽出されたアニメーションモジュールの識別子に対応するアニメーションを重畳した合成画像データを生成しても良い。
【００１０】
またアニメーションは、エフェクト対象にオブジェクトを表示するとともに、動画データの後続の画像フレームデータについて、オブジェクトの座標位置を連続して変化する処理であってもよい。アニメーションは、エフェクト対象の座標位置および色情報のうち少なくともいずれか一方を、連続して変化する処理であっても良い。
【００１１】
エフェクト定義データにおいて、エフェクト対象のアニメーションモジュールの識別子に、アニメーションで表示するオブジェクトの識別子が対応づけられていても良い。この場合合成手段は、動画データの画像フレームデータを逐次読み出し、読み出した画像フレームデータの特定されたエフェクト対象に、抽出されたアニメーションモジュールの識別子に対応するオブジェクトを表示するとともに、新たな画像フレームデータに表示するオブジェクトの座標を変化して表示する。
【００１２】
エフェクト定義データにおいて、特定モジュールの識別子と、エフェクト対象のアニメーションモジュールの識別子の複数のペアが、エフェクトの識別子に対応づけられていても良い。この場合合成手段は、画像フレームデータに、各ペアについて、当該ペアのエフェクト対象に、当該ペアのアニメーション識別子に対応するアニメーションを重畳して合成画像データを生成する。
【００１３】
本発明の第２の特徴は、動画データを処理する情報処理プログラムに関する。すなわち本発明の第２の特徴に係る情報処理プログラムは、コンピュータに、エフェクトの識別子が入力されると、動画データに対するエフェクトの識別子と、エフェクト対象を特定するための特定モジュールの識別子と、エフェクト対象のアニメーションモジュールの識別子と、を対応づけたエフェクト定義データから当該エフェクトの識別子に対応づけられた特定モジュールの識別子を抽出し、動画データの各フレームを、抽出した特定モジュールの識別子に対応する特定モジュールに入力して、エフェクト対象を取得する対象特定手段と、エフェクト定義データから当該エフェクトの識別子に対応づけられたアニメーションモジュールの識別子を抽出し、対象特定手段によって特定されたエフェクト対象と、動画データのフレームと、抽出されたアニメーションモジュールの識別子とから、合成画像データを生成する合成手段と、合成手段により生成された合成画像データから、新たな動画データを構成して表示部に表示する表示手段として機能させる。
【００１４】
ここで合成手段は、動画データの画像フレームデータを逐次読み出し、読み出した画像フレームデータの特定されたエフェクト対象に、抽出されたアニメーションモジュールの識別子に対応するアニメーションを重畳した合成画像データを生成しても良い。
【００１５】
また、アニメーションは、エフェクト対象にオブジェクトを表示するとともに、動画データの後続の画像フレームデータについて、オブジェクトの座標位置を連続して変化する処理であっても良い。アニメーションは、エフェクト対象の座標位置および色情報のうち少なくともいずれか一方を、連続して変化する処理であっても良い。
【００１６】
エフェクト定義データにおいて、エフェクト対象のアニメーションモジュールの識別子に、アニメーションで表示するオブジェクトの識別子が対応づけられていても良い。この場合合成手段は、動画データの画像フレームデータを逐次読み出し、読み出した画像フレームデータの特定されたエフェクト対象に、抽出されたアニメーションモジュールの識別子に対応するオブジェクトを表示するとともに、新たな画像フレームデータに表示するオブジェクトの座標を変化して表示する。
【００１７】
エフェクト定義データにおいて、特定モジュールの識別子と、エフェクト対象のアニメーションモジュールの識別子の複数のペアが、エフェクトの識別子に対応づけられていてもよい。この場合合成手段は、画像フレームデータに、各ペアについて、当該ペアのエフェクト対象に、当該ペアのアニメーション識別子に対応するアニメーションを重畳して合成画像データを生成する。
【発明の効果】
【００１８】
本発明によれば、多様なエフェクトで拡張現実感を表現する動画データを生成する情報処理装置および情報処理プログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る情報処理装置の機能ブロックを説明する図である。
【図２】本発明の実施形態に係る情報処理装が表示するエフェクト一覧画面野市例である。
【図３】本発明の実施形態に係る情報処理装置が取得する動画データと、その動画データから作成した新たな動画データを説明する図である。（その１）
【図４】本発明の実施形態に係る情報処理装置が取得する動画データと、その動画データから作成した新たな動画データを説明する図である。（その２）
【図５】本発明の実施形態に係る情報処理装置が取得する動画データと、その動画データから作成した新たな動画データを説明する図である。（その３）
【図６】本発明の実施形態に係る情報処理装置のハードウェア構成を説明する図である。
【図７】本発明の実施形態に係る情報処理装置の処理を説明するフローチャートである。
【図８】本発明の実施形態に係るエフェクト定義データのデータ構造とデータの例を説明する図である。
【図９】本発明の実施の形態に係る情報処理装置のアクティビティチャートである。
【図１０】本発明の実施の形態に係る情報処理装置において、画像フレームデータの処理を説明する図である。
【図１１】本発明の実施の形態に係る情報処理装置の合成手段の処理を説明する図である。
【図１２】本発明の実施の形態に係る情報処理装置が出力するの合成画像データを説明する図である。
【発明を実施するための形態】
【００２０】
次に、図面を参照して、実施形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００２１】
図１を参照して本発明の実施の形態に係る情報処理装置１を説明する。本発明の実施の形態に係る情報処理装置１は、カメラなどの撮影部１２１で撮影した動画データから、多様なエフェクト効果を施した新たな動画データを生成し、表示部１０５に表示する。情報処理装置１は、撮影部１２１から入力された動画データを構成する各フレームデータについて、エフェクトで用いる領域を特定し、その特定された領域について、エフェクト効果を施す。本発明の実施の形態において情報処理装置１は、動画データに対し、情報処理装置１の負担を軽減しつつ、多様なエフェクト効果を加えることができる。
【００２２】
例えば、情報処理装置１の表示部１０５に、図２に示すエフェクト一覧表示画面Ｐ１０１が表示される。エフェクト一覧表示画面Ｐ１０１において、エフェクト識別子に対応する複数のアイコンが表示されている。ユーザがエフェクト一覧表示画面Ｐ１０１に表示されたいずれかのアイコンを選択すると、情報処理装置１は、そのアイコンに対応するエフェクト識別子を取得し、動画データに、そのエフェクト識別子に対応するエフェクトを加えて処理し、エフェクトされた動画データを、表示部１０５に表示する。
【００２３】
ここで図３ないし図５を参照して、本発明の実施の形態に係る情報処理装置１が取得する動画データと、情報処理装置１が表示する動画データを説明する。図３（ａ）、図４（ａ）および図５（ａ）は、情報処理装置１が取得する動画データを説明する図である。図３（ｂ）、図４（ｂ）および図５（ｂ）は、情報処理装置１が出力する動画データを説明する図である。
【００２４】
図３（ａ）は、正面を向いている二人の女性が、お互いが向き合う動画データを説明している。図３（ａ）に示す動画データに対して情報処理装置１は、所定時間過去のフレームを蓄積する。情報処理装置１は、図３（ｂ）に示すように、含蓄した過去のフレーム群の部分画像分を、現在時間の一枚のフレーム中に幾何学的に描画した動画データを生成する。例えば、フレームの画像情報に新しい部分画像を描画し、下方に古い部分画像を描画するなど、フレーム内のエリアを区切ってそれぞれ異なる画像を描画する。このように情報処理装置１は、被写体の形状が融解したような効果を、動画データに与えることができる。
【００２５】
図４（ａ）は、正面を向いている女性がお辞儀をした後、手を振る動画を説明している。情報処理装置１は、図４（ｂ）に示すように、まず、「Ｈａｐｐｙ  Ｂｉｒｔｈｄａｙ！」と記述されたラッピングのイラストを表示する。情報処理装置１は、図４（ａ）に示す動画データにおいて女性が動いた部分を検出する。さらに情報処理装置１は、図４（ｂ）に示すように、最初に表示されたイラストから、女性の動きが検出された部分を削除し、その削除した部分に、取得した動画データを合成した動画データを生成する。このようなアニメーションにより情報処理装置１は、ユーザに、ラッピングされたプレゼントボックスから女性が飛び出すような視覚効果を与えることができる。
【００２６】
図５（ａ）は、女性が手を振っている動画データを説明している。図５（ａ）に示す動画データに対して情報処理装置１は、手が動いた部分を検出する。情報処理装置１は、図５（ｂ）に示すように、手が動いた部分に音符記号を表示し、その音符記号が、動画データの上方に移動するアニメーションを施した動画データを表示する。このようなアニメーションにより情報処理装置１は、ユーザに、例えばダンスをしている被写体に、その動作に応じた雰囲気を付与する視覚効果を与えることができる。
【００２７】
図６に示すように、本発明の実施形態に係る情報処理装置１は、中央処理制御装置１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、入出力インタフェース１０９および動画データ生成部１２２が、バス１１０を介して接続されている。入出力インタフェース１０９には、入力装置１０４、表示部１０５、通信制御装置１０６、記憶装置１０７およびリムーバブルディスク１０８が接続されている。動画データ生成部１２２には、撮影部１２１が接続されている。
【００２８】
撮影部１２１は、例えばＣＣＤであって、被写体から受けた光を電気信号に変換する。撮影部１２１は、電気信号を、動画データ生成部１２２に入力する。撮影部１２１は、例えば、情報処理装置１に固定され、かつ内蔵されたＣＣＤである。
【００２９】
動画データ生成部１２２は、撮影部１２１から逐次受信した電気信号から、動画データを生成する。本発明の実施形態に係る動画データ生成部１２２は、動画データ生成部１２２は、回路基盤により実装されてもよいし、ソフトウェアプログラムによって実装されてもよい。
【００３０】
中央処理制御装置１０１は、入力装置１０４からの入力信号に基づいてＲＯＭ１０２から情報処理装置１を起動するためのブートプログラムを読み出して実行し、さらに記憶装置１０７に記憶されたオペレーティングシステムを読み出す。さらに中央処理制御装置１０１は、入力装置１０４や通信制御装置１０６などの入力信号に基づいて、各種装置の制御を行ったり、ＲＡＭ１０３や記憶装置１０７などに記憶されたプログラムおよびデータを読み出してＲＡＭ１０３にロードするとともに、ＲＡＭ１０３から読み出されたプログラムのコマンドに基づいて、データの計算または加工など、後述する一連の処理を実現する処理装置である。
【００３１】
入力装置１０４は、操作者が各種の操作を入力するキーボード１０４ａ、マウス１０４ｂなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を作成し、入出力インタフェース１０９およびバス１１０を介して中央処理制御装置１０１に送信される。
【００３２】
表示部１０５は、例えば液晶ディスプレイである。表示部１０５は、中央処理制御装置１０１からバス１１０および入出力インタフェース１０９を介して表示部１０５において表示させる出力信号を受信し、例えば中央処理制御装置１０１の処理結果などを表示する。第１の実施形態に係る情報処理装置１の表示部１０５には、タッチパネル１０５ａが施されており、ユーザが表示部１０５の画面をタッチすることにより、入力信号を中央処理制御装置１０１に送信することができる。
【００３３】
通信制御装置１０６は、ＬＡＮカード、モデム、アンテナなどの装置であり、情報処理装置１をインターネット、ＬＡＮ、携帯電話通信網などの通信ネットワークに接続する装置である。通信制御装置１０６を介して通信ネットワークと送受信したデータは入力信号または出力信号として、入出力インタフェース１０９およびバス１１０を介して中央処理制御装置１０１に送受信される。
【００３４】
記憶装置１０７は半導体記憶装置や磁気ディスク装置であって、中央処理制御装置１０１で実行されるプログラムやデータが記憶されている。リムーバブルディスク１０８は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース１０９およびバス１１０を介して中央処理制御装置１０１に送受信される。
【００３５】
本発明の実施形態に係る情報処理装置１の記憶装置１０７には、情報処理プログラムが記憶されるとともに、図１示すように、記憶装置１０７は、動画データ記憶部１１、エフェクト定義データ記憶部１２、対象特定データ記憶部１３、合成画像データ記憶部１４を備える。情報処理プログラムが情報処理装置１の中央処理制御装置に読み込まれることにより、中央処理制御装置１０１は、取得手段２１、対象特定手段２２、合成手段２３および表示手段２４を備える。
【００３６】
動画データ記憶部１１は、記憶装置１０７のうち、動画データ１１ａを記憶する記憶領域である。動画データ１１ａは、撮影部１２１によって撮影され、動画データ生成部１２２に生成された動画データであって、取得手段２１によって取得され、動画データ記憶部１１に記憶される。
【００３７】
エフェクト定義データ記憶部１２は、記憶装置１０７のうち、エフェクト定義データ１２ａを記憶する記憶領域である。エフェクト定義データ１２ａは、動画データ１１ａに対するエフェクトの識別子（エフェクトＩＤ）と、エフェクト対象を特定するための特定モジュールの識別子（特定モジュールＩＤ）と、エフェクト対象のアニメーションモジュールの識別子（アニメーションＩＤ）と、を対応づけたデータである。ここで、エフェクトの識別子は、ユーザによって入力部１０４やタッチパネル１０５ａから入力される。エフェクト定義データ１２ａにおいて、エフェクトの識別子に、特定モジュールの識別子とエフェクト対象のアニメーションモジュールの識別子とを１対１に対応づける複数のペアが対応づけられる。
【００３８】
エフェクト定義データ１２ａは、動画データに対してエフェクト効果を与えるための、スクリプトデータである。本発明の実施の形態によれば、エフェクト定義データ１２ａにおいて一つのエフェクトの識別子おいて、特定モジュールの識別子とエフェクト対象のアニメーションモジュールの識別子とのペアの組み合わせることができる。これにより本発明の実施の形態に係る情報処理装置１は、所定数の特定モジュールとエフェクト対象のアニメーションを有していれば、ペアの組み合わせを変えることにより、動画データに、多様なエフェクト効果を与えることができる。
【００３９】
エフェクト定義データ１２ａにおいて、エフェクト対象のアニメーションモジュールの識別子に、アニメーションで表示するオブジェクトの識別子が対応づけられていてもよい。オブジェクトの識別子とは、例えばリソースデータ名であって、図４（ａ）に示すラッピングイラストや、図５（ｂ）に示す音符記号のイラストの識別子である。これらのリソースデータが、特定モジュールの識別子とアニメーションモジュールの識別子のペアに対応づけることにより、さらに多様なエフェクト効果を与えることができる。
【００４０】
例えば、アニメーションモジュールの識別子として、リソースデータを揺らすアニメーションが対応づけられている場合を考える。ここで、リソースデータとして音符記号のイラストデータを用いたり、雪の結晶のイラストデータを用いたりすることができる。これにより、情報処理装置１は、同じエフェクト対象に同じアニメーションアルゴリズムを用いても、リソースデータを変えることにより、異なるエフェクト効果を有する動画データを得ることができる。
【００４１】
また、エフェクト定義データ１２ａにおいて、特定モジュールの識別子と、エフェクト対象のアニメーションモジュールの識別子の複数のペアが、エフェクトの識別子に対応づけられていてもよい。この場合、一つのエフェクトＩＤが指定されると、一つの画像フレームデータについて、複数のアニメーションモジュールが処理してアニメーションが重畳される。これにより、一つのエフェクトＩＤが指定されるだけで、情報処理装置１は、入力された動画データ１１ａに、複雑なアニメーション効果を与えることができる。
【００４２】
対象特定データ記憶部１３は、記憶装置１０７のうち対象特定データ１３ａが記憶された記憶領域である。対象特定データ１３ａは、対象特定手段２２により出力され、対象特定データ記憶部１３に記憶される。対象特定データ１３ａは、エフェクト対象を特定するための特定モジュールの識別子と、そのエフェクト対象の位置情報とが対応づけられている。対象特定データ１３ａは、ユーザによって指定されたエフェクトの識別子に対応づけられたエフェクト対象を特定する特定モジュール識別子について、その特定モジュールにより出力されたエフェクト対象の位置情報を含む。
【００４３】
合成画像データ記憶部１４は、記憶装置１０７のうち合成画像データ１４ａが記憶された記憶領域である。合成画像データ１４ａは、動画データ１１ａの各フレームについて、エフェクト効果が与えられた画像データである。合成画像データ１４ａにエフェクト効果の画像データが蓄積されることにより、情報処理装置１は、新たな動画データを出力することができる。
【００４４】
取得手段２１は、撮影部１２１によって撮影され、動画データ生成部１２２に生成された動画データを取得し、動画データ記憶部１１に記憶する。取得手段２１は、ユーザから入力されるスタート指示に基づいて動画データの取得を開始し、ユーザから入力されるストップ指示に基づいて動画データの取得を終了してもよい。
【００４５】
対象特定手段２２は、ユーザからエフェクトの識別子が入力されると、エフェクト定義データ１２ａからエフェクト識別子に対応づけられた特定モジュールの識別子を抽出し、動画データ１１ａの各フレームを、抽出した特定モジュール識別子に対応する特定モジュールに入力して、エフェクト対象を取得する。対象特定手段２２は、エフェクト対象を、フレームデータにおける画素の位置情報として取得してもよい。対象特定手段２２は、特定モジュールの識別子と、そのエフェクト対象の位置情報とが対応づけて対象特定データ１３ａを生成し、対象特定データ記憶部１３に記憶する。
【００４６】
対象特定手段２２は、第１の特定モジュール２２ａ、第２の特定モジュール２２ｂ・・・を備えている。各特定モジュールは、動画データ１１ａの各フレームについて、エフェクトの対象を特定するためのモジュールである。特定モジュールは、例えば、人物の顔部分を特定するモジュール、動きのあった部分を特定するモジュールなどである。各特定モジュールは、エフェクト対象の位置情報を出力すればよく、本発明の実施の形態において、その具体的な処理内容は問わない。エフェクト定義データ１２ａの所定のエフェクトの識別子に対応づけられた複数のペアにおいて、所定の特定モジュールの識別子が複数のペアに出現する場合でも、対象特定手段２２は、１度だけ処理し、対象特定データ１３ａにその位置情報を含めればよい。この場合、後述する合成手段２３において、対象特定データ１３ａの位置情報が複数回参照される。
【００４７】
合成手段２３は、エフェクト定義データ１２ａから、ユーザによって指定されたエフェクト識別子に対応づけられたアニメーションモジュールの識別子を抽出し、対象特定手段２２によって特定されたエフェクト対象と、動画データ１１ａのフレームと、抽出されたアニメーションモジュールの識別子とから、合成画像データ１４ａを生成する。合成手段２３は、動画データ１１ａの画像フレームデータを逐次読み出し、読み出した画像フレームデータの特定されたエフェクト対象に、抽出されたアニメーションモジュールの識別子に対応するアニメーションを重畳した合成画像データを生成する。
【００４８】
合成手段２３は、動画データ１１ａの各フレームデータについて、エフェクト定義データ１２ａで定義されたエフェクト対象に対して、エフェクト定義データ１２ａで定義されるアニメーション処理を施し、合成画像データ１４ａを生成する。ここで、エフェクト定義データ１２ａにおいて、ユーザが指定したエフェクトＩＤに、特定モジュールＩＤとアニメーションＩＤのペアが複数対応づけられている場合、各ペアについて、アニメーション処理を施す。
【００４９】
ここでアニメーションは、エフェクト対象にオブジェクトを表示するとともに、動画データ１１ａの後続の画像フレームデータについて、オブジェクトの座標位置を連続して変化する処理である。また、アニメーションは、エフェクト対象の座標位置および色情報のうち少なくともいずれか一方を、連続して変化する処理であってもよい。
【００５０】
オブジェクトの表示位置を変更するアニメーションを生成する場合、合成手段２３は、動画データ１１ａの画像フレームデータを逐次読み出し、読み出した画像フレームデータの特定されたエフェクト対象に、抽出されたアニメーションモジュールの識別子に対応するオブジェクトを表示するとともに、新たな画像フレームデータに表示するオブジェクトの座標を変化して表示する。
【００５１】
また、エフェクト定義データにおいて、一つのエフェクトＩＤに、複数のアニメーションが定義されていてもよい。具体的には、エフェクト定義データにおいて、特定モジュールの識別子と、エフェクト対象のアニメーションモジュールの識別子の複数のペアが、エフェクトの識別子に対応づけられている場合、合成手段２３は、画像フレームデータ１１ａに、各ペアについて、当該ペアのエフェクト対象に、当該ペアのアニメーション識別子に対応するアニメーションを重畳して合成画像データ１４ａを生成する。
【００５２】
表示手段２４は、合成手段２３により生成された合成画像データ１４ａから、新たな動画データを構成して表示部１０５に表示する。
【００５３】
表示手段２４は、合成画像データ１４ａを新たな動画データのフレームデータとして、新たな動画データを生成する。この新たな動画データは、入力された動画データ１１ａに、ユーザによって指定されたエフェクトＩＤに対応するエフェクトが施されたデータである。
【００５４】
図７を参照して、本発明の実施の形態に係る情報処理装置１の処理を説明する。まずステップＳ１０１において、情報処理装置１は、ユーザがエフェクトＩＤを入力するのを待機する。ユーザは例えば図２に示すようなエフェクト一覧表示から、所望のエフェクトのアイコンを選択することにより、情報処理装置１にエフェクトＩＤを入力することができる。
【００５５】
エフェクトＩＤが入力されると、動画データ１１ａの各フレームデータについて、ステップＳ１０２ないしステップＳ１０９の処理を繰り返す。ここでステップＳ１０２ないしステップＳ１０５の処理が、対象特定手段２２による処理である。またステップＳ１０６５ないしステップＳ１０９の処理が、合成手段２３による処理である。ステップＳ１１０の処理は、表示手段２４による処理である。
【００５６】
まず情報処理装置の対象特定手段２２が、入力されたエフェクトＩＤに対応する対象特定情報を取得する。具体的には、ステップＳ１０２において、エフェクト定義データ１２ａから、ステップＳ１０１で入力されたエフェクトＩＤに対応づけられた特定モジュールＩＤを取得する。ここでは、エフェクト定義データ１２ａにおいて複数のペアがある場合、いずれかのペアで対応づけられる特定モジュールＩＤを取得する。
【００５７】
対象特定手段２２は、ステップＳ１０２で取得した特定モジュールＩＤのそれぞれについて、ステップＳ１０３およびステップＳ１０４の処理を繰り返す。具体的には対象特定手段２２は、ステップＳ１０３において動画データ１１ａの所定の画像フレームを特定モジュールに入力し、ステップＳ１０４において、その特定モジュールから対象特定情報を取得する。ここで対象特定情報は、画像フレームのうち、エフェクト効果を与える画素の位置情報である。対象特定手段２２は、ステップＳ１０３およびステップＳ１０４の処理をステップＳ１０２で取得した全ての特定モジュールＩＤについて繰り返す。
【００５８】
ステップＳ１０５において対象特定手段２２は、ステップＳ１０４で取得した対象特定情報と、特定モジュールＩＤとを関連づけて対象特定データ１３ａを生成し、対象特定データ記憶部１３に記憶する。
【００５９】
次に合成手段２３が、各フレームに、入力されたエフェクトＩＤに対応するアニメーション処理を施す。具体的には、ステップＳ１０５において合成手段２３は、エフェクト定義データ１２ａから、ステップＳ１０１で入力されたエフェクトＩＤに対応づけられた、特定モジュールＩＤとアニメーションＩＤのペアを取得する。ここでは、エフェクト定義データ１２ａにおいて複数のペアがある場合、全てのペアの情報を取得する。
【００６０】
合成手段２３は、ステップＳ１０６で取得したペアのそれぞれについて、ステップＳ１０７およびステップＳ１０８の処理を繰り返す。具体的には合成手段２３は、ステップＳ１０７において、ステップＳ１０６において取得したペアについて、所定のアニメーションＩＤに対応する特定モジュールＩＤを取得するとともに、対象特定データ１３ａから、取得した特定モジュールＩＤに対応する対象特定情報を取得する。さらにステップＳ１０８において合成手段は、ステップＳ１０７で取得した対象特定情報および動画データ１１ａのフレームに対して、アニメーションＩＤに対応するアニメーション処理を施す。全てのペアについてステップＳ１０７およびステップＳ１０８を繰り返し、ステップＳ１０９において合成手段２３は、全てのアニメーションが施されて最終的に得られた合成画像データ１４ａを、合成画像データ記憶部１４に記憶する。
【００６１】
表示手段１１０は、ステップＳ１０９で生成された合成画像データ１４ａを、表示部１０５に表示する。動画データ１１ａの各フレームについてステップＳ１０２ないしステップＳ１１０の処理が繰り返されることにより、表示部１０５にアニメーション処理が施された動画データが表示される。
【００６２】
このように本発明の実施の形態に係る情報処理装置１は、動画データの各フレームについて、予めアニメーションの処理対象となる画素の位置情報を取得し、取得した位置情報を用いて、アニメーション処理を施す。これにより、情報処理装置１の処理負荷を低減し、多様で高度な拡張現実感を持った動画データを生成することができる。このような情報処理装置１は、人の顔部分に複数のアニメーションを施す場合などに好適である。
【００６３】
（処理の詳細）
次に、本発明の実施の形態に係る情報処理装置１の処理の詳細を説明する。
【００６４】
まず、図８を参照して、本発明の実施の形態に係るエフェクト定義データ１２ａを説明する。図８（ａ）に示すように、エフェクト定義データ１２ａは、エフェクトＩＤ、特定モジュールＩＤ、アニメーションＩＤおよびリソースデータが対応づけられている。エフェクト定義データ１２ａは、各エフェクトＩＤについて、どのエフェクト対象に、どのようなアニメーションを施すかを特定している。また、図８（ａ）に示すように、一つのエフェクトＩＤに、複数の特定モジュールＩＤおよびアニメーションＩＤのペアを対応づけても良い。
【００６５】
図８（ｂ）および図８（ｃ）に、エフェクト定義データ１２ａの変形例を記載している。図８（ｂ）は、エフェクト定義データ１２ａをリスト形式で記載した例で、図８（ｃ）は、エフェクト定義データ１２ａをＸＭＬ形式で記載した例である。このように、エフェクト定義データ１２ａは、様々なデータ形態が考えられる。
【００６６】
ここで、特定モジュールは、エフェクト対象を出力する。エフェクト対象は、画像フレームデータ１１ａのうち、アニメーション効果を与える位置情報であって、例えば、画素の座標情報である。特定モジュールにより出力されたエフェクト対象は、アニメーションＩＤに対応するアニメーションが施される。この際、必要に応じて、リソースデータで特定されるオブジェクトが用いられる。
【００６７】
図８（ａ）において、エフェクトＩＤ”ｓｎｏｗ”に、特定モジュールＩＤ”ｅｄｇｅ”および”ｄｉｆｆ”が対応づけられている。図１に示す情報処理装置１の対象特定手段２２において、例えば、第１の特定モジュール２２ａの識別子は、特定モジュールＩＤ”ｅｄｇｅ”で、第２の特定モジュール２２ｂの識別子は、特定モジュールＩＤ”ｄｉｆｆ”である。
【００６８】
特定モジュールＩＤ”ｅｄｇｅ”のモジュールは、動画データを構成する画像フレームデータが入力されると、その画像フレームデータにおける被写体のエッジの位置情報を出力する。また特定モジュールＩＤ”ｄｉｆｆ”のモジュールは、一つ前の画像フレームデータを保持し、この一つ前の画像フレームデータと新たに入力された画像フレームデータとの差分を検出することにより、動きのあった画素の位置情報を出力する。
【００６９】
図８（ａ）において、エフェクトＩＤ”ｓｎｏｗ”に、アニメーションＩＤ”ａｓｍ＿ｕｐ”、”ａｓｍ＿ｄｏｗｎ”および”ａｓｍ＿ｓｈａｋｅ”が対応づけられている。
【００７０】
図１に示す情報処理装置１の合成手段２３において、例えば、第１のアニメーションモジュール２３ａの識別子は、アニメーションＩＤ”ａｓｍ＿ｕｐ”で、第２のアニメーションモジュール２３ｂの識別子は、アニメーションＩＤ”ａｓｍ＿ｄｏｗｎ”であって、第３のアニメーションモジュール２３ｃの識別子は、アニメーションＩＤ”ａｓｍ＿ｓｈａｋｅ”である。
【００７１】
アニメーションＩＤ”ａｓｍ＿ｕｐ”のアニメーションモジュールは、エフェクト対象に、リソースデータで特定されるオブジェクトを表示して、そのオブジェクトを上昇させるアニメーションを出力する。アニメーションＩＤ”ａｓｍ＿ｕｐ”のアニメーションモジュールは、オブジェクトを表示する座標位置を保持し、動画データの後続の画像フレームデータについても、オブジェクトのＹ軸座標の値を増加させた座標にそのオブジェクトを表示することにより、動画データに、そのオブジェクトを上昇させる効果を与える。
【００７２】
アニメーションＩＤ”ａｓｍ＿ｄｏｗｎ”のアニメーションモジュールは、エフェクト対象に、リソースデータで特定されるオブジェクトを表示して、そのオブジェクトを下降させるアニメーションを出力する。アニメーションＩＤ”ａｓｍ＿ｕｐ”のアニメーションモジュールは、アニメーションＩＤ”ａｓｍ＿ｕｐ”のアニメーションと同様に、オブジェクトを表示する座標位置を保持し、動画データの後続の画像フレームデータについても、オブジェクトのＹ軸座標の値を減少させた座標にそのオブジェクトを表示することにより、動画データに、そのオブジェクトを下降させる効果を与える。
【００７３】
アニメーションＩＤ”ａｓｍ＿ｓｈａｋｅ”のアニメーションモジュールは、エフェクト対象に、リソースデータで特定されるオブジェクトを表示して、そのオブジェクトを左右方向に揺らすアニメーションを出力する。アニメーションＩＤ”ａｓｍ＿ｓｈａｋｅ”のアニメーションモジュールは、所定の割合でオブジェクトをエフェクト対象にオブジェクトを表示して、そのオブジェクトを揺らす。アニメーションＩＤ”ａｓｍ＿ｓｈａｋｅ”のアニメーションモジュールは、オブジェクトを表示する座標位置を保持し、動画データの後続の画像フレームデータについても、オブジェクトのＸ軸座標の値を減少したり増加したりした座標にそのオブジェクトを表示することにより、動画データに、そのオブジェクトが揺れる効果を与える。このとき、弧を描くように揺れる視覚効果を与えるため、Ｙ軸座標の値も変化されてもよい。
【００７４】
ここで特定モジュールが、エフェクト対象の位置情報を出力する際の具体的な処理内容は、本発明では問わない。同様に、アニメーションモジュールが、エフェクト対象にアニメーションを施した合成画像データを出力する際の具体的な処理内容は、本発明では問わない。
【００７５】
図８（ａ）に示すエフェクト定義データ１２ａにおいて、特定モジュールＩＤおよびアニメーションＩＤのペアを１以上定義することにより、動画に複雑なエフェクトを与えることができる。エフェクトＩＤ”ｓｎｏｗ”では、３つのペアが定義されており、このエフェクトＩＤが指定されることにより、３つのそれぞれのペアに基づくアニメーションが、定義された順序で重畳された動画データが生成される。
【００７６】
エフェクトＩＤ”ｓｎｏｗ”に、一つ目のペアとして、特定モジュールＩＤ”ｅｄｇｅ”およびアニメーションＩＤ”ａｓｍ＿ｕｐ”のペアが対応づけられるとともに、リソースデータとして”ＯＢＪ＿Ａ．ｂｍｐ”が指定されている。エフェクトＩＤ”ｓｎｏｗ”の一つ目のエフェクト効果として、被写体のエッジにＯＢＪ＿Ａ．ｂｍｐをオブジェクトとして表示し、このオブジェクトを上昇させるアニメーション効果が、動画データに重畳される。
【００７７】
エフェクトＩＤ”ｓｎｏｗ”に、二つ目のペアとして、特定モジュールＩＤ”ｅｄｇｅ”およびアニメーションＩＤ”ａｓｍ＿ｄｏｗｎ”のペアが対応づけられ、リソースデータとして”ＯＢＪ＿Ｂ．ｂｍｐ”が指定されている。エフェクトＩＤ”ｓｎｏｗ”の二つ目のエフェクト効果として、被写体のエッジにＯＢＪ＿Ｂ．ｂｍｐをオブジェクトとして表示し、このオブジェクトを下降させるアニメーション効果が、上述の一つ目のエフェクト効果が施された動画データに重畳される。
【００７８】
エフェクトＩＤ”ｓｎｏｗ”に、３つ目のペアとして、特定モジュールＩＤ”ｄｉｆｆ”およびアニメーションＩＤ”ａｓｍ＿ｓｈａｋｅ”のペアが対応づけられ、リソースデータとして”ＯＢＪ＿Ｃ．ｂｍｐ”が指定されている。エフェクトＩＤ”ｓｎｏｗ”の３つ目のエフェクト効果として、所定の割合で、被写体のエッジにＯＢＪ＿Ｃ．ｂｍｐをオブジェクトとして表示し、このオブジェクトを揺らすアニメーション効果が、上述の二つ目のエフェクト効果が施された動画データに重畳される。この所定の割合は、例えば１％である。この所定の割合は、動画データの種別や単位時間あたりのフレーム数によって変更しても良い。
【００７９】
このように、エフェクト定義データ１２ａにおいて、一つのエフェクトＩＤに、エフェクト対象を特定するためのモジュールＩＤと、そのエフェクト対象に施すアニメーションＩＤとの複数のペアを指定することにより、一つのエフェクトＩＤを指定することにより、動画データに、複雑なアニメーション効果を与えることができる。
【００８０】
ここで、特定モジュールによるエフェクト対象の算出およびアニメーションモジュールによるアニメーションは、動画データを構成する各画像フレームデータごとに実行される。エフェクトＩＤ”ｓｎｏｗ”において、特定モジュールＩＤ”ｅｄｇｅ”が二度出現するが、一つの画像フレームデータについて、特定モジュールＩＤ”ｅｄｇｅ”のモジュールを一度処理すればよい。特定モジュールＩＤ”ｅｄｇｅ”のモジュールの処理結果を、アニメーションＩＤ”ａｓｍ＿ｕｐ”および”ａｓｍ＿ｄｏｗｎ”の各アニメーション手段が参照することにより、本発明の実施の形態に係る情報処理装置１の負荷を軽減させることができる。
【００８１】
図９を参照して、本発明の実施の形態に係る情報処理装置１によるアクティビティチャートを説明する。
【００８２】
まずステップＳ２０１においてユーザが、入力装置１０４から起動指示を入力すると、中央処理制御装置（制御手段）１０１ａは、本発明の実施の形態に係る情報処理プログラムを起動する。ここで制御手段１０１ａは、本発明の実施の形態に係る情報処理を司る手段である。制御手段１０１ａは、ステップＳ２０２およびステップＳ２０３において、エフェクト定義データ１２ａを参照して取得し、表示部１０５に表示する。表示部１０５には、例えば図２を参照して説明したエフェクト一覧表示部Ｐ１０１が表示される。
【００８３】
ステップＳ２０４においてユーザは、表示されたエフェクト一覧から、所望のエフェクトＩＤを入力装置１０４から入力し、制御手段１０１ａは、エフェクトＩＤを取得する。具体的には、ユーザが、図２に示されたエフェクト一覧表示部Ｐ１０１から、所望のエフェクトのアイコンを選択すると、制御手段１０１ａは、ユーザが選択したアイコンに対応するエフェクトＩＤを取得する。
【００８４】
ステップＳ２０５およびステップＳ２０６において制御手段１０１ａは、エフェクト定義データ１２ａから、ユーザによって入力されたエフェクトＩＤに対応づけられた特定モジュールＩＤ群およびアニメーションＩＤ群を取得する。制御手段１０１ａは、ステップＳ２０７において、ステップＳ２０６で取得した特定モジュールＩＤを対象特定手段２２に設定する。また制御手段１０１ａは、ステップＳ２０８において、特定モジュールＩＤとアニメーションＩＤのペアを合成手段２３に設定する。エフェクト定義データ１２ａにおいてリソースデータが指定されている場合、制御手段１０１ａは、そのリソースデータの識別子も、合成手段２３に設定する。
【００８５】
次に、ステップS２０９ないしステップS２１６の処理が、動画データの各画像フレームデータごとに実行される。ステップＳ２０９ないしステップＳ２１６において情報処理装置１は、動画データの各画像フレームデータから、アニメーションが合成された合成画像データ１４ａが生成され、この合成画像データ１４ａを逐次表示することで、表示装置１０５にアニメーション加工された動画データを表示することができる。
【００８６】
具体的には、ステップＳ２０９において、ユーザの操作により動画データが情報処理装置１に入力されると、制御手段１０１ａは、その動画データの画像フレームデータを、逐次対象特定手段２２に入力する。ステップＳ２１１において対象特定手段２２は、ステップＳ２０７で指定された特定モジュールを用いて、画像フレームデータを処理して、対象特定情報を生成する。全ての特定モジュールについて対象特定情報を生成すると、ステップＳ２１２において全ての対象特定情報を含む対象特定データ１３ａを、制御手段１０１ａに戻す。
【００８７】
制御手段１０１ａはステップＳ２１３において、画像フレームデータおよび対象特定データ１３ａを、逐次合成手段２３に入力する。合成手段２３は、ステップＳ２１４において、各ペアについて、画像フレームデータにアニメーションを合成し、合成画像データ１４ａを生成する。ステップＳ２１５において合成手段２３は、生成した合成画像データ１４ａを制御手段１０１ａに戻す。
【００８８】
ステップＳ２１６において制御手段１０１ａは、合成手段２３から入力された合成画像データ１４ａを、逐次表示手段２４に入力する。表示手段２４は、合成画像データ１４ａを逐次表示部１０５に表示する。これにより情報処理装置１は、ユーザにアニメーション加工された動画データを表示する。
【００８９】
ステップＳ２０９ないしステップＳ２１６の処理は、ステップＳ２１７においてユーザがエフェクト終了または記録終了指示を入力するまで、繰り返される。さらにステップＳ２１８においてユーザがソフトウェアの終了指示を入力すると、本発明の実施の形態に係る情報処理プログラムの処理は終了する。
【００９０】
図１０を参照して、動画データの画像フレームデータにアニメーションを重畳し、合成画像データを出力する処理を説明する。
【００９１】
図１および図１０に示すように対象特定手段２２は、対象特定情報を生成するための複数のモジュールを備えている。例えば、特定モジュールＩＤ”ｅｄｇｅ”は、エッジを特定するモジュールの識別子である。特定モジュールＩＤ”ｄｉｆｆ”は、前後のフレームの差分を特定するモジュールの識別子である。特定モジュールＩＤ”ｆａｃｅ”は、顔部分を特定するモジュールの識別子である。特定モジュールＩＤ”ｂａｃｋ”は、背景部分を特定するモジュールの識別子である。
【００９２】
対象特定手段２２は、動画データの画像フレームデータを入力すると、その画像フレームデータを、ユーザが指定したエフェクトＩＤに対応づけられる特定モジュールＩＤのモジュールに入力する。各特定モジュールは、入力された画像フレームデータについて、エフェクト対象となる対象特定情報を算出する。対象特定手段２２は、各特定モジュールＩＤと、そのモジュールが出力した対象特定情報と、を対応づけた対象特定データ１３ａを出力する。
【００９３】
図１および図１０に示すように合成手段２３は、アニメーション効果を施すための複数のアニメーションモジュールを備えている。例えば、アニメーションモジュールＩＤ”ａｓｍ＿ｕｐ”は、エフェクト対象にオブジェクトを表示して、そのオブジェクトを上昇させるアニメーションモジュールの識別子である。アニメーションモジュールＩＤ”ａｓｍ＿ｄｏｗｎ”は、エフェクト対象にオブジェクトを表示して、そのオブジェクトを上昇させるアニメーションモジュールの識別子である。アニメーションモジュールＩＤ”ａｓｍ＿ｓｈａｋｅ”は、エフェクト対象に一定確率でオブジェクトを表示して、そのオブジェクトを揺らすアニメーションモジュールの識別子である。アニメーションモジュールＩＤ”ａｓｍ＿ｕｐ２”は、エフェクト対象に一定確率でオブジェクトを表示して、そのオブジェクトを上昇させるアニメーションモジュールの識別子である。
【００９４】
合成手段２３は、エフェクト定義データ１２ａにおいて定義される特定モジュールＩＤおよびアニメーションＩＤのペアごとに、アニメーションの１コマを生成して画像フレームデータに重畳する。対象特定データ１３ａおよび画像フレームデータが入力されると、合成手段２３は、ペアごとに、対象特定データ１３ａから当該ペアの特定モジュールＩＤに対応づけられた対象特定情報と画像フレームデータとを、当該ペアのアニメーションＩＤのアニメーションモジュールに入力して、画像フレームデータにアニメーションの１コマを重畳する処理を繰り返す。このとき合成手段２３は、エフェクト定義データ１２ａにおいて各ペアにリソースデータが対応づけられている場合、そのリソースデータも、当該ペアのアニメーションＩＤのアニメーションモジュールに入力する。
【００９５】
図１０においては、図８（ａ）のエフェクトＩＤ”ｓｎｏｗ”が指定された場合について説明する。情報処理装置１は、各画像フレームデータについて、（１）エッジにＯＢＪ＿Ａを表示して上昇させ、（２）エッジにＯＢＪ＿Ｂを表示して下降させ、（３）フレーム差分に一定確率でＯＢＪ＿Ｃを表示して揺らすアニメーションを重畳して、合成画像データ１４ａを生成する。従って、対象特定手段２２は、複数の特定モジュールのうち、特定モジュールＩＤ”ｅｄｇｅ”および”ｄｉｆｆ”のモジュールを使用するよう、予め設定されている。また、合成手段２３は、複数のアニメーションモジュールのうち、アニメーションＩＤ”ａｓｍ＿ｕｐ”、”ａｓｍ＿ｄｏｗｎ”および”ａｓｍ＿ｓｈａｋｅ”のモジュールを使用するよう、予め設定されている。
【００９６】
まず、ステップＳ３０１において、画像フレームデータＦが、対象特定手段２２に入力される。この画像フレームデータＦは、図１０に示すように、女性が左手にバナナを持ち、右手を振っている動画データの１フレームデータである。
【００９７】
ステップＳ３０２において対象特定手段２２は、エフェクトＩＤ”ｓｎｏｗ”で用いられるエフェクト対象を出力する。対象特定手段２２は、入力された画像フレームデータＦを、特定モジュールＩＤ”ｅｄｇｅ”のモジュールに入力し、画像フレームデータＦのエッジ特定情報を取得するとともに、特定モジュールＩＤ”ｄｉｆｆ”のモジュールに入力し、画像フレームデータＦのフレーム差分特定情報を取得する。さらに対象特定手段２２は、対象特定データ１３ａを生成する。対象特定データ１３ａは、特定モジュールＩＤ”ｅｄｇｅ”とエッジ特定情報を対応づけるとともに、特定モジュールＩＤ”ｄｉｆｆ”とフレーム差分特定情報を特定づけたデータである。ステップＳ３０３において対象特定手段２２は、対象特定データ１３ａを制御手段１０１ａに戻し、制御手段１０１ａは、対象特定データ１３ａを記憶装置１０７に一時的に記憶する。
【００９８】
次に制御手段１０１ａは、画像フレームデータＦと、ステップＳ３０３で取得した対象特定データ１３ａを、合成手段２３に入力する。合成手段２３は、エフェクトＩＤ”ｓｎｏｗ”に対応づけられた特定モジュールＩＤとアニメーションモジュールＩＤとのペアに基づいて、画像フレームデータＦおよび特定対象データ１３ａから、合成画像データＦ’を生成する。
【００９９】
ここで、図８（ａ）のエフェクトＩＤ”ｓｎｏｗ”に関するデータより、（１）合成手段２３は、アニメーションＩＤ”ａｓｍ＿ｕｐ”のアニメーションモジュールに、特定モジュールＩＤ”ｅｄｇｅ”の対象特定情報、および”ＯＢＪ＿Ａ．ｂｍｐ”のリソースファイルを設定して得られるアニメーションの１コマを、画像フレームデータに重畳する。（２）合成手段２３は、アニメーションＩＤ”ａｓｍ＿ｄｏｗｎ”のアニメーションモジュールに、特定モジュールＩＤ”ｅｄｇｅ”の対象特定情報、および”ＯＢＪ＿Ｂ．ｂｍｐ”のリソースファイルを設定したアニメーションの１コマを、（１）のアニメーションが重畳された画像フレームデータに重畳する。（３）合成手段２３は、アニメーションＩＤ”ａｓｍ＿ｓｈａｋｅ”のアニメーションモジュールに、特定モジュールＩＤ”ｅｄｇｅ”の対象特定情報、および”ＯＢＪ＿Ｃ”のリソースファイルを設定したアニメーションの１コマを、（１）および（２）のアニメーションが重畳された画像フレームデータに重畳して、合成画像データＦ’を生成する。
【０１００】
ステップＳ３０６において合成手段２３は、上記（１）ないし（３）の処理により生成された合成画像データＦ’を、制御手段１０１ａに戻す。
【０１０１】
図１１を参照して、合成手段２３の処理をさらに詳述する。図１０を参照して説明した通り、対象特定データ１３ａは、エッジ特定情報１３ｂとフレーム差分特定情報１３ｃと、を有する。エッジ特定情報１３ｂは、特定モジュールＩＤ”ｅｄｇｅ”のエッジ特定モジュールにより算出された、被写体のエッジ部分の位置情報である。フレーム差分特定情報１３ｃは、特定モジュールＩＤ”ｄｉｆｆ”のフレーム差分特定モジュールにより算出された、フレーム間で差分のある部分の位置情報である。
【０１０２】
合成手段２３は、アニメーションＩＤ”ａｓｍ＿ｕｐ”、”ａｓｍ＿ｄｏｗｎ”および”ａｓｍ＿ｓｈａｋｅ”の各アニメーションモジュールを用いて、対象特定データ１３ａで特定されたエフェクト対象にアニメーションの１コマを重畳し、画像フレームデータＦから合成画像データＦ’を生成する。
【０１０３】
まず合成手段２３は、エフェクトＩＤ”ｓｎｏｗ”の一つ目のペアについて、アニメーションＩＤ”ａｓｍ＿ｕｐ”のアニメーションモジュールを用いて、エッジ特定情報１３ｂのエッジに、ＯＢＪ＿Ａのオブジェクトを表示する。図１１に示す例においてＯＢＪ＿Ａのオブジェクトは、星である。このアニメーションモジュールは、エッジ特定情報１３ｂのエッジのうち、最も右上のエッジに、オブジェクトを表示するよう予めプログラムされているとする。従って合成手段２３は、画像フレームデータＦのもっと右上のエッジに、オブジェクトを表示して、第１の処理画像データｆ１を生成する。さらに合成手段２３は、後続の画像フレームデータについて、このオブジェクトを上昇させるアニメーションを生成するため、ＯＢＪ＿Ａの座標情報を更新する。具体的には、Ｙ軸方向の値を増加することにより、後続の画像フレームデータにおいて、ＯＢＪ＿Ａを上昇させるアニメーションを生成することができる。ＯＢＪ＿Ａの座標情報は、アニメーションモジュールにおいて予め定められたロジックに従って更新される。
【０１０４】
二つ目のペアについて合成手段２３は、アニメーションＩＤ”ａｓｍ＿ｄｏｗｎ”のアニメーションモジュールを用いて、エッジ特定情報１３ｂのエッジに、ＯＢＪ＿Ｂのオブジェクトを表示する。図１１に示す例においてＯＢＪ＿Ｂのオブジェクトは、リンゴである。このアニメーションモジュールでも、エッジ特定情報１３ｂのエッジのうち、最も右上のエッジに、オブジェクトを表示するよう予めプログラムされているとする。従って合成手段２３は、第１の処理画像データｆ１の最も右上のエッジに、オブジェクトを表示して、第２の処理画像データｆ２を生成する。ここで、アニメーションＩＤ”ａｓｍ＿ｕｐ”のアニメーションモジュールにより、すでに同じ場所にＯＢＪ＿Ａのオブジェクトが表示されているので、第２の処理画像データｆ２において、このＯＢＪ＿Ａのオブジェクトの上に、ＯＢＪ＿Ｂのオブジェクトが上書きされる。さらに合成手段２３は、後続の画像フレームデータについて、このオブジェクトを下降させるアニメーションを生成するため、ＯＢＪ＿Ｂの座標情報を更新する。具体的には、Ｙ軸方向の値を減少することにより、後続の画像フレームデータにおいて、ＯＢＪ＿Ｂを下降させるアニメーションを生成することができる。ＯＢＪ＿Ｂの座標情報は、アニメーションモジュールにおいて予め定められたロジックに従って更新される。
【０１０５】
３つ目のペアについて合成手段２３は、アニメーションＩＤ”ａｓｍ＿ｓｈａｋｅ”のアニメーションモジュールを用いて、フレーム差分特定情報１３ｃに、ＯＢＪ＿Ｃのオブジェクトを表示する。図１１に示す例においてＯＢＪ＿Ｃのオブジェクトは、顔マークである。このアニメーションモジュールでは、フレーム差分特定情報１３ｃで検出された部分のうち、最も左上の部分に、オブジェクトを表示するよう予めプログラムされているとする。従って合成手段２３は、第２の処理画像データｆ２の最も左上の動きが検出された部分に、一定の割合でオブジェクトを表示して、合成画像データＦ’を生成する。図１１に示す合成画像データＦ’は、オブジェクトを表示するタイミングで生成されたものとする。さらに合成手段２３は、後続の画像フレームデータについて、このオブジェクトを左右に揺らすアニメーションを生成するため、ＯＢＪ＿Ｃの座標情報を更新する。具体的には、Ｘ軸方向の値を変更することにより、後続の画像フレームデータにおいて、ＯＢＪ＿Ｃを揺らすアニメーションを生成することができる。ＯＢＪ＿Ｃの座標情報は、アニメーションモジュールにおいて予め定められたロジックに従って更新される。
【０１０６】
このような処理を、動画データの画像フレームデータが入力される度に実行することにより、図１２に示す動画データを生成することができる。図１２（ａ）ないし（ｅ）は、女性が左手にバナナを持ち右手を振っている動画データについて、図１１に示す処理により生成された合成画像データＦ’を時系列に並べたものである。情報処理装置１は、図１２（ａ）から（ｅ）の順で、表示部１０５に表示する。図１２に示す各合成画像データは、隣接するフレームの合成画像データでなくともよく、間に複数の合成画像データが含まれてもよい。
【０１０７】
図１２（ａ）に示す合成画像データＦ’は、図１１で説明した通りに作成される。図１２（ａ）の合成画像データＦ’において、同じエッジに、ＯＢＪ＿Ａの星が表示されるとともに、ＯＢＪ＿Ｂのリンゴが上書き表示されているので、星の形は、リンゴに隠れてほとんど見えない。時間の経過に伴い、図１２（ｂ）ないし図（ｅ）においては、ＯＢＪ＿Ａの星は徐々に上昇し、ＯＢＪ＿Ｂのリンゴは徐々に下降する。従って、図１２（ｂ）において、ＯＢＪ＿Ａの星の下方はＯＢＪ＿Ｂのリンゴの上方に被って見えないものの、図１２（ｃ）ないし（ｅ）においては、ＯＢＪ＿Ａの星およびＯＢＪ＿Ｂのリンゴのそれぞれが、合成画像データ１４ａに表示される。
【０１０８】
一方顔マークは、女性が右手を振ることにより右手にフレーム差分が検出され、女性の右手位置に一定確率で表示される。図１２（ａ）において表示された顔マークは、女性の右手位置に表示される。一度表示された顔マークは、女性の右手の動きに関係なくアニメーションモジュールのプログラミングにより、左右に揺れるアニメーションが施される。
【０１０９】
ここでアニメーションモジュールは、フレーム差分に一定割合で顔マークのオブジェクトを表示し揺らすアニメーションを施す。図１２の例では女性が手を振り続けているので、図１２（ｄ）の合成画像データに、新たな顔マークが表示されている。この新たな顔マークは、図１２（ｅ）において、女性の右手および最初に表示された顔マークとは独立して、左右に揺れるアニメーションが施される。このアニメーションモジュールは、一定確率で表示した全てのオブジェクトのそれぞれについて、そのオブジェクトの位置情報を保持し更新しながら、順次動画データのフレームにアニメーションを施す。
【０１１０】
本発明の実施の形態においては、オブジェクトを表示して、そのオブジェクトの表示位置を変更してアニメーションする場合について説明したが、アニメーションの例はこれに限られない。例えば、エフェクト対象の画素の色を変化させたり、透明に変化させる場合もある。さらに、エフェクト対象の領域自体を広げたり狭めたりする場合も考えられる。これらのアニメーションを複合することにより、情報処理装置１は、画像フレームデータの下から上に雪を積もらせるアニメーションや、上から降ってきた星が被写体の上に積もるアニメーションなども実装することができる。
【０１１１】
このように本発明の実施の形態に係る情報処理装置１は、予め、エフェクト対象を特定する複数の特定モジュールと、エフェクト対象にアニメーションを施す複数のアニメーションモジュールとを備える。また、エフェクト定義データ１２ａにおいて、特定モジュールとアニメーションモジュールの対応づけたペアを定義する。これにより、アニメーションを施すエフェクト対象を特定する処理と、そのエフェクト対象にアニメーションを施す処理とを切り分けて、エフェクト定義データを用いてアニメーションを定義することができるので、動画データに、容易に複雑なアニメーションを施すことができる。
【０１１２】
また、エフェクト定義データ１２ａが、エフェクトＩＤに、複数のペアを対応づけることにより、ユーザがエフェクトＩＤを指定することにより、動画データに、複数のペアによって様々なアニメーション効果を与えることができる。さらに、エフェクト定義データ１２ａにおいて、一つのエフェクト対象に、複数のアニメーションを施すように定義づけられている場合もある。この場合、特定モジュールによるエフェクト対象の出力結果が、複数のアニメーションモジュールに入力されることにより、情報処理装置１の処理負荷を軽減させることができる。
【０１１３】
このような本発明の実施の形態に係る情報処理装置１によれば、エフェクト定義データ１２ａにより、特定モジュールとアニメーションモジュールの多彩な組み合わせを定義することができる。これにより、本発明の実施の形態に係る情報処理装置１は、従来よりもコンピュータグラフィックスによる多様なエフェクトを施した拡張現実感をユーザに与えることができる。
【０１１４】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【０１１５】
例えば、本発明の実施の形態に記載した情報処理装置装置は、図１に示すように一つのハードウェア上に構成されてもよいし、撮影および表示するクライアント端末と、クライアント端末から取得した動画データを処理するサーバとに構成されてもよい。また、既存の情報処理装置上に実現されてもよい。
【０１１６】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１１７】
１  情報処理装置
１１  画像データ記憶部
１２  エフェクト定義データ記憶部
１３  対象特定データ記憶部
１４  合成画像データ記憶部
２１  取得手段
２２  対象特定手段
２３  合成手段
２４  表示手段
１０１  中央処理制御装置
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  入力装置
１０５  表示部
１０５ａ  タッチパネル
１０６  通信制御装置
１０７  記憶装置
１０８  リムーバブルディスク
１０９  入出力インタフェース
１１０  バス
１２１  撮影部
１２２  動画データ生成部
【図１】
2012113677.tif 000003
【図２】
2012113677.tif 000004
【図３】
2012113677.tif 000005
【図４】
2012113677.tif 000006
【図５】
2012113677.tif 000007
【図６】
2012113677.tif 000008
【図７】
2012113677.tif 000009
【図８】
2012113677.tif 000010
【図９】
2012113677.tif 000011
【図１０】
2012113677.tif 000012
【図１１】
2012113677.tif 000013
【図１２】
2012113677.tif 000014