(57)【要約】【課題】仮想カメラの位置、姿勢を見失うことを低減しながら、制約を超えた仮想カメラの操作を可能にする。【解決手段】仮想視点画像を生成するための仮想カメラの動作に関するユーザ操作に応じて前記仮想カメラを制御する制御装置は、ユーザ操作を受け付けると、受け付けたユーザ操作に応じた仮想カメラの動作を制約するか否かを、仮想カメラに関してあらかじめ定められた条件が満たされるか否かに応じて決定する。【選択図】  図１
2020042362.tif 000002
【特許請求の範囲】
【請求項１】
仮想視点画像を生成するための仮想カメラの動作に関するユーザ操作に応じて前記仮想カメラを制御する制御装置であって、
前記ユーザ操作を受け付ける受付手段と、
前記受付手段により受け付けられたユーザ操作に応じた前記仮想カメラの動作を制約するか否かを前記仮想カメラに関してあらかじめ定められた条件が満たされるか否かに応じて決定する決定手段と、を備えることを特徴とする制御装置。
【請求項２】
前記あらかじめ定められた条件が満たされる場合に前記仮想カメラの制約を解除する解除手段を有し、
前記解除手段は、前記仮想カメラの移動可能範囲を規定する境界面に対する前記ユーザ操作による移動後の前記仮想カメラの向きが所定の角度範囲にある場合に、前記制約を解除することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記解除手段は、前記境界面の法線と移動後の前記仮想カメラの向きとの角度が９０度以下である場合に、前記制約を解除することを特徴とする請求項２に記載の制御装置。
【請求項４】
前記解除手段は、前記移動可能範囲を規定する境界面に対する前記ユーザ操作による移動前の現在の仮想カメラの向きが所定の角度範囲にある場合に、前記制約を解除することを特徴とする請求項２又は３に記載の制御装置。
【請求項５】
前記ユーザ操作による移動後の前記仮想カメラに応じた仮想視点画像において所定の被写体の描画領域が占める割合を取得する取得手段を備え、
前記解除手段は、前記取得手段により取得された割合が所定の閾値を超える場合に、前記制約を解除することを特徴とする請求項２乃至４のいずれか１項に記載の制御装置。
【請求項６】
前記所定の被写体は、移動後の前記仮想カメラから得られる仮想視点画像における前景の被写体、所定の背景モデルの被写体、および仮想物体のうちの少なくともいずれかであることを特徴とする請求項５に記載の制御装置。
【請求項７】
前記仮想物体は動画または静止画で示される広告看板であることを特徴とする請求項６に記載の制御装置。
【請求項８】
前記ユーザ操作による移動後の仮想カメラに関して前記あらかじめ定められた条件が満たされない場合であって、あらかじめ定められた自動操縦条件が満たされている場合に、前記仮想カメラを自動的に操縦する自動操縦手段を備えることを特徴とする請求項２乃至７のいずれか１項に記載の制御装置。
【請求項９】
現在の仮想カメラに関して前記あらかじめ定められた条件が満たされなくなった場合であって、あらかじめ定められた自動操縦条件が満たされている場合に、前記仮想カメラを自動的に操縦する自動操縦手段を備えることを特徴とする請求項２乃至８のいずれか１項に記載の制御装置。
【請求項１０】
前記自動操縦条件とは、ユーザ指示により自動操縦の実行が指示されていること、前記ユーザ操作が一定時間にわたって入力されなかったこと、前記あらかじめ定められた条件を満たさない状態が一定時間にわたって継続したこと、の少なくともいずれかであることを特徴とする請求項９に記載の制御装置。
【請求項１１】
前記自動操縦手段は、前記移動可能範囲へ前記仮想カメラを移動すること、前記仮想カメラの方向があらかじめ設定した位置（座標）へ向くように前記仮想カメラの姿勢を移動すること、仮想視点画像に存在していた被写体を追跡するように前記仮想カメラを移動すること、の少なくともいずれかを実行することを特徴とする請求項８乃至１０のいずれか１項に記載の制御装置。
【請求項１２】
前記制約は前記ユーザ操作を受け付けないことであることを特徴とする、請求項２乃至１１のいずれか１項に記載の制御装置。
【請求項１３】
前記制約は前記ユーザ操作に応じた前記仮想カメラの動作を遅くすることであることを特徴とする請求項２乃至１１のいずれか１項に記載の制御装置。
【請求項１４】
前記解除手段は、前記移動可能範囲の外へ前記仮想カメラを移動するユーザ操作が所定の時間を超えて連続で入力された場合に、前記制約を解除することを特徴とする請求項２乃至１３のいずれか１項に記載の制御装置。
【請求項１５】
前記解除手段は、所定のユーザ指示に応じて前記制約を解除することを特徴とする請求項２乃至１４のいずれか１項に記載の制御装置。
【請求項１６】
仮想視点画像を生成するための仮想カメラの動作に関するユーザ操作に応じて前記仮想カメラを制御する制御装置による制御方法であって、
前記ユーザ操作を受け付ける受付工程と、
前記受付工程により受け付けられたユーザ操作に応じた前記仮想カメラの動作を制約するか否かを前記仮想カメラに関してあらかじめ定められた条件が満たされるか否かに応じて決定する決定工程と、を備えることを特徴とする制御方法。
【請求項１７】
コンピュータを、請求項１乃至１５のいずれか１項に記載された制御装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想視点の制御装置及びその制御方法に関する。
【背景技術】
【０００２】
近年、複数のカメラを異なる位置に設置して多視点で同期撮影し、当該撮影により得られた複数視点画像を用いて、カメラ設置位置の画像だけでなく任意の視点からなる仮想視点画像を生成する技術が注目されている。複数視点画像に基づく仮想視点画像の生成及び閲覧は、複数のカメラが撮影した画像をサーバなどの画像処理部に集約し、前記画像処理部にて、仮想視点に基づくレンダリングなどの処理を施し、ユーザ端末に仮想視点画像を表示することで実現できる。
【０００３】
上記のように仮想視点画像を用いたサービスでは、例えば、サッカーやバスケットボールの試合を撮影した画像から、画像制作者によって迫力のある視点のコンテンツを制作できる。また、コンテンツを視聴しているユーザが自由に視点を移動しながら、試合観戦したりすることができるようにもなり、従来の撮影画像と比較してユーザに高臨場感を与えることができる。特許文献１では過去に他のユーザが行った操作履歴を保持し、ユーザに提示する技術が示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願２０１７−５１６５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の技術では、過去に行われた操作をユーザに提示することで仮想視点画像の操作をアシストすることができるが、ユーザが実際に行う操作そのものをアシストすることはできない。また、仮想視点画像の生成において、地中、客席の裏、ドーム球場の天井外などから観察される地上の選手のプレーを表示するなど、現実のカメラでは取得不可能な画像を作成するべく操作を行うと、仮想カメラの位置や姿勢を見失ってしまう場合がある。
【０００６】
このように、仮想カメラの位置、姿勢を見失う危険性を回避するために、仮想カメラの操作に制約を設けることが考えられる。例えば、仮想カメラが規定の範囲から外れてしまうようなユーザ操作を制約することが考えられる。一方、そのような制約を設けると、仮想視点の操作の自由度が犠牲となる。結果、仮想カメラの操作の制約が魅力的なカメラパスによる仮想視点画像の生成を妨げてしまう。そこで、本発明は、仮想カメラの位置、姿勢を見失うことを低減しながら、制約を超えた仮想カメラの操作を可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様による仮想カメラ制御装置は以下の構成を備える。すなわち、
仮想視点画像を生成するための仮想カメラの動作に関するユーザ操作に応じて前記仮想カメラを制御する制御装置であって、
前記ユーザ操作を受け付ける受付手段と、
前記受付手段により受け付けられたユーザ操作に応じた前記仮想カメラの動作を制約するか否かを前記仮想カメラに関してあらかじめ定められた条件が満たされるか否かに応じて決定する決定手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、仮想カメラの位置、姿勢を見失うことを低減しながら、制約を超えた仮想カメラの操作が可能になる。
【図面の簡単な説明】
【０００９】
【図１】（ａ）は、実施形態の画像処理システムの全体構成例を示すブロック図、（ｂ）は情報処理装置のハードウェア構成例を示すブロック図、（ｃ）は情報処理装置の機能構成例を示すブロック図。
【図２】情報処理装置における入出力部の構成を説明する図。
【図３】カメラビューウィンドウを説明する図。
【図４】仮想カメラおよび世界座標の座標系について示した模式図。
【図５】第１実施形態による画像処理システムの処理を示すフローチャート。
【図６】仮想カメラの操縦の様子と被写体となる人物を示した模式図。
【図７】初期パラメータによる仮想視点画像を示した図。
【図８】（ａ）は、移動先の仮想カメラの方向を示すベクトルと、移動可能範囲の境界面の法線のベクトルとを示した模式図、（ｂ）は、（ａ）で示したベクトルの角度を示した模式図。
【図９】移動先の仮想カメラの方向を示すベクトルと、移動可能範囲の境界面の法線のベクトルとを示した模式図、（ｂ）は、（ａ）で示したベクトルの角度を示した模式図。
【図１０】（ａ）は、仮想カメラ６０３ｂによる仮想視点画像を表す図、（ｂ）は、仮想カメラ９０１による仮想視点画像を表す図。
【図１１】第２実施形態による画像処理システムの処理を示すフローチャート。
【図１２】（ａ）、（ｂ）は、仮想カメラの姿勢の変更の様子を模式的に示した図。
【図１３】（ａ）は、仮想カメラ１２０１による仮想視点画像を示す図、（ｂ）は、仮想カメラ１２０３による仮想視点画像を示す図。
【図１４】第３実施形態による画像処理システムの処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の実施形態について説明する。
【００１１】
＜第１実施形態＞
図１（ａ）は、第１実施形態による画像処理システム１０の全体構成を説明する図である。画像処理システム１０は、撮影システム１０１、画像生成サーバ１０２、情報処理装置１０３を備える。画像処理システム１０は、仮想視点画像を生成することが可能である。撮影システム１０１は、複数のカメラを異なる位置に配置し、多視点からの複数画像を同期撮影する。撮影システム１０１は、多視点から同期撮影した複数画像を、画像生成サーバ１０２に送信する。
【００１２】
画像生成サーバ１０２は、多視点から同期撮影した複数画像を元に、仮想カメラから見た仮想視点画像を生成する。仮想カメラとは、撮影空間内を自由に動ける仮想的なカメラである。仮想カメラにより、撮影システム１０１が有するどのカメラとも異なる視点から見た画像、つまり仮想視点画像を撮影することができる。仮想カメラの視点は、後述する情報処理装置１０３が決定するカメラパラメータによって表現される。画像生成サーバ１０２は、受信した複数画像から順次仮想視点画像を生成する。つまり、ライブ仮想視点画像を生成することが可能である。なお、画像処理システム１０が生成できるライブ仮想視点画像は、現在時刻に対して撮影システム１０１および画像生成サーバ１０２での処理遅延を考慮した時刻において撮影システム１０１が撮影した撮影画像に基づく仮想視点画像である。
【００１３】
さらに、画像生成サーバ１０２は、データベースを有し、受信した複数画像を記録する機能を有する。データベースに記録された複数画像から、過去の仮想視点画像、つまりリプレイ仮想視点画像を生成することが可能である。リプレイ仮想視点画像は、任意の時刻において撮影システム１０１が撮影した撮影画像に基づく仮想視点画像である。なお、特に断りがない限り、以降の説明に於いて画像という文言が動画（画像）と静止画の両方の概念を含むものとして説明する。すなわち、画像処理システム１０は、静止画及び動画の何れについても処理可能である。さらに、画像生成サーバ１０２は、作成した画像についての統計量計測などの画像処理を行うこともできる。例えば、仮想視点画像中に前景および背景がどの程度の割合で映し出されているかなどを計測することができる。
【００１４】
情報処理装置１０３は、仮想カメラを制御し、仮想カメラの視点を表すカメラパラメータを決定する。仮想カメラのカメラパラメータは、位置、姿勢、ズームまたは時刻の少なくとも何れか１つを指定するためのパラメータを含む。カメラパラメータにより指定される仮想カメラの位置は、例えば３次元座標を示すものであり、Ｘ軸、Ｙ軸、Ｚ軸の３軸の直交座標系の座標により示され得る。この場合、仮想カメラのカメラパラメータにより指定される位置は、座標を示すものであり、Ｘ軸、Ｙ軸、Ｚ軸の３軸のパラメータから構成される。なお、座標の原点は撮影空間内の任意の位置とすることができる。カメラパラメータにより指定される仮想カメラの姿勢は、例えば、パン、チルト、ロールの３軸を回転軸とする回転角度により示され得る。この場合、カメラパラメータにより指定される仮想カメラの姿勢はパン、チルト、ロールの３軸のパラメータから構成され得る。カメラパラメータにより指定される仮想カメラのズームは、例えば、焦点距離の１軸により示される。また、時刻は１軸のパラメータである。よって、本実施形態の仮想カメラのカメラパラメータは少なくとも８軸（位置：３軸、姿勢：３軸、焦点距離：１軸、時刻：１軸）のパラメータを有する。情報処理装置１０３はこれらの８軸を制御可能である。なお、情報処理装置１０３が制御可能なカメラパラメータは他の要素を規定するパラメータを含んでもよいし、上述した８軸のパラメータの全てを含まなくてもよい。
【００１５】
情報処理装置１０３は、決定した仮想カメラのカメラパラメータを画像生成サーバ１０２へ送信する。画像生成サーバ１０２は、情報処理装置１０３から受信したカメラパラメータを元に仮想視点画像を生成し、情報処理装置１０３へ送信する。情報処理装置１０３は、画像生成サーバ１０２から受信した仮想視点画像をカメラビューウィンドウ３０１（図２、図３により後述）へ表示する。なお、本実施形態のように１台の情報処理装置１０３で、ライブ仮想視点画像とリプレイ仮想視点画像を生成してもよいし、２台以上の情報処理装置１０３を用意して、ライブ仮想視点画像とリプレイ仮想視点画像を異なる情報処理装置１０３で生成してもよい。
【００１６】
図１（ｂ）は、情報処理装置１０３のハードウェア構成を説明する図である。ＣＰＵ１１１は、ＲＡＭ１１２やＲＯＭ１１３に格納されているコンピュータプログラムやデータを用いて情報処理装置１０３の全体を制御する。ＲＡＭ１１２は、ＲＯＭ１１３から読みだされたコンピュータプログラムや計算の途中結果など、通信部１１４を介して外部から供給されるデータなどを一時的に記憶する。ＲＯＭ１１３は、変更を必要としないコンピュータプログラムやデータを保持する。通信部１１４は、ＥｔｈｅｒｎｅｔやＵＳＢなどの通信手段を有し、画像生成サーバ１０２との通信を行う。入出力部１１５は仮想カメラを制御するための複数のコントローラと、仮想カメラの状態などを表示する複数の表示部を有する。
【００１７】
図２は、入出力部１１５を説明する図である。表示部２０１は、カメラビューウィンドウ３０１を表示する。カメラビューウィンドウ３０１は、画像生成サーバ１０２から受信した仮想視点画像を表示するためのウィンドウである。また、入出力部１１５は、ユーザ操作による仮想カメラの制御を行うための指示を受け付ける受付部としてのコントローラを有する。ユーザは、コントローラを介して仮想カメラの位置・姿勢などを変化させるための操作を行うことができる。３軸コントローラ２０２ａ及び３軸コントローラ２０２ｂは、３軸の操作が可能なコントローラである。それぞれの軸には設定により任意の制御を割り当てることが可能である。例えば、３軸コントローラ２０２ａは、仮想カメラの位置を指定するためのＸ軸、Ｙ軸、Ｚ軸の３軸の制御を行う。また、３軸コントローラ２０２ｂは、例えば、仮想カメラの姿勢を指定するためのパン、チルト、ロールの３軸の制御を行う。
【００１８】
ズームコントローラ２０３は、仮想カメラのズームを制御するコントローラである。リプレイコントローラ２０４は、リプレイ仮想視点画像を生成するための機能を制御するコントローラである。また、リプレイコントローラ２０４は仮想カメラの時刻の制御も割り当てる。なお、図２に示す入出力部１１５は、一例に過ぎず、図示に限られるものではない。例えば、入出力部１１５は、２つ以上の表示部を有してもよい。また、入出力部１１５が有するコントローラの数、種類も、図示の構成に限られるものではない。
【００１９】
図３は、カメラビューウィンドウ３０１の一例を示す図である。カメラビューウィンドウ３０１は、例えば表示部２０１に表示される。本実施形態では被写体としてスタジアムに於いてサッカーを行っている人物の仮想視点画像を生成するものとする。カメラビューウィンドウ３０１は、画像生成サーバ１０２から受信した仮想視点画像を表示する表示領域である。この仮想視点画像は、ユーザが制御する仮想カメラから見た仮想視点画像である。情報処理装置１０３は、仮想カメラの時刻を制御することで、記録されている範囲の過去の仮想視点画像を表示することも可能である。本実施形態では特に断りのない限り、仮想視点画像を作成可能な最新の画像を表示しており、仮想視点画像の処理時間が限りなくゼロに近い場合、現在時刻の画像がリアルタイムで表示されると考えることができる。
【００２０】
図４は仮想カメラおよび世界座標の座標系について示した模式図である。本実施形態では、Ｘ軸４１１は２次元平面上の移動を示し、サッカーグラウンドの長辺方向（サイドラインに平行な方向）に対しての移動を示すパラメータである。Ｙ軸４１２もＸ軸４１１と同様に、２次元平面上の移動を示し、サッカーグラウンドの短辺方向（センターラインに平行な方向）に対しての移動を示すパラメータである。Ｚ軸４１３は、高さ方向の移動を示すパラメータであり、グラウンドに対して鉛直方向への移動を示すパラメータである。
【００２１】
なお、各軸の方向についてはこれに限定されるものではない。例えば、ここに示した任意の軸同士が入れ替わっていてもよい。例えば、Ｙ軸４１２を鉛直方向としてもよいし、Ｘ軸４１１を鉛直方向としてもよい。その場合は残った２軸のうちいずれがサッカーグラウンドの長辺方向に平行となり、他方が短編方向に平行となる。また、各軸の正となる方向はどちらであってもよい。本例ではＺ軸となる鉛直方向は上方向を正の値をとるものとするが、負数をとるものとしてもよい。また、Ｘ軸、Ｙ軸、Ｚ軸の各軸は直交し、３軸のパラメータを用いて空間上の任意の１点を示すことができればよく、被写体となるモデルの形状などに応じて、適宜軸の向きを変えてもよい。
【００２２】
チルト４０４は仮想カメラの光軸を上下に回転させることを表すパラメータであり、チルト軸４０１周りの仮想カメラの回転である。ロール４０５は仮想カメラの光軸を中心にした回転を示すパラメータであり、ロール軸４０２周りの仮想カメラの回転である。パン４０６は仮想カメラの光軸を左右方向に回転させるパラメータであり、パン軸４０３周りの仮想カメラの回転である。
【００２３】
図１（ｃ）は、仮想視点画像を生成するための仮想カメラの動作を指示するユーザ操作に応じて仮想カメラを制御する仮想カメラ制御装置としての情報処理装置１０３の機能構成例を示すブロック図である。パラメータ生成部１５１は、仮想カメラの初期パラメータを設定した後、ユーザ操作に応じて、仮想カメラの動作を制御するためのパラメータを生成する。ここで、仮想カメラの動作とは、仮想カメラの位置の移動、方向の移動、ズームの変更などを含む。制約部１５２は、受け付けられたユーザ操作に応じた仮想カメラの動作を制約するか否かを仮想カメラに関してあらかじめ定められた条件が満たされるか否かに応じて決定する。例えば、本実施形態では、制約部１５２は、ユーザ操作により指示された仮想カメラの移動後の位置が、あらかじめ定められた移動可能な範囲内か否かを判断する。そして、制約部１５２は、移動後の位置が移動可能な範囲外と判断された場合に、当該ユーザ操作による仮想カメラの動作を制約する。本実施形態では、この制約により当該ユーザ操作が無効化される。
【００２４】
制約解除部１５３は、ユーザ操作による移動後の仮想カメラに関してあらかじめ定められた解除条件が満たされる場合に、制約部１５２による制約を解除する。例えば、上述の仮想カメラに関してあらかじめ定められた条件が満たされる場合に仮想カメラの制約を解除する。本実施形態では、仮想カメラが移動可能な範囲外に移動しても、仮想カメラの方向が解除条件を満たしていれば制約部１５２による制約が解除され、ユーザ操作による仮想カメラの移動が実行される。自動操縦実行部１６０は第３実施形態で用いられる構成であり、第１、第２実施形態では省略可能である。パラメータ変更部１５４は、仮想カメラの操縦内容に応じて仮想カメラのカメラパラメータを変更する。
【００２５】
以上のような構成を備えた第１実施形態の画像処理システム１０、情報処理装置１０３の動作について説明する。図５は第１実施形態による画像処理システム１０の処理を示すフローチャートである。
【００２６】
情報処理装置１０３のパラメータ生成部１５１は画像生成サーバ１０２に対して、仮想カメラの初期パラメータを設定する（ステップＳ５０１）。図６は仮想カメラの操作の様子と被写体となる人物を模式的に示した図である。６０１は仮想視点画像を生成する対象となるペナルティエリア付近のグラウンド（地面）を示し、６０２ａ、６０２ｂ、６０２ｃ、６０２ｄはペナルティエリア内の選手を示している。また、６０３ａ〜６０３ｃは、パラメータにより設定された位置／姿勢を有する仮想カメラを模式的に示している。図５では、初期パラメータにより、仮想カメラ６０３ａが設定されたものとする。
【００２７】
画像生成サーバ１０２は情報処理装置１０３に指定された仮想カメラの初期パラメータに基づいて、仮想視点画像を生成する（ステップＳ５０２）。ここでは、初期パラメータの仮想カメラ６０３ａにおける仮想視点画像が生成される。情報処理装置１０３は、画像生成サーバ１０２から仮想視点画像を受信し、例えば、図７に示されるように表示部２０１のカメラビューウィンドウ３０１に表示する。図７に示されている仮想視点画像は、例えば、仮想カメラ６０３ａから撮影された画像、すなわち、仮想カメラ６０３ａについて生成された仮想視点画像である。
【００２８】
ユーザは表示部２０１に表示された仮想視点画像を見ながら３軸コントローラ２０２ａ、２０２ｂ、ズームコントローラ２０３などを操作して、仮想カメラのカメラパラメータを操縦する。パラメータ生成部１５１はこれらのユーザ操作を受け付ける（ステップＳ５０３）。例えば、３軸コントローラ２０２ａを操作して、Ｚ軸のパラメータを変更し、仮想カメラの位置をＺ軸のマイナス方向に移動させる操作を行ったとする。パラメータ生成部１５１は仮想カメラのユーザ操作を受け付けると、指示の内容に応じた移動先の仮想カメラのカメラパラメータを生成する（ステップＳ５０４）。例えば、Ｚ軸方向へのマイナス方向の操作により、仮想カメラ６０３ｂを示すカメラパラメータが、ユーザ操作による移動先の仮想カメラのカメラパラメータとして生成される。
【００２９】
情報処理装置１０３の制約部１５２は、ステップＳ５０４で生成されたパラメータによって示される仮想カメラ６０３ｂの位置が仮想カメラの移動可能範囲内であるか否かを判断する（ステップＳ５０５）。第１実施形態では、移動可能範囲として、Ｚ軸方向は図３に示されたようなスタジアムのグラウンド面からスタジアムの最上部まで、Ｘ，Ｙ軸方向は観客席位置までと定義されているものとする。もちろん、移動範囲に関する定義はこれに限定されるものではない。例えばスタジアムのみならず、広域のモデルが用意できる場合などスタジアムの外部まで広域な範囲を定義してもよい。または、処理能力や撮影時の条件などにより仮想視点画像を作成可能なエリアが限定される場合には、例えばサッカーの場合であれば、移動可能範囲がグラウンドのフィールド内や、ペナルティエリア内などの狭小な範囲に設定されてもよい。
【００３０】
仮想カメラの移動先が移動可能範囲内である場合は、制約部１５２は当該ユーザ操作について制約を行わない。結果、パラメータ変更部１５４が、ステップＳ５０４でパラメータ生成部１５１により生成されたカメラパラメータに仮想カメラのカメラパラメータを変更する（ステップＳ５０８）。例えば、移動先が仮想カメラ６０３ｂである場合、移動先が移動可能範囲であるため、パラメータ変更部１５４は仮想カメラのパラメータを、ステップＳ５０４でパラメータ生成部１５１が取得したパラメータに変更する。以降、仮想カメラ６０３ｂによる仮想視点画像が生成される。
【００３１】
他方、移動先の仮想カメラの位置が移動可能範囲内でない場合は、処理はステップＳ５０６に進む。例えば、移動先が仮想カメラ６０３ｃの場合は、その位置のＺ軸方向の値がグラウンド面より下、負数の値となる。この場合、移動可能範囲内ではないため、処理はステップＳ５０６に進む。制約部１５２は制約解除部１５３からの制約解除の指示がなければ、ユーザ操作を無効化することにより制約を実行する。制約解除部１５３が制約解除を指示している場合は、当該ユーザ操作に応じた仮想カメラの移動が実行される。本実施形態では、解除条件として、移動可能範囲を規定する境界面に対するユーザ操作による移動後の仮想カメラの向きが所定の角度範囲にある場合に、制約を解除する。以下、ステップＳ５０６〜Ｓ５０７は、制約部１５２と制約解除部１５３による制約及び制約解除動作の一例である。
【００３２】
仮想カメラの移動先が移動可能範囲外であると判断される場合、制約解除部１５３は、移動可能範囲の境界面の法線と移動先の仮想カメラのカメラパラメータのベクトルの角度を求める（ステップＳ５０６）。移動可能範囲の境界面は、現在のカメラパラメータにより示される仮想カメラの位置と、ユーザ操作による変更後のカメラパラメータにより示される仮想カメラの位置との間に存在する。その境界面の法線方向を基準の法線ベクトルとする。なお、本実施形態では、移動可能範囲の内側、つまり、仮想カメラが移動可能な側を境界面の表側とし、境界面の法線ベクトルは、移動可能範囲の内側を向いているものとする。但し、法線方向はこれに限定されるものではない。例えば、逆向きの法線（移動可能範囲の外側へ向かう法線ベクトル）が用いられてもよい。その場合はベクトル計算などが本実施形態で説明される制約の解除条件の判断と同等の結果となるように適宜修正されるものとする。また、仮想カメラの向きを示すベクトル（以下、方向ベクトル）は、カメラパラメータによって定義される、仮想カメラのパン、チルト、ロールの３つを示すパラメータによって決定される。この２つのベクトルの間の角度を計算によって求める。
【００３３】
図８（ａ）は移動先の仮想カメラのカメラパラメータから得られる、仮想カメラの方向ベクトル８０２と、移動可能範囲の境界面の法線ベクトル８０１とを示した模式図である。法線ベクトル８０１は移動可能範囲の境界面の法線を示したベクトルであり、本例ではグラウンドが境界面と等価であるとする。方向ベクトル８０２は移動先の仮想カメラのカメラパラメータに於いて決定される、仮想カメラの向きを示したベクトルである。図８（ｂ）は図８（ａ）で示した法線ベクトル８０１と方向ベクトル８０２のなす角度を示した模式図である。この法線ベクトル８０１、方向ベクトル８０２の間の角度を計測して角度８０３が得られたとする。ここでは角度８０３は９０度より大きな角度を持つ鈍角であるとする。
【００３４】
制約解除部１５３は、法線ベクトルと方向ベクトルのなす角度が所定の角度範囲にある場合に、制約部１５２による制約を解除するべく、解除指示を出力する。本実施形態では、法線ベクトルと方向ベクトルのなす角度が閾値以下（例えば９０度以下）であった場合に、制約解除部１５３は、解除条件を満足するものと判断し、解除指示を出力する。具体的には、図５において、ステップＳ５０６で求めた２つのベクトルの間の角度が閾値以下となる場合はステップＳ５０８の処理に進み、そうでない場合は、ステップＳ５０２の処理に戻る。ここでは閾値が９０度であるものとすると、図８（ｂ）で示された例では、９０度より大きな角度をもっているため、ステップＳ５０２に戻る。つまり、制約解除部１５３は解除指示を出力せず、制約部１５２はユーザ操作を無効化する。より具体的には、制約部１５２は移動先の仮想カメラのカメラパラメータを破棄し、パラメータ変更部１５４によるパラメータの変更は行われない。結果、仮想カメラ６０３ａによる撮影が維持される。これにより、仮想カメラの移動が移動可能範囲内に制約され、仮想カメラの位置や姿勢をユーザが見失うことを防いでいる。なお、本件では閾値を９０度とするが、本件はこれに限定されるものではない。
【００３５】
以上では、仮想カメラについてＺ軸方向への移動のみの操作を行った場合を説明した。次に、Ｚ軸の操作に加えて、カメラのチルト操作も同時に行い、カメラの向きを上向きに変更する操作も合わせて行っていた場合を説明する。図９（ａ）はこの時の様子を示した模式図である。ユーザ操作によって指定された移動先の仮想カメラ９０１は仮想カメラ６０３ｃと３次元位置が同じ（Ｘ軸、Ｙ軸、Ｚ軸の各パラメータの値が同一）であるが、その方向（方向ベクトル９０２）が仮想カメラ６０３ｃとは異なる。
【００３６】
図９（ｂ）は図９（ａ）で示した方向ベクトル９０２と法線ベクトル８０１のなす角度を示した模式図である。図８（ｂ）と同様に方向ベクトル９０２と法線ベクトル８０１との角度を計測すると角度９０３が得られる。角度９０３は９０度以下の角度（鋭角）であるとする。この場合、制約解除部１５３は、解除条件（角度が閾値以下）が満たされていると判断し、制約部１５２に対して解除指示を行い、制約部１５２による制約を解除する。結果、処理はステップＳ５０７からステップＳ５０８に進み、パラメータ変更部１５４は、ステップＳ５０４で取得したユーザ操作による移動先のカメラパラメータに、仮想カメラのカメラパラメータを変更する。こうして、仮想カメラは、ユーザ操作に応じて移動可能範囲内を移動できる（例えば仮想カメラ６０３ｂ）とともに、制約の解除条件を満たす場合には移動可能範囲外にも移動できる（仮想カメラ９０１）。
【００３７】
なお、上記の例では、境界面の法線ベクトルと仮想カメラの方向ベクトルとの角度が所定の閾値以下であることを解除条件としている。すなわち、閾値は固定されている。しかしながら、仮想カメラの方向が同じでもＺ軸のマイナス方向へ移動するほど、フィールド面における仮想カメラの撮影位置がずれる。そこで、Ｚ軸のマイナス方向への値が大きくなるほど法線ベクトルとの角度の上限を示す所定閾値を小さくするようにしてもよい。
【００３８】
ステップＳ５０８の処理の後、変更された仮想カメラのカメラパラメータを用いてステップＳ５０２で仮想視点画像が生成される。図１０は本処理における仮想視点画像を示している。図１０（ａ）は仮想カメラ６０３ｂから得られる仮想視点画像であり、仮想カメラ６０３ａに比べてＺ軸方向の値が小さくなり（グラウンドからの高さが低くなり）、選手６０２ｄに近づいている様子がわかる。また、図１０（ｂ）は仮想カメラ９０１から得られる仮想視点画像であり、地下から見上げた様子を示す画像となる。この例では地面の裏側（Ｚ軸で負数側から正数側を見上げる場合）は見えない設定になっており、選手をグラウンドの下側から見上げるような仮想視点画像を作ることができる。
【００３９】
以上のように、第１実施形態によれば、仮想カメラの位置や姿勢を見失うことなく、移動可能範囲外へ仮想カメラを操縦することができる。
【００４０】
また、第１実施形態では、移動可能範囲内の移動から外部への移動ができるように制約を解除するための解除条件として、移動先の仮想カメラの方向ベクトルと移動可能範囲の境界面の法線ベクトルの角度を用いたが、これに限定されるものではない。例えば、移動先ではなく、ユーザ操作による移動前の現在の仮想カメラの方向ベクトルと移動可能範囲の境界面の法線ベクトルの角度が所定の角度範囲にあることを解除条件としてもよい。これにより、例えば、所定の位置範囲に仮想カメラが入った場合は、ユーザ操作に関して制約部１５２による制約を受けないようにすることができる。
【００４１】
また、制約の解除のユーザ指示を受け付ける入力部材を用意し、ユーザがその入力部材を操作することによって、制約解除部１５３が制約部１５２の制約を解除するようにしてもよい。そのような入力部材は、例えば３軸コントローラ２０２ａ、２０２ｂ、ズームコントローラ２０３、リプレイコントローラ２０４などのコントローラ上に設けることができる。また、そのような入力部材は、上記コントローラとは別のコントローラに設けられてもよい。また、そのような別のコントローラは、手で操作するものではなく、足で操作するような形態であってもよい。また、各コントローラは、表示部２０１上に表示されるＧＵＩとして存在してもよく、それらをタッチパネルやマウスなどで操作するものであってもよい。さらに、上記入力部材はどのような形状および入力方法の部材でもよく、ボタン、スイッチやスライダー、レバー、タッチセンサー、つまみ、ペダル、シーソースイッチ、などどのような形状の入力部材でもよい。
【００４２】
また、現在の仮想カメラの位置が移動可能範囲の境界の近傍にあり、移動可能範囲外へのユーザ操作が一定の時間以上続けられるような場合に、解除条件が満たされと判断するようにしてもよい。ユーザが、規定されている移動可能範囲の外へ仮想カメラが移動するということを認識したうえで、移動可能範囲外へ仮想カメラを移動させたいという強固な意志を持っていると考えられるからである。
【００４３】
また、初期カメラパラメータのように、カメラパラメータを外部からピンポイントで設定するような方法を用いる場合に、制約解除部１５３は、解除条件を満たすと判断するようにしてもよい。例えば、仮想カメラの位置をファイルなどから入力したり、キーボードなどの入力を用いて直接数値で入力したりするような場合に、ユーザ操作の制約を解除するようにしてもよい。また、上記では、制約部１５２がユーザ操作を受け付けない(ユーザ操作を無効化する）ことにより仮想カメラの動作を制約したが、これに限られるものではない。例えば、制約部１５２は、ユーザ操作された仮想カメラの動作を遅くするようにしてもよい。仮想カメラの移動速度が遅くなることにより、ユーザは、移動可能範囲外へ仮想カメラを移動させようとしていることを認識できる。
【００４４】
以上のように、第１実施形態によれば、仮想カメラの位置や姿勢を見失わないような状況において、仮想カメラの移動の制約が解除されるので、仮想カメラの移動可能な範囲を広げた、より魅力的なカメラパスによる仮想視点画像を生成することができる。
【００４５】
＜第２実施形態＞
第１実施形態では、境界面の法線ベクトルと移動後の仮想カメラの方向ベクトルとの間の角度を用いて解除条件を満たすか否かを判断した。第２実施形態では、移動後の仮想カメラにより取得される仮想視点画像の状態（例えば、被写体の描画比率）に基づいて解除条件を満たすか否かを判断する。以下、第２実施形態について説明する。なお、第２実施形態による画像処理システム１０、情報処理装置１０３の構成は第１実施形態（図１（ａ）、（ｂ）、（ｃ））と同様である。
【００４６】
図１１は第２実施形態による画像処理システム１０の動作を示すフローチャートである。なお、図１１において、Ｓ５０１〜Ｓ５０５及びＳ５０８は、第１実施形態（図５）の同一番号の処理と同様である。制約解除部１５３は、ステップＳ１１０１、Ｓ１１０２を実行することにより解除条件を満たすか否かを判定し、制約部１５２による制約を解除するか否かを決定する。
【００４７】
ユーザ操作により指定された仮想カメラの移動先が、移動可能範囲外である場合（ステップＳ５０５でＮＯ）、処理はステップＳ１１０１へ進む。ステップＳ１１０１において、制約解除部１５３は、仮想カメラのカメラパラメータを画像生成サーバ１０２に提供する。画像生成サーバ１０２は、提供されたカメラパラメータにより仮想視点画像を生成する。画像生成サーバ１０２は、生成した仮想視点画像において、被写体となる前景モデルおよび背景モデルの描画領域がどの程度の割合を占めるかを示す描画比率を算出する。この時、画像生成サーバ１０２は仮想視点画像を実際に作成して描画比率を取得してもよいし、仮想視点画像を作成せずに描画比率を求める計算だけを行うようにしてもよい。また、実際に仮想視点画像を作成する場合には、解像度を落とす、色の処理を行わない、など一部の処理を省略して仮想視点画像を生成するようにしてもよい。画像生成サーバ１０２は、取得した描画比率を情報処理装置１０３に送る。
【００４８】
情報処理装置１０３の制約解除部１５３は、画像生成サーバ１０２から受信した描画比率が閾値以上であるか否かを判断する（ステップＳ１１０２）。制約解除部１５３は、仮想視点画像における被写体の描画比率が閾値以上であれば、制約部１５２による制約を解除し（処理をステップＳ５０８に進める）、閾値よりも小さい場合は制約部１５２による制約を維持する（処理をステップＳ５０２に進める）。
【００４９】
例えば、図９において、現在の仮想カメラが仮想カメラ９０１であり、その方向が方向ベクトル９０２である場合、図１０（ｂ）に示したように仮想視点画像が生成される。この場合、前景である被写体（選手６０２ａ〜６０２ｄ）および背景のゴールなどが映っており、描画比率が閾値を超えている状態である。この状態から、３軸コントローラ２０２ａや２０２ｂなどを操作し、仮想カメラの姿勢を変化させたとする。
【００５０】
図１２はこの場合の仮想カメラの姿勢の変更の様子を模式的に示した図である。ユーザ操作により図１２（ａ）の仮想カメラ１２０１に変更しようとしたものとする。仮想カメラ１２０１と仮想カメラ９０１とは、位置は同じであるが、姿勢が異なる。すなわち、仮想カメラ１２０１の方向ベクトル１２０２は方向ベクトル９０２とは異なっている。この状態で、仮想カメラ１２０１からの仮想視点画像を生成すると、図１３（ａ）のようになり、画面上から被写体がなくなってしまう。従って、ステップＳ１１０２に於いて、被写体の描画比率が閾値未満となり、制約部１５２による制約が維持される。すなわち、ユーザ操作による仮想カメラのパラメータの変更は反映されず、処理はステップＳ５０２に戻る。こうしてユーザ操作は無効化される。
【００５１】
また、例えば、３軸コントローラ２０２ａおよび２０２ｂを操作して、図９の状態から仮想カメラの位置を維持したまま姿勢を変更し、仮想カメラの方向ベクトルが徐々に方向ベクトル１２０２に近づくようにユーザが操作したとする。この場合、仮想視点画像における被写体の描画比率は徐々に減っていく。この過程で、例えば、図１２（ｂ）に示したように仮想カメラ１２０３が設定される。仮想カメラ１２０３の位置は、仮想カメラ９０１と同じで、その方向は方向ベクトル１２０２よりも上を向いている（方向ベクトル１２０４）。仮想カメラ１２０３が設定された場合、例えば図１３（ｂ）に示したような仮想視点画像が生成される。図１３（ｂ）では人物１３０１が画面の端にわずかに映っている。例えば、この状態の被写体の描画比率が閾値と等しいとすると、以降の方向ベクトル１２０２へ近づけようとするユーザ操作に対しては、制約解除部１５３による制約の解除が行われなくなる。従って、ユーザがコントローラを操作しても、それ以上の操作は受け付けられず、仮想カメラ１２０３の状態が維持されることになる。
【００５２】
なお、上記では描画比率を求めるための被写体として、選手などの前景と、スタジアムやゴールなどの特定の背景などをあげたが、これに限られるものではない。例えば、実際には存在しない仮想物体を、描画比率を求める被写体に加えてもよい。例えば広告看板などを仮想的に用意するような場合、これらの広告は被写体とみなしてもよい。また、それらの仮想物体はグラウンド上やスタジアム内のその他の位置にあってもよいし、スタジアムの地下や空中など、実際には存在し得ない場所にあってもよい。また、これらの仮想物体は静止していてもよいし、特定の範囲内を動くものであってもよい。
【００５３】
以上のように、第２実施形態によれば、仮想視点画像における被写体の描画比率が少なくなることによって仮想カメラの位置や姿勢を見失ってしまうことを防ぎながら、仮想カメラの操縦可能な自由度を広げることができる。
【００５４】
＜第３実施形態＞
第１実施形態、第２実施形態では、ユーザ操作による仮想カメラの操作後において解除条件が満たされないと判断した場合に、制約部１５２によるユーザ操作の制約状態が維持される。第３実施形態では、解除条件を満たしていないと判断された場合であって、あらかじめ定められた自動操縦条件が満たされる場合には、仮想カメラが自動的に所定の規則に従って移動する。
【００５５】
図１４は第３実施形態による画像処理システム１０の処理を示すフローチャートである。図１４においてＳ５０１〜Ｓ５０５及びＳ５０８及びＳ１１０１、Ｓ１１０２は図１１の同一番号の処理と同様である。図１（ｃ）において、情報処理装置１０３は、自動操縦実行部１６０を有する。制約解除部１５３は、仮想カメラからの仮想視点画像における被写体の描画比率が閾値未満であると判定した場合（ステップＳ１１０２でＮＯ）、処理をステップＳ１４０１へ進める。ステップＳ１４０１において、自動操縦実行部１６０は、自動操縦条件を満たすかどうかを判断する。自動操縦条件を満たすと判断された場合、処理はステップ１４０２へ進み、そうでない場合、処理はＳ５０２へ戻る。
【００５６】
自動操縦条件を満たす場合としては、例えば、
（ａ）３軸コントローラ２０２ａまたは２０２ｂ上の操作により自動操縦が有効に設定されている場合、
（ｂ）ステップＳ１１０２で、所定時間内で所定回数にわたり連続でＮＯと判定された場合、などがあげられる。
【００５７】
ステップＳ１４０２において、自動操縦実行部１６０は仮想カメラパラメータを計算によって求めた値に変更し、仮想カメラの自動操縦を実行する。自動操縦によって変更される仮想カメラのカメラパラメータ（仮想カメラの移動処理）としては、例えば、
・移動可能範囲内に仮想カメラの位置を戻す動作、
・仮想カメラの姿勢を、例えばグラウンドの中心、世界座標の原点、あるいはあらかじめ設定した点の方向に向くように移動する動作、などがあげられる。
【００５８】
なお、上記では、移動可能範囲外へ仮想カメラを移動するユーザ操作を受け付けた場合に自動操縦実行部１６１が動作する構成である。しかしながら、自動操縦の適用はこれに限られるものではない。例えば、第２実施形態で説明した仮想カメラ９０１（図９）により図１３（ｂ）に示されるような仮想視点画像が取得されている状態では、人物１３０１が移動して画面の外へ出てしまうようなことが考えられる。このように、ユーザ操作が介在しなくても解除条件が満たされなくなるような場合に、自動操縦実行部１６０が自動操縦を実行するようにしてもよい。
【００５９】
この場合、自動操縦実行部１６０は、所定の周期で、現在の仮想カメラから得られる仮想視点画像を解析し、被写体の描画比率を取得し、ステップＳ１１０２、Ｓ１０１、Ｓ１４０２を実行する。自動操縦実行部１６０が実際の計算を行わず、画像生成サーバ１０２から描画比率を取得するようにしてもよい。自動操縦実行部１６０は、取得した描画比率を用いて、ステップＳ１１０２、Ｓ１４０１、Ｓ１４０２を実行し、自動操縦条件が満たされる場合に、自動操縦を実行する。
【００６０】
ステップＳ１４０１における自動操縦条件としては、例えば、
（ａ）３軸コントローラ２０２ａまたは２０２ｂ上の自動操縦ボタンをユーザが操作したこと、
（ｂ）一定時間にわたってユーザからの操作入力が無いこと、
（ｃ）ステップ１１０２において、所定時間内で所定回数にわたり連続でＮＯと判定されたこと、
（ｄ）被写体の描画比率が閾値未満である状態が一定時間継続したこと、などが考えられる。
【００６１】
例えば、仮想視点画像から被写体がいなくなってしまい、ユーザが仮想カメラの位置と姿勢を見失ってしまったと判断して自動操縦ボタンを操作したものとする。この場合、自動操縦条件（ａ）が満たされ、処理はステップＳ１４０１からステップＳ１４０２に進む。結果、自動操縦実行部１６０は、仮想カメラの自動操縦を実行する。
【００６２】
なお、自動操縦実行部１６０は、仮想カメラの位置、姿勢を瞬時に変更するように制御してもよいし、徐々に変更するように制御してもよい。仮想カメラの位置／姿勢を徐々に変更する場合においては、例えば被写体の描画比率が途中で閾値を超えるようになった場合に、その時点で自動操縦を停止するようにしてもよい。また、自動操縦実行部１６０は、最後に映っていた被写体を追跡するように自動操縦を行ってもよい。また、これらが適宜組み合わされてもよい。
【００６３】
以上のように、第３実施形態によれば、ユーザが仮想カメラの位置や姿勢を見失ったと判定された場合に、仮想カメラの位置／姿勢を確認できるように仮想カメラが自動操縦される。したがって、ユーザは仮想カメラの操作を継続することができるようになる。
【００６４】
＜その他の実施形態＞
以上、本発明の実施形態について上述してきたが、本発明はこれらの特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。また、上述の実施形態の一部を適宜組み合わせてもよい。
【００６５】
例えば、上記実施形態では情報処理装置１０３と画像生成サーバ１０２は別体の装置としているが、これらは１台のサーバを用いた構成であってもよいし、内部的に複数のサーバに分かれ、論理的に１台となる構成であってもよい。
【００６６】
また、上記実施形態では地下への仮想カメラの移動で例示したが、本発明はこれに限られるものではなく、移動可能範囲内から移動可能範囲外への移動での操作であればよい。例えば、移動可能範囲内としてスタジアム形状の内部が定義されているのであれば、観客席やドームの天井を超えるような仮想カメラの移動や姿勢であってもよい。
【００６７】
また、上記実施形態では便宜的に仮想カメラという概念を用いて説明した。しかしながら、仮想カメラの位置は仮想視点の位置、仮想カメラの姿勢は仮想視点の向き、といったように、適宜読み替えることが可能であることに留意されたい。
【００６８】
また、上記実施形態では、予め制約を設けておいて、所定の条件を満たす場合にその制約を解除する例を中心に説明した。しかしこの例に限るものではない。例えば、通常は制約を設けず、所定の条件を満たした場合に制約を課すようにしても良い。つまり、所定の条件を満たす場合は制約が有効となり、所定の条件を満たさない場合は制約が無効になるように設定するという言い方もできる。
【００６９】
また、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７０】
１０：画像処理システム、１０１：撮影システム、１０２：画像生成サーバ、１１１：ＣＰＵ、１１２：ＲＡＭ、１１３：ＲＯＭ、１１４：通信部、１１５：入出力部、２０１：表示部、２０２ａ：３軸コントローラ、２０２ｂ：３軸コントローラ、２０３：ズームコントローラ、２０４：リプレイコントローラ
【図１】
2020042362.tif 000003
【図２】
2020042362.tif 000004
【図３】
2020042362.tif 000005
【図４】
2020042362.tif 000006
【図５】
2020042362.tif 000007
【図６】
2020042362.tif 000008
【図７】
2020042362.tif 000009
【図８】
2020042362.tif 000010
【図９】
2020042362.tif 000011
【図１０】
2020042362.tif 000012
【図１１】
2020042362.tif 000013
【図１２】
2020042362.tif 000014
【図１３】
2020042362.tif 000015
【図１４】
2020042362.tif 000016