(57)【要約】 【課題】仮想カメラの切り替え前後でスムーズなカメラワークを実現する。【解決手段】情報処理装置は、仮想視点画像を生成するための仮想視点の位置および／または姿勢を連続的に移動操作するための操作手段による操作情報を入力し、該仮想視点を、該仮想視点の位置と空間的に離れた位置にあり、該仮想視点と共通の撮影空間を有する他の仮想視点に切り替え、該仮想視点が切り替えられた場合に、該切り替え前の該操作情報に基づく該仮想視点の動き方に基づいて、該切り替え後の該他の仮想視点の動き方を決定する。【選択図】  図４
2018092491.tif 000002
【特許請求の範囲】
【請求項１】
仮想視点画像を生成するための仮想視点の位置および／または姿勢を連続的に移動操作するための操作手段による操作情報を入力する入力手段と、
前記仮想視点を、当該仮想視点の位置と空間的に離れた位置にあり、前記仮想視点と共通の撮影空間を有する他の仮想視点に切り替える切り替え手段と、
前記切り替え手段により前記仮想視点が切り替えられた場合に、当該切り替え前の前記操作情報に基づく前記仮想視点の動き方に基づいて、当該切り替え後の前記他の仮想視点の動き方を決定する決定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記仮想視点の一意に定義された座標における、前記切り替え前の前記操作情報に基づく移動方向が維持されるように、前記切り替え後の前記他の仮想視点の動き方として、前記他の仮想視点の移動方向を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記仮想視点から被写体に対する方向と、前記他の仮想視点から前記被写体に対する方向とが為す角度が所定値以上である場合に、
前記決定手段は、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と逆の方向に決定し、
前記仮想視点から被写体に対する方向と、前記他の仮想視点から前記被写体に対する方向とが為す角度が所定値未満である場合に、
前記決定手段は、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と同じ方向に決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記他の仮想視点の位置・姿勢が、前記仮想視点の位置・姿勢と所定の対象を基準に反対の関係にある場合、
前記決定手段は、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と逆の方向に決定し、
前記他の仮想視点の位置・姿勢が、前記仮想視点の位置・姿勢と所定の対象を基準に反対の関係にない場合、
前記決定手段は、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と同じ方向に決定することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記所定の対象は、被写体であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記決定手段により、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と逆の方向にすると決定された場合に、前記操作手段による移動操作を一時的に無効にさせる制御手段を更に有することを特徴とする請求項３から５のいずれか１項記載の情報処理装置。
【請求項７】
前記作制御手段により前記操作情報に基づく移動操作が一時的に無効にされた場合、所定の条件が満たされることに応じて、前記操作情報に基づく移動操作を有効にさせることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記所定の条件は、前記操作手段による所定の操作または所定の時間が経過することであることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記切り替え手段により前記仮想視点が切り替えられた場合に、前記切り換え前の前記操作情報に基づく前記仮想視点の前記移動方向と移動速度に基づいて、当該切り替え後の前記他の仮想視点の初速を設定する初速設定手段を更に有することを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記切り替え前の前記操作情報に基づく前記仮想視点の移動方向が直線の方向、または、所定の円周移動する方向である場合、前記初速設定手段は、前記他の仮想視点の初速を、前記仮想視点の前記移動速度に設定することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
仮想視点画像を生成するための仮想視点の位置および／または姿勢を連続的に移動操作するための操作手段による操作情報を入力する入力工程と、
前記仮想視点を、当該仮想視点の位置と空間的に離れた位置にあり、前記仮想視点と共通の撮影空間を有する他の仮想視点に切り替える切り替え工程と、
前記切り替え工程において前記仮想視点が切り替えられた場合に、当該切り替え前の前記操作情報に基づく前記仮想視点の動き方に基づいて、当該切り替え後の前記他の仮想視点の動き方を決定する決定工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１２】
コンピュータを、請求項１から１０のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想カメラを操作して仮想視点を指定する情報処理装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
昨今、複数のカメラを異なる位置に設置して多視点で同期撮影し、当該撮影により得られた複数視点画像を用いて仮想視点画像を生成する技術が注目されている。このような、複数視点画像から仮想視点画像を生成する技術によれば、サッカーやバスケットボールなどのハイライトシーンを様々な角度から閲覧することができるため、通常の画像と比較してユーザに高臨場感を与えることができる。仮想視点画像を生成するための仮想視点を指定する方法としては、仮想的なカメラ（仮想カメラ）を用いる方法がある。特許文献１では、オペレータが、仮想カメラから見た仮想視点画像を参照しながら、仮想カメラを操作して仮想視点を指定する技術について記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−６８０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、例えば、現在の仮想カメラから、向きが逆になる（例えば、被写体を基準として反対側）別の仮想カメラに切り替えると、オペレータから見た仮想視点画像の左右も逆になる。オペレータは、切り替え後の新しい仮想視点画像の位置や向きを把握するまでに時間がかかり、切り替え直後の仮想カメラの操作が遅れてしまう。このように、仮想カメラの切り替え前後でスムーズなカメラワークの実現が難しい場合があるという課題がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、操作手段による操作に基づく仮想視点の切り替えをスムーズに行えるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための一手段として、本発明の情報処理装置は以下の構成を有する。すなわち、仮想視点画像を生成するための仮想視点の位置および／または姿勢を連続的に移動操作するための操作手段による操作情報を入力する入力手段と、前記仮想視点を、当該仮想視点の位置と空間的に離れた位置にあり、前記仮想視点と共通の撮影空間を有する他の仮想視点に切り替える切り替え手段と、前記切り替え手段により前記仮想視点が切り替えられた場合に、当該切り替え前の前記操作情報に基づく前記仮想視点の動き方に基づいて、当該切り替え後の前記他の仮想視点の動き方を決定する決定手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、操作手段による操作に基づく仮想視点の切り替えをスムーズに行うことができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態における仮想視点画像生成システムの概略図。
【図２】撮影空間にある仮想カメラ２０１を説明する図。
【図３】情報処理装置１０５のハードウェア構成の一例を示す図。
【図４】情報処理装置１０５の機能構成の一例を示す図。
【図５】情報処理装置１０５による仮想カメラ２０１の操作形態を説明する図。
【図６】カメラワークに応じた仮想カメラの動きを説明する図。
【図７】切り替え前後の仮想カメラ２０１の位置と姿勢を説明する図。
【図８】仮想カメラ２０１の位置の切り替え処理を説明するフローチャート。
【図９】Ｓ８０４の処理手順を説明するフローチャート。
【図１０】Ｓ８０６の処理手順を説明するフローチャート。
【図１１】仮想カメラ２０１の切り替え操作の具体例を説明する図。
【図１２】切り替え前後の仮想カメラ２０１の連携した動きを説明する図。
【図１３】ユーザの操作を無効にする期間を説明する図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。
【００１０】
［実施形態１］
図１は、本実施形態における仮想視点画像生成システム１０の概略図である。仮想視点画像生成システム１０は、Ｎ個のセンサシステム１０１ａ、１０１ｂ、１０１ｃ、…、１０１ｎ、フロントエンドサーバ１０２、データベース１０３、バックエンドサーバ１０４、および情報処理装置１０５を含む。Ｎ個のセンサシステム１０１は、それぞれカメラとマイクを有する。Ｎ個のセンサシステム１０１それぞれにおけるカメラは、同期して画像を撮影して画像データを生成する。またＮ個のセンサシステム１０１それぞれにおけるマイクは、同期して音声を集音して音データを生成する。
【００１１】
フロントエンドサーバ１０２は、Ｎ個のセンサシステム１０１から画像データ及び音データを取得し、データベース１０３に書き込む。情報処理装置１０５は、オペレータによる操作を受け付け、当該操作に基づいて、後述する仮想カメラ２０１による仮想視点を指定し、仮想視点に関する情報をバックエンドサーバに出力する。バックエンドサーバ１０４は、情報処理装置１０５から仮想視点に関する情報を受け付け、データベース１０３から当該情報に対応する画像データ及び音データを読み出し、レンダリング処理を行って仮想視点画像データと仮想視点音データを生成する。バックエンドサーバ１０４は、生成した仮想視点画像データと仮想視点音データを、情報処理装置１０５へ出力する。情報処理装置１０５は、受け取った仮想視点画像データと仮想視点音データを、オペレータに対して表示する。
【００１２】
図２は、Ｎ個（Ｎ＝６）のセンサシステム１０１と仮想カメラ２０１の位置関係を説明する図である。図２において、撮影空間（例えばスタジアム）の周辺に６台のセンサシステム１０１ａ〜１０１ｆが配置され、任意の空間に仮想カメラ２０１が配置されている。ここで、６台のセンサシステム１０１ａ〜１０１ｆは、例えば、フィールド２０２を向くように配置されている。仮想カメラ２０１は、全てのセンサシステム１０１ａ〜１０１ｆに含まれるカメラと異なる視点において撮影を行うことができる仮想的なカメラである。
【００１３】
本実施形態では、仮想カメラ２０１による撮影区間の位置を、撮影画像の表示状態に拘わらず一意に決めるために、世界座標系（Ｘ、Ｙ、Ｚ軸）を次のように定義する。すなわち、フィールド２０２の中心を原点とし、フィールドの長辺方向をＸ軸、フィールドの短辺方向をＹ軸、Ｘ軸とＹ軸に対する鉛直方向をＺ軸とする。また、世界座標系のＸ軸、Ｙ軸、Ｚ軸をそれぞれ、Ｘｗ、Ｙｗ、Ｚｗと表示し、図２に示すＸｗ、Ｙｗ、Ｚｗのそれぞれの軸の矢印の向きが、プラス方向を表すものとする。
【００１４】
また、本実施形態では、仮想カメラ２０１から見た方向を決めるために、仮想カメラ座標系を次のように定義する。すなわち、仮想カメラ２０１の光学中心を原点とし、光軸方向をＺ軸、仮想カメラ２０１の横方向（左右）をＸ軸、縦方向（上下）をＹ軸とする。また、仮想カメラ座標のＸ軸、Ｙ軸、Ｚ軸をそれぞれ、Ｘｃ、Ｙｃ、Ｚｃと表示し、図２に示すＸｃ、Ｙｃ、Ｚｃのそれぞれの軸の矢印の向きが、プラス方向を表すものとする。
【００１５】
なお、上述のような世界座標系と仮想カメラ座標系の定義は一例であり、他の手法により定義されてもよい。
【００１６】
次に、本実施形態における情報処理装置１０５の構成について、図３と図４を参照して説明する。図３は、情報処理装置１０５のハードウェア構成の一例を示す図であり、図４は、情報処理装置１０５の機能構成の一例を示す図である。
【００１７】
まず、情報処理装置１０５のハードウェア構成について図３を参照して説明する。ＣＰＵ（Central Processing Unit）３０１は、ＲＡＭ（Random Access Memory）３０２やＲＯＭ（Read Only Memory）３０３に格納されているコンピュータプログラムやデータを用いて所定の処理を行う。これにより、ＣＰＵ３０１は、情報処理装置１０５全体の動作制御や後述する各種の処理を実行する。ＲＡＭ３０２は、ＲＯＭ３０３からロードされたコンピュータプログラムやデータを一時的に記憶するためのワークエリアを有する。また、ＲＡＭ３０２は、ＣＰＵ３０１が各種の処理を実行する際に用いるワークエリアを有する。ＲＯＭ３０３は、コンピュータプログラムやデータを保持する。
【００１８】
入力部３０４は、例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどの入力装置を含み、オペレータ（ユーザ）の操作を受け付け、情報処理装置１０５に操作情報を入力する。前述の各種入力装置（操作装置）は情報処理装置１０５に組込まれたものとしてもよいし、外付けとしたものでもよい。通信部３０５は、例えばＬＡＮ（Local Area Network）を通じて、バックエンドサーバ１０４との間で情報の送受信を行う。出力部３０６は、ディスプレイやスピーカなどを含み、オペレータの操作に必要な各種情報を出力する。
【００１９】
次に、情報処理装置１０５の機能構成について図４を参照して説明する。情報処理装置１０５は、機能構成として、操作ＵＩ部４７０と仮想カメラ管理部４８０と拡張機能処理部４９０を有する。これらは同一機器上に実装してもよいし、それぞれサーバとなる装置とクライアントとなる装置に別々に実装してもよい。また例えば、仮想カメラ管理部４８０をｗｅｂサーバに実装し、ｗｅｂブラウザに操作ＵＩ部４７０と拡張機能処理部４９０を実装することで、同様の機能を実現してもよい。
【００２０】
仮想カメラ操作部４０１は、オペレータの操作に従い、仮想カメラ２０１による仮想視点画像を生成するための視点（仮想視点）の位置および／または位置を連続的に移動操作するための操作を受け付ける。言い換えると、仮想カメラ操作部４０１は、仮想視点を決定するためのオペレータの操作を示す操作情報を、入力部３０４を介して入力する。当該オペレータの操作により、例えば、仮想カメラ２０１の位置の変更（移動）、仮想カメラ２０１の姿勢の変更（回転）、及び仮想カメラ２０１のズーム倍率の変更などが受け付けられる。ここで、入力部３０４に対する操作と仮想カメラ２０１の操作（動き）との対応は、予め決められていてもよい。例えば、入力部３０４がジョイスティックを介して操作情報を入力する場合、オペレータがジョイスティックを左に倒す操作は、仮想カメラ２０１が左（Ｘｃ軸におけるマイナス方向）へ移動することに対応付けられる。また、入力部３０４がタッチパネルを介して操作情報を入力する場合、オペレータは、仮想カメラ２０１の軌道をタッチパネル上で指定してもよい。例えば、オペレータは、ゴールポストを中心とする円周上を仮想カメラ２０１が回るという軌道を、タッチパッド上に円を描くように触れることで指定する。この場合、仮想カメラ２０１は、指定された軌道に沿ってゴールポストの周りを移動することができる。また、このとき、オペレータは、仮想カメラ２０１が常にゴールポストの方を向くように、仮想カメラ２０１の姿勢を指定してもよい。
【００２１】
パラメータ導出部４０２は、仮想カメラ２０１の位置や姿勢、ズーム値などを表す仮想カメラパラメータを導出する。パラメータ導出部４０２は、仮想カメラパラメータを、演算によって導出してもよいし、ルックアップテーブルの参照などによって導出してもよい。仮想カメラパラメータは、外部パラメータ（仮想カメラ２０１の位置・姿勢等）と内部パラメータ（仮想カメラ２０１のズーム値等）に分けられてもよい。仮想カメラパラメータが外部パラメータと内部パラメータに分けられる場合、例えば、仮想カメラパラメータは、外部パラメータを表す行列と内部パラメータを表す行列で構成されてもよい。
【００２２】
制約管理部４０３は、仮想カメラ操作部４０１により受け付けられたオペレータの操作に基づく視点（仮想視点）を制限するための条件情報（以下、仮想カメラ制約条件）を、例えばＲＯＭ３０３から取得し管理する。仮想カメラ制約条件は、例えば、パラメータ導出部４０２により導出される仮想カメラパラメータに対する制約条件や、仮想カメラ２０１の位置や姿勢、ズーム値などに対する制約条件を示す。仮想カメラ２０１は、Ｎ個のセンサシステム１０１それぞれに含まれるカメラと異なり、自由に視点を移動して撮影を行うことができるが、常にあらゆる視点からの画像を生成できるとは限らない。例えば、Ｎ個のセンサシステム１０１に含まれるどのカメラにも映っていない対象物が映る向きに仮想カメラ２０１を向けた場合、仮想カメラ２０１による撮影画像を取得することはできない。また、仮想カメラ２０１のズーム倍率を上げると、解像度の制約により画質が劣化する。したがって、一定基準の画質を保つ範囲のズーム倍率などを、仮想カメラ制約条件としてもよい。なお、仮想カメラ制約条件は、例えば、カメラの配置などから事前に導出しておいてもよい。
【００２３】
制約判定部４０４は、パラメータ導出部４０２で導出された仮想カメラパラメータが、制約管理部４０３により管理される仮想カメラ制約条件を満たしているかを判定する。仮想カメラ制約条件を満たしている場合は、制約判定部４０４は、パラメータ導出部４０２で導出された仮想カメラパラメータを、仮想カメラパス管理部４０６へ出力する。一方、制約を満たしていない場合は、制約判定部４０４は、例えば、仮想カメラ操作部４０１に対して、オペレータによる操作入力の受け付けをキャンセルするように指示しても良い。また、制約判定部４０４は、パラメータ導出部４０２で導出された仮想カメラパラメータを、仮想カメラ制約条件を満たすように制御してもよい。これにより、制約判定部４０４は、仮想カメラ制約条件を満たす位置から仮想カメラ２０１が動かないよう制御したり、仮想カメラ２０１を、仮想カメラ制約条件を満たす位置に戻すように制御することが可能となる。
【００２４】
フィードバック出力部４０５は、制約判定部４０４による判定結果（例えば、パラメータ導出部４０２で導出された仮想カメラパラメータが、仮想カメラ制約条件を満たすか否か）をオペレータにフィードバックする。例えば、オペレータが仮想カメラ２０１を上方（Ｙｃ軸におけるプラス方向）に移動しようと操作したが、移動先が仮想カメラ制約条件を満たさないとする。その場合、フィードバック出力部４０５は、オペレータに対して、これ以上上方に仮想カメラ２０１を移動できないことを通知する。通知方法としては、出力部３０６を介した、音、メッセージ出力や画面の色変化、及び、仮想カメラ操作部４０１をロックする等の方法がある。
【００２５】
フィードバックが画像表示により行われる場合、フィードバック出力部４０５は、制約管理部４０３により管理される仮想カメラ制約条件に基づいて、仮想視点の位置が制限される領域に応じた画像を出力部３０６に表示させてもよい。例えば、フィードバック出力部４０５は、仮想視点が制限される領域内であるか否かを表す画像を出力部３０６に表示させることにより、オペレータは、操作により指定した仮想視点により所望の仮想視点画像を生成できるか否かを認識できる。オペレータは。所望の仮想視点画像を生成できない場合、仮想カメラ制約条件を満たす位置に仮想視点を指定し直すよう操作することができる。なお、フィードバック出力部４０５により出力部３０６に表示される内容はこれに限定されない。例えば、仮想視点の指定の対象となる領域（スタジアムの内部など）のうち、制限される領域（仮想カメラ制約条件を満たさない領域）に当たる部分を所定の色で塗りつぶした画像が表示されてもよい。
【００２６】
データ指定部４０７は、オペレータによるライブ画像（音）およびリプレイ画（音）の生成の種別の指定を、入力部３０４を介して受け付ける。そして、データ指定部４０７は、当該指示に基づいた、仮想カメラパラメータを指定するための指示を、仮想カメラパス管理部４０６に出力する。
【００２７】
仮想カメラパス管理部４０６は、オペレータの操作に応じた仮想カメラ２０１のパス（仮想カメラパス）を管理する。仮想カメラパスとは、仮想カメラ２０１の１フレームごと位置や姿勢を表す情報（例えば、仮想カメラパラメータ）の集合（列）である。例えば、６０フレーム／秒のフレームレートの設定の場合、１秒分の仮想カメラパスは、６０個の仮想カメラパラメータの列となる。仮想カメラパス管理部４０６は、データ指定部４０７により指定された種別に対応する仮想カメラパラメータを、バックエンドサーバ１０４に送信する。バックエンドサーバ１０４は、受信した仮想カメラパラメータを用いて、仮想視点画像及び／または仮想視点音を生成する。
【００２８】
仮想カメラパス管理部４０６は、既にバックエンドサーバ１０４に対して送信した仮想カメラパラメータも、仮想カメラパスとして保存・管理することができる。仮想カメラパスを保存しておくことによって、仮想視点画像及び仮想視点音を再度生成する場合に役立つ。例えば、高度な仮想カメラ操作を行うオペレータが生成した仮想カメラパスを、他のオペレータが再利用することができる。また、仮想カメラパス管理部４０６は、複数の仮想カメラパスを格納することにより、オペレータは、データ指定部４０７による指定に基づいて、当該複数の仮想カメラパスそれぞれに対応するシーンを選択することができる。仮想カメラパスを仮想カメラパス管理部４０６に蓄積する際には、メタ情報と対応付けられて蓄積されてもよい。メタ情報は、例えば、各仮想カメラパスに対応するシーンのスクリプトや試合の経過時間、及びプレーヤ情報である。
【００２９】
ここで、データ指定部４０７と仮想カメラパス管理部４０６の動作の一例を説明する。オペレータは、ライブ画像（音）の出力を希望する場合、ライブ画像（音）の生成をデータ指定部４０７に対して指定する。これを受けてデータ指定部４０７は、仮想カメラパス管理部４０６に対して、制約判定部４０４から受け取った、パラメータ導出部４０２で導出された仮想カメラパラメータを、バックエンドサーバ１０４に送信するよう指示する。これを受けて、仮想カメラパス管理部４０６は、パラメータ導出部４０２で導出された仮想カメラパラメータを、バックエンドサーバ１０４に送信する。
【００３０】
また、オペレータは、リプレイ画像（音）の出力を希望する場合、リプレイ画像（音）の生成をデータ指定部４０７に対して指定する。また、オペレータはこのとき、時間、メタ情報、再生速度などを指定してもよい。この場合、データ指定部４０７は、仮想カメラパス管理部４０６に対して、オペレータから指定された情報（すなわち、時間、メタ情報、再生速度など）を送信する。これを受けて、仮想カメラパス管理部４０６は、データ指定部４０７から受け取った指定に基づいて、仮想カメラパス（仮想カメラパラメータ）を特定し、当該特定した仮想カメラパスを、バックエンドサーバ１０４に送信する。また、オペレータは、データ指定部４０７に対して、リプレイ画像（音）の生成の指示を行う場合は、同時に仮想カメラ２０１の移動を指示してもよい。
【００３１】
データ指定部４０７へのオペレータの指示の一例として、オペレータがリプレイ画像（音）の生成を指定する場合に、メタ情報として、シーン名を「ゴールシーン」、シーンの前後指定時間を「前後合わせて１０秒分」と指定したとする。この場合、仮想カメラパス管理部４０６は、当該指定された情報に基づいて、仮想カメラパスを特定する。また、オペレータが、再生速度として、ボールがゴールに飛んで行く間の仮想カメラパスにスロー再生を指定した場合、仮想カメラパス管理部４０６は、生成される画像（音）が低レートとなるように、バックエンドサーバに指示する。もしくはこの場合は、バックエンドサーバを介して、スロー再生するように、データ出力部４０８に指示される。
【００３２】
データ出力部４０８は、バックエンドサーバ１０４から受け取った仮想視点画像と仮想視点音を、出力部３０６を介して出力する。オペレータは、出力された仮想視点画像及び仮想視点音を、データ出力部４０８を介して確認しながら、仮想カメラ２０１の位置を操作することができる。ここで、データ出力部４０８は、フィードバック出力部４０５によるフィードバックの内容によっては、仮想カメラ制約条件に応じた制限領域と対応させて、仮想視点画像と仮想視点音を、出力部３０６を介して出力する制御を行ってもよい。例えば、データ出力部４０８は、オペレータが指定した仮想視点の位置が制限領域に含まれる場合に、別の視点における仮想視点画像を表示させても良い。別の視点とは、例えば、オペレータにより指定された仮想視点の位置の近辺であり、且つ、制限領域外である位置である。これにより、オペレータが制限領域外に視点を指定し直す手間が削減され得る。
【００３３】
カメラワーク指定部４０９は、オペレータによる入力部３０４を介した操作に応じて、のカメラワーク（仮想カメラ２０１の視点（仮想視点）の動き方）を指定することができる。カメラワークが指定されると、指定されたカメラワークに合わせて、仮想カメラ２０１が移動する。パラメータ導出部４０２は、カメラワークが指定されると、仮想カメラパラメータを変更する。例えば、カメラワークとして「直線移動」が指定されると、パラメータ導出部４０２は、仮想カメラ２０１が直線的に移動するよう仮想カメラパラメータを導出する。これにより、オペレータは、仮想カメラ２０１を、サイドラインと平行に移動しながら選手に追跡させる操作が容易になる。また、例えば、カメラワークとして「回り込み移動」が指定されると、パラメータ導出部４０２は、仮想カメラ２０１が円周上を移動するように仮想カメラパラメータを導出する。さらに、パラメータ導出部４０２は、仮想カメラ２０１の向きが、常に回転中心を向くように、仮想カメラパラメータを調整する。これにより、オペレータは、仮想カメラ２０１を、特定の選手の周りをぐるりと回す操作が容易になる。特定のカメラワークに縛られたくない場合は、オペレータはカメラワークとして「自由移動」を指定することができる。この場合、パラメータ導出部４０２は、直線や円周などの制約がかからずに、移動方向を決める仮想カメラパラメータを導出することができる。なお、指定可能なカメラワークはこれらに限られず、別のカメラワークを指定可能としてもよい。
【００３４】
切り替え部４１０は、オペレータによる入力部３０４を介した操作により、仮想カメラ２０１の位置を、現在の位置と空間的に離れた位置に、共通の撮影空間を有するように切り換える。具体的には、切り替え部４１０は、仮想カメラ２０１を、現在と異なる位置（および姿勢）に切り替えるための指示を受け付ける。当該指示には、現在の仮想カメラ２０１の位置を、所定の対象（例えば特定の被写体）を基準として反対側の位置に切り換えることを示す指示や、オペレータが指定する特定の位置に切り換えることを示す指示が含まれる。続いて、切り替え部４１０は、受け付けた指示に基づいて、切り替え後の仮想カメラ２０１の位置・姿勢を設定し、当該位置・姿勢に関する情報をパラメータ導出部４０２に渡す。切り替え操作により、制約管理部４０３に管理される仮想カメラ制約を満たす限り、仮想カメラ２０１を、所望の位置と姿勢に移動させることが可能となる。なお、切り替え後の側の仮想カメラ２０１の位置と姿勢については、図７を用いて後述する。
【００３５】
一例として、サッカーシーンにおいて、コーナーの脇における仮想カメラ２０１の位置は、仮想カメラ制約を満たすものとする。このとき、コーナーキックのイベントが起きることに応じて、フィールドを映している所定の位置における仮想カメラ２０１を、コーナーの脇の位置に移動させることが可能となる。
【００３６】
また、切り替え部４１０は、切り替え後の新しい仮想カメラ２０１の位置を、オペレータによる入力部３０４を介した操作に応じて、所望の時間に切り換えることもできる。一例として、サッカーシーンにおいて、仮想カメラ２０１が、ある特定の被写体（選手）を追跡しながら撮影しているとする。追跡中に、仮想カメラ２０１と被写体の間に別の被写体が入り、仮想カメラ２０１から当該特定の被写体が見えなくなったとする。この場合、オペレータは、当該特定の被写体を基準として、仮想カメラ２０１の現在の位置と反対の側から被写体を撮影するための位置に、仮想カメラ２０１を切り替えることができる。これにより、切り替え後の仮想カメラ２０１は、被写体を継続して撮影することが可能となる。
【００３７】
なお、切り替え部４１０により仮想カメラ２０１の位置が切り替えられた直後の時点では、仮想カメラ２０１に動きは設定されていない。つまり、切り替え直後の仮想カメラ２０１は停止した状態である。切り替え後の仮想カメラ２０１の動きは、以下に述べるように、カメラワーク判定部４１１と初速設定部４１２によって決定される。
【００３８】
カメラワーク判定部４１１は、切り替え直前の仮想カメラ２０１の移動方向を含む動き方（カメラワーク）に基づいて、切り替え後の仮想カメラ２０１のカメラワークを決定（判定）する。このために、カメラワーク判定部４１１は、カメラワーク指定部４０９で指定された、切り替え前のカメラワークの情報を取得し、取得した情報に基づいて、切り替え後の仮想カメラ２０１のカメラワークを判定する。
【００３９】
カメラワーク判定部４１１は、切り替え前のカメラワークとして「直線移動」を取得した場合は、切り替え後の仮想カメラ２０１のカメラワークを「直線移動」と判定する。同様に、カメラワーク判定部４１１は、切り替え前のカメラワークとして「回り込み移動」を取得した場合は、切り替え後の仮想カメラ２０１のカメラワークを「回り込み移動」と判定する。ただし、これらの判定は、切り替え直前の仮想カメラ２０１が移動していた場合に限る。すなわち、切り替え直前の仮想カメラ２０１が停止していた場合は、カメラワーク判定部４１１は、切り替え前のカメラワークとして「直線移動」を取得したとしても、切り替え後の仮想カメラ２０１のカメラワークを、「直線移動」とは判定しない。また、切り替え直前の仮想カメラ２０１の動きが回転のみの場合も、カメラワーク判定部４１１は、切り替え後の仮想カメラ２０１のカメラワークを「直線移動」とは判定しない。なお、動きが回転のみとは、仮想カメラ２０１の姿勢だけが変更し、位置が変更しない場合のことであり、例えば、ある位置で仮想カメラ２０１がパンしている（左右に向きを変えている）などである。
【００４０】
一方、カメラワーク判定部４１１は、切り替え前のカメラワークとして「自由移動」を取得した場合は、切り替え後の仮想カメラ２０１のカメラワークを、切り替え直前の仮想カメラ２０１の仮想カメラパスから判定する。カメラワーク判定部４１１は、切り替え直前の仮想カメラパスを、仮想カメラパス管理部４０６から取得する。例えば、カメラワーク判定部４１１は、取得した仮想カメラパスに基づいて、切り替え直前のカメラパスが直線的な移動であることを認識した場合、切り替え後のカメラワークを「直線移動」と判定する。なお、以上の処理によりカメラワークが判定できなかった場合は、カメラワーク判定部４１１は、切り替え後の仮想カメラのカメラワークを、「不明」と判定する。
【００４１】
初速設定部４１２は、カメラワーク判定部４１１により判定されたカメラワークに応じて、世界座標系から見た切り替え直前の仮想カメラ２０１の動きを、切り替え直後の仮想カメラ２０１の動きの初速に設定する。これにより、切り替え前後の仮想カメラ２０１の動きが世界座標系から見て維持され、結果として連携した動作が可能になる。
【００４２】
カメラワーク判定部４１１が判定した切り替え後のカメラワークが「直線移動」の場合は、初速設定部４１２は、切り替え直後の仮想カメラ２０１の動きの初速を、例えば次の通りに設定する。すなわち、初速設定部４１２は、世界座標系から見た、切り替え直前の仮想カメラ２０１の速度（移動方向と速さ）を、切り替え直後の仮想カメラ２０１の初速に設定する。このとき、切り替え前後で同じ被写体が撮影できる場合にのみ、初速設定部４１２は、このように切り替え前後で動きを連携させるようにしてもよい。つまり、切り替え前後で同じ被写体が撮影できない場合は、初速設定部４１２は、切り替え直後の仮想カメラ２０１を、停止した状態に設定してもよい。切り替え前後で同じ被写体が撮影できる場合は、例えば、仮想カメラ２０１の位置を、被写体を基準にして反対側の位置に切り替える場合等である。
【００４３】
一方、カメラワーク判定部４１１が判定した切り替え後のカメラワークが「回り込み移動」の場合は、初速設定部４１２は、切り替え直後の仮想カメラ２０１の動きの初速を、例えば次の通りに設定する。すなわち、初速設定部４１２は、世界座標系から見た切り替え直前の仮想カメラ２０１の回転中心と角速度（回転方向と速さ）を、切り替え直後の仮想カメラ２０１の初速に設定する。また、カメラワーク判定部４１１が判定した切り替え後のカメラワークが「不明」の場合は、初速設定部４１２は、切り替え前後で動きを連携させないようにしてもよい。つまりこの場合、切り替え直後の仮想カメラ２０１は停止することとなる。
【００４４】
また、切り替え前後で仮想カメラ２０１の向きが大きく変わることにより、オペレータが一時的に方向を見失い、意図しない方向に仮想カメラを操作してしまう可能性がある。このような可能性を防ぐために、仮想カメラ操作部４０１は、切り替え後、一定期間オペレータの操作を無効にしてもよい。例えば、切り替え直後の仮想カメラ２０１の向きが、切り替え直前の仮想カメラ２０１の向きと一定角度以上異なる場合は、仮想カメラ操作部４０１は、オペレータの操作を無効にしてもよい。オペレータの操作が無効にされた場合は、初速設定部４１２で設定された動きに従って、仮想カメラ２０１が自動操作されることになる。この自動操作は、オペレータの操作が後述のように再度有効になるまで続けられる。これにより、切り替え前後でスムーズなカメラワークが可能となる。
【００４５】
仮想カメラ操作部４０１は、オペレータの操作を無効にした後、所定の条件が満たされると、オペレータの操作を有効に戻すことができる。例えば、仮想カメラ操作部４０１に対するオペレータの操作がニュートラルになった場合に、オペレータの操作を有効に戻してもよい。ニュートラルとは、例えば、オペレータが入力部３０４としてジョイスティックを使って操作している場合は、前後左右のどちらにも倒されていない状態を指す。
【００４６】
また、仮想カメラ操作部４０１は、オペレータの操作を無効にした後、一定時間経過後に、有効に戻してもよい。図１３は、オペレータの操作を無効にする期間を説明する図である。例えば図１３（ａ）に示すように、仮想カメラ２０１の位置が切り替えられた後、一定時間（Ｔ１）が経過するまで、仮想カメラ操作部４０１は、オペレータの操作に対する重みを０にすることができる。重みが０の期間は、オペレータの操作は無効であり、切り替え後の仮想カメラ２０１が自動操作されることになる。一定時間（Ｔ１）が経過すると、仮想カメラ操作部４０１は、オペレータの操作を有効にし、自動操作は終了する。
【００４７】
また、オペレータの操作を無効にした後、徐々にオペレータの操作を有効にしてもよい。例えば図１３（ｂ）に示すように、初速設定部４１２で設定される動きと、オペレータの操作に重みをつけて、オペレータの操作を無効にする期間が設定されてもよい。すなわち、切り替え直後のオペレータの操作の重みを０とし、徐々に１に近付けるようにする。仮想カメラ２０１が切り替えられた後、仮想カメラ操作部４０１は、一定時間（Ｔ１）が経過した時点でオペレータの操作の重みが１になるように近付ける。オペレータの操作の重みが１になった時点で、オペレータの操作通りに動くことになる。オペレータの操作が有効になった時点で、自動操作は終了する。
【００４８】
なお、フィードバック出力部４０５は、オペレータの操作が無効な期間に関する情報を、出力部３０６を介して出力することによりオペレータに通知してもよい。また、フィードバック出力部４０５は、切り替え後の仮想カメラ２０１が自動操縦されている期間に関する情報を出力して、当該情報をオペレータに通知してもよい。これにより、オペレータは、切り替え直後の仮想カメラ２０１に対する操作の状況を、より正確に把握することができる。
【００４９】
図５は、情報処理装置１０５による仮想カメラ２０１の操作形態を説明する図である。図５（ａ）において、ディスプレイ（出力部３０６）には、オペレータが操作している仮想カメラ２０１から見た（すなわち、仮想視点に応じた）仮想視点画像５０１が表示されている。オペレータは、仮想視点画像５０１を見ながら、ジョイスティック（入力部３０４）を用いて、仮想カメラ２０１を操作することができる。なお、図５（ａ）において、ディスプレイはタッチパネルで構成され、仮想カメラ切り替えボタン５０２とカメラワーク指定ボタン５０３は、入力部３０４として機能しているものとする。
【００５０】
オペレータは、現在ディスプレイに映る仮想視点画像５０１の被写体７０１を基準として反対側から撮影される画像を見る場合、仮想カメラ切り替えボタン５０２の「反対」を選択する。当該選択は、例えばマウス（不図示）を用いて行われる。仮想カメラ切り替えボタン５０２が選択されると、仮想カメラ２０１の位置が、被写体７０１を基準として反対側の位置に切り替わる。ディスプレイに表示される仮想視点画像５０１も、切り替え後の仮想カメラ２０１の視点から見た仮想視点画像となる。なお、仮想カメラ切り替えボタン５０２は、図５（ａ）に示すように「反対」だけでなく、仮想カメラ２０１に切り替えるための他のプリセットされたボタンを加えてもよい。
【００５１】
また、オペレータは、カメラワーク指定ボタン５０３のいずれかを選択することにより、所望のカメラワークを指定することができる。指定されたカメラワークに応じて、パラメータ導出部４０２は、仮想カメラパラメータを導出する。これにより、「直線移動」や「回り込み移動」などのカメラワークを、オペレータが容易に指定することが可能となる。カメラワークが指定された場合の仮想カメラ２０１の動きについては、図６を用いて後述する。
【００５２】
図５（ｂ）は、仮想カメラ座標系（Ｘｃ、Ｙｃ、Ｚｃ）における、仮想カメラ２０１の位置・姿勢（仮想視点の位置・姿勢）に対する操作を説明する図である。
【００５３】
オペレータは、仮想カメラ２０１の位置の変更（移動）を、前後（Ｚｃ軸）、左右（Ｘｃ軸）、上下（Ｙｃ軸）の３方向に指定可能である。つまり、位置の変更（移動）は、３自由度である。移動方向と仮想カメラ座標系の対応は、次の通りとする。すなわち、図２に示すフィールド２０２内に被写体が存在すると想定し、Ｚｃ軸では、プラス方向を前（被写体に向かう方向）、マイナス方向を後（被写体から離れる方向）とする。また、Ｘｃ軸では、プラス方向を右（被写体に向かって右）、マイナス方向を左（被写体に向かって左）とする。また、Ｙｃ軸では、プラス方向を下（被写体に向かって下（フィールド方向））、マイナス方向を上（被写体に向かって上空方向）とする。
【００５４】
姿勢の変更（回転）は、ヨー、ピッチ、ロールの３つの回転が指定可能である。つまり、姿勢の変更（回転）は、３自由度である。ヨーは、Ｙｃ軸回りの回転である。ピッチは、Ｘｃ軸回りの回転である。ロールは、Ｚｃ軸回りの回転である。移動と回転を合わせて、少なくとも６自由度の操作が可能である。各自由度は、ジョイスティック（入力部３０４）と対応付けられてもよい。例えば、ジョイスティックは前後と左右の２自由度を持つため、ジョイスティックを３台使うことで、６自由度の操作が可能となる。
【００５５】
ジョイスティックを３台使う場合の、ジョイスティックと仮想カメラ２０１の動きとの対応付けの例を次に示す。なお、ジョイスティックの前後左右は、図５（ａ）に示す方向に対応する。ここで、１台目のジョイスティックの前後の動きを仮想カメラ２０１のＺｃ軸における動きに、左右の動きを仮想カメラ２０１のＸｃ軸における動きに対応付ける。また、２台目のジョイスティックの前後の動きを仮想カメラ２０１のＹｃ軸における動きに、左右の動きを仮想カメラ２０１のロールに対応付ける。また、３台目のジョイスティックの前後の動きを仮想カメラ２０１のピッチに、左右の動きを仮想カメラ２０１のヨーに対応付ける。この１台目のジョイスティックのように、ジョイスティックの動きを仮想カメラ２０１の動き（移動・回転）と感覚的に一致するように対応付けることにより、オペレータの操作が容易になり得る。
【００５６】
図６（ａ）〜（ｃ）は、カメラワーク指定部４０９によりカメラワークが指定された場合の仮想カメラ２０１の動きを説明する図である。
【００５７】
図６（ａ）は、カメラワークとして「自由移動」が指定された場合の、仮想カメラ２０１ａ、２０１ｂの動き６０１ａ、６０１ｂを説明する図である。「自由移動」では、仮想カメラ座標系から見て、仮想カメラ２０１ａの動き６０１ａの方向が、操作の方向と常に一致する。例えば、オペレータがジョイスティック（入力部３０４）を右に倒すと、仮想カメラ２０１は、仮想カメラ座標系でＸｃ軸のプラスの方向に移動する。しかし、世界座標系（Ｘｗ、Ｙｗ）から見ると、移動方向は変化する。例えば、仮想カメラ２０１ａの動き６０１ａは、Ｘｗ軸のプラスの方向である。しかし、仮想カメラ２０１ｂの動きの６０１ｂは、Ｘｗ軸のプラスとＹｗ軸のマイナスの間の方向に移動する。
【００５８】
図６（ｂ）は、カメラワークに「直線移動」が指定された場合の、仮想カメラ２０１ｃ、２０１ｄの動き６０１ｃ、６０１ｄである。「直線移動」が指定された場合、撮影空間（例えばスタジアム）に仮想的に引かれた直線６０２上を、仮想カメラ２０１が移動する。仮想的な直線６０２は、オペレータが設定してもよい。または、予めパラメータ導出部４０２において設定されていてもよい。または、カメラワークに「直線移動」が指定された際の仮想カメラ２０１の姿勢に合わせて、世界座標系におけるＸｗ軸（左右）またはＹｗ軸（前後）に設定されてもよい。仮想的な直線６０２がＸｗ軸（左右）に設定された場合は、ジョイスティックの左右の操作で、仮想カメラ２０１は、仮想的な直線６０２の上を移動するようになる。仮想的な直線６０２がＹｗ軸（前後）に設定された場合は、ジョイスティックの前後の操作で、仮想カメラ２０１は、仮想的な直線６０２の上を移動するようになる。
【００５９】
図６（ｂ）では、仮想的な直線６０２は、フィールド２０２のサイドラインに沿って設定されているとする。この場合、例えば、ジョイスティックを右に倒すと、仮想カメラ２０１ｃは、仮想的な直線６０２上を、世界座標系でＸｗ軸のプラス方向に移動する（動き６０１ｃ）。つまり、世界座標系での動きの方向が常に一致する。しかし、仮想カメラ座標系から見ると、移動方向は変化する。例えば、仮想カメラ２０１ｃの動き６０１ｃの移動方向は右である。しかし、仮想カメラ２０１ｄの動き６０１ｄの移動方向は右前（Ｚｃ軸のプラス方向とＸｃ軸のプラス方向との間）である。
【００６０】
なお、一定の値以上、オペレータの操作により、仮想カメラ２０１が回転した場合は、カメラワーク指定部４０９は、オペレータの指示に関係なく、「直線移動」を解除して、「自由移動」に変更してもよい。一定の値以上回転すると、仮想カメラ座標系から見て、仮想カメラ２０１の移動方向が、操作の方向と一致せず、オペレータによる操作が困難になるからである。「直線移動」のカメラワークは、例えば、サイドラインと平行に移動しながら選手を追跡して画像を生成する場合に有効である。仮想カメラ２０１ｄのように、ゴール６０６を向くように、少しヨー回転した場合であっても、サイドラインに沿った直線移動が容易である。カメラワークが「自由移動」の場合は、仮想カメラ２０１ｂのように、姿勢を変えると、直線から外れる方向に移動する。仮想カメラ２０１の姿勢の変更に合わせて、操作方向を右前に調整する必要が生じる。
【００６１】
図６（ｃ）は、カメラワークに「回り込み移動」が指定された場合の、仮想カメラ２０１ｅの動き６０１ｅである。「回り込み移動」では、仮想的な円６０５上を仮想カメラ２０１が移動する。例えば、オペレータがジョイスティックを右に倒すと、円６０５上を、仮想カメラ２０１ｅが反時計回りに移動する。また、常に回転中心６０３を向くように、仮想カメラ２０１の姿勢が変更される。仮想的な円６０５は、例えば、予めフィールド上に設定しておく。または、オペレータは、カメラワークの「円周移動」を指定する際に、回転中心６０３と回転半径６０４を指定してもよい。なお、「回り込み移動」の場合は、仮想カメラ２０１の移動は、角速度（回転方向と速さ）で管理されてもよい。
【００６２】
図７は、切り替え前後の仮想カメラ２０１の位置と姿勢を説明する図である。なお、図７（ａ）、（ｂ）では、撮影空間をスタジアムとし、図７（ｃ）では、撮影空間をコンサートホールとする。
【００６３】
図７（ａ）は、被写体の位置が既知である例を示す。被写体７０１ｆの位置は、例えばオートトラッキング技術を用いて求められ、オペレータはその位置が分かっているものとする。図７（ａ）において、切り替え後の仮想カメラ２０１ｇは、切り替え前の仮想カメラ２０１ｆの光軸上の前方向（Ｚｃ軸のプラス方向）に位置する。また、切り替え前の仮想カメラ２０１ｆから被写体７０１ｆまでの距離（ｄ１）と、切り替え後の仮想カメラ２０１ｇから被写体７０１ｆまでの距離（ｄ２）は、略等しいとする。すなわち、仮想カメラ２０１ｇは、被写体７０１ｆを基準として仮想カメラ２０１ｆの反対側となり、被写体７０１ｆを含む共通の撮影空間を有する位置・姿勢となる。切り替え後の仮想カメラ２０１ｇの姿勢は、世界座標系から見て、切り替え前の仮想カメラ２０１ｆと逆向きとなる。
【００６４】
図７（ｂ）は、被写体の位置が既知でない例を示す。この場合、フィールドの外周を、撮影空間（スタジアム）内の仮想的なレール７０２として設定する。仮想カメラ２０１ｈから切り替え後の仮想カメラ２０１ｉの位置は、仮想カメラ２０１ｈの光軸の前方向と、仮想的なレール７０２が交差する点に設定する。切り替え後の仮想カメラ２０１ｉの位置は、被写体が既知でなくても、フィールド内のある場所や焦点位置や新たに設定した被写体（仮想カメラ２０１ｈと仮想カメラ２０１ｉの位置の略中間点）を基準として、仮想カメラ２０１ｈの位置と略対称的な位置となる。切り替え後の仮想カメラ２０１ｉの位置・姿勢は、切り替え前と共通の撮影空間を有するように、世界座標系から見て、切り替え前の仮想カメラ２０１ｈと逆向きとなる。また、仮想カメラ２０１ｊから仮想カメラ２０１ｋに切り替える場合、切り替え前の仮想カメラ２０１ｊの光軸の前方向と、仮想的なレール７０２が複数回交差する。この場合は、切り替え前の仮想カメラ２０１ｊから一番遠い交差点を、切り替え後の仮想カメラ２０１ｋの位置とする。
【００６５】
図７（ｃ）は、被写体の位置が既知でない別の例を示す。この場合、予め撮影空間（コンサートホール）内に仮想的な中心線７０３を設定する。仮想的な中心線７０３を用いて、仮想カメラ２０１ｌから仮想カメラ２０１ｍに切り替えられる。切り替え後の仮想カメラ２０１ｍの位置は、切り替え前の仮想カメラ２０１ｌの光軸上の前方向となる。また、切り替え前の仮想カメラ２０１ｌから仮想的な中心線７０３までの距離（ｄ１）と、切り替え後の仮想カメラ２０１ｍから仮想的な中心線７０３までの距離（ｄ２）は、略等しいとする。すなわち、仮想カメラ２０１ｍは、仮想的な中心線７０３を基準として仮想カメラ２０１ｌの反対側となり、共通の撮影空間を有する位置・姿勢となる。切り替え後の仮想カメラ２０１ｍの姿勢は、世界座標系から見て、切り替え前の仮想カメラ２０１ｌと逆向きとする。
【００６６】
図８は、情報処理装置１０５による仮想カメラ２０１の位置の切り替え処理を説明するフローチャートである。Ｓ８０１で、情報処理装置１０５は、入力部３０４を介してオペレータの操作を受け付ける。Ｓ８０２で、情報処理装置１０５の切り替え部４１０は、受け付けたオペレータの操作が、仮想カメラ２０１（仮想視点）の位置を、現在と異なる位置に切り替えるための指示操作か否かを判定する。例えば、切り替え部４１０は、オペレータにより仮想カメラ切り替えボタン５０２（図５）が選択された場合、仮想カメラ２０１の切り替え操作が行われたと判定する。仮想カメラ２０１の切り替え操作が行われたと判定されたた場合（Ｓ８０２でＹｅｓ）は、処理はＳ８０３へ進む。そうでない場合（Ｓ８０２でＮｏ）は、Ｓ８０５へ進む。
【００６７】
Ｓ８０３で、切り替え部４１０は、オペレータの操作により、仮想カメラ２０１の位置を所定の場所／位置（例えば被写体）を基準に反対側に移動させるように明示的に指定されたか否かを判定する。例えば、オペレータにより仮想カメラ切り替えボタン５０２（図５）が選択された場合、切り替え部４１０は、仮想カメラ２０１の位置を所定の位置を基準に反対側に移動させるように明示的に指定されたと判定し（Ｓ８０３でＹｅｓ）、処理はＳ８０４へ進む。一方、オペレータにより、切り替え後の仮想カメラ２０１の位置と姿勢が直接指定された場合や、所定の場所にプリセットされた仮想カメラが選択された場合（Ｓ８０３でＮｏ）、処理はＳ８０６へ進む。
【００６８】
Ｓ８０４で、切り替え部４１０は、仮想カメラ２０１を、所定の位置を基準に、切り替え前と共通の撮影空間を有するように、反対側に切り替えるための制御を行う。本ステップの具体的な処理手順は、図９を用いて後述する。
【００６９】
Ｓ８０５で、情報処理装置１０５は、オペレータによる操作に応じた処理を行う。例えば、仮想カメラ操作部４０１が、オペレータの操作により仮想カメラ２０１の移動や回転操作を受け付けた場合は、対応する処理を行う。また、カメラワーク指定部４０９が、オペレータの操作によりカメラワークの指定を受け付けた場合は、当該指定に対応する処理を行う。
【００７０】
Ｓ８０６で、切り替え部４１０が、オペレータが操作する仮想カメラ２０１を、指定された位置の仮想カメラ２０１に切り替えるための制御を行う。例えば、プリセットされた位置に、仮想カメラ２０１の位置が切り替えられる。または、情報処理装置１０５は、出力部３０６に、撮影空間（スタジアムなど）の３Ｄモデルを表示し、オペレータが３Ｄモデル上で、切り替え後の仮想カメラ２０１の位置と姿勢を直接指定する構成としてもよい。本ステップの具体的な処理手順は、図１０を用いて後述する。
【００７１】
図９は、仮想カメラを所定の位置を基準に反対側に切り替えるＳ８０４の処理手順を説明するフローチャートである。なお、以下の説明において、切り替え前の仮想カメラ２０１を第１の仮想カメラ２０１Ａ、切り替え後の仮想カメラ２０１を第２の仮想カメラ２０１Ｂとする。
【００７２】
Ｓ９０１で、切り替え部４１０は、第２の仮想カメラ２０１Ｂの位置を設定する。第２の仮想カメラ２０１Ｂの位置は、例えば図７を用いて説明した通りである。
【００７３】
Ｓ９０２で、カメラワーク判定部４１１は、第１の仮想カメラ２０１Ａのカメラワーク（動き方）を取得する。Ｓ９０３で、カメラワーク判定部４１１が、取得したカメラワークが「直線移動」であるか否かを判定する。「直線移動」の場合（Ｓ９０３でＹｅｓ）は、処理はＳ９０４へ進む。そうでない場合（Ｓ９０３でＮｏ）は、処理はＳ９０６へ進む。
【００７４】
Ｓ９０４で、初速設定部４１２は、世界座標系から見た第１の仮想カメラ２０１Ａの切り替え直前の動き（移動速度）を取得する。ここで、移動速度は、移動方向と速さである。続いて、Ｓ９０５で、初速設定部４１２は、取得した移動速度を、第２の仮想カメラ２０１Ｂの初速として設定する。
【００７５】
Ｓ９０３でＮｏの場合、Ｓ９０６で、カメラワーク判定部４１１は、取得したカメラワークが「回り込み移動」であるか否かを判定する。「回り込み移動」の場合（Ｓ９０６でＹｅｓ）は、処理はＳ９０７へ進む。そうでない場合（Ｓ９０６でＮｏ）は、処理はＳ９０９へ進む。
【００７６】
Ｓ９０７で、初速設定部４１２は、世界座標系から見た第１の仮想カメラ２０１の切り替え直前の動き（回転中心と角速度）を取得する。ここで、角速度は、回転方向と速さである。続いて、Ｓ９０８で、初速設定部４１２は、取得した回転中心と角速度を、第２の仮想カメラ２０１Ｂの初速として設定する。
【００７７】
Ｓ９０６でＮｏの場合、Ｓ９０９で、仮想カメラ操作部４０１は、第１の仮想カメラ２０１に対するオペレータの操作の有無を判定する。仮想カメラ操作部４０１は、例えばジョイスティック（入力部３０４）が、前後左右のいずれかの方向に倒されていることを検知した場合は、操作が有ると判定し（Ｓ９０９でＹｅｓ）、処理はＳ９１０へ進む。また、仮想カメラ操作部４０１が、例えばジョイスティックがニュートラルの位置に有ることを検知した場合は、操作が無いと判定し（Ｓ９０９でＮｏ）、処理はＳ９１３へ進む。
【００７８】
Ｓ９１０で、操作ＵＩ部４７０部は、第１の仮想カメラ２０１Ａの位置・姿勢を、第２の仮想カメラ２０１Ｂの位置・姿勢に切り換える。具体的には、パラメータ導出部４０２が、カメラワーク指定部４０９、仮想カメラ切り替え部４１０、初速設定部４１２から取得した情報に基づいて、仮想カメラパラメータを導出する。当該仮想カメラパラメータは、制約判定部４０４による判定後、仮想カメラパス管理部４０６を介してバックエンドサーバ１０４に送信される。これにより、ディスプレイに表示される仮想視点画像５０１も、第２の仮想カメラ２０１Ｂの視点（仮想視点）から見たものに変更される。
【００７９】
Ｓ９１１で、仮想カメラ操作部４０１は、第２の仮想カメラ２０１Ｂに対するオペレータの操作入力を無効にする。なお、フィードバック出力部４０５は、操作が無効であることをディスプレイ（出力部３０６）などに出力してもよい。なお、図９では、Ｓ９１１で第２の仮想カメラ２０１Ｂに切り替えた後、Ｓ９１２で、仮想カメラ操作部４０１は、オペレータの操作を無効にしている。このような手順に限定されず、まず仮想カメラ操作部４０１がオペレータの操作を無効にし、その後で第２の仮想カメラ２０１Ｂに切り替える処理手順としてもよい。
【００８０】
Ｓ９１２で、仮想カメラ操作部４０１は、所定の条件が満たされることに応じて、第２の仮想カメラ２０１Ｂに対するオペレータの操作を有効に戻す。例えば、オペレータの操作により、ジョイスティックがニュートラルの位置になった場合や、所定時間経過した場合に、有効に戻す。
【００８１】
Ｓ９０９でＮｏの場合、Ｓ９１３で、操作ＵＩ部４７０部は、第１の仮想カメラ２０１Ａの位置・姿勢を、第２の仮想カメラ２０１Ｂの位置・姿勢に切り換える。当ステップの処理は、Ｓ９１１と同様である。本実施形態では、Ｓ９１３の処理の後、仮想カメラ操作部４０１は、オペレータの操作が無効にしないものとする。これは、Ｓ９０９でＮｏの場合は、例えば、ジョイスティック（入力部３０４）の操作位置がニュートラルにあり、オペレータの意図しない方向に第２の仮想カメラ２０１Ｂが移動するおそれが少ないためである。
【００８２】
図１０は、指定された位置・姿勢の仮想カメラに切り替えるＳ８０６の処理手順を説明するフローチャートである。なお、図９と同様に、以下の説明において、切り替え前の仮想カメラ２０１を第１の仮想カメラ２０１Ａ、切り替え後の仮想カメラ２０１を第２の仮想カメラ２０１Ｂとする。
【００８３】
Ｓ１００１で、切り替え部４１０は、オペレータにより入力部３０４を介して指定された位置と姿勢に基づいて、第２の仮想カメラ２０１Ｂの位置と姿勢を設定する。
【００８４】
Ｓ１００２で、カメラワーク判定部４１１は、第１の仮想カメラ２０１Ａと第２の仮想カメラ２０１Ｂそれぞれの位置と姿勢に基づいて、第１の仮想カメラ２０１Ａと第２の仮想カメラ２０１Ｂ間の向きの変化を導出する。例えば、カメラワーク判定部４１１は、第１の仮想カメラ２０１Ａと第２の仮想カメラ２０１Ｂに対し、世界座標系から見た光軸方向のベクトルを求め、さらに、２つのベクトルの内積を計算し角度を求め、当該角度を、向きの変化とする。また、第１の仮想カメラ２０１Ａ（切り替え前の仮想視点）から被写体に対する方向と、第２の仮想カメラ２０１Ｂ（切り替え後の仮想視点）から当該被写体に対する方向が為す角度を、向きの変化としてもよい。
【００８５】
Ｓ１００３で、カメラワーク判定部４１１は、Ｓ１００２で導出された向きの変化が、所定値（所定の角度）以内か否かを判定する。所定の角度は、仮想カメラ２０１の水平画角に対する割合で決めてもよい。例えば、水平画角を５０度とし、割合を１０％とすると、所定の角度は、左右に５度の範囲と設定される。カメラワーク判定部４１１は、向きの変化が、所定値未満（所定の角度未満）と判定した場合（Ｓ１００３でＹｅｓ）は、処理はＳ１００４へ進む。向きの変化が、所定値以上（所定の角度以上）と判定された場合（Ｓ１００３でＮｏ）は、処理はＳ１０１１へ進む。
【００８６】
Ｓ１００４で、カメラワーク判定部４１１は、第１の仮想カメラ２０１Ａと第２の仮想カメラ２０１Ｂの位置の変化を導出する。続いて、Ｓ１００５で、カメラワーク判定部４１１は、第２の仮想カメラ２０１Ｂが、第１の仮想カメラ２０１Ａの前方または後方（すなわち、Ｚｃ軸上）に位置するか否かを判定する。カメラワーク判定部４１１は、第２の仮想カメラ２０１Ｂが、第１の仮想カメラ２０１Ａの前方または後方に位置すると判定した場合（Ｓ１００５でＹｅｓ）は、処理はＳ１００６へ進む。
【００８７】
Ｓ１００６で、カメラワーク判定部４１１は、第１の仮想カメラ２０１Ａのカメラワーク（動き方）を取得する。Ｓ１００７で、カメラワーク判定部４１１は、取得したカメラワークが「直線移動」であるか否かを判定する。「直線移動」の場合（Ｓ１００７でＹｅｓ）は、処理はＳ１００８へ進む。そうでない場合（Ｓ１００７でＮｏ）は、処理はＳ１０１１へ進む。
【００８８】
Ｓ１００８で、初速設定部４１２は、世界座標系から見た第１の仮想カメラ２０１Ａの切り替え直前の動き（移動速度）を取得する。ここで移動速度は、移動方向と速さである。Ｓ１００９で、初速設定部４１２は、取得した移動速度を、第２の仮想カメラ２０１Ｂの初速としてに設定する。Ｓ１０１０で、操作ＵＩ部４７０は、第１の仮想カメラ２０１Ａの位置・姿勢を、第２の仮想カメラ２０１Ｂの位置・姿勢に切り換える。当ステップの処理は、Ｓ９１１と同様である。
【００８９】
Ｓ１００５でＮｏの場合、Ｓ１０１１で、操作ＵＩ部４７０は、第１の仮想カメラ２０１Ａの位置・姿勢を、第２の仮想カメラ２０１Ｂの位置・姿勢に切り換える。当ステップの処理は、Ｓ９１１と同様である。続いて、Ｓ１０１２で、仮想カメラ操作部４０１は、第２の仮想カメラ２０１Ｂに対するオペレータの操作を無効にする。Ｓ１００５でＮｏの場合は、第１の仮想カメラから見える対象が、第２の仮想カメラ２０１Ｂから見える対象と大きく異なる可能性がある。従って、オペレータの混乱による意図しない操作を防ぐために、Ｓ１０１２で、仮想カメラ操作部４０１は、オペレータの操作を無効にする。Ｓ１０１３で、所定の条件が満たされることに応じて、仮想カメラ操作部４０１が、第２の仮想カメラ２０１Ｂに対するオペレータの操作を有効に戻す。
【００９０】
図１１は、仮想カメラ２０１の切り替え操作の具体例を説明する図である。図１１（ａ）は、切り替え前の仮想カメラ２０１ｎと切り替え後の仮想カメラ２０１ｏと、フィールド２０２の関係を説明する図である。オペレータは、仮想カメラ２０１ｎを操作して、被写体７０１ｎを横から追跡（並走）して撮影しているとする。被写体７０１ｎは、フィールド２０２を、ゴールＡからゴールＢの方向に進んでいる。つまり、被写体７０１ｎの動き１１０１ｎの方向は、Ｘｗ軸（世界座標系のＸ軸）のマイナス方向である。一方、仮想カメラ２０１ｎの仮想カメラ座標系から見ると、被写体７０１ｎは左に動いている。オペレータは、被写体７０１ｎの動き１１０ｎに合わせて、仮想カメラ２０１ｎを左に動かしている。仮想カメラ２０１ｎの動き６０１ｎの方向は左である。これは仮想カメラ２０１ｎの仮想カメラ座標系から見た動きである。一方、世界座標系から見ると、仮想カメラ２０１ｎは、Ｘｗ軸のマイナス方向に動いている。
【００９１】
図１１（ａ）に示す状況において、ディスプレイ（出力部３０６）に示される画像を、図１１（ｂ）に示す。なお、図１１（ｂ）において、被写体７０１ｎの動き１１０１ｎと、仮想カメラ２０１ｎの動き６０１ｎは、説明するための矢印であり、ディスプレイ上には表示されないものとする。オペレータは、ジョイスティック（入力部３０４）を左に倒し、仮想カメラ２０１ｎを左に動かしている。ここで、オペレータは、被写体７０１ｎを反対側から撮影するために、被写体７０１ｎを基準として反対側の仮想カメラ２０１ｏに切り替えるように、情報処理装置１０５に対して操作を行う。例えば、オペレータは、ディスプレイ（出力部３０６）に表示される図５における仮想カメラ切り替えボタン５０２の「反対」を選択し、仮想カメラ２０１ｎから仮想カメラ２０１ｏに仮想視点を切り替える。
【００９２】
図１１（ｃ）は、仮想カメラ２０１ｃに切り換え後の、ディスプレイ（出力部３０６）に示される画像を示す。切り替え後の仮想カメラ２０１ｏから見ると、被写体７０１ｎの動き１１０ｎは、切り替え前と逆の右である。ここで、オペレータは、ジョイスティック（入力部３０４）を左に倒したままである。しかし、仮想カメラ操作部４０１が、オペレータの操作を無効にしたので、切り替え後の仮想カメラ２０１ｏが左に動くことはない。一方、初速設定部４１２は、切り替え後の仮想カメラ２０１ｏの動き６０１ｏを、世界座標系から見て、切り替え前の仮想カメラ２０１ｎの動き６０１ｎと等しく（維持されるように）設定する。これは、切り替え後の仮想カメラ２０１ｏの仮想カメラ座標系から見ると右である。図１１（ｃ）に示すように、オペレータの操作とは逆方向に仮想カメラ２０１ｏが動く。これにより、切り替え前後の仮想カメラ２０１が連携して動き、結果としてスムーズに被写体７０１ｎを撮影し続けることが可能となる。また、フィードバック出力部４０５が、自動操作であることを示す情報１１０２をディスプレイ（出力部３０６）に表示することも可能である。この後、例えば、オペレータがジョイスティックのバーをニュートラルに戻すと、自動操作が解除され、オペレータの操作が再度有効になる。
【００９３】
図１２は、切り替え前後の仮想カメラ２０１の連携した動きを説明する図である。図１２（ａ）は、オペレータが、仮想カメラ２０１ｐを操作して、被写体７０１ｐを後ろから追跡して撮影している場面を示す。被写体７０１ｐの動き１１０１ｐの方向は、世界座標系から見ると、Ｙｗ軸のプラス方向である。一方、仮想カメラ２０１ｐの仮想カメラ座標系から見ると、被写体７０１ｐは前（遠ざかる方向）に動いている。オペレータは、被写体７０１ｐの動きに合わせて、仮想カメラ２０１ｐを前に動かしている。ここで、オペレータは、被写体７０１ｐを反対側から撮影するために、反対側の仮想カメラ２０１ｑに切り替える。切り替え直後の仮想カメラ２０１ｑの動き６０１ｑは、世界座標系から見て、切り替え直前の仮想カメラ２０１ｐの動きと等しく設定される。この場合のカメラワークは直線移動なので、速度（移動方向と速さ）が等しくなるように設定する。つまり、世界座標系から見るとＹｗ軸のプラス方向である。これは、仮想カメラ２０１ｑの座標系からみると後である。つまり、迫ってくる被写体７０１ｐに対し、後ろに下がりながら撮影できる。なお、図１２（ａ）の切り替えは、図９で、Ｓ９０３でＹｅｓと判定されるパスである。
【００９４】
図１２（ｂ）は、オペレータが、仮想カメラ２０１ｒを操作して、被写体７０１ｒを中心に時計回りに回り込みながら撮影している場面である。ここで、オペレータは、被写体７０１ｒを反対側から撮影するために、反対側の仮想カメラ２０１ｓに切り替える。この場合のカメラワークが回り込み移動なので、回転中心と角速度（回転の向きと速さ）が等しくなるように設定される。つまり、切り替え後の仮想カメラ２０１ｓも時計回りに、被写体の回りを回り込みながら撮影できる。なお、図１２（ｂ）の切り替えは、図９で、Ｓ９０３でＮｏ、Ｓ９０６でＹｅｓと判定されるパスである。
【００９５】
図１２（ｃ）は、オペレータが、仮想カメラ２０１ｔを操作して、被写体７０１ｔを後ろから追跡して撮影している場面である。仮想カメラ２０１ｔと被写体７０１ｔの関係は図１２（ａ）と同じである。ここで、オペレータは、被写体７０１ｔをより近くから撮影するために、同じ向きの少し前の仮想カメラ２０１ｕに切り替える。この場合のカメラワークが直線移動なので、世界座標系から見て、速度（移動方向と速さ）が等しくなるように設定される。つまり、被写体７０１ｔに近付いた後も、切り替え前後で連携したスムーズなカメラワークが可能である。なお、図１２（ｃ）の切り替えは、図１０で、Ｓ１００３でＹｅｓ、Ｓ１００５でＹｅｓ、Ｓ１００７でＹｅｓと判定されるパスである。切り変え前後で仮想カメラ２０１の向きが変わらないため、ユーザの操作は無効にならない。
【００９６】
このように、以上に説明した実施形態によれば、仮想カメラの位置・姿勢を切り替えることにより、仮想視点を変化させた場合であっても、適切な仮想視点画像を得ることができる。特に、被写体が動体の場合に、当該被写体を向くように、当該被写体を基準として反対側の位置に仮想カメラを切り替えた場合にも、仮想カメラ（仮想視点）が適切に制御されることにより、被写体が仮想視点画像から消失するような問題が生じにくいという効果が得られる。即ち、仮想カメラの切り替え前後でスムーズなカメラワークを容易に実現することができる。従って、ユーザ操作による操作に基づく仮想視点の切り替えをスムーズに行えるようになる。
【００９７】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。  
【符号の説明】
【００９８】
１０５  情報処理装置、  ４０１  仮想カメラ操作部、  ４０２  パラメータ導出部、  ４０３  制約管理部、  ４０４  制約判定部、  ４０５  フィードバック出力部、  ４０６  仮想カメラパス管理部、  ４０７  データ指定部、  ４０８  データ出力部、  ４０９  カメラワーク指定部、  ４１０  切り替え部、  ４１１  カメラワーク判定部、  ４１２  初速設定部、  ４７０  操作ＵＩ部、  ４８０  仮想カメラ管理部、  ４９０  拡張機能処理部
【図１】
2018092491.tif 000003
【図２】
2018092491.tif 000004
【図３】
2018092491.tif 000005
【図４】
2018092491.tif 000006
【図５】
2018092491.tif 000007
【図６】
2018092491.tif 000008
【図７】
2018092491.tif 000009
【図８】
2018092491.tif 000010
【図９】
2018092491.tif 000011
【図１０】
2018092491.tif 000012
【図１１】
2018092491.tif 000013
【図１２】
2018092491.tif 000014
【図１３】
2018092491.tif 000015
【手続補正書】
【提出日】平成29年10月18日(2017.10.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の撮影装置により撮影された複数の撮影画像を用いて仮想視点画像を生成するための仮想視点の位置および／または姿勢を連続的に移動操作するための操作手段による操作情報を受け付ける入力手段と、
前記仮想視点を、当該仮想視点の位置と空間的に離れた位置にあり、前記仮想視点と異なる他の仮想視点に切り替える切り替え手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記切り替え手段により前記仮想視点が切り替えられた場合に、当該切り替え前の前記操作情報に基づく前記仮想視点の動き方に基づいて、当該切り替え後の前記他の仮想視点の動き方を決定する決定手段をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記仮想視点の一意に定義された座標における、前記切り替え前の前記操作情報に基づく移動方向が維持されるように、前記切り替え後の前記他の仮想視点の動き方として、前記他の仮想視点の移動方向を決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記仮想視点から被写体に対する方向と、前記他の仮想視点から前記被写体に対する方向とが為す角度が所定値以上である場合に、
前記決定手段は、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と逆の方向に決定し、
前記仮想視点から被写体に対する方向と、前記他の仮想視点から前記被写体に対する方向とが為す角度が所定値未満である場合に、
前記決定手段は、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と同じ方向に決定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記他の仮想視点の位置・姿勢が、前記仮想視点の位置・姿勢と所定の対象を基準に反対の関係にある場合、
前記決定手段は、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と逆の方向に決定し、
前記他の仮想視点の位置・姿勢が、前記仮想視点の位置・姿勢と所定の対象を基準に反対の関係にない場合、
前記決定手段は、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と同じ方向に決定することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記所定の対象は、被写体であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記決定手段により、前記他の仮想視点の移動方向を、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と逆の方向にすると決定された場合に、前記操作手段による移動操作を一時的に無効にさせる制御手段を更に有することを特徴とする請求項４から６のいずれか１項記載の情報処理装置。
【請求項８】
前記制御手段により前記操作情報に基づく移動操作が一時的に無効にされた場合、所定の条件が満たされることに応じて、前記操作情報に基づく移動操作を有効にさせることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記所定の条件は、前記操作手段による所定の操作または所定の時間が経過することであることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記切り替え手段により前記仮想視点が切り替えられた場合に、前記切り換え前の前記操作情報に基づく前記仮想視点の移動方向と移動速度に基づいて、当該切り替え後の前記他の仮想視点の初速を設定する初速設定手段を更に有することを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記切り替え前の前記操作情報に基づく前記仮想視点の移動方向が直線の方向、または、所定の円周移動する方向である場合、前記初速設定手段は、前記他の仮想視点の初速を、前記仮想視点の前記移動速度に設定することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
仮想視点画像を生成するための仮想視点の位置および／または姿勢を連続的に移動させるための入力を受け付ける入力手段と、
前記仮想視点の位置を所定の位置に切り替える切り替え手段と、
前記入力手段が前記入力を受け付けている際に、前記切り替え手段により前記仮想視点の位置が切り替えられた場合に、当該切り替え前の前記入力手段が前記入力に従った前記仮想視点の動き方に基づいて、当該切り替え後の前記仮想視点の動き方を決定する決定手段と、を有することを特徴とする情報処理装置。
【請求項１３】
前記入力手段が前記入力を受け付けている際に、前記切り替え手段により前記仮想視点の位置が切り替えられた場合に、当該切り替えた後の前記入力手段による前記入力に従った前記仮想視点の移動は行わないことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記入力手段が前記入力を受け付けている際に、前記切り替え手段により前記仮想視点の位置が切り替えられた場合に、当該切り替えた後の前記入力手段による前記入力を無効化することを特徴とする請求項１２に記載の情報処理装置。
【請求項１５】
前記入力手段が前記入力を受け付けている際に、前記切り替え手段により前記仮想視点の位置が切り替えられた場合に、当該切り替えた後の前記入力手段が所定の状態となった場合、当該切り替えた後の前記入力手段による前記入力を有効化し、前記入力手段による前記入力に従った前記仮想視点の移動を行うことを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記所定の状態は、前記仮想視点の位置および／または姿勢を連続的に移動させるためのジョイスティックがニュートラルになる状態であることを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記決定手段は、前記入力手段が前記入力を受け付けている際に、前記切り替え手段により前記仮想視点の位置が切り替えられた場合に、当該切り替えた後の前記入力手段による前記入力に拘らず、当該切り替え前と同じ方向に前記仮想視点を移動させることを決定することを特徴とする請求項１２に記載の情報処理装置。
【請求項１８】
複数の撮影装置により撮影された複数の撮影画像を用いて仮想視点画像を生成するための仮想視点の位置および／または姿勢を連続的に移動操作するための操作手段を有する情報処理装置の制御方法であって、
前記仮想視点を、当該仮想視点の位置と空間的に離れた位置にあり、前記仮想視点と共通の撮影空間を有する他の仮想視点に切り替えることを特徴とする情報処理装置の制御方法。
【請求項１９】
コンピュータを、請求項１から１７のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するための一手段として、本発明の情報処理装置は以下の構成を有する。すなわち、複数の撮影装置により撮影された複数の撮影画像を用いて仮想視点画像を生成するための仮想視点の位置および／または姿勢を連続的に移動操作するための操作手段による操作情報を受け付ける入力手段と、前記仮想視点を、当該仮想視点の位置と空間的に離れた位置にあり、前記仮想視点と異なる他の仮想視点に切り替える切り替え手段と、を有する。