(57)【要約】【課題】仮想視点の設定に係る操作性を向上させる。【解決手段】仮想視点画像の生成に用いる複数視点画像の撮影シーンに対応したＵＩ画面上で仮想カメラを操縦するためのコントローラと、前記撮影シーンを対象として予め作成された前記仮想カメラの位置の軌跡を示すカメラパスを記憶する記憶手段と、所定条件が満たされた場合、前記コントローラを介して指定された現在の仮想カメラの位置を前記カメラパスへと遷移させる、制御手段と、を備えたことを特徴とする。【選択図】図２
2020077108.tif 000002
【特許請求の範囲】
【請求項１】
仮想視点画像の生成に用いる複数視点画像の撮影シーンに対応したＵＩ画面上で仮想カメラを操縦するためのコントローラと、
前記撮影シーンを対象として予め作成された前記仮想カメラの位置の軌跡を示すカメラパスを記憶する記憶手段と、
所定条件が満たされた場合、前記コントローラを介して指定された現在の仮想カメラの位置を前記カメラパスへと遷移させる、制御手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記コントローラからの入力値に基づき、前記仮想カメラの視点を規定するカメラパラメータを生成する処理手段をさらに備え、
前記所定条件が満たされたか否かは、前記処理手段で生成された前記カメラパラメータと前記カメラパスとに基づいて判定される
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定条件は、前記コントローラからの入力値に基づいて生成されたカメラパラメータが表す仮想カメラの位置が、前記カメラパスにおける基準となるキーフレームにおけるカメラパラメータが表す位置の一定距離以内に近づいたことである、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ＵＩ画面は、前記一定距離の範囲を重畳表示したＵＩ画面であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記所定条件は、前記コントローラからの入力値に基づいて生成されたカメラパラメータが表す仮想カメラの姿勢が、前記カメラパスにおける基準となるキーフレームにおけるカメラパラメータが表す姿勢と一致又は類似することである、ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記ＵＩ画面は、前記カメラパスを重畳表示したＵＩ画面であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記コントローラからの入力値に基づいて生成されたカメラパラメータが表す仮想カメラの位置を、前記カメラパスを構成する時系列に連続する複数のカメラパラメータのうちいずれか１つのカメラパラメータが表す位置との間を埋めるカメラパラメータを補間処理によって求めることにより、前記カメラパスへと遷移させることを特徴とする請求項１乃至６のいずれかに記載の情報処理装置。
【請求項８】
前記いずれか１つのカメラパラメータが表す位置は、前記カメラパスにおける基準となるキーフレームにおけるカメラパラメータが表す位置であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記所定条件が満たされたか否かは、前記コントローラからの入力値に応答して判定されることを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記コントローラからの入力値に基づき、前記仮想カメラの視点を規定するカメラパラメータを生成する処理手段をさらに備え、
前記制御手段は、前記コントローラからの入力値に基づいて生成されたカメラパラメータが表す仮想カメラの位置を、前記カメラパスを構成する時系列に連続する複数のカメラパラメータのうちいずれか１つのカメラパラメータが表す位置との間を埋めるカメラパラメータを補間処理によって求めることにより、前記カメラパスへと遷移させることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記いずれか１つのカメラパラメータが表す位置は、前記カメラパスにおける基準となるキーフレームにおけるカメラパラメータが表す位置であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記制御手段は、前記コントローラからの入力値が前記所定条件とは異なる離脱のための条件を満たす場合、前記コントローラを介して指定された現在の仮想カメラの位置を前記カメラパスから離脱させることを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
複数の前記コントローラを有し、
前記所定条件が満たされたか否かは、複数の前記コントローラのうちいずれかのコントローラからの入力値に基づいて判定される
ことを特徴とする請求項９乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記コントローラの操縦によって変化し得る要素として、前記仮想カメラの位置、姿勢、ズームを含み、
前記要素のうち少なくとも１つの要素について、前記カメラパスへの遷移の前後において指定し得る値域が異なる
ことを特徴とする請求項２乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
仮想視点画像の生成に用いる複数視点画像の撮影シーンに対応したＵＩ画面上で仮想カメラを設定するための制御方法であって、
前記仮想カメラの位置を指定するためのコントローラからの入力を受け付けるステップと、
前記撮影シーンを対象として予め作成された前記仮想カメラの位置の軌跡を示すカメラパスを取得するステップと、
所定条件が満たされた場合、前記コントローラを介して指定された現在の仮想カメラの位置を、前記カメラパスへと遷移させるステップと、
を含むことを特徴とする制御方法。
【請求項１６】
コンピュータを、請求項１乃至１４のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想視点の設定を行うための技術に関する。
【背景技術】
【０００２】
複数台の実カメラで撮影した映像を用いて、３次元空間内に仮想的に配置した実際には存在しないカメラ（仮想カメラ）からの映像を再現する技術として、仮想視点画像生成技術がある。
【０００３】
仮想視点映像の生成に必要な仮想カメラの視点情報は、ユーザがＵＩ画面上で例えばジョイスティックなどのコントローラを用いて、仮想カメラの移動方向、向き（姿勢）、回転、移動距離や移動速度を入力することで設定される。対象とする３次元空間において仮想カメラの滑らかな移動を実現するには、コントローラの繊細な操作が要求され、安定した軌跡の仮想カメラの経路（カメラパス）を作成することは容易ではない。この点に関し、特許文献１には、所定の条件を満たす場合に、ユーザが操縦する移動体の挙動を制限し、その制限に応じて、移動体の挙動に追従する仮想カメラの挙動を制限することで、安定した仮想カメラの挙動を実現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２１５９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、仮想視点の設定に係る操作性は十分ではなかった。例えば、ユーザがジョイスティックなどのコントローラを用いて仮想カメラを操縦すると、上述の通り、繊細で複雑な操作が要求される恐れがある。また、仮想カメラの挙動が一部制限されたとしても、依然として操作性が十分でない恐れがあった。
【０００６】
本発明は、仮想視点の設定に係る操作性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、仮想視点画像の生成に用いる複数視点画像の撮影シーンに対応したＵＩ画面上で仮想カメラを操縦するためのコントローラと、前記撮影シーンを対象として予め作成された前記仮想カメラの位置の軌跡を示すカメラパスを記憶する記憶手段と、所定条件が満たされた場合、前記コントローラを介して指定された現在の仮想カメラの位置を前記カメラパスへと遷移させる、制御手段とを備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、仮想視点の設定に係る操作性が向上する。
【図面の簡単な説明】
【０００９】
【図１】（ａ）は仮想視点画像を生成する画像処理システムの全体構成を示す図、（ｂ）は情報処理装置のハードウェア構成の一例を示す図
【図２】情報処理装置の、カメラパスの設定に関わるソフトウェア構成の一例を示す図
【図３】カメラパラメータの値域を設定するＵＩ画面の一例を示す図
【図４】（ａ）及び（ｂ）は、実施形態１に係る仮想カメラの経路設定用ＵＩ画面の一例を示す図
【図５】実施形態１に係る、自由カメラパスから固定カメラパスへの遷移を制御する処理の流れを示すフローチャート
【図６】（ａ）及び（ｂ）は、実施形態２に係る仮想カメラ操作用ＵＩ画面の一例を示す図情報処理の一例を示すフローチャート
【図７】実施形態２に係る、自由カメラパスから固定カメラパスへの遷移を制御する処理の流れを示すフローチャート
【図８】（ａ）及び（ｂ）は、仮想カメラの移動速度が変化する様子を示す図
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して実施形態について詳細に説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【実施形態１】
【００１１】
実施形態１では、３次元空間上を自由に動く仮想カメラの自由移動からカメラパス上を動く制約移動に自動遷移する処理を説明する。なお、本実施形態では説明の便宜上、仮想カメラという用語を用いて説明する。仮想カメラの位置は仮想視点の位置、仮想カメラの姿勢（向き）は仮想視点の向き、仮想カメラのズーム（焦点距離）は仮想視点に係るズームパラメータにそれぞれ対応する。
【００１２】
（システム構成）
図１（ａ）は、本実施形態に係る、仮想視点画像を生成することが可能な画像処理システムの全体構成を示す図である。画像処理システム１０は、撮影システム１０１、仮想視点画像生成サーバ１０２、情報処理装置１０３を有する。なお、仮想視点画像とは実カメラとは異なる仮想カメラの位置及び向き等に基づいて生成される画像であり、自由視点画像や任意視点画像とも呼ばれる。なお、仮想カメラは、エンドユーザや専任のオペレータ等による手動操作、コンテンツの内容に応じた自動操作、及び、予め定められたカメラパス（固定カメラパス）に基づく自動操作などにより制御されうる。また、仮想視点画像は、動画であっても、静止画であっても良い。以下では、仮想視点画像が動画である場合の例を中心に説明する。
【００１３】
撮影システム１０１は、複数のカメラを例えば陸上競技を行うスタジアム内の異なる位置に配置し、複数の視点からの画像を同期して撮影する。同期撮影によって得られた複数視点画像のデータは、仮想視点画像生成サーバ１０２に送信される。
【００１４】
仮想視点画像生成サーバ１０２は、撮影システム１０１から受信した複数視点画像を元に、撮影システム１０１が有するどのカメラとも異なる実在しないカメラ（仮想カメラ）の視点から見た仮想視点画像を生成する。仮想カメラの視点は、後述する情報処理装置１０３が決定する、仮想カメラの視点を規定するパラメータ（以下、「カメラパラメータ」と呼ぶ。）によって表現される。仮想視点画像生成サーバ１０２は、情報処理装置１０３から受信するカメラパラメータに基づき、仮想視点画像を順次生成する。
【００１５】
情報処理装置１０３は、仮想カメラを制御し、カメラパラメータを決定する。カメラパラメータには、例えば、仮想カメラの位置、姿勢、ズーム、時刻といった要素が含まれる。仮想カメラの位置は、３次元座標で表され、例えばＸ軸、Ｙ軸、Ｚ軸の３軸の直交座標系の座標により示される。この際の原点は撮影空間内の任意の位置でよい。仮想カメラの姿勢は、例えばパン、チルト、ロールの３軸とのなす角度により表される。仮想カメラのズームは、例えば焦点距離の１軸で表される。時刻もズームと同様に１軸で表される。つまり、仮想カメラの位置、姿勢、ズーム、時刻の４種類の要素で構成されるカメラパラメータの場合、８軸の要素を有することになる。なお、カメラパラメータは、上記４種類以外の要素を含んでもよいし、上述した８軸の要素の全てを含まなくてもよい。決定したカメラパラメータは、仮想視点画像生成サーバ１０２へ送信され、仮想視点画像生成サーバ１０２にて、カメラパラメータに従った仮想視点画像が生成される。
【００１６】
（情報処理装置のハードウェア構成）
図１（ｂ）は、情報処理装置１０３のハードウェア構成の一例を示す図である。情報処理装置１０３は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、通信Ｉ／Ｆ１１５、入力デバイス１１６、出力デバイス１１７を有する。ＣＰＵ１１１は、ＲＡＭ１１２をワークメモリとして、ＲＯＭ１１３に格納された各種プログラムを実行し、情報処理装置１０３の各部を統括的に制御するプロセッサである。ＣＰＵ１１１が、各種プログラムを実行することによって、後述の図２に示す各処理部の機能が実現される。なお、情報処理装置１０３がＣＰＵ１１１とは異なる専用の１又は複数のハードウェアあるいはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有し、ＣＰＵ１１１による処理の少なくとも一部をＧＰＵあるいは専用のハードウェアが行うようにしても良い。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、及びＤＳＰ（デジタルシグナルプロセッサ）等がある。ＲＡＭ１１２は、ＲＯＭ１１３から読み出されたプログラムや演算結果など、通信Ｉ／Ｆ１１４を介して外部から供給されるデータなどを一時的に記憶する。ＲＯＭ１１３は、変更を必要としないＯＳなどのプログラムやデータを保持する。ＨＤＤ１１４は、前述の固定カメラパスなどの各種データを格納する大容量記憶装置であり、例えばＳＳＤなどでもよい。前述の固定カメラパスは、時系列に連続する複数のカメラパラメータで構成され、撮影シーンに応じて予め作成したものが格納される。通信Ｉ／Ｆ１１５は、ＥｔｈｅｒｎｅｔやＵＳＢなどの通信規格に対応し、仮想視点画像生成サーバ１０２との通信を行う。入力デバイス１１６は、キーボードやマウスといったユーザが入力操作を行うための一般的なデバイスの他、仮想カメラを操縦するためのジョイスティック、フットペダル、つまみ、ジョグダイヤルといったコントローラを含む。出力デバイス１１７は、ユーザに必要な情報を表示するための１又は複数の表示デバイス（以下、「モニタ」と表記）である。表示デバイスとして例えばタッチパネルディスプレイを採用した場合は、上述の入力デバイスを兼ねることになる。モニタには、複数視点画像の撮影シーンに対応したＵＩ画面が表示され、当該ＵＩ画面上で仮想カメラの経路は設定される。
【００１７】
（情報処理装置の機能構成）
図２は、情報処理装置１０３の、カメラパスの設定に関わる機能構成の一例を示す図であり、通信処理部２０１、入出力情報処理部２０２、カメラパス管理部２０３、遷移条件判定部２０４、カメラパラメータ制御部２０５を有する。本実施形態では、３次元空間上で仮想カメラを自由に移動させることが可能な状態から、予め用意された固定カメラパスへと自動で遷移させる制御を行う。図２に示す各処理部が協働して機能することで上記制御が実現される。なお、本明細書では、仮想カメラを自由に移動可能な状態で設定されたカメラパスを「自由カメラパス」と呼ぶこととする。なお、仮想カメラを自由に移動させることができる状態であっても、プライバシーやその他の制約に従って、仮想カメラの移動範囲が一部制限されるようになっていても良い。
【００１８】
通信処理部２０１は、通信Ｉ／Ｆ１１５を介して、カメラパラメータ制御部１１８で生成されたカメラパラメータを、仮想視点画像生成サーバ１０２へ順次送信する。また、その一部又は全部は入出力情報処理部２０２にも送られる。また、通信処理部２０１は、通信Ｉ／Ｆ１１５を介して、仮想視点画像生成サーバ１０２で生成された仮想視点画像のデータを、入出力情報処理部２０２に渡す。
【００１９】
仮想カメラの操縦者は、後述のＵＩ画面を見ながらコントローラを操作（例えばジョイスティックを傾ける）することで、仮想カメラの移動方向や移動量等を指示する。入出力情報処理部２０２は、当該操作に応じた入力値（ジョイスティックであればその傾けた方向と角度）を順次取得し、当該取得した入力値を元にカメラパラメータを生成する。生成したカメラパラメータは、カメラパス管理部２０３や遷移条件判定部２０４に送られる。また、入出力情報処理部２０２は、通信処理部２０１から受け取った画像データや情報などをモニタに表示する。具体的には、受信した仮想視点画像、カメラパラメータを表現した仮想カメラの状態情報、カメラパス管理部２０３から読み出した固定カメラパスにおける仮想カメラの軌跡などをＵＩ画面上に表示する。仮想カメラの操縦者は、モニタに表示されたこれらの情報を見ながら、ジョイスティック等を用いて仮想カメラを操縦することが可能となる。また、入出力情報処理部２０２は、操縦者が仮想カメラを自由に移動させることが可能な状態から、予め用意された固定カメラパスへと遷移させる際の所定条件（以下、「遷移条件」と表記）を設定する。遷移条件は、固定カメラパスに切り替えるか否かの判定条件であり、固定カメラパスへと遷移した後は仮想カメラの自由な操縦が制限されてしまうという意味で、制限条件と捉えることもできる。以下に、遷移条件の一例を示す。
・現在の仮想カメラの位置が、固定カメラパスにおける基準位置（いずれかのキーフレームにおける３次元空間上の位置）に対し、一定距離以下に近づいた場合
・現在の仮想カメラの姿勢が、固定カメラパスにおける基準姿勢（いずれかのキーフレームにおける視線方向）と一致又は類似する姿勢となった場合
【００２０】
上記遷移条件を満たし、自由カメラパスから固定カメラパスへと切り替わった以降は、仮想カメラの操縦に一定の制約が加わることになる。すなわち、仮想カメラは、固定カメラパスで指定された経路に沿って移動することになり、当該経路上でのみ仮想カメラを操縦することが可能になる。これに伴い、固定カメラパスへの遷移の前後におけるカメラパラメータの取り得る値域（要素毎の変化可能な幅）を予め設定しておいてもよい。図３（ａ）及び（ｂ）に、カメラパラメータの値域を設定するＵＩ画面の一例を示す。図３（ａ）のＵＩ画面では、固定カメラパスへの遷移前（自由カメラパス時）に適用される値域が設定される。そして、図３（ｂ）のＵＩ画面では、固定カメラパスへの遷移後に適用される値域が設定される。ここでは、仮想カメラの位置を表す３軸（Ｘ，Ｙ，Ｚ）、仮想カメラの姿勢を表す３軸（パン、チルト、ロール）、及び仮想カメラのズーム（焦点距離）についての値域が設定可能になっている。ユーザは、要素の軸毎に設けられたスライドバー上のつまみを調整することによって、任意の値域を設定することができる。このＵＩ画面では、スライドバーの右端が最大変化量、左端が最小変化量（変化量＝ゼロ）である。図３（ａ）に示すとおり、固定カメラパスへの遷移前は全てのパラメータについての値域がゼロ以上に設定される。これに対し、固定カメラパスへの遷移後は、仮想カメラの位置を表す３軸とロールについての値域が変化量ゼロに設定され、位置（Ｘ，Ｙ，Ｚ）とロールについては操縦者による自由な操作ができないよう制限している。すなわち、遷移後は、仮想カメラを固定カメラパス上で移動させつつ、パン、チルト、ズームについてのみ変更させる操作が可能となる。なお、遷移後において特定の要素についての値域を変化量ゼロにする設定を行う代わりに、当該特定の要素に対する操作自体を無効にする設定を行ってもよい。
【００２１】
カメラパス管理部２０３は、入出力情報処理部２０２から受け取ったカメラパラメータを順次、ＨＤＤ１１４に記憶する。また、カメラパス管理部２０３は、ＨＤＤ１１４から固定カメラパスを読み出し、入出力情報処理部２０２、遷移条件判定部２０４、カメラパラメータ制御部２０５に出力する。
【００２２】
遷移条件判定部２０４は、入出力情報処理部２０２から入力された現時点のカメラパラメータと読み出された固定カメラパスとに基づいて、上述の遷移条件を満たすか否かを判定する。判定結果は、入力されたカメラパラメータと共に、カメラパラメータ制御部２０５に出力される。また、遷移条件判定部２０４は、入出力情報処理部２０２から受け取った入力デバイス１１６の操作に応じた入力値に基づいて、遷移条件を更新する処理も行う。例えば、不図示のつまみの回転量に応じて、上述の「一定距離」を規定する閾値を変更する。
【００２３】
カメラパラメータ制御部２０５は、遷移条件判定部２０４における判定結果に基づき、現在の仮想カメラの位置から固定カメラパスまでを接続するためのカメラパラメータを決定する処理を行う。まず、判定結果が「遷移条件を満たす」であった場合は、予め用意された固定カメラパスにおける接続先（現在の仮想カメラの位置から最も近い固定カメラパス上のキーフレーム）までを埋めるための、カメラパラメータの生成等を行う。一方、判定結果が「遷移条件を満たさない」であった場合は、遷移条件判定部２０４から入力された現在の仮想カメラの位置を表すカメラパラメータを変更することなく、通信処理部２０１に出力する。なお、固定カメラパスへ接続するためのカメラパラメータの生成処理においては、前述の図３（ｂ）で示した各要素において取り得る値域が考慮される。さらに、固定カメラパスから離れて仮想カメラが動ける範囲が規定されている場合は、その範囲内（仮想カメラの位置を表す３軸について与えられた許容値の範囲内）となるように生成処理を行う。また、カメラパラメータを構成する要素のうち、操縦者が指定した特定の要素のみを生成対象とし、一部の要素については固定値としてもよい。
【００２４】
（固定カメラパスへの自動遷移）
ここで、陸上競技の短距離走を撮影シーンとする場合の、本実施形態の適用例を説明する。陸上競技の短距離走では、スタートラインに並ぶ選手を正面から順に捉えた（撮影した）後、決まったコース上を走る選手に追従して選手の走る姿を横から捉えるように仮想カメラを移動させるというカメラパスが想定される。そこで、スタート前の各選手を捉えるところまでは仮想カメラを自由に移動できる自由カメラパスとし、選手がスタートした後は仮想カメラが選手の走る姿を横から捉える固定カメラパスに切り替える制御を行う例を説明する。ここでは、仮想カメラを移動させる操作（操縦）は、コントローラとしてのジョイスティックによって行われるものとする。図４（ａ）及び（ｂ）は、陸上競技の短距離走のシーンを対象に本実施形態を適用した場合の、操縦者が使用する仮想カメラの経路設定用ＵＩ画面の一例を示す図である。図４（ａ）及び（ｂ）に示すＵＩ画面では、選手４０１が走るコースのスタートエリア付近を俯瞰で見た平面画像に、仮想カメラの位置を示すマーク４０２が表示されている。そして、ＵＩ画面内には、固定カメラパスを示す点線４０３も重畳表示されている。このようなＵＩ画面を用いて、操縦者は、撮影対象の３次元空間における位置を把握しながら仮想カメラを移動させる操作を行う。なお、固定カメラパスの重畳表示は、仮想カメラとの位置関係が把握できるような表示態様であればよく、点線に限定されない。例えば実在のオブジェクトと区別可能な態様で色を付すなどの強調表示を行ってもよい。
【００２５】
図４（ａ）は選手がスタートするまでの仮想カメラの位置の軌跡（自由カメラパス）を示し、同（ｂ）は選手がスタートした自由カメラパスから固定カメラパスへの切り替わりとその後の仮想カメラの位置の軌跡を示している。図４（ａ）に示すように、選手がスタートする前の状態で操縦者は、スタート位置にスタンバイする選手４０１を順にその正面から撮影するため、位置４０２ａから位置４０２ｂへと緩やかな弧を描くように仮想カメラを移動させる。そして、スタートの直前になると操縦者は、固定カメラパス４０３に向かってさらに仮想カメラを移動させる。そして、固定カメラパス４０３上の黒丸４０４で示すキーフレームの一定距離以内にまで近づくと、仮想カメラは固定カメラパス４０３へと接続される。この際、キーフレーム４０４や一定距離の範囲も、固定カメラパス４０３と同様に、操縦者が認識できるようにＵＩ画面上に重畳表示される。図４（ａ）において、各キーフレーム４０４の位置を中心とした円４０５（半径＝閾値Ｔｈ）で示す範囲が一定距離を示している。この閾値Ｔｈは、操縦者等のユーザによって任意の値が設定される。なお、ここでは一定距離を２次元的に示しているが、実際は３次元的な拡がりを持つ空間の範囲を規定していることはいうまでもない。例えば仮想視点画像をベースとしたＵＩ画面であれば、一定距離を３次元的に示してもよい。
【００２６】
固定カメラへの接続は、図４（ｂ）に示すように、位置４０２ｃからキーフレームの位置４０４までを埋めるカメラパラメータが、例えばスプライン関数などを用いた補間処理によって取得され、それによって滑らかに固定カメラパス４０３に接続される。そして選手４０１がスタートした後は、選手４０１’を追従するように（位置４０２ｄ）、固定カメラパス４０３に沿って仮想カメラが移動する。この際、仮想カメラの移動に合わせ、キーフレーム間のカメラパラメータが補間処理によって得られる。図４（ｂ）の例では位置４０４から次のキーフレームの位置４０４’までは、固定カメラパス４０３から僅かにずれた実線４０６によって表されるカメラパラメータが生成される。そして、さらに位置４０４’からその次のキーフレームの位置４０４”までは、固定カメラパス４０３に重なる実線４０７によって表されるカメラパラメータが生成される。固定カメラパス４０３を構成する各カメラパラメータに移動速度の要素を含めておくことで、固定カメラパス４０３へと遷移した後、操縦者によるコントローラの操作とは関係なく、固定カメラパス４０３に従って仮想カメラが移動させることができる。仮想カメラの移動速度は、固定カメラパス４０３作成時のカメラパラメータを配置する間隔（細かさの度合い）で決まる。
【００２７】
なお、実施形態２で説明するように、仮想カメラの操縦者が、固定カメラパス４０３上での仮想カメラの移動速度を別途制御できるように構成してもよい。さらには、図４（ａ）及び（ｂ）に示すＵＩ画面では俯瞰画像を用いているが、仮想視点画像を用いてもよい。すなわち、固定カメラパス４０３の軌跡を表す線と仮想カメラの現在位置を表すマークとを競技場の背景３Ｄモデルに合成して得られる画像をＵＩ画面に採用して、仮想カメラを操縦できるようにしてもよい。この場合、競技場の背景３Ｄモデルは、例えば撮影システム１０１が設置されている競技場などのＣＧ（Computer Graphics）モデルであり、予め作成されて情報処理装置１０３のＨＤＤ１１４に保存しておけばよい。
【００２８】
（固定カメラパスへの遷移制御）
図５は、本実施形態に係る、自由カメラパスから固定カメラパスへの遷移を制御する処理の流れを示すフローチャートである。図５に示すフローは、ＲＯＭ１１３に格納された制御プログラムがＲＡＭ１１２に読み出され、ＣＰＵ１１１がこれを実行することによって実現される。ユーザ（操縦者）からの仮想視点画像の生成開始の指示をトリガとして、図５のフローの実行が開始される。
【００２９】
Ｓ５０１では、遷移条件判定部２０４が、予め用意された固定カメラパスのデータを、カメラパス管理部２０３を介して取得する。続くＳ５０２では、入出力情報処理部２０２が、操縦者によるコントローラの操作に応じた入力値に基づき、カメラパラメータが生成される。本フローの開始直後の時点では、仮想カメラによる撮影の開始位置（カメラパスの初期値）を示すカメラパラメータが生成されることになる。生成されたカメラパラメータは、遷移条件判定部２０４に送られる。
【００３０】
Ｓ５０３では、遷移条件判定部２０４が、Ｓ５０１で取得した固定カメラパスとＳ５０２で生成したカメラパラメータとに基づいて、固定カメラパスへの遷移条件を満たすか否かを判定する。この際の遷移条件は、予め用意してあったものをＨＤＤ１１４等から読み出して使用してもよいし、本フローの実行開始前に遷移条件設定用のＵＩ画面（不図示）を表示し当該ＵＩ画面を介して操縦者が指定したものを使用してもよい。この判定結果は、判定に使用したカメラパラメータ及び固定カメラパスのデータと共に、カメラパラメータ制御部２０５に送られる。
【００３１】
Ｓ５０４では、カメラパラメータ制御部２０５が、Ｓ５０３における判定結果に従って処理の切り分けを行う。具体的には、遷移条件を満たすとの判定であった場合はＳ５０５に進み、遷移条件を満たさないとの判定であった場合はＳ５０７に進む。
【００３２】
Ｓ５０５では、カメラパラメータ制御部２０５が、入力されたカメラパラメータ及び固定カメラパスに基づいて、現在の仮想カメラの位置から固定カメラパスまでを接続する。具体的には、固定カメラパスのターゲットとなるキーフレームまで滑らかに接続されるように、例えばスプライン関数を用いた補間処理を行なって、その間を埋めるカメラパラメータを生成する。或いは、ターゲットとなるキーフレームに対して直線的に接続するようにカメラパラメータを補間してもよい。或いは、ターゲットとなるキーフレームまでジャンプさせてもよい。これにより、Ｓ５０２で生成された現在の仮想カメラの位置・姿勢を表すカメラパラメータに加え、固定カメラパスのキーフレームまでの間を埋める１つ又は複数のカメラパラメータが得られる。得られたカメラパラメータは通信処理部２０１に渡される。
【００３３】
Ｓ５０６では、通信処理部２０１が、Ｓ５０５で得られたカメラパラメータを、仮想視点画像サーバ１０２に送信する。そして、仮想視点画像サーバで１０２において、情報処理装置１０３から受信したカメラパラメータに基づく仮想視点画像の生成が実行される。なお、固定カメラパスへと移行した後は、固定カメラパスを構成する連続するカメラパラメータの最後に到達した時点で、仮想カメラの自由移動が可能な状態に戻るように制御される。或いは、操縦者によるコントローラ等を介した明示の指示によって、固定カメラパスの途中で終了できるように構成してもよい。
【００３４】
Ｓ５０７では、通信処理部２０１が、Ｓ５０２で生成されたカメラパラメータを、仮想視点画像サーバ１０２に送信する。そして、仮想視点画像サーバで１０２において、情報処理装置１０３から受信したカメラパラメータに基づく仮想視点画像の生成が実行される。続くＳ５０８では、操縦者によるコントローラからの新たな入力値の有無に応じて処理の切り分けがなされる。新たな入力値が確認された場合はＳ５０２に戻って、当該新たな入力値に基づくカメラパラメータが生成される。一方、操縦者による仮想視点画像の生成終了指示を受け付けるなど、コントローラからの入力値が見込まれない場合は、本フローを終える。
【００３５】
以上が、本実施形態に係る、自由カメラパスから固定カメラパスへの遷移制御の内容である。
【００３６】
＜変形例＞
また、本実施形態では、自由カメラパスから固定カメラパスへの遷移条件を、仮想カメラの３次元空間上の位置を基準とし、仮想カメラが固定カメラパスのキーフレームにおける位置まで一定距離以下に近づいたか否かとしたが、これに限定されない。例えば、仮想カメラの姿勢が、固定カメラパスのキーフレームにおける姿勢と一致又は類似しているか否かを遷移条件としてもよい。また、本実施形態では「キーフレームにおける位置」及び「キーフレームにおける姿勢」などの表現を使って遷移条件の説明をしたが、キーフレームに限るものではない。つまり、仮想カメラの位置が予め設定された範囲内に侵入したときに自由カメラパスから固定カメラパスに遷移しても良いし、仮想カメラの姿勢が予め設定された姿勢の範囲内に収まったときに自由カメラパスから固定カメラパスに遷移しても良い。また、位置と姿勢の両方の条件が満たされたときに自由カメラパスから固定カメラパスに遷移するようにしても良い。さらには、操縦者による所定の操作、例えば、専用ボタンの押下やＵＩ画面上での固定カメラパスの選択などを遷移条件としてもよい。また、遷移条件は複数の条件の組み合わせでもよい。
【００３７】
また、本実施形態では、固定カメラパスが１つの場合を例に説明を行ったが、複数の固定カメラパスが予め用意されていることも考えられる。例えば、複数の固定カメラパスについての遷移条件を同時に満たすことになった場合は、遷移条件の判定対象となっている要素（仮想カメラの位置、姿勢、移動方向）の一致度がより高い方の固定カメラパスに遷移するようにすればよい。
【００３８】
以上説明したように、本実施形態では、操縦者が仮想カメラの位置を自由に移動させている状態下で所定条件が満たされると、固定カメラパスへと自動的に遷移させる処理が行われる。これにより、仮想視点画像の持つ高い臨場感をも活かした安定した軌跡のカメラパスを設定することが可能となる。
【実施形態２】
【００３９】
実施形態１では、コントローラを使って自由に移動させている仮想カメラが固定カメラパスの一定距離以下に近づくと、自動で固定カメラパスに遷移させる態様を説明した。次に、第１のコントローラで自由に移動させている状態下において、第２のコントローラが操作されたことに応答して、固定カメラパスに遷移させる態様を、実施形態２として説明する。なお、システム構成など実施形態１と共通する部分は説明を省略ないしは簡略化し、以下では差異点であるカメラパスの設定処理を中心に説明を行うものとする。
【００４０】
図６（ａ）及び（ｂ）は、実施形態１の図４（ａ）及び（ｂ）に対応する図である。図６（ａ）では選手がスタートするまでの仮想カメラの位置の軌跡が示されており、同（ｂ）では選手がスタートした後の仮想カメラの位置の軌跡が示されている。
【００４１】
図６（ａ）に示すように、スタート前において仮想カメラは、スタート位置にいる選手６０１を正面から撮影するように、位置６０２ａから位置６０２ｂへと緩やかな弧を描いて移動する。ここまでは第１のコントローラとしてのジョイスティックによる操作である。そして、選手が走り出したタイミングで操縦者が第２のコントローラとしてのフットペダルを例えば最大踏込量の９０％（第１の閾値）を超えて踏み込むといった所定の操作を行うとする。この場合、図６（ｂ）に示すように、固定カメラパス６０３上の任意の位置（ここでは現在の仮想カメラの位置から最も近い位置６０２ｃ）へと仮想カメラは移動し、固定カメラパスに接続される。固定カメラパス６０３にキーフレームの情報が含まれている場合は、最寄のキーフレームの位置でもよい。すなわち、本実施形態では、遷移条件判定部２０４は、コントローラからの入力値そのものに基づき遷移条件を満たすか否かを判定する。そして、遷移条件を満たしていると判定されると、位置６０２ｃをターゲットとした補完処理によって、位置６０２ｂから位置６０２ｃまでを埋めるカメラパラメータが取得され、それによって滑らかに固定カメラパス６０３に接続される。そして、操縦者がフットペダルの踏込量を例えば最大踏込量の５０％（第２の閾値）以上を維持したままでいると、その間は、仮想カメラがカメラパス６０３上を移動する。そして、操縦者がフットペダルの踏込量を上記第２の閾値以下に減らすと、仮想カメラは固定カメラパス６０３から離脱し、再びジョイスティックによって自由に移動させることが可能になる。すなわち、本実施形態では、遷移条件判定部２０４はさらに、第２のコントローラからの入力値に基づき、固定カメラパスからの離脱条件を満たすか否かを判定する処理も行う。図６（ｂ）において、両方向の矢印６０４及び６０６は、フットペダルが最大踏込量の５０％以上で継続して踏まれていたときの固定カメラパス６０３上の区間を示している。また、両方向の矢印６０５は、フットペダルが最大踏込量の５０％を切ったときの、仮想カメラが固定カメラパス６０３を離れて自由に移動可能となった区間を示している。
【００４２】
（固定カメラパスへの遷移制御）
図７は、本実施形態に係る、自由カメラパスから固定カメラパスへの遷移を制御する処理の流れを示すフローチャートである。ユーザ（操縦者）からの仮想視点画像の生成開始の指示をトリガとして、図７のフローの実行が開始される。
【００４３】
Ｓ７０１及びＳ７０２は、実施形態１の図５のフローにおけるＳ５０１及びＳ５０２にそれぞれ対応する。すなわち、予め用意された固定カメラパスのデータが取得され（Ｓ７０１）、それに続き、操縦者による第１のコントローラ（ここではジョイスティック）の操作に応じた入力値に基づきカメラパラメータが生成される（Ｓ７０２）。
【００４４】
Ｓ７０３では、遷移条件判定部２０４が、操縦者による第２のコントローラ（ここではフットペダル）の操作に応じた入力値に基づいて、固定カメラパスへの遷移条件を満たすか否かを判定する。この際の遷移条件（前述の第１の閾値）は、予め用意してあったものをＨＤＤ１１４等から読み出して使用してもよいし、本フローの実行開始前に遷移条件設定用のＵＩ画面（不図示）を表示し当該ＵＩ画面を介して操縦者が指定したものを使用してもよい。この判定結果は、Ｓ７０２で生成されたカメラパラメータ及びＳ７０１で取得された固定カメラパスのデータと共に、カメラパラメータ制御部２０５に送られる。
【００４５】
Ｓ７０４〜Ｓ７０８は、実施形態１の図５のフローにおけるＳ７０４〜Ｓ７０８にそれぞれ対応し、異なるところは特にないので説明を省く。
【００４６】
以上が、本実施形態に係る、自由カメラパスから固定カメラパスへの遷移制御の内容である。
【００４７】
＜変形例＞
本実施形態では、第２のコントローラであるフットペダルを踏み込む操作によって固定カメラパスへの遷移及び固定カメラパスからの離脱を制御していたがこれに限定されない。例えば、第１のコントローラであるジョイスティックに設けたボタンの押下に応じて遷移と離脱を制御してもよい。そして、仮想カメラが固定カメラパス上に存在する間の移動速度や移動距離などの制御を第２のコントローラであるフットペダルで行うようにしてもよい。
【００４８】
本実施形態では、フットペダルの踏込量が第２の閾値以下になった場合に固定カメラパスから離脱できるように構成したが、離脱機能に代えて、フットペダルの踏込量に応じて、固定カメラパス上での仮想カメラの移動速度を変化させるようにしてもよい。例えば、カメラパラメータのサンプリングを１つ置きにすることで、仮想カメラが固定カメラパス上を動く速度を２倍にできる。図８（ａ）及び（ｂ）は、選手が走っている最中に、フットペダルの踏込量で仮想カメラの移動速度が変化する様子を示す図である。図８（ａ）はフットペダルを最後（最大踏込量）まで踏み込んだ場合に対応し、図８（ｂ）はフットペダルを半分（最大踏込量の５０％）まで戻した場合に対応する。図８（ａ）の場合、選手が位置８０１から位置８０１’まで走る間に、仮想カメラは固定カメラパス上の位置８０２から位置８０３まで移動する。矢印８０４はこのときの移動距離を表している。これに対し、図８（ｂ）の場合、選手が位置８０１から位置８０１’まで走る間に、仮想カメラは固定カメラパス上の位置８０２から位置８０５までしか移動せず、その移動距離を表す矢印８０６の長さは、図８（ａ）における矢印８０４の半分になっている。すなわち、この例の場合、図８（ｂ）では仮想カメラの移動速度が、図８（ａ）のときの半分になる。さらに、操縦者がフットペダルを元の位置まで完全に戻したとき（踏むのを止めた場合）、移動距離がゼロ（固定カメラパス上で仮想カメラが静止）となるように構成してもよい。なお、ここでは、フットペダルの踏込量が増えるに連れて仮想カメラの移動速度が上昇する例を説明したが、これに限られない。例えば、フットペダルを踏まないときを仮想カメラの最大移動速度の状態とし、最後まで踏み込んだときを仮想カメラの静止状態としてもよい。この変形例の場合、例えば、選手の走るスピードの変化に合わせてフットペダルの踏込量を変化させることで、固定カメラパス上という制約の上で、仮想カメラの動きを選手に追従させることが可能となる。
【００４９】
本実施形態によれば、第１のコントローラを使って自由に仮想カメラを移動させている状態下で、第２のコントローラを使った操作を行うことによって、固定カメラパスに引き寄せるように遷移させる処理が行われる。このような処理によれば、対象３次元空間上の任意の位置からでも滑らかに固定カメラパスに遷移させることが可能となる。
【００５０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５１】
１０３  情報処理装置
１１４  ＨＤＤ
１１６  入力デバイス
２０５  カメラパラメータ制御部
【図１】
2020077108.tif 000003
【図２】
2020077108.tif 000004
【図３】
2020077108.tif 000005
【図４】
2020077108.tif 000006
【図５】
2020077108.tif 000007
【図６】
2020077108.tif 000008
【図７】
2020077108.tif 000009
【図８】
2020077108.tif 000010