(57)【要約】【課題】仮想カメラのオペレータに提供する仮想視点音声を柔軟に生成する。【解決手段】本発明に係る仮想視点コンテンツ生成システムは、仮想視点の指定を受け付ける受け付け手段と、異なる位置で同期撮影するための複数の撮影装置の撮影画像から前記指定された仮想視点に基づく仮想視点画像を生成する画像生成手段と、異なる位置で同期収音するための複数のマイクの収音音声から仮想視点音声を生成する音声生成手段と、を備え、音声生成手段は、指定された仮想視点に応じて取得される第１の収音音声に基づいた仮想視点音声と、第１の収音音声と異なる第２の収音音声に基づいた仮想視点音声とを生成する、ことを特徴とする。【選択図】  図１
2019102940.tif 000002
【特許請求の範囲】
【請求項１】
仮想視点の指定を受け付ける受け付け手段と、
異なる位置で同期撮影するための複数の撮影装置の撮影画像から前記指定された仮想視点に基づく仮想視点画像を生成する画像生成手段と、
異なる位置で同期収音するための複数のマイクの収音音声から仮想視点音声を生成する音声生成手段と、を備え、
前記音声生成手段は、前記指定された仮想視点に応じて取得される第１の収音音声に基づいた仮想視点音声と、前記第１の収音音声と異なる第２の収音音声に基づいた仮想視点音声とを生成する、ことを特徴とする仮想視点コンテンツ生成システム。
【請求項２】
前記第１の収音音声に基づいた仮想視点音声はエンドユーザ用であり、前記第２の収音音声に基づいた仮想視点音声は前記仮想視点の指定を行うオペレータ用である、ことを特徴とする請求項１に記載の仮想視点コンテンツ生成システム。
【請求項３】
前記受け付け手段は、前記指定された仮想視点の位置および姿勢を少なくとも含む仮想カメラパラメータを導出する仮想カメラパラメータ導出手段を含むことを特徴とする請求項１または請求項２に記載の仮想視点コンテンツ生成システム。
【請求項４】
前記複数のマイクには、それぞれ収音範囲が割り当てられ、
前記音声生成手段は、前記仮想カメラパラメータに基づいて仮想視点音声の生成のための収音範囲を決定し、
前記音声生成手段は、前記割り当てられた収音範囲の少なくとも一部が、前記決定された収音範囲に含まれるマイクの収音音声に基づいて前記仮想視点音声を生成する、ことを特徴とする請求項３に記載の仮想視点コンテンツ生成システム。
【請求項５】
前記第１の収音音声は、前記仮想カメラパラメータに基づいて決定された第１の収音範囲で収音された音声であり、
前記第２の収音音声は、前記第１の収音範囲の少なくとも一部および前記第１の収音範囲外を含む第２の収音範囲で収音された音声である、請求項４に記載の仮想視点コンテンツ生成システム。
【請求項６】
前記音声生成手段は、前記仮想視点のズーム倍率に応じて前記第１の収音範囲および前記第２の収音範囲を決定する、ことを特徴とする請求項５に記載の仮想視点コンテンツ生成システム。
【請求項７】
仮想視点画像を生成するために仮想視点の指定が満たすべき制約を管理する管理手段と、
前記仮想カメラパラメータおよび前記制約から、仮想視点の指定ができる可動範囲を導出する導出手段と、をさらに備え、
前記音声生成手段は、前記第２の収音範囲を、前記可動範囲内に収まるように決定する、ことを特徴とする、請求項５に記載の仮想視点コンテンツ生成システム。
【請求項８】
収音パターンを選択する収音パターン選択手段と、
前記導出された仮想カメラパラメータと前記選択された収音パターンとから、収音範囲の形状および位置を少なくとも含む収音パラメータを導出する収音パラメータ導出手段と、をさらに備え、
前記音声生成手段は、前記第２の収音範囲を、前記収音パラメータに基づいて決定する、ことを特徴とする請求項５に記載の仮想視点コンテンツ生成システム。
【請求項９】
前記第２の収音音声は、前記第１の収音音声よりも時間的に所定フレーム後の収音音声である、ことを特徴とする請求項１から請求項３のいずれか一項に記載の仮想視点コンテンツ生成システム。
【請求項１０】
異なる位置の複数のマイクから同期収音された収音音声を取得する取得手段と、
収音範囲を設定する設定手段と、
前記設定手段により設定された収音範囲と、前記複数のマイクのそれぞれに割り当てられた範囲とに基づいて、仮想視点音声の生成に用いるマイクを選択する選択手段と、
前記選択手段により選択されたマイクからの収音音声を用いて仮想視点音声を生成する音声生成手段と、を備え、
前記設定手段は、多視点で同期撮影を行って得られた撮影画像から仮想視点画像を生成するために指定された仮想視点に基づく第１の収音範囲と、前記第１の収音範囲とは異なる第２の収音範囲とを設定し、
前記音声生成手段は、前記第１の収音範囲と前記第２の収音範囲のそれぞれに対応した第１の仮想視点音声と第２の仮想視点音声とを生成する、ことを特徴とする音声処理装置。
【請求項１１】
異なる位置で同期撮影するための複数の撮影装置および異なる位置で同期収音するための複数のマイクを備える仮想視点コンテンツ生成システムの制御方法であって、
仮想視点の指定を受け付ける受け付け工程と、
前記複数の撮影装置の撮影画像から前記指定された仮想視点に基づく仮想視点画像を生成する画像生成工程と、
前記複数のマイクの収音音声から仮想視点音声を生成する音声生成工程と、を備え、
前記音声生成工程は、前記指定された仮想視点に応じて取得される第１の収音音声に基づいた仮想視点音声と、前記第１の収音音声と異なる第２の収音音声に基づいた仮想視点音声とを生成する、ことを特徴とする仮想視点コンテンツ生成システムの制御方法。
【請求項１２】
コンピュータに、請求項１１に記載の制御方法を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラ／マイクを用いて同期撮影／収音された多視点画像／音声から仮想視点コンテンツを生成するシステムに関する。
【背景技術】
【０００２】
昨今、複数のカメラを異なる位置に設置して多視点で同期撮影し、当該撮影により得られた複数視点画像を用いて仮想視点コンテンツを生成する技術が注目されている。このような技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することができるため、ユーザに高臨場感を与えることが出来る。
【０００３】
特許文献１には、仮想視点映像の映像信号に対するオーディオ信号をリアルタイムで音像定位処理することが開示されている。これにより、仮想視点映像の角度を変化させて映像を移動させて再生した場合に移動する映像の方向にオーディオ信号の再生音像を定位させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２８４１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数のカメラを備えた画像処理システムでは、仮想カメラの位置や姿勢をどう操作するかで、どのような仮想視点コンテンツが生成されるかが決まる。仮想カメラのオペレータは、オペレータ視野であり仮想視点画像である仮想カメラ画像を見ながら、ジョイスティック等の入力装置を操作することで、仮想カメラの位置や姿勢を制御する。仮想カメラを選手やボールに近づけると迫力のある仮想視点コンテンツを生成できる。その一方で、仮想カメラを対象に近づけすぎるとオペレータ視野が狭くなって視野外での出来事に気づきにくくなる。このため、オペレータは、選手やボールの急な動きに追従できずに見失う恐れがある。
【０００６】
オペレータに、オペレータ視野外の出来事を気付かせるための情報の１つに音声がある。オペレータ視野外の音声をオペレータに提供すると、オペレータは、視野外での出来事に気付き、次の仮想カメラ操作をどうすべきか判断できるようになる。しかしながら、特許文献１では、オペレータ視野外の出来事を気付かせるための仮想視点音声については考慮されていない。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、仮想カメラのオペレータに提供する仮想視点音声を柔軟に生成することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る仮想視点コンテンツ生成システムは、仮想視点の指定を受け付ける受け付け手段と、異なる位置で同期撮影するための複数の撮影装置の撮影画像から前記指定された仮想視点に基づく仮想視点画像を生成する画像生成手段と、異なる位置で同期収音するための複数のマイクの収音音声から仮想視点音声を生成する音声生成手段と、を備え、音声生成手段は、指定された仮想視点に応じて取得される第１の収音音声に基づいた仮想視点音声と、第１の収音音声と異なる第２の収音音声に基づいた仮想視点音声とを生成する、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、仮想カメラのオペレータに提供する仮想視点音声を柔軟に生成できる。
【図面の簡単な説明】
【００１０】
【図１】画像処理システム１００の一例を示す構成図。
【図２】カメラアダプタ１２０の機能構成を説明するためのブロック図。
【図３】カメラアダプタ１２０内部の画像処理部６１３０の機能ブロック図。
【図４】フロントエンドサーバ２３０の機能構成を説明するためのブロック図。
【図５】データベース２５０の機能構成を説明するためのブロック図。
【図６】バックエンドサーバ２７０の機能構成を説明するためのブロック図。
【図７】円周上に複数のマイクが設置された競技場を示す図。
【図８】仮想カメラについて説明するための図。
【図９】仮想カメラ操作ＵＩ３３０の機能構成を説明するためのブロック図。
【図１０】実施の形態１に係る、仮想カメラ操作ＵＩ３３０、バックエンドサーバ２７０及びデータベース２５０の処理フローを示す図。
【図１１】仮想視点音声の収音範囲を示す図。
【図１２】仮想カメラ操作ＵＩ３３０がライブ画像を生成する際のフローチャート。
【図１３】１フレーム分の処理を示すフローチャート。
【図１４】仮想カメラ操作ＵＩ３３０がリプレイ画像を生成する際のフローチャート。
【図１５】バックエンドサーバ２７０が１フレームの仮想視点画像を生成するフローチャート。
【図１６】カメラアダプタ１２０のハードウェア構成を示すブロック図。
【図１７】仮想カメラ操作ＵＩ３３０２の機能構成を説明するブロック図。
【図１８】仮想カメラの可動範囲及び収音範囲を説明するための図。
【図１９】実施の形態２に係る、仮想カメラ操作ＵＩ３３０２、バックエンドサーバ２７０及びデータベース２５０の処理フローを示す図。
【図２０】実施の形態２に係る仮想カメラ操作ＵＩ３３０２が１フレーム分のライブ画像を生成する際のフローチャート。
【図２１】仮想カメラ操作ＵＩ３３０３の機能構成を説明するブロック図。
【図２２】収音パターンを説明するための図。
【図２３】実施の形態３に係る、仮想カメラ操作ＵＩ３３０３、バックエンドサーバ２７０及びデータベース２５０の処理フローを示す図。
【図２４】仮想カメラ操作ＵＩ３３０３がライブ画像を生成する際のフローチャート。
【図２５】バックエンドサーバ２７０４の機能構成を説明するためのブロック図。
【図２６】実施の形態４に係る、仮想カメラ操作ＵＩ３３０、バックエンドサーバ２７０４及びデータベース２５０の処理フローを示す図。
【図２７】バックエンドサーバ２７０４において１フレームの仮想視点画像を生成する処理フロー。
【発明を実施するための形態】
【００１１】
以下、図面に従って本発明に係る実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１２】
＜実施の形態１＞
まず、実施の形態１の前提となる、競技場（スタジアム）やコンサートホールなどの施設に複数のカメラ及びマイクを設置し撮影及び収音を行う仮想視点コンテンツ生成システムの例について、図１を用いて説明する。
【００１３】
図１は、画像処理システム１００の一例を示す構成図である。図１を参照すると、画像処理システム１００は、センサシステム１１０ａ，...，１１０ｚと、画像コンピューティングサーバ２００と、コントローラ３００と、スイッチングハブ１８０と、エンドユーザ端末１９０とを含む。
【００１４】
コントローラ３００は、制御ステーション３１０と、仮想カメラ操作ＵＩ３３０とを含む。制御ステーション３１０は、画像処理システム１００を構成するそれぞれのブロックに対して、ネットワーク３１０ａ−３１０ｄ、１８０ａ、１８０ｂ、及び１７０ａ，...，１７０ｙを通じて動作状態の管理及びパラメータ設定制御などを行う。
【００１５】
最初に、センサシステム１１０ａ，...，センサシステム１１０ｚの２６セットの画像及び音声をセンサシステム１１０ｚから画像コンピューティングサーバ２００へ送信する動作について説明する。
【００１６】
画像処理システム１００では、センサシステム１１０ａ，...，センサシステム１１０ｚがデイジーチェーンにより接続される。以下、特別な説明がない場合は、センサシステム１１０ａからセンサシステム１１０ｚまでの２６セットのシステムを区別せずセンサシステム１１０と記載する。また、各センサシステム１１０内の装置についても同様に、特別な説明がない場合は区別せず、マイク１１１、カメラ１１２、雲台１１３及びカメラアダプタ１２０と記載する。なお、センサシステムの台数として２６セットと記載しているが、あくまでも一例であり、台数をこれに限定するものではない。ここで、特に断りがない限り、画像という文言は、動画と静止画の概念を含むものとして説明する。すなわち、画像処理システム１００は、静止画及び動画の何れについても処理可能である。
【００１７】
センサシステム１１０ａ，...，１１０ｚは、それぞれ１台ずつのカメラ１１２ａ，...，１１２ｚを含む。すなわち、画像処理システム１００は、同一の被写体を複数の方向から撮影するための複数のカメラを有する。複数のセンサシステム１１０同士は、デイジーチェーンにより接続される。
【００１８】
センサシステム１１０は、マイク１１１と、カメラ１１２と、雲台１１３と、カメラアダプタ１２０とを含んで構成されるが、この構成に限定するものではない。カメラ１１２ａにて撮影された画像は、カメラアダプタ１２０ａにおいて後述の画像処理が施された後、マイク１１１ａにて収音された音声とともに、デイジーチェーン１７０ａを通してセンサシステム１１０ｂのカメラアダプタ１２０ｂに伝送される。センサシステム１１０ｂは、収音音声と撮影画像を、センサシステム１１０ａから取得した画像及び音声と合わせてセンサシステム１１０ｃに伝送する。
【００１９】
前述した動作を続けることにより、センサシステム１１０ａ，...，１１０ｚが取得した画像及び音声は、センサシステム１１０ｚからネットワーク１８０ｂを用いてスイッチングハブ１８０に伝わり、その後、画像コンピューティングサーバ２００へ伝送される。
【００２０】
なお、カメラ１１２ａ，...，１１２ｚと、カメラアダプタ１２０ａ，...，１２０ｚが分離された構成にしているが、同一筺体で一体化されていてもよい。その場合、マイク１１１ａ，...，１１１ｚは一体化されたカメラ１１２に内蔵されてもよいし、カメラ１１２の外部に接続されていてもよい。
【００２１】
ここで、カメラアダプタ１２０による画像処理を説明する。カメラアダプタ１２０は、カメラ１１２による撮影画像を前景画像と背景画像に分離する。例えば、選手など動作する物体を抽出した前景画像と、芝生など静止物体の背景画像とに分離する。そして、前景画像と背景画像とを、別のカメラアダプタ１２０に出力する。
【００２２】
カメラアダプタ１２０ａ〜１２０ｚに対し、それぞれのカメラアダプタで生成された前景画像、背景画像が伝送され、カメラアダプタ１２０ｚから画像コンピューティングサーバ２００に出力される。これにより、画像コンピューティングサーバ２００には、各カメラ１１２で撮影された画像から生成された前景画像と、背景画像とが集約される。
【００２３】
次に、画像コンピューティングサーバ２００の構成及び動作について説明する。画像コンピューティングサーバ２００は、センサシステム１１０ｚから取得したデータの処理を行う。
【００２４】
画像コンピューティングサーバ２００は、フロントエンドサーバ２３０と、データベース２５０（以下、ＤＢ２５０と記載する場合がある。）と、バックエンドサーバ２７０と、タイムサーバ２９０とを含む。
【００２５】
タイムサーバ２９０は、時刻及び同期信号を配信する機能を有し、スイッチングハブ１８０を介してセンサシステム１１０ａ，...，１１０ｚに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ１２０ａ，...，１２０ｚは、カメラ１１２ａ，...，１１２ｚを、時刻と同期信号とをもとにＧｅｎｌｏｃｋさせ画像フレーム同期を行う。すなわち、タイムサーバ２９０は、複数のカメラ１１２の撮影タイミングを同期させる。これにより、画像処理システム１００は同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。また、タイムサーバ２９０は、同様に、複数のマイク１１１の収音タイミングを同期させる。
【００２６】
フロントエンドサーバ２３０は、センサシステム１１０ｚから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換した後に、カメラの識別子やデータ種別、フレーム番号に応じてデータベース２５０に書き込む。
【００２７】
バックエンドサーバ２７０では、仮想カメラ操作ＵＩ３３０から仮想視点の指定を受け付ける。そして、指定された仮想視点に基づいて、データベース２５０から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。
【００２８】
なお、画像コンピューティングサーバ２００の構成はこれに限らない。例えば、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０のうち少なくとも２つが一体となって構成されていてもよい。また、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ２００内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ２００の機能の少なくとも一部をエンドユーザ端末１９０や仮想カメラ操作ＵＩ３３０が有していてもよい。
【００２９】
レンダリング処理された画像は、バックエンドサーバ２７０からエンドユーザ端末１９０に送信され、エンドユーザ端末１９０を操作するユーザは視点の指定に応じた画像閲覧及び音声視聴が出来る。
【００３０】
この様に、画像処理システム１００は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという３つの機能ドメインを有する。映像収集ドメインはセンサシステム１１０ａ，...，１１０ｚを含み、データ保存ドメインはデータベース２５０、フロントエンドサーバ２３０及びバックエンドサーバ２７０を含む。そして、映像生成ドメインは仮想カメラ操作ＵＩ３３０及びエンドユーザ端末１９０を含む。なお、本構成に限らず、例えば、仮想カメラ操作ＵＩ３３０が、直接センサシステム１１０ａ，...，１１０ｚから画像を取得する事も可能である。しかしながら、本実施の形態では、センサシステム１１０ａ，...，１１０ｚから直接画像を取得する方法ではなく、データ保存機能を中間に配置する方法をとる。具体的には、フロントエンドサーバ２３０がセンサシステム１１０ａ，...，１１０ｚが生成した画像や音声及びそれらのデータのメタ情報を、データベース２５０の共通スキーマ及びデータ型に変換している。これにより、センサシステム１１０ａ，...，１１０ｚのカメラ１１２が他機種のカメラに変更されても、変更によって生じた差分をフロントエンドサーバ２３０が吸収し、データベース２５０に登録することができる。このことによって、カメラ１１２が他機種カメラに変わった場合に、仮想カメラ操作ＵＩ３３０が適切に動作しない虞を低減できる。
【００３１】
また、仮想カメラ操作ＵＩ３３０は、直接データベース２５０にアクセスせずにバックエンドサーバ２７０を介してアクセスする構成である。バックエンドサーバ２７０で画像生成処理に係わる共通処理を行い、操作ＵＩに係わるアプリケーションの差分部分を仮想カメラ操作ＵＩ３３０で行っている。このことにより、仮想カメラ操作ＵＩ３３０の開発において、ＵＩ操作デバイスや、生成したい仮想視点画像を操作するＵＩの機能要求に対する開発に注力する事ができる。また、バックエンドサーバ２７０は、仮想カメラ操作ＵＩ３３０の要求に応じて画像生成処理に係わる共通処理を追加又は削除する事も可能である。このことによって仮想カメラ操作ＵＩ３３０の要求に柔軟に対応する事ができる。
【００３２】
このように、画像処理システム１００においては、被写体を複数の方向から撮影するための複数のカメラ１１２による撮影画像に基づいて、バックエンドサーバ２７０により仮想視点画像が生成される。なお、本実施の形態に係る画像処理システム１００は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。
【００３３】
次に、画像処理システム１００における各ノード（カメラアダプタ１２０、フロントエンドサーバ２３０、データベース２５０、バックエンドサーバ２７０、仮想カメラ操作ＵＩ３３０）の機能ブロック図を説明する。
【００３４】
図２は、カメラアダプタ１２０の機能構成を説明するためのブロック図である。カメラアダプタ１２０は、ネットワークアダプタ６１１０と、伝送部６１２０と、画像処理部６１３０と、外部機器制御部６１４０と、を含む。ネットワークアダプタ６１１０は、データ送受信部６１１１と、時刻制御部６１１２とを含む。
【００３５】
データ送受信部６１１１は、デイジーチェーン１７０、ネットワーク２９１、及びネットワーク３１０ａを介し、他のカメラアダプタ１２０、フロントエンドサーバ２３０、タイムサーバ２９０、及び制御ステーション３１０とデータ通信を行う。例えば、データ送受信部６１１１は、カメラ１１２による撮影画像から前景背景分離部６１３１により分離された前景画像と背景画像とを、別のカメラアダプタ１２０に対して出力する。出力先のカメラアダプタ１２０は、画像処理システム１００のカメラアダプタ１２０のうち、データルーティング処理部６１２２の処理に応じて予め定められた順序における次のカメラアダプタ１２０である。各カメラアダプタ１２０が、前景画像及び背景画像を出力することで、複数の視点から撮影された前景画像と背景画像とに基づいた仮想視点画像が生成される。なお、撮影画像から分離した前景画像を出力して背景画像は出力しないカメラアダプタ１２０が存在してもよい。
【００３６】
時刻制御部６１１２は、例えば、ＩＥＥＥ１５８８規格のＯｒｄｉｎａｙ Ｃｌｏｃｋに準拠し、タイムサーバ２９０との間で送受信したデータのタイムスタンプを保存する機能と、タイムサーバ２９０と時刻同期を行う機能とを有する。なお、ＩＥＥＥ１５８８に限定する訳ではなく、他のＥｔｈｅｒＡＶＢ規格や、独自プロトコルによってタイムサーバとの時刻同期を実現してもよい。
【００３７】
伝送部６１２０は、ネットワークアダプタ６１１０を介してスイッチングハブ１８０等に対するデータの伝送を制御する機能を有する。伝送部６１２０は、データ圧縮・伸張部６１２１と、データルーティング処理部６１２２と、時刻同期制御部６１２３と、画像・音声伝送処理部６１２４と、データルーティング情報保持部６１２５とを含む。
【００３８】
データ圧縮・伸張部６１２１は、データ送受信部６１１１を介して送受信されるデータに対して所定の圧縮方式、圧縮率、及びフレームレートを適用した圧縮を行う機能と、圧縮されたデータを伸張する機能とを有している。
【００３９】
データルーティング処理部６１２２は、後述するデータルーティング情報保持部６１２５が保持するデータを利用し、データ送受信部６１１１が受信したデータ及び画像処理部６１３０で処理されたデータのルーティング先を決定する。さらに、決定したルーティング先へデータを送信する機能を有している。ルーティング先としては、同一の注視点にフォーカスされたカメラ１１２に対応するカメラアダプタ１２０とするのが、それぞれのカメラ１１２同士の画像フレーム相関が高いため画像処理を行う上で好適である。複数のカメラアダプタ１２０それぞれのデータルーティング処理部６１２２による決定に応じて、画像処理システム１００において前景画像や背景画像をリレー形式で出力するカメラアダプタ１２０の順序が定まる。
【００４０】
時刻同期制御部６１２３は、ＩＥＥＥ１５８８規格のＰＴＰ（Ｐｒｅｃｉｓｉｏｎ Ｔｉｍｅ Ｐｒｏｔｏｃｏｌ）に準拠し、タイムサーバ２９０と時刻同期に係わる処理を行う機能を有している。なお、ＰＴＰに限定するのではなく、他の同様のプロトコルを利用して時刻同期してもよい。
【００４１】
画像・音声伝送処理部６１２４は、画像データ又は音声データを、データ送受信部６１１１を介して他のカメラアダプタ１２０またはフロントエンドサーバ２３０へ転送するためのメッセージを作成する機能を有している。メッセージには、画像データ又は音声データ、及び各データのメタ情報が含まる。本実施形態のメタ情報には、画像の撮影または音声のサンプリング時のタイムコードまたはシーケンス番号、データ種別、及びカメラ１１２やマイク１１１の個体を示す識別子などが含まれる。なお、送信する画像データまたは音声データは、データ圧縮・伸張部６１２１でデータ圧縮されていてもよい。また、画像・音声伝送処理部６１２４は、他のカメラアダプタ１２０からデータ送受信部６１１１を介してメッセージを受取る。そして、メッセージに含まれるデータ種別に応じて、伝送プロトコル規定のパケットサイズにフラグメントされたデータ情報を画像データまたは音声データに復元する。なお、データを復元した際にデータが圧縮されている場合は、データ圧縮・伸張部６１２１が伸張処理を行う。
【００４２】
データルーティング情報保持部６１２５は、データ送受信部６１１１で送受信されるデータの送信先を決定するためのアドレス情報を保持する機能を有する。
【００４３】
画像処理部６１３０は、カメラ制御部６１４１の制御によりカメラ１１２が撮影した画像及び他のカメラアダプタ１２０から受取った画像に対して処理を行う機能を有する。画像処理部６１３０は、前景背景分離部６１３１と、三次元モデル情報生成部６１３２と、キャリブレーション制御部６１３３とを含む。
【００４４】
前景背景分離部６１３１は、カメラ１１２が撮影した画像を、前景画像と背景画像とに分離する機能を有している。すなわち、複数のカメラアダプタ１２０それぞれの前景背景分離部６１３１は、複数のカメラ１１２のうち対応するカメラ１１２による撮影画像から所定領域を抽出する。所定領域は、例えば、撮影画像に対するオブジェクト検出の結果得られる前景画像であり、この抽出により前景背景分離部６１３１は、撮影画像を前景画像と背景画像とに分離する。なお、オブジェクトとは、例えば、人物である。ただし、これに限られず、オブジェクトは、特定の人物（選手、監督、及び／又は審判など）であっても良いし、ボール等の画像パターンが予め定められている物体であっても良い。また、オブジェクトとして、動体が検出されるようにしても良い。人物等の重要なオブジェクトを含む前景画像とそのようなオブジェクトを含まない背景領域を分離して処理することで、画像処理システム１００において生成される仮想視点画像の上記のオブジェクトに該当する部分の画像の品質を向上できる。また、前景画像と背景画像との分離を複数のカメラアダプタ１２０それぞれが行うことで、複数のカメラ１１２を備えた画像処理システム１００における負荷を分散させることができる。なお、所定領域は前景画像に限らず、例えば背景画像であってもよい。
【００４５】
三次元モデル情報生成部６１３２は、前景背景分離部６１３１で分離された前景画像及び他のカメラアダプタ１２０から受取った前景画像を利用する。三次元モデル情報生成部６１３２は、例えば、ステレオカメラの原理を用いて三次元モデルに係わる画像情報を生成する機能を有している。
【００４６】
キャリブレーション制御部６１３３は、キャリブレーションに必要な画像データを、カメラ制御部６１４１を介してカメラ１１２から取得し、キャリブレーションに係わる演算処理を行うフロントエンドサーバ２３０に送信する機能を有している。なお、この例ではキャリブレーションに係わる演算処理をフロントエンドサーバ２３０で行っているが、演算処理を行うノードはフロントエンドサーバ２３０に限定されない。例えば、制御ステーション３１０やカメラアダプタ１２０（他のカメラアダプタ１２０を含む）など他のノードで演算処理が行われてもよい。またキャリブレーション制御部６１３３は、カメラ制御部６１４１を介してカメラ１１２から取得した画像に対して、予め設定されたパラメータに応じて撮影中のキャリブレーション（動的キャリブレーション）を行う機能を有している。
【００４７】
外部機器制御部６１４０は、カメラアダプタ１２０に接続する機器を制御する機能を有し、カメラ制御部６１４１と、マイク制御部６１４２と、雲台制御部６１４３と、センサ制御部６１４４とを含む。
【００４８】
カメラ制御部６１４１は、カメラ１１２と接続し、カメラ１１２の制御、撮影画像取得、同期信号提供、及び時刻設定などを行う機能を有している。カメラ１１２の制御には、例えば、撮影パラメータ（画素数、色深度、フレームレート、及びホワイトバランスなど）の設定及び参照、カメラ１１２の状態（撮影中、停止中、同期中、及びエラーなど）の取得、撮影の開始及び停止や、ピント調整などがある。同期信号提供は、時刻同期制御部６１２３がタイムサーバ２９０と同期した時刻を利用し、撮影タイミング（制御クロック）をカメラ１１２に提供することで行われる。時刻設定は、時刻同期制御部６１２３がタイムサーバ２９０と同期した時刻を、例えばＳＭＰＴＥ１２Ｍのフォーマットに準拠したタイムコードで提供することで行われる。これにより、カメラ１１２から受取る画像データに提供したタイムコードが付与されることになる。
【００４９】
マイク制御部６１４２は、マイク１１１と接続し、マイク１１１の制御、収音の開始及び停止や収音された音声データの取得などを行う機能を有している。マイク１１１の制御は例えば、ゲイン調整や、状態取得などである。また、カメラ制御部６１４１と同様にマイク１１１に対して音声サンプリングするタイミングとタイムコードを提供する。音声サンプリングのタイミングとなるクロック情報としては、タイムサーバ２９０からの時刻情報が例えば４８ＫＨｚのワードクロックに変換されてマイク１１１に供給される。
【００５０】
雲台制御部６１４３は、雲台１１３と接続し、雲台１１３の制御を行う機能を有している。雲台１１３の制御は、例えば、パン・チルト制御や、状態取得などがある。
【００５１】
センサ制御部６１４４は、外部センサ１１４と接続し、外部センサ１１４がセンシングしたセンサ情報を取得する機能を有する。例えば、外部センサ１１４としてジャイロセンサが利用される場合は、振動を表す情報（以下、振動情報と記載する。）を取得することができる。そして、センサ制御部６１４４が取得した振動情報を用いて、画像処理部６１３０は、前景背景分離部６１３１での処理に先立って、振動を抑えた画像を生成することができる。振動情報は、例えば、８Ｋカメラの画像データを、振動情報を考慮して、元の８Ｋサイズよりも小さいサイズで切り出して、隣接設置されたカメラ１１２の画像との位置合わせを行う場合に利用される。これにより、建造物の躯体振動が各カメラに異なる周波数で伝搬しても、カメラアダプタ１２０に配備された本機能で位置合わせを行う。その結果、電子的に防振された画像データを生成でき、画像コンピューティングサーバ２００におけるカメラ１１２の台数分の位置合わせの処理負荷を軽減する効果が得られる。なお、センサシステム１１０のセンサは外部センサ１１４に限定するわけではなく、カメラアダプタ１２０に内蔵されたセンサであっても同様の効果が得られる。
【００５２】
図３は、カメラアダプタ１２０内部の画像処理部６１３０の機能ブロック図である。画像処理部６１３０は、前景背景分離部６１３１と、三次元モデル情報生成部６１３２と、キャリブレーション制御部６１３３とを含む。
【００５３】
キャリブレーション制御部６１３３は、入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理や、カメラの振動に起因するブレに対して画像の位置を安定させるためのブレ補正処理（電子防振処理）などを行う。
【００５４】
前景背景分離部６１３１の機能ブロックについて説明する。前景分離部５００１は、カメラ１１２の画像に関して位置合わせが行われた画像データに対して、背景画像５００２との比較により前景画像の分離処理を行う。
【００５５】
背景更新部５００３は、背景画像５００２とカメラ１１２の位置合わせが行われた画像を用いて新しい背景画像を生成し、背景画像５００２を新しい背景画像に更新する。
【００５６】
背景切出部５００４は、背景画像５００２の一部を切り出す制御を行う。
【００５７】
ここで、三次元モデル情報生成部６１３２の機能について説明する。三次元モデル処理部５００５は、前景分離部５００１で分離された前景画像と、伝送部６１２０を介して受信した他のカメラ１１２の前景画像を用いて、例えば、ステレオカメラの原理等から三次元モデルに関わる画像情報を逐次生成する。
【００５８】
他カメラ前景受信部５００６は、他のカメラアダプタ１２０で前景背景分離された前景画像を受信する。
【００５９】
カメラパラメータ受信部５００７は、カメラ固有の内部パラメータ（焦点距離、画像中心、及びレンズ歪みパラメータ等）と、カメラの位置姿勢を表す外部パラメータ（回転行列及び位置ベクトル等）を受信する。これらのパラメータは、後述のキャリブレーション処理で得られる情報であり、制御ステーション３１０から対象となるカメラアダプタ１２０に対して送信及び設定される。次いで、三次元モデル処理部５００５は、カメラパラメータ受信部５００７と他カメラ前景受信部５００６によって三次元モデル情報を生成する。
【００６０】
図４は、フロントエンドサーバ２３０の機能構成を説明するためのブロック図である。フロントエンドサーバ２３０は、制御部２１１０と、データ入力制御部２１２０と、データ同期部２１３０と、ＣＡＤデータ記憶部２１３５と、キャリブレーション部２１４０と、画像処理部２１５０とを含む。さらに、フロントエンドサーバ２３０は、三次元モデル結合部２１６０と、画像結合部２１７０と、撮影データファイル生成部２１８０と、非撮影データファイル生成部２１８５と、ＤＢアクセス制御部２１９０とを含む。
【００６１】
制御部２１１０は、ＣＰＵやＤＲＡＭ、プログラムデータや各種データを記憶したＨＤＤやＮＡＮＤメモリなどの記憶媒体、Ｅｔｈｅｒｎｅｔ（登録商標）等のハードウェアで構成される。そして、フロントエンドサーバ２３０の各機能ブロック及びフロントエンドサーバ２３０のシステム全体の制御を行う。また、モード制御を行って、キャリブレーション動作や撮影前の準備動作、及び撮影中動作などの動作モードを切り替える。また、例えば、ネットワーク３１０ｂ（Ｅｔｈｅｒｎｅｔ（登録商標））を通じて制御ステーション３１０からの制御指示を受信し、各モードの切り替えやデータの入出力などを行う。また、同じくネットワーク３１０ｂを通じて制御ステーション３１０からスタジアムＣＡＤデータ（スタジアム形状データ）を取得し、スタジアムＣＡＤデータをＣＡＤデータ記憶部２１３５と撮影データファイル生成部２１８０に送信する。なお、本例におけるスタジアムＣＡＤデータ（スタジアム形状データ）はスタジアムの形状を示す三次元データであり、メッシュモデルやその他の三次元形状を表すデータであればよく、ＣＡＤ形式に限定されない。
【００６２】
データ入力制御部２１２０は、ネットワーク１８０ａ，１８０ｂ（Ｅｔｈｅｒｎｅｔ（登録商標））等の通信路とスイッチングハブ１８０を介して、カメラアダプタ１２０とネットワーク接続されている。そして、データ入力制御部２１２０は、ネットワーク１８０ａ，１８０ｂ、スイッチングハブ１８０を通してカメラアダプタ１２０から前景画像、背景画像、被写体の三次元モデル、音声データ、及びカメラキャリブレーション撮影画像データを取得する。また、データ入力制御部２１２０は、取得した前景画像及び背景画像を、データ同期部２１３０に送信し、カメラキャリブレーション撮影画像データをキャリブレーション部２１４０に送信する。
【００６３】
データ同期部２１３０は、カメラアダプタ１２０から取得したデータをＤＲＡＭ上に一次的に記憶し、前景画像、背景画像、音声データ及び三次元モデルデータが揃うまでバッファする。なお、前景画像、背景画像、音声データ及び三次元モデルデータをまとめて、以降では撮影データと称する。撮影データにはルーティング情報やタイムコード情報（時間情報）、カメラ識別子、位置合わせの可否、前景画像の撮影範囲内外の判定等のメタ情報が付与されており、データ同期部２１３０は、このメタ情報を元にデータの属性を確認する。これにより、データ同期部２１３０は、同一時刻のデータであることなどを判断してデータがそろったことを確認する。これは、ネットワークによって各カメラアダプタ１２０から転送されたデータについて、ネットワークパケットの受信順序は保証されず、ファイル生成に必要なデータが揃うまでバッファする必要があるためである。データがそろったら、データ同期部２１３０は、前景画像及び背景画像を画像処理部２１５０に、三次元モデルデータを三次元モデル結合部２１６０に、音声データを撮影データファイル生成部２１８０にそれぞれ送信する。
【００６４】
ＣＡＤデータ記憶部２１３５は、制御部２１１０から受け取ったスタジアム形状を示す三次元データを、ＤＲＡＭまたはＨＤＤやＮＡＮＤメモリ等の記憶媒体に保存する。そして、画像結合部２１７０に対して、スタジアム形状データの要求を受け取った際に保存されたスタジアム形状データを送信する。
【００６５】
キャリブレーション部２１４０は、カメラのキャリブレーション動作を行い、キャリブレーションによって得られたカメラパラメータを後述する非撮影データファイル生成部２１８５に送る。また同時に、自身の記憶領域にもカメラパラメータを保持し、後述する三次元モデル結合部２１６０にカメラパラメータ情報を提供する。
【００６６】
画像処理部２１５０は、前景画像や背景画像に対して、カメラ間の色や輝度値の合わせこみ、ＲＡＷ画像データが入力される場合には現像処理、及びカメラのレンズ歪みの補正等の処理を行う。そして、画像処理を行った前景画像は、撮影データファイル生成部２１８０に、背景画像は画像結合部２１７０にそれぞれ送信する。
【００６７】
三次元モデル結合部２１６０は、カメラアダプタ１２０から取得した同一時刻の三次元モデルデータをキャリブレーション部２１４０が生成したカメラパラメータを用いて結合する。そして、例えば、ＶｉｓｕａｌＨｕｌｌと呼ばれる方法を用いて、スタジアム全体における前景画像の三次元モデルデータを生成する。生成した三次元モデルは撮影データファイル生成部２１８０に送信される。
【００６８】
画像結合部２１７０は、画像処理部２１５０から背景画像を取得し、ＣＡＤデータ記憶部２１３５からスタジアムの三次元形状データ（スタジアム形状データ）を取得し、取得したスタジアムの三次元形状データの座標に対する背景画像の位置を特定する。背景画像の各々についてスタジアムの三次元形状データの座標に対する位置が特定できると、背景画像を結合して１つの背景画像とする。なお、本背景画像の三次元形状データの作成については、バックエンドサーバ２７０が実施してもよい。
【００６９】
撮影データファイル生成部２１８０は、データ同期部２１３０から音声データを、画像処理部２１５０から前景画像を、三次元モデル結合部２１６０から三次元モデルデータを、画像結合部２１７０から三次元形状に結合された背景画像を取得する。そして、取得したこれらのデータをＤＢアクセス制御部２１９０に対して出力する。ここで、撮影データファイル生成部２１８０は、これらのデータをそれぞれの時間情報に基づいて対応付けて出力する。ただし、これらのデータの一部を対応付けて出力してもよい。例えば、撮影データファイル生成部２１８０は、前景画像と背景画像とを、前景画像の時間情報及び背景画像の時間情報に基づいて対応付けて出力する。また例えば、撮影データファイル生成部２１８０は、前景画像、背景画像、及び三次元モデルデータを、前景画像の時間情報、背景画像の時間情報、及び三次元モデルデータの時間情報に基づいて対応付けて撮影データとして出力する。
【００７０】
非撮影データファイル生成部２１８５は、キャリブレーション部２１４０からカメラパラメータ、制御部２１１０からスタジアムの三次元形状データを取得し、ファイル形式に応じて成形した後にＤＢアクセス制御部２１９０に送信する。
【００７１】
ＤＢアクセス制御部２１９０は、ＩｎｆｉｎｉＢａｎｄなどにより高速な通信が可能となるようにデータベース２５０と接続される。そして、撮影データファイル生成部２１８０及び非撮影データファイル生成部２１８５から受信したファイルをデータベース２５０に対して送信する。本実施形態では、撮影データファイル生成部２１８０が時間情報に基づいて対応付けた撮影データは、フロントエンドサーバ２３０とネットワークを介して接続される記憶装置であるデータベース２５０へＤＢアクセス制御部２１９０を介して出力される。
【００７２】
本実施の形態ではフロントエンドサーバ２３０が前景画像と背景画像の対応付けを行うものとするが、これに限らず、データベース２５０が対応付けを行ってもよい。例えば、データベース２５０はフロントエンドサーバ２３０から時間情報を有する前景画像及び背景画像を取得する。そしてデータベース２５０は、前景画像および背景画像を、前景画像の時間情報および背景画像の時間情報に基づいて対応付けて、データベース２５０が備える記憶部に出力してもよい。
【００７３】
図５は、データベース２５０の機能構成を説明するためのブロック図である。データベース２５０は、制御部２４１０と、データ入力部２４２０と、データ出力部２４３０と、キャッシュ２４４０と、一次ストレージ２４５０とを有する。また、一次ストレージ２４５０は、二次ストレージ２４６０と接続されている。
【００７４】
制御部２４１０は、ＣＰＵやＤＲＡＭ、プログラムデータや各種データを記憶したＨＤＤやＮＡＮＤメモリなどの記憶媒体、及びＥｔｈｅｒｎｅｔ（登録商標）等のハードウェアで構成される。そして、データベース２５０の各機能ブロック及びデータベース２５０のシステム全体の制御を行う。
【００７５】
データ入力部２４２０は、ＩｎｆｉｎｉＢａｎｄ等の高速な通信によって、フロントエンドサーバ２３０から撮影データや非撮影データのファイルを受信する。受信したファイルは、キャッシュ２４４０に送られる。また、受信した撮影データのメタ情報を読み出し、メタ情報に記録されたタイムコード情報やルーティング情報、カメラ識別子等の情報を元に、取得したデータへのアクセスが可能になるようにデータベーステーブルを作成する。
【００７６】
データ出力部２４３０は、バックエンドサーバ２７０から要求されたデータが後述するキャッシュ２４４０、一次ストレージ２４５０、二次ストレージ２４６０のいずれに保存されているか判断する。そして、ＩｎｆｉｎｉＢａｎｄ等の高速な通信によって、保存された先からデータを読み出してバックエンドサーバ２７０に送信する。
【００７７】
キャッシュ２４４０は、高速な入出力スループットを実現可能なＤＲＡＭ等の記憶装置を有しており、データ入力部２４２０から取得した撮影データや非撮影データを記憶装置に格納する。格納されたデータは一定量保持され、それを超えるデータが入力される場合に、古いデータから随時一次ストレージ２４５０へと書き出され、書き出し済みのデータは新たなデータによって上書きされる。キャッシュされたデータはデータ出力部２４３０によって読み出される。
【００７８】
一次ストレージ２４５０は、ＳＳＤ等のストレージメディアを並列につなぐなどして構成される。データ入力部２４２０からの大量のデータの書き込み及びデータ出力部２４３０からのデータ読み出しが同時に実現できる。そして、一次ストレージ２４５０には、キャッシュ２４４０上に格納されたデータの古いものから順に書き出される。
【００７９】
二次ストレージ２４６０は、ＨＤＤやテープメディア等で構成される。高速性よりも大容量が重視され、一次ストレージ２４５０と比較して安価で長期間の保存に適するメディアであることが求められる。二次ストレージ２４６０には、撮影が完了した後、データのバックアップとして一次ストレージ２４５０に格納されたデータが書き出される。
【００８０】
図６は、バックエンドサーバ２７０の機能構成を説明するためのブロック図である。バックエンドサーバ２７０は、データ受信部３００１と、背景テクスチャ貼り付け部３００２と、前景テクスチャ決定部３００３と、テクスチャ境界色合わせ部３００４と、仮想視点前景画像生成部３００５と、レンダリング部３００６とを有する。さらに、バックエンドサーバ２７０は、仮想視点音声生成部３００７と、合成部３００８と、画像出力部３００９と、前景オブジェクト決定部３０１０と、要求リスト生成部３０１１と、要求データ出力部３０１２と、背景メッシュモデル管理部３０１３と、レンダリングモード管理部３０１４とを有する。
【００８１】
データ受信部３００１は、データベース２５０およびコントローラ３００から送信されるデータを受信する。また、データベース２５０からは、スタジアムの形状を示す三次元データ（背景メッシュモデル）、前景画像、背景画像、前景画像の三次元モデル（以降、前景三次元モデルと記載する。）、及び音声を受信する。
【００８２】
また、データ受信部３００１は、仮想視点画像の生成に係る視点を指定するコントローラ３００から出力される仮想カメラパラメータを受信する。仮想カメラパラメータとは、仮想視点の位置や姿勢などを表すデータであり、例えば、外部パラメータの行列と内部パラメータの行列が用いられる。
【００８３】
なお、データ受信部３００１がコントローラ３００から取得するデータは、仮想カメラパラメータに限らない。例えば、コントローラ３００から出力される情報は、視点の指定方法、コントローラが動作させているアプリケーションを特定する情報、コントローラ３００の識別情報、及びコントローラ３００を使用するユーザの識別情報の少なくとも何れかを含んでいてよい。また、データ受信部３００１は、コントローラ３００から出力される上記の情報と同様の情報を、エンドユーザ端末１９０から取得してもよい。さらに、データ受信部３００１は、データベース２５０やコントローラ３００などの外部の装置から、複数のカメラ１１２に関する情報を取得してもよい。複数のカメラ１１２に関する情報は、例えば、複数のカメラ１１２の数に関する情報や複数のカメラ１１２の動作状態に関する情報などである。カメラ１１２の動作状態には、例えば、カメラ１１２の正常状態、故障状態、待機状態、起動状態、及び再起動状態の少なくとも何れかが含まれる。
【００８４】
背景テクスチャ貼り付け部３００２は、背景メッシュモデル管理部３０１３から取得する背景メッシュモデル（スタジアム形状データ）で示される三次元空間形状に対して背景画像をテクスチャとして貼り付けることでテクスチャ付き背景メッシュモデルを生成する。メッシュモデルとは、例えば、ＣＡＤデータなど三次元の空間形状を面の集合で表現したデータのことである。テクスチャとは、物体の表面の質感を表現するために貼り付ける画像のことである。
【００８５】
前景テクスチャ決定部３００３は、前景画像及び前景三次元モデル群より前景三次元モデルのテクスチャ情報を決定する。前景テクスチャ境界色合わせ部３００４は、各前景三次元モデルのテクスチャ情報と各三次元モデル群からテクスチャの境界の色合わせを行い、前景オブジェクト毎に色付き前景三次元モデル群を生成する。仮想視点前景画像生成部３００５は、仮想カメラパラメータに基づいて、前景画像群を仮想視点からの見た目となるように透視変換する。
【００８６】
レンダリング部３００６は、レンダリングモード管理部３０１４で決定された、仮想視点画像の生成に用いられる生成方式に基づいて、背景画像と前景画像をレンダリングして全景の仮想視点画像を生成する。
【００８７】
本実施の形態では仮想視点画像の生成方式として、モデルベースレンダリング（Ｍｏｄｅｌ−Ｂａｓｅｄ  Ｒｅｎｄｅｒｉｎｇ：ＭＢＲ）とイメージベース（Ｉｍａｇｅ−Ｂａｓｅｄ  Ｒｅｎｄｅｒｉｎｇ：ＩＢＲ）の２つのレンダリングモードが用いられる。しかしながら、レンダリング部３００６は、ＭＢＲとＩＢＲ以外のレンダリング手法を用いてもよい。また、レンダリングモード管理部３０１４が決定する仮想視点画像の生成方式は、レンダリングの方式に限らない。レンダリングモード管理部３０１４は、仮想視点画像を生成するためのレンダリング以外の処理の方式を決定してもよい。レンダリングモード管理部３０１４は、仮想視点画像の生成に用いられる生成方式としてのレンダリングモードを決定し、決定結果を保持する。
【００８８】
仮想視点音声生成部３００７は、仮想カメラパラメータに基づいて、仮想視点において聞こえる音声（音声群）を生成する。本実施の形態では、仮想視点音声生成部３００７は、コントローラ（オペレータ）用とエンドユーザ用の２種類を生成する音声処理装置として機能している。ここで、仮想視点音声について、図７を用いて説明する。
【００８９】
図７は、円周上に複数のマイクが設置された競技場を示す図である。図７に示す例では、円周上に配置された複数のセンサシステム１１０それぞれがマイク１１１を有している。
【００９０】
仮想視点音声は、設置されたどのマイク１１１とも異なる取得位置において聞こえる音声である。図７において、マイク１１１は、任意の狭い範囲の音声を強調できるズームマイクであり、収音範囲７００１ａ〜７００１ｒが割り当たるようそれぞれ調整されている。例えば、マイク１１１ａは収音範囲７００１ａとなるよう調整され、マイク１１１ｂは収音範囲７００１ｂとなるよう調整されている。そして、各マイク１１１は、割り当てられた収音範囲７００１について同期収音を行う。
【００９１】
仮想視点音声生成部３００７は、仮想視点が指定されると、例えばその周辺領域の音声データを合成して仮想視点音声を生成する。図７の例では、仮想視点音声の収音範囲として範囲７００２が決定されている。この場合、仮想視点音声生成部３００７は、範囲７００２に含まれる収音範囲７００１ｋ、７００１ｌ、７００１ｍが割り当てられたマイク１１１ｋ、１１１ｌ、１１１ｍの音声データ群（収音音声）を合成することで、仮想視点音声を生成する。なお、マイク１１１は、収音範囲を割り当てられる機能を有していればよく、ズームマイクに限定されない。また、収音範囲７００１にそれぞれ設置されたマイクが収音した音声データを、カメラアダプタ１２０に供給する構成であってもよい。
【００９２】
図６に戻って、合成部３００８は、レンダリング部３００６で生成された画像群と仮想視点音声生成部３００７で生成された２種類の音声を合成してコントローラ３００用とエンドユーザ端末１９０用の２種類の仮想視点コンテンツを生成する。
【００９３】
画像出力部３００９は、コントローラ３００とエンドユーザ端末１９０へＥｔｈｅｒｎｅｔ（登録商標）を用いて仮想視点コンテンツをそれぞれ出力する。ただし、外部への伝送手段はＥｔｈｅｒｎｅｔ（登録商標）に限定されるものではなく、ＳＤＩ、ＤｉｓｐｌａｙＰｏｒｔ、及びＨＤＭＩ（登録商標）などの信号伝送手段を用いてもよい。
【００９４】
前景オブジェクト決定部３０１０は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの空間上の位置を示す前景オブジェクトの位置情報から、表示される前景オブジェクト群を決定して、前景オブジェクトリストを出力する。つまり、前景オブジェクト決定部３０１０は、仮想視点の画像情報を物理的なカメラ１１２にマッピングする処理を実施する。
【００９５】
要求リスト生成部３０１１は、指定時間の前景オブジェクトリストに対応する前景画像群と前景三次元モデル群、及び背景画像と音声データをデータベース２５０に要求するための、要求リストを生成する。前景オブジェクトについては仮想視点を考慮して選択されたデータがデータベース２５０に要求されるが、背景画像と音声データについてはそのフレームに関する全てのデータが要求される。バックエンドサーバ２７０の起動後、背景メッシュモデルが取得されるまで背景メッシュモデルの要求リストが生成される。
【００９６】
要求データ出力部３０１２は、入力された要求リストを元にデータベース２５０に対してデータ要求のコマンドを出力する。背景メッシュモデル管理部３０１３は、データベース２５０から受信した背景メッシュモデルを記憶する。
【００９７】
なお、本実施の形態ではバックエンドサーバ２７０が仮想視点画像の生成方式の決定と仮想視点画像の生成の両方を行う場合を中心に説明するが、これに限らない。即ち、生成方式を決定した装置はその決定結果に応じたデータを出力すればよい。
【００９８】
図８は、仮想カメラについて説明するための図である。図８（ａ）において、仮想カメラ８００１は、設置されたどのカメラ１１２とも異なる視点において撮影を行うことができる仮想的なカメラである。すなわち、画像処理システム１００において生成される仮想視点画像が、仮想カメラ８００１による撮影画像である。図８（ａ）において、円周上に配置された複数のセンサシステム１１０それぞれがカメラ１１２を有している。例えば、仮想視点画像を生成することにより、あたかもサッカーゴールの近くの仮想カメラ８００１で撮影されたかのような画像を生成することができる。仮想カメラ８００１の撮影画像である仮想視点画像は、設置された複数のカメラ１１２の画像を画像処理することで生成される。オペレータ（ユーザ）は仮想カメラ８００１の位置等操作することで、自由な視点（視線方向）からの撮影画像を得ることができる。図８（ｂ）において、仮想カメラパス８００２は、仮想カメラ８００１の１フレームごとの位置や姿勢を表す情報の列を示している。仮想カメラパスの詳細は後述する。
【００９９】
図９は、仮想カメラ操作ＵＩ３３０の機能構成を説明するためのブロック図である。仮想カメラ操作ＵＩ３３０は、仮想カメラ８００１（図８参照）を操作するための、仮想カメラ管理部８１３０および操作ＵＩ部８１２０を有する。これらは同一機器上に実装されてもよいし、それぞれサーバとなる装置とクライアントとなる装置に別々に実装されてもよい。例えば、放送局が使用する仮想カメラ操作ＵＩ３３０においては、中継車内のワークステーションに仮想カメラ管理部８１３０と操作ＵＩ部８１２０が実装されてもよい。また、例えば、仮想カメラ管理部８１３０をｗｅｂサーバに実装し、エンドユーザ端末１９０に操作ＵＩ部８１２０を実装することで、同様の機能を実現してもよい。
【０１００】
仮想カメラ操作部８１０１は、オペレータの仮想カメラ８００１に対する操作、すなわち仮想視点画像の生成に係る視点を指定するためのユーザによる指示を受け付けて処理する。オペレータの操作内容は、例えば、位置の変更（移動）、姿勢の変更（回転）、及びズーム倍率の変更などである。オペレータは、仮想カメラ８００１を操作するために、例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどの入力装置を使う。各入力装置による入力と仮想カメラ８００１の操作との対応は予め決められる。例えば、キーボードの「W」キーを、仮想カメラ８００１を前方へ１メートル移動する操作に対応付ける。また、オペレータは軌跡を指定して仮想カメラ８００１を操作することができる。
【０１０１】
例えば、オペレータは、ゴールポストを中心とする円周上を仮想カメラ８００１が回るという軌跡を、タッチパッドに円を書いて指定する。仮想カメラ８００１は、指定された軌跡に沿ってゴールポストの回りを移動する。このとき、仮想カメラ８００１が常にゴールポストの方を向くように自動で姿勢を変更してもよい。仮想カメラ操作部８１０１は、ライブ画像およびリプレイ画像の生成に利用することができる。リプレイ画像を生成する際は、カメラの位置及び姿勢の他に時間を指定する操作が行われる。リプレイ画像では、例えば、時間を止めて仮想カメラ８００１を移動させることも可能である。
【０１０２】
仮想カメラパラメータ導出部８１０２は、仮想カメラ８００１の位置や姿勢などを表す仮想カメラパラメータを導出する。仮想パラメータは、演算によって導出されてもよいし、ルックアップテーブルの参照などによって導出されてもよい。仮想カメラパラメータとして、例えば、外部パラメータを表す行列と内部パラメータを表す行列が用いられる。ここで、仮想カメラ８００１の位置と姿勢は外部パラメータに含まれ、ズーム値は内部パラメータに含まれる。
【０１０３】
仮想カメラ制約管理部８１０３は、仮想カメラ操作部８１０１によって受け付けることができる仮想視点の領域（以下、受付可能領域と記載する。）を特定するための情報を取得し管理する。この情報は、例えば、仮想カメラ８００１の位置や姿勢、ズーム値などに関する、仮想視点画像を生成するために満たすべき制約（以下、仮想カメラ制約と記載する。）である。仮想カメラ８００１は、カメラ１１２と異なり、自由に視点を移動して撮影を行うことができるが、常にあらゆる視点からの画像を生成できるとは限らない。例えば、どのカメラ１１２にも映っていない対象物が映る向きに仮想カメラ８００１を向けても、その撮影画像を取得することはできない。また、仮想カメラ８００１のズーム倍率を上げると、解像度の制約により画質が劣化する。そこで、一定基準の画質を保つ範囲のズーム倍率などを仮想カメラ制約としてよい。
【０１０４】
仮想カメラ制約は、例えば、カメラの配置などから事前に導出しておいてもよい。また、伝送部６１２０がネットワークの負荷に応じて伝送データ量の削減を図ることがある。このデータ量削減により、撮影画像に関するパラメータが変化し、画像を生成できる範囲や画質を保つことができる範囲が動的に変わる。仮想カメラ制約管理部８１０３は、伝送部６１２０から出力データのデータ量の削減に用いた方法を示す情報を受け取り、その情報に応じて仮想カメラ制約を動的に更新する構成であってもよい。これにより、伝送部６１２０によりデータ量削減が図られても、仮想視点画像の画質を一定基準に保つことが可能となる。
【０１０５】
また、仮想カメラに関する制約は上記の物に限定されない。本実施の形態では、仮想視点の受付可能領域は、画像処理システム１００に含まれる装置の動作状態及び仮想視点画像を生成するための画像データに関するパラメータの少なくとも何れかに応じて変化する。例えば、受付可能領域は、画像処理システム１００において伝送される画像データのデータ量が所定範囲内となるように制御されるパラメータに応じて変化する。当該パラメータは、画像データのフレームレート、解像度、量子化ステップ、及び撮影範囲などのうち少なくとも何れかを含む。例えば、伝送データ量削減のために画像データの解像度が低減されると、所定の画質を維持可能なズーム倍率の範囲が変化する。このような場合に、仮想カメラ制約管理部８１０３がパラメータに応じて変化する受付可能領域を特定する情報を取得することで、仮想カメラ操作ＵＩ３３０はパラメータの変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、パラメータの内容は上記のものに限定されない。また、本実施の形態において上記のデータ量が制御される画像データは複数のカメラ１１２による複数の撮影画像の差分に基づいて生成されるデータであるものとするが、これに限らず、例えば撮影画像そのものでもよい。
【０１０６】
また、例えば、受付可能領域は、画像処理システム１００に含まれる装置の動作状態に応じて変化する。ここで画像処理システム１００に含まれる装置には、例えば、カメラ１１２及びカメラ１１２による撮影画像に対する画像処理を行って画像データを生成するカメラアダプタ１２０の少なくとも何れかが含まれる。そして装置の動作状態には、例えば当該装置の正常状態、故障状態、起動準備状態、及び再起動状態の少なくとも何れかが含まれる。例えば、何れかのカメラ１１２が故障状態や再起動状態にある場合、そのカメラの周辺位置に視点を指定することができなくなる場合が考えられる。このような場合に、仮想カメラ制約管理部８１０３が装置の動作状態に応じて変化する受付可能領域を特定する情報を取得することで、仮想カメラ操作ＵＩ３３０は装置の動作状態の変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、受付可能領域の変化に関係する装置及びその動作状態は上記のものに限定されない。
【０１０７】
衝突判定部８１０４は、仮想カメラパラメータ導出部８１０２で導出された仮想カメラパラメータが仮想カメラ制約を満たしているかを判定する。制約を満たしていない場合は、例えば、オペレータによる操作入力をキャンセルし、制約を満たす位置から仮想カメラ８００１が動かないよう制御したり、制約を満たす位置に仮想カメラ８００１を戻したりする。
【０１０８】
フィードバック出力部８１０５は、衝突判定部８１０４の判定結果をオペレータにフィードバックする。例えば、オペレータの操作により、仮想カメラ制約が満たされなくなる場合に、そのことをオペレータに通知する。例えば、オペレータが仮想カメラ８００１を上方に移動しようと操作したが、移動先が仮想カメラ制約を満たさないとする。その場合、オペレータに、これ以上、上方に仮想カメラ８００１を移動できないことを通知する。通知方法としては、音、メッセージ出力、画面の色変化、及び仮想カメラ操作部８１０１をロックする等の方法がある。さらには、制約を満たす位置まで仮想カメラの位置を自動で戻してもよく、これによりオペレータの操作簡便性につながる効果がある。
【０１０９】
フィードバックが画像表示により行われる場合、フィードバック出力部８１０５は、仮想カメラ制約管理部８１０３が取得した情報に基づいて、受付可能領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、フィードバック出力部８１０５は、仮想カメラ操作部８１０１により受け付けられた指示に応じて、当該指示に対応する視点が受付可能領域内であることを表す画像を表示部に表示させる。これにより、オペレータは指定している視点が受付可能領域外であって所望の仮想視点画像を生成できない虞があることを認識でき、受付可能領域内の位置（仮想カメラ制約を満たす位置）に視点を指定し直すことができる。すなわち、仮想視点画像の生成において、状況に応じて変化する範囲内で視点を指定できるようになる。
【０１１０】
なお、フィードバック出力部８１０５により表示部に表示される内容はこれに限定されない。例えば、視点の指定の対象となる領域（スタジアムの内部など）のうち受付可能領域に当たる部分を所定の色で塗りつぶした画像が表示されてもよい。本実施の形態では、表示部が仮想カメラ操作ＵＩ３３０と接続される外部のディスプレイであるものとするが、これに限らず、表示部が仮想カメラ操作ＵＩ３３０の内部に存在してもよい。
【０１１１】
仮想カメラパス管理部８１０６は、オペレータの操作に応じた仮想カメラ８００１のパス（仮想カメラパス８００２）を管理する。仮想カメラパス８００２とは、仮想カメラ８００１の１フレームごと位置や姿勢を表す情報の列である。図８（ｂ）を参照すると、例えば、仮想カメラ８００１の位置や姿勢を表す情報として仮想カメラパラメータが用いられる。例えば、６０フレーム／秒のフレームレートの設定における１秒分の情報は、６０個の仮想カメラパラメータの列となる。仮想カメラパス管理部８１０６は、衝突判定部８１０４で判定済みの仮想カメラパラメータを、バックエンドサーバ２７０に送信する。バックエンドサーバ２７０は、受信した仮想カメラパラメータを用いて、仮想視点画像及び仮想視点音声を生成する。また、仮想カメラパス管理部８１０６は、仮想カメラパラメータを仮想カメラパス８００２に付加して保持する機能も有する。例えば、仮想カメラ操作ＵＩ３３０を用いて、１時間分の仮想視点画像及び仮想視点音声を生成した場合、１時間分の仮想カメラパラメータが仮想カメラパス８００２として保存される。本仮想カメラパスを保存しておくことによって、データベースの二次ストレージ２４６０に蓄積された画像情報と仮想カメラパスを後から参照し、仮想視点画像及び仮想視点音声を再度生成することが可能になる。つまり、高度な仮想カメラ操作を行うオペレータが生成した仮想カメラパスと二次ストレージ２４６０に蓄積された画像情報を他のユーザが再利用できる。
【０１１２】
なお、複数の仮想カメラパスに対応する複数のシーンを選択可能となるように仮想カメラ管理部８１３０に蓄積することもできる。複数の仮想カメラパスを仮想カメラ管理部８１３０に蓄積する際には、各仮想カメラパスに対応するシーンのスクリプトや試合の経過時間、シーンの前後指定時間、及びプレーヤ情報等のメタ情報もあわせて入力及び蓄積することができる。仮想カメラ操作ＵＩ３３０は、これらの仮想カメラパスを仮想カメラパラメータとして、バックエンドサーバ２７０に通知する。
【０１１３】
エンドユーザ端末１９０は、バックエンドサーバ２７０に仮想カメラパスを選択するための選択情報を要求することで、シーン名やプレーヤ、及び試合経過時間などから、仮想カメラパスを選択できる。バックエンドサーバ２７０はエンドユーザ端末１９０に選択可能な仮想カメラパスの候補を通知し、エンドユーザはエンドユーザ端末１９０を操作して、複数の候補の中から希望の仮想カメラパスを選択する。そして、エンドユーザ端末１９０は選択された仮想カメラパスに応じた画像生成をバックエンドサーバ２７０に要求することで、画像配信サービスをインタラクティブに享受することができる。
【０１１４】
図９に戻って、オーサリング部８１０７は、オペレータがリプレイ画像を生成する際の編集機能を提供する。オーサリング部８１０７は、ユーザ操作に応じて、リプレイ画像用の仮想カメラパス８００２の初期値として、仮想カメラパス管理部８１０６が保持する仮想カメラパス８００２の一部を取り出す。前述したように、仮想カメラパス管理部８１０６には、仮想カメラパス８００２と対応付けてシーン名、プレーヤ、経過時間、及びシーンの前後指定時間などのメタ情報が保持されている。例えば、シーン名がゴールシーン、シーンの前後指定時間が前後合わせて１０秒分である仮想カメラパス８００２が取り出される。また、オーサリング部８１０７は、編集したカメラパスに再生速度を設定する。例えば、ボールがゴールに飛んで行く間の仮想カメラパス８００２にスロー再生を設定する。なお、異なる視点からの画像に変更する場合、つまり仮想カメラパス８００２を変更する場合は、ユーザは仮想カメラ操作部８１０１を用いて再度、仮想カメラ８００１を操作する。
【０１１５】
仮想カメラ画像・音声出力部８１０８は、バックエンドサーバ２７０から受け取った仮想カメラ画像・音声を出力する。オペレータは出力された画像及び音声を確認しながら仮想カメラ８００１を操作する。なお、フィードバック出力部８１０５によるフィードバックの内容によっては、仮想カメラ画像・音声出力部８１０８は、受付可能領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、仮想カメラ画像・音声出力部８１０８は、オペレータが指定した視点の位置が受付可能領域外である場合に、指定された位置の近辺であり且つ受付可能領域内である位置を視点とした仮想視点画像を表示させてもよい。これにより、オペレータが受付可能領域内に視点を指定し直す手間が削減される。
【０１１６】
次に、データベース２５０に蓄積されたデータに基づいてバックエンドサーバ２７０が、ライブ画像生成及びリプレイ画像生成を行い、生成された画像をエンドユーザ端末１９０に表示させる処理について説明する。なお、本実施の形態のバックエンドサーバ２７０は、ライブ画像及びリプレイ画像として、仮想視点コンテンツを生成する。本実施の形態において、仮想視点コンテンツとは、複数のカメラ１１２による撮影画像を複数視点画像として用いて生成されるコンテンツである。すなわち、バックエンドサーバ２７０は、例えば、ユーザ操作に基づいて指定された視点情報に基づいて、仮想視点コンテンツを生成する。
【０１１７】
ユーザが仮想カメラ操作ＵＩ３３０を操作して視点を指定した場合に、指定された視点位置（仮想カメラの位置）に対応する画像を生成するためのカメラ１１２による撮影画像がない、あるいは解像度が十分でない、あるいは画質が低い場合が考えられる。その際に、ユーザへの画像提供の条件を満たせないことが画像生成の段階まで判定できないと、オペレータの操作性が損なわれる虞がある。以下ではこの虞を低減する方法について説明する。
【０１１８】
図１０は、実施の形態１に係る、仮想カメラ操作ＵＩ３３０、バックエンドサーバ２７０及びデータベース２５０の処理フローを示す図である。図１０を参照して、オペレータ（ユーザ）による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作ＵＩ３３０、バックエンドサーバ２７０及びデータベース２５０の処理を説明する。
【０１１９】
まず、仮想カメラ操作ＵＩ３３０は、入力装置を介してオペレータから仮想カメラの操作を受け付ける（ステップＳ３３００）。入力装置として例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどが用いられる。
【０１２０】
仮想カメラ操作ＵＩ３３０において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される（ステップＳ３３０２）。仮想カメラパラメータには、仮想カメラの位置と姿勢などを示す外部パラメータ、および仮想カメラのズーム倍率などを示す内部パラメータが含まれる。
【０１２１】
仮想カメラ操作ＵＩ３３０は、導出した仮想カメラパラメータをバックエンドサーバ２７０に送信する（ステップＳ３３０４）。
【０１２２】
バックエンドサーバ２７０は、仮想カメラパラメータを受信するとデータベース２５０に対して前景三次元モデル群を要求する（ステップＳ３３０６）。
【０１２３】
データベース２５０は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ２７０に送信する（ステップＳ３３０８）。
【０１２４】
バックエンドサーバ２７０は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する（ステップＳ３３１０）。
【０１２５】
バックエンドサーバ２７０は、仮想視点音声生成部３００７によって、仮想カメラパラメータに基づいてコントローラ３００用とエンドユーザ端末１９０用の２種類の仮想視点音声の収音範囲をそれぞれ決定する（ステップＳ３３１２）。
【０１２６】
ここで、仮想視点音声の収音範囲について図１１を用いて説明する。図１１は、仮想視点音声の収音範囲を示す図であり、図１１（ａ）〜（ｃ）では、それぞれエンドユーザ端末１９０用およびコントローラ３００用の収音範囲が示されている。
【０１２７】
図１１（ａ）において、エンドユーザ端末１９０用の仮想視点音声の収音範囲（第１の収音範囲）は、円８００３である。円８００３の中心は、仮想カメラ８００１の位置に限定されるものでなく、仮想カメラ８００１の位置から前方に所定量ずらしてもよいし、仮想カメラ８００１の焦点／被写体位置であってもよい。すなわち、仮想視点音声生成部３００７は、エンドユーザ端末１９０用の仮想視点音声の収音範囲を、仮想カメラの位置や姿勢を表す仮想カメラパラメータに基づいて決定する。
【０１２８】
コントローラ３００用の仮想視点音声の収音範囲（第２の収音範囲）は、円８００４であり、円８００３と中心が同じで半径が円８００３の半径よりも長い。このように、仮想視点音声生成部３００７は、コントローラ３００用の仮想視点音声の収音範囲を、エンドユーザ端末１９０用の仮想視点音声の収音範囲のすくなくとも一部と、その収音範囲外も含むように決定する。したがって、オペレータは、コントローラ３００用の収音範囲に基づいて合成された音声を聴くことで、仮想カメラの視野外の位置８００５でのイベントを察知でき、そのイベントに応じて次の仮想カメラ操作をどうすべきか判断できるようになる。
【０１２９】
なお、円８００３の半径は、仮想カメラパラメータの内部パラメータに基づく固定値でもよいし、円８００４の半径は、円８００３の半径の固定値倍でもよい。また、円８００３及び円８００４の半径は、図１１（ｂ）や図１１（ｃ）のように仮想カメラ８００１のズーム倍率と連動してもよい。例えば、ズーム倍率を上げると、円８００３の半径を小さくし、円８００４の半径を大きくする。収音範囲の包含関係が守られていれば、どのようにズーム倍率と連動させてもよい。また、本実施の形態では説明を簡単にするため収音範囲の形状を円形としたが、収音範囲の形状は円形に限られない。
【０１３０】
図１０に戻って、バックエンドサーバ２７０は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース２５０に要求する（ステップＳ３３１４）。
【０１３１】
データベース２５０は、要求に応じてデータをバックエンドサーバ２７０に送信する（ステップＳ３３１６）。
【０１３２】
バックエンドサーバ２７０は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する（ステップＳ３３１８）。
【０１３３】
バックエンドサーバ２７０は、ステップＳ３３１２で決定した収音範囲に基づいてエンドユーザ端末１９０用およびコントローラ３００用の音声データの合成をそれぞれ行う（ステップＳ３３２０）。
【０１３４】
バックエンドサーバ２７０は、仮想視点の前景画像と統合して仮想視点の画像及び音声を生成する（ステップＳ３３２２）。
【０１３５】
バックエンドサーバ２７０は、生成した仮想視点の画像及びコントローラ３００用音声を仮想カメラ操作ＵＩ３３０に送信する（ステップＳ３３２４）。
【０１３６】
仮想カメラ操作ＵＩ３３０は受信した画像を表示することで、仮想カメラの撮影画像の表示を実現する。仮想カメラのオペレータは、仮想カメラ視野である仮想視点画像に加えて仮想カメラ視野外の音声も聞きながら仮想カメラを操作する。これにより、図１１（ａ）の位置８００５のような仮想カメラ８００１視野外の位置での「パス！」といった音声を聞いて、仮想カメラを左へ振る（その音声が発せられた位置の方へカメラを向ける）パン操作を行うといったことができるようになる。
【０１３７】
図１２は、仮想カメラ操作ＵＩ３３０がライブ画像を生成する際の処理を示すフローチャートである。なお、以下で説明する処理は、特に明示が無い場合、仮想カメラ操作ＵＩ３３０内のＲＯＭに格納されたプログラムに従ってＣＰＵによって実行される。
【０１３８】
ステップＳ８２０１で、仮想カメラ操作部８１０１は、入力装置を介してオペレータが入力した仮想カメラ８００１を操作するための操作情報を取得する。
【０１３９】
ステップＳ８２０２で、仮想カメラ操作部８１０１は、オペレータの操作が仮想カメラ８００１の移動や回転やズームであるか否かを判定する。ここでの移動や回転やズームは１フレームごとに行われる。移動、回転やズームであると判定された場合（ステップＳ８２０２において、Ｙｅｓ）は、処理はステップＳ８２０３へ進む。そうでないと判定された場合（ステップＳ８２０２において、Ｎｏ）は、処理はステップＳ８２０５へ進む。ここで、移動操作、回転操作及びズーム操作と、軌跡選択操作とで処理が分岐する。これにより、時間を停止させて視点位置を回転させる画像表現と、連続的な動きを表現する画像表現とを簡便な操作で切り替えることが可能になるという効果がある。
【０１４０】
ステップＳ８２０３で、１フレーム分の処理（図１３において詳述）が行われる。ステップＳ８２０４で、仮想カメラ操作部８１０１は、オペレータが終了操作を入力したか否かを判定する。終了操作が入力された場合（ステップＳ８２０４において、Ｙｅｓ）は、処理を終了する。入力されなかった場合（ステップＳ８２０４において、Ｎｏ）は、処理はステップＳ８２０１へ戻る。
【０１４１】
一方、移動、回転やズームではないと判定された場合（ステップＳ８２０２のおいて、Ｎｏ）、ステップＳ８２０５で、仮想カメラ操作部８１０１は、オペレータによって軌跡（仮想カメラパス）の選択操作が入力されたか否かを判定する。例えば、軌跡は複数フレーム分の仮想カメラ８００１の操作情報の列で表すことができる。軌跡の選択操作が入力されたと判定された場合（ステップＳ８２０５において、Ｙｅｓ）は、処理はステップＳ８２０６へ進む。そうでないと判定された場合（ステップＳ８２０５において、Ｎｏ）は、処理はステップＳ８２０１へ戻る。
【０１４２】
ステップＳ８２０６で、仮想カメラ操作ＵＩ３３０は、選択された軌跡から次のフレームの操作を取得する。ステップＳ８２０７で、１フレーム分の処理（図１３において詳述）が行われる。
【０１４３】
ステップＳ８２０８で、仮想カメラ操作ＵＩ３３０は、選択された軌跡のすべてのフレームに対する処理が終了したか否かを判定する。終了した場合はステップＳ８２０４へ進む。終了していない場合はステップＳ８２０６へ戻る。
【０１４４】
図１３は、１フレーム分の処理を示すフローチャートである。図１３を参照して、図１２のステップＳ８２０３およびステップＳ８２０７における処理を説明する。
【０１４５】
ステップＳ８２０９で、仮想カメラパラメータ導出部８１０２は、位置や姿勢が変更された後の、仮想カメラパラメータを導出する。ステップＳ８２１０で、衝突判定部８１０４は、衝突判定を行う。衝突した、つまり、仮想カメラ制約が満たされていない場合（ステップＳ８２１０において、Ｙｅｓ）は、処理はステップＳ８２１４へ進む。衝突していない、つまり、仮想カメラ制約が満たされている場合（ステップＳ８２１０において、Ｎｏ）は、処理はステップＳ８２１１へ進む。
【０１４６】
このように、仮想カメラ操作ＵＩ３３０において、衝突判定が行われる。そして、判定結果に応じて、例えば操作部をロックする、あるいは色が異なるメッセージを表示して警告する等の処理が行われることで、オペレータに対するフィードバックの即時性を高めることができる。これにより、結果的にオペレータの操作性向上につながるという効果がある。
【０１４７】
ステップＳ８２１１で、仮想カメラパス管理部８１０６が、仮想カメラパラメータをバックエンドサーバ２７０へ送信する。ステップＳ８２１２で、仮想カメラ画像・音声出力部８１０８が、バックエンドサーバ２７０から受信した画像を出力し、処理は終了する。
【０１４８】
一方、仮想カメラ制約が満たされていない場合（ステップＳ８２１０において、Ｙｅｓ）、ステップＳ８２１４で、仮想カメラ制約を満たすように仮想カメラ８００１の位置や姿勢が修正される。例えば、ユーザによる最新の操作入力がキャンセルされ、仮想カメラパラメータが１フレーム前の状態に戻される。これによりオペレータは、例えば、軌跡入力が行われて衝突が発生した場合などに、最初から操作入力をやり直さずに、衝突が発生したところからインタラクティブに操作入力を補正することが可能となり、操作性が向上される効果がある。
【０１４９】
ステップＳ８２１５で、フィードバック出力部８１０５は、仮想カメラ制約を満たさないことを、オペレータに通知する。通知は音、メッセージ、及び仮想カメラ操作ＵＩ３３０をロックさせる等の方法により行う。なお、通知方法はこれに限定するものではない。
【０１５０】
図１４は、仮想カメラ操作ＵＩ３３０がリプレイ画像を生成する際の処理を示すフローチャートである。なお、以下で説明する処理は、特に明示が無い場合、仮想カメラ操作ＵＩ３３０内のＲＯＭに格納されたプログラムに従ってＣＰＵによって実行される。
【０１５１】
ステップＳ８３０１で、仮想カメラパス管理部８１０６は、ライブ画像の仮想カメラパス８００２を取得する。ステップＳ８３０２で、仮想カメラパス管理部８１０６は、ライブ画像の仮想カメラパス８００２から、開始点と終了点を選択するためのオペレータの操作を受け付ける。例えば、ゴールシーン前後の１０秒分の仮想カメラパス８００２が選択されうる。ライブ画像が６０フレーム／秒の場合は、１０秒分の仮想カメラパス８００２に、６００個の仮想カメラパラメータが含まれる。このように、フレーム毎に仮想カメラパラメータ情報が紐づけられて管理される。
【０１５２】
ステップＳ８３０３で、選択された１０秒分の仮想カメラパス８００２が、リプレイ画像の仮想カメラパス８００２の初期値として保存される。また、後述するステップＳ８３０７からステップＳ８３０９の処理により、仮想カメラパス８００２が編集された場合は、編集した結果が上書き保存される。
【０１５３】
ステップＳ８３０４で、仮想カメラ操作ＵＩ３３０は、オペレータにより入力された操作が再生操作であるか否かを判定する。再生操作の場合（ステップＳ８３０４において、Ｙｅｓ）は、処理はステップＳ８３０５へ進む。再生操作でない場合（ステップＳ８３０４において、Ｎｏ）は、処理はステップＳ８３０７へ進む。
【０１５４】
ステップＳ８３０５で、仮想カメラ操作ＵＩ３３０は、再生する範囲の選択に関するオペレータ入力を受け付ける。ステップＳ８３０６で、オペレータにより選択された範囲の画像及び音声が再生される。具体的には、仮想カメラパス管理部８１０６が、選択された範囲の仮想カメラパス８００２をバックエンドサーバ２７０へ送信する。すなわち、仮想カメラパス８００２に含まれる仮想カメラパラメータを順に送信する。そして、仮想カメラ画像・音声出力部８１０８が、バックエンドサーバ２７０から受信した仮想視点画像及び仮想視点音声を出力する。
【０１５５】
ステップＳ８３０７で、仮想カメラ操作ＵＩ３３０は、オペレータにより入力された操作が編集操作であるか否かを判定する。編集の場合（ステップＳ８３０７において、Ｙｅｓ）は、処理はステップＳ８３０８へ進む。編集でない場合（ステップＳ８３０７において、Ｎｏ）は、処理はステップＳ８３１０へ進む。
【０１５６】
ステップＳ８３０８で、仮想カメラ操作ＵＩ３３０は、編集範囲としてオペレータにより選択された範囲を特定する。ステップＳ８３０９で、ステップＳ８３０６と同様の処理により、選択された編集範囲の画像及び音声が再生される。ただし、その際に仮想カメラ操作部８１０１を用いて仮想カメラ８００１が操作された場合、その結果を反映する。つまり、ライブ画像とは異なる視点の画像となるように、リプレイ画像を編集することが可能である。また、スロー再生や停止を行うようにリプレイ画像を編集してもよい。例えば、時間を停止し、視点を動かすという編集も可能である。
【０１５７】
ステップＳ８３１０で、仮想カメラ操作ＵＩ３３０は、オペレータにより入力された操作が終了操作であるか否かを判定する。終了の場合（ステップＳ８３１０において、Ｙｅｓ）は、処理はステップＳ８３１１へ進む。終了でない場合（ステップＳ８３１０において、Ｎｏ）は、処理はステップＳ８３０４へ戻る。
【０１５８】
ステップＳ８３１１で、仮想カメラパス管理部８１０６は、編集が終わった仮想カメラパス８００２をバックエンドサーバ２７０へ送信する。
【０１５９】
図１５は、バックエンドサーバ２７０が１フレームの仮想視点画像を生成するフローチャートである。
【０１６０】
ステップＳ３１００で、データ受信部３００１は、コントローラ３００から仮想カメラパラメータを受信する。前述の通り、仮想カメラパラメータは、仮想視点の位置や姿勢などを表すデータのことである。
【０１６１】
ステップＳ３１０１で、前景オブジェクト決定部３０１０は、受信した仮想カメラパラメータと前景オブジェクトの位置を元に仮想視点画像の生成で必要となる前景オブジェクトを決定する。仮想視点から見た場合に視野に入る前景オブジェクトを三次元幾何学的に求める。
【０１６２】
ステップＳ３１０２で、仮想視点音声生成部３００７は、受信した仮想カメラパラメータを元にエンドユーザ端末１９０用仮想視点音声およびコントローラ３００用仮想視点音声の収音範囲をそれぞれ決定する。収音範囲に含まれる音声データ群を音声データの取得位置から求める。
【０１６３】
ステップＳ３１０３で、要求リスト生成部３０１１は、決定した前景オブジェクトの前景画像及び前景三次元モデル群、指定フレームに関する全ての背景画像及び音声データ群の要求リストを生成し、要求データ出力部３０１２からデータベース２５０に要求を行う。要求リストとはデータベース２５０に対してリクエストするデータの内容である。
【０１６４】
ステップＳ３１０４で、データ受信部３００１は、要求した情報をデータベース２５０から受信し、ステップＳ３１０５で、データ受信部３００１は、データベース２５０から受信した情報にエラーを示す情報が含まれるか判定する。ここで、エラーを示す情報としては、例えば、画像転送量オーバーフロー、画像撮影失敗及び画像のデータベース保存失敗などが挙げられる。このエラー情報はデータベース２５０に格納されているものである。
【０１６５】
エラーを示す情報が含まれる場合（ステップＳ３１０５において、Ｙｅｓ）、データ受信部３００１は、仮想視点画像の生成は不可であると判断し、データを出力せず処理を終了する。エラーを示す情報が含まれない場合（ステップＳ３１０５において、Ｎｏ）、ステップＳ３１０６，３１０７及び３１０８の処理が行われる。
【０１６６】
ステップＳ３１０６で、バックエンドサーバ２７０は、仮想視点における背景画像の生成、前景画像の生成、及び視点に応じた音声の生成を行う。背景テクスチャ貼り付け部３００２は、システムの起動後に取得され、背景メッシュモデル管理部３０１３で保持されている背景メッシュモデルとデータベース２５０から取得した背景画像から、テクスチャ付き背景メッシュモデルを生成する。
【０１６７】
ステップＳ３１０７で、バックエンドサーバ２７０は、レンダリングモードに応じて前景画像を生成する。さらに、ステップＳ３１０８で、バックエンドサーバ２７０は、仮想視点での音の聞こえ方を模擬するように音声データ群を合成して音声を生成する。音声データ群の合成においては、仮想視点と音声データの取得位置を元に合成する各音声データの大きさが収音範囲に応じてそれぞれ調整される。
【０１６８】
ステップＳ３１０９で、レンダリング部３００６は、ステップＳ３１０６で生成したテクスチャ付き背景メッシュモデルを仮想視点から見た視野にトリミングし、そこに前景画像を合成することで仮想視点の全景画像を生成する。
【０１６９】
ステップＳ３１１０で、合成部３００８は、ステップＳ３１０８の仮想視点音声生成で生成された２つの仮想音声とレンダリングされた仮想視点の前景画像とを統合し、１フレームの仮想視点コンテンツを２つ生成する。
【０１７０】
ステップＳ３１１１で、画像出力部３００９は、生成された１フレームの仮想視点コンテンツを外部のコントローラ３００およびエンドユーザ端末１９０へそれぞれ出力し、処理は終了する。
【０１７１】
続いて、本実施の形態を構成する各装置のハードウェア構成について説明する。図１６は、カメラアダプタ１２０のハードウェア構成を示すブロック図である。
【０１７２】
カメラアダプタ１２０は、ＣＰＵ１２０１と、ＲＯＭ１２０２と、ＲＡＭ１２０３と、補助記憶装置１２０４と、表示部１２０５と、操作部１２０６と、通信部１２０７と、バス１２０８とを含む。
【０１７３】
ＣＰＵ１２０１は、ＲＯＭ１２０２やＲＡＭ１２０３に格納されているコンピュータプログラムやデータを用いてカメラアダプタ１２０の全体を制御する。ＲＯＭ１２０２は、変更を必要としないプログラムやパラメータを格納する。ＲＡＭ１２０３は、補助記憶装置１２０４から供給されるプログラムやデータ、及び通信部１２０７を介して外部から供給されるデータなどを一時記憶する。補助記憶装置１２０４は、例えばハードディスクドライブ等で構成され、静止画や動画などのコンテンツデータを記憶する。
【０１７４】
表示部１２０５は、例えば、液晶ディスプレイ等で構成され、ユーザがカメラアダプタ１２０を操作するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などを表示する。操作部１２０６は、例えば、キーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をＣＰＵ１２０１に入力する。通信部１２０７は、カメラ１１２やフロントエンドサーバ２３０などの外部の装置と通信を行う。バス１２０８は、カメラアダプタ１２０の各部を繋いで情報を伝達する。
【０１７５】
なお、フロントエンドサーバ２３０、データベース２５０、バックエンドサーバ２７０、制御ステーション３１０、仮想カメラ操作ＵＩ３３０、及びエンドユーザ端末１９０などの装置も、図１６のハードウェア構成となりうる。また、上述した各装置の機能は、ＣＰＵなどを用いてソフトウェア処理によって実現してもよい。
【０１７６】
以上、本実施の形態は、画像処理システム１００が競技場やコンサートホールなどの施設に設置される場合の例を中心に説明した。施設の他の例としては、例えば、遊園地、公園、競馬場、競輪場、カジノ、プール、スケートリンク、スキー場、ライブハウスなどがある。また、各種施設で行われるイベントは、屋内で行われるものであっても屋外で行われるものであっても良い。また、本実施の形態における施設は、一時的に（期間限定で）建設される施設も含む。
【０１７７】
以上の処理を実行することにより、仮想カメラのオペレータに仮想カメラ視野外の音声を提供することができる。したがって、オペレータは視野外の出来事に気付くことができ、その出来事を考慮して、次の仮想カメラ操作をどうすべきか判断することが可能となる。
【０１７８】
＜実施の形態２＞
実施の形態２では、仮想カメラの指定可能な範囲である可動範囲に基づいて、オペレータ用の仮想視点音声の収音範囲を決定する。これによってオペレータが気付く視野外の出来事は、仮想カメラ制約を満たす範囲内であるため、オペレータは仮想カメラ制約を気にすることなく出来事が発生した方向へカメラを操作することができる。
【０１７９】
図１７は、実施の形態２に係る仮想カメラ操作ＵＩ３３０２の機能構成を説明するブロック図である。仮想カメラ管理部８１３０が導出部８１０９を含むことが、実施の形態１に係る仮想カメラ操作ＵＩ３３０と異なる点である。それ以外の点は、実施の形態１と同じであるので、説明を省略する。
【０１８０】
導出部８１０９は、導出された仮想カメラパラメータと仮想カメラ制約とから仮想カメラの可動範囲を導出し、バックエンドサーバ２７０へ出力する。ここで、図１８を用いて可動範囲について説明する。
【０１８１】
図１８は、仮想カメラの可動範囲及び収音範囲を説明するための図である。図１８において、二点鎖線８００６の内側が、仮想カメラ制約を満たす領域だとする。
【０１８２】
図１８（ａ）において、仮想カメラ８００１が二点鎖線８００６近傍にある場合、移動方向によって仮想カメラ８００１の可動範囲に制限がかかることになる。すなわち、仮想カメラ８００１は、前方向は仮想カメラ８００１の位置から仮想カメラ８００１の向きに沿って二点鎖線８００６までの距離（矢印８００７）に制限される。また、右方向は仮想カメラ８００１の位置から仮想カメラ８００１の向きと垂直右方向に沿って二点鎖線８００６までの距離（矢印８００８）に制限される。導出部８１０９は、仮想カメラ８００１が仮想カメラ制約を満たす領域の境界に到達するまでの距離を、前後左右への可動範囲としてそれぞれ導出する。
【０１８３】
図１８（ｂ）において、エンドユーザ端末１９０用の仮想視点音声の収音範囲は、破線で示す円８００３である。この例では、コントローラ３００用の仮想視点音声の収音範囲の形状は円であり、円の半径は予め決まっているとする。
【０１８４】
ここで、コントローラ３００用の仮想視点音声の収音範囲は、仮想カメラ制約を満たす領域を考慮して決定される。これにより、仮想カメラの視野外からの音声を聞いたオペレータは、仮想カメラ制約を気にせずに、視野外の音声が発生した方向へ仮想カメラを動かす操作をすることができる。
【０１８５】
図１８（ｂ）の例では、コントローラ３００用の仮想視点音声の収音範囲である円８００４の中心８００９は、円８００３の中心から仮想カメラ８００１の可動範囲に基づいてずらされる。すなわち、仮想カメラ８００１の前と右への可動範囲が、円８００４の半径よりも短いため、中心８００９は、円８００３の中心よりも後ろと左へずれることになる。これにより、コントローラ３００用の仮想視点音声の収音範囲は、仮想カメラ制約を満たす領域内に決定される。
【０１８６】
図１９は、実施の形態２に係る、仮想カメラ操作ＵＩ３３０２、バックエンドサーバ２７０及びデータベース２５０の処理フローを示す図である。図１９を参照して、オペレータ（ユーザ）による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作ＵＩ３３０２、バックエンドサーバ２７０及びデータベース２５０の処理を説明する。
【０１８７】
仮想カメラ操作ＵＩ３３０２は、入力装置を介してオペレータから仮想カメラの操作を受け付ける（ステップＳ３３００）。仮想カメラ操作ＵＩ３３０２において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される（ステップＳ３３０２）。
【０１８８】
仮想カメラ操作ＵＩ３３０２は、図１８で述べたように可動範囲を導出する（ステップＳ３３０３）。
【０１８９】
仮想カメラ操作ＵＩ３３０２は、導出した仮想カメラパラメータおよび可動範囲をバックエンドサーバ２７０に送信する（ステップＳ３３０４）。
【０１９０】
バックエンドサーバ２７０は、仮想カメラパラメータを受信するとデータベース２５０に対して前景三次元モデル群を要求する（ステップＳ３３０６）。データベース２５０は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ２７０に送信する（ステップＳ３３０８）。
【０１９１】
バックエンドサーバ２７０は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する（ステップＳ３３１０）。
【０１９２】
バックエンドサーバ２７０は、仮想視点音声生成部３００７によって、仮想カメラパラメータに基づいてエンドユーザ端末１９０用の仮想視点音声の収音範囲を決定する。また、仮想カメラパラメータ及び可動量に基づいてコントローラ３００用の仮想視点音声の収音範囲を決定する（ステップＳ３３１２）。
【０１９３】
バックエンドサーバ２７０は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース２５０に要求する（ステップＳ３３１４）。データベース２５０は、要求に応じてデータをバックエンドサーバ２７０に送信する（ステップＳ３３１６）。
【０１９４】
バックエンドサーバ２７０は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する（ステップＳ３３１８）。
【０１９５】
バックエンドサーバ２７０は、ステップＳ３３１２で決定した収音範囲に基づいてエンドユーザ端末１９０用およびコントローラ３００用の音声データの合成をそれぞれ行う（ステップＳ３３２０）。
【０１９６】
バックエンドサーバ２７０は、仮想視点の全景画像と統合して仮想視点の画像及び音声を生成し（ステップＳ３３２２）、生成した仮想視点の画像及びコントローラ３００用音声を仮想カメラ操作ＵＩ３３０２に送信する（ステップＳ３３２４）。
【０１９７】
仮想カメラ操作ＵＩ３３０２は受信した画像を表示することで、仮想カメラの撮影画像の表示を実現する。仮想カメラのオペレータは、図１８（ｂ）のように仮想カメラ８００１が仮想カメラ制約を満たす領域の境界８００６の近傍に位置していた場合でも、仮想カメラ視野である仮想視点画像を見て、仮想カメラ視野外の音声を聞きながら仮想カメラを操作する。これにより、図１８（ｂ）の位置８００５のような仮想カメラ視野外の位置での「パス！」といった音声を聞いて、仮想カメラを左へ振るパン操作を行うといったことを、仮想カメラ制約を気にすることなくできるようになる。
【０１９８】
図２０は、実施の形態２に係る仮想カメラ操作ＵＩ３３０２が１フレーム分のライブ画像を生成する際の処理を示すフローチャートである。
【０１９９】
ステップＳ８２０９で、仮想カメラパラメータ導出部８１０２は、仮想カメラパラメータを導出する。ステップＳ８２１０で、衝突判定部８１０４は、導出された仮想カメラパラメータが仮想カメラ制約を満たしているか否かの衝突判定を行う。
【０２００】
衝突判定部８１０４が衝突すると判定した場合（ステップＳ８２１０にて、Ｙｅｓ）、ステップＳ８２１４で、衝突判定部８１０４は、仮想カメラ８００１の位置や姿勢を修正する。ステップＳ８２１５で、フィードバック出力部８１０５は、仮想カメラ制約を満たさないことをオペレータに通知する。
【０２０１】
一方、衝突判定部８１０４が衝突しないと判定した場合（ステップＳ８２１０にて、Ｎｏ）、ステップＳ８２１６で、導出部８１０９は、仮想カメラパラメータおよび仮想カメラ制約に基づいて仮想カメラの可動範囲を導出する。
【０２０２】
ステップＳ８２１１で、仮想カメラパス管理部８１０６は、仮想カメラパラメータおよび仮想カメラの可動範囲をバックエンドサーバ２７０へ送信する。ステップＳ８２１２で、仮想カメラ画像・音声出力部８１０８は、バックエンドサーバ２７０から受信した画像を出力し、処理は終了する。
【０２０３】
以上の処理を実行することにより、仮想カメラの可動範囲に基づいて、オペレータ用の仮想視点音声の収音範囲が決定される。これによってオペレータが気付く視野外の出来事は、仮想カメラ制約を満たす可動範囲内であるため、オペレータは仮想カメラ制約を気にすることなく出来事が発生した方向へカメラを操作することができる。
【０２０４】
＜実施の形態３＞
実施の形態３では、オペレータ用の仮想視点音声の収音範囲が、イベントシーンに応じて変更される。これによって、オペレータにイベントシーンの音声を効果的に提供することができる。
【０２０５】
図２１は、実施の形態３に係る仮想カメラ操作ＵＩ３３０３の機能構成を説明するブロック図である。仮想カメラ操作ＵＩ３３０３が収音パターン選択部８１１０及びコントローラ用収音パラメータ導出部８１１１を含む点で、実施の形態１に係る仮想カメラ操作ＵＩ３３０と異なる。それ以外の点は、実施の形態１と同じであるので、説明を省略する。
【０２０６】
収音パターン選択部８１１０は、オペレータがコントローラ３００用の収音パターンを指定する際の選択機能を提供する。コントローラ３００用の収音パターンは、サッカーにおける「コーナーキック」、「スローイン」といった幾つかのイベントシーンについて割り当てられた収音範囲であり、イベント特性に合わせて事前に登録されている。
【０２０７】
コントローラ用収音パラメータ導出部８１１１は、オペレータが選択した収音パターンの収音範囲を特定するための収音パラメータを導出する。ここで、図２２を用いてイベントをサッカーとした場合の収音パターンについて説明する。
【０２０８】
図２２は、収音パターンを説明するための図である。図２２（ａ）は「コーナーキック」のイベントを表し、図２２（ｂ）は「スローイン」のイベントを表している。図２２（ｃ）は、図２２（ａ）及び（ｂ）のイベントの収音パラメータを示している。
【０２０９】
図２２（ａ）のように、「コーナーキック」はゴール付近で行われるため、コントローラ３００用の収音範囲は、ゴール付近に登録されたとする。ここで、コントローラ３００用の収音範囲８００４の形状を楕円とした場合、収音パラメータには、図２２（ｃ）で示したような楕円の中心座標ｘおよびｙ、楕円の長半径および短半径が含まれる。楕円はゴールポスト前に固定で配置されるので、楕円の中心座標および長半径および短半径は固定値となる。また、ゴールポストは２つあるので、楕円の中心座標も２つある。コントローラ用収音パラメータ導出部８１１１は、仮想カメラパラメータに基づいてどちらのゴールポストか特定することで楕円の中心座標を特定し、収音パラメータを導出する。
【０２１０】
また、図２２（ｂ）のように、「スローイン」はサイドライン付近で行われるため、コントローラ３００用の収音範囲は、サイドライン付近に登録されたとする。ここで、コントローラ３００用の収音範囲８００４の形状を矩形とした場合、収音パラメータには、図２２（ｃ）で示したような矩形の１つの頂点（例えば、左上）座標ｘおよびｙ、矩形の辺の長さｄおよびｗが含まれる。矩形はスローアー付近に配置されるので、頂点座標の１つ（例えば、左上座標ｘ）は仮想カメラパラメータから導出される変数となり、頂点座標のもう１つ（例えば、左上座標ｙ）および辺の長さは固定値となる。サイドラインは２つあるので、頂点座標の固定値も２つである。コントローラ用収音パラメータ導出部８１１１は、仮想カメラパラメータに基づいてどちらのサイドラインか特定するとともに頂点座標の変数を求め、収音パラメータを導出する。頂点座標ｘは、「仮想カメラ座標ｘ−ｗ／２」等と求めてもよい。また、仮想カメラ姿勢が図２２（ｂ）のように左を向いていれば「仮想カメラ座標ｘ−ｗ／４」、右を向いていれば「仮想カメラ座標ｘ−（ｗ−ｗ／４）」等と仮想カメラ視野外から多く収音できるよう求めてもよい。
【０２１１】
図２３は、実施の形態３に係る、仮想カメラ操作ＵＩ３３０３、バックエンドサーバ２７０及びデータベース２５０の処理フローを示す図である。図２３を参照して、オペレータ（ユーザ）による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作ＵＩ３３０３、バックエンドサーバ２７０及びデータベース２５０の処理を説明する。
【０２１２】
仮想カメラ操作ＵＩ３３０３は、入力装置を介してオペレータから仮想カメラの操作を受け付ける（ステップＳ３３００）。仮想カメラ操作ＵＩ３３０３において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される（ステップＳ３３０２）。
【０２１３】
仮想カメラ操作ＵＩ３３０３は、図２２で述べたように収音パターンを確認し（ステップＳ３３０３）、コントローラ３００用の収音パラメータを導出する（ステップＳ３３０４）。
【０２１４】
仮想カメラ操作ＵＩ３３０３は、導出した仮想カメラパラメータおよび収音パラメータをバックエンドサーバ２７０に送信する（ステップＳ３３０５）。
【０２１５】
バックエンドサーバ２７０は、仮想カメラパラメータを受信するとデータベース２５０に対して前景三次元モデル群を要求する（ステップＳ３３０６）。データベース２５０は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ２７０に送信する（ステップＳ３３０８）。
【０２１６】
バックエンドサーバ２７０は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する（ステップＳ３３１０）。
【０２１７】
バックエンドサーバ２７０は、仮想視点音声生成部３００７によって、仮想カメラパラメータに基づいてエンドユーザ端末１９０用の仮想視点音声の収音範囲を決定する。また、仮想カメラパラメータ及び収音パラメータに基づいてコントローラ３００用の仮想視点音声の収音範囲を決定する（ステップＳ３３１２）。
【０２１８】
バックエンドサーバ２７０は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース２５０に要求する（ステップＳ３３１４）。データベース２５０は、要求に応じてデータをバックエンドサーバ２７０に送信する（ステップＳ３３１６）。
【０２１９】
バックエンドサーバ２７０は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する（ステップＳ３３１８）。
【０２２０】
バックエンドサーバ２７０は、ステップＳ３３１２で決定した収音範囲に基づいてエンドユーザ端末１９０用およびコントローラ３００用の音声データの合成をそれぞれ行う（ステップＳ３３２０）。
【０２２１】
バックエンドサーバ２７０は、仮想視点の全景画像と統合して仮想視点の画像及び音声を生成し（ステップＳ３３２２）、生成した仮想視点の画像及びコントローラ３００用音声を仮想カメラ操作ＵＩ３３０２に送信する（ステップＳ３３２４）。
【０２２２】
仮想カメラ操作ＵＩ３３０３は受信した画像を表示することで、仮想カメラの撮影画像の表示を実現する。仮想カメラのオペレータは、イベント内容に沿って選択した収音パターンに基づく収音範囲での仮想カメラ視野外の音声を聞きながら仮想カメラを操作する。これにより、図２２（ａ）や図２２（ｂ）の位置８００５のような仮想カメラ視野外の位置での「パス！」といった音声を聞いて、仮想カメラを右へ振るパン操作を行うといったことができるようになる。
【０２２３】
図２４は、実施の形態３に係る仮想カメラ操作ＵＩ３３０３がライブ画像を生成する際の処理を説明するフローチャートである。なお、ステップＳ８２２０及びＳ８２２１以外の処理は、図１２と同じであるので、説明を省略する。
【０２２４】
仮想カメラ操作部８１０１が、オペレータによって軌跡の選択操作が入力されていないと判定した場合（ステップＳ８２０５において、Ｎｏ）、処理はステップＳ８２２０に進む。
【０２２５】
ステップＳ８２２０で、仮想カメラ操作部８１０１は、オペレータによって収音パターンの選択操作が入力されたか否かを判定する。収音パターンの選択操作が入力されたと判定した場合（ステップＳ８２２０において、Ｙｅｓ）は、処理はステップＳ８２２１へ進む。そうでないと判定した場合（ステップＳ８２２０において、Ｎｏ）は、処理はステップＳ８２０１へ戻る。
【０２２６】
ステップＳ８２２１で、仮想カメラ操作ＵＩ３３０３は、選択された収音パターンからコントローラ３００用の収音パラメータを導出し、処理はステップＳ８２０１へ戻る。
【０２２７】
以上の処理を実行することにより、オペレータは、イベント内容に応じた収音パターンに基づく収音範囲での仮想カメラ視野外の音声を聞きながら仮想カメラを操作できる。したがって、オペレータにイベントシーンの音声を効果的に提供することができる。
【０２２８】
＜実施の形態４＞
実施の形態４では、オペレータにはエンドユーザに提供している仮想視点画像・音声よりも時間的に所定フレーム後の仮想視点音声を提供する。これにより、エンドユーザが視聴している仮想視点コンテンツよりも所定フレーム分後に起こる出来事を考慮して、仮想カメラの操作を行うことができる。
【０２２９】
図２５は、実施の形態４に係るバックエンドサーバ２７０４の機能構成を説明するためのブロック図である。バックエンドサーバ２７０４が仮想視点音声生成部３０１５及び要求リスト生成部３０１６を含む点が、実施の形態１に係るバックエンドサーバ２７０と異なる。それ以外の点は、実施の形態１と同じであるので、説明を省略する。
【０２３０】
仮想視点音声生成部３０１５は、仮想カメラパラメータに基づいて、仮想視点において聞こえる音声（音声群）をエンドユーザ端末１９０用とコントローラ３００用の２種類生成する。エンドユーザ端末１９０用の仮想視点音声は、仮想視点画像と同じフレームに関する音声データから生成する。一方、コントローラ３００用の仮想視点音声は、仮想視点画像より所定量（例えば、３０）後のフレームに関する音声データから生成する。なお、エンドユーザ端末用の音声データとコントローラ用の音声データは、同じ収音範囲から取得された収音音声でもよいし、異なる収音範囲から取得された収音音声でもよい。
【０２３１】
要求リスト生成部３０１６は、指定時間の前景オブジェクトリストに対応する前景画像群と前景三次元モデル群、及び背景画像と音声データをデータベース２５０に要求するための、要求リストを生成する。前景オブジェクトについては仮想視点を考慮して選択されたデータがデータベース２５０に要求されるが、背景画像についてはそのフレームに関する全てのデータが要求される。音声データについては、そのフレームおよび所定量（例えば、３０）後のフレームに関する全てのデータが要求される。バックエンドサーバ２７０の起動後、背景メッシュモデルが取得されるまで背景メッシュモデルの要求リストが生成される。
【０２３２】
図２６は、実施の形態４に係る、仮想カメラ操作ＵＩ３３０、バックエンドサーバ２７０４及びデータベース２５０の処理フローを示す図である。図２６を参照して、オペレータ（ユーザ）による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作ＵＩ３３０、バックエンドサーバ２７０４及びデータベース２５０の処理を説明する。なお、ステップＳ３３２１以外の処理は、図１０の同じ符号が付された処理と同じであるので説明を省略する。
【０２３３】
ステップＳ３３２１において、バックエンドサーバ２７０４は、仮想視点音声生成部３０１５によって、エンドユーザ端末１９０用の仮想視点音声と、コントローラ３００用の仮想視点音声とを生成する。コントローラ３００用の仮想視点音声は、エンドユーザ端末用の仮想視点音声より所定量後のフレームに関する音声から生成される。
【０２３４】
以上により、仮想カメラのオペレータは、提供される仮想視点画像よりも所定フレーム後の音声を聞きながら仮想カメラを操作する。これにより、見ている画像よりも所定フレーム分後に起きる「パス！」といった音声を聞いて、仮想カメラを音の聞こえた方へ振るパン操作を行うといったことができるようになる。
【０２３５】
図２７は、バックエンドサーバ２７０４において１フレームの仮想視点画像を生成する処理フローを示す。なお、ステップＳ３２０３及び３２０８以外の処理は、図１５の同じ符号が付された処理と同じであるので説明を省略する。
【０２３６】
ステップＳ３２０３において、要求リスト生成部３０１６は、ステップＳ３１０１で決定した前景オブジェクトの前景画像および前景三次元モデル群、指定フレームに関する全ての背景画像、指定フレームおよび指定＋ｎ（例えば、３０）フレームに関する全ての音声データ群の要求リストを生成する。そして、要求データ出力部３０１２からデータベース２５０に要求を行い、処理はステップＳ３１０４に進む。
【０２３７】
データ受信部３００１は、要求した情報をデータベースから受信し（ステップＳ３１０４）、受信した情報にエラーを示す情報が含まれているか判断する（ステップＳ３１０５）。
【０２３８】
エラーを示す情報が含まれていないと判断された場合（ステップＳ３１０５において、Ｎｏ）、ステップＳ３２０８において、バックエンドサーバ２７０は、仮想視点での音の聞こえ方を模擬するように音声データ群を合成して音声を生成する。より具体的には、指定フレームの音声データからエンドユーザ端末１９０用音声を生成し、指定＋ｎフレームの音声データからコントローラ３００用音声を生成する。音声データ群の合成においては、仮想視点と音声データの取得位置を元に合成する各音声データの大きさが調整される。
【０２３９】
合成部３００８は、仮想視点音声生成（ステップＳ３２０８）で生成された仮想音声とレンダリングされた仮想視点の全景画像を統合し（ステップＳ３１１０）、１フレームの仮想視点コンテンツを２つ生成する。
【０２４０】
画像出力部３００９は、生成された１フレームの仮想視点コンテンツを外部のコントローラ３００およびエンドユーザ端末１９０へそれぞれ出力し（ステップＳ３１１１）、処理は終了する。
【０２４１】
以上の処理を実行することにより、エンドユーザに提供している仮想視点画像・音声よりも所定フレーム後の仮想視点音声をオペレータに提供できる。これにより、オペレータは、エンドユーザが視聴している仮想視点コンテンツよりも所定フレーム分後に起こる出来事を考慮して、仮想カメラの操作を行うことができ、エンドユーザに高臨場感の仮想視点コンテンツを提供することが可能となる。
【０２４２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０２４３】
以上、本発明の実施形態について詳述したが、本発明は上述の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
【符号の説明】
【０２４４】
１００  画像処理システム、１１０  センサシステム、１１１  マイク、１１２  カメラ、１１３  雲台、１２０  カメラアダプタ、１８０  スイッチングハブ、１９０  ユーザ端末、２３０  フロントエンドサーバ、２５０  データベース、２７０  バックエンドサーバ、２９０  タイムサーバ、３１０  制御ステーション、３３０  仮想カメラ操作ＵＩ。
【図１】
2019102940.tif 000003
【図２】
2019102940.tif 000004
【図３】
2019102940.tif 000005
【図４】
2019102940.tif 000006
【図５】
2019102940.tif 000007
【図６】
2019102940.tif 000008
【図７】
2019102940.tif 000009
【図８】
2019102940.tif 000010
【図９】
2019102940.tif 000011
【図１０】
2019102940.tif 000012
【図１１】
2019102940.tif 000013
【図１２】
2019102940.tif 000014
【図１３】
2019102940.tif 000015
【図１４】
2019102940.tif 000016
【図１５】
2019102940.tif 000017
【図１６】
2019102940.tif 000018
【図１７】
2019102940.tif 000019
【図１８】
2019102940.tif 000020
【図１９】
2019102940.tif 000021
【図２０】
2019102940.tif 000022
【図２１】
2019102940.tif 000023
【図２２】
2019102940.tif 000024
【図２３】
2019102940.tif 000025
【図２４】
2019102940.tif 000026
【図２５】
2019102940.tif 000027
【図２６】
2019102940.tif 000028
【図２７】
2019102940.tif 000029