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