(57)【要約】【課題】複数のカメラから取得された画像を用いて生成される仮想視点画像の品質を高める。【解決手段】複数のカメラから得られた複数の画像を用いて、仮想視点から観察される仮想視点画像を生成する画像処理装置は、仮想視点と複数のカメラの位置関係に基づいて、複数の画像から仮想視点画像の部分のテクスチャマッピングに利用可能な画像を選択し、選択された画像に用いられた符号化を表す符号化情報に基づいて、選択された画像のテクスチャマッピングへの利用法を決定し、決定された利用法に従って選択された画像を用いてテクスチャマッピングを実行し、仮想視点画像の前記部分の画像を生成する。【選択図】  図１
2020017927.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラから得られた複数の画像を用いて、仮想視点から観察される仮想視点画像を生成する画像処理装置であって、
前記仮想視点と前記複数のカメラの位置関係に基づいて、前記複数の画像から前記仮想視点画像の部分のテクスチャマッピングに利用可能な画像を選択する選択手段と、
前記選択手段により選択された画像に用いられた符号化を表す符号化情報に基づいて、前記選択された画像の前記テクスチャマッピングへの利用法を決定する決定手段と、
前記決定手段により決定された利用法に従って前記選択された画像を用いてテクスチャマッピングを実行し、前記仮想視点画像の前記部分の画像を生成する生成手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記選択手段は、前記複数の画像に基づいて生成された、被写体の３次元モデルを構成する点群の点ごとに、前記テクスチャマッピングに利用可能な画像を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記選択手段は、前記３次元モデルを構成する点群のうち、前記仮想視点から見える点を処理の対象とすることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記決定手段は、前記選択手段により複数の選択された画像が得られた場合、前記複数の選択された画像の各々の符号化情報に基づいて、前記複数の選択された画像から前記テクスチャマッピングに用いる画像を決定する、ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記符号化情報は量子化パラメータを含み、
前記決定手段は、前記選択手段により選択された画像のうち量子化パラメータが最も小さい画像を用いるように、前記テクスチャマッピングに用いる画像を決定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記符号化情報はロスレスか否かを示す符号化モードを含み、
前記決定手段は、前記符号化モードがロスレスである画像を用いるように、前記テクスチャマッピングに用いる画像を決定することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記符号化情報は、ＩｎｔｒａモードかＩｎｔｅｒモードかを示す符号化モードを含み、
前記決定手段は、前記符号化モードがＩｎｔｒａモードを示す画像を用いるように、前記テクスチャマッピングに用いる画像を決定することを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記符号化情報は、前記符号化モードがＩｎｔｒａモードの場合に、さらにＩ＿ＰＣＭモードか否かを示し、
前記決定手段は、前記符号化モードがＩ＿ＰＣＭモードを示す画像を用いるように、前記テクスチャマッピングに用いる画像を決定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記決定手段は、前記選択手段により複数の選択された画像が得られた場合、前記符号化情報に基づいて前記複数の選択された画像の重みを決定し、
前記生成手段は、前記決定手段により決定された重みを用いて前記複数の選択された画像の画素値を合成して得られた画素値を用いて前記テクスチャマッピングを行う、ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項１０】
前記決定手段は、前記符号化情報に基づいて優先的に用いる画像と他の画像に分類し、前記複数の選択された画像の数をＭ、優先的に用いる画像の数をＮ、所定の係数をαとした場合に、前記優先的に用いる画像の重みＷ０と前記他の画像の重みＷ１を、
Ｗ０＝α／（（Ｍ−Ｎ）＋Ｎα）
Ｗ１＝１／（（Ｍ−Ｎ）＋Ｎα）
により決定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記符号化情報は量子化パラメータを含み、
前記決定手段は、前記複数の選択された画像の中で最小の量子化パラメータを有する画像を前記優先的に用いる画像に分類する、ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記符号化情報は、符号化モードがＩｎｔｒａモードか否かを示す情報を含み、
前記決定手段は、符号化モードがＩｎｔｒａモードの画像を前記優先的に用いる画像に分類する、ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
前記決定手段は、前記符号化情報に基づいて優先的に用いると判定された画像が複数存在する場合に、優先的に用いると判定された複数の画像の前記部分に対応する画素の画素値を合成することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項１４】
前記合成は、加算平均であることを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記合成は、前記部分とカメラとの距離に応じた重みによる加重平均であることを特徴とする請求項１３に記載の画像処理装置。
【請求項１６】
前記決定手段は、前記符号化情報に基づいて優先的に用いると判定された画像が複数存在する場合に、前記部分との距離が最も近いカメラにより撮影された画像を、前記仮想視点画像の生成に用いると決定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項１７】
複数のカメラから得られた複数の画像を用いて、仮想視点から観察される仮想視点画像を生成する画像処理装置の制御方法であって、
前記仮想視点と前記複数のカメラの位置関係に基づいて、前記複数の画像から前記仮想視点画像の部分のテクスチャマッピングに利用可能な画像を選択する選択工程と、
前記選択工程により選択された画像に用いられた符号化を表す符号化情報に基づいて、前記選択された画像の前記テクスチャマッピングへの利用法を決定する決定工程と、
前記決定工程により決定された利用法に従って前記選択された画像を用いてテクスチャマッピングを実行し、前記仮想視点画像の前記部分の画像を生成する生成工程と、を備えることを特徴とする画像処理装置の制御方法。
【請求項１８】
それぞれが画像を撮影し、レート制御により選択された符号化を行って出力する複数のカメラと、
前記複数のカメラから得られた複数の画像を用いて、仮想視点から観察される仮想視点画像を生成する画像処理装置と、を備え、前記画像処理装置が、
前記仮想視点と前記複数のカメラの位置関係に基づいて、前記複数の画像から前記仮想視点画像の部分のテクスチャマッピングに利用可能な画像を選択する選択手段と、
前記選択手段により選択された画像に用いられた符号化を表す符号化情報に基づいて、前記選択された画像の前記テクスチャマッピングへの利用法を決定する決定手段と、
前記決定手段により決定された利用法に従って前記選択された画像を用いてテクスチャマッピングを実行し、前記仮想視点画像の前記部分の画像を生成する生成手段と、を備えることを特徴とする画像処理システム。
【請求項１９】
コンピュータを、請求項１乃至１６のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラにより被写体を複数の方向から撮影することにより得られた複数の画像を用いて仮想視点画像を生成するための画像処理装置およびその制御方法、画像処理システムに関する。
【背景技術】
【０００２】
複数のカメラを異なる位置に設置して多視点で同期撮影し、当該撮影により得られた複数視点画像を用いて仮想視点画像を生成する技術が注目されている。このような仮想視点画像によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが出来るため、通常の画像と比較してユーザに高臨場感を与えることが出来る。一般に、このような仮想視点画像を生成するシステムでは、複数のカメラが撮影した複数視点画像は、サーバなどの画像処理部に集約される。画像処理部は、これら複数視点画像から生成したモデルを用いて、指定された仮想視点からのモデルの見えを表す仮想視点画像を生成し、ユーザ端末に伝送する。ユーザは、ユーザ端末で仮想視点画像を表示することにより、仮想視点画像を閲覧することができる。
【０００３】
特許文献１では、複数のカメラによる画像の伝送において、各カメラで量子化ステップサイズ（量子化パラメータ）を調整し、発生するデータ量を制御して画像伝送におけるレートを制御する技術が記載されている。さらに、特許文献２では、複数のカメラで撮影された複数の画像からモデルを生成し、仮想カメラから見えるモデルの部分に対してテクスチャマッピングを行って仮想画像を生成する。特許文献２には、仮想カメラの位置およびオブジェクトの位置といったような空間的情報（幾何学的情報）に応じて画像に優先順位を設け、テクスチャマッピングに利用する画像を選択する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４１０１８５７号公報
【特許文献２】特許第４４６４７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、複数のカメラがそれぞれ、通信路の状況に応じて画質の制御や符号化モードを変更して符号量を調整する。このため、各カメラから送られてくる画像の符号化による劣化の度合いは各カメラによって異なる場合がある。すなわち、これらの画像では様々な符号化劣化が発生しており、特許文献２に記載されているような空間的情報によって得られた優先順位では、順位が高い画像の画質が必ずしも高くはならない。すなわち、カメラごとに符号化方式を変更して伝送のレート制御をおこなう場合、仮想視点画像の生成に使用するカメラの画像を空間的情報によって決定すると、符号化による劣化が大きい画像を優先して選択してしまう可能性がある。その結果、生成される仮想視点画像の画質が低くなってしまうという課題がある。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、複数のカメラから取得された画像を用いて生成される仮想視点画像の品質を高めることにある。
【課題を解決するための手段】
【０００７】
本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
複数のカメラから得られた複数の画像を用いて、仮想視点から観察される仮想視点画像を生成する画像処理装置であって、
前記仮想視点と前記複数のカメラの位置関係に基づいて、前記複数の画像から前記仮想視点画像の部分のテクスチャマッピングに利用可能な画像を選択する選択手段と、
前記選択手段により選択された画像に用いられた符号化を表す符号化情報に基づいて、前記選択された画像の前記テクスチャマッピングへの利用法を決定する決定手段と、
前記決定手段により決定された利用法に従って前記選択された画像を用いてテクスチャマッピングを実行し、前記仮想視点画像の前記部分の画像を生成する生成手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、複数のカメラから取得された画像を用いて生成される仮想視点画像の品質を高めることができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態による画像処理システムの構成例を示すブロック図。
【図２】複数のセンサシステムによるオブジェクトの撮影状況の一例を示す図。
【図３】複数のカメラによるオブジェクトと仮想カメラの関係の一例を示す図。
【図４】第１実施形態における合成器の構成例を示すブロック図。
【図５】第１実施形態における合成器の動作を説明するフローチャート。
【図６】第１実施形態の変形例による合成器の動作を示すフローチャート。
【図７】第２実施形態における画像処理システムの構成例を示すブロック図。
【図８】第２実施形態における合成器の構成例を示すブロック図。
【図９】第２実施形態における合成器の動作を示すフローチャート。
【図１０】第３実施形態における画像処理システムの構成例を示すブロック図。
【図１１】第３実施形態における合成器の構成例を示すブロック図。
【図１２】第３実施形態における合成器の動作を示すフローチャート。
【図１３】オブジェクトとカメラの位置関係の一例を示す図。
【図１４】第３実施形態の変形例による合成器の動作を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本願発明の実施形態のいくつかについて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
＜第１実施形態＞
競技場（スタジアム）やコンサートホールなどの施設に複数のカメラ及びマイクを設置し撮影及び集音を行う本実施形態の画像処理システムの構成について説明する。図１は、第１実施形態による画像処理システム１００の構成例を示すブロック図である。画像処理システム１００は、センサシステム１１０ａ〜１１０ｚ、画像コンピューティングサーバ２００、コントローラ２８０、スイッチングハブ１８０、及びエンドユーザ端末１９０を有する。
【００１２】
本実施形態において、センサシステム１１０ａからセンサシステム１１０ｚまでの２６セットのセンサシステムは同様の構成を有しており、これらを区別せずセンサシステム１１０と記載する場合がある。また、各センサシステム１１０内の装置についても同様に、特別な説明がない場合は区別せず、マイク１１１、カメラ１１２、雲台１１３、及びカメラアダプタ１２０と記載する。なお、センサシステムの台数として２６セットと記載しているが、あくまでも一例であり、台数をこれに限定するものではない。
【００１３】
また、本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム１００は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム１００により提供される仮想視点コンテンツには、仮想視点画像と仮想視点音声が含まれる例を中心に説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくても良い。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音声であっても良い。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
【００１４】
画像処理システム１００において、センサシステム１１０ａ〜１１０ｚが有するカメラ１１２ａ〜１１２ｚは、被写体を複数の方向から撮影するための複数のカメラを構成する。複数のセンサシステム１１０ａ〜１１０ｚはデイジーチェーンにより接続される。なおこれに限らず、接続形態として、各センサシステム１１０ａ〜１１０ｚがスイッチングハブ１８０に接続されて、スイッチングハブ１８０を経由してセンサシステム１１０間のデータ送受信を行うスター型のネットワーク構成としてもよい。また、図１では、デイジーチェーンとなるようセンサシステム１１０ａ〜１１０ｚの全てがカスケード接続されている構成を示したがこれに限定するものではない。例えば、複数のセンサシステム１１０をいくつかのグループに分割して、分割したグループ単位でセンサシステム１１０間をデイジーチェーン接続してもよい。
【００１５】
マイク１１１ａにて集音された音声と、カメラ１１２ａにて撮影された画像は、カメラアダプタ１２０ａにおいて所定の画像処理が施された後、エンコーダ１２１ａで符号化される。カメラアダプタ１２０ａは、符号化されたデータを、ネットワーク１７０ａを通してセンサシステム１１０ｂのカメラアダプタ１２０ｂに伝送する。同様にセンサシステム１１０ｂは、集音された音声と撮影された画像を符号化し、センサシステム１１０ａから取得した画像及び音声の符号化データと合わせてセンサシステム１１０ｃに伝送する。
【００１６】
以上の動作を続けることにより、センサシステム１１０ａ〜１１０ｚが取得した画像及び音声は、センサシステム１１０ｚからネットワーク１８０ｂを介してスイッチングハブ１８０に伝わり、その後、画像コンピューティングサーバ２００へ伝送される。なお、センサシステム１１０の構成は、上記に限定されるものではない。例えば、本実施形態では、カメラ１１２とカメラアダプタ１２０が分離された構成となっているが、同一筺体で一体化されていてもよい。その場合、マイク１１１は一体化されたカメラ１１２に内蔵されてもよいし、カメラ１１２の外部に接続されていてもよい。また、カメラアダプタ１２０の機能の少なくとも一部をフロントエンドサーバ２３０が有していてもよい。また、センサシステム１１０ａ〜１１０ｚが同じ構成を有している必要はなく、其々のセンサシステム１１０が異なる構成でもよい。
【００１７】
コントローラ２８０は制御ステーション２８１と仮想カメラ操作ＵＩ２８２を有する。制御ステーション２８１は画像処理システム１００を構成するそれぞれのブロックに対してネットワークを通じて動作状態の管理及びパラメータの設定・制御などを行う。仮想カメラ操作ＵＩ２８２は、ユーザが指定を指定するためのユーザインターフェースを提供し、ユーザ操作により指定された視点を、制御ステーション２８１を介してバックエンドサーバ２７０に提供する。
【００１８】
タイムサーバ２９０は、スイッチングハブ１８０を介してセンサシステム１１０ａ〜１１０ｚに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ１２０ａ〜１２０ｚは、カメラ１１２ａ〜１１２ｚを時刻と同期信号をもとにＧｅｎｌｏｃｋさせて画像フレーム同期を行う。即ち、タイムサーバ２９０は、複数のカメラ１１２の撮影タイミングを同期させる。
【００１９】
画像コンピューティングサーバ２００は、センサシステム１１０ｚから取得したデータの処理を行う。画像コンピューティングサーバ２００は、エンキャプセレータ２１０ａ〜２１０ｂ、フロントエンドサーバ２３０、データベース２５０、バックエンドサーバ２７０を有する。
【００２０】
エンキャプセレータ２１０ａ〜２１０ｂは、センサシステム１１０ｚから取得した画像及び音声のセグメント化された伝送パケットを再構成してフレームデータに変換する。フロントエンドサーバ２３０は、フレームデータをカメラの識別子やデータ種別、フレーム番号に対応付けてデータベース２５０に書き込む。また、データベース２５０にはカメラの識別子で識別される各カメラについて、位置、方向、画角を含むカメラ設定情報が格納されている。バックエンドサーバ２７０は、仮想カメラ操作ＵＩ２８２から視点の指定を受け付け、受け付けた視点に基づいて、データベース２５０から対応する画像を取得し、レンダリング処理などを行って仮想視点画像を生成する。また、バックエンドサーバ２７０は、データベース２５０から音声データを取得して仮想視点画像に対応する音声を生成する。
【００２１】
なお、画像コンピューティングサーバ２００の構成は上記に限られるものではない。例えば、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０のうち少なくとも２つが一体となって構成されていてもよい。また、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０の少なくとも１つ以上が別体として構成されてもよい。また、画像コンピューティングサーバ２００内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ２００の機能の少なくとも一部をエンドユーザ端末１９０や仮想カメラ操作ＵＩ２８２が有していてもよい。
【００２２】
バックエンドサーバ２７０によってレンダリング処理された画像（仮想視点画像）は、バックエンドサーバ２７０からエンドユーザ端末１９０に送信される。こうして、エンドユーザ端末１９０を操作するユーザは、視点の指定に応じた画像、音声を視聴することが出来る。すなわち、バックエンドサーバ２７０は、複数のカメラ１１２により撮影された複数の撮影画像（複数視点画像）とユーザ操作により指定された視点を示す視点情報とに基づいて、仮想視点画像を生成する。そしてバックエンドサーバ２７０は、生成した仮想視点コンテンツをエンドユーザ端末１９０に提供する。
【００２３】
本実施形態における仮想視点コンテンツは、仮想的な視点から被写体を撮影した場合に得られる画像としての仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点における見えを表す画像であるとも言える。仮想的な視点（仮想視点）は、ユーザにより（例えば、仮想カメラ操作ＵＩ２８２を用いて）指定されても良いし、画像解析の結果等に基づいて自動的に指定されても良い。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像（仮想視点画像）が含まれる。また、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。また、バックエンドサーバ２７０は、仮想視点画像をＨ．２６４やＨＥＶＣに代表される標準技術により圧縮符号化したうえで、ＭＰＥＧ−ＤＡＳＨプロトコルを使ってエンドユーザ端末１９０へ送信してもよい。なお、本実施形態における画像処理システム１００は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。
【００２４】
以上の構成を備えた本実施形態の画像処理システム１００による、撮影対象（オブジェクト）の撮影動作の例について図２を利用して説明する。図２は複数のセンサシステムによるオブジェクトの撮影状況の例を示す図である。図２において、撮影対象であるオブジェクト３２０は、説明を容易にするため本実施形態では球体を想定するが、これに限定されない。図２において、カメラ１１２ａ〜１１２ｃは、それぞれセンサシステム１１０ａ〜１１０ｃが有するカメラである。３０１ａ〜３０１ｃはカメラ１１２ａ〜１１２ｃの画角を表している。カメラ１１２ａ〜１１２ｃはオブジェクト３２０を様々な角度（視線方向）から撮影する。カメラ１１２ａによるオブジェクト３２０の撮影範囲は点３３１〜点３３５の間である。同様に、カメラ１１２ｂによるオブジェクト３２０の撮影範囲は点３３２〜点３３６の間であり、カメラ１１２ｃによるオブジェクト３２０の撮影範囲は点３３４〜点３３８の間である。これらのカメラ１１２ａ〜１１２ｃが画角３０１ａ〜３０１ｃで撮影したオブジェクト３２０の画像は、センサシステムごとにレート制御され、符号化される。
【００２５】
本実施形態におけるセンサシステム１１０のカメラアダプタ１２０について説明する。カメラアダプタ１２０のエンコーダ１２１は、カメラ１１２から画像を入力し、符号化して符号データを生成し、ネットワーク１７０に送出する。エンコーダ１２１はその生成される符号データの量を制御するためにレート制御を行う。レート制御では、量子化パラメータの調整、符号化モード（イントラ（Ｉｎｔｒａ）／インター（Ｉｎｔｅｒ）やロスレス／ロッシ―）の選択などによって符号量を制御する。これらのレート制御に使用する情報を以後、符号化情報と呼称する。本実施形態では符号化情報のうち、量子化パラメータの調整によってレート制御を行う場合を例にとって説明するが、これに限定されない。また、エンコーダ１２１はＨ．２６４符号化方式で符号化する場合を例にとって説明するがこれに限定されない。例えば、ＪＰＥＧ符号化方式やＭＰＥＧ符号化方式などを用いても良い。
【００２６】
エンコーダ１２１は、例えば、デイジーチェーンで伝送されてくる符号データのデータ量や、カメラ１１２から入力される画像の特徴から量子化パラメータ（例えば、量子化ステップ）を調整して符号化を行う。例えば、エンコーダ１２１は、伝送されてくる符号データのデータ量が多い場合には量子化パラメータを大きくして当該センサシステム１１０が生成する符号データのデータ量を減少させる。他方、データ量に余裕があれば、エンコーダ１２１は、量子化パラメータを小さくして当該センサシステム１１０で発生するデータ量を増加させる。また、カメラで撮影した画像にエッジ等の重要な情報を含む場合は、エンコーダ１２１は、量子化パラメータを小さくして符号化する。Ｈ．２６４符号化方式においては、フレーム単位で量子化パラメータを設定することが可能である。フレームのヘッダであるＰｉｃｔｕｒｅ Ｐａｒａｍｅｔｅｒ Ｓｅｔにはｐｉｃ＿ｉｎｉｔ＿ｑｐ＿ｍｉｎｕｓ２６符号があり、フレーム単位での量子化パラメータを定義できる。また、より詳細な符号化単位であるスライス単位でもスライスヘッダの中のｓｌｉｃｅ＿ｑｐ＿ｄｅｌｔａ符号で量子化パラメータを定義できる。さらに詳細なマクロブロック単位でもｍｂ＿ｑｐ＿ｄｅｌｔａ符号を用いて量子化パラメータを定義できる。以上のように、Ｈ．２６４では、フレーム単位、スライス単位、マクロブロック単位での量子化パラメータの設定が可能である。
【００２７】
エンコーダ１２１は量子化パラメータを制御して変換係数の量子化を行い、符号量を調整する。また、符号化情報として使われた量子化パラメータは前述の符号を用いて符号化される。符号化によって得られた符号データはパケット化され、ネットワーク１７０、スイッチングハブ１８０を介して画像コンピューティングサーバ２００に送信される。
【００２８】
画像コンピューティングサーバ２００は各センサシステム１１０から撮影された画像データの符号データをエンキャプセレータ２１０で受信する。エンキャプセレータ２１０は１つまたは複数で構成することができ、帯域やそれぞれの処理の重さに応じて並列化して処理を行うことができる。本実施形態では２台のエンキャプセレータ２１０ａ、２１０ｂを用いた例を示す。例えば、画像が撮影された時間を示すタイムコードが奇数か偶数かで処理を行うエンキャプセレータを分けてもよい。また、タイムコードは撮影された時間やフレーム番号で構成されているので、例えば、フレーム番号が奇数か偶数かでエンキャプセレータ２１０を選択するようにしてもよい。エンキャプセレータ２１０は、例えば、パケット化されて受信した画像の符号データを１フレーム単位でまとめて、フロントエンドサーバ２３０に出力する。
【００２９】
フロントエンドサーバ２３０はフレーム単位での符号データをデータベース２５０に書き込むためのデータ形式変換や必要なメタ情報の付与を行う。メタ情報として、例えば、センサシステム１１０のカメラ１１２を特定するためのカメラ識別子や同期のための時刻やフレームの番号などの情報がある。データベース２５０は各カメラの各時刻のフレーム画像の符号データを格納する。
【００３０】
ユーザは仮想カメラ操作ＵＩ２８２を用いて仮想視点画像における仮想視点を示す仮想カメラの位置、方向、画角の設定を行う。以後、これらの仮想カメラの位置、方向、画角等の情報を仮想カメラ情報と呼称する。例えば、図２に示されるようにカメラ１１２ｂとカメラ１１２ｃとの間に仮想カメラ３５０を設定したとする。３５１は仮想カメラ３５０の画角を表す。仮想カメラ３５０によるオブジェクト３２０の撮影範囲は、点３３３〜点３３７の間である。図３は、図２に示される位置関係を有するカメラ１１２ａ〜１１２ｃおよび仮想カメラ３５０により撮影されるオブジェクト３２０の部分の関係の詳細を示す図である。図３と図２において同じ構成には同一の参照番号を付してある。仮想カメラ操作ＵＩ２８２で設定された仮想カメラ情報はデータベース２５０及びバックエンドサーバ２７０に出力される。
【００３１】
バックエンドサーバ２７０は、仮想カメラ操作ＵＩ２８２から入力した仮想カメラ情報に基づいて、センサシステム１１０が撮影した画像から、仮想カメラ３５０から見た仮想視点画像を生成するために必要な画像を検索、選択する。バックエンドサーバ２７０は、仮想カメラ３５０の仮想カメラ情報から、画角３５１に含まれる実空間上の撮影範囲（例えば、オブジェクト３２０上の点３３３〜点３３７の範囲）を決定する。この撮影範囲に各オブジェクトが含まれるかどうかはその位置と撮影範囲との比較によって決定される。すなわち、画角３５１の仮想視点画像を生成するのに用いられる画像は、仮想カメラ３５０によって撮影される範囲を仮想カメラ情報に基づいて特定することで選択される。
【００３２】
各センサシステム１１０で撮影した画像にはカメラ識別子を含む符号データが付与されている。バックエンドサーバ２７０は、カメラ識別子に基づいてデータベース２５０から各カメラのカメラ設定情報を読み出し、仮想カメラ３５０の仮想視点画像を構成するのに必要な画像を撮影したカメラを判別することができる。また、バックエンドサーバ２７０は、そのカメラの画像をデータベース２５０から読み出すことができる。図３においては、画角３５１は、仮想カメラ３５０のオブジェクト３２０に対する画角である。カメラ１１２ａ、１１２ｂ、１１２ｃのオブジェクト３２０に対する画角は、それぞれ画角３０１ａ、３０１ｂ、３０１ｃである。データベース２５０は、空間的情報（仮想カメラ３５０の画角３５１と、複数のカメラ１１２の画角）に基づいて、仮想カメラ３５０が撮影する仮想視点画像を生成するのに利用可能な画像を選択し、バックエンドサーバ２７０へ提供する。なお、バックエンドサーバ２７０が、そのような画像を選択し、データベース２５０に要求するようにしてもよい。
【００３３】
バックエンドサーバ２７０では、仮想カメラ操作ＵＩ２８２からの仮想カメラ情報がモデル生成器２７２と合成器２７３に入力される。合成器２７３で生成される仮想カメラ３５０からみたオブジェクト３２０の画像はその視線を法線とする面３５２上に射影した画像となる。図３では、オブジェクト３２０が射影される画像領域は点３３３〜点３３７の領域となる。この画像領域のうちの部分領域３２１は、カメラ１１２ａ〜１１２ｃの画角内にある。したがって、部分領域３２１については、カメラ１１２ａ〜１１２ｃにより撮影された画像が利用可能な画像であり、これらの画像からモデル上の点にテクスチャマッピングするための画像が選択される。部分領域３２２については、カメラ１１２ｂとカメラ１１２ｃにより撮影された画像がテクスチャマッピングに利用可能な画像である。さらに、部分領域３２３については、カメラ１１２ｃにより撮影された画像がテクスチャマッピングに利用可能な画像である。以上は各カメラの位置、画角といった空間的情報によって一意に判別される。データベース２５０はこれらの画像の符号データを時刻ごとにバックエンドサーバ２７０に出力する。
【００３４】
バックエンドサーバ２７０において、デコーダ２７１は、データベース２５０から受け取った符号データの中から符号化情報を抽出し、符号化情報を用いて復号を行うことにより復号画像を生成する。生成した復号画像は、モデル生成器２７２と合成器２７３に入力される。また、抽出された符号化情報は合成器２７３に入力される。
【００３５】
モデル生成器２７２は入力された復号画像を用いて、オブジェクトの輪郭を取得し、画像とそのカメラのカメラ設定情報に基づいて３次元モデルを生成する。生成された３次元モデルでは、合成器２７３に出力される。オブジェクト３２０の３次元モデルの生成には、例えば、Ｖｉｓｕａｌ  Ｈｕｌｌなどの方法を用いることができる。なお、３次元モデルの生成方法に関しては特に限定はなく、３次元モデルは例えば点群や、メッシュで表現され得る。ここでは、３次元モデルは点群で表現されるものとする。点群は撮影対象の空間を三次元空間で表した座標の値を持った点の集合である。
【００３６】
図４は、合成器２７３の構成例を示すブロック図である。合成器２７３は、モデルを構成する点群の各点に対して、前景画像の画素値を選択または合成して得られた値をマッピングする（テクスチャマッピング）。一般に、仮想視点画像の生成においては、画像を前景画像と背景画像に分け、それぞれの画像について生成された３次元モデルを用いることにより仮想視点からの画像が生成される。以下、映像のフレームに対応した前景画像を前景フレームとも称する。図４において、モデルバッファ５００は、モデル生成器２７２によって生成された３次元モデルを時刻ごとに格納する。前景フレームバッファ５０６はデコーダ２７１で復号された前景画像の一部またはすべてをカメラ識別子とともに蓄積する。点選択部５０１は、３次元モデルの点群のうち、仮想カメラ情報と３次元モデルの位置情報に基づいて決定される仮想カメラの画角の内側にある点を順に選択する。選択された点の情報は前景フレーム選択部５０２と前景マッピング部５０７に入力される。
【００３７】
前景フレーム選択部５０２は、データベース２５０から各カメラのカメラ設定情報を取得し、点選択部５０１により選択された点が各カメラの画角に含まれるか否かをカメラ設定情報に基づいて判定する。さらに、前景フレーム選択部５０２は、選択された点の座標情報とカメラの位置、向き、画角に基づいて、各カメラの画像上に点を射影し、射影した点に対応する画素位置を算出する。なお、選択された点に対応する画素は１つとは限らず、複数が対応する場合もある。前景フレーム選択部５０２は、点を画角に含むカメラのカメラ識別子、およびそのカメラの画像における選択された点に対応する画素位置を量子化パラメータ比較部５０５に出力する。
【００３８】
前景フレーム選択部５０２が、選択された点を画角内に含むと判定されたカメラのカメラ識別子を選択することは、テクスチャマッピングするために用いる対象（候補）となる前景画像を選択することと等価である。量子化パラメータ比較部５０５は、選択された前景画像に用いられた符号化を表す符号化情報に基づいて、選択された前景画像のテクスチャマッピングへの利用法を決定するための構成の一例である。本実施形態では、複数の前景画像が選択された場合に、符号化情報（量子化パラメータ）に基づいて、テクスチャマッピングに用いる前景画像が決定される。
【００３９】
デコーダ２７１で復号された符号化情報は量子化パラメータ抽出部５０３に入力される。量子化パラメータ抽出部５０３は符号化情報からマクロブロック単位で量子化パラメータを抽出する。抽出された量子化パラメータはカメラ識別子ごとにマクロブロック単位で量子化パラメータメモリ５０４に格納される。なお、量子化パラメータの格納の単位は、これに限定されず、フレーム、スライス、ブロック、画素単位であっても良い。
【００４０】
量子化パラメータ比較部５０５は、前景フレーム選択部５０２で選択された前景画像のカメラ識別子と、選択された点に対応する画素位置とに基づいて、量子化パラメータメモリ５０４から、その画素位置を含むマクロブロックの量子化パラメータを読み出す。複数の前景画像が選択されている場合、量子化パラメータ比較部５０５は、テクスチャマッピングに用いる前景画像を決定するために、読み出した複数の量子化パラメータの比較を行う。本実施形態では、量子化パラメータ比較部５０５は、読み出された量子化パラメータの大小を比較し、その比較結果に基づいて、仮想視点画像を生成するために用いるべく選択された前景画像のカメラ識別子を取得する。例えば、量子化パラメータが最少のものを選ぶことにより、テスクチャの画質を向上させることができる。量子化パラメータ比較部５０５は、決定されたカメラ識別子および選択された点に対応する画素位置を前景フレームバッファ５０６に出力する。
【００４１】
前景フレームバッファ５０６は前述の比較の結果に基づいて決定されたカメラ識別子と選択された点に対応する画素位置に基づいて、デコーダ２７１から得られる符号化された画像のうち、該当する画像の該当する画素値を前景マッピング部５０７に入力する。前景マッピング部５０７は、点選択部５０１によって選択された点の座標情報と仮想カメラ情報に基づき、選択された点を仮想カメラの画像に射影し、対応する画素位置を算出する。前景マッピング部５０７は、算出された仮想カメラの画像における画素位置に、前景フレームバッファ５０６から入力された画素値を配置することによりテクスチャマッピングを行う。１つの点に対して画素値が複数ある場合は、例えばそれらの平均値をとることで該当する画素値が算出される。こうして仮想カメラから観察される３次元モデル上の全ての点についてテクスチャマッピングを行って得られたモデルを用いて、仮想視点カメラから見た画像（仮想視点画像）が生成される。仮想視点画像は、エンドユーザ端末１９０に送信され、表示される。
【００４２】
図５は、以上の様な構成を備えた合成器２７３の動作を表したフローチャートである。なお、本実施形態では、コントローラ２８０が画像処理システム１００内のフロントエンドサーバ２３０やデータベース２５０等のワークフローを制御することにより、以下の制御が実現される。このことは、第２、第３実施形態も同様である。
【００４３】
ステップＳ６００からステップＳ６０８は処理のループを表し、３次元モデルを構成する点群のすべての点について処理を行うためのループである。ステップＳ６０１において、点選択部５０１は前景をテクスチャマッピングする対象となる点、すなわち３次元モデルを構成する点群の１つを選択する。ステップＳ６０２において、点選択部５０１により選択された点が仮想視点カメラから見えるか否かを判定する。選択された点が仮想視点カメラから見えないと判定された場合、処理はステップＳ６０８からステップＳ６０１に戻り、点選択部５０１は次の点を選択する。ステップＳ６０２において、選択された点が見えると判定された場合、処理はステップＳ６０３に進む。
【００４４】
ステップＳ６０３において、前景フレーム選択部５０２は、データベース２５０から各カメラのカメラ設定情報を取得し、取得したカメラ設定情報に基づいて、選択された点をテクスチャマッピングするために利用可能な前景画像を選択する。ステップＳ６０４において、量子化パラメータ比較部５０５は、前景フレーム選択部５０２が選択した前景画像のフレームが複数あるか否かを判断する。選択された前景画像が１つしかないと判定された場合、処理はステップＳ６０５に進み、複数あると判定された場合、処理はステップＳ６０６に進む。
【００４５】
ステップＳ６０５において、量子化パラメータ比較部５０５は、前景フレーム選択部５０２によって選択された前景画像を撮影したカメラ識別子を取得する。ステップＳ６０６において、量子化パラメータ比較部５０５は、選択された複数の前景画像のそれぞれについての量子化パラメータを量子化パラメータメモリ５０４から読み出す。量子化パラメータ比較部５０５は、読み出した量子化パラメータを比較することにより最小の量子化パラメータを選択する。そして、量子化パラメータ比較部５０５は、最小の量子化パラメータで復号された前景画像を撮影したカメラのカメラ識別子を取得し、前景フレームバッファ５０６に通知する。
【００４６】
ステップＳ６０７において、前景フレームバッファ５０６は、量子化パラメータ比較部５０５から通知されたカメラ識別子に対応する前景画像の、選択された点の画素位置に対応する画素値を取得し、前景マッピング部５０７に出力する。前景マッピング部５０７は、前景フレームバッファ５０６から入力された画素値を、モデルバッファ５００から取得した３次元モデル上の点選択部５０１が選択した点にマッピングする。その後、処理はステップＳ６０１に戻り、点選択部５０１は次の点を選択する。
【００４７】
図３を用いて、上記処理についてさらに説明する。ここでは簡略化のために、カメラごとにフレーム単位で量子化パラメータが設定されるものとして説明する。カメラ１１２ａで撮影された画像を符号化するためにエンコーダ１２１ａが使用した量子化パラメータをＱ１とする。同様に、エンコーダ１２１ｂで使用した量子化パラメータをＱ２、エンコーダ１２１ｃで使用した量子化パラメータをＱ３とする。この時、各量子化パラメータではＱ１＜Ｑ２＜Ｑ３の関係があったとする。
【００４８】
図３において、オブジェクト３２０に対する仮想視点画像の中の部分領域３２１内の点のテクスチャマッピングに使用できる前景画像は、カメラ１１２ａ〜１１２ｃにより撮影された画像である。この時、エンコーダ１２１ａで用いられた量子化パラメータＱ１が最小であるので、部分領域３２１に射影される点に対してカメラ１１２ａにより撮影された画像が選択される。また、部分領域３２２内の点のテクスチャマッピングに使用できる前景画像はカメラ１１２ｂとカメラ１１２ｃの画像である。この場合、エンコーダ１２１ｂで用いられた量子化パラメータＱ２が最小であるので、部分領域３２２に射影される点に対してカメラ１１２ｂにより撮影された画像が選択される。さらに、部分領域３２３内の点のテクスチャマッピングに使用できる前景画像は、カメラ１１２ｃによって撮影された画像のみである。したがって、部分領域３２３に射影される点に対してカメラ１１２ｃの画像が選択される。
【００４９】
以上のようにして仮想視点画像生成に必要な点に対してマッピングが終了したら、本処理を終了する。その後、全ての点でテクスチャマッピングによって得られたモデルを用いて、仮想視点カメラからの見た画像を仮想視点画像の画像として画像コンピューティングサーバ２００から送出する。生成された画像はエンドユーザ端末１９０に送られ、表示、閲覧される。
【００５０】
以上の世に、第１実施形態によれば、仮想視点画像の生成に関連して、複数のカメラの前景画像を用いる場合、符号化による劣化の少ない画像を符号化情報によって選択することができる。結果、画像から特徴量等の抽出を行わなくても、高画質な仮想視点画像を生成できる。
【００５１】
なお、本実施形態ではステップＳ６０４で前景画像が１枚のみの場合について判定を行ったが、これに限定されない。ステップＳ６０４、Ｓ６０５を省略して、量子化パラメータの読み出しが増えるが、１枚の場合でも最小の量子化パラメータの前景画像を選択しても構わない。
【００５２】
＜変形例＞
前景フレーム選択部５０２によって選択された前景画像の、テクスチャマッピングへの利用法の決定に関する変形例を説明する。上記第１実施形態では、３次元モデルの各点について、複数の前景画像のうちの１つを符号化情報に基づいて選択してテスクチャマッピングに用いるように決定する構成を説明した。これに対して変形例では、複数の前景画像から得られる画素値に符号化情報に基づいた重みづけを行って合成された画素値をテクスチャマッピングに用いる。このために、例えば、前景マッピング部５０７は、符号化情報に基づいて優先的に用いる画像（本例では量子化パラメータが最小の画像）と他の画像に分類し、それぞれに重みを設定して画素値を合成する。
【００５３】
変形例による合成器２７３の構成について図４を流用して説明する。変形例では、図４において、量子化パラメータ比較部５０５と前景マッピング部５０７との間の接続が追加される。量子化パラメータ比較部５０５は、前景フレーム選択部５０２によって選択された前景画像を撮影したカメラの全台数と、それらのカメラのうち最小の量子化パラメータで符号化したカメラの台数とを前景マッピング部５０７に出力する。前景マッピング部５０７は、選択された前景画像を撮影したカメラの全台数と最小の量子化パラメータを持つカメラの台数とに応じて、それぞれのカメラに対応する前景画像の画素値に重み付けを行ってマッピングを行う。
【００５４】
図６は変形例による合成器２７３の動作を示すフローチャートである。図５に示した処理と同様の処理を行うステップには、図５と同一のステップ番号を付してある。ステップＳ６２０において、量子化パラメータ比較部５０５は前景フレーム選択部５０２で選択された前景画像のフレームが複数か否かを判断する。１つと判定された場合、処理はステップＳ６０５に進み、複数と判定された場合、処理はステップＳ６２１に進む。
【００５５】
ステップＳ６２１において、量子化パラメータ比較部５０５は、選択された前景画像を復号した際の量子化パラメータを量子化パラメータメモリ５０４から読み出す。量子化パラメータ比較部５０５は、読み出した量子化パラメータの比較を行うことにより最小の量子化パラメータを選択する。量子化パラメータ比較部５０５は、最小の量子化パラメータで復号された前景画像を撮影したカメラのカメラ識別子を取得するとともに、合成時の重み係数Ｗ０を決定する。例えば、重み係数Ｗ０は、前景フレーム選択部５０２によって選択された前景画像を撮影したカメラの台数をＭとし、最小の量子化パラメータで復号された前景画像を撮影したカメラの台数をＮとした場合に、係数αを用いて、
Ｗ０＝α／（（Ｍ−Ｎ）＋Ｎα）    ...（１）
により決定する。
【００５６】
また、ステップＳ６２２において、量子化パラメータ比較部５０５は、最小の量子化パラメータ以外の量子化パラメータで復号された前景画像に適用する重み係数Ｗ１を、例えば、
Ｗ１＝１／（（Ｍ−Ｎ）＋Ｎα）    ...（２）
により決定する。
【００５７】
なお、（１）式、（２）式において、係数αは１以上の値である。係数αは、予め決めておいてもよいし、量子化パラメータの最小値と最大値の差分値などに基づいて動的に決めても良い。例えば、差分値が大きければαの値を大きくし、差分値が小さければ値を小さくする。ただし、重み係数の決定方法はこれに限定されない。
【００５８】
ステップＳ６２３において、前景マッピング部５０７はステップＳ６２１、Ｓ６２２で決定された重み係数を用いて、それぞれのカメラ識別子に基づいて読み出された画素値にこれらの重み係数を掛け、加重平均をとることで仮想視点画像の画素値を決定する。ステップＳ６２４において、前景マッピング部５０７は、ステップＳ６０５で選択された画素値、またはステップＳ６２３で合成された画素値を取得し、３次元モデルの選択されている点の位置にマッピングする。
【００５９】
以上の構成と動作により、仮想視点画像の生成に関連して、複数のカメラからの前景画像を用いる場合、符号化による劣化の少ない画像を優先して生成することにより、画像から特徴量等の抽出を行わなくても、高画質な仮想視点画像を生成できる。
【００６０】
なお、上記のフローチャートでは重み係数を最小の量子化パラメータか否かで２つに分けたがこれに限定されない。量子化パラメータの最小の画像が最大の重み係数になるようにして、そのほかの画像の重み係数を量子化パラメータの大きさに応じて決定しても良い。また、選択された前景画像の分類は、符号化モードに基づいて行われてもよい。また、上述の実施形態では、データベース２５０が画角３５１から見た仮想視点画像を生成するために必要な画像を各センサシステム１１０の撮影した画像から選択したがこれに限定されない。前景フレーム選択部５０２が選択した結果を用いて、バックエンドサーバ２７０がデータベース２５０から必要な画像を選択して読み出すようにしても良い。
【００６１】
なお、上述の実施形態は、画像処理システム１００が競技場やコンサートホールなどの施設に設置される場合の例を中心に説明した。施設の他の例としては、例えば、遊園地、公園、競馬場、競輪場、カジノ、プール、スケートリンク、スキー場、ライブハウスなどがある。また、各種施設で行われるイベントは、屋内で行われるものであっても屋外で行われるものであっても良い。また、本実施形態における施設は、一時的に（期間限定で）建設される施設も含む。
【００６２】
＜第２実施形態＞
第１実施形態では、符号化情報に基づいてテクスチャマッピングに用いる前景画像を決定する構成を、符号化情報としての量子化パラメータに基づいて決定する場合を例に挙げて説明した。第２実施形態では、符号化情報のうちの符号化方式に基づいてテクスチャマッピングに用いる前景画像を決定する構成を説明する。
【００６３】
図７は、第２実施形態による画像処理システム１００の構成例を示すブロック図である。図７において図１と同じ機能を有するブロックには同一の参照番号を付してある。図７において、エンキャプセレータ２１０ａ、２１０ｂは、それぞれ、デコーダ２７１ａ、２７１ｂを備える。デコーダ２７１ａ、２７１ｂは図１のデコーダ２７１の機能に加え、復号した画像データと符号化情報をフロントエンドサーバ２３０ａに出力する。フロントエンドサーバ２３０ａは、モデル生成器２７２ａを備える。モデル生成器２７２ａは図１のモデル生成器２７２の機能に加え、エンキャプセレータ２１０ａ、２１０ｂから前景画像の画像データと符号化情報を取得する機能、３次元モデルをデータベース２５０ａに出力する機能を有する。データベース２５０ａは第１実施形態のデータベース２５０の機能に加えて、３次元モデルをフレーム単位で格納する機能を有する。バックエンドサーバ２７０ａは第１実施形態のバックエンドサーバ２７０とは異なり、３次元モデルの生成は行わず、３次元モデルをデータベース２５０ａから読み込む。
【００６４】
上述の構成での仮想視点画像生成処理について説明する。第１実施形態と同様に、センサシステム１１０において、カメラ１１２が画像を撮影し、エンコーダ１２１はその画像を符号化して符号化情報とともに出力する。エンコーダ１２１は、伝送されてくる符号データのデータ量、カメラ１１２から入力される画像の特徴から符号化モードを調整して符号化を行う。
【００６５】
例えば、Ｈ．２６４符号化方式においては、マクロブロック単位で、マクロブロックモードを設定することが可能である。マクロブロックレイヤの先頭にはｍｂ＿ｔｙｐｅがあり、マクロブロックの符号化モードを定義する。マクロブロックの符号化モードにはフレーム内予測を行うＩｎｔｒａモード、フレーム間予測を行うＩｎｔｅｒモードがある。さらに、Ｉｎｔｒａモードの中にはブロックの係数をそのままＰＣＭ符号化するＩ＿ＰＣＭモードがある。Ｉ＿ＰＣＭモードは符号化が難しい細かいテクスチャがある場合に用いられ、画素値がそのまま符号化される。このため、Ｉ＿ＰＣＭモードは、劣化がないロスレスによる符号化を行うこともでき、符号量は大きいが画質が優れている。
【００６６】
エンコーダ１２１はこれらの符号化モードと量子化パラメータを制御して変換係数の量子化を行い、符号量を調整する。また、符号化情報として使われた符号化モードは前述の符号を用いて符号化される。符号化によって得られた符号データはパケット化され、ネットワーク１７０、スイッチングハブ１８０を介して画像コンピューティングサーバ２００に送信される。
【００６７】
画像コンピューティングサーバ２００は、各センサシステム１１０から撮影された画像データの符号データをエンキャプセレータ２１０で受信する。エンキャプセレータ２１０ａ、２１０ｂは、受信したデータが画像であれば、パケット化された符号データをデコーダ２７１ａ、２７１ｂで復号し、再生された画像データを１フレーム単位でまとめて、フロントエンドサーバ２３０ａに出力する。また、エンキャプセレータ２１０ａ、２１０ｂは符号化情報をフロントエンドサーバ２３０ａに出力する。ここでは、符号化情報は画像データにメタ情報として添付されて出力される。符号化情報には、マクロブロック単位での量子化パラメータ、符号化モードが含まれる。ただし、符号化情報の出力の方法は上記に限定されるものではなく、例えば画像データとは別データとして出力し、別管理を行うようにしても構わない。
【００６８】
フロントエンドサーバ２３０ａは、エンキャプセレータ２１０ａ、２１０ｂから画像データと符号化情報を取得する。モデル生成器２７２ａは、画像データを時間単位で集約して３次元モデルの生成を行う。すなわち、モデル生成器２７２ａは、同じ時刻の各センサシステムの画像から３次元モデルの生成を行う。３次元モデルの生成方法は第１実施形態のモデル生成器２７２と同様である。生成された３次元モデルは復号された前景画像データ、符号化情報とともにデータベース２５０ａに格納される。第１実施形態と同様に、センサシステム１１０のカメラ１１２を特定するためのカメラ識別子や同期のためのフレームの時刻などの情報が付加される。データベース２５０ａは各時刻の３次元モデル、復号された前景画像データ、符号化情報を格納する。
【００６９】
ユーザは仮想カメラ操作ＵＩ２８２を用いて仮想カメラ情報を設定する。設定された仮想カメラ情報はデータベース２５０ａ及びバックエンドサーバ２７０ａに出力される。データベース２５０ａは、第１実施形態と同様に、仮想カメラから見た仮想視点画像を生成するために必要な前景画像を、カメラの位置および画角と３次元モデルに基づいて選択する。データベース２５０ａは、選択した前景画像を時刻ごとにバックエンドサーバ２７０ａに出力する。バックエンドサーバ２７０ａにおいて、入力された符号化情報、復号された前景画像データ、３次元モデルは合成器２７３ａに入力される。
【００７０】
図８は第２実施形態による合成器２７３ａの詳細な機能構成例を示すブロック図である。図８において、第１実施形態（図４）と同様の機能を有するブロックには同一の参照番号を付してある。
【００７１】
符号化情報バッファ８１０は、データベース２５０ａから入力された符号化情報をフレームごとに格納する。符号化情報は、フレームに含まれるマクロブロック単位の符号化モード、量子化パラメータを含む。符号化モード抽出部８１１は符号化情報バッファ８１０に格納されている符号化情報から符号化モードをフレーム単位で抽出し、符号化モードメモリ８１２に格納する。符号化モード比較部８１３は前景フレーム選択部５０２により選択された前景フレームの、点選択部５０１により選択された点に対応する画素についての符号化モードを符号化モードメモリ８１２から読み出し比較する。
【００７２】
前景画素選択部８１４は、前景フレーム選択部５０２による前景画像の選択状態、符号化モード比較部８１３の比較結果と量子化パラメータ比較部５０５の比較結果に基づいてマッピングに使用する前景画像と画素を選択する。前景画素選択部８１４は、前景フレーム選択部５０２により選択された前景画像が１枚の場合は、当該前景画像の選択された点に対応する画素をテクスチャマッピングに利用する画素として選択する。他方、前景フレーム選択部５０２により複数の前景画像が選択された場合、前景画素選択部８１４は、量子化パラメータ比較部５０５と符号化モード比較部８１３の比較結果に基づいてカメラ識別子と、選択された点に対応する画素位置を選択する。前景フレームバッファ５０６は、前景画素選択部８１４により選択された前景画像の画素値を前景マッピング部５０７ａと画素合成部８０６へ提供する。画素合成部８０６は選択された画素値が複数の場合に、これらの画素値を合成して、マッピング処理に用いる画素値を生成する。画素合成部８０６における合成方法の詳細は後述する。
【００７３】
前景マッピング部５０７ａは、点選択部５０１から入力された点の座標情報と仮想カメラ情報に基づいて、点選択部５０１により選択された点を仮想カメラの画像に射影し、対応する画素位置を算出する。また、前景マッピング部５０７ａは、算出された仮想カメラの画素位置に、前景フレームバッファ５０６から読み出された画素値または画素合成部８０６で合成された画素値をマッピングする。
【００７４】
図９は、第２実施形態による合成器２７３ａの動作を表したフローチャートである。なお、図９において、第１実施形態（図５）およびその変形例（図６）と同様の処理を行うステップには同一の参照番号を付してある。ステップＳ６００からステップＳ６０８は処理のループを表し、３次元モデルを構成する点群のすべての点について処理を行うためのループである。ループにおいては、すべての点群を行う方法と、見えている点群を判別して選択する方法があるがこれらについては特に限定しない。
【００７５】
ステップＳ９００において、前景フレーム選択部５０２は、ステップＳ６０３で選択された前景画像が１枚か否かを判断し、その結果を量子化パラメータ比較部５０５、符号化モード比較部８１３に出力する。選択された前景画像が１つの場合、処理はステップＳ６０５に進み、選択された前景画像が複数の場合、処理はステップＳ９０１に進む。ステップＳ６０５において、選択された前景画像の画素が選択される。すなわち、前景画素選択部８１４は、選択された前景画像の選択された点に対応する画素位置を前景フレームバッファ５０６に提供し、前景フレームバッファ５０６はその画素値を前景マッピング部５０７ａに出力する。
【００７６】
ステップＳ９０１において、符号化モード比較部８１３は符号化モードメモリ８１２から、ステップＳ６０３で選択された前景画像における、選択された点に対応する画素を復号した際の符号化モードを読み出す。符号化モード比較部８１３は、選択された点に対応する画素の符号化モードがＩ＿ＰＣＭモードである前景画像が存在するか否かを判定する。ステップＳ９０１においてそのような前景画像が存在すると判定された場合、処理はステップＳ９０２に進み、そのような前景画像が存在しないと判定された場合、処理はステップＳ６０６に進む。
【００７７】
ステップＳ６０６では、量子化パラメータ比較部５０５が量子化パラメータの比較を行い、最小の量子化パラメータで復号された前景画像のカメラ識別子を前景画素選択部８１４に入力する。前景画素選択部８１４は、カメラ識別子とその画素位置に基づいて前景フレームバッファ５０６からテクスチャマッピングに利用する前景画像の画素値を選択する。ステップＳ９０２において、前景画素選択部８１４は、選択された点に対応する画素の符号化モードがＩ＿ＰＣＭモードである前景画像が複数存在するか否かを判断する。そのような前景画像が１つしかない場合、処理はステップＳ９０３に進み、そのような前景画像が複数ある場合、処理はステップＳ９０４に進む。
【００７８】
ステップＳ９０３において、前景画素選択部８１４は、選択された点に対応する画素がＩ＿ＰＣＭモードで復号された前景画像を撮影したカメラのカメラ識別子に基づいて前景フレームバッファ５０６からテクスチャマッピングに利用する前景画像の画素を選択する。他方、ステップＳ９０４において、前景画素選択部８１４は、選択された点に対応する画素がＩ＿ＰＣＭモードで復号された複数の前景画像について、該当する全てのカメラ識別子を取得する。前景画素選択部８１４は、取得した複数のカメラ識別子と選択された点に対応する画素位置に基づいて、前景フレームバッファ５０６から複数の画素を選択する。画素合成部８０６は、選択された複数の画素を合成する。画素合成部８０６による合成の方法には、例えば、複数の画素値の加算平均を用いることができる。
【００７９】
ステップＳ６２４において、ステップＳ６０５、ステップＳ６０６、ステップＳ９０３で選択された画素の画素値、またはステップＳ９０４で合成された画素値を用いて、３次元モデルへのテクスチャマッピングを行う。
【００８０】
以上のように、第２実施形態によれば、仮想視点画像の生成に複数の前景画像を用いる場合、符号化による劣化の少ない前景画像が優先して選択されるため、画像から特徴量等の抽出を行わなくても高画質な仮想視点画像を生成することができる。
【００８１】
なお、第２実施形態では符号量の調整を符号化モードと量子化パラメータの両方を用いて行ったが、これに限定されない。用いる前景画像データでＩ＿ＰＣＭモードの画素を優先的に使い、もし、Ｉ＿ＰＣＭモードの画素がなければそれ以外の符号化モードの画素の平均値を用いても構わない。
【００８２】
また、第２実施形態では比較する符号化モードをＩ＿ＰＣＭモードとそれ以外としたがこれに限定されない。一般的にＩｎｔｒａモードの復号画像の方がＩｎｔｅｒモードの復号画像より高画質であることが知られている。Ｉｎｔｅｒモードでは符号化劣化がある画像から予測を行うため、符号化の誤差が蓄積しやすく、画質が低い傾向がある。したがって、Ｉｎｔｒａモードの符号号画像を優先的に使用しても良い。
【００８３】
また、第２実施形態において、デコーダ２７１をエンキャプセレータ２１０に含めたがこれに限定されず、例えば、第１実施形態のようにバックエンドサーバ２７０に含めても構わない。さらに、第２実施形態のステップＳ９０４において、画素値の合成を行ったが、その際に、第１実施形態の変形例で説明したような重みづけを行ってもよい。
【００８４】
＜第３実施形態＞
第２実施形態では、符号化情報のうちの符号化方式（符号化モード）に基づいてテクスチャマッピングに用いる前景画像を決定する構成を説明した。第３実施形態では、さらに画像中の被写体とカメラとの距離に基づいてテクスチャマッピングに用いる前景画像を選択する構成を説明する。
【００８５】
図１０は、第３実施形態による画像処理システム１００の構成例を示すブロック図である。同図において、第１実施形態（図１）、もしくは第２実施形態（図７）と同様の機能を有するブロックについては同一の参照番号を付してある。データベース２５０ｂは、各カメラのカメラ設定情報を格納するカメラ設定情報記憶部２５１を有する。カメラ設定情報は、カメラの識別子で識別されるカメラの位置、方向、画角の少なくとも１つを含む。バックエンドサーバ２７０ｂは、データベース２５０ｂのカメラ設定情報記憶部２５１からカメラ設定情報を読み込む。
【００８６】
次に、第３実施形態による仮想視点画像の生成処理について説明する。第１実施形態および第２実施形態と同様に、第３実施形態においても、センサシステム１１０のカメラ１１２が画像を撮影し、エンコーダ１２１がカメラ１１２の撮影した画像を符号化し、符号化された画像と符号化情報を出力する。ただし、第３実施形態では、他のセンサシステムから伝送されてくる符号データのデータ量、カメラ１１２から入力される画像の特徴から符号化モードを調整して符号化を行う。エンコーダ１２１はこれらの符号化モードと量子化パラメータを制御して変換係数の量子化を行い、符号量を調整する。また、符号化情報として、使用した符号化モードは前述の符号を用いて符号化される。符号化によって得られた符号データはパケット化され、ネットワーク１７０、スイッチングハブ１８０を介して画像コンピューティングサーバ２００に送信される。
【００８７】
画像コンピューティングサーバ２００のエンキャプセレータ２１０ａ、２１０ｂは、センサシステム１１０から、符号化された画像データを含む符号データを受信する。エンキャプセレータ２１０ａ、２１０ｂは受信した符号データが画像であれば、パケット化された符号データをデコーダ２７１ａ、２７１ｂで復号し、再生された画像データを１フレーム単位でまとめて、フロントエンドサーバ２３０ａに出力する。
【００８８】
フロントエンドサーバ２３０ａは画像データと符号化情報を読み込み、モデル生成器２７２ａは画像データを時間単位で集約して３次元モデルの生成を行う。生成された３次元モデルは復号された前景画像、符号化情報とともにデータベース２５０ｂに格納される。また、モデル生成器２７２ａは、３次元モデルのスタジアム内の位置情報（オブジェクト位置情報と称す）をデータベース２５０ｂに出力する。第２実施形態と同様に、センサシステム１１０のカメラ１１２を特定するためのカメラ識別子や同期のためのフレーム時刻などの情報が付加される。また、データベース２５０ｂはカメラ設定情報を取得し、カメラ設定情報記憶部２５１に格納する。データベース２５０ｂは各時刻の３次元モデルと、各カメラの各時刻の復号された前景画像データ、符号化情報、及び、カメラ設定情報を格納する。
【００８９】
ユーザは仮想カメラ操作ＵＩ２８２を用いて仮想カメラ情報を設定する。設定された仮想カメラ情報はデータベース２５０ｂ及びバックエンドサーバ２７０ｂに出力される。データベース２５０ｂでは、第２実施形態と同様に、仮想カメラから見た仮想視点画像を生成するために必要な前景画像が、３次元モデル、仮想カメラ情報、カメラ設定情報に基づいて選択される。データベース２５０ｂはこれらのデータを時刻ごとにバックエンドサーバ２７０ｂに出力する。
【００９０】
バックエンドサーバ２７０ｂに入力された符号化情報、復号された前景画像、３次元モデルは合成器２７３ｂに入力される。また、バックエンドサーバ２７０ｂは、テクスチャマッピングに用いる前景画像を撮影したセンサシステム１１０のカメラ設定情報（カメラの位置情報）を、データベース２５０ｂのカメラ設定情報記憶部２５１から読み出しておく。なお、カメラ設定情報記憶部２５１がバックエンドサーバ２７０ｂに含まれていても良い。
【００９１】
第３実施形態による合成器２７３ｂの詳細なブロック図を図１１に示す。図１１において、第１実施形態（図４）および第２実施形態（図７）と同様の機能を有するブロックには同一の参照番号を付してある。
【００９２】
モデルバッファ５００ａは入力された３次元モデルをフレームごとに格納する。その際に３次元モデルのオブジェクト位置情報もフレーム単位で格納する。距離演算部１１０１はデータベース２５０ｂのカメラ設定情報記憶部２５１から各カメラの位置情報を入力し、カメラの位置情報とオブジェクト位置情報とを用いて、それぞれのカメラとオブジェクトの距離を算出する。前景画素選択部８１４ａは符号化モード比較部８１３、量子化パラメータ比較部５０５、距離演算部１１０１の比較結果に基づいてマッピングに使用する前景画像の画素を選択する。画素の選択方法の詳細は後述する。前景画素選択部８１４ａは比較結果に基づいて選択された前景画像のカメラ識別子と、前景画像における選択された点に対応する画素位置の画素値を前景フレームバッファ５０６から選択する。前景フレームバッファ５０６は、選択された画素値を前景マッピング部５０７ｂに出力する。
【００９３】
図１２は、第３実施形態による合成器２７３ｂの動作を表したフローチャートである。図１２において、第１実施形態（図５）、第２実施形態（図９）と同様の処理を行うステップには同一のステップ番号を付してある。
【００９４】
ステップＳ６００からステップＳ６０８は処理のループを表す。このループは、３次元モデルを構成する点群のすべての点の処理を行うためのループである。ループにおいては、すべての点群を行う方法と、見えている点群を判別して選択する方法があるがこれらについては特に限定しない。
【００９５】
ステップＳ９０２において、前景画素選択部８１４ａは、ステップＳ６０３で選択された前景画像のうち、選択された点に対応する画素の符号化モードがＩ＿ＰＣＭモードである前景画像が複数あるか否かを判断する。ステップＳ９０２において、そのような前景画像が１つしかないと判断された場合、処理はステップＳ９０３に進み、複数あると判断された場合、処理はステップＳ１２０４に進む。
【００９６】
ステップＳ１２０４において、前景画素選択部８１４ａは、３次元モデルの選択された点との距離が最も近いカメラにより撮影された前景画像の画素を選択する。ステップＳ１２０４の処理について、より詳細に説明する。前景フレーム選択部５０２は、ステップＳ６０３で選択した前景画像を取得したカメラのカメラ識別子と点選択部５０１が選択した３次元モデルの点を距離演算部１１０１に通知する。距離演算部１１０１は、カメラ識別子で特定されるカメラの位置情報をカメラ設定情報記憶部２５１から取得する。また、距離演算部１１０１はモデルバッファ５００ａに保持されているオブジェクト位置情報から、３次元モデルの選択された点の位置を取得する。距離演算部１１０１は、オブジェクト位置情報から取得した点の位置と、カメラの位置情報とからそれらの間の距離を算出し、その算出結果を前景画素選択部８１４ａに出力する。前景画素選択部８１４ａは、距離演算部１１０１により算出された距離が最も短いカメラ（選択された点に最も近いカメラ）により撮影された前景画像の、選択された点に対応する画素を選択する。前景フレームバッファ５０６は、前景画素選択部８１４ａが選択した画素を前景マッピング部５０７ｂに提供する。
【００９７】
ステップＳ６０７において、前景マッピング部５０７ｂは、点選択部５０１から入力された点の座標情報と仮想カメラ情報に基づき、点を仮想カメラの画像に射影し、出力する画像の画素位置を算出する。算出された仮想カメラの画素位置に、前景マッピング部５０７ｂは、前景フレームバッファ５０６から提供される画素値をテクスチャマッピングする。
【００９８】
以上の構成と動作により、仮想視点画像の生成に関連して、複数のカメラからの前景画像を用いる場合、符号化モードで符号化による劣化の少ない画像を選択して生成することにより、画像から特徴量等の抽出を行わなくても高画質な仮想視点画像を生成できる。また、同じ品質の前景画像が存在した場合、距離が近い方を選択することにより、ボケによる解像度の低下の少ない画像を選択することで、より高画質な仮想視点画像を生成できる。
【００９９】
＜変形例＞
第３実施形態では、カメラと選択された点との距離を用いてテクスチャマッピングに利用する前景画像を選択する構成を設けている。このような、距離に基づく前景画像の選択は、例えば、第１実施形態で説明した量子化パラメータに基づく前景画像の選択にも適用できる。図１４は、変形例による合成器２７３ｂの動作を表したフローチャートである。ここでは、距離情報と符号化モード、符号化パラメータに基づいて、画像を選択する方法について示す。従って、合成器２７３ｂの機能構成は図１１と同様であるが、符号化モード抽出部８１１、符号化モードメモリ８１２、符号化モード比較部８１３は省略可能である。
【０１００】
ステップＳ１４０１において、前景画素選択部８１４ａは、距離演算部１１０１の演算結果と量子化パラメータ比較部５０５の比較結果から、量子化パラメータが最小である前景画像と、選択された点とカメラの距離が最小である（最近距離の）前景画像を選択する。ステップＳ１４０２において、前景画素選択部８１４ａは、量子化パラメータが最小である前景画像と最近距離の前景画像について、カメラと選択された点との距離を距離演算部１１０１から取得する。図１３はオブジェクト３２０の点とカメラ１１２ａ、１１２ｂの位置関係の例を示す図である。オブジェクト３２０上の点とカメラ１１２ａとの距離をｄＡ、カメラ１１２ｂとの距離をｄＢとする。距離演算部１１０１はこれらの距離ｄＡ、ｄＢをオブジェクトの点の位置とカメラ位置情報から算出する。ここでは、距離ｄＡが最近距離の前景画像におけるカメラと点との距離であり、距離ｄＢが最小の量子化パラメータを有する前景画像におけるカメラと点との距離であるとする。
【０１０１】
ステップＳ１４０３において、前景画素選択部８１４ａはこれらの距離ｄＡ、ｄＢとあらかじめ決められた係数βの比較を行う。より具体的には、ｄＡ／ｄＢの値と係数βを比較し、ｄＡ／ｄＢの値の値が係数βより小さい場合はステップＳ１４０５に進み、そうでない場合はステップＳ１４０４に進む。ステップＳ１４０４において、前景画素選択部８１４ａは、量子化パラメータが最小である前景画像の画素を選択する。ステップＳ１４０５において、前景画素選択部８１４ａは、最近距離の前景画像の画素を選択する。ステップＳ６０７で、前景マッピング部５０７ａは、ステップＳ６０５、Ｓ１４０４、Ｓ１４０５のいずれかで選択された画素の画素値を用いて、仮想視点画像の画素値をマッピングする。
【０１０２】
以上の構成と動作により、高画質な前景画像が複数存在した場合でも、距離が近い方を選択することにより、ボケによる解像度の低下の少ない画像を選択することで、より高画質な仮想視点画像を生成できる。
【０１０３】
なお、第２、第３実施形態では符号量の調整を符号化モードと量子化パラメータの両方を用いて行ったが、これに限定されない。用いる前景画像データでＩ＿ＰＣＭモードの画素を優先的に使い、もし、Ｉ＿ＰＣＭモードの画素がなければそれ以外の符号化モードの画素の平均値を用いるようにしてもよい。また、第２、第３実施形態において、デコーダ２７１ａ、２７１ｂをエンキャプセレータ２１０ａ、２１０ｂに含めたがこれに限定されず、例えば第１実施形態のようにバックエンドサーバ２７０に含めても構わない。また、画素合成部８０６（第２実施形態）による画素値の合成において、距離演算部１１０１（第３実施形態）で算出された距離情報に応じた加重平均が用いられてもよい。
【０１０４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０５】
以上、上述した実施形態によれば、カメラ１１２の台数などのシステムを構成する装置の規模、及び撮影画像の出力解像度や出力フレームレートなどに依らず、仮想視点画像を簡便に生成することが出来る。以上、本発明の実施形態について詳述したが、本発明は上述の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
【０１０６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０７】
１１０：センサシステム、１１１：マイク、１１２：カメラ、１１３：雲台、１２０：カメラアダプタ、１２１：：エンコーダ、１８０：スイッチングハブ、１９０：エンドユーザ端末、２３０、９３０：フロントエンドサーバ、２５０：データベース
【図１】
2020017927.tif 000003
【図２】
2020017927.tif 000004
【図３】
2020017927.tif 000005
【図４】
2020017927.tif 000006
【図５】
2020017927.tif 000007
【図６】
2020017927.tif 000008
【図７】
2020017927.tif 000009
【図８】
2020017927.tif 000010
【図９】
2020017927.tif 000011
【図１０】
2020017927.tif 000012
【図１１】
2020017927.tif 000013
【図１２】
2020017927.tif 000014
【図１３】
2020017927.tif 000015
【図１４】
2020017927.tif 000016