以下、本発明の実施形態について図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
<実施形態1>
本実施形態では、仮想視点画像の品質、3次元形状データの精度の低下を軽減させるためのカメラ(撮像手段)の配置構成について説明する。なお、仮想視点画像とは、エンドユーザ及び/又は選任のオペレータ等が自由に仮想視点に対応するカメラ(仮想カメラ)の位置及び姿勢を操作することによって生成される画像であり、自由視点画像や任意視点画像などとも呼ばれる。仮想視点画像は、動画であっても、静止画であってもよい。また、仮想視点は、自動的に設定されてもよい。
本実施形態において、オブジェクトとは、時系列で同じ方向から撮影を行った場合において動きのある(その絶対位置が変化し得る)動的オブジェクト(動体)を指す。オブジェクトは、例えば、人物や球技におけるボールを指す。
本実施形態において、3次元形状データは、オブジェクトの3次元形状を表すデータであり、例えば、撮像対象となる撮像空間を一意に示す世界座標空間における3次元空間のx、y、zの位置情報を持った点群で表現されるものである。また、3次元形状データは、点群で表現されるものに限定されず、他のデータ形式で表現されてもよく、例えば、三角形や四角形などの単純な凸多角形(ポリゴンと呼ばれる)の面で構成されるポリゴンメッシュデータやボクセルなどで表現されてもよい。
[撮像システム]
本実施形態に係る撮像システム10について、図1を用いて説明する。図1は、本実施形態に係る、オブジェクトを異なる方向から撮像するためのカメラ配置の一例を示す図であり、(a)は3次元の俯瞰図、(b)は真上から見た2次元平面図を示している。このカメラ配置では、6台のカメラ13~18で撮像を行って、仮想視点画像を生成するための複数視点画像を取得する。6台という台数は一例であり、サッカーやラグビーといった広大な空間を対象に撮像を行う場合にはさらに多くのカメラが設置されることはいうまでもない。
図1(a)及び(b)に示すように、カメラ13~18は、撮像空間の底面である撮像フィールド12上に設定される任意の注視点11を撮像するように配置されている。ここで、注視点とは、カメラの光軸と撮像フィールド12との交点を示す。図1に示すカメラ13~18は、同一の注視点11を撮像するように配置されている。また、カメラ13~18の光軸はこの注視点11を通る。また、注視点11の位置は任意であり、例えば撮像空間内の空中に設定されていてもよい。ただし、各カメラの注視点は、同一の所定の位置でなくてもよく、微小に異なっていてもよく、注視点の位置は図1で示す位置に限られない。また、撮像フィールド12は、サッカーやラグビーなどの競技においてはグラウンドを指す。
本実施形態の撮像システム10において、カメラ13~18はそれぞれ、いずれのカメラの注視点11を含んで撮像フィールド12に垂直な軸に対して2回対称の位置以外の位置に配置されている。つまり、カメラ13~18はそれぞれ、いずれのカメラの注視点11を含んで撮像フィールド12に垂直な軸に対して2回対称の位置に別のカメラが配置されることがないように、配置されている。
具体的に図1(b)を用いて説明する。例えば、注視点11を通り撮像フィールド12に垂直な軸に対してカメラ13の2回対称の位置には別のカメラが配置されていない。当然ながら、カメラ13と注視点11とを結ぶ線分19a上には、カメラ13と異なるカメラは配置されていない。なお、線分19aに最も近い位置には、カメラ14~16の中でカメラ16が配置されているが、線分19a上に配置されていない。同様に、他のカメラにおいても、注視点11を含んで撮像フィールド12に垂直な軸に対して2回対称の位置には別のカメラが配置されていない。また、カメラと注視点11とを結ぶ線分19a~19f上には、そのカメラのみが配置されており、他のカメラが配置されていない。なお、以下では、注視点を通り撮像フィールドに垂直な軸に対してカメラの2回対称の位置を、単に対称位置という場合がある。ここで、線分とは、光軸の撮像フィールド面への射影した直線の一部に相当する。
一方、図2を用いて、いずれのカメラの対称位置にも別のカメラが配置されている場合に生じる問題について説明する。図2(a)は、注視点21を中心として6台のカメラが等角度間隔になるように配置されている撮像システム20の3次元の俯瞰図、(b)はそれを真上から見た2次元平面図を示している。このようなカメラ配置の場合、図2(b)で示すように、カメラ23の対称位置にカメラ26が配置されることになる。また、カメラ24とカメラ27は、互いに、対称位置に配置されている。カメラ25とカメラ28も同様の配置である。言い換えると、線分29a上にはカメラ23とカメラ26が配置されている。また、線分29b上にはカメラ24とカメラ27が配置されている。さらに、線分29c上にはカメラ25とカメラ28が配置されている。
図3(a)は、図2で示した撮像システム20により取得された撮像画像と、その撮像画像内のオブジェクト31の領域を示すオブジェクト領域情報であるシルエット画像と、を示す図である。具体的には、カメラ23により取得された撮像画像32と、その撮像画像32から取得されるオブジェクト31の領域を示すオブジェクト領域情報であるシルエット画像33が示されている。また、カメラ26により取得された撮像画像34と、その撮像画像34から取得されるオブジェクト31の領域を示すオブジェクト領域情報であるシルエット画像35が示されている。なお、カメラ23とカメラ26の画角は、同じに設定されているとする。
シルエット画像33とシルエット画像35に含まれるオブジェクト31の数は同じである。また、カメラ23とカメラ26は、互いに対称位置に配置されているため、シルエット画像33は、左右反転するとシルエット画像35と同じものとなる。このため、視体積公差法などの方法によりオブジェクト31のシルエット画像を用いて、オブジェクト31の3次元形状データを生成する場合において、シルエット画像33とシルエット画像35とは、左右の反転に違いはあるが得られる情報に大きな違いはない。言い換えると、3次元形状データを生成する上で、シルエット画像33とシルエット画像35から得られる情報は、価値が同じである。また、カメラ24とカメラ27それぞれにより撮像された画像から取得されるオブジェクトのシルエット画像も同様である。カメラ25とカメラ28それぞれにより撮像された画像から取得されるオブジェクトのシルエット画像も同様である。このため、図2の撮像システム20により得られる実質的に有効なシルエット画像は、3つであると言える。
一方、図3(b)は、本実施形態の撮像システム10により取得された撮像画像と、その撮像画像内のオブジェクト31の領域を示すシルエット画像と、を示す図である。カメラ13により取得された撮像画像36と、その撮像画像36から取得されるオブジェクト31の領域を示すオブジェクト領域情報であるシルエット画像37が示されている。また、カメラ16により取得された撮像画像38と、その撮像画像38から取得されるオブジェクト31の領域を示すオブジェクト領域情報であるシルエット画像39が示されている。なお、カメラ13とカメラ16の画角は、同じに設定されているとする。
カメラ16は、カメラ13の対称位置に配置されていないので、シルエット画像39は、左右反転してもシルエット画像37とは一致しない。そのため、撮像システム10により得られるシルエット画像は、カメラの台数と同じ6つである。そのため、図2の撮像システム20とカメラ台数が変わらないにもかかわらず、実質的に有効なシルエット画像を、撮像システム20よりも増やすことができる。そのため、オブジェクト31の領域を示すシルエット画像に基づいて3次元形状データを生成する場合、3次元形状データの精度の低下を軽減させることができる。さらには、仮想視点画像の画質の低下を軽減させることができる。
本実施形態では、設置するカメラが6台の場合を例に説明を行ったが、これに限られず、少なくとも2台以上のカメラを含む撮像システムであればよい。2台とは、互いに対称位置に配置されないカメラの組み合わせを構成する最小の台数を示している。また、本実施形態では、撮像システムに含まれる全てのカメラが別のカメラの対称位置に配置されない例を説明したが、一部のカメラにおいて対称位置にカメラが配置される構成を排除するものではない。
また、本実施形態では、所定の位置を含んで撮像フィールドに対して垂直な軸を挟んで、カメラと対向しないように、他のカメラが配置されている構成例を説明した。しかし、2つのカメラが対称位置の関係を満たさない位置関係であれば、2つのカメラが、所定の位置を含んで撮像フィールドに対して垂直な軸を挟んで対向する位置関係であってもよい。つまり、2つのカメラそれぞれから撮像フィールドに対して垂直な注視点を通る軸までの距離が異なっていれば、その2つのカメラが対向していてもよい。
また、本実施形態では、あるカメラの対称位置に最も近い位置に配置された別のカメラが、そのあるカメラと画角が同一である場合を説明したがこれに限られない。例えば、焦点距離が同一である場合でも、対称位置となる位置関係に2つのカメラが配置された場合には、得られるシルエット画像に大きな違いが生じず、上述した問題が生じる。その他に、シルエット画像に影響を与える、カメラの特性を決めるカメラパラメータが同じであれば上述した問題が生じる。そのようなカメラパラメータは、例えば、撮像センサのサイズ、レンズの種類などである。
画角や焦点距離などが異なる2つのカメラから得られるオブジェクトの領域情報(シルエット画像)に大きな違いが発生する場合においては、注視点を基準に対称位置に別のカメラが存在してもよい。また、本実施形態では、対称位置の関係にない少なくとも2つのカメラで、これらのカメラパラメータが異なっていてもよい。また、すべてのカメラで互いにカメラパラメータが異なっていてもよい。
また、本実施形態では、2次元平面上において注視点を中心に対称位置に別のカメラが存在しない構成について説明したが、これに限らない。例えば、サッカースタジアムの1階席にあるカメラと2階席にあるカメラとは、3次元空間において、カメラの撮像フィールドからの高さが異なるので、当然、対称位置に存在しないと言える。
また、複数の注視点がある場合、つまり、撮像システムが、異なる注視点を撮像するように配置された異なるカメラ群に分類される場合には、そのカメラ群ごとに上述したカメラ配置とすればよい。つまり、一つのカメラ群内のカメラの対称位置に、注視点が異なる他のカメラ群のカメラが配置されてもよい。
以上、本実施形態の撮像システムにより撮像した多視点画像を用いれば、3次元形状データの精度の低下を軽減し、高画質な仮想視点画像を再構成することができる。
[画像処理システム]
以下では、本実施形態の撮像システムを有する仮想視点画像を生成する画像処理システムについて説明する。
競技場(スタジアム)やコンサートホールなどの施設に複数のカメラ及びマイクを設置し撮影及び集音を行うシステムについて、図11のシステム構成図を用いて説明する。画像処理システム100は、センサシステム110a~110f、画像コンピューティングサーバ200、コントローラ300、スイッチングハブ180、及びエンドユーザ端末190を有する。
コントローラ300は、制御ステーション310と仮想カメラ操作UI330を有する。制御ステーション310は、画像処理システム100を構成するそれぞれのブロックに対してネットワーク310a~310c、291、180a、180b、及び170a~170eを通じて動作状態の管理及びパラメータ設定制御などを行う。ここで、ネットワークはEthernet(登録商標、以下省略)であるIEEE標準準拠のGbE(ギガビットイーサーネット)や10GbEでもよいし、インターコネクトInfiniband、産業用イーサーネット等を組合せて構成されてもよい。また、これらに限定されず、他の種別のネットワークであってもよい。
最初に、センサシステム110a~110fの6セットの画像及び音声をセンサシステム110fから画像コンピューティングサーバ200へ送信する動作を説明する。本実施形態の画像処理システム100は、センサシステム110a~110fがデイジーチェーンにより接続される。
本実施形態において、特別な説明がない場合は、センサシステム110a~110fまでの6セットのシステムを区別せずセンサシステム110と記載する。各センサシステム110内の装置についても同様に、特別な説明がない場合は区別せず、マイク111、カメラ112、雲台113、外部センサ114、及びカメラアダプタ120と記載する。なお、センサシステムの台数として6セットと記載しているが、あくまでも一例であり、台数をこれに限定するものではない。上述した撮像システムは、画像処理システム100においてカメラ112a~112fにより構成されるシステムに相当する。また、撮像システムのカメラ112a~112fそれぞれは、異なるカメラの対称位置以外の位置に配置されている。
また、複数のセンサシステム110は同一の構成でなくてもよく、例えばそれぞれが異なる機種の装置で構成されていてもよい。なお、本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム100は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム100により提供される仮想視点コンテンツには、仮想視点画像と仮想聴収点音響が含まれる例を中心に説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくてもよい。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音響であってもよい。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
センサシステム110a~110fは、それぞれ1台ずつのカメラ112a~112fを有する。すなわち、画像処理システム100は、被写体を複数の方向から撮影するための複数のカメラ112を有する。なお、複数のカメラ112は同一符号を用いて説明するが、性能や機種が異なっていてもよい。複数のセンサシステム110同士はデイジーチェーンにより接続される。この接続形態により、撮影画像の4Kや8Kなどへの高解像度化及び高フレームレート化に伴う画像データの大容量化において、接続ケーブル数の削減や配線作業の省力化ができる効果があることをここに明記しておく。
なおこれに限らず、接続形態として、各センサシステム110a~110fがスイッチングハブ180に接続されて、スイッチングハブ180を経由してセンサシステム110間のデータ送受信を行うスター型のネットワーク構成としてもよい。
また、図11では、デイジーチェーンとなるようセンサシステム110a~110fの全てがカスケード接続されている構成を示したがこれに限定するものではない。例えば、複数のセンサシステム110をいくつかのグループに分割して、分割したグループ単位でセンサシステム110間をデイジーチェーン接続してもよい。そして、分割単位の終端となるカメラアダプタ120がスイッチングハブに接続されて画像コンピューティングサーバ200へ画像の入力を行うようにしてもよい。このような構成は、スタジアムにおいて特に有効である。例えば、スタジアムが複数階で構成され、フロア毎にセンサシステム110を配備する場合が考えられる。この場合に、フロア毎、あるいはスタジアムの半周毎に画像コンピューティングサーバ200への入力を行うことができ、全センサシステム110を1つのデイジーチェーンで接続する配線が困難な場所でも設置の簡便化及びシステムの柔軟化を図ることができる。
また、デイジーチェーン接続されて画像コンピューティングサーバ200へ画像入力を行うカメラアダプタ120が1つであるか2つ以上であるかに応じて、画像コンピューティングサーバ200での画像処理の制御が切り替えられる。すなわち、センサシステム110が複数のグループに分割されているかどうかに応じて制御が切り替えられる。画像入力を行うカメラアダプタ120が1つの場合は、デイジーチェーン接続で画像伝送を行いながら競技場全周画像が生成されるため、画像コンピューティングサーバ200において全周の画像データが揃うタイミングは同期がとられている。すなわち、センサシステム110がグループに分割されていなければ、同期はとれる。
しかし、画像入力を行うカメラアダプタ120が複数になる場合は、画像が撮影されてから画像コンピューティングサーバ200に入力されるまでの遅延がデイジーチェーンのレーン(経路)ごとに異なる場合が考えられる。すなわち、センサシステム110がグループに分割される場合は、画像コンピューティングサーバ200に全周の画像データが入力されるタイミングは同期がとられないことがある。そのため、画像コンピューティングサーバ200において、全周の画像データが揃うまで待って同期をとる同期制御によって、画像データの集結をチェックしながら後段の画像処理を行う必要があることを明記しておく。
本実施形態では、センサシステム110aはマイク111a、カメラ112a、雲台113a、外部センサ114a、及びカメラアダプタ120aを有する。なお、この構成に限定するものではなく、少なくとも1台のカメラアダプタ120aと、1台のカメラ112aまたは1台のマイク111aを有していればよい。また例えば、センサシステム110aは1台のカメラアダプタ120aと、複数のカメラ112aで構成されてもよいし、1台のカメラ112aと複数のカメラアダプタ120aで構成されてもよい。すなわち、画像処理システム100内の複数のカメラ112と複数のカメラアダプタ120はN対M(NとMは共に1以上の整数)で対応する。また、センサシステム110は、マイク111a、カメラ112a、雲台113a、及びカメラアダプタ120a以外の装置を含んでいてもよい。さらに、カメラアダプタ120の機能の少なくとも一部をフロントエンドサーバ230が有していてもよい。本実施形態では、センサシステム110b~110fについては、センサシステム110aと同様の構成なので省略する。なお、センサシステム110aと同じ構成に限定されるものではなく、其々のセンサシステム110が異なる構成でもよい。
マイク111aにて集音された音声と、カメラ112aにて撮影された画像は、カメラアダプタ120aにおいて、様々な処理などが施された後、デイジーチェーン170aを通してセンサシステム110bのカメラアダプタ120bに伝送される。同様にセンサシステム110bは、集音された音声と撮影された画像を、センサシステム110aから取得した画像及び音声と合わせてセンサシステム110cに伝送する。
カメラアダプタ120は、カメラ112が撮影した画像データ及び他のカメラアダプタ120から受取った画像データに対して、前景背景分離処理、前景3次元形状データ情報生成処理、動的キャリブレーションなどの処理を行う。カメラアダプタ120により、撮像画像に対する前景背景分離処理に基づき、オブジェクトのシルエット画像が生成される。また、他のカメラアダプタ120から受け取った複数のシルエット画像に基づき、視体積交差法などにより、オブジェクトに対応する3次元形状データを生成する。後述する画像コンピューティングサーバ200により複数の3次元形状データが統合される。なお、カメラアダプタ120では、オブジェクトに対応する3次元形状データを生成せずに、画像コンピューティングサーバ200により、一括で複数のオブジェクトに対応する3次元形状データを生成するようにしてもよい。
前述した動作を続けることにより、センサシステム110a~センサシステム110fが取得した画像及び音声は、センサシステム110fから180bを用いてスイッチングハブ180に伝わり、その後、画像コンピューティングサーバ200へ伝送される。
なお、本実施形態では、カメラ112a~112fとカメラアダプタ120a~120fが分離された構成にしているが、同一筺体で一体化されていてもよい。その場合、マイク111a~111fは一体化されたカメラ112に内蔵されてもよいし、カメラ112の外部に接続されていてもよい。
次に、画像コンピューティングサーバ200の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ200は、センサシステム110fから取得したデータの処理を行う。画像コンピューティングサーバ200はフロントエンドサーバ230、データベース250(以下、DBとも記載する。)、バックエンドサーバ270、タイムサーバ290を有する。
タイムサーバ290は時刻及び同期信号を配信する機能を有し、スイッチングハブ180を介してセンサシステム110a~センサシステム110fに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ120a~120fは、カメラ112a~112fを時刻と同期信号をもとにGenlockさせ画像フレーム同期を行う。すなわち、タイムサーバ290は、複数のカメラ112の撮影タイミングを同期させる。これにより、画像処理システム100は同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、本実施形態ではタイムサーバ290が複数のカメラ112の時刻同期を管理するものとするが、これに限らず、時刻同期のための処理を各カメラ112又は各カメラアダプタ120が独立して行ってもよい。
フロントエンドサーバ230は、センサシステム110fから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換した後に、カメラの識別子やデータ種別、フレーム番号に応じてデータベース250に書き込む。
次に、バックエンドサーバ270では、仮想カメラ操作UI330から視点の指定を受け付け、受け付けられた視点に基づいて、データベース250から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。
なお、画像コンピューティングサーバ200の構成はこれに限らない。例えば、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270のうち少なくとも2つが一体となって構成されていてもよい。また、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ200内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ200の機能の少なくとも一部をエンドユーザ端末190や仮想カメラ操作UI330が有していてもよい。
レンダリング処理された画像は、バックエンドサーバ270からエンドユーザ端末190に送信され、エンドユーザ端末190を操作するユーザは視点の指定に応じた画像閲覧及び音声視聴ができる。すなわち、バックエンドサーバ270は、複数のカメラ112により撮影された撮影画像(複数視点画像)と視点情報とに基づく仮想視点コンテンツを生成する。より具体的には、バックエンドサーバ270は、例えば複数のカメラアダプタ120により複数のカメラ112による撮影画像から抽出された所定領域の画像データと、ユーザ操作により指定された視点に基づいて、仮想視点コンテンツを生成する。そしてバックエンドサーバ270は、生成した仮想視点コンテンツをエンドユーザ端末190に提供する。なお、本実施形態において仮想視点コンテンツは画像コンピューティングサーバ200により生成されるものであり、特にバックエンドサーバ270により生成される場合を中心に説明する。ただしこれに限らず、仮想視点コンテンツは、画像コンピューティングサーバ200に含まれるバックエンドサーバ270以外の装置により生成されてもよいし、コントローラ300やエンドユーザ端末190により生成されてもよい。
本実施形態における仮想視点コンテンツは、仮想的な視点から被写体を撮影した場合に得られる画像としての仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点における見えを表す画像であるとも言える。仮想的な視点(仮想視点)は、ユーザにより指定されてもよいし、画像解析の結果等に基づいて自動的に指定されてもよい。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像(自由視点画像)が含まれる。また、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。
なお、本実施形態では、仮想視点コンテンツに音声データ(オーディオデータ)が含まれる場合の例を中心に説明するが、必ずしも音声データが含まれていなくてもよい。また、バックエンドサーバ270は、仮想視点画像を例えばH.264やHEVCなどの符号化方式に従って圧縮符号化したうえで、MPEG-DASHプロトコルを使ってエンドユーザ端末190へ送信してもよい。また、仮想視点画像は、非圧縮でエンドユーザ端末190へ送信されてもよい。とくに圧縮符号化を行う前者はエンドユーザ端末190としてスマートフォンやタブレットを想定しており、後者は非圧縮画像を表示可能なディスプレイを想定している。すなわち、エンドユーザ端末190の種別に応じて画像フォーマットが切り替え可能であることを明記しておく。また、画像の送信プロトコルはMPEG-DASHに限らず、例えば、HLS(HTTP Live Streaming)やその他の送信方法を用いてもよい。
このように、画像処理システム100は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという3つの機能ドメインを有する。映像収集ドメインはセンサシステム110~110fを含み、データ保存ドメインはデータベース250、フロントエンドサーバ230及びバックエンドサーバ270を含み、映像生成ドメインは仮想カメラ操作UI330及びエンドユーザ端末190を含む。なお本構成に限らず、例えば、仮想カメラ操作UI330が直接センサシステム110a~110fから画像を取得する事も可能である。しかしながら、本実施形態では、センサシステム110a~110fから直接画像を取得する方法ではなくデータ保存機能を中間に配置する方法をとる。具体的には、フロントエンドサーバ230がセンサシステム110a~110fが生成した画像データや音声データ及びそれらのデータのメタ情報をデータベース250の共通スキーマ及びデータ型に変換している。これにより、センサシステム110a~110fのカメラ112が他機種のカメラに変化しても、変化した差分をフロントエンドサーバ230が吸収し、データベース250に登録することができる。このことによって、カメラ112が他機種カメラに変わった場合に、仮想カメラ操作UI330が適切に動作しないおそれを低減できる。
また、仮想カメラ操作UI330は、直接データベース250にアクセスせずにバックエンドサーバ270を介してアクセスする構成である。バックエンドサーバ270で画像生成処理に係わる共通処理を行い、操作UIに係わるアプリケーションの差分部分を仮想カメラ操作UI330で行っている。このことにより、仮想カメラ操作UI330の開発において、UI操作デバイスや、生成したい仮想視点画像を操作するUIの機能要求に対する開発に注力する事ができる。また、バックエンドサーバ270は、仮想カメラ操作UI330の要求に応じて画像生成処理に係わる共通処理を追加又は削除する事も可能である。このことによって仮想カメラ操作UI330の要求に柔軟に対応する事ができる。
このように、画像処理システム100においては、被写体を複数の方向から撮影するための複数のカメラ112による撮影に基づく画像データに基づいて、バックエンドサーバ270により仮想視点画像が生成される。なお、本実施形態における画像処理システム100は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。
以上、画像処理システム100で動作する、カメラ112a~112fを有する撮像システムについて説明した。この撮像システムのカメラ112a~112fの配置位置はそれぞれ、上述したような位置関係となっている。このため、3次元形状データの精度の低下を軽減し、仮想視点画像の画質の低下を軽減することができる。
<実施形態2>
実施形態1では、様々な方向の仮想視点において3次元形状データの精度の低下を軽減させるための撮像システムとそれを有する画像処理システムについて説明した。本実施形態では、実施形態1で説明した撮像システムにおけるカメラ配置を決定する配置決定装置及びその方法について説明する。
この配置決定装置は、所定の位置を異なる方向から撮像するように配置される複数のカメラの台数の情報及び注視点の位置情報を取得し、それらの情報基づき、撮像手段の配置を決定する装置である。具体的には、配置決定装置によって、注視点を通り撮像フィールドに対して垂直な軸を中心とする、カメラの2回対称の位置(対称位置)以外に、別のカメラが配置されるように、複数のカメラの配置が決定される。この配置決定装置を用いれば、カメラ台数の情報と注視点の位置情報とを外部から入力して、適切なカメラ配置を決定することが可能となる。また、この配置決定装置によってカメラの配置を自動的に行うようにしてもよいし、決定された配置を基に、人がカメラ配置を行うようにしてもよい。
また、配置決定装置は、台数の情報及び注視点の位置情報に加え、複数のカメラの配置位置を示す配置情報を取得し、それらの情報に基づき、対称位置に別のカメラが存在するか否かを示す対称情報を取得するようにしてもよい。そして、配置決定装置は、あるカメラの対称位置にカメラが存在することを示す対称情報が取得された場合には、対称位置にカメラが存在しないように、カメラの配置を変更することを決定するようにしてもよい。
なお、配置決定装置は、実施形態1で説明した画像処理システム内の、例えばコントローラ300であってもよいし、画像処理システムに含まれない装置であってよい。以下では、画像処理システムに含まれない別の装置で行う場合を例に説明する。この場合、配置決定装置によって決定されたカメラ配置に従い、実施形態1の撮像システム内の各カメラを配置する、またはすでに配置されている場合はその配置位置を変更する。カメラの実際の配置又は配置位置の変更は、自動で行われてもよいし、人が行ってもよい。以下では、配置決定装置が、カメラの配置の変更を行う例について説明する。
以下、本実施形態の具体的な構成について述べる。図4は、複数のカメラ401a~401fを有する撮像システムの各カメラの配置を決定する配置決定装置402を示す図である。配置決定装置402は、撮像システムの複数のカメラとネットワークを介して接続されている。カメラ401a~401fの台数の情報、初期の配置位置情報、光軸の方向を示す姿勢情報、及び注視点の位置情報が配置決定装置402に入力される。また、配置決定装置402によって更新されたカメラ401a~401fの配置情報に基づき、カメラ401a~401fの配置が変更される。また、配置決定装置402は、表示装置403、入力装置404a、404bとネットワークを介して接続されている。表示装置403は、例えば、カメラの初期の配置位置を示す初期の配置情報や更新された配置情報を表示したり、配置位置が変更となるカメラの変更量やその方向などを表示する。入力装置404a、404bは、ユーザから、カメラの初期の配置位置を示す初期配置情報の入力を受け付けたり、ユーザが指定する変更量の入力を受け付ける。
各カメラ401a~401fは、概略平面上の領域に配置されたオブジェクト405を囲むような複数の方向から、オブジェクト405a、405bを撮像する。オブジェクト405aは、競技グラウンドである撮影フィールド406上の人物(選手)を表し、オブジェクト405bは、ボールを表している。
次に、本実施形態で行う、カメラの位置を決定する方法の概要について、図7を用いて説明する。まず、配置決定装置402は、図7(a)で示されている撮像システムに含まれる複数のカメラ702~707の台数の情報、初期の配置位置を示す初期配置情報、及び光軸の方向を示す姿勢情報を取得する。また、配置決定装置402は、撮像システム内の各カメラの注視点701の位置情報を取得する。その後、決定装置は、台数の情報、初期の配置位置情報、姿勢情報及び注視点の位置情報に基づき、注視点701を含む撮像フィールドに垂直な軸を中心とする対称位置関係になっているカメラの組み合わせが存在するか否かを判定する。そして、決定装置は、対称位置関係になっていると判定されたカメラ702とカメラ705の組について、対称位置関係とならないように、カメラの位置を変更するためのずらす方向(変更する方向)とずらし量(変更量)を決定する。また、決定装置は、カメラ703とカメラ706の組、カメラ704とカメラ707の組についても、対称位置関係とならないように、カメラの位置を変更するためのずらす方向(変更する方向)とずらし量(変更量)を決定する。
例えば、カメラ704から706を、図7(b)で示すような位置に変更した場合、上述したように、各カメラと注視点701を結ぶ線分709a~709fが6本できる。このようなカメラ配置の撮像システムでは、実質的に有効なシルエット画像を6つ取得できる。一方、図7(a)では、各カメラと注視点701を結ぶ線分708a~708cが3本しかなく、有効なシルエット画像を3つしか取得できない。そのため、図7(a)に示す撮像システムに比べて図7(b)の撮像システムは、3次元形状データの精度及び仮想視点画像の品質を向上させることができる。
しかし、図7(b)の撮像システムは、カメラ703とカメラ704との間、カメラ706と707との間においては、カメラが配置されていないので、撮像画像を取得できない。そのため、カメラ703とカメラ704との間、カメラ706と707との間においては、シルエット画像を取得できない。そこで、本実施形態では、配置位置を変更した後のカメラと注視点とを結ぶ線分が、注視点701を中心におおよそ均等な角度で配置されるように、カメラをずらす方向とそのずらし量とを決定するようにしてもよい。例えば、図7(c)に示すように、図7(a)のカメラ位置からカメラ705からカメラ707の位置を変更し、カメラと注視点701を結ぶ線分709a~709fがおおよそ均等に分散するように撮像システムを構築する。このような、撮像システムにより、3次元形状データの精度及び仮想視点画像の品質の低下をより軽減させることができる。なお、本実施形態では、オブジェクトの全体を高品質にする場合を例に挙げて、カメラの位置を決定する方法を説明するが、これに限られない。例えば、仮想視点からの方向が限定されている場合は、限定された方向の領域で上記線分が均等となるように、位置を変更するカメラ及びその変更量を決定されるようにしてもよい。
以下、本実施形態の決定装置で行われる処理について、図5と図6を参照して説明する。図5は、配置決定装置402の構成の一例を示すブロック図である。配置決定装置402は、カメラ情報取得部501と、対称情報取得部502と、光軸隣接情報取得部503と、変更情報決定部504と、カメラ情報更新部505と、カメラ制御部506とを有する。
また、図6は、配置決定装置402における処理の流れの一例を示す図である。以下、各構成部により行われる処理の流れを説明する。なお、以下の説明における記号「S」はステップを表す。
カメラ情報取得部501は、カメラの台数、カメラの初期配置情報、カメラの姿勢情報及びカメラの注視点の位置情報などのカメラ情報を取得する。対称情報取得部502は、カメラ情報に基づいて、カメラ毎に、別のカメラとの対称度を算出し、対称情報を算出する。対称度とは、注視点を含む撮像フィールドに対して垂直な軸を中心として、カメラの2回対称の位置に別のカメラが存在するのか、又はその位置にどれくらい近い位置に別のカメラが存在するのかを示す指標である。この対称度及び対称情報については、後述する。
光軸隣接情報取得部503は、カメラ情報を用いて、カメラ毎に、光軸隣接度を算出し、光軸隣接情報を取得する。光軸隣接度とは、自身のカメラの光軸と別のカメラとの光軸との近さを示すもので、カメラそれぞれの光軸を示すベクトルを2次元平面に投影した直線間の角度を示す指標により定義される。光軸隣接度及び光軸隣接情報については、後述する。
変更情報決定部504は、対称情報に基づき、カメラの初期配置を変更するか否かを判定する。また、変更情報決定部504は、光軸隣接情報に基づき、変更すると決定したカメラの位置の変更量を決定する。変更量は、ユーザが入力装置404a、404bを用いて入力してもよい。
カメラ情報更新部505は、カメラ情報取得部501又は変更情報決定部504から出力されるカメラ情報を更新する。カメラ情報更新部505は、変更情報決定部504により決定された内容、例えば、位置を変更するカメラとその変更量、位置を変更しないカメラなどの情報を、カメラ制御部506に出力する。なお、図4の表示装置403で、その内容が表示されるように、配置決定装置402内又は表示装置403内にある表示制御部(不図示)に出力し、その表示制御部がその内容を表示するようにしてもよい。この場合、表示装置403で表示された内容に従い、人がカメラの配置位置を変更するようにしてもよい。
カメラ制御部506は、カメラ情報更新部505により更新されたカメラ情報に基づいて、撮像システムに含まれる複数のカメラの位置を変更する。
S601において、カメラ情報取得部501は、撮像システムに含まれるカメラの台数の情報、初期配置情報、姿勢情報、及び注視点の位置情報を含むカメラ情報を取得する。カメラ情報は、撮像空間の底面(撮像フィールド)をx軸,y軸、高さをz軸とした3次元座標軸を定義し、各カメラの位置を座標空間での位置pi(pxi,pyi,pzi)、各カメラの姿勢をベクトルvi[vxi,vyi,vzi]で表現した情報である。ここで、iは設置された複数のカメラそれぞれの識別番号である。なお、カメラ情報の内容は、上述のものに限られず、各カメラの座標位置と注視点の座標位置の情報でもよい。また、カメラの位置情報及び姿勢情報の表現方法はこれに限らず、カメラの位置と姿勢を特定可能な表現であればよい。また、本実施形態では、カメラの初期位置は、注視点を中心に光軸間の角度が均等となるように自動的に決められてもいし、入力装置404a、404bを介してユーザが定めたカメラの位置をカメラの初期位置として取得されてもよい。カメラ情報取得部501は、取得したカメラの初期配置情報と姿勢情報とをカメラ情報として、対称情報取得部502と光軸隣接情報取得部503とカメラ情報更新部505とに出力する。
S602において、変更情報決定部504は、変更情報を初期化する。変更情報は、各カメラにおいて、カメラの位置を変更するか否かを示す値を第1の値と、変更する場合は変更する量を示す変更量を第2の値として示す情報である。
S603において、カメラ情報更新部505は、撮像システムに含まれる複数のカメラの中から、カメラ情報を更新するか否かを決定する対象となる基準カメラを決定する。通常は、上述のカメラを識別する番号iが若いものから順に、基準カメラに決定されるが、これに限られない。例えば、複数のカメラの中からランダムに選択されたカメラを基準カメラとして決定してもよいし、他の方法で決定してもよい。
S604において、対称情報取得部502は、カメラ情報取得部501又はカメラ情報更新部505から取得したカメラ情報を用いて、対称情報をカメラ毎に算出する。カメラ情報は、カメラ情報更新部505から取得したカメラ情報を優先的に用いる。以下に、対称情報の算出方法を具体的に説明する。すなわち、例えば、以下の1)~3)のような手順で行われる。
1)各カメラの光軸方向を示すベクトルを2次元平面に投影し、かつ、正規化して得られた方向ベクトル(以下、光軸投影ベクトルという)vi[vpi,vqi]を、カメラ毎に算出する。ここで、iは各カメラを識別する番号であり、いまi=1~6である。
2)他のカメラとの対称度を算出する。具体的には、基準カメラの光軸投影ベクトルvo[vpo,vqo]と、基準カメラ以外のカメラの光軸投影ベクトルvj[vpj,vqj]との内積vo・vjを算出する。ここで、oは基準カメラの識別番号を表し、jは基準カメラ以外のカメラの識別番号を表す。例えば、i=1のとき、o=1、j=2~6である。
3)上記2)で算出した対称度を用いて対称情報を取得する。具体的には、他のカメラとの内積vo・vojの値が負、かつ、内積vo・vjの符号を反転した値の中で、最大の値を基準カメラの対称情報として取得する。この対称情報が1であれば、基準カメラの対称位置に他のカメラが存在することを示す。対称情報が1でなければ、基準カメラの対称位置に他のカメラが存在しないことを示す。つまり、対称情報は、そのカメラの対称位置に他のカメラが存在するか否かを示す情報である。
対称情報取得部502は、取得した対称情報を変更情報決定部504に出力する。本実施形態では、2次元平面と内積を用いて対称情報の算出を行ったが、これに限られず、基準カメラと他のカメラとが対称位置関係にあるか否か、及びその度合いを判断することができる他の方法を用いてもよい。
S605において、変更情報決定部504は、S604で取得した対称情報を用いて、基準カメラに対して注視点を基準として対称位置となるカメラが存在するか否かを判定する。本実施形態では、基準カメラの対称情報が1である場合は、上述したように、対称位置に別のカメラが存在すると判定し(S605でYES)、S606に移る。ただし、これに限らず、例えば、対称情報が0.8以上であれば、対称位置に別のカメラが存在すると判定してもよい。つまり、基準カメラに対して完全な対称位置に別のカメラが存在する場合にのみ対称位置に別のカメラが存在すると判定するのではなく、おおよその対称位置に別のカメラが存在する場合も対称位置に存在すると判定することが許容されてもよい。また、本実施形態では、2次元のベクトルにより算出した対称情報を用いて、基準カメラの対称位置に別のカメラが存在するか否かの判定を行ったがこれに限らず、高さ方向を含む3次元的な位置関係に基づいて判定を行ってもよい。その場合、2次元の場合においては対称位置であっても、高さの位置が異なる場合は対称位置には存在しないカメラとであると判定されることがある。
S606において、変更情報決定部504は、S605でYESと判定した場合には、変更情報の第1の値を1に更新する。この第1の値が1であることは、そのカメラの位置を変更することを表す。
また、S605でNO、つまり、変更情報決定部504は、基準カメラの対称位置に別のカメラが存在しないと判定した場合はS612に進み、変更情報の第1の値と第2の値とをともに0に更新する。第1の値が0であることは、そのカメラの位置を変更しないことを表す。また、第2の値が0であることは、変更量が0であることを表す。この場合は、S610に進む。
次に、S607において、光軸隣接情報取得部503は、カメラ情報取得部501又はカメラ情報更新部505から取得したカメラ情報を用いて、光軸隣接度を取得する。カメラ情報は、カメラ情報更新部505から取得したカメラ情報を優先的に用いる。以下に光軸隣接度の取得方法を具体的に述べる。すなわち、例えば、以下の1)~3)のような手順で行われる。
1)各カメラの光軸投影ベクトルvi[vpi,vqi]を、カメラ毎に算出する。ここで、iは各カメラを識別する番号であり、いまi=1~6である。なお、この手順は、対称情報の算出方法の1)と同じであり、対称情報取得部502からこの情報を取得するようにしてもよい。
2)基準カメラの光軸投影ベクトルvo[vpo,vqo]と、基準カメラ以外のカメラの光軸投影ベクトルvj[vpj,vqj]との内積vo・vjと外積vo×vjとを算出する。ここで、oは基準カメラの識別番号を表し、jは基準カメラ以外のカメラの識別番号を表す。例えば、i=1のとき、o=1、j=2~6である。なお、この内積vo・vjは、対称情報取得部502から取得するようにしてもよい。
3)上記2)で算出した、他のカメラとの内積vo・vojと外積vo×vjの値から、外積vo×vjを内積vo・vjで除した値を算出し、その値をカメラの光軸隣接度とする。なお、この光軸隣接度は、カメラの光軸を示すベクトルを2次元平面に投影した直線間の角度を示す指標である。本実施形態では、2次元平面と内積と外積とを用いて光軸隣接度の算出を行ったが、これに限られず、他の方法を用いてもよい。光軸隣接情報取得部503は、基準カメラの別カメラとの光軸隣接度をまとめた情報を光軸隣接情報として変更情報決定部504に出力する。
ステップS608において、変更情報決定部504は、S606で取得した光軸隣接情報から、基準カメラの位置を変更する際の変更量を決定し、変更情報の第2の値を更新する。以下に具体的に述べる。すなわち、例えば、以下の1)~3)(又は1)~3’))のような手順で行われる。
1)光軸隣接情報の中から光軸隣接度が正かつ最小となる値cpと、光軸隣接度が負かつ最小となる値cmを抽出する。
2)光軸隣接情報から光軸隣接度が0となるカメラが基準カメラ以外に存在するか否かを判定する。
3)光軸隣接情報から光軸隣接度が0となるカメラが基準カメラ以外に存在すると判定された場合は、光軸隣接度が正の最小値cpの絶対値と光軸隣接度が負の最小値cmの絶対値とを比較し、絶対値が最小となる値cを抽出する。そして、検出した値cを使用して、基準カメラの光軸と最も隣接する光軸との中間角度θ=arctan(c/2)を算出する。
3’)光軸隣接度が0となるカメラが基準カメラ以外に存在しないと判定された場合は、中間角度θを(arctan(cp)-arctan(cm))/2+arctan(cp)により算出する。
変更情報決定部504は、上記のように算出した中間角度θを基準カメラの変更量として、変更情報の第2の値を中間角度θの値に更新する。そして、変更情報決定部504は、更新した変更情報をカメラ情報更新部505に出力する。このため、2つのカメラそれぞれの光軸を示すベクトルを2次元平面に投影した直線間の角度が大きいほど、変更量が小さくなることになる。
なお、本実施形態では、逆正接を用いて変更量の算出を行ったがこれに限らず、基準カメラの光軸と他のカメラの光軸との角度又は移動量を算出可能な別の方法を用いてもよい。また、ユーザが任意で指定する変更量を利用し、その変更量を変更情報の第2の値として用いてもよい。また、変更情報の第2の値として角度を用いたがこれに限らず、3次元空間中での距離及びベクトルなど他の方法を用いてもよい。
S609において、カメラ情報更新部505は、変更情報決定部504から取得した変更情報を用いて、カメラ情報取得部501から取得した基準カメラのカメラ情報を更新する。変更情報における第1の値が1である場合は、基準カメラの位置及び姿勢情報を更新する。本実施形態では、変更情報の第2の値が示す角度の大きさの分、注視点を基準として基準カメラを回転させた位置に、基準カメラの位置情報pi(pxi,pyi,pzi)を更新する。また、更新した位置情報piと注視点とを用いて、基準カメラの姿勢ベクトルviを更新する。本実施形態では、基準カメラを変更情報の第2の値に従って回転させることで移動させるようにカメラ情報を更新するが、これに限られない。例えば、カメラが配置可能な位置に制限がある場合などにおいては、単純に移動させた位置からその制限内で最も近い位置に基準カメラを移動させるようにカメラ情報を更新してもよい。なお、変更情報における第一の値が0である場合は、カメラ情報における基準カメラの位置及び姿勢情報の更新は行われない。
S610において、カメラ情報更新部505は、撮像システムに含まれる全てのカメラを基準カメラとして、カメラ情報を更新するか否かの決定を行ったかを判定する。全てのカメラに対してその決定を行ったと判定した場合(S610でYES)は、カメラ情報更新部505は、更新したカメラ情報をカメラ制御部506に出力する。また、必要に応じて、表示装置403の表示を制御する表示制御部(不図示)に更新したカメラ情報を出力する。
一方、S610でNOの判定の結果場合は、S613において、カメラ情報更新部505は、基準カメラを変更する。その後、S604に戻る。S613において、本実施形態では、それまでに基準カメラとして選択されないカメラが新たな基準カメラとして選択される。すでに基準カメラとしてカメラ情報が更新された場合、その更新されたカメラ情報を用いて、別のカメラを基準カメラとした場合の対称度や光軸隣接度が算出される。
S611において、カメラ制御部506は、カメラ情報更新部505から取得した更新されたカメラ情報に従って、撮像システムに含まれる複数のカメラの位置を変更する。
以上が、本実施形態における決定装置及びその処理方法についての説明である。上記で説明した構成によれば、撮像システムに含まれるカメラの台数や、仮想視点の方向によらず高画質な仮想視点画像を生成する撮像システムを構築することができる。
<実施形態3>
実施形態2では、カメラと注視点とを結ぶ線分が撮像空間の全周でおよそ等間隔に分散されるように、カメラの位置を決定する方法について説明した。本実施形態では、カメラと注視点とを結ぶ線分に加えて、カメラ自体も全周でおよそ等間隔に存在するようにカメラの配置を決定する配置決定装置及び、その方法について説明する。具体的には、実施形態2で説明した、光軸隣接度に加え、カメラ間の隣接度を示すカメラ隣接度にも基づいて、カメラの位置を決定する。以下に、本実施形態で行われるカメラ配置の決定方法の概要とその意義について図10を用いて説明する。
図10(a)、(b)のように、カメラ1003~1006の4台のカメラが含まれる撮像システム1000の場合を例に挙げて説明する。図10(a)は、撮像システム1000において、各カメラと注視点1001を結ぶ線分1009a~1009dについてだけ全周でおおよそ等角度となるようにカメラを配置した場合を示している。図10(a)の撮像システム1000では、全周の様々な方向において光軸が存在するとともに、様々な方向におけるシルエット画像が得られるため、3次元形状データを高精度に生成することができる。ただし、カメラ1003とカメラ1006との光軸間の角度1007は大きく、カメラ1003とカメラ1006の間にカメラが配置されていない。そのため、撮像対象であるオブジェクトにおいて、カメラ1003とカメラ1006の両方で撮像できない領域が発生する可能性がある。その結果、3次元形状データが高精度であっても、レンダリングに用いるテクスチャ情報が存在しない、又は少なくなってしまう。このテクスチャ情報は、仮想視点画像の品質に影響するため、カメラ1003とカメラ1006間に仮想視点が設定された場合には、その仮想視点画像が低画質となる。
これに対し、図10(b)は、撮像システム1000において、注視点1001を基準として各カメラが対称位置関係に配置されておらず、かつ、カメラ自体が全周においておおよそ等角度に配置されている。図10(a)に比べて図10(b)は、各カメラの光軸の全周における分散度合いは劣る一方で、図10(a)におけるカメラ1003とカメラ1006間の角度1008が小さくなる。図10(a)の構成よりも、カメラ1003とカメラ1006の両方で撮像できない領域が小さくなり、仮想視点画像の生成の際に用いるオブジェクトのテクスチャ情報が欠損を少なくすることができる。その結果、仮想視点画像を高画質にすることが可能となる。そのため、本実施形態では、図10(b)に示すように、光軸の分散の度合いだけでなく、カメラの分散の度合いを考慮しカメラが配置された撮像システムを構成する。
なお、上述した例では、カメラが4台の場合を説明したがこれに限らず、カメラが任意の台数の場合にも適用可能である。また、上述した例では、撮像システムの全てのカメラが対称位置の関係を満たさない場合を説明したがこれに限られず、設置上の制約上などの理由から、対称位置関係を満たすカメラが撮像システムに含まれてもよい許容することができる。
以下、本実施形態のカメラの配置を決定する決定装置及びその処理方法について、図8及び図9を参照して説明する。図8は、配置決定装置803の構成の一例を示すブロック図である。配置決定装置803は、カメラ情報取得部501と、対称情報取得部502と、光軸隣接情報取得部503と、変更情報決定部802と、カメラ情報更新部505と、カメラ制御部506を有し、さらにカメラ隣接情報取得部801を有する。カメラ隣接情報取得部801は、カメラ情報に基づいて、カメラ間の距離の近さを示すカメラ隣接度を取得し、それをカメラ毎にまとめてカメラ隣接情報とする。なお、カメラ隣接度は、撮像手段の間の距離を示す指標である。また、変更情報決定部802は、光軸隣接度に加え、カメラ隣接情報にも基づき、カメラの配置位置の変更量を決定する点で、実施形態2と異なる。
また、図9は、配置決定装置803における処理の流れの一例を示す図である。以下、各構成部により行われる処理の流れを説明する。実施形態2と同様の構成及び同様の処理については、実施形態2と同様の符号を付して説明を省略する。具体的にはS607までとS609以降、S612,S613は実施形態2と同様である。
S901において、カメラ隣接情報取得部801は、カメラ情報取得部501又はカメラ情報更新部505から取得したカメラ情報を用いて、基準カメラと他のカメラとの距離を示すカメラ隣接情報を取得する。カメラ情報は、カメラ情報更新部505から取得したカメラ情報を優先的に用いる。以下にカメラ隣接情報の取得方法を具体的に述べる。
本実施形態では、カメラ隣接情報として基準カメラ毎に2つの値を保持する。第1の値は基準カメラに対する距離の近さを示すカメラ隣接度を示し、第2の値は基準カメラに対する方向を示す。本実施形態では、第2の値として正(1)と負(0)との二種類のいずれかの値を保持する。しかしながら、カメラ隣接情報の表現方法は上記に限らず、基準カメラに対して他のカメラがどの程度、近いかまたその方向を表す他の方法を用いてもよい。以下に、カメラ隣接情報の算出方法を具体的に説明する。すなわち、例えば、以下の1)~3)のような手順で行われる。
1)各カメラの光軸投影ベクトルvi[vpi,vqi]を、カメラ毎に算出する。ここで、iは各カメラを識別する番号であり、いまi=1~6である。なお、この手順は、対称情報の算出方法の1)と同じであり、対称情報取得部502からこの情報を取得するようにしてもよい。
2)カメラ隣接度を算出する。具体的には、基準カメラの光軸投影ベクトルvo[vpo,vqo]と、基準カメラ以外のカメラの光軸投影ベクトルvj[vpj,vqj]との内積vo・vjと外積vo×vjとを算出する。ここで、oは基準カメラの識別番号を表し、jは基準カメラ以外のカメラの識別番号を表す。例えば、i=1のとき、o=1、j=2~6である。なお、この内積vo・vjは、対称情報取得部502から取得するようにしてもよい。また、外積vo×vjは、光軸隣接情報取得部503から取得するようにしてもよい。
3)上記2)で算出した、内積vo・vojの値をカメラ隣接情報の第1の値とする。また、外積vo×vjの値における正負に従ってカメラ隣接情報の第2の値を決定する。外積vo×vjの値が正である場合は、カメラ隣接情報の第2の値を1、外積vo×vjの値が負である場合は、カメラ隣接情報の第2の値を0とする。
本実施形態では、2次元平面と内積と外積とを用いてカメラ隣接度の算出を行ったが、これに限らず、他の方法を用いてもよい。カメラ隣接情報取得部801は、取得したカメラ毎のカメラ隣接度を全カメラでまとめた情報を変更情報決定部802に出力する。
S902において、変更情報決定部802は、光軸隣接情報取得部503から取得した光軸隣接情報と、カメラ隣接情報取得部801から取得した全カメラでまとめたカメラ隣接情報とから、基準カメラの位置を変更する際の変更量を決定する。そして、変更情報決定部802は、変更情報の第2の値を更新する。以下に具体的に述べる。すなわち、例えば、以下の1)~6)のような手順で行われる。
1)光軸隣接情報の中から光軸隣接度が正かつ最小となる値cpと、光軸隣接度が負かつ最小となる値cmを抽出する。
2)同様に、カメラ隣接情報の中からカメラ隣接情報の第2の値が1かつ第1の値が最小となる値dpと、第2の値が0かつ第1の値が最小となる値dmを取得する。
3)取得したdpとdmとから、基準カメラと隣接するカメラとのなす角の中間を示すθd=(arctan(dp)-arctan(dm))/2を算出する。
4)光軸隣接情報から光軸隣接度が0となるカメラが基準カメラ以外に存在するか否かを判定する。
5)光軸隣接情報から光軸隣接度が0となるカメラが基準カメラ以外に存在すると判定された場合は、光軸隣接度が正の最小値cpの絶対値と光軸隣接度が負の最小値cmの絶対値とを比較し、絶対値が最小となる値cを抽出する。そして、検出した値cを使用して、基準カメラの光軸と最も隣接する光軸との中間角度θc=arctan(c/2)を算出する。一方、光軸隣接度が0となるカメラが基準カメラ以外に存在しないと判定された場合は、中間角度θcを(arctan(cp)-arctan(cm))/2により算出する。
6)θcとθdとの中間角度θを(θc-θd)/2+θdにより算出する。
変更情報決定部802は、変更情報の第2の値を、算出した中間角度θを基準カメラの変更量で更新する。変更情報決定部802は、更新した変更情報をカメラ情報更新部505に出力する。なお、本実施形態では、逆正接を用いて変更量の算出を行ったがこれに限らず、基準カメラの光軸と隣接する光軸との角度又は移動量を算出可能な別の方法を用いてもよい。また、ユーザが任意で指定する変更量を利用し、その変更量を変更情報の第2の値として用いてもよい。また、変更情報の第2の値として角度を用いたがこれに限らず、3次元空間中での距離及びベクトルなど他の方法を用いてもよい。
なお、カメラの間の距離が大きいほど、カメラ配置位置の変更量が小さくなる。
また、本実施形態では、カメラ隣接情報と光軸隣接情報とを等価の割合で用いて変更量を決定したがこれに限らず、中間角度θを(α×θc-β×θd)/2+θdのように、重み付け和により決定してもよい。この場合、αをβよりも大きくするほど光軸の均等度合いが優先され、逆に、βをαよりも大きくするほどカメラ間の均等度合いが優先される。
以上が、本実施形態における決定装置及びその処理方法についての説明である。上記で説明した構成によれば、撮像システムに含まれるカメラの台数や、仮想視点の方向によらず高画質な仮想視点画像を生成する撮像システムを構築することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。