(57)【要約】【課題】仮想視点画像の生成に関するパラメータの制御における利便性を向上することを目的とする。【解決手段】複数のカメラが異なる方向から撮影することで得られる複数の撮影画像に基づく仮想視点画像の生成に関する複数種類のパラメータと、１又は複数の操作部材と、の対応付け処理を行う処理手段と、前記処理手段による対応付け処理に従って、前記１又は複数の操作部材のうちユーザにより操作された操作部材に対応するパラメータを制御する制御手段と、を有する。【選択図】図１０
2020014177.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラが異なる方向から撮影することで得られる複数の撮影画像に基づく仮想視点画像の生成に関する複数種類のパラメータと、１又は複数の操作部材と、の対応付け処理を行う処理手段と、
前記処理手段による対応付け処理に従って、前記１又は複数の操作部材のうちユーザにより操作された操作部材に対応するパラメータを制御する制御手段と
を有する情報処理装置。
【請求項２】
前記制御手段は、ユーザにより操作された操作部材に対応するパラメータを変更するための制御信号を、前記仮想視点画像を生成する装置に対して出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数種類のパラメータに基づいて仮想視点画像を生成する生成手段を有し、
前記制御手段は、前記生成手段が仮想視点画像の生成のために用いるパラメータを、ユーザによる操作部材の操作に応じて制御すること特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記複数種類のパラメータと、前記１又は複数の部材との対応関係を示す指定情報を、前記処理手段による対応付け処理の結果に従って生成する生成手段と、
前記制御手段は、ユーザにより操作された操作部材に対応するパラメータを、前記指定情報の参照により特定することを特徴とする請求項１乃至３のうち、何れか１項に記載の情報処理装置。
【請求項５】
前記指定情報には、前記複数種類のパラメータと１又は複数の調整用部材との対応関係の情報が含まれ、
前記制御手段は、ユーザによる操作部材の操作に応じたパラメータの調整量を、前記調整用部材に対するユーザ操作に基づいて決定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
操作部材を操作するユーザの識別情報を特定する特定手段を有し、
前記生成手段が生成する前記指定情報には、ユーザの識別情報が含まれ、
前記制御手段は、前記生成手段が生成した複数の指定情報のうち、前記特定手段により特定された識別情報に基づいて選択された指定情報に基づいて、前記パラメータを制御することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
仮想視点画像に係る撮影対象を特定する特定手段を有し、
前記生成手段が生成する前記指定情報には、撮影対象に関する情報が含まれ、
前記制御手段は、前記生成手段が生成した複数の指定情報のうち、前記特定手段により特定された撮影対象に基づいて選択された指定情報に基づいて、前記パラメータを制御することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項８】
前記撮影対象に関する情報は、イベントの種類、及び、シーンの種類のうち、少なくとも何れかの識別情報を含むことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記処理手段が前記１又は複数の操作部材のうち第１操作部材と第１パラメータを対応付けた場合、前記第１操作部材のユーザ操作に応じた前記第１パラメータの変更量を設定するための調整用部材を決定する決定手段を有することを特徴とする請求項１乃至８のうち、何れか１項に記載の情報処理装置。
【請求項１０】
前記決定手段は、複数の調整用部材を決定することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記複数種類のパラメータには、仮想カメラの位置、姿勢、画角、及び、ズームに関するパラメータのうち、少なくとも何れかが含まれることを特徴とする請求項１乃至１０のうち、何れか１項に記載の情報処理装置。
【請求項１２】
前記操作部材はジョイスティックであり、前記調整用部材はつまみであることを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１３】
複数のカメラが異なる方向から撮影した複数の撮影画像に基づく仮想視点画像の生成に関する複数種類のパラメータと、１又は複数の操作部材と、の対応付け処理を行う処理ステップと、
前記処理ステップによる対応付け処理に従って、前記１又は複数の操作部材のうちユーザにより操作された操作部材に対応するパラメータを制御する制御ステップと
を有する情報処理方法。
【請求項１４】
コンピュータを、請求項１乃至１２のうち、何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複数の撮像装置を異なる位置に設置して、この複数の撮像装置を介して多視点で同期して撮影された複数の画像を用いて、任意の視点からの画像である仮想視点画像を生成する技術が注目されている。仮想視点画像は、仮想的な視点に置かれた仮想的な撮像装置である仮想カメラにより撮影された画像ともみなすことができる。
このような仮想視点画像を用いたサービスでは、例えば、サッカーやラグビーの試合を撮影した動画像から、動画像制作者によって迫力のある視点のコンテンツを制作できる。また、コンテンツを視聴しているユーザ自身が自由に視点を移動しながら、試合観戦したりすることができるようにもなり、従来の撮影画像と比較してユーザに高臨場感を与えることができる。
画像の生成に関するパラメータを、コントローラを介して制御することが行われている。特許文献１には、ジョイスティックとシーソーコントロールレバーとを用い、カメラのパン角・チルト角・ズーム率を制御するコントローラが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９７８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮想視点画像の生成に関するパラメータを、コントローラを介して制御したいという要望がある。しかし、仮想視点画像の生成に関するパラメータは、例えば、仮想カメラの位置（３次元座標上における、左右、前後、上下の位置）、仮想カメラのカメラパラメータ（パン角、チルト角、ロール角、ズーム等）、描画対象のシーンの時刻等の多数がある。また、例えば、スポーツの試合を仮想視点画像として描画する場合、試合の流れに応じて、高臨場感を与えるような様々なカメラワークの実現を行うために仮想視点画像の生成に関する複数のパラメータを調整することがある。そのような場合、ユーザがより容易に仮想視点画像の生成に関するパラメータを調整できるように、コントローラに含まれる部材を介して、ユーザに合わせて指定されたパラメータの制御をできるようにしたいという要望がある。
特許文献１では、コントローラに含まれる部材（ジョイスティックとシーソーコントロールレバーと）を介して、固定のパラメータ（パン角、チルト角、ズーム率）の制御が行われる。即ち、特許文献１では、コントローラに含まれる部材を介してユーザに合わせて指定されたパラメータの制御をできるようにできなかったため、仮想視点画像の生成に関するパラメータの制御における利便性を向上できなかった。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、複数のカメラが異なる方向から撮影することで得られる複数の撮影画像に基づく仮想視点画像の生成に関する複数種類のパラメータと、１又は複数の操作部材と、の対応付け処理を行う処理手段と、前記処理手段による対応付け処理に従って、前記１又は複数の操作部材のうちユーザにより操作された操作部材に対応するパラメータを制御する制御手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、仮想視点画像の生成に関するパラメータの制御における利便性を向上することができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理システムのシステム構成等の一例を説明する図である。
【図２】入出力部の一例を説明する図である。
【図３】３軸コントローラの一例を説明する図である。
【図４】ズームコントローラの一例を説明する図である。
【図５】リプレイコントローラの一例を説明する図である。
【図６】情報処理装置の機能構成の一例を説明する図である。
【図７】コントローラの一例を説明する図である。
【図８】割り当て設定ファイルの一例を説明する図である。
【図９】コントローラへの機能の割り当ての一例を説明する図である。
【図１０】割り当て処理の一例を示すフローチャートである。
【図１１】仮想視点パラメータの制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下に、本発明の実施の形態の例を、図面に基づいて詳細に説明する。
【０００９】
＜実施形態１＞
図１（ａ）は、画像処理システム１０のシステム構成の一例を示す図である。
画像処理システム１０は、撮影システム１０１、生成サーバ１０２、情報処理装置１０３を含む。画像処理システム１０は、仮想視点画像を生成するシステムである。
撮影システム１０１は、それぞれ異なる位置に配置された複数の撮像装置を含み、この複数の撮像装置を介して、多視点から同期して撮影された複数の画像を、生成サーバ１０２に送信するシステムである。撮影システム１０１は、複数の動画像を生成サーバ１０２に送信する場合、例えば、複数の動画像における時刻の同期した複数のフレーム（静止画像）を周期的に生成サーバ１０２に送信することとなる。
【００１０】
生成サーバ１０２は、多視点から同期して撮影された複数の画像を元に、仮想カメラにより撮影された（指定された仮想的な視点から見た）仮想視点画像を生成する。仮想カメラとは、撮影空間内を自由に移動できる仮想的な撮像装置である（ただ仮想カメラの移動範囲に一定の制約があっても良い）。仮想視点画像は、仮想カメラにより撮影された画像とみなすことができる。仮想カメラは、撮影システム１０１が有するどの撮像装置とも異なる視点から見た画像、つまり仮想視点画像を撮影することができる。仮想カメラの視点は、情報処理装置１０３により決定されるパラメータ（仮想視点パラメータ）によって表現される。生成サーバ１０２は、撮影システム１０１から受信した複数の画像に基づいて、順次、仮想視点画像を生成する。即ち、生成サーバ１０２は、撮影システム１０１からライブ画像が送信される場合、ライブ仮想視点画像を生成することができる。画像処理システム１０が生成するライブ仮想視点画像とは、現在時刻に対して撮影システム１０１及び生成サーバ１０２での処理遅延を考慮した時刻において撮影システム１０１により撮影された画像に基づいて生成された仮想視点画像である。
更に、生成サーバ１０２は、撮影システム１０１から受信した複数の画像を、記憶装置に記憶されたデータベースに記録する機能を有する。生成サーバ１０２は、記録した複数の画像から、過去の時刻のシーンを描画した仮想視点画像（以下では、リプレイ仮想視点画像とする）を生成することができる。即ち、リプレイ仮想視点画像は、任意の時刻のシーンが撮影システム１０１により撮影された撮影画像に基づいて、生成された仮想視点画像である。
【００１１】
情報処理装置１０３は、仮想カメラのカメラパラメータ等の仮想視点画像の生成に関するパラメータを決定するパーソナルコンピュータ（ＰＣ）、サーバ装置、タブレット装置、デバイスに組み込まれたコンピュータ等の情報処理装置である。以下では、仮想視点画像の生成に関するパラメータを、仮想視点パラメータとする。仮想視点パラメータには、例えば、仮想カメラの位置・姿勢・画角等を示すカメラパラメータ、仮想視点画像の描画対象となるシーンの時刻等がある。仮想視点パラメータは、例えば、予め定められた座標系における仮想カメラの座標、仮想カメラのパン・チルト・ロールの方向を示す角度・ズーム率等である。
仮想視点パラメータに含まれる仮想カメラの位置のパラメータは、３次元座標系における座標値（例えば、Ｘ軸、Ｙ軸、Ｚ軸の３軸の直交座標系の座標）であってもよい。この場合、仮想カメラのカメラパラメータにより指定される仮想カメラの位置は、座標を示すものであり、例えば、Ｘ軸上の座標値、Ｙ軸上の座標値、Ｚ軸上の座標値の３つのパラメータから構成される。この座標系の原点は、撮影空間内の任意の位置としてもよい。予め定められた３次元の座標系における仮想視点の座標を示す３つの仮想視点パラメータ（その座標系上のＸ軸上の座標値、Ｙ軸上の座標値、Ｚ軸上の座標値）を、以下では、それぞれ、Ｘ軸座標、Ｙ軸座標、Ｚ軸座標とする。
【００１２】
仮想視点パラメータにより指定される仮想カメラの姿勢は、パン、チルト、ロールの３軸とのなす角度により示されてもよい。この場合、仮想視点パラメータにより指定される仮想カメラの姿勢は、パン方向の角度、チルト方向の角度、ロール方向の角度の３つのパラメータから構成されてもよい。以下では、仮想カメラの姿勢を示すパン方向の角度、チルト方向の角度、ロール方向の角度の３つのパラメータを、パン角、チルト角、ロール角とする。
仮想視点パラメータにより指定される仮想カメラの画角（ズーム率）は、例えば、焦点距離の１軸により示される。また、仮想視点パラメータに含まれる描画対象のシーンの時刻は、１軸のパラメータである。
よって、仮想視点パラメータには、少なくとも８個のパラメータ（パン角・チルト角・ロール角・画角・Ｘ軸座標・Ｙ軸座標・Ｚ軸座標・シーンの時刻）が含まれる。情報処理装置１０３は、例えば、接続されたコントローラを介した操作に応じて、この８個のパラメータを制御できる。ただし、８個のパラメータのすべてが制御対象とならなければいけないわけではない。また、上記８個のパラメータ以外のパラメータ（例えば仮想カメラのブライトネスやコントラストの値）が制御対象となっていても良い。
【００１３】
情報処理装置１０３は、決定した仮想視点パラメータを、生成サーバ１０２へ送信する。生成サーバ１０２は、受信した仮想視点パラメータに基づいて、仮想視点画像を生成し、生成した仮想視点画像を情報処理装置１０３へ送信する。情報処理装置１０３は、例えば、受信した仮想視点画像を、図２で後述するカメラビュー３０１へ表示する。
本実施形態では、１台の情報処理装置１０３が、ライブ仮想視点画像とリプレイ仮想視点画像とを生成することとする。しかし、２台の情報処理装置１０３が、それぞれライブ仮想視点画像とリプレイ仮想視点画像と別個に生成することとしてもよい。
【００１４】
図１（ｂ）は、情報処理装置１０３のハードウェア構成の一例を示す図である。
情報処理装置１０３は、ＣＰＵ１１１、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１１２、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１１３、通信部１１４、入出力部１１５、ストレージ部１１６を含む。各要素は、システムバスを介して相互に通信可能に接続されている。
ＣＰＵ１１１は、ＲＡＭ１１２やＲＯＭ１１３に記憶されているプログラムやデータを用いて情報処理装置１０３の全体を制御する中央演算装置である。ＲＡＭ１１２は、ＲＯＭ１１３から読みだされたコンピュータプログラムや計算の途中結果のデータ、通信部１１４を介して外部から供給されるデータ等の一時的な記憶領域として機能する記憶装置である。ＲＯＭ１１３は、変更を必要としないコンピュータプログラムやデータを記憶する記憶装置である。
【００１５】
通信部１１４は、生成サーバ１０２等の外部の装置との通信に用いられるＥｔｈｅｒｎｅｔやＵＳＢ等のインターフェースである。入出力部１１５は仮想カメラを制御するための複数のコントローラ等の入力装置と、仮想カメラの状態等を表示する複数の表示部等の出力装置を含む入出力部である。ストレージ部１１６は、各種プログラム、各種設定情報、撮影システム１０１により撮影された画像、生成サーバ１０２により生成された仮想視点画像等を記憶するハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）等の記憶装置である。
ＣＰＵ１１１が、ＲＯＭ１１３、ストレージ部１１６等に記憶されたプログラムにしたがって処理を実行することで、図６で後述する機能等の情報処理装置１０３の機能、及び、図１０、１１で後述する処理等の情報処理装置１０３の処理が実現される。
【００１６】
図２は、入出力部１１５の一例を説明する図である。
図２の例では、入出力部１１５は、出力装置として、３つの表示部（表示部２０１ａ〜２０１ｃ）を含む。表示部２０１ａ〜２０１ｃは、それぞれ、ディスプレイ、タッチパネル等の表示装置である。
表示部２０１ａは、カメラビューウィンドウを表示する。カメラビューウィンドウとは、生成サーバ１０２から受信された仮想視点画像を表示するためのカメラビュー３０１を含むウィンドウである。
表示部２０１ｂは、パイロットウィンドウを表示する。パイロットウィンドウとは、仮想カメラの制御に用いられるウィンドウである。
表示部２０１ｃは、リプレイウィンドウを表示する。リプレイウィンドウとは、リプレイ仮想視点画像の生成及び編集に用いられるウィンドウである。
【００１７】
また、入出力部１１５は、４つのコントローラ（コントローラ２０２ａ、２０２ｂ、２０３、２０４）を有する。入出力部１１５は、これらのコントローラを介したユーザによる操作による仮想視点画像の生成を行うための指示を受け付ける。つまり、入出力部１１５は、仮想カメラの位置・姿勢等の仮想視点パラメータを変更させるための操作を受け付ける。
コントローラ２０２ａ、２０２ｂは、３軸の操作が可能な３軸コントローラである３軸コントローラである。以下では、コントローラ２０２ａ、２０２ｂを、コントローラ２０２と総称する。情報処理装置１０３は、コントローラ２０２を介したそれぞれの軸の操作に応じて、任意のパラメータを制御できる。
【００１８】
情報処理装置１０３は、例えば、コントローラ２０２ａを介した各軸の操作に応じて、仮想カメラの位置を指定するためのＸ軸座標、Ｙ軸座標、Ｚ軸座標の３個のパラメータそれぞれを制御する処理を行う。
情報処理装置１０３は、例えば、コントローラ２０２ｂを介した各軸の操作に応じて、仮想カメラの姿勢を指定するためのパン角、チルト角、ロール角の３個のパラメータそれぞれを制御する処理を行う。
また、情報処理装置１０３は、コントローラ２０２を介したどの軸の操作に応じて、どのパラメータを制御する処理が行われるかを決定できる。
【００１９】
コントローラ２０３は、例えば、仮想カメラのズーム率の制御に用いられるコントローラであるズームコントローラである。
コントローラ２０４は、リプレイ仮想視点画像の生成に用いられるコントローラであるリプレイコントローラである。また、コントローラ２０４は、仮想視点画像の描画対象となるシーンの時刻のパラメータの制御に用いられる。
図２に示す入出力部１１５は、一例に過ぎず、１つ、２つ、又は、４つ以上の表示部を含むこととしてもよいし、３つ以下、又は、５つ以上のコントローラを有することとしてもよい。
【００２０】
図３は、３軸コントローラであるコントローラ２０２の一例を説明する図である。図３の例では、コントローラ２０２は、６個のつまみ（８０１〜８０６）、６個のボタン（８０７〜８１２）、シーソースイッチ８１３、３軸ジョイスティック８１４を含む。
図４は、ズームコントローラであるコントローラ２０３の一例を説明する図である。図４の例では、コントローラ２０３は、２個のつまみ（９０１、９０２）、４個のボタン（９０３〜９０６）、ダイヤル９０７、シーソースイッチ９０８を含む。
図５は、リプレイコントローラであるコントローラ２０４の一例を説明する図である。コントローラ２０４は、１３個のボタン（１００１〜１０１３）、スライダー１０１４、ジョグホイール１０１５、フィンガーホイール１０１６を含む。
【００２１】
図６は、情報処理装置１０３の機能構成の一例を説明する図である。
情報処理装置１０３は、コントローラ制御部６００１、制御機能割り当て部６００３、調整機能割り当て部６００４、割り当て保持部６００５、制御量取得部６００６ａ、調整量取得部６００６ｂ、第１の調整部６００７、第２の調整部６００８を含む。また、情報処理装置１０３は、仮想視点パラメータ制御部６００９、調整量設定部６０１０を含む。
コントローラ制御部６００１は、入出力部１１５に含まれるコントローラについて、そのコントローラに含まれる各部材を介した操作を受付ける。
本実施形態では、コントローラ制御部６００１は、仮想視点パラメータの制御に用いられるコントローラを、コントローラ７０００として、コントローラ７０００に含まれる部材を介した操作を受付ける。情報処理装置１０３は、図２で説明したコントローラ２０２ａ、２０２ｂ、２０３、２０４のうちの一部又は全部を、コントローラ７０００として用いる。
【００２２】
コントローラ７０００の例を図７に示す。コントローラ７０００は、仮想視点パラメータの制御処理を指示するための操作に用いられる第１の部材７００１を含む。また、コントローラ７０００は、第１の部材７００１の操作に応じて実行される仮想視点パラメータの制御処理における仮想視点パラメータの変更量の調整に用いられる第２の部材７００２を含む。
情報処理装置１０３は、第１の部材７００１に対するユーザ操作が行われたことに応じて、第１の部材７００１に対応する仮想視点パラメータを変更する。なお、第１の部材７００１と、当該第１の部材７００１の操作に応じて制御される仮想視点パラメータの種類とを対応付ける処理を、以下では、「仮想視点パラメータの制御機能の割り当て」と表現する。
【００２３】
また、情報処理装置１０３は、第１の部材７００１について仮想視点パラメータの制御機能の割り当てを行った場合、さらに以下の処理を行う。即ち、情報処理装置１０３は、第２の部材７００２を、第１の部材７００１に対応する仮想視点パラメータの変更量の調整のための部材として決定する。
このように、第２の部材７００２を、第１の部材７００１を介したある操作が行われる際に実行される制御処理における調整パラメータの指定に用いられる部材として決定することを、以下では、次のように表現する。即ち、第２の部材７００２に対するその調整パラメータの調整機能の割り当てと表現する。情報処理装置１０３は、第２の部材７００２が示している値を取得し、取得した値に応じて、その第２の部材７００２に対応する調整パラメータの値を決定することとなる。
【００２４】
例えば、第１の部材７００１を介した３種類の操作に、それぞれ、仮想カメラの位置（Ｘ軸座標、Ｙ軸座標、Ｚ軸座標）の３つのパラメータの制御機能が割り当てられたとする。その場合、第２の部材７００２には、仮想カメラのＸ軸座標、Ｙ軸座標、Ｚ軸座標の３つの仮想視点パラメータそれぞれの値を変更する制御処理における調整パラメータに対する調整機能が割り当てられる。
第１の部材７００１は、Ｎ種類（Ｎは１以上の整数）の操作に用いられる部材である。また、第１の部材７００１は、ユーザが手を離した際に、予め定められた位置（例えば、中央）に戻る部材が望ましい。第１の部材７００１は、例えば、ジョイスティックやシーソースイッチ等の部材である。
第２の部材７００２の数は、第１の部材７００１を介して行われる操作の種類の数ＮのＭ倍（Ｍは１以上の整数、例えば、１、２等）以上とする。即ち、第２の部材７００２の数は、Ｎ×Ｍ以上である。また、第２の部材７００２は、ユーザが手を離した際に、状態を保持する部材が望ましい。第２の部材７００２は、例えば、つまみ、スライダー等の部材である。Ｍ＝１の場合は、第２の部材７００２は、Ｎ個以上存在することになる。
【００２５】
第２の部材７００２には、例えば、対応する第１の部材７００１を介した操作が最大量だけ行われた際の仮想視点パラメータの変更量を示す調整パラメータである最大速度の調整機能が割り当てられる。ユーザは、最大速度の調整機能が割り当てられた第２の部材を操作することで、撮影対象に応じて適切に最大速度を調整することが可能になる。
例えば、ユーザは、第２の部材７００２を介して、撮影範囲が広い程、仮想カメラの位置を示す仮想視点パラメータに対応する最大速度をより大きくするように調整し、撮影範囲が狭い程、最大速度をより小さくするように調整できる。例えば、ユーザは、第２の部材７００２を介して、撮影対象がサッカーの試合である場合、撮影対象が卓球の試合の場合に比べて、最大速度を大きくするように調整できる。
【００２６】
また、Ｍ＝２の場合、コントローラ７０００は、第２の部材７００２を２Ｎ個以上含むこととなる。即ち、第１の部材７００１を介した１つの操作に対応して、２つの第２の部材７００２が存在することとなる。その場合、第１の部材７００１を介した１つの操作に対応する２つの第２の部材７００２の一方には、例えば、調整パラメータである最大速度の調整機能が割り当てられる。また、この２つの第２の部材７００２の他方には、例えば、対応する第１の部材７００１を介した操作における操作量に応じて、対応する仮想視点パラメータの変更量を調整する手法であるカーブに用いられるパラメータの調整機能が割り当てられる。カーブとは、仮想視点パラメータの変更量に対して、第１の部材７００１を介した操作における操作量に応じた調整を施す手法である。以下では、カーブに用いられるパラメータを、カーブパラメータとする。
これにより、ユーザは、第２の部材７００２を介して、カメラワークに応じて適切にカーブを調整することができる。例えば、遠くから全体を映すカメラワークの場合は、カーブを小さくすることで、微妙な制御が可能となる。また、近くから対象を大きく映すカメラワークの場合は、カーブを大きくすることで、ダイナミックな制御が可能となる。ユーザは、第１の部材７００１を介した操作ごとに、対応する仮想視点パラメータの制御処理における調整パラメータを、異なるように調整することができる。例えば、サッカーの試合における仮想視点画像を生成する場合について説明する。サッカーのフィールドは垂直方向に比べ水平方向が広い。よって、ユーザは、第２の部材７００２を介して、水平方向の位置・姿勢に関する仮想視点パラメータであるＸ軸座標、Ｙ軸座標、パン角についての最大速度をより大きくすることができる。また、ユーザは、第２の部材７００２を介して、し、垂直方向の位置に関する仮想視点パラメータであるＺ軸座標、チルト角の最大速度をより小さくすることができる。これより、ユーザは、より容易に仮想視点の指定を行うことができる。
【００２７】
図７は、コントローラ７０００の一例を示す図である。
コントローラ７０００ａは、第１の部材７００１に、１軸の操作（１種類の操作）に用いられるシーソースイッチが用いられる場合のコントローラ７０００の一例である。第１の部材を介して１種類の操作が行われるため、Ｎ＝１となる。Ｍ＝２とすると、コントローラ７０００ａが含む第２の部材７００２の数は、２個（Ｎ×Ｍ＝１×２＝２）である。また、Ｍ＝１とすると、コントローラ７０００ａが含む第２の部材７００２の数は、１個（Ｎ×Ｍ＝１×１＝１）である。コントローラ７０００ａの例では、第２の部材７００２は、つまみであるとする。情報処理装置１０３は、例えば、コントローラ２０２、コントローラ２０３等、シーソースイッチと、２つ以上のつまみを有するコントローラを、コントローラ７０００ａとして用いることができる。
コントローラ７０００ｂは、第１の部材７００１に、２軸の操作（２種類の操作、スティックの上下方向への操作、左右方向への操作）に用いられるジョイスティックが用いられる場合のコントローラ７０００の一例である。第１の部材を介して２種類の操作が行われるため、Ｎ＝２となる。Ｍ＝２とすると、コントローラ７０００ｂが含む第２の部材７００２の数は、４個（Ｎ×Ｍ＝２×２＝４）である。また、Ｍ＝１とすると、コントローラ７０００ｂが含む第２の部材７００２の数は、２個（Ｎ×Ｍ＝２×１＝２）である。コントローラ７０００ｂの例では、第２の部材７００２は、つまみであるとする。情報処理装置１０３は、例えば、コントローラ２０２等、２軸の操作が可能なジョイスティックと、４つ以上のつまみを有するコントローラを、コントローラ７０００ｂとして用いることができる。
【００２８】
コントローラ７０００ｃは、第１の部材７００１に、３軸の操作（３種類の操作、例えば、スティックの上下方向への操作、左右方向への操作、ひねり操作）に用いられるジョイスティックが用いられる場合のコントローラ７０００の一例である。第１の部材を介して３種類の操作が行われるため、Ｎ＝３となる。Ｍ＝２とすると、コントローラ７０００ｃが含む第２の部材７００２の数は、６個（Ｎ×Ｍ＝３×２＝６）である。また、Ｍ＝１とすると、コントローラ７０００ｃが含む第２の部材７００２の数は、３個（Ｎ×Ｍ＝３×１＝３）である。コントローラ７０００ｃの例では、第２の部材７００２は、つまみであるとする。情報処理装置１０３は、例えば、コントローラ２０２等、３軸の操作が可能なジョイスティックと、６つ以上のつまみを有するコントローラを、コントローラ７０００ｃとして用いることができる。
コントローラ７０００ｄは、第１の部材７００１に、６軸の操作（６種類の操作）に用いられるジョイスティックが用いられる場合のコントローラ７０００の一例である。第１の部材を介して６種類の操作が行われるため、Ｎ＝６となる。Ｍ＝２とすると、コントローラ７０００ｄが含む第２の部材７００２の数は、１２個（Ｎ×Ｍ＝６×２＝１２）である。また、Ｍ＝１とすると、コントローラ７０００ｄが含む第２の部材７００２の数は、６個（Ｎ×Ｍ＝６×１＝６）である。コントローラ７０００ｄの例では、第２の部材７００２は、つまみであるとする。情報処理装置１０３は、例えば、６軸の操作が可能なジョイスティックと１２個のつまみを有するコントローラを、コントローラ７０００ｄとして用いることができる。
【００２９】
ストレージ部１１６は、どのコントローラの第１の部材を介したどの操作に対してどの仮想視点パラメータの制御機能の割り当てを行うか、第２の部材にどの調整パラメータの調整機能を割り当てるかを示す割り当て設定ファイル６００２を記憶する。また、ＣＰＵ１１１は、入出力部１１５に含まれるマウス・キーボード等の入力装置を介した操作に基づいて、ストレージ部１１６に記憶された割り当て設定ファイル６００２の内容を更新することができる。割り当て設定ファイル６００２は、第１の部材７００１を介した操作に応じて値が変更される仮想視点パラメータの指定を示す指定情報の一例である。  割り当て設定ファイル６００２は、どのコントローラの第１の部材を介したどの操作に対してどの仮想視点パラメータの制御機能の割り当てを行うか、第２の部材にどの調整パラメータの調整機能を割り当てるかの指定を示すファイルである。
【００３０】
図８は、割り当て設定ファイル６００２の一例を説明する図である。割り当て設定ファイル６００２には、例えば、コマンド８００１〜８００３を含む。
コマンド８００１は、使用されるコントローラの追加を指示するコマンドである。図８の例では、コマンド８００１は、第１の部材７００１を介した３軸の操作が可能なコントローラ７０００（コントローラ７０００ｃ）を２つ追加する指示を示すコマンドである。情報処理装置１０３は、割り当て設定ファイル６００２を読込みコマンド８００１を取得し、取得したコマンド８００１が示すコントローラ７０００を、使用するコントローラに追加する。図８の例では、情報処理装置１０３は、コントローラ２０２ａ、２０２ｂそれぞれを、使用するコントローラ７０００として追加することとなる。
コマンド８００２は、どのコントローラの第１の部材７００１を介したどの操作に対して、どの仮想視点パラメータの制御機能の割り当てを行うかの指定を示すコマンドである。コマンド８００２は、例えば、「仮想カメラのＸ軸座標の制御を、１つ目のコントローラ７０００のジョイスティック（第１の部材７００１）の左右方向への操作に割り当てる」等の指定を示すコマンドである。情報処理装置１０３は、割り当て設定ファイル６００２を読込みコマンド８００２を取得し、取得したコマンド８００２が示す制御機能の割り当てを行う。コマンド８００２で指定される第１の部材７００１を介した操作に応じて値が変更される仮想視点パラメータは、指定パラメータの一例である。
コマンド８００２に、複数のコントローラそれぞれの第１の部材７００１を介した操作それぞれに対する同一の仮想視点画像の生成に関する仮想視点パラメータそれぞれの制御機能の割り当ての指定が含まれるとする。その場合、情報処理装置１０３は、複数のコントローラ７０００で同一の仮想視点画像の生成に関する複数の仮想視点パラメータを制御するように設定することができる。例えば、情報処理装置１０３は、複数のコントローラ７０００で同一の仮想カメラを制御するように設定することができる。
【００３１】
割り当て設定ファイル６００２は、例えば、第２の部材７００２に対する調整パラメータの調整機能の割り当ての指示を示すコマンドを含んでいてもよい。割り当て設定ファイル６００２にこのようなコマンドが含まれない場合、情報処理装置１０３は、予め定めた方法で、調整パラメータの調整機能の割り当てを行う。
コマンド８００３は、調整パラメータを用いてどのように仮想視点パラメータの変更量を調整するかを示すカーブの種類を指定するコマンドである。例えば、カーブの種類としては、エキスポネンシャルカーブがある。エキスポネンシャルカーブは、第１の部材７００１の操作量に対する仮想視点パラメータの変更量（以下では、制御量とする）を指数関数で調整する手法である。第１の部材７００１の操作量をｘ、第２の部材７００２の操作量（例えば、第２の部材（つまみ）が示す値）に基づいて決定された調整パラメータであるカーブパラメータをｐ、仮想視点パラメータの変更量をｆ（ｘ）とする。情報処理装置１０３は、例えば、仮想視点パラメータの変更量を、以下の式１を用いて求めることができる。
ｆ（ｘ）＝ｘp          （１）
情報処理装置１０３は、このカーブを用いることで、ｘの始点付近で、第１の部材７００１の遊びを実現できる。
【００３２】
また、例えば、カーブの種類としてエルミートカーブがある。エルミートカーブは、第１の部材７００１の操作量に対する仮想視点パラメータの制御量を３次関数で変化させる手法である。第１の部材７００１の操作量をｘ、第２の部材７００２の操作量に基づいて決定される調整パラメータであるカーブパラメータをｐ、仮想視点パラメータの変更量をｆ（ｘ）とする。情報処理装置１０３は、例えば、以下の式２で仮想視点パラメータの変更量ｆ（ｘ）を求めることができる。
ｆ（ｘ）＝（−２ｘ3＋３ｘ2）（１−ｐ）＋ｐｘ          （２）
情報処理装置１０３は、このカーブを用いることで、ｘの始点と終点の付近で、操作量の遊びを実現できる。なお、エルミートカーブを１つのパラメータで調整するために、情報処理装置１０３は、以下の条件を用いることとする。即ち、始点の値を０とし、終点の値を１とし、始点と終点のタンジェントを等しい値（＝ｐ）とするという条件である。
【００３３】
制御機能割り当て部６００３は、ストレージ部１１６に記憶された割り当て設定ファイル６００２を読み込み、読込んだ内容に従い、使用するコントローラ７０００を追加する。そして、制御機能割り当て部６００３は、使用するコントローラ７０００の第１の部材７００１を介した各操作に対して制御機能を割り当てる。
情報処理装置１０３は、入出力部１１５に含まれるマウス・キーボード等の入力装置を介したユーザによる操作に基づいて、割り当て設定ファイル６００２の内容を更新することで、ユーザの希望に応じた制御機能の割り当てを行うことができる。また、情報処理装置１０３は、複数のコントローラ７０００のそれぞれの第１の部材７００１を介した操作に対して、同一の仮想視点画像の生成に関する仮想視点パラメータの制御機能を分けて割り当てることもできる。また、情報処理装置１０３は、入出力部１１５に含まれるマウス・キーボード等の入力装置を介したユーザによる操作に基づいて行われた制御機能の割り当ての指示に基づいて、割り当て設定ファイル６００２を用いずに、制御機能の割り当てを行ってもよい。
適切に調整された割り当て設定ファイル６００２を複数用意しておくことで、撮影対象、カメラワーク、ユーザが変更された場合に、すばやく設定を変更することが可能になる。
【００３４】
例えば、３軸の操作が可能なコントローラ７０００（コントローラ７０００ｃ）が２台使用されるとする。制御機能割り当て部６００３は、１台目の第１の部材７００１を介した各操作に対して、位置に関する仮想視点パラメータ（Ｘ軸座標、Ｙ軸座標、Ｚ軸座標）の制御機能を割り当てることができる。そして、制御機能割り当て部６００３は、２台目の第１の部材７００１を介した各操作に対して姿勢に関する仮想視点パラメータ（パン角、チルト角、ロール角）の制御機能を割り当てることができる。また、制御機能割り当て部６００３は、１台目の第１の部材７００１を介した各操作に対して、仮想カメラの水平方向の操作に関する仮想視点パラメータ（Ｘ軸座標、Ｙ軸座標、パン角）の制御機能を割り当てることとしてもよい。また、制御機能割り当て部６００３は、２台目の第１の部材７００１を介した各操作に対して仮想カメラの垂直方向の操作や姿勢に関する仮想視点パラメータ（Ｚ軸座標、チルト角、ロール角）の制御機能を割り当てることとしてもよい。
ユーザは、両手のそれぞれを用いて、２台のコントローラ７０００それぞれを操作することとしてもよい。また、２名のユーザがそれぞれ、２台のコントローラ７０００それぞれを操作することとしてもよい。
【００３５】
調整機能割り当て部６００４は、第１の部材７００１の操作に応じて実行される仮想視点パラメータの制御処理において、仮想視点パラメータの変更量の調整に用いられる調整パラメータの調整機能を、第２の部材７００２に割り当てる。調整機能割り当て部６００４は、例えば、第１の部材７００１を介したある操作について、その操作に応じた制御処理における最大速度と、カーブパラメータと、の２つの調整パラメータそれぞれについての調整機能を２つの第２の部材７００２に割り当てる。
例えば、複数の第２の部材７００２がコントローラに水平方向に並んで配置されているとする。そして、調整機能割り当て部６００４は、例えば、この並んでいる複数の第２の部材７００２に対して、左から順に、調整機能の割り当てを行うこととする。そして、予め、どの仮想視点パラメータの制御処理における調整パラメータの調整機能から割り当てを行うかの順番が定められているとする。例えば、「Ｘ軸座標、Ｙ軸座標、Ｚ軸座標、パン角、チルト角、ロール角」の順と予め定められているとする。この場合、調整機能割り当て部６００４は、まず、左端の２つの第２の部材７００２に対して、Ｘ軸座標の制御処理における調整パラメータの調整機能の割り当てを行う。そして、調整機能割り当て部６００４は、左から３つ目と４つ目との第２の部材７００２に対して、Ｙ軸座標の制御処理における調整パラメータの調整機能の割り当てを行う。調整機能割り当て部６００４は、以上のような処理を繰り返すことで、予め定められた順に、第２の部材７００２に対して、調整機能の割り当てを行っていく。
また、調整機能割り当て部６００４は、例えば、コマンド８００３に基づいて、カーブの手法として、どの手法を用いるかを決定する。
【００３６】
図９の表に、図８の割り当て設定ファイル６００２に従い行われた、３軸の操作が可能なコントローラ７０００に対する制御機能の割り当てと調整機能の割り当てとの結果を示す。
図８の割り当て設定ファイル６００２には、調整機能の割り当て指示がない。そのため、調整機能割り当て部６００４は、予め定めた順に、水平に並んだ複数の第２の部材７００２について、左から順に、調整パラメータの調整機能を割り当てる。
図９の例では、１つ目のコントローラ７０００には、第１の部材７００１を介した各操作に対して、Ｘ軸座標、Ｙ軸座標、Ｚ軸座標の仮想視点パラメータの制御機能が割り当ててある。そのため、調整機能割り当て部６００４は、例えば、第２の部材７００２には、左から順に、Ｘ軸座標、Ｙ軸座標、Ｚ軸座標の仮想視点パラメータの制御処理における調整パラメータの調整機能を割り当てる。
【００３７】
また、図９の例では、２つ目のコントローラ７０００には、第１の部材７００１を介した各操作に対して、パン角、チルト角、ロール角の仮想視点パラメータの制御機能が割り当ててある。そのため、調整機能割り当て部６００４は、例えば、第２の部材７００２には、左から順に、パン角、チルト角、ロール角の仮想視点パラメータの制御処理における調整パラメータの調整機能を割り当てる。
本実施形態では、対応する仮想視点パラメータに応じて予め定められた順番で、第２の部材７００２に対する調整機能の割り当てが行われることとした。そのため、第２の部材７００２に対する調整機能の割り当ては、第１の部材７００１を介した各操作に対する制御機能の割り当ての順番には依存しない。例えば、第１の部材７００１に対するロール角とパン角との割り当て順を逆にしても、第２の部材７００２に対する調整機能の割り当ては変わらない。これにより、ユーザは、第２の部材７００２に割り当てられた調整機能の順を容易に把握できることとなる。
【００３８】
割り当て保持部６００５は、制御機能割り当て部６００３と調整機能割り当て部６００４とによる割り当ての結果を、例えばＲＡＭ１１２等に記憶することで、保持する。
制御量取得部６００６ａは、第１の部材７００１を介した操作毎に、第１の部材７００１の操作量を正規化した値を、仮想視点パラメータの変更量を示す制御量として取得する。制御量取得部６００６ａは、割り当て保持部６００５により保持された割り当ての結果を参照し、第１の部材７００１を介したどの操作がどの仮想視点パラメータの制御に対応するかを把握する。そして、制御量取得部６００６ａは、コントローラ制御部６００１を介して、第１の部材７００１を介した各操作について、制御量を取得する。
例えば、ユーザは、仮想視点パラメータを制御するために、ジョイスティックである第１の部材７００１を操作する。すると、制御量取得部６００６ａは、第１の部材７００１の各操作（ジョイスティックの左右方向の操作、上下方向の操作、ねじり操作）について、第１の部材７００１の操作量に基づいて制御量を取得する。以下では、より具体的に説明する。
【００３９】
制御量取得部６００６ａは、制御量を、値の範囲が−１〜１となるように正規化する。制御量取得部６００６ａは、例えば、コントローラ制御部６００１を介して、第１の部材７００１の操作量を、精度が８ビットの信号として取得する。取得される操作量の値の範囲は、０〜２５５となる。制御量取得部６００６ａは、この値の範囲を、中央が０になるように１２８を引くように修正し、取得される操作量の値の範囲を、−１２８〜１２７となるようにする。更に、制御量取得部６００６ａは、この範囲を、最大値が１になるように１２８で割ると、取得される操作量の値の範囲を、−１〜１となるようにする。この正規化された値を制御量として取得する。即ち、制御量取得部６００６ａは、第１の部材７００１の操作を検知して、８ビットの精度の操作量を取得し、取得した操作量から１２８を引いた値を、１２８で割ることで、正規化された操作量である制御量を取得することとなる。
このようにして、制御量取得部６００６ａは、第１の部材７００１の操作量を、予め定められた範囲に正規化して、制御量として取得する。
【００４０】
調整量取得部６００６ｂは、第２の部材７００２の操作量を正規化した値を、調整パラメータを示す調整量として取得する。割り当て保持部６００５により保持された割り当ての結果を参照し、それぞれの調整機能に対応した値を、第２の部材７００２から取得する。調整量取得部６００６ｂは、割り当て保持部６００５により保持された割り当ての結果を参照し、第２の部材７００２それぞれが、どの調整パラメータに対応するかを把握する。そして、調整量取得部６００６ｂは、第２の部材７００２を介した操作について、調整量を取得する。
例えば、ユーザは、仮想視点パラメータについての調整パラメータである最大速度を調整するために、最大速度に対応するつまみ（第２の部材７００２）を回す。調整量取得部６００６ｂは、第２の部材を介した操作を検知して、第２の部材の操作量（第２の部材が示す値）を、仮想視点パラメータの変更量の調整に用いられるパラメータである調整量として取得する。以下では、より具体的に説明する。
【００４１】
まず、最大速度についての調整量について説明する。最大速度は、例えば、値の範囲が０〜２００になるように正規化されるとする。調整量取得部６００６ｂは、例えば、コントローラ制御部６００１を介して、最大速度の調整機能を割り当てた第２の部材７００２の操作量を、精度が８ビットの信号として取得する。取得される操作量の値の範囲は、０〜２５５となる。調整量取得部６００６ｂは、例えば、取得した操作量を、２５５で割り、２００をかけることで、操作量の値の範囲を、０〜２００となるように正規化する。調整量取得部６００６ｂは、この正規化された値を最大速度についての調整量として取得する。
次に、カーブパラメータの調整機能について説明する。エキスポネンシャルカーブが用いられる場合、カーブパラメータは、例えば、値の範囲が１〜５になるように正規化される。調整量取得部６００６ｂは、例えば、エキスポネンシャルカーブについてのカーブパラメータの調整機能を割り当てた第２の部材７００２の操作量を、精度が８ビットの信号として取得する。取得される操作量の値の範囲は、０〜２５５となる。調整量取得部６００６ｂは、取得した操作量を、２５５で割り、４をかけ、１を足すことで正規化する。調整量取得部６００６ｂは、この正規化された操作量を、調整量として取得する。
エルミートカーブが用いられる場合、カーブパラメータは、例えば、値の範囲が０〜１になるように正規化される。調整量取得部６００６ｂは、例えば、エキスポネンシャルカーブについてのカーブパラメータの調整機能を割り当てた第２の部材７００２の操作量を、精度が８ビットの信号として取得する。取得される操作量の値の範囲は、０〜２５５となる。調整量取得部６００６ｂは、取得した操作量を、２５５で割ることで正規化する。調整量取得部６００６ｂは、この正規化された操作量を、調整量として取得する。
【００４２】
第１の調整部６００７は、制御量取得部６００６ａにより取得された制御量を、調整量取得部６００６ｂにより取得された調整量（調整パラメータであるカーブパラメータ）を用いて調整する。以下では、エキスポネンシャルカーブが用いられる場合について説明する。例えば、制御量取得部６００６ａによりＸ軸座標の制御機能が割り当てられた第１の部材を介した操作における制御量を０．５とする。また、調整量取得部６００６ｂにより取得されたカーブパラメータの調整量を２とする。その場合、第１の調整部６００７は、Ｘ軸の制御量を底、カーブパラメータの調整量を指数として累乗し、結果、０．５2＝０．２５を調整後の制御量として取得する。
第２の調整部６００８は、第１の調整部６００７により調整された制御量を、更に、調整量取得部６００６ｂにより取得された調整量（調整パラメータである最大速度）を用いて調整する。例えば、第１の調整部６００７により調整されたＸ軸座標についての制御量を０．２５とする。また、調整量取得部６００６ｂにより取得された最大速度の調整量を１００とする。第２の調整部６００８は、第１の調整部６００７により調整された制御量に、調整量取得部６００６ｂにより取得された最大速度の調整量をかけ、０．２５×１００＝２５を調整後の制御量として取得する。例えば単位をメートル／秒とすると、Ｘ軸座標の変更の速度が２５メートル／秒となる。
【００４３】
仮想視点パラメータ制御部６００９は、第１の調整部６００７及び第２の調整部６００８により調整された制御量を用いて、対応する仮想視点パラメータを制御する。例えば、Ｘ軸座標についての制御量が２５メートル／秒であるとする。また、画像が６０フレーム／秒で生成されるとする。この場合、仮想視点パラメータ制御部６００９は、１フレーム当たり、仮想カメラの位置を、Ｘ軸上で、２５／６０≒０．４メートル変更させて、仮想視点画像を生成するよう生成サーバ１０２に指示する。仮想視点パラメータ制御部６００９は、他の仮想視点パラメータについても、同様の処理を行い、仮想視点パラメータを、フレーム単位で制御する。
調整量設定部６０１０は、第２の部材７００２それぞれが示すそれぞれの調整パラメータの調整量のデータを調整量設定ファイル６０１１として、ストレージ部１１６等に記憶する。更に、情報処理装置１０３は、調整量設定ファイル６０１１を読み込み、各調整パラメータについての調整量を、第２の部材７００２それぞれに設定することができる。これにより、情報処理装置１０３は、撮影対象、カメラワーク、ユーザごとに異なる調整量を保存、設定することがより容易にできる。撮影対象とは、例えば、イベントの種類（サッカーの試合、卓球の試合、コンサート、セレモニーなど）である。ただし、イベントの種類に代えて／又はイベントの種類に加えて、シーンの種類（ペナルティキック、コーナーキック、キックオフ、ゴールシーン）などが撮影対象として表現されても良い。本実施形態の情報処理装置１０３は、例えば、撮影対象ごとに準備された複数の調整量設定ファイルの中から必要な調整量設定ファイルを取得して仮想視点パラメータの制御を行うことができる。このようにすれば、撮影対象が変化した場合に、すばやく設定を変更することができる。また、本実施形態の情報処理装置１０３は、例えば、ユーザごとに準備された複数の調整量設定ファイルの中からユーザの識別情報に応じた調整量設定ファイルを取得して仮想視点パラメータの制御を行うことができる。このようにすれば、ユーザが変更された場合においてすばやく設定を変更することができる。
つまり、適切に調整された調整量設定ファイル６０１１を複数用意しておくことで、撮影対象、カメラワーク、ユーザが変更された場合に、すばやく設定を変更することが可能になる。
【００４４】
図１０は、情報処理装置１０３が制御機能の割り当てと調整機能の割り当てとを行う処理の一例を示すフローチャートである。例えば、情報処理装置１０３は、例えば、情報処理装置１０３の起動時に、図１０の処理を実行する。また、情報処理装置１０３は、撮影対象、カメラワーク、ユーザの切り替えの際等に図１０の処理を実行してもよい。
Ｓ１０００１において、制御機能割り当て部６００３は、ストレージ部１１６から割り当て設定ファイル６００２を読み込む。
Ｓ１０００２において、制御機能割り当て部６００３は、Ｓ１０００１で読み込んだ割り当て設定ファイル６００２から順に１つずつ未処理のコマンドを取得する。制御機能割り当て部６００３は、未処理のコマンドを取得できた場合、Ｓ１０００３の処理に進む。未処理のコマンドを取得できなかった場合、即ち、全てのコマンドが処理済みの場合、Ｓ１０００８の処理に進む。
【００４５】
Ｓ１０００３において、制御機能割り当て部６００３は、Ｓ１０００２で取得した未処理のコマンドの種別を判定する。制御機能割り当て部６００３は、コントローラの追加を指示するコマンド（例えば、コマンド８００１）の場合、Ｓ１０００４の処理に進み、他のコマンドである場合、Ｓ１０００５の処理に進む。
Ｓ１０００４において、制御機能割り当て部６００３は、Ｓ１０００２で取得したと判定したコマンドに従い、ユーザが使用するコントローラを、仮想視点パラメータの制御に用いられるコントローラ７０００として追加する。以降で、コントローラ制御部６００１は、このコマンドで指定されたコントローラ７０００の各部材を介した操作を検知して、各操作における操作量を取得する。
Ｓ１０００５において、制御機能割り当て部６００３は、Ｓ１０００２で取得したコマンドが、制御機能割り当てを指示するコマンド（例えば、コマンド８００２）であるか否かを判定する。制御機能割り当て部６００３は、Ｓ１０００２で取得したコマンドが、制御機能割り当てを指示するコマンドであると判定した場合、Ｓ１０００６の処理に進む。また、制御機能割り当て部６００３は、Ｓ１０００２で取得したコマンドが、他のコマンドであると判定した場合、Ｓ１０００２で取得したコマンドを、カーブの種類を指定するコマンド（例えば、コマンド８００３）であるとして、Ｓ１０００７の処理に進む。
【００４６】
Ｓ１０００６において、制御機能割り当て部６００３は、Ｓ１０００２で取得したと判定したコマンドに従い、第１の部材７００１を介したコマンドで指定された操作に対して、コマンドで指定された仮想視点パラメータの制御機能を割り当てる。また、調整機能割り当て部６００４は、Ｓ１０００２で取得したと判定したコマンドに第２の部材への調整パラメータの調整機能の割り当ての指示が含まれている場合、その指示に応じて、以下のようにしてもよい。即ち、調整機能割り当て部６００４は、このコマンドで指定された第２の部材７００２に対して、このコマンドで指定された調整パラメータの調整機能を割り当てることとしてもよい。
Ｓ１０００７において、調整機能割り当て部６００４は、Ｓ１０００２で取得したと判定されたカーブ種類の指定を示すコマンド（例えば、コマンド８００３）に従い、以下のようにする。即ち、調整機能割り当て部６００４は、各仮想視点パラメータの調整に用いられるカーブの種類それぞれを、このコマンドで指定されたカーブに決定する。
【００４７】
Ｓ１０００８において、調整機能割り当て部６００４は、使用されるコントローラ７０００それぞれについて、調整パラメータの調整機能の第２の部材７００２への割り当てが完了しているか否かを判定する。調整機能割り当て部６００４は、完了していると判定した場合、図１０の処理を終了する。調整機能割り当て部６００４は、完了していないと判定した場合は、Ｓ１０００９の処理に進む。
Ｓ１０００９において、調整機能割り当て部６００４は、使用されるコントローラ７０００毎に、以下の処理を行う。即ち、調整機能割り当て部６００４は、第１の部材７００１の各操作に制御機能が割り当てられた仮想視点パラメータそれぞれについての調整パラメータそれぞれの調整機能を、予め定めた順に第２の部材７００２に割り当てる。
【００４８】
図１１は、ユーザのコントローラ操作に応じて実行される仮想視点パラメータを制御する処理の一例を示すフローチャートである。図１１の例では、コントローラ７０００における第１の部材７００１を介した操作に応じて、Ｘ軸座標の制御処理が行われる場合の処理について説明する。また、仮想視点パラメータの変更量の調整に、エキスポネンシャルカーブが用いられるとする。
Ｓ１１００１において、制御量取得部６００６ａは、Ｘ軸座標の制御機能が割り当てられた第１の部材７００１の操作を検知し、検知した操作における操作量を取得する。例えば、制御量取得部６００６ａは、割り当て保持部６００５により保持された割り当ての結果を参照し、Ｘ軸座標の制御機能が割り当てられた第１の部材７００１の操作を特定し、特定した操作を検知する。そして、制御量取得部６００６ａは、検知した操作における操作量を取得し、取得した操作量を正規化することで、制御量を取得する。
【００４９】
Ｓ１１００２において、第１の調整部６００７は、制御量の調整にエキスポネンシャルカーブが用いられるか否かを判定する。例えば、ストレージ部１１６が制御量の調整にエキスポネンシャルカーブが用いられるか否かを示す情報を記憶しているとする。その場合、第１の調整部６００７は、ストレージ部１１６に記憶されたその情報に基づいて、制御量の調整にエキスポネンシャルカーブが用いられるか否かを判定する。
また、第１の調整部６００７は、第２の部材７００２に対して、エキスポネンシャルカーブに用いられるカーブパラメータの調整機能が割り当てられているか否かに基づいて、制御量の調整にエキスポネンシャルカーブが用いられるか否かを判定してもよい。第１の調整部６００７は、例えば、第２の部材７００２に対して、エキスポネンシャルカーブに用いられるカーブパラメータの調整機能が割り当てられている場合、制御量の調整にエキスポネンシャルカーブが用いられると判定する。また、第１の調整部６００７は、例えば、第２の部材７００２に対して、エキスポネンシャルカーブに用いられるカーブパラメータの調整機能が割り当てられていなければ場合、制御量の調整にエキスポネンシャルカーブが用いられないと判定する。
第１の調整部６００７は、制御量の調整にエキスポネンシャルカーブが用いられると判定した場合、Ｓ１１００３の処理に進み、用いられないと判定した場合、Ｓ１１００５の処理に進む。
【００５０】
Ｓ１１００３において、調整量取得部６００６ｂは、Ｘ軸座標の制御処理における調整パラメータであるカーブパラメータの調整機能が割り当てられた第２の部材７００２の操作量を取得する。例えば、調整量取得部６００６ｂは、割り当て保持部６００５により保持された割り当ての結果を参照し、Ｘ軸座標の制御処理における調整パラメータであるカーブパラメータの調整機能が割り当てられた第２の部材７００２を特定する。そして、調整量取得部６００６ｂは、特定した第２の部材７００２の操作量を取得し、取得した操作量を正規化することで、カーブパラメータを取得する。
Ｓ１１００４において、第１の調整部６００７は、Ｓ１１００１で取得された制御量と、Ｓ１１００３で取得されたカーブパラメータと、に基づいて、エキスポネンシャルカーブを用いて、Ｘ軸座標の制御量を調整する。例えば、第１の調整部６００７は、Ｓ１１００１で取得された制御量をｘとして、Ｓ１１００３で取得されたカーブパラメータをｐとして、式１を用いて、Ｘ軸座標の制御量を調整する。
【００５１】
Ｓ１１００５において、調整量取得部６００６ｂは、Ｘ軸座標の制御処理における調整パラメータである最大速度の調整機能が割り当てられた第２の部材７００２の操作量を取得する。例えば、調整量取得部６００６ｂは、割り当て保持部６００５により保持された割り当ての結果を参照し、Ｘ軸座標の制御処理における調整パラメータである最大速度の調整機能が割り当てられた第２の部材７００２を特定する。そして、調整量取得部６００６ｂは、特定した第２の部材７００２の操作量を取得し、取得した操作量を正規化することで、最大速度を取得する。
Ｓ１１００６において、第２の調整部６００８は、Ｓ１１００４で調整された制御量と、Ｓ１１００５で取得された最大速度と、に基づいて、Ｘ軸座標の制御量を調整する。例えば、第２の調整部６００８は、Ｓ１１００４で調整された制御量に、Ｓ１１００５で取得された最大速度を乗じることで、Ｘ軸座標の制御量を調整する。
Ｓ１１００７において、仮想視点パラメータ制御部６００９は、Ｓ１１００６で調整された制御量に基づいて、仮想視点パラメータであるＸ軸座標の値を変更させるよう制御する。
情報処理装置１０３は、他の仮想視点パラメータについても、図１１と同様の処理で、値を変更させ、制御することができる。
【００５２】
以上、本実施形態では、情報処理装置１０３は、コントローラ７０００の第１の部材７００１を介した各操作に対して、指定された仮想視点パラメータの制御機能を割り当てることとした。即ち、情報処理装置１０３は、指定された仮想視点パラメータの値を変更するよう制御する処理である制御処理が、第１の部材７００１を介した操作が行われたことに応じて実行されることを決定することとした。
また、情報処理装置１０３は、コントローラ７０００の第２の部材７００１を、第１の部材７００１を介した操作が行われたことに応じて実行されることが決定された処理に用いられる調整パラメータの値の指定に用いられる部材として決定した。
これにより、情報処理装置１０３は、コントローラ７０００を介した操作による指定に応じた仮想視点パラメータの制御を可能にすることができる。そのため、ユーザは、コントローラ７０００を介して指定に応じた仮想視点パラメータの制御を行うことができる。即ち、情報処理装置１０３は、仮想視点パラメータの制御における利便性を向上できる。
なお、本実施形態の内容は、以下のように説明することもできる。すなわち、情報処理装置１０３は、複数のカメラが異なる方向から撮影することで得られる複数の撮影画像に基づく仮想視点画像の生成に関する複数種類のパラメータ（仮想視点パラメータ）と、１又は複数の操作部材（部材７００１）と、の対応付け処理を行う。そして、情報処理装置１０３は、１又は複数の操作部材のうちユーザにより操作された操作部材に対応するパラメータをその対応付け処理の結果に従って制御する。情報処理装置１０３は、仮想視点パラメータの制御のため、制御信号を生成サーバ１０２に対して出力できる。ただし、情報処理装置１０３と生成サーバ１０２が一体である場合もありうる。一体である場合、情報処理装置１０３は、自身が有する画像生成部に設定されている仮想視点パラメータをユーザによる操作部材の操作に応じて制御する。
また、情報処理装置１０３は、複数種類のパラメータ（仮想視点パラメータ）と、部材７００１との対応関係を示す指定情報（割り当て設定ファイル６００２）を生成できる。これにより、情報処理装置１０３は、その指定情報を参照することによって、制御対象とする仮想視点パラメータを特定できる。また、指定情報には、仮想視点パラメータと部材７００１との対応関係のみならず、パラメータの調整量を決めるための調整用部材（部材７００２）との対応関係の情報が含まれるようにしても良い。このようにすれば、情報処理装置１０３は、ユーザによる部材７００１に対する操作に応じた仮想視点パラメータの調整量を、当該指定情報の参照によって決定することができる。
さらに、上記の指定情報は、ユーザごとに生成されるようにしても良い。具体的には、情報処理装置１０３は、ユーザの識別情報を含む指定情報を生成する。そして、情報処理装置１０３は、複数の指定情報の中から、部材７００１の操作者に対応する指定情報を選択し、その選択された指定情報に基づいて仮想視点パラメータを制御する。このようにすれば、ユーザごとの設定の切替を、より迅速に行うことができる。
また、上記の指定情報は、撮影対象ごとに生成されるようにしても良い。具体的には、情報処理装置１０３は、撮影対象に関する情報を含む指定情報を生成する。そして、情報処理装置１０３は、撮影対象を特定すると共に、複数の指定情報の中から、当該撮影対象に応じた指定情報を選択し、その選択された指定情報に基づいて仮想視点パラメータを制御する。このようにすれば、撮影対象ごとの設定の切替をより迅速に行うことができる。なお、撮影対象に関する情報とは、イベントの種類を識別するための識別情報、及び、シーンの種類を識別するための識別情報などが考えられる。
【００５３】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５４】
例えば、上述した画像処理システム１０の機能構成の一部又は全てをハードウェアとして情報処理装置１０３に実装してもよい。
以上、本発明の実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。上述した各実施形態を任意に組み合わせたり、適宜改良、応用等してもよい。
【符号の説明】
【００５５】
１０  画像処理システム
１０２  生成サーバ
１０３  情報処理装置
【図１】
2020014177.tif 000003
【図２】
2020014177.tif 000004
【図３】
2020014177.tif 000005
【図４】
2020014177.tif 000006
【図５】
2020014177.tif 000007
【図６】
2020014177.tif 000008
【図７】
2020014177.tif 000009
【図８】
2020014177.tif 000010
【図９】
2020014177.tif 000011
【図１０】
2020014177.tif 000012
【図１１】
2020014177.tif 000013