以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
(第1の実施形態)
[画像処理装置および画像処理システムの構成]
図1は、本実施形態における画像処理装置の構成例を示すブロック図である。
画像処理装置100によって選定された複数のカメラ(マルチカメラ)が、後述する画像処理システム(マルチカメラシステム)200の複数のカメラ212として配置される。すなわち、画像処理装置100は、本実施形態におけるマルチカメラ選定装置として機能する。
CPU101は、メインメモリ102のRAMをワークメモリとして、メインメモリ102のROMおよびハードディスクドライブ(HDD)105に格納されたオペレーティングシステム(OS)や各種プログラムを実行する。そして、PCI (Peripheral Component Interconnect)バスなどのシステムバス114を介して各構成を制御する。さらに、後述する画像処理を含む各種プログラムを実行する。
CPU101は、システムバス114およびシリアルATAインタフェイス(SATA I/F)103を介してHDD105にアクセスする。また、ネットワークI/F104を介してローカルエリアネットワーク(LAN)などのネットワーク115にアクセスする。
また、CPU101は、シリアルバスインタフェイス(I/F)108とUSBやIEEE1394などのシリアルバス110に接続されたデバイスと通信を行う。そして、後述する画像処理対象の画像データを、カードリーダを含む画像入力デバイス113から取得したり、処理結果をプリンタ109に出力したりして、例えばユーザが指示する処理結果を印刷する。尚、画像処理対象の画像データは、HHD105やネットワーク115上のサーバから読み出してもよい。
また、CPU101は、後述する処理のユーザインタフェイスや処理結果を、グラフィックアクセラレータ106を介してモニタ107に表示し、ユーザ指示をシリアルバス110に接続されたキーボード111、マウス112を介して入力する。
図2は、本実施形態における画像処理システムの構成例を示すブロック図である。
画像処理システム200は、競技場(スタジアム)やコンサートホールなどの施設に設置された複数のカメラ及びマイクを使用して、撮影及び集音を行うシステム(マルチカメラシステム)である。前述した画像処理装置100によって選定された複数のカメラが、画像処理システム200の複数のカメラ212として配置される。
画像処理システム200は、センサシステム210a〜210z、画像コンピューティングサーバ300、コントローラ400、スイッチングハブ280、及びエンドユーザ端末290を有する。
コントローラ400は、制御ステーション410と仮想カメラ操作UI(ユーザインタフェイス)430を有する。
制御ステーション410は、画像処理システム200を構成するそれぞれのブロックに対してネットワーク410a〜410c、280a、280b、及び270a〜270yを通じて動作状態の管理及びパラメータ設定制御などを行う。ここで、ネットワークはEthernet(登録商標)であるIEEE標準準拠のGbE(ギガビットイーサーネット)や10GbEでもよいし、インターコネクトInfiniband、産業用イーサーネット等を組合せて構成されてもよい。また、ネットワークはこれらに限定されず、他の種別のネットワークであってもよい。
最初に、センサシステム210a〜210zの26セットの画像及び音声をセンサシステム210zから画像コンピューティングサーバ300へ送信する動作を説明する。画像処理システム200では、センサシステム210a〜210zが、デイジーチェーンにより接続される。
本実施形態において、特別な説明がない場合は、センサシステム210aからセンサシステム210zまでの26セットのシステムを区別せずセンサシステム210と記載する。各センサシステム210内の装置についても同様に、特別な説明がない場合は区別せず、マイク211、カメラ212、雲台213、及びカメラアダプタ220と記載する。なお、センサシステムの台数を26セットとして記載しているが、あくまでも一例であり、台数をこれに限定するものではない。また、複数のセンサシステム210は同一の構成でなくてもよく、例えばそれぞれが異なる機種の装置で構成されていてもよい。なお、本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム200は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム200により提供される仮想視点コンテンツには、仮想視点画像と仮想視点音声が含まれる例を中心に説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくても良い。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音声であっても良い。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
センサシステム210は、それぞれ1台ずつカメラ212を有する。即ち、画像処理システム200は、オブジェクトを複数の方向から撮影するための複数のカメラ212を有する。なお、複数のカメラ212は同一符号を用いて説明するが、性能や機種が異なっていてもよい。複数のセンサシステム210同士はデイジーチェーンにより接続される。この接続形態により、撮影画像の4Kや8Kなどへの高解像度化及び高フレームレート化に伴う画像データの大容量化において、接続ケーブル数の削減や配線作業の省力化ができる。
なお、これに限らず、接続形態として、各センサシステム210がスイッチングハブ280に接続されて、スイッチングハブ280を経由してセンサシステム210間のデータ送受信を行うスター型のネットワーク構成としてもよい。
また、図2では、デイジーチェーンとなるよう、センサシステム210の全てがカスケード接続されている構成を示したが、これに限定するものではない。例えば、複数のセンサシステム210をいくつかのグループに分割して、分割したグループ単位でセンサシステム210間をデイジーチェーン接続してもよい。そして、分割単位の終端となるカメラアダプタ220が、スイッチングハブに接続されて画像コンピューティングサーバ300へ画像の入力を行うようにしてもよい。このような構成は、スタジアムにおいてとくに有効である。例えば、スタジアムが複数階で構成され、フロア毎にセンサシステム210を配備する場合が考えられる。この場合に、フロア毎、あるいはスタジアムの半周毎に画像コンピューティングサーバ300への入力を行うことができ、全センサシステム210を1つのデイジーチェーンで接続する配線が困難な場所でも設置の簡便化及びシステムの柔軟化を図ることができる。
また、画像コンピューティングサーバ300へ画像入力を行う終端のカメラアダプタ220が1つであるか、または2つ以上であるかに応じて、画像コンピューティングサーバ300での画像処理の制御が切り替えられる。すなわち、センサシステム210が複数のグループに分割されているかどうかに応じて制御が切り替えられる。画像入力を行うカメラアダプタ220が1つの場合は、デイジーチェーン接続で画像伝送を行いながら競技場全周画像が生成されるため、画像コンピューティングサーバ300において全周の画像データが揃うタイミングは同期がとられている。すなわち、センサシステム210がグループに分割されていなければ、同期はとられている。しかし、画像コンピューティングサーバ300へ画像入力を行うカメラアダプタ220が複数になる場合は、画像が撮影されてから画像コンピューティングサーバ300に入力されるまでの遅延がデイジーチェーンのレーン(経路)ごとに異なる場合が考えられる。すなわち、センサシステム210が複数のグループに分割される場合は、画像コンピューティングサーバ300に全周の画像データが入力されるタイミングは同期がとられないことがある。そのため、画像コンピューティングサーバ300において、全周の画像データが揃うまで待って同期をとる同期制御によって、画像データの集結をチェックしながら後段の画像処理を行う必要がある。
本実施形態では、センサシステム210aは、マイク211a、カメラ212a、雲台213a、及びカメラアダプタ220aを有する。なお、センサシステム210aは、この構成に限定されるものではなく、少なくとも1台のカメラアダプタ220aと、1台のカメラ212aまたは1台のマイク211aを有していれば良い。また例えば、センサシステム210aは、1台のカメラアダプタ220aと、複数のカメラ212aで構成されてもよいし、1台のカメラ212aと複数のカメラアダプタ220aで構成されてもよい。また、センサシステム210は、マイク211a、カメラ212a、雲台213a、及びカメラアダプタ220a以外の装置を含んでいてもよい。また、カメラ212とカメラアダプタ220が一体となって構成されていてもよい。さらに、カメラアダプタ220の機能の少なくとも一部をフロントエンドサーバ330が有していてもよい。本実施形態では、センサシステム210b〜210zについては、センサシステム210aと同様の構成なので省略する。なお、センサシステム210aと同じ構成に限定されるものではなく、それぞれのセンサシステム210の構成は異なっていてもよい。
マイク211aによって集音された音声と、カメラ212aによって撮影された画像は、カメラアダプタ220aにおいて画像処理が施された後、デイジーチェーン270aを通して、次のセンサシステム210bに伝送される。同様にセンサシステム210bは、集音された音声と撮影された画像を、センサシステム210aから取得した画像及び音声と合わせて、次のセンサシステム210cに伝送する。このような動作を続けることにより、センサシステム210a〜210zが取得した画像及び音声は、センサシステム210zからネットワーク280bを介してスイッチングハブ280に伝送され、その後、画像コンピューティングサーバ300へ伝送される。
なお、本実施形態では、カメラ212a〜212zとカメラアダプタ220a〜220zが分離された構成にしているが、同一筺体で一体化されていてもよい。その場合、マイク211a〜211zは、一体化されたカメラ212に内蔵されてもよいし、カメラ212の外部に接続されていてもよい。
次に、画像コンピューティングサーバ300の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ300は、終端のセンサシステム210zから取得した画像及び音声データの処理を行う。画像コンピューティングサーバ300は、フロントエンドサーバ330、データベース350(以下、DBとも記載する。)、バックエンドサーバ370、及びタイムサーバ390を有する。
タイムサーバ390は、時刻及び同期信号を配信する機能を有し、スイッチングハブ280を介してセンサシステム210a〜210zに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ220a〜220zは、カメラ212a〜212zを時刻と同期信号をもとにGenlockさせ、画像フレーム同期を行う。即ち、タイムサーバ390は、複数のカメラ212の撮影タイミングを同期させる。これにより、画像処理システム200は同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、本実施形態では、タイムサーバ390が複数のカメラ212の時刻同期を管理するものとするが、これに限らず、時刻同期のための処理を各カメラ212又は各カメラアダプタ220が独立して行ってもよい。
フロントエンドサーバ330は、終端のセンサシステム210zから取得した画像及び音声について、セグメント化された伝送パケットを再構成してデータ形式を変換する。そして、カメラの識別子やデータ種別、フレーム番号に応じてデータベース350に書き込む。
バックエンドサーバ370は、仮想カメラ操作UI430から、ユーザが入力した視点の指定を受け付け、受け付けられた視点に基づいて、データベース350から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。
なお、画像コンピューティングサーバ300の構成はこれに限らない。例えば、フロントエンドサーバ330、データベース350、及びバックエンドサーバ370のうち少なくとも2つが一体となって構成されていてもよい。また、フロントエンドサーバ330、データベース350、及びバックエンドサーバ370の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ300内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ300の機能の少なくとも一部をエンドユーザ端末290や仮想カメラ操作UI430が有していてもよい。
バックエンドサーバ370は、生成した仮想視点画像を、エンドユーザ端末290に送信する。エンドユーザ端末290を操作するユーザは、視点の指定に応じた画像閲覧及び音声視聴が出来る。すなわち、バックエンドサーバ370は、複数のカメラ212により撮影された撮影画像(複数視点画像)と視点情報とに基づく仮想視点コンテンツを生成する。より具体的には、バックエンドサーバ370は、例えば複数のカメラアダプタ220により複数のカメラ212による撮影画像から抽出された所定領域の画像データと、ユーザ操作により指定された視点に基づいて、仮想視点コンテンツを生成する。そしてバックエンドサーバ370は、生成した仮想視点コンテンツをエンドユーザ端末290に提供する。なお、仮想視点コンテンツは、画像コンピューティングサーバ300に含まれるバックエンドサーバ370以外の装置により生成されてもよいし、コントローラ400やエンドユーザ端末290により生成されてもよい。
本実施形態における仮想視点コンテンツは、仮想的な視点からオブジェクトを撮影した場合に得られる画像としての仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点におけるビューを表す画像であるとも言える。仮想的な視点(仮想視点)は、ユーザにより指定されても良いし、画像解析の結果等に基づいて自動的に指定されても良い。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像(自由視点画像)が含まれる。また、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。なお、本実施形態では、仮想視点コンテンツに音声データ(オーディオデータ)が含まれる場合の例を中心に説明しているが、必ずしも音声データが含まれていなくても良い。また、バックエンドサーバ370は、仮想視点画像を例えばH.264やHEVCなどの符号化方式に従って圧縮符号化したうえで、MPEG−DASHプロトコルを使ってエンドユーザ端末290へ送信してもよい。また、仮想視点画像は、非圧縮でエンドユーザ端末290へ送信されてもよい。とくに圧縮符号化を行う前者はエンドユーザ端末290としてスマートフォンやタブレットを想定している。一方、後者は、非圧縮画像を表示可能なディスプレイを想定している。すなわち、エンドユーザ端末290の種別に応じて画像フォーマットが切り替え可能である。また、画像の送信プロトコルはMPEG−DASHに限らず、例えば、HLS(HTTP Live Streaming)やその他の送信方法を用いても良い。
このように、画像処理システム200は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという3つの機能ドメインを有する。映像収集ドメインは、センサシステム210−210zを含む。データ保存ドメインは、データベース350、フロントエンドサーバ330及びバックエンドサーバ370を含む。映像生成ドメインは、仮想カメラ操作UI430及びエンドユーザ端末290を含む。なお本構成に限らず、例えば、仮想カメラ操作UI430が直接センサシステム210a〜210zから画像を取得する事も可能である。しかしながら、本実施形態では、センサシステム210a〜210zから直接画像を取得する方法ではなく、データ保存機能を中間に配置する方法をとる。具体的には、フロントエンドサーバ330が、センサシステム210a〜210zが生成した画像データや音声データ及びそれらのデータのメタ情報を、データベース350の共通スキーマ及びデータ型に変換する。これにより、センサシステム210a〜210zのカメラ212が他機種のカメラに変更されても、変更された差分をフロントエンドサーバ330が吸収し、データベース350に登録することができる。このような構成によって、カメラ212が他機種のカメラに変わった場合に、仮想カメラ操作UI430が適切に動作しない虞を低減できる。
また、仮想カメラ操作UI430は、直接データベース350にアクセスせずに、バックエンドサーバ370を介してアクセスする。バックエンドサーバ370で画像生成処理に係わる共通処理を行い、操作UIに係わるアプリケーションの差分部分を仮想カメラ操作UI430が吸収している。このような構成により、仮想カメラ操作UI430の開発において、UI操作デバイスや、生成したい仮想視点画像を操作するUIの機能要求に対する開発に注力する事ができる。また、バックエンドサーバ370は、仮想カメラ操作UI430の要求に応じて画像生成処理に係わる共通処理を追加又は削除する事も可能である。このような構成によって、バックエンドサーバ370は、仮想カメラ操作UI430の要求に柔軟に対応する事ができる。
以上説明したように、画像処理システム200においては、オブジェクトを複数の方向から撮影するための複数のカメラ212による撮影画像に基づいて、バックエンドサーバ370により仮想視点画像が生成される。なお、本実施形態における画像処理システム200は、上記で説明した物理的な構成に限定されず、論理的に構成されていてもよい。また、本実施形態は、例えば仮想視点画像を生成せず、複数のカメラ212を切り替えることによって撮影画像をエンドユーザ端末290へ送信する場合にも適用できる。
[マルチカメラの選定]
先述したように、仮想視点画像は、画像処理システム200において同じタイミングで撮影された複数の撮影画像に基づいて生成される。このため、複数のカメラ212の各撮影画像の特性(明るさや色味)に違いがあると、仮想視点を移動させた際に生成される仮想視点画像が不自然になる。
そこで、本実施形態では、画像処理システム200において、カメラ間色差が小さくなるように複数のカメラ(以下、マルチカメラともいう)212を選定して、選定した各カメラの相対的な位置関係を決定する。
画像処理システム200が、仮想視点画像を生成するために必要な台数(M台)以上のカメラ(L台)を有している場合には、カメラ間の色差が小さくなるようにM台のカメラを選定する必要がある。
L台のカメラから選定されるM台(M≦L)のカメラの組み合わせの数は、式(1)で示される。
図3は、本実施形態におけるマルチカメラ配置の例を示す概念図であり、M台のカメラを円形に並べた例を示している。なお、M台のカメラは、オブジェクトを異なる方向から捉えていればよく、図示した配置に限定されるものではない。例えば、M台のカメラは、真円上、楕円上、または一直線上に配置してもよい。本実施形態では簡単化のため、円形を例に説明する。
M台のカメラを円形に並べる円順列の総数は、式(2)で示される。
よって、L台のカメラからM台(M≦L)のマルチカメラを選定し、選定したM台のカメラを円形に並べる円順列の総数は、式(3)で示される。
つまり、M台のカメラを円形に並べたマルチカメラの組の候補は、式(3)で示される数だけ存在するので、各候補においてカメラ間の色差を評価し、その色差が最も小さくなるマルチカメラの組を決定する。なお、マルチカメラの組とは、M台のカメラの相対的な位置関係を表す。これにより、画像処理システム200で配置する複数のカメラ212と、各カメラの相対的な位置関係を求めることができる。
[カラーチャート撮影とカラーパッチの抽出]
カメラ間の色差を求めるため、同一のカラーチャートを異なるカメラで撮影する。
図4は、本実施形態におけるカラーチャート撮影の例を示す概念図であり、L台のカメラがカラーチャート500を撮影する例を示している。
カラーチャート500は、複数のカラーパッチから構成される。各カラーパッチは、測色器等によってCIE XYZやCIE Labなどのデバイス非依存の色値が予め測定されている。オブジェクトとしてのカラーチャート500は、暗室の観察ブース内に置かれてもよいし、撮影現場のオブジェクトの位置に置かれてもよい。また、カラーチャート500は、各カメラが異なる方向から同時に撮影してもよいし、カメラを1台ずつ正対させて撮影してもよい。
画像処理装置100は、画像入力デバイス113から、カラーチャート500をオブジェクトとしたL台のカメラ501、502、503、504、…の撮影画像を取得し、各撮影画像からカラーチャート500の各カラーパッチの色値を抽出する。ここで、各カラーパッチの色値の抽出は自動であっても手動であってもよい。
次に、画像処理装置100は、各カラーパッチの色値を撮影画像の色空間からCIE XYZやCIE Labなどのデバイス非依存な色空間へ変換する。撮影画像の色空間が、ITU-R BT.709、ITU-R BT.2020、DCI-P3、ACES、sRGB、Adobe RGBなどの「定義された色空間」である場合、デバイス非依存な色空間へ変換することができる。また、撮影画像がRAW画像の場合には、RAW現像処理によって「定義された色空間」へ変換する。また、L台のカメラ501、502、503、504、…の撮影画像の取得方法は、画像入力デバイス113経由に限定されず、L台のカメラを画像処理システム200の複数のカメラ212として接続して、ネットワーク115経由で取得してもよい。
[カメラ間色差評価]
図5は、本実施形態におけるカメラ間色差評価テーブルの例を示し、M台のカメラを円形に並べたマルチカメラの組のカメラ間色差評価の例を示している。
カメラ間色差評価テーブル600の各行は、カラーチャート500の各カラーパッチの色を示す。カメラ間色差評価テーブル600は、例えばカラーチャートがColorChecker Classic(24色)の場合には、24行のデータを含む。カラーチャート500は、自作のカラーチャートを利用してもよいし、ColorChecker Digital SG(140色)のような市販のカラーチャートを利用してもよい。
カラーチャート500の各カラーパッチのLab値610には、カラーチャート500の各カラーパッチを測色器で測色したLab値が格納される。
カラーチャート500の各カラーパッチに対する各カメラのLab値620には、M台のカメラを円形に並べたマルチカメラの組の候補の各カメラの撮影画像から各カラーパッチの色を抽出して変換したLab値が格納される。
画像処理装置100は、マルチカメラの組におけるカメラ間色差を評価し、色差が最も小さくなるマルチカメラの組を求める。
M台のカメラから2台のカメラを選んで色差を求める組み合わせの総数は、式(4)で示される。
式(4)の組み合わせの総数に対して色差を評価すればマルチカメラ全体の色差を小さくすることができるが、本実施形態では簡単化のため、隣接するカメラ間の色差を評価する例を説明する。
円形に並べたマルチカメラにおけるi番目のカラーパッチに対する隣接カメラ間色差630は、式(5)によって求めることができる。ここでは、カメラ212aのLab値を(L* 1(i),a* 1(i),b* 1(i))、カメラ212bのLab値を(L* 2(i),a* 2(i),b* 2(i))とする。
同様に、ΔE23(i)、ΔE34(i)、…、ΔE(M-1)M(i)、ΔEM1(i)のように、M通りの各カラーパッチの隣接カメラ間色差630を求める。
ここで、本実施形態では簡単化のため、色差式としてΔE76(CIE76)を用いているが、ΔE94(CIE94)やΔE00(CIEDE2000)などを用いてもよい。
更に、M台のカメラを円形に並べたマルチカメラの組の候補におけるi番目のカラーパッチに対する隣接カメラ間単純平均色差640は、式(6)によって求めることができる。
一方、各カラーパッチに対する隣接カメラ間色差630が式(5)によって求められているので、M台のカメラを円形に並べたマルチカメラの組の候補における隣接カメラ(j,j+1)に対する隣接カメラ間平均色差650を求めることもできる。隣接カメラ間平均色差650は、単純平均色差(ΔEj(j+1))aまたは加重平均色差(ΔEj(j+1))wを使用目的に応じて選択的に格納することができる。
撮影において、オブジェクトの色が事前に予測できない場合には、単純平均によるカメラ間色差評価を行うことができる。隣接カメラ(j,j+1)に対する隣接カメラ間単純平均色差(ΔEj(j+1))aは、i番目のカラーパッチに対する隣接カメラ(j,j+1)の色差をΔEj(j+1)(i)、カラーパッチの総数をNとすれば、式(7)によって求めることができる。
一方、撮影が競技場(スタジアム)やコンサートホールなどの施設で行われる場合には、リハーサルの段階で重要色(芝生、ユニフォーム、広告、肌色、衣装、楽器などの色)が事前にわかることが多い。したがって、特定の色に対して重み付けを行ったカメラ間色差評価を行うことができる。例えば、カラーチャート500の全カラーパッチの中から重要色に近いカラーパッチを特定し、特定したカラーパッチに対する隣接カメラ(j,j+1)の色差に対して他のカラーパッチより大きい重みを与える。隣接カメラ(j,j+1)に対する隣接カメラ間加重平均色差(ΔEj(j+1))wは、i番目のカラーパッチに対する重みをwiとすれば、式(8)によって求めることができる。なお、i番目のカラーパッチに対する隣接カメラ(j,j+1)の色差はΔEj(j+1)(i)、カラーパッチの総数をNとする。
また、隣接カメラ間平均色差650の算出方法に応じて、カメラ間色差評価結果660も、単純平均色差または加重平均色差が用いられる。すなわち、単純平均色差(ΔEj(j+1))aの単純平均が格納される場合(式(9))と、加重平均色差(ΔEj(j+1))wの単純平均が格納される場合(式(10))が存在する。
[マルチカメラ配置の決定]
最適なマルチカメラの組を決定するためには、式(3)で示されるマルチカメラの組の全候補の中で、式(9)または式(10)によって算出されるカメラ間色差評価結果660が最小となるマルチカメラの組を求める必要がある。
カメラ間色差評価結果660が最小となるマルチカメラの組が決定できれば、画像処理システム200で配置するカメラ212と、各カメラの相対的な位置関係を一意に決定することができる。但し、マルチカメラの組は円順列によって決定されているため、各カメラの相対的な位置関係を保ったままカメラの全体配置を回転させる自由度は残る。
そこで、撮影する上で重要な視線が集まる区間と、マルチカメラの円周上で隣接カメラ間平均色差650が小さくなる区間とが重なるようにして、最適なマルチカメラ配置を決定する。撮影する上で重要な視線が集まる区間とは、例えば、スタジアムのメインスタンド側、コンサートホールのステージ正面側などである。
画像処理装置100は、隣接カメラ間平均色差650の分布を利用して、隣接カメラ(j,j+1)の平均色差が小さくなる区間を特定し、撮影する上で重要な視線が集まる区間と重なるようにしてマルチカメラの配置を決定する。
[マルチカメラ選定の処理の流れ]
図6は、本実施形態におけるマルチカメラ選定処理のフローチャートである。
フローチャートに示される一連の処理は、画像処理装置100のCPU101がメインメモリ102またはHDD105などの記憶装置に記憶された制御プログラムをRAMに展開し、実行することにより行われる。あるいはまた、フローチャートにおけるステップの一部または全部の機能をASICや電子回路等のハードウェアで実現してもよい。各処理の説明における記号「S」は、当該フローチャートにおけるステップを意味する。その他のフローチャートについても同様である。
まず、S1001において、L台のカメラのそれぞれによって撮影されたカラーチャート500の撮影画像を取得する。
次に、S1002において、各撮影画像からカラーチャート500の各カラーパッチの色値を抽出する。
次に、S1003において、抽出した各カラーパッチの色値をLab値に変換する。
次に、S1004において、L台のカメラからM台(M≦L)のマルチカメラを選定し、更にM台のカメラを円形に並べたマルチカメラの組の候補を決定する。すなわち、画像処理装置100のCPU101は、マルチカメラの組の候補を決定する候補決定手段として機能する。具体的には、式(3)で示されるM台のカメラを円形に並べる円順列の総数分のマルチカメラの組の候補を順次決定する。
ここでは、5台のカメラから4台のマルチカメラの組の候補(L=5、M=4)を生成する例を説明する。
5台のカメラ(1,2,3,4,5)から4台のマルチカメラを選ぶ組み合わせは、式(1)より次の5通り(=5C4)となる。
(1,2,3,4)
(1,2,3,5)
(1,2,4,5)
(1,3,4,5)
(2,3,4,5)
更に、4台のマルチカメラ(1,2,3,4)を円形に並べたマルチカメラの組の候補(円順列)は、式(2)より次の6通り(=3!)となる。
(1,2,3,4)
(1,2,4,3)
(1,3,2,4)
(1,3,4,2)
(1,4,2,3)
(1,4,3,2)
同様に、他のマルチカメラの組み合わせ(1,2,3,5)、(1,2,4,5)、(1,3,4,5)、(2,3,4,5)に対してもマルチカメラの組の候補を求める。そうすると、5台のカメラ(1,2,3,4,5)から生成される4台のマルチカメラの組の候補の総数は、式(3)で示される30通りとなる。
次に、S1005において、S1004で決定されたM台のマルチカメラの組の候補に対して、カメラ間色差評価結果660を算出し、カメラ間色差評価テーブル600に格納する。すなわち、画像処理装置100のCPU101は、カメラ間色差を評価する色差評価手段として機能する。具体的には、円形に並べられた隣接カメラ間におけるカラーパッチの平均色差を算出し、さらに、算出した平均色差の単純平均を、当該マルチカメラの組の候補に対するカメラ間色差評価結果660として算出する。尚、カメラ間色差評価結果660を求める方法は、先述した式(9)及び式(10)のように使用目的によって複数存在する。
次に、S1006において、マルチカメラの組の全候補に対してS1004からS1005の処理を実施したか否かを判定する。未了の場合はS1004に戻る。一方、終了の場合にはS1007へ進む。
次に、S1007において、マルチカメラの組の全候補の中でカメラ間色差評価結果660が最小となるマルチカメラの組を決定する。すなわち、画像処理装置100のCPU101は、マルチカメラの組を決定する組決定手段として機能する。ここでは、マルチカメラにおける各カメラの相対的な位置関係が決定する。
次に、S1008において、撮影する上で重要な視線が集まる重要視線区間の情報を取得し、重要視線区間に基づいてマルチカメラの配置を決定する。すなわち、画像処理装置100のCPU101は、マルチカメラの組の配置を決定する配置決定手段として機能する。また、重要視線区間とは、マルチカメラによって撮影される特定区間を意味する。
ここでは、重要視線区間の情報が、「既に決まっているM台のマルチカメラの配置場所の内、p番目からq番目の間が重要なカメラ」という情報である場合の例を示す。
図8は、本実施形態における重要視線区間の例を示す概念図である。重要なカメラがp番目からq番目の間とすると、その区間の台数は(q−p+1)台となる。そこで、隣接カメラ間平均色差650において隣接する(q−p+1)台のカメラに対する(q−p)箇所の隣接カメラ間平均色差の単純平均を順次求めていく。そして、r番目(r∈[1,M])から(r+q−p)番目の間のカメラに対する(q−p)箇所の隣接カメラ間平均色差の単純平均であるave(ΔEr→r+q-p)aまたはave(ΔEr→r+q-p)wが最小となる区間を特定する。
また、p〜q番目の間の重要なカメラにおいて、隣接カメラ間平均色差に対する重要度分布(または重み係数)が予めわかっている場合には、各隣接カメラ間平均色差に対する重みをvj(j∈[r, r+q-p-1])として、加重平均を算出してもよい。すなわち、隣接カメラ間平均色差の単純平均を求める式(11)や式(12)の代わりに、隣接カメラ間平均色差の加重平均を求める式(13)や式(14)を利用することもできる。
そして、隣接カメラ間平均色差の単純平均であるave(ΔEr→r+q-p)aやave(ΔEr→r+q-p)wが最小となる区間において、r番目のカメラを求める。または、隣接カメラ間平均色差の加重平均であるweighted(ΔEr→r+q-p)aやweighted(ΔEr→r+q-p)wが最小となる区間において、r番目のカメラを求める。r番目のカメラがp番目のカメラと一致するように円形に並べたマルチカメラを回転させれば、マルチカメラ配置を決定することができる。
なお、重要視線区間や隣接カメラ間平均色差に対する重要度分布は、設定ファイルによって指定することもできるし、ユーザがユーザインタフェイスを介して指定することもできる。
図7は、本実施形態におけるカメラ間色差評価(S1005)のフローチャートである。
図7(a)は、全てのカメラ間の単純平均色差を評価する処理の一例を示す。
S1009において、M台のカメラのうち、2台のカメラの全ての組み合わせに対して各カラーパッチのカメラ間色差を求め、全カラーパッチに対するカメラ間単純平均色差を求める。そして、式(4)で示される総数のカメラ間単純平均色差を単純平均して、カメラ間色差評価結果660を算出する。
図7(b)は、隣接カメラ間の単純平均色差を評価する処理の一例を示す。
S1010において、カメラ間色差を全ての組み合わせに対して求めるのではなく、式(5)で各カラーパッチの隣接カメラ間色差を求める。そして、式(7)で隣接カメラ間単純平均色差を求め、式(9)に従ってカメラ間色差評価結果660を算出する。
図7(c)は、全てのカメラ間の加重平均色差を評価する処理の一例を示す。
S1011において、M台のカメラのうち、2台のカメラの全ての組み合わせに対して各カラーパッチのカメラ間色差を求め、各カラーパッチに対する重み係数を取得して全カラーパッチに対するカメラ間加重平均色差を求める。そして、式(4)で示される総数のカメラ間加重平均色差を単純平均して、カメラ間色差評価結果660を算出する。
図7(d)は、隣接カメラ間の加重平均色差を評価する処理の一例を示す。
S1012において、カメラ間色差を全ての組み合わせに対して求めるのではなく、式(5)で各カラーパッチの隣接カメラ間色差を求める。そして、各カラーパッチに対する重み係数を取得して式(8)によって隣接カメラ間加重平均色差を求め、式(10)に従ってカメラ間色差評価結果660を算出する。
なお、各カラーパッチに対する重み係数は、設定ファイルによって指定することもできるし、ユーザインタフェイスによって指定することもできる。
本実施形態では、マルチカメラの組の候補を順次評価する例を示したが、組み合わせ最適化問題として他の解法を適用してもよい。
[効果]
以上説明したように、本実施形態によれば、カメラ間色差が小さくなるようにマルチカメラを選定し、マルチカメラの組を決定することにより、マルチカメラで撮影された各撮影画像間の色差を小さくすることができる。また、重要視線区間に応じてマルチカメラの配置を決定することができる。
(第2の実施形態)
第1の実施形態では、L台のカメラからM台(M≦L)のマルチカメラを選定し、更にM台のカメラを円形に並べたマルチカメラの組の候補(円順列)についてカメラ間色差評価結果660が最小となるマルチカメラの組を決定する方法について説明した。第1の実施形態の方法は、最適なマルチカメラ配置を決定する方法として有効であるが、カメラの台数(LやM)が多くなると、マルチカメラの組の候補の総数が急激に増加するため処理時間が多くかかってしまう。
本実施形態では、カメラの台数が多くても実用的な時間内に最適なマルチカメラ配置を決定できる方法について説明する。なお、カメラの台数や画像処理装置100の処理能力に応じて、第1の実施形態と本実施形態を切り替えたり、組み合わせたりしてもよい。
[マルチカメラの選定]
第1の実施形態では、L台のカメラからM台(M≦L)のマルチカメラの候補を挙げてからカメラ間色差評価を行った。一方、本実施形態ではL台のカメラに対して基準色との色差による順位付けを行い、色差の小さい方からM台のマルチカメラを選定する。
基準色との色差による順位付けには、カラーチャートを基準にする方法と、マスターカメラを基準にする方法がある。
カラーチャートを基準にする方法は、忠実な色再現が重視される場合に有効である。カメラの色調整が不十分な場合や、カメラ内で画づくりされている場合には色差が大きくなることがある。
一方、マスターカメラを基準にする方法は、カメラ間の色合わせが重視される場合に有効である。同一モデルのカメラをマルチカメラとして利用する場合には、各カメラの特性が似ているため、カメラ内で画づくりされていても色差は小さくなる。異なるモデルのカメラを組み合わせてマルチカメラとして利用している場合や、従来の画づくりとの互換性が重視される場合など、慣例としてマスターカメラが決まっている場合には、基準となっているマスターカメラをそのまま利用する。マスターカメラが決まっていない場合には、カラーチャート、または複数カメラの平均値を基準にマスターカメラを選定し、そのマスターカメラを基準としてマルチカメラを決定してもよい。すなわち、L台のカメラによってカラーチャートを撮影した各撮影画像と、カラーチャートの測定値との色差に基づいて、当該色差が最も小さい特定のカメラをマスターカメラとして決定してもよい。また、L台のカメラによってカラーチャートを撮影した各撮影画像と、カラーチャートの測定値との色差の平均値に最も近い撮影画像を撮影した特定のカメラをマスターカメラとして決定してもよい。あるいは、カラーチャートを基準にマスターカメラを選定するのではなく、複数カメラの平均色差、または加重平均色差を基準にマスターカメラを選定してもよい。
図9は、本実施形態における基準色とカメラの色差評価テーブルの例を示し、L台のカメラの色差評価の例を示している。
基準色とカメラの色差評価テーブル700の各行は、カラーチャート500の各カラーパッチの色を示しており、例えばカラーチャートがColorChecker Classic(24色)の場合には24行となる。カラーチャート500は自作のカラーチャートを利用してもよいし、ColorChecker Digital SG(140色)のような市販のカラーチャートを利用してもよい。
基準色のLab値710には、カラーチャートの基準色、またはマスターカメラの基準色のLab値が格納される。カラーチャートの基準色の場合には、カラーチャート500の各カラーパッチを測色器で測色したLab値が格納される。一方、マスターカメラの基準色の場合には、カラーチャート500を撮影したマスターカメラの撮影画像から各カラーパッチの色を抽出して変換したLab値が格納される。
カラーチャート500の各カラーパッチに対する各カメラのLab値720には、L台の各カメラの撮影画像から各カラーパッチの色を抽出して変換したLab値が格納される。
各カメラにおけるi番目のカラーパッチに対するカメラ色差730は、式(15)によって求めることができる。ここで、基準色のLab値は(L* 0(i), a* 0(i), b* 0(i))、カメラ1のLab値は(L* 1(i), a* 1(i), b* 1(i))とする。
同様に、ΔE2(i)、ΔE3(i)、…、ΔE(L-1)(i)、ΔEL(i)のように、L台のカメラにおけるカメラ色差730を求める。
ここで、本実施形態では簡単化のため、色差式としてΔE76(CIE76)を用いているが、ΔE94(CIE94)やΔE00(CIEDE2000)などを用いてもよい。
各カラーパッチに対する各カメラの色差が式(15)によって求められているので、L台のカメラのうち、j番目のカメラに対するカメラ平均色差740を求めることもできる。カメラ平均色差740には、単純平均色差(ΔEj)aまたは加重平均色差(ΔEj)wを使用目的に応じて選択的に格納することができる。
撮影の前に、オブジェクトの色が事前に予測できない場合には、単純平均によるカメラ色差評価を行うことができる。L台のカメラのうち、j番目のカメラに対するカメラ単純平均色差(ΔEj)aは、i番目のカラーパッチに対するカメラjのカメラ色差をΔEj(i)、カラーチャート500のカラーパッチ総数をNとすれば、式(16)によって求めることができる:
一方、撮影が競技場(スタジアム)やコンサートホールなどの施設で行われる場合には、リハーサルの段階で重要色(芝生、ユニフォーム、広告、肌色、衣装、楽器などの色)が事前にわかることが多い。そのため、特定の色に対して重み付けを行ったカメラ色差評価を行うことができる。例えば、カラーチャート500の全カラーパッチの中から重要色に近いカラーパッチを特定し、特定したカラーパッチに対するカメラ色差に対して他のカラーパッチより大きい重みを与える。L台のカメラのうち、j番目のカメラに対するカメラ加重平均色差(ΔEj)wは、式(17)によって求めることができる。ここで、i番目のカラーパッチに対するカメラjのカメラ色差およびその重みをΔEj(i)およびwi、カラーチャート500のカラーパッチ総数をNとする。
次に、カメラ平均色差740が式(16)または式(17)によって求められているので、カメラ平均色差740による順位付けを行う。カメラ平均色差740の小さい方からM台のカメラを選定すれば、基準色(カラーチャートの基準色、またはマスターカメラの基準色)に近い色再現が可能なマルチカメラが構成できる。
[マルチカメラ配置の決定]
これまでの手順で、M台のマルチカメラ選定と、各カメラの順位付け(基準色に対するカメラ平均色差740の小さい順)は行われているが、各カメラの相対的な位置関係は確定していない。以下では、M台のカメラを円形に並べたマルチカメラ配置において、カメラ間の色差を小さくする方法を述べる。
図10は、本実施形態におけるマルチカメラの相対的な位置関係の例を示す概念図である。簡単化のため、円形に並べた6台のカメラ800〜805は、それぞれ色値1〜6を示すものとする。
図10(a)は、6台のカメラ800〜805を色値の小さい順に時計回りに配置した例である。
図10(a)において、カメラ800と801、801と802、802と803、803と804、および804と805の色値の差は1であるが、カメラ805と800の色値の差は5である。ここで、色値の差の合計は10であり、色値の差の単純平均は、10/6(≒1.667)である。
一方、図10(b)は、6台のカメラ800〜805を色値の小さい順に、カメラ800からの距離が近くなるように配置した例である。
図10(b)において、カメラ800と801、および805と804の色値の差は1であるが、カメラ801と803、803と805、804と802、および802と800の色値の差は2である。ここで、色値の差の合計は10であり、色値の差の単純平均は、10/6(≒1.667)である。
図10(a)の配置でも図10(b)の配置でも、色値の差の単純平均は同じ値であるが、カメラを円形に並べるマルチカメラ配置としては、隣接するカメラの色が連続的に変化する図10(b)の方が好ましい。
図11は、本実施形態における基準色とカメラの色差の例を示す概念図である。
図10では色値が1次元の場合の例を示したが、実際の色値は図11のように3次元となる。図11は、カメラ800をマスターカメラとした場合の例を示している。図示されるように、基準色(マスターカメラ)と各カメラの色差はユークリッド距離によって定義されるので、各カメラを基準色に対する色差の小さい順に配置したとしても、カメラ間の色差が小さくなるという保証はない。例えば、図11では、カメラ800とカメラ803の色差や、カメラ800とカメラ804の色差より、カメラ803とカメラ804の色差の方が大きくなっている。
カメラ間色差が小さくなることを保証するためには、マスターカメラを基準として色差が最も小さいカメラを探し、次にそのカメラを基準として色差が最も小さいカメラを探すというように、カメラ間色差が小さくなるカメラを順次探していけばよい。
したがって、M台のカメラの順位付け(カメラ間色差の小さい順)が全て完了すれば、図10(b)のようにカメラ間色差が小さい順に、カメラ800からの距離が近くなるように次のカメラを順次配置する。
また、カメラの台数が多い場合には、M台のカメラをP個(P<M)のグループに分割して配置してもよい。ここでは、30台のマルチカメラを第1〜第6グループの6グループに分割(M=30、P=6)して配置する例を説明する。また、各グループには5台(=M/P)のカメラを割り当てるものとする。
第1グループは、基準色とカメラの色差評価テーブル700において、30台のマルチカメラの色差評価を行うことによって求めることができる。基準色のLab値710としてマスターカメラの基準色を格納し、カメラ平均色差740を求めた後、カメラ平均色差740による順位付けを行う。カメラ平均色差740の小さい方から5台(マスターカメラを含む)のカメラを第1グループとして選定する。カメラ平均色差740には、単純平均色差(ΔEj)aまたは加重平均色差(ΔEj)wを使用目的に応じて選択できるものとする。
次に、マスターカメラを基準としたカメラ平均色差740において、カメラ平均色差が6番目に小さいカメラを第2グループの代表カメラとする。第2グループは、基準色とカメラの色差評価テーブル700において、30台のマルチカメラから第1グループの5台を除いた25台のカメラの色差評価を行うことによって求めることができる。基準色のLab値710に第2グループの代表カメラの基準色を格納し、カメラ平均色差740を求めた後、カメラ平均色差740による順位付けを行う。カメラ平均色差740の小さい方から5台(第2グループの代表カメラを含む)のカメラを第2グループとして選定する。
同様に、第3〜第6グループの代表カメラ、および各グループのカメラ5台を順次選定する。
次に、第1〜第6グループにグループ分けされた各グループのカメラを、図10(b)のカメラ800〜805の位置に割り当てる。各グループ内の5台のカメラの配置は、各グループの代表カメラとの平均色差が小さい順に、カメラ800からの距離が近くなるように同一円周上に配置する。なお、第1グループはカメラ800の位置に割り当てる等、カメラの属するグループが決定すればカメラの割り当て位置も自動的に決定される。したがって、全てのグループのカメラが選定されてから各カメラを配置するのではなく、各カメラの属するグループが決まった時点で各カメラを配置してもよい。
以上の処理により、マルチカメラにおける各カメラの相対的な位置関係を一意に決定することができたので、第1の実施形態と同様に、カメラ間色差評価テーブル600を利用して、カメラの全体配置を確定すればよい。つまり、撮影する上で重要な視線が集まる区間(スタジアムのメインスタンド側、コンサートホールのステージ正面側など)と、マルチカメラの円周上で隣接カメラ間平均色差650が小さくなる区間が重なるようにマルチカメラ配置を決定する。
[マルチカメラ選定の処理の流れ]
図12、13は、第2の実施形態におけるマルチカメラ選定処理のフローチャートである。尚、第1の実施形態と同一の処理については同じ符号を付して説明を省略し、第1の実施形態と異なる点を中心に簡潔に説明する。
図12は、マスターカメラを基準としてカメラ間色差の小さいカメラを順次探索して、マルチカメラを選定する処理の一例を示す。
S1001からS1003までの処理により、第1の実施形態と同様に、L台のカメラのそれぞれによりカラーチャート500を撮影した撮影画像を取得し、各カラーパッチの色値をLab値へ変換する。そして、カラーチャート500の各カラーパッチに対する各カメラのLab値720へ格納する。
次に、S2001において、カラーチャート500の各カラーパッチを測色したLab値を基準色のLab値710へ格納し、L台のカメラにおけるカメラ色差730を求める。
次に、S2002において、各カラーパッチに対する重み係数を取得し、L台のカメラにおけるカメラ平均色差740を求め、カメラ平均色差が最も小さいカメラをマスターカメラとして選定する。
次に、S2003において、マスターカメラの基準色を基準色のLab値710へ格納し、カメラ平均色差740の小さい方からM台のカメラをマルチカメラとして選定する。すなわち、画像処理装置100のCPU101は、M台のカメラをマルチカメラとして選定するマルチカメラ選定手段として機能する。
次に、S2004において、マスターカメラの基準色を基準色のLab値710へ格納した状態で、カメラ平均色差740が最小となるカメラを近傍カメラとして選定する。
次に、S2005において、図10(b)のカメラ800の位置にマスターカメラを配置し、カメラ801の位置に近傍カメラを配置する。
次に、S2006において、マルチカメラを構成する全てのカメラ(M台)に対してS2004からS2005の処理を施したか否かを判定する。未了の場合はS2004に戻る。一方、終了の場合にはS1005へ進む。
なお、S2004に処理が戻った場合には、直前に選定された近傍カメラの各カラーパッチの色が、次の基準色として基準色のLab値710へ格納され、その時のカメラ平均色差740が最小となるカメラが「次の近傍カメラ」として選定される。但し、既に近傍カメラとして選定されているカメラは選定しないものとする。「次の近傍カメラ」は、S2005において、図10(b)のカメラ802の位置に配置される。
次に、S1005において、M台のマルチカメラのカメラ間色差が算出され、隣接カメラ間平均色差650が求められる。
次に、S1008において、撮影する上で重要な視線が集まる重要視線区間の情報と、隣接カメラ間平均色差650の分布を利用して、マルチカメラ配置が決定される。
一方、図13は単体の近傍カメラではなく、M台のマルチカメラをP個(P<M)のグループに分割し、各グループの代表カメラと、各グループに属するカメラを順次探索して、マルチカメラを選定する処理の一例を示す。
S1001からS2003までの処理により、図12と同様に、L台のカメラのそれぞれによりカラーチャート500を撮影した撮影画像を取得し、カメラ平均色差740の小さい方からM台のカメラをマルチカメラとして選定する。
次に、S2007において、マスターカメラを第1グループの代表カメラとして選定する。
次に、S2008において、第1グループの代表カメラの基準色を基準色のLab値710へ格納した状態で、カメラ平均色差740の小さい方から(M/P)台(グループの代表カメラを含む)のカメラを、第1グループに属するカメラとして選定する。
次に、S2009において、図10(b)のカメラ800の位置に、第1グループに属するカメラとして選定したカメラを配置する。第1グループ内のカメラは、代表カメラに対するカメラ平均色差が小さい順に、円周上を反時計回りに配置される。
次に、S2010において、P個の全てのグループに対してS2007からS2009の処理を施したか否かを判定する。未了の場合はS2007に戻る。一方、終了の場合には、S1005へ進む。
なお、S2007に処理が戻った場合には、直前のグループの代表カメラに対してカメラ平均色差740の小さい方から((M/P)+1)台目のカメラを「次のグループの代表カメラ」として選定する。次に、S2008において、「次のグループの代表カメラ」の基準色を基準色のLab値710へ格納した状態で、カメラ平均色差740の小さい方から(M/P)台(グループの代表カメラを含む)のカメラを「次のグループに属するカメラ」として選定する。但し、既にグループに属するカメラとして選定されているカメラは選定しないものとする。次に、S2009において、図10(b)のように次のグループに属するカメラを配置する。第2グループは、カメラ801の位置に配置され、第2グループ内のカメラは、代表カメラに対するカメラ平均色差が小さい順に、第1グループに続けて同じ円周上を時計回りに配置される。さらに、第3グループは、カメラ802の位置に配置され、第3グループ内のカメラは、代表カメラに対するカメラ平均色差が小さい順に、第1グループに続けて円周上を反時計回りに配置される。このようにして、P個の全てのグループについて、カメラが配置される。
次に、S1005において、M台のマルチカメラのカメラ間色差が算出され、隣接カメラ間平均色差650が求められる。
次に、S1008において、撮影する上で重要な視線が集まる重要視線区間の情報と、隣接カメラ間平均色差650の分布を利用して、マルチカメラ配置が決定する。
[効果]
以上説明したように、本実施形態では、マルチカメラにおいてカラーチャートまたはマスターカメラを基準として色差が小さくなるようにカメラ選定を行う。そうすることにより、マルチカメラで撮影された各撮影画像の色差を小さくするようなカメラ配置を実用的な時間内に決定することができる。
(第3の実施形態)
第1の実施形態、および第2の実施形態では、L台のカメラからM台(M≦L)のマルチカメラを選定し、カメラ間の色差が小さくなるようにマルチカメラ配置を決定する方法について説明した。
本実施形態では、第1の実施形態や第2の実施形態において、特定の色に対して重み付けの指定を行う場合や、撮影する上で重要な視線が集まる区間に対して重み付けの指定を行う場合のユーザインタファイスについて説明する。
図14は、本実施形態における重み付け指定を行うためのユーザインタフェイスの例を示す。
図14(a)は、特定の色に対して重み付け指定を行うユーザインタフェイスの一例を示す。先述したように、ユーザは、カラーチャート500の全カラーパッチの中から重要色(例えば、芝生、ユニフォーム、広告、肌色、衣装、楽器などの色)に近いカラーパッチを特定し、特定したカラーパッチに対して他のカラーパッチより大きい重みを与える。
カラーパッチの色名900は、カラーチャート500の各カラーパッチの色名を表す。色名は、設定ファイルによって設定することも可能であるし、ユーザがモニタ107上で直接編集し、設定することも可能である。色名が不明な場合には、「Color1」「Color2」という表現でもよい。
カラーパッチの色901は、カラーチャート500の各カラーパッチの色を表示する。モニタ107がsRGBモニタの場合には、カラーチャート500の各カラーパッチのLab値610や基準色のLab値710をsRGB色空間へ変換して表示してもよい。
カラーパッチの重み902は、ユーザによって入力された各カラーパッチに対する重み係数を表示する。入力された重み係数は、図7(c)のカメラ間加重平均色差評価(S1011)、隣接カメラ間加重平均色差評価(S1012)、および図12、13のマスターカメラ選定(S2002)において取得される各カラーパッチに対する重み係数として利用される。重み係数のデフォルト値は1であり、重要色の場合には1より大きい値が入力される。取得された重み係数は、式(8)や式(17)のi番目のカラーパッチに対する重みwiとして代入され、隣接カメラ間平均色差650やカメラ平均色差740の加重平均計算に利用される。
図14(b)は、重要視線区間に対して重み付け指定を行うユーザインタファイスの一例を示す。先述したように、ユーザは、重要視線区間の情報として、撮影する上で重要な視線が集まる区間(スタジアムのメインスタンド側、コンサートホールのステージ正面側など)のカメラに対して他の区間のカメラより大きい重みを与える。
カメラ表示903は、画像処理システム200の複数のカメラ212の配置を、モニタ107上に表示する。カメラ表示903により、カメラがスタジアムやコンサートホールのどこに配置されているかを俯瞰することができる。
重要視線区間のカメラの重み904は、ユーザによって入力された各カメラに対する重み係数を表示する。入力された重み係数は、図6や図12、13のマルチカメラ配置決定(S1008)において取得される重要視線区間の情報として利用される。重み係数のデフォルト値は1であり、重要視線区間のカメラの場合には1より大きい値が入力される。取得された重み係数は各カメラに対する重み係数なので、2台の隣接カメラの重みに対する線形補間、または重要視線区間の重要度分布に対する曲線補間によって隣接カメラ(2台)間の重み係数を求める必要がある。求められた重み係数は、式(13)や式(14)の各隣接カメラ間平均色差に対する重みvjとして代入され、隣接カメラ間平均色差650に対する加重平均計算に利用される。
[効果]
以上説明したように、本実施形態では、特定の色や重要視線区間に対する重み付け指定を行うユーザインタフェイスを備える。そうすることにより、マルチカメラで撮影された各撮影画像の色差を小さくするようなカメラ配置を撮影現場に最適化することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上述の実施形態のすべての構成が、効果を得るために必須の構成とは限らない。例えば、L台のカメラのうち、M台のカメラを選択する構成のみであっても、効果が得られうる。例えば、L台のカメラのうち1台が、他のL−1台とは明らかに異なる個体差を持っている場合、当該1台を除外してM台のカメラを選択することができる。これのみによっても、マルチカメラによる各撮影画像の色差を小さくすることができる。また、別の例として、L=Mの場合には、カメラを選択するステップは省略することができる。この場合、L台(=M台)のカメラの位置関係が、各カメラによる撮影画像に基づいて決定される。これによっても、マルチカメラによる各撮影画像の色差を小さくすることができる。