(57)【要約】【課題】仮想視点の設定に係るユーザの利便性を向上する。【解決手段】仮想視点画像の生成に係る仮想視点の経路を示すカメラパスの基準となる複数の仮想視点に対応する複数のキーフレームのうち、第１のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、前記第１のキーフレームとは異なる第２のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、に基づき前記複数のキーフレーム間を接続するカメラパラメータの補間方法を決定する補間方法決定部３１５と、前記補間方法に基づき、前記複数のキーフレーム間を接続するカメラパラメータを決定するカメラパラメータ補間部３１６と、を有することを特徴とする情報処理装置２０。【選択図】図３
2020141198.tif 000002
【特許請求の範囲】
【請求項１】
仮想視点画像の生成に係る仮想視点の経路を示すカメラパスの基準となる複数の仮想視点に対応する複数のキーフレームのうち、第１のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、前記第１のキーフレームとは異なる第２のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、
に基づき前記複数のキーフレーム間を接続するカメラパラメータの補間方法を決定する決定手段と、
前記補間方法に基づき、前記複数のキーフレーム間を接続するカメラパラメータを決定する補間手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記補間方法には、円弧補間とスプライン補間とが含まれる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、
前記第１のキーフレームにおけるカメラパラメータが示す仮想視点の位置から所定の点までの第１の距離と、前記第２のキーフレームにおけるカメラパラメータが示す仮想視点の位置から前記所定の点までの第２の距離と、に基づき前記補間方法を決定する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記所定の点は、
前記第１のキーフレームにおけるカメラパラメータが示す第１の視線ベクトル上の点のうち、前記第２のキーフレームにおけるカメラパラメータが示す第２の視線ベクトルに最も近い第１の点と、
前記第２の視線ベクトル上の点のうち前記第１の視線ベクトルに最も近い第２の点と、
を含む所定の領域内にある点である
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記所定の領域内にある点は、前記第１の点と前記第２の点との中点である
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記決定手段は、
前記第１の距離と前記第２の距離との差に応じて、前記補間方法として円弧補間かスプライン補間かを決定する
ことを特徴とする請求項３から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記決定手段は、
前記第１の距離と前記第２の距離との差が、第１の閾値以下であると判定した場合、前記補間方法を円弧補間と決定をする
ことを特徴とする請求項３から５のいずれか１項に記載の情報処理装置。
【請求項８】
前記決定手段は、
前記第１の距離と前記第２の距離との少なくとも何れか一方の値が第２の閾値より大きい場合、前記第１の閾値に基づく決定に係わらず、前記補間方法をスプライン補間と決定をする
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記複数のキーフレームの数は２つである
ことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記決定手段は、
前記複数のキーフレームのうち、隣り合う組のキーフレームの一方を前記第１のキーフレームとし、他方を前記第２のキーフレームとして前記第１の距離と前記第２の距離とを決定し、
前記隣り合うキーフレームの組のうちの何れかの組における前記第１の距離と前記第２の距離との差が、第１の閾値より大きい場合、前記複数のキーフレーム間を接続するための前記補間方法をスプライン補間と決定し、
それ以外の場合は、前記複数のキーフレーム間を接続するための前記補間方法を円弧補間と決定する
ことを特徴とする請求項３から５のいずれか１項に記載の情報処理装置。
【請求項１１】
前記複数のキーフレームの数は３つ以上である
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
操縦者の操作による入力値を受け付ける入力受付手段をさらに有し、
前記決定手段は、
前記複数のキーフレームの数を、前記入力受付手段が受け付けた入力値に応じて決定する
ことを特徴とする請求項１から１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記補間方法が前記決定手段によって決定される第１のモードと、
前記補間方法が操縦者の選択に基づき決定される第２のモードと、を有し、
前記第１のモードと前記第２のモードとは切り替え可能である
ことを特徴とする請求項１から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記補間手段により求められた前記キーフレーム間を接続するためのカメラパラメータを用いて仮想視点画像を生成する生成手段をさらに有する
ことを特徴とする請求項１から１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記カメラパスを編集するための画面を表示させる表示制御手段をさらに有する
ことを特徴とする請求項１から１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記表示制御手段は、
前記キーフレームを表すマークと、
前記カメラパスが、前記補間方法に応じた異なる態様で表されたマークと、が含まれる前記画面を表示する
ことを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
仮想視点画像のカメラパスを編集するための画面上に、
仮想視点画像における仮想視点の経路を示すカメラパスの基準となる複数の仮想視点に対応する複数のキーフレームを表すマークと、
前記複数のキーフレーム間の前記カメラパスを、補間方法に応じた異なる態様で表すマークと、を表示させる表示制御手段を有する
ことを特徴とする情報処理装置。
【請求項１８】
仮想視点画像の生成に係る仮想視点の経路を示すカメラパスの基準となる複数の仮想視点に対応する複数のキーフレームのうち、第１のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、前記第１のキーフレームとは異なる第２のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、
に基づき前記複数のキーフレーム間を接続するカメラパラメータの補間方法を決定する決定ステップと、
前記補間方法に基づき、前記複数のキーフレーム間を接続するカメラパラメータを決定する補間ステップと、
を含むことを特徴とする制御方法。
【請求項１９】
コンピュータを、請求項１から１７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想視点の設定を行うための技術に関する。
【背景技術】
【０００２】
複数台の実カメラで撮像した画像を用いて、３次元空間内に仮想的に配置した実際には存在しないカメラの視点（仮想視点）からの画像を再現する技術として、仮想視点画像生成技術がある。仮想視点画像の生成に必要な仮想視点の視点情報であるカメラパラメータは、操縦者がＵＩ画面とジョイスティックなどのコントローラを用いて仮想視点の移動方向、向き、回転、および移動距離や移動速度を入力することで設定される。
【０００３】
仮想視点の経路を示すカメラパスの生成方法にキーフレーム法がある。キーフレーム法では、基準となる仮想視点に対応するキーフレームが複数指定される。キーフレーム法では、このキーフレーム間を接続するカメラパラメータが補間により生成されることで、キーフレーム間のカメラパスが生成される。特許文献１には、キーフレーム法ではスプライン関数でキーフレーム間を補間することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２５９７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、キーフレーム間を一様に補間する方法では、ユーザが意図する仮想視点の経路を容易に設定できない場合がある。例えば、仮想視点の位置がオブジェクトを中心に１８０度近く回るようなカメラパスを生成する場合、スプライン関数による補間では、カメラパスとなる円弧上に幾つものキーフレームを指定する必要がある。このため、操縦者によるキーフレームを指定する手間が発生する。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る情報処理装置は、仮想視点画像の生成に係る仮想視点の経路を示すカメラパスの基準となる複数の仮想視点に対応する複数のキーフレームのうち、第１のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、前記第１のキーフレームとは異なる第２のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、に基づき前記複数のキーフレーム間を接続するカメラパラメータの補間方法を決定する決定手段と、前記補間方法に基づき、前記複数のキーフレーム間を接続するカメラパラメータを決定する補間手段と、を有することを特徴とする情報処理装置である。
【発明の効果】
【０００７】
本発明によれば、仮想視点の設定に係るユーザの利便性を向上することができる。
【図面の簡単な説明】
【０００８】
【図１】キーフレーム法によるカメラパラメータの補間について説明する図である。
【図２】情報処理装置のハードウェア構成の一例を示す図である。
【図３】情報処理装置の機能構成の一例を示す図である。
【図４】カメラパス編集用のＵＩ画面を示す図である。
【図５】キーフレーム間のカメラパスを生成する処理を示すフローチャートである。
【図６】キーフレーム間の視線ベクトルの関係を説明する図である。
【図７】補間方法の決定処理を示すフローチャートである。
【図８】３以上のキーフレーム間の視線ベクトルの関係を説明する図である。
【図９】補間方法の決定処理を示すフローチャートである。
【図１０】カメラパス編集用のＵＩ画面を示す図である。
【図１１】補間方法の決定処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して実施形態について詳細に説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１０】
＜実施形態１＞
実施形態１では、基準となるキーフレームにおける仮想視点を規定するパラメータ（以下、「カメラパラメータ」と呼ぶ。）に基づいて、キーフレーム間のカメラパラメータの補間方法を決定する処理を説明する。なお、本実施形態では説明の便宜上、カメラパラメータにより規定される仮想視点を、仮想カメラという用語を用いて説明することがある。仮想カメラの位置は仮想視点の位置、仮想カメラの姿勢（向き）は仮想視点の向き、仮想カメラのズーム（焦点距離）は仮想視点に係るズームパラメータにそれぞれ対応する。
【００１１】
仮想視点画像とは実カメラとは異なる仮想カメラの位置及び向き等に基づいて生成される画像である。例えば、サッカーを行うスタジアム内の異なる位置に複数のカメラを配置した撮像システム（不図示）の複数の実カメラによって、複数の視点から同期して撮像が行われる。仮想視点画像の生成については、撮像システムの複数の実カメラが同期撮像したことによって得られた複数視点画像の画像データに基づき撮像システムのどの実カメラとも異なる実在しないカメラ（仮想カメラ）の視点から見た仮想視点画像が生成される。なお、仮想カメラは、エンドユーザや専任のオペレータ等による手動操作、コンテンツの内容に応じた自動操作、および予め定められた固定カメラパスに基づく自動操作などにより制御されうる。また、以下の説明では仮想視点画像は動画として説明するが、仮想視点画像は、動画であっても、静止画であっても良い。
【００１２】
［キーフレーム法の説明］
ここで、仮想視点の経路（カメラパス）を示すカメラパラメータの生成方法であるキーフレーム法の説明をする。キーフレーム法では、まず、カメラパスに含まれる基準となる仮想視点に対応するキーフレームが指定される。キーフレームが指定されると、キーフレーム間を接続するための１つ又は複数のカメラパラメータは、スプライン関数などを用いた補間によって生成される。補間により生成された１つ又は複数のカメラパラメータで表されるカメラパスは、キーフレーム間を滑らかに接続するカメラパスとなる。よって、キーフレーム法で生成されたカメラパラメータによる仮想視点画像は、操縦者のコントローラ操作により直接カメラパスを指定する場合と比較して、手振れの少ない滑らかな動きの画像とすることができる。このため、キーフレーム法によって生成されたサッカー等のスポーツにおける仮想視点画像は、視聴者に高臨場感を与えることが出来る。
【００１３】
図１は、サッカーのシュートシーンを選手の頭上から見た図に、仮想視点の位置および向きを示す仮想カメラと、仮想カメラのカメラパスとが重畳表示されたカメラパス編集のためのＵＩ（ユーザーインターフェース）画面の一例を示す図である。図１を用いて本実施形態の適用例を説明する。図１が示すシュートシーンは、選手１０１から選手１０２にボールをパスし、選手１０２がボールを蹴り、ゴールを決めるものである。このシュートシーンを、ゴール側の仮想カメラ１０３の位置から選手１０２を中心に撮像し、次に仮想カメラ１０４の位置まで選手１０２に近づいて撮像する。最後に仮想カメラ１０５の位置まで仮想カメラを移動させて、仮想カメラ１０５の向きをパンさせて、選手１０２の背中とシュートシーンとを撮像するようなカメラの動きによる仮想視点画像を生成すること考える。
【００１４】
仮想カメラ１０３、仮想カメラ１０４、および仮想カメラ１０５が示すカメラパラメータをキーフレームとして指定し、キーフレーム間のカメラパスについては、キーフレーム法によってカメラパラメータを補間することにより生成するものとする。
【００１５】
このとき操縦者は、仮想カメラ１０３から仮想カメラ１０４までのカメラパスは直線的なカメラパス１０６であり、仮想カメラ１０４から仮想カメラ１０５までのカメラパスは選手を中心に円弧状に仮想カメラが動くカメラパス１０７であることを期待する。
【００１６】
キーフレーム間を接続するための補間方法の１つであるスプライン関数を用いたスプライン補間によると、キーフレームが２つの場合、キーフレーム間のカメラパスが直線的であるようなカメラパラメータが生成される。このため、仮想カメラ１０３から仮想カメラ１０４までのカメラパラメータはスプライン補間によって生成されることが好ましい。
【００１７】
しかし、スプライン補間によると、仮想カメラ１０４から仮想カメラ１０５までのカメラパスは、円弧状のカメラパス１０７ではなく、直線的なカメラパス１０８が示すカメラパラメータが生成されることになる。スプライン補間によって円弧状のカメラパス１０７であるようなカメラパラメータが生成されるためには、操縦者が期待するカメラパス１０７上に、仮想カメラ１０９が示す複数のカメラパラメータを操縦者自らがキーフレームとして指定する必要がある。よって操縦者にとって手間となる。
【００１８】
一方、円弧補間による補間方法によれば、キーフレームを通る円弧状のカメラパスが生成される。このため、カメラパラメータの補間方法が円弧補間であれば、仮想カメラ１０４と仮想カメラ１０５とが示すカメラパラメータをキーフレームと指定するだけで、カメラパス１０７上を動くカメラパラメータが生成される。
【００１９】
本実施形態では、補間方法決定部３１５（図３参照）がキーフレームとして指定されているカメラパラメータを参照して、適切な補間方法を決定する。また、補間方法には円弧補間は含まれる。このため、本実施形態では、操縦者は仮想カメラ１０９を幾つも指定する必要はない。よって、キーフレームとして指定する仮想カメラの数が減ることから操縦者の負担を軽減することができる。補間方法決定部３１５による補間方法の決定処理の詳細は後述する。
【００２０】
［ハードウェア構成］
図２は、本実施形態に係る仮想視点画像におけるカメラパスを編集することが可能な情報処理装置２０のハードウェア構成の一例を示す図である。本実施形態の情報処理装置２０は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、入出力デバイス部２０４を有する。
【００２１】
ＣＰＵ２０１は、ＲＡＭ２０２をワークメモリとして、ＲＯＭ２０３に格納されたプログラムを実行し、情報処理装置２０の各構成部を統括的に制御するプロセッサである。これにより、ＣＰＵ２０１が、各種プログラムを実行することで、後述の図３に示す各処理部の機能が実現される。
【００２２】
情報処理装置２０はＣＰＵ２０１とは異なる専用の１又は複数のハードウェアあるいはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有してもよい。そして、ＣＰＵ２０１による処理の少なくとも一部をＧＰＵあるいは専用のハードウェアが行うようにしても良い。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、及びＤＳＰ（デジタルシグナルプロセッサ）等がある。
【００２３】
ＲＡＭ２０２は、ＲＯＭ２０３から読みだされたコンピュータプログラムや計算の途中結果などを一時的に記憶する。
【００２４】
ＲＯＭ２０３は、変更を必要としないコンピュータプログラムやデータを保持する。またＲＯＭ２０３は、キーフレーム間を補間する上で必要なデータを格納する。例えば、キーフレーム間の補間方法を格納する。さらにＲＯＭ２０３はキーフレーム間の補間方法を決定する上で必要なデータ等を格納する。
【００２５】
入出力デバイス部２０４は、仮想視点を制御するための複数のコントローラと、仮想視点の状態情報などを表示する複数の表示部と、を有する。複数のコントローラには、キーボード、またはマウス等の操縦者が入力操作を行うための一般的なデバイスの他、ＵＩ画面上の仮想カメラを操縦するためのジョイスティック、つまみ、ジョグダイヤル等が含まれる。
【００２６】
表示部は、操縦者に必要な情報を表示するための１又は複数の表示デバイス（以下、「モニタ」と表記）である。モニタとしてタッチパネルディスプレイを採用した場合は、モニタは上述のコントローラを兼ねることになる。モニタには、カメラパス編集用のＵＩ画面が表示され、操縦者はそのＵＩ画面上の仮想カメラを見ながら仮想視点の経路を設定することができる。
【００２７】
［機能構成］
図３は、情報処理装置２０の機能構成の一例を示す図である。情報処理装置２０は、カメラパス編集部３０１と、仮想視点画像を生成する仮想視点画像生成部３０２と、を有する。
【００２８】
カメラパス編集部３０１は、仮想視点を制御し、カメラパスを構成する一連の仮想視点のカメラパラメータ群を決定する。
【００２９】
カメラパラメータは、例えば、位置、向き、ズーム（焦点距離）または時刻といった要素が含まれる。カメラパラメータにより指定される仮想視点の位置は、３次元座標で表され、例えば、Ｘ軸、Ｙ軸、Ｚ軸の３軸の直交座標系の座標により示される。この際の原点は３次元空間内の任意の位置としてもよい。カメラパラメータにより指定される仮想視点の向きは、例えば、パン、チルト、ロールの３軸とのなす角度により表される。カメラパラメータにより指定される仮想視点のズームは、例えば、焦点距離の１軸により表される。時刻もズームと同様に１軸で表される。つまり、仮想視点の位置、向き、ズーム、時刻の４種類の要素で構成されるカメラパラメータの場合、仮想視点のカメラパラメータは８軸のパラメータを有することになる。カメラパス編集部３０１はこの８軸を制御可能である。なお、カメラパラメータは上記４種類以外の他の要素を規定するパラメータを含んでもよいし、上述した８軸のパラメータの全てを含まなくてもよい。
【００３０】
カメラパス編集部３０１は、入出力処理部３１１、キーフレーム決定部３１２、キーフレーム管理部３１３、補間方法管理部３１４、補間方法決定部３１５、カメラパラメータ補間部３１６、及びカメラパス出力部３１７を有する。
【００３１】
入出力処理部３１１の入力受付部３１８は、操縦者のコントローラの操作に応じた入力値を取得する。具体的には、操縦者のコントローラの第１の操作に応じた入力値（ジョイスティックであればその傾けた方向と角度）を順次取得する。また、入力受付部３１８は、ＵＩ画面上に対するマウスのクリック、またはボタンの押下等の操縦者による第２の操作を受け付ける。入出力処理部３１１は、操縦者の第２の操作を受け付けたタイミングにおいて、第１の操作による入力値に基づきカメラパラメータを生成する。
【００３２】
入出力処理部３１１は、生成したカメラパラメータの記憶の指示をキーフレーム決定部３１２に対して行う。さらに入出力処理部３１１は、キーフレーム法による補間の指示を補間方法決定部３１５へ行う。
【００３３】
入出力処理部３１１の表示制御部３１９は、仮想視点画像を生成するための各種情報をＵＩ画面としてモニタに表示する制御をする。具体的には、操作中の仮想視点を示す仮想カメラのマーク、キーフレームを示す仮想カメラのマーク、およびカメラパスを表すマーク等をＵＩ画面上に表示する。操縦者は、モニタに表示されたＵＩ画面上の情報を見ながら、コントローラを用いて仮想視点のカメラパスの編集を行うことが可能となる。ＵＩ画面の詳細は後述する。
【００３４】
キーフレーム決定部３１２は、入出力処理部３１１が受け付けた操縦者からの指示に応じて、入出力処理部３１１が生成したカメラパラメータをキーフレームとして指定する。キーフレーム決定部３１２は、キーフレームとして指定されたカメラパラメータをキーフレーム管理部３１３に出力する。
【００３５】
キーフレーム管理部３１３は、キーフレーム決定部３１２から出力されたキーフレームのカメラパラメータをＲＡＭ２０２又はＲＯＭ２０３に記憶する。また、キーフレーム管理部３１３は、ＲＡＭ２０２又はＲＯＭ２０３からキーフレームのカメラパラメータを読み出し、入出力処理部３１１および補間方法決定部３１５に出力する。キーフレーム管理部３１３は、キーフレームのカメラパラメータにＩＤ等の付加情報を追加しＲＯＭ２０３に記憶してもよい。また、キーフレーム管理部３１３は、指定されたＩＤのカメラパラメータを、キーフレーム決定部３１２によって決定された新たなカメラパラメータに更新をしてもよい。入出力処理部３１１または補間方法決定部３１５が、このＩＤを索引して、対応するキーフレームのカメラパラメータ等を取得できるようにしてもよい。
【００３６】
補間方法決定部３１５は、入出力処理部３１１による補間方法の決定の指示と、キーフレーム管理部３１３から出力された複数のキーフレームのカメラパラメータとに基づき、キーフレーム間のカメラパラメータの補間方法を決定する。詳細は後述する。
【００３７】
補間方法管理部３１４は、ＲＯＭ２０３に記憶されているキーフレーム間のカメラパラメータの補間方法を取得し、入出力処理部３１１および補間方法決定部３１５に出力する。補間方法は、例えば、スプライン補間、円弧補間、線形補間、またはベジェ補間である。本実施形態では、スプライン補間と円弧補間とによる方法を中心に説明する。
【００３８】
スプライン補間は、スプライン関数によりキーフレーム間のカメラパスが滑らかな直線または曲線に沿った動きになるようにキーフレーム間のカメラパラメータを補間する方法である。
【００３９】
円弧補間は、ある点を中心に、それぞれのキーフレームの近傍を通る円弧上のカメラパスであるようにキーフレーム間のカメラパラメータを補間する方法である。ここで円とは真円に限られない。例えば、円弧補間おける円弧には楕円の円弧も含まれる。
【００４０】
カメラパラメータ補間部３１６は、補間方法決定部３１５が決定した補間方法に基づいて、キーフレーム間のカメラパラメータを補間することによりキーフレーム間を接続するためのカメラパラメータを生成して求める。カメラパラメータ補間部３１６は、まずキーフレームの間の始点と終点との差の区間を分割する。カメラパラメータ補間部３１６は、分割されたそれぞれの区間について、補間方法決定部３１５が決定した補間方法を用いてキーフレーム間を接続するカメラパラメータを生成する。
【００４１】
カメラパスは複数枚のフレームからなり、１枚のフレームごとに画像の視点が定義される。また、カメラパスを生成するために必要なフレームは、終点時刻と始点時刻とで決まる。例えば、６０フレーム／秒のフレームレートでキーフレーム間の時間が５秒のカメラパスを生成する場合、６０フレーム／秒×５秒＝３００フレームが必要になる。よって、カメラパラメータ補間部３１６は、終点と始点とのキーフレーム間を接続するためのカメラパラメータを求めるために、各フレームに対応する３００個のカメラパラメータを補間方法決定部３１５が決定した補間方法を用いて生成する。
【００４２】
カメラパス出力部３１７は、カメラパラメータ補間部３１６において生成されたカメラパラメータを、仮想視点画像生成部３０２に順次送信する。また、その一部又は全部はＵＩ画面に表示させるために入出力処理部３１１にも送られる。
【００４３】
仮想視点画像生成部３０２は、仮想視点から見た仮想視点画像を生成する。仮想視点画像の生成は、カメラパスを構成する一連のカメラパラメータに基づいて行われる。そして、仮想視点画像生成部３０２は、生成した仮想視点画像を入出力処理部３１１に送信する。なお、特に断りがない限り、画像という文言が動画と静止画との両方の概念を含むものとして説明している。即ち、仮想視点画像生成部３０２は、静止画及び動画の何れについても処理可能である。
【００４４】
なお、本実施形態では仮想視点画像の生成は、情報処理装置２０の仮想視点画像生成部３０２によって行われるものとして説明するが、仮想視点画像生成部と同様の機能が含まれる他の情報処理装置（例えば、サーバ等）によって行われてもよい。
【００４５】
図３の各部の機能は、ＣＰＵがＲＯＭに記憶されているプログラムコードをＲＡＭに展開し実行することにより実現される。または、図３の各部の一部または全部の機能をＡＳＩＣや電子回路等のハードウェアで実現してもよい。
【００４６】
［ＵＩ画面について］
図４は、入出力処理部３１１によってモニタに表示される仮想視点画像およびＵＩ画面の例を示す図である。図４では選手がプレイするサッカーグラウンドを撮像することによって生成される仮想視点画像を例に説明する。図４（ａ）は、仮想視点画像生成部３０２が生成し、入出力処理部３１１を介してモニタに表示された仮想視点画像を示す図である。
【００４７】
図４（ｂ）は、入出力処理部３１１によってモニタに表示されるカメラパスを編集するためのＵＩ画面４０２の例である。図４（ｂ）のＵＩ画面４０２には、サッカーグラウンドを真上から見た平面画像に、仮想視点の状態を示す仮想カメラのマーク等が重畳表示されている。
【００４８】
具体的には、入出力処理部３１１は、操作中の仮想カメラの位置および向き等の状態情報を表すマーク４０３と、キーフレームとして指定されている仮想カメラの位置および向き等の状態情報を表すマーク４０４〜４０６と、をＵＩ画面４０２に重畳表示する。
【００４９】
また、入出力処理部３１１は、仮想カメラが移動する方向を矢印として示すキーフレーム間のカメラパスを表したマーク４０８、４０９を平面画像に重畳表示する。カメラパスを表すマークは補間方法が分別できるようになっている。例えば、図４（ｂ）に示すように、点線の矢印のマーク４０９はスプライン補間によって生成されたカメラパラメータによるカメラパスを表している。また、実線の矢印のマーク４０８は円弧補間によって生成されたカメラパラメータによるカメラパスを表している。
【００５０】
操縦者は、ＵＩ画面上の表示されたこれらの情報を見ながら、ジョイスティック等のコントローラを用いて仮想視点のマーク４０３〜４０６を動かすことができる。このように操作することにより、その仮想カメラのマークが示す仮想視点のカメラパラメータの編集を行うことができる。また、操縦者は、矢印のマーク４０８、４０９によって、どの補間方法に基づいてキーフレーム間を接続するカメラパラメータが生成されたかを視覚的に確認することが可能となる。
【００５１】
なお、仮想視点の状態情報およびカメラパスを示すマークは、仮想視点の状態情報またはカメラパスが把握できるような態様であればよく、図４（ｂ）のマークに限定されない。また、ＵＩ画面４０２に基づき操縦者が操作することが可能な機能は、これに限られない。例えば、補間方法管理部３１４が管理している補間方法、またはカメラパラメータの補間を自動で決定するか手動で選択決定するかのモードの切り替えボタンが表示されてもよい。または補間方法の決定条件に係るパラメータを変更することが可能なスライドバーが表示されてもよい。
【００５２】
カメラパス編集コントローラ４０７は、カメラパスを編集するために操縦者が使用するコントローラの一例である。操縦者は、モニタに表示された仮想視点画像４０１やＵＩ画面４０２を見ながら、カメラパス編集コントローラ４０７のジョイスティック等のコントローラを用いてＵＩ画面上の仮想カメラを操縦してカメラパラメータを編集することができる。
【００５３】
［カメラパラメータの補間の処理］
図５は、キーフレーム間を接続するカメラパラメータを補間する一連の処理を示すフローチャートである。図５のフローチャートで示される一連の処理は、ＣＰＵがＲＯＭに記憶されているプログラムコードをＲＡＭに展開し実行することにより行われる。また、図５におけるステップの一部または全部の機能をＡＳＩＣや電子回路等のハードウェアで実現してもよい。なお、各処理の説明における記号「Ｓ」は、当該フローチャートにおけるステップであることを意味し、以後のフローチャートにおいても同様とする。
【００５４】
以下、図５を参照して、情報処理装置２０における処理の概要を説明する。操縦者からのカメラパスの生成開始の指示をトリガとして、図５のフローが開始される。
【００５５】
Ｓ５０１において入出力処理部３１１は、操縦者によるコントローラの操作に応じた入力値に基づき、仮想視点を規定するカメラパラメータを生成する。例えば、操縦者は、コントローラのジョイスティックを傾ける操作をして、ＵＩ画面上の仮想カメラが示すマークを前後、左右、上下へ移動し所望の位置を指定する。また、操縦者はコントローラの操作をしてＵＩ画面上のカメラをパン、チルト、ロール方向へ回転させ仮想視点の向きを指定する。さらに、操縦者はコントローラの操作をしてシーンの時刻を指定する。操縦者が仮想視点の位置、向きおよびシーンの時刻を指定すると、入出力処理部３１１は、その指定に応じた入力値に基づきカメラパラメータを生成し、生成したカメラパラメータによる仮想視点画像をモニタに表示する。入出力処理部３１１が生成したカメラパラメータは、キーフレーム決定部３１２に送られる。
【００５６】
Ｓ５０２においてキーフレーム決定部３１２は、操縦者によるコントローラの操作に応じた入力値に基づいて、Ｓ５０１において生成されたカメラパラメータをキーフレームとして記憶するか否かを判定する。例えば、コントローラの第１のボタンの押下に応じた入力値を入出力処理部３１１が受け付けた場合、キーフレーム決定部３１２は、生成されたカメラパラメータをキーフレームと指定し、生成されたカメラパラメータをキーフレームとして記憶すると判定する。
【００５７】
カメラパラメータをキーフレームとして記憶すると判定した場合（Ｓ５０２でＹＥＳ）、Ｓ５０３においてキーフレーム管理部３１３は、カメラパラメータをキーフレーム決定部３１２から取得しＲＡＭ２０２又はＲＯＭ２０３にキーフレームとして記憶する。
【００５８】
カメラパラメータをキーフレームとして記憶しないと判定した場合（Ｓ５０２でＮＯ）、またはＳ５０３の処理が完了した場合、Ｓ５０４に進む。
【００５９】
Ｓ５０４において補間方法決定部３１５は、操縦者によるコントローラの操作に応じた入力値に基づいて、キーフレーム間を接続するカメラパラメータを補間してカメラパスを生成するか否かを判定する。例えば、コントローラの第２のボタンの押下に応じた入力値を入出力処理部３１１が受け付けた場合、入出力処理部３１１は、補間方法決定部３１５に補間方法の決定する指示を行う。補間方法決定部３１５は、入出力処理部３１１の補間方法の決定する指示があった場合、記憶されているキーフレーム間のカメラパスを生成すると判定する。
【００６０】
カメラパスを生成すると判定しない場合（Ｓ５０４でＮＯ）、Ｓ５０１に戻り、キーフレームの記憶までの処理を繰り返す。カメラパスを生成するためのキーフレームは少なくとも２つ必要であるから、キーフレームが記憶されていない場合、またはキーフレームが１つしか記憶されていない場合についてもＮＯと判定される。
【００６１】
カメラパスを生成すると判定した場合（Ｓ５０４でＹＥＳ）、Ｓ５０５において補間方法決定部３１５は、キーフレーム間の補間方法を所定の条件に基づき決定する。Ｓ５０５の処理の詳細は後述する。
【００６２】
Ｓ５０６においてカメラパラメータ補間部３１６は、補間方法決定部３１５から取得したキーフレーム間の補間方法とキーフレームのカメラパラメータとに基づいて、キーフレーム間を接続する１つ又は複数のカメラパラメータを求める。そして、カメラパラメータ補間部３１６は、求めたカメラパラメータをカメラパス出力部３１７に出力する。
【００６３】
カメラパラメータ補間部３１６によって生成されるカメラパスがキーフレームを通る順番は、キーフレーム管理部３１３に記憶されたキーフレームの順番と同じでもよいし、上述したキーフレームのＩＤの順番であってもよい。または、キーフレームのカメラパラメータに時間のパラメータが含まれている場合は、その時間の順番でもよい。
【００６４】
円弧補間によって生成されるキーフレーム間のカメラパスは、図１では左回りに仮想カメラが移動するカメラパスであるものとして示したが、仮想カメラの位置が左回りに動くか右回りに動くかは、操縦者の入力によって決定しても良い。また、２つのキーフレームに対応する２つの仮想視点の距離などに基づいて、仮想カメラの旋回方向が自動で決定されてもよい。
【００６５】
本フローの終了後、カメラパス出力部３１７に渡されたカメラパスを示すカメラパラメータは、カメラパス出力部３１７から仮想視点画像生成部３０２に送信される。仮想視点画像生成部３０２は、そのカメラパラメータに基づき仮想視点画像を生成する。
【００６６】
［カメラパラメータ補間方法の決定制御］
次に、補間方法決定部３１５がキーフレーム間の補間方法を決定する処理の詳細を説明する。図６は図１と同様に、キーフレームとして指定されたカメラパラメータを仮想カメラ１０４および仮想カメラ１０５として示した図である。また、図６では仮想カメラ１０４の視線を表す視線ベクトルＣ１と、仮想カメラ１０５の視線を表す視線ベクトルＣ２とを重ね合わせて表示している。
【００６７】
視線ベクトルＣ２に最も近い位置にある視線ベクトルＣ１における視線ベクトル上の点をＰ１とする。同様に、視線ベクトルＣ１に最も近い位置にある視線ベクトルＣ２上の点をＰ２とする。図６の例では視線ベクトルＣ２と視線ベクトルＣ１とが最も接近する点は選手１０２上にある。よって、図６（ａ）では、選手１０２にＰ１とＰ２とがあるように表されている。
【００６８】
図６（ｂ）は、図６（ａ）の図を、選手を横から見た状態で表した図である。図６（ｂ）では点Ｐ１および点Ｐ２は選手１０２上の異なる位置にあることが分かる。つまり、図６の視線ベクトルＣ１と視線ベクトルＣ２とは、三次元座標上、交わっていないこと示している。視線ベクトルが交わっている場合、その交点は、点Ｐ１と点Ｐ２と同一の点となる。
【００６９】
点Ｐ１と点Ｐ２との中点を点Ｏとする。仮想カメラ６０１の位置（仮想視点の位置）から点Ｏまでの距離をＤ１とする。仮想カメラ６０２の位置（仮想視点の位置）から点Ｏまでの距離を距離Ｄ２とする。本実施形態では、補間方法決定部３１５は、距離Ｄ１および距離Ｄ２に基づき補間方法を決定する。
【００７０】
なお距離Ｄ１と距離Ｄ２とを測定するための点Ｏは点Ｐ１と点Ｐ２との中点に限定されない。点Ｏは、点Ｐ１と点Ｐ２とを含む所定の領域内に含まれる任意の点を点Ｏとして用いてもよい。例えば、仮想カメラ６０１の位置からＰ１までの距離を距離Ｄ１とし、仮想カメラ６０２の位置からＰ２までの距離を距離Ｄ２としてもよい。
【００７１】
図７は、図５のＳ５０５のカメラパラメータの補間方法の決定処理の詳細を説明するフローチャートである。本実施形態においては、２つのキーフレーム間のカメラパラメータの補間方法を決定する方法を説明する。
【００７２】
Ｓ７０１において補間方法決定部３１５は、キーフレーム管理部３１３から処理対象の２つのキーフレームのカメラパラメータを取得する。次に、補間方法決定部３１５は、一方のキーフレーム（第１のキーフレーム）における仮想視点の位置および向きを示すカメラパラメータから視線ベクトルＣ１を算出する。他方のキーフレーム（第２のキーフレーム）における仮想視点の位置および向きを示すカメラパラメータから視線ベクトルＣ２を算出する。次に補間方法決定部３１５は、視線ベクトルＣ１と視線ベクトルＣ２とが最も接近する距離(最短距離)を算出する。例えば、視線ベクトルＣ１と視線ベクトルＣ２とが交わっている場合、最短距離は０として算出される。
【００７３】
Ｓ７０２において補間方法決定部３１５は、Ｓ７０２において得られた最短距離を実現する視線ベクトルＣ１上の点Ｐ１の位置と、視線ベクトルＣ２上の点Ｐ２の位置と、を算出して決定する。
【００７４】
Ｓ７０３において補間方法決定部３１５は、点Ｐ１と点Ｐ２とに基づき点Ｏの位置を決定する。本実施形態では、点Ｐ１と点Ｐ２との中点を算出し、その中点を点Ｏとして決定する。視線ベクトルＣ１と視線ベクトルＣ２とが三次元座標上で交わっている場合、点Ｐ１、点Ｐ２および点Ｏはそれぞれ同じ位置にある点として決定される。
【００７５】
Ｓ７０４において補間方法決定部３１５は、第１のキーフレームにおける仮想視点の位置から点Ｏまでの距離Ｄ１と、第２のキーフレームにおける仮想視点の位置から点Ｏまでの距離Ｄ２とを算出して決定する。
【００７６】
Ｓ７０５において補間方法決定部３１５は、距離Ｄ１および距離Ｄ２と第１の閾値Ｔｈとの大小関係による判定処理を行う。本実施形態では、補間方法決定部３１５は、距離Ｄ１と距離Ｄ２との差が閾値Ｔｈ以下かを判定する。
【００７７】
距離Ｄ１と距離Ｄ２との差が閾値以下と判定された場合（Ｓ７０５でＹＥＳ）、Ｓ７０６において補間方法決定部３１５は、処理対象のキーフレーム間のカメラパラメータの補間方法を円弧補間と決定する。距離Ｄ１と距離Ｄ２との長さがほぼ同じである場合、点Ｏを中心とした円の円弧上の近傍にキーフレームとして指定されたカメラパラメータの仮想視点が位置することになる。この場合、操縦者は点Ｏにあるオブジェクトを中心とした円弧状のカメラパスを期待しているものと考えられる。よって、距離Ｄ１と距離Ｄ２との差が閾値以下の場合は、補間方法決定部３１５は、キーフレーム間のカメラパスが円弧状に生成されるように、補間方法を円弧補間として決定する。
【００７８】
距離Ｄ１と距離Ｄ２との差が閾値Ｔｈより大きいと判定された場合（Ｓ７０５でＮＯ）、Ｓ７０７において補間方法決定部３１５は、処理対象のキーフレーム間のカメラパラメータの補間方法をスプライン補間と決定する。
【００７９】
判定方法は、距離Ｄ１と距離Ｄ２との差と閾値Ｔｈとを比較したがこれに限定されない。他にも、補間方法決定部３１５は、距離Ｄ１と距離Ｄ２との比率に応じて円弧補間かスプライン補間かを決定してもよい。この場合、例えば、距離Ｄ１と距離Ｄ２の比率が所定の値の範囲内であれば円弧補間と決定され、それ以外の場合はスプライン補間と決定される形態でもよい。また、距離Ｄ１と距離Ｄ２との差が閾値Ｔｈより小さい場合は処理対象のキーフレーム間のカメラパラメータの補間方法を円弧補間と決定し、閾値Ｔｈ以上であればスプライン補間をする決定をする方法でもよい。また、補間方法決定部３１５は、入出力処理部３１１が受け付けた入力値に基づいて、補間方法を決定するための条件を更新する処理を行ってもよい。例えば、補間方法決定部３１５は、操縦者が入力した入力値に基づいて閾値Ｔｈを変更してもよい。
【００８０】
補間方法決定部３１５は、補間方法管理部３１４を介して、決定した補間方法をＲＯＭ２０３から取得する。補間方法決定部３１５は、キーフレーム間のカメラパラメータと補間方法をカメラパラメータ補間部３１６に出力する。
【００８１】
以上説明したように本実施形態によれば、ある条件が満たされたときキーフレーム間のカメラパラメータの補間方法としてスプライン補間ではなく円弧補間が決定される。このため、ある点を中心に仮想カメラが移動するようなカメラパスを生成する場合において、操縦者は多数のキーフレームを指定することなく、円弧状のカメラパスを生成することができる。
【００８２】
なお、補間方法を決定する方法は視線ベクトルから決定された点Ｏと仮想視点の位置との距離に基づく方法に限定されない。キーフレームとして指定されたカメラパラメータが示す仮想視点の位置および向きに基づく他の情報によって補間方法が決定されてもよい。例えば、それぞれのキーフレームにおける仮想視点の向きが、お互いを撮像するような向きであれば同じオブジェクトを中心に前後または左右から撮像していると考えられる。このため、この場合も円弧補間と決定されてもよい。すなわち、第１キーフレームの仮想視点の視界内に第２キーフレームの仮想視点の位置が含まれ、且つ、当該第２キーフレームの仮想視点の視界内に当該第１キーフレームの仮想視点の位置が含まれる場合に、補間方法が円弧補間に決定されてもよい。
【００８３】
また、キーフレーム間のカメラパラメータの補間方法が、自動で決定される自動モードと、操縦者の選択によって決定される手動モードと、を有する形態であってもよい。また、このモードの切り替えは、操縦者の選択によって切り替えられる形態であってもよいし所定の条件に応じて切り替わる形態でもよい。この場合、自動モードとして設定されているときに、補間方法決定部３１５は図７のフローの処理に基づき補間方法を決定することになる。
【００８４】
＜実施形態２＞
実施形態１では、キーフレームの数が２つの場合におけるキーフレーム間のカメラパラメータの補間方法を決定する処理を説明した。本実施形態では、３以上のキーフレームが操縦者により指定されている場合において、キーフレーム間の補間方法を決定する処理について説明をする。本実施形態については、実施形態１からの差分を中心に説明する。特に明記しない部分については実施形態１と同じ構成および処理である。
【００８５】
図８は、図６（ａ）と同様に、選手８０６を上から見た図に、キーフレームのカメラパラメータを仮想カメラとして表した図である。図８ではキーフレームとして指定されている仮想カメラは仮想カメラ８０１〜８０４の４つである。すなわち４つのキーフレームが操縦者によって指定されている。図８ではキーフレームの数を４つとして説明するがこれに限定されない。本実施形態におけるキーフレームの数は操縦者が指定する任意の数でよい。
【００８６】
図８には、キーフレームである仮想カメラ８０１〜８０３のそれぞれの視線を表す視線ベクトルＣ１〜Ｃ３が表されている。視線ベクトルＣＮは、操縦者によって指定されたキーフレームの数ＮのうちＮ番目のキーフレームの仮想カメラの視線を示す視線ベクトルである。図８の例ではキーフレームの数Ｎは４であるから、ＣＮは４番目のキーフレームである仮想カメラ８０４の視線ベクトルを表している。
【００８７】
図９は、図５のＳ５０５におけるカメラパラメータの補間方法を決定する本実施形態における処理の内容を説明したフローチャートである。本実施形態の補間方法決定部３１５は、キーフレーム管理部３１３から取得したＮ個のカメラパラメータに基づき、カメラパラメータの補間方法を決定する。
【００８８】
Ｓ９０１において補間方法決定部３１５は、操縦者によるコントローラの操作に応じた入力値に基づき、カメラパラメータ補間部３１６がカメラパラメータを補間する処理対象のキーフレームの数Ｎと処理対象のキーフレームのカメラパラメータとを取得する。例えば、記憶されているキーフレームの中から、操縦者が処理対象のキーフレームを複数指定した場合、その処理対象のキーフレームの数がＮとして取得される。
【００８９】
Ｓ９０２では、Ｓ９０１において指定された処理対象のキーフレームの中から、判定対象のキーフレームと、判定対象のキーフレームと隣り合うキーフレームと、の１組のキーフレームに対してＳ９０３〜Ｓ９０７の処理が行われる。原則として、処理対象のキーフレームのうち、１番目のキーフレームからＮ−１番目までのキーフレームを判定対象のキーフレームとしてＳ９０３〜Ｓ９０７の処理が繰り返し行われる。
【００９０】
なお、判定対象のキーフレームと隣り合うキーフレームとしては、例えば、判定対象のキーフレームの仮想視点の位置が最も近い仮想視点であるキーフレーム、または仮想視点の時間のパラメータが最も近い仮想視点であるキーフレームが着目される。ただし、判定対象のキーフレームと判定対象のキーフレームから最も近いキーフレームとの処理が既に行われている場合は、処理対象のキーフレームから２番目に近いキーフレームが、隣り合うキーフレームとして着目される。
【００９１】
判定対象のキーフレームの位置から最も近いキーフレームを隣り合うキーフレームとする場合、図８の例では最大で３つの組み合わせによる処理が行われる。即ち、仮想カメラ８０１および仮想カメラ８０２、仮想カメラ８０２および仮想カメラ８０３、仮想カメラ８０３および仮想カメラ８０４、の組み合わせで処理が行われる。
【００９２】
Ｓ９０３において補間方法決定部３１５は、判定対象のキーフレーム（第１のキーフレーム）における仮想視点の位置および向きを示すカメラパラメータに基づき視線ベクトルＣｎを算出する。また、補間方法決定部３１５は、第１のキーフレームと隣り合うキーフレーム（第２のキーフレーム）における仮想視点の位置および向きを示すカメラパラメータに基づき視線ベクトルＣｎ＋１を算出する。次に、補間方法決定部３１５は、視線ベクトルＣｎと視線ベクトルＣｎ＋１との最短距離を算出する。最短距離の算出方法は、Ｓ７０１と同様である。
【００９３】
Ｓ９０４において補間方法決定部３１５は、Ｓ７０２と同様に、Ｓ９０１で得られた最短距離を実現する視線ベクトルＣｎ上の点Ｐ１と視線ベクトルＣｎ＋１上の点Ｐ２との位置を算出する。
【００９４】
Ｓ９０５はＳ７０３と同様の処理であるため説明を省略する。
【００９５】
Ｓ９０６において補間方法決定部３１５は、第１のキーフレームにおける仮想視点の位置から点Ｏまでの距離Ｄ１と、第２のキーフレームにおける仮想視点の位置から点Ｏまでの距離Ｄ２とを算出して決定する。
【００９６】
Ｓ９０７において補間方法決定部３１５は、距離Ｄ１と距離Ｄ２との差が、閾値Ｔｈ以下であるかを判定する。
【００９７】
距離Ｄ１と距離Ｄ２との差が閾値Ｔｈ以下と判定された場合（Ｓ９０７でＹＥＳ）、Ｓ９０２に戻り、Ｎ番目のキーフレーム以外のキーフレームのうち、判定対象になっていないキーフレームに着目してＳ９０３〜Ｓ９０７の処理を繰り返す。Ｎ−１個の隣り合うキーフレームの組み合わせのうち、距離Ｄ１と距離Ｄ２との差が閾値Ｔｈより大きいキーフレームの組み合わせが無かった場合、Ｓ９０８に進む。
【００９８】
Ｓ９０８において補間方法決定部３１５は、Ｎ個のキーフレーム間の補間方法を円弧補間と決定する。
【００９９】
距離Ｄ１と距離Ｄ２との差が閾値Ｔｈより大きいと判定された場合（Ｓ９０７でＮＯ）、Ｓ９０９において補間方法決定部３１５は、Ｎ個のキーフレーム間のカメラパラメータの補間方法をスプライン補間と決定し処理を終了する。即ち、Ｎ−１個の隣り合うキーフレームの組み合わせのうち、距離Ｄ１と距離Ｄ２との差が閾値Ｔｈより大きいキーフレームの組み合わせが１つでもある場合、Ｎ個のキーフレーム間の補間方法は、スプライン補間と決定される。
【０１００】
以上説明したように本実施形態によれば、キーフレームが３つ以上ある場合であっても、キーフレームである仮想視点の位置および向きに適した補間方法を決定することができる。即ち、キーフレームが複数ある場合は、円弧補間に比べ、スプライン補間によって生成されたカメラパラメータのカメラパスの方が操縦者の期待するカメラパスに近くなる。このため、本実施形態では、補間方法としてスプライン補間が決定される場合が多くなることから操縦者の期待するカメラパスを生成することができる。
【０１０１】
なお、実施形態１と同様に、補間方法として円弧補間が決定された場合、キーフレーム間のカメラパスが左回りであるか右回りであるかは、操縦者の入力によって決定されてもよい。または、円弧補間が決定された場合、仮想視点の動く方向は配置されたキーフレームの密度によって決められても良い。例えば、円弧上にキーフレームを配置した場合に、始点であるキーフレームに対してキーフレームが密に配置されている方向に仮想視点が動くように制御してもよい。
【０１０２】
また、補間方法として円弧補間と決定された場合、生成されるカメラパスは、キーフレームを全て通る必要はない。例えば、図９の場合において円弧補間が決定されたときは、キーフレームを示す仮想カメラ８０１〜８０４の位置を通る円弧のカメラパスが生成できない。このため、きれいな円弧のカメラパスを生成するために、仮想カメラ８０３の位置を通らないようなカメラパスによるカメラパラメータが決定されてもよい。
【０１０３】
＜実施形態３＞
本実施形態では、複数の閾値を用いて、カメラパラメータの補間方法を決定する処理を説明する。本実施形態については、実施形態１からの差分を中心に説明する。特に明記しない部分については実施形態１と同じ構成および処理である。
【０１０４】
図１０は、サッカーグラウンドを真上から見た平面画像に、仮想視点の位置および向きを示す仮想カメラおよびキーフレーム間のカメラパスが重畳表示されている図である。
【０１０５】
図１０を用いて、キーフレームのカメラパラメータとして、仮想カメラ１００２および仮想カメラ１００３が示すカメラパラメータが指定される場合を説明する。同様に、キーフレームのカメラパラメータとして仮想カメラ１００５および仮想カメラ１００６が示すカメラパラメータが指定される場合を説明する。
【０１０６】
まず、キーフレームとして仮想カメラ１００２および仮想カメラ１００３が示すカメラパラメータを指定する場合を考える。仮想カメラ１００２および仮想カメラ１００３をキーフレームとする仮想視点画像の撮像シーンはシュートシーンを選手の間近から撮像するシーンであるから、前述のとおり円弧状のカメラパス１００９が期待される。このため仮想カメラ１００２および仮想カメラ１００３間のカメラパラメータの補間方法は円弧補間によって補間されるのが好ましい。
【０１０７】
一方、キーフレームとして仮想カメラ１００５および仮想カメラ１００６が示すカメラパラメータを指定した場合を考える。この場合はゴールシーンを含む全体を撮像するシーンであるから仮想カメラ１００５および仮想カメラ１００６間は直線的なカメラパス１００８であることが期待される。よって、図１０に示すように仮想カメラ１００５および仮想カメラ１００６間のカメラパラメータの補間方法はスプライン補間によって補間されるのが好ましい。
【０１０８】
しかし、仮想カメラ１００６の位置は仮想カメラ１００５の位置からフィールドのゴールラインとほぼ平行に移動した位置にある。また仮想カメラ１００５および仮想カメラ１００６はフィールドのゴールに注目して撮像する向きをしている。よって実施形態１の方法によって、仮想カメラ１００５の位置と点Ｏとの距離Ｄ１と、仮想カメラ１００６の位置と点Ｏとの距離Ｄ２と、を決定すると距離Ｄ１と距離Ｄ２とはほぼ同じ長さになる。このため距離Ｄ１と距離Ｄ２との差は閾値より大きくならないことがあるため仮想カメラ１００５および仮想カメラ１００６の間のカメラパラメータの補間方法は、円弧補間と決定される虞がある。このため、本実施形態では、第２の閾値を設け、円弧補間として決定される場合の制限を設ける形態である。
【０１０９】
図１１は、図５のＳ５０５におけるカメラパラメータの補間方法を決定する本実施形態における処理の内容を説明したフローチャートである。
【０１１０】
本フローチャート説明においては、２つのキーフレームを対象としたカメラパラメータの補間方法を決定するものとして説明する。Ｓ１１０１〜Ｓ１１０４は、Ｓ７０１〜Ｓ７０４の処理と同一であるため説明を省略する。
【０１１１】
Ｓ１１０５において補間方法決定部３１５は、第２の閾値Ｔｈ2を取得し、距離Ｄ１および距離Ｄ２と第２の閾値Ｔｈ2との大小関係による判定処理を行う。本実施形態では、補間方法決定部３１５は、距離Ｄ１と距離Ｄ２との何れもが第２の閾値Ｔｈ2以下であるか判定する。また、本実施形態では、サッカーグラウンドのピッチ幅Ｗを第２の閾値Ｔｈ2として用いるものとして説明する。ＲＯＭ２０３にはサッカーグラウンドを計測して得られたサッカーグラウンドのピッチを幅Ｗが予め記憶されている。補間方法決定部３１５は、ＲＯＭ２０３からピッチ幅Ｗを第２の閾値Ｔｈ2として取得する。
【０１１２】
距離Ｄ１と距離Ｄ２との少なくとも一方が第２の閾値Ｔｈ2より大きいと判定した場合（Ｓ１１０５でＮＯ）、Ｓ１１０８に進み補間方法決定部３１５は、補間方法としてスプライン補間を決定する。本実施形態では、第２の閾値を用いて判定することにより、例えば、いずれかのキーフレームにおける仮想視点の位置がオブジェクトから所定の距離より大きく離れている場合、円弧補間として決定されないようにすることができる。
【０１１３】
距離Ｄ１と距離Ｄ２との何れもが第２の閾値Ｔｈ2以下と判定した場合（Ｓ１１０５でＹＥＳ）、Ｓ１１０６に進む。Ｓ１１０６〜Ｓ１１０８の処理はＳ７０５〜Ｓ７０７と同一の処理である。すなわち、距離Ｄ１と距離Ｄ２との差が第１の閾値Ｔｈ以下であれば円弧補間を決定し、第１の閾値Ｔｈより大きければスプライン補間を決定する。
【０１１４】
以上説明したように、本実施形態によれば、実施形態１では円弧補間と決定される場合であっても、第２の閾値を用いて判定することにより、スプライン補間が好ましい撮像シーンにおいてはスプライン補間と決定することができる。
【０１１５】
なお、第２の閾値Ｔｈ2は、ピッチ幅に限定されるものではない。他にも例えば、仮想視点画像が陸上競技場における陸上競技を撮像した画像あれば、直走路の長さを第２の閾値Ｔｈ2として用いてもよい。また、第２の閾値は、操縦者の入力値でもよい。第２の閾値は、１つでも複数でもよい。
【０１１６】
他にも、例えば、上述のＳ１１０５判定に替えて、または上述のＳ１１０５の処理に追加して以下のような判定方法を用いてもよい。
【０１１７】
点Ｐ１から点Ｏまでの距離と点Ｐ２から点Ｏまでの距離とをそれぞれ算出し、それぞれの距離を所定の閾値と比較し、どちらかの距離が所定の閾値以上であれば、Ｓ１１０６の判定結果によらずにスプライン補間と決定されてもよい。点Ｐ１から点Ｏまでの距離と、点Ｐ２から点Ｏまでの距離との何れかが一定以上の長さ以上であれば、キーフレーム間で仮想視点の向きが大きく変化していると考えられる。このため、円弧補間よりスプライン補間した方がオブジェクトに仮想視点が追従できる場合があるためである。
【０１１８】
他にも、点Ｐ１、点Ｐ２、または点Ｏのいずれかがグラウンドの内側か外側か判定され、外側であればＳ１１０６の判定結果によらずにスプライン補間と決定される方法でもよい。円弧補間の場合、点Ｐ１、点Ｐ２、または点Ｏのいずれかの点の近傍を中心とする円弧のカメラパスが生成される。グラウンドの外側の位置にある点を中心に仮想視点を円弧状に移動させることは稀であることから、点Ｐ１、点Ｐ２、または点Ｏのいずれかがグラウンドの外側であればスプライン補間によってカメラパラメータが補間されるのが好ましいためである。
【０１１９】
他にも、点Ｐ１と点Ｐ２との何れかが、他方の仮想視点の視線の方向の逆側（他方の仮想カメラの後ろ側）にあるときは、Ｓ１１０６の判定結果によらず補間方法決定部３１５がスプライン補間とする決定する方法でもよい。
【０１２０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２１】
２０    情報処理装置
３１５  補間方法決定部
３１６  カメラパラメータ補間部
【図１】
2020141198.tif 000003
【図２】
2020141198.tif 000004
【図３】
2020141198.tif 000005
【図４】
2020141198.tif 000006
【図５】
2020141198.tif 000007
【図６】
2020141198.tif 000008
【図７】
2020141198.tif 000009
【図８】
2020141198.tif 000010
【図９】
2020141198.tif 000011
【図１０】
2020141198.tif 000012
【図１１】
2020141198.tif 000013
【手続補正書】
【提出日】平成31年3月28日(2019.3.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の撮像装置により複数の方向から撮像することで得られる画像データに基づく仮想視点画像の生成に係る仮想視点の経路を示すカメラパスの基準となる、複数のキーフレームを指定する指定手段と、
前記指定手段により指定された複数のキーフレームの間を補間することで前記カメラパスを設定する設定手段と、を有することを特徴とする情報処理装置。
【請求項２】
仮想視点画像の生成に係る仮想視点の経路を示すカメラパスの基準となる複数の仮想視点に対応する複数のキーフレームのうち、第１のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、前記第１のキーフレームとは異なる第２のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、に基づき前記複数のキーフレーム間を接続するカメラパラメータの補間方法を決定する決定手段を有し、
前記設定手段は、前記補間方法に基づき、前記複数のキーフレーム間を接続するカメラパラメータを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記補間方法には、円弧補間とスプライン補間とが含まれることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記決定手段は、前記第１のキーフレームにおけるカメラパラメータが示す仮想視点の位置から所定の点までの第１の距離と、前記第２のキーフレームにおけるカメラパラメータが示す仮想視点の位置から前記所定の点までの第２の距離と、に基づき前記補間方法を決定することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記所定の点は、
前記第１のキーフレームにおけるカメラパラメータが示す第１の視線ベクトル上の点のうち、前記第２のキーフレームにおけるカメラパラメータが示す第２の視線ベクトルに最も近い第１の点と、
前記第２の視線ベクトル上の点のうち前記第１の視線ベクトルに最も近い第２の点と、を含む所定の領域内にある点であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記所定の領域内にある点は、前記第１の点と前記第２の点との中点であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記決定手段は、前記第１の距離と前記第２の距離との差に応じて、前記補間方法として円弧補間かスプライン補間かを決定することを特徴とする請求項４から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記決定手段は、前記第１の距離と前記第２の距離との差が、第１の閾値以下であると判定した場合、前記補間方法を円弧補間と決定をすることを特徴とする請求項４から６のいずれか１項に記載の情報処理装置。
【請求項９】
前記決定手段は、前記第１の距離と前記第２の距離との少なくとも何れか一方の値が第２の閾値より大きい場合、前記第１の閾値に基づく決定に係わらず、前記補間方法をスプライン補間と決定をすることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記複数のキーフレームの数は２つであることを特徴とする請求項２から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記決定手段は、
前記複数のキーフレームのうち、隣り合う組のキーフレームの一方を前記第１のキーフレームとし、他方を前記第２のキーフレームとして前記第１の距離と前記第２の距離とを決定し、
前記隣り合うキーフレームの組のうちの何れかの組における前記第１の距離と前記第２の距離との差が、第１の閾値より大きい場合、前記複数のキーフレーム間を接続するための前記補間方法をスプライン補間と決定し、
それ以外の場合は、前記複数のキーフレーム間を接続するための前記補間方法を円弧補間と決定することを特徴とする請求項４から６のいずれか１項に記載の情報処理装置。
【請求項１２】
前記複数のキーフレームの数は３つ以上であることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
操縦者の操作による入力値を受け付ける入力受付手段をさらに有し、
前記決定手段は、前記複数のキーフレームの数を、前記入力受付手段が受け付けた入力値に応じて決定することを特徴とする請求項２から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記補間方法が前記決定手段によって決定される第１のモードと、
前記補間方法が操縦者の選択に基づき決定される第２のモードと、を有し、
前記第１のモードと前記第２のモードとは切り替え可能であることを特徴とする請求項２から１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記設定手段により求められた前記キーフレーム間を接続するためのカメラパラメータを用いて仮想視点画像を生成する生成手段をさらに有することを特徴とする請求項２から１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記カメラパスを編集するための画面を表示させる表示制御手段をさらに有することを特徴とする請求項２から１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記表示制御手段は、
前記キーフレームを表すマークと、
前記カメラパスが、前記補間方法に応じた異なる態様で表されたマークと、が含まれる前記画面を表示することを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
仮想視点画像のカメラパスを編集するための画面上に、
仮想視点画像における仮想視点の経路を示すカメラパスの基準となる複数の仮想視点に  対応する複数のキーフレームを表すマークと、
前記複数のキーフレーム間の前記カメラパスを、補間方法に応じた異なる態様で表すマークと、を表示させる表示制御手段を有することを特徴とする情報処理装置。
【請求項１９】
仮想視点画像の生成に係る仮想視点の経路を示すカメラパスの基準となる複数の仮想視点に対応する複数のキーフレームのうち、第１のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、前記第１のキーフレームとは異なる第２のキーフレームにおけるカメラパラメータが示す仮想視点の位置および向きの情報と、に基づき前記複数のキーフレーム間を接続するカメラパラメータの補間方法を決定する決定ステップと、
前記補間方法に基づき、前記複数のキーフレーム間を接続するカメラパラメータを決定する補間ステップと、を含むことを特徴とする制御方法。
【請求項２０】
コンピュータを、請求項１から１８のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
特許文献１には、キーフレーム法ではスプライン関数でキーフレーム間を補間することが記載されている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
しかしながら、ユーザが意図する仮想視点の経路を容易に設定できない場合がある。例えば、仮想視点の位置がオブジェクトを中心に１８０度近く回るようなカメラパスを生成する場合、スプライン関数による補間では、カメラパスとなる円弧上に幾つものキーフレームを指定する必要がある。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の一態様に係る情報処理装置は、複数の撮像装置により複数の方向から撮像することで得られる画像データに基づく仮想視点画像の生成に係る仮想視点の経路を示すカメラパスの基準となる、複数のキーフレームを指定する指定手段と、前記指定手段により指定された複数のキーフレームの間を補間することで前記カメラパスを設定する設定手段と、を有することを特徴とする情報処理装置である。