(57)【要約】【課題】複数のカメラで撮像された映像のデータを伝送する際に生ずる遅延を抑止する。【解決手段】映像再生システムは、複数の撮像手段によって撮像された画像データから得られる仮想視点映像を再生する。撮像された複数の画像データは複数の中継機器に送信され、仮想視点映像の上映シナリオ上の時間軸が隣り合わせになる画像を撮像する複数の撮像手段が、異なる中継機器にそれぞれ接続される。【選択図】図２
2016001833.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮像手段によって撮像された画像データから得られる仮想視点映像を再生する映像再生システムであって、
前記撮像された複数の画像データを受信する複数の中継機器を備え、
前記仮想視点映像の上映シナリオ上の時間軸が隣り合わせになる画像を撮像する撮像手段が、異なる中継機器にそれぞれ接続されることを特徴とする映像再生システム。
【請求項２】
前記撮像手段は、カメラと該カメラで撮像された画像データを伝送する装置とから構成され、
前記カメラ１台に対して前記伝送する装置が１台接続されていることを特徴とする請求項１に記載の映像再生システム。
【請求項３】
前記複数の中継機器から送信される画像データをそれぞれ受信する第２の中継機器をさらに備えたことを特徴とする請求項１または請求項２に記載の映像再生システム。
【請求項４】
前記第２の中継機器が受信した画像データに基づいて、仮想視点映像を生成する画像処理ＰＣをさらに備えたことを特徴とする請求項３に記載の映像再生システム。
【請求項５】
撮像された画像データから得られる仮想視点映像を再生する映像再生システムであって、
複数のカメラと該カメラで撮像された画像データを伝送する複数の装置と、
各カメラと各装置とを接続する複数のマトリクススイッチャと、
前記マトリクススイッチャから出力される複数の画像データを受信する複数の中継機器と、
上映シナリオに従って生成されたスイッチング情報に基づいて、該上映シナリオ上の時間軸が隣り合わせになる画像を撮像する前記カメラが、前記装置を介して異なる前記中継機器にそれぞれ接続されるように、前記マトリクススイッチャを切り替える切替手段と
を備えたことを特徴とする映像再生システム。
【請求項６】
１つのマトリクススイッチャは、複数の中継機器に出力が可能に構成されていることを特徴とする請求項５に記載の映像再生システム。
【請求項７】
１つのマトリクススイッチャは、１つの中継機器に出力が可能に構成されていることを特徴とする請求項５に記載の映像再生システム。
【請求項８】
撮像された画像データから得られる仮想視点映像を再生する映像再生システムにおける制御方法であって、
前記映像再生システムは、
複数のカメラと該カメラで撮像された画像データを伝送する複数の装置と、
各カメラと各装置とを接続する複数のマトリクススイッチャと、
前記マトリクススイッチャから出力される複数の画像データを受信する複数の中継機器とを備え、
上映シナリオに従って生成されたスイッチング情報に基づいて、該上映シナリオ上の時間軸が隣り合わせになる画像を撮像する前記カメラが、前記装置を介して異なる前記中継機器にそれぞれ接続されるように、前記マトリクススイッチャを切り替えるステップを備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラの映像を利用して仮想視点映像を生成して再生する技術に関するものである。
【背景技術】
【０００２】
近年、複数台のカメラで同一シーンを撮像し、移動する仮想視点から見た映像(仮想視点映像)を表現する映像再生システムが提案されている（特許文献１）。このようなシステムでは、複数のカメラが画像をそれぞれ撮像し、撮像された画像をリクエストされた順番で連続再生する。
【０００３】
大規模な映像再生システムを構築する場合、カメラ１台につきカメラ制御用ＰＣを１台接続した装置を一組の撮像装置として、複数組の撮像装置を１台のネットワークＨＵＢにそれぞれ接続させることが考えられる。そして、カメラ制御用ＰＣから送信された映像を画像処理する処理装置や、画像処理された映像を再生する表示装置も同様にネットワークＨＵＢに接続する。
【０００４】
１台のネットワークＨＵＢのポート数を超える組数の撮像装置を接続する場合には、複数のネットワークＨＵＢをカスケード接続して対応する。カスケード接続とは、１台のネットワークＨＵＢに複数のネットワークＨＵＢを接続することである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０７９７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のシステムでは、表示装置が映像を再生する速度以上のスピードで、カメラ制御用ＰＣから表示装置に映像データを送信しないと、表示装置で上映する映像にコマ落ちなどの乱れが生じてしまう。
【０００７】
また、ネットワークＨＵＢ同士をカスケード接続すると、１つのケーブルに伝送される映像データが集中することや、ケーブルの通信帯域の制限により、指定時間内に映像データを表示装置に送信できないケースがある。
【課題を解決するための手段】
【０００８】
本発明に係る映像再生システムは、複数の撮像手段によって撮像された画像データから得られる仮想視点映像を再生する映像再生システムであって、
前記撮像された複数の画像データを受信する複数の中継機器を備え、
前記仮想視点映像の上映シナリオ上の時間軸が隣り合わせになる画像を撮像する前記複数の撮像手段が、異なる前記中継機器にそれぞれ接続されることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数のカメラで撮像された映像のデータを伝送する際に生ずる遅延を抑止することが可能となる。  
【図面の簡単な説明】
【００１０】
【図１】実施例１における映像再生システムの概念図である。
【図２】実施例１における映像再生システムの構成の一例を示す図である。
【図３】実施例１におけるシナリオデータ及び上映コントロール情報の一例を示す図である。
【図４】実施例１におけるキャプチャＰＣの構成を示す図である。
【図５】実施例１における画像処理ＰＣの構成の一例を示す図である。
【図６】実施例１における画像表示ＰＣの構成の一例を示す図である。
【図７】実施例１におけるカメラやＰＣの有効判定処理の流れを示すフローチャートである。
【図８】実施例１における仮想視点映像生成処理の流れを示すフローチャートである。
【図９】実施例１における仮想視点映像生成処理で用いるパラメータを説明する図である。
【図１０】実施例１におけるカバー率を説明する図である。
【図１１】実施例２における映像再生システムの構成の一例を示す図である。
【図１２】実施例２における映像再生システムの構成の一例を示す図である。
【図１３】実施例２におけるマトリクススイッチャの制御方法を説明する図である。
【図１４】実施例２における有効性判定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらに限定する趣旨のものではない。
【実施例１】
【００１２】
本実施例では、複数のカメラで撮像された画像データを複数のネットワークＨＵＢ等の中継機器を介して撮像画像を処理する画像処理ＰＣに送信する。この送信の際に、１台のネットワークＨＵＢに画像データの送信が集中しないように、カメラとカメラを制御するキャプチャＰＣとネットワークＨＵＢとを配置する。具体的には、後述する上映シナリオ上で時間軸が隣り合わせになるような画像を撮像するカメラ（とキャプチャＰＣとの組）を、異なるネットワークＨＵＢに接続する。
【００１３】
図１は、本実施例における映像再生システムの概念図である。図１（ａ）において、本実施例におけるカメラは、図示しない金属製の枠によって宙吊りの状態で、床１０２の上に固定されている。固定されたカメラは、例えば仮想視点の移動ルート（Ｒ）に沿ってカメラの撮像領域が重複するように配置される。仮想視点１０５は、図１（ａ）、図１（ｂ）中に示したように、床１０２をｘ−ｙ平面上とし高さ方向をｚ軸として設定された座標系上にマッピングされる。また、図１（ｂ）は図１（ａ）を２次元平面に投影したものであり、複数の人がいる場合を想定したものである。図１（ｂ）においては、人１０４は被写体となる人を表している。
【００１４】
図２は、本実施例における映像再生システムの構成の一例を示す図である。本システムは、カメラ１０１と、管理サーバＰＣ２０１と、キャプチャＰＣ２０２と、画像処理ＰＣ２０３と、画像表示ＰＣ２０４と、ネットワークＨＵＢ（第２の中継機器）２０５と、ネットワークＨＵＢ２０６とを備える。
【００１５】
本システムでは、カメラ１台に対してキャプチャＰＣが１台接続されている。複数のカメラで撮像された画像データは、異なるキャプチャＰＣにそれぞれ送信される。複数のキャプチャＰＣで受信された画像データは、ネットワークＨＵＢ２０６を介してネットワークＨＵＢ２０５にそれぞれ送信される。
【００１６】
ネットワークＨＵＢ２０６とネットワークＨＵＢ２０５とは、カスケード接続されている。ネットワークＨＵＢ２０６を介してネットワークＨＵＢ２０５に送信された画像データは、画像処理ＰＣ２０３に送信される。画像処理ＰＣ２０３は、受信した画像データを画像処理して、画像表示ＰＣ２０４に送信する。画像表示ＰＣ２０４は、受信した画像データを再生する。図１のカメラ１０１ａから１０１ｊは、図２のカメラ１０１ａから１０１ｊにそれぞれ対応する。
【００１７】
カメラ１０１は、上映シナリオに従って撮像を行う。上映シナリオとは、キャプチャＰＣ２０２が、撮像する順番をカメラ１０１に対して指示するための情報である。キャプチャＰＣ２０２は、上映シナリオにより、例えば、図１に示す仮想視点の移動ルート（Ｒ）に従って撮像するように、カメラ１０１を制御する。
【００１８】
或るカメラが撮像した一定時間（例えば、１／３０秒）後に、或るカメラの隣り合うカメラが撮像する。或るカメラが撮像した画像と、或るカメラの隣り合うカメラが撮像した画像は、上映シナリオ上の時間軸で隣り合わせになる。例えば、カメラ１０１ａが或る時刻に画像を撮像し、その或る時刻から一定時間経過した時刻に、カメラ１０１ａの隣に設置されたカメラ１０１ｂが画像を撮像したと仮定する。すると、カメラ１０１ａで撮像された画像と、カメラ１０１ｂで撮像された画像とは、上映シナリオ上の時間軸で隣り合わせになる。なお、上映シナリオは、例えば、或るカメラは連続して撮像し、また或るカメラは特定の時間においては撮像しないようなシナリオであってもよい。また、上映シナリオは、カメラ１０１またはキャプチャＰＣ２０２が故障した場合、故障したカメラ１０１または故障したキャプチャＰＣ２０２に接続されたカメラ１０１の順番を飛ばして撮像するシナリオであってもよい。さらに、上映シナリオは、故障したカメラ１０１を、例えば、故障したカメラ１０１の隣に位置する正常なカメラ１０１で代替して、撮像するシナリオであってもよい。
【００１９】
図２に示す本システムでは、上映シナリオに従い、指定されたカメラから撮像を開始する。例えば、図１で示す移動ルート（Ｒ）に従い、カメラ１０１ａから撮像を開始する。カメラ１０１ａで撮像した画像データは、キャプチャＰＣ２０２Ａ１に送信され、カメラ１０１ｂで撮像した画像データは、キャプチャＰＣ２０２Ｂ１に送信される。キャプチャＰＣ２０２Ａ１に送信された画像データは、ネットワークＨＵＢ２０６Ａに送信され、キャプチャＰＣ２０２Ｂ１に送信された画像データは、ネットワークＨＵＢ２０６Ｂに送信される。カメラ１０１ｃからカメラ１０１ｊで撮像された画像データについても同様に、移動ルート（Ｒ）に従って順番に、キャプチャＰＣ２０２を介して、ネットワークＨＵＢ２０６に送信される。
【００２０】
本実施例の構成により、撮像を開始するカメラ１０１ａで撮像される画像データは、ネットワークＨＵＢ２０６Ａに送信され、次にカメラ１０１ｂで撮像される画像データは、ネットワークＨＵＢ２０６Ｂに送信されることになる。このため、ネットワークＨＵＢ２０６Ａに画像データが連続して送信されず、ネットワークＨＵＢ２０６Ａへ画像データが集中して送信されることを抑制することが可能となる。つまり、複数台のネットワークＨＵＢに画像データの送信を分散することが可能となる。
【００２１】
本実施形態では、上映シナリオ（カメラ１０１へのリクエスト順）を考慮してカメラ１０１とキャプチャＰＣ２０２との組をグルーピングして、グループ単位でネットワークＨＵＢ２０６に接続することもできる。例えば、図２で、カメラ１０１ａとキャプチャＰＣ２０２Ａ１を１つの組としてグルーピングする。
【００２２】
以下、映像再生システムを具体的に説明する。即ち、映像再生システムの各ＰＣの機能の説明、仮想視点映像の生成処理の説明、カメラの選択処理の説明を行なう。
【００２３】
＜各ＰＣの機能＞  
以下、本システムにおける各ＰＣの機能について説明する。
【００２４】
管理サーバＰＣ２０１は、システム全体を管理するＰＣであり、システムを操作するため、コンソール画面とキーボード、マウスなどの操作デバイスが接続されている（非図示）。
【００２５】
キャプチャＰＣ２０２は、カメラ１０１と同数分用意されている。カメラ１０１は各キャプチャＰＣ２０２にＨＤ−ＳＤＩ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｓｅｒｉａｌ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）ケーブルで接続され、カメラ１０１で撮像した映像はキャプチャＰＣ２０２を介して画像処理ＰＣ２０３へ送信される。例えば本実施例ではカメラ１０１の出力解像度はフルＨＤ解像度（１９２０×１０８０画素、秒３０フレーム）であり、非常にデータ量が大きい。そのため、全てのカメラ１０１の映像を一斉に送信すると通信経路の帯域を使い切ってしまい、映像を上映するまでに画像データを処理できなくなるという問題が発生する場合がある。そこで、管理サーバＰＣ２０１は、予め定められたシナリオを現在使用可能なカメラやＰＣを用いて再現するための上映コントロール情報を生成し、これに従って映像データを伝送する。なお、不図示の１９インチラックが、キャプチャＰＣと、ネットワークＨＵＢとをそれぞれ備えてもよい。
【００２６】
画像処理ＰＣ２０３は、キャプチャＰＣ２０２から送信された映像データを受信・加工して画像表示ＰＣ２０４へ送信する。
【００２７】
画像表示ＰＣ２０４は、画像処理ＰＣ２０３から送信された映像を受信してバッファリングし、管理サーバＰＣ２０１から指定されたタイミングで上映する。
【００２８】
各キャプチャＰＣ２０２と各画像処理ＰＣ２０３と管理サーバＰＣ２０１と画像表示ＰＣ２０４とはネットワークＨＵＢ２０５及び２０６によってＬＡＮ接続されており、データの送受信はＴＣＰ／ＩＰを用いて行われる。
【００２９】
各ＰＣの機能の詳細は後述する。また、カメラ１０１は全て同期を取るために、各カメラには同期信号（ジェネロック、ＧｅｎＬｏｃｋ）が供給されている（不図示）。
【００３０】
ネットワークＨＵＢ２０５と画像処理ＰＣ２０３との間の帯域は、例えば、ネットワークＨＵＢ２０６とネットワークＨＵＢ２０５との間の帯域の４倍となっている。これにより、ネットワークＨＵＢ２０５と画像処理ＰＣ２０３との間でボトルネックが生じることを抑止することが可能となる。
【００３１】
＜シナリオデータ及び上映コントロール情報＞  
本実施例における映像再生システムは、固定されたカメラ１０１を用いて、予め定められたシナリオデータ（例えば、図３（ａ）を参照）等のデータに沿って移動する仮想視点映像を生成し、これをリアルタイム上映することもできる。以下、本実施例にかかる仮想視点映像の生成及び上映について説明する。
【００３２】
図３は、本実施例におけるシナリオデータ及び上映コントロール情報の一例を示す図である。シナリオデータとは、仮想視点映像を再生する際に、どの仮想視点の画像データをどの時間軸のフレームにおいて用いるかを規定するデータである。本実施例では、例えば５分程度の短時間のシナリオが一つのシナリオとして用いられる。図３（ａ）は、一つのシナリオを表すシナリオデータの例を示している。シナリオデータには、上映時間中の各フレームについて、仮想視点の位置を表現するための仮想視点座標、仮想視点の方向を表現するための仮想視点方向、仮想視点の姿勢を表現するための仮想視点上方向ベクトルが記述される。仮想視点座標と仮想視点方向は、この座標系における仮想視点の位置と向きである。仮想視点上方向ベクトルとは、仮想視点の向きに対して視界がどの程度傾いているかを指定するためのパラメータで、仮想視点方向と仮想視点上方向ベクトルは直交する。これに画角を加えることで、仮想視点からの視界を表現することが出来る。本実施例では、さらにレンズ効果パラメータ（歪曲強度α、周辺光量落ち強度β。詳細は後述）を加えるので、あたかも実際にカメラを移動しながら撮像したかのような自然な映像が生成される。
【００３３】
また、シナリオデータは、後述する仮想視点映像生成処理で用いられる画像処理パラメータである、基準面の高さを含む。基準面の高さは、使用カメラの切り替え時の滑らかさに影響する。例えば本実施例において、ほぼ無人の状態の場合、基準面を床に取るのが望ましいが、図１（ｂ）のように、撮像領域に多数の人が居る場合には、平均身長程度の高さに基準面を取った方が滑らかな映像になる。シナリオデータに基準面の高さを保持することで、被写体の状態に応じて基準面の高さを補正することが可能になる。基準面の高さの補正は、各カメラによる撮像画像データから自動生成しても良いし、マニュアル指定しても良い。
【００３４】
図３（ｂ）及び図３（ｃ）は本実施例における上映コントロール情報の一例を示す図である。上映コントロール情報にはカメラ制御情報とＰＣ制御情報とが含まれる。図３（ｂ）はカメラ制御情報の例を示しており、カメラＩＤと各フレームとが対応付けられている。図３（ｃ）はＰＣ制御情報の例を示しており、画像処理ＰＣＩＤと各フレームとが対応付けられている。上映コントロール情報には、上映開始時刻から終了時刻までの各フレームについて、どのカメラの映像をどの画像処理ＰＣ２０３で処理するかが記載される。例えば、カメラ制御情報（図３（ｂ））の値は、０は対応するカメラ１０１の映像データの送信が不要であることを、１は対応するカメラ１０１の映像データの送信を行うことを、２は対応するカメラ１０１のヘッダ情報のみを送信することを意味する。また、ＰＣ制御情報（図３（ｃ））の値については、１が対応する画像処理ＰＣ２０３を使用することを、０が対応する画像処理ＰＣ２０３を使用しないことを意味する。図３中に示したように、上映コントロール情報に含まれる時刻は、上映開始時刻を０：００：００．００ｆとした相対時刻で記述される。
【００３５】
＜キャプチャＰＣ＞  
キャプチャＰＣ２０２は、カメラ１０１からの映像をキャプチャし、画像処理ＰＣ２０３へ送信する。
【００３６】
図４は、本実施例におけるキャプチャＰＣ２０２の構成の一例を示す図である。キャプチャＰＣ２０２は、管理サーバＰＣ２０１から受け取った上映コントロール情報４０８に記載のカメラ制御情報に従ってカメラを制御するカメラ制御処理部４１１を備える。
【００３７】
なお、画像処理ＰＣ２０３で適用する仮想視点映像生成処理には、撮像時のレンズ特性データが用いられる。しかしながら、レンズ特性データはカメラの撮像時設定（例えば、ｆ値、画角、撮像距離）によって変化することが知られている。よって、キャプチャＰＣ２０２はレンズ補正データを取得するレンズ補正データ取得処理部４０２を備える。本実施例では、レンズ補正値データベース４０３を備えることで、撮像時設定に応じたレンズ補正データを得る。送信データ生成部４０６は、レンズ補正データ取得処理部４０２が取得したレンズ補正データを、ヘッダ情報として画像データに付加する。レンズ補正データとしては、歪曲、周辺光量、倍率色収差などの様々な補正データが考えられるが、簡単のため本実施例では歪曲と周辺光量の補正データを含むものとする。また、仮想視点映像を生成するためには、カメラ１０１の位置、方向、姿勢や画角などのカメラ位置・姿勢情報４０４が用いられる。そこで、送信データ生成部２０６は画像データにカメラ位置・姿勢情報もヘッダ情報として付加する。このほか、ヘッダ情報には、レンズ補正データやカメラ位置・姿勢情報のほか、キャプチャ時刻、画像サイズ、画像データタイプなどが含まれる。
【００３８】
映像データをキャプチャＰＣ２０２から画像処理ＰＣ２０３へ送る送信処理は前述のようにＴＣＰ／ＩＰで行われる。データを送信する度に画像処理ＰＣ２０３と再接続するのは効率が良くないので、送信処理部４０５を画像処理ＰＣ２０３の台数分用意して対応する。本実施例では、送信処理部４０５として送信プログラムが用いられる。すなわち、送信プログラムを画像処理ＰＣ２０３の台数分用意して対応する。また、送信経路の帯域の問題で受信したデータを遅延無く送ることができない場合があるので、キャプチャＰＣ２０２は、予め指定された秒数分だけバッファリングするバッファ４０１を有する。
【００３９】
本実施例にかかるキャプチャＰＣ２０２は、送信処理部４０５の他に、カメラ１０１から映像を受け取りヘッダやレンズ補正データを付加して送信用データを作成する送信データ生成部４０６と、送信処理部４０５の管理を行う管理部４０７とを有する。
【００４０】
送信データに含まれる画像データについては、設定ファイルによって圧縮するかどうかを指定できる。ヘッダ情報に含まれる画像データタイプは、圧縮する場合には１、圧縮しない場合には０が指定される。また、ヘッダだけを送信する場合には２が指定される。映像データの圧縮はフレーム単位で行われる。圧縮にはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式を用いてもよいし、ＤＸＴＣ（ＤｉｒｅｃｔＸ  Ｔｅｘｔｕｒｅ  Ｃｏｍｐｒｅｓｓｉｏｎ）形式を用いてもよい。ＤＸＴＣはＧＰＵの利用により非常に高速に画像データを圧縮できる。
【００４１】
＜画像処理ＰＣ＞  
画像処理ＰＣ２０３は、キャプチャＰＣ２０２から受信した映像を加工し、画像表示ＰＣ２０４へ送信する。
【００４２】
図５は、本実施例における画像処理ＰＣ２０３の構成の一例を示す図である。キャプチャＰＣ２０２と同様に、全てのキャプチャＰＣ２０２と接続した状態を維持するため、キャプチャＰＣ２０２の台数分の受信処理部５０１を有する。受信処理部５０１は、キャプチャＰＣ２０２の送信処理部５０８と対応してプログラムとして起動させることができる。
【００４３】
本実施例では、受信処理部５０１は、画像データタイプに応じた処理として、画像データタイプが１の場合、圧縮データの解凍処理を適用して非圧縮データ（画像データタイプ＝０）に変換する。
【００４４】
管理部５０３は、上映コントロール情報５０４に従って仮想視点映像生成用のフレーム画像データを選択する。
【００４５】
そして、管理部５０３は、仮想視点映像再生処理部５０５に映像生成指示を出す。ただし、映像生成指示後、仮想視点映像生成部５０５からデータ出力完了通知を受け取っていない場合には、出力完了通知を受信するまで映像生成指示をブロックする。これは、同時に複数の仮想視点映像生成処理を実行すると、既に実行中の映像生成処理のスループットが低下してしまい、リアルタイム再生が出来なくなる可能性が高くなるからである。そのため、管理部５０３は処理キュー５０９にデータ出力完了通知の確認と取得を行い、通知を取得してから処理を継続する。
【００４６】
映像生成指示を受けた仮想視点映像生成部５０５は、管理部５０３によって選択された映像と上映時刻を用いて、シナリオデータ５０６に沿った仮想視点映像データを生成する。仮想視点映像生成処理の詳細については後述する。
【００４７】
仮想視点映像生成部５０５は、生成した仮想視点映像データを送信バッファ５０７に出力する。
【００４８】
そして、仮想視点映像生成処理部５０５は、管理部５０３と送信処理部５０８にデータ出力完了を通知する。
【００４９】
送信処理部５０８は、データ出力完了通知を受け、生成した仮想視点映像データを画像表示ＰＣ２０４へ送信する。送信する仮想視点映像データには、キャプチャ時刻、及び画像解像度がヘッダとして付加される。
【００５０】
＜画像表示ＰＣ＞  
画像表示ＰＣ２０４は、次の機能を持つ。  
（ａ）画像処理ＰＣ２０３から受信したデータの再生（通常上映）  
（ｂ）バックアップ映像の上映（バックアップ上映）
画像表示ＰＣ２０４は、通常、画像処理ＰＣ２０３から受信したデータを再生する。但し、複数のカメラやＰＣの故障によって、受信したデータを正常に上映できない場合が考えられる。このような場合には、後述する管理サーバＰＣ２０１上での判定処理によりバックアップ上映への切り替えが行われる。以下では、画像表示ＰＣ２０４の通常上映時及び、バックアップ上映時の処理の詳細について説明する。
【００５１】
図６は、本実施例における画像表示ＰＣ２０４の構成の一例を示す図である。画像表示ＰＣ２０４は、画像処理ＰＣ２０３と同様に、各画像処理ＰＣ２０３に対応する受信処理部６０１を持ち、受信したデータを受信バッファ６０２にバッファリングする。画像表示ＰＣ２０４は大容量のメモリを搭載し、上映対象となる全ての映像をバッファリングできるようにする。これは、バックアップ映像を生成するために好適である。受信処理部６０１はプログラムとして構成できる。
【００５２】
受信処理部６０１は、画像処理ＰＣ２０３において生成された映像データを受信し、受信バッファ６０２に格納する。
【００５３】
受信処理部６０１は、映像１フレーム分の受信が完了する度に、管理部６０３にデータ受信完了通知を送信する。
【００５４】
管理部６０３は、データ受信完了通知を受信したら受信映像管理領域６０４内の受信映像管理情報を更新する。ここで受信映像管理情報は、受信した映像データのキャプチャ時刻、受信処理部６０１の識別ＩＤを含むものである。
【００５５】
管理部６０３は、上映開始時刻まで待機し、上映開始時刻から上映終了時刻までの間、上映管理処理を行う。
【００５６】
管理部６０３は、再生対象となる映像データを受信バッファ６０２内から選択する。映像データの選択は、受信映像管理領域６０４内の各映像データのキャプチャ時刻や受信処理部６０１の識別ＩＤで利用して行う。ここで、上映コントロール情報６０６は上映開始時刻を基準とした相対時刻で記述されているため、管理部６０３は、キャプチャ開始時刻を用いて再生対象となるキャプチャ時刻を計算し、この時刻に対応したフレーム画像データを得る。
【００５７】
管理部６０３は、このようにして選択した映像データを画像表示部６０５に通知する。
【００５８】
画像表示部６０５は、指定された映像データを表示する。
【００５９】
以後、全てのフレームについて再生処理を適用し、全てのフレーム画像を表示したと判定された場合、管理部６０３は終了処理を実行する。なお、処理の遅延などで対応する映像データが存在しない場合には表示を更新せず、直前に表示した映像をそのまま表示した状態にする。このような処理により、フレームの欠落により上映時間が極端に短くなったり上映した映像が不自然になったりすることを回避できる。
【００６０】
本実施例における終了処理は、全てのフレームデータをファイルに格納する処理である。このファイルは、バックアップ映像として使用する。複数回上映する場合には、上映した全ての映像を保存しても良いし、フレームの欠落が無い場合だけ保存しても良い。
【００６１】
ここで、複数のカメラやＰＣの故障によって、正常に上映できない場合が考えられる。このような場合には、後述する管理サーバＰＣ２０１上での判定処理によりバックアップ上映への切り替えを行うことができる。
【００６２】
＜管理サーバＰＣ＞  
管理サーバＰＣ２０１は、映像再生システム全体を管理する。具体的には、次のような機能を持つ。  
（ａ）映像再生システムを構成するＰＣやカメラ１０１の有効判定  
（ｂ）各ＰＣにおける映像バッファリング時間の変更  
（ｃ）上記（ａ）、（ｂ）に基づいた上映コントロール情報の生成  
（ｄ）シナリオデータ、上映コントロール情報の配布  
（ｅ）キャプチャＰＣ２０２、画像処理ＰＣ２０３の設定ファイルの配布
ここで、ＰＣやカメラ１０１の有効判定処理について説明する。図７は、本実施例におけるカメラ１０１やＰＣの有効判定処理の流れを示すフローチャートである。ステップＳ７０１において管理サーバＰＣ２０１は、まず、画像表示ＰＣ２０４に対して問い合わせを行う。
【００６３】
ステップＳ７０２において管理サーバＰＣ２０１は、予め定めた時間ＴＡ以内に画像表示ＰＣ２０４から応答が返ってくるかどうかを確認する。ここで、画像表示ＰＣ２０４、画像処理ＰＣ２０３は、問い合わせに対して０を返す。キャプチャＰＣ２０２は、カメラ１０１が認識できない場合は１、カメラ１０１は認識できるがキャプチャエラーが多く発生した場合は２、それ以外の場合は０を返す。
【００６４】
画像表示ＰＣ２０４が応答を返せない場合、カメラ１０１からの映像を上映できなくなるので、ステップＳ７０３において管理サーバＰＣ２０１はアラート表示をして機材の交換を促して処理を終了する。ステップＳ７０３のアラート表示は、例えば画像表示ＰＣ２０４に障害が発生したので上映が実行できない旨を表示することができる。ステップＳ７０２において画像表示ＰＣ２０４から応答があった場合、すなわち、画像表示ＰＣ２０４に問題が無い場合には、ステップＳ７０４に進む。
【００６５】
ステップＳ７０４において管理サーバＰＣ２０１は、引き続き各画像処理ＰＣ２０３に対しても同様に問い合わせを行い、正常に動作しているか否かを確認する。画像処理ＰＣ２０３は正常に動作している場合、問い合わせに対して０を返す。
【００６６】
ステップＳ７０５において管理サーバＰＣ２０１は、１台でも応答が無い画像処理ＰＣ２０３があった場合には、ステップＳ７１１に進みアラート表示をする。そして、ステップＳ７１２において管理サーバＰＣ２０１は画像表示ＰＣ２０４に対してバックアップ上映を指示して処理を終了する。ここでのアラート表示の例としては、どの画像処理ＰＣ２０３から応答がないかを通知したり、バックアップ上映に切替える旨を通知することが挙げられる。
【００６７】
ステップＳ７０５において画像処理ＰＣ２０３から応答があった場合、すなわち画像処理ＰＣ２０３にも問題が無い場合、ステップＳ７０６に進み、キャプチャＰＣ２０２に対して問い合わせを行う。キャプチャＰＣ２０２は、例えばカメラ１０１が認識できない場合は１、カメラ１０１は認識できるがキャプチャエラーが多く発生した場合は２、それ以外は０を返す。本実施例では、説明の簡便化のため、上記のケースを例に挙げているが、もちろん、これ以外にも細かい障害要因の種別を特定するための値を返してもよい。キャプチャＰＣ２０２への問い合わせ結果は図４で示したキャプチャエラー情報４１０によって検知することができる。すなわち、キャプチャエラー情報４１０は検知結果を示す情報である。
【００６８】
ステップＳ７０７において管理サーバＰＣ２０１は、問い合わせの結果得られたカメラ１０１及びキャプチャＰＣ２０２の状態から、有効カメラリストを生成する。有効カメラリストとは、カメラ１０１及びキャプチャＰＣ２０２の状態が正常である組を含むリストのことである。有効カメラリストには、カメラ１０１及びキャプチャＰＣ２０２の各組毎に上記のキャプチャエラー情報が関連付けられている。従って、上記のキャプチャエラー情報が０である組が、状態が正常である組を表している。また、上記のキャプチャエラー情報が０以外の値の場合には、その組のカメラ１０１及びキャプチャＰＣ２０２の少なくとも一方に障害が発生していることを表している。
【００６９】
ステップＳ７０８において管理サーバＰＣ２０１は、全てのキャプチャＰＣ２０２が正常であるかを判定する。キャプチャＰＣ２０２からの応答が不能である場合、あるいは返された値が０以外の個体が存在する場合、ステップＳ７０９に進みカメラ選択処理を実行する。カメラ選択処理は、使用不能なカメラを除いた構成で、シナリオに沿った上映をするための上映コントロール情報を生成する処理である。カメラ選択処理の詳細については後述する。
【００７０】
ステップＳ７１０において管理サーバＰＣ２０１は、カメラ選択処理でエラーが発生したか否かを判定する。つまり、使用不能なカメラ１０１を除いた構成ではシナリオに沿った上映ができないか否かを判定する。カメラ選択処理でエラーが発生した場合には、ステップＳ７１１、Ｓ７１２に進み、アラート表示を行った上で、画像表示ＰＣ２０４に対してバックアップ上映を指示して処理を終了する。ここでのアラート表示の例としては、障害が発生しているキャプチャＰＣ２０２を通知し、バックアップ上映に切替える旨を通知することが挙げられる。
【００７１】
なお、本実施例では、映像再生システムを構成する全てのＰＣで実行するアプリの設定ファイルは、各ＰＣ上に公開された共有フォルダに配置される。したがって、管理サーバＰＣ２０１から各ＰＣの共有フォルダにアクセスすることで、設定を変更することができる。例えば、各ＰＣにおける映像バッファリング時間や、画像表示ＰＣ２０４でのバックアップ上映指示などは、このような共有フォルダの設定ファイルを変更することによって行うことができる。
【００７２】
＜仮想視点映像生成処理＞  
次に、本実施例のステップＳ７０７における仮想視点映像生成処理を説明する。仮想視点映像生成処理では、ある高さ一定の面を基準面として、この基準面にある物体が、カメラ切り替え時にスムーズに接続されるように映像を生成する。この仮想視点映像生成処理では、以下に挙げる映像補正、変換、映像効果付加を一貫して行う。  
（１）カメラ映像の歪曲、及び、倍率色収差補正  
（２）周辺光量落ち補正  
（３）仮想視点映像とカメラ映像の間のパース変換  
（４）仮想視点映像に対する周辺光量落ち効果の付加  
（５）歪曲効果の付加
この仮想視点映像生成処理は、上記操作を一貫して行うため効率が良く、リアルタイム再生に適した処理である。尚、仮想視点映像生成処理の処理時間が画像表示ＰＣ２０４でフレームを再生する間隔（例えば、秒３０コマ表示の場合、１／３０秒）よりも長い場合、リアルタイム再生できなくなってしまう。そこで本実施例では、画像処理ＰＣ２０３を複数台用意してインターリーブすることで対応する。例えば画像処理ＰＣ２０３を１０台用意した場合、仮想視点映像生成処理は１／３秒未満で処理すれば良い。
【００７３】
図８は本実施例における画像処理ＰＣ２０３の仮想視点映像生成処理部５０５において行われる仮想視点映像生成処理を示すフローチャートである。以下、仮想視点映像生成処理の詳細について数式を用いて説明する。
【００７４】
まず、
【００７５】
【数１】
2016001833.tif 000003
【００７６】
【数２】
2016001833.tif 000004
【００７７】
【数３】
2016001833.tif 000005
【００７８】
【数４】
2016001833.tif 000006
【００７９】
とする。図９は本実施例における仮想視点映像生成処理で用いられる各パラメータを説明するための図である。図９も併せて参照されたい。
【００８０】
【数５】
2016001833.tif 000007
【００８１】
は方向を表すだけのベクトルであるため、長さは１とする。これらのベクトルを表す座標系には、前述の、床面をｘ−ｙ平面として、高さ方向をｚ軸とする座標系を用いる。仮想カメラの水平半画角、及び、垂直半画角をそれぞれθh,out、θv,outとする。
【００８２】
仮想視点映像生成処理は、仮想視点映像の画素毎に処理を進めていく。ここで、
【００８３】
【数６】
2016001833.tif 000008
【００８４】
とする。まず、仮想視点映像生成処理部５０５は、仮想視点映像に歪曲効果を持たせるため、ステップＳ８０１において歪曲効果の逆変換（歪曲補正）を行い、
【００８５】
【数７】
2016001833.tif 000009
【００８６】
を計算する。逆変換の具体的な数式は、どのような歪曲効果を持たせるかに依存するが、例えば、以下の式（１）を用いればよい。
【００８７】
【数８】
2016001833.tif 000010
【００８８】
ここで、
【００８９】
【数９】
2016001833.tif 000011
【００９０】
は、任意視点映像の中心の画素位置である。
【００９１】
αは歪曲効果の強さをコントロールするパラメータである。
【００９２】
ステップＳ８０２では、仮想視点映像生成処理部５０５は、
【００９３】
【数１０】
2016001833.tif 000012
【００９４】
に写り、かつ前述の基準面上にある点の、
【００９５】
【数１１】
2016001833.tif 000013
【００９６】
を求める。以下、基準面の高さをＺbaseとする。
【００９７】
【数１２】
2016001833.tif 000014
【００９８】
は、以下の式（２）〜（５）で求められる。
【００９９】
【数１３】
2016001833.tif 000015
【０１００】
【数１４】
2016001833.tif 000016
【０１０１】
【数１５】
2016001833.tif 000017
【０１０２】
【数１６】
2016001833.tif 000018
【０１０３】
ここで、Ｘｐ，ｚ及びＸｐｉｘｅｌ，ｚは、それぞれ
【０１０４】
【数１７】
2016001833.tif 000019
【０１０５】
のｚ成分である。
【０１０６】
ステップＳ８０３では、仮想視点映像生成処理部５０５は、ｃ番目のカメラ（以下、カメラｃとする
）において、
【０１０７】
【数１８】
2016001833.tif 000020
【０１０８】
が写っている
【０１０９】
【数１９】
2016001833.tif 000021
【０１１０】
を求める。ここで言う理想画素位置とは、カメラｃの映像に歪曲や倍率色収差などの収差が無い場合の画素位置である。
【０１１１】
【数２０】
2016001833.tif 000022
【０１１２】
は以下の式（６）〜（９）により求められる。
【０１１３】
【数２１】
2016001833.tif 000023
【０１１４】
【数２２】
2016001833.tif 000024
【０１１５】
【数２３】
2016001833.tif 000025
【０１１６】
【数２４】
2016001833.tif 000026
【０１１７】
ここで、式（６）のＸp,c,x、Ｘp,c,y、Ｘp,c,zは、それぞれ
【０１１８】
【数２５】
2016001833.tif 000027
【０１１９】
のｘ、ｙ、ｚ成分であり、θh,c、θv,cはカメラｃの水平半画角と垂直半画角である。式（８）の
【０１２０】
【数２６】
2016001833.tif 000028
【０１２１】
はカメラｃの位置である。また、式（９）の
【０１２２】
【数２７】
2016001833.tif 000029
【０１２３】
は、それぞれカメラｃの映像の右方向、上方向、及び、カメラｃの向きを表す方向ベクトルである。これらのベクトルの長さは１とする。これら一連の操作は、ビュー変換、射影変換、スクリーン変換と一般に呼ばれる、３つの変換操作をまとめた操作である。
【０１２４】
ステップＳ８０４では、仮想視点映像生成処理部５０５は、カメラｃの歪曲及び倍率色収差を考慮して、
【０１２５】
【数２８】
2016001833.tif 000030
【０１２６】
を、各色毎に、
【０１２７】
【数２９】
2016001833.tif 000031
【０１２８】
に変換する。ここで、ｉは、色のインデックスを表す。この操作は、形式上、以下の式（１０）で表すことができる。
【０１２９】
【数３０】
2016001833.tif 000032
【０１３０】
この変換の具体的な形は、使用するカメラｃの光学系に依存するもので、一般には、この変換は簡単な関数では表現できない。このため、実測値に基づいて、テーブル参照によってこの変換を行う。
【０１３１】
次に、仮想視点映像生成処理部５０５は、カメラｃの、
【０１３２】
【数３１】
2016001833.tif 000033
【０１３３】
での画素値Ｉp,c,iを求める。
【０１３４】
【数３２】
2016001833.tif 000034
【０１３５】
は小数であるため、バイキュービック補間などを用いて、周辺画素から補間した画素値を取得する。
【０１３６】
ステップＳ８０５では、仮想視点映像生成処理部５０５は、カメラｃの周辺光量落ちを補正しつつ、仮想視点映像に周辺光量落ちの効果を付加するためのファクターＤp,c,iを計算する。このファクターは、以下の式（１１）のように、仮想始点映像の光量落ち効果の量Ｃｐと、
【０１３７】
【数３３】
2016001833.tif 000035
【０１３８】
におけるカメラｃの周辺光量落ちの補正量Ｃp,c,iの比として定義する。
【０１３９】
【数３４】
2016001833.tif 000036
【０１４０】
カメラｃの周辺光量落ちの補正量Ｃp,c,iは、歪曲補正と同様、一般には簡単な関数では表現できない。このため、次のステップＳ８０６では、仮想視点映像生成処理部５０５は、実測値に基づいて補正テーブルを作成して、テーブル参照によって補正を行う。これを形式的に以下の式（１２）で表す。
【０１４１】
【数３５】
2016001833.tif 000037
【０１４２】
上式のように、周辺光量落ちの画素値依存性をも考慮した補正を行う。
【０１４３】
仮想視点映像に付加する周辺光量落ちの効果は、例えば、以下の式（１３）を用いる。ここでβは、周辺光量落ちの強度をコントロールするパラメータである。
【０１４４】
【数３６】
2016001833.tif 000038
【０１４５】
ステップＳ８０７にて、仮想視点映像生成処理部５０５は、仮想視点映像の画素値Ｉout,iを式（１４）にて計算する。
【０１４６】
【数３７】
2016001833.tif 000039
【０１４７】
ステップＳ８０７までの処理により、
【０１４８】
【数３８】
2016001833.tif 000040
【０１４９】
における、色ｉでの画素値Ｉout,iが決定される。ステップＳ８０８にて、仮想視点映像生成処理部５０５は、仮想視点映像の全ての画素が処理されるまで、ステップＳ８０１〜ステップＳ８０７の処理を繰り返す。これにより、仮想視点映像が生成される。
【０１５０】
ここで、仮想視点映像生成処理において、撮像画像の外の座標を参照する場合がある。このような領域については、所定画像を表示して対応する。例えば本実施例では、予め用意した床テクスチャ画像を仮想視点に応じてパース変換して使用する。撮像画像の外を参照した場合の画素値を、パース変換後の床テクスチャ画像の画素値とすることで違和感の無い出力画像を得ることが可能になる。
【０１５１】
＜カメラ選択処理＞  
ステップＳ７０９における管理サーバＰＣ２０１でのカメラ選択処理は、正常に動作しているカメラ１０１に関するカバー率に基づいて実行する。図１０は、本実施例におけるカバー率を示す図である。カバー率とは、仮想視点映像生成処理によって得る出力画像に対し、カメラ１０１による撮像画像が含まれる割合である。したがって、カバー率の算出は、対象フレームの基準面の高さに基づいて行われる。図１０（ａ）は出力画像全ての画素が、撮像画像の画素により得られており、カバー率は１００％となる。一方図１０（ｂ）は出力画像の一部の領域が撮像範囲の外を参照しており、カバー率は１００％未満となる。仮想視点映像の生成処理においては、カバー率が１００％であるカメラ１０１を用いることが好ましい。カバー率が１００％でない場合、そのカメラ１０１では撮像できていない領域が含まれるので、仮想視点映像の画質劣化につながるからである。そこで、本実施例では、カバー率が１００％のカメラ１０１が選択される。
【０１５２】
以上説明したカメラ選択処理により、カメラ１０１やキャプチャＰＣ２０２の一部に障害が発生した場合でも問題なく上映することが可能になる。特に、画質を考慮したカメラ選択処理を実行し、適切な画質が得られない場合には自動的にバックアップ上映に切り替えることで、長期間の上映に耐え得るシステムを構築することができる。
【０１５３】
以上で説明したシステムによって、滑らかな仮想視点映像を生成することが可能になる。
【０１５４】
本実施例では、複数のカメラで撮像された画像データを複数のネットワークＨＵＢを介して撮像画像を処理する画像処理ＰＣに送信する。この送信の際に、１台のネットワークＨＵＢに画像データの送信が集中しないように、カメラとカメラを制御するキャプチャＰＣとネットワークＨＵＢとを配置する。具体的には、上映シナリオ上で時間軸が隣り合わせになるような画像を撮像するカメラとキャプチャＰＣとの組を、異なるネットワークＨＵＢに接続する。この構成により、複数のカメラで撮像された映像のデータを映像再生するＰＣへの伝送の遅延を抑止することが可能となる。
【実施例２】
【０１５５】
実施例１では、カメラ１台に対してキャプチャＰＣ１台が固定して接続される例を説明した。実施例１とは異なり、本実施例では、カメラ１０１とキャプチャＰＣ２０２の間にマトリクススイッチャ１１０１を導入し、カメラとキャプチャＰＣ２０２の接続を動的に切り替え可能にする。図１１は、本実施例における映像再生システムの構成の一例を示す図である。本システムは、カメラ１０１とキャプチャＰＣ２０２の間にマトリクススイッチャ１１０１を導入する以外は、実施例１と同様の構成である。
【０１５６】
管理サーバＰＣ２０１は、予め定められたスイッチング情報に基づいて、マトリクススイッチャ１１０１のスイッチを切り替える切替部を備える。
【０１５７】
スイッチング情報とは、上映シナリオに基づいてマトリクススイッチャ１１０１を制御する情報のことである。
【０１５８】
撮像を開始するカメラ１０１ａと、カメラ１０１ｂと、カメラ１０１ｆと、カメラ１０１ｇとは、マトリクススイッチャ１１０１Ｆに接続されている。カメラ１０１ｃと、カメラ１０１ｄと、カメラ１０１ｈと、カメラ１０１ｉとは、マトリクススイッチャ１１０１Ｇに接続されている。カメラ１０１ｅと、カメラ１０１ｊとは、マトリクススイッチャ１１０１Ｈに接続されている。
【０１５９】
複数のカメラで撮像された画像データは、マトリクススイッチャ１１０１にそれぞれ送信され、管理サーバＰＣ２０１からの指示に従って選択されたキャプチャＰＣ２０２へ送信される。複数のキャプチャＰＣで受信された画像データは、ネットワークＨＵＢ２０６を介してネットワークＨＵＢ２０５に送信される。ネットワークＨＵＢ２０６とネットワークＨＵＢ２０５とは、カスケード接続されている。ネットワークＨＵＢ２０６を介してネットワークＨＵＢ２０５に送信された画像データは、画像処理ＰＣ２０３に送信される。画像処理ＰＣ２０３は、受信した画像データを画像処理して、画像表示ＰＣ２０４に送信する。画像表示ＰＣ２０４は、受信した画像データを再生する。
【０１６０】
切替部は、スイッチング情報に基づいて、マトリクススイッチャ１１０１のスイッチを切り替える。具体的には、上映シナリオ上で時間軸が隣り合わせになるような画像を撮像するカメラとキャプチャＰＣとの組が異なるネットワークＨＵＢに接続するように、マトリクススイッチャ１１０１のスイッチを切り替える。なお、実施例２における上映シナリオは、故障したキャプチャＰＣ２０２を正常なキャプチャＰＣ２０２で代替して、代替したキャプチャＰＣ２０２に接続されたカメラ１０１で撮像するシナリオを含むようにしてもよい。
【０１６１】
例えば、上映シナリオによってカメラ１０１ａが３連続のフレームで撮像した場合を考える。この場合、切替部は、１フレーム目でキャプチャＰＣ２０２Ａ１とカメラ１０１ａとが接続し、２フレーム目でキャプチャＰＣ２０２Ｂ１とカメラ１０１ａとが接続するように、マトリクススイッチャ１１０１を制御する。次に、切替部は、３フレーム目でキャプチャＰＣ２０２Ａ１とカメラ１０１ａとが接続するように、マトリクススイッチャ１１０１を制御する。よって、カメラ１０１ａで撮像された１フレーム目の画像データが、ネットワークＨＵＢ２０６Ａに送信され、２フレーム目の画像データが、ネットワークＨＵＢ２０６Ｂに送信される。そして、３フレーム目の画像データが、ネットワークＨＵＢ２０６Ａに送信されることで、同じネットワークＨＵＢ２０６に連続して画像データが送信されることを抑制することが可能となる。
【０１６２】
図１１において、キャプチャＰＣ２０２Ａ１からネットワークＨＵＢ２０６Ａに画像データが送信され、キャプチャＰＣ２０２Ｂ１が故障した場合を考える。また、カメラ１０１ｂが、故障したキャプチャＰＣ２０２Ｂ１に接続されていると仮定する。この場合、カメラ１０１ｂの接続先を変更しなければならないが、例えば、カメラ１０１ｂをキャプチャＰＣ２０２Ａ２に接続するようにマトリクススイッチャ１１０１Ｆのスイッチを切り替えたとする。すると、先に画像データが送信されたネットワークＨＵＢ２０６Ａに、画像データが再び送信されることになり、ネットワークＨＵＢ２０６ＡとネットワークＨＵＢ２０５の間でボトルネックが発生する可能性がある。
【０１６３】
一方、カメラ１０１ｂを正常なキャプチャＰＣ２０２Ｂ２に接続するように、切替部がマトリクススイッチャ１１０１Ｆのスイッチを切り替えた場合を考える。すると、先に画像データが送信されたネットワークＨＵＢ２０６Ａと異なるネットワークＨＵＢ２０６Ｂに、画像データが送信されることになるため、ネットワークＨＵＢ２０６ＡとネットワークＨＵＢ２０５の間でボトルネックが発生する可能性が軽減される。
【０１６４】
本実施例は、同じネットワークＨＵＢに連続して画像データが送信されないように構成されたスイッチング情報に基づいて、マトリクススイッチャ１１０１のスイッチが切り替えられる。即ち、上映シナリオ上の時間軸が隣り合う画像を撮像するカメラ１０１が、異なるネットワークＨＵＢ２０６に接続されるキャプチャＰＣ２０２にそれぞれ接続されるように、マトリクススイッチャ１１０１が切り替えられる。したがって、ネットワークＨＵＢ２０６とネットワークＨＵＢ２０５の間でボトルネックが発生することを抑止することが可能となる。
【０１６５】
実施例１では、上映シナリオ上の時間軸が隣り合う画像を撮像するカメラ１０１とキャプチャＰＣ２０２との組の出力先が、異なるネットワークＨＵＢ２０６に予め接続され、接続が固定されている。一方、本実施例では、カメラ１０１とキャプチャＰＣ２０２との組の出力先を、任意の条件に応じて、変更可能にすることができる。つまり、実施例１はネットワークＨＵＢ２０６に接続されるカメラが固定の場合の例、実施例２はネットワークＨＵＢ２０６に接続されるカメラが動的な場合の例である。
【０１６６】
＜ネットワークＨＵＢ毎に配置されるマトリクススイッチャの制御＞  
以下、本実施例にかかる上映コントロール情報に基づいたスイッチング制御について説明する。
【０１６７】
図１２に実施例２における映像再生システムの構成の一例を示す図である。本実施例では、カメラ１０１とキャプチャＰＣ２０２の間にマトリクススイッチャ１２０１を導入し、カメラ１０１とキャプチャＰＣ２０２の接続を切り替え可能にする。
【０１６８】
カメラ１０１が１００台である場合、１２８入力のマトリクススイッチャ１２０１を用いれば、１台でカメラ１０１とキャプチャＰＣ２０２との全ての組み合わせを切り替えることができる。しかしながら、システムの安定稼働、およびメンテナンス性を考慮した場合、マトリクススイッチャをネットワークＨＵＢ毎に接続し、且つ、同じ１９インチラック毎に設置するのが望ましいという見方がある。例えば、マトリクススイッチャ自体が故障した場合、１台のマトリクススイッチャで構成した場合、上映自体が出来なくなってしまう。そこで図１２では、３２入力３２出力のＨＤ−ＳＤＩ対応マトリクススイッチャ１２０１を各ネットワークＨＵＢに１台ずつ接続する。図１２に示す構成であれば、マトリクススイッチャ１２０１が１台故障した場合でも、ネットワークＨＵＢ１台分の機材を除外する構成に基づいて生成された上映コントロール情報を用いれば、対応可能である。なお、各マトリクススイッチャ１２０１は管理サーバＰＣ２０１とＵＳＢ接続され、管理サーバＰＣ２０１側で入力と出力の組み合わせを自由に切り替えることができる。マトリクススイッチャ１２０１を導入すればカメラ１０１とキャプチャＰＣ２０２の台数を等しくする必要は無いが、本実施例ではカメラ１０１とキャプチャＰＣ２０２は同数とする。
【０１６９】
図１３（ａ）は、本実施例における管理サーバＰＣ２０１によるマトリクススイッチャ１２０１の制御の様子を示す図である。管理サーバＰＣ２０１は、各マトリクススイッチャ１２０１について、図１３（ｂ）に示すようなスイッチング情報を保持しており、この情報に基づいてカメラ１０１とキャプチャＰＣ２０２の接続を切り替えながら上映を行う。スイッチング情報には、図３（ｂ）に示した上映コントロール情報と同様に、上映開始時刻から終了時刻までの各フレームに対してカメラ１０１からの入力とキャプチャＰＣ２０２への出力、及びその組み合わせに対する状態（ＯＮ／ＯＦＦ）が記載される。ただし、本実施例ではカメラ１０１とキャプチャＰＣ２０２の台数が等しいので、カメラ１０１やキャプチャＰＣ２０２に障害が発生していない場合には接続状態を更新する必要は無い。
【０１７０】
キャプチャＰＣ２０２が応答しない場合、管理サーバＰＣ２０１は、スイッチング情報を更新する。スイッチング情報の更新後は、管理サーバＰＣ２０１は更新したスイッチング情報に基づいてマトリクススイッチャ１２０１に接続変更指示を出す。接続変更指示を出してから実際に接続変更が完了するまでの時間を考慮して、上映時刻よりも早いタイミングで切り替え指示を出さなくてはならないことに注意が必要である。さらに、管理サーバＰＣ２０１は接続変更指示を出した時点で、接続が更新されたキャプチャＰＣ２０２にカメラＩＤを通知する。キャプチャＰＣ２０２は通知されたカメラＩＤに基づいて送信先の画像処理ＰＣ２０３を選択して通信経路を確立し、映像データを送信する。画像処理ＰＣ２０３が映像データを受信した後の処理は実施例１と同様であるので説明を省略する。
【０１７１】
本実施例では、実施例１と同様に管理サーバＰＣ２０１からキャプチャＰＣ２０２への問い合わせを行い、有効性判定処理を実行する。図１４は、本実施例における有効性判定処理の流れを示すフローチャートである。処理の流れは図７に示す実施例１における有効性判定処理と同様であるが、キャプチャＰＣ２０２の一部が正常動作していない場合の処理の流れが異なる。
【０１７２】
なお、図１４のステップＳ１４０１からステップＳ１４０８までの処理は、図７のステップＳ７０１からステップＳ７０８までの処理にそれぞれ対応する。また、図１４のステップＳ１４１０からステップＳ１４１３までの処理は、図７のステップＳ７０９からステップＳ７１２までの処理にそれぞれ対応する。
【０１７３】
ステップＳ１４０８において管理サーバＰＣ２０１は、全てのキャプチャＰＣ２０２が正常であるかを判定する。応答を返さないキャプチャＰＣ２０２がある場合には、ステップＳ１４０９において管理サーバＰＣ２０１上のスイッチング情報を更新して対応する。スイッチング情報更新処理の詳細については後述する。キャプチャＰＣ２０２からの応答はあるものの、その値がカメラ１０１やキャプチャＰＣ２０２の不具合を示す値である場合には、実施例１と同様にステップＳ１４１０でカメラ１０１の選択処理が行われる。
【０１７４】
＜スイッチング情報更新処理＞  
スイッチング情報更新処理とは、応答の無いキャプチャＰＣ２０２（以後、対象ＰＣ）の代替ＰＣを決定し、スイッチング情報を更新する処理である。
【０１７５】
まず、管理サーバＰＣ２０１は、代替ＰＣを決定する。例えば本実施例では、障害の発生したキャプチャＰＣ２０２のｃ２台後に使用するＰＣを代替ＰＣとして選択する。台数ｃ２は、次の式（１５）で示される。
【０１７６】
ｃ２＝［Ｃ／２］                                      （１５）
Ｃは、同じ１９インチラックに収納されているキャプチャＰＣ２０２のうち、正常動作している台数である。また、［］はガウス記号である。
【０１７７】
次に、管理サーバＰＣ２０１は、対象ＰＣの代わりに代替ＰＣを使用するように、スイッチング情報を更新する。例えば本実施例では、次のような手順でスイッチング情報が更新される。まず、管理サーバＰＣ２０１は、上映コントロール情報を参照し、対象ＰＣに対して映像をリクエストする時刻を取得する。対象ＰＣへのリクエストが連続する場合、連続リクエストの先頭時刻について、次の（１）から（３）の順でスイッチング情報を設定していく。  
（１）対象ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１の状態をＯＦＦにし、マトリクススイッチャ１２０１の出力に接続された対象ＰＣの状態をＯＦＦにする。  
（２）代替ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１の状態をＯＦＦにし、マトリクススイッチャ１２０１の出力に接続された代替ＰＣの状態をＯＦＦにする。  
（３）対象ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１の状態をＯＮにし、マトリクススイッチャ１２０１の出力に接続された代替ＰＣの状態をＯＮにする。
【０１７８】
つまり、代替ＰＣ及び対象ＰＣの元々の接続を切り、対象ＰＣに接続されていたカメラ１０１を代替ＰＣに接続する。
【０１７９】
（２）と（３）の間で切替部は、対象ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１と代替ＰＣとを、マトリクススイッチャ１２０１内で電気的に接続するように接続変更を行う。
【０１８０】
また、連続リクエストの終了時刻の次のフレームで、次の（４）から（６）の順でスイッチング情報を設定していき、元の状態に戻す。  
（４）対象ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１の状態をＯＦＦにし、マトリクススイッチャ１２０１の出力に接続された代替ＰＣの状態をＯＦＦにする。  
（５）代替ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１の状態をＯＮにし、マトリクススイッチャ１２０１の出力に接続された代替ＰＣの状態をＯＮにする。  
（６）対象ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１の状態をＯＮにし、マトリクススイッチャ１２０１の出力に接続された対象ＰＣの状態をＯＮにする。
【０１８１】
対象ＰＣへのリクエストが連続しない場合でも同様に、対象ＰＣへのリクエストが発生する時刻に代替ＰＣの元々の接続を切り、対象ＰＣに接続されていたカメラ１０１を代替ＰＣに接続する。また、次のフレームで元の状態に戻す。
【０１８２】
（４）と（５）の間で切替部は、対象ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１と対象ＰＣとを、マトリクススイッチャ１２０１内で電気的に接続するように接続変更を行う。次に切替部は、代替ＰＣのＩＤと同じＩＤを有しマトリクススイッチャ１２０１の入力に接続されたカメラ１０１と代替ＰＣとを、マトリクススイッチャ１２０１内で電気的に接続するように接続変更を行う。
【０１８３】
本実施例の構成によって、上映シナリオに従って生成されたスイッチング情報に基づいて、１台のネットワークＨＵＢに撮像画像のデータの送信が集中しないように、マトリクススイッチャを制御する。
【０１８４】
本実施例によれば、実施例１よりも容易に、複数のカメラで撮像された映像のデータを映像再生するＰＣへの伝送の遅延を抑止することが可能となる。さらに、本実施例によれば、カメラ１０１とキャプチャＰＣ２０２の接続を動的に変更可能にすることで、長期間安定動作する映像再生システムを構築することが可能となる。
【０１８５】
＜その他の実施例＞  
本発明は上記の実施例に限られず、本発明の効果を得られる限り同様の異なる構成をとることが可能である。例えば、管理サーバＰＣや画像処理ＰＣの数を変更したり、各構成部の役割の一部を入れ替えたり、各構成部の一部を分割して新たな構成部を設けるようにしてもよい。また、各構成部や処理に用いる情報を、同等の別のものに置き換えてもよい。
【０１８６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１８７】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2016001833.tif 000041
【図２】
2016001833.tif 000042
【図３】
2016001833.tif 000043
【図４】
2016001833.tif 000044
【図５】
2016001833.tif 000045
【図６】
2016001833.tif 000046
【図７】
2016001833.tif 000047
【図８】
2016001833.tif 000048
【図９】
2016001833.tif 000049
【図１０】
2016001833.tif 000050
【図１１】
2016001833.tif 000051
【図１２】
2016001833.tif 000052
【図１３】
2016001833.tif 000053
【図１４】
2016001833.tif 000054