IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7467130情報処理装置、情報処理方法及びプログラム
<>
  • 特許-情報処理装置、情報処理方法及びプログラム 図1
  • 特許-情報処理装置、情報処理方法及びプログラム 図2
  • 特許-情報処理装置、情報処理方法及びプログラム 図3
  • 特許-情報処理装置、情報処理方法及びプログラム 図4
  • 特許-情報処理装置、情報処理方法及びプログラム 図5
  • 特許-情報処理装置、情報処理方法及びプログラム 図6
  • 特許-情報処理装置、情報処理方法及びプログラム 図7
  • 特許-情報処理装置、情報処理方法及びプログラム 図8
  • 特許-情報処理装置、情報処理方法及びプログラム 図9
  • 特許-情報処理装置、情報処理方法及びプログラム 図10
  • 特許-情報処理装置、情報処理方法及びプログラム 図11
  • 特許-情報処理装置、情報処理方法及びプログラム 図12
  • 特許-情報処理装置、情報処理方法及びプログラム 図13
  • 特許-情報処理装置、情報処理方法及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-05
(45)【発行日】2024-04-15
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06T 15/20 20110101AFI20240408BHJP
   G06T 19/00 20110101ALI20240408BHJP
【FI】
G06T15/20 500
G06T19/00 A
【請求項の数】 11
(21)【出願番号】P 2020007623
(22)【出願日】2020-01-21
(65)【公開番号】P2021114245
(43)【公開日】2021-08-05
【審査請求日】2023-01-16
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】熊取谷 昭彦
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2017-211828(JP,A)
【文献】特開2020-010300(JP,A)
【文献】特開2018-063500(JP,A)
【文献】特開2019-168966(JP,A)
【文献】特開2019-191915(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/20
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
複数の撮像装置の撮像に基づく画像を用いて仮想視点映像を生成する撮像システムにおける情報処理装置であって、
前記複数の撮像装置の中の第1の撮像装置の撮像に基づく第1の画像を外部装置に出力する出力手段と、
前記第1の画像に係る第1の時刻情報を取得し、前記複数の撮像装置の中の前記第1の撮像装置とは異なり、前記第1の撮像装置と同期して撮像する第2の撮像装置の撮像に基づく第2の画像に係る第2の時刻情報を取得する取得手段と、
前記第1の時刻情報が示す時刻と前記第2の時刻情報が示す時刻とが異なる場合に、前記第1の画像を前記外部装置に出力しないように前記出力手段を制御する制御手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記取得手段は、他の情報処理装置から出力された前記第2の画像を取得し、前記取得した第2の画像から前記第2の時刻情報を取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記出力手段は、前記第2の画像を前記外部装置に転送することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記取得手段は、前記第2の画像に係る第2の時刻情報をパケットから取得することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記取得手段は、他の複数の情報処理装置から出力された複数の画像に係る複数の時刻情報を取得し、
前記制御手段は、前記複数の画像に係る複数の時刻情報が示す時刻と、前記第1の時刻情報が示す時刻とを比較することに基づいて、前記第1の画像を前記外部装置に出力しないように前記出力手段を制御することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
比較の結果、前記第1の時刻情報が示す時刻が前記複数の時刻情報が示す時刻と異なる場合に、前記出力手段は、エラー情報を前記外部装置に出力することを特徴とする請求項に記載の情報処理装置。
【請求項7】
前記出力手段は、デイジーチェーン接続された前記外部装置に前記第1の画像を出力することを特徴とする請求項1から6の何れか1項に記載の情報処理装置。
【請求項8】
前記外部装置は、他の情報処理装置であることを特徴とする請求項1に記載の情報処理装置。
【請求項9】
前記外部装置は、被写体の3次元形状データを生成する装置であることを特徴とする請求項1に記載の情報処理装置。
【請求項10】
複数の撮像装置の撮像に基づく画像を用いて仮想視点映像を生成する撮像システムにおける情報処理装置の情報処理方法であって、
前記複数の撮像装置の中の第1の撮像装置の撮像に基づく第1の画像を外部装置に出力する出力工程と、
前記第1の画像に係る第1の時刻情報を取得し、前記複数の撮像装置の中の前記第1の撮像装置とは異なり、前記第1の撮像装置と同期して撮像する第2の撮像装置の撮像に基づく第2の画像に係る第2の時刻情報を取得する取得工程と、
前記第1の時刻情報が示す時刻と前記第2の時刻情報が示す時刻とが異なる場合に、前記第1の画像を前記外部装置に出力しないように前記出力工程を制御する制御工程と、を有することを特徴とする情報処理方法。
【請求項11】
コンピュータを、請求項1から9の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
昨今、複数の撮像装置を異なる位置に設置して被写体を多視点で同期して撮像し、当該撮像により得られた複数の視点からの画像群(以下、複数視点画像)を用いて仮想視点映像を生成する技術が注目されている。このような複数視点画像から仮想視点映像を生成する技術を用いることによって、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することができるため、通常の画像と比較してユーザに高臨場感を与えることができる。
【0003】
一方、複数視点画像に基づく仮想視点映像は、複数のカメラで撮像した画像をサーバなどの画像処理部に集約し、当該画像処理部にて、三次元モデル生成、レンダリングなどの処理を施して生成され、ユーザ端末に伝送される。このような仮想視点映像を生成するシステムでは、複数のカメラが高精度に同期撮像した複数視点画像を取得することが必要であり、十分な同期撮像の精度が確保できないと、生成する仮想視点映像の画質劣化を招くことになる。
【0004】
そこで特許文献1には、異なる位置に設置され、デイジーチェーン接続された複数のカメラにおいて、IEEE1588のような標準規格を用いて高精度に時刻を同期させ、多視点で同期撮像する手法が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2017-211828号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の手法では、標準規格の時刻同期手法により高精度の同期撮像ができるものの、一部の撮像装置が同期ずれを起こすと生成する仮想視点映像の画質が著しく劣化する。そして同期ずれを起こした撮像装置以外の撮像装置の撮像した画像のみを使って十分な品質の仮想視点映像を生成できる場合でも画質を維持するためにはシステム全体をリセットして全ての撮像装置の同期を取り直す必要があった。
【0007】
本発明は前述の問題点に鑑み、仮想視点映像を生成する撮像システムにおいて、同期ずれした撮像画像を仮想視点映像の生成に用いられないようにすることを目的としている。
【課題を解決するための手段】
【0008】
本発明に係る情報処理装置は、複数の撮像装置の撮像に基づく画像を用いて仮想視点映像を生成する撮像システムにおける情報処理装置であって、前記複数の撮像装置の中の第1の撮像装置の撮像に基づく第1の画像を外部装置に出力する出力手段と、前記第1の画像に係る第1の時刻情報を取得し、前記複数の撮像装置の中の前記第1の撮像装置とは異なり、前記第1の撮像装置と同期して撮像する第2の撮像装置の撮像に基づく第2の画像に係る第2の時刻情報を取得する取得手段と、前記第1の時刻情報が示す時刻と前記第2の時刻情報が示す時刻とが異なる場合に、前記第1の画像を前記外部装置に出力しないように前記出力手段を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、仮想視点映像を生成する撮像システムにおいて、同期ずれした撮像画像を仮想視点映像の生成に用いられないようにすることができる。
【図面の簡単な説明】
【0010】
図1】実施形態に係る撮像システムの構成例を示す図である。
図2】注視点と複数のカメラとの配置関係を説明するための図である。
図3】カメラアダプタのハードウェア構成例を示すブロック図である。
図4】カメラアダプタの機能構成例を示すブロック図である。
図5】時刻情報保持部に保持されている時刻情報の一例を示す図である。
図6】第1の実施形態における撮像システムの動作シーケンスを示す図である。
図7】第1の実施形態において、カメラアダプタがフレームデータを送信するか否かを判定する処理手順の一例を示すフローチャートである。
図8】フレームデータの転送及び送信のタイミングを説明するための図である。
図9】第2の実施形態における撮像システムの動作シーケンスを示す図である。
図10】第2の実施形態において、カメラアダプタがフレームデータを送信するか否かを判定する処理手順の一例を示すフローチャートである。
図11】エラーパケットの一例を示す図である。
図12】フレームデータの転送及び送信のタイミングを説明するための図である。
図13】サーバによる仮想視点映像の生成可否を判定する手順を説明するための図である。
図14】同期ずれを起こしたカメラの位置を説明するための図である。
【発明を実施するための形態】
【0011】
(第1の実施形態)
以下、本発明の第1の実施形態について、図面を参照しながら説明する。本実施形態では、競技場(スタジアム)やコンサートホールなどの施設に複数のカメラを設置して撮像を行う場合など、1つの注視点を複数のカメラで撮像する例について説明する。
【0012】
図1は、本実施形態に係る撮像システム100の構成例を示す図である。本実施形態に係る撮像システム100は、8台のカメラ112a~h、これらに対応するカメラアダプタ120a~h、スイッチングハブ180、サーバ200、タイムサーバ290、及びコントローラ300を有する。なお、カメラとカメラアダプタは一体で構成されていてもよい。また、カメラは複数の撮像素子を有していてもよい。
【0013】
本実施形態の撮像システム100では、スイッチングハブ180にコントローラ300、サーバ200、タイムサーバ290、カメラアダプタ120a、及びカメラアダプタ120hが接続されている。また、カメラアダプタ120a~hは互いにデイジーチェーン接続されている。本実施形態では、撮像装置であるカメラ112a~hは、それぞれ1台ずつのカメラアダプタ120a~hと接続されているが、接続形態はこれに限定されない。例えば、カメラアダプタ120a~hがそれぞれスイッチングハブ180に接続され、スイッチングハブ180を経由してカメラアダプタ120a~h間のデータ送受信を行うスター型のネットワーク構成としてもよい。
【0014】
カメラアダプタ120aは、カメラ112aと接続されており、カメラ112aの制御や、撮像画像の取得、同期信号の提供、及び時刻設定などを行う機能を有している。カメラ112aの制御には、例えば撮像パラメータ(画素数、色深度、フレームレート、及びホワイトバランスの設定など)を設定したり参照したりすること、カメラ112aの状態(撮像中、停止中、同期中、及びエラーなど)を取得することが含まれる。さらに、カメラ112aの制御には、撮像の開始及び停止を指示したり、ピント調整などを指示したりすることも含まれる。
【0015】
カメラアダプタ120aがタイムサーバ290と同期した時刻を、撮像タイミング(制御クロック)をカメラ112aに提供することにより撮像時刻を同期させる。時刻設定は、カメラアダプタ120aがタイムサーバ290と同期した時刻を、例えばSMPTE12Mのフォーマットに準拠したタイムコードで提供することで行われる。これにより、カメラ112aから受け取る撮像画像にタイムコードが付与されることになる。なお、タイムコードのフォーマットはSMPTE12Mに限定されるわけではなく、他のフォーマットであってもよい。また、カメラアダプタ120b~hも、カメラアダプタ120aと同様の機能を有しているものとする。
【0016】
コントローラ300は、撮像システム100のネットワークを介してカメラアダプタ120a~hに制御信号を送ることによりカメラ112a~hの撮像を制御する。また、ネットワークを介してカメラ112a~hが撮像した画像がサーバ200に転送されると、コントローラ300はサーバ200から画像を選択して取り出す。
【0017】
サーバ200は、カメラアダプタ120a~hから送信される撮像画像をそれぞれ受信して保持する。また、サーバ200は、カメラアダプタ120a~hの何れかから撮像画像が送信されなかった場合に、仮想視点画像を生成することが可能か否かを判定し、その結果をコントローラ300へ通知する。サーバ200は、転送された画像を基に、画像に含まれる被写体の3次元形状データを形成し、さらに、仮想視点映像を生成するように構成されていてもよい。仮想視点映像は、仮想視点の位置及び仮想視点からの方向を示す情報を取得して、その情報に応じて、仮想視点に対応する仮想視点映像を生成する。
【0018】
図2は、図1に示した撮像システム100における注視点201とカメラ112a~hとの配置関係を説明するための図である。図2に示すように、カメラ112a~hおよびカメラアダプタ120a~hはフィールド210を取り囲むように設置され、カメラ112a~hは各々光軸が注視点201を向くようになっている。
【0019】
次に、情報処理装置であるカメラアダプタ120aのハードウェア構成について、図3を用いて説明する。なお、カメラアダプタ120b~hのハードウェア構成も、以下で説明するカメラアダプタ120aの構成と同様である。カメラアダプタ120aは、CPU311、ROM312、RAM313、補助記憶装置314、通信I/F317、及びバス318を有する。
【0020】
CPU311は、ROM312やRAM313に格納されているコンピュータプログラムやデータを用いてカメラアダプタ120aの全体を制御することで、後述の図4に示すカメラアダプタ120aの各機能を実現する。なお、カメラアダプタ120aがCPU311とは異なる1又は複数の専用のハードウェアを有し、CPU311による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。ROM312は、変更を必要としないプログラムなどを格納する。RAM313は、補助記憶装置314から供給されるプログラムやデータ、及び通信I/F317を介して外部から供給されるデータなどを一時記憶する。補助記憶装置314は、例えばハードディスクドライブ等で構成され、画像データや音声データなどの種々のデータを記憶する。
【0021】
通信I/F317は、カメラアダプタ120aの外部の装置との通信に用いられる。例えば、カメラアダプタ120aが外部の装置と有線で接続される場合には、通信用のケーブルが通信I/F317に接続される。カメラアダプタ120aが外部の装置と無線通信する機能を有する場合には、通信I/F317はアンテナを備える。バス318は、カメラアダプタ120aの各部をつないで情報を伝達する。
【0022】
図4は、カメラアダプタ120aの機能構成例を示すブロック図である。なお、カメラアダプタ120b~hの機能構成も、以下で説明するカメラアダプタ120aの構成と同様である。カメラアダプタ120aは、パケット生成部421、受信部422、送信部423、および送信判定部430を有する。
【0023】
パケット生成部421は、カメラ112aで撮像された撮像画像を、通信I/F317を介して受信し、ペイロードデータとしてパケットを生成する。受信部422は、隣接するカメラアダプタから転送される撮像画像をパケット単位で通信I/F317を介して受信する。送信部423は、通信I/F317を介して撮像画像をパケット単位で隣接するカメラアダプタへ送信する。
【0024】
送信判定部430は、送信部423により隣接するカメラアダプタへ撮像画像をパケット単位で送信するかどうかを判定する。送信判定部430は、さらに時刻情報取得部431、時刻情報保持部432、および時刻情報判定部433を有する。
【0025】
時刻情報取得部431は、受信部422により隣接するカメラアダプタから受信したパケットから時刻情報を取得する。時刻情報保持部432は補助記憶装置314の一部として、時刻情報取得部431が取得した時刻情報を保持する。時刻情報判定部433は、パケット生成部421が生成したパケットの時刻情報が示す時刻について、受信部422が受信したパケットの時刻情報が示す時刻と比較することによって異常がないかどうかを判定する。
【0026】
図5は、時刻情報保持部432に保持されている時刻情報の一例を示す図である。なお、図5において、説明をわかりやすくするために、カメラIDは符号と同じものを用いている。図5に示す例では、カメラアダプタ120eの時刻情報保持部432がカメラ112a~dの撮像画像を受信して取得した時刻情報を示している。本実施形態では、後述するようにネットワークの上流側に位置するカメラアダプタ120a~dから転送された撮像画像の時刻情報のみを保持し、下流側のカメラアダプタ120f~hからは撮像画像が転送されない。したがって、カメラアダプタ120eの時刻情報保持部432は、カメラ112a~dの撮像画像の時刻情報のみを保持している。また、後述するように、パケット生成部421から受信する撮像画像の時刻情報は、時刻情報保持部432には保持されない。
【0027】
図6は、本実施形態における撮像システム100の動作シーケンスを示す図である。本実施形態では、カメラ112aで撮像した撮像画像がカメラアダプタ120aから、デイジーチェーン接続されたネットワークを介して下流側のカメラアダプタ120b~hに転送される。そして、スイッチングハブ180を介して撮像画像がサーバ200に蓄えられる。また、カメラ112bで撮像した撮像画像がカメラアダプタ120bから、デイジーチェーン接続されたネットワークを介して下流側のカメラアダプタ120c~hに転送される。そして、スイッチングハブ180を介して撮像画像がサーバ200に蓄えられる。そして、同様の手順により、各々のカメラ112c~hで撮像した撮像画像がサーバ200に蓄えられる。
【0028】
また、本実施形態では、時刻情報保持部432に保持される時刻情報は、基本的には受信部422が受信するパケットに含まれる時刻情報のみとする。なお、図6に示す例では、説明を簡略化するため、カメラ112a~c、カメラアダプタ120a~cでのシーケンスを例示しているが、さらにカメラ112d~hおよびカメラアダプタ120d~hを含む場合も同様である。
【0029】
まず、T601において、コントローラ300は、カメラアダプタ120a~hを介して、撮像条件であるカメラパラメータをカメラ112a~hに設定する。
続いて、T602において、コントローラ300は、カメラアダプタ120a~hに対して、カメラ112a~hが撮像した撮像画像の送信を開始するタイミングを決定する送信パラメータを設定する。
【0030】
次に、T603において、コントローラ300は、カメラアダプタ120a~hおよびカメラ112a~hの時刻同期を行う。例えば、時刻同期の標準規格であるIEEE1588-2008に準拠した時刻同期を行うことにより、カメラアダプタ120a~hおよびカメラ112a~hを高精度に同期させることができる。
次に、T604において、コントローラ300は、カメラアダプタ120a~hを介してカメラ112a~hの撮像開始を指示する。
【0031】
T605において、カメラ112a~hは、それぞれ1フレーム期間の撮像を行う。
そして、T606において、カメラ112a~hは、それぞれ対応するカメラアダプタ120a~hに対して、1フレーム分の撮像画像(以下、フレームデータ)を伝送する。そして、カメラアダプタ120a~hは、パケット生成部421においてフレームデータを取得し、パケットを生成する。
【0032】
T607において、カメラアダプタ120aは、カメラ112aから取得したフレームデータを、デイジーチェーン接続されたネットワークによりカメラアダプタ120b~hを介してサーバ200に送信する。なお、本実施形態では、カメラアダプタ120aはデイジーチェーン接続されたネットワークの最上流に位置するため、時刻情報が正しいかどうかを判定せず、常に正しいものとして必ずフレームデータの送信を行う。また、カメラアダプタ120aでは、カメラ112aからのフレームデータから時刻情報を取得して時刻情報保持部432に保持し、時刻情報判定部433が過去の時刻情報との整合性から時刻情報の異常の有無を判定してもよい。
【0033】
一方、T608において、カメラアダプタ120b~hは、受信部422においてカメラアダプタ120aから転送されるフレームデータを受信し、時刻情報取得部431においてそのフレームデータから時刻情報を取得する。そして、時刻情報取得部431が取得した時刻情報は時刻情報保持部432に保持される。なお、受信部422において受信されるカメラ112aで撮像されたフレームデータは、時刻情報の異常の判定の対象ではないため、そのまま送信部423により隣接するカメラアダプタへ常に転送され、最終的にサーバ200へ送信される。
【0034】
次に、T609において、カメラアダプタ120bは、カメラ112bからのフレームデータから時刻情報を取得し、送信判定部430においてカメラ112bからのフレームデータの時刻情報の異常の有無を判定する。この判定では、時刻情報保持部432に保持されているカメラ112aからのフレームデータからT608で取得した時刻情報と、パケット生成部421を介してT609で取得した時刻情報とが一致するか否か(撮像された時刻が同じか否か)を判定する。そして、時刻情報が一致しない(撮像された時刻が異なる)場合は、T609で取得した時刻情報に異常があると判定する。時刻情報が一致する場合は、T610において、カメラアダプタ120bの送信部423は、カメラ112bから取得したフレームデータを、デイジーチェーン接続されたネットワークによりカメラアダプタ120c~hを介してサーバ200に送信する。なお、時刻情報が一致しない場合は、送信部423からカメラ112bからのフレームデータを送信せずに破棄する。
【0035】
T611において、カメラアダプタ120c~hは、受信部422においてカメラアダプタ120bから転送されるフレームデータを受信し、時刻情報取得部431においてそのフレームデータから時刻情報を取得する。そして、時刻情報取得部431が取得した時刻情報は時刻情報保持部432に保持される。なお、受信部422において受信されるカメラ112bで撮像されたフレームデータも同様に、時刻情報の異常の判定の対象ではないため、そのまま送信部423により隣接するカメラアダプタへ常に転送され、最終的にサーバ200へ送信される。
【0036】
次に、T612において、カメラアダプタ120cは、カメラ112cからのフレームデータから時刻情報を取得し、送信判定部430においてカメラ112cからのフレームデータの時刻情報の異常の有無を判定する。この判定では、T608及びT611で取得したカメラ112aおよびカメラ112bからのフレームデータの時刻情報と、T612で取得したカメラ112cからのフレームデータの時刻情報とが一致するか否かを判定する。そして、時刻情報が一致しない場合は、T612で取得した時刻情報に異常があると判定する。時刻情報が一致する場合は、T613において、カメラアダプタ120cの送信部423は、カメラ112cから取得したフレームデータを、デイジーチェーン接続されたネットワークによりカメラアダプタ120d~hを介してサーバ200に送信する。なお、時刻情報が一致しない場合は、送信部423からカメラ112cからのフレームデータを送信せずに破棄する。
【0037】
以上のような流れで、カメラアダプタ120d~hでも同様に、それぞれカメラ112d~hからのフレームデータから時刻情報を取得し、時刻情報保持部432に保持されている時刻情報が示す時刻と比較し、一致している場合はそのフレームデータを送信する。
【0038】
T614において、カメラ112a~hはT605と同様に、それぞれ次の1フレーム期間の撮像を行う。そして、T615において、カメラ112a~hは、それぞれ対応するカメラアダプタ120a~hに対して1フレーム分のフレームデータを伝送する。そして、カメラアダプタ120a~hは、パケット生成部421においてフレームデータを取得し、パケットを生成する。その後、T607~T613と同様の動作を行う。以上のように、2フレーム以降も1フレーム目と同様の動作を繰り返す。
【0039】
図7は、本実施形態において、カメラアダプタ120b~hがフレームデータの送信を行うか否かを判定する処理手順の一例を示すフローチャートである。
ステップS701において、パケット生成部421においてフレームデータを取得するまで待機する。そして、フレームデータを取得すると、次のステップS702に進む。
【0040】
ステップS702において、時刻情報判定部433は、コントローラ300によって設定された送信パラメータに基づいて、フレームデータを送信する時刻に到達するまで待機する。そして、フレームデータを送信する時刻に到達すると、次のステップS703に進む。
【0041】
ステップS703において、時刻情報判定部433は、パケット生成部421において取得したフレームデータから時刻情報を取得し、時刻情報保持部432に保持された他のカメラの時刻情報と一致するか否かを判定する。この判定の結果、時刻情報が一致している場合はステップS704に進み、時刻情報が一致していない場合はステップS705に進む。
【0042】
ステップS704において、送信部423は、パケット生成部421において取得したフレームデータをデイジーチェーン接続されたネットワーク上にパケット単位で送信する。そして、ステップS701に戻る。
一方、ステップS705においては、時刻情報判定部433は、パケット生成部421において取得したフレームデータを破棄し、ステップS701に戻る。
【0043】
図8は、本実施形態におけるフレームデータの転送及び送信のタイミングを説明するための図である。図8では、フレームNからフレームN+6までの同期撮像と1フレーム後のフレームデータの転送及び送信のタイミングを示し、以下、カメラアダプタ120eでの処理を例に説明する。
【0044】
フレームNを同期撮像した次のフレーム(フレームN+1)の同期撮像が行われる際、カメラアダプタ120eの受信部422で、転送されたカメラ112a~dのフレームデータ(フレームN)をデイジーチェーン接続されたネットワーク上から受信する。その際、転送されたフレームデータに付随する時刻情報を時刻情報取得部431で取得し、取得した時刻情報が時刻情報保持部432に保持される。つまり、図6のT607、T610などで送信されたフレームデータを受信し、T608、T611などで時刻情報を取得する。なお、図8に示すフレームデータ転送の期間は、カメラアダプタ120eの場合を示しているが、カメラアダプタ120bの場合は、フレームデータ転送の期間がより短くなり、カメラアダプタ120hの場合は、フレームデータ転送の期間がより長くなる。
【0045】
次に、コントローラ300により設定された送信パラメータに基づく送信開始信号により、送信部423はカメラ112eからのフレームデータを送信する。このとき、時刻情報判定部433がカメラ112eのフレームデータの時刻情報が時刻情報保持部432に保持されている時刻情報と一致するか否かを判定し、一致するときのみ送信する。その後、カメラ112f~hのフレームデータがサーバ200に転送されるが、カメラアダプタ120eは転送経路とならない。
【0046】
以上説明したように本実施形態によれば、デイジーチェーン接続されたネットワーク上で自身よりも上流側に位置するカメラのフレームデータを受信して時刻情報を取得する。そして、自身に接続されたカメラからのフレームデータの時刻情報と一致するときのみ、下流側に位置するカメラアダプタを経由してサーバにフレームデータを送信するようにした。一部のカメラに撮像の同期ずれが起こった場合でも、上流側のカメラの時刻情報と異なる場合はフレームデータを破棄して送信しないようにするため、同期ずれが発生したフレームデータがサーバに送信されるのを防ぐことができる。
【0047】
ここで、フレームデータが破棄された場合には、仮想視点画像を生成できなくなる可能性がある。そこで、一部のカメラに撮像の同期ずれが起こった場合にサーバ200で行われる処理の概要について説明する。
【0048】
一部のカメラアダプタからフレームデータが送信されなかった場合に、サーバ200は、そのフレームデータを用いずに仮想視点映像を生成することが可能か否かを判定する。この判定は、フレームデータが送信されなかったカメラの位置などに基づいて行われる。
【0049】
カメラ台数が十分多い場合には、カメラ1台分のフレームデータがなくても仮想視点映像の生成に影響がほとんどない。しかしながら、隣接して配置されたカメラが連続して同期ずれを起こした場合、例えば図14に示すように、カメラ112dとカメラ112eにおいて撮像の同期ずれが発生した場合は、仮想視点映像の画質が著しく劣化するか生成できない場合が多い。したがって、図14に示す例の場合は、仮想視点映像を生成できないと判定することとなる。また、同期ずれを起こしたカメラの位置だけでなく、フィールドや注視点に対する位置や時刻のずれ量なども考慮してもよい。
【0050】
このように仮想視点映像を生成することができないとサーバ200が判定した場合には、その旨をコントローラ300に通知する。仮想視点映像を生成できない旨が通知されると、コントローラ300は撮像システム100全体をリセットしたり、同期ずれを起こしたカメラおよびそのカメラに直接接続されたカメラアダプタをリセットしたりして対応する。
【0051】
(第2の実施形態)
以下、本発明の第2の実施形態について説明する。本実施形態では、第1の実施形態と同様に、カメラ112a~hで撮像したフレームデータが、デイジーチェーン接続されたネットワークを介して下流側のカメラアダプタに転送され、スイッチングハブ180を介してサーバ200に蓄えられる。また、本実施形態では、カメラアダプタからフレーム毎に最初に時刻情報を含むパケットを他の全てのカメラアダプタに送信する。なお、本実施形態に係る撮像システムの構成、カメラアダプタの内部構成については図1図4と同様であるため、説明は省略する。以下、第1の実施形態と異なる点について説明する。
【0052】
図9は、本実施形態における撮像システム100の動作シーケンスを示す図である。以下、図9を参照しながら本実施形態におけるシーケンスについて説明する。なお、図9に示す例では、説明を簡略化するため、カメラ112a~c、カメラアダプタ120a~cでのシーケンスを例示しているが、さらにカメラ112d~hおよびカメラアダプタ120d~hを含む場合も同様である。
【0053】
T901からT906までは、第1の実施形態で説明した図6のT601からT606までと同様である。
【0054】
T907において、カメラアダプタ120aは、カメラ112aからのフレームデータから取得した時刻情報を含むパケット(以下、時刻情報パケット)を、他のカメラアダプタ120b~hに送信する。ここで、カメラアダプタ120aはデイジーチェーン接続されたネットワーク上で最上流に位置するので、フレームデータを転送する場合と同様に、一方向に送信すれば順次全ての他のカメラアダプタ120b~hに到達する。
【0055】
一方、カメラアダプタ120bは、デイジーチェーン接続されたネットワーク上で上流から2番目に位置する。そこで、カメラアダプタ120bは、カメラ112bからのフレームデータから取得した時刻情報パケットを、上流側のカメラアダプタ120aと下流側のカメラアダプタ120c~hとの2方向に送信する。同様に、カメラアダプタ120cは、カメラ112cからのフレームデータから取得した時刻情報パケットを、上流側のカメラアダプタ120a~bと下流側のカメラアダプタ120d~hとの2方向に送信する。以下同様に、カメラアダプタ120d~hも時刻情報パケットを送信する。
【0056】
T908において、カメラアダプタ120a~hは、受信部422において他のカメラアダプタから送信された時刻情報パケットを受信し、時刻情報取得部431においてそのパケットから時刻情報を取得する。そして時刻情報取得部431が取得した時刻情報は時刻情報保持部432に保持される。
次にT909において、最上流のカメラアダプタ120aおよび最下流のカメラアダプタ120hは、時刻情報パケットを破棄する。
【0057】
次にT910において、カメラアダプタ120a~hは、パケット生成部421を介して取得したフレームデータから時刻情報を取得する。そして、送信判定部430においてパケット生成部421を介して取得したフレームデータの時刻情報の異常の有無を判定する。この判定では、時刻情報保持部432に保持されているT908で取得した時刻情報とパケット生成部421を介してT910で取得した時刻情報とが一致するか否かを判定する。時刻情報が一致する場合は、T911において、送信部423はパケット生成部421を介して取得したフレームデータを、下流側のカメラアダプタを介してサーバ200に送信する。なお、時刻情報が一致しない場合は、送信部423はフレームデータを送信せずに破棄し、代わりにエラーパケットをサーバ200に送信する。以上のように、2フレーム以降も1フレーム目と同様の動作を繰り返す。
【0058】
図10は、本実施形態において、カメラアダプタ120a~hがフレームデータの送信を行うか否かを判定する処理手順の一例を示すフローチャートである。
ステップS1001において、パケット生成部421においてフレームデータを取得するまで待機する。そして、フレームデータを取得すると、次のステップS1002に進む。
【0059】
ステップS1002において、送信部423は、時刻情報パケットを他のカメラアダプタに送信する。そして、ステップS1003において、受信部422は、他のカメラアダプタから時刻情報パケットを受信し、時刻情報取得部431においてそのパケットから時刻情報を取得する。このとき、取得した時刻情報は時刻情報保持部432に保持される。
【0060】
次に、ステップS1004において、時刻情報判定部433は、パケット生成部421において取得したフレームデータから時刻情報を取得し、時刻情報保持部432に保持された他のカメラの時刻情報と一致するか否かを判定する。この判定の結果、時刻情報が一致している場合はステップS1005に進み、時刻情報が一致していない場合はステップS1006に進む。
【0061】
ステップS1005において、送信部423は、パケット生成部421において取得したフレームデータをデイジーチェーン接続されたネットワーク上にパケット単位で送信する。そして、ステップS1001に戻る。
一方、ステップS1006においては、時刻情報判定部433は、パケット生成部421において取得したフレームデータを破棄し、エラーパケットを生成する。そして、ステップS1007において、送信部423は、エラーパケットをサーバ200に送信し、ステップS1001に戻る。なお、図11には、カメラアダプタ120aの時刻情報判定部433が生成するエラーパケットの例を示しており、エラーパケットにはカメラIDとエラー情報とが含まれている。
【0062】
図12は、本実施形態におけるフレームデータの転送及び送信および転送のタイミングを説明するための図である。第1の実施形態では、カメラアダプタ120a~hのうち、順次1台ずつフレームデータの転送及び送信を行っていたが、本実施形態では、フレームデータの転送及び送信が全てのカメラアダプタ120a~hにおいてほぼ同じタイミングで行われる。なお、第1の実施形態と同様に順次1台ずつフレームデータの転送及び送信を行ってもよい。
【0063】
また、本実施形態においては、エラーパケットをサーバ200が受信すると、第1の実施形態と同様に仮想視点画像を生成できるか否かを判定する。図13には、本実施形態において、サーバ200による仮想視点映像の生成可否を判定する手順を説明するための図である。図13に示すように、カメラアダプタ120a~hからフレームデータを受信し、その後、一部のカメラアダプタからエラーパケットを受信すると、サーバ200は仮想視点画像を生成できるか否かを判定する。この判定基準は第1の実施形態と同様である。
【0064】
そして、サーバ200が仮想視点映像の生成が不可であると判定した場合は、その旨をコントローラ300に通知する。仮想視点映像を生成できない旨が通知されると、コントローラ300は撮像システム100全体をリセットしたり、エラーパケットを送信したカメラアダプタおよび対応するカメラをリセットしたりして対応する。
【0065】
また、図13に示すように、エラーパケットを受信しなかった場合、もしくはエラーパケットを受信したが仮想視点映像の生成が可能であると判定した場合は、仮想視点映像の生成が可能である旨をコントローラ300に通知してもよい。これにより、コントローラ300は撮像システム100として仮想視点映像の生成に問題がないことを確認できる。
【0066】
以上のように本実施形態によれば、デイジーチェーン接続されたネットワーク上で他のカメラアダプタから時刻情報パケットを受信して他のカメラの時刻情報を保持する。そして、自身に接続されたカメラからのフレームデータの時刻情報と一致するときのみ、フレームデータをサーバに送信するようにした。一部のカメラに同期ずれが起こった場合でも、他のカメラの時刻情報と異なる場合はフレームデータを破棄し、代わりにエラーパケットを送信するため、同期ずれの発生したフレームデータがサーバに送信されるのを防ぐことができる。
【0067】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0068】
421 パケット生成部、422 受信部、423 送信部、431 時刻情報取得部、433 時刻情報判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14