JP2019102940A - 仮想視点コンテンツ生成システム、音声処理装置、仮想視点コンテンツ生成システムの制御方法、及びプログラム - Google Patents

仮想視点コンテンツ生成システム、音声処理装置、仮想視点コンテンツ生成システムの制御方法、及びプログラム Download PDF

Info

Publication number
JP2019102940A
JP2019102940A JP2017230864A JP2017230864A JP2019102940A JP 2019102940 A JP2019102940 A JP 2019102940A JP 2017230864 A JP2017230864 A JP 2017230864A JP 2017230864 A JP2017230864 A JP 2017230864A JP 2019102940 A JP2019102940 A JP 2019102940A
Authority
JP
Japan
Prior art keywords
virtual viewpoint
image
sound
virtual camera
voice
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
Application number
JP2017230864A
Other languages
English (en)
Inventor
一菜 丸山
Kazuna Maruyama
一菜 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017230864A priority Critical patent/JP2019102940A/ja
Publication of JP2019102940A publication Critical patent/JP2019102940A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Obtaining Desirable Characteristics In Audible-Bandwidth Transducers (AREA)
  • Stereophonic System (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

【課題】仮想カメラのオペレータに提供する仮想視点音声を柔軟に生成する。【解決手段】本発明に係る仮想視点コンテンツ生成システムは、仮想視点の指定を受け付ける受け付け手段と、異なる位置で同期撮影するための複数の撮影装置の撮影画像から前記指定された仮想視点に基づく仮想視点画像を生成する画像生成手段と、異なる位置で同期収音するための複数のマイクの収音音声から仮想視点音声を生成する音声生成手段と、を備え、音声生成手段は、指定された仮想視点に応じて取得される第1の収音音声に基づいた仮想視点音声と、第1の収音音声と異なる第2の収音音声に基づいた仮想視点音声とを生成する、ことを特徴とする。【選択図】 図1

Description

本発明は、複数のカメラ/マイクを用いて同期撮影/収音された多視点画像/音声から仮想視点コンテンツを生成するシステムに関する。
昨今、複数のカメラを異なる位置に設置して多視点で同期撮影し、当該撮影により得られた複数視点画像を用いて仮想視点コンテンツを生成する技術が注目されている。このような技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することができるため、ユーザに高臨場感を与えることが出来る。
特許文献1には、仮想視点映像の映像信号に対するオーディオ信号をリアルタイムで音像定位処理することが開示されている。これにより、仮想視点映像の角度を変化させて映像を移動させて再生した場合に移動する映像の方向にオーディオ信号の再生音像を定位させることができる。
特開2003−284196号公報
複数のカメラを備えた画像処理システムでは、仮想カメラの位置や姿勢をどう操作するかで、どのような仮想視点コンテンツが生成されるかが決まる。仮想カメラのオペレータは、オペレータ視野であり仮想視点画像である仮想カメラ画像を見ながら、ジョイスティック等の入力装置を操作することで、仮想カメラの位置や姿勢を制御する。仮想カメラを選手やボールに近づけると迫力のある仮想視点コンテンツを生成できる。その一方で、仮想カメラを対象に近づけすぎるとオペレータ視野が狭くなって視野外での出来事に気づきにくくなる。このため、オペレータは、選手やボールの急な動きに追従できずに見失う恐れがある。
オペレータに、オペレータ視野外の出来事を気付かせるための情報の1つに音声がある。オペレータ視野外の音声をオペレータに提供すると、オペレータは、視野外での出来事に気付き、次の仮想カメラ操作をどうすべきか判断できるようになる。しかしながら、特許文献1では、オペレータ視野外の出来事を気付かせるための仮想視点音声については考慮されていない。
本発明は、上記の課題に鑑みてなされたものであり、その目的は、仮想カメラのオペレータに提供する仮想視点音声を柔軟に生成することである。
上記課題を解決するため、本発明に係る仮想視点コンテンツ生成システムは、仮想視点の指定を受け付ける受け付け手段と、異なる位置で同期撮影するための複数の撮影装置の撮影画像から前記指定された仮想視点に基づく仮想視点画像を生成する画像生成手段と、異なる位置で同期収音するための複数のマイクの収音音声から仮想視点音声を生成する音声生成手段と、を備え、音声生成手段は、指定された仮想視点に応じて取得される第1の収音音声に基づいた仮想視点音声と、第1の収音音声と異なる第2の収音音声に基づいた仮想視点音声とを生成する、ことを特徴とする。
本発明によれば、仮想カメラのオペレータに提供する仮想視点音声を柔軟に生成できる。
画像処理システム100の一例を示す構成図。 カメラアダプタ120の機能構成を説明するためのブロック図。 カメラアダプタ120内部の画像処理部6130の機能ブロック図。 フロントエンドサーバ230の機能構成を説明するためのブロック図。 データベース250の機能構成を説明するためのブロック図。 バックエンドサーバ270の機能構成を説明するためのブロック図。 円周上に複数のマイクが設置された競技場を示す図。 仮想カメラについて説明するための図。 仮想カメラ操作UI330の機能構成を説明するためのブロック図。 実施の形態1に係る、仮想カメラ操作UI330、バックエンドサーバ270及びデータベース250の処理フローを示す図。 仮想視点音声の収音範囲を示す図。 仮想カメラ操作UI330がライブ画像を生成する際のフローチャート。 1フレーム分の処理を示すフローチャート。 仮想カメラ操作UI330がリプレイ画像を生成する際のフローチャート。 バックエンドサーバ270が1フレームの仮想視点画像を生成するフローチャート。 カメラアダプタ120のハードウェア構成を示すブロック図。 仮想カメラ操作UI3302の機能構成を説明するブロック図。 仮想カメラの可動範囲及び収音範囲を説明するための図。 実施の形態2に係る、仮想カメラ操作UI3302、バックエンドサーバ270及びデータベース250の処理フローを示す図。 実施の形態2に係る仮想カメラ操作UI3302が1フレーム分のライブ画像を生成する際のフローチャート。 仮想カメラ操作UI3303の機能構成を説明するブロック図。 収音パターンを説明するための図。 実施の形態3に係る、仮想カメラ操作UI3303、バックエンドサーバ270及びデータベース250の処理フローを示す図。 仮想カメラ操作UI3303がライブ画像を生成する際のフローチャート。 バックエンドサーバ2704の機能構成を説明するためのブロック図。 実施の形態4に係る、仮想カメラ操作UI330、バックエンドサーバ2704及びデータベース250の処理フローを示す図。 バックエンドサーバ2704において1フレームの仮想視点画像を生成する処理フロー。
以下、図面に従って本発明に係る実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施の形態1>
まず、実施の形態1の前提となる、競技場(スタジアム)やコンサートホールなどの施設に複数のカメラ及びマイクを設置し撮影及び収音を行う仮想視点コンテンツ生成システムの例について、図1を用いて説明する。
図1は、画像処理システム100の一例を示す構成図である。図1を参照すると、画像処理システム100は、センサシステム110a,...,110zと、画像コンピューティングサーバ200と、コントローラ300と、スイッチングハブ180と、エンドユーザ端末190とを含む。
コントローラ300は、制御ステーション310と、仮想カメラ操作UI330とを含む。制御ステーション310は、画像処理システム100を構成するそれぞれのブロックに対して、ネットワーク310a−310d、180a、180b、及び170a,...,170yを通じて動作状態の管理及びパラメータ設定制御などを行う。
最初に、センサシステム110a,...,センサシステム110zの26セットの画像及び音声をセンサシステム110zから画像コンピューティングサーバ200へ送信する動作について説明する。
画像処理システム100では、センサシステム110a,...,センサシステム110zがデイジーチェーンにより接続される。以下、特別な説明がない場合は、センサシステム110aからセンサシステム110zまでの26セットのシステムを区別せずセンサシステム110と記載する。また、各センサシステム110内の装置についても同様に、特別な説明がない場合は区別せず、マイク111、カメラ112、雲台113及びカメラアダプタ120と記載する。なお、センサシステムの台数として26セットと記載しているが、あくまでも一例であり、台数をこれに限定するものではない。ここで、特に断りがない限り、画像という文言は、動画と静止画の概念を含むものとして説明する。すなわち、画像処理システム100は、静止画及び動画の何れについても処理可能である。
センサシステム110a,...,110zは、それぞれ1台ずつのカメラ112a,...,112zを含む。すなわち、画像処理システム100は、同一の被写体を複数の方向から撮影するための複数のカメラを有する。複数のセンサシステム110同士は、デイジーチェーンにより接続される。
センサシステム110は、マイク111と、カメラ112と、雲台113と、カメラアダプタ120とを含んで構成されるが、この構成に限定するものではない。カメラ112aにて撮影された画像は、カメラアダプタ120aにおいて後述の画像処理が施された後、マイク111aにて収音された音声とともに、デイジーチェーン170aを通してセンサシステム110bのカメラアダプタ120bに伝送される。センサシステム110bは、収音音声と撮影画像を、センサシステム110aから取得した画像及び音声と合わせてセンサシステム110cに伝送する。
前述した動作を続けることにより、センサシステム110a,...,110zが取得した画像及び音声は、センサシステム110zからネットワーク180bを用いてスイッチングハブ180に伝わり、その後、画像コンピューティングサーバ200へ伝送される。
なお、カメラ112a,...,112zと、カメラアダプタ120a,...,120zが分離された構成にしているが、同一筺体で一体化されていてもよい。その場合、マイク111a,...,111zは一体化されたカメラ112に内蔵されてもよいし、カメラ112の外部に接続されていてもよい。
ここで、カメラアダプタ120による画像処理を説明する。カメラアダプタ120は、カメラ112による撮影画像を前景画像と背景画像に分離する。例えば、選手など動作する物体を抽出した前景画像と、芝生など静止物体の背景画像とに分離する。そして、前景画像と背景画像とを、別のカメラアダプタ120に出力する。
カメラアダプタ120a〜120zに対し、それぞれのカメラアダプタで生成された前景画像、背景画像が伝送され、カメラアダプタ120zから画像コンピューティングサーバ200に出力される。これにより、画像コンピューティングサーバ200には、各カメラ112で撮影された画像から生成された前景画像と、背景画像とが集約される。
次に、画像コンピューティングサーバ200の構成及び動作について説明する。画像コンピューティングサーバ200は、センサシステム110zから取得したデータの処理を行う。
画像コンピューティングサーバ200は、フロントエンドサーバ230と、データベース250(以下、DB250と記載する場合がある。)と、バックエンドサーバ270と、タイムサーバ290とを含む。
タイムサーバ290は、時刻及び同期信号を配信する機能を有し、スイッチングハブ180を介してセンサシステム110a,...,110zに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ120a,...,120zは、カメラ112a,...,112zを、時刻と同期信号とをもとにGenlockさせ画像フレーム同期を行う。すなわち、タイムサーバ290は、複数のカメラ112の撮影タイミングを同期させる。これにより、画像処理システム100は同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。また、タイムサーバ290は、同様に、複数のマイク111の収音タイミングを同期させる。
フロントエンドサーバ230は、センサシステム110zから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換した後に、カメラの識別子やデータ種別、フレーム番号に応じてデータベース250に書き込む。
バックエンドサーバ270では、仮想カメラ操作UI330から仮想視点の指定を受け付ける。そして、指定された仮想視点に基づいて、データベース250から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。
なお、画像コンピューティングサーバ200の構成はこれに限らない。例えば、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270のうち少なくとも2つが一体となって構成されていてもよい。また、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ200内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ200の機能の少なくとも一部をエンドユーザ端末190や仮想カメラ操作UI330が有していてもよい。
レンダリング処理された画像は、バックエンドサーバ270からエンドユーザ端末190に送信され、エンドユーザ端末190を操作するユーザは視点の指定に応じた画像閲覧及び音声視聴が出来る。
この様に、画像処理システム100は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという3つの機能ドメインを有する。映像収集ドメインはセンサシステム110a,...,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を介してアクセスする構成である。バックエンドサーバ270で画像生成処理に係わる共通処理を行い、操作UIに係わるアプリケーションの差分部分を仮想カメラ操作UI330で行っている。このことにより、仮想カメラ操作UI330の開発において、UI操作デバイスや、生成したい仮想視点画像を操作するUIの機能要求に対する開発に注力する事ができる。また、バックエンドサーバ270は、仮想カメラ操作UI330の要求に応じて画像生成処理に係わる共通処理を追加又は削除する事も可能である。このことによって仮想カメラ操作UI330の要求に柔軟に対応する事ができる。
このように、画像処理システム100においては、被写体を複数の方向から撮影するための複数のカメラ112による撮影画像に基づいて、バックエンドサーバ270により仮想視点画像が生成される。なお、本実施の形態に係る画像処理システム100は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。
次に、画像処理システム100における各ノード(カメラアダプタ120、フロントエンドサーバ230、データベース250、バックエンドサーバ270、仮想カメラ操作UI330)の機能ブロック図を説明する。
図2は、カメラアダプタ120の機能構成を説明するためのブロック図である。カメラアダプタ120は、ネットワークアダプタ6110と、伝送部6120と、画像処理部6130と、外部機器制御部6140と、を含む。ネットワークアダプタ6110は、データ送受信部6111と、時刻制御部6112とを含む。
データ送受信部6111は、デイジーチェーン170、ネットワーク291、及びネットワーク310aを介し、他のカメラアダプタ120、フロントエンドサーバ230、タイムサーバ290、及び制御ステーション310とデータ通信を行う。例えば、データ送受信部6111は、カメラ112による撮影画像から前景背景分離部6131により分離された前景画像と背景画像とを、別のカメラアダプタ120に対して出力する。出力先のカメラアダプタ120は、画像処理システム100のカメラアダプタ120のうち、データルーティング処理部6122の処理に応じて予め定められた順序における次のカメラアダプタ120である。各カメラアダプタ120が、前景画像及び背景画像を出力することで、複数の視点から撮影された前景画像と背景画像とに基づいた仮想視点画像が生成される。なお、撮影画像から分離した前景画像を出力して背景画像は出力しないカメラアダプタ120が存在してもよい。
時刻制御部6112は、例えば、IEEE1588規格のOrdinay Clockに準拠し、タイムサーバ290との間で送受信したデータのタイムスタンプを保存する機能と、タイムサーバ290と時刻同期を行う機能とを有する。なお、IEEE1588に限定する訳ではなく、他のEtherAVB規格や、独自プロトコルによってタイムサーバとの時刻同期を実現してもよい。
伝送部6120は、ネットワークアダプタ6110を介してスイッチングハブ180等に対するデータの伝送を制御する機能を有する。伝送部6120は、データ圧縮・伸張部6121と、データルーティング処理部6122と、時刻同期制御部6123と、画像・音声伝送処理部6124と、データルーティング情報保持部6125とを含む。
データ圧縮・伸張部6121は、データ送受信部6111を介して送受信されるデータに対して所定の圧縮方式、圧縮率、及びフレームレートを適用した圧縮を行う機能と、圧縮されたデータを伸張する機能とを有している。
データルーティング処理部6122は、後述するデータルーティング情報保持部6125が保持するデータを利用し、データ送受信部6111が受信したデータ及び画像処理部6130で処理されたデータのルーティング先を決定する。さらに、決定したルーティング先へデータを送信する機能を有している。ルーティング先としては、同一の注視点にフォーカスされたカメラ112に対応するカメラアダプタ120とするのが、それぞれのカメラ112同士の画像フレーム相関が高いため画像処理を行う上で好適である。複数のカメラアダプタ120それぞれのデータルーティング処理部6122による決定に応じて、画像処理システム100において前景画像や背景画像をリレー形式で出力するカメラアダプタ120の順序が定まる。
時刻同期制御部6123は、IEEE1588規格のPTP(Precision Time Protocol)に準拠し、タイムサーバ290と時刻同期に係わる処理を行う機能を有している。なお、PTPに限定するのではなく、他の同様のプロトコルを利用して時刻同期してもよい。
画像・音声伝送処理部6124は、画像データ又は音声データを、データ送受信部6111を介して他のカメラアダプタ120またはフロントエンドサーバ230へ転送するためのメッセージを作成する機能を有している。メッセージには、画像データ又は音声データ、及び各データのメタ情報が含まる。本実施形態のメタ情報には、画像の撮影または音声のサンプリング時のタイムコードまたはシーケンス番号、データ種別、及びカメラ112やマイク111の個体を示す識別子などが含まれる。なお、送信する画像データまたは音声データは、データ圧縮・伸張部6121でデータ圧縮されていてもよい。また、画像・音声伝送処理部6124は、他のカメラアダプタ120からデータ送受信部6111を介してメッセージを受取る。そして、メッセージに含まれるデータ種別に応じて、伝送プロトコル規定のパケットサイズにフラグメントされたデータ情報を画像データまたは音声データに復元する。なお、データを復元した際にデータが圧縮されている場合は、データ圧縮・伸張部6121が伸張処理を行う。
データルーティング情報保持部6125は、データ送受信部6111で送受信されるデータの送信先を決定するためのアドレス情報を保持する機能を有する。
画像処理部6130は、カメラ制御部6141の制御によりカメラ112が撮影した画像及び他のカメラアダプタ120から受取った画像に対して処理を行う機能を有する。画像処理部6130は、前景背景分離部6131と、三次元モデル情報生成部6132と、キャリブレーション制御部6133とを含む。
前景背景分離部6131は、カメラ112が撮影した画像を、前景画像と背景画像とに分離する機能を有している。すなわち、複数のカメラアダプタ120それぞれの前景背景分離部6131は、複数のカメラ112のうち対応するカメラ112による撮影画像から所定領域を抽出する。所定領域は、例えば、撮影画像に対するオブジェクト検出の結果得られる前景画像であり、この抽出により前景背景分離部6131は、撮影画像を前景画像と背景画像とに分離する。なお、オブジェクトとは、例えば、人物である。ただし、これに限られず、オブジェクトは、特定の人物(選手、監督、及び/又は審判など)であっても良いし、ボール等の画像パターンが予め定められている物体であっても良い。また、オブジェクトとして、動体が検出されるようにしても良い。人物等の重要なオブジェクトを含む前景画像とそのようなオブジェクトを含まない背景領域を分離して処理することで、画像処理システム100において生成される仮想視点画像の上記のオブジェクトに該当する部分の画像の品質を向上できる。また、前景画像と背景画像との分離を複数のカメラアダプタ120それぞれが行うことで、複数のカメラ112を備えた画像処理システム100における負荷を分散させることができる。なお、所定領域は前景画像に限らず、例えば背景画像であってもよい。
三次元モデル情報生成部6132は、前景背景分離部6131で分離された前景画像及び他のカメラアダプタ120から受取った前景画像を利用する。三次元モデル情報生成部6132は、例えば、ステレオカメラの原理を用いて三次元モデルに係わる画像情報を生成する機能を有している。
キャリブレーション制御部6133は、キャリブレーションに必要な画像データを、カメラ制御部6141を介してカメラ112から取得し、キャリブレーションに係わる演算処理を行うフロントエンドサーバ230に送信する機能を有している。なお、この例ではキャリブレーションに係わる演算処理をフロントエンドサーバ230で行っているが、演算処理を行うノードはフロントエンドサーバ230に限定されない。例えば、制御ステーション310やカメラアダプタ120(他のカメラアダプタ120を含む)など他のノードで演算処理が行われてもよい。またキャリブレーション制御部6133は、カメラ制御部6141を介してカメラ112から取得した画像に対して、予め設定されたパラメータに応じて撮影中のキャリブレーション(動的キャリブレーション)を行う機能を有している。
外部機器制御部6140は、カメラアダプタ120に接続する機器を制御する機能を有し、カメラ制御部6141と、マイク制御部6142と、雲台制御部6143と、センサ制御部6144とを含む。
カメラ制御部6141は、カメラ112と接続し、カメラ112の制御、撮影画像取得、同期信号提供、及び時刻設定などを行う機能を有している。カメラ112の制御には、例えば、撮影パラメータ(画素数、色深度、フレームレート、及びホワイトバランスなど)の設定及び参照、カメラ112の状態(撮影中、停止中、同期中、及びエラーなど)の取得、撮影の開始及び停止や、ピント調整などがある。同期信号提供は、時刻同期制御部6123がタイムサーバ290と同期した時刻を利用し、撮影タイミング(制御クロック)をカメラ112に提供することで行われる。時刻設定は、時刻同期制御部6123がタイムサーバ290と同期した時刻を、例えばSMPTE12Mのフォーマットに準拠したタイムコードで提供することで行われる。これにより、カメラ112から受取る画像データに提供したタイムコードが付与されることになる。
マイク制御部6142は、マイク111と接続し、マイク111の制御、収音の開始及び停止や収音された音声データの取得などを行う機能を有している。マイク111の制御は例えば、ゲイン調整や、状態取得などである。また、カメラ制御部6141と同様にマイク111に対して音声サンプリングするタイミングとタイムコードを提供する。音声サンプリングのタイミングとなるクロック情報としては、タイムサーバ290からの時刻情報が例えば48KHzのワードクロックに変換されてマイク111に供給される。
雲台制御部6143は、雲台113と接続し、雲台113の制御を行う機能を有している。雲台113の制御は、例えば、パン・チルト制御や、状態取得などがある。
センサ制御部6144は、外部センサ114と接続し、外部センサ114がセンシングしたセンサ情報を取得する機能を有する。例えば、外部センサ114としてジャイロセンサが利用される場合は、振動を表す情報(以下、振動情報と記載する。)を取得することができる。そして、センサ制御部6144が取得した振動情報を用いて、画像処理部6130は、前景背景分離部6131での処理に先立って、振動を抑えた画像を生成することができる。振動情報は、例えば、8Kカメラの画像データを、振動情報を考慮して、元の8Kサイズよりも小さいサイズで切り出して、隣接設置されたカメラ112の画像との位置合わせを行う場合に利用される。これにより、建造物の躯体振動が各カメラに異なる周波数で伝搬しても、カメラアダプタ120に配備された本機能で位置合わせを行う。その結果、電子的に防振された画像データを生成でき、画像コンピューティングサーバ200におけるカメラ112の台数分の位置合わせの処理負荷を軽減する効果が得られる。なお、センサシステム110のセンサは外部センサ114に限定するわけではなく、カメラアダプタ120に内蔵されたセンサであっても同様の効果が得られる。
図3は、カメラアダプタ120内部の画像処理部6130の機能ブロック図である。画像処理部6130は、前景背景分離部6131と、三次元モデル情報生成部6132と、キャリブレーション制御部6133とを含む。
キャリブレーション制御部6133は、入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理や、カメラの振動に起因するブレに対して画像の位置を安定させるためのブレ補正処理(電子防振処理)などを行う。
前景背景分離部6131の機能ブロックについて説明する。前景分離部5001は、カメラ112の画像に関して位置合わせが行われた画像データに対して、背景画像5002との比較により前景画像の分離処理を行う。
背景更新部5003は、背景画像5002とカメラ112の位置合わせが行われた画像を用いて新しい背景画像を生成し、背景画像5002を新しい背景画像に更新する。
背景切出部5004は、背景画像5002の一部を切り出す制御を行う。
ここで、三次元モデル情報生成部6132の機能について説明する。三次元モデル処理部5005は、前景分離部5001で分離された前景画像と、伝送部6120を介して受信した他のカメラ112の前景画像を用いて、例えば、ステレオカメラの原理等から三次元モデルに関わる画像情報を逐次生成する。
他カメラ前景受信部5006は、他のカメラアダプタ120で前景背景分離された前景画像を受信する。
カメラパラメータ受信部5007は、カメラ固有の内部パラメータ(焦点距離、画像中心、及びレンズ歪みパラメータ等)と、カメラの位置姿勢を表す外部パラメータ(回転行列及び位置ベクトル等)を受信する。これらのパラメータは、後述のキャリブレーション処理で得られる情報であり、制御ステーション310から対象となるカメラアダプタ120に対して送信及び設定される。次いで、三次元モデル処理部5005は、カメラパラメータ受信部5007と他カメラ前景受信部5006によって三次元モデル情報を生成する。
図4は、フロントエンドサーバ230の機能構成を説明するためのブロック図である。フロントエンドサーバ230は、制御部2110と、データ入力制御部2120と、データ同期部2130と、CADデータ記憶部2135と、キャリブレーション部2140と、画像処理部2150とを含む。さらに、フロントエンドサーバ230は、三次元モデル結合部2160と、画像結合部2170と、撮影データファイル生成部2180と、非撮影データファイル生成部2185と、DBアクセス制御部2190とを含む。
制御部2110は、CPUやDRAM、プログラムデータや各種データを記憶したHDDやNANDメモリなどの記憶媒体、Ethernet(登録商標)等のハードウェアで構成される。そして、フロントエンドサーバ230の各機能ブロック及びフロントエンドサーバ230のシステム全体の制御を行う。また、モード制御を行って、キャリブレーション動作や撮影前の準備動作、及び撮影中動作などの動作モードを切り替える。また、例えば、ネットワーク310b(Ethernet(登録商標))を通じて制御ステーション310からの制御指示を受信し、各モードの切り替えやデータの入出力などを行う。また、同じくネットワーク310bを通じて制御ステーション310からスタジアムCADデータ(スタジアム形状データ)を取得し、スタジアムCADデータをCADデータ記憶部2135と撮影データファイル生成部2180に送信する。なお、本例におけるスタジアムCADデータ(スタジアム形状データ)はスタジアムの形状を示す三次元データであり、メッシュモデルやその他の三次元形状を表すデータであればよく、CAD形式に限定されない。
データ入力制御部2120は、ネットワーク180a,180b(Ethernet(登録商標))等の通信路とスイッチングハブ180を介して、カメラアダプタ120とネットワーク接続されている。そして、データ入力制御部2120は、ネットワーク180a,180b、スイッチングハブ180を通してカメラアダプタ120から前景画像、背景画像、被写体の三次元モデル、音声データ、及びカメラキャリブレーション撮影画像データを取得する。また、データ入力制御部2120は、取得した前景画像及び背景画像を、データ同期部2130に送信し、カメラキャリブレーション撮影画像データをキャリブレーション部2140に送信する。
データ同期部2130は、カメラアダプタ120から取得したデータをDRAM上に一次的に記憶し、前景画像、背景画像、音声データ及び三次元モデルデータが揃うまでバッファする。なお、前景画像、背景画像、音声データ及び三次元モデルデータをまとめて、以降では撮影データと称する。撮影データにはルーティング情報やタイムコード情報(時間情報)、カメラ識別子、位置合わせの可否、前景画像の撮影範囲内外の判定等のメタ情報が付与されており、データ同期部2130は、このメタ情報を元にデータの属性を確認する。これにより、データ同期部2130は、同一時刻のデータであることなどを判断してデータがそろったことを確認する。これは、ネットワークによって各カメラアダプタ120から転送されたデータについて、ネットワークパケットの受信順序は保証されず、ファイル生成に必要なデータが揃うまでバッファする必要があるためである。データがそろったら、データ同期部2130は、前景画像及び背景画像を画像処理部2150に、三次元モデルデータを三次元モデル結合部2160に、音声データを撮影データファイル生成部2180にそれぞれ送信する。
CADデータ記憶部2135は、制御部2110から受け取ったスタジアム形状を示す三次元データを、DRAMまたはHDDやNANDメモリ等の記憶媒体に保存する。そして、画像結合部2170に対して、スタジアム形状データの要求を受け取った際に保存されたスタジアム形状データを送信する。
キャリブレーション部2140は、カメラのキャリブレーション動作を行い、キャリブレーションによって得られたカメラパラメータを後述する非撮影データファイル生成部2185に送る。また同時に、自身の記憶領域にもカメラパラメータを保持し、後述する三次元モデル結合部2160にカメラパラメータ情報を提供する。
画像処理部2150は、前景画像や背景画像に対して、カメラ間の色や輝度値の合わせこみ、RAW画像データが入力される場合には現像処理、及びカメラのレンズ歪みの補正等の処理を行う。そして、画像処理を行った前景画像は、撮影データファイル生成部2180に、背景画像は画像結合部2170にそれぞれ送信する。
三次元モデル結合部2160は、カメラアダプタ120から取得した同一時刻の三次元モデルデータをキャリブレーション部2140が生成したカメラパラメータを用いて結合する。そして、例えば、VisualHullと呼ばれる方法を用いて、スタジアム全体における前景画像の三次元モデルデータを生成する。生成した三次元モデルは撮影データファイル生成部2180に送信される。
画像結合部2170は、画像処理部2150から背景画像を取得し、CADデータ記憶部2135からスタジアムの三次元形状データ(スタジアム形状データ)を取得し、取得したスタジアムの三次元形状データの座標に対する背景画像の位置を特定する。背景画像の各々についてスタジアムの三次元形状データの座標に対する位置が特定できると、背景画像を結合して1つの背景画像とする。なお、本背景画像の三次元形状データの作成については、バックエンドサーバ270が実施してもよい。
撮影データファイル生成部2180は、データ同期部2130から音声データを、画像処理部2150から前景画像を、三次元モデル結合部2160から三次元モデルデータを、画像結合部2170から三次元形状に結合された背景画像を取得する。そして、取得したこれらのデータをDBアクセス制御部2190に対して出力する。ここで、撮影データファイル生成部2180は、これらのデータをそれぞれの時間情報に基づいて対応付けて出力する。ただし、これらのデータの一部を対応付けて出力してもよい。例えば、撮影データファイル生成部2180は、前景画像と背景画像とを、前景画像の時間情報及び背景画像の時間情報に基づいて対応付けて出力する。また例えば、撮影データファイル生成部2180は、前景画像、背景画像、及び三次元モデルデータを、前景画像の時間情報、背景画像の時間情報、及び三次元モデルデータの時間情報に基づいて対応付けて撮影データとして出力する。
非撮影データファイル生成部2185は、キャリブレーション部2140からカメラパラメータ、制御部2110からスタジアムの三次元形状データを取得し、ファイル形式に応じて成形した後にDBアクセス制御部2190に送信する。
DBアクセス制御部2190は、InfiniBandなどにより高速な通信が可能となるようにデータベース250と接続される。そして、撮影データファイル生成部2180及び非撮影データファイル生成部2185から受信したファイルをデータベース250に対して送信する。本実施形態では、撮影データファイル生成部2180が時間情報に基づいて対応付けた撮影データは、フロントエンドサーバ230とネットワークを介して接続される記憶装置であるデータベース250へDBアクセス制御部2190を介して出力される。
本実施の形態ではフロントエンドサーバ230が前景画像と背景画像の対応付けを行うものとするが、これに限らず、データベース250が対応付けを行ってもよい。例えば、データベース250はフロントエンドサーバ230から時間情報を有する前景画像及び背景画像を取得する。そしてデータベース250は、前景画像および背景画像を、前景画像の時間情報および背景画像の時間情報に基づいて対応付けて、データベース250が備える記憶部に出力してもよい。
図5は、データベース250の機能構成を説明するためのブロック図である。データベース250は、制御部2410と、データ入力部2420と、データ出力部2430と、キャッシュ2440と、一次ストレージ2450とを有する。また、一次ストレージ2450は、二次ストレージ2460と接続されている。
制御部2410は、CPUやDRAM、プログラムデータや各種データを記憶したHDDやNANDメモリなどの記憶媒体、及びEthernet(登録商標)等のハードウェアで構成される。そして、データベース250の各機能ブロック及びデータベース250のシステム全体の制御を行う。
データ入力部2420は、InfiniBand等の高速な通信によって、フロントエンドサーバ230から撮影データや非撮影データのファイルを受信する。受信したファイルは、キャッシュ2440に送られる。また、受信した撮影データのメタ情報を読み出し、メタ情報に記録されたタイムコード情報やルーティング情報、カメラ識別子等の情報を元に、取得したデータへのアクセスが可能になるようにデータベーステーブルを作成する。
データ出力部2430は、バックエンドサーバ270から要求されたデータが後述するキャッシュ2440、一次ストレージ2450、二次ストレージ2460のいずれに保存されているか判断する。そして、InfiniBand等の高速な通信によって、保存された先からデータを読み出してバックエンドサーバ270に送信する。
キャッシュ2440は、高速な入出力スループットを実現可能なDRAM等の記憶装置を有しており、データ入力部2420から取得した撮影データや非撮影データを記憶装置に格納する。格納されたデータは一定量保持され、それを超えるデータが入力される場合に、古いデータから随時一次ストレージ2450へと書き出され、書き出し済みのデータは新たなデータによって上書きされる。キャッシュされたデータはデータ出力部2430によって読み出される。
一次ストレージ2450は、SSD等のストレージメディアを並列につなぐなどして構成される。データ入力部2420からの大量のデータの書き込み及びデータ出力部2430からのデータ読み出しが同時に実現できる。そして、一次ストレージ2450には、キャッシュ2440上に格納されたデータの古いものから順に書き出される。
二次ストレージ2460は、HDDやテープメディア等で構成される。高速性よりも大容量が重視され、一次ストレージ2450と比較して安価で長期間の保存に適するメディアであることが求められる。二次ストレージ2460には、撮影が完了した後、データのバックアップとして一次ストレージ2450に格納されたデータが書き出される。
図6は、バックエンドサーバ270の機能構成を説明するためのブロック図である。バックエンドサーバ270は、データ受信部3001と、背景テクスチャ貼り付け部3002と、前景テクスチャ決定部3003と、テクスチャ境界色合わせ部3004と、仮想視点前景画像生成部3005と、レンダリング部3006とを有する。さらに、バックエンドサーバ270は、仮想視点音声生成部3007と、合成部3008と、画像出力部3009と、前景オブジェクト決定部3010と、要求リスト生成部3011と、要求データ出力部3012と、背景メッシュモデル管理部3013と、レンダリングモード管理部3014とを有する。
データ受信部3001は、データベース250およびコントローラ300から送信されるデータを受信する。また、データベース250からは、スタジアムの形状を示す三次元データ(背景メッシュモデル)、前景画像、背景画像、前景画像の三次元モデル(以降、前景三次元モデルと記載する。)、及び音声を受信する。
また、データ受信部3001は、仮想視点画像の生成に係る視点を指定するコントローラ300から出力される仮想カメラパラメータを受信する。仮想カメラパラメータとは、仮想視点の位置や姿勢などを表すデータであり、例えば、外部パラメータの行列と内部パラメータの行列が用いられる。
なお、データ受信部3001がコントローラ300から取得するデータは、仮想カメラパラメータに限らない。例えば、コントローラ300から出力される情報は、視点の指定方法、コントローラが動作させているアプリケーションを特定する情報、コントローラ300の識別情報、及びコントローラ300を使用するユーザの識別情報の少なくとも何れかを含んでいてよい。また、データ受信部3001は、コントローラ300から出力される上記の情報と同様の情報を、エンドユーザ端末190から取得してもよい。さらに、データ受信部3001は、データベース250やコントローラ300などの外部の装置から、複数のカメラ112に関する情報を取得してもよい。複数のカメラ112に関する情報は、例えば、複数のカメラ112の数に関する情報や複数のカメラ112の動作状態に関する情報などである。カメラ112の動作状態には、例えば、カメラ112の正常状態、故障状態、待機状態、起動状態、及び再起動状態の少なくとも何れかが含まれる。
背景テクスチャ貼り付け部3002は、背景メッシュモデル管理部3013から取得する背景メッシュモデル(スタジアム形状データ)で示される三次元空間形状に対して背景画像をテクスチャとして貼り付けることでテクスチャ付き背景メッシュモデルを生成する。メッシュモデルとは、例えば、CADデータなど三次元の空間形状を面の集合で表現したデータのことである。テクスチャとは、物体の表面の質感を表現するために貼り付ける画像のことである。
前景テクスチャ決定部3003は、前景画像及び前景三次元モデル群より前景三次元モデルのテクスチャ情報を決定する。前景テクスチャ境界色合わせ部3004は、各前景三次元モデルのテクスチャ情報と各三次元モデル群からテクスチャの境界の色合わせを行い、前景オブジェクト毎に色付き前景三次元モデル群を生成する。仮想視点前景画像生成部3005は、仮想カメラパラメータに基づいて、前景画像群を仮想視点からの見た目となるように透視変換する。
レンダリング部3006は、レンダリングモード管理部3014で決定された、仮想視点画像の生成に用いられる生成方式に基づいて、背景画像と前景画像をレンダリングして全景の仮想視点画像を生成する。
本実施の形態では仮想視点画像の生成方式として、モデルベースレンダリング(Model−Based Rendering:MBR)とイメージベース(Image−Based Rendering:IBR)の2つのレンダリングモードが用いられる。しかしながら、レンダリング部3006は、MBRとIBR以外のレンダリング手法を用いてもよい。また、レンダリングモード管理部3014が決定する仮想視点画像の生成方式は、レンダリングの方式に限らない。レンダリングモード管理部3014は、仮想視点画像を生成するためのレンダリング以外の処理の方式を決定してもよい。レンダリングモード管理部3014は、仮想視点画像の生成に用いられる生成方式としてのレンダリングモードを決定し、決定結果を保持する。
仮想視点音声生成部3007は、仮想カメラパラメータに基づいて、仮想視点において聞こえる音声(音声群)を生成する。本実施の形態では、仮想視点音声生成部3007は、コントローラ(オペレータ)用とエンドユーザ用の2種類を生成する音声処理装置として機能している。ここで、仮想視点音声について、図7を用いて説明する。
図7は、円周上に複数のマイクが設置された競技場を示す図である。図7に示す例では、円周上に配置された複数のセンサシステム110それぞれがマイク111を有している。
仮想視点音声は、設置されたどのマイク111とも異なる取得位置において聞こえる音声である。図7において、マイク111は、任意の狭い範囲の音声を強調できるズームマイクであり、収音範囲7001a〜7001rが割り当たるようそれぞれ調整されている。例えば、マイク111aは収音範囲7001aとなるよう調整され、マイク111bは収音範囲7001bとなるよう調整されている。そして、各マイク111は、割り当てられた収音範囲7001について同期収音を行う。
仮想視点音声生成部3007は、仮想視点が指定されると、例えばその周辺領域の音声データを合成して仮想視点音声を生成する。図7の例では、仮想視点音声の収音範囲として範囲7002が決定されている。この場合、仮想視点音声生成部3007は、範囲7002に含まれる収音範囲7001k、7001l、7001mが割り当てられたマイク111k、111l、111mの音声データ群(収音音声)を合成することで、仮想視点音声を生成する。なお、マイク111は、収音範囲を割り当てられる機能を有していればよく、ズームマイクに限定されない。また、収音範囲7001にそれぞれ設置されたマイクが収音した音声データを、カメラアダプタ120に供給する構成であってもよい。
図6に戻って、合成部3008は、レンダリング部3006で生成された画像群と仮想視点音声生成部3007で生成された2種類の音声を合成してコントローラ300用とエンドユーザ端末190用の2種類の仮想視点コンテンツを生成する。
画像出力部3009は、コントローラ300とエンドユーザ端末190へEthernet(登録商標)を用いて仮想視点コンテンツをそれぞれ出力する。ただし、外部への伝送手段はEthernet(登録商標)に限定されるものではなく、SDI、DisplayPort、及びHDMI(登録商標)などの信号伝送手段を用いてもよい。
前景オブジェクト決定部3010は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの空間上の位置を示す前景オブジェクトの位置情報から、表示される前景オブジェクト群を決定して、前景オブジェクトリストを出力する。つまり、前景オブジェクト決定部3010は、仮想視点の画像情報を物理的なカメラ112にマッピングする処理を実施する。
要求リスト生成部3011は、指定時間の前景オブジェクトリストに対応する前景画像群と前景三次元モデル群、及び背景画像と音声データをデータベース250に要求するための、要求リストを生成する。前景オブジェクトについては仮想視点を考慮して選択されたデータがデータベース250に要求されるが、背景画像と音声データについてはそのフレームに関する全てのデータが要求される。バックエンドサーバ270の起動後、背景メッシュモデルが取得されるまで背景メッシュモデルの要求リストが生成される。
要求データ出力部3012は、入力された要求リストを元にデータベース250に対してデータ要求のコマンドを出力する。背景メッシュモデル管理部3013は、データベース250から受信した背景メッシュモデルを記憶する。
なお、本実施の形態ではバックエンドサーバ270が仮想視点画像の生成方式の決定と仮想視点画像の生成の両方を行う場合を中心に説明するが、これに限らない。即ち、生成方式を決定した装置はその決定結果に応じたデータを出力すればよい。
図8は、仮想カメラについて説明するための図である。図8(a)において、仮想カメラ8001は、設置されたどのカメラ112とも異なる視点において撮影を行うことができる仮想的なカメラである。すなわち、画像処理システム100において生成される仮想視点画像が、仮想カメラ8001による撮影画像である。図8(a)において、円周上に配置された複数のセンサシステム110それぞれがカメラ112を有している。例えば、仮想視点画像を生成することにより、あたかもサッカーゴールの近くの仮想カメラ8001で撮影されたかのような画像を生成することができる。仮想カメラ8001の撮影画像である仮想視点画像は、設置された複数のカメラ112の画像を画像処理することで生成される。オペレータ(ユーザ)は仮想カメラ8001の位置等操作することで、自由な視点(視線方向)からの撮影画像を得ることができる。図8(b)において、仮想カメラパス8002は、仮想カメラ8001の1フレームごとの位置や姿勢を表す情報の列を示している。仮想カメラパスの詳細は後述する。
図9は、仮想カメラ操作UI330の機能構成を説明するためのブロック図である。仮想カメラ操作UI330は、仮想カメラ8001(図8参照)を操作するための、仮想カメラ管理部8130および操作UI部8120を有する。これらは同一機器上に実装されてもよいし、それぞれサーバとなる装置とクライアントとなる装置に別々に実装されてもよい。例えば、放送局が使用する仮想カメラ操作UI330においては、中継車内のワークステーションに仮想カメラ管理部8130と操作UI部8120が実装されてもよい。また、例えば、仮想カメラ管理部8130をwebサーバに実装し、エンドユーザ端末190に操作UI部8120を実装することで、同様の機能を実現してもよい。
仮想カメラ操作部8101は、オペレータの仮想カメラ8001に対する操作、すなわち仮想視点画像の生成に係る視点を指定するためのユーザによる指示を受け付けて処理する。オペレータの操作内容は、例えば、位置の変更(移動)、姿勢の変更(回転)、及びズーム倍率の変更などである。オペレータは、仮想カメラ8001を操作するために、例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどの入力装置を使う。各入力装置による入力と仮想カメラ8001の操作との対応は予め決められる。例えば、キーボードの「W」キーを、仮想カメラ8001を前方へ1メートル移動する操作に対応付ける。また、オペレータは軌跡を指定して仮想カメラ8001を操作することができる。
例えば、オペレータは、ゴールポストを中心とする円周上を仮想カメラ8001が回るという軌跡を、タッチパッドに円を書いて指定する。仮想カメラ8001は、指定された軌跡に沿ってゴールポストの回りを移動する。このとき、仮想カメラ8001が常にゴールポストの方を向くように自動で姿勢を変更してもよい。仮想カメラ操作部8101は、ライブ画像およびリプレイ画像の生成に利用することができる。リプレイ画像を生成する際は、カメラの位置及び姿勢の他に時間を指定する操作が行われる。リプレイ画像では、例えば、時間を止めて仮想カメラ8001を移動させることも可能である。
仮想カメラパラメータ導出部8102は、仮想カメラ8001の位置や姿勢などを表す仮想カメラパラメータを導出する。仮想パラメータは、演算によって導出されてもよいし、ルックアップテーブルの参照などによって導出されてもよい。仮想カメラパラメータとして、例えば、外部パラメータを表す行列と内部パラメータを表す行列が用いられる。ここで、仮想カメラ8001の位置と姿勢は外部パラメータに含まれ、ズーム値は内部パラメータに含まれる。
仮想カメラ制約管理部8103は、仮想カメラ操作部8101によって受け付けることができる仮想視点の領域(以下、受付可能領域と記載する。)を特定するための情報を取得し管理する。この情報は、例えば、仮想カメラ8001の位置や姿勢、ズーム値などに関する、仮想視点画像を生成するために満たすべき制約(以下、仮想カメラ制約と記載する。)である。仮想カメラ8001は、カメラ112と異なり、自由に視点を移動して撮影を行うことができるが、常にあらゆる視点からの画像を生成できるとは限らない。例えば、どのカメラ112にも映っていない対象物が映る向きに仮想カメラ8001を向けても、その撮影画像を取得することはできない。また、仮想カメラ8001のズーム倍率を上げると、解像度の制約により画質が劣化する。そこで、一定基準の画質を保つ範囲のズーム倍率などを仮想カメラ制約としてよい。
仮想カメラ制約は、例えば、カメラの配置などから事前に導出しておいてもよい。また、伝送部6120がネットワークの負荷に応じて伝送データ量の削減を図ることがある。このデータ量削減により、撮影画像に関するパラメータが変化し、画像を生成できる範囲や画質を保つことができる範囲が動的に変わる。仮想カメラ制約管理部8103は、伝送部6120から出力データのデータ量の削減に用いた方法を示す情報を受け取り、その情報に応じて仮想カメラ制約を動的に更新する構成であってもよい。これにより、伝送部6120によりデータ量削減が図られても、仮想視点画像の画質を一定基準に保つことが可能となる。
また、仮想カメラに関する制約は上記の物に限定されない。本実施の形態では、仮想視点の受付可能領域は、画像処理システム100に含まれる装置の動作状態及び仮想視点画像を生成するための画像データに関するパラメータの少なくとも何れかに応じて変化する。例えば、受付可能領域は、画像処理システム100において伝送される画像データのデータ量が所定範囲内となるように制御されるパラメータに応じて変化する。当該パラメータは、画像データのフレームレート、解像度、量子化ステップ、及び撮影範囲などのうち少なくとも何れかを含む。例えば、伝送データ量削減のために画像データの解像度が低減されると、所定の画質を維持可能なズーム倍率の範囲が変化する。このような場合に、仮想カメラ制約管理部8103がパラメータに応じて変化する受付可能領域を特定する情報を取得することで、仮想カメラ操作UI330はパラメータの変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、パラメータの内容は上記のものに限定されない。また、本実施の形態において上記のデータ量が制御される画像データは複数のカメラ112による複数の撮影画像の差分に基づいて生成されるデータであるものとするが、これに限らず、例えば撮影画像そのものでもよい。
また、例えば、受付可能領域は、画像処理システム100に含まれる装置の動作状態に応じて変化する。ここで画像処理システム100に含まれる装置には、例えば、カメラ112及びカメラ112による撮影画像に対する画像処理を行って画像データを生成するカメラアダプタ120の少なくとも何れかが含まれる。そして装置の動作状態には、例えば当該装置の正常状態、故障状態、起動準備状態、及び再起動状態の少なくとも何れかが含まれる。例えば、何れかのカメラ112が故障状態や再起動状態にある場合、そのカメラの周辺位置に視点を指定することができなくなる場合が考えられる。このような場合に、仮想カメラ制約管理部8103が装置の動作状態に応じて変化する受付可能領域を特定する情報を取得することで、仮想カメラ操作UI330は装置の動作状態の変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、受付可能領域の変化に関係する装置及びその動作状態は上記のものに限定されない。
衝突判定部8104は、仮想カメラパラメータ導出部8102で導出された仮想カメラパラメータが仮想カメラ制約を満たしているかを判定する。制約を満たしていない場合は、例えば、オペレータによる操作入力をキャンセルし、制約を満たす位置から仮想カメラ8001が動かないよう制御したり、制約を満たす位置に仮想カメラ8001を戻したりする。
フィードバック出力部8105は、衝突判定部8104の判定結果をオペレータにフィードバックする。例えば、オペレータの操作により、仮想カメラ制約が満たされなくなる場合に、そのことをオペレータに通知する。例えば、オペレータが仮想カメラ8001を上方に移動しようと操作したが、移動先が仮想カメラ制約を満たさないとする。その場合、オペレータに、これ以上、上方に仮想カメラ8001を移動できないことを通知する。通知方法としては、音、メッセージ出力、画面の色変化、及び仮想カメラ操作部8101をロックする等の方法がある。さらには、制約を満たす位置まで仮想カメラの位置を自動で戻してもよく、これによりオペレータの操作簡便性につながる効果がある。
フィードバックが画像表示により行われる場合、フィードバック出力部8105は、仮想カメラ制約管理部8103が取得した情報に基づいて、受付可能領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、フィードバック出力部8105は、仮想カメラ操作部8101により受け付けられた指示に応じて、当該指示に対応する視点が受付可能領域内であることを表す画像を表示部に表示させる。これにより、オペレータは指定している視点が受付可能領域外であって所望の仮想視点画像を生成できない虞があることを認識でき、受付可能領域内の位置(仮想カメラ制約を満たす位置)に視点を指定し直すことができる。すなわち、仮想視点画像の生成において、状況に応じて変化する範囲内で視点を指定できるようになる。
なお、フィードバック出力部8105により表示部に表示される内容はこれに限定されない。例えば、視点の指定の対象となる領域(スタジアムの内部など)のうち受付可能領域に当たる部分を所定の色で塗りつぶした画像が表示されてもよい。本実施の形態では、表示部が仮想カメラ操作UI330と接続される外部のディスプレイであるものとするが、これに限らず、表示部が仮想カメラ操作UI330の内部に存在してもよい。
仮想カメラパス管理部8106は、オペレータの操作に応じた仮想カメラ8001のパス(仮想カメラパス8002)を管理する。仮想カメラパス8002とは、仮想カメラ8001の1フレームごと位置や姿勢を表す情報の列である。図8(b)を参照すると、例えば、仮想カメラ8001の位置や姿勢を表す情報として仮想カメラパラメータが用いられる。例えば、60フレーム/秒のフレームレートの設定における1秒分の情報は、60個の仮想カメラパラメータの列となる。仮想カメラパス管理部8106は、衝突判定部8104で判定済みの仮想カメラパラメータを、バックエンドサーバ270に送信する。バックエンドサーバ270は、受信した仮想カメラパラメータを用いて、仮想視点画像及び仮想視点音声を生成する。また、仮想カメラパス管理部8106は、仮想カメラパラメータを仮想カメラパス8002に付加して保持する機能も有する。例えば、仮想カメラ操作UI330を用いて、1時間分の仮想視点画像及び仮想視点音声を生成した場合、1時間分の仮想カメラパラメータが仮想カメラパス8002として保存される。本仮想カメラパスを保存しておくことによって、データベースの二次ストレージ2460に蓄積された画像情報と仮想カメラパスを後から参照し、仮想視点画像及び仮想視点音声を再度生成することが可能になる。つまり、高度な仮想カメラ操作を行うオペレータが生成した仮想カメラパスと二次ストレージ2460に蓄積された画像情報を他のユーザが再利用できる。
なお、複数の仮想カメラパスに対応する複数のシーンを選択可能となるように仮想カメラ管理部8130に蓄積することもできる。複数の仮想カメラパスを仮想カメラ管理部8130に蓄積する際には、各仮想カメラパスに対応するシーンのスクリプトや試合の経過時間、シーンの前後指定時間、及びプレーヤ情報等のメタ情報もあわせて入力及び蓄積することができる。仮想カメラ操作UI330は、これらの仮想カメラパスを仮想カメラパラメータとして、バックエンドサーバ270に通知する。
エンドユーザ端末190は、バックエンドサーバ270に仮想カメラパスを選択するための選択情報を要求することで、シーン名やプレーヤ、及び試合経過時間などから、仮想カメラパスを選択できる。バックエンドサーバ270はエンドユーザ端末190に選択可能な仮想カメラパスの候補を通知し、エンドユーザはエンドユーザ端末190を操作して、複数の候補の中から希望の仮想カメラパスを選択する。そして、エンドユーザ端末190は選択された仮想カメラパスに応じた画像生成をバックエンドサーバ270に要求することで、画像配信サービスをインタラクティブに享受することができる。
図9に戻って、オーサリング部8107は、オペレータがリプレイ画像を生成する際の編集機能を提供する。オーサリング部8107は、ユーザ操作に応じて、リプレイ画像用の仮想カメラパス8002の初期値として、仮想カメラパス管理部8106が保持する仮想カメラパス8002の一部を取り出す。前述したように、仮想カメラパス管理部8106には、仮想カメラパス8002と対応付けてシーン名、プレーヤ、経過時間、及びシーンの前後指定時間などのメタ情報が保持されている。例えば、シーン名がゴールシーン、シーンの前後指定時間が前後合わせて10秒分である仮想カメラパス8002が取り出される。また、オーサリング部8107は、編集したカメラパスに再生速度を設定する。例えば、ボールがゴールに飛んで行く間の仮想カメラパス8002にスロー再生を設定する。なお、異なる視点からの画像に変更する場合、つまり仮想カメラパス8002を変更する場合は、ユーザは仮想カメラ操作部8101を用いて再度、仮想カメラ8001を操作する。
仮想カメラ画像・音声出力部8108は、バックエンドサーバ270から受け取った仮想カメラ画像・音声を出力する。オペレータは出力された画像及び音声を確認しながら仮想カメラ8001を操作する。なお、フィードバック出力部8105によるフィードバックの内容によっては、仮想カメラ画像・音声出力部8108は、受付可能領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、仮想カメラ画像・音声出力部8108は、オペレータが指定した視点の位置が受付可能領域外である場合に、指定された位置の近辺であり且つ受付可能領域内である位置を視点とした仮想視点画像を表示させてもよい。これにより、オペレータが受付可能領域内に視点を指定し直す手間が削減される。
次に、データベース250に蓄積されたデータに基づいてバックエンドサーバ270が、ライブ画像生成及びリプレイ画像生成を行い、生成された画像をエンドユーザ端末190に表示させる処理について説明する。なお、本実施の形態のバックエンドサーバ270は、ライブ画像及びリプレイ画像として、仮想視点コンテンツを生成する。本実施の形態において、仮想視点コンテンツとは、複数のカメラ112による撮影画像を複数視点画像として用いて生成されるコンテンツである。すなわち、バックエンドサーバ270は、例えば、ユーザ操作に基づいて指定された視点情報に基づいて、仮想視点コンテンツを生成する。
ユーザが仮想カメラ操作UI330を操作して視点を指定した場合に、指定された視点位置(仮想カメラの位置)に対応する画像を生成するためのカメラ112による撮影画像がない、あるいは解像度が十分でない、あるいは画質が低い場合が考えられる。その際に、ユーザへの画像提供の条件を満たせないことが画像生成の段階まで判定できないと、オペレータの操作性が損なわれる虞がある。以下ではこの虞を低減する方法について説明する。
図10は、実施の形態1に係る、仮想カメラ操作UI330、バックエンドサーバ270及びデータベース250の処理フローを示す図である。図10を参照して、オペレータ(ユーザ)による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作UI330、バックエンドサーバ270及びデータベース250の処理を説明する。
まず、仮想カメラ操作UI330は、入力装置を介してオペレータから仮想カメラの操作を受け付ける(ステップS3300)。入力装置として例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどが用いられる。
仮想カメラ操作UI330において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される(ステップS3302)。仮想カメラパラメータには、仮想カメラの位置と姿勢などを示す外部パラメータ、および仮想カメラのズーム倍率などを示す内部パラメータが含まれる。
仮想カメラ操作UI330は、導出した仮想カメラパラメータをバックエンドサーバ270に送信する(ステップS3304)。
バックエンドサーバ270は、仮想カメラパラメータを受信するとデータベース250に対して前景三次元モデル群を要求する(ステップS3306)。
データベース250は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ270に送信する(ステップS3308)。
バックエンドサーバ270は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する(ステップS3310)。
バックエンドサーバ270は、仮想視点音声生成部3007によって、仮想カメラパラメータに基づいてコントローラ300用とエンドユーザ端末190用の2種類の仮想視点音声の収音範囲をそれぞれ決定する(ステップS3312)。
ここで、仮想視点音声の収音範囲について図11を用いて説明する。図11は、仮想視点音声の収音範囲を示す図であり、図11(a)〜(c)では、それぞれエンドユーザ端末190用およびコントローラ300用の収音範囲が示されている。
図11(a)において、エンドユーザ端末190用の仮想視点音声の収音範囲(第1の収音範囲)は、円8003である。円8003の中心は、仮想カメラ8001の位置に限定されるものでなく、仮想カメラ8001の位置から前方に所定量ずらしてもよいし、仮想カメラ8001の焦点/被写体位置であってもよい。すなわち、仮想視点音声生成部3007は、エンドユーザ端末190用の仮想視点音声の収音範囲を、仮想カメラの位置や姿勢を表す仮想カメラパラメータに基づいて決定する。
コントローラ300用の仮想視点音声の収音範囲(第2の収音範囲)は、円8004であり、円8003と中心が同じで半径が円8003の半径よりも長い。このように、仮想視点音声生成部3007は、コントローラ300用の仮想視点音声の収音範囲を、エンドユーザ端末190用の仮想視点音声の収音範囲のすくなくとも一部と、その収音範囲外も含むように決定する。したがって、オペレータは、コントローラ300用の収音範囲に基づいて合成された音声を聴くことで、仮想カメラの視野外の位置8005でのイベントを察知でき、そのイベントに応じて次の仮想カメラ操作をどうすべきか判断できるようになる。
なお、円8003の半径は、仮想カメラパラメータの内部パラメータに基づく固定値でもよいし、円8004の半径は、円8003の半径の固定値倍でもよい。また、円8003及び円8004の半径は、図11(b)や図11(c)のように仮想カメラ8001のズーム倍率と連動してもよい。例えば、ズーム倍率を上げると、円8003の半径を小さくし、円8004の半径を大きくする。収音範囲の包含関係が守られていれば、どのようにズーム倍率と連動させてもよい。また、本実施の形態では説明を簡単にするため収音範囲の形状を円形としたが、収音範囲の形状は円形に限られない。
図10に戻って、バックエンドサーバ270は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース250に要求する(ステップS3314)。
データベース250は、要求に応じてデータをバックエンドサーバ270に送信する(ステップS3316)。
バックエンドサーバ270は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する(ステップS3318)。
バックエンドサーバ270は、ステップS3312で決定した収音範囲に基づいてエンドユーザ端末190用およびコントローラ300用の音声データの合成をそれぞれ行う(ステップS3320)。
バックエンドサーバ270は、仮想視点の前景画像と統合して仮想視点の画像及び音声を生成する(ステップS3322)。
バックエンドサーバ270は、生成した仮想視点の画像及びコントローラ300用音声を仮想カメラ操作UI330に送信する(ステップS3324)。
仮想カメラ操作UI330は受信した画像を表示することで、仮想カメラの撮影画像の表示を実現する。仮想カメラのオペレータは、仮想カメラ視野である仮想視点画像に加えて仮想カメラ視野外の音声も聞きながら仮想カメラを操作する。これにより、図11(a)の位置8005のような仮想カメラ8001視野外の位置での「パス!」といった音声を聞いて、仮想カメラを左へ振る(その音声が発せられた位置の方へカメラを向ける)パン操作を行うといったことができるようになる。
図12は、仮想カメラ操作UI330がライブ画像を生成する際の処理を示すフローチャートである。なお、以下で説明する処理は、特に明示が無い場合、仮想カメラ操作UI330内のROMに格納されたプログラムに従ってCPUによって実行される。
ステップS8201で、仮想カメラ操作部8101は、入力装置を介してオペレータが入力した仮想カメラ8001を操作するための操作情報を取得する。
ステップS8202で、仮想カメラ操作部8101は、オペレータの操作が仮想カメラ8001の移動や回転やズームであるか否かを判定する。ここでの移動や回転やズームは1フレームごとに行われる。移動、回転やズームであると判定された場合(ステップS8202において、Yes)は、処理はステップS8203へ進む。そうでないと判定された場合(ステップS8202において、No)は、処理はステップS8205へ進む。ここで、移動操作、回転操作及びズーム操作と、軌跡選択操作とで処理が分岐する。これにより、時間を停止させて視点位置を回転させる画像表現と、連続的な動きを表現する画像表現とを簡便な操作で切り替えることが可能になるという効果がある。
ステップS8203で、1フレーム分の処理(図13において詳述)が行われる。ステップS8204で、仮想カメラ操作部8101は、オペレータが終了操作を入力したか否かを判定する。終了操作が入力された場合(ステップS8204において、Yes)は、処理を終了する。入力されなかった場合(ステップS8204において、No)は、処理はステップS8201へ戻る。
一方、移動、回転やズームではないと判定された場合(ステップS8202のおいて、No)、ステップS8205で、仮想カメラ操作部8101は、オペレータによって軌跡(仮想カメラパス)の選択操作が入力されたか否かを判定する。例えば、軌跡は複数フレーム分の仮想カメラ8001の操作情報の列で表すことができる。軌跡の選択操作が入力されたと判定された場合(ステップS8205において、Yes)は、処理はステップS8206へ進む。そうでないと判定された場合(ステップS8205において、No)は、処理はステップS8201へ戻る。
ステップS8206で、仮想カメラ操作UI330は、選択された軌跡から次のフレームの操作を取得する。ステップS8207で、1フレーム分の処理(図13において詳述)が行われる。
ステップS8208で、仮想カメラ操作UI330は、選択された軌跡のすべてのフレームに対する処理が終了したか否かを判定する。終了した場合はステップS8204へ進む。終了していない場合はステップS8206へ戻る。
図13は、1フレーム分の処理を示すフローチャートである。図13を参照して、図12のステップS8203およびステップS8207における処理を説明する。
ステップS8209で、仮想カメラパラメータ導出部8102は、位置や姿勢が変更された後の、仮想カメラパラメータを導出する。ステップS8210で、衝突判定部8104は、衝突判定を行う。衝突した、つまり、仮想カメラ制約が満たされていない場合(ステップS8210において、Yes)は、処理はステップS8214へ進む。衝突していない、つまり、仮想カメラ制約が満たされている場合(ステップS8210において、No)は、処理はステップS8211へ進む。
このように、仮想カメラ操作UI330において、衝突判定が行われる。そして、判定結果に応じて、例えば操作部をロックする、あるいは色が異なるメッセージを表示して警告する等の処理が行われることで、オペレータに対するフィードバックの即時性を高めることができる。これにより、結果的にオペレータの操作性向上につながるという効果がある。
ステップS8211で、仮想カメラパス管理部8106が、仮想カメラパラメータをバックエンドサーバ270へ送信する。ステップS8212で、仮想カメラ画像・音声出力部8108が、バックエンドサーバ270から受信した画像を出力し、処理は終了する。
一方、仮想カメラ制約が満たされていない場合(ステップS8210において、Yes)、ステップS8214で、仮想カメラ制約を満たすように仮想カメラ8001の位置や姿勢が修正される。例えば、ユーザによる最新の操作入力がキャンセルされ、仮想カメラパラメータが1フレーム前の状態に戻される。これによりオペレータは、例えば、軌跡入力が行われて衝突が発生した場合などに、最初から操作入力をやり直さずに、衝突が発生したところからインタラクティブに操作入力を補正することが可能となり、操作性が向上される効果がある。
ステップS8215で、フィードバック出力部8105は、仮想カメラ制約を満たさないことを、オペレータに通知する。通知は音、メッセージ、及び仮想カメラ操作UI330をロックさせる等の方法により行う。なお、通知方法はこれに限定するものではない。
図14は、仮想カメラ操作UI330がリプレイ画像を生成する際の処理を示すフローチャートである。なお、以下で説明する処理は、特に明示が無い場合、仮想カメラ操作UI330内のROMに格納されたプログラムに従ってCPUによって実行される。
ステップS8301で、仮想カメラパス管理部8106は、ライブ画像の仮想カメラパス8002を取得する。ステップS8302で、仮想カメラパス管理部8106は、ライブ画像の仮想カメラパス8002から、開始点と終了点を選択するためのオペレータの操作を受け付ける。例えば、ゴールシーン前後の10秒分の仮想カメラパス8002が選択されうる。ライブ画像が60フレーム/秒の場合は、10秒分の仮想カメラパス8002に、600個の仮想カメラパラメータが含まれる。このように、フレーム毎に仮想カメラパラメータ情報が紐づけられて管理される。
ステップS8303で、選択された10秒分の仮想カメラパス8002が、リプレイ画像の仮想カメラパス8002の初期値として保存される。また、後述するステップS8307からステップS8309の処理により、仮想カメラパス8002が編集された場合は、編集した結果が上書き保存される。
ステップS8304で、仮想カメラ操作UI330は、オペレータにより入力された操作が再生操作であるか否かを判定する。再生操作の場合(ステップS8304において、Yes)は、処理はステップS8305へ進む。再生操作でない場合(ステップS8304において、No)は、処理はステップS8307へ進む。
ステップS8305で、仮想カメラ操作UI330は、再生する範囲の選択に関するオペレータ入力を受け付ける。ステップS8306で、オペレータにより選択された範囲の画像及び音声が再生される。具体的には、仮想カメラパス管理部8106が、選択された範囲の仮想カメラパス8002をバックエンドサーバ270へ送信する。すなわち、仮想カメラパス8002に含まれる仮想カメラパラメータを順に送信する。そして、仮想カメラ画像・音声出力部8108が、バックエンドサーバ270から受信した仮想視点画像及び仮想視点音声を出力する。
ステップS8307で、仮想カメラ操作UI330は、オペレータにより入力された操作が編集操作であるか否かを判定する。編集の場合(ステップS8307において、Yes)は、処理はステップS8308へ進む。編集でない場合(ステップS8307において、No)は、処理はステップS8310へ進む。
ステップS8308で、仮想カメラ操作UI330は、編集範囲としてオペレータにより選択された範囲を特定する。ステップS8309で、ステップS8306と同様の処理により、選択された編集範囲の画像及び音声が再生される。ただし、その際に仮想カメラ操作部8101を用いて仮想カメラ8001が操作された場合、その結果を反映する。つまり、ライブ画像とは異なる視点の画像となるように、リプレイ画像を編集することが可能である。また、スロー再生や停止を行うようにリプレイ画像を編集してもよい。例えば、時間を停止し、視点を動かすという編集も可能である。
ステップS8310で、仮想カメラ操作UI330は、オペレータにより入力された操作が終了操作であるか否かを判定する。終了の場合(ステップS8310において、Yes)は、処理はステップS8311へ進む。終了でない場合(ステップS8310において、No)は、処理はステップS8304へ戻る。
ステップS8311で、仮想カメラパス管理部8106は、編集が終わった仮想カメラパス8002をバックエンドサーバ270へ送信する。
図15は、バックエンドサーバ270が1フレームの仮想視点画像を生成するフローチャートである。
ステップS3100で、データ受信部3001は、コントローラ300から仮想カメラパラメータを受信する。前述の通り、仮想カメラパラメータは、仮想視点の位置や姿勢などを表すデータのことである。
ステップS3101で、前景オブジェクト決定部3010は、受信した仮想カメラパラメータと前景オブジェクトの位置を元に仮想視点画像の生成で必要となる前景オブジェクトを決定する。仮想視点から見た場合に視野に入る前景オブジェクトを三次元幾何学的に求める。
ステップS3102で、仮想視点音声生成部3007は、受信した仮想カメラパラメータを元にエンドユーザ端末190用仮想視点音声およびコントローラ300用仮想視点音声の収音範囲をそれぞれ決定する。収音範囲に含まれる音声データ群を音声データの取得位置から求める。
ステップS3103で、要求リスト生成部3011は、決定した前景オブジェクトの前景画像及び前景三次元モデル群、指定フレームに関する全ての背景画像及び音声データ群の要求リストを生成し、要求データ出力部3012からデータベース250に要求を行う。要求リストとはデータベース250に対してリクエストするデータの内容である。
ステップS3104で、データ受信部3001は、要求した情報をデータベース250から受信し、ステップS3105で、データ受信部3001は、データベース250から受信した情報にエラーを示す情報が含まれるか判定する。ここで、エラーを示す情報としては、例えば、画像転送量オーバーフロー、画像撮影失敗及び画像のデータベース保存失敗などが挙げられる。このエラー情報はデータベース250に格納されているものである。
エラーを示す情報が含まれる場合(ステップS3105において、Yes)、データ受信部3001は、仮想視点画像の生成は不可であると判断し、データを出力せず処理を終了する。エラーを示す情報が含まれない場合(ステップS3105において、No)、ステップS3106,3107及び3108の処理が行われる。
ステップS3106で、バックエンドサーバ270は、仮想視点における背景画像の生成、前景画像の生成、及び視点に応じた音声の生成を行う。背景テクスチャ貼り付け部3002は、システムの起動後に取得され、背景メッシュモデル管理部3013で保持されている背景メッシュモデルとデータベース250から取得した背景画像から、テクスチャ付き背景メッシュモデルを生成する。
ステップS3107で、バックエンドサーバ270は、レンダリングモードに応じて前景画像を生成する。さらに、ステップS3108で、バックエンドサーバ270は、仮想視点での音の聞こえ方を模擬するように音声データ群を合成して音声を生成する。音声データ群の合成においては、仮想視点と音声データの取得位置を元に合成する各音声データの大きさが収音範囲に応じてそれぞれ調整される。
ステップS3109で、レンダリング部3006は、ステップS3106で生成したテクスチャ付き背景メッシュモデルを仮想視点から見た視野にトリミングし、そこに前景画像を合成することで仮想視点の全景画像を生成する。
ステップS3110で、合成部3008は、ステップS3108の仮想視点音声生成で生成された2つの仮想音声とレンダリングされた仮想視点の前景画像とを統合し、1フレームの仮想視点コンテンツを2つ生成する。
ステップS3111で、画像出力部3009は、生成された1フレームの仮想視点コンテンツを外部のコントローラ300およびエンドユーザ端末190へそれぞれ出力し、処理は終了する。
続いて、本実施の形態を構成する各装置のハードウェア構成について説明する。図16は、カメラアダプタ120のハードウェア構成を示すブロック図である。
カメラアダプタ120は、CPU1201と、ROM1202と、RAM1203と、補助記憶装置1204と、表示部1205と、操作部1206と、通信部1207と、バス1208とを含む。
CPU1201は、ROM1202やRAM1203に格納されているコンピュータプログラムやデータを用いてカメラアダプタ120の全体を制御する。ROM1202は、変更を必要としないプログラムやパラメータを格納する。RAM1203は、補助記憶装置1204から供給されるプログラムやデータ、及び通信部1207を介して外部から供給されるデータなどを一時記憶する。補助記憶装置1204は、例えばハードディスクドライブ等で構成され、静止画や動画などのコンテンツデータを記憶する。
表示部1205は、例えば、液晶ディスプレイ等で構成され、ユーザがカメラアダプタ120を操作するためのGUI(Graphical User Interface)などを表示する。操作部1206は、例えば、キーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をCPU1201に入力する。通信部1207は、カメラ112やフロントエンドサーバ230などの外部の装置と通信を行う。バス1208は、カメラアダプタ120の各部を繋いで情報を伝達する。
なお、フロントエンドサーバ230、データベース250、バックエンドサーバ270、制御ステーション310、仮想カメラ操作UI330、及びエンドユーザ端末190などの装置も、図16のハードウェア構成となりうる。また、上述した各装置の機能は、CPUなどを用いてソフトウェア処理によって実現してもよい。
以上、本実施の形態は、画像処理システム100が競技場やコンサートホールなどの施設に設置される場合の例を中心に説明した。施設の他の例としては、例えば、遊園地、公園、競馬場、競輪場、カジノ、プール、スケートリンク、スキー場、ライブハウスなどがある。また、各種施設で行われるイベントは、屋内で行われるものであっても屋外で行われるものであっても良い。また、本実施の形態における施設は、一時的に(期間限定で)建設される施設も含む。
以上の処理を実行することにより、仮想カメラのオペレータに仮想カメラ視野外の音声を提供することができる。したがって、オペレータは視野外の出来事に気付くことができ、その出来事を考慮して、次の仮想カメラ操作をどうすべきか判断することが可能となる。
<実施の形態2>
実施の形態2では、仮想カメラの指定可能な範囲である可動範囲に基づいて、オペレータ用の仮想視点音声の収音範囲を決定する。これによってオペレータが気付く視野外の出来事は、仮想カメラ制約を満たす範囲内であるため、オペレータは仮想カメラ制約を気にすることなく出来事が発生した方向へカメラを操作することができる。
図17は、実施の形態2に係る仮想カメラ操作UI3302の機能構成を説明するブロック図である。仮想カメラ管理部8130が導出部8109を含むことが、実施の形態1に係る仮想カメラ操作UI330と異なる点である。それ以外の点は、実施の形態1と同じであるので、説明を省略する。
導出部8109は、導出された仮想カメラパラメータと仮想カメラ制約とから仮想カメラの可動範囲を導出し、バックエンドサーバ270へ出力する。ここで、図18を用いて可動範囲について説明する。
図18は、仮想カメラの可動範囲及び収音範囲を説明するための図である。図18において、二点鎖線8006の内側が、仮想カメラ制約を満たす領域だとする。
図18(a)において、仮想カメラ8001が二点鎖線8006近傍にある場合、移動方向によって仮想カメラ8001の可動範囲に制限がかかることになる。すなわち、仮想カメラ8001は、前方向は仮想カメラ8001の位置から仮想カメラ8001の向きに沿って二点鎖線8006までの距離(矢印8007)に制限される。また、右方向は仮想カメラ8001の位置から仮想カメラ8001の向きと垂直右方向に沿って二点鎖線8006までの距離(矢印8008)に制限される。導出部8109は、仮想カメラ8001が仮想カメラ制約を満たす領域の境界に到達するまでの距離を、前後左右への可動範囲としてそれぞれ導出する。
図18(b)において、エンドユーザ端末190用の仮想視点音声の収音範囲は、破線で示す円8003である。この例では、コントローラ300用の仮想視点音声の収音範囲の形状は円であり、円の半径は予め決まっているとする。
ここで、コントローラ300用の仮想視点音声の収音範囲は、仮想カメラ制約を満たす領域を考慮して決定される。これにより、仮想カメラの視野外からの音声を聞いたオペレータは、仮想カメラ制約を気にせずに、視野外の音声が発生した方向へ仮想カメラを動かす操作をすることができる。
図18(b)の例では、コントローラ300用の仮想視点音声の収音範囲である円8004の中心8009は、円8003の中心から仮想カメラ8001の可動範囲に基づいてずらされる。すなわち、仮想カメラ8001の前と右への可動範囲が、円8004の半径よりも短いため、中心8009は、円8003の中心よりも後ろと左へずれることになる。これにより、コントローラ300用の仮想視点音声の収音範囲は、仮想カメラ制約を満たす領域内に決定される。
図19は、実施の形態2に係る、仮想カメラ操作UI3302、バックエンドサーバ270及びデータベース250の処理フローを示す図である。図19を参照して、オペレータ(ユーザ)による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作UI3302、バックエンドサーバ270及びデータベース250の処理を説明する。
仮想カメラ操作UI3302は、入力装置を介してオペレータから仮想カメラの操作を受け付ける(ステップS3300)。仮想カメラ操作UI3302において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される(ステップS3302)。
仮想カメラ操作UI3302は、図18で述べたように可動範囲を導出する(ステップS3303)。
仮想カメラ操作UI3302は、導出した仮想カメラパラメータおよび可動範囲をバックエンドサーバ270に送信する(ステップS3304)。
バックエンドサーバ270は、仮想カメラパラメータを受信するとデータベース250に対して前景三次元モデル群を要求する(ステップS3306)。データベース250は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ270に送信する(ステップS3308)。
バックエンドサーバ270は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する(ステップS3310)。
バックエンドサーバ270は、仮想視点音声生成部3007によって、仮想カメラパラメータに基づいてエンドユーザ端末190用の仮想視点音声の収音範囲を決定する。また、仮想カメラパラメータ及び可動量に基づいてコントローラ300用の仮想視点音声の収音範囲を決定する(ステップS3312)。
バックエンドサーバ270は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース250に要求する(ステップS3314)。データベース250は、要求に応じてデータをバックエンドサーバ270に送信する(ステップS3316)。
バックエンドサーバ270は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する(ステップS3318)。
バックエンドサーバ270は、ステップS3312で決定した収音範囲に基づいてエンドユーザ端末190用およびコントローラ300用の音声データの合成をそれぞれ行う(ステップS3320)。
バックエンドサーバ270は、仮想視点の全景画像と統合して仮想視点の画像及び音声を生成し(ステップS3322)、生成した仮想視点の画像及びコントローラ300用音声を仮想カメラ操作UI3302に送信する(ステップS3324)。
仮想カメラ操作UI3302は受信した画像を表示することで、仮想カメラの撮影画像の表示を実現する。仮想カメラのオペレータは、図18(b)のように仮想カメラ8001が仮想カメラ制約を満たす領域の境界8006の近傍に位置していた場合でも、仮想カメラ視野である仮想視点画像を見て、仮想カメラ視野外の音声を聞きながら仮想カメラを操作する。これにより、図18(b)の位置8005のような仮想カメラ視野外の位置での「パス!」といった音声を聞いて、仮想カメラを左へ振るパン操作を行うといったことを、仮想カメラ制約を気にすることなくできるようになる。
図20は、実施の形態2に係る仮想カメラ操作UI3302が1フレーム分のライブ画像を生成する際の処理を示すフローチャートである。
ステップS8209で、仮想カメラパラメータ導出部8102は、仮想カメラパラメータを導出する。ステップS8210で、衝突判定部8104は、導出された仮想カメラパラメータが仮想カメラ制約を満たしているか否かの衝突判定を行う。
衝突判定部8104が衝突すると判定した場合(ステップS8210にて、Yes)、ステップS8214で、衝突判定部8104は、仮想カメラ8001の位置や姿勢を修正する。ステップS8215で、フィードバック出力部8105は、仮想カメラ制約を満たさないことをオペレータに通知する。
一方、衝突判定部8104が衝突しないと判定した場合(ステップS8210にて、No)、ステップS8216で、導出部8109は、仮想カメラパラメータおよび仮想カメラ制約に基づいて仮想カメラの可動範囲を導出する。
ステップS8211で、仮想カメラパス管理部8106は、仮想カメラパラメータおよび仮想カメラの可動範囲をバックエンドサーバ270へ送信する。ステップS8212で、仮想カメラ画像・音声出力部8108は、バックエンドサーバ270から受信した画像を出力し、処理は終了する。
以上の処理を実行することにより、仮想カメラの可動範囲に基づいて、オペレータ用の仮想視点音声の収音範囲が決定される。これによってオペレータが気付く視野外の出来事は、仮想カメラ制約を満たす可動範囲内であるため、オペレータは仮想カメラ制約を気にすることなく出来事が発生した方向へカメラを操作することができる。
<実施の形態3>
実施の形態3では、オペレータ用の仮想視点音声の収音範囲が、イベントシーンに応じて変更される。これによって、オペレータにイベントシーンの音声を効果的に提供することができる。
図21は、実施の形態3に係る仮想カメラ操作UI3303の機能構成を説明するブロック図である。仮想カメラ操作UI3303が収音パターン選択部8110及びコントローラ用収音パラメータ導出部8111を含む点で、実施の形態1に係る仮想カメラ操作UI330と異なる。それ以外の点は、実施の形態1と同じであるので、説明を省略する。
収音パターン選択部8110は、オペレータがコントローラ300用の収音パターンを指定する際の選択機能を提供する。コントローラ300用の収音パターンは、サッカーにおける「コーナーキック」、「スローイン」といった幾つかのイベントシーンについて割り当てられた収音範囲であり、イベント特性に合わせて事前に登録されている。
コントローラ用収音パラメータ導出部8111は、オペレータが選択した収音パターンの収音範囲を特定するための収音パラメータを導出する。ここで、図22を用いてイベントをサッカーとした場合の収音パターンについて説明する。
図22は、収音パターンを説明するための図である。図22(a)は「コーナーキック」のイベントを表し、図22(b)は「スローイン」のイベントを表している。図22(c)は、図22(a)及び(b)のイベントの収音パラメータを示している。
図22(a)のように、「コーナーキック」はゴール付近で行われるため、コントローラ300用の収音範囲は、ゴール付近に登録されたとする。ここで、コントローラ300用の収音範囲8004の形状を楕円とした場合、収音パラメータには、図22(c)で示したような楕円の中心座標xおよびy、楕円の長半径および短半径が含まれる。楕円はゴールポスト前に固定で配置されるので、楕円の中心座標および長半径および短半径は固定値となる。また、ゴールポストは2つあるので、楕円の中心座標も2つある。コントローラ用収音パラメータ導出部8111は、仮想カメラパラメータに基づいてどちらのゴールポストか特定することで楕円の中心座標を特定し、収音パラメータを導出する。
また、図22(b)のように、「スローイン」はサイドライン付近で行われるため、コントローラ300用の収音範囲は、サイドライン付近に登録されたとする。ここで、コントローラ300用の収音範囲8004の形状を矩形とした場合、収音パラメータには、図22(c)で示したような矩形の1つの頂点(例えば、左上)座標xおよびy、矩形の辺の長さdおよびwが含まれる。矩形はスローアー付近に配置されるので、頂点座標の1つ(例えば、左上座標x)は仮想カメラパラメータから導出される変数となり、頂点座標のもう1つ(例えば、左上座標y)および辺の長さは固定値となる。サイドラインは2つあるので、頂点座標の固定値も2つである。コントローラ用収音パラメータ導出部8111は、仮想カメラパラメータに基づいてどちらのサイドラインか特定するとともに頂点座標の変数を求め、収音パラメータを導出する。頂点座標xは、「仮想カメラ座標x−w/2」等と求めてもよい。また、仮想カメラ姿勢が図22(b)のように左を向いていれば「仮想カメラ座標x−w/4」、右を向いていれば「仮想カメラ座標x−(w−w/4)」等と仮想カメラ視野外から多く収音できるよう求めてもよい。
図23は、実施の形態3に係る、仮想カメラ操作UI3303、バックエンドサーバ270及びデータベース250の処理フローを示す図である。図23を参照して、オペレータ(ユーザ)による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作UI3303、バックエンドサーバ270及びデータベース250の処理を説明する。
仮想カメラ操作UI3303は、入力装置を介してオペレータから仮想カメラの操作を受け付ける(ステップS3300)。仮想カメラ操作UI3303において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される(ステップS3302)。
仮想カメラ操作UI3303は、図22で述べたように収音パターンを確認し(ステップS3303)、コントローラ300用の収音パラメータを導出する(ステップS3304)。
仮想カメラ操作UI3303は、導出した仮想カメラパラメータおよび収音パラメータをバックエンドサーバ270に送信する(ステップS3305)。
バックエンドサーバ270は、仮想カメラパラメータを受信するとデータベース250に対して前景三次元モデル群を要求する(ステップS3306)。データベース250は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ270に送信する(ステップS3308)。
バックエンドサーバ270は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する(ステップS3310)。
バックエンドサーバ270は、仮想視点音声生成部3007によって、仮想カメラパラメータに基づいてエンドユーザ端末190用の仮想視点音声の収音範囲を決定する。また、仮想カメラパラメータ及び収音パラメータに基づいてコントローラ300用の仮想視点音声の収音範囲を決定する(ステップS3312)。
バックエンドサーバ270は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース250に要求する(ステップS3314)。データベース250は、要求に応じてデータをバックエンドサーバ270に送信する(ステップS3316)。
バックエンドサーバ270は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する(ステップS3318)。
バックエンドサーバ270は、ステップS3312で決定した収音範囲に基づいてエンドユーザ端末190用およびコントローラ300用の音声データの合成をそれぞれ行う(ステップS3320)。
バックエンドサーバ270は、仮想視点の全景画像と統合して仮想視点の画像及び音声を生成し(ステップS3322)、生成した仮想視点の画像及びコントローラ300用音声を仮想カメラ操作UI3302に送信する(ステップS3324)。
仮想カメラ操作UI3303は受信した画像を表示することで、仮想カメラの撮影画像の表示を実現する。仮想カメラのオペレータは、イベント内容に沿って選択した収音パターンに基づく収音範囲での仮想カメラ視野外の音声を聞きながら仮想カメラを操作する。これにより、図22(a)や図22(b)の位置8005のような仮想カメラ視野外の位置での「パス!」といった音声を聞いて、仮想カメラを右へ振るパン操作を行うといったことができるようになる。
図24は、実施の形態3に係る仮想カメラ操作UI3303がライブ画像を生成する際の処理を説明するフローチャートである。なお、ステップS8220及びS8221以外の処理は、図12と同じであるので、説明を省略する。
仮想カメラ操作部8101が、オペレータによって軌跡の選択操作が入力されていないと判定した場合(ステップS8205において、No)、処理はステップS8220に進む。
ステップS8220で、仮想カメラ操作部8101は、オペレータによって収音パターンの選択操作が入力されたか否かを判定する。収音パターンの選択操作が入力されたと判定した場合(ステップS8220において、Yes)は、処理はステップS8221へ進む。そうでないと判定した場合(ステップS8220において、No)は、処理はステップS8201へ戻る。
ステップS8221で、仮想カメラ操作UI3303は、選択された収音パターンからコントローラ300用の収音パラメータを導出し、処理はステップS8201へ戻る。
以上の処理を実行することにより、オペレータは、イベント内容に応じた収音パターンに基づく収音範囲での仮想カメラ視野外の音声を聞きながら仮想カメラを操作できる。したがって、オペレータにイベントシーンの音声を効果的に提供することができる。
<実施の形態4>
実施の形態4では、オペレータにはエンドユーザに提供している仮想視点画像・音声よりも時間的に所定フレーム後の仮想視点音声を提供する。これにより、エンドユーザが視聴している仮想視点コンテンツよりも所定フレーム分後に起こる出来事を考慮して、仮想カメラの操作を行うことができる。
図25は、実施の形態4に係るバックエンドサーバ2704の機能構成を説明するためのブロック図である。バックエンドサーバ2704が仮想視点音声生成部3015及び要求リスト生成部3016を含む点が、実施の形態1に係るバックエンドサーバ270と異なる。それ以外の点は、実施の形態1と同じであるので、説明を省略する。
仮想視点音声生成部3015は、仮想カメラパラメータに基づいて、仮想視点において聞こえる音声(音声群)をエンドユーザ端末190用とコントローラ300用の2種類生成する。エンドユーザ端末190用の仮想視点音声は、仮想視点画像と同じフレームに関する音声データから生成する。一方、コントローラ300用の仮想視点音声は、仮想視点画像より所定量(例えば、30)後のフレームに関する音声データから生成する。なお、エンドユーザ端末用の音声データとコントローラ用の音声データは、同じ収音範囲から取得された収音音声でもよいし、異なる収音範囲から取得された収音音声でもよい。
要求リスト生成部3016は、指定時間の前景オブジェクトリストに対応する前景画像群と前景三次元モデル群、及び背景画像と音声データをデータベース250に要求するための、要求リストを生成する。前景オブジェクトについては仮想視点を考慮して選択されたデータがデータベース250に要求されるが、背景画像についてはそのフレームに関する全てのデータが要求される。音声データについては、そのフレームおよび所定量(例えば、30)後のフレームに関する全てのデータが要求される。バックエンドサーバ270の起動後、背景メッシュモデルが取得されるまで背景メッシュモデルの要求リストが生成される。
図26は、実施の形態4に係る、仮想カメラ操作UI330、バックエンドサーバ2704及びデータベース250の処理フローを示す図である。図26を参照して、オペレータ(ユーザ)による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作UI330、バックエンドサーバ2704及びデータベース250の処理を説明する。なお、ステップS3321以外の処理は、図10の同じ符号が付された処理と同じであるので説明を省略する。
ステップS3321において、バックエンドサーバ2704は、仮想視点音声生成部3015によって、エンドユーザ端末190用の仮想視点音声と、コントローラ300用の仮想視点音声とを生成する。コントローラ300用の仮想視点音声は、エンドユーザ端末用の仮想視点音声より所定量後のフレームに関する音声から生成される。
以上により、仮想カメラのオペレータは、提供される仮想視点画像よりも所定フレーム後の音声を聞きながら仮想カメラを操作する。これにより、見ている画像よりも所定フレーム分後に起きる「パス!」といった音声を聞いて、仮想カメラを音の聞こえた方へ振るパン操作を行うといったことができるようになる。
図27は、バックエンドサーバ2704において1フレームの仮想視点画像を生成する処理フローを示す。なお、ステップS3203及び3208以外の処理は、図15の同じ符号が付された処理と同じであるので説明を省略する。
ステップS3203において、要求リスト生成部3016は、ステップS3101で決定した前景オブジェクトの前景画像および前景三次元モデル群、指定フレームに関する全ての背景画像、指定フレームおよび指定+n(例えば、30)フレームに関する全ての音声データ群の要求リストを生成する。そして、要求データ出力部3012からデータベース250に要求を行い、処理はステップS3104に進む。
データ受信部3001は、要求した情報をデータベースから受信し(ステップS3104)、受信した情報にエラーを示す情報が含まれているか判断する(ステップS3105)。
エラーを示す情報が含まれていないと判断された場合(ステップS3105において、No)、ステップS3208において、バックエンドサーバ270は、仮想視点での音の聞こえ方を模擬するように音声データ群を合成して音声を生成する。より具体的には、指定フレームの音声データからエンドユーザ端末190用音声を生成し、指定+nフレームの音声データからコントローラ300用音声を生成する。音声データ群の合成においては、仮想視点と音声データの取得位置を元に合成する各音声データの大きさが調整される。
合成部3008は、仮想視点音声生成(ステップS3208)で生成された仮想音声とレンダリングされた仮想視点の全景画像を統合し(ステップS3110)、1フレームの仮想視点コンテンツを2つ生成する。
画像出力部3009は、生成された1フレームの仮想視点コンテンツを外部のコントローラ300およびエンドユーザ端末190へそれぞれ出力し(ステップS3111)、処理は終了する。
以上の処理を実行することにより、エンドユーザに提供している仮想視点画像・音声よりも所定フレーム後の仮想視点音声をオペレータに提供できる。これにより、オペレータは、エンドユーザが視聴している仮想視点コンテンツよりも所定フレーム分後に起こる出来事を考慮して、仮想カメラの操作を行うことができ、エンドユーザに高臨場感の仮想視点コンテンツを提供することが可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の実施形態について詳述したが、本発明は上述の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
100 画像処理システム、110 センサシステム、111 マイク、112 カメラ、113 雲台、120 カメラアダプタ、180 スイッチングハブ、190 ユーザ端末、230 フロントエンドサーバ、250 データベース、270 バックエンドサーバ、290 タイムサーバ、310 制御ステーション、330 仮想カメラ操作UI。

Claims (12)

  1. 仮想視点の指定を受け付ける受け付け手段と、
    異なる位置で同期撮影するための複数の撮影装置の撮影画像から前記指定された仮想視点に基づく仮想視点画像を生成する画像生成手段と、
    異なる位置で同期収音するための複数のマイクの収音音声から仮想視点音声を生成する音声生成手段と、を備え、
    前記音声生成手段は、前記指定された仮想視点に応じて取得される第1の収音音声に基づいた仮想視点音声と、前記第1の収音音声と異なる第2の収音音声に基づいた仮想視点音声とを生成する、ことを特徴とする仮想視点コンテンツ生成システム。
  2. 前記第1の収音音声に基づいた仮想視点音声はエンドユーザ用であり、前記第2の収音音声に基づいた仮想視点音声は前記仮想視点の指定を行うオペレータ用である、ことを特徴とする請求項1に記載の仮想視点コンテンツ生成システム。
  3. 前記受け付け手段は、前記指定された仮想視点の位置および姿勢を少なくとも含む仮想カメラパラメータを導出する仮想カメラパラメータ導出手段を含むことを特徴とする請求項1または請求項2に記載の仮想視点コンテンツ生成システム。
  4. 前記複数のマイクには、それぞれ収音範囲が割り当てられ、
    前記音声生成手段は、前記仮想カメラパラメータに基づいて仮想視点音声の生成のための収音範囲を決定し、
    前記音声生成手段は、前記割り当てられた収音範囲の少なくとも一部が、前記決定された収音範囲に含まれるマイクの収音音声に基づいて前記仮想視点音声を生成する、ことを特徴とする請求項3に記載の仮想視点コンテンツ生成システム。
  5. 前記第1の収音音声は、前記仮想カメラパラメータに基づいて決定された第1の収音範囲で収音された音声であり、
    前記第2の収音音声は、前記第1の収音範囲の少なくとも一部および前記第1の収音範囲外を含む第2の収音範囲で収音された音声である、請求項4に記載の仮想視点コンテンツ生成システム。
  6. 前記音声生成手段は、前記仮想視点のズーム倍率に応じて前記第1の収音範囲および前記第2の収音範囲を決定する、ことを特徴とする請求項5に記載の仮想視点コンテンツ生成システム。
  7. 仮想視点画像を生成するために仮想視点の指定が満たすべき制約を管理する管理手段と、
    前記仮想カメラパラメータおよび前記制約から、仮想視点の指定ができる可動範囲を導出する導出手段と、をさらに備え、
    前記音声生成手段は、前記第2の収音範囲を、前記可動範囲内に収まるように決定する、ことを特徴とする、請求項5に記載の仮想視点コンテンツ生成システム。
  8. 収音パターンを選択する収音パターン選択手段と、
    前記導出された仮想カメラパラメータと前記選択された収音パターンとから、収音範囲の形状および位置を少なくとも含む収音パラメータを導出する収音パラメータ導出手段と、をさらに備え、
    前記音声生成手段は、前記第2の収音範囲を、前記収音パラメータに基づいて決定する、ことを特徴とする請求項5に記載の仮想視点コンテンツ生成システム。
  9. 前記第2の収音音声は、前記第1の収音音声よりも時間的に所定フレーム後の収音音声である、ことを特徴とする請求項1から請求項3のいずれか一項に記載の仮想視点コンテンツ生成システム。
  10. 異なる位置の複数のマイクから同期収音された収音音声を取得する取得手段と、
    収音範囲を設定する設定手段と、
    前記設定手段により設定された収音範囲と、前記複数のマイクのそれぞれに割り当てられた範囲とに基づいて、仮想視点音声の生成に用いるマイクを選択する選択手段と、
    前記選択手段により選択されたマイクからの収音音声を用いて仮想視点音声を生成する音声生成手段と、を備え、
    前記設定手段は、多視点で同期撮影を行って得られた撮影画像から仮想視点画像を生成するために指定された仮想視点に基づく第1の収音範囲と、前記第1の収音範囲とは異なる第2の収音範囲とを設定し、
    前記音声生成手段は、前記第1の収音範囲と前記第2の収音範囲のそれぞれに対応した第1の仮想視点音声と第2の仮想視点音声とを生成する、ことを特徴とする音声処理装置。
  11. 異なる位置で同期撮影するための複数の撮影装置および異なる位置で同期収音するための複数のマイクを備える仮想視点コンテンツ生成システムの制御方法であって、
    仮想視点の指定を受け付ける受け付け工程と、
    前記複数の撮影装置の撮影画像から前記指定された仮想視点に基づく仮想視点画像を生成する画像生成工程と、
    前記複数のマイクの収音音声から仮想視点音声を生成する音声生成工程と、を備え、
    前記音声生成工程は、前記指定された仮想視点に応じて取得される第1の収音音声に基づいた仮想視点音声と、前記第1の収音音声と異なる第2の収音音声に基づいた仮想視点音声とを生成する、ことを特徴とする仮想視点コンテンツ生成システムの制御方法。
  12. コンピュータに、請求項11に記載の制御方法を実現させるためのプログラム。
JP2017230864A 2017-11-30 2017-11-30 仮想視点コンテンツ生成システム、音声処理装置、仮想視点コンテンツ生成システムの制御方法、及びプログラム Pending JP2019102940A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017230864A JP2019102940A (ja) 2017-11-30 2017-11-30 仮想視点コンテンツ生成システム、音声処理装置、仮想視点コンテンツ生成システムの制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017230864A JP2019102940A (ja) 2017-11-30 2017-11-30 仮想視点コンテンツ生成システム、音声処理装置、仮想視点コンテンツ生成システムの制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2019102940A true JP2019102940A (ja) 2019-06-24

Family

ID=66974291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017230864A Pending JP2019102940A (ja) 2017-11-30 2017-11-30 仮想視点コンテンツ生成システム、音声処理装置、仮想視点コンテンツ生成システムの制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2019102940A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4343598A1 (en) * 2022-09-20 2024-03-27 Canon Kabushiki Kaisha Information processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4343598A1 (en) * 2022-09-20 2024-03-27 Canon Kabushiki Kaisha Information processing apparatus

Similar Documents

Publication Publication Date Title
US11750792B2 (en) Information processing apparatus, image generation method, control method, and storage medium
CN109275358B (zh) 根据用户所选择的视点从具有菊花链连接的照相机阵列生成虚拟图像的方法和设备
JP6808357B2 (ja) 情報処理装置、制御方法、及び、プログラム
CN109565582B (zh) 控制装置及其控制方法和计算机可读存储介质
JP6482498B2 (ja) 制御装置、制御方法、及び、プログラム
JP6878014B2 (ja) 画像処理装置及びその方法、プログラム、画像処理システム
JP6827996B2 (ja) 画像処理装置、制御方法、及び、プログラム
JP2019022151A (ja) 情報処理装置、画像処理システム、制御方法、及び、プログラム
JP2019191989A (ja) 仮想視点画像を生成するシステム、方法及びプログラム
JP2019047431A (ja) 画像処理装置及びその制御方法、画像処理システム
JP6790145B2 (ja) 制御装置、制御方法、及び、プログラム
JP7297969B2 (ja) 情報処理装置、プログラム、生成方法、及び、システム
JP2019102940A (ja) 仮想視点コンテンツ生成システム、音声処理装置、仮想視点コンテンツ生成システムの制御方法、及びプログラム
JP2023075859A (ja) 情報処理装置、情報処理方法、及び、プログラム
JP6632703B2 (ja) 制御装置、制御方法、及び、プログラム
JP7204789B2 (ja) 制御装置、制御方法、及び、プログラム
JP2023075860A (ja) 情報処理装置、情報処理方法、及び、プログラム