(57)【要約】【課題】同期して撮影された一群の画像データから合成される合成画像の画質が劣化してしまう事態を低減することを目的とする。【解決手段】複数の撮影部により複数のタイミングそれぞれにおいて同期して撮影された複数の画像に基づく複数の画像データであって、仮想視点画像の生成に用いられる前記複数の画像データを転送するよう制御する制御手段と、前記制御手段による転送にかかる負荷の程度を示す負荷指標を取得する取得手段と、を有し、前記制御手段は、前記取得手段により取得された前記負荷指標に応じて、前記複数の画像データのうち少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データの転送を中止するように制御する。【選択図】図５
2020039072.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮影部により複数のタイミングそれぞれにおいて同期して撮影された複数の画像に基づく複数の画像データであって、仮想視点画像の生成に用いられる前記複数の画像データを転送するよう制御する制御手段と、
前記制御手段による転送にかかる負荷の程度を示す負荷指標を取得する取得手段と、
を有し、
前記制御手段は、前記取得手段により取得された前記負荷指標に応じて、前記複数の画像データのうち少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データの転送を中止するように制御する情報処理装置。
【請求項２】
前記制御手段は、前記少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データのうち一部の画像データの転送を中止するように制御する請求項１記載の情報処理装置。
【請求項３】
前記少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データそれぞれの有用度に基づいて、前記少なくとも一のタイミングにおいて同期して撮影された複数の画像データのうち、転送を中止する画像データを決定する決定手段をさらに有し、
前記制御手段は、前記決定手段により転送を中止すると決定された前記画像データの転送を中止するように制御する請求項２記載の情報処理装置。
【請求項４】
前記有用度は、前記少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データそれぞれの仮想視点画像の生成に対する寄与の度合である請求項３記載の情報処理装置。
【請求項５】
前記取得手段は、転送予定の画像データの転送にかかる負荷の程度を示す指標を、前記負荷指標として取得する請求項１乃至４何れか１項記載の情報処理装置。
【請求項６】
前記取得手段は、転送中の画像データの転送にかかる負荷の程度を示す指標を、前記負荷指標として取得する請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
前記取得手段は、前記制御手段により転送される画像データのデータサイズを、前記負荷指標として取得する請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
前記取得手段は、前記制御手段により転送される画像データの転送時間を、前記負荷指標として取得する請求項１乃至６何れか１項記載の情報処理装置。
【請求項９】
情報処理装置が実行する情報処理方法であって、
複数の撮影部により複数のタイミングそれぞれにおいて同期して撮影された複数の画像に基づく複数の画像データであって、仮想視点画像の生成に用いられる前記複数の画像データの転送にかかる負荷の程度を示す負荷指標を取得する取得ステップと、
前記取得ステップで取得された前記負荷指標に応じて、前記複数の画像データのうち少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データの転送を中止するように制御する制御ステップと、
を含む情報処理方法。
【請求項１０】
前記制御ステップでは、前記少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データのうち一部の画像データの転送を中止するように制御する請求項９記載の情報処理方法。
【請求項１１】
前記少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データそれぞれの有用度に基づいて、前記少なくとも一のタイミングにおいて同期して撮影された複数の画像データのうち、転送を中止する画像データを決定する決定ステップをさらに含み、
前記制御ステップでは、前記決定ステップで転送を中止すると決定された前記画像データの転送を中止するように制御する請求項１０記載の情報処理方法。
【請求項１２】
前記有用度は、前記少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データそれぞれの仮想視点画像の生成に対する寄与の度合である請求項１１記載の情報処理方法。
【請求項１３】
コンピュータを、請求項１乃至８何れか１項記載の情報処理装置の各手段として、機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
異なる位置に設置された複数の撮影部を介して多視点で同期して撮影されて取得された複数視点画像を用いて仮想視点画像を生成する技術がある。
仮想視点画像を生成するシステムでは、複数の撮影部により同期して撮影された画像データの転送が行われる場合がある。特許文献１には、複数の撮影部から転送されるデータ量からネットワーク帯域使用率を算出し、許容レベルを超える場合は一部の撮影部の転送タイミングをずらしたり、データの順序を入れ替えたりして通信帯域を効率的に使う手法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４７１０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の撮影部により同期して撮影された画像に基づく画像データの転送において、通信状況（通信帯域の逼迫、遅延の発生等）に応じて、転送される画像データを削減する必要が生じる場合がある。そのような場合、撮影部ごとに、一部の画像データを転送対象から外すことが考えられる。しかし、それにより、転送先において、複数の撮影部により同期して撮影された一群の画像データの一部が欠落してしまう事態が多発してしまう場合がある。これにより、同期して撮影された画像に基づく一群の画像データから合成される仮想視点画像等の合成画像の画質が劣化してしまう事態が多発する場合があるという問題がある。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、複数の撮影部により複数のタイミングそれぞれにおいて同期して撮影された複数の画像に基づく複数の画像データであって、仮想視点画像の生成に用いられる前記複数の画像データを転送するよう制御する制御手段と、前記制御手段による転送にかかる負荷の程度を示す負荷指標を取得する取得手段と、を有し、前記制御手段は、前記取得手段により取得された前記負荷指標に応じて、前記複数の画像データのうち少なくとも一のタイミングにおいて同期して撮影された複数の画像に基づく複数の画像データの転送を中止するように制御する。
【発明の効果】
【０００６】
本発明によれば、同期して撮影された画像に基づく一群の画像データから合成される合成画像の画質が劣化してしまう事態を低減できる。
【図面の簡単な説明】
【０００７】
【図１】撮影システムのシステム構成の一例を示す図である。
【図２】コントローラ等のハードウェア構成の一例を示す図である。
【図３】撮影状況の一例を説明する図である。
【図４】カメラアダプタの処理の一例を示すフローチャートである。
【図５】コントローラの処理の一例を示すフローチャートである。
【図６】転送処理の一例を説明する図である。
【図７】転送処理の一例を説明する図である。
【図８】コントローラの処理の一例を示すフローチャートである。
【図９】転送処理の一例を説明する図である。
【発明を実施するための形態】
【０００８】
以下に、本発明の実施の形態の一例を、図面に基づいて詳細に説明する。
【０００９】
＜実施形態１＞
図１は、撮影システム１００のシステム構成の一例である。撮影システム１００は、複数のカメラを備える。本実施形態においては、複数のカメラが競技場（スタジアム）やコンサートホール等の施設に設置されている場合を例に説明する。
撮影システム１００は、カメラ１１２ａ〜１１２ｅ、カメラアダプタ１２０ａ〜１２０ｅ、スイッチングハブ１８０、画像サーバ装置２００、タイムサーバ２９０、コントローラ３００を含む。以下では、カメラ１１２ａ〜１１２ｅを、適宜カメラ１１２と総称する。また、以下では、カメラアダプタ１２０ａ〜１２０ｅを、適宜カメラアダプタ１２０と総称する。
本実施形態では、特に断りがない限り、画像には、動画と静止画とが含まれるものとする。即ち、撮影システム１００は、静止画及び動画の何れについても撮影できる。
【００１０】
スイッチングハブ１８０は、ネットワークを介した通信の中継を行う装置である。スイッチングハブ１８０は、コントローラ３００、画像サーバ装置２００、タイムサーバ２９０、カメラアダプタ１２０ａ、カメラアダプタ１２０ｅそれぞれと接続されている。また、カメラアダプタ１２０ａ〜１２０ｅは、デイジーチェーン接続されている。また、カメラ１１２ａ〜１１２ｅは、それぞれカメラアダプタ１２０ａ〜１２０ｅと接続されている。
また、カメラアダプタ１２０ａ〜１２０ｅは、デイジーチェーン接続されていないこととしてもよい。例えば、カメラアダプタ１２０ａ〜１２０ｅは、それぞれスイッチングハブ１８０に接続されることしてもよい。その場合、スイッチングハブ１８０を経由してカメラアダプタ１２０ａ〜１２０ｅ間のデータ送受信を行うスター型のネットワークが構成される。
【００１１】
カメラ１１２は、レンズ、光学素子等を含み画像の撮影を行う撮影部である。カメラアダプタ１２０は、対応するカメラ１１２の制御、撮影画像の取得、同期信号の提供、時刻設定等を行うアダプタである。カメラ１１２の制御には、例えば、撮影パラメータ（画素数、色深度、フレームレート、及びホワイトバランスの設定など）の設定及び参照、カメラ１１２の状態（撮影中、停止中、同期中、及びエラーなど）の取得、撮影の開始及び停止や、ピント調整等がある。
同期信号とは、カメラ１１２ａ〜１１２ｅそれぞれに対して同期したタイミングでの撮影を指示するための信号である。カメラ１１２ａ〜１１２ｅは、受け付けた同期信号に応じたタイミングで、撮影を行うことで、同一のタイミングで同期して撮影することができる。カメラアダプタ１２０は、タイムサーバ２９０と同期した時刻に基づいて決定した撮影タイミング（制御クロック）を、同期信号として、対応するカメラ１１２に提供する。
カメラアダプタ１２０それぞれは、タイムサーバ２９０と同期した時刻を、ＳＭＰＴＥ１２Ｍのフォーマットに準拠したタイムコードで、対応するカメラ１１２に提供する。これにより、カメラ１１２から受取る画像データに提供したタイムコードが付与されることになる。なお、タイムコードのフォーマットはＳＭＰＴＥ１２Ｍに限定されるわけではなく、他のフォーマットであってもよい。
【００１２】
画像サーバ装置２００は、カメラ１１２により同一のタイミングで同期して撮影されて取得された複数の画像から合成画像を生成する情報処理装置である。本実施形態では、画像サーバ装置２００は、合成画像として、仮想視点画像を生成することとする。ただし、画像サーバ装置２００は、合成画像として、カメラ１１２の撮影対象の領域全体の鳥瞰図等を生成することとしてもよい。タイムサーバ２９０は、時刻情報を外部の装置に対して提供する情報処理装置である。
コントローラ３００は、ネットワークを介して、カメラアダプタ１２０それぞれに制御信号を送ることで、カメラ１１２それぞれを制御する情報処理装置である。コントローラ３００は、例えば、パーソナルコンピュータ（ＰＣ）、サーバ装置、タブレット装置等である。また、コントローラ３００は、ネットワークを介して、カメラ１１２それぞれが撮影した画像データを画像サーバ装置２００に転送するよう制御する。また、コントローラ３００は、画像サーバ装置２００から選択した画像データを取り出す。
【００１３】
図２（ａ）は、コントローラ３００のハードウェア構成の一例を示す図である。コントローラ３００は、ＣＰＵ３１１、主記憶装置３１２、補助記憶装置３１３、ネットワークＩ／Ｆ３１４を含む。各要素は、システムバス３１５を介して相互に通信可能に接続されている。
ＣＰＵ３１１は、コントローラ３００を制御する中央演算装置である。主記憶装置３１２は、ＣＰＵ３１１のワークエリア、データの一時的な記憶領域等として機能するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等の記憶装置である。補助記憶装置３１３は、各種プログラム、各種設定情報等を記憶する記憶装置である。補助記憶装置３１３は、例えば、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）等である。ネットワークＩ／Ｆ３１４は、カメラアダプタ１２０等の外部の装置との間でのネットワークを介した通信に用いられるインターフェースである。
ＣＰＵ３１１が、補助記憶装置３１３に記憶されたプログラムにしたがって処理を実行することで、コントローラ３００の機能、図５、８のフローチャートの処理等が実現される。
【００１４】
図２（ｂ）は、カメラアダプタ１２０ａのハードウェア構成の一例を示す図である。カメラアダプタ１２０ａは、ＣＰＵ１２１、主記憶装置１２２、補助記憶装置１２３、デバイスＩ／Ｆ１２４、ネットワークＩ／Ｆ１２５を含む。各要素は、システムバス１２６を介して相互に通信可能に接続されている。
ＣＰＵ１２１は、カメラアダプタ１２０ａを制御する中央演算装置である。主記憶装置１２２は、ＣＰＵ１２１のワークエリア、データの一時的な記憶領域等として機能するＲＡＭ等の記憶装置である。補助記憶装置３１３は、各種プログラム、各種設定情報等を記憶する、ＲＯＭ、ＨＤＤ、ＳＳＤ等の記憶装置である。デバイスＩ／Ｆ１２４は、カメラ１１２等の外部のデバイスとの接続に用いられるインターフェースである。ネットワークＩ／Ｆ１２５は、画像サーバ装置２００等の外部の装置との間でのネットワークを介した通信に用いられるインターフェースである。
ＣＰＵ１２１が、補助記憶装置１２３に記憶されたプログラムにしたがって処理を実行することで、カメラアダプタ１２０ａの機能、図４のフローチャートの処理等が実現される。
【００１５】
また、本実施形態では、カメラアダプタ１２０ｂ〜１２０ｅそれぞれのハードウェア構成は、図２（ｂ）に示すカメラアダプタ１２０ａのハードウェア構成と同様であるとする。
カメラアダプタ１２０ｂ〜１２０ｅそれぞれのＣＰＵ１２１が、カメラアダプタ１２０ｂ〜１２０ｅそれぞれの補助記憶装置１２３に記憶されたプログラムにしたがって処理を実行することで、以下の機能、処理が実現される。即ち、カメラアダプタ１２０ｂ〜１２０ｅそれぞれの機能、カメラアダプタ１２０ｂ〜１２０ｅそれぞれによる図４のフローチャートの処理と同様の処理等が実現される。
【００１６】
図３は、本実施形態におけるカメラ１１２ａ〜１１２ｅの設置例を示す図である。図３の例では、カメラ１１２ａ〜１１２ｅは、何れも光軸が同一の注視点６３０２を向くように設置されている。なお、各カメラ１１２ａ〜１１２ｅの光軸が、注視点６３０２で交わらなくてもよく、注視点６３０２の近傍でフィールドと交わる場合も、本実施形態に含まれる。また、注視点６３０２は、フィールド上の点でなくてもよく、フィールドから離間した空中に位置していてもよい。
【００１７】
以下では、図４、５を用いて、カメラ１１２により撮影されて取得された画像データが画像サーバ装置２００に転送される際の撮影システム１００の処理について説明する。本実施形態では、カメラ１１２それぞれは、タイムサーバ２９０を介して内部の時刻が同期されている。カメラ１１２それぞれにより同期して撮影された画像データがカメラアダプタ１２０から画像サーバ装置２００に転送されることとなる。
以下では、画像サーバ装置２００に転送される画像データとして撮影画像を例として説明する。ただし、カメラアダプタ１２０は、撮影画像に基づき前景背景分離を行う機能を有していてもよく、この場合、画像サーバ装置２００に転送される画像データとしては、前景背景分離された前景画像や背景画像であってもよい。また、画像サーバ装置２００に転送される画像データは、撮影画像と前景画像と背景画像のうち全部でもよいし、そのうちの一つでもよいし、二つでもよい。このように、本実施形態において、画像データは、カメラ１１２の撮影によって取得された撮影画像に基づく画像であればよい。
前景画像とは、カメラにより撮影されて取得された撮影画像から、オブジェクトの領域を抽出した画像である。オブジェクトとは、時系列で同じ方向から撮影を行った場合において動きのある（その絶対位置が変化し得る）動的オブジェクト（動体）を指す。オブジェクトは、例えば、人物や球技におけるボールを指す。オブジェクトとなる人物としては、より具体的には、競技が行われるフィールド内にいる選手や審判、コンサート等のステージ上にいる歌手、演奏者、パフォーマー、司会者などである。
また、背景画像とは、少なくとも前景となるオブジェクトとは異なる領域の画像である。背景は、時系列で同じ方向から撮影を行った場合において静止している、又は静止に近い状態が継続している撮影対象物を指す。このような撮影対象物は、例えば、コンサート等のステージ、競技などのイベントを行うスタジアム、球技で使用するゴールなどの構造物、フィールド、空や雲などである。ただし、背景としては少なくともオブジェクトとは異なる領域であり、撮影対象としては、オブジェクトと背景の他に、別の物体等が含まれていてもよい。
図４は、本実施形態のカメラアダプタ１２０ａの処理の一例を示すフローチャートである。
【００１８】
Ｓ４０１において、カメラアダプタ１２０ａのＣＰＵ１２１は、他のカメラアダプタ１２０と同期して、同期信号を対応するカメラ１１２ａに対して入力する。これによりカメラアダプタ１２０ａは、対応するカメラ１１２ａに対して、他のカメラ１１２ｂ〜１１２ｅと同期した撮影を指示する。そして、カメラアダプタ１２０ａのＣＰＵ１２１は、カメラ１１２ａにより撮影された画像データを取得する。以下では、カメラ１１２により撮影された画像データを、フレームデータとする。また、カメラ１１２それぞれにより同期して撮影された一群のフレームデータを、同期フレームデータ群とする。カメラ１１２により撮影されるフレームデータは、転送対象である転送データの一例である。フレームデータは、音声データやメタデータ等の画像以外のデータを含むこととしてもよい。
以降、カメラアダプタ１２０ａのＣＰＵ１２１は、カメラ１１２ａに対して、予め定められた間隔で周期的に同期信号を入力する。また、他のカメラアダプタ１２０それぞれも、同様に、それぞれに対応するカメラ１１２に対して、この間隔で周期的に同期信号を入力することとなる。そのため、カメラ１１２それぞれは、複数のタイミングのそれぞれで同期して撮影を行うこととなる。
【００１９】
Ｓ４０２において、カメラアダプタ１２０ａのＣＰＵ１２１は、Ｓ４０１で取得したフレームデータからフレームデータ情報を生成する。フレームデータ情報とは、フレームデータの性質を示す情報である。本実施形態では、フレームデータ情報は、フレームデータのデータサイズを示す情報である。また、フレームデータ情報は、フレームデータがデータタイプ別に構成されている場合、データタイプ毎のデータサイズを示す情報であるとする。
Ｓ４０３において、カメラアダプタ１２０ａのＣＰＵ１２１は、Ｓ４０２で生成したフレームデータ情報をコントローラ３００に送信する。
【００２０】
Ｓ４０４において、カメラアダプタ１２０ａのＣＰＵ１２１は、コントローラ３００よりフレームデータの転送開始通知を受信したか否かを判定する。フレームデータの転送開始通知とは、フレームデータの転送の開始を指示するための通知である。カメラアダプタ１２０ａのＣＰＵ１２１は、受信したと判定した場合、処理をＳ４０５に進め、受信していないと判定した場合、処理をＳ４０６に進める。
Ｓ４０５において、カメラアダプタ１２０ａのＣＰＵ１２１は、Ｓ４０１で取得したフレームデータを画像サーバ装置２００に転送することを決定し、フレームデータの転送を実行する。本実施形態では、カメラアダプタ１２０ａのＣＰＵ１２１は、フレームデータの転送を実行する。
Ｓ４０６において、カメラアダプタ１２０ａのＣＰＵ１２１は、Ｓ４０１で取得したフレームデータをコントローラ３００に送信することを中止することを決定する。
また、カメラアダプタ１２０ｂ〜１２０ｅも、図４を参照しつつ説明したカメラアダプタ１２０ａの処理と同様の処理を行う。
【００２１】
図５は、本実施形態のコントローラ３００の処理の一例を示すフローチャートである。
Ｓ３０１において、ＣＰＵ３１１は、カメラアダプタ１２０ａ〜１２０ｅそれぞれが転送予定の同期フレーム群のフレームデータ情報をカメラアダプタ１２０ａ〜１２０ｅから取得する。なお、本実施形態においては、カメラアダプタ１２０ａ〜１２０ｅから画像サーバ装置２００へのフレームデータの転送は、１フレーム毎に行われるものとする。これに対応し、Ｓ３０１において、ＣＰＵ３１１は、転送予定の１つのタイミングの同期フレーム群のフレームデータ情報を取得するものとする。ＣＰＵ３１１は、Ｓ３０１の処理の後、処理をＳ３０２に進める。
Ｓ３０２において、ＣＰＵ３１１は、Ｓ３０１でカメラアダプタ１２０それぞれから取得したフレームデータ情報に基づいて、これらのフレームデータ情報に対応する同期フレームデータ群の転送にかかる通信媒体の負荷の程度を示す指標である負荷指標を求める。本実施形態では、ＣＰＵ３１１は、転送予定データの負荷指標として、転送予定データの転送にかかる転送時間を求める。より具体的には、ＣＰＵ３１１は、転送予定データのデータサイズを求め、求めたデータサイズを、予め定められた単位時間当たりの転送可能なデータサイズで割ることで、転送時間を求める。ＣＰＵ３１１は、フレームデータ情報がデータタイプ別のデータサイズの情報を含む場合、データタイプ毎に転送時間を求める。ＣＰＵ３１１は、Ｓ３０２の処理の後、処理をＳ３０３に進める。
【００２２】
Ｓ３０３において、ＣＰＵ３１１は、Ｓ３０２で求めた転送時間に基づいて、転送予定の同期フレームデータ群を１フレーム期間内に画像サーバ装置２００へ転送可能か否かを判定する。１フレーム期間とは、１フレーム分の同期フレームデータ群の画像サーバ装置２００への転送に許容される期間である。本実施形態では、１フレーム期間は、予め定められている。本実施形態では、１フレーム期間は、同期信号が発せられる間隔と同じ期間であるとする。
ＣＰＵ３１１は、Ｓ３０２で求めた転送時間が、１フレーム期間以下であれば、１フレーム期間内に転送予定の同期フレームデータ群の画像サーバ装置２００への転送が可能と判定する。また、ＣＰＵ３１１は、Ｓ３０２で求めた転送時間が、１フレーム期間よりも大きければ、１フレーム期間内にこの同期フレームデータ群の画像サーバ装置２００への転送が不可能と判定する。ＣＰＵ３１１は、可能と判定した場合、処理をＳ３０４へ進める。ＣＰＵ３１１はまた、不可能と判定した場合、処理をＳ３０５へ進める。
【００２３】
Ｓ３０４において、ＣＰＵ３１１は、カメラアダプタ１２０それぞれに対して、転送予定のフレームデータの転送開始通知を送信する。ＣＰＵ３１１は、Ｓ３０４の処理の後、処理をＳ３０１へ進める。各カメラアダプタ１２０ａ〜１２０ｅのＣＰＵ１２１は、この転送開始通知を受けて、転送予定のフレームデータの画像サーバ装置２００への転送を開始する。これにより、１フレーム分の同期フレームデータ群が画像サーバ装置２００に転送される。
【００２４】
Ｓ３０５において、ＣＰＵ３１１は、転送遅延時間を求める。転送遅延時間とは、転送予定のフレームデータの転送の開始が遅延する時間である。ＣＰＵ３１１は、Ｓ３０５の処理の時点よりも過去に転送開始通知を送信済みであるが、転送が完了していない同期フレームデータ群の転送にかかる時間を、転送予定データの転送遅延時間として求める。以下では、過去に転送が指示された同期フレームデータ群に含まれる転送が完了していないデータを、転送中データとする。転送中データの転送にかかる時間は、転送中データの転送のために通信路が用いられる時間を示し、転送中データの負荷指標の一例である。そのため、Ｓ３０５で求められた転送遅延時間は、転送中データの負荷指標の一例となる。ＣＰＵ３１１は、Ｓ３０５の処理の後、処理をＳ３０６に進める。
Ｓ３０６において、ＣＰＵ３１１は、Ｓ３０５で求めた転送遅延時間に基づいて、転送予定データの転送が可能か否かを判定する。より具体的には、ＣＰＵ３１１は、転送遅延時間が予め定められた閾値未満である場合、遅延時間が許容範囲であり、転送予定データの転送が可能であると判定し、処理をＳ３０４に進める。また、ＣＰＵ３１１は、転送遅延時間が予め定められた閾値以上である場合、遅延時間が許容範囲を超えており、転送予定データの転送が不可能であると判定し、処理をＳ３０７に進める。本実施形態では、予め定められた閾値は、１フレーム期間であるとする。
Ｓ３０７において、ＣＰＵ３１１は、カメラアダプタ１２０ａ〜１２０ｅそれぞれに、転送開始通知の代わりに転送予定データに含まれる各フレームデータの送信を中止することを指示する通知を送信する。このように、ＣＰＵ３１１は、カメラ１１２により同期して撮影された複数のフレームデータを単位として、転送予定データの転送を中止するよう制御する。ＣＰＵ３１１は、Ｓ３０７の処理の後、処理をＳ３０１に進める。
【００２５】
図６は、Ｓ３０１からＳ３０４までの処理のタイミングチャートである。図６のチャートにおける左から右への流れは、時間の流れを示す。図６を用いて、連続して取得される複数の同期フレームデータ群の転送時間が１フレーム期間以内となる場合の図５の処理（Ｓ３０１〜Ｓ３０４の処理）について説明する。
図６のチャートが示すように、同期信号がカメラ１１２に入力されたことに応じて、カメラ１１２それぞれにより同期した撮影が行われ、同期フレームデータ群が取得される。
図６に示す同期フレームデータ群Ｎ〜Ｎ＋６は、それぞれタイミングＮ〜Ｎ＋６において得られた複数のフレームデータの同期フレームデータ群である。同期フレームデータ群の撮影が完了すると、カメラアダプタ１２０ａ〜１２０ｅは、撮影が完了した同期フレームデータ群に係るフレームデータ情報を画像サーバ装置２００に送信する。
画像サーバ装置２００は、フレームＮ〜Ｎ＋６それぞれについて、１フレーム期間内に転送可能と判定した場合には、カメラアダプタ１２０ａ〜１２０ｅそれぞれにフレームデータの転送開始通知を送信する。そして、図６に示すように、カメラアダプタ１２０ａ〜１２０ｅそれぞれは、転送予定の同期フレームデータ群のフレームデータを、画像サーバ装置２００に、１フレーム期間以内の転送時間で転送する。このため、図６に示すように、フレームＮ〜Ｎ＋６は、いずれも遅延なく１フレーム期間内に転送される。
【００２６】
図７は、Ｓ３０３で転送が不可能と判定された場合の図３のフローチャートの処理の一例を説明する図である。図７のチャートは、図６のタイミングチャートと同様に、時間の流れを示すタイミングチャートである。図７を用いて、連続して取得される複数の同期フレームデータ群の転送時間が１フレーム期間よりも大きい場合の図５の処理について説明する。
図７の例では、同期フレームデータ群Ｎ〜Ｎ＋６それぞれは、それぞれ異なるタイミングで同期して撮影された同期フレームデータ群である。同期フレームデータ群Ｎ〜Ｎ＋６は、それぞれ１フレーム期間で画像サーバ装置２００に転送することができるデータサイズを超えている。そのため、ＣＰＵ３１１は、同期フレームデータ群Ｎ〜Ｎ＋６それぞれについて、Ｓ３０３で、１フレーム期間での転送を不可能と判定し、処理をＳ３０５に進めることとなる。
図７の例では、同期フレームデータ群Ｎの転送が終了する時点で同期フレームデータ群Ｎ＋２の同期撮影が開始されている。そのため、同期フレームデータ群Ｎ＋２の撮影が開始した時点からフレームＮの転送が終了する時点までの間、同期フレームデータ群Ｎ＋１の各フレームデータは、カメラアダプタ１２０ａ〜１２０ｅの補助記憶装置内に保持されている。
【００２７】
次に、カメラアダプタ１２０ａ〜１２０ｅそれぞれは、同期フレームデータ群Ｎ＋１の各フレームデータの転送を行う。同期フレームデータ群Ｎ＋１の転送が終了する時点では、既に同期フレームデータ群Ｎ＋３の同期撮影が開始されている。そのため、同期フレームデータ群Ｎ＋３の撮影が開始した時点からフレームＮ＋１の転送が終了する時点までの間、同期フレームデータ群Ｎ＋２の各フレームデータは、カメラアダプタ１２０ａ〜１２０ｅの補助記憶装置内に保持されている。
続いて、カメラアダプタ１２０ａ〜１２０ｅそれぞれは、同期フレームデータ群Ｎ＋２の各フレームデータの転送を行う。同期フレームデータ群Ｎ＋２の転送が終了する時点において同期フレームデータ群Ｎ＋５の同期撮影が開始されている。即ち、同期フレームデータ群Ｎ＋３を転送予定データとなる際のＳ３０５の処理で、ＣＰＵ３１１は、同期フレームデータ群Ｎ＋３の転送の開始の遅延時間として１フレーム期間よりも長い時間を求めたこととなる。そのため、ＣＰＵ３１１は、続くＳ３０６の処理において、同期フレームデータ群Ｎ＋３の転送が不可能と判定し、処理をＳ３０７に進める。そして、ＣＰＵ３１１は、Ｓ３０７で同期フレームデータ群Ｎ＋３の各フレームデータの転送の中止をカメラアダプタ１２０ａ〜１２０ｅそれぞれに通知する。カメラアダプタ１２０それぞれは、保持していた同期フレームデータ群Ｎ＋３のデータを破棄する。他の例としては、カメラアダプタ１２０ａ〜１２０ｅそれぞれは、保持していた同期フレームデータ群Ｎ＋３のデータを破棄せずに保持しておき、後に画像サーバ装置２００から要求を受けたことに応じて、画像サーバ装置２００に転送することとしてもよい。
【００２８】
以上、本実施形態では、撮影システム１００は、転送予定の同期フレームデータ群の転送時間及び転送中の同期フレームデータ群の転送時間に応じて、転送予定の同期フレームデータ群の転送を中止するか否かを制御する。即ち、撮影システム１００は、転送されるフレームデータの転送時間に応じて、転送予定の同期フレームデータ群の転送を中止するか否かを制御する。ここで、転送予定の同期フレームデータ群のデータサイズ及び転送中の同期フレームデータ群のデータサイズは、データ転送に係る通信媒体の負荷の程度を示す負荷指標の一例である。
これにより、撮影システム１００は、転送先において、複数の同期フレームデータ群に渡って、一部のフレームデータが欠落するのを防ぐことができる。これにより、仮想視点画像を合成する際にフレームデータが足りないことに起因し、画質が低下するといった事態を低減することができる。
また、本実施形態では、撮影システム１００は、同期フレームデータ群の転送時間が１フレーム期間よりも大きい場合であっても、転送遅延時間が閾値未満なら、遅延が許容範囲として、同期フレームデータ群の転送を行うこととした。これにより、カメラ１１２により同期して撮影された同期フレームデータ群の転送時間が１フレーム期間よりも大きくなる事態が継続的に生じる場合であっても、撮影システム１００は、以下の効果を奏することができる。即ち、撮影システム１００は、欠落する同期フレームデータ群を低減することができる。結果として、撮影システム１００は、カメラ１１２から転送される画像のフレームレートが落ちることを防止できる。
【００２９】
＜実施形態２＞
実施形態１では、カメラ１１２により同期して撮影された全てのフレームデータについて転送を中止する制御を行う処理について説明した。本実施形態では、カメラ１１２により同期して撮影された一部のフレームデータの転送を中止する制御を行う処理について説明する。
本実施形態の撮影システム１００のシステム構成は、実施形態１と同様である。また、コントローラ３００のハードウェア構成及び機能構成は、実施形態１と同様である。また、カメラアダプタ１２０それぞれのハードウェア構成及び機能構成は、実施形態１と同様である。
【００３０】
図８は、本実施形態のコントローラ３００の処理の一例を示すフローチャートである。
Ｓ７０１〜Ｓ７０４の処理は、図３のＳ３０１〜Ｓ３０４の処理と同様である。ただし、ＣＰＵ３１１は、Ｓ７０３において、転送予定データが１フレーム期間内に転送することが不可能と判定した場合、処理をＳ７０５に進める。
Ｓ７０５において、ＣＰＵ３１１は、転送予定データから、転送中止対象とするフレームデータを複数、選択する。本実施形態では、ＣＰＵ３１１は、カメラ１１２ａ〜１１２ｅにより撮影される各フレームデータの仮想視点画像への寄与度に基づいて、転送予定データから転送中止対象とするフレームデータを選択する。より具体的には、ＣＰＵ３１１は、転送予定データから転送中止対象となるフレームデータを除いたもののデータサイズが、１フレーム期間内に転送可能なデータサイズとするように、寄与度の低いものから転送中止対象となるフレームデータを選択する。この寄与度は、カメラ１１２ａ〜１１２ｅそれぞれについて予め定められていることとする。また、この寄与度の情報は、補助記憶装置３１３に予め記憶されている。ＣＰＵ３１１は、補助記憶装置３１３からカメラ１１２ａ〜１１２ｅそれぞれについての寄与度の情報を取得する。カメラ１１２ａ〜１１２ｅにより撮影される各フレームデータの仮想視点画像への寄与度は、各フレームデータの有用度（有用さの度合）の一例である。本実施形態では、ＣＰＵ３１１は、カメラ１１２ｄにより撮影されたフレームデータを転送中止対象として選択することとする。画像およびカメラアダプタ１２０ｄを除いたカメラからのみ撮影データを転送するものとする。ＣＰＵ３１１は、寄与度に基づいて選択されたフレームデータの転送を中止することで、転送予定データから生成される仮想視点画像の画質の劣化を低減できる。
【００３１】
Ｓ７０６において、ＣＰＵ３１１は、転送予定データからＳ７０５で転送中止対象として選択したフレームデータを除いたデータである転送対象データの転送にかかる負荷指標を求める。ＣＰＵ３１１は、転送対象データの負荷指標として、転送対象データの転送時間を求める。そして、ＣＰＵ３１１は、求めた転送時間が１フレーム期間以下であるか否かを判定する。ＣＰＵ３１１は、１フレーム期間以下であると判定した場合、処理をＳ７０７に進め、１フレーム期間よりも大きいと判定した場合、処理をＳ７０８に進める。
Ｓ７０７において、ＣＰＵ３１１は、カメラアダプタ１２０ａ〜１２０ｃ、１２０ｅそれぞれに、フレームデータの転送を指示する転送開始通知を送信する。また、ＣＰＵ３１１は、カメラアダプタ１２０ｄにフレームデータの送信を中止することを指示する通知を送信する。このように、ＣＰＵ３１１は、カメラ１１２により同期して撮影された複数のフレームデータである転送予定データのうち、転送中止対象として選択したフレームデータの転送を中止するよう制御する。
Ｓ７０８において、ＣＰＵ３１１は、カメラアダプタ１２０ａ〜１２０ｅそれぞれに、転送開始通知の代わりに転送予定データに含まれる各フレームデータの送信を中止することを指示する通知を送信する。
【００３２】
図９のタイミングチャートを用いて、本実施形態の撮影システム１００の処理について説明する。図９のチャートは、図６のタイミングチャートと同様に、時間の流れを示すタイミングチャートである。
図９の例では、同期フレームデータ群Ｎ〜Ｎ＋６は、それぞれ異なるタイミングで同期して撮影された同期フレームデータ群である。同期フレームデータ群Ｎは、１フレーム期間で画像サーバ装置２００に転送することができるデータサイズを超えている。そのため、ＣＰＵ３１１は、同期フレームデータ群Ｎについて、Ｓ７０３で、１フレーム期間での転送を不可能と判定し、処理をＳ７０５に進めることとなる。ＣＰＵ３１１は、Ｓ７０５で同期フレームデータ群Ｎに含まれる各フレームデータの仮想視点画像への寄与度に基づいて、同期フレームデータ群Ｎに含まれる一部のフレームデータを転送中止対象として選択する。そして、ＣＰＵ３１１は、Ｓ７０７で、転送予定データに含まれる転送中止対象のフレームデータを除くフレームデータの転送を指示する。これにより、図９に示されるように、撮影システム１００は、同期フレームデータ群Ｎについて、１フレーム期間内に転送を完了することができている。
【００３３】
同期フレームデータ群に含まれるフレームデータの一部のみ削除することで、１フレーム期間内に転送可能な場合がある。本実施形態では、撮影システム１００は、このような場合に転送対象の同期フレームデータ群に属する全てのフレームデータを削除するのに替えて、一部のフレームデータのみを削除することとした。これにより、残りのフレームデータから仮想視点画像を生成することができる。また、フレームレートが落ちることを防止できる。
さらに、仮想視点画像への寄与度に応じて転送すべきフレームデータを選択するので、フレームデータの欠落による仮想視点画像の画質の劣化をより抑えることができる。
【００３４】
＜その他の実施形態＞
実施形態１、２では、１台のカメラ１１２に１台のカメラアダプタ１２０が接続されることとした。しかし、複数のカメラ１１２に１台のカメラアダプタ１２０が接続されることとしてもよい。
例えば、２台のカメラ１１２それぞれが、１台のカメラアダプタ１２０に接続されることとしてもよい。また、例えば、カメラ１１２ａ〜ｅの５台それぞれが、１台のカメラアダプタ１２０に接続されることとしてもよい。そのような場合、１台のカメラアダプタ１２０が、接続された複数のカメラ１１２それぞれを制御する。また、１台のカメラアダプタ１２０が、接続された複数のカメラ１１２により同期して撮影された複数のフレームデータを同期フレームデータ群として取得し、取得した同期フレームデータ群を画像サーバ装置２００に転送する。
【００３５】
また、実施形態１、２では、コントローラ３００は、データの転送にかかる負荷指標として、データの転送時間を用いることとした。しかし、コントローラ３００は、データの転送にかかる負荷指標として、データのデータサイズを用いることとしてもよい。例えば、ＣＰＵ３１１は、Ｓ３０２で転送予定データの負荷指標として、転送予定データのデータサイズを求めることとしてもよい。その場合、ＣＰＵ３１１は、Ｓ３０３で、転送予定データの負荷指標であるデータサイズが１フレーム期間に転送可能なデータサイズ以下か否かを判定することとしてもよい。ＣＰＵ３１１は、以下であると判定した場合、処理をＳ３０４に進め、大きいと判定した場合、処理をＳ３０５に進めることとしてもよい。
また、コントローラ３００は、データの負荷指標として、データが転送される際に転送されるパケットの個数を用いることとしてもよい。
【００３６】
また、実施形態１、２では、撮影システム１００は、１度の転送で、カメラ１１２により同一のタイミングで同期して撮影された複数のフレームデータを、画像サーバ装置２００に転送することとした。しかし、撮影システム１００は、１度の転送で、カメラ１１２によりそれぞれ異なる複数のタイミングそれぞれで同期して撮影された複数のフレームデータを、画像サーバ装置２００に転送することとしてもよい。即ち、撮影システム１００は、１度の転送で、複数の同期フレームデータ群を転送することとしてもよい。この場合、撮影システム１００は、１度に転送される複数の同期フレームデータ群のうちの１つの同期フレームデータ群に含まれるフレームデータの転送を中止するよう制御する。
また、撮影システム１００は、複数回の転送で、カメラ１１２により同一のタイミングで同期して撮影された複数のフレームデータを、画像サーバ装置２００に転送することとしてもよい。即ち、撮影システム１００は、複数回に分けて１つの同期フレームデータ群を転送することとしてもよい。この場合、撮影システム１００は、複数回に分けて転送される１つの同期フレームデータ群に含まれるフレームデータの転送を中止するよう制御する。
【００３７】
撮影システム１００は、フレームデータの転送に係る負荷の程度（負荷指標）に応じて同期して撮影された複数の画像データの転送を中止するか否かを制御すればよく、そのための具体的な処理は、実施形態１、２に限定されるものではない。
他の例としては、撮影システム１００は、転送中データの転送時間（転送予定データの転送遅延時間）のみに基づいて、転送予定データのフレームデータの転送を中止するか否かを制御してもよい。即ち、撮影システム１００は、負荷指標として、転送中データの転送時間（転送予定データの転送遅延時間）のみを用いてもよい。例えば、ＣＰＵ３１１は、転送中データの転送時間を求めて、求めた転送時間が予め定められた閾値以下であれば、転送予定データの転送を実行するよう制御してもよい。また、ＣＰＵ３１１は、求めた転送時間が予め定められた閾値よりも大きければ、転送予定データの転送を中止するよう制御してもよい。
また、例えば、撮影システム１００は、転送予定のデータの転送時間のみに基づいて、転送予定データのフレームデータの転送を中止するか否かを制御してもよい。即ち、撮影システム１００は、負荷指標として、転送予定のデータの転送時間のみを用いてもよい。例えば、ＣＰＵ３１１は、転送予定データの転送時間を求めて、求めた転送時間が予め定められた閾値以下であれば、転送予定データの転送を実行するよう制御してもよい。また、ＣＰＵ３１１は、求めた転送時間が予め定められた閾値よりも大きければ、転送予定データの転送を中止するよう制御してもよい。
【００３８】
また、例えば、撮影システム１００は、フレームデータの送信に用いられる通信帯域の利用率に基づいて、転送予定データのフレームデータの転送を中止するか否かを制御してもよい。即ち、撮影システム１００は、負荷指標として、フレームデータの送信に用いられる通信帯域の利用率を用いてもよい。ＣＰＵ３１１は、通信帯域の利用率を監視し、転送予定データの送信の際に通信帯域の利用率が予め定められた閾値以下であれば、転送予定データの転送を実行するよう制御してもよい。また、ＣＰＵ３１１は、通信帯域の利用率を監視し、転送予定データの送信の際に通信帯域の利用率が予め定められた閾値よりも大きければ、転送予定データの転送を中止するよう制御してもよい。
また、例えば、撮影システム１００は、フレームデータの転送に用いられる通信路に置ける通信障害の有無に基づいて、転送予定データのフレームデータの転送を中止するか否かを制御してもよい。即ち、撮影システム１００は、負荷指標として、通信障害の有無を用いてもよい。ＣＰＵ３１１は、通信障害が生じてない場合、転送予定データの転送を実行するよう制御し、通信障害が生じている場合、転送予定データの転送を中止するよう制御してもよい。
【００３９】
また、実施形態１では、負荷指標の１つである転送予定データの転送遅延時間を、転送予定データの転送の開始が遅延する時間であるとした。しかし、転送予定データの転送遅延時間を、転送予定データの転送の終了が遅延する時間であるとしてもよい。その場合、ＣＰＵ３１１は、例えば、Ｓ３０５で、転送中データの転送時間と、転送予定データの転送時間から１フレーム期間を引いた時間と、の和を、転送予定データの転送遅延時間として取得してもよい。
そして、ＣＰＵ３１１は、Ｓ３０６で、この転送遅延時間が予め定められた閾値以下であるか否かを判定することとしてもよい。ＣＰＵ３１１は、この転送遅延時間が予め定められた閾値以下であると判定した場合、転送予定データの転送を実行するよう制御し、この転送遅延時間が予め定められた閾値以下であると判定した場合、転送予定データの転送を中止するよう制御してもよい。また、転送予定データを中止するのに代えて、転送データ量を削減したうえで転送するようにしてもよい。
【００４０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００４１】
例えば、上述した撮影システム１００の機能構成の一部又は全てをハードウェアとしてコントローラ３００、カメラアダプタ１２０等に実装してもよい。
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。例えば、上述した各実施形態を任意に組み合わせたり、適宜改良乃至は応用したりする等してもよい。
【符号の説明】
【００４２】
１００  撮影システム
２００  画像サーバ
３００  コントローラ
【図１】
2020039072.tif 000003
【図２】
2020039072.tif 000004
【図３】
2020039072.tif 000005
【図４】
2020039072.tif 000006
【図５】
2020039072.tif 000007
【図６】
2020039072.tif 000008
【図７】
2020039072.tif 000009
【図８】
2020039072.tif 000010
【図９】
2020039072.tif 000011