JP2019140483A - 画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム - Google Patents
画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム Download PDFInfo
- Publication number
- JP2019140483A JP2019140483A JP2018020968A JP2018020968A JP2019140483A JP 2019140483 A JP2019140483 A JP 2019140483A JP 2018020968 A JP2018020968 A JP 2018020968A JP 2018020968 A JP2018020968 A JP 2018020968A JP 2019140483 A JP2019140483 A JP 2019140483A
- Authority
- JP
- Japan
- Prior art keywords
- image
- camera
- cameras
- data
- foreground
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Closed-Circuit Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】伝送路の帯域に制限がある状況であっても、仮想視点画像において、前景の再現性を高める。【解決手段】本発明は、複数のカメラにより撮影された画像を所定の伝送路で伝送し、仮想視点画像を生成する画像処理システムにおいて、所定のオブジェクトを撮影しているカメラの台数を導出するカメラ台数導出手段と、前記所定のオブジェクトを撮影しているカメラの台数に応じて、前記所定のオブジェクトを含む前景画像の画質を設定する画質設定手段とを備える。【選択図】図12
Description
本発明は、被写体を複数の方向から撮影するための複数のカメラを備えた画像処理システムに関する。
昨今、複数のカメラを異なる位置に設置して多視点で同期撮影し、その撮影により得られた複数視点画像を用いて仮想視点コンテンツを生成する技術が注目されている。この複数視点画像から仮想視点コンテンツを生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することを可能とするため、ユーザに高臨場感を与えることができる。
一方で、カメラで取得した画像(映像)をネットワークで伝送する際には、その映像の符号量がネットワークの帯域を超過しないように制御する必要がある。ここで、特許文献1には、複数の監視カメラを同一のネットワークに接続し、映像を伝送する際、複数の監視カメラ映像の総符号量が所定の帯域(容量)を超過しないように、フレームレートを制御する方法が開示されている。また、特許文献2には、複数の監視カメラを同一のネットワークに接続し、映像を伝送する際、目標被写体等の重要領域を含む映像信号(即ち、重要領域を捉えるカメラ)の優先度を高く設定することで、フレームレートを制御する方法が開示されている。
また、他方で、仮想視点コンテンツの画質において、重要な要素の一つに、前景(例えば、人物等)の再現性がある。この前景の再現性に関して、如何に異なる位置にある多数のカメラで、その被写体を捉えられているかが重要になる。これは、仮想視点コンテンツを生成する際に、仮想視点近傍に位置するカメラの映像を主として用いることに関係しており、そのカメラの位置が仮想視点に近ければ近いほど、再現性の高い前景が得られるためである。
そして、この前景の再現性を踏まえると、特許文献1に記載の方法では、同一ネットワーク上のカメラのフレームレートを一律で制御するため、送信しないと判定されたフレームに関して、仮想視点コンテンツの生成に用いることができなくなる。また、特許文献2に記載の方法は、上述のように、重要領域を捉えるカメラの優先度を高く設定するが、一つの注視点を囲んで撮影するような場合においては、重要領域を捉えるカメラが多数となるため、優先度の設定が難しくなる。そのため、特許文献1に記載の方法と特許文献2に記載の方法のいずれの方法においても、再現性の高い前景を取得することができない可能性がある。
本発明は、上記従来の問題に鑑みてなされたものであって、伝送路の帯域に制限がある状況であっても、仮想視点画像において、前景の再現性を高めることを目的とする。
上記目的を達成するために、本発明は、複数のカメラにより撮影された画像を所定の伝送路で伝送し、仮想視点画像を生成する画像処理システムにおいて、所定のオブジェクトを撮影しているカメラの台数を導出するカメラ台数導出手段と、前記所定のオブジェクトを撮影しているカメラの台数に応じて、前記所定のオブジェクトを含む前景画像の画質を設定する画質設定手段と、を備えることを特徴とする。
本発明によれば、伝送路の帯域に制限がある状況であっても、仮想視点画像において、前景の再現性を高めることができる。
(第1の実施形態)
図1は、本実施形態に係る画像処理システムの構成を示すブロック図である。画像処理システム100は、例えば、競技場(スタジアム)やコンサートホール等の施設に、複数のカメラ及びマイクを設置することで、撮影及び集音を行うシステムである。画像処理システム100は、センサシステム110a−110z、画像コンピューティングサーバ200、コントローラ300、スィッチングハブ180、及びエンドユーザ端末190を有する。
図1は、本実施形態に係る画像処理システムの構成を示すブロック図である。画像処理システム100は、例えば、競技場(スタジアム)やコンサートホール等の施設に、複数のカメラ及びマイクを設置することで、撮影及び集音を行うシステムである。画像処理システム100は、センサシステム110a−110z、画像コンピューティングサーバ200、コントローラ300、スィッチングハブ180、及びエンドユーザ端末190を有する。
コントローラ300は、制御ステーション310と仮想カメラ操作UI(User Interface)330を有する。制御ステーション310は、画像処理システム100を構成する各々のブロックに対してネットワーク310a−310c、180a、及び180b、並びにデイジーチェーン170a−170yを通じて、動作状態の管理及びパラメータ設定制御等を行う。なお、これらのネットワークは、Ethernet(登録商標)であるIEEE標準準拠のGbE(ギガビットイーサーネット)や10GbEでもよいし、インターコネクトInfiniband、産業用イーサーネット等を組み合せて構成されてもよい。また、これらに限定されず、他の種別のネットワークであってもよい。
先ず、センサシステム110a−110zの26セットの画像及び音声をセンサシステム110zから画像コンピューティングサーバ200に送信する処理について説明する。なお、本実施形態において、特別な説明がない場合は、センサシステム110aからセンサシステム110zまでの26セットのシステムを区別せず、センサシステム110と記載する。同様に、各センサシステム110内の装置についても、特別な説明がない場合は区別せず、マイク111、カメラ112、雲台113、外部センサ114、及びカメラアダプタ120と記載する。また、本実施形態では、センサシステムの台数を26セットとして説明するが、あくまでも一例であり、センサシステムの台数は、必ずしもこれに限定されない。
さらに、本実施形態において、特に断りがない限り、画像という用語には、静止画と動画の概念が含まれるものとする。即ち、本実施形態の画像処理システム100では、静止画及び動画のいずれについても処理対象とすることができる。加えて、本実施形態では、画像処理システム100により提供される仮想視点コンテンツとして、仮想視点画像と仮想視点音声が含まれる例を中心に説明するが、画像処理システム100により提供される仮想視点コンテンツは、必ずしもこれに限定されない。したがって、例えば、仮想視点コンテンツに音声が含まれていなくてもよい。また、例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音声であってもよい。その他、本実施形態では、説明の簡略化のため、部分的に音声に関する記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
図1に示されるように、本実施形態の画像処理システム100において、センサシステム110は、各々1台ずつのカメラ112を有する。即ち、画像処理システム100は、被写体を複数の方向から撮影するための複数のカメラを有する。
複数のセンサシステム110(即ち、センサシステム110a−110z)は、デイジーチェーンにより接続される。このように、デイジーチェーンにより接続することで、撮影画像の4Kや8K等への高解像度化及び高フレームレート化に伴う画像データの大容量化において、接続ケーブル数を削減することや配線作業を省力化することができる。
なお、センサシステム110を接続する形態としては、必ずしもこれに限定されない。したがって、例えば、各々のセンサシステム110a−110zをスィッチングハブ180に接続し、スィッチングハブ180を経由させて、センサシステム110間のデータ通信を行うスター型のネットワーク構成としてもよい。
また、図1では、センサシステム110a−110zの全てが、デイジーチェーンで接続されるように、カスケード接続される構成を示したが、必ずしもこれに限定されない。したがって、例えば、センサシステム110をいくつかのグループに分割して、その分割したグループ単位でデイジーチェーン接続してもよい。その場合、分割したグループの終端となるカメラアダプタ120が、スィッチングハブ180に接続され、画像コンピューティングサーバ200に画像を入力するようにしてもよい。
このような構成は、スタジアムにおいて、特に有効である。例えば、スタジアムが複数階で構成され、フロア毎にセンサシステム110を配備する場合を想定する。この場合、センサシステム110を上述の構成とすることで、フロア毎、或いはスタジアムの半周毎に画像コンピューティングサーバ200への入力を行うことができる。このように、センサシステム110の全てを1つのデイジーチェーンで接続する配線が困難な場所であっても、設置の簡便化及びシステムの柔軟化を図ることができる。
また、デイジーチェーンで接続された構成において、画像コンピューティングサーバ200に画像を出力するカメラアダプタ120が1つであるか、2つ以上であるかに応じて、画像コンピューティングサーバ200での画像処理の制御を切り替える。即ち、画像処理システム100では、センサシステム110が複数のグループに分割されているかどうかに応じて、画像コンピューティングサーバ200での画像処理の制御を切り替える。
ここで、画像を出力するカメラアダプタ120が1つの場合は、デイジーチェーン接続で画像を伝送しながら競技場の全周画像を生成するため、画像コンピューティングサーバ200において、全周の画像データが揃うタイミングは、同期が取れている。即ち、センサシステム110がグループに分割されていなければ、同期を取ることができる。しかし、画像を出力するカメラアダプタ120が複数になる場合(即ち、センサシステム110が複数のグループに分割される場合)、各々のデイジーチェーンのレーン(経路)によって遅延が異なることが想定される。そこで、センサシステム110を複数のグループに分割する場合には、画像コンピューティングサーバ200において全周の画像データが揃うまで待機させることで同期を取る同期制御によって、画像データの集結を確認しながら、後段の画像処理を実行する。
センサシステム110aは、マイク111a、カメラ112a、雲台113a、外部センサ114a、及びカメラアダプタ120aを有する。なお、センサシステム110aの構成は、必ずしも、この構成に限定されるものではなく、少なくとも1台のカメラアダプタ120aと、1台のカメラ112a又は1台のマイク111aを有していればよい。また、例えば、センサシステム110aに関して、1台のカメラアダプタ120aと複数のカメラ112aを有するように構成させてもよいし、複数のカメラアダプタ120aと1台のカメラ112aを有するように構成させてもよい。即ち、画像処理システム100内の複数のカメラ112と複数のカメラアダプタ120は、N対M(NとMは共に1以上の整数)で構成される。
さらに、センサシステム110aは、マイク111a、カメラ112a、雲台113a、及びカメラアダプタ120a以外の装置を備えていてもよい。また、カメラ112aとカメラアダプタ120aが一体となって構成されてもよい。加えて、カメラアダプタ120の機能の少なくとも一部を、フロントエンドサーバ230が有するようにしてもよい。
以上、センサシステム110aについて説明したが、本実施形態では、センサシステム110b−110zについても、センサシステム110aと同様の構成であることから、その説明を省略する。なお、センサシステム110b−110zの構成は、センサシステム110aと同じ構成に限定されるものではなく、各々のセンサシステム110がセンサシステム110aと異なる構成を有してもよい。
センサシステム110aは、上述の構成において、マイク111aにより集音した音声と、カメラ112aにより撮影した画像に対して、カメラアダプタ120aにおいて後述の画像処理を施す。センサシステム110aは、その画像処理を施すと、デイジーチェーン170aを介して、センサシステム110bのカメラアダプタ120bに伝送する。同様に、センサシステム110bは、集音した音声と撮影した画像に対して画像処理を施し、センサシステム110aから取得した画像及び音声と併せて、センサシステム110cに伝送する。
これらの動作を順に繰り返すことで、センサシステム110a−110zにより取得された画像及び音声は、センサシステム110zから180bを介して、スィッチングハブ180に伝送され、さらに、画像コンピューティングサーバ200に伝送される。
なお、本実施形態では、カメラ112a−112zとカメラアダプタ120a−120zを分離して構成させているが、同一筺体で一体化してもよい。その場合、マイク111a−111zを一体化したカメラ112に内蔵してもよいし、カメラ112の外部に接続してもよい。
次に、画像コンピューティングサーバ200の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ200は、センサシステム110zから取得したデータの処理を行う。画像コンピューティングサーバ200は、フロントエンドサーバ230、データベース250(以下、DBとも記載する)、バックエンドサーバ270、及びタイムサーバ290を有する。
タイムサーバ290は、時刻及び同期信号を配信する機能を有し、スィッチングハブ180を介してセンサシステム110a−110zに時刻及び同期信号を配信する。時刻及び同期信号を受信したカメラアダプタ120a−120zは、時刻及び同期信号に基づいて、カメラ112a−112zをGenlockさせ、画像(フレーム)の同期を行う。即ち、タイムサーバ290は、複数のカメラ112の撮影タイミングを同期させる。これにより、画像処理システム100は、同じタイミングで撮影された複数の画像(以下、撮影画像とも記載する)に基づいて仮想視点画像を生成できるので、撮影タイミングのずれによる仮想視点画像の品質低下を抑制することができる。なお、本実施形態では、タイムサーバ290が複数のカメラ112の時刻同期を管理する仕様としているが、必ずしもこれに限定されることなく、時刻同期に関する処理を各カメラ112又は各カメラアダプタ120が独立して実行してもよい。
フロントエンドサーバ230は、センサシステム110zから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換する。そして、カメラの識別子、データ種別、及びフレーム番号に応じて、データベース250にデータを書き込む。
データベース250は、フロントエンドサーバ230から受信したデータへのアクセスが可能になるようにデータベーステーブルを作成する。また、バックエンドサーバ270から要求されたデータが、キャッシュ、一次ストレージ、又は二次ストレージのいずれかに保存されているかを判定し、保存先からデータを読み出してバックエンドサーバ270に送信する。
バックエンドサーバ270は、仮想カメラ操作UI330から視点の指定を受け付け、その受け付けた視点に基づいて、データベース250から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。
なお、画像コンピューティングサーバ200の構成は、必ずしもこれに限定されない。したがって、例えば、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270のうち、少なくとも2つが一体となって構成されてもよい。また、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270の少なくともいずれかが複数含まれて構成されてもよい。さらに、画像コンピューティングサーバ200内の任意の位置に、上述の装置以外の装置が含まれて構成されてもよい。その他、画像コンピューティングサーバ200の機能の少なくとも一部を、エンドユーザ端末190や仮想カメラ操作UI330が有するように構成させてもよい。
レンダリング処理された画像は、バックエンドサーバ270からエンドユーザ端末190に送信され、ユーザは、エンドユーザ端末190を操作することで、視点の指定に応じた画像閲覧及び音声視聴を行うことができる。即ち、バックエンドサーバ270は、複数のカメラ112により撮影された撮影画像(複数視点画像)と視点情報に基づいて、仮想視点コンテンツを生成する。より具体的には、バックエンドサーバ270は、例えば、複数のカメラアダプタ120により複数のカメラ112による撮影画像から抽出された所定領域の画像データと、ユーザ操作により指定された視点に基づいて、仮想視点コンテンツを生成する。そして、バックエンドサーバ270は、生成した仮想視点コンテンツをエンドユーザ端末190に提供する。なお、カメラアダプタ120による所定領域の画像データを抽出する処理の詳細については、後述することで説明を補足する。
なお、本実施形態において、仮想視点コンテンツは、仮想的な視点から被写体を撮影した場合に取得される画像としての仮想視点画像(即ち、指定された視点における見えを表す画像)を含むものとする。また、仮想的な視点(仮想視点)は、ユーザにより指定されてもよいし、画像解析の結果等に基づいて、自動的に指定されてもよい。即ち、仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像(自由視点画像)が含まれる。加えて、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。
補足として、本実施形態では、仮想視点コンテンツに音声データ(オーディオデータ)が含まれる例を中心に説明するが、必ずしも音声データが含まれていなくてもよい。さらに、バックエンドサーバ270は、仮想視点画像をH.264やHEVCに代表される標準技術により圧縮符号化した上で、MPEG−DASHプロトコルを用いてエンドユーザ端末190に送信してもよい。また、仮想視点画像を、非圧縮でエンドユーザ端末190に送信してもよい。なお、この場合、圧縮符号化を行う前者はエンドユーザ端末190としてスマートフォンやタブレットを想定しており、後者は非圧縮画像を表示可能なディスプレイを想定している。即ち、エンドユーザ端末190の種別に応じて、画像フォーマットを切り替えることができる。その他、画像の送信プロトコルは、MPEG−DASHに限らず、例えば、HLS(HTTP Live Streaming)やそれ以外の送信方法を用いることもできる。
このように、画像処理システム100は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという3つの機能ドメインを有する。映像収集ドメインはセンサシステム110−110zを、データ保存ドメインはデータベース250、フロントエンドサーバ230及びバックエンドサーバ270を、映像生成ドメインは仮想カメラ操作UI330及びエンドユーザ端末190を備える。
なお、画像処理システムの構成は、必ずしも本構成に限定されず、例えば、仮想カメラ操作UI330が直接、センサシステム110a−110zから画像を取得する構成とすることもできる。但し、本実施形態では、上述のように、センサシステム110a−110zから直接、画像を取得する構成ではなく、データ保存機能を中間に配置する構成としている。具体的には、フロントエンドサーバ230が、センサシステム110a−110zにより生成された画像データ、音声データ及びそれらのメタ情報を、データベース250の共通スキーマ及びデータ型に変換する構成としている。これにより、センサシステム110a−110zのカメラ112が他機種のカメラに変更されても、変更された差分をフロントエンドサーバ230が吸収し、データベース250に登録することができる。即ち、これにより、カメラ112が他機種カメラに変更された場合であっても、仮想カメラ操作UI330が適切に動作しない虞を低減することができる。
また、仮想カメラ操作UI330に関して、直接データベース250にアクセスせずに、バックエンドサーバ270を介してデータベース250にアクセスする構成としている。即ち、画像生成処理に関する共通処理をバックエンドサーバ270で実行し、操作UIに関するアプリケーションの差分を仮想カメラ操作UI330で実行している。
このような構成とすることで、仮想カメラ操作UI330の開発において、UI操作デバイスや、生成したい仮想視点画像を操作するUIの機能要求に関する開発に注力することができる。また、バックエンドサーバ270は、仮想カメラ操作UI330の要求に応じて、画像生成処理に関する共通処理を追加又は削除することも可能である。このように、仮想カメラ操作UI330の要求に対して、柔軟に対応することができる。
以上のように、画像処理システム100において、カメラ112(即ち、カメラ112a−112z)により被写体を複数の方向から撮影した画像データに基づいて、バックエンドサーバ270により仮想視点画像が生成される。なお、本実施形態における画像処理システム100に関して、上述では物理的な構成として説明したが、その構成は必ずしも物理的である必要はなく、論理的に構成されてもよい。
次に、図1の画像処理システム100における各ノード(カメラアダプタ120、フロントエンドサーバ230、データベース250、バックエンドサーバ270、仮想カメラ操作UI330、エンドユーザ端末190)に関して、順に説明する。
図2は、本実施形態におけるカメラアダプタ120の機能ブロック図である。カメラアダプタ120は、図2に示されるように、ネットワークアダプタ06110、伝送部06120、画像処理部06130、及び外部機器制御部06140を有する。
ネットワークアダプタ06110は、データ送受信部06111及び時刻制御部06112を有する。なお、本実施形態では、ネットワークアダプタ06110としてNIC(Network Interface Card)を用いるが、NICに限定されるものではなく、同様の他のInterfaceを用いてもよい。
データ送受信部06111は、デイジーチェーン170、ネットワーク180b、及びネットワーク310aを介して、他のカメラアダプタ120、フロントエンドサーバ230、タイムサーバ290、及び制御ステーション310とデータ通信を行う。
例えば、データ送受信部06111は、カメラ112による撮影画像から前景背景分離部06131により分離された前景画像と背景画像とを、別のカメラアダプタ120に出力する。そして、各カメラアダプタ120が前景画像と背景画像とを出力することで、複数の視点から撮影された前景画像と背景画像に基づく仮想視点画像が生成される。なお、出力先のカメラアダプタ120は、画像処理システム100のカメラアダプタ120のうち、データルーティング処理部06122の処理に応じて、予め定められた順序に従って設定される。また、カメラアダプタ120に関して、撮影画像から分離した前景画像のみを出力し、背景画像を出力しないカメラアダプタ120があってもよい。
時刻制御部06112は、例えば、IEEE1588規格のOrdinay Clockに準拠し、タイムサーバ290との間で送受信したデータのタイムスタンプを保存する機能と、タイムサーバ290との時刻同期を行う機能を備える。なお、IEEE1588は、IEEE1588−2002、IEEE1588−2008のように標準規格として更新されており、後者については、PTPv2(Precision Time Protocol Version2)とも呼ばれる。また、タイムサーバ290との時刻同期に関して、必ずしもIEEE1588規格に準拠させる必要はなく、他のEtherAVB規格や、独自プロトコル等によってタイムサーバ290との時刻同期を実現してもよい。
伝送部06120は、ネットワークアダプタ06110を介して、スィッチングハブ180等に対するデータの伝送を制御する。伝送部06120は、データ圧縮・伸張部06121、データルーティング処理部06122、時刻同期制御部06123、画像・音声伝送処理部06124、及びデータルーティング情報保持部06125を有する。以下、各々の機能について説明する。
データ圧縮・伸張部06121は、データ送受信部06111を介して送受信されるデータに対して所定の圧縮方式、圧縮率、及びフレームレートを適用して圧縮を行う機能と、その圧縮されたデータを伸張する機能を有する。
データルーティング処理部06122は、後述するデータルーティング情報保持部06125が保持するデータを用いて、データ送受信部06111が受信したデータ及び画像処理部06130が処理したデータのルーティング先を決定する。データルーティング処理部06122は、さらに、決定したルーティング先にデータを送信する。そして、複数のカメラアダプタ120各々のデータルーティング処理部06122による決定に応じて、画像処理システム100において、前景画像や背景画像をリレー形式で出力するカメラアダプタ120の順序が設定される。
なお、ルーティング先として、同一の注視点にフォーカスされたカメラ112に対応するカメラアダプタ120を設定するのが、各々のカメラ112同士の画像フレームの相関が高いことから、画像処理を実行する上で好適である。
時刻同期制御部06123は、例えば、IEEE1588規格のPTP(Precision Time Protocol)に準拠し、タイムサーバ290との時刻同期を行う機能を備える。なお、タイムサーバ290との時刻同期に関して、必ずしもIEEE1588規格のPTPに準拠させる必要はなく、他の同様のプロトコルを用いて時刻同期を実現してもよい。
画像・音声伝送処理部06124は、画像データ又は音声データを、データ送受信部06111を介して他のカメラアダプタ120又はフロントエンドサーバ230に転送するためのメッセージを作成する機能を有している。なお、メッセージには、画像データ又は音声データ、及び各データのメタ情報が含まれる。また、メタ情報には、画像の撮影又は音声のサンプリングをしたときのタイムコード又はシーケンス番号、データ種別、及びカメラ112やマイク111の個体を示す識別子等が含まれる。その他、送信する画像データ又は音声データは、データ圧縮・伸張部06121によりデータ圧縮がなされていてもよい。
また、画像・音声伝送処理部06124は、他のカメラアダプタ120からデータ送受信部06111を介してメッセージを受信する。そして、メッセージに含まれるデータ種別に応じて、伝送プロトコル規定のパケットサイズにフラグメントされたデータ情報を画像データ又は音声データに復元する。なお、データを復元したときにデータが圧縮されている場合は、データ圧縮・伸張部06121により伸張処理が実行される。
データルーティング情報保持部06125は、データ送受信部06111で送受信されるデータの送信先を決定するためのアドレス情報を保持する。なお、ルーティング方法については後述する。
画像処理部06130は、カメラ制御部06141の制御によりカメラ112が撮影した画像データ及び他のカメラアダプタ120から受信した画像データに対して処理を施す。画像処理部06130は、前景背景分離部06131、三次元モデル情報生成部06132、及びキャリブレーション制御部06133を有する。以下、各々の機能について説明する。
前景背景分離部06131は、カメラ112が撮影した画像データを前景画像と背景画像に分離する。具体的には、複数のカメラアダプタ120の各々において、前景背景分離部06131は、対応するカメラ112の撮影画像から所定領域を抽出する。ここで、所定領域は、例えば、撮影画像に対するオブジェクト検出の結果、取得される前景画像であり、また、この抽出により、前景背景分離部06131は、撮影画像を前景画像と背景画像に分離する。
ここで、オブジェクトとは、例えば人物等であり、選手、監督、及び/又は審判等の特定の人物であってもよい。また、ボールやゴール等、画像パターンが予め定められている物体であってもよい。その他、オブジェクトとして、動体が検出されるようにしてもよい。例えば、人物を重要なオブジェクトとして設定する場合、図8(a)に示すように、人物を含む前景画像と、図8(b)に示すようにオブジェクト(人物)を含まない背景画像を分離して処理する。
これにより、画像処理システム100において生成される仮想視点画像のオブジェクトに該当する部分の画像の品質を向上させることができる。また、複数のカメラアダプタ120の各々において前景と背景を分離することで、複数のカメラ112を備えた画像処理システム100における負荷を分散させることができる。補足として、所定領域は前景画像に限らず、例えば、背景画像等であってもよい。
三次元モデル情報生成部06132は、前景背景分離部06131で分離された前景画像、及び他のカメラアダプタ120から受信した前景画像を用いて、例えば、ステレオカメラの原理等を適用することで、三次元モデルに関する画像情報を生成する。
キャリブレーション制御部06133は、キャリブレーションに必要な画像データを、カメラ制御部06141を介してカメラ112から取得し、キャリブレーションに関する演算処理を実行するフロントエンドサーバ230に送信する。なお、本実施形態では、キャリブレーションに関する演算処理をフロントエンドサーバ230で実行しているが、キャリブレーションに関する演算処理を実行するノードは必ずしもフロントエンドサーバ230に限定されない。したがって、例えば、制御ステーション310やカメラアダプタ120(この場合、他のカメラアダプタ120を含む)等、他のノードで演算処理を実行してもよい。
また、キャリブレーション制御部06133は、カメラ制御部06141を介してカメラ112から取得した画像データに対して、予め設定されたパラメータに応じて撮影中のキャリブレーション(動的キャリブレーション)を行う。
外部機器制御部06140は、カメラアダプタ120に接続する機器を制御する。外部機器制御部06140は、カメラ制御部06141、マイク制御部06142、雲台制御部06143、及びセンサ制御部06144を有する。以下、各々の機能について説明する。
カメラ制御部06141は、カメラ112と接続され、カメラ112の制御、撮影画像の取得、同期信号の提供、及び時刻設定等を行う。ここで、カメラ112の制御には、撮影パラメータ(画素数、色深度、フレームレート、及びホワイトバランス等)の設定及び参照、カメラ112の状態(撮影中、停止中、同期中、及びエラー等)の取得、撮影の開始及び停止、並びにピント調整等がある。
なお、本実施形態では、カメラ112を介してピント調整を行う仕様としているが、取り外し可能なレンズがカメラ112に装着されている場合には、カメラアダプタ120をレンズに接続し、直接レンズの調整を行ってもよい。また、カメラアダプタ120が、カメラ112を介してズーム等のレンズ調整を行ってもよい。
加えて、同期信号の提供は、時刻同期制御部06123がタイムサーバ290と同期した時刻を用いて、撮影タイミング(制御クロック)をカメラ112に提供することで行われる。さらに、時刻設定は、時刻同期制御部06123がタイムサーバ290と同期した時刻を、例えば、SMPTE12Mのフォーマットに準拠したタイムコードで提供することで行われる。これにより、カメラ112から受信する画像データに、提供されたタイムコードが付与される。なお、タイムコードのフォーマットはSMPTE12Mに限定されるわけではなく、他のフォーマットを用いてもよい。また、カメラ制御部06141は、カメラ112に対するタイムコードの提供は行わず、カメラ112から受信した画像データにタイムコードを付与してもよい。
マイク制御部06142は、マイク111と接続され、マイク111の制御、収音の開始及び停止、また、収音された音声データの取得等を行う。マイク111の制御は、例えば、ゲイン調整や、状態取得等である。また、マイク制御部06142は、カメラ制御部06141と同様に、マイク111に対して音声サンプリングするタイミングとタイムコードを提供する。音声サンプリングのタイミングとなるクロック情報としては、タイムサーバ290からの時刻情報が例えば、48KHzのワードクロックに変換されてマイク111に供給される。
雲台制御部06143は、雲台113と接続され、雲台113の制御を行う。雲台113の制御は例えば、パン・チルト制御や状態取得等がある。センサ制御部(内部センサ)06144は、外部センサ114と接続され、外部センサ114がセンシングしたセンサ情報を取得する。例えば、外部センサ114としてジャイロセンサが用いられる場合は、振動の程度を表す情報(振動情報)を取得することができる。この場合、例えば、センサ制御部06144が取得した振動情報を用いて、画像処理部06130は、前景背景分離部06131での処理に先立って、振動を抑えた画像を生成することができる。
振動情報は例えば、8Kカメラの画像データを、振動情報を考慮して、元の8Kサイズよりも小さいサイズで切り出して、隣接設置されたカメラ112の画像との位置合わせを行う場合に用いられる。これにより、建造物の躯体振動が各カメラに異なる周波数で伝搬した場合であっても、位置合わせを行うことができる。そして、その結果、電子的に防振された画像データ(即ち、振動の影響が画像処理により低減された画像データ)を生成することができ、画像コンピューティングサーバ200におけるカメラ112の台数分の位置合わせの処理負荷を軽減することができる。なお、センサシステム110のセンサは、必ずしも外部センサ114に限定されるわけではなく、カメラアダプタ120に内蔵されたセンサであっても同様の効果を得ることができる。
図3は、カメラアダプタ120内部の画像処理部06130の機能ブロック図である。以下、キャリブレーション制御部06133、前景背景分離部06131、三次元モデル情報生成部06132の各々に関して、説明を補足する。
キャリブレーション制御部06133は、入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理や、カメラの振動に起因する画像のブレを低減させて画像の位置を安定させるためのブレ補正処理(電子防振処理)等を行う。
前景背景分離部06131は、図3に示されるように、前景分離部05001、背景更新部05003、及び背景切出部05004を有する。前景分離部05001は、カメラ112の画像に関して位置合わせが行われた画像データに対して、背景画像05002との比較により前景画像の分離処理を行う。背景更新部05003は、背景画像05002とカメラ112の位置合わせが行われた画像を用いて新しい背景画像を生成し、背景画像05002を新しい背景画像に更新する。背景切出部05004は、背景画像05002の一部を切り出す制御を行う。
三次元モデル情報生成部06132は、図3に示されるように、三次元モデル処理部05005、他カメラ前景受信部05006、及びカメラパラメータ受信部05007を有する。三次元モデル処理部05005は、前景分離部05001で分離された前景画像と、伝送部06120を介して受信した他のカメラ112の前景画像を用いて、例えば、ステレオカメラの原理等から三次元モデルに関する画像情報を逐次、生成する。他カメラ前景受信部05006は、他のカメラアダプタ120で前景背景分離された前景画像を受信する。カメラパラメータ受信部05007は、カメラ固有の内部パラメータ(例えば、焦点距離、画像中心、及びレンズ歪みパラメータ等)と、カメラの位置姿勢を表す外部パラメータ(例えば、回転行列及び位置ベクトル等)を受信する。これらのパラメータは、後述のキャリブレーション処理で取得される情報であり、制御ステーション310から対象となるカメラアダプタ120に対して送信及び設定される。
図4は、本実施形態におけるフロントエンドサーバ230の機能ブロック図である。フロントエンドサーバ230は、図4に示されるように、各種機能ブロック(制御部02110−DBアクセス制御部02190)を有する。以下、各々の機能について説明する。
制御部02110は、CPU、DRAM、プログラムデータや各種データを記憶したHDDやNANDメモリなどの記憶媒体、Ethernet(登録商標)等のハードウェアで構成される。なお、DRAMは、Dynamic Random Access Memory の略である。
制御部02110は、フロントエンドサーバ230の各機能ブロック及びフロントエンドサーバ230のシステム全体を制御する。加えて、制御部02110は、モード制御を行うことで、キャリブレーション動作、撮影前の準備動作、及び撮影中動作等の動作モードを切り替える。制御部02110は、さらに、Ethernet(登録商標)を通じて制御ステーション310からの制御指示を受信し、各モードの切り替えやデータの入出力等を行う。また、制御部02110は、同様にネットワークを通じて制御ステーション310からスタジアムCADデータ(スタジアム形状データ)を取得し、スタジアムCADデータをCADデータ記憶部02135と撮影データファイル生成部02180に送信する。なお、本実施形態におけるスタジアムCADデータ(スタジアム形状データ)は、スタジアムの形状を示す三次元データであり、メッシュモデルやその他の三次元形状を表すデータであればよく、必ずしもCAD形式に限定されない。
データ入力制御部02120は、Ethernet(登録商標)等の通信路とスィッチングハブ180を介して、カメラアダプタ120とネットワーク接続される。データ入力制御部02120は、ネットワークを介してカメラアダプタ120から前景画像、背景画像、被写体の三次元モデル(三次元形状)、音声データ、及びカメラキャリブレーション撮影画像データを取得する。
ここで、前景画像は仮想視点画像の生成のための撮影画像の前景領域に基づく画像データであり、背景画像は、その撮影画像の背景領域に基づく画像データである。カメラアダプタ120は、カメラ112による撮影画像に対する所定のオブジェクトの検出処理の結果に応じて、前景領域及び背景領域を特定し、前景画像及び背景画像を生成する。なお、所定のオブジェクトとは、例えば、人物等であり、選手、監督、及び/又は審判等の特定の人物であってもよい。また、所定のオブジェクトには、ボールやゴール等、画像パターンが予め定められている物体が含まれてもよい。その他、所定のオブジェクトとして、動体が検出されるようにしてもよい。
データ入力制御部02120は、受信したデータの圧縮伸張やデータルーティング処理等を行う。データ入力制御部02120は、さらに、前景画像及び背景画像をデータ同期部02130に送信し、カメラキャリブレーション撮影画像データをキャリブレーション部02140に送信する。なお、制御部02110とデータ入力制御部02120は共にEthernet(登録商標)等のネットワークによる通信機能を有しているが、当該通信機能により制御部02110とデータ入力制御部02120の通信を行ってもよい。その場合、例えば、データ入力制御部02120は、制御ステーション310からの制御コマンドによる指示やスタジアムCADデータを受信すると、それらのデータ等を制御部02110に対して送信する。
データ同期部02130は、カメラアダプタ120から取得したデータを、前景画像、背景画像、音声データ及び三次元モデルデータが揃うまで、内部のDRAMに一次的に記憶する(バッファする)。これは、ネットワークによって各カメラアダプタ120から転送されたデータに関して、ネットワークパケットの受信順序が保証されず、ファイル生成に必要なデータを揃える必要があるためである。なお、ここで揃えるデータは、後述の撮影データファイル生成部02180において、ファイルを生成するために必要なデータである。また、以降では、前景画像、背景画像、音声データ及び三次元モデルデータを纏めて、撮影データと称する。
撮影データには、ルーティング情報、タイムコード情報(時間情報)、及びカメラ識別子等のメタ情報が付与されており、データ同期部02130は、このメタ情報に基づいて、データの属性を確認する。これにより、データ同期部02130は、同一時刻のデータであること等を判定して、データが揃ったことを確認する。
そして、データが揃うと、データ同期部02130は、前景画像及び背景画像を画像処理部02150に、三次元モデルデータを三次元モデル結合部02160に、音声データを撮影データファイル生成部02180に各々、送信する。なお、背景画像は、前景画像と異なるフレームレートで撮影されてもよい。この場合、例えば、背景画像のフレームレートが1fpsである場合、1秒毎に1つの背景画像が取得されるため、背景画像が取得されない時間については、背景画像が無い状態で全てのデータが揃ったとしてよい。
また、データ同期部02130は、所定時間が経過してもデータが揃っていない場合には、データを集結できないことを示す情報をデータベース250に通知する。例えば、後段のデータベース250は、データを格納するときに、カメラ番号やフレーム番号と併せてデータ欠落を示す情報を格納する。そして、これにより、仮想カメラ操作UI330からバックエンドサーバ270への視点指示に応じて、データ集結したカメラ112の撮影画像から所望の画像が形成できるか否かをレンダリング前に自動通知することができる。その結果、仮想カメラ操作UI330のオペレータの目視負荷を軽減することができる。
CADデータ記憶部02135は、制御部02110から受信したスタジアム形状を示す三次元データを、DRAM、又はHDDやNANDメモリ等の記憶媒体に記憶する。そして、CADデータ記憶部02135は、スタジアム形状データの要求を受信すると、画像結合部02170に、記憶しているスタジアム形状データを送信する。
キャリブレーション部02140は、カメラのキャリブレーション動作を行い、キャリブレーションによって取得されたカメラパラメータを、後述の非撮影データファイル生成部02185に送信する。また、キャリブレーション部02140は、同時に、自身の記憶領域にもカメラパラメータを保持し、後述の三次元モデル結合部02160にカメラパラメータ情報を提供する。
画像処理部02150は、前景画像や背景画像に対して、カメラ間の色や輝度値の合わせ込み、RAW画像データが入力される場合には現像処理、及び画像復号時のエラー補完やカメラのレンズ歪みの補正等の処理を実行する。そして、画像処理が施された前景画像は撮影データファイル生成部02180に、背景画像は画像結合部02170に各々、送信される。
三次元モデル結合部02160は、キャリブレーション部02140により生成されたカメラパラメータを用いて、カメラアダプタ120から取得した同一時刻の三次元モデルデータを結合する。そして、三次元モデル結合部02160は、VisualHullと呼ばれる方法を用いて、スタジアム全体における前景画像の三次元モデルデータを生成する。なお、生成された三次元モデルデータは、撮影データファイル生成部02180に送信される。
画像結合部02170は、画像処理部02150から背景画像を取得し、また、CADデータ記憶部02135からスタジアムの三次元形状データを取得すると、その取得したスタジアムの三次元形状データの座標に対する背景画像の位置を特定する。画像結合部02170は、背景画像の各々に関して、スタジアムの三次元形状データ(スタジアム形状データ)の座標に対する位置を特定すると、背景画像を結合して1つの背景画像とする。なお、背景画像の三次元形状データの生成については、バックエンドサーバ270が実行してもよい。
撮影データファイル生成部02180は、データ同期部02130から音声データを、画像処理部02150から前景画像を、三次元モデル結合部02160から三次元モデルデータを、画像結合部02170から三次元形状に結合された背景画像を取得する。そして、撮影データファイル生成部02180は、取得したこれらのデータをDBアクセス制御部02190に出力する。
ここで、撮影データファイル生成部02180は、これらのデータを各々の時間情報に基づいて、対応付けて出力する。但し、この場合、これらのデータに関して、その一部を対応付けて出力してもよい。例えば、撮影データファイル生成部02180は、前景画像と背景画像を、前景画像の時間情報及び背景画像の時間情報に基づいて、対応付けて出力する。また、例えば、撮影データファイル生成部02180は、前景画像、背景画像、及び三次元モデルデータを、前景画像の時間情報、背景画像の時間情報、及び三次元モデルデータの時間情報に基づいて、対応付けて出力する。なお、撮影データファイル生成部02180は、対応付けがなされたデータをデータの種類別にファイル化して出力することも、複数種類のデータを時間情報が示す時刻毎に纏めてファイル化して出力することもできる。
そして、このように対応付けがなされた撮影データが、後述のDBアクセス制御部02190によりデータベース250に出力されることで、バックエンドサーバ270は時間情報に対応する前景画像と背景画像とから仮想視点画像を生成することができる。
なお、データ入力制御部02120により取得される前景画像と背景画像のフレームレートが異なる場合、撮影データファイル生成部02180は、常に同時刻の前景画像と背景画像を対応付けて出力することは困難である。そこで、撮影データファイル生成部02180は、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像とを対応付けて出力する。ここで、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像とは、例えば、撮影データファイル生成部02180が取得した背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像のことである。このように、所定の規則に基づいて前景画像と背景画像を対応付けることにより、前景画像と背景画像のフレームレートが異なる場合でも、近い時刻に撮影された前景画像と背景画像とから仮想視点画像を生成することができる。
補足として、前景画像と背景画像の対応付けの方法は、必ずしも上記の方法に限定されない。例えば、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像として、取得された背景画像であって、かつ前景画像より前の時刻に撮影された背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像を設定してもよい。この方法によれば、前景画像よりフレームレートの低い背景画像の取得を待つことなく、対応付けられた前景画像と背景画像を低遅延で出力することができる。また、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像として、取得された背景画像であって、かつ前景画像より後の時刻に撮影された背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像を設定してもよい。
非撮影データファイル生成部02185は、キャリブレーション部02140からカメラパラメータ、制御部02110からスタジアムの三次元形状データを取得すると、それらのデータをファイル形式に応じて成形する。そして、その成形したデータをDBアクセス制御部02190に送信する。なお、非撮影データファイル生成部02185に入力されるカメラパラメータ及びスタジアム形状データは、ファイル形式に応じて個別に成形される。即ち、非撮影データファイル生成部02185は、いずれか一方のデータを受信すると、そのデータを個別にDBアクセス制御部02190に送信する。
DBアクセス制御部02190は、InfiniBand等により高速な通信が可能となるようにデータベース250と接続される。DBアクセス制御部02190は、撮影データファイル生成部02180及び非撮影データファイル生成部02185から受信したファイルをデータベース250に送信する。このように、本実施形態では、撮影データファイル生成部02180により時間情報に基づいて対応付けられた撮影データは、フロントエンドサーバ230とネットワークを介して接続されるデータベース250に出力される。
なお、撮影データファイル生成部02180により時間情報に基づいて対応付けられた撮影データの出力先は、必ずしもこれに限定されない。したがって、例えば、フロントエンドサーバ230は、時間情報に基づいて対応付けられた撮影データを、フロントエンドサーバ230とネットワークを介して接続され、仮想視点画像を生成するバックエンドサーバ270に出力してもよい。また、フロントエンドサーバ230は、時間情報に基づいて対応付けられた撮影データを、データベース250とバックエンドサーバ270の両方に出力してもよい。
その他、本実施形態では、フロントエンドサーバ230が前景画像と背景画像の対応付けを行う仕様として説明しているが、必ずしもこれに限らず、データベース250がその対応付けを行うこともできる。例えば、データベース250は、フロントエンドサーバ230から時間情報を有する前景画像及び背景画像を取得し、前景画像と背景画像とを各々の時間情報に基づいて対応付けて、データベース250自体が備える記憶領域に出力することもできる。
図5は、フロントエンドサーバ230内部のデータ入力制御部02120の機能ブロック図である。データ入力制御部02120は、図5に示されるように、サーバネットワークアダプタ06210、サーバ伝送部06220、及びサーバ画像処理部06230を有する。以下、サーバネットワークアダプタ06210、サーバ伝送部06220、及びサーバ画像処理部06230の各々に関して、説明を補足する。
サーバネットワークアダプタ06210は、サーバデータ受信部06211を有し、カメラアダプタ120から送信されるデータを受信する。サーバ伝送部06220は、サーバデータ受信部06211から受信したデータに対して処理を実行する。以下、サーバデータ伸張部06221、サーバデータルーティング処理部06222、サーバ画像・音声伝送処理部06223、サーバデータルーティング情報保持部06224の各々に関して、説明を補足する。
サーバデータ伸張部06221は、圧縮されたデータを伸張する。サーバデータルーティング処理部06222は、後述のサーバデータルーティング情報保持部06224が保持するアドレス等のルーティング情報に基づいて、データの転送先を決定し、サーバデータ受信部06211から受信したデータを転送する。
サーバ画像・音声伝送処理部06223は、カメラアダプタ120からサーバデータ受信部06211を介してメッセージを受信し、そのメッセージに含まれるデータ種別に応じて、フラグメント化されたデータを画像データ又は音声データに復元する。なお、復元後の画像データや音声データが圧縮されている場合は、サーバデータ伸張部06221で伸張処理が施される。
サーバデータルーティング情報保持部06224は、サーバデータ受信部06211が受信したデータの送信先を決定するためのアドレス情報を保持する。なお、ルーティング方法については後述する。
サーバ画像処理部06230は、カメラアダプタ120から受信した画像データ又は音声データに関連する処理を実行する。処理内容は、例えば、画像データのデータ実体(前景画像、背景画像、及び三次元モデル情報)に応じた、カメラ番号や画像フレームの撮影時刻、画像サイズ、画像フォーマット、及び画像の座標の属性情報等が付与されたフォーマットへの整形処理等である。
図6は、データベース250の機能ブロック図である。制御部02410は、CPUやDRAM、プログラムデータや各種データを記憶したHDDやNANDメモリ等の記憶媒体、及びEthernet(登録商標)等のハードウェアで構成される。制御部02410は、データベース250の各機能ブロック及びデータベース250のシステム全体を制御する。
データ入力部02420は、InfiniBand等の高速な通信によって、フロントエンドサーバ230から撮影データや非撮影データのファイルを受信する。受信したファイルは、キャッシュ(RAM)02440に送信される。また、受信した撮影データのメタ情報を読み出し、メタ情報に記録されたタイムコード情報やルーティング情報、カメラ識別子等の情報に基づいて、取得したデータへのアクセスが可能になるようにデータベーステーブルを作成する。
データ出力部02430は、バックエンドサーバ270から要求されたデータが後述のキャッシュ02440、一次ストレージ02450、二次ストレージ02460のいずれに保存されているか判定する。データ出力部02430は、InfiniBand等の高速な通信によって、保存先からデータを読み出してバックエンドサーバ270に送信する。
キャッシュ02440は、高速な入出力スループットを実現可能なDRAM等の記憶装置を有しており、データ入力部02420から取得した撮影データや非撮影データを記憶装置に格納する。格納されたデータは一定量保持され、それを超えるデータが入力される場合に、古いデータから随時一次ストレージ02450に書き込まれ、また、書き込み済みのデータは新たなデータによって上書きされる。
なお、キャッシュ02440に一定量保存されるデータは、少なくとも1フレーム分の撮影データである。それによって、バックエンドサーバ270において画像のレンダリング処理を実行する際に、データベース250内でのスループットを最小限に抑え、最新の画像フレームを低遅延かつ連続的にレンダリングすることができる。また、ここで、上述の目的を達成するためには、キャッシュされているデータの中に背景画像が含まれている必要がある。そのため、背景画像を有さないフレームの撮影データがキャッシュされた場合、キャッシュ上の背景画像は更新されず、そのままキャッシュ上に保持される。
キャッシュ可能なDRAMの容量は、予めシステムに設定されたキャッシュフレームサイズ、又は制御ステーションからの指示によって設定される。なお、非撮影データについては、入出力の頻度が少なく、試合前等においては高速なスループットを要求されないため、すぐに一次ストレージにコピーされる。また、キャッシュされたデータは、データ出力部02430によって読み出される。
一次ストレージ02450は、SSD等のストレージメディアを並列に接続する等して構成される。一次ストレージ02450では、データ入力部02420からの大量のデータの書き込み処理及びデータ出力部02430からのデータ読み出し処理が同時に実現され、処理の高速化が図られる。なお、一次ストレージ02450には、キャッシュ02440上に格納されたデータのうち、古いデータから順に書き出される。
二次ストレージ02460は、HDDやテープメディア等で構成され、高速性よりも大容量が重視され、また、一次ストレージと比較して安価で長期間の記憶に適したメディアである。なお、二次ストレージ02460には、撮影が完了した後、データのバックアップとして一次ストレージ02450に格納されたデータが書き出される。
図7は、バックエンドサーバ270の機能ブロック図である。バックエンドサーバ270は、図7に示されるように、各種機能ブロック(データ受信部03001−レンダリングモード管理部03014)を有する。以下、各々の機能について説明する。
データ受信部03001は、データベース250及びコントローラ300から送信されるデータを受信する。データ受信部03001は、データベース250から、スタジアムの形状を示す三次元データ(スタジアム形状データ)、前景画像、背景画像、前景画像の三次元モデル(以降、前景三次元モデルと称する)、及び音声を受信する。また、データ受信部03001は、仮想視点画像の生成に関する視点を指定するコントローラ300から、仮想カメラパラメータを受信する。ここで、仮想カメラパラメータとは仮想視点の位置や姿勢等を示すデータであり、仮想カメラパラメータには、例えば、外部パラメータの行列と内部パラメータの行列が用いられる。
なお、データ受信部03001がコントローラ300から受信(取得)するデータに関して、必ずしも仮想カメラパラメータに限定されない。コントローラ300から取得する情報として、視点の指定方法、コントローラが動作させているアプリケーションを特定する情報、コントローラ300の識別情報、及びコントローラ300を使用するユーザの識別情報の少なくとも何れかを含んでいてもよい。
また、データ受信部03001は、コントローラ300から出力される上述の情報と同様の情報を、エンドユーザ端末190から取得してもよい。さらに、データ受信部03001は、データベース250やコントローラ300等の外部の装置から、複数のカメラ112に関する情報を取得してもよい。ここで、複数のカメラ112に関する情報は、例えば、複数のカメラ112の数に関する情報や複数のカメラ112の動作状態に関する情報等である。なお、カメラ112の動作状態には、例えば、カメラ112の正常状態、故障状態、待機状態、起動状態、及び再起動状態の少なくとも何れかが含まれる。
背景テクスチャ貼り付け部03002は、背景メッシュモデル管理部03013から取得され、背景メッシュモデル(スタジアム形状データ)で示される三次元空間形状に対して、背景画像をテクスチャとして貼り付ける。これにより、背景テクスチャ貼り付け部03002はテクスチャ付き背景メッシュモデルを生成する。ここで、メッシュモデルとは、例えば、CADデータ等、三次元の空間形状を面の集合で表現したデータのことである。また、テクスチャとは、物体の表面の質感を表現するために、三次元空間形状に対して貼り付ける画像のことである。
前景テクスチャ決定部03003は、前景画像及び前景三次元モデル群より前景三次元モデルのテクスチャ情報を決定する。前景テクスチャ境界色合わせ部03004は、前景三次元モデルのテクスチャ情報と三次元モデル群からテクスチャの境界の色合わせを実行し、前景オブジェクト毎に色付き前景三次元モデル群を生成する。仮想視点前景画像生成部03005は、仮想カメラパラメータに基づいて、前景画像群を仮想視点からの見た目となるように透視変換する。
レンダリング部03006は、レンダリングモード管理部03014で決定された、仮想視点画像の生成に用いられる生成方式に基づいて、背景画像と前景画像をレンダリングして全景の仮想視点画像を生成する。ここでは、仮想視点画像の生成方式として、モデルベースレンダリング(Model‐Based Rendering:MBR)とイメージベースレンダリング(Image‐Based Rendering:IBR)の2つのレンダリングモードを用いる。
MBRとは、被写体を複数の方向から撮影した場合に、その撮影された複数の画像に基づいて生成される三次元モデルを用いて仮想視点画像を生成する方式である。具体的には、視体積交差法、Multi−View−Stereo(MVS)等の三次元形状復元手法により取得された対象シーンの三次元形状(モデル)を用いて、仮想視点からのシーンの見えを画像として生成する技術である。本実施形態では、レンダリングモードとしてMBRを用いる場合、背景メッシュモデルと前景テクスチャ境界色合わせ部03004で生成された前景三次元モデル群を合成することで全景モデルを生成し、さらに、その全景モデルから仮想視点画像を生成する。
また、IBRとは、対象のシーンを複数視点から撮影した入力画像群を変形、合成することによって、仮想視点からの見えを再現した仮想視点画像を生成する技術である。本実施形態では、レンダリングモードとしてIBRを用いる場合、背景テクスチャモデルに基づいて仮想視点から見た背景画像を生成し、そこに仮想視点前景画像生成部03005で生成された前景画像を合成することで、仮想視点画像を生成する。なお、レンダリングモードとしてIBRを用いると、MBRによりレンダリングするときに用いられる撮影画像(即ち、三次元モデルを生成するために用いられる撮影画像)よりも少ない撮影画像に基づいて、仮想視点画像を生成することができる。その他、補足として、レンダリング部03006は、上述のMBRとIBR以外のレンダリング手法を用いることもできる。
レンダリングモード管理部03014は、仮想視点画像の生成に用いられる生成方式(即ち、レンダリングモード)を決定し、その決定した結果を保持する。本実施形態では、レンダリングモード管理部03014は、複数のレンダリングモードからレンダリングに用いるレンダリングモードを決定する。
そして、このレンダリングモードの決定は、データ受信部03001により取得された情報に基づいて実行される。例えば、レンダリングモード管理部03014は、取得された情報から特定されるカメラの数が閾値以下である場合に、仮想視点画像の生成に用いられる生成方式をIBRに決定する。このように、カメラの数が少ない場合には、IBRを用いることで、MBRを用いた場合の三次元モデルの精度の低下による仮想視点画像の画質低下を回避することができる。
他方、レンダリングモード管理部03014は、取得された情報から特定されるカメラの数が閾値より多い場合に、仮想視点画像の生成に用いられる生成方式をMBRに決定する。このように、カメラの数が多い場合には、MBRを用いて仮想視点画像を生成することで、視点の指定可能範囲を拡張することができる。
なお、レンダリングモード管理部03014は、例えば、撮影から画像出力までの許容される処理遅延時間の長短に基づいて、生成方式(即ち、レンダリングモード)を決定してもよい。このとき、遅延時間が長くても視点の自由度を優先する場合はMBR、遅延時間が短いことを要求する場合はIBRを用いる。
また、例えば、コントローラ300やエンドユーザ端末190が視点の高さを指定可能であることを示す情報をデータ受信部03001が取得した場合、レンダリングモード管理部03014は、仮想視点画像の生成に用いられる生成方式をMBRに決定する。これにより、生成方式がIBRであることに起因して、ユーザによる視点の高さの変更要求が受け入れられなくなることを防ぐことができる。
このように、状況に応じて仮想視点画像の生成方式を決定することで、適切な生成方式で仮想視点画像を生成することができる。また、複数のレンダリングモードを要求に応じて切り替え可能な構成にすることで(即ち、システムを柔軟に構成することで)、本発明をスタジアム以外の被写体にも容易に適用することができる。
なお、レンダリングモード管理部03014が保持するレンダリングモードは、システムに予め設定された方式であってもよい。また、仮想カメラ操作UI330やエンドユーザ端末190を操作するユーザがレンダリングモードを任意に設定できるようにしてもよい。その他、レンダリングモード管理部03014が決定する仮想視点画像の生成方式はレンダリングの方式に必ずしも限られず、レンダリングモード管理部03014は仮想視点画像を生成するためのレンダリング以外の処理の方式を決定することもできる。
仮想視点音声生成部03007は、仮想カメラパラメータに基づいて、仮想視点において聞こえる音声(音声群)を生成する。合成部03008は、レンダリング部03006で生成された画像群と仮想視点音声生成部03007で生成された音声を合成して仮想視点コンテンツを生成する。
画像出力部03009は、コントローラ300とエンドユーザ端末190にEthernet(登録商標)を用いて仮想視点コンテンツを出力する。なお、外部への伝送手段はEthernet(登録商標)に限定されるものではなく、SDI、DisplayPort、及びHDMI(登録商標)等の信号伝送手段を用いてもよい。また、バックエンドサーバ270は、レンダリング部03006で生成された仮想視点画像(即ち、音声を含まない仮想視点画像)を出力してもよい。
前景オブジェクト決定部03010は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの空間上の位置を示す前景オブジェクトの位置情報から、表示される前景オブジェクト群を決定して、前景オブジェクトリストを出力する。即ち、前景オブジェクト決定部03010は、仮想視点の画像情報を物理的なカメラ112にマッピングする処理を実行する。
なお、本実施形態では、レンダリングモード管理部03014で決定されるレンダリングモードに応じて、マッピングする処理を実行する。そのため、複数の前景オブジェクトを決定する制御部が前景オブジェクト決定部03010内部に実装され、レンダリングモードと連動して制御を行う。
要求リスト生成部03011は、指定時間の前景オブジェクトリストに対応する前景画像群と前景三次元モデル群、及び背景画像と音声データをデータベース250に要求するための要求リストを生成する。なお、前景画像群と前景三次元モデル群に関しては、仮想視点を考慮して選択されたデータがデータベース250に要求されるが、背景画像と音声データに関しては、そのフレームに関する全てのデータがデータベース250に要求される。バックエンドサーバ270の起動後、背景メッシュモデルが取得されるまで背景メッシュモデルの要求リストが生成される。
要求データ出力部03012は、入力された要求リストに基づいて、データベース250に対してデータ要求のコマンドを出力する。背景メッシュモデル管理部03013は、データベース250から受信した背景メッシュモデルを記憶する。
なお、本実施形態では、バックエンドサーバ270が仮想視点画像の生成方式の決定と仮想視点画像の生成の両方を実行する仕様として説明するが、必ずしもこれに限定されない。したがって、バックエンドサーバ270は、仮想視点画像の生成方式を決定することなく、入力された生成方式を示す情報に基づいて、仮想視点画像を生成してもよい。その場合、例えば、フロントエンドサーバ230が、複数のカメラ112に関する情報や仮想視点画像の生成に係る視点を指定する装置から出力される情報等に基づいて、仮想視点画像の生成に用いられる生成方式を決定する。フロントエンドサーバ230は、カメラ112による撮影に基づく画像データをデータベース250に、また、決定した生成方式を示す情報をバックエンドサーバ270に出力する。そして、バックエンドサーバ270は、フロントエンドサーバ230が出力した生成方式を示す情報に基づいて、仮想視点画像を生成する。
このように、フロントエンドサーバ230が生成方式を決定することで、決定された方式とは別の方式での画像生成のためのデータをデータベース250やバックエンドサーバ270が処理することによる処理負荷を低減できる。補足として、本実施形態のように、バックエンドサーバ270が生成方式を決定する場合、データベース250は複数の生成方式に対応可能なデータを保持するため、複数の生成方式の各々に対応する複数の仮想視点画像の生成が可能となる。以上のように、システムを構成することにより、複数のカメラで取得された撮影画像から所望の仮想視点画像を生成することができる。
次に、カメラアダプタ120における符号量制御処理について説明する。なお、この符号量制御処理は、画像処理システムにおける伝送路に即した符号量となるように、個々の視点の符号化処理を適切に決定するために実行される。
以下、図9のフローチャートを用いて、符号量制御処理の手順を説明する。なお、以下の説明では、目標符号量という用語を、画像処理システムにおいて発生するデータをリアルタイムで伝送するために個々のカメラにおいて設定される符号量という意味で用いる。具体的には、本実施形態において、目標符号量は、伝送路の通信帯域中で映像を伝送するために、使用が可能な帯域を視点数(カメラ数)で除算した値である。即ち、画質の指標となる目標符号量は、伝送路の伝送容量に基づいて設定され得る。
ステップS901において、カメラアダプタ120は、視野重複マップを照合し、前景毎に、自身を捕捉しているカメラの数を取得する。ここで、視野重複マップは、処理中のカメラにおける視野において、他のカメラの視野がどれだけ重複しているか(即ち、重複度合い)を示すマップのことである。
以下、視野重複マップに関して、図10を用いて説明する。図10(a)は視野重複マップを説明するための図であり、図10(a)では、カメラを4台配置し、各々のカメラの視野を模式的に示している。なお、説明を容易にするため、カメラを4台としているが、実際には、これよりも多くのカメラを用いる方が、仮想視点の画質という観点で望ましい。
図10(a)に示されるように、スタジアムのフィールド上では、領域によって視野に入っているカメラの数(以下、視野重複度)が異なる。そして、この視野重複度を、各カメラの視野に基づいてマッピングしたものが視野重複マップである。このように、視野重複マップは、スタジアムの三次元形状とカメラ配置の相対的な位置関係に基づいて、作成(取得)される。なお、本実施形態では、視野重複マップを事前データとして作成し、制御ステーション310から対象となるカメラアダプタに各々、予め配信するものとする。
図10(b)は、図10(a)のCam3(カメラ3)における視野重複マップであり、マップ内の数字は領域の重複度を示している。ここで、例えば、図10(c)に示されるように、前景Aが存在した場合、前景Aにおける重複度は2であり、また、前景B、Cにおける重複度は4である。
このように、各カメラの視野において視野重複マップを作成し、前景がマップ上のどこに位置するかを判定することによって、その前景がいくつのカメラによって捕捉されているかを判定することができる。即ち、この場合、カメラアダプタ120は、前景となるオブジェクトを撮影するカメラ台数を導出する処理(カメラ台数導出処理)を実行する。なお、この判定に使用する前景の座標として、前景の足元の座標を用いることが望ましい。その場合、例えば、前景の外接矩形における下辺の中点を用いる等すればよい。但し、足元にオクルージョンが発生することが予想される場合には、外接矩形上辺中点から、被写体の大きさ(例えば、人物であれば170cm等)に基づいて、足元の座標を算出するようにしてもよい。
その他、前景の座標を決定するにあたり、三次元モデル情報生成部06132で生成される三次元モデルに関する画像情報を用いてもよい。上述のように、三次元モデルに関する画像情報を生成する過程で、例えば、ステレオカメラの原理等を適用することから(即ち、前景からカメラ112までの距離情報を処理することから)、前景の座標を決定(導出)することができる。また、視野重複マップにおいて前景が複数の領域に跨るような場合、その領域内で最も小さい重複度を用いるようにする。
ステップS902において、カメラアダプタ120は、処理対象として着目するフレームが撮影を開始した1枚目のフレーム(即ち、初期フレーム)であるか否かを判定する。そして、カメラアダプタ120は、処理対象として着目するフレームが撮影を開始した1枚目のフレームであると判定すると(S902 Yes)、処理をステップS903に移行させる。また、処理対象として着目するフレームが撮影を開始した1枚目のフレームではないと判定すると(S902 No)、処理をステップS905に移行させる。
カメラアダプタ120は、処理をステップS903に移行させると、接続されるカメラ112に写っている前景の画素数を、視野重複度毎に取得(計測)する。具体的には、例えば、図10(c)では、視野重複度1の画素数は前景Eの画素数、視野重複度2の画素数は前景Aの画素数、視野重複度3の画素数は前景Dの画素数、視野重複度4の画素数は前景Bの画素数と前景Cの画素数の合算値を計測する。
カメラアダプタ120は、前景の画素数を取得すると、ステップS904において、各々の前景に対して、符号化時に適用する量子化パラメータを決定する。なお、カメラアダプタ120は、ステップS904の処理を実行する上で、図11(a)に示される量子化パラメータ・圧縮率対応テーブルと、図11(b)に示される視野重複度・量子化パラメータセット対応テーブルを用いる。以下、図11を用いて、内容を補足する。
先ず、量子化パラメータ・圧縮率対応テーブルについて説明する。この量子化パラメータ・圧縮率対応テーブルは、量子化パラメータに対応する圧縮率を示すテーブルであり、量子化パラメータの設定時に所望の符号量となるか否かを予測するためのテーブルである。なお、この量子化パラメータ・圧縮率対応テーブルは、予めシミュレーションや予備実験等で取得された結果に基づいて作成される。
図11(a)は、量子化パラメータ・圧縮率対応テーブルの一例である。図11(a)において、qpは量子化パラメータであり、brは圧縮率である。図11(a)に示されるように、例えば、量子化パラメータが100(qp=100)の場合は圧縮率が70%(br=0.70)、量子化パラメータが50(qp=50)の場合は圧縮率が35%(br=0.35)となっている。なお、以降では、量子化パラメータqpに対応する圧縮率をbr[qp]と記載する。
次に、視野重複度・量子化パラメータセット対応テーブルについて説明する。この視野重複度・量子化パラメータセット対応テーブルは、処理中のカメラにおいて発生する符号量を制御する時に使用する。図11(b)は、視野重複度・量子化パラメータセット対応テーブルの一例である。dnは視野重複度であり、qlは量子化パラメータセットの段階(以下、量子化レベル)である。図11(b)に示されるように、例えば、量子化レベルを2(ql=2)に設定した場合、視野重複度が10(dn=10)の量子化パラメータqpは60、また、視野重複度が1(dn=1)の量子化パラメータqpは100となる。このように、量子化パラメータは、視野重複度と逆相関するように設定される。即ち、その前景を捕捉しているカメラの台数が少ない前景画像から高い画質になるように画質設定される。
なお、この視野重複度・量子化パラメータセット対応テーブルは、システムのポリシーに基づいて、シミュレーションや予備実験で仮想視点コンテンツの画質を確認しながら作成すればよい。また、以降では、視野重複度dn、量子化レベルqlに対応する量子化パラメータをqp[dn、ql]と記載する。
本実施形態では、目標符号量を達成する最小の量子化レベルを探索することで、各々の前景の量子化パラメータを決定する。この各々の前景の量子化パラメータを決定する処理に関して、図12を用いて、説明を補足する。
ステップS1201において、カメラアダプタ120は、カレント量子化レベルcurQLを0に設定する(curQL=0)。次に、ステップS1202において、カメラアダプタ120は、カレント量子化レベルcurQLに対応付けられている、視野重複度毎の量子化パラメータ(量子化パラメータセット)を取得する。
ステップS1203において、カメラアダプタ120は、上述の図9のステップS903で取得した視野重複度毎の前景画素数と、カレント量子化レベルから、予測符号量を下式に基づいて算出する。なお、下式において、カメラ台数をN、視野重複度に対応する前景画素数をfpix[dn]とする。
ステップS1204において、カメラアダプタ120は、ステップS1203で算出した予測符号量が、目標符号量より小さいか否かを判定する。そして、カメラアダプタ120は、ステップS1203で算出した予測符号量が目標符号量より小さい場合は処理をステップS1205に移行させ、ステップS1203で算出した予測符号量が目標符号量以上である場合は処理をステップS1206に移行させる。
処理をステップS1205に移行させると、カメラアダプタ120は、各々の前景に対して、その視野重複度に応じて量子化レベルcurQLに対応する量子化パラメータを割り当てる。また、処理をステップS1206に移行させると、カメラアダプタ120は、カレント量子化レベルcurQLをカウントアップする。以上の処理を実行することで、前景毎の量子化パラメータを決定することができる。
ここで、再度、図9のフローチャートに戻り、上述のように、処理対象として着目するフレームが撮影を開始した1枚目のフレームではないと判定すると(S902 No)、処理をステップS905に移行させる。ステップS905において、カメラアダプタ120は、処理中のカメラにおいて、前フレームの処理後に決定された量子化レベルに基づいて、前景毎の量子化パラメータを決定する。
ステップS906において、カメラアダプタ120は、それまでの処理ステップまでで取得した前景毎の量子化パラメータを用いて、符号化処理を実行する(即ち、符号化データを生成する)。このステップS906における符号化処理のアルゴリズムは、量子化パラメータに基づいて量子化を実行可能なものであればよく、例えば、JPEGやJPEG2000等を用いる。
ステップS907において、カメラアダプタ120は、目標符号量と、実際に出力された符号量(以下、実符号量)との差分ΔSを算出する。即ち、下式に基づいて、差分ΔSを算出する。
ステップS908において、カメラアダプタ120は、差分ΔSの絶対値が閾値Tより大きいか否かを判定する。差分ΔSの絶対値が閾値Tより大きいと判定すると(S908 Yes)、処理をステップS909に移行させ、差分ΔSの絶対値が閾値T以下であると判定すると(S908 No)、図9の処理を終了する。
ステップS909において、カメラアダプタ120は、量子化レベルを更新する。このステップS909における処理は、実符号量と目標符号量との差分を次のフレームで吸収させるために実行される。具体的には、差分ΔSが閾値Tよりも大きい場合、即ち、実符号量が目標符号量を所定の幅T以上、上回る場合は量子化レベルをカウントアップする(+1する)。これにより、次のフレームにおいて符号量を減少させる方向に調整することができる。また、差分ΔSが閾値−Tよりも小さい場合、即ち、実符号量が目標符号量を所定の幅T以上、下回る場合は量子化レベルをカウントダウンする(−1する)。これにより、次のフレームにおいて符号量を増加させる方向に調整することができる。
但し、この量子化レベルを更新する処理は、予め規定した範囲(図11では、0−6)内において、量子化レベルを超えないように制限した上で実行される。なお、閾値Tに関して、カメラアダプタ120に備えられているバッファが比較的大きい場合には大きく、そうでない場合には小さく設定される。カメラアダプタ120は、量子化レベルを更新すると、図9の処理を終了する。
以上のように処理することで、前フレームでの処理結果に基づいて、視野重複度が小さいものの画質劣化を抑制しながら符号量の制御ができるので、仮想視点コンテンツに大きな画質劣化を発生させずにリアルタイム伝送を実現することができる。
(第2の実施形態)
上述の第1の実施形態では、処理の高速化のため、図9に示すように処理対象とするフレームにおける量子化レベルを、前フレームの処理で事前に決定された量子化レベルに基づいて決定した。
上述の第1の実施形態では、処理の高速化のため、図9に示すように処理対象とするフレームにおける量子化レベルを、前フレームの処理で事前に決定された量子化レベルに基づいて決定した。
但し、量子化レベルに関して、フレーム毎に、視野重複度毎の前景画素数に基づいて予測符号量を算出し、その予測符号量に基づいて量子化パラメータを決定するようにしてもよい。このように構成することにより、処理中のフレームの内容(即ち、視野重複度毎の前景画素数)に基づいた量子化レベルの決定ができるので、実符号量をより目標符号量に近付けることができる。
(第3の実施形態)
上述の第1の実施形態では、カメラ毎に目標符号量を予め設定しておき、その目標符号量と実符号量との差分ΔSの絶対値が閾値Tより大きいか否かに基づいて、次のフレームの量子化レベル(即ち、符号化パラメータ)を設定した。但し、この第1の実施形態では、伝送ライン上の多くのカメラにおいて実符号量が目標符号量を超過するような場合、伝送に遅延が生じることが想定される。
上述の第1の実施形態では、カメラ毎に目標符号量を予め設定しておき、その目標符号量と実符号量との差分ΔSの絶対値が閾値Tより大きいか否かに基づいて、次のフレームの量子化レベル(即ち、符号化パラメータ)を設定した。但し、この第1の実施形態では、伝送ライン上の多くのカメラにおいて実符号量が目標符号量を超過するような場合、伝送に遅延が生じることが想定される。
そこで、本実施形態では、処理中のカメラをv番目のカメラとした場合、上流(即ち、1〜v−1番目まで)のカメラアダプタ120により出力された内容に応じて、処理中のカメラの符号化パラメータを制御する。以下、本実施形態における符号量制御処理に関して、図13を用いて説明する。なお、システムの全体構成、及び符号量制御処理以外の処理は、第1の実施形態と同様であり、また、符号量制御処理に関しては、上述の第2の実施形態を前提に、フレーム毎に、視野重複度毎の前景画素数に基づいて、量子化パラメータを決定する。
先ず、ステップ1301において、カメラアダプタ120は、上流カメラから伝送されてくる積算目標符号量の差分ΔUSを取得し、その絶対値が閾値T2より大きいか否かを判定する。
ここで、積算目標符号量は、上述のように、処理中のカメラをv番目のカメラとした場合、上流(即ち、1〜v−1番目まで)に位置するカメラ全ての実符号量から、基本符号量を上流に位置するカメラの台数で乗算した値を減算することで算出される。なお、基本符号量とは、伝送路の通信帯域内で映像を伝送するために使用可能な帯域を視点数(カメラの台数)で除算した値である。
補足として、処理中のカメラが最上流の場合、積算目標符号量の差分ΔUSを0とする。また、閾値T2は、カメラアダプタ120に備えられているバッファの大きさに応じて決定すればよい。そして、カメラアダプタ120は、積算目標符号量の差分ΔUSの絶対値が閾値T2よりも大きいと判定された場合には、処理をステップS1302に移行させ、そうでない場合には、処理をステップS1303に移行させる。
ステップ1302において、処理中のカメラにおける目標符号量を、上流カメラまでの積算目標符号量であるΔUSを考慮し、下式に基づいて決定する。
上式に基づいて目標符号量を決定することで、上流カメラまでで使い過ぎた帯域分だけ処理中のカメラの符号量を減らすことを試みる。また、積算目標符号量の差分ΔUSの絶対値が閾値T2以下であると判定された場合(S1301 No)、ステップS1303において、カメラアダプタ120は、第1の実施形態と同様に、処理中のカメラの目標符号量を下式に基づいて設定する。
ステップS1304において、カメラアダプタ120は、視野重複マップを照合し、前景毎に、自身を捕捉しているカメラの数(即ち、視野重複度)を取得する。即ち、ステップS1304における処理は、第1の実施形態における図9のステップS901と同様の処理である。
ステップS1305において、カメラアダプタ120は、接続されるカメラ112に写っている前景の画素数を、視野重複度毎に取得(計測)する。即ち、ステップS1305における処理は、第1の実施形態における図9のステップS903と同様の処理である。
ステップS1306において、カメラアダプタ120は、各前景に対し、符号化時に適用する量子化のパラメータを決定する。即ち、ステップS1306における処理は、第1の実施形態における図9のステップS904と同様の処理である。
ステップS1307において、カメラアダプタ120は、それまでの処理ステップまでで取得した前景毎の量子化パラメータを用いて、符号化処理を実行する。即ち、ステップS1307における処理は、第1の実施形態における図9のステップS906と同様の処理である。
ステップS1308において、カメラアダプタ120は、下式に基づいて、積算目標符号量の差分ΔUSを更新する。
上式に基づいて、積算目標符号量の差分ΔUSを更新することで、処理中のカメラにおける目標符号量と実符号量との差分を積算目標符号量の差分ΔUSに反映し、下流に渡すことができる。カメラアダプタ120は、ステップS1308における処理を実行することで、符号量制御処理を終了させる。
以上のような構成とすることで、直前のカメラまでで発生した、目標符号量と実符号量との差分を、処理中のカメラで吸収することができる。これにより、デイジーチェーントータルで伝送路の帯域内となるように符号量を制御することができるため、遅延の発生しない伝送が可能となる。
(第4の実施形態)
上述の第1の実施形態では、現在処理中のフレームにおいて、実符号量が目標符号量と比較して過大となった場合に、次のフレームでその差分を補うように符号化処理を実行した。
上述の第1の実施形態では、現在処理中のフレームにおいて、実符号量が目標符号量と比較して過大となった場合に、次のフレームでその差分を補うように符号化処理を実行した。
但し、符号化処理を実行する上で処理時間に余裕がある場合には、現在処理中のフレームにおいて、量子化レベルを上げて再度、符号化処理を実行することで、実符号量を目標符号量に近付けるようにしてもよい。このように符号化処理を実行することで、カメラアダプタ120の送信待ち用バッファを節約することができる。
(第5の実施形態)
上述の第1の実施形態では、事前データとして、撮影前にシミュレーションを実行することで、視野重複マップを作成した。このように事前データとして視野重複マップを作成することは、撮影前に注視点が定まっており、カメラを固定的に設置しているシステムにおいて有効である。
上述の第1の実施形態では、事前データとして、撮影前にシミュレーションを実行することで、視野重複マップを作成した。このように事前データとして視野重複マップを作成することは、撮影前に注視点が定まっており、カメラを固定的に設置しているシステムにおいて有効である。
但し、例えば、同じスタジアムで複数の競技を撮影する場合等、注視点を変更することがある。この場合、撮影前のキャリブレーション実行時に視野重複マップを更新することで、本発明を実施することが可能となる。また、複数台のカメラを同期して動かすことができるシステム等の場合は、動的キャリブレーションの実行時に視野重複マップを都度更新するように、画像処理システムを構成すればよい。
(第6の実施形態)
上述の第1の実施形態では、視野重複度・量子化パラメータセット対応テーブルを、所望の符号量に応じた量子化を実行するためのパラメータセットとして説明した。但し、帯域がより逼迫した場合を想定して「送信しない」という選択肢を設けてもよい。
上述の第1の実施形態では、視野重複度・量子化パラメータセット対応テーブルを、所望の符号量に応じた量子化を実行するためのパラメータセットとして説明した。但し、帯域がより逼迫した場合を想定して「送信しない」という選択肢を設けてもよい。
この場合、図14に示されるように、視野重複度・量子化パラメータセット対応テーブルに関して、第1の実施形態と同様に、視野重複度の高い方から低い方に量子化パラメータが段階的に高くなるように適用される。加えて、上述のように、帯域がより逼迫した場合を想定して、視野重複度が10(dn=10)、量子化レベルが7(ql=7)の場合に、データを送信しないように「送信しない」が設定される。つまり、視野重複度が所定の値以上(即ち、その前景を捕捉しているカメラが所定の台数以上)である場合に、データを符号化しないように設定される。
なお、量子化パラメータの設定に関して「送信しない」と設定した場合には、当該領域の視野重複度が「1台」少なくなることを意味する。即ち、処理中のカメラにおいて、量子化パラメータが「送信しない」に設定された場合には、信号として後続のカメラに伝達され、さらに、その後続のカメラにおいて、当該領域に関して、視野重複度を1台分減算した上で処理が実行される。補足として、この場合、その他の前景画像に関して、例えば、視野重複度が10(dn=10)、かつ量子化レベルが7(ql=7)でない限り、その後続のカメラにおいて、視野重複度を減算する処理は行わない。また、このように処理することで、前景の最小符号量を0までスケールさせることができるため、符号量制御の範囲を拡張することできる。
(第7の実施形態)
上述の第1の実施形態では、伝送ライン上の全てのカメラで撮影した画像(映像)を符号量制御の対象とした。但し、仮想視点コンテンツの画質上、重要な位置にあるカメラ(例えば、注視点を軸とし、所定の角度毎のカメラ等)で撮影した映像、又は望遠カメラ等で撮影した映像を符号量制御の対象としないように、画像処理システムを構成することもできる。
上述の第1の実施形態では、伝送ライン上の全てのカメラで撮影した画像(映像)を符号量制御の対象とした。但し、仮想視点コンテンツの画質上、重要な位置にあるカメラ(例えば、注視点を軸とし、所定の角度毎のカメラ等)で撮影した映像、又は望遠カメラ等で撮影した映像を符号量制御の対象としないように、画像処理システムを構成することもできる。
なお、この場合、事前データとして作成する視野重複マップに、仮想視点コンテンツの画質上、重要な位置にあるカメラの視野を含めないようにする。そして、符号化時には、そのカメラの符号量制御処理をスキップし、符号化処理のみを実行するようにすればよい。このように構成することにより、仮想視点コンテンツの画質上、重要な視点のカメラで撮影した映像を劣化させることなく伝送し、仮想視点コンテンツを生成することが可能となる。
(その他の実施形態)
上述の実施形態では、カメラアダプタ間を一本の伝送路で数珠繋ぎに接続する例を説明したが、本発明は必ずしもこれに限定されず、その他のトポロジーにおいても適用することができる。例えば、バス型においてもデイジーチェーンと同様の課題が発生するため、この場合、同様に近接するカメラアダプタの情報を取得しながら符号量の制御を行えばよい。
上述の実施形態では、カメラアダプタ間を一本の伝送路で数珠繋ぎに接続する例を説明したが、本発明は必ずしもこれに限定されず、その他のトポロジーにおいても適用することができる。例えば、バス型においてもデイジーチェーンと同様の課題が発生するため、この場合、同様に近接するカメラアダプタの情報を取得しながら符号量の制御を行えばよい。
また、スター型の場合には、近接するカメラアダプタ間は直接、接続されていないが、近接するカメラアダプタの画質等、必要な情報はフロントエンドサーバからそれぞれ取得するように、画像処理システムを構成すればよい。
また、上述の実施形態において、符号化を行う際のパラメータを設定することで画質を設定する例を説明したが、必ずしもこれに限定されない。例えば、解像度や画像のサイズを縮小したり、色の階調値を減らしたりして画質を設定してもよい。また、所定のオブジェクトを撮影するカメラの台数を示す情報として、視野重複マップを用いる例を説明したが、撮影対象となる3次元領域の座標とその座標を撮影可能なカメラの情報とを対応付けた情報等、他の情報を用いてもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
112 カメラ
120 カメラアダプタ
180b ネットワーク
06130 画像処理部
120 カメラアダプタ
180b ネットワーク
06130 画像処理部
Claims (20)
- 複数のカメラにより撮影された画像を所定の伝送路で伝送し、仮想視点画像を生成する画像処理システムにおいて、
所定のオブジェクトを撮影しているカメラの台数を導出するカメラ台数導出手段と、
前記所定のオブジェクトを撮影しているカメラの台数に応じて、前記所定のオブジェクトを含む前景画像の画質を設定する画質設定手段と、
を備えることを特徴とする画像処理システム。 - 前記画質設定手段により設定された前記前景画像の画質に基づいて、前記前景画像を符号化する符号化手段をさらに備え、
前記画質設定手段は、前記所定のオブジェクトを撮影しているカメラの台数と前記前景画像の画質とが逆相関するように、前記前景画像の画質を設定することを特徴とする請求項1に記載の画像処理システム。 - 前記カメラ台数導出手段は、撮影するフィールドの三次元形状と各カメラの相対的な位置関係から、前記カメラの視野の重複度合いを領域としてマッピングすることで作成される視野重複マップを用いて、前記所定のオブジェクトを撮影しているカメラの台数を導出することを特徴とする請求項1又は2に記載の画像処理システム。
- 前記カメラ台数導出手段は、前記視野重複マップにおいて、前記所定のオブジェクトが前記カメラの視野の重複度合いをマッピングした領域の複数に跨る場合に、複数の前記カメラの視野の重複度合いをマッピングした領域のうち、前記領域を撮影しているカメラの台数が最も少ないカメラの台数を、前記所定のオブジェクトを撮影しているカメラの台数として導出することを特徴とする請求項3に記載の画像処理システム。
- 前記カメラ台数導出手段は、前記所定のオブジェクトの足元の座標を用いて、前記所定のオブジェクトを撮影しているカメラの台数を導出することを特徴とする請求項1から4のいずれか1項に記載の画像処理システム。
- 前記符号化手段は、前記前景画像の画質に基づいて設定される量子化パラメータで、前記前景画像を量子化することを特徴とする請求項2に記載の画像処理システム。
- 前記符号化手段は、前記複数のカメラの各々に設定される目標符号量と前記前景画像の画質とに基づいて設定される量子化パラメータで、前記前景画像を量子化することを特徴とする請求項2に記載の画像処理システム。
- 前記符号化手段は、前記目標符号量を、前記伝送路の通信帯域における符号化データのための帯域を前記複数のカメラの台数で除算することで算出することを特徴とする請求項7に記載の画像処理システム。
- 前記符号化手段は、
基本符号量を、前記伝送路の通信帯域における符号化データのための帯域を前記複数のカメラの台数で除算することで算出し、
積算目標符号量を、前記複数のカメラの一のカメラよりも上流に位置するカメラ全ての実符号量から、前記基本符号量を前記一のカメラよりも上流に位置するカメラの台数で乗算した値を減算することで算出し、
前記積算目標符号量が所定の閾値より大きい場合に、前記目標符号量を、前記基本符号量から前記積算目標符号量を減算することで算出することを特徴とする請求項8に記載の画像処理システム。 - 前記符号化手段は、前記目標符号量と前記複数のカメラの一のカメラにおける現在のフレームの実符号量との差分に応じて、当該一のカメラにおける次のフレームの前記量子化パラメータを決定することを特徴とする請求項7又は8に記載の画像処理システム。
- 前記画質設定手段は、前記所定のオブジェクトを撮影しているカメラの台数が所定の台数以上である場合に、当該所定のオブジェクトを含む前景画像を符号化しないように設定することを特徴とする請求項1から10のいずれか1項に記載の画像処理システム。
- 前記画質設定手段は、前記複数のカメラのうち、前記所定のオブジェクトとの関係で所定の位置に配置されたカメラにより撮影された前景画像を量子化しないように設定することを特徴とする請求項1から11のいずれか1項に記載の画像処理システム。
- 請求項1から12のいずれか1項に記載の画像処理システムとしてコンピュータを機能させるためのプログラム。
- 複数のカメラにより撮影された画像を所定の伝送路で伝送し、仮想視点画像を生成する画像処理システムの制御方法であって、
カメラ台数導出手段により、所定のオブジェクトを撮影しているカメラの台数を導出するカメラ台数導出ステップと、
画質設定手段により、前記所定のオブジェクトを撮影しているカメラの台数に応じて、前記所定のオブジェクトを含む前景画像の画質を設定する画質設定ステップと、
を含むことを特徴とする画像処理システムの制御方法。 - 複数のカメラにより撮影された画像を所定の伝送路で伝送し、仮想視点画像を生成する画像処理システムにおいて、前記所定の伝送路に画像を伝送する伝送装置であって、
所定のオブジェクトを撮影するカメラの台数を示す情報を取得する取得手段と、
前記取得手段により取得された前記情報が示すカメラの台数に基づいて、前記所定のオブジェクトを含む前景画像の画質を設定する画質設定手段と、
前記画質設定手段により設定された画質の前記前景画像を前記所定の伝送路において伝送する伝送手段と、
を備えることを特徴とする伝送装置。 - 前記画質設定手段により設定された画質に基づいて、前記前景画像の画質を変更する変更手段をさらに備え、
前記伝送手段は、前記変更手段により画質を変更された前記前景画像を前記所定の伝送路において伝送することを特徴とする請求項15に記載の伝送装置。 - 前記変更手段は、前記画質設定手段により設定された画質に基づいて、前記前景画像を符号化し、
前記伝送手段は、前記変更手段により符号化された前記前景画像を前記所定の伝送路において伝送することを特徴とする請求項16に記載の伝送装置。 - 前記複数のカメラの撮影対象の三次元形状と各カメラの相対的な位置関係に基づく前記複数のカメラの視野の重複度合いから、前記情報を取得することを特徴とする請求項15から17のいずれか1項に記載の伝送装置。
- 前記画質設定手段は、前記所定の伝送路の伝送容量に基づいて、前記前景画像の画質を設定することを特徴とする請求項15から18のいずれか1項に記載の伝送装置。
- 複数のカメラにより撮影された画像を所定の伝送路で伝送し、仮想視点画像を生成する画像処理システムにおける画像の伝送方法であって、
所定のオブジェクトを撮影するカメラの台数に基づいて、前記所定のオブジェクトを含む前景画像の画質を設定し、
設定された画質の前記前景画像を前記所定の伝送路において伝送することを特徴とする伝送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018020968A JP2019140483A (ja) | 2018-02-08 | 2018-02-08 | 画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018020968A JP2019140483A (ja) | 2018-02-08 | 2018-02-08 | 画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019140483A true JP2019140483A (ja) | 2019-08-22 |
Family
ID=67694497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018020968A Pending JP2019140483A (ja) | 2018-02-08 | 2018-02-08 | 画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019140483A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021200226A1 (ja) * | 2020-03-30 | 2021-10-07 | ソニーグループ株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN114097248A (zh) * | 2019-12-30 | 2022-02-25 | 华为技术有限公司 | 一种视频流处理方法、装置、设备及介质 |
-
2018
- 2018-02-08 JP JP2018020968A patent/JP2019140483A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114097248A (zh) * | 2019-12-30 | 2022-02-25 | 华为技术有限公司 | 一种视频流处理方法、装置、设备及介质 |
CN114097248B (zh) * | 2019-12-30 | 2023-03-28 | 华为技术有限公司 | 一种视频流处理方法、装置、设备及介质 |
WO2021200226A1 (ja) * | 2020-03-30 | 2021-10-07 | ソニーグループ株式会社 | 情報処理装置、情報処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109275358B (zh) | 根据用户所选择的视点从具有菊花链连接的照相机阵列生成虚拟图像的方法和设备 | |
KR102357058B1 (ko) | 상이한 프레임 레이트들로 전경 화상 및 배경 화상을 송신하는 카메라 어레이로부터, 유저에 의해 선택된 시점으로부터의 가상 화상을 생성하는 방법 및 장치 | |
JP6482498B2 (ja) | 制御装置、制御方法、及び、プログラム | |
CN109565580B (zh) | 信息处理设备、图像生成方法、控制方法和程序 | |
JP6672075B2 (ja) | 制御装置、制御方法、及び、プログラム | |
JP2018112997A (ja) | 画像処理装置及びその方法、プログラム、画像処理システム | |
US11095871B2 (en) | System that generates virtual viewpoint image, method and storage medium | |
US10708469B2 (en) | Image processing apparatus, method of controlling the same, non-transitory computer-readable storage medium, and image processing system | |
JP7042571B2 (ja) | 画像処理装置およびその制御方法、プログラム | |
JP2019022151A (ja) | 情報処理装置、画像処理システム、制御方法、及び、プログラム | |
JP2019103067A (ja) | 情報処理装置、記憶装置、画像処理装置、画像処理システム、制御方法、及びプログラム | |
JP6827996B2 (ja) | 画像処理装置、制御方法、及び、プログラム | |
JP2019134428A (ja) | 制御装置、制御方法、及び、プログラム | |
JP2019140483A (ja) | 画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム | |
US20230162435A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2020092301A (ja) | 画像処理装置、画像処理システム、画像処理方法、及びプログラム | |
JP6632703B2 (ja) | 制御装置、制御方法、及び、プログラム | |
JP7104504B2 (ja) | 画像処理システム、画像処理装置、画像伝送方法、及び、プログラム | |
JP2019003325A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2021068373A (ja) | 制御装置、画像処理システム、制御方法、及びプログラム | |
JP2019096926A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2018191236A (ja) | 情報処理システム、情報処理方法、装置およびプログラム | |
JP2023075860A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP2021073799A (ja) | 制御装置、制御方法、及び、プログラム |