(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-02
(45)【発行日】2022-12-12
(54)【発明の名称】データ生成装置、方法およびプログラム
(51)【国際特許分類】
G06T 15/20 20110101AFI20221205BHJP
G06T 19/00 20110101ALI20221205BHJP
【FI】
G06T15/20 500
G06T19/00 A
(21)【出願番号】P 2018111163
(22)【出願日】2018-06-11
【審査請求日】2021-06-08
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】伊藤 裕尚
【審査官】山口 大志
(56)【参考文献】
【文献】特開2017-227975(JP,A)
【文献】特開2016-126425(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/20
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
複数の撮像装置で撮像されることにより取得される複数の画像に基づき、オブジェクトの形状を示す三次元形状データを生成する第1の生成手段と、
前記複数の画像に基づいて、前記第1の生成手段により生成された前記三次元形状データの要素の色を示す色情報を生成する第2の生成手段と、
前記複数の画像に基づいて、前記第1の生成手段により生成された前記三次元形状データの要素の色を仮想視点に応じて補正するための色補正情報を生成する第3の生成手段と、
前記第1の生成手段により生成された前記三次元形状データと前記第2の生成手段により生成された前記色情報と、前記第3の生成手段により生成された色補正情報を関連付けて記憶手段に記憶させる記憶制御手段と、
を有する、ことを特徴とするデータ生成装置。
【請求項2】
前記第3の生成手段は、前記三次元形状データの要素と当該三次元形状データの要素に対応する領域を撮像する撮像装置との距離に基づき特定される撮像装置の画像に基づいて、前記色補正情報を生成することを特徴とする請求項1に記載のデータ生成装置。
【請求項3】
前記第3の生成手段は、前記三次元形状データの要素との関係で他と比べて大きい角度をなす2つの撮像装置の画像に基づいて、前記色補正情報を生成することを特徴とする請求項1または2に記載のデータ生成装置。
【請求項4】
前記第3の生成手段は、前記三次元形状データの要素に対応する画像の画素が複数である場合、複数の画素の画素値に基づいて前記色補正情報として生成することを特徴とする請求項1から3の何れか一項に記載のデータ生成装置。
【請求項5】
前記複数の画像に基づいて生成されるオブジェクトを含む前景画像は、前記記憶手段に記憶されないことを特徴とする請求項1から4の何れか一項に記載のデータ生成装置。
【請求項6】
前記記憶手段に記憶されるデータのデータ形式を決定する決定手段をさらに有し、
前記記憶制御手段は、前記決定手段により決定された前記データ形式で、前記三次元形状データと前記色情報と前記色補正情報を前記記憶手段に記憶させることを特徴とする請求項1から5の何れか一項に記載のデータ生成装置。
【請求項7】
前記決定手段は、前記仮想視点に対応する仮想視点画像を生成するための素材データのデータサイズを基準値と比較して前記データ形式を決定することを特徴とする請求項6に記載のデータ生成装置。
【請求項8】
前記複数の画像に基づいて、オブジェクトを含む前景画像、およびオブジェクトを含まない背景画像が生成され、
前記決定手段は、前記三次元形状データと前記背景画像と前記前景画像の組、前記三次元形状データと前記背景画像と前記色情報と前記色補正情報の組、前記三次元形状データと前記背景画像と前記色情報の組のうち、前記基準値を満たす組を前記データ形式として決定する
ことを特徴とする請求項7に記載のデータ生成装置。
【請求項9】
前記決定手段は、前記組に付与された優先順位の高い組を前記データ形式として決定することを特徴とする請求項8に記載のデータ生成装置。
【請求項10】
前記記憶制御手段は、前記三次元形状データと前記背景画像と前記前景画像の組が前記基準値を満たさない場合、前記前景画像を前記記憶手段に記憶させないことを特徴とする請求項8または9に記載のデータ生成装置。
【請求項11】
前記三次元形状データは、三次元空間の位置情報を有す複数の点で構成されることを特徴とする請求項1から10の何れか一項に記載のデータ生成装置。
【請求項12】
前記三次元形状データの要素は、ポリゴンで構成される
ことを特徴とする請求項1から10の何れか一項に記載のデータ生成装置。
【請求項13】
前記三次元形状データと前記色情報と前記色補正情報とに基づいて
、前記仮想視点に対応する仮想視点画像を生成する
第4の生成手段と、
を有する、ことを特徴とする
請求項1から12の何れか一項に記載のデータ生成装置。
【請求項14】
前記仮想視
点に基づき、前記三次元形状データの要素の色を決定するために使用される前記色情報と前記色補正情報の重みづけが変えられる
ことを特徴とする請求項13に記載の
データ生成装置。
【請求項15】
前記仮想視点が前記色情報および前記色補正情報それぞれの生成対象の撮像装置と前記三次元形状データの要素とで囲まれる領域にある場合、前記仮想視点および前記三次元形状データの要素を結ぶ線と、前記色情報および前記色補正情報それぞれの生成対象の撮像装置の撮像方向とでなす角度の大きさに応じて、前記三次元形状データの要素の色を決定するために使用される前記色情報と前記色補正情報の重みづけが設定される、ことを特徴とする請求項14に記載の
データ生成装置。
【請求項16】
前記仮想視点が前記色情報および前記色補正情報のそれぞれの生成対象の撮像装置と前記三次元形状データの要素とで囲まれる領域の外側の領域にある場合、前記仮想視点に近い前記色補正情報の生成対象である撮像装置に対応する前記色補正情報を用いて、前記三次元形状データの要素の色が決定される
ことを特徴とする請求項14に記載の
データ生成装置。
【請求項17】
複数の撮像装置で撮像されることにより取得される複数の画像に基づき、オブジェクトの形状を示す三次元形状データを生成する第1の生成ステップと、
前記複数の画像に基づいて、前記第1の生成ステップにて生成された前記三次元形状データの要素の色を示す色情報を生成する第2の生成ステップと、
前記複数の画像に基づいて、前記第1の生成ステップにて生成された前記三次元形状データの要素の色を仮想視点に応じて補正するための色補正情報を生成する第3の生成ステップと、
前記第1の生成ステップにて生成された前記三次元形状データと前記第2の生成ステップにて生成された前記色情報と、前記第3の生成ステップにて生成された色補正情報を関連付けて記憶手段に記憶させる記憶制御ステップと、
を含む、ことを特徴とするデータ生成方法。
【請求項18】
請求項1から
16の何れか一項に記載のデータ生成装置としてコンピュータを機能させるためのプログラム。
【請求項19】
複数の撮像装置で撮像されることにより取得される複数の画像に基づき、オブジェクトの形状を示す三次元形状データを生成する第1の生成手段と、
前記複数の画像に基づいて、前記第1の生成手段により生成された前記三次元形状データの要素の色を示す色情報を生成する第2の生成手段と、
前記複数の画像に基づいて、前記第1の生成手段により生成された前記三次元形状データの要素の色を仮想視点に応じて補正するための色補正情報を生成する第3の生成手段と、
を有するデータ生成装置と、
前記データ生成装置の前記第1の生成手段により生成された前記三次元形状データと、前記データ生成装置の前記第2の生成手段により生成された前記色情報と、前記データ生成装置の前記第3の生成手段により生成された色補正情報を関連付けて記憶する記憶装置と、
を有する、ことを特徴とするシステム。
【請求項20】
前記第3の生成手段は、前記三次元形状データの要素と当該三次元形状データの要素に対応する領域を撮像する撮像装置との距離に基づき特定される撮像装置の画像に基づいて、前記色補正情報を生成することを特徴とする請求項19に記載のシステム。
【請求項21】
前記第3の生成手段は、前記三次元形状データの要素との関係で他と比べて大きい角度をなす2つの撮像装置の画像に基づいて、前記色補正情報を生成することを特徴とする請求項19または20に記載のシステム。
【請求項22】
前記第3の生成手段は、前記三次元形状データの要素に対応する画像の画素が複数である場合、複数の画素の画素値に基づいて前記色補正情報として生成することを特徴とする請求項19から21の何れか一項に記載のシステム。
【請求項23】
前記複数の画像に基づいて生成されるオブジェクトを含む前景画像は、前記記憶装置に記憶されないことを特徴とする請求項19から22の何れか一項に記載のシステム。
【請求項24】
前記記憶装置に記憶されるデータのデータ形式を決定する決定手段をさらに有し、
前記記憶装置は、前記決定手段により決定された前記データ形式で、前記三次元形状データと前記色情報と前記色補正情報を記憶することを特徴とする請求項19から23の何れか一項に記載のシステム。
【請求項25】
前記決定手段は、前記仮想視点に対応する仮想視点画像を生成するための素材データのデータサイズを基準値と比較して前記データ形式を決定することを特徴とする請求項24に記載のシステム。
【請求項26】
前記複数の画像に基づいて、オブジェクトを含む前景画像、およびオブジェクトを含まない背景画像が生成され、
前記決定手段は、前記三次元形状データと前記背景画像と前記前景画像の組、前記三次元形状データと前記背景画像と前記色情報と前記色補正情報の組、前記三次元形状データと前記背景画像と前記色情報の組のうち、前記基準値を満たす組を前記データ形式として決定する
ことを特徴とする請求項25に記載のシステム。
【請求項27】
前記決定手段は、前記組に付与された優先順位の高い組を前記データ形式として決定することを特徴とする請求項26に記載のシステム。
【請求項28】
前記記憶装置は、前記三次元形状データと前記背景画像と前記前景画像の組が前記基準値を満たさない場合、前記前景画像を記憶しないことを特徴とする請求項26または27に記載のシステム。
【請求項29】
前記三次元形状データは、三次元空間の位置情報を有す複数の点で構成される
ことを特徴とする請求項19から28の何れか一項に記載のシステム。
【請求項30】
前記三次元形状データの要素は、ポリゴンで構成される
ことを特徴とする請求項19から28の何れか一項に記載のシステム。
【請求項31】
前記仮想視点を特定するための仮想視点情報を取得する第1の取得手段と、
前記オブジェクトの形状を示す三次元形状データと、前記三次元形状データの要素の色を示す色情報と、前記三次元形状データの要素の色を前記仮想視点に応じて補正するための色補正情報と、を取得する第2の取得手段と、
前記第2の取得手段により取得された前記三次元形状データと前記色情報と前記色補正情報とに基づいて、前記第1の取得手段により取得された前記仮想視点情報により特定される仮想視点に対応する仮想視点画像を生成する画像生成手段と、を有する画像処理装置を
さらに有することを特徴とする請求項19から30の何れか一項に記載のシステム。
【請求項32】
前記仮想視点情報に基づき、前記三次元形状データの要素の色を決定するために使用される前記色情報と前記色補正情報の重みづけが変えられる
ことを特徴とする請求項31に記載のシステム。
【請求項33】
前記仮想視点が前記色情報および前記色補正情報それぞれの生成対象の撮像装置と前記三次元形状データの要素とで囲まれる領域にある場合、前記仮想視点および前記三次元形状データの要素を結ぶ線と、前記色情報および前記色補正情報それぞれの生成対象の撮像装置の撮像方向とでなす角度の大きさに応じて、前記三次元形状データの要素の色を決定するために使用される前記色情報と前記色補正情報の重みづけが設定される、ことを特徴とする請求項32に記載のシステム。
【請求項34】
前記仮想視点が前記色情報および前記色補正情報のそれぞれの生成対象の撮像装置と前記三次元形状データの要素とで囲まれる領域の外側の領域にある場合、前記仮想視点に近い前記色補正情報の生成対象である撮像装置に対応する前記色補正情報を用いて、前記三次元形状データの要素の色が決定される
ことを特徴とする請求項32に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の視点から撮像した画像に基づき、仮想視点からの画像を生成する技術に関する。
【背景技術】
【0002】
昨今、複数のカメラを異なる位置に設置して複数視点で同期撮像を行い、当該撮像により得られた複数の画像を用いて仮想視点コンテンツを生成する技術が注目されている。この複数の画像から仮想視点コンテンツを生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが可能になるため、ユーザにより高い臨場感を与えることができる。
【0003】
仮想視点画像の生成及び閲覧には、複数のカメラが撮像した画像データのサーバなどへの集約、当該サーバなどにおける三次元モデルの生成やレンダリングなどの画像処理が必要となり得る。特許文献1には、実空間を分割した局所領域それぞれに応じてカメラパラメータおよび画像などを調整することによって、複数台のカメラの画像から、現実に近い実空間上の任意の視点の画像を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の特許文献1の技術では、複数台のカメラの画像を用いて仮想視点画像を生成するため、仮想視点画像の生成に要する画像のデータ量が非常に多くなってしまうという課題がある。
【0006】
そこで、本発明は、データ量を削減しながらも、仮想視点画像を得ることができるようにすることを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明の一態様に係るデータ生成装置は、複数の撮像装置で撮像されることにより取得される複数の画像に基づき、オブジェクトの形状を示す三次元形状データを生成する第1の生成手段と、前記複数の画像に基づいて、前記第1の生成手段により生成された前記三次元形状データの要素の色を示す色情報を生成する第2の生成手段と、前記複数の画像に基づいて、前記第1の生成手段により生成された前記三次元形状データの要素の色を仮想視点に応じて補正するための色補正情報を生成する第3の生成手段と、前記第1の生成手段により生成された前記三次元形状データと前記第2の生成手段により生成された前記色情報と、前記第3の生成手段により生成された色補正情報を関連付けて記憶手段に記憶させる記憶制御手段と、を有する、ことを特徴とする。
【発明の効果】
【0008】
本発明によれば、データ量を削減しながらも、仮想視点画像を得ることができるようになる。
【図面の簡単な説明】
【0009】
【
図3】オブジェクト三次元モデルのデータ例を示す図である。
【
図4】フロントエンドサーバの機能構成例を示すブロック図である。
【
図5】オブジェクト三次元モデルの色情報のデータ例を示す図である。
【
図6】オブジェクト三次元モデルの点と、カメラおよび色情報との対応例を示す図である。
【
図7】データ取得手順例を示すフローチャートである。
【
図8】色情報生成手順例を示すフローチャートである。
【
図9】カメラ選択方法および色情報生成方法を説明するための図である。
【
図10】バックエンドサーバの機能構成例を示すブロック図である。
【
図11】仮想視点画像生成手順例を示すフローチャートである。
【
図12】フロントエンドサーバの機能構成例を示すブロック図である。
【
図13】データ取得手順例を示すフローチャートである。
【
図14】色補正情報生成手順例を示すフローチャートである。
【
図15】カメラ選択方法および色補正情報生成方法を説明する図である。
【
図16】オブジェクト三次元モデルの色補正情報のデータ例を示す図である。
【
図17】バックエンドサーバの機能構成例を示すブロック図である。
【
図18】色補正処理方法を説明するための図である。
【
図19】仮想視点画像生成手順例を示すフローチャートである。
【
図20】フロントエンドサーバの機能構成例を示すブロック図である。
【
図21】フロントエンドサーバのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、実施形態で説明されている構成要素の組み合わせのすべてが、課題を解決するための手段に必須のものとは限らず、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
【0011】
本明細書において符号の末尾のアルファベットは、同種の構成において個々の構成を識別するために用いている。末尾のアルファベットを省略して記載する場合、個々の構成を特に区別せずに記載しているものとする。
【0012】
[実施形態1]
<システム構成>
図1は、本実施形態に係る画像処理システムの構成例を示す図である。本実施形態の画像処理システム100は、例えば競技場(スタジアム)やコンサートホールなどの施設に、複数のカメラ及びマイクを設置し、撮像及び集音を行う形態のものである。画像処理システム100は、センサシステム110a-110z、画像コンピューティングサーバ200、コントローラ300、スイッチングハブ180、及びエンドユーザ端末190を有する。
【0013】
コントローラ300は、制御ステーション310と仮想カメラ操作UI(User Interface)330を有する。制御ステーション310は、画像処理システム100を構成するそれぞれのブロック(サーバまたは装置など)に対してネットワーク310a,310b,310c,180a,180b、及びデイジーチェーン170a-170yを通じた制御が可能である。例えば、制御ステーション310は、各ブロックの動作状態の管理及びパラメータ設定制御などを行う。上記のネットワークは、Ethernet(登録商標)であるIEEE標準準拠のGbE(ギガビットイーサーネット)や10GbEでもよいし、インターコネクトInfiniband、産業用イーサーネット等を組み合わせて構成されてもよい。また、これらに限定されず、他の種別のネットワークであってもよい。
【0014】
センサシステム110a-110zは、26セットの画像及び音声をセンサシステム110zから画像コンピューティングサーバ200へ送信する。本実施形態の画像処理システム100では、センサシステム110a-110zが、デイジーチェーンにより接続される。このため、各センサシステムで得られた画像及び音声は、チェーン接続されている下流側のセンサシステムに順次伝送される。そして、最下流のセンサシステム110zから、26セット分の画像及び音声が、ネットワーク180b及びスイッチングハブ180を介して画像コンピューティングサーバ200へ伝送される。デイジーチェーン接続の構成を採用することで、接続ケーブル数の削減や配線作業負担の軽減ができる。なお、各センサシステム110がスイッチングハブ180に接続されて、スイッチングハブ180を経由してセンサシステム110間のデータ送受信を行うスター型のネットワーク構成としてもよい。
図1においては、センサシステムの台数として26セットを例に挙げて説明しているが、あくまでも一例であり、台数をこれに限定するものではない。
【0015】
本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム100は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム100により提供される仮想視点コンテンツには、仮想視点画像と仮想聴取点音響が含まれる例を中心に説明するが、これに限定されない。例えば、仮想視点コンテンツに音声が含まれていなくても良い。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点の位置に最も近いマイクにより集音された音声であっても良いし、複数のマイクで集音された音声から作成されても良い。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
【0016】
センサシステム110は、マイク111、カメラ112、雲台113、外部センサ114、及びカメラアダプタ120を有する。センサシステム110は、それぞれ1台ずつのカメラ112を有する。このように画像処理システム100は、オブジェクトを複数の方向から撮像するための複数のカメラ112を有する。なお、カメラ112とカメラアダプタ120が一体となって構成されていてもよい。さらに、カメラアダプタ120の機能の少なくとも一部をフロントエンドサーバ230が有していてもよい。外部センサ114として、例えばジャイロセンサが利用される場合は、振動を表す情報を取得することができる。
【0017】
ここで、カメラアダプタ120の動作について説明する。カメラアダプタ120は、カメラ112が撮像した撮像画像を前景画像と背景画像に分離する機能を有する。例えば、カメラアダプタ120は、カメラ112が撮像した撮像画像(以下、画像と記載することもある。)から、選手などの動作する物体(動体)を抽出した前景画像と、芝生などの静止又は静止に近い状態が継続する物体の背景画像とに分離する。ここでは、選手などの人物をオブジェクト(前景)とする。なお、オブジェクト(前景)は、ボールであってもよい。そして、カメラアダプタ120は、分離された前景画像と背景画像とを、チェーン接続されている下流側の別のカメラアダプタ120に出力する。なお、前景画像と背景画像の分離方法は背景差分法に限定されるものではなく、公知の方法を適用可能である。なお、静止物体は、静止または、ほとんど静止している状態が継続している物体を指す。
【0018】
カメラアダプタ120a-120zのそれぞれで生成された、オブジェクトを含む前景画像および背景画像が下流側のカメラアダプタに順次伝送され、最下流のカメラアダプタ120zから画像コンピューティングサーバ200に出力される。これにより、画像コンピューティングサーバ200には、各カメラ112の撮像画像から生成された前景画像と背景画像とが集約される。
【0019】
次に、画像コンピューティングサーバ200の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ200は、センサシステム110zから取得したデータの処理を行う。画像コンピューティングサーバ200は、フロントエンドサーバ230、データベース250(以下、DBと記載することもある。)、バックエンドサーバ270、及びタイムサーバ290を有する。
【0020】
タイムサーバ290は、時刻及び同期信号を配信する機能を有し、スイッチングハブ180を介してセンサシステム110a-110zに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ120a-120zは、カメラ112a-112zを、時刻と同期信号に基づき外部同期させ、画像(フレーム)の同期を行う。すなわち、タイムサーバ290は、複数のカメラ112の撮像タイミングを同期させる。これにより、画像処理システム100は、同じタイミングで撮像された複数の画像に基づいて仮想視点画像を生成できるので、撮像タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、本実施形態ではタイムサーバ290が、複数のカメラ112の時刻同期を管理するものとするが、これに限らず、時刻同期のための処理を各カメラ112又は各カメラアダプタ120が独立して行ってもよい。
【0021】
フロントエンドサーバ230は、センサシステム110zから、各カメラ112の撮像画像から生成された前景画像および背景画像を取得する。そして、フロントエンドサーバ230は、該取得した前景画像および背景画像を用いて、オブジェクトの三次元形状を表す三次元モデル(三次元形状データ)を生成する。三次元モデルを生成する手法として、例えばVisual Hullと呼ばれる方式などが挙げられる。Visual Hull方式では、三次元モデルが存在する三次元空間を小さな立方体に区切る。そして、該立方体を各カメラの前景画像のシルエットに投影し、立方体がシルエット領域内におさまらないカメラが1台でもあった場合、立方体を削っていき、残った立方体を三次元モデルとして生成する手法である。
【0022】
なお、三次元モデルを生成する手法は、Visual Hull方式に限定されるものではなく、他の手法でも良い。本実施形態では、三次元モデルは、撮像対象となる空間を一意に示す世界座標空間における三次元空間のx、y、zの位置情報を持った点群で表現されるものとする。三次元モデルは、点群で表現されるものに限定されず、他のデータ形式で表現されても良く、例えば、三角形や四角形などの単純な凸多角形(ポリゴンと呼ばれる)の面で構成されるポリゴンメッシュモデルやボクセルなどで表現されても良い。フロントエンドサーバ230は、各カメラ112の撮像画像から生成された前景画像および背景画像と、上記生成したオブジェクト三次元モデルとをDB250に格納する。また三次元モデルの形状の外郭を示す情報も併せて格納するものとする。説明を簡易にするため、外郭情報は、三次元モデルの形状の外側を囲む直方体で表す情報として説明する。なお、外郭情報は、この形状に限定されるものではなく、三次元モデルの形状の外側を囲む形状であれば良い。
【0023】
すなわち、フロントエンドサーバ230は、詳細につき後述する仮想視点画像を生成するための素材データを生成し、生成した素材データをDB250に格納するデータ生成装置としての機能を有する。さらに、フロントエンドサーバ230は、詳細につき後述する、カメラで撮像した画像よりオブジェクト三次元モデルの各要素の色情報を生成し、生成した色情報をDB250に格納する機能も有する。
【0024】
バックエンドサーバ270は、仮想カメラ操作UI330から仮想視点の指定を受け付け、受け付けた視点に基づいて、DB250から対応する画像データ及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。すなわち、バックエンドサーバ270は、複数のカメラ112で撮像された撮像画像(複数視点画像)と視点情報とに基づき仮想視点画像を生成する仮想視点画像生成装置としての機能を有する。そしてバックエンドサーバ270は、生成した仮想視点画像をエンドユーザ端末190に提供する。本実施形態における仮想視点画像は、仮想的な視点からオブジェクトを撮像した場合に得られる仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点における位置及び方向で撮像したと仮定した場合の画像であるとも言える。仮想的な視点(仮想視点)は、ユーザにより指定されても良いし、画像解析の結果等に基づいて自動的に指定されても良い。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像(仮想視点画像)が含まれる。
【0025】
なお、画像コンピューティングサーバ200の構成はこれに限定されない。例えば、フロントエンドサーバ230、DB250、及びバックエンドサーバ270のうち少なくとも2つが一体となって構成されていてもよい。また、フロントエンドサーバ230、DB250、及びバックエンドサーバ270の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ200内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ200の機能の少なくとも一部をエンドユーザ端末190や仮想カメラ操作UI330が有していてもよい。
【0026】
バックエンドサーバ270によって生成された仮想視点画像は、バックエンドサーバ270からエンドユーザ端末190に送信される。そのため、エンドユーザ端末190を操作するユーザは、指定した視点に応じた画像閲覧及び音声視聴を行うことができる。補足として、本実施形態では、仮想視点コンテンツに音声データ(オーディオデータ)が含まれる例を中心に説明するが、必ずしも音声データが含まれていなくてもよい。さらに、バックエンドサーバ270は、仮想視点画像をH.264やHEVCに代表される標準技術により圧縮符号化した上で、MPEG-DASHプロトコルを使ってエンドユーザ端末190に送信してもよい。また、仮想視点画像を、非圧縮でエンドユーザ端末190に送信してもよい。なお、この場合、圧縮符号化を行う前者はエンドユーザ端末190としてスマートフォンやタブレットを想定しており、後者は非圧縮画像を表示可能なディスプレイを想定している。すなわち、エンドユーザ端末190の種別に応じて画像フォーマットを切り替えることができる。その他、画像の送信プロトコルは、MPEG-DASHに限らず、例えば、HLS(HTTP Live Streaming)やそれ以外の送信方法を用いることもできる。
【0027】
制御ステーション310は、仮想視点画像を生成する対象のスタジアムを三次元モデルで表現したスタジアム三次元モデルを予め設定しDB250に格納している。さらに、制御ステーション310はカメラ設置時に、キャリブレーションを実施する。具体的には、撮像対象のフィールド上にマーカーを設置し、各カメラ112の撮像画像により、各カメラの世界座標における位置と向き、および焦点距離を導出する。該導出された各カメラの位置、向き、焦点距離の情報をカメラの情報(カメラパラメータ)としてDB250に格納する。DB250に格納されたスタジアム三次元モデルおよび各カメラの情報は、バックエンドサーバ270によって読み出され、該バックエンドサーバ270で仮想視点画像を生成する際に用いられる。また各カメラの情報は、フロントエンドサーバ230によって読み出され、該フロントエンドサーバ230でオブジェクト三次元モデルを生成する際に使用される。
【0028】
なお、本実施形態における画像処理システム100は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。
【0029】
次に、フロントエンドサーバ230の詳細な構成および動作について、説明する。フロントエンドサーバ230は、前景画像、背景画像およびオブジェクト三次元モデルなどの仮想視点画像を生成するための素材データを生成してDB250に格納するデータ生成装置としての機能を有しており、その詳細について、説明する。
【0030】
まず、カメラの撮像対象の空間を表現する世界座標空間と、カメラ、および該カメラの撮像対象のオブジェクト三次元モデルとの関係について、
図2および
図3を参照して説明する。
【0031】
図2は、世界座標空間の一例を示す図である。世界座標空間は、例えば撮像対象を三次元空間で表現したものである。
図3は、オブジェクト三次元モデルのデータ例を示す図である。ここでいう、オブジェクト三次元モデルは、オブジェクトの三次元形状を示すデータである。
図2では、スタジアム21中央のサッカーフィールド22を対象に世界座標空間が設定されるとする。本実施形態では、世界座標空間を、センターサークル23の中心を原点とし、サッカーフィールド22の長辺方向(
図2にて左右方向)および短辺方向のそれぞれに沿う方向をx軸およびy軸とし、上下方向(高さ方向)をz軸とした空間とする。なお、本実施形態ではサッカーフィールドを対象としたが、対象は何れでも良く、特に対象を限定するものではない。
【0032】
カメラが
図2では不図示であるが、各カメラに関し、世界座標空間におけるカメラの座標位置と、カメラの回転角度(左右、上下)、および焦点距離と画像中心を表現するカメラパラメータが設定されるとする。
【0033】
オブジェクト三次元モデルは、
図3に示すように、モデルが存在する世界座標空間における、x、y、z座標値を持った点の集合体(以下、点群)で表現される。ここでは座標はmm単位の数値で表現されるものとするが、座標はこの単位の数値で表現されるものに限定されない。
【0034】
<フロントエンドサーバ230の構成>
図4は、フロントエンドサーバ230の機能構成例を示すブロック図である。
【0035】
画像入力部231は、スイッチングハブ180を介して、センサシステム110から、各カメラの撮像画像から生成された前景画像と背景画像とを受信する。画像入力部231は、受信した背景画像をデータ書き込み部234に出力する一方、受信した前景画像についてはモデル生成部232と色情報生成部233のそれぞれに出力する。
【0036】
モデル生成部232は、画像入力部231から入力された前景画像と予め設定されたカメラパラメータとに基づいて、オブジェクト三次元モデルを生成する。モデル生成部232は、生成したオブジェクト三次元モデルを、色情報生成部233とデータ書き込み部234のそれぞれに出力する。
【0037】
色情報生成部233は、オブジェクト三次元モデルと前景画像とに基づいて、オブジェクト三次元モデルの点(点座標)毎に色を決定し、オブジェクト三次元モデルの色情報を生成する。オブジェクト三次元モデルの色情報は、オブジェクト三次元モデルの各点と色情報とが関連付けられた情報であって、例えば、
図5に示すように、オブジェクト三次元モデルの各点座標IDとRGB値とが関連付けられた情報である。点座標IDは1フレームにおいて、オブジェクト三次元モデルの各点について独立に定まるIDである。例えば1フレーム内で存在する、オブジェクト三次元モデルの点には、0から昇順でIDが付与される。また、各点座標IDにて示されるカメラIDは、その点の色情報を生成するために使用した画像を撮像したカメラのIDを示している。各カメラのIDは、システムにて独立に付与された番号である。ここでは、オブジェクト三次元モデルの色情報をRGB値としたが、色や輝度を表現可能であれば何れの形式でも良く、例えば輝度色差を表すYCbCrの形式であっても良い。
【0038】
オブジェクト三次元モデルの点と、カメラおよび色情報との対応について、
図6を参照して説明する。
図6はカメラ112a-112pと球体のオブジェクト400が配置されたスタジアムを真上からみた図であり、オブジェクト三次元モデルの点と、カメラおよび色情報との対応例を示す図である。なお、カメラ112a-112pは、オブジェクト400の周りにて、オブジェクト400側を向き、異なる視点をもつように配置され、それぞれにカメラIDが付与される。
【0039】
オブジェクト400を形成する点のうち点4000に注目し、点4000の色情報の生成に使用された画像は、カメラ112hの画像であるとする。この場合、色情報はカメラ112hの画像420から、点4000に対応するピクセル421のRGB値により生成される。すなわち、色情報はカメラ112hの画像420に点4000が投影されて対応するピクセル421が特定され該ピクセル421のRGB値により生成される。同様に、点4001の色情報の生成に使用された画像は、カメラ112iの画像であるとすると、色情報はカメラ112iの画像430から、点4001に対応するピクセル431のRGB値により生成される。
【0040】
カメラ選択方法および色情報生成方法などの、オブジェクト三次元モデルの色情報の生成方法の詳細については後述する。
【0041】
図4に戻る。データ書き込み部234は、前記各部から入力された、背景画像と、オブジェクト三次元モデルと、オブジェクト三次元モデルの色情報とをカメラ単位、フレーム単位でDB250に書き込む。
【0042】
(データ取得手順例)
次に、フロントエンドサーバ230で行われる、仮想視点画像を生成するための素材データの取得手順例について、
図7を参照して説明する。
【0043】
図7は、データ取得手順例を示すフローチャートである。具体的には、フロントエンドサーバ230がセンサシステム110からデータを受信し、各種データを書き込むまでの手順を示したフローチャートである。以降、フローチャートに従い、処理のフローを説明する。なお、以下のフローの説明において、記号「S」はステップを表す。フロントエンドサーバ230は、例えば、DB250などからカメラパラメータを予め取得しているものとする。
【0044】
S701では、画像入力部231は、センサシステム110からスイッチングハブ180を介して前景画像と背景画像を受信する。画像入力部231は、受信した背景画像をデータ書き込み部234に出力し、受信した前景画像をモデル生成部232と色情報生成部233に出力する。
【0045】
S702では、モデル生成部232は、画像入力部231から入力された前景画像と予め設定されたカメラパラメータとに基づいて、Visual Hull方式等を用いてオブジェクト三次元モデルを生成する。そして、モデル生成部232は、生成したオブジェクト三次元モデルを色情報生成部233とデータ書き込み部234に出力する。
【0046】
S703では、色情報生成部233は、入力されたオブジェクト三次元モデルおよび前景画像と予め設定されたカメラパラメータに基づいて、オブジェクト三次元モデルの色情報を生成する。そして、色情報生成部233は、オブジェクト三次元モデルの色情報をデータ書き込み部234に出力する。オブジェクト三次元モデルの色情報生成手順例の詳細については後述する。
【0047】
S704では、データ書き込み部234は、入力された、オブジェクト三次元モデルとオブジェクト三次元モデルの色情報と背景画像をDB250に書き込む。
【0048】
以上が、フロントエンドサーバ230における、仮想視点画像を生成するための素材データの取得のフローである。
【0049】
(S703の詳細)
次に、S703の詳細である、色情報生成部233で実行される色情報生成手順例について、
図8を参照して説明する。
【0050】
図8は、色情報生成手順例を示すフローチャートである。以降、フローチャートに従い、処理のフローを説明する。
【0051】
S801では、色情報生成部233は、予め設定されたカメラパラメータとオブジェクト三次元モデルの点座標とに基づく幾何計算により、カメラで撮像された画像にて、点座標と対応するピクセルを導出する。具体的には、色情報生成部233は、オブジェクト三次元モデルの各点を、カメラで撮像された画像上に投影し、該各点と対応するピクセルの座標を導出する。すなわち、S801では、カメラの画像から、オブジェクト三次元モデルの点座標と対応するピクセルが抽出される。
【0052】
S802では、色情報生成部233は、カメラパラメータとオブジェクト三次元モデルの点座標に基づいて、オブジェクト三次元モデルの点とカメラとの距離を導出する。
【0053】
S803では、色情報生成部233は、S801で導出した、各カメラの画像のピクセル毎に、S802で導出した距離に基づいて、最も近くにある、オブジェクト三次元モデルの点を導出する。そして、色情報生成部233は、最も近くにある点に、該ピクセルのオブジェクト三次元モデルの色情報を生成するための対応ピクセルとして登録する。すなわち、オブジェクト三次元モデルのすべての点について、オブジェクト三次元モデルの色情報となり得るピクセルを、各カメラの画像から抽出して、対応ピクセルとして登録する。
【0054】
以降、S804~S809において、オブジェクト三次元モデルのすべての点について、点毎に色情報を生成する処理を実行する。すなわち、S804において、オブジェクト三次元モデルのすべての点に対してループ処理が開始される。
【0055】
S805では、S803で登録された対応ピクセルについて、対応ピクセルが存在する画像を撮像したカメラが2台以上あるかを判定する。すなわち、S803で登録された対応ピクセルについて、対応ピクセルが2台以上のカメラの画像に存在するかを判定する。
【0056】
オブジェクト三次元モデルの点について登録された対応ピクセルが、1台のカメラの画像に存在する場合(S805:NO)、そのカメラの画像に存在する対応ピクセルの画素値から色情報を生成する(S806)。そのカメラの画像に存在する対応ピクセルが1つだけの場合は、その対応ピクセルの画素値を色情報として生成し、そのカメラの画像に存在する対応ピクセルが複数の場合には、複数の対応ピクセルの画素値の平均値を色情報として生成する。
【0057】
他方、オブジェクト三次元モデルの点について登録された対応ピクセルが、2台以上(複数台)のカメラの画像に存在する場合には(S805:YES)、色情報を生成するための対象のカメラを1台選択する(S807)。なお、カメラ選択方法は、後述する。そして、選択したカメラの画像に存在する対応ピクセルの画素値に基づき、色情報を生成する(S808)。その後、S809に進み、すべての点に対する処理が終了した場合、S804からS809のループ処理を終了し、色情報生成処理が終了することとなる。なお、S806,S808にて生成した色情報は、上述のS704にて点と関連付けて記録される。
【0058】
ここで、カメラ選択方法および色情報生成方法について、
図9を参照して説明する。
【0059】
図9は、オブジェクト(オブジェクト三次元モデル)の周囲に16台のカメラが配置されたスタジアムを真上から俯瞰した図である。オブジェクト400を形成する点のうち、点4000について、色情報生成処理を行う場合について、具体的に説明する。S801~S803の処理を行い、オブジェクト400の点4000について、対応ピクセルが存在する画像を撮像したカメラは黒く塗られたカメラ、カメラ112f~カメラ112jの5台であったとする。
【0060】
まず、対応ピクセルのある画像を撮像したカメラのうち、最も外側にある2台のカメラが選択される。ここで最も外側にある2台のカメラとは、撮像対象の点4000を中心とし複数のカメラが隣接する方向を周方向とした場合に、該周方向で両端にあるカメラを示している。
図9の例では、カメラ112fとカメラ112jが最も外側にある2台のカメラに該当することになる。
【0061】
次に、カメラ112fおよび点4000を結ぶ線分とカメラ112jおよび点4000を結ぶ線分の成す角θの二等分線が設定され、該二等分線が通る位置に最も近いカメラが、色情報を生成するカメラとして選択される。すなわち、オブジェクトの要素と正対するカメラが、色情報の生成対象のカメラとして選択される。
図9の例では、カメラ112hが選択されることになる。また、対応ピクセルのある画像を撮像したカメラが2台以上である場合は、予め決められた優先順位に従い、例えば、カメラ112a~112pの順に優先順位が高いと、優先順位の最も高いカメラが選択されることになる。
【0062】
カメラの画像に存在する対応ピクセルが1つだけの場合は、該対応ピクセルの画素値を色情報として生成し、対応ピクセルが複数の場合は該複数の対応ピクセルの画素値の平均値を色情報として生成する(S808)。ここでは、点4000をカメラ112hの画像420に投影したときに対応するピクセル421のRGB値が色情報として生成される。
【0063】
このようにして選択されたピクセルの値が点に関連付けて記録されることになる。
【0064】
ここでは、一例として上記色情報生成方法について説明したが、他の手法が用いられても良く、上記色情報生成方法に限定されるものではない。例えば、複数のカメラを選択して平均値を色情報としたり、または複数の対応ピクセルがある場合に、大きく値の異なるピクセルの画素値を除外した残りの平均値を色情報としたりしても良い。
【0065】
以上、オブジェクト三次元モデルおよびその色情報をDB250に格納する方法について述べた。
【0066】
以降、格納されたオブジェクト三次元モデルおよびその色情報を読み出して、仮想視点画像を生成する方法について述べる。すなわち、バックエンドサーバ270の詳細な構成および動作について、説明する。
【0067】
<バックエンドサーバ270の構成>
図10は、バックエンドサーバ270の機能構成例を示すブロック図である。
【0068】
視点入力部271は、エンドユーザ端末190や仮想カメラ操作UI330などを介して不図示のユーザによる仮想視点情報の入力を受け付け、仮想視点情報をデータ取得部272と仮想視点画像生成部274に出力する。仮想視点情報は、実際にはカメラが存在せず仮想視点に配置されると仮定した仮想カメラで仮想視点画像を撮像する時刻、仮想視点(仮想カメラ)の位置、仮想カメラの姿勢、仮想カメラの向き、仮想カメラの画角、焦点距離などを含む情報である。
【0069】
データ取得部272は、入力された仮想視点情報に基づいて、DB250から、カメラが実際には存在しない仮想視点の仮想カメラから見えると推測されたオブジェクトに関するオブジェクト三次元モデルとその色情報を取得する。すなわち、データ取得部272は、仮想視点に配置された仮想カメラの画角内に存在すると推測されるオブジェクトに関するオブジェクト三次元モデルとその色情報を取得する。データ取得部272は、取得したこれらデータ、すなわち、オブジェクト三次元モデルおよびその色情報を色付け部273に出力する。また、データ取得部272は、DB250から背景画像を取得し、取得した背景画像を仮想視点画像生成部274に出力する。
【0070】
色付け部273は、オブジェクト三次元モデルの点に対応するオブジェクト三次元モデルの色情報に基づく色を当該点に付与し、色付きオブジェクト三次元モデルを生成する。色付け部273は、生成した色付きオブジェクト三次元モデルを仮想視点画像生成部274に出力する。
【0071】
仮想視点画像生成部274は、入力された仮想視点情報、色付きオブジェクト三次元モデル、および背景画像に基づき、仮想視点の仮想カメラから見た前景画像および背景画像を生成し、それらを合成して仮想視点画像を生成する。仮想視点画像生成部274は、生成した仮想視点画像をエンドユーザ端末190に送信する。
【0072】
(仮想視点画像生成手順例)
次に、バックエンドサーバ270で行われる仮想視点画像生成手順例について、
図11を参照して説明する。
【0073】
図11は、仮想視点画像生成手順例を示すフローチャートである。以降、フローチャートに従い、処理のフローを説明する。
【0074】
S1101では、視点入力部271は、エンドユーザ端末190などを介して不図示のユーザによる仮想視点情報の入力を受け付ける。そして、視点入力部271は、受け付けた仮想視点情報をデータ取得部272と仮想視点画像生成部274とに出力する。
【0075】
S1102では、データ取得部272は、前記入力された仮想視点情報に基づいて、DB250から、オブジェクト三次元モデルとその色情報を取得し、色付け部273に出力する。また、データ取得部272は、前記入力された仮想視点情報に基づいて、DB250から、背景画像を取得し、仮想視点画像生成部274に出力する。具体的には、データ取得部272は、仮想視点情報で指定された時刻に基づき、その時刻の撮像画像に対応する前景画像から生成されたオブジェクト三次元モデルとその色情報を取得し、出力する。また、データ取得部272は、仮想視点情報で指定された時刻に基づき、その時刻の撮像画像に対応する背景画像を取得し、出力する。
【0076】
S1103では、色付け部273は、前記入力されたオブジェクト三次元モデルとその色情報に基づいて、オブジェクト三次元モデルの各点に対応ピクセルの色(画素値)を付与し、色付きオブジェクト三次元モデルを生成する。さらに、色付け部273は、色付きオブジェクト三次元モデルを仮想視点画像生成部274に出力する。
【0077】
S1104では、仮想視点画像生成部274は、各ブロックから入力された、仮想視点情報、背景画像、および色付きオブジェクト三次元モデルに基づき、仮想視点画像を生成する。具体的には、仮想視点画像生成部274は、データ取得部272から入力された背景画像および、予め設定されたスタジアム三次元モデルに基づいて、仮想視点に配置されると仮定した仮想カメラで撮像した場合の背景画像を生成する。スタジアム三次元モデルは、世界座標空間における座標位置をもったメッシュモデルとする。予め設定された各カメラのカメラパラメータとスタジアム三次元モデルに基づいて、三次元座標変換により、各メッシュに合わせたテクスチャ画像を背景画像から生成し、貼りつけることで色付きスタジアム三次元モデルを生成する。さらに、仮想視点のカメラ位置、向きなどの情報に基づき、世界座標空間上に存在するスタジアム三次元モデルを仮想視点のカメラの画像座標に射影し、背景画像を生成する。
【0078】
また、仮想視点画像生成部274は、色付け部273から入力された色付きオブジェクト三次元モデルに基づいて、仮想視点の位置に配置されると仮定した仮想カメラで撮像した場合の前景画像を生成する。具体的には、仮想視点画像生成部274は、仮想視点のカメラ位置、向きなどの情報に基づき、世界座標空間上に存在する色付きオブジェクト三次元モデルの色をもった点を、仮想視点のカメラの画像座標に射影し、前景画像を生成する。
【0079】
仮想視点画像生成部274は、生成した背景画像と前景画像を合成し、仮想視点画像を生成する。そして、仮想視点画像生成部274は、生成された仮想視点画像をエンドユーザ端末190に送信する。
【0080】
オブジェクト三次元モデルの点群について色情報を生成する色情報生成部233を用いて説明したが、これに限定されるものではない。例えば、オブジェクト三次元モデルがメッシュモデルである場合には、オブジェクト三次元モデルの各メッシュについてメッシュの画素分の色をもつ色情報を生成する色情報生成部とすることも可能である。
【0081】
以上のことから、本実施形態によれば、前景画像をDBに格納しないが、オブジェクト三次元モデルの各要素の色情報をDBに格納する。格納したオブジェクト三次元モデルの色情報を用いて仮想視点画像を生成することができる。よって、データ量を削減しながらも、仮想視点画像を得ることができるようになる。
【0082】
例えば、カメラ台数を30台、画像サイズを3840×2160、画像フォーマットをRGB8bit、オブジェクト三次元モデルの点の数を1,000,000点、モデルの点座標を32bitで表現するとする。
【0083】
従来の手法では、前景画像のサイズは、1920×1080×3×8×30=1,492,992,000(bit)=186.624(MB)(メガバイト)となる。
【0084】
本実施形態によると、前景画像のかわりにオブジェクト三次元モデルの色情報を生成する。そのオブジェクト三次元モデルの色情報のサイズは、1,000,000×3×32=96,000,000(bit)=12(MB)となる。
【0085】
よって、本実施形態によれば、前記条件では、従来例と比べておよそ15分の1のデータサイズに低減することができる。
【0086】
[実施形態2]
本実施形態に係る画像処理システムについて、以下に説明する。
【0087】
本実施形態では、オブジェクト三次元モデルの色情報に加え、複数のカメラの画像に基づいて、色を補正するオブジェクト三次元モデルの色補正情報を生成し、生成した色補正情報をDBに格納し、仮想視点に応じて色を補正する方法について述べる。
【0088】
図12は、本実施形態におけるフロントエンドサーバ230の機能構成例を示すブロック図である。本実施形態では、実施形態1と同じブロックには同一符号を付与し、その説明を適宜省略する。
【0089】
画像入力部235は、実施形態1にて説明した画像入力部231の機能に加え、色補正情報生成部237に前景画像を出力する。
【0090】
モデル生成部236は、実施形態1にて説明したモデル生成部232の機能に加え、色補正情報生成部237にオブジェクト三次元モデルを出力する。
【0091】
色補正情報生成部237は、画像入力部235から入力された前景画像と、モデル生成部236から入力されたオブジェクト三次元モデルに基づき、オブジェクト三次元モデルの点毎に色補正情報を生成する。色補正情報の生成方法の詳細については後述する。色補正情報生成部237は、生成したオブジェクト三次元モデルの色補正情報をデータ書き込み部238に出力する。
【0092】
データ書き込み部238は、実施形態1にて説明したデータ書き込み部238の機能に加え、オブジェクト三次元モデルの色補正情報をDB250に書き込む。
【0093】
(データ取得手順例)
次に、本実施形態のフロントエンドサーバ230で行われる、仮想視点画像を生成するための素材データの取得手順例について、
図13を参照して説明する。
【0094】
図13は、データ取得
手順例を示すフローチャートである。具体的には、フロントエンドサーバ230がセンサシステム110からデータを受信し、各種データを書き込むまでの手順を示したフローチャートである。以降、フローチャートに従い、処理のフローを説明する。なお、フロントエンドサーバ230は、例えば、DB250などからカメラパラメータを予め取得しているものとする。
【0095】
S1301では、画像入力部235は、センサシステム110からスイッチングハブ180を介して前景画像と背景画像を受信する。画像入力部235は、受信した背景画像をデータ書き込み部238に出力する。また、画像入力部235は、受信した前景画像をモデル生成部236と色情報生成部233と色補正情報生成部237に出力する。
【0096】
S1302では、モデル生成部236は、画像入力部235から入力された前景画像と予め設定されたカメラパラメータとに基づいて、Visual Hull方式等を用いてオブジェクト三次元モデルを生成する。そして、モデル生成部236は、生成したオブジェクト三次元モデルを色情報生成部233と色補正情報生成部237とデータ書き込み部238に出力する。
【0097】
S703では、色情報生成部233は、実施形態1と同様の処理を行う。
【0098】
S1304では、色補正情報生成部237は、オブジェクト三次元モデルと複数のカメラの前景画像と予め設定されたカメラパラメータに基づいて、オブジェクト三次元モデルの点毎に色補正情報を生成する。色補正情報生成部237は、生成したオブジェクト三次元モデルの色補正情報をデータ書き込み部238に出力する。オブジェクト三次元モデルの色補正情報生成処理の詳細については後述する。
【0099】
S1305では、データ書き込み部238は、入力された、オブジェクト三次元モデルとその色情報とオブジェクト三次元モデルの色補正情報と背景画像をDB250に書き込む。
【0100】
以上が、フロントエンドサーバ230における、仮想視点画像を生成するための素材データの取得のフローである。
【0101】
(S1304の詳細)
次に、S1304の詳細である、色補正情報生成部237で実行される色補正情報生成手順例について、
図14を参照して説明する。
【0102】
図14は、色補正情報生成手順例を示すフローチャートである。以降、フローチャートに従い、処理のフローを説明する。なお、S1401~S1403は、実施形態1における色情報生成処理のS801~S803と同じ処理であるため、その説明を省略する。
【0103】
S1404~S1409において、オブジェクト三次元モデルのすべての点について、点毎に色補正情報を生成する処理を実行する。すなわち、S1404において、オブジェクト三次元モデルのすべての点に対してループ処理が開始される。
【0104】
S1405では、S1403で登録された対応ピクセルについて、対応ピクセルが存在する画像を撮像したカメラが2台以上あるかを判定する。すなわち、S1403で登録された対応ピクセルについて、対応ピクセルが2台以上のカメラの画像に存在するかを判定する。
【0105】
オブジェクト三次元モデルの色補正情報を生成する対象の点について登録された対応ピクセルが、1台のカメラの画像に存在する場合(S1405:NO)、オブジェクト三次元モデルの色補正情報の生成を行わない(S1406)。また、色補正情報が無いことを示す情報を付与しても良い。これは、色情報生成部233の処理において、そのカメラの画像に基づいて色情報が生成されており、その点についてはその色情報のみで色を決定すれば良く、オブジェクト三次元モデルの色補正情報が不要であるためである。
【0106】
他方、オブジェクト三次元モデルの色補正情報を生成する対象の点について登録された対応ピクセルが、2台以上(複数台)のカメラの画像に存在する場合には(S1405:YES)、色補正情報を生成するための対象のカメラを選択する(S1407)。
【0107】
ここで、カメラ選択方法および色補正情報生成方法について、
図15を参照して説明する。
【0108】
図15は、オブジェクト(オブジェクト三次元モデル)の周囲に16台のカメラが配置されたスタジアムを真上から俯瞰した図である。オブジェクト400を形成する点のうち、点4000について、色補正情報生成処理を行う場合について、具体的に説明する。S1400~S1403の処理を行い、オブジェクト400の点4000について、対応ピクセルが存在する画像を撮像したカメラは黒く塗られたカメラ、カメラ112f~カメラ112jの5台であったとする。
【0109】
色情報生成手順例の場合と同様、対応ピクセルのある画像を撮像したカメラのうち、最も外側にある2台のカメラが選択される。ここで最も外側とは、撮像対象の点4000を中心とし複数のカメラが隣接する方向を周方向とした場合に、該周方向で両端にあるカメラを示している。
図15の例では、カメラ112fとカメラ112jが最も外側にある2台のカメラに該当することになる。ここで、対応ピクセルのある画像を撮像したカメラが2台である場合は、その2つのカメラが選択されることになる。
【0110】
図14に戻る。S1408では、選択されたカメラの画像に存在する対応ピクセルに基づき、オブジェクト三次元モデルの色補正情報を生成する。カメラの画像に存在する対応ピクセルが1つだけの場合は、該対応ピクセルの画素値を色補正情報として生成し、対応ピクセルが複数の場合は複数の対応ピクセルの画素値の平均値を色補正情報として生成する。その後、S1409に進み、すべての3次元形状データの点に対する処理が終了した場合、S1404からS1409のループ処理を終了し、色補正情報生成処理が終了することとなる。なお、S1406,S1408にて生成した色補正情報は、上述のS1305にて点と関連付けて記録される。
【0111】
このようして選択した対応ピクセルの画素値(ピクセル値)であるRGB値と、その対応ピクセルが存在する画像を撮像したカメラのカメラIDとが関連付けられた色補正情報として記録されることとなる。ここで、オブジェクト三次元モデルの色補正情報は、オブジェクト三次元モデルの各点の色補正を示す情報であり、例えば、
図16に示すように、RGB値、カメラIDがオブジェクト三次元モデルの点と関連付けて記録される。また、各点座標IDは1フレームにおいて、各点について独立に定まるIDである。例えば1フレーム内で存在する点には、0から昇順でIDが付与される。また、各点座標IDにて示されるカメラIDは、その点の色補正情報を生成するために使用した画像を撮像したカメラのIDを示している。オブジェクト三次元モデルの色補正情報はその点の色補正に使用される色情報を示している。カメラIDとオブジェクト三次元モデルの色補正情報として、選択したカメラが2台の場合は2つ、1台の場合は1つの情報が記録される。
図15の例においては、点4000の1つ目の色補正情報である、オブジェクト三次元モデルの色補正情報1は、カメラ112fの画像440に存在する対応ピクセル441の画素値に基づいて生成される。2つ目の色補正情報であるオブジェクト三次元モデルの色補正情報2はカメラ112jの画像450に存在する対応ピクセル451の画素値に基づいて生成される。
【0112】
本実施形態では、一例として上記カメラ選択方法について説明したが、他の手法が用いられても良く、上記カメラ選択方法に限定されるものではない。例えば、カメラ位置情報に基づいてカメラのz座標の値に差のある2台を選択したりカメラの画像のピクセル値に応じて差の大きい2台を選択したりしても良い。
【0113】
また、カメラの選択台数を2台とした場合について説明したが、選択するカメラの台数は2台に限定されるものではなく、選択するカメラの台数を3台以上としても良い。また対応ピクセルを1つとした場合について説明したが、対応ピクセルを2つ以上としても良い。例えば、対応したピクセルの画素値をすべてオブジェクト三次元モデルの色補正情報として記録しても良い。ピクセルの値の差によって選択するカメラ台数を変更し、差が大きいほどカメラ台数を多くし、差が小さいほどカメラ台数を減らすというカメラ選択方法を用いても良い。
【0114】
またオブジェクト三次元モデルの色情報、オブジェクト三次元モデルの色補正情報の記録方法として、RGB値を記録する方法について説明したが、他の手法が用いられても良く、上記記録方法に限定されるものではない。例えば、オブジェクト三次元モデルの色情報としてY,Cb,Crを記録し、オブジェクト三次元モデルの色補正情報としてY,Cb,CrのうちY成分のみを記録し、太陽光による反射などの輝度変化のみを補正する方法としても良い。
【0115】
以上、オブジェクト三次元モデルおよびその色情報をDB250に格納する方法について述べた。
【0116】
以降、格納されたオブジェクト三次元モデルおよびその色情報、その色補正情報を読み出して、仮想視点画像を生成する方法について述べる。すなわち、バックエンドサーバ270の詳細な構成および動作について、説明する。
【0117】
<バックエンドサーバ270の構成>
図17は、バックエンドサーバ270の機能構成例を示すブロック図である。
【0118】
視点入力部275は、エンドユーザ端末190や仮想カメラ操作UI330などを介して不図示のユーザによる仮想視点情報の入力を受け付ける。視点入力部275は、受け付けた仮想視点情報をデータ取得部276および仮想視点画像生成部274と色補正部277とに出力する。
【0119】
データ取得部276は、入力された仮想視点情報に基づいて、DB250から、カメラが実際には存在しない仮想視点の仮想カメラから見えると推測されたオブジェクトに関するオブジェクト三次元モデルとその色情報および色補正情報を取得する。すなわち、データ取得部276は、仮想視点に配置された仮想カメラの画角内に存在すると推測されるオブジェクトに関するオブジェクト三次元モデルとその色情報および色補正情報を取得する。データ取得部276は、取得したこれらデータ、すなわち、オブジェクト三次元モデルとその色情報および色補正情報を色補正部277に出力する。また、データ取得部276は、DB250から背景画像を取得し、取得した背景画像を仮想視点画像生成部274に出力する。
【0120】
色補正部277は、オブジェクト三次元モデルとその色情報および色補正情報、仮想視点情報に基づき、オブジェクト三次元モデルの色情報を補正する。さらに、色補正部277は、補正後のオブジェクト三次元モデルの色情報を色付け部273に出力する。
【0121】
ここで、色補正部277による色補正処理について、
図18を参照して説明する。
【0122】
色補正部277は、オブジェクト三次元モデルの色情報、オブジェクト三次元モデルの色補正情報に関連付いたカメラIDおよび予め設定されたカメラパラメータに応じて、それぞれの情報を生成する対象となったカメラの位置を導出する。
【0123】
図18は、色補正処理方法を説明するための図である。具体的には、導出したカメラとオブジェクトの点4000の位置関係を示し、オブジェクト三次元モデルの色情報、オブジェクト三次元モデルの色補正情報を導出するために使用されたカメラの俯瞰図である。本来はz軸も加味するが、簡単のためx、y軸平面において説明する。
【0124】
ここでは、点4000に関し、色情報を補正する対象とした例について説明する。点4000における色情報の生成対象となった画像を撮像したカメラをカメラ(以下、色情報対象カメラともいう)510とする。また、点4000における色補正情報の生成対象となった画像を撮像したカメラをカメラ(以下、色補正情報対象カメラともいう)520、521とする。さらにユーザから指定された仮想視点と同様の位置を示す仮想カメラを仮想カメラ500、501とする。
【0125】
まず、仮想カメラ500が、色情報対象カメラ510と色補正情報対象カメラ520の間に位置付けられた場合について説明する。すなわち、色情報対象カメラ510と色補正情報対象カメラ520と点4000とで囲まれる領域内に仮想カメラ500が位置付けられた場合について説明する。
【0126】
仮想カメラ500および点4000を結ぶ法線と色情報対象カメラ510および点4000を結ぶ法線とのなす角を角θ1とし、仮想カメラ500および点4000を結ぶ法線と色補正情報対象カメラ520と点4000を結ぶ法線のなす角を角θ2とする。すなわち、仮想カメラ500およびオブジェクトの要素である点4000を結ぶ法線に対し、色情報対象カメラ510の撮像方向とのなす角を角θ1とし、色補正情報対象カメラ520の撮像方向とのなす角を角θ2とする。
【0127】
また、色情報をR1,G1,B1とし、対象となるカメラ520と関連付いた色補正情報をR2,G2,B2とする。この場合、補正後の色情報R1´、G1´、B1´は下記の演算式(1)~(3)により導出される。
【0128】
【0129】
【0130】
【0131】
すなわち、仮想カメラ500および点4000を結ぶ法線と色情報対象カメラ510および色補正情報対象カメラ520それぞれの撮像方向とでなす角度の大きさに応じて、前記色情報と前記色補正情報の重みづけが設定される。
【0132】
また、仮想カメラ501のように、色情報対象カメラ510からみて、色補正情報対象カメラ520、521より外側の角度に仮想カメラが位置付けられた場合、以下のように色情報が設定される。すなわち、色補正情報対象カメラ520と色補正情報対象カメラ521と点4000とで囲まれる領域の外側の領域に仮想カメラ501が位置付けられた場合、以下のように色情報が設定される。仮想カメラ501に最も近接する色補正情報対象カメラ520と関連付いた色補正情報を補正後の色情報とする。すなわち、R1´=R2、G1´=G2、B1´=B2となる。
【0133】
以上の補正処理をオブジェクト三次元モデルのすべての点について実行し、色情報を補正する。ここで、色補正情報がY成分のみである場合には、上述と同様に、Y成分のみを対象となるカメラのなす角に基づいて導出すれば良い。これは、見え方が物体の色(色差)は変わらず、光線の強さに依存することに基づいているためである。
【0134】
本実施形態では、色補正方法の一例として角度を用いる方法について説明したが、他の手法を用いても良く、上記色補正方法に限定されるものではない。例えば、点とカメラの距離などによる重みづけを行い、重みづけに応じた色補正を行う手法を用いても良い。
【0135】
(仮想視点画像生成手順例)
次に、バックエンドサーバ270で行われる仮想視点画像生成手順例について、
図19を参照して説明する。
【0136】
図19は、仮想視点画像生成手順例を示すフローチャートである。以降、フローチャートに従い、処理のフローを説明する。
【0137】
S1901では、視点入力部275は、エンドユーザ端末190などを介して不図示のユーザによる仮想視点情報の入力を受け付ける。そして、視点入力部275は、受け付けた仮想視点情報をデータ取得部276と仮想視点画像生成部274と色補正部277に出力する。
【0138】
S1902では、データ取得部276は、前記入力された仮想視点情報に基づいて、DB250から、オブジェクト三次元モデル、その色情報およびその色補正情報を取得し、色補正部277に出力する。また、データ取得部276は、前記入力された仮想視点情報に基づいて、DB250から、背景画像を取得し、仮想視点画像生成部274に出力する。具体的には、データ取得部276は、仮想視点情報で指定された時刻に基づき、その時刻の撮像画像に対応する前景画像から生成されたオブジェクト三次元モデル、その色情報および色補正情報を取得し、出力する。また、データ取得部276は、仮想視点情報で指定された時刻に基づき、その時刻の撮像画像に対応する背景画像を取得し、出力する。
【0139】
S1903では、色補正部277は、前記入力された仮想視点情報とオブジェクト三次元モデルの色情報、オブジェクト三次元モデルの色補正情報に基づいて、オブジェクト三次元モデルの色情報を補正する。そして、色補正部277は、オブジェクト三次元モデルと、オブジェクト三次元モデルの色補正情報を色付け部273に出力する。
【0140】
S1904では、色付け部273は、入力されたオブジェクト三次元モデルと、補正後のオブジェクト三次元モデルの色情報に基づいて、オブジェクト三次元モデルの各点に対応ピクセルの色(画素値)を付与し、色付きオブジェクト三次元モデルを生成する。さらに、色付け部273は、色付きオブジェクト三次元モデルを仮想視点画像生成部274に出力する。
【0141】
S1905では、仮想視点画像生成部274は、実施形態1と同様、各ブロックから入力された、仮想視点情報、背景画像、および色付きオブジェクト三次元モデルに基づき、仮想視点画像を生成する。
【0142】
以上のことから、本実施形態によれば、前景画像をDBに格納しないが、オブジェクト三次元モデルの各要素の色情報に加え、色補正情報を格納する。これにより、格納したオブジェクト三次元モデルの色情報およびその色補正情報を用いて仮想視点画像を生成することができる。その結果、画質劣化を抑えた上で、DBに格納するデータ量を削減しながらも、仮想視点画像を得ることができるようになる。
【0143】
例えば、カメラ台数を30台、画像サイズを3840×2160、画像フォーマットをRGB8bit、オブジェクト三次元モデルの点の数を1,000,000点、モデルの点座標を32bitで表現するとする。
【0144】
従来の手法では、前景画像のサイズは、1920×1080×3×8×30=1,492,992,000(bit)=186.624(MB)となる。
【0145】
本実施形態によると、前景画像のかわりにオブジェクト三次元モデルの色情報およびオブジェクト三次元モデルの色補正情報を生成する。そのオブジェクト三次元モデルの色情報のサイズは、1,000,000×3×32=96,000,000(bit)=12(MB)となる。
【0146】
オブジェクト三次元モデルの色補正情報のサイズは、1,000,000×3×32×2=192,000,000(bit)=24(MB)となる。
【0147】
前記オブジェクト三次元モデルの色情報とオブジェクト三次元モデルの色補正情報の合計は36(MB)となる。
【0148】
よって、本実施形態によれば、前記条件では、従来例と比べておよそ5分の1のデータサイズに低減することができる。
【0149】
[実施形態3]
本実施形態に係る画像処理システムについて、以下に説明する。
【0150】
ここまで、従来例としてカメラの撮像画像から分離した前景画像を格納する方法、実施形態1としてオブジェクト三次元モデルの色情報を格納する方法、実施形態2としてさらにオブジェクト三次元モデルの色補正情報を格納する方法を説明した。
【0151】
本実施形態では、データ量の大きさに応じて動的に上記格納方法を切り替える方法について述べる。これにより、DBへの書き込み帯域の制約に応じて、適切なデータサイズでデータを格納することが可能となる。
【0152】
まず、画質およびデータサイズの観点で上述の各方法を比較すると、従来例である、前景画像を格納する方法では、高画質であり、データサイズが大きくなる。これに対して、実施形態1である、オブジェクト三次元モデルの色情報のみを格納する方法では、画質が低いが、データサイズが小さくなる。実施形態2である、オブジェクト三次元モデルの色補正情報を格納する方法では、従来例および実施形態1の中間の画質およびデータサイズとなる。
【0153】
図20は、本実施形態におけるフロントエンドサーバ230の機能構成例を示すブロック図である。本実施形態では、実施形態1、2と同じブロックには同一符号を付与し、その説明を適宜省略する。
【0154】
画像入力部235とモデル生成部236と色情報生成部233と色補正情報生成部237の機能は、
図12に示されるフロントエンドサーバ230と同じであるため、その説明を省略する。これら機能ブロック235、236、233、237の出力先は、データ書き込み部から保存形式決定部239に変更される。
【0155】
保存形式決定部239は、予め設定された閾値(基準値)と前記入力されたデータのデータサイズを比較し、比較結果に応じて保存形式を決定し、決定した形式でデータをデータ書き込み部240に出力する。
【0156】
ここで、保存形式は、例えば、下記の3つの形式をとる。
(1)オブジェクト三次元モデル、背景画像、前景画像
(2)オブジェクト三次元モデル、背景画像、オブジェクト三次元モデルの色情報、オブジェクト三次元モデルの色補正情報
(3)オブジェクト三次元モデル、背景画像、オブジェクト三次元モデルの色情報
【0157】
例えば、予め設定された1フレーム分のデータとして書き込み可能なデータサイズが10MB(メガバイト)とする。この場合、優先順を(1)、(2)、(3)の順番で低くなるとし、かつ書き込み可能なデータサイズを超えない形式を選択するとする。データサイズは、オブジェクト三次元モデルが5MB、前景画像が10MB、背景画像が1MB、オブジェクト三次元モデルの色情報が1MB、オブジェクト三次元モデルの色補正情報が2MBであるとする。保存形式(1)では、オブジェクト三次元モデル、前景画像および背景画像を書き込むので、データサイズの合計が16MBとなり、閾値の10MBを超えることになる。保存形式(2)では、オブジェクト三次元モデル、背景画像、オブジェクト三次元モデルの色情報、オブジェクト三次元モデルの色補正情報を書き込むので、データサイズの合計は9MBとなり、閾値の10MBより小さい数値となる。したがって、(2)の保存形式が選択されることになる。保存形式決定部239は選択された保存形式にしたがって、入力されたデータから該当するデータを選択し、選択したデータをデータ書き込み部240に出力する。なお、保存形式(3)では、オブジェクト三次元モデル、背景画像、オブジェクト三次元モデルの色情報を書き込むので、データサイズの合計は7MBとなる。保存形式(3)は閾値を超えないデータサイズとなるが、保存形式(2)と比べて優先順が低いことから、保存形式(3)は選択されないこととなる。
【0158】
データ書き込み部240は、前記保存形式決定部239から入力されたデータをDB250に書き込む。すなわち、データ書き込み部240は、保存形式決定部239に入力されたデータのデータサイズが閾値を超えない場合、前景画像をDB250に書き込むが、閾値を超えた場合には、前景画像をDB250に書き込まない。
【0159】
以上のことから、本実施形態によれば、データの書き込み帯域を鑑みて、最適な形式でデータを書き込むことが可能であり、書き込み可能な最も高画質なデータを格納することができる。
【0160】
続いて、本実施形態を構成する各装置のハードウェア構成について、より詳細に説明する。上述の通り、本実施形態では、フロントエンドサーバ230がFPGA及び/又はASICなどのハードウェアを実装し、これらのハードウェアによって、上述した各処理を実行する場合の例を中心に説明した。それはセンサシステム110内の各種装置や、カメラアダプタ120、DB250、バックエンドサーバ270、タイムサーバ290、及びコントローラ300についても同様である。しかしながら、上記装置のうち、少なくとも何れかが、例えばCPU、GPU、DSPなどを用い、ソフトウェア処理によって本実施形態の処理を実行するようにしても良い。
【0161】
図21は、
図4に示した機能構成をソフトウェア処理によって実現するための、フロントエンドサーバ230のハードウェア構成例を示す図である。なお、カメラアダプタ120、DB250、バックエンドサーバ270、タイムサーバ290、制御ステーション310、仮想カメラ操作UI330、及びエンドユーザ端末190などの装置も、
図21のハードウェア構成となりうる。フロントエンドサーバ230は、CPU2301、ROM2302、RAM2303、補助記憶装置2304、表示部2305、操作部2306、通信部2307、及びバス2308を有する。
【0162】
CPU2301は、ROM2302やRAM2303に格納されているコンピュータプログラムやデータを用いてフロントエンドサーバ230の全体を制御する。ROM2302は、変更を必要としないプログラムやパラメータを格納する。RAM2303は、補助記憶装置2304から供給されるプログラムやデータ、及び通信部2307を介して外部から供給されるデータなどを一時記憶する。補助記憶装置2304は、例えばハードディスクドライブ等で構成され、静止画や動画などのコンテンツデータを記憶する。
【0163】
表示部2305は、例えば液晶ディスプレイ等で構成され、ユーザがフロントエンドサーバ230を操作するためのGUI(Graphical User Interface)などを表示する。操作部2306は、例えばキーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をCPU2301に入力する。通信部2307は、カメラアダプタ120やDB250などの外部の装置と通信を行う。例えば、フロントエンドサーバ230が外部の装置と有線で接続される場合には、LANケーブル等が通信部2307に接続される。なお、フロントエンドサーバ230が外部の装置と無線通信する機能を有する場合、通信部2307はアンテナを備える。バス2308は、フロントエンドサーバ230の各部を繋いで情報を伝達する。
【0164】
なお、例えばフロントエンドサーバ230の処理のうち一部をFPGAで行い、別の一部の処理を、CPUを用いたソフトウェア処理によって実現するようにしても良い。また、
図21に示したフロントエンドサーバ230の各構成要素は、単一の電子回路で構成されていてもよいし、複数の電子回路で構成されていてもよい。例えば、フロントエンドサーバ230は、CPU2301として動作する電子回路を複数備えていてもよい。これら複数の電子回路がCPU2301としての処理を並行して行うことで、フロントエンドサーバ230の処理速度を向上することができる。
【0165】
また、本実施形態では表示部2305と操作部2306はフロントエンドサーバ230の内部に存在するが、フロントエンドサーバ230は表示部2305及び操作部2306の少なくとも一方を備えていなくてもよい。また、表示部2305及び操作部2306の少なくとも一方がフロントエンドサーバ230の外部に別の装置として存在していて、CPU2301が、表示部2305を制御する表示制御部、及び操作部2306を制御する操作制御部として動作してもよい。
【0166】
画像処理システム100内の他の装置についても同様である。また例えば、カメラアダプタ120、DB250、バックエンドサーバ270及びタイムサーバ290は表示部2305を備えず、制御ステーション310、仮想カメラ操作UI330及びエンドユーザ端末190は表示部2305を備えていてもよい。また、上述の実施形態は、画像処理システム100が競技場やコンサートホールなどの施設に設置される場合の例を中心に説明した。施設の他の例としては、例えば、遊園地、公園、競馬場、競輪場、カジノ、プール、スケートリンク、スキー場、ライブハウスなどがある。また、各種施設で行われるイベントは、屋内で行われるものであっても屋外で行われるものであっても良い。また、本実施形態における施設は、一時的に(期間限定で)建設される施設も含む。
【0167】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0168】
230 フロントエンドサーバ
232 モデル生成部
233 色情報生成部
270 バックエンドサーバ
273 色付け部
274 仮想視点画像生成部