(57)【要約】【課題】ユーザ自らがビデオカメラを手に持って撮影したかのような印象を与えるリアリティのある拡張現実や仮想現実の動画を作成するための新たな技術の提供。【解決手段】ユーザ端末１５００で、仮想３次元空間を撮影する仮想カメラＣ１の位置および姿勢を、位置や姿勢の計測データに連動させて制御して、仮想空間画像をファインダー画像として表示する。その一方で、仮想カメラの位置および姿勢を再現可能なカメラワークデータを記録する。記録に際しては、記録再開指示に応じて記録を開始した際の仮想カメラの位置および姿勢を、記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける仮想カメラの位置および姿勢に適合させることで、記録再開指示後のカメラワークデータを、停止前のカメラワークデータの中断タイミング以降に引き続くカメラワークデータとして記録する。【選択図】図１０
2020119335.tif 000002
【特許請求の範囲】
【請求項１】
携帯型のコンピュータを、
仮想３次元空間を設定する仮想空間設定手段、
前記コンピュータの現実空間における位置および姿勢に基づいて、前記仮想３次元空間を撮影する仮想カメラの位置および姿勢を制御する仮想カメラ制御手段、
前記仮想カメラ制御手段によって連続的に制御された前記仮想３次元空間中の前記仮想カメラの位置および姿勢を再現可能なカメラワークデータを記録するカメラワークデータ生成手段、
として機能させ、
前記カメラワークデータ生成手段は、
所与の記録再開指示に応じて記録を開始した際の前記仮想カメラの位置および姿勢を、所与の記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける前記仮想カメラの位置および姿勢に適合させることで、前記記録再開指示後のカメラワークデータを、前記停止前のカメラワークデータの前記中断タイミング以降に引き続くカメラワークデータとして記録する中断再開制御手段、
を有する、
プログラム。
【請求項２】
前記カメラワークデータ生成手段は、現実空間に設定された所与の位置を基準とした前記コンピュータの相対位置および相対姿勢を時系列に記録したデータ、或いは、前記仮想カメラの位置および姿勢を時系列に記録したデータを少なくとも含むデータの記録を制御する、
請求項１に記載のプログラム。
【請求項３】
前記中断再開制御手段は、
前記記録再開指示に応じて記録を開始した際の前記仮想カメラの位置および姿勢を、前記停止前のカメラワークデータの前記中断タイミングにおける前記仮想カメラの位置および姿勢に適合させるための変換関数を生成する変換関数生成手段、
を有し、前記変換関数を用いて前記記録再開指示後のカメラワークデータを記録し、または、前記変換関数を時系列に記憶する、
請求項１又は２に記載のプログラム。
【請求項４】
前記中断再開制御手段は、前記記録再開指示後のカメラワークデータへの前記変換関数の適用効果を時間経過に応じて徐々に低減させる、
請求項３に記載のプログラム。
【請求項５】
前記計測データが、前記仮想３次元空間を撮影する際の不適な変化をしたことを示す所与の不適変化条件を満たしたことを検出し、当該検出に応じて前記記録停止指示を与える不適変化時自動停止手段、
前記不適変化時自動停止手段による記録の停止をユーザに通知する通知制御手段、
として前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記中断タイミングの候補タイミングを自動選択し、当該候補タイミングにおける前記仮想カメラの位置および姿勢で撮影された前記仮想３次元空間の画像をユーザに提示する制御を行う候補タイミング提示手段、
として前記コンピュータを機能させるための請求項１〜５の何れか一項に記載のプログラム。
【請求項７】
前記記録再開指示に応じて記録の開始を行う際に、前記計測データに基づく前記仮想カメラの位置および姿勢と、前記停止前のカメラワークデータに基づく前記中断タイミングでの前記仮想カメラの位置および姿勢との差が、所与のズレ条件を満たす場合に、ユーザに警告を行う警告制御手段、
として前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
携帯型のコンピュータが実行するカメラワークデータ生成方法であって、
仮想３次元空間を設定する仮想空間設定ステップと、
実空間における携帯型コンピュータの位置および姿勢を計測した計測データを取得する計測データ取得ステップと、
取得した計測データに基づいて、前記仮想３次元空間を撮影する仮想カメラの位置および姿勢を連続的に制御する仮想カメラ制御ステップと、
連続的に制御された前記仮想３次元空間中の前記仮想カメラの位置および姿勢を再現可能なカメラワークデータを記録するカメラワークデータ生成ステップと、
を含み、
前記カメラワークデータ生成ステップは、
所与の記録再開指示に応じて記録を開始した際の前記仮想カメラの位置および姿勢を、所与の記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける前記仮想カメラの位置および姿勢に適合させることで、前記記録再開指示後のカメラワークデータを、前記停止前のカメラワークデータの前記中断タイミング以降に引き続くカメラワークデータとして記録するステップを含む、
カメラワークデータ生成方法。
【請求項９】
携帯型の電子機器であって、
仮想３次元空間を設定する仮想空間設定手段と、
前記電子機器の実空間における位置および姿勢に基づいて、前記仮想３次元空間を撮影する仮想カメラの位置および姿勢を制御する仮想カメラ制御手段と、
前記仮想カメラ制御手段によって連続的に制御された前記仮想３次元空間中の前記仮想カメラの位置および姿勢を再現可能なカメラワークデータを記録するカメラワークデータ生成手段と、
を備え、
前記カメラワークデータ生成手段は、
所与の記録再開指示に応じて記録を開始した際の前記仮想カメラの位置および姿勢を、所与の記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける前記仮想カメラの位置および姿勢に適合させることで、前記記録再開指示後のカメラワークデータを、前記停止前のカメラワークデータの前記中断タイミング以降に引き続くカメラワークデータとして記録する手段、
を有する、
電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、仮想３次元空間を撮影する仮想カメラを制御させるためのプログラム等に関する。
【背景技術】
【０００２】
拡張現実（ＡＲ：Augmented Reality）の技術は、さまざまな分野で利用されている。例えば、特許文献１には、現実空間におけるユーザ端末の位置と、仮想３次元空間における仮想カメラの位置とを対応づけ、当該仮想カメラで仮想３次元空間内に配置されているオブジェクト（例えば、ゲームに登場するキャラクタなど）を撮影した画像と、ユーザ端末に搭載されているカメラで撮影した現実空間の画像とを重畳表示させる技術や、ユーザの操作入力に基づいて、重畳表示させた画像を記録することができる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−６９１２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術を用いると、ユーザはあたかも現実空間の中に仮想のキャラクタがそこに存在しているかのような静止画像を作る楽しみが得られる。しかし、ユーザは自らがビデオカメラを手に持って撮影したかのような拡張現実の動画を得ることはできなかった。
【０００５】
高性能なパーソナルコンピュータなどを利用して、３ＤＣＧ（3-Dimensional Computer Graphics）ソフトを用いれば、拡張現実の動画も作成することは可能ではある。しかしその場合、できあがった拡張現実の動画のカメラワークは、実に滑らかで、あたかも映像のプロが高機能なジンバルを用いて撮影したかのような動画になる。そこには、ユーザ自らがビデオカメラを手に持って撮影したときに生まれるリアルな手ぶれ感がない。そのため「ユーザ自らが作った」と言う手作り感や、「ユーザが撮影した」と言うリアリティは薄く、いかにも「ＣＧソフトで作りました」と言うどこか作り物めいた感じを拭えなかった。同じ事をプロフェッショナルな映像作家の立場から見れば、映像表現の演出上、ユーザ自らがビデオカメラを手に持って撮影したかのような印象を与えるリアリティを追求した拡張現実の動画を作らねばならないケースでは、手ぶれ感のないスムーズすぎるカメラワークでは、要求される演出を実現できないことになる。
【０００６】
こうした問題は、拡張現実画像の動画作成に限らず、仮想現実（ＶＲ：Virtual Reality）の動画作成においても同様に言える。
【０００７】
本発明は、ユーザ自らがビデオカメラを手に持って撮影したかのような印象を与えるリアリティのある拡張現実や仮想現実の動画を作成するための新たな技術の提供を課題として考案されたものである。
【課題を解決するための手段】
【０００８】
上記した課題を解決するための第１の発明は、携帯型のコンピュータを、仮想３次元空間を設定する仮想空間設定手段（例えば、図２の制御基板１５５０、図１４の端末処理部２００、カメラワーク記録管理部２１０、仮想空間設定制御部２１２、図１６のステップＳ１２）、
前記コンピュータの現実空間における位置および姿勢に基づいて、前記仮想３次元空間を撮影する仮想カメラの位置および姿勢を制御する仮想カメラ制御手段（例えば、図２の制御基板１５５０、図１４の端末処理部２００、カメラワーク記録管理部２１０、仮想カメラ制御部２１４、図１６のステップＳ１２）、
前記仮想カメラ制御手段によって連続的に制御された前記仮想３次元空間中の前記仮想カメラの位置および姿勢を再現可能なカメラワークデータを記録するカメラワークデータ生成手段（例えば、図２の制御基板１５５０、図５のカメラワークデータ５５０、図１４の端末処理部２００、カメラワーク記録管理部２１０、カメラワークデータ生成部２２０、端末記憶部５００、図１６のステップＳ１８）、として機能させ、
前記カメラワークデータ生成手段は、
所与の記録再開指示に応じて記録を開始した際の前記仮想カメラの位置および姿勢を、所与の記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける前記仮想カメラの位置および姿勢に適合させることで、前記記録再開指示後のカメラワークデータを、前記停止前のカメラワークデータの前記中断タイミング以降に引き続くカメラワークデータとして記録する中断再開制御手段（例えば、図２の制御基板１５５０、図１４の端末処理部２００、カメラワーク記録管理部２１０、中断再開制御部２２２、図１７のステップＳ４２、図１８のステップＳ８０）、を有する、プログラムである。
【０００９】
第１の発明によれば、コンピュータは、当該コンピュータの位置や姿勢に連動する仮想カメラで撮影した仮想空間画像を生成しつつ、仮想カメラの位置や姿勢を再現できるカメラワークデータを生成・記録する。つまり、ユーザが、仮想空間画像をファインダー画像のように見ながらコンピュータをあたかも携帯型ビデオカメラのようにして、位置を変え、姿勢を変える動画撮影のカメラワークを行えば、そのカメラワークのデータがコンピュータに記録される。
【００１０】
当然、このカメラワークデータを元に再現される仮想カメラの移動軌跡には、実際にユーザが手に持って撮影したことで生じたリアルな「ゆらぎ」が含まれている。従って、コンピュータに記録されたカメラワークデータを、３ＤＣＧソフトで用いれば、「ユーザ自らがビデオカメラを手に持って撮影した」リアリティのある拡張現実や仮想現実の画像の動画を作成できる。
【００１１】
加えて、カメラワークデータの記録は、中断と再開が可能である。よって、ユーザがカメラワークの記録の一時停止と再開を任意に行うことが可能になるので、思い通りのカメラワークデータを記録し易くなる。例えば、カメラワークデータの記録中に、ユーザの体勢が苦しくなってしまい、思い描いているカメラワークを継続出来なくなったとしても、記録を一時停止させ、体勢を直してからカメラワークデータの記録を再開することができる。
【００１２】
そして、記録が再開される際には、コンピュータは、記録再開指示に応じて記録を開始した際の仮想カメラの位置および姿勢を、停止指示による停止前のカメラワークデータの所与の中断タイミングにおける仮想カメラの位置および姿勢に適合させる補正を自動的に行い、記録再開指示後のカメラワークデータを、停止前のカメラワークデータの中断タイミング以降に引き続くカメラワークデータとして記録を再開することができる。言い換えると、中断時のコンピュータの位置と、再開時のコンピュータの位置とに差異があったとしても、中断前後で位置飛びが生じることのない、一繋がりのカメラワークデータを記録できる。拡張現実や仮想現実の動画を作成するための新たな技術を提供することができる。
【００１３】
第２の発明は、前記カメラワークデータ生成手段が、現実空間に設定された所与の位置を基準とした前記コンピュータの相対位置および相対姿勢を時系列に記録したデータ、或いは、前記仮想カメラの位置および姿勢を時系列に記録したデータを少なくとも含むデータの記録を制御する、第１の発明プログラムである。
【００１４】
第２の発明によれば、カメラワークデータとして、現実空間に設定された所与の位置を基準としたコンピュータの相対位置および相対姿勢を時系列に記録したデータ、或いは、仮想カメラの位置および姿勢を時系列に記録したデータを少なくとも含むデータを記録できる。
【００１５】
第３の発明は、前記中断再開制御手段が、前記記録再開指示に応じて記録を開始した際の前記仮想カメラの位置および姿勢を、前記停止前のカメラワークデータの前記中断タイミングにおける前記仮想カメラの位置および姿勢に適合させるための変換関数を生成する変換関数生成手段（例えば、図２の制御基板１５５０、図１４の端末処理部２００、カメラワーク記録管理部２１０、変換関数生成部２２４、図１５の変換関数データ５９０、図１７のステップＳ５６〜ステップＳ５８）、を有し、前記変換関数を用いて前記記録再開指示後のカメラワークデータを記録し、または、前記変換関数を時系列に記憶する、第１又は第２の発明のプログラムである。
【００１６】
第３の発明によれば、変換関数を用いて記録再開指示後のカメラワークデータを記録可能となり、記録の停止前のカメラワークデータと、記録の再開後のカメラワークデータとが一連のデータとして記録されるので、データ管理が容易になる。また、変換関数をカメラワークデータと対応付けて時系列に記憶することで、記録後にカメラワークデータを補正したり、カメラワークデータに基づく仮想空間画像の生成を行う段階で適合に関する補正処理を行うことが可能になる。
【００１７】
第４の発明は、前記中断再開制御手段が、前記記録再開指示後のカメラワークデータへの前記変換関数の適用効果を時間経過に応じて徐々に低減させる、第３の発明のプログラムである。
【００１８】
第４の発明によれば、変換関数の効果を徐々に低減させることができる。
【００１９】
第５の発明は、前記計測データが、前記仮想３次元空間を撮影する際の不適な変化をしたことを示す所与の不適変化条件を満たしたことを検出し、当該検出に応じて前記記録停止指示を与える不適変化時自動停止手段（例えば、図２の制御基板１５５０、図１４の端末処理部２００、カメラワーク記録管理部２１０、不適変化自動停止部２３４、図１７のステップＳ３２）、
前記不適変化時自動停止手段による記録の停止をユーザに通知する通知制御手段（例えば、図２の制御基板１５５０、図１４の端末処理部２００、カメラワーク記録管理部２１０、通知制御部２３６、図１７のステップＳ４１）、
として前記コンピュータを機能させるための第１〜第４の何れかの発明のプログラムである。
【００２０】
第５の発明によれば、コンピュータの位置や姿勢が、撮影に適さない変化を起こした場合に、自動的に記録を停止し、その旨をユーザに通知することができる。よって、例えば、コンピュータを携帯しているユーザが躓いて大きなブレが生じた場合や、コンピュータを周囲の何かにぶつけて大きなブレが生じた場合には、ユーザ自らが記録を停止させなくとも、自動的に記録が停止されるので便利である。
【００２１】
第６の発明は、前記中断タイミングの候補タイミングを自動選択し、当該候補タイミングにおける前記仮想カメラの位置および姿勢で撮影された前記仮想３次元空間の画像をユーザに提示する制御を行う候補タイミング提示手段（例えば、図２の制御基板１５５０、図１４の端末処理部２００、カメラワーク記録管理部２１０、候補タイミング提示部２４２、図１７のステップＳ４６〜ステップＳ５０）、として前記コンピュータを機能させるための第１〜第５の何れかの発明のプログラムである。
【００２２】
第６の発明によれば、ユーザに中断タイミングとして適当な候補を提示できる。よって、ユーザは自ら中断タイミングを探す手間が省ける。
【００２３】
第７の発明は、前記記録再開指示に応じて記録の開始を行う際に、前記計測データに基づく前記仮想カメラの位置および姿勢と、前記停止前のカメラワークデータに基づく前記中断タイミングでの前記仮想カメラの位置および姿勢との差が、所与のズレ条件を満たす場合に、ユーザに警告を行う警告制御手段、として前記コンピュータを機能させるための第１〜第６の何れかの発明のプログラムである。
【００２４】
第７の発明によれば、記録の中断と再開とを挟んで、カメラワークのズレを判定して、ユーザに警告を発することができる。
【００２５】
第８の発明は、携帯型のコンピュータが実行するカメラワークデータ生成方法であって、
仮想３次元空間を設定する仮想空間設定ステップ（例えば、図１６のステップＳ１２）と、
実空間における携帯型コンピュータの位置および姿勢を計測した計測データを取得する計測データ取得ステップ（例えば、図１６のステップＳ１０）と、
取得した計測データに基づいて、前記仮想３次元空間を撮影する仮想カメラの位置および姿勢を連続的に制御する仮想カメラ制御ステップ（例えば、図１６のステップＳ１２）と、
連続的に制御された前記仮想３次元空間中の前記仮想カメラの位置および姿勢を再現可能なカメラワークデータを記録するカメラワークデータ生成ステップ（例えば、図１６のステップＳ１８〜ステップＳ２２）と、
を含み、
前記カメラワークデータ生成ステップは、
所与の記録再開指示に応じて記録を開始した際の前記仮想カメラの位置および姿勢を、所与の記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける前記仮想カメラの位置および姿勢に適合させることで、前記記録再開指示後のカメラワークデータを、前記停止前のカメラワークデータの前記中断タイミング以降に引き続くカメラワークデータとして記録するステップを含む、
カメラワークデータ生成方法である。
【００２６】
第８の発明によれば、第１の発明と同様の効果を得ることができる。
【００２７】
第９の発明は、携帯型の電子機器であって、仮想３次元空間を設定する仮想空間設定手段と、前記電子機器の実空間における位置および姿勢に基づいて、前記仮想３次元空間を撮影する仮想カメラの位置および姿勢を制御する仮想カメラ制御手段と、前記仮想カメラ制御手段によって連続的に制御された前記仮想３次元空間中の前記仮想カメラの位置および姿勢を再現可能なカメラワークデータを記録するカメラワークデータ生成手段と、を備え、前記カメラワークデータ生成手段は、所与の記録再開指示に応じて記録を開始した際の前記仮想カメラの位置および姿勢を、所与の記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける前記仮想カメラの位置および姿勢に適合させることで、前記記録再開指示後のカメラワークデータを、前記停止前のカメラワークデータの前記中断タイミング以降に引き続くカメラワークデータとして記録する手段、を有する、電子機器である。
【００２８】
第９の発明によれば、第１の発明と同様の効果が得られる電子機器を実現できる。
【図面の簡単な説明】
【００２９】
【図１】動画生成システムの構成例を示す図。
【図２】ユーザ端末の構成例を示す正面図。
【図３】ユーザ端末における拡張現実を用いた被写体の表示制御に関して説明するための図。
【図４】本実施形態で取得できるカメラワークの移動軌跡について説明するための図。
【図５】カメラワークデータのデータ構成例を示す図。
【図６】張現実動画の生成に必要とされる情報・データのサーバシステムへアップロードについて説明するための図。
【図７】サーバシステムによる拡張現実画像の動画データの生成について説明するための図。
【図８】中断を余儀なくされるケースの例を示す図。
【図９】カメラワークデータの記録の中断・一時停止と再開についての基本的な考え方を説明するための図。
【図１０】引き続くカメラワークデータの記録について説明するための図。
【図１１】カメラワークデータの記録の手動操作（記録停止操作）による中断について説明するための図。
【図１２】カメラワークデータの記録の自動的な一時停止について説明するための図。
【図１３】一時停止で中断されたカメラワークデータの記録の再開について説明するための図。
【図１４】ユーザ端末の機能構成例を示す機能ブロック図。
【図１５】端末記憶部が記憶するプログラムやデータの例を示す図。
【図１６】ユーザ端末における処理の流れを説明するためのフローチャート。
【図１７】記録中断再開処理の流れを説明するためのフローチャート。
【図１８】図１７よりつづくフローチャート。
【発明を実施するための形態】
【００３０】
以下、本発明の実施形態の一例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
【００３１】
〔第１実施形態〕
図１は、動画生成システムの構成例を示す図である。動画生成システム１０００は、拡張現実の動画を作成するサービスを提供するコンピュータシステムであって、ネットワーク９を介して相互にデータ通信が可能に接続されたサーバシステム１１００と、ユーザ端末１５００とを含む。
【００３２】
ネットワーク９は、データ通信が可能な通信路を意味する。すなわち、ネットワーク９とは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮ（Local Area Network）の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線／無線を問わない。
【００３３】
サーバシステム１１００は、例えば、キーボード１１０６と、タッチパネル１１０８と、ストレージ１１４０とを有し、本体装置には制御基板１１５０を搭載する。
【００３４】
制御基板１１５０には、ＣＰＵ（Central Processing Unit）１１５１やＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＶＲＡＭやＲＡＭ，ＲＯＭ等の各種ＩＣメモリ１１５２、通信装置１１５３が搭載されている。なお、制御基板１１５０の一部又は全部は、ＡＳＩＣ（Application Specific Integrated Circuit）や、ＦＰＧＡ（Field-Programmable Gate Array）、ＳｏＣ（System on a Chip）により実現するとしてもよい。
【００３５】
そして、サーバシステム１１００は、制御基板１１５０が所定のプログラムおよびデータに基づいて演算処理することにより、ユーザ端末１５００で作成・記録されたカメラワークデータ（詳細後述）に基づいて拡張現実の画像（拡張現実画像）を生成し、拡張現実画像の動画データをユーザに提供する機能を実現する。
【００３６】
なお、図１では、ユーザ端末１５００を１台のみ描いているが、実際のシステム運用においては、同時に複数のユーザ端末１５００がサーバシステム１１００にアクセス可能な構成であってもよい。
【００３７】
また、サーバシステム１１００を、１台のサーバ装置であるかのように描いているが、複数の装置で実現する構成であってもよい。例えば、サーバシステム１１００は各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であってもよい。また、サーバシステム１１００を構成するハードウェアの設置場所は問わない。離れた場所に設置された独立した複数のサーバを、ネットワーク９を介してデータ通信させることで、全体としてサーバシステム１１００として機能させる構成であってもよい。
【００３８】
ユーザ端末１５００は、ユーザ２が、拡張現実画像の生成のためのデータ取得に使用するコンピュータシステムであって、ネットワーク９を介してサーバシステム１１００にアクセスできる電子装置（電子機器）である。本実施形態のユーザ端末１５００は、いわゆるスマートフォンと呼ばれる装置であるが、手持ち可能な携帯型のコンピュータシステムであれば、携帯型ゲーム装置や、タブレット型コンピュータ、などでもよい。
【００３９】
図２は、本実施形態におけるユーザ端末１５００の構成例を示す正面図である。
ユーザ端末１５００は、方向入力キー１５０２と、ボタンスイッチ１５０４と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル１５０６と、スピーカ１５１０と、内蔵バッテリー１５０９と、マイク１５１２と、カメラ１５２０と、制御基板１５５０と、コンピュータ読み出し可能な記憶媒体であるメモリカード１５４０からデータを読み書きできるメモリカード読取装置１５４２と、を備える。その他、図示されていない電源ボタン、音量調節ボタン等が設けられている。また、システム利用対価の支払いが可能なＩＣカード型のクレジットカードやプリペイドカードに対して非接触にデータの読み書きが行えるＩＣカード読取装置などを設けるとしてもよい。
【００４０】
カメラ１５２０は、ズーム倍率を変更可能なイメージセンサーユニットである。すなわち、カメラ１５２０は、ＣＣＤ（Charge Coupled Device）などのイメージセンサ、ズーム機構、オートフォーカス機構、イメージセンサで撮影された信号から映像データを生成するＬＳＩ、などの各種デジタル動画撮影を可能とする構成要素を含む。
【００４１】
制御基板１５５０は、ＣＰＵ１５５１やＧＰＵ，ＤＳＰなどの各種マイクロプロセッサ、ＶＲＡＭやＲＡＭ，ＲＯＭ等の各種ＩＣメモリ１５５２、ネットワーク９に接続する携帯電話基地局や無線ＬＡＮ基地局などと無線通信するための無線通信モジュール１５５３、測位モジュール１５５５、３軸加速度センサ１５５６、３軸ジャイロ１５５７、インターフェース回路１５５８、などを搭載する。
【００４２】
測位モジュール１５５５は、ユーザ端末１５００の位置を取得する。本実施形態では既存の測位システムを利用して現実空間における位置座標を取得することができる。すなわち、測位モジュール１５５５は、測位システムから提供される信号を受信して所定周期で（例えば、１秒毎に）測位情報を出力することで、ユーザ端末１５００における測位機能を提供する。本実施形態では、測位システムとしてＧＰＳ（Global Positioning System）を利用する。よって測位モジュール１５５５は、既存の「ＧＰＳモジュール」や「ＧＰＳ受信器」等を利用することができる。「測位情報」には、測位日時（例えば、協定世界時であるＵＴＣ：Coordinated Universal Time）、位置座標（緯度・経度・高度）、方位などが含まれる。利用する測位システムはＧＰＳに限らず適宜選択可能である。例えば、測位モジュール１５５５は、携帯電話の無線基地局やＷｉ−Ｆｉネットワークの無線基地局などと無線接続する通信機と、方位センサとの構成で置き換えることができる。すなわち、接続中の無線基地局について予め測位されている位置情報を取得して、これをユーザ端末１５００の現実空間における位置座標とするとしてもよい。
【００４３】
インターフェース回路１５５８には、タッチパネル１５０６のドライバ回路、方向入力キー１５０２およびボタンスイッチ１５０４からの信号を受信する回路、スピーカ１５１０へ音声信号を出力する出力アンプ回路、マイク１５１２で集音した音声の信号を生成する入力信号生成回路、カメラ１５２０で撮影された画像の画像データを入力する回路、メモリカード読取装置１５４２への信号入出力回路、などが含まれている。
【００４４】
制御基板１５５０に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板１５５０の一部又は全部をＡＳＩＣやＦＰＧＡ、ＳｏＣにて構成してもよい。そして、制御基板１５５０は、ユーザ端末としての機能を実現させるためのプログラムや各種データをＩＣメモリ１５５２に記憶する。
【００４５】
なお、本実施形態では、ユーザ端末１５００はプログラムや各種設定データをサーバシステム１１００からダウンロードする構成としているが、別途入手したメモリカード１５４０などの記憶媒体から読み出す構成としてもよい。
【００４６】
図３は、ユーザ端末１５００における拡張現実を用いた被写体の表示制御に関して説明するための図である。
ユーザ端末１５００は、拡張現実を用いて、タッチパネル１５０６に被写体を表示させることができる。すなわち、現実空間にはＡＲマーカ５が設置されており、ユーザ２は、このＡＲマーカ５を撮影するようにユーザ端末１５００の位置・姿勢と、カメラ１５２０のズームを調整する。カメラ１５２０で撮影された画像内のＡＲマーカ５は画像認識処理されて、ユーザ端末１５００とＡＲマーカ５との相対位置や相対姿勢の算出処理に用いられる。ＡＲマーカ５との相対位置や相対姿勢は、ユーザ端末１５００の位置や姿勢の計測データとなる。
【００４７】
ユーザ端末１５００は、算出された相対位置や相対姿勢と、３軸加速度センサ１５５６や３軸ジャイロ１５５７を用いて得られるユーザ端末１５００の加速度および姿勢の計測データとから、カメラ１５２０の位置変化と姿勢変化とを常時取得することができる。また、カメラ１５２０のズーム操作により撮影画角（ズーム倍率とも言われる）の情報も周期的に取得することができる。以降では、相対位置や、相対姿勢、位置変化、姿勢変化、撮影画角と言ったいわゆる撮影条件を記述するパラメータ値、およびこれらを求めるための元になるＡＲマーカ５の大きさや向き、姿勢データや加速度データ、ズーム制御値、センサの計測値などを総括して「実撮影条件」と呼ぶこととする。
【００４８】
実撮影条件を取得する一方、ユーザ端末１５００は、仮想３次元空間に、被写体オブジェクト４を配置してその動作を制御することができる。本実施形態では、被写体オブジェクト４は、人の形態を模した仮想キャラクタであり、カメラ１５２０で撮影された撮影画像に基づくＡＲ（Augmented Reality）キャラクタである。ユーザ端末１５００は、予め用意された所与の楽曲データと、当該楽曲データの楽曲と同期するモーションを実現するための所定のモーションデータと、を用いて、被写体オブジェクト４が楽曲を歌いながら踊るように動作制御する。
【００４９】
仮想３次元空間には、カメラ１５２０の実撮影条件のパラメータ値に連動し、その撮影位置・撮影姿勢・撮影画角が制御される仮想カメラＣ１が配置される。ユーザ端末１５００は、仮想カメラＣ１で撮影した仮想３次元空間の画像すなわち仮想空間画像９０を生成して、これを現実空間の画像（現実空間画像９２）に重畳表示させる。タッチパネル１５０６に、拡張現実の画像（拡張現実画像９４）を、ライブ画像３０（カメラ１５２０のファインダー画像に相当）として表示させる。
【００５０】
ユーザ２は、ユーザ端末１５００へ所定の記録開始操作を入力してから、タッチパネル１５０６に表示される画像をファインダー画像に見立てて、被写体オブジェクト４が楽曲を歌いながら踊る様子を見ながら、携帯型ビデオカメラで撮影する要領で撮影操作する。撮影操作には、ユーザ端末１５００を現実空間で移動させ、時に姿勢を変え、時にズーム倍率を変える操作が含まれる。つまり、カメラワークをつける操作である。
【００５１】
図４に示すように、ユーザ端末１５００を使ってカメラワークをつけると、それにより生じる移動軌跡Ｌ１は、人が携帯型ビデオカメラを手に持って撮影したときに生じる手ブレ等に相当する「ゆらぎ」を含む。
【００５２】
そして、ユーザ端末１５００は、ユーザ２による所定の記録開始操作の入力を検出すると、例えば、図５に示すようなカメラワークデータ５５０の記録を開始する。
カメラワークデータ５５０は、固有の撮影ＩＤ５５１と、撮影開始日時５５３と、撮影終了日時５５５と、実撮影条件データ５６０と、仮想撮影条件データ５７０と、カメラ１５２０で撮影されていた現実空間画像９２を録画した現実画像録画データ５８０と、仮想空間画像９０を録画した仮想空間画像録画データ５８２と、を含む。勿論、これら以外のデータも適宜含めることができるし、これらのうちの幾つかを適宜省略することもできる。
【００５３】
実撮影条件データ５６０は、例えば、
１）ＡＲマーカ５に基づいて算出された相対姿勢、および／または３軸ジャイロ１５５７による計測データ、を時系列に格納した実カメラ姿勢データ５６１と、
２）ＡＲマーカ５に基づいて算出された撮影位置変化から求められる加速度、および／または３軸加速度センサ１５５６による計測データ、を時系列に格納した実カメラ加速度データ５６３と、
３）カメラ１５２０のズーム倍率（撮影画角）或いはズーム倍率の制御パラメータ値を時系列に格納した実ズーム制御データ５６５と、
４）ＡＲマーカ５に基づいて算出されたカメラ１５２０の相対位置、および／または３軸加速度センサ１５５６による計測データの積算から求められる撮影位置、を時系列にトレースした移動軌跡Ｌ１を記述する実移動軌跡データ５６７と、
を含む。
【００５４】
仮想撮影条件データ５７０は、例えば、
１）実カメラ姿勢データ５６１から求められる仮想カメラＣ１の撮影姿勢を時系列に格納した仮想カメラ姿勢データ５７１と、
２）実カメラ加速度データ５６３から求められる仮想カメラＣ１に生じている加速度を時系列に格納した仮想カメラ加速度データ５７３と、
３）実ズーム制御データ５６５から求められる仮想カメラＣ１の撮影画角（またはズーム倍率）を時系列に格納した仮想カメラ撮影画角データ５７５と、
４）実移動軌跡データ５６７に基づいて移動軌跡Ｌ１を仮想３次空間内で再現した仮想カメラＣ１の移動軌跡Ｌｃを記述する仮想カメラ移動軌跡データ５７７と、
を含む。
【００５５】
なお、実撮影条件データ５６０のタイムコードすなわち時間軸と、仮想撮影条件データ５７０のタイムコードすなわち時間軸とは、楽曲の再生や被写体オブジェクト４の動作制御のタイムコードと同期させるように対応付けて記録されるものとする。また、実撮影条件データ５６０と仮想撮影条件データ５７０は、何れか一方を省略し、必要に応じて残された側から省略された側の撮影条件データを逆算によって求める構成としてもよい。
【００５６】
ユーザ２が所定の記録停止操作を入力すると、ユーザ端末１５００はカメラワークデータ５５０の記録を停止し、図６に示すように、拡張現実動画の生成に必要とされる情報やデータをサーバシステム１１００へアップロードする。具体的には、例えば、被写体オブジェクト４のモデルデータ５１０、モーションデータ５１２、楽曲データ５１４、カメラワークデータ５５０、をアップロードする。勿論、これら以外のデータも適宜アップロードするとしてもよい。例えば、仮想３次元空間内に、被写体オブジェクト４が歌や踊りを披露するための舞台装置などの背景オブジェクトを用意した場合には、そのモデルデータやモーションデータなど、表示と動作を実現するためのデータも、アップロードする。勿論、これら以外のデータも適宜アップロードするとしてもよい。
【００５７】
なお、モデルデータ５１０や、モーションデータ５１２、楽曲データ５１４、について予めサーバシステム１１００に記録されているデータを事前にユーザ端末１５００にダウンロードしてカメラワークデータ５５０の記録時に使用する場合は、これらのデータのアップロードは省略できる。また、モデルデータ５１０や、モーションデータ５１２、楽曲データ５１４は、ユーザ２の自作・他作は問わない。
【００５８】
図７は、サーバシステム１１００による拡張現実の動画の生成について説明するための図である。サーバシステム１１００は、被写体オブジェクト４のモデルデータ５１０、モーションデータ５１２、楽曲データ５１４、カメラワークデータ５５０、がアップロードされると、それらのデータに基づいて、仮想３次元空間に被写体オブジェクト４や背景オブジェクトを配置し、楽曲の再生と同期させてその動作を制御する。更に、楽曲の再生と同期させて、アップロードされたカメラワークデータ５５０に基づいて仮想カメラＣ２を制御する。
【００５９】
そして、サーバシステム１１００は、仮想カメラＣ２で撮影された仮想３次元空間内の画像（仮想現実画像）を生成して、アップロードされたカメラワークデータ５５０に含まれる現実画像録画データ５８０に重畳表示させて、拡張現実の動画のデータ（拡張現実動画データ５８４）を作成する。
【００６０】
こうして作成された拡張現実の動画では、人が携帯型ビデオカメラを操作したときに生じる「ゆらぎ」による画面の揺れなどが再現されており、「ユーザ自らがビデオカメラを手に持って撮影した」リアリティのある拡張現実の動画となっている。
【００６１】
さて、カメラワークのつけかたによっては、中断を余儀なくされるケースがあるが、本実施形態ではそうしたケースにも対応する。
例えば、図８は、中断を余儀なくされるケースの例を示す図である。ユーザ２が撮影操作を行う際、ユーザ２の背丈や被写体オブジェクト４との大きさの関係によっては、連続的に所望するカメラアングルを確保できなくなる。図８の例では、ユーザ２は、被写体オブジェクト４を正面から撮影し始め、被写体オブジェクト４の左方に回り込みつつ、仰ぎ見るような煽り撮影をしようとしている。しかし、現実世界では地面（床面）があるために、ユーザ端末１５００を下げる位置には限界が生じる。当然、ユーザ２も窮屈な姿勢をよぎなくされ、身体的な限界により、望ましいアングルを安定的に得るのが難しくなる。こうしたケースでは、カメラワークデータ５５０の記録をそこで終了せざるを得なくなる。図中の移動軌跡Ｌ１はそうした限界内で実現可能なカメラワークの軌跡である。ユーザ２は、移動軌跡Ｌ２で撮影したいと思っても、破線部分が丁度床面の下に潜ることになり実現できなくなっている。
【００６２】
そこで、本実施形態ではカメラワークデータ５５０の記録の中断（一時停止）と再開とを可能にしている。
図９は、カメラワークデータ５５０の記録の中断（一時停止）と再開についての基本的な考え方を説明するための図である。
【００６３】
ユーザ端末１５００は、カメラワークデータ５５０の記録制御に係り、所与の記録停止指示に応じた記録の停止と、所与の記録再開指示に応じた記録の開始とを行うことでカメラワークデータ５５０の中断および再開を制御する。ユーザ２の立場から述べると、カメラワークの中断を余儀なくされると、ユーザ２はそのカメラワークデータ５５０の記録を中断させ、ユーザ端末１５００の位置や姿勢を、再開時に想定しているカメラワークの始点として適当な位置と姿勢に調整し、カメラワークデータ５５０の記録を再開させることができる。
【００６４】
図１０は、停止前のカメラワークデータ５５０に設定された中断タイミング以降に引き続くカメラワークデータの記録について説明するための図である。
ユーザ端末１５００は、記録停止指示に応じた記録の停止と、記録再開指示に応じた記録の開始とを行うことでカメラワークデータの中断および再開を制御する。そして、中断および再開を行うにあたり、ユーザ端末１５００は、中断タイミングにおける仮想カメラＣ１の仮想撮影条件（図５の仮想撮影条件データ５７０を参照）に対して、記録再開指示に応じて記録を開始した（再開した）際の仮想カメラＣ１の仮想撮影条件を適合させるように補正処理する。そして、停止前のカメラワークデータの中断タイミング以降に引き続くカメラワークデータを記録する。
【００６５】
より具体的には、ユーザ端末１５００は、再開後のカメラワークデータ５５０を記録するにあたり、中断前のカメラワークの移動軌跡Ｌｃ１の中断タイミングにおける仮想撮影条件と、記録再開指示に応じて記録を開始した後のカメラワークの移動軌跡Ｌｃ２の開始タイミングにおける仮想撮影条件とを、一致させるように補正処理しながら、引き続くカメラワークデータを記録する。そして、中断前のカメラワークデータ５５０の最後の部分について部分的な変更、削除或いは追加を施した停止前のカメラワークデータ５５０と、記録再開指示に応じて記録を開始した後のカメラワークデータ５５０（引き続くカメラワークデータ）とを接続して一連のカメラワークデータ５５０として記録する制御を行う。
【００６６】
補正処理の方法は、適宜設定可能である。
例えば、位置に着目すれば、本実施形態では、記録再開指示に応じて記録を開始した開始タイミングにおけるカメラワークの始点位置Ｐｓを、中断前のカメラワークの移動軌跡Ｌ１の中断タイミングにおける中断タイミング位置Ｐｅへ変更する座標関数（例えば、変換行列）を生成し、この変換行列を適用して変換する。別の補正処理の方法としては中断タイミング位置Ｐｅから移動軌跡Ｌ２の始点位置Ｐｓへの位置ズレのベクトルを求め、このベクトルの向きを逆向きとしたベクトルを位置座標に適用して補正するとしてもよい。
【００６７】
こうした補正処理は、撮影条件に含まれる姿勢やズームについても同様に行われる。すなわち、中断タイミングにおける姿勢を、記録再開指示に応じて記録を開始した開始タイミングにおける姿勢と一致させるように補正処理しながら、再開後のカメラワークデータ５５０の記録を制御する。また、中断タイミングにおけるズーム倍率（または仮想カメラの撮影画角）を、記録再開指示に応じて記録を開始した開始タイミングにおけるズーム倍率と一致させるように補正処理しながら、再開後のカメラワークデータ５５０の記録を制御する。
【００６８】
こうした補正を行うことで、ユーザ２が窮屈な姿勢を余儀なくされ、身体的な限界により、望ましいアングルを安定的に得るのが難しくなるケース（図８参照）で、撮影の継目が発生することを意識することなく、撮影の中断と再開が可能になる。そして、中断時のユーザ端末１５００の位置と、再開時のユーザ端末１５００の位置とに差異があったとしても、中断前後で位置飛びが生じることのない、一繋がりのカメラワークデータ５５０を記録できる。よって、ユーザ２は、再開後、無理な姿勢をとることなく撮影操作の続きを行うことができる。
【００６９】
次に、本実施形態ではカメラワークデータ５５０の記録の中断と再開に係る手続きについて詳しく説明する。
図１１は、カメラワークデータ５５０の記録の手動操作（記録停止操作）による中断について説明するための図である。ユーザ端末１５００は、カメラワークデータ５５０の記録中、タッチパネル１５０６にて撮影画面Ｗ１１を表示する。
【００７０】
撮影画面Ｗ１１には、
１）撮影中の画像を表示するモニタ表示１０と、
２）タイムコード１１と、
３）撮影や記録の現在の状態を示す状態通知表示１２と、
４）新規の記録開始操作を入力するための記録開始操作アイコン１３と、
５）カメラワークデータ５５０の記録を一時的に中断・停止させる記録停止操作を入力するための記録停止操作アイコン１４と、
６）一時停止されていたカメラワークデータ５５０の記録を再び開始する記録再開操作を入力するための記録再開操作アイコン１５と、
７）記録の終了に相当する記録終了操作を入力するための記録終了操作アイコン１６と、
を含む。記録終了操作は、記録を停止させる第２の記録停止操作ということができる。
【００７１】
つまり、ユーザ２は、記録停止操作アイコン１４と記録再開操作アイコン１５とを適宜にタッチ操作で選択することで、任意のタイミングでカメラワークデータ５５０の記録を中断したり再開したりすることができる。
【００７２】
図１２は、カメラワークデータ５５０の記録の自動的な一時停止について説明するための図である。カメラワークデータ５５０の記録中、ユーザ端末１５００は３軸加速度センサ１５５６で計測される加速度や、３軸ジャイロ１５５７で計測される姿勢を常時監視している。そして、ユーザ端末１５００は、加速度が所定の位置不適変化条件を満たす場合と、姿勢が所定の姿勢不適変化条件を満たす場合との、何れかが満たされた場合に、自動的に記録を一時停止し、自動記録停止通知１９をタッチパネル１５０６に表示することでユーザ２に通知する。
【００７３】
ここで言う「位置不適変化条件」とは、映像表現の演出としても度を超えるような過度な画面ブレが生じたようなカメラ１５２０の位置変化を、３軸加速度センサ１５５６で計測される加速度変化の条件として記述したものである。
【００７４】
同じように、ここで言う「姿勢不適変化条件」とは、映像表現の演出としても度を超えるような過度な画面ブレが生じたようなカメラ１５２０の姿勢変化を３軸ジャイロ１５５７で計測される姿勢変化の条件として記述したものである。
【００７５】
言い換えると、これらの条件は、カメラを急激に動かし過ぎた状態、或いは、カメラが急激に動いてしまった状態、を定義するものである。ユーザ端末１５００が、これらの条件に基づいて自動的な一時停止制御を行う。この結果、ユーザ２が記録停止操作アイコン１４を操作することなく、ユーザ２が意図的にユーザ端末１５００の位置を急激に変化させるような動作をしたり、ユーザ端末１５００を急に倒すような動作をするだけでカメラワークデータ５５０の記録を一時停止できるため、操作性が向上する。また、ユーザ２が誤ってユーザ端末１５００を落下させたり、撮影に夢中でユーザ２が躓くといったハプニングが起こった場合に、自動的に一時停止されるので、ハプニング後にも無駄な記録が続くことを防止できる。
【００７６】
図１３は、一時停止で中断されたカメラワークデータ５５０の記録の再開に係り、記録を再開する再開タイミングの設定について説明するための図である。一時停止により記録が中断された後の撮影画面Ｗ１３には、再開タイミングの操作入力を受け付けるためのシークバー２０が追加表示される。これにより、ユーザ２は、シークバー２０のスライダー２１の位置をずらして再開タイミングを指定する操作入力ができる。ここで、中断前のプロセスである一時停止と、中断後のプロセスである再開とに分けて考えると、再開のプロセスにとっては、再開タイミングは中断タイミングと言えるものである。そこで、一時停止がなされた後、再開するプロセスにおける再開タイミングのことを、適宜、中断タイミングとも述べることとする。
【００７７】
そして、シークバー２０の表示と指定操作入力の受付に係り、ユーザ端末１５００は、再開タイミング（中断タイミング）の候補タイミングを自動選択し、当該候補タイミングにおける仮想撮影条件（仮想カメラＣ１の位置や姿勢など）で撮影された仮想３次元空間の画像をユーザ２に提示する制御を行う。
【００７８】
具体的には、ユーザ端末１５００は、複数の候補タイミングを自動選択し、それぞれの候補タイミングに、再開位置の指定操作入力の目安となるサムネイル２２（２２ａ，２２ｂ，…）を表示する。サムネイル２２は、それが指し示すシークバー２０の位置におけるタイミングの仮想撮影条件（仮想カメラＣ１の位置や姿勢など）で撮影された仮想３次元空間の画像の縮小画像である。サムネイル２２は、複数用意される。その１つは、再開タイミング（中断タイミング）の初期設定として、ユーザ端末１５００が停止タイミングから所定時間遡及したタイミングを自動判別したサムネイル２２ａである。それ以外の１つまたは複数のサムネイル２２ｂ、２２ｃは、記録停止指示による停止前のカメラワークデータ５５０の終端タイミングから所定時間間隔（Ｎフレーム前、Ｍフレーム前）で決定されたタイミングにおける拡張現実画像の縮小画像である。
【００７９】
ここで言う「遡及」の所定時間は、位置変化不適条件や姿勢変化不適条件が満たされるような事象が起きた場合に、撮影された画像が過度にブレて使えない画像になっていると想定される時間とする。本実施形態では、不適変化条件を満たしたこと（位置変化不適条件または姿勢変化不適条件の何れかを満たしたこと）が検出される直前のタイミングとする。言い換えると、ユーザ端末１５００が、ユーザ端末１５００の位置の変化または姿勢の変化が所与の安定条件を満たさなくなったタイミングを自動判別して決定する。その他、「遡及」の所定時間を、直近過去に記録されたカメラワークデータ５５０の終端タイミングから所定時間前のタイミング（例えば、１秒間）としてもよい。この自動的な遡及によって、シークバー２０の初期位置が、撮影された画像が過度にブレて使えない画像になっている直前の想定位置となるため、ユーザにとっては記録を再開するのに適当なタイミングを探す手間が省ける。
【００８０】
なお、本実施形態では、ユーザ端末１５００は、カメラワークデータ５５０の記録とともに、モニタ表示１０で表示されている（図１１参照）拡張現実画像を録画している。サムネイル２２は、録画された拡張現実画像から、サムネイル２２（２２ａ，２２ｂ，…）それぞれが対応するタイミングを抽出・縮小して作成する。勿論、カメラワークデータ５５０から、サムネイル２２（２２ａ，２２ｂ，…）それぞれが対応するタイミングの仮想撮影条件を読み出して、再度、仮想空間画像を生成し、これを縮小して用いるとしてもよい。
【００８１】
図１４は、本実施形態におけるユーザ端末１５００の機能構成例を示す機能ブロック図である。ユーザ端末１５００は、操作入力部１００と、測位部１０２と、加速度計測部１０６と、姿勢計測部１０８と、音声入力部１１０と、撮影部１２０と、端末処理部２００と、音出力部３９０と、画像表示部３９２と、通信部３９４と、端末記憶部５００とを備える。
【００８２】
操作入力部１００は、プレーヤによってなされた各種の操作入力に応じた操作入力信号を端末処理部２００に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、ＣＣＤモジュール、などによって実現できる。図２の方向入力キー１５０２や、ボタンスイッチ１５０４、タッチパネル１５０６、がこれに該当する。
【００８３】
測位部１０２は、ユーザ端末１５００の位置情報を取得し端末処理部２００へ出力する。図２の測位モジュール１５５５がこれに該当する。
【００８４】
加速度計測部１０６は、ユーザ端末１５００に生じた加速度を計測し、端末処理部２００へ出力する。図２の３軸加速度センサ１５５６がこれに該当する。
【００８５】
姿勢計測部１０８は、ユーザ端末１５００の姿勢変化を計測し、端末処理部２００へ出力する。図２の３軸ジャイロ１５５７がこれに該当する。
【００８６】
音声入力部１１０は、ユーザが発する音声（ユーザ音声）や環境音を集音し、音声信号を端末処理部２００へ出力する。図２のマイク１２１０がこれに該当する。
【００８７】
撮影部１２０は、外部の様子を撮影し、その画像データを生成して端末処理部２００へ出力する。図２のカメラ１５２０がこれに該当する。
【００８８】
端末処理部２００は、例えば、ＣＰＵやＧＰＵ等のマイクロプロセッサや、ＩＣメモリなどの電子部品によって実現され、操作入力部１００や端末記憶部５００を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部１００からの操作入力信号、サーバシステム１１００から受信した各種データに基づいて各種の演算処理を実行して、ユーザ端末１５００の動作を制御する。図２の制御基板１５５０がこれに該当する。
【００８９】
そして、本実施形態における端末処理部２００は、カメラ制御部２０２と、カメラワーク記録管理部２１０と、計時部２８０と、音生成部２９０と、画像生成部２９２と、通信制御部２９４と、を有する。
【００９０】
カメラ制御部２０２は、操作入力部１００へのユーザによるズーム操作の入力を検出して、当該ズーム操作に応じて撮影部１２０のズーム倍率を変更する制御を行う。
【００９１】
カメラワーク記録管理部２１０は、カメラワークデータ５５０の記録に係る各種処理を実行する。具体的には、カメラワーク記録管理部２１０は、仮想空間設定制御部２１２と、計測データ取得制御部２１３と、仮想カメラ制御部２１４と、操作指示制御部２１６と、カメラワークデータ生成部２２０と、仮想空間画像生成制御部２３０と、仮想空間画像記録制御部２３２と、不適変化自動停止部２３４と、通知制御部２３６と、中断タイミング設定部２４０と、候補タイミング提示部２４２と、警告制御部２４４と、を有する。勿論、これら以外の機能部も適宜含めることができる。
【００９２】
仮想空間設定制御部２１２は、仮想３次元空間を設定する。本実施形態では、仮想３次元空間を用意し、被写体オブジェクト４や背景オブジェクトを配置し、楽曲の再生と同期させてそれらの動作を制御することが該当する。
【００９３】
計測データ取得制御部２１３は、ユーザ端末１５００の位置および姿勢を計測した計測データを取得する制御を行う。本実施形態では、ユーザ端末１５００に具備されたカメラ１５２０を用いて計測データを取得する。具体的には、拡張現実技術による制御を行う。すなわち、カメラ１５２０が撮影している画像からＡＲマーカ５を認識し、相対位置・相対姿勢を算出して計測データとする（図３参照）。また、測位部１０２、加速度計測部１０６、姿勢計測部１０８の各計測データに基づいてユーザ端末１５００の位置や姿勢、位置変化や姿勢変化、移動軌跡Ｌ１を求める制御もこれに該当する。データに着目すれば、実撮影条件データ５６０の生成制御も該当する。
【００９４】
なお、計測データの取得は、ユーザ端末１５００に具備されたカメラ１５２０やセンサ類を用いる計測にて実現するに限らない。例えば、通信可能な外部装置から、ユーザ端末１５００の位置や姿勢の計測データを取得する構成も可能である。具体的には、ユーザ端末１５００と別体の位置姿勢計測装置を用意して、当該装置に、位置や姿勢の基準となるもの（ＡＲマーカ５など）に対するユーザ端末１５００の相対位置と相対姿勢とを計測させ、計測データを逐一データ通信でユーザ端末１５００に送信させるとしてもよい。その場合、当該位置姿勢計測装置による計測手法は、適宜設定可能である。例えば、赤外線ビームを照射して各部位の相対距離を計測する手法や、画像を撮影して画像解析して求める手法であってもよい。
【００９５】
仮想カメラ制御部２１４は、仮想３次元空間を撮影する仮想カメラの位置および姿勢を、ユーザ端末１５００の位置や姿勢の計測データに連動させて制御する（図３参照）。その際、仮想カメラ制御部２１４は、仮想カメラの撮影画角を撮影部１２０のズーム倍率に連動させて制御する。
【００９６】
操作指示制御部２１６は、所定の記録停止操作によって記録停止指示を与え、所定の記録再開操作によって記録再開指示を与える制御を行う。本実施形態では、操作指示制御部２１６は、記録停止操作アイコン１４または記録終了操作アイコン１６へのタッチ操作を検出すると、記録停止指示を出力する。記録再開操作アイコン１５へのタッチ操作を検出すると、記録再開指示を出力する。
【００９７】
カメラワークデータ生成部２２０は、仮想カメラ制御部２１４によって連続的に制御された仮想３次元空間中の仮想カメラの位置および姿勢を再現可能なカメラワークデータを生成・記録する制御を行う（図５参照）。その際、カメラワークデータ生成部２２０は、カメラワークデータとして、現実空間に設定された所与の位置を基準としたユーザ端末１５００の相対位置および相対姿勢を時系列に記録したデータ、或いは、仮想カメラＣ１の位置および姿勢を時系列に記録したデータを少なくとも含むデータの記録を制御する。また、カメラワークデータ生成部２２０は、仮想カメラの撮影画角を再現可能なデータをカメラワークデータに含めて記録する。
【００９８】
そして、カメラワークデータ生成部２２０は、中断再開制御部２２２を有する。
中断再開制御部２２２は、所与の記録停止指示に応じた記録の停止と、所与の記録再開指示に応じた記録の開始とを行うことでカメラワークデータの中断および再開を制御する。その際、中断再開制御部２２２は、記録再開指示に応じて記録を開始した際の仮想カメラの位置および姿勢を、記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける仮想カメラの位置および姿勢に適合させることで、記録再開指示後のカメラワークデータを、停止前のカメラワークデータの中断タイミング以降に引き続くカメラワークデータとして記録する。
具体的には、中断再開制御部２２２は、変換関数を用いて記録再開指示後のカメラワークデータを記録する。
【００９９】
本実施形態では、記録停止指示には、記録停止操作アイコン１４または記録終了操作アイコン１６へのタッチ操作が該当する。記録再開指示には、記録再開操作アイコン１５へのタッチ操作が該当する。中断された記録を再開する再開タイミング（中断タイミング）は、シークバー２０を介してユーザ２が指示操作入力したタイミングである。
【０１００】
また、中断再開制御部２２２は、記録再開指示に応じて記録を開始した際の仮想カメラのズーム倍率を、中断タイミングにおける仮想カメラのズーム倍率となるように制御して引き続くカメラワークデータの記録を行う。
【０１０１】
そして、中断再開制御部２２２は、停止前のカメラワークデータの中断タイミングまでのデータと、引き続くカメラワークデータとを接続して一連のカメラワークデータとして記録する。具体的には、中断再開制御部２２２は、記録再開指示に応じて記録を開始した際の仮想カメラの位置および姿勢を、停止前のカメラワークデータの中断タイミングにおける仮想カメラの位置および姿勢に適合させるための変換関数を生成し、当該変換関数を引き続くカメラワークデータに適用することで、一連のカメラワークデータとしての記録を行う（図１０参照）。
【０１０２】
仮想空間画像生成制御部２３０は、カメラワークデータ生成部２２０によるカメラワークデータの記録時に、当該記録中のカメラワークデータに係る仮想カメラの位置および姿勢で撮影された仮想３次元空間の画像を生成する。生成された仮想空間画像は、カメラ１５２０で撮影されている現実空間の画像と重畳処理され、撮影画面Ｗ１１にてライブ画像３０として表示される（図３、図１１参照）。
【０１０３】
仮想空間画像記録制御部２３２は、カメラワークデータ生成部２２０により記録されたカメラワークデータに対応付けて、仮想空間画像生成制御部２３０により生成された画像を記録する制御を行う。本実施形態では、カメラワークデータ５５０内に仮想空間画像録画データ５８２として記録される（図５参照）。
【０１０４】
不適変化自動停止部２３４は、計測データが、仮想３次元空間を撮影する際の不適な変化をしたことを示す所与の不適変化条件を満たしたことを検出し、当該検出に応じて記録停止指示を与える（図１２参照）。
【０１０５】
通知制御部２３６は、不適変化自動停止部２３４による記録の停止をユーザに通知する。本実施形態では、自動記録停止通知１９の表示制御がこれに該当する（図１２参照）。
【０１０６】
中断タイミング設定部２４０は、一時停止後の再開時の再開タイミング（中断タイミング）を設定するための機能部であり、ユーザの操作入力に基づいてこの中断タイミングを設定する。本実施形態では、シークバー２０の表示とシークバー２０への指示操作入力に応じた中断タイミング（再開タイミング）の設定とがこれに該当する（図１３参照）。
【０１０７】
候補タイミング提示部２４２は、中断タイミング（再開タイミング）の候補タイミングを自動選択し、当該候補タイミングにおける仮想カメラの位置および姿勢で撮影された仮想３次元空間の画像をユーザに提示する制御を行う。本実施形態では、シークバー２０に添付表示されるサムネイル２２の表示に係る制御がこれに該当する（図１３参照）。
【０１０８】
また、候補タイミング提示部２４２は、不適変化自動停止部２３４により不適変化条件を満たしたことが検出される直前のタイミングを、中断タイミングの候補タイミングとして選択し、当該候補タイミングにおける仮想カメラの位置および姿勢で撮影された仮想３次元空間の画像をユーザに提示する制御を行う。本実施形態では、自動的な遡及による候補タイミングの選択と、サムネイル２２ａの表示制御とが、これに該当する。
【０１０９】
警告制御部２４４は、記録再開指示に応じた記録の開始を行う際に、計測データに基づく仮想カメラの位置および姿勢と、停止前のカメラワークデータに基づく中断タイミングでの仮想カメラの位置および姿勢との差が、所与のズレ条件を満たす場合に、ユーザに警告を行う制御を行う。具体的には、ズレ条件を満たす場合に、記録が中断された後の撮影画面Ｗ１３にて、所定の警告表示を行う。
【０１１０】
ズレ条件は、適宜設定可能である。例えば、「想定されるユーザ像の平均身長以上の位置ズレ」や「１８０°±５°の姿勢ズレ」などを、単独または組み合わせて定義する。前者の場合は、再開時のユーザ端末１５００の位置が、再開タイミングの位置とあまりにも離れてしまっているために、再開後のカメラワークをつける操作において、物理的に移動が困難になる可能性が高いことをユーザに報せることができる。より具体的には、例えば、再生タイミングにおけるユーザ端末１５００の位置が、床面に近い位置であり、ユーザ端末１５００を持ち上げてユーザ２の頭の上から再開をしたとすると、それ以降はユーザ端末１５００をそれ以上上方向に移動することが、身体的に難しくなり得る。例えば、踏み台やハシゴとかを使わないと届かなくなる。よって、ユーザ２に警告を与えることで、そうした事態が生じることを未然に防ぐことができる。後者の場合では、ユーザ端末１５００の姿勢に関する認識が、操作が記録の中断と再開とで逆転するので、ユーザ端末１５００を再開後のカメラワーク中に反転できるような持ち方をしている必要がないか、など再開後のカメラワークの再確認の機会をユーザ２に提供できる。
【０１１１】
計時部２８０は、システムクロックを利用して現在日時や制限時間等の計時を行う。
【０１１２】
音生成部２９０は、例えば、デジタルシグナルプロセッサ（ＤＳＰ）や、音声合成ＩＣなどのプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現され、楽曲や効果音、各種操作音の音信号を生成し、音出力部３９０に出力する。
【０１１３】
音出力部３９０は、音生成部２９０から入力される音信号に基づいて音出力（放音）する装置によって実現される。図２のスピーカ１５１０がこれに該当する。
【０１１４】
画像生成部２９２は、各種画像データの生成および画像表示部３９２にそれらの画像を表示させるための画像信号の生成出力などの制御を行う。本実施形態では、仮想空間画像、拡張現実画像、を生成する。
【０１１５】
画像表示部３９２は、画像生成部２９２から入力される画像信号に基づいて各種画像を表示する。例えば、フラットパネルディスプレイ、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。本実施形態では、図２のタッチパネル１５０６がこれに該当する。
【０１１６】
通信制御部２９４は、データ通信に係るデータ処理を実行し、通信部３９４を介して外部装置とのデータのやりとりを実現する。
【０１１７】
通信部３９４は、ネットワーク９と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図２の無線通信モジュール１５５３がこれに該当する。
【０１１８】
端末記憶部５００は、端末処理部２００にユーザ端末１５００を統合的に制御させるための諸機能を実現するためのプログラムや、各種データ等を記憶する。また、端末処理部２００の作業領域として用いられ、端末処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。こうした機能は、例えば、ＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。図２の制御基板１５５０が搭載するＩＣメモリ１５５２やメモリカード１５４０がこれに該当する。オンラインストレージを利用する構成も可能である。
【０１１９】
図１５は、端末記憶部５００が記憶するプログラムやデータの例を示す図である。端末記憶部５００は、端末プログラム５０１と、モデルデータ５１０と、モーションデータ５１２と、楽曲データ５１４と、計測データ５４８と、カメラワークデータ５５０（図５参照）と、変換関数データ５９０と、現在日時８００と、を記憶する。勿論、これら以外のプログラムやデータも適宜記憶することができる。
【０１２０】
端末プログラム５０１は、端末処理部２００に、ユーザ端末１５００としての機能を実現させるためのプログラムであって、カメラ制御部２０２としての機能を実現させることができる。端末プログラム５０１は、カメラワーク記録管理プログラム５０２を含み、当該プログラムを端末処理部２００が実行することで、カメラワーク記録管理部２１０としての機能が実装される。
【０１２１】
モデルデータ５１０は、被写体オブジェクト４のモデルデータである。モーションデータ５１２は、被写体オブジェクト４の動作制御を実現するためのデータである。楽曲データ５１４は、楽曲の音及び／又は音声のデータである。これらのデータは、ユーザ自身が別途作成したり用意したデータでもよいし、サーバシステム１１００にオリジナルがあって適宜ダウンロードするとしてもよい。
【０１２２】
変換関数データ５９０は、記録再開指示に応じた記録を開始した際の仮想カメラの位置および姿勢を、停止前のカメラワークデータの中断タイミングにおける仮想カメラの位置および姿勢に適合させるための補正処理に使用する変換関数を定義するデータである。本実施形態では、変換行列のデータを格納する（図１０参照）。
【０１２３】
次に、本実施形態の動画生成システム１０００の動作について説明する。
図１６は、ユーザ端末１５００における処理の流れを説明するためのフローチャートである。ここで説明する処理の流れは、ユーザ端末１５００が、端末処理部２００で端末プログラム５０１を実行することにより実現される。
【０１２４】
ユーザ端末１５００は、先ずユーザ端末１５００の位置と姿勢の計測データの取得と、カメラ１５２０での撮影とを開始し（ステップＳ１０）、仮想３次元空間の設定と、被写体オブジェクト４などのオブジェクトの制御と、位置や姿勢の計測データおよびズーム操作等に基づく仮想カメラＣ１との連動制御と、を開始する（ステップＳ１２）。そして、ユーザ端末１５００は、撮影画面Ｗ１１（図１１参照）の表示を開始する（ステップＳ１４）。
【０１２５】
次に、ユーザ端末１５００は、記録開始操作の入力を検出すると、記録開始指示があったと判断して（ステップＳ１６）、カメラワークデータ５５０の生成・記録を開始する（ステップＳ１８）。そして、記録終了操作の入力を検出するまで、すなわち記録終了指示があるまで（ステップＳ２０のＮＯ）、ユーザ端末１５００は周期的に記録中断再開処理を実行する（ステップＳ２２）。
【０１２６】
図１７〜図１８は、記録中断再開処理の流れを説明するためのフローチャートである。図１７に示すように、同処理において、ユーザ端末１５００は、記録停止操作アイコン１４（図１１参照）へのタッチ操作の検出すなわち記録停止操作の入力を検出した場合（ステップＳ３０のＹＥＳ）、記録停止指示があったと判断して、ユーザ２の操作入力に基づいて記録が停止・中断した旨の表示制御を行う（ステップＳ４０）。そして、ユーザ端末１５００は、カメラワークデータ５５０の記録を停止・中断し（ステップＳ４２）、楽曲の再生および被写体オブジェクト４の動作制御を一時停止する（ステップＳ４４）。
【０１２７】
また、ユーザ端末１５００の位置や姿勢の計測結果が、位置不適変化条件を満たした場合または姿勢不適変化条件を満たした場合（ステップＳ３２のＹＥＳ）、位置または姿勢が不適当に変化したために自動的に記録が停止・中断した旨の表示制御を行う（ステップＳ４１）。そして、記録停止指示があったと判断して、カメラワークデータ５５０の記録を停止し（ステップＳ４２）、楽曲の再生および被写体オブジェクト４の動作制御を一時停止する（ステップＳ４４）。
【０１２８】
次に、ユーザ端末１５００は、中断タイミング（記録を再開する再開タイミングに相当）の候補タイミングを自動選択し（ステップＳ４６）、タッチパネル１５０６に表示されている撮影画面内にシークバー２０を表示させ、中断タイミングの指示操作入力の受付を開始する（ステップＳ４８）。そして、ユーザ端末１５００は、自動選択された候補タイミングの示すシークバー２０の位置に対応付けてサムネイル２２を表示させる（ステップＳ５０）。この段階では、自動的に遡及された第１の候補タイミングにスライダー２１の位置は合わせて表示される。
【０１２９】
次に、ユーザ端末１５００は、警告制御を開始する（ステップＳ５２）。
具体的には、カメラワークデータ５５０から、今現在において再開タイミングとされる過去の時点におけるユーザ端末１５００の位置や姿勢を読み出して、今現在のユーザ端末１５００の位置や姿勢の計測値と比較して、所定のズレ条件が満たされているかを判定する。そして、満たされている場合、ユーザ端末１５００は操作画面内に所定の警告表示を表示する。
【０１３０】
次いでユーザ端末１５００は、最新の指示タイミングに基づく変換関数を生成して（ステップＳ５６）、変換関数の逐次更新を開始する（ステップＳ５８）。また、ユーザ端末１５００は、楽曲の再生制御および被写体オブジェクト４の動作制御を、最新の指示タイミングが示すタイミングまで巻き戻す制御を開始する（ステップＳ６０）。
【０１３１】
また、ステップＳ５６〜ステップＳ５８によって、これ以降は、ユーザ端末１５００の位置・姿勢を変化させたり、カメラ１５２０のズーム倍率を変化させると、自動的に変換関数が更新されることになる。
【０１３２】
また、ステップＳ６０により、これ以降は、楽曲の再生と、被写体オブジェクト４を初めとする仮想３次元空間の動作制御とは、最新の指示タイミングからいつでも再開できるように準備されることになる。
【０１３３】
図１８に移って、ユーザ端末１５００は、記録再開操作アイコン１５へのタッチを検出すると、ユーザ端末１５００は、記録再開操作の入力を検出したと判断し（ステップＳ７０のＹＥＳ）、警告制御を終了する（ステップＳ７８）。そして、ユーザ端末１５００は変換関数データ５９０（図１５参照）が示す最新の変換関数を適用してカメラワークデータ５５０の記録を再開し（ステップＳ８０；図１０参照）、楽曲の再生と被写体オブジェクト４の動作制御を再開する（ステップＳ８２）。なお、カメラワークデータ５５０の中断タイミング以降のデータは、記録再開されたデータで上書きされる。そして、ユーザ端末１５００は、記録再開の旨をユーザに通知する制御を行って（ステップＳ８４）、記録中断再開処理を終了する。
【０１３４】
なお、記録中断再開処理の実行中であっても、終了操作の入力が検出されると（ステップＳ９０のＹＥＳ）、ユーザ端末１５００は、処理を終了するともに、カメラワークデータ５５０の記録を終了する。
【０１３５】
図１６に戻って、所定の終了操作の入力が検出されると（ステップＳ１８のＹＥＳ）、ユーザ端末１５００は、カメラワークデータ５５０の記録を終了し（ステップＳ１００）、楽曲の再生と被写体オブジェクト４の制御を終了し（ステップＳ１０２）、一連の処理を終了する。
【０１３６】
なお、ユーザ端末１５００は、記録されたカメラワークデータ５５０等のサーバシステム１１００へのアップロードは、所定のアップロード操作の入力を検出すると実行する（図６参照）。そして、所定の拡張現実画像の生成リクエスト操作の入力を検出すると、ユーザ端末１５００は、所定の生成リクエストをサーバシステム１１００へ送信する。
【０１３７】
サーバシステム１１００は、生成リクエストを受信すると、送信元であるユーザ端末１５００からアップロードされたカメラワークデータ５５０等を用いて、拡張現実画像の動画データを作成し、これをユーザ端末１５００へ提供可能にする（図７参照）。
【０１３８】
このように、本実施形態によれば、ユーザ自らがビデオカメラを手に持って撮影したかのような印象を有するリアリティのある拡張現実の動画を簡単に作成できる。
加えて、カメラワークデータの記録は、中断と再開が可能である。よって、ユーザがカメラワークの記録の一時停止と再開を任意に行うことが可能になるので、思い通りのカメラワークデータを記録し易くなる。例えば、カメラワークの記録中に、体勢が苦しくなってしまい、思い描いているカメラワークを継続出来なくなったとしても、記録を一時停止することができる。そして、体勢を直してからカメラワークの記録を再開することができる。当初から記録をやり直さなくて済む。記録の一時停止をすることができるため、１カットずつ記録を進めていくといったこともできる。
【０１３９】
そして、記録が再開される際には、コンピュータは、記録再開指示に応じて記録を開始した際の仮想カメラの位置および姿勢を、停止指示による停止前のカメラワークデータの所与の中断タイミングにおける仮想カメラの位置および姿勢に適合させる補正を自動的に行い、記録再開指示後のカメラワークデータを、停止前のカメラワークデータの中断タイミング以降に引き続くカメラワークデータとして記録を再開することができる。言い換えると、中断時のコンピュータの位置と、再開時のコンピュータの位置とに差異があったとしても、中断前後で位置飛びが生じることのない、一繋がりのカメラワークデータを記録できる。
本実施形態によれば、拡張現実や仮想現実の動画を作成するための新たな技術を提供することができる。
【０１４０】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
【０１４１】
（変形例その１）
例えば、上記実施形態に、変換関数を変更する機能又は変換関数の適用効果を時間経過に応じて変更する機能を追加することもできる。
具体的には、中断再開制御部２２２が、引き続くカメラワークデータへの変換関数の適用効果を時間経過に応じて徐々に低減させる変換関数を変更する構成も可能である。より具体的には、例えば、仮想カメラの位置に着目すると、再開時の仮想カメラの位置から、中断タイミングにおける仮想カメラの位置へのベクトルを求め、これを変換関数とする。そして、記録の再開後は、ユーザ端末１５００のＡＲマーカ５に対する相対位置から求められる仮想カメラの仮想空間内に、このベクトルを適用して、仮想カメラ移動軌跡データ５７７（図５参照）を記録することとする。その一方で、中断再開制御部２２２は、記録の再開からの時間経過に応じて、ベクトルの大きさを「０」に向けて徐々に低下するように変更すればよい。
【０１４２】
また、変換関数の適用効果を時間経過に応じて変更する機能の例としては、変換関数は固定とする一方で、当該変換関数を適用する際に係数を乗ずる構成とし、この係数を、記録再開からの時間経過に応じて低減（例えば、係数＝１から係数＝０へ向けて低減）する構成も可能である。
【０１４３】
（変形例その２）
また、上記実施形態では、カメラワークデータ５５０の記録の再開は、直近過去に記録したカメラワークデータ５５０に中断タイミングを設定し、当該中断タイミング以降に引き続くカメラワークデータを記録する構成としたが、中断タイミングを設定する対象は、直近過去に記録したカメラワークデータ５５０に限らない。
【０１４４】
具体的には、例えば、上記実施形態におけるステップＳ４４と、ステップＳ４６との間に、過去に記録済のカメラワークデータ５５０の中から、中断タイミングを設定する対象とするデータの選択操作入力を受け付けるステップを追加する。そして、当該ステップ以降は、当該ステップで選択されたカメラワークデータ５５０を対象として、中断タイミングを設定して、引き続くカメラワークデータを記録するとしてもよい。
【０１４５】
（変形例その３）
また、被写体オブジェクトについては、上記実施形態では被写体オブジェクト４の数を１体として図示したが、同時に複数体用いてもよい。また、被写体オブジェクト４を、人の形態を模した仮想キャラクタとしたが、これに限らない。被写体オブジェクト４は、動物でも良いし、植物、風景、などでもよい。そして、被写体オブジェクトとしたものによっては、楽曲の再生や、楽曲に同期した動作制御も適宜省略可能である。
【０１４６】
（変形例その４）
また、上記実施形態では拡張現実（ＡＲ：Augmented Reality）の画像の動画を作成する例を示したが、仮想現実（ＶＲ：Virtual Reality）の画像の動画を作成する場合にも同様に上記実施形態を適用することができる。上記実施形態の説明の「拡張現実」を「仮想現実」に適宜読み替えれば良い。
【０１４７】
（変形例その５）
また、上記実施形態では、ユーザ端末１５００のユーザ端末１５００の位置や姿勢の計測にＡＲマーカ５を用いる構成を例示したが、マーカレス方式のＡＲ技術を用いて位置や姿勢を計測するとしてもよい。
【０１４８】
（変形例その６）
また、上記実施形態では、拡張現実画像の動画の生成をサーバシステム１１００にて行う例を示したが、これをユーザ端末１５００にて行う構成も可能である。
【０１４９】
（変形例その７）
また、上記実施形態では、撮影画面において表示する操作アイコンは、適宜状況に応じて選択することができる（図８、図１０、図１１、図１２参照）。例えば、記録処理の実行状況に応じて、その時点においてユーザが操作可能なアイコンのみを表示するようにしてもよい。具体的には、記録中は、記録停止操作アイコン１４と、記録終了操作アイコン１６とを表示し、一時停止中は、記録停止操作アイコン１４に代えて記録再開操作アイコン１５を表示する。
【０１５０】
また、撮影画面において操作アイコンを用いずに、各種の操作入力を受け付けるとしてもよい。例えば、タッチパネルへのタッチ軌跡を使用したジェスチャによる入力で各種の操作を指示してもよいし、ユーザ端末１５００の物理ボタンによる操作入力で指示してもよいし、画面へのタッチで一時停止（記録中に画面タッチで一時停止指示）と記録再開（一時停止中に画面タッチで再開指示）を指示するようにしてもよい。
【０１５１】
（変形例その８）
また、上記実施形態では、変換関数データ５９０が示す変換関数を用いて記録再開指示後のカメラワークデー５５０を記録した。つまり、記録再開指示に応じて記録を開始した際の仮想カメラの位置および姿勢を、記録停止指示による停止前のカメラワークデータの所与の中断タイミングにおける仮想カメラの位置および姿勢に適合させる補正処理は、カメラワークデータ５５０の記録時に行われる。しかし、補正処理は、カメラワークデータ５５０の記録時に行わずに、サーバシステム１１００で拡張現実動画データ５８４を生成するのにともない仮想カメラＣ２の制御を行う時に補正処理を行う構成も可能である。
【０１５２】
この場合、中断再開制御部２２２は、変換関数データ５９０をカメラワークデータ５５０と対応づけて時系列に記憶保存し、サーバシステム１１００へカメラワークデータ５５０をアップロードする際に、対応付けた変換関数データ５９０とともにアップロードすればよい（図６参照）。すなわち、変換関数をカメラワークデータの時間軸に対応付けて時系列に記録しておいて、補正処理が必要なときに参照できるようにしてもよい。
【０１５３】
（変形例その９）
また、記録の自動停止の例として、ユーザ端末１５００の位置や姿勢の急激な変化を検出した場合を例示したが、それ以外の自動停止を実現することとしてもよい。
【０１５４】
例えば、ユーザ端末１５００のＯＳ（オペレーティングシステム）からの通知（電源低下、他のアプリからの通知、電話の着信など）があった場合に記録を一時停止してもよい。また、ユーザ端末１５００がユーザ２の操作入力に基づいてスリープモードに移行した場合に一時停止してもよい。また、ユーザ端末１５００が、他のアプリケーションに切替操作が入力された場合に記録を一時停止するとしてもよい。
【符号の説明】
【０１５５】
２…ユーザ
４…被写体オブジェクト
５…ＡＲマーカ
１０…モニタ表示
１３…記録開始操作アイコン
１４…記録停止操作アイコン
１５…記録再開操作アイコン
１６…記録終了操作アイコン
１９…自動記録停止通知
２０…シークバー
２１…スライダー
２２…サムネイル
３０…ライブ画像
３２…指示タイミング時仮想空間画像
３４…判定結果通知
１００…操作入力部
１０２…測位部
１０６…加速度計測部
１０８…姿勢計測部
１２０…撮影部
２００…端末処理部
２０２…カメラ制御部
２１０…カメラワーク記録管理部
２１２…仮想空間設定制御部
２１３…計測データ取得制御部
２１４…仮想カメラ制御部
２１６…操作指示制御部
２２０…カメラワークデータ生成部
２２２…中断再開制御部
２２４…変換関数生成部
２３０…仮想空間画像生成制御部
２３２…仮想空間画像記録制御部
２３４…不適変化自動停止部
２３６…通知制御部
２４０…中断タイミング設定部
２４２…候補タイミング提示部
５００…端末記憶部
５０１…端末プログラム
５０２…カメラワーク記録管理プログラム
５５０…カメラワークデータ
５５１…撮影ＩＤ
５６０…実撮影条件データ
５６１…実カメラ姿勢データ
５６３…実カメラ加速度データ
５６５…実ズーム制御データ
５６７…実移動軌跡データ
５７０…仮想撮影条件データ
５７１…仮想カメラ姿勢データ
５７３…仮想カメラ加速度データ
５７５…仮想カメラ撮影画角データ
５７７…仮想カメラ移動軌跡データ
５８０…現実画像録画データ
５８２…仮想空間画像録画データ
５８４…拡張現実動画データ
５９０…変換関数データ
１０００…動画生成システム
１１００…サーバシステム
１５００…ユーザ端末
１５５０…制御基板
１５５５…測位モジュール
１５５６…３軸加速度センサ
１５５７…３軸ジャイロ
Ｃ１…仮想カメラ
Ｃ２…仮想カメラ
Ｐｅ…中断タイミング位置
Ｐｓ…始点位置
Ｗ１１…撮影画面
【図１】
2020119335.tif 000003
【図２】
2020119335.tif 000004
【図３】
2020119335.tif 000005
【図４】
2020119335.tif 000006
【図５】
2020119335.tif 000007
【図６】
2020119335.tif 000008
【図７】
2020119335.tif 000009
【図８】
2020119335.tif 000010
【図９】
2020119335.tif 000011
【図１０】
2020119335.tif 000012
【図１１】
2020119335.tif 000013
【図１２】
2020119335.tif 000014
【図１３】
2020119335.tif 000015
【図１４】
2020119335.tif 000016
【図１５】
2020119335.tif 000017
【図１６】
2020119335.tif 000018
【図１７】
2020119335.tif 000019
【図１８】
2020119335.tif 000020