(57)【要約】【課題】  仮想視点画像の生成において、状況に応じて変化する範囲内で視点を指定できるようにする。【解決手段】  制御装置は、撮影領域を複数の方向から撮影する複数の撮影装置のうち少なくとも何れかの動作状態を表す情報を取得する取得手段と、前記複数の撮影装置により得られる画像データに基づく仮想視点画像の生成に係る仮想視点に関するパラメータの範囲であって、前記取得手段により取得される情報に基づいて限定される範囲を特定する特定手段と、前記特定手段により特定された範囲を示す情報と、ユーザによる仮想視点の指定に応じたパラメータが前記範囲に含まれるか否かを識別可能にする情報との、少なくとも何れかを、仮想視点を指定するユーザに通知する通知手段とを有する。【選択図】  図１
2019134428.tif 000002
【特許請求の範囲】
【請求項１】
撮影領域を複数の方向から撮影する複数の撮影装置のうち少なくとも何れかの動作状態を表す情報を取得する取得手段と、
前記複数の撮影装置により得られる画像データに基づく仮想視点画像の生成に係る仮想視点に関するパラメータの範囲であって、前記取得手段により取得される情報に基づいて限定される範囲を特定する特定手段と、
前記特定手段により特定された範囲を示す情報と、ユーザによる仮想視点の指定に応じたパラメータが前記範囲に含まれるか否かを識別可能にする情報との、少なくとも何れかを、仮想視点を指定するユーザに通知する通知手段とを有することを特徴とする制御装置。
【請求項２】
前記通知手段による通知は、前記特定手段により特定された範囲を示す画像の出力により行われることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記通知手段による通知は、ユーザによる仮想視点の指定に応じたパラメータが前記特定手段により特定された範囲に含まれないことを表す画像の出力及び音の出力の少なくとも何れかにより行われることを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
撮影領域を複数の方向から撮影する複数の撮影装置のうち少なくとも何れかの動作状態を表す情報を取得する取得手段と、
前記複数の撮影装置により得られる画像データに基づく仮想視点画像の生成に係る仮想視点に関するパラメータの範囲であって、前記取得手段により取得される情報に基づいて限定される範囲を特定する特定手段と、
仮想視点画像の生成に用いられるパラメータとして、前記特定手段により特定された範囲に含まれないパラメータが設定されることを抑制する制御を行う制御手段とを有することを特徴とする制御装置。
【請求項５】
前記制御手段による制御は、前記特定手段により特定された範囲に含まれないパラメータに対応する仮想視点を指定する操作がユーザにより行われた場合に、前記仮想視点画像の生成に用いられるパラメータの設定に当該操作を反映させない制御を含むことを特徴とする請求項４に記載の制御装置。
【請求項６】
前記制御手段による制御は、ユーザによる仮想視点の指定に用いられる操作部の動作を制限する制御を含むことを特徴とする請求項４又は５に記載の制御装置。
【請求項７】
前記特定手段により特定される範囲は、仮想視点の位置、向き、及びズーム値の少なくとも何れかに関するパラメータの範囲であることを特徴とする請求項１乃至６の何れか１項に記載の制御装置。
【請求項８】
前記特定手段により特定される範囲は、所定の品質の仮想視点画像を生成可能なパラメータの範囲であることを特徴とする請求項１乃至７の何れか１項に記載の制御装置。
【請求項９】
前記特定手段により特定される範囲は、基準値以上の解像度の仮想視点画像を生成可能なパラメータの範囲であることを特徴とする請求項１乃至８の何れか１項に記載の制御装置。
【請求項１０】
前記取得手段により取得される情報が表す撮影装置の動作状態には、撮影可能な正常状態、撮影が制限される故障状態、撮影の開始前に必要な処理を行う起動準備状態、及び予め定められた初期設定を行う再起動状態の少なくとも何れかが含まれることを特徴とする請求項１乃至９の何れか１項に記載の制御装置。
【請求項１１】
前記複数の撮影装置の少なくとも何れかが撮影可能な正常状態でないことを表す情報が前記取得手段により取得された場合に前記特定手段により特定される範囲は、前記複数の撮影装置の少なくとも何れかが正常状態でないことを表す情報が前記取得手段により取得されない場合に前記特定手段により特定される範囲よりも広いことを特徴とする請求項１乃至１０の何れか１項に記載の制御装置。
【請求項１２】
前記特定手段により特定される範囲は、前記複数の撮影装置により得られる画像データの画質に関わる画像パラメータに応じて異なることを特徴とする請求項１乃至１１の何れか１項に記載の制御装置。
【請求項１３】
前記画像データの画質に関わる画像パラメータは、前記画像データのデータ量、フレームレート、解像度、量子化ステップ、及び撮影範囲の少なくとも何れかに関するパラメータであることを特徴とする請求項１２に記載の制御装置。
【請求項１４】
仮想視点の指定に係るユーザ操作に応じた入力を受け付ける受付手段と、
前記受付手段により受け付けられた入力に基づいて前記仮想視点に関するパラメータを設定する設定手段とを有することを特徴とする請求項１乃至１３の何れか１項に記載の制御装置。
【請求項１５】
前記設定手段により設定されたパラメータと前記複数の撮影装置により得られる画像データとに基づいて仮想視点画像を生成する生成手段を有することを特徴とする請求項１４に記載の制御装置。
【請求項１６】
撮影領域を複数の方向から撮影する複数の撮影装置のうち少なくとも何れかの動作状態を表す情報を取得する取得手段と、
前記複数の撮影装置により得られる画像データに基づく仮想視点画像の生成に係る仮想視点に関する条件であって前記取得手段により取得される情報が表す動作状態に応じて変化する条件を満たす仮想視点と前記条件を満たさない仮想視点とを、仮想視点を指定するユーザに識別させるための情報を出力する出力手段とを有することを特徴とする制御装置。
【請求項１７】
撮影領域を複数の方向から撮影する複数の撮影装置のうち少なくとも何れかの動作状態を表す情報を取得する取得工程と、
前記複数の撮影装置により得られる画像データに基づく仮想視点画像の生成に係る仮想視点に関するパラメータの範囲であって、前記取得工程において取得される情報に基づいて限定される範囲を特定する特定工程と、
前記特定工程において特定された範囲を示す情報と、ユーザによる仮想視点の指定に応じたパラメータが前記範囲に含まれるか否かを識別可能にする情報との、少なくとも何れかを、仮想視点を指定するユーザに通知する通知工程とを有することを特徴とする制御方法。
【請求項１８】
撮影領域を複数の方向から撮影する複数の撮影装置のうち少なくとも何れかの動作状態を表す情報を取得する取得工程と、
前記複数の撮影装置により得られる画像データに基づく仮想視点画像の生成に係る仮想視点に関するパラメータの範囲であって、前記取得工程において取得される情報に基づいて限定される範囲を特定する特定工程と、
仮想視点画像の生成に用いられるパラメータとして、前記特定工程において特定された範囲に含まれないパラメータが設定されることを抑制する制御を行う制御工程とを有することを特徴とする制御方法。
【請求項１９】
前記特定工程において特定される範囲は、仮想視点の位置、向き、及びズーム値の少なくとも何れかに関するパラメータの範囲であることを特徴とする請求項１７又は１８に記載の制御方法。
【請求項２０】
コンピュータを、請求項１乃至１６の何れか１項に記載の制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想視点画像を生成するシステムに関するものである。
【背景技術】
【０００２】
昨今、複数のカメラを異なる位置に設置して多視点で同期撮影し、当該撮影により得られた複数視点画像を用いて仮想視点コンテンツを生成する技術が注目されている。上記のようにして複数視点画像から仮想視点コンテンツを生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが出来るため、通常の画像と比較してユーザに高臨場感を与えることが出来る。
【０００３】
一方、複数視点画像に基づく仮想視点コンテンツの生成及び閲覧は、複数のカメラが撮影した画像をサーバなどの画像処理部に集約し、当該画像処理部にて、三次元モデル生成、レンダリングなどの処理を施し、ユーザ端末に伝送を行うことで実現できる。
【０００４】
また、特許文献１では、視点を移動して欲しくない位置や視線を向けて欲しくない方向に仮想カメラを位置させたり向けたりすることができないように設定可能とすることについて記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１９５０９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、状況に応じて変化する範囲内で視点を指定できるようにはなっていない。従って、例えば、仮想視点画像の視点の設定可能範囲がカメラの動作状態に応じて変化する場合において、設定可能範囲外に視点が指定されると、所望の仮想視点画像を生成できなくなる恐れがある。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、仮想視点画像の生成において、状況に応じて変化する範囲内で視点を指定できるようにすることである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る制御装置は、例えば以下の構成を有する。すなわち、撮影領域を複数の方向から撮影する複数の撮影装置のうち少なくとも何れかの動作状態を表す情報を取得する取得手段と、前記複数の撮影装置により得られる画像データに基づく仮想視点画像の生成に係る仮想視点に関するパラメータの範囲であって、前記取得手段により取得される情報に基づいて限定される範囲を特定する特定手段と、前記特定手段により特定された範囲を示す情報と、ユーザによる仮想視点の指定に応じたパラメータが前記範囲に含まれるか否かを識別可能にする情報との、少なくとも何れかを、仮想視点を指定するユーザに通知する通知手段とを有する。
【発明の効果】
【０００９】
本発明によれば、仮想視点画像の生成において、状況に応じて変化する範囲内で視点を指定できるようになる。
【図面の簡単な説明】
【００１０】
【図１】画像処理システム１００の構成を説明するための図である。
【図２】カメラアダプタ１２０の機能構成を説明するためのブロック図である。
【図３】画像処理部６１３０の構成を説明するためのブロック図である。
【図４】フロントエンドサーバ２３０の機能構成を説明するためのブロック図である。
【図５】フロントエンドサーバ２３０のデータ入力制御部０２１２０の構成を説明するためのブロック図である。
【図６】データベース２５０の機能構成を説明するためのブロック図である。
【図７】バックエンドサーバ２７０の機能構成を説明するためのブロック図である。
【図８】仮想カメラ操作ＵＩ３３０の機能構成を説明するためのブロック図である。
【図９】エンドユーザ端末１９０の接続構成を説明するための図である。
【図１０】エンドユーザ端末１９０の機能構成を説明するためのブロック図である。
【図１１】ワークフロー全体を説明するためのフローチャートである。
【図１２】機材設置前のワークフローを説明するためのフローチャートである。
【図１３】機材設置時のワークフローを説明するためのフローチャートである。
【図１４】撮影前のワークフローを説明するためのフローチャートである。
【図１５】制御ステーション３１０側での撮影時確認ワークフローを説明するためのフローチャートである。
【図１６】仮想カメラ操作ＵＩ３３０側での撮影時ユーザワークフローを説明するためのフローチャートである。
【図１７】設置時キャリブレーションの処理全体を説明するためのシーケンス図である。
【図１８】撮影前におけるフロントエンドサーバ２３０の動作を説明するためのフローチャートである。
【図１９】撮影前におけるデータベース２５０の動作を説明するためのフローチャートである。
【図２０】撮影中におけるデータベース２５０の動作を説明するためのフローチャートである。
【図２１】設置時キャリブレーションの処理を説明するためのフローチャートである。
【図２２】撮影開始処理を説明するためのシーケンス図である。
【図２３】三次元モデル情報の生成処理を説明するためのシーケンス図である。
【図２４】三次元モデル情報の生成処理を説明するためのフローチャートである。
【図２５】三次元モデル情報の生成処理を説明するためのフローチャートである。
【図２６】注視点グループについて説明するための図である。
【図２７】バイパス伝送制御について説明するための図である。
【図２８】バイパス制御について説明するための図である。
【図２９】データの伝送フローを説明するための図である。
【図３０】伝送データの削減処理について説明するためのフローチャートである。
【図３１】ファイル生成処理について説明するためのフローチャートである。
【図３２】データベース２５０へのファイル書き込み処理について説明するためのフローチャートである。
【図３３】データベース２５０からのファイル読み出し処理について説明するためのフローチャートである。
【図３４】撮影画像の例を示す図である。
【図３５】前景背景分離について説明するためのフローチャートである。
【図３６】仮想カメラ画像の生成処理について説明するためのシーケンス図である。
【図３７】仮想カメラについて説明するための図である。
【図３８】ライブ画像の生成処理について説明するためのフローチャートである。
【図３９】リプレイ画像の生成処理について説明するためのフローチャートである。
【図４０】仮想カメラパスの選択について説明するためのフローチャートである。
【図４１】エンドユーザ端末１９０が表示する画面の例を示す図である。
【図４２】手動操縦に関するアプリケーション管理部１０００１の処理を説明するためのフローチャートである。
【図４３】自動操縦に関するアプリケーション管理部１０００１の処理を説明するためのフローチャートである。
【図４４】レンダリング処理について説明するためのフローチャートである。
【図４５】前景画像の生成処理について説明するためのフローチャートである。
【図４６】設置後ワークフローで生成される設定リストを表す図である。
【図４７】制御ステーション３１０における設定情報変更処理について説明するためのシーケンス図である。
【図４８】フロントエンドサーバ２３０のデータ受信処理について説明するためのフローチャートである。
【図４９】カメラアダプタ１２０のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
競技場（スタジアム）やコンサートホールなどの施設に複数のカメラ及びマイクを設置し撮影及び集音を行うシステムについて、図１のシステム構成図を用いて説明する。画像処理システム１００は、センサシステム１１０ａ―センサシステム１１０ｚ、画像コンピューティングサーバ２００、コントローラ３００、スイッチングハブ１８０、及びエンドユーザ端末１９０を有する。
【００１２】
コントローラ３００は制御ステーション３１０と仮想カメラ操作ＵＩ３３０を有する。制御ステーション３１０は画像処理システム１００を構成するそれぞれのブロックに対してネットワーク３１０ａ―３１０ｃ、１８０ａ、１８０ｂ、及び１７０ａ―１７０ｙを通じて動作状態の管理及びパラメータ設定制御などを行う。ここで、ネットワークはＥｔｈｅｒｎｅｔ（登録商標、以下省略）であるＩＥＥＥ標準準拠のＧｂＥ（ギガビットイーサーネット）や１０ＧｂＥでもよいし、インターコネクトＩｎｆｉｎｉｂａｎｄ、産業用イーサーネット等を組合せて構成されてもよい。また、これらに限定されず、他の種別のネットワークであってもよい。
【００１３】
最初に、センサシステム１１０ａ―センサシステム１１０ｚの２６セットの画像及び音声をセンサシステム１１０ｚから画像コンピューティングサーバ２００へ送信する動作を説明する。本実施形態の画像処理システム１００は、センサシステム１１０ａ―センサシステム１１０ｚがデイジーチェーンにより接続される。
【００１４】
本実施形態において、特別な説明がない場合は、センサシステム１１０ａからセンサシステム１１０ｚまでの２６セットのシステムを区別せずセンサシステム１１０と記載する。各センサシステム１１０内の装置についても同様に、特別な説明がない場合は区別せず、マイク１１１、カメラ１１２、雲台１１３、外部センサ１１４、及びカメラアダプタ１２０と記載する。なお、センサシステムの台数として２６セットと記載しているが、あくまでも一例であり、台数をこれに限定するものではない。また、複数のセンサシステム１１０は同一の構成でなくてもよく、例えばそれぞれが異なる機種の装置で構成されていてもよい。なお、本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム１００は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム１００により提供される仮想視点コンテンツには、仮想視点画像と仮想視点音声が含まれる例を中心に説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくても良い。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音声であっても良い。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
【００１５】
センサシステム１１０ａ―センサシステム１１０ｚは、それぞれ１台ずつのカメラ１１２ａ―カメラ１１２ｚを有する。即ち、画像処理システム１００は、被写体を複数の方向から撮影するための複数のカメラ１１２を有する。なお、複数のカメラ１１２は同一符号を用いて説明するが、性能や機種が異なっていてもよい。複数のセンサシステム１１０同士はデイジーチェーンにより接続される。この接続形態により、撮影画像の４Ｋや８Ｋなどへの高解像度化及び高フレームレート化に伴う画像データの大容量化において、接続ケーブル数の削減や配線作業の省力化ができる効果があることをここに明記しておく。
【００１６】
なおこれに限らず、接続形態として、各センサシステム１１０ａ−１１０ｚがスイッチングハブ１８０に接続されて、スイッチングハブ１８０を経由してセンサシステム１１０間のデータ送受信を行うスター型のネットワーク構成としてもよい。
【００１７】
また、図１では、デイジーチェーンとなるようセンサシステム１１０ａ−１１０ｚの全てがカスケード接続されている構成を示したがこれに限定するものではない。例えば、複数のセンサシステム１１０をいくつかのグループに分割して、分割したグループ単位でセンサシステム１１０間をデイジーチェーン接続してもよい。そして、分割単位の終端となるカメラアダプタ１２０がスイッチングハブに接続されて画像コンピューティングサーバ２００へ画像の入力を行うようにしてもよい。このような構成は、スタジアムにおいてとくに有効である。例えば、スタジアムが複数階で構成され、フロア毎にセンサシステム１１０を配備する場合が考えられる。この場合に、フロア毎、あるいはスタジアムの半周毎に画像コンピューティングサーバ２００への入力を行うことができ、全センサシステム１１０を１つのデイジーチェーンで接続する配線が困難な場所でも設置の簡便化及びシステムの柔軟化を図ることができる。
【００１８】
また、デイジーチェーン接続されて画像コンピューティングサーバ２００へ画像入力を行うカメラアダプタ１２０が１つであるか２つ以上であるかに応じて、画像コンピューティングサーバ２００での画像処理の制御が切り替えられる。すなわち、センサシステム１１０が複数のグループに分割されているかどうかに応じて制御が切り替えられる。画像入力を行うカメラアダプタ１２０が１つの場合は、デイジーチェーン接続で画像伝送を行いながら競技場全周画像が生成されるため、画像コンピューティングサーバ２００において全周の画像データが揃うタイミングは同期がとられている。すなわち、センサシステム１１０がグループに分割されていなければ、同期はとれる。
【００１９】
しかし、画像入力を行うカメラアダプタ１２０が複数になる場合は、画像が撮影されてから画像コンピューティングサーバ２００に入力されるまでの遅延がデイジーチェーンのレーン（経路）ごとに異なる場合が考えられる。すなわち、センサシステム１１０がグループに分割される場合は、画像コンピューティングサーバ２００に全周の画像データが入力されるタイミングは同期がとられないことがある。そのため、画像コンピューティングサーバ２００において、全周の画像データが揃うまで待って同期をとる同期制御によって、画像データの集結をチェックしながら後段の画像処理を行う必要があることを明記しておく。
【００２０】
本実施形態では、センサシステム１１０ａはマイク１１１ａ、カメラ１１２ａ、雲台１１３ａ、外部センサ１１４ａ、及びカメラアダプタ１２０ａを有する。なお、この構成に限定するものではなく、少なくとも１台のカメラアダプタ１２０ａと、１台のカメラ１１２ａまたは１台のマイク１１１ａを有していれば良い。また例えば、センサシステム１１０ａは１台のカメラアダプタ１２０ａと、複数のカメラ１１２ａで構成されてもよいし、１台のカメラ１１２ａと複数のカメラアダプタ１２０ａで構成されてもよい。即ち、画像処理システム１００内の複数のカメラ１１２と複数のカメラアダプタ１２０はＮ対Ｍ（ＮとＭは共に１以上の整数）で対応する。また、センサシステム１１０は、マイク１１１ａ、カメラ１１２ａ、雲台１１３ａ、及びカメラアダプタ１２０ａ以外の装置を含んでいてもよい。また、カメラ１１２とカメラアダプタ１２０が一体となって構成されていてもよい。さらに、カメラアダプタ１２０の機能の少なくとも一部をフロントエンドサーバ２３０が有していてもよい。本実施形態では、センサシステム１１０ｂ―１１０ｚについては、センサシステム１１０ａと同様の構成なので省略する。なお、センサシステム１１０ａと同じ構成に限定されるものではなく、其々のセンサシステム１１０が異なる構成でもよい。
【００２１】
マイク１１１ａにて集音された音声と、カメラ１１２ａにて撮影された画像は、カメラアダプタ１２０ａにおいて後述の画像処理が施された後、デイジーチェーン１７０ａを通してセンサシステム１１０ｂのカメラアダプタ１２０ｂに伝送される。同様にセンサシステム１１０ｂは、集音された音声と撮影された画像を、センサシステム１１０ａから取得した画像及び音声と合わせてセンサシステム１１０ｃに伝送する。
【００２２】
前述した動作を続けることにより、センサシステム１１０ａ―センサシステム１１０ｚが取得した画像及び音声は、センサシステム１１０ｚから１８０ｂを用いてスイッチングハブ１８０に伝わり、その後、画像コンピューティングサーバ２００へ伝送される。
【００２３】
なお、本実施形態では、カメラ１１２ａ−１１２ｚとカメラアダプタ１２０ａ−１２０ｚが分離された構成にしているが、同一筺体で一体化されていてもよい。その場合、マイク１１１ａ−１１１ｚは一体化されたカメラ１１２に内蔵されてもよいし、カメラ１１２の外部に接続されていてもよい。
【００２４】
次に、画像コンピューティングサーバ２００の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ２００は、センサシステム１１０ｚから取得したデータの処理を行う。画像コンピューティングサーバ２００はフロントエンドサーバ２３０、データベース２５０（以下、ＤＢとも記載する。）、バックエンドサーバ２７０、タイムサーバ２９０を有する。
【００２５】
タイムサーバ２９０は時刻及び同期信号を配信する機能を有し、スイッチングハブ１８０を介してセンサシステム１１０ａ―センサシステム１１０ｚに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ１２０ａ―１２０ｚは、カメラ１１２ａ―１１２ｚを時刻と同期信号をもとにＧｅｎｌｏｃｋさせ画像フレーム同期を行う。即ち、タイムサーバ２９０は、複数のカメラ１１２の撮影タイミングを同期させる。これにより、画像処理システム１００は同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、本実施形態ではタイムサーバ２９０が複数のカメラ１１２の時刻同期を管理するものとするが、これに限らず、時刻同期のための処理を各カメラ１１２又は各カメラアダプタ１２０が独立して行ってもよい。
【００２６】
フロントエンドサーバ２３０は、センサシステム１１０ｚから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換した後に、カメラの識別子やデータ種別、フレーム番号に応じてデータベース２５０に書き込む。
【００２７】
次に、バックエンドサーバ２７０では、仮想カメラ操作ＵＩ３３０から視点の指定を受け付け、受け付けられた視点に基づいて、データベース２５０から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。
【００２８】
なお、画像コンピューティングサーバ２００の構成はこれに限らない。例えば、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０のうち少なくとも２つが一体となって構成されていてもよい。また、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ２００内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ２００の機能の少なくとも一部をエンドユーザ端末１９０や仮想カメラ操作ＵＩ３３０が有していてもよい。
【００２９】
レンダリング処理された画像は、バックエンドサーバ２７０からエンドユーザ端末１９０に送信され、エンドユーザ端末１９０を操作するユーザは視点の指定に応じた画像閲覧及び音声視聴が出来る。すなわち、バックエンドサーバ２７０は、複数のカメラ１１２により撮影された撮影画像（複数視点画像）と視点情報とに基づく仮想視点コンテンツを生成する。より具体的には、バックエンドサーバ２７０は、例えば複数のカメラアダプタ１２０により複数のカメラ１１２による撮影画像から抽出された所定領域の画像データと、ユーザ操作により指定された視点に基づいて、仮想視点コンテンツを生成する。そしてバックエンドサーバ２７０は、生成した仮想視点コンテンツをエンドユーザ端末１９０に提供する。カメラアダプタ１２０による所定領域の抽出の詳細については後述する。なお、本実施形態において仮想視点コンテンツは画像コンピューティングサーバ２００により生成されるものであり、特にバックエンドサーバ２７０により生成される場合を中心に説明する。ただしこれに限らず、仮想視点コンテンツは、画像コンピューティングサーバ２００に含まれるバックエンドサーバ２７０以外の装置により生成されてもよいし、コントローラ３００やエンドユーザ端末１９０により生成されてもよい。
【００３０】
本実施形態における仮想視点コンテンツは、仮想的な視点から被写体を撮影した場合に得られる画像としての仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点における見えを表す画像であるとも言える。仮想的な視点（仮想視点）は、ユーザにより指定されても良いし、画像解析の結果等に基づいて自動的に指定されても良い。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像（自由視点画像）が含まれる。また、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。なお、本実施形態では、仮想視点コンテンツに音声データ（オーディオデータ）が含まれる場合の例を中心に説明するが、必ずしも音声データが含まれていなくても良い。また、バックエンドサーバ２７０は、仮想視点画像を例えばＨ．２６４やＨＥＶＣなどの符号化方式に従って圧縮符号化したうえで、ＭＰＥＧ−ＤＡＳＨプロトコルを使ってエンドユーザ端末１９０へ送信してもよい。また、仮想視点画像は、非圧縮でエンドユーザ端末１９０へ送信されてもよい。とくに圧縮符号化を行う前者はエンドユーザ端末１９０としてスマートフォンやタブレットを想定しており、後者は非圧縮画像を表示可能なディスプレイを想定している。すなわち、エンドユーザ端末１９０の種別に応じて画像フォーマットが切り替え可能であることを明記しておく。また、画像の送信プロトコルはＭＰＥＧ−ＤＡＳＨに限らず、例えば、ＨＬＳ（ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）やその他の送信方法を用いても良い。
【００３１】
この様に、画像処理システム１００は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという３つの機能ドメインを有する。映像収集ドメインはセンサシステム１１０−１１０ｚを含み、データ保存ドメインはデータベース２５０、フロントエンドサーバ２３０及びバックエンドサーバ２７０を含み、映像生成ドメインは仮想カメラ操作ＵＩ３３０及びエンドユーザ端末１９０を含む。なお本構成に限らず、例えば、仮想カメラ操作ＵＩ３３０が直接センサシステム１１０ａ−１１０ｚから画像を取得する事も可能である。しかしながら、本実施形態では、センサシステム１１０ａ−１１０ｚから直接画像を取得する方法ではなくデータ保存機能を中間に配置する方法をとる。具体的には、フロントエンドサーバ２３０がセンサシステム１１０ａ−１１０ｚが生成した画像データや音声データ及びそれらのデータのメタ情報をデータベース２５０の共通スキーマ及びデータ型に変換している。これにより、センサシステム１１０ａ−１１０ｚのカメラ１１２が他機種のカメラに変化しても、変化した差分をフロントエンドサーバ２３０が吸収し、データベース２５０に登録することができる。このことによって、カメラ１１２が他機種カメラに変わった場合に、仮想カメラ操作ＵＩ３３０が適切に動作しない虞を低減できる。  
【００３２】
また、仮想カメラ操作ＵＩ３３０は、直接データベース２５０にアクセスせずにバックエンドサーバ２７０を介してアクセスする構成である。バックエンドサーバ２７０で画像生成処理に係わる共通処理を行い、操作ＵＩに係わるアプリケーションの差分部分を仮想カメラ操作ＵＩ３３０で行っている。このことにより、仮想カメラ操作ＵＩ３３０の開発において、ＵＩ操作デバイスや、生成したい仮想視点画像を操作するＵＩの機能要求に対する開発に注力する事ができる。また、バックエンドサーバ２７０は、仮想カメラ操作ＵＩ３３０の要求に応じて画像生成処理に係わる共通処理を追加又は削除する事も可能である。このことによって仮想カメラ操作ＵＩ３３０の要求に柔軟に対応する事ができる。
【００３３】
このように、画像処理システム１００においては、被写体を複数の方向から撮影するための複数のカメラ１１２による撮影に基づく画像データに基づいて、バックエンドサーバ２７０により仮想視点画像が生成される。なお、本実施形態における画像処理システム１００は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。また、本実施形態ではカメラ１１２による撮影画像に基づいて仮想視点画像を生成する技術について説明するが、例えば撮影画像を用いずコンピュータグラフィックスなどにより生成された画像に基づいて仮想視点画像を生成する場合にも本実施形態を適用できる。
【００３４】
次に図１に記載のシステムにおける各ノード（カメラアダプタ１２０、フロントエンドサーバ２３０、データベース２５０、バックエンドサーバ２７０、仮想カメラ操作ＵＩ３３０、エンドユーザ端末１９０）の機能ブロック図を説明する。
【００３５】
本実施形態におけるカメラアダプタ１２０の機能ブロックについて図２を利用して説明する。なお、カメラアダプタ１２０の機能ブロック間でのデータの流れの詳細は図２９を用いて後述する。
【００３６】
カメラアダプタ１２０は、ネットワークアダプタ０６１１０、伝送部０６１２０、画像処理部０６１３０及び、外部機器制御部０６１４０から構成されている。ネットワークアダプタ０６１１０は、データ送受信部０６１１１及び時刻制御部０６１１２から構成されている。
【００３７】
データ送受信部０６１１１は、デイジーチェーン１７０、ネットワーク２９１、及びネットワーク３１０ａを介し他のカメラアダプタ１２０、フロントエンドサーバ２３０、タイムサーバ２９０、及び制御ステーション３１０とデータ通信を行う。例えばデータ送受信部０６１１１は、カメラ１１２による撮影画像から前景背景分離部０６１３１により分離された前景画像と背景画像とを、別のカメラアダプタ１２０に対して出力する。出力先のカメラアダプタ１２０は、画像処理システム１００内のカメラアダプタ１２０のうち、データルーティング処理部０６１２２の処理に応じて予め定められた順序において次のカメラアダプタ１２０である。各カメラアダプタ１２０が前景画像と背景画像とを出力することで、複数の視点から撮影された前景画像と背景画像に基づいて仮想視点画像が生成される。なお、撮影画像から分離した前景画像を出力して背景画像は出力しないカメラアダプタ１２０が存在してもよい。
【００３８】
時刻制御部０６１１２は、例えばＩＥＥＥ１５８８規格のＯｒｄｉｎａｙ  Ｃｌｏｃｋに準拠し、タイムサーバ２９０との間で送受信したデータのタイムスタンプを保存する機能と、タイムサーバ２９０と時刻同期を行う。なお、ＩＥＥＥ１５８８に限定する訳ではなく、他のＥｔｈｅｒＡＶＢ規格や、独自プロトコルによってタイムサーバとの時刻同期を実現してもよい。本実施形態では、ネットワークアダプタ０６１１０としてＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）を利用するが、ＮＩＣに限定するものではなく、同様の他のＩｎｔｅｒｆａｃｅを利用してもよい。また、ＩＥＥＥ１５８８はＩＥＥＥ１５８８−２００２、ＩＥＥＥ１５８８−２００８のように標準規格として更新されており、後者については、ＰＴＰｖ２（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ２）とも呼ばれる。
【００３９】
伝送部０６１２０は、ネットワークアダプタ０６１１０を介してスイッチングハブ１８０等に対するデータの伝送を制御する機能を有し、以下の機能部から構成されている。
【００４０】
データ圧縮・伸張部０６１２１は、データ送受信部０６１１１を介して送受信されるデータに対して所定の圧縮方式、圧縮率、及びフレームレートを適用した圧縮を行う機能と、圧縮されたデータを伸張する機能を有している。
【００４１】
データルーティング処理部０６１２２は、後述するデータルーティング情報保持部０６１２５が保持するデータを利用し、データ送受信部０６１１１が受信したデータ及び画像処理部０６１３０で処理されたデータのルーティング先を決定する。さらに、決定したルーティング先へデータを送信する機能を有している。ルーティング先としては、同一の注視点にフォーカスされたカメラ１１２に対応するカメラアダプタ１２０とするのが、それぞれのカメラ１１２同士の画像フレーム相関が高いため画像処理を行う上で好適である。複数のカメラアダプタ１２０それぞれのデータルーティング処理部０６１２２による決定に応じて、画像処理システム１００内において前景画像や背景画像をリレー形式で出力するカメラアダプタ１２０の順序が定まる。
【００４２】
時刻同期制御部０６１２３は、ＩＥＥＥ１５８８規格のＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）に準拠し、タイムサーバ２９０と時刻同期に係わる処理を行う機能を有している。なお、ＰＴＰに限定するのではなく他の同様のプロトコルを利用して時刻同期してもよい。
【００４３】
画像・音声伝送処理部０６１２４は、画像データ又は音声データを、データ送受信部０６１１１を介して他のカメラアダプタ１２０またはフロントエンドサーバ２３０へ転送するためのメッセージを作成する機能を有している。メッセージには画像データ又は音声データ、及び各データのメタ情報が含まる。本実施形態のメタ情報には画像の撮影または音声のサンプリングをした時のタイムコードまたはシーケンス番号、データ種別、及びカメラ１１２やマイク１１１の個体を示す識別子などが含まれる。なお送信する画像データまたは音声データはデータ圧縮・伸張部０６１２１でデータ圧縮されていてもよい。また、画像・音声伝送処理部０６１２４は、他のカメラアダプタ１２０からデータ送受信部０６１１１を介してメッセージを受取る。そして、メッセージに含まれるデータ種別に応じて、伝送プロトコル規定のパケットサイズにフラグメントされたデータ情報を画像データまたは音声データに復元する。なお、データを復元した際にデータが圧縮されている場合は、データ圧縮・伸張部０６１２１が伸張処理を行う。
【００４４】
データルーティング情報保持部０６１２５は、データ送受信部０６１１１で送受信されるデータの送信先を決定するためのアドレス情報を保持する機能を有する。ルーティング方法については後述する。
【００４５】
画像処理部０６１３０は、カメラ制御部０６１４１の制御によりカメラ１１２が撮影した画像データ及び他のカメラアダプタ１２０から受取った画像データに対して処理を行う機能を有し、以下の機能部から構成されている。
【００４６】
前景背景分離部０６１３１は、カメラ１１２が撮影した画像データを前景画像と背景画像に分離する機能を有している。すなわち、複数のカメラアダプタ１２０のそれぞれは、複数のカメラ１１２のうち対応するカメラ１１２による撮影画像から所定領域を抽出する画像処理装置として動作する。所定領域は例えば撮影画像に対するオブジェクト検出の結果得られる前景画像であり、この抽出により前景背景分離部０６１３１は、撮影画像を前景画像と背景画像に分離する。なお、オブジェクトとは、例えば人物である。ただし、オブジェクトが特定人物（選手、監督、及び／又は審判など）であっても良いし、ボールやゴールなど、画像パターンが予め定められている物体であっても良い。また、オブジェクトとして、動体が検出されるようにしても良い。人物等の重要なオブジェクトを含む前景画像とそのようなオブジェクトを含まない背景領域を分離して処理することで、画像処理システム１００において生成される仮想視点画像の上記のオブジェクトに該当する部分の画像の品質を向上できる。また、前景と背景の分離を複数のカメラアダプタ１２０それぞれが行うことで、複数のカメラ１１２を備えた画像処理システム１００における負荷を分散させることができる。なお、所定領域は前景画像に限らず、例えば背景画像であってもよい。
【００４７】
三次元モデル情報生成部０６１３２は、前景背景分離部０６１３１で分離された前景画像及び他のカメラアダプタ１２０から受取った前景画像を利用し、例えばステレオカメラの原理を用いて三次元モデルに係わる画像情報を生成する機能を有している。
【００４８】
キャリブレーション制御部０６１３３は、キャリブレーションに必要な画像データを、カメラ制御部０６１４１を介してカメラ１１２から取得し、キャリブレーションに係わる演算処理を行うフロントエンドサーバ２３０に送信する機能を有している。本実施形態におけるキャリブレーションは、複数のカメラ１１２それぞれに関するパラメータを対応付けて整合をとる処理である。キャリブレーションとして例えば、設置された各カメラ１１２が保持する世界座標系が一致するように調整する処理や、カメラ１１２ごとの色のばらつきを抑えるための色補正処理などが行われる。なお、キャリブレーションの具体的な処理内容はこれに限定されない。また本実施形態ではキャリブレーションに係わる演算処理をフロントエンドサーバ２３０で行っているが、演算処理を行うノードはフロントエンドサーバ２３０に限定されない。例えば、制御ステーション３１０やカメラアダプタ１２０（他のカメラアダプタ１２０を含む）など他のノードで演算処理が行われてもよい。またキャリブレーション制御部０６１３３は、カメラ制御部０６１４１を介してカメラ１１２から取得した画像データに対して、予め設定されたパラメータに応じて撮影中のキャリブレーション（動的キャリブレーション）を行う機能を有している。
【００４９】
外部機器制御部０６１４０は、カメラアダプタ１２０に接続する機器を制御する機能を有し、下記機能ブロックから構成されている。
【００５０】
カメラ制御部０６１４１は、カメラ１１２と接続し、カメラ１１２の制御、撮影画像取得、同期信号提供、及び時刻設定などを行う機能を有している。カメラ１１２の制御には、例えば撮影パラメータ（画素数、色深度、フレームレート、及びホワイトバランスの設定など）の設定及び参照、カメラ１１２の状態（撮影中、停止中、同期中、及びエラーなど）の取得、撮影の開始及び停止や、ピント調整などがある。なお、本実施形態ではカメラ１１２を介してピント調整を行っているが、取り外し可能なレンズがカメラ１１２に装着されている場合は、カメラアダプタ１２０がレンズに接続し、直接レンズの調整を行ってもよい。また、カメラアダプタ１２０がカメラ１１２を介してズーム等のレンズ調整を行ってもよい。同期信号提供は、時刻同期制御部０６１２３がタイムサーバ２９０と同期した時刻を利用し、撮影タイミング（制御クロック）をカメラ１１２に提供することで行われる。時刻設定は、時刻同期制御部０６１２３がタイムサーバ２９０と同期した時刻を例えばＳＭＰＴＥ１２Ｍのフォーマットに準拠したタイムコードで提供することで行われる。これにより、カメラ１１２から受取る画像データに提供したタイムコードが付与されることになる。なおタイムコードのフォーマットはＳＭＰＴＥ１２Ｍに限定されるわけではなく、他のフォーマットであってもよい。また、カメラ制御部０６１４１は、カメラ１１２に対するタイムコードの提供はせず、カメラ１１２から受取った画像データに自身がタイムコードを付与してもよい。
【００５１】
マイク制御部０６１４２は、マイク１１１と接続し、マイク１１１の制御、収音の開始及び停止や収音された音声データの取得などを行う機能を有している。マイク１１１の制御は例えば、ゲイン調整や、状態取得などである。またカメラ制御部０６１４１と同様にマイク１１１に対して音声サンプリングするタイミングとタイムコードを提供する。音声サンプリングのタイミングとなるクロック情報としては、タイムサーバ２９０からの時刻情報が例えば４８ＫＨｚのワードクロックに変換されてマイク１１１に供給される。
【００５２】
雲台制御部０６１４３は雲台１１３と接続し、雲台１１３の制御を行う機能を有している。雲台１１３の制御は例えば、パン・チルト制御や、状態取得などがある。
【００５３】
センサ制御部０６１４４は、外部センサ１１４と接続し、外部センサ１１４がセンシングしたセンサ情報を取得する機能を有する。例えば、外部センサ１１４としてジャイロセンサが利用される場合は、振動を表す情報を取得することができる。そして、センサ制御部０６１４４が取得した振動情報を用いて、画像処理部０６１３０は、前景背景分離部０６１３１での処理に先立って、カメラ１１２の振動による影響を低減させた画像を生成することができる。振動情報は例えば、８Ｋカメラの画像データを、振動情報を考慮して、元の８Ｋサイズよりも小さいサイズで切り出して、隣接設置されたカメラ１１２の画像との位置合わせを行う場合に利用される。これにより、建造物の躯体振動が各カメラに異なる周波数で伝搬しても、カメラアダプタ１２０に配備された本機能で位置合わせを行う。その結果、振動の影響が画像処理により低減された（電子的に防振された）画像データを生成でき、画像コンピューティングサーバ２００におけるカメラ１１２の台数分の位置合わせの処理負荷を軽減する効果が得られる。なお、センサシステム１１０のセンサは外部センサ１１４に限定するわけではなく、カメラアダプタ１２０に内蔵されたセンサであっても同様の効果が得られる。
【００５４】
図３は、カメラアダプタ１２０内部の画像処理部０６１３０の機能ブロック図である。キャリブレーション制御部０６１３３は、入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理や、カメラの振動に起因する画像のブレを低減させて画像を安定させるためのブレ補正処理（電子防振処理）などを行う。
【００５５】
前景背景分離部０６１３１の機能ブロックについて説明する。前景分離部０５００１は、カメラ１１２の画像に関して位置合わせが行われた画像データに対して、背景画像０５００２との比較により前景画像の分離処理を行う。
【００５６】
背景更新部０５００３は、背景画像０５００２とカメラ１１２の位置合わせが行われた画像を用いて新しい背景画像を生成し、背景画像０５００２を新しい背景画像に更新する。
【００５７】
背景切出部０５００４は、背景画像０５００２の一部を切り出す制御を行う。
【００５８】
ここで、三次元モデル情報生成部０６１３２の機能について説明する。
三次元モデル処理部０５００５は、前景分離部０５００１で分離された前景画像と、伝送部０６１２０を介して受信した他のカメラ１１２の前景画像を用いて、例えばステレオカメラの原理等から三次元モデルに関わる画像情報を逐次生成する。
他カメラ前景受信部０５００６は、他のカメラアダプタ１２０で前景背景分離された前景画像を受信する。
【００５９】
カメラパラメータ受信部０５００７は、カメラ固有の内部パラメータ（焦点距離、画像中心、及びレンズ歪みパラメータ等）と、カメラの位置姿勢を表す外部パラメータ（回転行列及び位置ベクトル等）を受信する。これらのパラメータは、後述のキャリブレーション処理で得られる情報であり、制御ステーション３１０から対象となるカメラアダプタ１２０に対して送信及び設定される。つぎに、三次元モデル処理部０５００５は、カメラパラメータ受信部０５００７と他カメラ前景受信部０５００６によって三次元モデル情報を生成する。
【００６０】
図４はフロントエンドサーバ２３０の機能ブロックを示した図である。制御部０２１１０はＣＰＵやＤＲＡＭ、プログラムデータや各種データを記憶したＨＤＤやＮＡＮＤメモリなどの記憶媒体、Ｅｔｈｅｒｎｅｔ等のハードウェアで構成される。そして、フロントエンドサーバ２３０の各機能ブロック及びフロントエンドサーバ２３０のシステム全体の制御を行う。また、モード制御を行って、キャリブレーション動作や撮影前の準備動作、及び撮影中動作などの動作モードを切り替える。また、Ｅｔｈｅｒｎｅｔを通じて制御ステーション３１０からの制御指示を受信し、各モードの切り替えやデータの入出力などを行う。また、同じくネットワークを通じて制御ステーション３１０からスタジアムＣＡＤデータ（スタジアム形状データ）を取得し、スタジアムＣＡＤデータをＣＡＤデータ記憶部０２１３５と撮影データファイル生成部０２１８０に送信する。なお、本実施形態におけるスタジアムＣＡＤデータ（スタジアム形状データ）はスタジアムの形状を示す三次元データであり、メッシュモデルやその他の三次元形状を表すデータであればよく、ＣＡＤ形式に限定されない。
【００６１】
データ入力制御部０２１２０は、Ｅｔｈｅｒｎｅｔ等の通信路とスイッチングハブ１８０を介して、カメラアダプタ１２０とネットワーク接続されている。そしてデータ入力制御部０２１２０は、ネットワークを通してカメラアダプタ１２０から前景画像、背景画像、被写体の三次元モデル、音声データ、及びカメラキャリブレーション撮影画像データを取得する。ここで、前景画像は仮想視点画像の生成のための撮影画像の前景領域に基づく画像データであり、背景画像は当該撮影画像の背景領域に基づく画像データである。カメラアダプタ１２０は、カメラ１１２による撮影画像に対する所定のオブジェクトの検出処理の結果に応じて、前景領域及び背景領域を特定し、前景画像及び背景画像を生成する。所定のオブジェクトとは、例えば人物である。なお、所定のオブジェクトは特定の人物（選手、監督、及び／又は審判など）であっても良い。また、所定のオブジェクトには、ボールやゴールなど、画像パターンが予め定められている物体が含まれていてもよい。また、所定のオブジェクトとして、動体が検出されるようにしても良い。
【００６２】
また、データ入力制御部０２１２０は、取得した前景画像及び背景画像をデータ同期部０２１３０に送信し、カメラキャリブレーション撮影画像データをキャリブレーション部０２１４０に送信する。また、データ入力制御部０２１２０は受信したデータの圧縮伸張やデータルーティング処理等を行う機能を有する。また、制御部０２１１０とデータ入力制御部０２１２０は共にＥｔｈｅｒｎｅｔ等のネットワークによる通信機能を有しているが、通信機能はこれらで共有されていてもよい。その場合は、制御ステーション３１０からの制御コマンドによる指示やスタジアムＣＡＤデータをデータ入力制御部０２１２０で受けて、制御部０２１１０に対して送る方法を用いてもよい。
【００６３】
データ同期部０２１３０は、カメラアダプタ１２０から取得したデータをＤＲＡＭ上に一次的に記憶し、前景画像、背景画像、音声データ及び三次元モデルデータが揃うまでバッファする。なお、前景画像、背景画像、音声データ及び三次元モデルデータをまとめて、以降では撮影データと称する。撮影データにはルーティング情報やタイムコード情報（時間情報）、カメラ識別子等のメタ情報が付与されており、データ同期部０２１３０はこのメタ情報を元にデータの属性を確認する。これによりデータ同期部０２１３０は、同一時刻のデータであることなどを判断してデータがそろったことを確認する。これは、ネットワークによって各カメラアダプタ１２０から転送されたデータについて、ネットワークパケットの受信順序は保証されず、ファイル生成に必要なデータが揃うまでバッファする必要があるためである。データがそろったら、データ同期部０２１３０は、前景画像及び背景画像を画像処理部０２１５０に、三次元モデルデータを三次元モデル結合部０２１６０に、音声データを撮影データファイル生成部０２１８０にそれぞれ送信する。なお、ここで揃えるデータは、後述される撮影データファイル生成部０２１８０に於いてファイル生成を行うために必要なデータである。また、背景画像は前景画像とは異なるフレームレートで撮影されてもよい。例えば、背景画像のフレームレートが１ｆｐｓである場合、１秒毎に１つの背景画像が取得されるため、背景画像が取得されない時間については、背景画像が無い状態で全てのデータがそろったとしてよい。また、データ同期部０２１３０は、所定時間を経過しデータが揃っていない場合には、データが揃わないことを示す情報をデータベース２５０に通知する。そして、後段のデータベース２５０が、データを格納する際に、カメラ番号やフレーム番号とともにデータの欠落を示す情報を格納する。これにより、データベース２５０に集められたカメラ１１２の撮影画像から所望の画像が形成できるか否かを、仮想カメラ操作ＵＩ３３０からバックエンドサーバ２７０への視点指示に応じてレンダリング前に自動通知することが可能となる。その結果、仮想カメラ操作ＵＩ３３０のオペレータの目視負荷を軽減できる。
【００６４】
ＣＡＤデータ記憶部０２１３５は制御部０２１１０から受け取ったスタジアム形状を示す三次元データをＤＲＡＭまたはＨＤＤやＮＡＮＤメモリ等の記憶媒体に保存する。そして、画像結合部０２１７０に対して、スタジアム形状データの要求を受け取った際に保存されたスタジアム形状データを送信する。
【００６５】
キャリブレーション部０２１４０はカメラのキャリブレーション動作を行い、キャリブレーションによって得られたカメラパラメータを後述する非撮影データファイル生成部０２１８５に送る。また同時に、自身の記憶領域にもカメラパラメータを保持し、後述する三次元モデル結合部０２１６０にカメラパラメータ情報を提供する。
【００６６】
画像処理部０２１５０は前景画像や背景画像に対して、カメラ間の色や輝度値の合わせこみ、ＲＡＷ画像データが入力される場合には現像処理、及びカメラのレンズ歪みの補正等の処理を行う。そして、画像処理を行った前景画像は撮影データファイル生成部０２１８０に、背景画像は０２１７０にそれぞれ送信する。
【００６７】
三次元モデル結合部０２１６０は、カメラアダプタ１２０から取得した同一時刻の三次元モデルデータをキャリブレーション部０２１４０が生成したカメラパラメータを用いて結合する。そして、ＶｉｓｕａｌＨｕｌｌと呼ばれる方法を用いて、スタジアム全体における前景画像の三次元モデルデータを生成する。生成した三次元モデルは撮影データファイル生成部０２１８０に送信される。
【００６８】
画像結合部０２１７０は画像処理部０２１５０から背景画像を取得し、ＣＡＤデータ記憶部０２１３５からスタジアムの三次元形状データ（スタジアム形状データ）を取得し、取得したスタジアムの三次元形状データの座標に対する背景画像の位置を特定する。背景画像の各々についてスタジアムの三次元形状データの座標に対する位置が特定できると、背景画像を結合して１つの背景画像とする。なお、本背景画像の三次元形状データの作成については、バックエンドサーバ２７０が実施してもよい。
【００６９】
撮影データファイル生成部０２１８０はデータ同期部０２１３０から音声データを、画像処理部０２１５０から前景画像を、三次元モデル結合部０２１６０から三次元モデルデータを、画像結合部０２１７０から三次元形状に結合された背景画像を取得する。そして、取得したこれらのデータをＤＢアクセス制御部０２１９０に対して出力する。ここで、撮影データファイル生成部０２１８０は、これらのデータをそれぞれの時間情報に基づいて対応付けて出力する。ただし、これらのデータの一部を対応付けて出力してもよい。例えば、撮影データファイル生成部０２１８０は、前景画像と背景画像とを、前景画像の時間情報及び背景画像の時間情報に基づいて対応付けて出力する。また例えば、撮影データファイル生成部０２１８０は、前景画像、背景画像、及び三次元モデルデータを、前景画像の時間情報、背景画像の時間情報、及び三次元モデルデータの時間情報に基づいて対応付けて出力する。なお、撮影データファイル生成部０２１８０は、対応付けられたデータをデータの種類別にファイル化して出力してもよいし、複数種類のデータを時間情報が示す時刻ごとにまとめてファイル化して出力してもよい。このように対応付けられた撮影データが、対応付けを行う情報処理装置としてのフロントエンドサーバ２３０からデータベース２５０に出力されることで、バックエンドサーバ２７０は時間情報が対応する前景画像と背景画像とから仮想視点画像を生成できる。
【００７０】
なお、データ入力制御部０２１２０により取得される前景画像と背景画像のフレームレートが異なる場合、撮影データファイル生成部０２１８０は、常に同時刻の前景画像と背景画像を対応付けて出力することは難しい。そこで、撮影データファイル生成部０２１８０は、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像とを対応付けて出力する。ここで、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、例えば、撮影データファイル生成部０２１８０が取得した背景画像のうち前景画像の時間情報に最も近い時間情報を有する背景画像である。このように、所定の規則に基づいて前景画像と背景画像を対応付けることにより、前景画像と背景画像のフレームレートが異なる場合でも、近い時刻に撮影された前景画像と背景画像とから仮想視点画像を生成することができる。なお、前景画像と背景画像の対応付けの方法は上記のものに限らない。例えば、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、取得された背景画像であって前景画像より前の時刻に対応する時間情報を有する背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像であってよい。この方法によれば、前景画像よりフレームレートの低い背景画像の取得を待つことなく、対応付けられた前景画像と背景画像とを低遅延で出力することができる。また、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、取得された背景画像であって前景画像より後の時刻に対応する時間情報を有する背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像でもよい。
【００７１】
非撮影データファイル生成部０２１８５は、キャリブレーション部０２１４０からカメラパラメータ、制御部０２１１０からスタジアムの三次元形状データを取得し、ファイル形式に応じて成形した後にＤＢアクセス制御部０２１９０に送信する。なお、非撮影データファイル生成部０２１８５に入力されるデータであるカメラパラメータまたはスタジアム形状データは、個別にファイル形式に応じて成形される。すなわち、非撮影データファイル生成部０２１８５は、どちらか一方のデータを受信した場合、それらを個別にＤＢアクセス制御部０２１９０に送信する。
【００７２】
ＤＢアクセス制御部０２１９０は、ＩｎｆｉｎｉＢａｎｄなどにより高速な通信が可能となるようにデータベース２５０と接続される。そして、撮影データファイル生成部０２１８０及び非撮影データファイル生成部０２１８５から受信したファイルをデータベース２５０に対して送信する。本実施形態では、撮影データファイル生成部０２１８０が時間情報に基づいて対応付けた撮影データは、フロントエンドサーバ２３０とネットワークを介して接続される記憶装置であるデータベース２５０へＤＢアクセス制御部０２１９０を介して出力される。ただし、対応付けられた撮影データの出力先はこれに限らない。例えば、フロントエンドサーバ２３０は、時間情報に基づいて対応付けられた撮影データを、フロントエンドサーバ２３０とネットワークを介して接続され仮想視点画像を生成する画像生成装置であるバックエンドサーバ２７０に出力してもよい。また、データベース２５０とバックエンドサーバ２７０の両方に出力してもよい。
【００７３】
また、本実施形態ではフロントエンドサーバ２３０が前景画像と背景画像の対応付けを行うものとするが、これに限らず、データベース２５０が対応付けを行ってもよい。例えば、データベース２５０はフロントエンドサーバ２３０から時間情報を有する前景画像及び背景画像を取得する。そしてデータベース２５０は、前景画像と背景画像とを前景画像の時間情報及び背景画像の時間情報に基づいて対応付けて、データベース２５０が備える記憶部に出力してもよい。
【００７４】
フロントエンドサーバ２３０のデータ入力制御部０２１２０の機能ブロック図について図５を利用して説明する。
【００７５】
データ入力制御部０２１２０は、サーバネットワークアダプタ０６２１０、サーバ伝送部０６２２０、及びサーバ画像処理部０６２３０を有する。
【００７６】
サーバネットワークアダプタ０６２１０は、サーバデータ受信部０６２１１を有し、カメラアダプタ１２０から送信されるデータを受信する機能を有する。
【００７７】
サーバ伝送部０６２２０は、サーバデータ受信部０６２１１から受取ったデータに対する処理を行う機能を有しており、以下の機能部から構成されている。
【００７８】
サーバデータ伸張部０６２２１は、圧縮されたデータを伸張する機能を有している。
【００７９】
サーバデータルーティング処理部０６２２２は、後述するサーバデータルーティング情報保持部０６２２４が保持するアドレス等のルーティング情報に基づきデータの転送先を決定し、サーバデータ受信部０６２１１から受取ったデータを転送する。
【００８０】
サーバ画像伝送処理部０６２２３は、カメラアダプタ１２０からサーバデータ受信部０６２１１を介してメッセージを受取り、メッセージに含まれるデータ種別に応じて、フラグメント化されたデータを画像データまたは音声データに復元する。なお、復元後の画像データや音声データが圧縮されている場合は、サーバデータ伸張部０６２２１で伸張処理が行われる。
【００８１】
サーバデータルーティング情報保持部０６２２４は、サーバデータ受信部０６２１１が受信したデータの送信先を決定するためのアドレス情報を保持する機能を有する。なお、ルーティング方法については後述する。
【００８２】
サーバ画像処理部０６２３０は、カメラアダプタ１２０から受信した画像データまたは音声データに係わる処理を行う機能を有している。処理内容は、例えば、画像データのデータ実体（前景画像、背景画像、及び三次元モデル情報）に応じた、カメラ番号や画像フレームの撮影時刻、画像サイズ、画像フォーマット、及び画像の座標の属性情報などが付与されたフォーマットへの整形処理などである。
【００８３】
図６はデータベース２５０の機能ブロックを示した図である。制御部０２４１０はＣＰＵやＤＲＡＭ、プログラムデータや各種データを記憶したＨＤＤやＮＡＮＤメモリなどの記憶媒体、及びＥｔｈｅｒｎｅｔ等のハードウェアで構成される。そして、データベース２５０の各機能ブロック及びデータベース２５０のシステム全体の制御を行う。
データ入力部０２４２０はＩｎｆｉｎｉＢａｎｄ等の高速な通信によって、フロントエンドサーバ２３０から撮影データや非撮影データのファイルを受信する。受信したファイルはキャッシュ０２４４０に送られる。また、受信した撮影データのメタ情報を読み出し、メタ情報に記録されたタイムコード情報やルーティング情報、カメラ識別子等の情報を元に、取得したデータへのアクセスが可能になるようにデータベーステーブルを作成する。
【００８４】
データ出力部０２４３０は、バックエンドサーバ２７０から要求されたデータが後述するキャッシュ０２４４０、一次ストレージ０２４５０、二次ストレージ０２４６０のいずれに保存されているか判断する。そして、ＩｎｆｉｎｉＢａｎｄ等の高速な通信によって、保存された先からデータを読み出してバックエンドサーバ２７０に送信する。
【００８５】
キャッシュ０２４４０は高速な入出力スループットを実現可能なＤＲＡＭ等の記憶装置を有しており、データ入力部０２４２０から取得した撮影データや非撮影データを記憶装置に格納する。格納されたデータは一定量保持され、それを超えるデータが入力される場合に、古いデータから随時一次ストレージ０２４５０へと書き出され、書き出し済みのデータは新たなデータによって上書きされる。ここでキャッシュ０２４４０に一定量保存されるデータは少なくとも１フレーム分の撮影データである。それによって、バックエンドサーバ２７０に於いて画像のレンダリング処理を行う際に、データベース２５０内でのスループットを最小限に抑え、最新の画像フレームを低遅延かつ連続的にレンダリングすることが可能となる。ここで、前述の目的を達成するためにはキャッシュされているデータの中に背景画像が含まれている必要がある。そのため、背景画像を有さないフレームの撮影データがキャッシュされる場合、キャッシュ上の背景画像は更新されず、そのままキャッシュ上に保持される。キャッシュ可能なＤＲＡＭの容量は、予めシステムに設定されたキャッシュフレームサイズ、または制御ステーションからの指示によって決められる。なお、非撮影データについては、入出力の頻度が少なく、また、試合前などにおいては高速なスループットを要求されないため、すぐに一次ストレージへとコピーされる。キャッシュされたデータはデータ出力部０２４３０によって読み出される。
【００８６】
一次ストレージ０２４５０はＳＳＤ等のストレージメディアを並列につなぐなどして構成されデータ入力部０２４２０からの大量のデータの書き込み及びデータ出力部０２４３０からのデータ読み出しが同時に実現できるなど高速化される。そして、一次ストレージ０２４５０には、キャッシュ０２４４０上に格納されたデータの古いものから順に書き出される。
【００８７】
二次ストレージ０２４６０はＨＤＤやテープメディア等で構成され、高速性よりも大容量が重視され、一次ストレージと比較して安価で長期間の保存に適するメディアであることが求められる。二次ストレージ０２４６０には、撮影が完了した後、データのバックアップとして一次ストレージ０２４５０に格納されたデータが書き出される。
【００８８】
図７は、本実施形態にかかるバックエンドサーバ２７０の構成を示している。バックエンドサーバ２７０は、データ受信部０３００１、背景テクスチャ貼り付け部０３００２、前景テクスチャ決定部０３００３、テクスチャ境界色合わせ部０３００４、仮想視点前景画像生成部０３００５、及びレンダリング部０３００６を有する。さらに、仮想視点音声生成部０３００７、合成部０３００８、画像出力部０３００９、前景オブジェクト決定部０３０１０、要求リスト生成部０３０１１、要求データ出力部０３０１２、泳ぎレンダリングモード管理部０３０１４を有する。
【００８９】
データ受信部０３００１は、データベース２５０およびコントローラ３００から送信されるデータを受信する。またデータベース２５０からは、スタジアムの形状を示す三次元データ（スタジアム形状データ）、前景画像、背景画像、前景画像の三次元モデル（以降、前景三次元モデルと称する）、及び音声を受信する。
【００９０】
また、データ受信部０３００１は、仮想視点画像の生成に係る視点を指定する指定装置としてのコントローラ３００から出力される仮想カメラパラメータを受信する。仮想カメラパラメータとは、仮想視点の位置や姿勢などを表すデータであり、例えば、外部パラメータの行列と内部パラメータの行列が用いられる。
【００９１】
なお、データ受信部０３００１がコントローラ３００から取得するデータは仮想カメラパラメータに限らない。例えばコントローラ３００から出力される情報は、視点の指定方法、コントローラが動作させているアプリケーションを特定する情報、コントローラ３００の識別情報、及びコントローラ３００を使用するユーザの識別情報の少なくとも何れかを含んでいてよい。また、データ受信部０３００１は、コントローラ３００から出力される上記の情報と同様の情報を、エンドユーザ端末１９０から取得してもよい。さらに、データ受信部０３００１は、データベース２５０やコントローラ３００などの外部の装置から、複数のカメラ１１２に関する情報を取得してもよい。複数のカメラ１１２に関する情報は、例えば、複数のカメラ１１２の数に関する情報や複数のカメラ１１２の動作状態に関する情報などである。カメラ１１２の動作状態には、例えば、カメラ１１２の正常状態、故障状態、待機状態、起動状態、及び再起動状態の少なくとも何れかが含まれる。
【００９２】
背景テクスチャ貼り付け部０３００２は、背景メッシュモデル管理部０３０１３から取得する背景メッシュモデル（スタジアム形状データ）で示される三次元空間形状に対して背景画像をテクスチャとして貼り付ける。これにより背景テクスチャ貼り付け部０３００２は、テクスチャ付き背景メッシュモデルを生成する。メッシュモデルとは、例えばＣＡＤデータなど三次元の空間形状を面の集合で表現したデータのことである。テクスチャとは、物体の表面の質感を表現するために貼り付ける画像のことである。
前景テクスチャ決定部０３００３は、前景画像及び前景三次元モデル群より前景三次元モデルのテクスチャ情報を決定する。
【００９３】
前景テクスチャ境界色合わせ部０３００４は、各前景三次元モデルのテクスチャ情報と各三次元モデル群からテクスチャの境界の色合わせを行い、前景オブジェクト毎に色付き前景三次元モデル群を生成する。
【００９４】
仮想視点前景画像生成部０３００５は、仮想カメラパラメータに基づいて、前景画像群を仮想視点からの見た目となるように透視変換する。レンダリング部０３００６は、レンダリングモード管理部０３０１４で決定された、仮想視点画像の生成に用いられる生成方式に基づいて、背景画像と前景画像をレンダリングして全景の仮想視点画像を生成する。  
【００９５】
本実施形態では仮想視点画像の生成方式として、モデルベースレンダリング（Ｍｏｄｅｌ−Ｂａｓｅｄ  Ｒｅｎｄｅｒｉｎｇ：ＭＢＲ）とイメージベース（Ｉｍａｇｅ−Ｂａｓｅｄ  Ｒｅｎｄｅｒｉｎｇ：ＩＢＲ）の２つのレンダリングモードが用いられる。
【００９６】
ＭＢＲとは、被写体を複数の方向から撮影した複数の撮影画像に基づいて生成される三次元モデルを用いて仮想視点画像を生成する方式である。具体的には、視体積交差法、Ｍｕｌｔｉ−Ｖｉｅｗ−Ｓｔｅｒｅｏ（ＭＶＳ）などの三次元形状復元手法により得られた対象シーンの三次元形状（モデル）を利用し，仮想視点からのシーンの見えを画像として生成する技術である。
【００９７】
ＩＢＲとは、対象のシーンを複数視点から撮影した入力画像群を変形、合成することによって仮想視点からの見えを再現した仮想視点画像を生成する技術である。本実施形態では、ＩＢＲを用いる場合、ＭＢＲを用いて三次元モデルを生成するための複数の撮影画像より少ない１又は複数の撮影画像に基づいて仮想視点画像が生成される。
【００９８】
レンダリングモードがＭＢＲの場合、背景メッシュモデルと前景テクスチャ境界色合わせ部０３００４で生成した前景三次元モデル群を合成することで全景モデルが生成され、その全景モデルから仮想視点画像が生成される。
【００９９】
レンダリングモードがＩＢＲの場合、背景テクスチャモデルに基づいて仮想視点から見た背景画像が生成され、そこに仮想視点前景画像生成部０３００５で生成された前景画像を合成することで仮想視点画像が生成される。
【０１００】
なお、レンダリング部０３００６はＭＢＲとＩＢＲ以外のレンダリング手法を用いてもよい。また、レンダリングモード管理部０３０１４が決定する仮想視点画像の生成方式はレンダリングの方式に限らず、レンダリングモード管理部０３０１４は仮想視点画像を生成するためのレンダリング以外の処理の方式を決定してもよい。レンダリングモード管理部０３０１４は、仮想視点画像の生成に用いられる生成方式としてのレンダリングモードを決定し、決定結果を保持する。
【０１０１】
本実施形態では、レンダリングモード管理部０３０１４は、複数のレンダリングモードから使用するレンダリングモードを決定する。この決定は、データ受信部０３００１が取得した情報に基づいて行われる。例えば、レンダリングモード管理部０３０１４は、取得された情報から特定されるカメラの数が閾値以下である場合に、仮想視点画像の生成に用いられる生成方式をＩＢＲに決定する。一方、カメラ数が閾値より多い場合は生成方式をＭＢＲに決定する。これにより、カメラ数が多い場合にはＭＢＲを用いて仮想視点画像を生成することで視点の指定可能範囲が広くなる。また、カメラ数が少ない場合には、ＩＢＲを用いることで、ＭＢＲを用いた場合の三次元モデルの精度の低下による仮想視点画像の画質低下を回避することができる。また例えば、撮影から画像出力までの許容される処理遅延時間の長短に基づいて生成方式を決めてもよい。遅延時間が長くても視点の自由度を優先する場合はＭＢＲ、遅延時間が短いことを要求する場合はＩＢＲを用いる。また例えば、コントローラ３００やエンドユーザ端末１９０が視点の高さを指定可能であることを示す情報をデータ受信部０３００１が取得した場合には、仮想視点画像の生成に用いられる生成方式をＭＢＲに決定する。これにより、生成方式がＩＢＲであることによってユーザによる視点の高さの変更要求が受け入れられなくなることを防ぐことができる。このように、状況に応じて仮想視点画像の生成方式を決定することで、適切に決定された生成方式で仮想視点画像を生成できる。また、複数のレンダリングモードを要求に応じて切り替え可能な構成にすることで、柔軟にシステムを構成することが可能になり、本実施形態をスタジアム以外の被写体にも適用可能となることを明記しておく。
【０１０２】
なお、レンダリングモード管理部０３０１４が保持するレンダリングモードは、システムに予め設定された方式であってもよい。また、仮想カメラ操作ＵＩ３３０やエンドユーザ端末１９０を操作するユーザがレンダリングモードを任意に設定できてもよい。
【０１０３】
仮想視点音声生成部０３００７は、仮想カメラパラメータに基づいて、仮想視点において聞こえる音声（音声群）を生成する。合成部０３００８は、レンダリング部０３００６で生成された画像群と仮想視点音声生成部０３００７で生成された音声を合成して仮想視点コンテンツを生成する。
【０１０４】
画像出力部０３００９は、コントローラ３００とエンドユーザ端末１９０へＥｔｈｅｒｎｅｔを用いて仮想視点コンテンツを出力する。ただし、外部への伝送手段はＥｔｈｅｒｎｅｔに限定されるものではなく、ＳＤＩ、ＤｉｓｐｌａｙＰｏｒｔ、及びＨＤＭＩ（登録商標）などの信号伝送手段を用いてもよい。なお、バックエンドサーバ２７０は、レンダリング部０３００６で生成された、音声を含まない仮想視点画像を出力してもよい。
【０１０５】
前景オブジェクト決定部０３０１０は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの空間上の位置を示す前景オブジェクトの位置情報から、表示される前景オブジェクト群を決定して、前景オブジェクトリストを出力する。つまり、前景オブジェクト決定部０３０１０は、仮想視点の画像情報を物理的なカメラ１１２にマッピングする処理を実施する。本仮想視点は、レンダリングモード管理部０３０１４で決定されるレンダリングモードに応じてマッピング結果が異なる。そのため、複数の前景オブジェクトを決定する制御部が前景オブジェクト決定部０３０１０に配備されレンダリングモードと連動して制御を行うことを明記しておく。
【０１０６】
要求リスト生成部０３０１１は、指定時間の前景オブジェクトリストに対応する前景画像群と前景三次元モデル群、及び背景画像と音声データをデータベース２５０に要求するための、要求リストを生成する。前景オブジェクトについては仮想視点を考慮して選択されたデータがデータベース２５０に要求されるが、背景画像と音声データについてはそのフレームに関する全てのデータが要求される。バックエンドサーバ２７０の起動後、背景メッシュモデルが取得されるまで背景メッシュモデルの要求リストが生成される。
【０１０７】
要求データ出力部０３０１２は、入力された要求リストを元にデータベース２５０に対してデータ要求のコマンドを出力する。背景メッシュモデル管理部０３０１３は、データベース２５０から受信した背景メッシュモデルを記憶する。
【０１０８】
なお、本実施形態ではバックエンドサーバ２７０が仮想視点画像の生成方式の決定と仮想視点画像の生成の両方を行う場合を中心に説明するが、これに限らない。即ち、生成方式を決定した情報処理装置がその決定結果に応じたデータを出力すればよい。例えば、フロントエンドサーバ２３０が、複数のカメラ１１２に関する情報や仮想視点画像の生成に係る視点を指定する装置から出力される情報などに基づいて、仮想視点画像の生成に用いられる生成方式を決定してもよい。そしてフロントエンドサーバ２３０は、カメラ１１２による撮影に基づく画像データと決定された生成方式を示す情報とを、データベース２５０などの記憶装置及びバックエンドサーバ２７０などの画像生成装置の少なくとも何れかに出力してもよい。この場合には、例えばフロントエンドサーバ２３０が出力した生成方式を示す情報に基づいてバックエンドサーバ２７０が仮想視点画像を生成する。フロントエンドサーバ２３０が生成方式を決定することで、決定された方式とは別の方式での画像生成のためのデータをデータベース２５０やバックエンドサーバ２７０が処理することによる処理負荷を低減できる。一方、本実施形態のようにバックエンドサーバ２７０が生成方式を決定する場合、データベース２５０は複数の生成方式に対応可能なデータを保持するため、複数の生成方式それぞれに対応する複数の仮想視点画像の生成が可能となる。
【０１０９】
図８は、仮想カメラ操作ＵＩ３３０の機能構成を説明するブロック図である。仮想カメラ０８００１について図３７（ａ）を用いて説明する。仮想カメラ０８００１は、設置されたどのカメラ１１２とも異なる視点において撮影を行うことができる仮想的なカメラである。即ち、画像処理システム１００において生成される仮想視点画像が、仮想カメラ０８００１による撮影画像である。図３７（ａ）において、円周上に配置された複数のセンサシステム１１０それぞれがカメラ１１２を有している。例えば、仮想視点画像を生成することにより、あたかもサッカーゴールの近くの仮想カメラ０８００１で撮影されたかのような画像を生成することができる。仮想カメラ０８００１の撮影画像である仮想視点画像は、設置された複数のカメラ１１２の画像を画像処理することで生成される。オペレータ（ユーザ）は仮想カメラ０８００１の位置等操作することで、自由な視点からの撮影画像を得ることができる。
【０１１０】
仮想カメラ操作ＵＩ３３０は、仮想カメラ管理部０８１３０および操作ＵＩ部０８１２０を有する。これらは同一機器上に実装されてもよいし、それぞれサーバとなる装置とクライアントとなる装置に別々に実装されてもよい。例えば、放送局が使用する仮想カメラ操作ＵＩ３３０においては、中継車内のワークステーションに仮想カメラ管理部０８１３０と操作ＵＩ部０８１２０が実装されてもよい。また例えば、仮想カメラ管理部０８１３０をｗｅｂサーバに実装し、エンドユーザ端末１９０に操作ＵＩ部０８１２０を実装することで、同様の機能を実現してもよい。
【０１１１】
仮想カメラ操作部０８１０１は、オペレータの仮想カメラ０８００１に対する操作、すなわち仮想視点画像の生成に係る視点を指定するためのユーザによる指示を受け付けて処理する。オペレータの操作内容は、例えば、位置の変更（移動）、姿勢の変更（回転）、及びズーム倍率の変更などである。オペレータは、仮想カメラ０８００１を操作するために、例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどの入力装置を使う。各入力装置による入力と仮想カメラ０８００１の操作との対応は予め決められる。例えば、キーボードの「Ｗ」キーを、仮想カメラ０８００１を前方へ１メートル移動する操作に対応付ける。また、オペレータは軌跡を指定して仮想カメラ０８００１を操作することができる。例えばオペレータは、ゴールポストを中心とする円周上を仮想カメラ０８００１が回るという軌跡を、タッチパッド上に円を描くように触れることで指定する。仮想カメラ０８００１は、指定された軌跡に沿ってゴールポストの回りを移動する。このとき、仮想カメラ０８００１が常にゴールポストの方を向くように自動で姿勢を変更してもよい。仮想カメラ操作部０８１０１は、ライブ画像およびリプレイ画像の生成に利用することができる。リプレイ画像を生成する際は、カメラの位置及び姿勢の他に時間を指定する操作が行われる。リプレイ画像では、例えば、時間を止めて仮想カメラ０８００１を移動させることも可能である。
【０１１２】
仮想カメラパラメータ導出部０８１０２は、仮想カメラ０８００１の位置や姿勢などを表す仮想カメラパラメータを導出する。仮想パラメータは、演算によって導出されてもよいし、ルックアップテーブルの参照などによって導出されてもよい。仮想カメラパラメータとして、例えば、外部パラメータを表す行列と内部パラメータを表す行列が用いられる。ここで、仮想カメラ０８００１の位置と姿勢は外部パラメータに含まれ、ズーム値は内部パラメータに含まれる。
【０１１３】
仮想カメラ制約管理部０８１０３は、仮想カメラ操作部０８１０１により受け付けられる指示に基づく視点の指定が制限される制限領域を特定するための情報を取得し管理する。この情報は例えば、仮想カメラ０８００１の位置や姿勢、ズーム値などに関する制約である。仮想カメラ０８００１は、カメラ１１２と異なり、自由に視点を移動して撮影を行うことができるが、常にあらゆる視点からの画像を生成できるとは限らない。例えば、どのカメラ１１２にも映っていない対象物が映る向きに仮想カメラ０８００１を向けても、その撮影画像を取得することはできない。また、仮想カメラ０８００１のズーム倍率を上げると、解像度の制約により画質が劣化する。そこで、一定基準の画質を保つ範囲のズーム倍率などを仮想カメラ制約としてよい。仮想カメラ制約は、例えば、カメラの配置などから事前に導出しておいてもよい。また、伝送部０６１２０がネットワークの負荷に応じて伝送データ量の削減を図ることがある。このデータ量削減により、撮影画像に関するパラメータが変化し、画像を生成できる範囲や画質を保つことができる範囲が動的に変わる。仮想カメラ制約管理部０８１０３は、伝送部０６１２０から出力データのデータ量の削減に用いた方法を示す情報を受け取り、その情報に応じて仮想カメラ制約を動的に更新する構成であってもよい。これにより、伝送部０６１２０によりデータ量削減が図られても、仮想視点画像の画質を一定基準に保つことが可能となる。
【０１１４】
また、仮想カメラに関する制約は上記の物に限定されない。本実施形態では、視点の指定が制限される制限領域（仮想カメラ制約を満たさない領域）は、画像処理システム１００に含まれる装置の動作状態及び仮想視点画像を生成するための画像データに関するパラメータの少なくとも何れかに応じて変化する。例えば、制限領域は、画像処理システム１００において伝送される画像データのデータ量が所定範囲内となるように制御されるパラメータに応じて変化する。当該パラメータは、画像データのフレームレート、解像度、量子化ステップ、及び撮影範囲などのうち少なくとも何れかを含む。例えば、伝送データ量削減のために画像データの解像度が低減されると、所定の画質を維持可能なズーム倍率の範囲が変化する。このような場合に、仮想カメラ制約管理部０８１０３がパラメータに応じて変化する制限領域を特定する情報を取得することで、仮想カメラ操作ＵＩ３３０はパラメータの変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、パラメータの内容は上記のものに限定されない。また、本実施形態において上記のデータ量が制御される画像データは複数のカメラ１１２による複数の撮影画像の差分に基づいて生成されるデータであるものとするが、これに限らず、例えば撮影画像そのものでもよい。
【０１１５】
また例えば、制限領域は、画像処理システム１００に含まれる装置の動作状態に応じて変化する。ここで画像処理システム１００に含まれる装置には、例えばカメラ１１２及びカメラ１１２による撮影画像に対する画像処理を行って画像データを生成するカメラアダプタ１２０の少なくとも何れかが含まれる。そして装置の動作状態には、例えば当該装置の正常状態、故障状態、起動準備状態、及び再起動状態の少なくとも何れかが含まれる。例えば、何れかのカメラ１１２が故障状態や再起動状態にある場合、そのカメラの周辺位置に視点を指定することができなくなる場合が考えられる。このような場合に、仮想カメラ制約管理部０８１０３が装置の動作状態に応じて変化する制限領域を特定する情報を取得することで、仮想カメラ操作ＵＩ３３０は装置の動作状態の変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、制限領域の変化に関係する装置及びその動作状態は上記のものに限定されない。
【０１１６】
衝突判定部０８１０４は、仮想カメラパラメータ導出部０８１０２で導出された仮想カメラパラメータが仮想カメラ制約を満たしているかを判定する。制約を満たしていない場合は、例えば、オペレータによる操作入力をキャンセルし、制約を満たす位置から仮想カメラ０８００１が動かないよう制御したり、制約を満たす位置に仮想カメラ０８００１を戻したりする。
【０１１７】
フィードバック出力部０８１０５は、衝突判定部０８１０４の判定結果をオペレータにフィードバックする。例えば、オペレータの操作により、仮想カメラ制約が満たされなくなる場合に、そのことをオペレータに通知する。例えば、オペレータが仮想カメラ０８００１を上方に移動しようと操作したが、移動先が仮想カメラ制約を満たさないとする。その場合、オペレータに、これ以上上方に仮想カメラ０８００１を移動できないことを通知する。通知方法としては、音、メッセージ出力、画面の色変化、及び仮想カメラ操作部０８１０１をロックする等の方法がある。さらには、制約を満たす位置まで仮想カメラの位置を自動で戻してもよく、これによりオペレータの操作簡便性につながる効果がある。フィードバックが画像表示により行われる場合、フィードバック出力部０８１０５は、仮想カメラ制約管理部０８１０３が取得した情報に基づいて、制限領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、フィードバック出力部０８１０５は、仮想カメラ操作部０８１０１により受け付けられた指示に応じて、当該指示に対応する視点が制限領域内であることを表す画像を表示部に表示させる。これにより、オペレータは指定している視点が制限領域内であって所望の仮想視点画像を生成できない虞があることを認識でき、制限領域外の位置（制約を満たす位置）に視点を指定し直すことができる。即ち、仮想視点画像の生成において、状況に応じて変化する範囲内で視点を指定できるようになる。なお、制限領域に応じた表示制御を行う制御装置として仮想カメラ操作ＵＩ３３０が表示部に表示させる内容はこれに限定されない。例えば、視点の指定の対象となる領域（スタジアムの内部など）のうち制限領域に当たる部分を所定の色で塗りつぶした画像が表示されてもよい。本実施形態では表示部が仮想カメラ操作ＵＩ３３０と接続される外部のディスプレイであるものとするが、これに限らず、表示部が仮想カメラ操作ＵＩ３３０の内部に存在してもよい。
【０１１８】
仮想カメラパス管理部０８１０６は、オペレータの操作に応じた仮想カメラ０８００１のパス（仮想カメラパス０８００２）を管理する。仮想カメラパス０８００２とは、仮想カメラ０８００１の１フレームごと位置や姿勢を表す情報の列である。図３７（ｂ）を参照して説明する。例えば、仮想カメラ０８００１の位置や姿勢を表す情報として仮想カメラパラメータが用いられる。例えば、６０フレーム／秒のフレームレートの設定における１秒分の情報は、６０個の仮想カメラパラメータの列となる。仮想カメラパス管理部０８１０６は、衝突判定部０８１０４で判定済みの仮想カメラパラメータを、バックエンドサーバ２７０に送信する。バックエンドサーバ２７０は、受信した仮想カメラパラメータを用いて、仮想視点画像及び仮想視点音声を生成する。また、仮想カメラパス管理部０８１０６は、仮想カメラパラメータを仮想カメラパス０８００２に付加して保持する機能も有する。例えば、仮想カメラ操作ＵＩ３３０を用いて、１時間分の仮想視点画像及び仮想視点音声を生成した場合、１時間分の仮想カメラパラメータが仮想カメラパス０８００２として保存される。本仮想カメラパスを保存しておくことによって、データベースの二次ストレージ０２４６０に蓄積された画像情報と仮想カメラパスを後から参照することで、仮想視点画像及び仮想視点音声を再度生成することが可能になる。つまり、高度な仮想カメラ操作を行うオペレータが生成した仮想カメラパスと二次ストレージ０２４６０に蓄積された画像情報を他のユーザが再利用できる。なお、複数の仮想カメラパスに対応する複数のシーンを選択可能となるように仮想カメラ管理部０８１３０に蓄積することもできる。複数の仮想カメラパスを仮想カメラ管理部０８１３０に蓄積する際には、各仮想カメラパスに対応するシーンのスクリプトや試合の経過時間、シーンの前後指定時間、及びプレーヤ情報等のメタ情報もあわせて入力及び蓄積することができる。仮想カメラ操作ＵＩ３３０は、これらの仮想カメラパスを仮想カメラパラメータとして、バックエンドサーバ２７０に通知する。
【０１１９】
エンドユーザ端末１９０は、バックエンドサーバ２７０に仮想カメラパスを選択するための選択情報を要求することで、シーン名やプレーヤ、及び試合経過時間などから、仮想カメラパスを選択できる。バックエンドサーバ２７０はエンドユーザ端末１９０に選択可能な仮想カメラパスの候補を通知し、エンドユーザはエンドユーザ端末１９０を操作して、複数の候補の中から希望の仮想カメラパスを選択する。そして、エンドユーザ端末１９０は選択された仮想カメラパスに応じた画像生成をバックエンドサーバ２７０に要求することで、画像配信サービスをインタラクティブに享受することができる。
【０１２０】
オーサリング部０８１０７は、オペレータがリプレイ画像を生成する際の編集機能を提供する。オーサリング部０８１０７は、ユーザ操作に応じて、リプレイ画像用の仮想カメラパス０８００２の初期値として、仮想カメラパス管理部０８１０６が保持する仮想カメラパス０８００２の一部を取り出す。前述したように、仮想カメラパス管理部０８１０６には、仮想カメラパス０８００２と対応付けてシーン名、プレーヤ、経過時間、及びシーンの前後指定時間などのメタ情報が保持されている。例えば、シーン名がゴールシーン、シーンの前後指定時間が前後合わせて１０秒分である仮想カメラパス０８００２が取り出される。また、オーサリング部０８１０７は、編集したカメラパスに再生速度を設定する。例えば、ボールがゴールに飛んで行く間の仮想カメラパス０８００２にスロー再生を設定する。なお、異なる視点からの画像に変更する場合、つまり仮想カメラパス０８００２を変更する場合は、ユーザは仮想カメラ操作部０８１０１を用いて再度、仮想カメラ０８００１を操作する。
【０１２１】
仮想カメラ画像・音声出力部０８１０８は、バックエンドサーバ２７０から受け取った仮想カメラ画像・音声を出力する。オペレータは出力された画像及び音声を確認しながら仮想カメラ０８００１を操作する。なお、フィードバック出力部０８１０５によるフィードバックの内容によっては、仮想カメラ画像・音声出力部０８１０８は、制限領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、仮想カメラ画像・音声出力部０８１０８は、オペレータが指定した視点の位置が制限領域に含まれる場合に、指定された位置の近辺であり且つ制限領域外である位置を視点とした仮想視点画像を表示させてもよい。これにより、オペレータが制限領域外に視点を指定し直す手間が削減される。
【０１２２】
次に、視聴者（ユーザ）が使用するエンドユーザ端末１９０について、説明する。図９は、エンドユーザ端末１９０の構成図である。
【０１２３】
サービスアプリケーションが動作するエンドユーザ端末１９０は、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である。なお、エンドユーザ端末１９０は、ＰＣに限らず、スマートフォンやタブレット端末、高精細な大型ディスプレイでもよいものとする。
【０１２４】
エンドユーザ端末１９０は、インターネット回線９００１を介して、画像を配信するバックエンドサーバ２７０と接続されている。例えば、エンドユーザ端末１９０（ＰＣ）は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブルや、無線ＬＡＮを介してルータおよびインターネット回線９００１に接続されている。
【０１２５】
また、エンドユーザ端末１９０には、視聴者がスポーツ放送画像等の仮想視点画像を視聴するためのディスプレイ９００３と、視聴者による視点変更などの操作を受け付けるユーザ入力機器９００２とが、接続されている。例えば、ディスプレイ９００３は液晶ディスプレイであり、ＰＣとＤｉｓｐｌａｙ  Ｐｏｒｔケーブルを介して接続されている。
ユーザ入力機器９００２はマウスやキーボードであり、ＰＣとＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルを介して接続されている。
【０１２６】
エンドユーザ端末１９０の内部機能について説明する。図１０はエンドユーザ端末１９０の機能ブロック図である。
【０１２７】
アプリケーション管理部１０００１は、後述する基本ソフト部１０００２から入力されたユーザ入力情報を、バックエンドサーバ２７０のバックエンドサーバコマンドに変換して、基本ソフト部１０００２へ出力する。また、アプリケーション管理部１０００１は、基本ソフト部１０００２から入力された画像を、所定の表示領域に描画するための画像描画指示を、基本ソフト部１０００２へ出力する。
【０１２８】
基本ソフト部１０００２は、例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）であり、後述するユーザ入力部１０００４から入力されたユーザ入力情報を、アプリケーション管理部１０００１へ出力する。また、後述するネットワーク通信部１０００３から入力された画像や音声をアプリケーション管理部１０００１へ出力したり、アプリケーション管理部１０００１から入力されたバックエンドサーバコマンドをネットワーク通信部１０００３へ出力したりする。さらに、アプリケーション管理部１０００１から入力された画像描画指示を、画像出力部１０００５へ出力する。
【０１２９】
ネットワーク通信部１０００３は、基本ソフト部１０００２から入力されたバックエンドサーバコマンドを、ＬＡＮケーブル上で通信可能なＬＡＮ通信信号に変換して、バックエンドサーバ２７０へ出力する。そして、バックエンドサーバ２７０から受信した画像や音声データが加工可能となるように、基本ソフト部１０００２へデータを渡す。
【０１３０】
ユーザ入力部１０００４は、キーボード入力（物理キーボード又はソフトキーボード）やボタン入力に基づくユーザ入力情報や、ユーザ入力機器からＵＳＢケーブルを介して入力されたユーザ入力情報を取得し、基本ソフト部１０００２へ出力する。
【０１３１】
画像出力部１０００５は、基本ソフト部１０００２から出力された画像表示指示に基づく画像を画像信号に変換して、外部ディスプレイや一体型のディスプレイなどに出力する。
【０１３２】
音声出力部１０００６は、基本ソフト部１０００２から出力された音声出力指示に基づく音声データを外部スピーカあるいは一体型スピーカに出力する。
【０１３３】
端末属性管理部１０００７は、端末の表示解像度、画像符号化コーデック種別、及び端末種別（スマートフォンなのか、大型ディスプレイなのかなど）を管理する。
【０１３４】
サービス属性管理部１０００８は、エンドユーザ端末１９０に提供するサービス種別に関する情報を管理する。例えば、エンドユーザ端末１９０に搭載されるアプリケーションの種別や利用可能な画像配信サービスなどが管理される。
【０１３５】
課金管理部１０００９では、ユーザの画像配信サービスへの登録決済状況や課金金額に応じた、受信可能な画像配信シーン数の管理などが行われる。
【０１３６】
次に本実施の形態におけるワークフローについて説明する。競技場やコンサートホールなどの施設に複数のカメラ１１２やマイク１１１を設置し撮影を行う場合のワークフローについて説明する。
【０１３７】
図１１はワークフローの全体像を記したフローチャートである。なお、以下で説明するワークフローの処理は、特に明示の記述がない場合、コントローラ３００の制御により実現される。すなわち、コントローラ３００が、画像処理システム１００内の他の装置（例えばバックエンドサーバ２７０やデータベース２５０等）を制御することにより、ワークフローの制御が実現される。
【０１３８】
図１１の処理開始前において、画像処理システム１００の設置や操作を行う操作者（ユーザ）は設置前に必要な情報（事前情報）を収集し計画の立案を行う。また、操作者は、図１１の処理開始前において、対象となる施設に機材を設置しているものとする。
【０１３９】
Ｓ１１００において、コントローラ３００の制御ステーション３１０は、ユーザから事前情報に基づく設定を受け付ける。Ｓ１１００の詳細は図１２を用いて後述する。つぎに、ステップＳ１１０１において画像処理システム１００の各装置は、ユーザからの操作に基づいてコントローラ３００から発行されたコマンドに従って、システムの動作確認のための処理を実行する。ステップＳ１１０１の詳細は図１３を用いて後述する。
【０１４０】
つぎに、ステップＳ１１０２において、仮想カメラ操作ＵＩ３３０は、競技等のための撮影開始前に画像や音声を出力する。これにより、ユーザは、競技等の前に、マイク１１１により集音された音声やカメラ１１２により撮影された画像を確認できる。ステップＳ１１０２の詳細は図１４を用いて後述する。
【０１４１】
そして、Ｓ１１０３において、コントローラ３００の制御ステーション３１０は、各マイク１１１に集音を実施させ、各カメラ１１２に撮影を実施させる。本ステップにおける撮影はマイク１１１を用いた集音を含むものとするがこれに限らず、画像の撮影だけであってもよい。Ｓ１１０３の詳細は図１５及び図１６を用いて後述する。そして、ステップＳ１１０１で行った設定を変更する場合、または撮影を終了する場合はステップＳ１１０４に進む。つぎに、Ｓ１１０４において、Ｓ１１０１で行われた設定を変更して撮影を継続する場合はＳ１１０５に進み、撮影を完了する場合はＳ１１０６に進む。Ｓ１１０４における判定は、典型的には、ユーザからコントローラ３００への入力に基づいて行われる。ただしこの例に限らない。Ｓ１１０５において、コントローラ３００は、Ｓ１１０１で行われた設定を変更する。変更内容は、典型的には、Ｓ１１０４にて取得されたユーザ入力に基づいて決定される。本ステップにおける設定の変更において撮影を停止する必要がある場合は、一度撮影を停止し、設定を変更した後に撮影を再開する。また、撮影を停止する必要がない場合は、撮影と並行して設定の変更を実施する。
【０１４２】
Ｓ１１０６において、コントローラ３００は、複数のカメラ１１２により撮影された画像及び複数のマイク１１１により集音された音声の編集を実施する。当該編集は、典型的には、仮想カメラ操作ＵＩ３３０を介して入力されたユーザ操作に基づいて行われる。
【０１４３】
なお、Ｓ１１０６とＳ１１０３の処理は並行して行われるようにしても良い。例えば、スポーツ競技やコンサートなどがリアルタイムに配信される（例えば競技中に競技の画像が配信される）場合は、Ｓ１１０３の撮影とＳ１１０６の編集が同時に実施される。また、スポーツ競技におけるハイライト画像が競技後に配信される場合は、Ｓ１１０４において撮影を終了した後に編集が実施される。
【０１４４】
次に、前述したＳ１１００（設置前処理）の詳細を、図１２を用いて説明する。まず、Ｓ１２００において制御ステーション３１０は撮影の対象となる施設に関する情報（スタジアム情報）に関するユーザからの入力を受け付ける。
【０１４５】
本ステップにおけるスタジアム情報とは、スタジアムの形状、音響、照明、電源、伝送環境、及びスタジアムの三次元モデルデータなどを指す。つまりスタジアム情報には、上述のスタジアム形状データが含まれる。なお本実施形態では撮影対象となる施設がスタジアムである場合に関して記述している。これは、競技場で開催されるスポーツ競技の画像生成を想定したものである。ただし、室内で開催されるスポーツ競技もあるため、撮影対象の施設はスタジアムに限定されるものではない。また、コンサートホールにおけるコンサートの仮想視点画像を生成する場合もあるし、スタジアムでの野外コンサートの画像を生成する場合もあるため、撮影対象のイベントは競技に限定されるものではないことを明記しておく。
【０１４６】
つぎに、ステップＳ１２０１において制御ステーション３１０は、機器情報に関するユーザからの入力を受け付ける。本ステップにおける機器情報とは、カメラ、雲台、レンズ、及びマイク等の撮影機材、ＬＡＮ、ＰＣ、サーバ、及びケーブル等の情報機器、及び中継車に関する情報を指す。ただし必ずしもこれらすべての情報を入力しなければならないわけではない。
【０１４７】
つぎに、Ｓ１２０２において制御ステーション３１０は、Ｓ１２０１で機器情報が入力された撮影機材のうち、カメラ、雲台、及びマイクの配置情報に関する入力を受けつける。配置情報は、先述のスタジアムの三次元モデルデータを利用して入力することができる。
【０１４８】
つぎに、Ｓ１２０３において制御ステーション３１０は、画像処理システム１００の運用情報に関するユーザ入力を受け付ける。本ステップにおける運用情報とは、撮影対象、撮影時間、カメラワーク、及び注視点などを指す。例えば、撮影対象が、撮影画像において選手等の前景画像が試合と比較して圧倒的に多い開会式などである場合には、画像生成の手法をその状況に適した手法に変更しうる。また、陸上競技であるかフィールドを使うサッカー競技等であるかなどの競技種別に応じて、注視点の変更と、カメラワークの制約条件変更が行われうる。これらの運用情報の組み合わせで構成される設定情報のテーブルが制御ステーション３１０で管理、変更、及び指示される。本制御については後述する。前述したＳ１２００からＳ１２０３により、システム設置前のワークフローを完了する。
【０１４９】
次に、前述したＳ１１０１（設置時処理）の詳細を、図１３を用いて説明する。まず、Ｓ１３００において、制御ステーション３１０は、設置機材の過不足の有無に関するユーザ入力を受け付ける。ユーザは、Ｓ１２０１で入力された機器情報と設置する機材を比較し過不足の有無を確認することで、設置機材の過不足の有無を判定できる。つぎに、Ｓ１３０１において制御ステーション３１０は、Ｓ１３００で不足すると判定された機材の設置確認処理を実行する。つまり、ユーザは、Ｓ１３００とＳ１３０１との間に、不足機材を設置することができ、制御ステーション３１０は、ユーザにより不足機材が設置されたことを確認する。
【０１５０】
つぎに、Ｓ１３０２において、制御ステーション３１０は、Ｓ１３０１で設置された機材を起動し正常に動作するかの調整前システム動作確認を行う。なお、Ｓ１３０２の処理は、ユーザがシステム動作確認を実施し、その確認結果を制御ステーション３１０に対してユーザが入力するようにしても良い。
【０１５１】
ここで、機材の過不足や動作にエラーが発生した場合には、制御ステーション３１０に対して、エラー通知が行われる（Ｓ１３０３）。制御ステーション３１０は、エラーが解除されるまで次のステップには進まないロック状態となる。エラー状態が解除された場合には、制御ステーション３１０に正常通知が行われ（Ｓ１３０４）、次のステップに進む。これにより、初期段階でエラーを検知することができる。確認の後、カメラ１１２に関する処理についてはＳ１３０５へ、マイク１１１に関する処理についてはＳ１３０８に進む。
【０１５２】
最初に、カメラ１１２について述べる。Ｓ１３０５において、制御ステーション３１０は、設置されたカメラ１１２の調整を実施する。本ステップのカメラ１１２の調整とは、画角合わせと色合わせを指し、設置されたカメラ１１２全てについて実施される。Ｓ１３０５の調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整機能により実現されても良い。
【０１５３】
また、画角合わせでは、ズーム、パン、チルト、及びフォーカスの調整が並行して実施され、それらの調整結果が制御ステーション３１０に保存される。そして、色合わせでは、ＩＲＩＳ、ＩＳＯ／ゲイン、ホワイトバランス、シャープネス、及びシャッタースピードの調整が同時に実施され、それらの調整結果が制御ステーション３１０に保存される。
【０１５４】
つぎに、Ｓ１３０６において、制御ステーション３１０は、設置されたカメラ全てが同期する様に調整する。Ｓ１３０６における同期の調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整機能により実現されても良い。さらに、Ｓ１３０７において、制御ステーション３１０は、カメラ設置時キャリブレーションを行う。より具体的には、制御ステーション３１０は、設置されたカメラ全ての座標が世界座標に一致する様に調整を行う。詳細なキャリブレーションについては図１７において説明する。なお、カメラ１１２の制御コマンドやタイムサーバとの同期に関するネットワーク経路の疎通確認もあわせて実施される。そして、マイク調整が進むまで調整後システム動作正常確認処理で待つ（Ｓ１３１１）。
【０１５５】
次に、マイク１１１に関する処理について述べる。まず、Ｓ１３０８において、制御ステーション３１０は、設置されたマイク１１１の調整を実施する。本ステップのマイク１１１の調整とは、ゲイン調整を指し、設置したマイク全てについて実施される。Ｓ１３０８におけるマイク１１１の調整は、ユーザ操作に基づいて行われても良いし、自動調整機能により実現されても良い。
【０１５６】
つぎに、Ｓ１３０９において、制御ステーション３１０は、設置されたマイク全てが同期する様に調整する。具体的には、同期クロックの確認を実施する。Ｓ１３０９における同期の調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整機能により実現されても良い。
【０１５７】
つぎに、Ｓ１３１０において、制御ステーション３１０は、設置されたマイク１１１のうち、フィールドに設置されたマイク１１１について位置の調整を実施する。Ｓ１３１０におけるマイク１１１の位置の調整は、ユーザ操作に基づいて行われても良いし、自動調整機能により実現されても良い。なお、マイク１１１の制御コマンドやタイムサーバとの同期に関するネットワーク経路の疎通確認もあわせて実施される。
【０１５８】
つぎに、Ｓ１３１１において、制御ステーション３１０は、カメラ１１２ａ−１１２ｚ、およびマイク１１１ａ−１１１ｚが正しく調整できたかを確認することを目的として調整後システム動作確認を実施する。Ｓ１３１１の処理は、ユーザ指示に基づいて実行されうる。カメラ１１２、マイク１１１ともに調整後システム動作正常確認がとれた場合には、Ｓ１３１３において、制御ステーション３１０へ正常通知が行われる。一方、エラーが発生した場合には、カメラ１１２あるいはマイク１１１の種別及び個体番号と共に制御ステーション３１０へエラー通知が行われる（Ｓ１３１２）。制御ステーション３１０は、エラーが発生した機器の種別と個体番号をもとに再調整の指示を出す。
【０１５９】
次に、前述したＳ１１０２（撮影前処理）の詳細を、図１４を用いて説明する。Ｓ１４００において、仮想カメラ操作ＵＩ３３０は、バックエンドサーバ２７０が処理を施した画像を表示する。コントローラ３００の操作者（ユーザ）は、仮想カメラ操作ＵＩ３３０の画面を確認することで、バックエンドサーバ２７０による処理結果を確認できる。
【０１６０】
また、Ｓ１４００と並行してＳ１４０１の動作が行われる。Ｓ１４０１において、仮想カメラ操作ＵＩ３３０は、バックエンドサーバ２７０が処理を施した音声を出力する。コントローラ３００の操作者（ユーザ）は、仮想カメラ操作ＵＩ３３０による音声出力を確認することで、バックエンドサーバ２７０による処理結果を確認できる。
【０１６１】
つぎに、Ｓ１４０２において、仮想カメラ操作ＵＩ３３０は、バックエンドサーバ２７０が処理を施した画像及び音声が結合され、配信信号に変換された結果を出力する。コントローラ３００の操作者（ユーザ）は、仮想カメラ操作ＵＩ３３０による配信信号の出力を確認することで、バックエンドサーバ２７０による処理済みの画像及び音声を確認できる。
【０１６２】
つぎに、前述したＳ１１０３（撮影時処理）の詳細を図１５及び図１６を用いて説明する。
【０１６３】
Ｓ１１０３では、制御ステーション３１０においてシステムの制御及び確認動作が行われ、且つ、仮想カメラ操作ＵＩ３３０において画像及び音声を生成する動作が行われる。  
【０１６４】
図１５ではシステムの制御及び確認動作を説明し、図１６では画像及び音声を生成する動作を説明する。最初に図１５を用いて説明する。前述した制御ステーション３１０で行われるシステムの制御及び確認動作では、画像と音声の制御及び確認動作が独立且つ同時に実施される。
【０１６５】
先ず、画像に関する動作を説明する。Ｓ１５００において、仮想カメラ操作ＵＩ３３０は、バックエンドサーバ２７０が生成した仮想視点画像を表示する。つぎに、Ｓ１５０１において、仮想カメラ操作ＵＩ３３０は、Ｓ１５００で表示された画像のユーザによる確認結果に関する入力を受け付ける。そして、Ｓ１５０２において、撮影を終了すると判定された場合はＳ１５０８に進み、撮影を継続すると判定された場合はＳ１５００に戻る。つまり、撮影を続ける間、Ｓ１５００とＳ１５０１が繰り返される。なお、撮影を終了するか継続するかについては、例えばユーザ入力に応じて制御ステーション３１０が判定できる。
【０１６６】
次に、音声に関する動作を説明する。Ｓ１５０３において、仮想カメラ操作ＵＩ３３０は、マイク１１１の選択結果に関するユーザ操作を受け付ける。なお、マイク１１１が所定の順序で１つずつ選択される場合には、ユーザ操作は必ずしも必要ない。Ｓ１５０４において、仮想カメラ操作ＵＩ３３０は、Ｓ１５０３で選択されたマイク１１１の音声を再生する。Ｓ１５０５において、仮想カメラ操作ＵＩ３３０は、Ｓ１５０４で再生された音声のノイズ有無を確認する。Ｓ１５０５におけるノイズ有無の判定は、コントローラ３００の操作者（ユーザ）が行っても良いし、音声解析処理によって自動で判定されるようにしても良いし、その両方が実行されるようにしても良い。ユーザがノイズ有無を判定する場合は、Ｓ１５０５において、仮想カメラ操作ＵＩ３３０は、ユーザによるノイズ判定結果に関する入力を受け付ける。Ｓ１５０５でノイズが確認された場合には、Ｓ１５０６において、仮想カメラ操作ＵＩ３３０は、マイクゲインの調整を実施する。Ｓ１５０６におけるマイクゲインの調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整が行われるようにしても良い。なお、ユーザ操作に基づいてマイクゲインの調整が行われる場合には、Ｓ１５０６において、仮想カメラ操作ＵＩ３３０は、マイクゲインの調整に関するユーザ入力を受け付け、当該ユーザ入力に基づいてマイクゲインの調整を実施する。なお、ノイズの状態に依っては選択したマイク１１１の停止を行っても良い。Ｓ１５０７において、集音を終了すると判定された場合はＳ１５０８に進み、集音を継続すると判定された場合はＳ１５０３に戻る。つまり、集音を続ける間、Ｓ１５０３、Ｓ１５０４、Ｓ１５０５、及びＳ１５０６の動作が繰り返される。集音を終了するか継続するかについては、例えば、ユーザ入力に応じて制御ステーション３１０が判定できる。なお、集音を終了するか継続するかについては、例えば、ユーザ入力に応じて制御ステーション３１０が判定できる。
【０１６７】
Ｓ１５０８において、システムを終了すると判定された場合はＳ１５０９に進み、システムを継続すると判定された場合はＳ１５００及びＳ１５０３に進む。Ｓ１５０８の判定は、ユーザ操作に基づいて行われ得る。Ｓ１５０９において、画像処理システム１００で取得されたログが制御ステーション３１０へ集められる。
【０１６８】
次に図１６を用いて画像及び音声を生成する動作を説明する。前述した仮想カメラ操作ＵＩ３３０で行われる画像及び音声を生成する動作では、画像と音声が独立且つ並行して生成される。
【０１６９】
先ず、画像に関する動作を説明する。Ｓ１６００において、仮想カメラ操作ＵＩ３３０は、バックエンドサーバ２７０に対して仮想視点画像の生成のための指示を発行する。そしてＳ１６００において、バックエンドサーバ２７０は、仮想カメラ操作ＵＩ３３０からの指示に従って仮想視点画像を生成する。Ｓ１６０１において、画像生成を終了すると判定された場合はＳ１６０４に進み、画像生成を継続すると判定された場合はＳ１６００に戻る。Ｓ１６０１の判定は、ユーザ操作に応じて実行されうる。
【０１７０】
次に、音声に関する動作を説明する。Ｓ１６０２において、仮想カメラ操作ＵＩ３３０は、バックエンドサーバ２７０に対して仮想視点音声の生成のための指示を発行する。そしてＳ１６０２において、バックエンドサーバ２７０は、仮想カメラ操作ＵＩ３３０からの指示に従って仮想視点音声を生成する。Ｓ１６０３において、音声生成を終了すると判定された場合はＳ１６０４に進み、音声生成を継続すると判定された場合はＳ１６０２に戻る。なお、Ｓ１６０３の判定は、Ｓ１６０１の判定と連動して行われるようにしても良い。
【０１７１】
次に設置時及び撮影前ワークフローについて説明する。画像処理システム１００は、設置時キャリブレーションを行う状態と通常の撮影を行う状態を動作モード変更により切替制御できる。なお、撮影中にある特定カメラのキャリブレーションが必要になるケースもあり、この場合には撮影とキャリブレーションという二種類の動作が両立する。
【０１７２】
設置時キャリブレーション処理について、図１７に示すフローチャートを用いて説明する。図１７においては、装置間で行われる指示に対するデータの受信完了や処理完了の通知についての記載は省略するが、指示に対して何らかのレスポンスが返却されるものとする。
【０１７３】
まず、カメラ１１２の設置が完了すると、ユーザは制御ステーション３１０に対して、設置時キャリブレーションの実行を指示する。すると、制御ステーション３１０は、フロントエンドサーバ２３０およびカメラアダプタ１２０に対して、キャリブレーション開始を指示する（Ｓ０４１００）。
【０１７４】
フロントエンドサーバ２３０は、キャリブレーション開始指示を受けると、それ以降に受信した画像データをキャリブレーション用データと判定し、キャリブレーション部０２１４０が処理できるように制御モードを変更する（Ｓ０４１０２ａ）。また、カメラアダプタ１２０は、キャリブレーション開始指示を受けると、前景背景分離等の画像処理を行わず非圧縮のフレーム画像を扱う制御モードに移行する（Ｓ０４１０２ｂ）。さらに、カメラアダプタ１２０は、カメラ１１２に対してカメラモード変更を指示する（Ｓ０４１０１）。これを受けたカメラ１１２は、例えば、フレームレートを１ｆｐｓに設定する。あるいは、カメラ１１２が動画でなく静止画を伝送するモードに設定してもよい（Ｓ０４１０２ｃ）。また、カメラアダプタ１２０によってフレームレートが制御されてキャリブレーション画像が伝送されるモードに設定してもよい。
【０１７５】
制御ステーション３１０は、カメラアダプタ１２０に対して、カメラのズーム値とフォーカス値の取得を指示し（Ｓ０４１０３）、カメラアダプタ１２０は、制御ステーション３１０に、カメラ１１２のズーム値とフォーカス値を送信する（Ｓ０４１０４）。
【０１７６】
なお図１７においては、カメラアダプタ１２０及びカメラ１１２はそれぞれ１つしか記載しないが、カメラアダプタ１２０及びカメラ１１２に関する制御は、画像処理システム１００内の全カメラアダプタ１２０及び全カメラ１１２に対してそれぞれ実行される。そのため、Ｓ０４１０３及びＳ０４１０４はカメラ台数分実行され、全カメラ１１２に対するＳ０４１０３及びＳ０４１０４の処理が完了した時点で、制御ステーション３１０は、全カメラ分のズーム値とフォーカス値を受信できている状態となる。
【０１７７】
制御ステーション３１０は、フロントエンドサーバ２３０に、Ｓ０４１０４で受信した全カメラ分のズーム値とフォーカス値を送信する（Ｓ０４１０５）。次いで、制御ステーション３１０は、フロントエンドサーバ２３０に、設置時キャリブレーション用撮影の撮影パターンを通知する（Ｓ０４１０６）。
【０１７８】
ここで撮影パターンには、画像特徴点となるマーカ等をグラウンド内で動かして複数回撮影する場合の、別タイミングで撮影された画像を区別するためのパターン名（例えばパターン１―１０）の属性が付加される。つまり、フロントエンドサーバ２３０は、Ｓ０４１０６以降に受信したキャリブレーション用の画像データを、Ｓ０４１０６で受信した撮影パターンにおける撮影画像であると判定する。そして、制御ステーション３１０は、カメラアダプタ１２０に対して同期静止画撮影を指示し（Ｓ０４１０７）、カメラアダプタ１２０は、全カメラで同期した静止画撮影をカメラ１１２に指示する（Ｓ０４１０８）。そして、カメラ１１２は撮影画像をカメラアダプタ１２０に送信する（Ｓ０４１０９）。
【０１７９】
なお、注視点のグループが複数ある場合には、注視点グループ毎にＳ０４１０６からＳ０４１１１のキャリブレーション用画像撮影を行っても良い。
【０１８０】
そして、制御ステーション３１０は、カメラアダプタ１２０に対して、Ｓ０４１０７で撮影指示した画像をフロントエンドサーバ２３０に伝送するように指示する（Ｓ０４１１０）。さらに、カメラアダプタ１２０は、伝送先として指定されたフロントエンドサーバ２３０にＳ０４１０９で受信した画像を伝送する（Ｓ０４１１１）。
【０１８１】
Ｓ０４１１１で伝送するキャリブレーション用画像については、前景背景分離等の画像処理が行われず、撮影された画像が圧縮せずにそのまま伝送されるものとする。そのため、全カメラが高解像度で撮影を行う場合や、カメラ台数が多くなった場合、伝送帯域の制約上、全ての非圧縮画像を同時に送信することができなくなることが発生する虞がある。その結果、ワークフローの中でキャリブレーションに要する時間が長くなる虞がある。その場合、Ｓ０４１１０の画像伝送指示において、カメラアダプタ１２０の１台ずつに対して、キャリブレーションのパターン属性に応じた非圧縮画像の伝送指示が順番に行われる。さらにこのような場合、マーカのパターン属性に応じたより多くの特徴点を撮影する必要があるため、複数マーカを用いたキャリブレーション用の画像撮影が行われる。この場合、負荷分散の観点から、画像撮影と非圧縮画像伝送を非同期に行ってもよい。また、キャリブレーション用の画像撮影で取得した非圧縮画像を、カメラアダプタ１２０にパターン属性ごとに逐次蓄積し、並行して非圧縮画像の伝送をＳ０４１１０の画像伝送指示に応じて行う。これにより、ワークフローの処理時間やヒューマンエラーの削減を図ることができる効果がある。
【０１８２】
全カメラ１１２においてＳ０４１１１の処理が完了した時点で、フロントエンドサーバ２３０は、全カメラ分の撮影画像を受信できている状態となる。
【０１８３】
前述したように、撮影パターンが複数ある場合には、Ｓ０４１０６からＳ０４１１１の処理をパターン数分繰り返す。
【０１８４】
次いで、全てのキャリブレーション用撮影が完了すると、制御ステーション３１０は、フロントエンドサーバ２３０に対して、カメラパラメータ推定処理を指示する（Ｓ０４１１２）。
【０１８５】
フロントエンドサーバ２３０は、カメラパラメータ推定処理指示を受けると、Ｓ０４１０５で受信した全カメラ分のズーム値とフォーカス値、及びＳ０４１１１で受信した全カメラ分の撮影画像を用いて、カメラパラメータ推定処理を行う（Ｓ０４１１３）。Ｓ０４１１３におけるカメラパラメータ推定処理の詳細については後述する。なお、注視点が複数ある場合には、注視点グループ毎にＳ０４１１３のカメラパラメータ推定処理を行うものとする。
【０１８６】
そして、フロントエンドサーバ２３０は、Ｓ０４１１３のカメラパラメータ推定処理の結果として導出された全カメラ分のカメラパラメータをデータベース２５０に送信して保存する（Ｓ０４１１４）。
【０１８７】
また、フロントエンドサーバ２３０は、制御ステーション３１０に対しても同様に全カメラ分のカメラパラメータを送信（Ｓ０４１１５）する。制御ステーション３１０は、カメラアダプタ１２０に対して、各カメラ１１２に対応するカメラパラメータを送信し（Ｓ０４１１６）、カメラアダプタ１２０は、受信した自カメラ１１２のカメラパラメータを保存する（Ｓ０４１１７）。
【０１８８】
そして、制御ステーション３１０は、キャリブレーション結果を確認する（Ｓ０４１１８）。確認方法としては、導出されたカメラパラメータの数値を確認しても良いし、Ｓ０４１１４のカメラパラメータ推定処理の演算過程を確認しても良いし、カメラパラメータを用いて画像生成を行い、生成された画像を確認するようにしても良い。そして、制御ステーション３１０は、フロントエンドサーバ２３０に対して、キャリブレーション終了を指示する（Ｓ０４１１９）。
【０１８９】
フロントエンドサーバ２３０はキャリブレーション終了指示を受けると、Ｓ０４１０１で実行したキャリブレーション開始処理とは逆に、それ以降に受信した画像データをキャリブレーション用データでないと判定するよう制御モードを変更する。（Ｓ０４１２０）以上の処理により、設置時キャリブレーション処理として、全カメラ分のカメラパラメータを導出し、導出されたカメラパラメータをカメラアダプタ１２０及びデータベース２５０に保存することができる。
【０１９０】
また、上述した設置時キャリブレーション処理は、カメラ設置後及び撮影前に実施され、カメラが動かされなければ再度処理する必要はないが、カメラを動かす場合（例えば、試合の前半と後半とで注視点を変更するなど）には、再度同様の処理が行われるも。
【０１９１】
また、撮影中にボールがぶつかる等のアクシデントにより所定の閾値以上にカメラ１１２が動いてしまった場合に、当該カメラ１１２を撮影状態からキャリブレーション開始状態に遷移させ上述の設置時キャリブレーションを行っても良い。その場合、システムとしては通常の撮影状態を維持し、当該カメラ１１２のみがキャリブレーション用画像を伝送している旨をフロントエンドサーバ２３０に通知することで、システム全体をキャリブレーションモードにする必要はなく撮影の継続性を図れる。さらには、本システムのデイジーチェーンでの伝送においては、通常の撮影における画像データの伝送帯域にキャリブレーション用の非圧縮画像を送ると、伝送帯域制限を超過する場合が考えられる。この場合、非圧縮画像の伝送優先度を下げたり、非圧縮画像を分割して送信したりすることで対応する。さらには、カメラアダプタ１２０間の接続が１０ＧｂＥなどの場合は、全二重の特徴を使うことで、通常の撮影の画像データ伝送とは逆向きに非圧縮画像を伝送することで帯域確保が図れるという効果がある。
【０１９２】
また、複数の注視点のうちの１つの注視点を変更したい場合など、１つの注視点グループのカメラ１１２のみ、上述した設置時キャリブレーション処理を再度行うようにしても良い。その場合、キャリブレーション処理中は、対象の注視点グループのカメラ１１２については、通常の画像撮影及び仮想視点画像生成を行うことができない。そのため、キャリブレーション処理中であることが制御ステーション３１０に通知され、制御ステーション３１０が仮想カメラ操作ＵＩ３３０に対して視点操作の制限をかけるなどの処理を要求する。フロントエンドサーバ２３０では、仮想視点画像生成の処理に影響が出ないよう制御してカメラパラメータ推定処理を行うものとする。
【０１９３】
図１８のフローチャートに従って、設置前ワークフローのＳ１２００及び設置時ワークフローＳ１３０５におけるフロントエンドサーバ２３０の動作について説明する。
設置前ワークフローのＳ１２００に於いて、フロントエンドサーバ２３０の制御部０２１１０は制御ステーション３１０からＣＡＤデータの入力モードに切り替える指示を受信し、ＣＡＤデータ入力モードに切り替えを行う（Ｓ０２２１０）。
【０１９４】
データ入力制御部０２１２０は制御ステーション３１０からスタジアムＣＡＤデータ（スタジアム形状データ）を受信する。（Ｓ０２２２０）データ入力制御部０２１２０は受信したデータを非撮影データファイル生成部０２１８５とＣＡＤデータ記憶部０２１３５に送信する。ＣＡＤデータ記憶部０２１３５はデータ入力制御部０２１２０から受信したスタジアム形状データを記憶媒体に保存する。（Ｓ０２２３０）
設置時ワークフローのＳ１３０５に於いて、制御部０２１１０は制御ステーション３１０からキャリブレーションモードに切り替える指示を受信し、キャリブレーションモードに切り替えを行う。（Ｓ０２２４０）
データ入力制御部０２１２０はカメラアダプタ１２０からキャリブレーション撮影画像を受信し、キャリブレーション部０２１４０にキャリブレーション撮影画像を送信する。（Ｓ０２２５０）
キャリブレーション部０２１４０はキャリブレーションを行い、カメラパラメータを導出する。（Ｓ０２２６０）キャリブレーション部０２１４０は導出されたカメラパラメータを記憶領域へ保存し、非撮影データファイル生成部０２１８５及びＤＢアクセス制御部０２１９０を介してデータベース２５０にカメラパラメータを送信する。（Ｓ０２２７０）
図１９のフローチャートに従って、設置前ワークフローのＳ１２００におけるデータベース２５０の動作について説明する。データベース２５０は、コントローラ３００からの指示に基づいて以下に説明する図１９及び図２０の処理を実行する。
【０１９５】
設置前ワークフローのＳ１２００に於いて、データ入力部０２４２０はフロントエンドサーバ２３０からスタジアムＣＡＤデータ（スタジアム形状データ）を受信し、キャッシュ０２４４０上にデータを保存する。（Ｓ０２５１０）キャッシュ０２４４０は保存されたスタジアムＣＡＤデータを一次ストレージ０２４５０に移動して格納する。（Ｓ０２５２０）
図２０のフローチャートに従って、設置時ワークフローのＳ１３０５におけるデータベース２５０の動作について説明する。
【０１９６】
設置時ワークフローのＳ１３０５に於いて、データ入力部０２４２０はフロントエンドサーバ２３０からカメラパラメータを受信し、キャッシュ０２４４０上にデータを保存する。（Ｓ０２５３０）
キャッシュ０２４４０は保存されたカメラパラメータを一次ストレージ０２４５０に移動して格納する。（Ｓ０２５４０）制御ステーション３１０からの指示、またはキャッシュ０２４４０の容量に応じて、制御部０２４１０はキャッシュするフレーム数Ｎを設定する。（Ｓ０２５５０）
続いて、フロントエンドサーバ２３０のキャリブレーション部０２１４０における、カメラパラメータ推定処理について、図２１に示すフローチャートを用いて説明する。なお、キャリブレーション部０２１４０は、制御ステーション３１０からの指示に基づいて、カメラパラメータ推定処理を実行する。本シーケンスを開始する時点で、内部パラメータマップ、スタジアムデータ、全カメラ分のズーム値とフォーカス値、及び全カメラ分のキャリブレーション用撮影画像は、キャリブレーション部０２１４０が既に保持しているものとする。
【０１９７】
まずキャリブレーション部０２１４０は、カメラ１１２を特定し（Ｓ０４２０１）、対応するズーム値とフォーカス値を特定し、特定したズーム値とフォーカス値より、内部パラメータマップを用いて内部パラメータ初期値を導出する（Ｓ０４２０２）。
【０１９８】
Ｓ０４２０２における内部パラメータ初期値の導出が全カメラ分完了するまで、Ｓ０４２０１とＳ０４２０２の処理が繰り返される（Ｓ０４２０３）。
【０１９９】
次いでキャリブレーション部０２１４０は、再度カメラ１１２を特定し、対応するキャリブレーション用撮影画像を特定し（Ｓ０４２０４）、画像内の特徴点（画像特徴点）を検出する（Ｓ０４２０５）。
【０２００】
画像特徴点としては、例えば、キャリブレーション用に用意したマーカや、予めスタジアムの地面に描かれているピッチラインや、予め置かれている物（例えば、サッカーゴールや選手控えベンチなど）のエッジ部分などが挙げられる。
【０２０１】
Ｓ０４２０５における画像特徴点検出が全カメラ分完了するまで、Ｓ０４２０５とＳ０４２０５の処理が繰り返される（Ｓ０４２０６）。
【０２０２】
次いでキャリブレーション部０２１４０は、Ｓ０４２０５で検出した各カメラ１１２におけるキャリブレーション用撮影画像の画像特徴点のマッチングを行う（Ｓ０４２０７）。そして、カメラ１１２間でマッチングされた使用特徴点数が閾値以下であるかを判定する（Ｓ０４２０８）。Ｓ０４２０８で用いる使用特徴点数の閾値については予め設定しておいても良いし、カメラ台数や画角などの撮影条件によって自動で導出するようにしても良く、外部パラメータ推定を行うために最低限必要である値が用いられる。
【０２０３】
Ｓ０４２０８でキャリブレーション部０２１４０は、使用特徴点数が閾値以下でない場合、各カメラ１１２の外部パラメータ推定処理を行う（Ｓ０４２０９）。そして、Ｓ０４２０９の外部パラメータ推定処理の結果、再投影誤差が閾値以下であるかを判定する（Ｓ０４２１０）。Ｓ０４２１０で用いる再投影誤差の閾値については予め設定しておいても良いし、カメラ台数などの撮影条件によって自動で導出するようにしても良く、生成する仮想視点画像の精度に応じた値が用いられる。
【０２０４】
Ｓ０４２１０の判定において、再投影誤差が閾値以下でない場合、キャリブレーション部０２１４０は誤差が大きいと判断し、Ｓ０４２０５における画像特徴点の誤検出、及びＳ０４２０７における画像特徴点の誤マッチングの削除処理を行う（Ｓ０４２１１）。
【０２０５】
Ｓ０４２１１の誤検出及び誤マッチングの判定方法としては、例えばキャリブレーション部０２１４０が再投影誤差の大きい特徴点を自動で削除するようにしても良いし、ユーザが再投影誤差及び画像を見ながら手作業で削除するようにしても良い。
【０２０６】
そしてキャリブレーション部０２１４０は、Ｓ０４２０２で導出した内部パラメータ初期値に対して、内部パラメータの補正を行う（Ｓ０４２１２）。
【０２０７】
そして、Ｓ０４２０８において使用特徴点数が閾値以下にならない範囲で、Ｓ０４２１０において再投影誤差が閾値以下になるまで、Ｓ０４２０８からＳ０４２１２の処理を繰り返す。
【０２０８】
Ｓ０４２０８の判定においてキャリブレーション部０２１４０は、使用特徴点数が閾値以下であればキャリブレーション失敗と判断する（Ｓ０４２１３）。キャリブレーション失敗の場合、キャリブレーション用撮影からやり直すなどの対応が行われる。成功又は失敗の判断結果は、逐次制御ステーション３１０に対して通知され、失敗時点以降のキャリブレーション処理を実施するなどの対応が、一元的に制御ステーション３１０で管理される。
【０２０９】
Ｓ０４２１０の判定において、再投影誤差が閾値以下であれば、キャリブレーション部０２１４０は、スタジアムデータを用いて、Ｓ０４２０９で推定された外部パラメータ座標について、カメラ座標系から世界座標系へ剛体変換を行う（Ｓ０４２１４）。
【０２１０】
ここで用いるスタジアムデータとしては、Ｘ／Ｙ／Ｚ軸それぞれの原点（例えばピッチ上のセンターサークルの中心点など）、及びスタジアム内の複数の特徴点（例えばピッチラインの交差点など）の座標値など、剛体変換を行うための座標値が定義される。
【０２１１】
ただし、スタジアムデータが存在しない、もしくはデータの精度が低い場合などは、剛体変換を行うための世界座標の入力を手動で行うようにしても良いし、世界座標を示すためのデータがキャリブレーション部０２１４０に別途与えられるようにしても良い。
【０２１２】
また、Ｓ０４２１４の処理を行うことでキャリブレーション用撮影画像内の世界座標が導出されるため、導出結果を用いて、予めスタジアムデータに記録されているスタジアム内の特徴点の座標をより精度が高くなるよう更新しても良い。
【０２１３】
以上の処理により、カメラパラメータ推定処理フローとして、全カメラ分のカメラパラメータが導出され、導出されたカメラパラメータをカメラアダプタ１２０及びデータベース２５０に保存することができる。
【０２１４】
なお、複数カメラの撮影画像を用いて仮想視点画像生成を行うシステムにおいては、カメラ１１２設置時に各カメラ１１２の位置姿勢推定を行うキャリブレーション処理（設置時キャリブレーション）が必要である。
【０２１５】
設置時キャリブレーションでは、各カメラのカメラパラメータを求める処理が行われる。カメラパラメータとは、カメラ固有の内部パラメータ（焦点距離、画像中心、及びレンズ歪みパラメータ等）と、カメラの位置姿勢を表す外部パラメータ（回転行列及び位置ベクトル等）から成る。設置時キャリブレーション処理が完了すると、各カメラのカメラパラメータが導出された状態となる。
【０２１６】
カメラパラメータのうち、内部パラメータは、カメラ１１２及びレンズが定まっている場合、ズーム値とフォーカス値に応じて変わるパラメータである。そのため、本システムにおいては、カメラ１１２をスタジアムに設置する以前に、同カメラ１１２及びレンズを用いて、内部パラメータ導出に必要な撮影を行うことで内部パラメータの導出を行っておく。そして、カメラ１１２をスタジアムに設置した際にズーム値とフォーカス値が決まると、自動的に内部パラメータを導出することができるようにしておく。これを本明細書では内部パラメータをマップ化すると表現し、マップ化の結果を内部パラメータマップと記載する。
【０２１７】
内部パラメータマップの形式としては、ズーム値とフォーカス値に応じた内部パラメータを複数パターン記録しておく形式としても良いし、内部パラメータ値を算出できる演算式の形式としても良い。即ち、内部パラメータマップは、ズーム値とフォーカス値に応じて一意に内部パラメータが求まるものであればよい。
【０２１８】
また、内部パラメータマップによって求められたパラメータ値は、内部パラメータの初期値として用いられるものとする。そして、カメラパラメータ推定処理結果としての内部パラメータは、カメラ１１２をスタジアムに設置した後にキャリブレーション用として撮影した画像を用いたカメラパラメータ推定処理の過程で補正された値となる。
【０２１９】
また、本実施形態では、設置されるカメラ１１２及びレンズは何れも同機種であり、同ズーム値及び同フォーカス値であれば内部パラメータも同じであるものとする。ただしこれに限らず、複数機種のカメラ１１２及びレンズを用いる場合など、同ズーム値及び同フォーカス値であっても内部パラメータに個体差がある場合は、機種毎及びカメラ１１２毎に内部パラメータマップを保持するようにしても良い。
【０２２０】
次に、カメラ１１２による撮影、マイク１１１による収音、及び、撮影又は収音されたデータをカメラアダプタ１２０及びフロントエンドサーバ２３０を介してデータベース２５０へ蓄積する処理について説明する。
【０２２１】
図２２ａ及び図２２ｂを使用して、カメラ１１２の撮影開始処理シーケンスについて説明する。図２２ａ及び図２２ｂはそれぞれ内容が異なる処理シーケンスを示しているが、何れのシーケンスに従っても同様の結果を得ることができる。カメラアダプタ１２０は、図２２ａに示した処理を行うか図２２ｂに示した処理を行うかを、カメラ１１２の仕様に応じて選択する。
【０２２２】
まず図２２ａについて説明する。タイムサーバ２９０は例えばＧＰＳ２２０１などと時刻同期を行い、タイムサーバ内で管理される時刻の設定を行う（０６８０１）。なおＧＰＳ２２０１を用いた方法に限定されるものではなく、ＮＴＰ（Ｎｅｔｗｏｒｋ  ＴｉｍｅＰｒｏｔｏｃｏｌ）など他の方法で時刻を設定してもよい。
【０２２３】
次にカメラアダプタ１２０はタイムサーバ２９０との間でＰＴＰ（ＰｒｅｃｉｓｉｏｎＴｉｍｅ  Ｐｒｏｔｏｃｏｌ）を使用した通信を行い、カメラアダプタ１２０内で管理される時刻を補正しタイムサーバ２９０と時刻同期を行う（０６８０２）。
【０２２４】
カメラアダプタ１２０はカメラ１１２に対して、Ｇｅｎｌｏｃｋ信号や３値同期信号等の同期撮影信号及びタイムコード信号を、撮影フレームに同期して提供し始める（０６８０３）。なお提供される情報はタイムコードに限定されるものではなく、撮影フレームを識別できる識別子であれば他の情報でもよい。
【０２２５】
次に、カメラアダプタ１２０はカメラ１１２に対して撮影開始指示を行う（０６８０４）。
【０２２６】
カメラ１１２は撮影開始指示を受けると、Ｇｅｎｌｏｃｋ信号に同期して撮影を行う（０６８０５）。
【０２２７】
次に、カメラ１１２は撮影した画像にタイムコード信号を含めてカメラアダプタ１２０へ送信する（０６８０６）。カメラ１１２が撮影を停止するまでＧｅｎｌｏｃｋ信号に同期した撮影が行われる。
【０２２８】
カメラアダプタ１２０は撮影途中にタイムサーバ２９０との間でのＰＴＰ時刻補正処理を行い、Ｇｅｎｌｏｃｋ信号の発生タイミングを補正する（０６８０７）。必要な補正量が大きくなる場合は、予め設定された変更量に応じた補正を適用してもよい。
【０２２９】
以上により、システム内の複数のカメラアダプタ１２０に接続する複数のカメラ１１２の同期撮影を実現する事ができる。
【０２３０】
次に図２２ｂについて説明する。まず図２２ａの場合と同様に、カメラアダプタ１２０、タイムサーバ２９０及びＧＰＳ２２０１の間で時刻同期処理が行われる（０６８０１、０６８０２）。次に、カメラアダプタ１２０は撮影開始指示を行う（０６８５３）。撮影開始指示の中には撮影期間やフレーム数を指定する情報が含まれる。カメラ１１２は撮影開始指示に従い撮影を行う（０６８５４）。
【０２３１】
次にカメラ１１２は撮影した画像データをカメラアダプタ１２０へ送信する（０６８５５）。
【０２３２】
画像データを受取ったカメラアダプタ１２０は画像データのメタ情報にタイムコードを付与する（０６８５６）。
【０２３３】
カメラアダプタ１２０は撮影途中にタイムサーバ２９０との間でのＰＴＰ時刻補正処理を行い、カメラ１１２に対して撮影タイミングの補正を行う。必要な補正量が大きくなる場合は、予め設定された変更量に応じた補正を適用してもよい。例えば、１フレーム毎など短いタイミングで撮影開始指示が繰返し行われる。
【０２３４】
なお、図２２ａ及び図２２ｂではカメラ１１２の撮影開始処理シーケンスについて説明したが、マイク１１１もカメラ１１２の同期撮影と同様の処理を行い、同期集音を行う。いっぽう、カメラ画像の高解像度化にともない、各カメラ１１２の画像フレームを伝送した際にデータ伝送量がネットワーク伝送帯域制限を超過する虞がある。この虞を低減する方法について、以下の実施形態で説明する。
【０２３５】
まず、本実施形態における複数のカメラアダプタ１２０（１２０ａ、１２０ｂ、１２０ｃ、及び１２０ｄ）が連動して三次元モデル情報を生成する処理シーケンスについて図２３を用いて説明する。なお、処理の順番は図に示したものに限定される訳ではない。
【０２３６】
なお、本実施形態の画像処理システム１００には２６台のカメラ１１２とカメラアダプタ１２０が含まれるが、ここでは２台のカメラ１１２ｂと１１２ｃ、及び、４台のカメラアダプタ１２０ａ、１２０ｂ、１２０ｃ、及び１２０ｄに注目して説明する。カメラ１１２ｂとカメラアダプタ１２０ｂ、及びカメラ１１２ｃとカメラアダプタ１２０ｃは、其々接続されている。なおカメラアダプタ１２０ａおよびカメラアダプタ１２０ｄに接続するカメラ１１２や、各カメラアダプタ１２０に接続するマイク１１１、雲台１１３、及び外部センサ１１４については省略する。
【０２３７】
また、カメラアダプタ１２０ａ―１２０ｄはタイムサーバ２９０と時刻同期が完了し、撮影状態となっているものとする。
【０２３８】
カメラ１１２ｂおよびカメラ１１２ｃは其々カメラアダプタ１２０ｂ及び１２０ｃに対して撮影画像（１）及び撮影画像（２）を送信する（Ｆ０６３０１、Ｆ０６３０２）。
【０２３９】
カメラアダプタ１２０ｂ及び１２０ｃは、受信した撮影画像（１）または撮影画像（２）に対して、キャリブレーション制御部０６１３３においてキャリブレーション処理を行う（Ｆ０６３０３、Ｆ０６３０４）。キャリブレーション処理は例えば色補正やブレ補正等である。なお、本実施形態ではキャリブレーション処理が実施されているが、必ずしも実施しなくてもよい。
【０２４０】
次に、キャリブレーション処理済の撮影画像（１）または撮影画像（２）に対して、前景背景分離部０６１３１によって前景背景分離処理が行われる（Ｆ０６３０５、Ｆ０６３０６）。
【０２４１】
次に、分離された前景画像及び背景画像其々に対してデータ圧縮・伸張部０６１２１において圧縮が行われる（Ｆ０６３０７、Ｆ０６３０８）。なお分離した前景画像及び背景画像の其々の重要度に応じて圧縮率が変更されてもよい。また、場合によっては圧縮を行わなくてもよい。例えば、カメラアダプタ１２０は、背景画像よりも前景画像の圧縮率が低くなるように、前景画像と背景画像とのうち少なくとも背景画像を圧縮して次のカメラアダプタ１２０に対して出力する。前景画像も背景画像も圧縮する場合、重要な撮影対象を含む前景画像はロスレス圧縮を行い、撮影対象を含まない背景画像に対してはロスあり圧縮を行う。これにより、この後に次のカメラアダプタ１２０ｃまたはカメラアダプタ１２０ｄに伝送されるデータ量を効率的に削減する事ができる。例えばサッカー、ラグビー及び野球等が開催されるスタジアムのフィールドを撮影した場合には、画像の大半が背景画像で構成され、プレーヤ等の前景画像の領域が小さいという特徴があるため、伝送データ量を大きく削減できることをここに明記しておく。
【０２４２】
さらには、カメラアダプタ１２０ｂ又はカメラアダプタ１２０ｃは、重要度に応じて、次のカメラアダプタ１２０ｃまたはカメラアダプタ１２０ｄに対して出力する画像のフレームレートを変更してもよい。例えば、前景画像よりも背景画像の出力フレームレートが低くなるように、重要な撮影対象を含む前景画像は高フレームレートで出力し、撮影対象を含まない背景画像は低フレームレートで出力してもよい。この事によって更に次のカメラアダプタ１２０ｃまたはカメラアダプタ１２０ｄに伝送されるデータ量を削減する事ができる。またカメラ１１２の設置場所、撮影場所、及び／又はカメラ１１２の性能などに応じて、カメラアダプタ１２０毎に圧縮率や伝送フレームレートを変更してもよい。また、スタジアムの観客席等の三次元構造は図面を用いて事前に確認することができるため、カメラアダプタ１２０は背景画像から観客席の部分を除いた画像を伝送してもよい。これにより、後述のレンダリングの時点で、事前に生成したスタジアム三次元構造を利用することで試合中のプレーヤに重点化した画像レンダリングを実施し、システム全体で伝送及び記憶されるデータ量の削減ができるという効果が生まれる。
【０２４３】
次にカメラアダプタ１２０は、圧縮した前景画像及び背景画像を隣接するカメラアダプタ１２０に転送する（Ｆ０６３１０、Ｆ０６３１１、Ｆ０６３１２）。なお、本実施形態では前景画像及び背景画像は同時に転送されているが、其々が個別に転送されてもよい。
【０２４４】
次に、カメラアダプタ１２０ｂは、カメラアダプタ１２０ａから受信した前景画像と前景背景分離処理Ｆ０６３０５で分離した前景画像とを使用して三次元モデル情報を作成する（Ｆ０６３１３）。同様にカメラアダプタ１２０ｃも三次元モデル情報を作成する（Ｆ０６３１４）。
【０２４５】
次に、カメラアダプタ１２０ｂはカメラアダプタ１２０ａから受信した前景画像及び背景画像をカメラアダプタ１２０ｃへ転送する（Ｆ０６３１５）。カメラアダプタ１２０ｃも同様にカメラアダプタ１２０ｄへ前景画像及び背景画像を転送する。なお、本実施形態では前景画像及び背景画像は同時に転送されているが、其々が個別に転送されてもよい。
【０２４６】
さらに、カメラアダプタ１２０ｃは、カメラアダプタ１２０ａが作成し、カメラアダプタ１２０ｂから受信した前景画像及び背景画像をカメラアダプタ１２０ｄへ転送する（Ｆ０６３１７）。
【０２４７】
次に、各カメラアダプタ１２０ａ―１２０ｃは、作成した三次元モデル情報を其々次のカメラアダプタ１２０ｂ―１２０ｄへ転送する（Ｆ０６３１８、Ｆ０６３１９、Ｆ０６３２０）。
【０２４８】
さらに、カメラアダプタ１２０ｂ及び１２０ｃは、逐次受信した三次元モデル情報を次のカメラアダプタ１２０ｃ及び１２０ｄへ転送する（Ｆ０６３２１、Ｆ０６３２２）。さらに、カメラアダプタ１２０ｃは、カメラアダプタ１２０ａが作成し、カメラアダプタ１２０ｂから受信した三次元モデル情報をカメラアダプタ１２０ｄへ転送する（Ｆ０６３２３）。
【０２４９】
最終的に、カメラアダプタ１２０ａ―１２０ｄが作成した前景画像、背景画像、及び三次元モデル情報は、ネットワーク接続されたカメラアダプタ１２０間を逐次伝送され、フロントエンドサーバ２３０に伝送される。
【０２５０】
なお、本シーケンス図ではカメラアダプタ１２０ａ及びカメラアダプタ１２０ｄのキャリブレーション処理、前景背景分離処理、圧縮処理、及び三次元モデル情報作成処理については記載を省略している。しかし実際には、カメラアダプタ１２０ａ及びカメラアダプタ１２０ｄも、カメラアダプタ１２０ｂやカメラアダプタ１２０ｃと同様の処理を行い、前景画像、背景画像及び三次元モデル情報を作成している。また、ここでは４台のカメラアダプタ１２０間のデータ転送シーケンスについて説明したが、カメラアダプタ１２０の数が増えても同様の処理が行われる。
【０２５１】
ここまで説明したように、複数のカメラアダプタ１２０のうち、予め定められた順序において最後のカメラアダプタ１２０以外のカメラアダプタ１２０は、対応するカメラ１１２による撮影画像から所定領域を抽出する。そしてその抽出結果に基づく画像データを、上記の予め定められた順序において次のカメラアダプタ１２０へ出力する。一方、上記の予め定められた順序において最後のカメラアダプタ１２０は、抽出結果に基づく画像データを画像コンピューティングサーバ２００へ出力する。すなわち、複数のカメラアダプタ１２０はデイジーチェーンで接続され、各カメラアダプタ１２０が撮影画像から所定領域を抽出した結果に基づく画像データは、予め定められたカメラアダプタ１２０によって画像コンピューティングサーバ２００へ入力される。このようなデータの伝送方式を用いることで、画像処理システム１００内におけるセンサシステム１１０の数が変動した場合の、画像コンピューティングサーバ２００における処理負荷やネットワークの伝送負荷の変動を抑制することができる。また、カメラアダプタ１２０が出力する画像データは、上記の抽出結果に基づく画像データと、予め定められた順序において前のカメラアダプタ１２０による所定領域の抽出結果に基づく画像データとを用いて生成されるデータであってもよい。例えば、各カメラアダプタ１２０が自身による抽出結果と前のカメラアダプタ１２０による抽出結果の差分に基づく画像データを出力することで、システム内の伝送データ量を低減することができる。上記の順序において最後のカメラアダプタ１２０は、他のカメラ１１２による撮影画像から他のカメラアダプタ１２０により抽出された所定領域の画像データに基づく抽出画像データを上記の他のカメラアダプタ１２０から取得する。そして、自身が抽出した所定領域の抽出結果と、他のカメラアダプタ１２０から取得した抽出画像データとに応じた画像データを、仮想視点画像を生成するための画像コンピューティングサーバ２００に対して出力する。
【０２５２】
また、カメラアダプタ１２０は、カメラ１１２が撮影した画像を前景部分と背景部分に分け、例えばそれぞれの重要度に応じて圧縮率や伝送するフレームレートを変える。このことにより、カメラ１１２が撮影したデータの全てをフロントエンドサーバ２３０に伝送する場合よりも伝送量を低減する事ができる。また、三次元モデル生成に必要な三次元モデル情報を各カメラアダプタ１２０が逐次作成する。この事により、全てのデータをフロントエンドサーバ２３０に集結させ、サーバで全ての三次元モデル生成処理を行う場合と比較し、サーバの処理負荷を低減させる事ができ、よりリアルタイムに三次元モデル生成を可能とする事ができる。
【０２５３】
次に、カメラアダプタ１２０における逐次三次元モデル情報生成における、前景画像及び背景画像を生成し次のカメラアダプタ１２０へ転送する処理のフローついて図２４を使用して説明する。
【０２５４】
カメラアダプタ１２０は、自身に接続されているカメラ１１２から撮影画像を取得する（０６５０１）。
【０２５５】
次に、取得した撮影画像を前景画像及び背景画像に分離する処理を実施する（０６５０２）。なお、本実施形態における前景画像は、カメラ１１２から取得した撮影画像に対する所定オブジェクトの検出結果に基づいて決定される画像である。所定オブジェクトとは、例えば人物である。ただし、オブジェクトが特定人物（選手、監督、及び／又は審判など）であっても良いし、ボールやゴールなど、画像パターンが予め定められている物体であっても良い。また、オブジェクトとして、動体が検出されるようにしても良い。
【０２５６】
次に、分離した前景画像及び背景画像の圧縮処理を行う。前景画像に対してはロスレス圧縮が行われ、前景画像は高画質を維持する。背景画像に対してはロスあり圧縮が行われ、伝送データ量が削減される（０６５０３）。
【０２５７】
次にカメラアダプタ１２０は、圧縮した前景画像と背景画像を次のカメラアダプタ１２０へ転送する（０６５０４）。なお背景画像に関しては毎フレーム転送するのではなく転送フレームを間引いて転送してもよい。例えば、撮影画像が６０ｆｐｓである場合に、前景画像は毎フレーム伝送されるが、背景画像は１秒間の６０フレーム中１フレームのみが伝送される。これにより伝送データ量の削減を行う事ができる特有の効果がある。
【０２５８】
またカメラアダプタ１２０は、次のカメラアダプタ１２０へ前景画像及び背景画像を転送する際に、メタ情報を付与してもよい。例えば、カメラアダプタ１２０またはカメラ１１２の識別子や、フレーム内の前景画像の位置（ｘｙ座標）や、データサイズ、フレーム番号、及び撮影時刻などがメタ情報として付与される。また注視点を識別するための注視点グループ情報や、前景画像及び背景画像を識別するデータ種別情報などが付与されてもよい。但し付与されるデータの内容はこれらに限定される訳ではなく、他のデータが付与してもよい。
【０２５９】
なお、カメラアダプタ１２０がデイジーチェーンを通じてデータを伝送する際に、自身に接続されたカメラ１１２と相関の高いカメラ１１２の撮影画像のみを選択的に処理することで、カメラアダプタ１２０における伝送処理負荷を軽減することができる。また、デイジーチェーン伝送において、何れかのカメラアダプタ１２０において故障が発生してもカメラアダプタ１２０間のデータ伝送が停止しないようにシステムを構成することで、ロバスト性を確保できる。
【０２６０】
次に、カメラアダプタ１２０における三次元モデル情報生成処理フローにおける、隣のカメラアダプタ１２０からデータを受信した時の処理のフローについて図２５を使用して説明する。
【０２６１】
まずカメラアダプタ１２０は隣接するカメラアダプタ１２０からデータを受信する（Ｓ０６６０１）。カメラアダプタ１２０は自身の転送モードがバイパス制御モードか否かを判断する（Ｓ０６６０２）。なおバイパス制御については図２８で説明する。
【０２６２】
バイパス制御モードの場合は、カメラアダプタ１２０は、次のカメラアダプタ１２０へデータを転送する（Ｓ０６６１１）。バイパス制御モードでない場合は、受信したデータのパケットを解析する（Ｓ０６６０３）。
【０２６３】
カメラアダプタ１２０は、パケットを解析した結果、バイパス伝送制御対象のパケットであると判断した場合は（Ｓ０６６０４のＹｅｓ）、次のカメラアダプタ１２０へデータを転送する（Ｓ０６６１０）。バイパス伝送制御対象のパケットは、例えば三次元モデル情報生成に利用しない画像データまたは後述する制御メッセージや時刻補正に係わるメッセージである。なおバイパス伝送制御については図２７で説明する。
【０２６４】
カメラアダプタ１２０は、バイパス伝送制御対象ではないと判断した場合は、データ種別を判別し（Ｓ０６６０５）、データの種別に応じた処理を行う。
【０２６５】
データの種別が、制御ステーション３１０から自身のカメラアダプタ１２０宛ての制御メッセージパケットである場合、制御メッセージを解析し、解析結果に基づき処理を行う（Ｓ０６６０６）。制御メッセージの送信元が制御ステーション３１０でなく他のノードである場合も同様である。また、パケットが自身のカメラアダプタ１２０宛ての場合だけではなく、カメラアダプタ１２０が属する注視点グループ宛てである場合も同様である。また、カメラアダプタ１２０が行う処理の例としては、カメラアダプタ１２０に接続されるマイク１１１、カメラ１１２及び雲台１１３の制御や、カメラアダプタ１２０自身の制御がある。カメラアダプタ１２０は、制御メッセージの内容に応じて制御結果を送信元もしくは指示されたノードに対して返送する。またパケットがグループ宛ての制御メッセージの場合は次のカメラアダプタ１２０へ制御メッセージを転送する。
【０２６６】
次にカメラアダプタ１２０は、データ種別が時刻補正に係わる場合は時刻補正処理を行う（Ｓ０６６０７）。例えばタイムサーバ２９０との間でのＰＴＰ処理に基づき自身の時刻補正を行う。そして補正した時刻に基づきマイク１１１及びカメラ１１２へ供給するワードクロックの補正を行う。なお時刻の補正量が大きい場合にワードクロックのタイミングを一度に変更すると音声や画像品質に影響が出るため、予め設定された変更量に基づき徐々に時刻を補正する処理を行ってもよい。またカメラアダプタ１２０は、作成した三次元モデル情報及び三次元モデル情報作成に使用した前景画像などを、フロントエンドサーバ２３０に送信するために次のカメラアダプタ１２０へ転送する。
【０２６７】
次にカメラアダプタ１２０は、データ種別が前景画像または背景画像の場合に三次元モデル情報作成処理を行う（Ｓ０６６０８）。
【０２６８】
次に、注視点グループに応じた制御について説明する。図２６は、注視点グループを説明する図である。各カメラ１１２は光軸が特定の注視点０６３０２を向くように設置される。同じ注視点グループ０６３０１に分類されるカメラ１１２は、同じ注視点０６３０２を向くように設置される。
【０２６９】
図２６は、注視点Ａ（０６３０２Ａ）と注視点Ｂ（０６３０２Ｂ）の２つの注視点０６３０２が設定され、９台のカメラ（１１２ａ―１１２ｉ）が設置された場合の例である。４台のカメラ（１１２ａ、１１２ｃ、１１２ｅ及び１１２ｇ）は、同じ注視点Ａ（０６３０２Ａ）を向いており、注視点グループＡ（０６３０１Ａ）に属する。また、残りの５台のカメラ（１１２ｂ、１１２ｄ、１１２ｆ、１１２ｈ及び１１２ｉ）は、同じ注視点Ｂ（０６３０２Ｂ）を向いており、注視点グループＢ（０６３０１Ｂ）に属する。
【０２７０】
ここでは、同じ注視点グループ０６３０１に属するカメラ１１２の中で最も近い（接続ホップ数が小さい）カメラ１１２の組を論理的に隣接していると表現する。例えば、カメラ１１２ａとカメラ１１２ｂは、物理的には隣接しているが、異なる注視点グループ０６３０１に属するため論理的には隣接していない。カメラ１１２ａと論理的に隣接しているのは、カメラ１１２ｃである。一方、カメラ１１２ｈとカメラ１１２ｉは、物理的に隣接しているだけでなく、論理的にも隣接している。
【０２７１】
物理的に隣接するカメラ１１２が論理的にも隣接しているか否かにより、カメラアダプタ１２０で異なる処理が行われる。以下で具体的な処理について説明する。
【０２７２】
バイパス伝送制御について図２７を使用して説明する。バイパス伝送制御は、各カメラアダプタ１２０が属する注視点グループに応じて伝送データがバイパスされる機能である。外部機器制御部０６１４０、各画像処理部０６１３０、伝送部０６１２０、及びネットワークアダプタ０６１１０を構成する機能部の記載は省略している。
【０２７３】
画像処理システム１００において、カメラアダプタ１２０の台数や、どのカメラアダプタ１２０がどの注視点グループに属するかの設定は変更可能である。図２７では、注視点グループＡにカメラアダプタ１２０ｇ、カメラアダプタ１２０ｈ及びカメラアダプタ１２０ｎが属し、注視点グループＢにカメラアダプタ１２０ｉが属していることとする。
【０２７４】
ルート０６４５０はカメラアダプタ１２０ｇが作成した前景画像の伝送ルートを示しており、前景画像は最終的にフロントエンドサーバ２３０へ伝送される。本図では、背景画像、三次元モデル情報、及び制御メッセージや、カメラアダプタ１２０ｈ、カメラアダプタ１２０ｉ及びカメラアダプタ１２０ｎが作成した前景画像の記載は省略している。
【０２７５】
カメラアダプタ１２０ｈは、カメラアダプタ１２０ｇが作成した前景画像を、ネットワークアダプタ０６１１０ｈを介して受信し、伝送部０６１２０ｈによってルーティング先を決定する。伝送部０６１２０ｈは、受信した前景画像の作成元のカメラアダプタ１２０ｇが同じ注視点グループ（ここではグループＡ）に属していると判断すると、受信した前景画像を画像処理部０６１３０ｈへ転送する。画像処理部０６１３０ｈにおいて、カメラアダプタ１２０ｇが作成し送信した前景画像に基づいて三次元モデル情報を生成されると、カメラアダプタ１２０ｇの前景画像は次のカメラアダプタ１２０ｉに転送される。
【０２７６】
次にカメラアダプタ１２０ｉは、カメラアダプタ１２０ｈからカメラアダプタ１２０ｇが作成した前景画像を受信する。カメラアダプタ１２０ｉの伝送部０６１２０ｉはカメラアダプタ１２０ｇと自身が属する注視点グループが異なる事を判断すると、画像処理部０６１３０ｉには転送せず次のカメラアダプタ１２０に転送する。
【０２７７】
次にカメラアダプタ１２０ｎは、カメラアダプタ１２０ｇが作成した前景画像を、ネットワークアダプタ０６１１０ｎを介して受信し、伝送部０６１２０ｎによってルーティング先を決定する。伝送部０６１２０ｎは、カメラアダプタ１２０ｎがカメラアダプタ１２０ｇと同じ注視点グループであると判断する。しかし、画像処理部０６１３０ｎによりカメラアダプタ１２０ｇの前景画像が三次元モデル情報生成に必要な前景画像ではないと判断されると、前景画像はそのまま次のカメラアダプタ１２０にデイジーチェーンのネットワークを介して転送される。
【０２７８】
このように各カメラアダプタ１２０の伝送部０６１２０は、受信したデータが画像処理部０６１３０における画像処理による三次元モデル情報の作成に必要なデータか否かを判断する。画像処理に必要なデータではない、つまり自身のカメラアダプタ１２０との相関が低いデータであると判断すると、画像処理部０６１３０へデータを転送することなく、次のカメラアダプタ１２０に伝送する。つまり、デイジーチェーン１７０を介したデータの伝送において、各カメラアダプタ１２０で必要なデータが選択されて逐次三次元モデル情報を生成する処理が実施される。これによりカメラアダプタ１２０内でデータ受信してから転送するまでのデータ転送に係わる処理負荷及び処理時間を短縮する事ができる。
【０２７９】
次にカメラアダプタ１２０ｂのバイパス制御について図２８を使用してさらに詳しく説明する。なお外部機器制御部０６１４０、各画像処理部０６１３０、伝送部０６１２０、及びネットワークアダプタ０６１１０を構成する機能部の記載は省略している。
【０２８０】
バイパス制御とは、カメラアダプタ１２０ｂが、カメラアダプタ１２０ｃから受信したデータを、伝送部０６１２０のデータルーティング処理部０６１２２によるルーティング制御を行わずに次のカメラアダプタ１２０ａへ転送する機能である。
【０２８１】
例えばカメラアダプタ１２０ｂは、カメラ１１２ｂの状態が撮影停止中やキャリブレーション中、又はエラー処理中である場合に、ネットワークアダプタ０６１１０に対してバイパス制御を起動させる。また例えば、伝送部０６１２０または画像処理部０６１３０などの動作不良などが発生した場合にも、バイパス制御を起動させる。また、ネットワークアダプタ０６１１０が伝送部０６１２０の状態を検知し、能動的にバイパス制御モードに遷移してもよい。なお、伝送部０６１２０又は画像処理部０６１３０がエラー状態や停止状態にあることを検知するサブＣＰＵをカメラアダプタ１２０ｂに配備し、サブＣＰＵがエラー検知を行った場合にネットワークアダプタ０６１１０をバイパス制御にする処理を加えてもよい。これにより、各機能ブロックのフォールト状態とバイパス制御を独立して制御できる効果がある。
【０２８２】
また、カメラアダプタ１２０は、カメラ１１２の状態がキャリブレーション状態から撮影状態に遷移した場合や、伝送部０６１２０などが動作不良から復旧した場合に、バイパス制御モードから通常の通信モードに遷移してもよい。
【０２８３】
このバイパス制御機能により、カメラアダプタ１２０はデータ転送を高速に行う事ができ、また不慮の故障などが発生しデータルーティングに係わる判断ができない場合でも次のカメラアダプタ１２０ａへデータを転送する事ができる。
【０２８４】
本システムにおいては、前景画像、背景画像、および三次元モデル情報が、デイジーチェーンで接続された複数のカメラアダプタ１２０間を伝送されてフロントエンドサーバ２３０へ入力される。ここで、撮影画像内で前景領域が極端に多くなるイベント、例えば全選手が集う開会式などが撮影される場合には、伝送される前景画像のデータ量が通常の競技を撮影する場合よりも膨大になる。そこで、デイジーチェーンで伝送されるデータ量が伝送帯域を超過しないように制御するための方法を以下に示す。
【０２８５】
図２９および図３０を使用して、カメラアダプタ１２０において伝送部０６１２０がデータを出力する処理のフローについて説明する。図２９はカメラアダプタ１２０ａ、１２０ｂ及び１２０ｃ間のデータの流れを表している。カメラアダプタ１２０ａとカメラアダプタ１２０ｂ、及びカメラアダプタ１２０ｂとカメラアダプタ１２０ｃが其々接続されている。また、カメラアダプタ１２０ｂにはカメラ１１２ｂが接続されており、カメラアダプタ１２０ｃはフロントエンドサーバ２３０と接続されている。カメラアダプタ１２０ｂの伝送部０６１２０のデータ出力処理フローについて説明する。
【０２８６】
カメラアダプタ１２０ｂの伝送部０６１２０には、カメラ１１２ｂから撮影データ０６７２０が入力され、カメラアダプタ１２０ａから画像処理された入力データ０６７２１及び０６７２２が入力される。また伝送部０６１２０は、入力されたデータに対して、画像処理部０６１３０への出力、圧縮、フレームレートの設定、およびパケット化等の処理を行って、そのデータをネットワークアダプタ０６１１０に出力している。
【０２８７】
次に図３０を使用して伝送部０６１２０による出力処理フローについて説明する。伝送部０６１２０は、画像処理部０６１３０からの入力データ０６７２１及び０６７２０の各々について画像処理結果のデータ量を取得するステップ（Ｓ０６７０１）を実行する。
【０２８８】
次に、カメラアダプタ１２０ａからの入力データ０６７２２のデータ量を取得するステップ（Ｓ０６７０２）を実行する。次に、カメラアダプタ１２０ｃへの出力データ量導出について、入力データのデータ種別に応じて導出するステップ（Ｓ０６７０３）を実行する。
【０２８９】
次に伝送部０６１２０は、出力データ量と所定の伝送帯域制約量を比較し、伝送可能性を確認する。具体的には、ネットワークアダプタ０６１１０へ出力するデータ量が予め指定された出力データ量の閾値を超えるか否かを判断する（Ｓ０６７０４）。なお閾値はデータ種別（ここでは、前景画像、背景画像、全景フレームデータ、及び三次元モデル情報等があげられる）ごとに設けられてもよい。また出力するデータ量については、伝送部０６１２０でデータを圧縮する場合は圧縮結果に基づいて導出される。なお出力データ量の閾値はパケット化する際のヘッダ情報やエラー訂正情報等のオーバヘッドを考慮して設定されることが望ましい。
【０２９０】
伝送部０６１２０が、出力データ量が閾値を超えないと判断した場合は、入力データをネットワークアダプタ０６１１０へ出力する通常転送を行う（Ｓ０６７１２）。出力データ量が閾値を超えたと判断された場合（Ｓ６７０４のＹｅｓ）、伝送部０６１２０に入力されたデータが画像データの場合は出力データ量オーバ時のポリシーを取得する（Ｓ０６７０５）。そして、取得したポリシーに基づいて、以下で説明する複数の処理（Ｓ０６７０７−Ｓ０６７１１）の少なくとも何れかを選択して（Ｓ０６７０６）実行する。なお伝送部０６１２０は、画像データ以外の時刻補正に係わるデータや制御メッセージ係わるデータについては通常転送を行ってもよい。また、メッセージの種別や優先度に応じてメッセージをドロップしてもよい。出力データのデータ量を減らすことによってデータ転送のオーバーフローを抑止することができる。
【０２９１】
伝送部０６１２０が実行する処理の１つとして、画像データのフレームレートを落としてネットワークアダプタ０６１１０へ出力する（Ｓ０６７０７）。フレームを間引いて伝送することによりデータ量が削減される。ただし、動きの速いオブジェクトを追従する際には高フレームレートで出力する場合と比較し画質面で劣る虞があるため、対象となる撮影シーンに応じて本手法の適用可否が判断される。
【０２９２】
また別の処理として、伝送部０６１２０は、画像データの解像度を落としてネットワークアダプタ０６１１０へ出力する（Ｓ０６７０８）。この処理は出力画像の画質に影響するため、エンドユーザ端末の種別に応じてポリシー設定がされる。例えば、スマートフォンへ出力する場合は解像度を大きく落としてデータ量削減を行い、高解像度ディスプレイ等へ出力する場合は解像度を小さく落とす等の適応的な解像度変換に関するポリシー設定がされる。
【０２９３】
また別の処理として、伝送部０６１２０は、画像データの圧縮率を上げてネットワークアダプタ０６１１０へ出力する（Ｓ０６７０９）。ここでは、入力画像データに対して、ロスレス圧縮、あるいはロッシー圧縮等の復元性能要求、つまり、画像品質の要求に応じてデータ量削減が図られる。
【０２９４】
また別の処理として、伝送部０６１２０は、画像処理部０６１３０からの撮影データ０６７２０の出力を停止する（Ｓ０６７１０）。ここでは、画像処理を施した画像データの出力を停止してデータ量削減を図る。十分な台数のカメラ１１２が配備されている場合は、仮想視点画像の生成において、同一注視点グループのカメラ１１２がすべて必須ではない場合がある。例えばスタジアムのフィールド全体を撮影する上でカメラ１１２を削減しても死角が発生しないことを事前に把握できている場合に本制御が適用される。つまり、後工程での画像の破綻が起きないことを条件とし、画像データの送信を行わないカメラを選定することで伝送帯域を確保することができる。
【０２９５】
また別の処理として、伝送部０６１２０は、画像処理部０６１３０からの入力データ０６７２１の出力を停止するかまたはそのうちの一部のカメラアダプタ１２０の画像の出力のみ停止する（Ｓ０６７１１）。上記に加えて、他のカメラアダプタ１２０からの入力画像を利用して三次元モデル情報を生成できた場合は、他のカメラアダプタ１２０からの前景画像や背景画像の出力を停止して、三次元モデル情報のみを出力制御することでデータ量削減を図ってもよい。
【０２９６】
出力データのデータ量を減らすのに使用された方法は後段のフロントエンドサーバ２３０を介してバックエンドサーバ２７０、仮想カメラ操作ＵＩ３３０、制御ステーション３１０へ通知される（Ｓ０６７１３）。本実施形態では、ポリシーに応じてフレームレート、解像度、圧縮率、及びデータ停止等の制御処理の何れかが行われるようにフローが分岐しているがこれに限定されるものではない。これらの制御のうち複数を組み合わせで実行することでさらなるデータ量削減効果が得られることを明記しておく。また、Ｓ０６７１３において本制御処理の通知が行われる。この通知により、仮想カメラ操作ＵＩ３３０において、例えば、圧縮率を上げた結果、画像品質面で十分な解像度が得られない場合はズーム操作に制約を設けることができる。さらに、伝送帯域制約量オーバ処理後も、逐次出力データ量の超過をチェックし、データ量が安定したら伝送処理のポリシーを元の設定値に戻すことができることをここに示す。
【０２９７】
このように、デイジーチェーンの伝送帯域を超過するという課題に対して、状態に応じた伝送制御処理を行うことで、伝送帯域制約を満たす伝送を実現できるという効果がある。
【０２９８】
次に図３１のフローチャートに従って、撮影時ワークフローのＳ１５００及びＳ１６００におけるフロントエンドサーバ２３０の動作について説明する。
【０２９９】
制御部０２１１０は、制御ステーション３１０から撮影モードに切り替える指示を受信し、撮影モードに切り替える（Ｓ０２３００）。撮影が開始されると、データ入力制御部０２１２０はカメラアダプタ１２０からの撮影データの受信を開始する（Ｓ０２３１０）。
【０３００】
撮影データは、データ同期部０２１３０によってファイル作成に必要な撮影データが全て揃うまでバッファされる（Ｓ０２３２０）。フローチャート上は明記していないが、ここでは撮影データに付与されている時間情報が一致するかどうかや、所定台数のカメラが充足しているかどうかが判定される。またカメラ１１２の状態によっては、キャリブレーション中やエラー処理中であることによって画像データが送られない場合がある。この場合は、所定のカメラ番号の画像が抜けていることが後段のデータベース２５０転送（Ｓ２３７０）の中で通知される。ここで、所定カメラ台数の充足を判定するために、撮影データの到着を所定時間待つ方法がある。しかし本実施形他では、システム一連の処理の遅延を抑制するために、各カメラアダプタ１２０がデイジーチェーンによってデータを伝送する際に、各カメラ番号に対応する画像データの有無を示す情報を付与する。これにより、フロントエンドサーバ２３０の制御部０２１１０において即時判断が可能となる。これによって、撮影データの到着待ち時間を設定する必要がなくなる効果が得られることをここに明記しておく。
【０３０１】
データ同期部０２１３０によってファイル作成に必要なデータがバッファリングされた後、ＲＡＷ画像データの現像処理やレンズ歪み補正、前景画像及び背景画像の各カメラで撮影された画像間の色や輝度値を合わせるなどの各種変換処理が行われる。（Ｓ０２３３０）
データ同期部０２１３０によってバッファリングされたデータが背景画像を含む場合は背景画像の結合処理（Ｓ０２３４０）が行われ、背景画像を含まない場合は三次元モデルの結合処理（Ｓ０２３５０）が行われる（Ｓ０２３３５）。
【０３０２】
Ｓ０２３３０に於いて画像処理部０２１５０が処理した背景画像を画像結合部０２１７０が取得する。そして、Ｓ０２２３０でＣＡＤデータ記憶部０２１３５が保存したスタジアム形状データの座標に合わせて背景画像をつなぎ合わせて、結合した背景画像を撮影データファイル生成部に送る（Ｓ０２３４０）。
【０３０３】
データ同期部０２１３０から三次元モデルを取得した三次元モデル結合部０２１６０は三次元モデルデータとカメラパラメータを使って前景画像の三次元モデルを生成する（Ｓ０２３５０）。
【０３０４】
Ｓ０２３５０までの処理によって作成された撮影データを受け取った撮影データファイル生成部０２１８０は、撮影データをファイル形式に応じて成形してからパッキングする。その後、ＤＢアクセス制御部０２１９０に作成したファイルを送る（Ｓ０２３６０）。ＤＢアクセス制御部０２１９０は、Ｓ０２３６０で撮影データファイル生成部０２１８０から受け取った撮影データファイルを、データベース２５０に送信する（Ｓ０２３７０）。
【０３０５】
次に、撮影時ワークフローのＳ１５００及びＳ１６００の仮想視点画像生成におけるデータベース２５０の動作に関して、図３２のフローチャートに従って特にデータの書き込みの動作について説明する。
【０３０６】
フロントエンドサーバ２３０から撮影データがデータベース２５０のデータ入力部０２４２０に入力される。データ入力部０２４２０は入力された撮影データにメタ情報として紐づいている時刻情報あるいはタイムコード情報を抽出し、入力された撮影データが時刻ｔ１の撮影データであることを検出する（Ｓ２８１０）。
【０３０７】
データ入力部０２４２０は入力された時刻ｔ１の撮影データをキャッシュ０２４４０に送り、キャッシュ０２４４０は時刻ｔ１の撮影データをキャッシュする（Ｓ０２８２０）。
【０３０８】
データ入力部０２４２０は時刻ｔ１のＮフレーム前の撮影データ、すなわち時刻ｔ１−Ｎの撮影データがキャッシュされているか否かを判断し、キャッシュ済みであればＳ０２８３０、キャッシュされていなければ処理を終了する。（Ｓ０２８２５）なお、Ｎはフレームレートによって可変となる。ここで記載されるｔ１−Ｎは、ｔ１からフレーム単位時間のＮ倍だけ前の時間であってもよいし、時刻ｔ１のフレームよりＮフレームだけ前のタイムコードであってもよい。
【０３０９】
キャッシュ０２４４０は時刻ｔ１の撮影データをキャッシュすると、キャッシュ済みの時刻ｔ１−Ｎの撮影データを一次ストレージ上に転送し、一次ストレージ０２４５０はキャッシュ０２４４０から送られた時刻ｔ１−Ｎの撮影データを記録する。（Ｓ０２８３０）これにより、高速アクセス可能なキャッシュの容量制限に応じて、所定時刻よりも前のフレームが一次ストレージに逐次保管されていく。これは例えば、キャッシュ０２４４０をリングバッファ構造にすることで実現することができる。
【０３１０】
続いて、撮影時ワークフローのＳ１５００及びＳ１６００の仮想視点画像生成におけるデータベース２５０の動作に関して、図３３のフローチャートに従って特にデータの読み出しの動作について説明する。
【０３１１】
バックエンドサーバ２７０はデータ出力部０２４３０に対して、タイムコードが時刻ｔに対応するデータを要求する。（Ｓ０２８１０）データ出力部０２４３０は時刻ｔのデータをキャッシュ０２４４０が保持しているか一次ストレージ０２４５０が保持しているか判断し、どちらからデータを読み出すかを決定する。（Ｓ０２８２０）例えば、先に説明した図３２と同じく、時刻ｔ１がデータ入力部０２４２０に撮影データが入力された時刻であった場合、時刻ｔが時刻ｔ１−Ｎより前の時刻であれば一次ストレージからデータが読み出される。（Ｓ０２８３０）時刻ｔが時刻ｔ１−Ｎとｔ１の間の時刻であればキャッシュ上から読み出される。（Ｓ０２８４０）時刻ｔが時刻ｔ１より後の時刻である場合はデータ出力部０２４３０はバックエンドサーバ２７０に対してエラー通知を行う。（Ｓ０２８５０）
つぎに、カメラアダプタ１２０の画像処理部０６１３０の処理フローについて、図３５（Ａ）、図３５（Ｂ）、図３５（Ｃ）、図３５（Ｄ）、及び図３５（Ｅ）の各フローチャートを用いて説明する。
【０３１２】
図３５（Ａ）の処理に先だち、キャリブレーション制御部０６１３３は入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理やカメラの振動に起因する画像のブレを低減させて画像を安定させるブレ補正処理（電子防振処理）などを行う。色補正処理では、フロントエンドサーバ２３０から受信したパラメータに基づいて、入力画像の画素値にオフセット値を加算するなどの処理が行われる。またブレ補正処理では、カメラに内蔵された加速度センサあるいはジャイロセンサなどのセンサからの出力データに基づき画像のブレ量が推定される。そして推定されたブレ量に基づいて入力画像に対する画像位置のシフトや画像の回転処理が行われることで、フレーム画像間のブレが抑制される。なおブレ補正の手法としてはその他の方法を用いてもよい。例えば、時間的に連続した複数のフレーム画像を比較することで画像の移動量を推定し補正するような画像処理による方法や、レンズシフト方式及びセンサシフト方式などのカメラの内部で実現する方法等でもよい。
【０３１３】
背景更新部０５００３は、入力画像と、メモリに保存されている背景画像とを用いて、背景画像０５００２を更新する処理を行う。背景画像の一例を図３４（Ａ）に示す。更新処理は各画素に対して行われる。その処理フローを図３５（Ａ）に示す。
【０３１４】
まず背景更新部０５００３は、Ｓ０５００１で、入力画像の各画素に対して、背景画像内の対応する位置にある画素との差分を導出する。つぎに、Ｓ０５００２で、差分が定められた閾値Ｋより小さいかどうか判定する。差分がＫより小さい場合にはその画素は背景であるという判断がされる（Ｓ５００２のＹＥＳ）。つぎに背景更新部０５００３は、Ｓ０５００３で、入力画像の画素値と背景画像の画素値とを一定の比率で混合した値を導出する。そしてＳ０５００４で、背景画像内の画素値を導出した値で更新する。
【０３１５】
一方、背景画像である図３４（Ａ）に対して人物が映っている例を図３４（Ｂ）に示す。このような場合には、人物が位置している画素に着目すると、背景に対して画素値の差分が大きくなり、Ｓ０５００２において差分がＫ以上となる。その場合には画素値の変化が大きいので背景以外の何らかのオブジェクトが映っているという判断がされて、背景画像０５００２の更新は行われない（Ｓ０５００２のＮＯ）。なお背景更新処理については他にも様々な手法が考えられる。
【０３１６】
次に背景切出部０５００４は、背景画像０５００２からその一部を読み出し、伝送部０６１２０へ送信する。スタジアム等でサッカーなどの競技を撮影する際に、フィールド全体を死角なく撮影できるようカメラ１１２を複数配置した場合、カメラ１１２間で背景情報の大部分が重複するという特徴がある。背景情報は膨大なため、伝送帯域制約の面から重複した部分は削除して伝送することで伝送量を削減することができる。その処理の流れを図３５（Ｄ）に示す。Ｓ０５０１０で、背景切出部０５００４は、例えば図３４（Ｃ）に示した点線で囲まれた部分領域３４０１のように、背景画像の中央部分を設定する。つまり、本部分領域３４０１は自カメラ１１２が伝送を担当する背景領域であり、それ以外の背景領域は、他のカメラ１１２によって伝送を担当される。Ｓ０５０１１で背景切出部０５００４は、設定された背景画像の部分領域３４０１を読み出す。そしてＳ０５０１２で伝送部０６１２０へ出力する。出力された背景画像は画像コンピューティングサーバ２００に集められ、背景モデルのテクスチャとして利用される。各カメラアダプタ１２０において背景画像０５００２を切出す位置は、背景モデルに対するテクスチャ情報が不足しないように、予め決められたパラメータ値に応じて設定されている。通常は伝送データ量をより少なくするため、切出す領域は必要最小限となるように設定される。これにより、膨大な背景情報の伝送量を削減できるという効果があり、高解像度化にも対応できるシステムにすることができる。
【０３１７】
次に前景分離部０５００１では、前景領域（人物などのオブジェクト）を検出する処理が行われる。画素毎に実行される前景領域検出処理の流れを図３５（Ｂ）に示す。前景の検出については、背景差分情報を用いる方法が用いられる。まずＳ０５００５で、前景分離部０５００１は、新たに入力された画像の各画素と、背景画像０５００２内の対応する位置にある画素との差分を導出する。そしてＳ０５００６で差分が閾値Ｌより大きいかどうか判定する。ここで、図３４（Ａ）に示した背景画像０５００２に対して、新たに入力された画像が例えば図３４（Ｂ）のようになっているものとすると、人物が映っている領域の各画素においては差分が大きくなる。差分が閾値Ｌより大きい場合にはＳ０５００７で、その画素が前景として設定される。なお背景差分情報を用いる前景の検出方法においては、前景をより高精度に検出するための様々な工夫が考えられている。また前景検出についてはその他にも、特徴量や機械学習を用いる手法などさまざまな手法がある。
【０３１８】
前景分離部０５００１は、以上図３５（Ｂ）で説明した処理を入力された画像の画素毎に実行した後、前景領域をブロックとして決定して出力する処理を行う。処理の流れを図３５（Ｃ）に示す。Ｓ０５００８においては、前景領域を検出した画像に対して、複数の画素が連結した前景領域を１つの前景画像として設定する。画素が連結した領域を検出する処理としては例えば領域成長法を用いる。領域成長法は公知のアルゴリズムであるため詳細な説明は省く。Ｓ０５００８で前景領域がそれぞれ前景画像としてまとめられた後、Ｓ０５００９で順次各前景画像が読み出されて伝送部０６１２０へ出力される。
【０３１９】
次に三次元モデル情報生成部０６１３２では、前景画像を用いて三次元モデル情報の生成を行う。カメラアダプタが隣のカメラからの前景画像を受信すると、伝送部０６１２０を介して他カメラ前景受信部０５００６にその前景画像が入力される。前景画像が入力されたときに三次元モデル処理部０５００５が実行する処理の流れを図３５（Ｅ）に示す。ここで、画像コンピューティングサーバ２００がカメラ１１２の撮影画像データが集め、画像処理を開始し仮想視点画像を生成する場合に、計算量が多く画像生成に係る時間が長くなる場合が考えられる。とくに三次元モデル生成における計算量が顕著に大きくなる虞がある。そこで図３５（Ｅ）では、画像コンピューティングサーバ２００における処理量を低減するために、カメラアダプタ１２０間をデイジーチェーンつないでデータを伝送する中で逐次三次元モデル情報を生成する方法について説明する。
【０３２０】
まずＳ０５０１３で三次元モデル情報生成部０６１３２は、他のカメラ１１２により撮影された前景画像を受信する。つぎに三次元モデル情報生成部０６１３２は、０５０１４では、受信した前景画像を撮影したカメラ１１２が自カメラ１１２と同一注視点のグループに属し、且つ、隣接カメラであるかどうかを確認する。Ｓ０５０１４がＹＥＳの場合はＳ０５０１５に進む。ＮＯの場合は、当該他カメラ１１２の前景画像との相関がないと判断し、処理を行わず終了する。また、Ｓ０５０１４において、隣接カメラであるかどうかの確認が行われているが、カメラ１１２間の相関の判断方法はこれに限らない。例えば、三次元モデル情報生成部０６１３２が事前に相関のあるカメラ１１２のカメラ番号を入手及び設定し、そのカメラ１１２の画像データが伝送された場合のみ画像データを取り込んで処理する方法でも、同様の効果が得られる。
【０３２１】
次にＳ０５０１５では、三次元モデル情報生成部０６１３２は、前景画像のデプス情報の導出を行う。具体的には、まず前景分離部０５００１から受信した前景画像と他のカメラ１１２の前景画像との対応付けを行い、次に対応付けされた各画素の座標値とカメラパラメータに基づいて、各前景画像上の各画素のデプス情報を導出する。ここで画像の対応付けの手法としては例えばブロックマッチング法が用いられる。ブロックマッチング法は良く知られた方法であるので詳細な説明は省く。また対応付けの方法としてはその他にも、特徴点検出、特徴量算出、及びマッチング処理などを組み合わせて性能を向上させるようなさまざまな手法があり、どの手法を用いてもよい。
【０３２２】
次にＳ０５０１６で、三次元モデル情報生成部０６１３２は、前景画像の三次元モデル情報を導出する。具体的には、前景画像の各画素について、Ｓ０５０１５で導出したデプス情報とカメラパラメータ受信部０５００７に格納されたカメラパラメータに基づいて画素の世界座標値を導出する。そして世界座標値と画素値をセットとして、点群として構成される三次元モデルの１つの点データを設定する。以上の処理により、前景分離部０５００１から受信した前景画像から得られた三次元モデルの一部の点群情報と、他のカメラ１１２の前景画像から得られた三次元モデルの一部の点群情報とが得られる。そしてＳ０５０１７で、三次元モデル情報生成部０６１３２は、得られた三次元モデル情報にカメラ番号およびフレーム番号をメタ情報として付加し（メタ情報は例えば、タイムコードや絶対時刻でもよい。）伝送部０６１２０へ出力する。
【０３２３】
これにより、カメラアダプタ１２０間がデイジーチェーンで接続され且つ複数の注視点が設定される場合でも、デイジーチェーンによってデータを伝送しながら、カメラ１１２間の相関に応じて画像処理を行い、三次元モデル情報を逐次生成することができる。その結果、処理が高速化される効果がある。
【０３２４】
なお本実施形態では、以上に説明した各処理はカメラアダプタ１２０に実装されたＦＰＧＡまたはＡＳＩＣなどのハードウェアによって実行されるが、例えばＣＰＵ、ＧＰＵ、ＤＳＰなどを用いてソフトウェア処理によって実行してもよい。また本実施形態ではカメラアダプタ１２０内で三次元モデル情報生成を実行したが、各カメラ１１２からの全ての前景画像が集められる画像コンピューティングサーバ２００が三次元モデル情報の生成を行ってもよい。
【０３２５】
次に、データベース２５０に蓄積されたデータに基づいてバックエンドサーバ２７０が、ライブ画像生成及びリプレイ画像生成を行い、生成された画像をエンドユーザ端末１９０に表示させる処理について説明する。なお、本実施形態のバックエンドサーバ２７０は、ライブ画像及びリプレイ画像として、仮想視点コンテンツを生成する。本実施形態において、仮想視点コンテンツとは、複数のカメラ１１２による撮影画像を複数視点画像として用いて生成されるコンテンツである。すなわち、バックエンドサーバ２７０は、例えば、ユーザ操作に基づいて指定された視点情報に基づいて、仮想視点コンテンツを生成する。また、本実施形態では仮想視点コンテンツに音声データ（オーディオデータ）が含まれる場合の例を中心に説明しているが、必ずしも音声データが含まれていなくても良い。
【０３２６】
ユーザが仮想カメラ操作ＵＩ３３０を操作して視点を指定した場合に、指定された視点位置（仮想カメラの位置）に対応する画像を生成するためのカメラ１１２による撮影画像がない、あるいは解像度が十分でない、あるいは画質が低い場合が考えられる。その際に、ユーザへの画像提供の条件を満たせないことが画像生成の段階まで判定できないと、オペレータの操作性が損なわれる虞がある。以下ではこの虞を低減する方法について説明する。
【０３２７】
図３６は、オペレータ（ユーザ）による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作ＵＩ３３０、バックエンドサーバ２７０及びデータベース２５０の処理フローを示す。
【０３２８】
まず、オペレータが仮想カメラを操作するために入力装置を操作する（Ｓ０３３００）。
入力装置として例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどが用いられる。
【０３２９】
仮想カメラ操作ＵＩ３３０において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される（Ｓ０３３０１）。
仮想カメラパラメータには、仮想カメラの位置と姿勢などを示す外部パラメータ、および仮想カメラのズーム倍率などを示す内部パラメータが含まれる。
仮想カメラ操作ＵＩ３３０は、導出した仮想カメラパラメータをバックエンドサーバ２７０に送信する。
【０３３０】
バックエンドサーバ２７０は、仮想カメラパラメータを受信するとデータベース２５０に対して前景三次元モデル群を要求する（Ｓ０３３０３）。データベース２５０は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ２７０に送信する（Ｓ０３３０４）。
【０３３１】
バックエンドサーバ２７０は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する（Ｓ０３３０５）。
【０３３２】
バックエンドサーバ２７０は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース２５０に要求する（Ｓ０３３０６）。
データベース２５０は、要求に応じてデータをバックエンドサーバ２７０に送信する（Ｓ０３３０７）。
【０３３３】
バックエンドサーバ２７０は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する。
また、音声データ群に基づいて仮想カメラの位置に応じた音声データの合成を行い、仮想視点の全景画像と統合して仮想視点の画像及び音声を生成する（Ｓ０３３０８）。
【０３３４】
バックエンドサーバ２７０は、生成した仮想視点の画像及び音声を仮想カメラ操作ＵＩ３３０に送信する（Ｓ０３３０９）。仮想カメラ操作ＵＩ３３０は受信した画像を表示することで仮想カメラの撮影画像の表示を実現する。
【０３３５】
図３８（ａ）は、仮想カメラ操作ＵＩ３３０がライブ画像を生成する際の処理手順を説明するフローチャートである。
【０３３６】
Ｓ０８２０１で、オペレータが仮想カメラ０８００１を操作するために入力装置に対して入力された操作情報を取得する。Ｓ０８２０２で、仮想カメラ操作部０８１０１が、オペレータの操作が仮想カメラ０８００１の移動や回転であるか否かを判定する。ここでの移動や回転は１フレームごとに行われる。移動や回転であると判定された場合はＳ０８２０３へ進む。そうでないと判定された場合はＳ０８２０５へ進む。ここで、移動操作及び回転操作と軌跡選択操作とで処理が分岐する。これにより、時間を停止させて視点位置を回転させる画像表現と連続的な動きを表現する画像表現とを簡便な操作で切り替えることが可能になるという効果がある。
【０３３７】
Ｓ０８２０３で、図３８（ｂ）で説明する１フレーム分の処理を行う。Ｓ０８２０４で、仮想カメラ操作ＵＩ３３０はオペレータが終了操作を入力したか否かを判定する。終了操作が入力された場合は処理を終了する。終了しなかった場合はＳ０８２０１へ戻る。
【０３３８】
つぎにＳ０８２０５で、仮想カメラ操作部０８１０１は、オペレータによって軌跡（仮想カメラパス）の選択操作が入力されたか否かを判定する。例えば、軌跡は複数フレーム分の仮想カメラ０８００１の操作情報の列で表すことができる。軌跡の選択操作が入力されたと判定された場合はＳ０８２０６へ進む。そうでないと判定された場合はＳ０８２０１へ戻る。
【０３３９】
Ｓ０８２０６で、仮想カメラ操作ＵＩ３３０は、選択された軌跡から次のフレームの操作を取得する。Ｓ０８２０７で、図３８（ｂ）で説明する１フレーム分の処理を行う。Ｓ０８２０８で、選択された軌跡のすべてのフレームに対する処理が終了したか否かを判定する。終了した場合はＳ０８２０４へ進む。終了していない場合はＳ０８２０６へ戻る。
【０３４０】
図３８（ｂ）は、Ｓ０８２０３およびＳ０８２０６における１フレーム分の処理を説明するフローチャートである。
【０３４１】
Ｓ０８２０９で、仮想カメラパラメータ導出部０８１０２が、位置や姿勢が変更された後の、仮想カメラパラメータを導出する。Ｓ０８２１０で、衝突判定部０８１０４が、衝突判定を行う。衝突した、つまり、仮想カメラ制約が満たされていない場合はＳ０８２１４へ進む。衝突していない、つまり、仮想カメラ制約が満たされている場合はＳ０８２１１へ進む。
【０３４２】
このように、仮想カメラ操作ＵＩ３３０において、衝突判定が行われる。そして判定結果に応じて、例えば操作部をロックする、あるいは色が異なるメッセージ表示をして警告する等の処理が行われることで、オペレータに対するフィードバックの即時性を高めることができる。これにより、結果的にオペレータの操作性向上につながるという効果があることを明記しておく。
Ｓ０８２１１で、仮想カメラパス管理部０８１０６が、仮想カメラパラメータをバックエンドサーバ２７０へ送信する。Ｓ０８２１２で、仮想カメラ画像・音声出力部０８１０８が、バックエンドサーバ２７０から受信した画像を出力する。
【０３４３】
Ｓ０８２１４で、仮想カメラ制約を満たすように仮想カメラ０８００１の位置や姿勢が修正される。例えば、ユーザによる最新の操作入力がキャンセルされ、仮想カメラパラメータが１フレーム前の状態に戻される。これによりオペレータは、例えば軌跡入力が行われて衝突が発生した場合などに、最初から操作入力をやり直さずに、衝突が発生したところからインタラクティブに操作入力を補正することが可能となり、操作性が向上される効果がある。
【０３４４】
Ｓ０８２１５で、フィードバック出力部０８１０５が、仮想カメラ制約を満たさないことを、オペレータに通知する。通知は音、メッセージ、及び仮想カメラ操作ＵＩ３３０をロックさせる等の方法により行う。また、通知方法はこれに限定するものではない。
【０３４５】
図３９は、仮想カメラ操作ＵＩ３３０がリプレイ画像を生成する際の処理手順を説明するフローチャートである。
【０３４６】
Ｓ０８３０１で、仮想カメラパス管理部０８１０６が、ライブ画像の仮想カメラパス０８００２を取得する。Ｓ０８３０２で、仮想カメラパス管理部０８１０６は、ライブ画像の仮想カメラパス０８００２から、開始点と終了点を選択するためのオペレータの操作を受け付ける。例えば、ゴールシーン前後の１０秒分の仮想カメラパス０８００２が選択されうる。ライブ画像が６０フレーム／秒の場合は、１０秒分の仮想カメラパス０８００２に、６００個の仮想カメラパラメータが含まれる。このようにフレーム毎に仮想カメラパラメータ情報が紐づけられて管理される。
【０３４７】
Ｓ０８３０３で、選択された１０秒分の仮想カメラパス０８００２が、リプレイ画像の仮想カメラパス０８００２の初期値として保存される。また、Ｓ０８３０７からＳ０８３０９の処理により、仮想カメラパス０８００２が編集された場合は、編集した結果が上書き保存される。
【０３４８】
Ｓ０８３０４で、仮想カメラ操作ＵＩ３３０は、オペレータにより入力された操作が再生操作であるか否かを判定する。再生操作の場合はＳ０８３０５へ進む。再生操作でない場合はＳ０８３０７へ進む。
【０３４９】
Ｓ０８３０５で、再生する範囲の選択に関するオペレータ入力を受け付ける。Ｓ０８３０６で、オペレータにより選択された範囲の画像及び音声が再生される。具体的には、仮想カメラパス管理部０８１０６が、選択された範囲の仮想カメラパス０８００２をバックエンドサーバ２７０へ送信する。すなわち、仮想カメラパス０８００２に含まれる仮想カメラパラメータを順に送信する。そして仮想カメラ画像・音声出力部０８１０８が、バックエンドサーバ２７０から受信した仮想視点画像及び仮想視点音声を出力する。
【０３５０】
Ｓ０８３０７で、仮想カメラ操作ＵＩ３３０は、オペレータにより入力された操作が編集操作であるか否かを判定する。編集の場合はＳ０８３０８へ進む。編集でない場合はＳ０８３１０へ進む。
【０３５１】
Ｓ０８３０８で、仮想カメラ操作ＵＩ３３０は、編集範囲としてオペレータにより選択された範囲を特定する。Ｓ０８３０９で、Ｓ０８３０６と同様の処理により、選択された編集範囲の画像及び音声が再生される。ただし、その際に仮想カメラ操作部０８１０１を用いて仮想カメラ０８００１が操作された場合、その結果を反映する。つまり、ライブ画像とは異なる視点の画像となるように、リプレイ画像を編集することが可能である。また、スロー再生や停止を行うようにリプレイ画像を編集してもよい。例えば、時間を停止し、視点を動かすという編集も可能である。
【０３５２】
Ｓ０８３１０で、仮想カメラ操作ＵＩ３３０は、オペレータにより入力された操作が終了操作であるか否かを判定する。終了の場合はＳ０８３１１へ進む。終了でない場合はＳ０８３０４へ進む。
【０３５３】
Ｓ０８３１１で、編集が終わった仮想カメラパス０８００２がバックエンドサーバ２７０へ送信される。
【０３５４】
図４０は、仮想カメラ操作ＵＩ３３０を用いて生成された複数の仮想カメラ画像の中から所望の仮想カメラ画像をユーザが選択して鑑賞するための処理手順を説明するフローチャートである。例えば、ユーザはエンドユーザ端末１９０を用いて、仮想カメラ画像を鑑賞する。なお、仮想カメラパス０８００２は画像コンピューティングサーバ２００に蓄積されていてもよいし、それとは異なるＷｅｂサーバ（不図示）に蓄積されていてもよい。  
【０３５５】
Ｓ０８４０１で、エンドユーザ端末１９０は、仮想カメラパス０８００２のリストを取得する。各仮想カメラパス０８００２には、サムネイルやユーザの評価などが付加されていてもよい。また、Ｓ０８４０１において、エンドユーザ端末１９０には、仮想カメラパス０８００２のリストが表示される。
Ｓ０８４０２で、エンドユーザ端末１９０は、ユーザによりリストの中から選択された仮想カメラパス０８００２に関する指定情報を取得する。
【０３５６】
Ｓ０８４０３で、エンドユーザ端末１９０は、ユーザにより選択された仮想カメラパス０８００２をバックエンドサーバ２７０に送信する。バックエンドサーバ２７０は受信した仮想カメラパス０８００２から仮想視点画像及び仮想視点音声を生成し、エンドユーザ端末１９０へ送信する。
Ｓ０８４０４で、エンドユーザ端末１９０は、バックエンドサーバ２７０から受信した仮想視点画像及び仮想視点音声を出力する。
【０３５７】
このように、仮想カメラパスのリストを蓄積し、後から仮想カメラパスを使って画像を再現可能にすることによって、仮想視点画像を常に蓄積し続ける必要がなくなり、蓄積装置コストを削減することが可能になる。さらに、優先度の高い仮想カメラパスの画像生成を要求された場合に、優先度の低い仮想カメラパス画像生成の順序を後にして対応することもできる。また、仮想カメラパスをＷｅｂサーバで公開する場合には、Ｗｅｂに接続されるエンドユーザに対して、仮想視点画像を提供したり、共有させたりすることが可能になり、ユーザに対するサービス性を向上させる効果があることをここに明記しておく。
【０３５８】
エンドユーザ端末１９０で表示される画面について説明する。図４１（イラストの著作者：Ｖｅｃｔｏｒ  Ｏｐｅｎ  Ｓｔｏｃｋ，  利用許諾：ｈｔｔｐ：／／ｃｒｅａｔｉｖｅｃｏｍｍｏｎｓ．ｏｒｇ／ｌｉｃｅｎｓｅｓ／ｂｙ／２．１／ｊｐ／ｌｅｇａｌｃｏｄｅ）は、エンドユーザ端末１９０が表示する表示画面４１００１の一例である。
【０３５９】
エンドユーザ端末１９０が、画像が表示される領域４１００２に、バックエンドサーバ２７０から入力された画像を順次表示することで、視聴者（ユーザ）は、サッカーの試合などの仮想視点画像を視聴可能となる。視聴者は、この表示画像に応じてユーザ入力機器を操作することにより、画像の視点の切り替えを行う。例えば、ユーザがマウスを左方向に移動させると、表示される画像における左の方向に視点が向いた画像が表示される。マウスを上方向に移動させると、表示される画像における上の方向を見上げた画像が表示される。
【０３６０】
画像表示の領域４１００２とは別の領域には、手動操縦と自動操縦を切り換えることが可能なＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）のボタン４１００３及びボタン４１００４が設けられる。これに対する操作を行うことで、視聴者自身が視点の変更を行い視聴するか、予め設定された視点で視聴するかを視聴者が選択できる。
【０３６１】
例えば、あるエンドユーザ端末１９０がユーザの手動操縦による視点の切り替え結果を表す視点操作情報を画像コンピューティングサーバ２００やＷｅｂサーバ（不図示）に逐次アップロードする。そして、別のエンドユーザ端末１９０を操作するユーザがその視点操作情報を入手して、それに応じた仮想視点画像を視聴することも可能である。また、アップロードされる視点操作情報に対するレーティングを可能とすることで、ユーザは例えば人気の高い視点操作情報に応じた画像を選択して視聴することができ、操作に不慣れなユーザでも本サービスを簡便に利用できるという特有の効果がある。
【０３６２】
次に、視聴者が手動操縦を選択し、手動操縦しているときの、アプリケーション管理部１０００１の動作について説明する。図４２は、アプリケーション管理部１０００１の手動操縦処理を表すフローチャートである。
【０３６３】
アプリケーション管理部１０００１は、ユーザによる入力があるかを判定する（Ｓ１００１０）。
ユーザによる入力がある場合（Ｓ１００１０のＹｅｓ）、アプリケーション管理部１０００１は、ユーザ入力情報をバックエンドサーバ２７０が認識可能なバックエンドサーバコマンドに変換する（Ｓ１００１１）。
一方、ユーザによる入力がない場合（Ｓ１００１０のＮｏ）、Ｓ１００１３へ進む。
【０３６４】
次に、アプリケーション管理部１０００１は、バックエンドサーバコマンドを、基本ソフト部１０００２及びネットワーク通信部１０００３を介して送信する（Ｓ１００１２）。
【０３６５】
バックエンドサーバ２７０がユーザ入力情報に基づいて視点変更した画像を生成した後、アプリケーション管理部１０００１は、ネットワーク通信部１０００３及び基本ソフト部１０００２を介してバックエンドサーバ２７０から画像を受信する（Ｓ１００１３）。そして、アプリケーション管理部１０００１は、受信した画像を所定の画像表示領域４１００２に表示する（Ｓ１００１４）。以上の処理を行うことで、手動操縦により、画像の視点が変更される。
【０３６６】
続いて、視聴者（ユーザ）が自動操縦を選択したときの、アプリケーション管理部１０００１の動作について説明する。図４３は、アプリケーション管理部１０００１の自動操縦処理を表すフローチャートである。
【０３６７】
アプリケーション管理部１０００１は、自動操縦用入力情報がある場合（Ｓ１００２０）、自動操縦用入力情報を読み出す（Ｓ１００２１）。
【０３６８】
アプリケーション管理部１０００１は、読みだした自動操縦用入力情報を、バックエンドサーバ２７０が認識可能なバックエンドサーバコマンドに変換する（Ｓ１００２２）。
【０３６９】
次に、バックエンドサーバコマンドを、基本ソフト部１０００２及びネットワーク通信部１０００３を介して送信する（Ｓ１００２３）。
【０３７０】
バックエンドサーバ２７０がユーザ入力情報に基づいて視点変更した画像を生成した後、アプリケーション管理部１０００１は、ネットワーク通信部１０００３及び基本ソフト部１０００２を介してバックエンドサーバ２７０から画像を受信する（Ｓ１００２４）。最後に、アプリケーション管理部１０００１は、受信した画像を所定の画像表示領域に表示する（Ｓ１００２５）。以上の処理を、自動操縦用入力情報がある限り繰り返し行うことで、自動操縦により、画像の視点が変更される。
【０３７１】
図４４は、バックエンドサーバ２７０において１フレームの仮想視点画像を生成する処理フローを示す。
【０３７２】
まず、データ受信部０３００１は、コントローラ３００から仮想カメラパラメータを受信する（Ｓ０３１００）。前述の通り、仮想カメラパラメータは、仮想視点の位置や姿勢などを表すデータのことである。
【０３７３】
前景オブジェクト決定部０３０１０は、受信した仮想カメラパラメータと前景オブジェクトの位置を元に仮想視点画像の生成で必要となる前景オブジェクトを決定する（Ｓ０３１０１）。仮想視点から見た場合に視野に入る前景オブジェクトを三次元幾何学的に求める。要求リスト生成部０３０１１は、決定した前景オブジェクトの前景画像、前景三次元モデル群、背景画像及び音声データ群の要求リストを生成し、要求データ出力部０３０１２からデータベース２５０に要求を行う（Ｓ０３１０２）。要求リストとはデータベース２５０に対してリクエストするデータの内容である。
【０３７４】
データ受信部０３００１は、要求した情報をデータベース２５０から受信する（Ｓ０３１０３）。データ受信部０３００１は、データベース２５０から受信した情報にエラーを示す情報が含まれるか判定する（Ｓ０３１０４）。
【０３７５】
ここで、エラーを示す情報としては例えば画像転送量オーバーフロー、画像撮影失敗及び画像のデータベース保存失敗などが挙げられる。このエラー情報はデータベース２５０に格納されているものである。
Ｓ０３１０４においてエラーを示す情報が含まれる場合、データ受信部０３００１は、仮想視点画像の生成は不可であると判断し、データを出力せず処理を終了する。
【０３７６】
Ｓ０３１０４においてエラーを示す情報が含まれない場合、バックエンドサーバ２７０、仮想視点における背景画像の生成、前景画像の生成、及び視点に応じた音声の生成を行う。背景テクスチャ貼り付け部０３００２は、システムの起動後に取得され背景メッシュモデル管理部０３０１３で保持されている背景メッシュモデルとデータベース２５０から取得した背景画像から、テクスチャ付き背景メッシュモデルを生成する（Ｓ０３１０５）。
【０３７７】
またバックエンドサーバ２７０は、レンダリングモードに応じて前景画像を生成する（Ｓ０３１０６）。またバックエンドサーバ２７０は、仮想視点での音の聞こえ方を模擬するように音声データ群を合成して音声を生成する（Ｓ０３１０７）。音声データ群の合成においては、仮想視点と音声データの取得位置を元に合成する各音声データの大きさが調整される。
【０３７８】
レンダリング部０３００６は、Ｓ３１０５で生成したテクスチャ付き背景メッシュモデルを仮想視点から見た視野にトリミングし、そこに前景画像を合成することで仮想視点の全景画像を生成する（Ｓ０３１０８）。
合成部０３００８は、仮想視点音声生成（Ｓ０３１０７）で生成された仮想音声とレンダリングされた仮想視点の全景画像を統合し（Ｓ０３１０９）、１フレームの仮想視点コンテンツを生成する。
画像出力部０３００９は、生成された１フレームの仮想視点コンテンツを外部のコントローラ３００およびエンドユーザ端末１９０へ出力する（Ｓ０３１１０）。
【０３７９】
つぎに、本システムを適用可能なユースケースを増大するために、さまざまな仮想視点画像生成の要求に対応できる柔軟な制御判定を行うことについて説明する。
【０３８０】
図４５に前景画像生成のフローを示す。ここでは、仮想視点画像生成において、画像の出力先に応じた要求に対応するため、複数のレンダリングアルゴリズムから何れかを選択する選択指針の一例について説明する。
【０３８１】
まず、バックエンドサーバ２７０のレンダリングモード管理部０３０１４は、レンダリング手法の決定を行う。レンダリング手法を決定するための要求事項は、制御ステーション３１０からバックエンドサーバ２７０に対して設定される。レンダリングモード管理部０３０１４は、要求事項に従ってレンダリング手法を決定する。レンダリングモード管理部０３０１４は、カメラ１１２による撮影に基づくバックエンドサーバ２７０での仮想視点画像生成において高速性を優先する要求が行われたか確認する（Ｓ０３２００）。高速性を優先する要求とは、低遅延の画像生成の要求と等価である。Ｓ０３２００でＹＥＳの場合、レンダリングとしてＩＢＲを有効にする（Ｓ０３２０１）。つぎに、仮想視点画像生成に係る視点の指定の自由度を優先する要求が行われたかどうか確認する（Ｓ０３２０２）。Ｓ０３２０２でＹＥＳの場合、レンダリングとしてＭＢＲを有効にする（Ｓ０３２０３）。つぎに、仮想視点画像生成において計算処理軽量化を優先する要求が行われたかどうか確認する（Ｓ０３２０４）。計算処理軽量化を優先する要求は、例えば、コンピュータ資源をあまり使わずに低コストでシステムを構成する場合などに行われる。Ｓ０３２０４でＹＥＳの場合、レンダリングとしてＩＢＲを有効にする（Ｓ０３２０５）。つぎに、レンダリングモード管理部０３０１４は、仮想視点画像生成のために使用されるカメラ１１２の台数が閾値以上であるかどうか確認する（Ｓ０３２０６）。Ｓ０３２０６でＹＥＳの場合、レンダリングとしてＭＢＲを有効にする（Ｓ０３２０７）。
【０３８２】
バックエンドサーバ２７０は、レンダリングモード管理部０３０１４で管理されているモード情報から、レンダリング方式がＭＢＲあるいはＩＢＲのどちらであるか判定する（Ｓ０３２０８）。なお、Ｓ０３２０１、Ｓ０３２０３、Ｓ０３２０５、及びＳ０３２０７の何れの処理も行われていない場合には、システム稼働時に予め決められているデフォルトのレンダリング方式が用いられるものとする。
【０３８３】
Ｓ０３２０８において、レンダリング方式がモデルベース（ＭＢＲ）であると判定された場合、前景テクスチャ決定部０３００３は、前景三次元モデルと前景画像群を元に前景のテクスチャを決定する（Ｓ０３２０９）。そして、前景テクスチャ境界色合わせ部０３００４は、決定した前景のテクスチャの境界の色合わせを行う（Ｓ０３２１０）。前景三次元モデルのテクスチャは複数の前景画像群から抽出されるため、各前景画像の撮影状態の違いによるテクスチャの色が異なることへの対応として、この色合わせが行われる。
【０３８４】
Ｓ０３２０８において、レンダリング方式がＩＢＲと判定された場合、仮想視点前景画像生成部０３００５は、仮想カメラパラメータと前景画像群に基づいて透視変換など幾何変換を各前景画像に行い、仮想視点からの前景画像を生成する（Ｓ０３２１１）。
【０３８５】
なお、ユーザがシステム稼働中に任意にレンダリング方式を変更したり、仮想視点の状態に応じてシステムがレンダリング方式を変更したりしてもよい。また、候補となるレンダリング方式をシステム稼働中に変更してもよい。
【０３８６】
これにより、仮想視点画像の生成に係るレンダリングアルゴリズムを、起動時に設定するだけでなく、状況に応じて変更できるため、さまざまな要求にこたえることができる。つまり、画像出力先が異なる要件（例えば各パラメータの優先度）を要求しても、柔軟に対応できるという効果がある。なお、本実施形態ではレンダリング方式としてＩＢＲとＭＢＲの何れかを用いることを前提としたが、これに限らず双方の方式を用いたハイブリッド方式などを用いてもよい。ハイブリッド方式を用いる場合、レンダリングモード管理部０３０１４は、データ受信部０３００１が取得した情報に基づいて、仮想視点画像を分割した複数の分割領域それぞれの生成に用いられる複数の生成方式を決定する。即ち、１フレームの仮想視点画像の一部の領域はＭＢＲに基づいて生成され、他の一部の領域はＩＢＲに基づいて生成されてもよい。例えば、光沢がある、テクスチャがない、非凸面などのオブジェクトはＩＢＲを用いることで三次元モデルの精度の低下を回避したり、仮想視点に近いオブジェクトはＭＢＲを用いることで画像が平面的になってしまうことを回避したりするなどの方法がある。また例えば、画面の中心付近のオブジェクトは綺麗に表示したいのでＭＢＲで画像を生成し、端のほうのオブジェクトはＩＢＲで画像を生成することで処理負荷を下げることもできる。これにより、仮想視点画像の生成に係る処理負荷と仮想視点画像の画質をより詳細に制御することができる。
【０３８７】
また、競技に応じて、注視点、カメラワーク、及び伝送制御等のシステムの適切な設定が異なる場合があるが、競技が開催されるたびにシステムの設定を操作者が手動で行うと操作者の手間が大きくなる虞があるため、設定の簡単化が求められる。そこで、画像処理システム１００は、設定変更の対象となる機器の設定を自動で更新することで、仮想視点画像を生成するためのシステムの設定を行う操作者の手間を低減する仕組みを提供する。この仕組みについて、以下で説明する。
【０３８８】
図４６は前述の設置後ワークフローにおいて生成され、撮影前ワークフローにおいてシステムを構成する装置に設定される運用に関する情報リストである。制御ステーション３１０は、複数のカメラ１１２による撮影の対象となる競技に関する競技情報をユーザによる入力操作に基づいて取得する。なお、競技情報の取得方法はこれに限らず、例えば制御ステーション３１０は競技情報を他の装置から取得してもよい。そして制御ステーション３１０は、取得した競技情報と画像処理システム１００の設定情報とを対応付けて上記の情報リストとして保持する。以下運用に関する情報リストを設定リストと言う。制御ステーション３１０が、保持している設定リストに基づいてシステムの設定処理を行う制御装置として動作することで、システムの設定を行う操作者の手間が低減される。
【０３８９】
制御ステーション３１０が取得する競技情報は、例えば撮影の対象となる競技の種別及び開始時刻の少なくとも何れかを含む。ただし競技情報はこれに限らず、競技に関するその他の情報であってもよい。
【０３９０】
撮影番号４６１０１は撮影される各競技に対応するシーンを表し、予定時間４６１０３は各競技の開始予定時刻および終了予定時刻である。各シーンの開始時刻前には、制御ステーション３１０から各機器に対して設定リストに応じた変更要求が行われる。
【０３９１】
競技名称４６１０２は競技種別の名称である。注視点（座標指定）４６１０４は、カメラ１１２ａ−１１２ｚの注視点の数、各注視点の座標位置、および各注視点に対応するカメラ番号から構成される。注視点の位置に応じて、各カメラ１１２の撮影方向が定まる。
【０３９２】
カメラワーク４６１０５は、仮想カメラ操作ＵＩ３３０およびバックエンドサーバ２７０によって仮想視点が操作され画像が生成される際のカメラパスの範囲を表す。カメラワーク４６１０５に基づいて、仮想視点画像の生成に係る視点の指定可能範囲が定まる。
【０３９３】
キャリブレーションファイル４６１０６は、図１７で説明した設置時キャリブレーションにおいて導出された、仮想視点画像の生成に係る複数のカメラ１１２の位置合わせに関するカメラパラメータの値を格納したファイルであり、注視点毎に生成される。
【０３９４】
画像生成アルゴリズム４６１０７は、撮影画像に基づく仮想視点画像の生成に係るレンダリング方式としてＩＢＲ、ＭＢＲ、及び両者を使うハイブリッド方式の何れが用いられるかの設定を示す。レンダリング方式は制御ステーション３１０からバックエンドサーバ２７０に対して設定される。例えば、撮影番号＝３の砲丸投げや走り高跳びのように閾値以下の数の選手に対応する競技の種別を示す競技情報と、撮影画像に基づいて生成される三次元モデルを用いて仮想視点画像を生成するＭＢＲ方式を示す設定情報とが対応付けられる。これにより、参加選手が少ない競技の仮想視点画像における視点の指定の自由度が高くなる。一方で、撮影番号＝１の開会式のように参加選手の数が多い競技では、ＭＢＲ方式で仮想視点画像を生成しようとすると処理負荷が大きくなるため、より小さい処理負荷で仮想視点画像を生成できるＩＢＲ方式が対応付けられる。
【０３９５】
前景背景伝送４６１０８は、撮影画像から分離される前景画像（ＦＧと表す）及び背景画像（ＢＧと表す）それぞれに対する圧縮割合とフレームレート（単位はｆｐｓ）の設定を表す。なお、前景画像は仮想視点画像の生成のために撮影画像から抽出される前景領域に基づいて生成され画像処理システム１００内で伝送される前景画像であり、背景画像は同様に撮影画像から抽出される背景領域に基づいて生成及び伝送される背景画像である。
【０３９６】
図４７は制御ステーション３１０による撮影前ワークフローにおいてシステムを構成する装置に設定リストの撮影番号＝２に関する情報が設定される場合の動作シーケンスである。
【０３９７】
制御ステーション３１０は、システム動作開始後、保持している設定リストから特定される撮影の対象となる競技の開始予定時刻を確認する（Ｆ４７１０１）。そして制御ステーション３１０は、開始予定時刻の所定時間前になっている場合に、撮影番号＝２に対応する設定処理を開始する（Ｆ４７１０２）。上記の所定時間は例えば設定処理に要する時間である。このように、競技開始の所定時間前に自動で設定処理を開始することで、操作者が設定開始の指示を行わなくても競技の開始時に設定を完了することができる。なお、ユーザにより設定開始の指示が行われた場合には、制御ステーション３１０は競技の開始時刻に関わらず設定処理を開始してもよい。
【０３９８】
制御ステーション３１０による設定処理は、例えば仮想視点画像を生成する装置の画像処理に関するパラメータを設定する処理や、複数のカメラ１１２の撮影に関するパラメータを設定する処理などを含む。ただし、設定処理の内容はこれらに限らず、例えば画像処理システム１００に含まれる装置を起動させる処理などであってもよい。
【０３９９】
まず制御ステーション３１０は、注視点設定を行う（Ｆ４７１０３）。そして、カメラアダプタ１２０に対して、カメラ毎の注視点座標設定の要求を行う（Ｆ４７１０４）。ここで、カメラ１１２は注視点に応じてグループ化され、各注視点グループ内のカメラ１１２には同一座標の注視点が設定される。カメラ毎の注視点座標設定の要求を受けたカメラアダプタ１２０は、雲台１１３に対するパン・チルト（ＰＴと表す）の設定指示と、カメラ１１２およびレンズに対するレンズ煽り等の設定指示とを含む、雲台ＰＴ指示要求を送信する（Ｆ４７１０５）。Ｆ４７１０４とＦ４７１０５の処理はセンサシステム１１０の台数分繰り返し実行される。さらに、制御ステーション３１０は、フロントエンドサーバ２３０およびデータベース２５０に対してカメラ毎の注視点グループ情報の設定を行う（Ｆ４７１０６）。
【０４００】
つぎに、制御ステーション３１０は、キャリブレーションで取得した値の設定を行う（Ｆ４７１０７）。すなわち、キャリブレーションファイルの情報をセンサシステム１１０の全数分設定する。そして制御ステーション３１０は、各カメラアダプタ１２０に対してキャリブレーション設定要求を送信する（Ｆ４７１０８）。これを受信したカメラアダプタ１２０は、カメラ１１２レンズ、及び雲台１１３に対して、撮影パラメータやピント及びズームの設定を行う（Ｆ４７１０９）。また制御ステーション３１０は、キャリブレーション設定要求をフロントエンドサーバ２３０に対しても実施する（Ｆ４７１１０）。
【０４０１】
つぎに制御ステーション３１０は、カメラワークの設定を行う（Ｆ４７１１１）。そして制御ステーション３１０は、注視点に応じてグループ化されるカメラグループ、各カメラ１１２の撮影範囲、及び仮想カメラパスの範囲等の設定要求をバックエンドサーバ２７０に対して実施する（Ｆ４７１１２）。バックエンドサーバ２７０では、仮想カメラ操作ＵＩ３３０からの仮想カメラ０８００１の視点パスを物理的なカメラ１１２にマッピングして画像をレンダリングするためにカメラワークに関連する情報が必要になる。バックエンドサーバ２７０は、仮想カメラの移動可能範囲を確認するために、仮想カメラ操作ＵＩ３３０に対して、仮想カメラの試行要求を行う（Ｆ４７１１３）。そしてバックエンドサーバ２７０は、仮想カメラ操作ＵＩ３３０から仮想カメラ操作通知を受信する（Ｆ４７１１４）。ここで、バックエンドサーバ２７０は、受信した仮想カメラ操作通知に応じた視点位置に対応する有効な画像がないことを判断する（Ｆ４７１１５）。そしてバックエンドサーバ２７０は仮想カメラ操作ＵＩ３３０に対してエラー通知を行う（Ｆ４７１１６）。仮想カメラ操作ＵＩ３３０はエラー通知に応じてこれ以上の視点移動ができないことを判断し、あらためて別の視点への仮想カメラ操作を行い、バックエンドサーバ２７０に通知を行う（Ｆ４７１１７）。バックエンドサーバ２７０は、通知に応じた視点に対応する有効画像があることを確認し（Ｆ４７１１８）、対応する画像応答を仮想カメラ操作ＵＩ３３０に対して送信する（Ｆ４７１１９）。
【０４０２】
つぎに、制御ステーション３１０は、画像生成アルゴリズムの設定を行う（Ｆ４７１２０）。そしてＩＢＲ、ＭＢＲ及びハイブリッドのいずれのアルゴリズム方式を使うかをバックエンドサーバに指示する。（Ｆ４７１２１）。
【０４０３】
つぎに制御ステーション３１０は、前景画像及び背景画像の伝送方法について設定を行う（Ｆ４７１１２）。そして制御ステーション３１０は、設定リストに基づいて、前景画像（ＦＧ）及び背景画像（ＢＧ）の圧縮割合、ならびにフレームレート（１秒あたりのフレーム数：ｆｐｓ）の設定をカメラアダプタ１２０に対して行う。本図では、ＦＧの圧縮割合を１／３圧縮とし、ＦＧのフレームレートを６０ｆｐｓとし、ＢＧを送信しないことがカメラアダプタ１２０に対して指示されている（Ｆ４７１２３）。この場合、カメラアダプタ１２０から背景画像が送られないことから、バックエンドサーバ２７０はレンダリング時に背景のテクスチャを得られない。そのため制御ステーション３１０は、バックエンドサーバ２７０に対して、背景三次元モデルの利用指示、つまりスタジアム形状のワイヤフレームに基づいた背景画像生成の指示を行う（Ｆ４７１２４）。
【０４０４】
以上の処理が行われた状態で、競技の終了時刻まで撮影が行われる。なお、競技時間の延長も考えられるので、オペレータが撮影停止の最終的な決定をしてもよい。
【０４０５】
撮影の終了後、あらためて、制御ステーション３１０は、次のシーンの開始予定時刻に先立ちシステムの開始処理を行う。即ち、制御ステーション３１０は、撮影番号＝３のシーンの開始予定時刻を確認し（Ｆ４７１２５）、撮影番号＝３に関する設定を、システムを構成する各装置に対して実施する（Ｆ４７１２６）。以降、設定リストにしたがって上記述べた処理が繰り返し実施される。
【０４０６】
このように制御ステーション３１０が自動で各装置の設定を行うことで、オペレータはシステムの開始操作や確認操作などを行うだけでよく、複雑な撮影制御に関するオペレータの作業を簡単化することができるという効果がある。
【０４０７】
図４８は、フロントエンドサーバ２３０がデイジーチェーンのレーンを介してカメラアダプタ１２０から受信するカメラ同期画像フレームｍの受信制御を表すフローである。デイジーチェーンがスタジアムの半周ごとに構成される場合や、複数フロアにまたがるなどの場合には、フロントエンドサーバ２３０が全カメラ１１２の画像データの受信を終えるまで待機すると、低遅延な仮想視点画像生成の実現が難しくなる虞がある。以下ではこの虞を低減するための制御について説明する。
【０４０８】
まずフロントエンドサーバ２３０は、デイジーチェーンのカメラレーン毎に画像データパケットを受信する（Ｓ４８１００）。そして、カメラ同期画像フレームｍの逐次蓄積を行う（Ｓ４８１０１）。つぎに、注視点グループが１つかどうか確認する（Ｓ４８１０２）。Ｓ４８１０２でＮＯ、つまり注視点グループが複数の場合、複数の注視点グループにカメラの画像フレームを分類する（Ｓ４８１０３）。つぎにフロントエンドサーバ２３０は、注視点毎のカメラ群１１２のうち画像フレームｍの受信が完了した注視点グループがあるかどうか調べる（Ｓ４８１０４）。受信が完了した注視点グループがある場合は、その注視点グループ毎に画像処理部０２１５０、三次元モデル結合部０２１６０、画像結合部２１７０および撮影データファイル生成部０２１８０における画像処理が行われる（Ｓ４８１０５）。つぎにフロントエンドサーバ２３０は、全注視点グループに関して画像処理が完了したか判定し、完了していなければ（Ｓ４８１０６のＮＯ）、画像フレーム待ちのタイムアウトが発生したかどうか調べる（Ｓ４８１０７）。タイムアウトの閾値は１フレームあたりの単位時間に応じて定まってもよい。Ｓ４８１０７でＹＥＳの場合、フロントエンドサーバ２３０は、ロストした画像フレームを検知し、ロストが発生したカメラ１１２の対象フレームにロストを示す情報をマーキングして（Ｓ４８１０８）データベース２５０へ画像データを書き込む。これにより、バックエンドサーバ２７０は画像フレームのロストがわかるため、レンダリング処理を行う上で有効である。つまり、仮想カメラ操作ＵＩ３３０から指定された仮想カメラと実カメラ１１２のマッピングをバックエンドサーバ２７０で行う場合に、バックエンドサーバ２７０はロストが発生したカメラ１１２の画像をすぐに判断できる。そのため、生成される仮想視点画像が破綻する虞がある場合などに、オペレータの目視に頼ることなく、画像出力に対して自動で補正処理等をすることができるという効果がある。
【０４０９】
続いて、本実施形態を構成する各装置のハードウェア構成について、より詳細に説明する。上述の通り、本実施形態では、カメラアダプタ１２０がＦＰＧＡ及び／又はＡＳＩＣなどのハードウェアを実装し、これらのハードウェアによって、上述した各処理を実行する場合の例を中心に説明した。それはセンサシステム１１０内の各種装置や、フロントエンドサーバ２３０、データベース２５０、バックエンドサーバ２７０、及びコントローラ３００についても同様である。しかしながら、上記装置のうち、少なくとも何れかが、例えばＣＰＵ、ＧＰＵ、ＤＳＰなどを用い、ソフトウェア処理によって本実施形態の処理を実行するようにしても良い。
【０４１０】
図４９は、図２に示した機能構成をソフトウェア処理によって実現するための、カメラアダプタ１２０のハードウェア構成を示すブロック図である。なお、フロントエンドサーバ２３０、データベース２５０、バックエンドサーバ２７０、制御ステーション３１０、仮想カメラ操作ＵＩ３３０、及びエンドユーザ端末１９０などの装置も、図４９のハードウェア構成となりうる。カメラアダプタ１２０は、ＣＰＵ１２０１、ＲＯＭ１２０２、ＲＡＭ１２０３、補助記憶装置１２０４、表示部１２０５、操作部１２０６、通信部１２０７、及びバス１２０８を有する。
【０４１１】
ＣＰＵ１２０１は、ＲＯＭ１２０２やＲＡＭ１２０３に格納されているコンピュータプログラムやデータを用いてカメラアダプタ１２０の全体を制御する。ＲＯＭ１２０２は、変更を必要としないプログラムやパラメータを格納する。ＲＡＭ１２０３は、補助記憶装置１２０４から供給されるプログラムやデータ、及び通信部１２０７を介して外部から供給されるデータなどを一時記憶する。補助記憶装置１２０４は、例えばハードディスクドライブ等で構成され、静止画や動画などのコンテンツデータを記憶する。
【０４１２】
表示部１２０５は、例えば液晶ディスプレイ等で構成され、ユーザがカメラアダプタ１２０を操作するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などを表示する。操作部１２０６は、例えばキーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をＣＰＵ１２０１に入力する。通信部１２０７は、カメラ１１２やフロントエンドサーバ２３０などの外部の装置と通信を行う。例えば、カメラアダプタ１２０が外部の装置と有線で接続される場合には、ＬＡＮケーブル等が通信部１２０７に接続される。なお、カメラアダプタ１２０が外部の装置と無線通信する機能を有する場合、通信部１２０７はアンテナを備える。バス１２０８は、カメラアダプタ１２０の各部を繋いで情報を伝達する。
【０４１３】
なお、例えばカメラアダプタ１２０の処理のうち一部をＦＰＧＡで行い、別の一部の処理を、ＣＰＵを用いたソフトウェア処理によって実現するようにしても良い。また、図４９に示したカメラアダプタ１２０の各構成要素は、単一の電子回路で構成されていてもよいし、複数の電子回路で構成されていてもよい。例えば、カメラアダプタ１２０は、ＣＰＵ１２０１として動作する電子回路を複数備えていてもよい。これら複数の電子回路がＣＰＵ１２０１としての処理を並行して行うことで、カメラアダプタの処理速度を向上することができる。
【０４１４】
また、本実施形態では表示部１２０５と操作部１２０６はカメラアダプタ１２０の内部に存在するが、カメラアダプタ１２０は表示部１２０５及び操作部１２０６の少なくとも一方を備えていなくてもよい。また、表示部１２０５及び操作部１２０６の少なくとも一方がカメラアダプタ１２０の外部に別の装置として存在していて、ＣＰＵ１２０１が、表示部１２０５を制御する表示制御部、及び操作部１２０６を制御する操作制御部として動作してもよい。
【０４１５】
画像処理システム１００内の他の装置についても同様である。また例えば、フロントエンドサーバ２３０、データベース２５０及びバックエンドサーバ２７０は表示部１２０５を備えず、制御ステーション３１０、仮想カメラ操作ＵＩ３３０及びエンドユーザ端末１９０は表示部１２０５を備えていてもよい。また、上述の実施形態は、画像処理システム１００が競技場やコンサートホールなどの施設に設置される場合の例を中心に説明した。施設の他の例としては、例えば、遊園地、公園、競馬場、競輪場、カジノ、プール、スケートリンク、スキー場、ライブハウスなどがある。また、各種施設で行われるイベントは、屋内で行われるものであっても屋外で行われるものであっても良い。また、本実施形態における施設は、一時的に（期間限定で）建設される施設も含む。
【０４１６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０４１７】
以上、上述した実施形態によれば、カメラ１１２の台数などのシステムを構成する装置の規模、及び撮影画像の出力解像度や出力フレームレートなどに依らず、仮想視点画像を簡便に生成することが出来る。以上、本発明の実施形態について詳述したが、本発明は上述の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
【符号の説明】
【０４１８】
１１０ａ  センサシステム
１１１ａ  マイク
１１２ａ  カメラ
１１３ａ  雲台
１２０ａ  カメラアダプタ
１８０  スイッチングハブ
１９０  エンドユーザ端末
２３０  フロントエンドサーバ
２５０  データベース
２７０  バックエンドサーバ
２９０  タイムサーバ
３１０  制御ステーション
３３０  仮想カメラ操作ＵＩ
【図１】
2019134428.tif 000003
【図２】
2019134428.tif 000004
【図３】
2019134428.tif 000005
【図４】
2019134428.tif 000006
【図５】
2019134428.tif 000007
【図６】
2019134428.tif 000008
【図７】
2019134428.tif 000009
【図８】
2019134428.tif 000010
【図９】
2019134428.tif 000011
【図１０】
2019134428.tif 000012
【図１１】
2019134428.tif 000013
【図１２】
2019134428.tif 000014
【図１３】
2019134428.tif 000015
【図１４】
2019134428.tif 000016
【図１５】
2019134428.tif 000017
【図１６】
2019134428.tif 000018
【図１７】
2019134428.tif 000019
【図１８】
2019134428.tif 000020
【図１９】
2019134428.tif 000021
【図２０】
2019134428.tif 000022
【図２１】
2019134428.tif 000023
【図２２】
2019134428.tif 000024
【図２３】
2019134428.tif 000025
【図２４】
2019134428.tif 000026
【図２５】
2019134428.tif 000027
【図２６】
2019134428.tif 000028
【図２７】
2019134428.tif 000029
【図２８】
2019134428.tif 000030
【図２９】
2019134428.tif 000031
【図３０】
2019134428.tif 000032
【図３１】
2019134428.tif 000033
【図３２】
2019134428.tif 000034
【図３３】
2019134428.tif 000035
【図３４】
2019134428.tif 000036
【図３５】
2019134428.tif 000037
【図３６】
2019134428.tif 000038
【図３７】
2019134428.tif 000039
【図３８】
2019134428.tif 000040
【図３９】
2019134428.tif 000041
【図４０】
2019134428.tif 000042
【図４１】
2019134428.tif 000043
【図４２】
2019134428.tif 000044
【図４３】
2019134428.tif 000045
【図４４】
2019134428.tif 000046
【図４５】
2019134428.tif 000047
【図４６】
2019134428.tif 000048
【図４７】
2019134428.tif 000049
【図４８】
2019134428.tif 000050
【図４９】
2019134428.tif 000051