以下、図面を参照しながら、本発明の実施の形態について説明する。なお、以下の実施形態で説明される構成は一例に過ぎず、本発明を、説明される実施形態に限定することは意図されていない。
(システム構成)
本実施形態では、競技場(スタジアム)やコンサートホール、スタジオなどの施設に複数のカメラを設置し撮影を行う、マルチカメラ運用システムの例について説明する。本実施形態では、特に、このようなマルチカメラ運用システムの設置(システムが所定の機能を果たすことができる状態にする準備)・撤収における情報の収集と通知を視覚的に行うことにより、作業の進行を適切に設定することを可能とする。これによれば、視覚的な表示によって音声コミュニケーションのみでの状況確認と比して聞き間違いなどのヒューマンエラーの発生を抑制することができる。なお、このときに、音声コミュニケーションと本実施形態に係る視覚的な情報提示を組み合わせることにより、確認等をより円滑に行うことができる。また、システムが自動的に情報を収集して提示するため、手動での確認によるミスが発生しなくなり、ユーザが、作業の状況を適切に認識することができるようになる。また、このときに、システムが自動的に優先すべきタスクの判定やスタッフ等のリソースの配分を行うようにすることで、ユーザの個人のスキルに依存せずに、適切な作業予定を組むことが可能となる。このときに、例えば、仮想視点コンテンツの提供等のシステムが本来の機能を果たすために設置が優先されるべき設備をシステムが選択して提示することにより、本来の作業予定を完遂できなかったとしても、最低限度のシステムの運用を可能とすることができる。なお、マルチカメラ運用システムは、仮想視点画像の生成に用いられてもよいが、仮想視点画像の生成以外の用途で用いられるシステムであってもよい。ここで、本実施形態において、「画像」とは、静止画像と動画像(映像)を含む。
なお、本実施形態では、マルチカメラ運用システムを例として説明するが、これに限られない。すなわち、多数の機材の準備(システムが所定の機能を果たすことができる状態にするための、機材の設置を含む各種処理)・機材の撤収等の処理を行う必要のある任意のシステムに対して、以下の議論を適用することができる。
図1に、本実施形態に係るマルチカメラ運用システム100の構成例を示す。マルチカメラ運用システム100は、一例において、センサシステム110a~110z、スイッチングハブ120、カメラ運用端末130、画像コンピューティングサーバ140、コントローラ160、及び画像処理システム180を含んで構成される。なお、図1では、26個のセンサシステム110a~110zが存在する例について説明するが、26個より多いセンサシステムが用いられてもよいし、26個より少ないセンサシステムが用いられてもよい。
コントローラ160は、制御ステーション161を含む。制御ステーション161は、デイジーチェーン121a~121y、ネットワーク122a~122b及び123~124を通じて、マルチカメラ運用システム100を構成するそれぞれのブロックの動作状態の管理及びパラメータ設定制御等を行う。
まず、センサシステム110a~110zの構成及び動作について説明する。センサシステム110a~110zは、それぞれ、マイク111a~111z、カメラ112a~112z、雲台113a~113z、外部センサ114a~114z、及びバッテリ115a~115zを有する。また、センサシステム110a~110zは、それぞれカメラアダプタ116a~116zを有し、このカメラアダプタ116a~116zを介して、デイジーチェーン121a~121yによって相互に接続される。ただし、この構成は一例であり、センサシステム110a~110zは、これら以外の構成を有してもよい。また、図1では、センサシステム110a~110zが共通の構成を有するものとしているが、少なくとも一部のセンサシステムが、他のセンサシステムと異なる構成を有してもよい。
なお、本実施形態では、特に言及がない限りは、センサシステム110a~110zを、区別せずに、単に「センサシステム110」と呼ぶ。また、センサシステム110が有する各構成についても、特に区別する必要のない場合には、マイク111、カメラ112、雲台113、外部センサ114、バッテリ115、及びカメラアダプタ116と呼ぶ。センサシステム110は、それぞれが有するカメラ112によって撮影を行うことにより画像データを取得し、また、マイク111を用いて録音を行うことにより音声データを取得する。すなわち、マルチカメラ運用システム100は、同一の被写体をそれぞれが別個の方向から撮影する複数のセンサシステム110を用いることにより、複数の方向から撮影された画像データを得ることができる。同様に、マルチカメラ運用システム100は、これらの複数のセンサシステム110を用いて、異なる位置において(必要に応じて異なる指向特性で)収音を行うことにより、複数の位置で録音された音声データを得ることができる。
複数のカメラ112は何れも光軸が固定され、パンやチルト等による撮影範囲の左右や上下への移動は行われないものとする。なお、カメラ112の初期設定時等における光軸の調整や環境による光軸のずれの修正等は、カメラ112が設置される雲台113によって行われうる。複数のセンサシステム110は、それぞれ、デイジーチェーン121a~121yにより、自身の下流の他のセンサシステムへ、撮影によって得られた画像データを送信する。このとき、それぞれのセンサシステム110は、上流の他のセンサシステムから取得した画像データについても下流の他のセンサシステムへ転送する。例えば、センサシステム110aは、カメラ112aを用いて撮影された画像データを、カメラアダプタ116aにおいて後述の画像処理を施した後に、デイジーチェーン121aを介してセンサシステム110bのカメラアダプタ116bへ伝送する。同様に、センサシステム110bは、カメラ112bを用いて撮影された画像データを、センサシステム110aから取得した画像データと共に(場合によっては別個の信号で)センサシステム110cへ伝送する。なお、センサシステム110zは、撮影により得られた画像データと上流のセンサシステムから取得した画像データを、ネットワーク122bを介してスイッチングハブ120へ伝送する。デイジーチェーンを用いることにより、撮影画像の4Kや8Kなどへの高解像度化及びハイフレームレート化に伴って画像データが大容量化しても、接続ケーブル数や配線作業の煩雑性の増大を防ぐことができる。
複数のマイク111の取り扱い及びそれらのマイク111で収音された音声データについても同様である。すなわち、複数のマイク111は、指向方向が固定されており、その方向の移動は行われないものとする。また、収音により得られた音声データは、デイジーチェーンを介して伝送される。このような動作により、センサシステム110a~110zが取得した画像データ及び音声データは、センサシステム110zからネットワーク122bを用いてスイッチングハブ120に伝わり、その後、画像コンピューティングサーバ140へ転送される。
外部センサ114は、撮影や収音以外の方法により、各種環境情報を取得する。例えば、外部センサ114は、センサシステム110の振動や傾き、気温、湿度、風向き、風速等の各種情報を取得しうる。なお、これらは一例であり、外部センサ114は、任意の環境パラメータを取得するための任意の装置構成を有しうる。
バッテリ115は、後述の、センサシステム110を競技場などの施設に設置または撤収する際のワークフローを実行する際に使用され、例えば競技場にシステム用電源が敷設されていない場合に使用される。なお、センサシステム110は、設置の完了後でシステム用電源が敷設された後は、バッテリ115を使用しないようにしうる。さらに、センサシステム110は、システム用電源が事前に敷設される場合には、バッテリ115を有さずに、その電源を使用して動作するように構成されてもよい。なお、システム用電源ではなく、施設に常設されている電源が用いられてもよい。
なお、図1では、カメラ112とカメラアダプタ116とが分離された例を示しているが、これらは同一の筺体内に含まれる1つの装置であってもよい。また、マイク111も、カメラ112に内蔵されたマイクであってもよいし、図1のように別個の装置が用意されてもよい。このように、図1に示される複数の機能部が1つの装置によって実現されてもよく、また、1つの機能部が複数の装置が協働することによって実現されてもよい。
また、本実施形態では、特に言及のない限り、「画像」という用語が動画と静止画との両方の概念を含むものとする。すなわち、マルチカメラ運用システム100は、静止画及び動画のいずれについても対処可能である。また、本実施形態では、仮想視点コンテンツとして、仮想視点画像と仮想聴点音響がマルチカメラ運用システム100によって提供される場合について説明するが、これに限られない。例えば、仮想視点コンテンツは、音響を含まなくてもよい。また、例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより録音された音声であるなど、仮想聴点音響以外の形式で提供されてもよい。また、本実施形態では、説明を簡単にするため、音声についての説明を部分的に省略しているが、画像と音声は共に処理されるものとする。
次に、画像コンピューティングサーバ140の構成及び動作について説明する。画像コンピューティングサーバ140は、センサシステム110zから取得したデータの処理を行う。画像コンピューティングサーバ140は、タイムサーバ141と、フロントエンドサーバ142とを含む。
タイムサーバ141は、時刻及び同期信号を配信する機能を有し、スイッチングハブ120を介して、センサシステム110a~110zに時刻及び同期信号を配信する。センサシステム110a~110zは、カメラアダプタ116a~116zを介して時刻と同期信号を受信すると、時刻と同期信号に基づいてカメラ112a~112zを同期させ、画像フレーム同期を確立する。すなわち、タイムサーバ141は、複数のカメラ112の撮影タイミングを同期させる。
フロントエンドサーバ142は、センサシステム110zから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換する。その後、カメラの識別子、画像か音声かを示すデータ種別、フレーム番号に応じてフロントエンドサーバ142内のデータベース(不図示)に書き込む。
なお、フロントエンドサーバ142では、カメラアダプタ116から取得したデータをDRAM上に一次的に記憶し、前景画像、背景画像、音声データ、及び三次元形状データが揃うまでバッファする。なお、以下では、前景画像、背景画像、音声データ、及び三次元形状データをまとめて、撮影データと呼ぶ。撮影データには、ルーティング情報やタイムコード情報(時間情報)、カメラ識別子等のメタ情報が付与されており、フロントエンドサーバ142は、このメタ情報に基づいてデータの属性を確認する。これにより、フロントエンドサーバ142は、ある1つの時刻について、バッファされているデータを確認することによって、撮影データが揃ったか否かを判定することができる。この判定により、データがカメラアダプタ116からネットワーク122等を介して転送される際に、ネットワークパケットの受信順序がデータの順序と対応しない場合であっても、必要なデータが揃うまで待つことで、ファイル生成を確実に行うことができる。なお、背景画像は、前景画像とは異なるフレームレートで撮影されてもよい。例えば、背景画像のフレームレートが1fps[frames per second]である場合、1秒ごとに1つの背景画像が取得される。これに対して、前景画像が例えば60fpsで取得される場合、前景画像が取得されるが背景画像が取得されないタイミングが存在しうる。このため、このようなタイミングにおいては、フロントエンドサーバ142は、背景画像がない状態で全てのデータが揃ったと判定してもよい。
カメラ運用端末130は、図11に示すように、例えば、CPU1101、メモリ(RAM、ROM)1102、グラフィックメモリ1103、及びインタフェース1104を有する処理装置であり、例えば汎用のパーソナルコンピュータ(PC)等でありうる。ここで、インタフェース1104は、例えば無線通信インタフェース1105、画像入出力インタフェース1106、及び、音声入出力インタフェース1107を含みうる。なお、これらの構成は一例に過ぎず、例えば、カメラ運用端末130は、画像入出力インタフェース1106を介して、HMD(Head Mounted Display)等の外部の表示装置に所定の画面を表示させうるが、内蔵の表示装置を有してもよい。また、カメラ運用端末130は、例えば、画像入出力インタフェース1106としてカメラを有し、カメラによって作業の状態を撮影してカメラ運用端末130内部に取り込み、必要に応じて他のカメラ運用端末130と共有してもよい。また、画像入出力インタフェース1106として、図面等の情報を取り込むための外部のスキャナと通信する機能が用いられてもよいし、カメラ運用端末130がスキャナの機能を画像入出力インタフェース1106として有してもよい。同様に、カメラ運用端末130は、音声入出力インタフェース1107を介して外部のスピーカに所定の音声を出力させうるが、そのようなスピーカを内蔵していてもよい。また、カメラ運用端末130は、音声入出力インタフェース1107としてマイクを含み、音声データをカメラ運用端末130内部に取り込み、必要に応じて他のカメラ運用端末130と共有してもよい。カメラ運用端末130は、CPU1101以外のプロセッサがメモリ等の記憶装置からプログラムを読み込んで処理を実行する構成や、専用のハードウェアが後述の処理を実行するような構成など、図11の構成と異なる構成を有してもよい。
カメラ運用端末130は、例えば無線通信インタフェース1105を介して、センサシステム110と通信可能に構成される。そして、カメラ運用端末130は、例えばCPU1101がメモリ1102に格納されたプログラムを実行することによって、運用システムアプリケーションを動作させることができる。運用システムアプリケーションは、マルチカメラシステムを運用する際に使用され、例えば、イベント撮影の計画から、システムの設置、撮影、システムの撤収までの運用を管理するのに使用される。また、カメラ運用端末130は、システムを運用する上で必要な運用システムアプリケーションの画面表示や、別のカメラ運用端末とのテキストメッセージや音声等による通信を実行可能に構成されうる。
画像処理システム180は、撮影により得られた画像データに対して画像処理を実行し、画面表示させるまでの処理を実行する。この画像処理システム180の機能構成について図2を用いて説明する。なお、画像処理システム180は、上述のフロントエンドサーバ142と協働するため、図2には、フロントエンドサーバ142の機能構成の一部についても図解されている。フロントエンドサーバ142は、その機能として、複数視点画像保持部200及び実空間情報保持部210を有する。複数視点画像保持部200は、上述のように、競技フィールドやスタジオ等を取り囲むように設置された複数台のカメラによって同期撮影された画像に関する画像データを保持する。また、実空間情報保持部210は、被写体を含む所定範囲の空間に関する情報を保持する。実空間情報保持部210は、例えば、競技場のフィールドや観客席等、または、スタジオの設備等、仮想視点画像内に背景として映りこむ物体(背景オブジェクト)の三次元形状データや、仮想視点を設定可能な範囲を示す三次元空間情報等を保持する。
画像処理システム180は、画像処理装置220及び仮想カメラ操作端末230を含んで構成される。画像処理装置220は、例えば、仮想視点画像生成部221、仮想カメラパス算出部222、仮想カメラ情報保持部223、表示画像生成部224、及び装置通信部225を有する。また、仮想カメラ操作端末230は、例えば、端末通信部231、画像表示部232、仮想カメラパス指示部233、及びユーザ情報発信部234を有する。
仮想視点画像生成部221は、複数視点画像保持部200から取得した複数視点画像を用いて、前景オブジェクトの三次元形状データを生成する。生成した前景三次元形状データと、実空間情報保持部210から取得した背景三次元形状データとに対して、仮想カメラパス算出部222から取得した仮想視点に合わせたテクスチャをマッピングし、レンダリングを行うことにより、仮想視点画像が生成される。仮想視点画像生成部221は、この仮想視点画像の生成の過程で、生成しようとする仮想視点画像に映りこむ前景オブジェクトおよび背景オブジェクトの座標を算出し、その座標についてのみのテクスチャマッピングとレンダリングとを実行する。仮想視点画像生成部221は、算出した座標値を、被写体前景座標および実空間背景座標として、後述の仮想カメラ情報保持部223に出力する。
仮想カメラパス算出部222は、後述の仮想カメラパス指示部233に対するユーザからの指示内容に基づいて、時間的に連続する仮想カメラパスパラメータを算出する。仮想カメラパスパラメータは、ユーザが被写体を観察する際の仮想的なカメラの動きを示すパラメータであり、仮想カメラの位置、向き(注視方向)、及び画角(焦点距離)を少なくとも含む。なお、仮想カメラパスパラメータは、撮影シーン中のどの瞬間に関するものであるかを特定できるように、複数視点画像に付されたフレーム番号又はタイムコードと関連付けられる。仮想カメラパス算出部222は、仮想カメラパスパラメータの算出の際に、実空間情報保持部210から取得した実空間情報を参照して、仮想視点を設定可能な範囲に仮想カメラパスを設定する。
仮想カメラ情報保持部223は、仮想視点画像生成部221から取得した、被写体前景座標および実空間背景座標と、仮想カメラパス算出部222で算出された仮想カメラパスパラメータとを蓄積する。
表示画像生成部224は、仮想カメラ操作端末230の画像表示部232に表示されるための表示画像を生成する。ここで生成される表示画像は、仮想視点画像生成部221で生成される仮想視点画像である。装置通信部225は、画像処理装置220と仮想カメラ操作端末230との間での、不図示のネットワーク等を介した有線通信又は無線通信を行うための機能部である。画像処理装置220と仮想カメラ操作端末230との間では、画像、音声、及びテキストの各データや、仮想視点画像を生成する際にユーザ側から送られる仮想カメラパス指示等の指示情報が送受信される。
仮想カメラ操作端末230において、端末通信部231は、上述のように、装置通信部225との間で種々の情報を送受信する。画像表示部232は、上述の表示画像生成部224において生成され、端末通信部231を介して受信された画像を画面表示する。仮想カメラパス指示部233は、ユーザから仮想カメラパスに対する指示を受け付け、その指示を示す情報を、端末通信部231を用いて画像処理装置220へ送信する。なお、画像処理装置220は、装置通信部225を用いてこの情報を受信し、仮想カメラパス算出部222に受信した情報を渡す。なお、ユーザは、視聴したい全時間に対して、仮想カメラパラメータのすべてを厳密に指示しなくてもよい。例えば、ユーザは、「特定の被写体(選手や演者等)に注目した仮想視点画像を視聴したい」、「ボールの周囲のある一定の範囲を視聴したい」、「より注目すべきイベントが発生している箇所を視聴したい」等、種々の観点に基づく指示を入力してもよい。ユーザ情報発信部234は、端末通信部231から装置通信部225に向けて送信される情報に対して、ユーザID等のユーザ情報を添付する。
本実施形態における仮想視点コンテンツは、仮想的な視点から被写体を撮影した場合に得られる画像としての仮想視点画像を含むコンテンツである。換言すれば、仮想視点画像は、指定された視点における見え方に対応する画像である。仮想的な視点(仮想視点)は、ユーザにより指定されてもよいし、画像解析の結果等に基づいて自動的に指定されてもよい。すなわち、仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像(自由視点画像)が含まれる。また、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。
続いて、図3を用いて、カメラアダプタ116の機能構成について説明する。カメラアダプタ116は、ネットワークアダプタ300と、伝送部310と、画像処理部320と、外部機器制御部330とを含む。ここで、ネットワークアダプタ300は、データ送受信部301と無線通信部302とを含み、伝送部310は、伝送部310は、画像・音声伝送処理部311とデータ圧縮・伸張部312とを含む。また、画像処理部320は、前景背景分離部321と、三次元形状データ生成部322と、キャリブレーション制御部323とを含む。また、外部機器制御部330は、マイク制御部331と、カメラ制御部332と、雲台制御部333と、センサ制御部334とを含む。なお、外部機器制御部330は、外部機器接続状態検出部335をさらに含む。
ネットワークアダプタ300は、他の装置との通信を行うための各種機能を含んで構成される。データ送受信部301は、デイジーチェーン121、ネットワーク123及びネットワーク124を介して、他のカメラアダプタ116、フロントエンドサーバ142、タイムサーバ141、及び制御ステーション161と、データ通信を行う。例えば、データ送受信部301は、カメラ112による撮影画像が後述の前景背景分離部321により分離されて得られる前景画像と背景画像とを、別のカメラアダプタ116に対して出力する。出力先のカメラアダプタ116は、マルチカメラ運用システム100のカメラアダプタ116のうち、デイジーチェーン121において隣接する下流側のカメラアダプタ116である。多数のカメラアダプタ116が、前景画像及び背景画像を出力することで、複数の視点から撮影された前景画像と背景画像とがフロントエンドサーバ142に伝送され、画像処理システム180によって仮想視点画像が生成される。なお、撮影画像から分離した前景画像を出力して背景画像は出力しないカメラアダプタ116が存在してもよい。
無線通信部302は、カメラ運用端末130の無線通信インタフェース1105との通信を行う。無線通信部302を介して通信するデータは、後述の外部機器接続状態検出部335が処理するデータであり、カメラ運用端末130で動作する運用システムアプリケーションで処理を実行するためのデータである。
伝送部310は、ネットワークアダプタ300を介して送受信されるデータについて信号処理を実行する機能を有する。画像・音声伝送処理部311は、画像データ又は音声データを、データ送受信部301を介して他のカメラアダプタ116またはフロントエンドサーバ142へ転送するためのメッセージを作成する。メッセージには、画像データ又は音声データ、及び各データのメタ情報が含まれる。なお、本実施形態のメタ情報は、画像の撮影または音声のサンプリング時のタイムコードまたはシーケンス番号、データ種別、及び、マイク111やカメラ112の個体を示す識別子などを含む。また、送信される画像データまたは音声データは、データ圧縮・伸張部312でデータ圧縮されていてもよい。また、画像・音声伝送処理部311は、他のカメラアダプタ116から、データ送受信部301を介してメッセージを受け取る。そして、画像・音声伝送処理部311は、メッセージに含まれるデータ種別に応じて、伝送プロトコル規定のパケットサイズに分割されたデータから、画像データまたは音声データを復元する。なお、データを復元した際に、そのデータが圧縮されている場合は、データ圧縮・伸張部312が伸張処理を行う。データ圧縮・伸張部312は、データ送受信部301を介して送受信されるデータに対して所定の圧縮方式、圧縮率、及びフレームレートを適用した圧縮を行い、また、圧縮されたデータを伸張する。
画像処理部320は、カメラ制御部332の制御の下でカメラ112によって撮影された画像データと、他のカメラアダプタ116から受信した画像データとに対して、画像処理を行う。前景背景分離部321は、カメラ112によって撮影された画像データを、前景画像と背景画像とに分離する。すなわち、複数のカメラアダプタ116のそれぞれにおける前景背景分離部321は、複数のカメラ112のうち、対応するカメラ112によって撮影された撮影画像から所定領域を抽出する。所定領域は、例えば、撮影画像に対するオブジェクト検出処理によって、オブジェクトが検出された領域である。前景背景分離部321は、撮影画像から抽出した所定領域内の画像を前景画像とすると共に、その所定領域外の領域の画像(すなわち、前景画像ではない領域の画像)を背景画像として、前景画像及び背景画像を出力する。三次元形状データ生成部322は、前景背景分離部321で分離された前景画像と、他のカメラアダプタ116から受取った前景画像とを用いて、例えば、ステレオカメラの原理を用いて三次元形状データに関する画像情報を生成する。キャリブレーション制御部323は、入力された画像に対して、カメラごとの色のばらつきを抑えるための色補正処理や、カメラの振動に起因するブレに対して画像の位置合わせ及び画像の切り出し処理などを行う。
外部機器制御部330は、カメラアダプタ116に接続する機器を制御する機能を有する。カメラ制御部332は、カメラアダプタ116が含まれるセンサシステム内のカメラ112と接続され、そのカメラ112の制御、撮影画像取得、同期信号提供、及び時刻設定などを行う。カメラ112の制御は、例えば、撮影パラメータ(画素数、色深度、フレームレート、及びホワイトバランス等)の設定と参照、カメラ112の状態(撮影中、停止中、同期中、及びエラー等)を示す情報の取得、撮影の開始及び停止、及びピント調整等を含む。マイク制御部331、雲台制御部333、及びセンサ制御部334は、それぞれ、カメラアダプタ116が含まれるセンサシステム内のマイク111、雲台113、外部センサ114に接続され、その接続された機器を制御する。また、マイク制御部331、雲台制御部333、及びセンサ制御部334は、接続された機器が正常に動作しているか等の状態を示す情報を、各機器から読み出す処理を行う。外部機器接続状態検出部335は、カメラアダプタ116に接続する機器の接続状態および各機器が正常に動作しているかなどのセルフチェック結果を読み出す機能を有する。外部機器接続状態検出部335は、マイク制御部331、カメラ制御部332、雲台制御部333、及びセンサ制御部334と通信し、各機能部から取得した外部機器の接続状態およびセルフチェック結果を、外部機器接続状態検出部335内のメモリに記憶する。なお、外部機器接続状態検出部335は、外部機器に電源が供給されていない場合は、ケーブルの接続状態のみを検出する。ケーブルの接続は、カメラアダプタ116のケーブル端子の1つをHIGHポートに設定しておき、ケーブルが接続されたときにLOWになるようにすることにより、ハードウェアレベルで検出することができる。
(処理の流れ)
続いて、スタジアムや競技場、コンサートホールなどの施設に複数のカメラ112やマイク111を設置して撮影を行う際に実行されるワークフローについて説明する。図4は、ワークフローの全体像を概略的に示している。なお、以下で説明する処理は、特段の説明がない限り、カメラ運用端末130の制御により実現される。なお、カメラ運用端末130によって実行される処理は、例えば、カメラ運用端末130のCPU1101がメモリ1102に格納されたプログラムを実行することによって実現される。
本ワークフローでは、まず、一連の処理の前に、マルチカメラ運用システム100の設置や操作を行う操作者(ユーザ)が、設置前に必要な情報(事前情報)の収集や計画の立案等の設置前処理を行う。カメラ運用端末130は、この設置前処理により、事前情報に基づいてどのようにシステムの設置・撤収を行うか等の計画立案を行ったユーザから、その計画に応じた設定を受け付ける(S401)。
なお、ここでの事前情報とは、例えば、施設情報、機器情報、運用情報を含む。施設情報は、例えば、撮影場所がスタジアムの場合、スタジアム情報であり、スタジアムの形状、音響、照明、電源、伝送環境、及びスタジアムの三次元形状データなどの情報を含む。機器情報は、例えば、カメラ、雲台、レンズ、及びマイク等の撮影機材、LAN、PC、サーバ、及びケーブル等の情報機器、及び中継車に関する情報を含む。なお、必ずしもこれらすべての情報が入力されなければならないわけではない。なお、カメラ運用端末130は、機器情報が入力された撮影機材のうち、カメラ、雲台、及びマイクの配置情報に関する入力を受け付ける。配置情報は、上述のスタジアムの三次元形状データを利用して入力することができる。運用情報は、カメラ取付形態(高所作業など)、作業種別(作業段階)、作業時間、作業者人数、作業者スキルレベルなどの情報を含む。なお、配置情報は、撮影対象、撮影時間、カメラワーク、及び注視点などの情報を含んでもよい。例えば、撮影対象がサッカー競技であるかなどの競技種別に応じて、注視点の変更と、カメラワークの制約条件の変更とが行われる。カメラ運用端末130は、これらの運用情報の組み合わせで構成される設定情報のテーブルを管理し、変更し、また、各種指示等の処理に用いる。
続いて、ユーザは対象となる施設に機材を設置する。そして、マルチカメラ運用システム100の各装置は、ユーザからの操作に基づいてカメラ運用端末130から発行されたコマンドに従って、システムの動作確認のための処理を実行する(S402)。なお、機材の設置中は、システムが完全には動作しないため、カメラ運用端末130とカメラアダプタ116とが逐次通信を行うことによって、設置時の運用管理を行う。この処理については、後述する。機材の設置が完了した後に、設置されたカメラ112の調整が実行される。カメラ112の調整は、画角合わせと色合わせを含む。この調整は、設置されたカメラ112の全てについて実行される。なお、調整は、ユーザ操作に基づいて行われるようにしてもよいし、自動調整機能により実現されてもよい。また、画角合わせでは、ズーム、パン、チルト、及びフォーカスの調整が並行して同時に実行され、カメラ運用端末130は、それらの調整結果を取得して保存する。
そして、ユーザは、競技等の前に、マイク111により集音された音声やカメラ112により撮影された画像の確認と、その確認結果に応じた調整等を含みうる撮影前処理を実行する(S403)。その後、カメラ運用端末130は、マイク111に集音を行わせ、カメラ112に撮影を実行させる(S404)。なお、S404での撮影はマイク111を用いた集音を含むものとするが、これに限られず、画像の撮影だけが行われてもよい。S404の処理は、S402での設定を変更するまで、または撮影を終了するまで継続的に実行される。S402での設定を変更する場合または撮影を終了する場合に、処理がS405に進められる。
カメラ運用端末130は、S405において、S402での設定を変更して撮影を継続するユーザ操作が行われた場合(S405でYES)には処理をS406へ進め、撮影を完了するユーザ操作が行われた場合(S405でNO)には処理をS407へ進める。なお、この判定はユーザ操作に基づいて行われなくてもよく、カメラ運用端末130は、自律的に設定変更が必要であるか否かを判定してもよい。
S406では、カメラ運用端末130は、S402で行われた設定を、新しい設定へと変更する。変更内容は、例えば、S405において取得されたユーザ操作に基づいて決定される。S406における設定の変更において撮影停止の必要がある場合は、一度撮影が停止され、設定が変更された後に撮影が再開されるように構成されうる。また、撮影停止の必要がない場合は、撮影を継続しながら設定の変更が実行されうる。
S407では、カメラ運用端末130は、複数のカメラ112により撮影された画像及び複数のマイク111により集音された音声の編集の指示を発行する。なお、S407の処理は、S404の処理と並行して実行されてもよい。例えば、スポーツ競技やコンサートなどをリアルタイムに配信する(例えば競技中に競技の画像が配信される)等の場合は、S404の撮影が終わるのを待たずに、並行して撮影で得られたデータに対するS407の編集が実行される。一方、スポーツ競技におけるハイライト画像を競技後に配信する等の場合は、S405において撮影を終了した後に編集が実行される。
撮影及び編集が終了した後は、機材の撤収の処理が行われる(S408)。撤収処理は、例えば、S402で設置された機材の取外し作業等により、施設を設置前の状態に戻すことである。なお、上述の処理は、カメラ運用端末130において実行するとしたが、設置が完了して、システムの通常運用が可能となっている状態においては、コントローラ160が処理を実行してもよい。すなわち、S403の撮影前処理以降の処理は、コントローラ160によって実行されてもよい。
続いて、図5を用いて、機材の設置時の処理の流れについて説明する。なお、図5の処理は、例えば、カメラ運用端末130のCPU1101がメモリ1102に格納されたプログラムを実行することによって実現される。
まず、カメラ運用端末130は、状態データを読み出す(S501)。状態データは、カメラアダプタ116の外部機器接続状態検出部335が記憶するデータであり、カメラアダプタ116に接続されている機器の接続状態を示すデータである。なお、外部機器接続状態検出部335は、他のカメラアダプタ116における外部機器接続状態検出部335が検出した情報を取得してもよい。この場合、外部機器接続状態検出部335は、例えばデイジーチェーンの設置が完了している範囲で、複数のカメラアダプタ116における外部機器の接続状態の情報を収集し、その収集した情報を一括してカメラ運用端末130へ通知することができる。また、外部機器接続状態検出部335は、例えば、一時的に設置された(又はシステムが構築される設備に事前に設置されている)外部のアクセスポイントやローカルエリアネットワークを介してカメラ運用端末130へ送信してもよい。これによれば、カメラ運用端末130は、複数の外部機器接続状態検出部335からの情報を、少数(例えば1つ)のアクセスポイントを介して取得することができ、多数のカメラアダプタ116の近くに移動して情報を取得する必要がなくなる。その後、カメラ運用端末130は、基準データを読み出す(S502)。基準データは、例えば、図4のS401で説明した事前情報のうち、特に機器情報、運用情報から定義されるデータであり、例えば、カメラを1台取り付けるのに必要な時間と必要な作業人数などの情報を含む。そして、カメラ運用端末130は、S501で読み出した状態データとS502で読み出した基準データとを比較する(S503)。そして、カメラ運用端末130は、画面表示を状態表示または進捗表示にする(S504)。状態表示では、上述の状態データを表示し、進捗表示では、基準データに対する作業の進捗状況を表示する。
また、カメラ運用端末130は、S503の結果に基づいて、作業の修正プランがあるか否かを判定する(S505)。カメラ運用端末130は、修正プランがある場合(S505でYES)は、修正プランを表示する(S506)。そして、カメラ運用端末130は、具体的なカメラIDや設置位置等を表示する(S507)。なお、カメラ運用端末130は、修正プランがない場合(S505でNO)、S506及びS507の処理を実行せずに、図5の処理を終了する。
例えば、1時間あたり12台のカメラを取り付ける作業能力があるとし、60台のカメラを5時間で取付作業する想定で計画が立案されたものとする。このとき、作業から2時間経過した時点で、1時間作業時間を短縮する必要が出た場合、残り2時間で36台のカメラを取り付ける必要がある。しかしながら、作業能力からは24台しか取り付けることができない。このため、カメラ運用端末130は、例えば未設置の36台のカメラから優先順位を付けて24台のカメラを選択して設置する計画に変更し、その旨をS506において表示することができる。
図6(A)及び図6(B)は、カメラ運用端末130における状態表示の例を示している。カメラ運用端末130は、状態表示するためのアプリケーションスイッチを有し、そのスイッチが操作されることにより、図6(A)及び図6(B)のような状態表示を行う。カメラ運用端末130は、状態表示画面において、表示されている情報を更新するためのカメラアダプタ116へのリクエストコマンドを送信することができる。カメラアダプタ116は、状態情報のリクエストコマンドを受信すると、各ケーブルの接続状態や設置状態に関するデータ又は各機器のセルフチェック結果データをカメラ運用端末130に送信する。これにより、現在の設置状況が、カメラ運用端末130に表示される。
図6(A)は、状態表示の例である。横軸には、カメラごとの接続・設置状態に関するタスク名が表示されており、縦軸には、カメラごとのデータが表示されている。カメラごとの接続状態について、例えば、カメラIDの横のStatus欄の情報によって、カメラ112とカメラアダプタ116との間のケーブルの接続状態が表示される。また、レンズIDの横のStatus欄の情報によって、例えばレンズを制御するためのケーブルがカメラアダプタ116に接続されているか否かが示される。なお、レンズIDの横のStatus欄の情報は、例えば外部センサ114によってレンズが適切に設定されているか否かを監視する準備ができているか否かを示してもよい。この場合、レンズIDの横のStatus欄の情報は、例えばレンズの監視用の外部センサ114がカメラアダプタ116に接続されているか否かを示す情報であってもよい。また、他のセンサシステム110との通信用のケーブルの接続状態や、その他の外部機器との接続状態を示す情報が、図6(A)のようなテーブルの形式で管理されうる。なお、設置状態に関する表示は、ケーブル接続のみではなく、接続されている機器のセルフチェック結果、または、カメラ112やカメラアダプタ116を施設へ取り付けるための取付金具等への取付状態を含んだものとしてもよい。また、接続に使用されるケーブルそのものの状態が(例えばケーブルIDの横のStatus欄の情報によって)示されてもよい。一例において、カメラが撮影を実行可能な状態となると、そのカメラに対応する行の全情報が「OK」となる。なお、少なくとも一部のセンサシステム110において、使用されない外部機器については、その状態を示す欄が用意されなくてもよいし、その状態を示す欄に「-」などの記号が記述されてもよい。なお、図6(A)のような表形式ではなく、例えばスタジアムにシステムを設置する場合、スタジアムの概略図にカメラ等の設置位置を概略的に認識できるような形式で表示した画面により、状態表示を行ってもよい。
図6(B)は、進捗状況の表示(進捗表示)の例である。図6(B)の例では、ワーク単位で、予定時間、結果、進捗率が一覧できるような表示が行われている。これらの表示には、図5のS503の結果が用いられる。例えば、カメラを設置するタスクにおいて、その開始予定時刻と終了予定時刻、実際に開始した時刻と終了した時刻とが表示される。また、このタスクがカメラを設置するタスクであることが判別可能となるように、作業内容の欄に情報が記述される。そして、タスクの内容が全て完了している場合には、進捗率の欄に「100%」や「完了」等の表示がなされる。なお、タスクを実行途中である場合や、当初の予定を未達成のまま処理を終了した場合には、進捗率の欄は、100%より低い値が記述される。なお、この場合、タスクが実行中ではないことを示すために、例えば進捗率の数字に加えて、「終了」等の文字列が記述されてもよい。例えば、60台のカメラを設置するタスクに対して、54台のカメラの設置が完了した状態では、進捗率の欄に「90%」と記述され、この状態でタスクを終了した場合は「90%(終了)」などと記述されうる。
図7は、図5のS505において、修正プラン有りと判定された場合の修正プランの表示例を説明する図である。カメラ運用端末130で動作する運用システムアプリケーションは、カメラ運用端末130に記憶されているワークフローのタスク完了想定時間と、外部機器接続状態検出部335に記憶されている接続状態データとを読み出す。そして、運用システムアプリケーションは、双方のデータによって判定される設置の進捗状況において、想定時間に対して設置完了台数が所定の閾値に満たしていない場合(予定のタスクを完了することができないと判定される場合)は、修正プランを生成する。
なお、画面表示は、図7に示すように、例えばスタジアムを模した概略図であって、撮影対象のグラウンド720に対する相対的なカメラの設置予定位置と、設置されているカメラ及び未設置のカメラとが区別可能に表示される。例えば、図7では、Area Nの範囲で710の破線で囲まれたカメラ711a~711fの合計6台が未設置の状態であることを示している。なお、これらのカメラは、例えば、図6(A)の「Cam03」~「Cam05」及び「Cam08」~「Cam10」に対応しうる。この状態で、例えば、残り時間が残り2台のカメラを設置するだけの時間しかないと判定されたとする。この場合、修正プランにより、例えば設置対象の2台のカメラが選択されて表示される。
ここで、設置するカメラについて、優先順位の設定をする優先順位データの例について説明する。システムを構成するカメラは、例えば、用途ごとに、三次元形状データを生成するための画像を取得するカメラ、人物テクスチャ生成用のカメラ、背景テクスチャ生成用のカメラを含む。一例では、このカメラの用途に応じた優先順位が設定される。例えば、三次元形状データ生成用カメラが最も優先順位が高く、次いで人物テクスチャ用カメラの優先順位が高く、背景テクスチャ用カメラの優先順位が最も低い、等のような設定が行われる。図7は、例えば、カメラ711cと711dが一番優先順位の高い人物テクスチャ用のカメラであったことにより、これらのカメラを設置すべきと判定された場合の修正プランの例を示している。図7の例では、カメラ711cと711dに○印が付されることにより、これらのカメラが設置すべきカメラであることが示されている。一方、図7のように、優先順位が低く、設置対象として選択されなかったカメラ711a、711b、711e、及び711fに対して×印が付されることにより、これらのカメラは設置しないと判定されたことが示されている。このような表示を、例えば設置作業を実行するスタッフが有するカメラ運用端末130と共有することにより、スタッフは、設置すべきカメラを視覚的に認識することができ、誤りなく設置作業を行うことができる。
なお、カメラ運用端末130は、カメラアダプタ116の無線通信部302を介して例えばカメラ730と通信し、設置済のカメラの情報をこの通信を介して収集して表示する。本システムでは、デイジーチェーンによってセンサシステム110を接続するため、カメラ運用端末130は、いずれかのセンサシステム110のカメラアダプタ116から、接続済みの他のセンサシステムにおける情報を取得することができる。なお、複数のユーザがいる場合には、複数のカメラ運用端末130が使用されてもよく、これらの複数のカメラ運用端末130の間で収集されるデータや表示されるデータが共有される。例えば、カメラ730と通信するカメラ運用端末130は、カメラ740を介してカメラ750の情報を収集可能であり、同様に、カメラ750と通信するカメラ運用端末130は、カメラ730の情報を収集可能である。また、カメラ運用端末130は、いずれも、カメラ740やカメラ760の情報を収集することができる。なお、データ入力および判断は、特定のユーザに操作権限を設定することによって制御されうる。なお、情報の共有は、外部のネットワーク(例えば、システムを構築する設備内に設けた一時的なローカルエリアネットワーク)を介して行われてもよい。これによれば、センサシステム110間の接続が途切れている場合であっても、システム全体の機材の設置状況を収集することが可能となる。
なお、優先して設置するカメラを指定する修正プランは、上述のような、カメラごとの仮想視点画像を生成する際のカメラ種別(用途)に基づく方法以外の方法によって決定されてもよい。例えば、設置が完了しているカメラの位置に応じて、設置済みのカメラからの距離が離れている未設置のカメラほど優先順位が高くなる(すなわちカメラが設置されていないエリアほど高い優先順位が付与される)ような方法で、修正プランが決定されてもよい。また、注視点ごと(A GroupまたはB Group)に、優先して設置するカメラの設定が行われてもよい。
ここで、カメラ運用端末130の機能構成例について図8を用いて説明する。カメラ運用端末130は、例えばCPU1101がメモリ1102から読み出したプログラムを実行することにより、図8のような機能を実現する。カメラ運用端末130は、例えば、演算処理部800、表示部810、通信部820、及びデータ記憶部830を含んで構成される。表示部810は、演算処理部800の処理結果に基づいて、不図示の画面に情報を表示する処理を行う。通信部820は、カメラアダプタ116と通信し、接続状態などのデータのやり取りを行う。データ記憶部830は、基準データや接続状態など各種データ(テーブル)を記憶する。
演算処理部800は、運用システムアプリケーションの処理を実行するために、例えば、ワークフローデータ設定部801、状態データ収集部802、プラン決定部803を含んで構成される。ワークフローデータ設定部801は、上述のように、マルチカメラシステムの所定エリアへの設置や所定エリアからの撤収、又は、撮影可能状態の確認をするまでのワークフロー情報であって、各施設における撮影機材の設置や撤収のフローを設定する。設定されたデータは、基準データとして後段の処理に使用される。基準データは、事前情報のうち、特に機器情報及び運用情報によって定義されるデータである。
図9(A)及び図9(B)に、上述の基準データとして、データ記憶部830に保存されるテーブルの例を示す。図9(A)において、工程IDは、ワークフロー内の1つの工程に対応付けて割り当てられる工程識別子であり、完了時刻、フラグIDリスト、リストNoを含んで構成される。そして、完了時刻は、対応する工程が完了する予定の時刻を示す。フラグIDリストは、図9(B)に示す機器接続構成テーブルに対応付けられており、各工程において、各機器のケーブル等の接続状態などの設置状態の読み出す対象を指定する。リストNoは、工程において情報を読み出す対象となる機器を指定する情報である。
状態データ収集部802は、カメラアダプタ116と通信して、各ワークフローにおいて、機器接続状態や設置状態等を示す状態データを収集する。そして、状態データ収集部802は、必要に応じて、データ記憶部830に記憶されているテーブルの内容を書き換える。図9(C)は、状態データとして、データ記憶部830に保存されるテーブルの例を示している。リストNoは、カメラごとに機器構成をグループ化して管理する番号である。あるリストNoは、例えば、カメラID、レンズID、ケーブル1_IDなどの機器や接続機器の識別子と関連付けられる。なお、図9(A)のリストNoと、図9(C)のリストNoとは対応付けられており、工程ごとに読み出される機器がこのリストNoによって指定される。各構成要素は、状態データ収集部802が収集した結果に基づいて、値が書き換えられる。
プラン決定部803は、上述の基準データのフラグIDリストと状態データの構成要素とを比較して、進捗データと修正プランとの少なくともいずれかを生成する処理を行う。生成された修正プランはデータ記憶部830に保存され、修正プランが存在し、修正プランを表示するために画面を切り替える際に、データ記憶部830から読み出されて、表示情報を生成するのに使用される。なお、複数のプランが生成されてもよく、画面表示の際に、修正プランを複数表示してユーザが適宜選択する構成としてもよい。
図9(D)は、データ記憶部830に保存される修正プランデータの一例を示している。図9(D)に示すように、一例において、修正プランデータは、テーブルの形式で保存されうる。修正プランデータは、例えば、図9(A)に示す基準データのテーブル構成要素と同様の構成要素を含んで生成される。一例において、修正プランデータでは、状態データに応じて、基準データからリストNo(すなわち、各工程における処理の対象の機器)が変更される。図9(D)においては、図9(A)の基準データから、工程IDが1003~1005の工程についてのリストNo、すなわち、設置するカメラの構成が変更されたことを示している。なお、上述の修正プランによるテーブルの書き換えは、演算処理部800によって状態データに基づいて適宜実行されうるが、ユーザによる進捗状況の判断に基づくテーブルの書き換えが行われてもよい。
図10は、図7を用いて説明した修正プランとは別のプランを説明するための図である。想定時間に対して設置完了台数が所定の閾値に満たしていない場合に修正プランを生成するのは同様であるが、ここでの修正プランは、作業スタッフのリソースを集中させるよう再配置すれば、予定時間内に処理が完了すると判断された場合の例である。
図10の例において、作業スタッフのグループ1071~1073は、それぞれ6人のスタッフを含む。このとき、カメラ台数と全体の作業スタッフ人数、作業スタッフのスキルなどをパラメータとして、未設置エリアに再配置する作業スタッフが決定されうる。このとき、作業スタッフの場所が画面に表示されるため、ユーザは、未設置エリアに再配置する作業スタッフを判断することができる。一方で、カメラ運用端末130は、例えば、上述のパラメータに基づいて、再配置対象の作業スタッフのリコメンド情報を、作業スタッフを示すアイコンを点滅させることなどによって表示してもよい。なお、図10の例では、作業スタッフ1073が、未設置領域1010に近い位置に存在するため、リコメンドされる対象のスタッフとして、リコメンドされる対象ではないスタッフと判別可能となるように、白抜きで表示されている。
なお、作業スタッフの位置は、作業スタッフが所有するGPS端末(例えばGPS機能を有するカメラ運用端末130)による測位結果に基づいて特定されうるが、これに限られない。例えば、スタッフが使用しているカメラ運用端末130と、カメラアダプタ116との通信履歴に基づいて、スタッフの位置が推定されてもよい。例えば最後に通信したカメラアダプタ116の位置から、その通信が行われた時刻と現在時刻とに基づいて定まる所定範囲内を、そのスタッフが存在する位置として特定しうる。また、その通信履歴からスタッフがどの方向に移動しながら作業しているかを推定し、その方向の情報に基づいて、スタッフの位置が推定されてもよい。
上述の実施形態では、機材の設置に関して主に説明したが、本システムは、機材の撤収についても適用することができる。このとき、機材の設置の例では、例えばケーブル接続状態を「接続している」台数を管理していたが、機材の撤収時には、接続状態を「接続していない」台数を管理して、進捗状況が判定されうる。
また、説明したワークフロー以外でも、同様の進捗管理を行うことができる。例えば、機材の運搬、機材を取り付け位置まで運搬する配荷、カメラ姿勢調整、ネットワークケーブルの敷設、電源ケーブルの敷設なども、外部機器接続状態検出部335に、タスクの完了状態を示す信号を入力することで、同様の進捗管理を実行可能である。なお、タスクの完了状態を示す信号は、例えば、カメラアダプタ116にタスク管理用スイッチを用意しておき、運用者又は作業者が、所定のタスクが完了した時にスイッチを押すことで生成するように構成されうる。これにより、所定のタスクの完了ごとに外部機器接続状態検出部335に対して信号を入力することが可能となり、適切に進捗管理を行うことが可能となる。
また、上述の実施形態では、基準データと状態データとに基づいて、修正プランを生成して表示していたが、修正プランが生成されない場合は、ユーザに警告を報知してもよい。例えば、修正プランが生成されない場合(生成できない場合)に、アラートがカメラ運用端末130の画面に表示されてもよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。