(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023183059
(43)【公開日】2023-12-27
(54)【発明の名称】情報処理装置、情報処理方法及びコンピュータプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20231220BHJP
G06T 15/20 20110101ALI20231220BHJP
H04N 23/60 20230101ALN20231220BHJP
【FI】
G06T19/00 A
G06T15/20 500
H04N5/232 300
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022096458
(22)【出願日】2022-06-15
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】岩本 奨平
【テーマコード(参考)】
5B050
5B080
5C122
【Fターム(参考)】
5B050AA03
5B050BA09
5B050BA11
5B050BA12
5B050BA13
5B050CA07
5B050DA07
5B050EA04
5B050EA24
5B050EA26
5B050FA02
5B080AA00
5B080BA04
5B080CA00
5B080FA00
5B080GA22
5C122DA02
5C122EA61
5C122FA18
5C122FE02
5C122FH11
5C122FH13
5C122FH18
5C122HA01
5C122HA13
5C122HA35
5C122HB01
5C122HB09
(57)【要約】
【課題】 リアルタイム配信において、仮想視点操作と仮想視点画像の生成とにタイムラグが発生するため、イベント発生時において不用意な仮想視点操作を行う恐れがある。
【解決手段】 3次元モデルが生成されていない被写体に関連付けられたイベントの発生位置を示す情報に基づいて、前記イベントの発生位置を仮想視点画像に含むように仮想視点の位置および仮想視点からの視線方向を決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の撮像装置の撮像により取得される複数の画像に基づく3次元モデルを用いて生成される仮想視点画像に対応する仮想視点を決定する情報処理装置であって、
イベント情報を取得する取得手段と、
被写体の3次元モデルを生成する前に、前記イベント情報に基づいて仮想視点の位置および仮想視点からの視線方向を決定する決定手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記イベント情報は、被写体の行動または被写体に生じる事象を示す情報であり、
前記決定手段は、前記イベント情報が前記被写体の特定の行動または前記被写体に生じる事象である場合に、前記仮想視点の位置および前記仮想視点からの視線方向を決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記イベント情報は、前記被写体の行動が特定された位置または前記被写体に生じる事象が特定された位置を示すイベント発生位置を含む情報であり、
前記決定手段は、前記イベント発生位置を仮想視点画像に含むように、前記仮想視点の位置および前記仮想視点からの視線方向を決定することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記決定手段は、前記イベント発生位置が前記仮想視点画像の中心に位置するように、前記仮想視点の位置および前記仮想視点からの視線方向を決定することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記取得手段は、前記被写体の位置情報を取得し、
前記決定手段は、前記被写体の位置情報に基づいて、前記被写体を仮想視点画像に含むように、前記仮想視点の位置および前記仮想視点からの視線方向を決定することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記決定手段は、前記被写体が前記仮想視点画像の中心に位置するように、前記仮想視点の位置および前記仮想視点からの視線方向を決定することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記複数の画像は、前記被写体を異なる方向から撮像した画像であり、
前記取得手段は、前記複数の画像に基づくステレオマッチング法を用いることにより、前記被写体の位置情報を取得することを特徴とする請求項5に記載の情報処理装置。
【請求項8】
前記イベント情報は、被写体の行動または被写体に生じる事象が発生した時刻を含む情報であることを特徴とする請求項2に記載の情報処理装置。
【請求項9】
前記取得手段は、前記複数の画像に基づいて、前記イベント情報を取得することを特徴とする請求項1に記載の情報処理装置。
【請求項10】
前記取得手段は、前記複数の画像を入力としイベント情報を出力する学習モデルを用いることにより、前記イベント情報を取得することを特徴とする請求項9に記載の情報処理装置。
【請求項11】
更に、音情報を取得するための入力手段を有し、
前記取得手段は、前記取得した音情報に基づいて、前記被写体の位置情報と前記イベント情報とを取得することを特徴とする請求項1に記載の情報処理装置。
【請求項12】
前記取得手段は、仮想視点の位置および仮想視点からの視線方向を取得し、
前記決定手段は、前記取得手段により取得された前記仮想視点の位置および前記仮想視点からの視線方向を、前記決定手段により決定された前記仮想視点の位置および前記仮想視点からの視線方向に制御することを特徴とする請求項1に記載の情報処理装置。
【請求項13】
更に、前記取得された仮想視点の位置および仮想視点からの視線方向を、前記決定された仮想視点の位置及び仮想視点からの視線方向に制御するための補間情報を生成する補間手段を有することを特徴とする請求項12に記載の情報処理装置。
【請求項14】
前記補間手段は、スプライン補間により前記補間情報を生成することを特徴とする請求項13に記載の情報処理装置。
【請求項15】
更に、ユーザーが仮想視点を移動させるための入力手段を有し、
前記取得手段は、ユーザーからの入力手段への入力情報に基づいて、前記仮想視点の位置および前記仮想視点からの視線方向を取得することを特徴とする請求項12に記載の情報処理装置。
【請求項16】
更に、前記複数の画像に基づいて被写体の3次元モデルを生成する第1生成手段と、
前記第1生成手段により生成された前記被写体の3次元モデルと、前記決定手段により決定された前記仮想視点の位置および前記仮想視点からの視線方向と、に基づいて仮想視点画像を生成する第2生成手段と
を有することを特徴とする請求項1に記載の情報処理装置。
【請求項17】
複数の撮像装置の撮像により取得される複数の画像に基づく3次元モデルを用いて生成される仮想視点画像に対応する仮想視点を決定する情報処理装置であって、
イベント情報を取得する取得工程と、
被写体の3次元モデルを生成する前に、前記イベント情報に基づいて仮想視点の位置および仮想視点からの視線方向を決定する決定工程と
を有することを特徴とする情報処理方法。
【請求項18】
請求項1乃至16のいずれか1項に記載の情報処理装置の各手段をコンピュータにより制御するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、3次元モデルを用いて仮想視点画像を生成する技術に関する。
【背景技術】
【0002】
複数の撮像装置により得られた複数の画像を用いて、指定された仮想視点からの仮想視点画像を生成する技術が注目されている。
【0003】
特許文献1には、3次元モデルの動きを予測して仮想視点の位置を決定する技術について開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
撮像後すぐに3次元モデルを生成し、生成した3次元モデルを用いて仮想視点画像を生成して、ほぼリアルタイムで配信することが求められている。しかし、撮像画像から3次元モデルを生成する処理は時間を要するため、実カメラで撮像した時刻と仮想視点画像が生成される時刻にはタイムラグが発生する。そのため、ユーザー(オペレーター)が仮想視点画像を参考に仮想視点を操作する場合、操作が仮想視点画像に反映される時刻にもタイムラグが発生することを考慮しなければならず、イベントに合わせた適切な仮想視点操作が困難となる恐れがあった。
【0006】
本開示は、イベント発生時における不用意な仮想視点操作を防ぐことを目的としている。
【課題を解決するための手段】
【0007】
本開示の1つの実施態様の情報処理装置は、
複数の撮像装置の撮像により取得される複数の画像に基づく3次元モデルを用いて生成される仮想視点画像に対応する前記仮想視点を決定する情報処理装置であって、
イベント情報を取得する取得手段と、
被写体の3次元モデルを生成する前に、前記イベント情報に基づいて仮想視点の位置および仮想視点からの視線方向を決定する決定手段と
を有することを特徴とする。
【発明の効果】
【0008】
本開示によれば、イベント発生時における不用意な仮想視点操作を防ぐことができる。
【図面の簡単な説明】
【0009】
【
図1】実施形態1に係る情報処理システムの装置構成の1例を示す図である。
【
図2】実施形態1に係る情報処理装置200のハードウェア構成を示す図である。
【
図3】実施形態1に係るイベント情報管理部112にて管理するイベント情報を示す表である。
【
図4】実施形態1に係る仮想カメラパス生成部113にて生成される仮想カメラの情報を示す表である。
【
図5】実施形態1に係るイベント情報を基にしたカメラパス生成フローチャートである。
【
図6】実施形態1に係るカメラパス送信フローチャートである。
【
図8】実施形態2に係るイベント情報を基にしたカメラパス生成フローチャートである。
【
図9】実施形態2に係るカメラパス送信フローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して本開示の実施形態を説明する。ただし、本開示は以下の実施形態に限定されるものではない。なお、各図において、同一の部材または要素については同一の参照番号を付し、重複する説明は省略または簡略化する。
【0011】
<実施形態1>
実施形態1の情報処理システムは、複数の撮像装置(カメラ)により異なる方向から撮像して取得される撮像画像、撮像装置の状態、指定された仮想視点に基づいて、仮想視点から見た仮想視点画像を生成する。本実施形態における仮想視点画像は、自由視点映像とも呼ばれるものであるが、ユーザーが自由に(任意に)指定した視点に対応する画像に限定されず、例えば複数の候補からユーザーが選択した視点に対応する画像なども仮想視点画像に含まれる。また、本実施形態では仮想視点の指定がユーザー操作により行われる場合を中心に説明するが、仮想視点の指定が画像解析の結果等に基づいて自動で行われてもよい。また、本実施形態では仮想視点画像が動画である場合を中心に説明するが、仮想視点画像は静止画であってもよい。
【0012】
仮想視点画像の生成に用いられる視点情報は、仮想視点の位置及び向き(視線方向)を示す情報である。具体的には、視点情報は、仮想視点の三次元位置を表すパラメータと、パン、チルト、及びロール方向における仮想視点の向きを表すパラメータとを含む、パラメータセットである。なお、視点情報の内容は上記に限定されない。例えば、視点情報としてのパラメータセットには、仮想視点の視野の大きさ(画角)を表すパラメータが含まれてもよい。また、視点情報は複数のパラメータセットを有していてもよい。例えば、視点情報が、仮想視点画像の動画を構成する複数のフレームにそれぞれ対応する複数のパラメータセットを有し、連続する複数の時点それぞれにおける仮想視点の位置及び向きを示す情報であってもよい。
【0013】
画像処理システムは、撮像領域を複数の方向から撮像する複数の撮像装置を有する。撮像領域は、例えばサッカーや空手などの競技が行われる競技場、もしくはコンサートや演劇が行われる舞台などである。複数の撮像装置は、このような撮像領域を取り囲むようにそれぞれ異なる位置に設置され、同期して撮像を行う。なお、複数の撮像装置は撮像領域の全周にわたって設置されていなくてもよく、設置場所の制限等によっては撮像領域の周囲の一部にのみ設置されていてもよい。また、望遠カメラと広角カメラなど機能が異なる撮像装置が設置されていてもよい。
【0014】
なお、本実施形態における複数の撮像装置は、それぞれが独立した筐体を有し単一の視点で撮像可能なカメラであるものとする。ただしこれに限らず、2以上の撮像装置が同一の筐体内に構成されていてもよい。例えば、複数のレンズ群と複数のセンサを備えており複数視点から撮像可能な単体のカメラが、複数の撮像装置として設置されていてもよい。
【0015】
仮想視点画像は、例えば以下のような方法で生成される。まず、複数の撮像装置によりそれぞれ異なる方向から撮像することで複数の画像(複数視点画像)が取得される。次に、複数視点画像から、人物やボールなどの所定のオブジェクトに対応する前景領域を抽出した前景画像と、前景領域以外の背景領域を抽出した背景画像が取得される。また、所定のオブジェクトの三次元形状を表す前景モデルと前景モデルに色付けするためのテクスチャデータとが前景画像に基づいて生成され、競技場などの背景の三次元形状を表す背景モデルに色づけするためのテクスチャデータが背景画像に基づいて生成される。そして、前景モデルと背景モデルに対してテクスチャデータをマッピングし、視点情報が示す仮想視点に応じてレンダリングを行うことにより、仮想視点画像が生成される。ただし、仮想視点画像の生成方法はこれに限定されず、三次元モデルを用いずに撮像画像の射影変換により仮想視点画像を生成する方法など、種々の方法を用いることができる。
【0016】
仮想カメラとは、撮像領域の周囲に実際に設置された複数の撮像装置とは異なる仮想的なカメラであって、仮想視点画像の生成に係る仮想視点を便宜的に説明するための概念である。すなわち、仮想視点画像は、撮像領域に関連付けられる仮想空間内に設定された仮想視点から撮像した画像であるとみなすことができる。そして、仮想的な当該撮像における視点の位置及び向きは仮想カメラの位置及び向きとして表すことができる。言い換えれば、仮想視点画像は、空間内に設定された仮想視点の位置にカメラが存在するものと仮定した場合に、そのカメラにより得られる撮像画像を模擬した画像であると言える。また本実施形態では、経時的な仮想視点の変遷の内容を、仮想カメラパスと表記する。ただし、本実施形態の構成を実現するために仮想カメラの概念を用いることは必須ではない。すなわち、少なくとも空間内における特定の位置を表す情報と向きを表す情報とが設定され、設定された情報に応じて仮想視点画像が生成されればよい。
【0017】
図1は、本開示の実施形態1に係るシステム構成図である。
【0018】
カメラ群101は、複数のカメラを例えばバスケットボールを行うスタジアム内の異なる位置に配置し、複数の視点からの画像を同期して撮影する。同期撮影により取得された複数視点画像のデータは、3次元モデル生成装置102およびイベント検出装置104に送信される。
【0019】
3次元モデル生成装置102は、カメラ群101から受信した複数視点画像を取得し、3次元モデルを生成する。3次元モデルの生成は、例えば視体積交差法(Shap from Silhouette法)が用いられる。この処理の結果、被写体の3次元形状を表現した3D点群(3次元座標を持つ点の集合)が得られる。なお、撮影画像から被写体の3次元形状を導出する方法はこれに限らない。
【0020】
3次元モデル格納装置103は、3次元モデル生成装置102が生成した3次元モデルを、時刻情報に紐づけて格納する。また、仮想視点画像生成装置106から受信した時刻情報を基に、時刻情報に紐づく3次元モデルを仮想視点画像生成装置106に送信する。
【0021】
イベント検出装置104は、カメラ群101から受信した複数視点画像から各時刻及び被写体に対応するイベントを検出する。本実施形態におけるイベントとは、被写体の行動または被写体に生じる事象に起因するものである。例えばバスケットボールの試合におけるトラベリング等、被写体に生じたイベントを検出する。本実施形態ではカメラ群101で撮影した撮影画像に対して画像処理を行った結果を基にイベントを検知する構成について記載しているが、本開示ではイベント検出のトリガーとして、カメラ群101からの入力に限らない。例えば陸上競技におけるゴールセンサ、スターターピストルセンサや、フェンイベントグにおける剣先センサ等のような、センサから得られた信号を基にイベント検知を行っても良い。またはマイクを用いて取得した音情報の解析結果を基にイベント検知を行っても良い。なお、撮像画像を入力情報とし、イベントを出力する学習モデルを別途用意し、イベント検知を行っても良い。また、本実施形態では、撮像画像にステレオマッチングを用いることにより、イベントを検知した被写体の位置情報を取得し、イベント情報に含む。被写体の位置情報を取得する手法はこれに限定されず、撮像画像の特徴点抽出を用いて被写体の位置情報を取得してもよい。検出されたイベントは、イベント情報としてイベント情報取得部111に送信される。
【0022】
仮想カメラ制御装置110は、イベント情報取得部111、イベント情報保持部112、仮想カメラパス生成部113、仮想カメラパス送信部114、生成時刻管理部115を保持する。
【0023】
図3は、イベント情報保持部112により保持されるデータの1例を示す表である。イベント情報保持部112では、イベントと被写体が関連付けられて保持される。本実施形態では、バスケットボールの例を基に説明する。なお、撮像イベントはバスケットボールのイベントに限定されず、野球等の球技や陸上競技、アイドルのコンサートなどのイベントでもよい。
【0024】
イベント発生時刻112-1は、イベントが発生した時刻を表している。なお本実施形態では時刻の格納形式を”年/月/日 時間/分/秒/フレーム”としており、フレームレートは60fpsとしている。すなわちフレームは0~59の値を取り得る。
【0025】
イベント発生位置112-2は、イベントが発生した位置を表している。なお、本実施形態では格納形式を”X座標,Y座標,Z座標”としており、単位はメートルとしている。
【0026】
被写体112-3は、イベントを発生させた被写体を表している。
【0027】
被写体位置112―4は、イベントを発生させた被写体の位置情報を表している。本実施形態では、被写体の重心位置を被写体の位置情報とする。なお、被写体の位置情報はこれに限らず、被写体の頭部や右手など、被写体の一部を示す位置でもよい。
【0028】
イベント種別112-5は、どのようなイベントが発生したかを表すイベント種別を表している。なお、本実施形態ではバスケットボールの試合におけるイベント種別について記載している。例えば「ボール保持3歩目」というイベントは、すなわちトラベリングファールを表している。本実施形態では、イベント種別は予め定義されていることを前提としている。
【0029】
イベント情報取得部111は、イベント検出装置104で検出したイベント情報を取得し、イベント情報保持部112にこのイベント情報を登録する。イベント情報は、
図3で説明したように、イベント発生時刻112-1、イベント発生位置112-2、被写体112-3、被写体位置112―4、イベント種別112-5から構成される。またイベント情報を起因として仮想カメラパスが生成可能かどうかを判定し、生成可能な場合、イベント情報保持部112から仮想カメラパスの生成に必要な全てのイベント情報を取得し、それらの情報を仮想カメラパス生成部113に送信する。本実施形態における例として、選手Bにおける「ボール保持3歩目」のイベント取得時、イベント情報保持部112にイベント情報を登録する。その後、イベント情報保持部112から、選手Bについて直前に発生した「ボール保持1歩目」、「ボール保持2歩目」に該当するイベント情報を取得し、それらのイベント情報を仮想カメラパス生成部113に送信する。
【0030】
仮想カメラパス生成部113は、コントローラ105から取得した仮想カメラ操作情報と、生成時刻管理部115から取得した仮想視点画像再生時刻を基に、仮想カメラパスを生成する。また、仮想カメラパス生成部113は、イベント情報取得部111から取得したイベント情報に基づいて仮想カメラパスを生成する事もできる。生成した仮想カメラパスは仮想カメラパス送信部114に送信する。リアルタイム配信では、カメラが撮像した時刻から仮想視点画像を表示する時刻において、撮像画像を取得した時刻から3次元モデルを生成し、更に仮想視点画像を生成するまでの処理時間分のタイムラグが発生する。そのため、コントローラを用いて仮想視点を指定するユーザーは、タイムラグを考慮した操作を行う必要があり、突発的なイベントに合わせた仮想視点操作は困難になる。本実施形態では、撮像画像から3次元モデルを生成する前に、イベント情報を基に生成した仮想カメラパスが存在する場合にはコントローラからの操作情報は無視する。つまり、突発的なイベントが発生した場合には、3次元モデルを生成する前に仮想カメラパスを生成することにより、イベントに合わせた仮想視点を生成することができる。しかし、本開示においてコントローラからの操作情報は無視しなくてもよい。例えばイベント情報を基に生成した仮想カメラパスに対し、コントローラからの操作情報を基に仮想カメラパスを補正するような処理でも良い。またはどちらからの情報を優先して仮想カメラパスを生成するかを決定するスイッチを設けても構わない。またこのスイッチはハードウェアによって実装されても良いし、ソフトウェアのUI上に実装されても構わない。またはイベント情報と、イベント情報取得前の仮想カメラの位置を基にして仮想カメラパスを生成しても良い。
【0031】
図4は、仮想カメラパス生成部113により生成される仮想カメラの情報の1例を示す表である。
【0032】
時刻113-1は、仮想カメラが生成された時刻を表している。なお本実施形態では時刻の格納形式を”年/月/日/時/分/秒/フレーム”としており、フレームレートは60fpsとしている。すなわちフレームは0~59の値を取り得る。
【0033】
位置113-2は、仮想カメラの位置を表している。なお、本実施形態では格納形式を”X座標,Y座標,Z座標”としており、単位はメートルとしている。
【0034】
向き113-3は、仮想カメラの向きを表している。なお、本実施形態では格納形式を”Panの角度,Tiltの角度”としており、単位は度としている。Panは、ある方向を0度と定め、0~360度の値を取る。Tiltは水平を0度とし、水平から上を見上げる方向を正の値、下を見る方向を負の値と定め、-180~180度の値を取る。
【0035】
ズーム倍率113-4は、仮想カメラの焦点距離を表しており、単位は”mm”である。すなわち値が小さいほど広角になり、値が大きいほど望遠になる。
【0036】
このように、仮想カメラパスは時刻113-1と、位置113-2、向き113-3、焦点113-4の値を紐づける形で定めている。
【0037】
生成時刻管理部115は、仮想視点画像生成装置106が仮想視点画像を生成可能な時刻を管理する。本実施形態では仮想視点画像を生成可能な時刻のフォーマットを”年/月/日/時/分/秒/フレーム”としており、フレームレートは60fpsとしている。すなわちフレームは0~59の値を取り得、(1/60)秒に1回の頻度で1フレームインクリメントされる。本開示において、仮想視点画像を再生可能な時刻は現在時刻よりも遅れて進み、その遅れる時間幅は、3次元モデル生成装置102において3次元モデル生成にかかる所要時間よりも長い時間である。本実施形態において、仮想視点画像を生成可能な時刻を現在時刻からどれくらい遅らせるかはユーザーが任意に設定可能であるが、本開示においてはこの限りではない。例えば、3次元モデル生成装置102における3次元モデル生成にかかる最大所要時間を求め、最大所要時間を基に仮想視点画像を生成可能な時刻を自動的に決定しても良い。
【0038】
仮想カメラパス送信部114は、仮想カメラパス生成部113から送られてきた仮想カメラパスを仮想視点画像生成装置106に送信する。本実施形態では60fps周期で仮想カメラパスの送信を行う。
【0039】
仮想視点画像生成装置106は、仮想カメラパス送信部114から取得した仮想カメラパスを基に仮想視点画像を生成する。取得した仮想カメラパスの時刻113-1を3次元モデル格納装置103に送信する事で、時刻113-1に対応する3次元モデルを取得する。取得した3次元モデルに対し、取得した仮想カメラの位置113-2、向き113-3、ズーム倍率113-4の値を基に仮想的に生成した仮想カメラで撮像した映像を、仮想視点画像として生成する。また生成した仮想視点画像をディスプレイ107に送信する。
【0040】
ディスプレイ107は、仮想視点画像生成装置106から取得した仮想視点画像を出力する。なお本実施形態において、コントローラ105を操作して仮想カメラを操縦する操縦者は、ディスプレイ107に出力された仮想視点画像を見ながらコントローラを操作する事を想定している。
【0041】
図2は、
図1のシステムを構成する各装置のハードウェア資源を示す図である。3次元モデル生成装置102、3次元モデル格納装置103、イベント検出装置104、仮想カメラ制御装置110、仮想視点画像生成装置106は、
図2で示す情報処理装置200によって実現され得る。
【0042】
情報処理装置200は、CPU201、ROM202、RAM203、補助記憶装置204、表示部205、操作部206、通信I/F207及びシステムバス208を有する。
【0043】
CPU201は、ROM202やRAM203に格納されているコンピュータプログラムやデータを用いて情報処理装置200の全体を制御することで、
図1に示すシステムの各機能を実現する。なお、情報処理装置200がCPU201とは異なる1又は複数の専用のハードウェアを有し、CPU201による処理の少なくとも一部を専用のハードウェアが実行してもよい。そのような専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。
【0044】
ROM202は、変更を必要としないプログラムなどを格納する。RAM203は、補助記憶装置204から供給されるプログラムやデータ、及び通信I/F207を介して外部から供給されるデータなどを一時記憶する。補助記憶装置204は、例えばハードディスクドライブ等で構成され、画像データや音響データなどの種々のデータを記憶する。
【0045】
表示部205は、例えば液晶ディスプレイやLED等で構成され、ユーザーが情報処理装置200に対して指示を与えるためのGUI(Graphical User Interface)などを表示する。
【0046】
操作部206は、例えばキーボードやマウス、ジョイスティック、タッチパネル等で構成され、ユーザーによる操作を受けて各種の指示をCPU201に入力する。CPU201は、表示部205を制御する表示制御部、及び操作部206を制御する操作制御部として動作する。
【0047】
通信I/F207は、カメラ群101やマイク群106等、情報処理装置200の外部の装置との通信に用いられる。情報処理装置200が外部の装置と無線通信する機能を有する場合には、通信I/F207はアンテナを備える。
【0048】
システムバス208は、情報処理装置200の各部をつないで情報を伝達する。
【0049】
なお、本実施形態では表示部205と操作部206が情報処理装置200の内部に存在するものとするが、表示部205と操作部206との少なくとも一方が情報処理装置200の外部に別の装置として存在していてもよい。
【0050】
図5は、仮想カメラ制御装置110においてイベント情報から仮想カメラパスを生成するフローチャートである。
【0051】
ステップS501では、イベント情報取得部111がイベント検出装置104からイベント情報を取得する。イベント情報は、イベント発生時刻、イベント発生位置、被写体、被写体位置、イベント種別等のデータ群から構成される。なお本ステップで取得したイベント情報のイベント発生時刻は、現在時刻よりも過去であり、仮想視点画像を生成可能な時刻よりも未来の時刻であることを想定している。つまり、仮想視点画像を生成可能な時刻から現在時刻までの間の時刻であって、ユーザーによって仮想視点が指定されていない時刻である。
【0052】
ステップS502では、S501で取得したイベント情報を、イベント情報保持部112に登録する。登録は、例えば
図3のイベント情報を示す表に対してデータを追加する。
【0053】
ステップS503では、S501で取得したイベント情報を基に仮想カメラパスを生成するか否かを判定する。本開示では判定方法について特に規定はないが、例えばイベント情報のイベント種別が「ボール保持3歩目」だった時に仮想カメラパスを生成すると判定するというようなルールを予め設定しておき、ルールに従って判定しても良い。
【0054】
ステップS504では、S501で取得したイベント情報を基に、仮想カメラパスを生成するために必要なイベント情報をイベント情報保持部112から取得する。例えばS501で取得したイベント情報のイベント種別が「ボール保持3歩目」だった時に、事前にイベント情報保持部112に登録された、同一被写体における「ボール保持1歩目」、「ボール保持2歩目」に該当するイベント情報を取得する。
【0055】
ステップS505では、仮想カメラパス生成部113において、S504で取得した1つ以上のイベント情報を基にして仮想カメラパスを生成する。ここで、生成する仮想カメラパスは
図4のような表で表されるようなフォーマットで生成される。例えばステップS504で示した例のように選手Bにおける「ボール保持1歩目」、「ボール保持2歩目」、「ボール保持3歩目」のイベント情報を取得した時、該当被写体の足元が見やすい仮想視点画像が生成できるように仮想カメラの位置および姿勢を決定する。つまり、イベントが発生した位置を仮想視点画像に含むように仮想カメラの位置および姿勢を決定する。なお、イベント発生位置の位置情報に基づいて、イベント発生位置が仮想視点画像の中心に位置するように仮想カメラの位置および姿勢を決定してもよい。なお、イベントを発生させた被写体の位置情報に基づいて、被写体が仮想視点画像の中心に位置するように仮想カメラの位置および姿勢を決定してもよい。なお、イベント検出に用いた撮像画像を撮像した実カメラの位置とイベント発生位置を繋ぐ直線上の位置を仮想カメラの位置として、イベント発生位置が仮想視点画像の中心に位置するように姿勢を決定してもよい。また仮想カメラパスの時刻においては、少なくとも「ボール保持1歩目」が発生した時刻から、「ボール保持3歩目」が発生した時刻までの期間が含まれるよう仮想カメラパスの時刻を決定する。具体的な処理の一例として、ボール保持1歩目の位置を画角の中心にとらえ、選手の位置とイベント検出に用いた実カメラの位置とを結ぶ直線上において、選手から3m離れた位置をカメラ位置1とする。ここで、選手からどれくらい離れるかは予め固定値として保持しておいても良いし、条件によって動的に変更しても良い。本実施形態では固定値で3mとする。また本実施形態では仮想カメラの焦点距離は固定値で6mmとするが、こちらも予め固定値として保持しておいても良いし、条件によって動的に変更しても良い。同様にボール保持2歩目の位置を画角の中心にとらえ、選手から3m離れた位置をカメラ位置2、ボール保持3歩目の位置を画角の中心にとらえ、選手から3m離れた位置をカメラ位置3とする。カメラ位置1~3は全て同じPan、Tiltの固定値となるように設定するが、これらも条件に応じて動的に変更されても良い。また、各カメラ位置1~3の時刻は、ボール保持1歩目~ボール保持3歩目の発生時刻と同一にする。その後、各カメラ位置1~3を結ぶための補間処理を行うことで各カメラ位置をつなぐ補間情報(線)を生成し、生成した線上をボール保持1歩目の発生時刻からボール保持3歩目の発生時刻までの時間をかけて仮想カメラが移動するよう仮想カメラパスを作成する。なお、補間処理は、スプライン補間を行うことにより滑らかに移動するような曲線を描く線を生成することができるが、これに限らず直線補間を行ってもよい。各カメラ位置を結ぶ線の作成方法はこれに限定されない。上記により、ボール保持1歩目の発生時刻から、ボール保持3歩目の発生時刻までの仮想カメラパスを自動で生成する。また本実施形態において、本ステップで生成した仮想カメラパスは、仮想カメラ制御装置110内に保持しておく。
【0056】
図6は、仮想カメラ制御装置110において、(1/60)秒おきに仮想視点画像生成装置106に仮想カメラパスを送信するフローチャートである。なお、
図5のフローチャートとは並列に動作するものとする。
【0057】
本実施形態では、ステップS601からステップS609を(1/60)秒ごとに繰り返し実行する。なお、この繰返し周期は、仮想カメラパスを60fpsで生成する事に起因している。つまり、仮想カメラパスを30fpsで生成する場合には、ステップS601からステップS609を(1/30)秒ごとに繰り返し実行する。繰り返し周期は、ユーザーによって任意に設定できる。
【0058】
ステップS602では、生成時刻管理部115で管理している仮想視点画像を生成可能な時刻を取得する。
【0059】
ステップS603では、S602で取得した時刻において、既にイベント情報を基にした仮想カメラパスが作成済みか否かを判定する。すなわち、S602で取得した時刻に対応する仮想カメラパスのデータが、
図5におけるステップS505で作成されているか否かを判定する。作成済みであればS607へ、作成されていなければS604へ進む。
【0060】
ステップS604では、コントローラ105からの操作情報を取得する。すなわち、S603の判定の結果、S602で取得した時刻において、イベント情報を基にした仮想カメラパスは存在しないため、コントローラからの操作情報を基に仮想カメラパスを生成することを意味する。
【0061】
ステップS605では、S604で取得した操作情報と、S602で取得した時刻情報とを基に、仮想カメラパスを生成する。
【0062】
ステップS606では、仮想カメラパス送信部114において、S605で生成した仮想カメラパスを仮想視点画像生成装置106に送信する。
【0063】
ステップS607では、仮想カメラパス送信部114において、ステップS505で生成した仮想カメラパスの内、S602で取得した時刻に対応するデータを仮想視点画像生成装置106に送信する。
【0064】
ステップS608では、仮想視点画像を生成可能な時刻を1フレーム分インクリメントする。
【0065】
以上のように本実施形態では、コントローラからの操作情報を基に仮想カメラパスを送信しつつ、イベント情報取得時にはイベント情報を基に生成した仮想カメラパスを仮想視点画像生成装置106に送信する。またイベント情報取得時において、S501で説明したようにイベント発生時刻は現在時刻よりも過去であり、仮想視点画像を生成可能な時刻よりも未来の時刻である事を想定している。これにより、3次元モデルを生成する前に仮想カメラパスを生成することができるため、イベント発生時における不用意な仮想視点操作を防ぐことができる
<実施形態2>
実施形態1では、仮想視点画像を生成可能な時刻よりも未来に発生するイベント情報を取得するシステムにおいて、上記イベント情報を基に仮想カメラパスを生成する手段について記載した。しかしイベント検出装置104において、常に現在時刻と同じ時刻でイベント検出が可能でない場合も考えられる。その場合、イベント情報取得部111がイベント情報を取得した時点で、仮想視点画像を生成可能な時刻よりもイベント発生時刻の方が過去の時間になってしまう場合があり得る。そのため本実施形態では、仮想視点画像を生成可能な時刻とイベント発生時刻を比較し、イベント発生時刻の方が未来の時刻であった場合のみイベント情報を基にした仮想カメラパス生成を行う構成について記載する。
【0066】
図7は、本開示の実施形態2に係るシステム構成図である。なお、生成フラグ管理部701以外は
図1と同様のため、説明は省略する。
【0067】
生成フラグ管理部701は、仮想カメラパスの生成フラグを管理しており、カメラパス生成部113においてイベント情報を基に仮想カメラパスが生成された際にTRUEに遷移する。カメラパス生成フラグは、イベント情報を基に仮想カメラパスが生成されたか否かを判別するためのフラグである。カメラパス生成部113は、このフラグがTRUEの時、仮想視点画像を生成可能な時刻と生成済み仮想カメラパスの時刻を比較する。生成済み仮想カメラパスの時刻が未来の時刻であった場合には、生成済み仮想カメラパスを保持する。生成済み仮想カメラパスの時刻が過去の時刻であった場合には、生成済み仮想カメラパスを削除する。また仮想カメラパス生成部113は生成済み仮想カメラパスを削除後、従来通りコントローラからの操作情報を基に仮想カメラパスを生成し、仮想視点画像生成装置106に送信する。
【0068】
図8は、仮想カメラ制御装置110においてイベント情報から仮想カメラパスを生成するフローチャートである。なお、ステップS801およびステップS802以外は、
図5と同様であるため説明を省略する。
【0069】
ステップS801では、S505で生成した仮想カメラパスの開始時刻、すなわち生成した仮想カメラパスのうち、最も早い時刻を保持する。
【0070】
ステップS802では、生成フラグ管理部701で管理される仮想カメラパスの生成フラグをTRUEに遷移させる。
【0071】
図9は、仮想カメラ制御装置110において(1/60)秒おきに仮想視点画像生成装置106に仮想カメラパスを送信するフローチャートである。なお、
図6のフローチャートとは並列に動作するものとする。
【0072】
本実施形態では、ステップS601~ステップS609を(1/60)秒ごとに繰り返し実行する。なお、この繰返し周期は、仮想カメラパスを60fpsで生成する事に起因している。なお、ステップS901~ステップS904以外は、
図6と同様であるため説明を省略する。
【0073】
ステップS901では、生成フラグ管理部701で管理される仮想カメラパス生成フラグがTRUEか否かを判定する。FALSEだった場合、ステップS903に進む。TRUEだった場合、更に仮想視点画像を生成可能な時刻と、S603で生成済みと判断した仮想カメラパスの開始時刻を比較する。比較の結果、仮想カメラパス開始時刻の方が過去の時間であった場合、ステップS902に進み、そうでなかった場合にはステップS903に進む。
【0074】
ステップS902では、S603で生成済みと判定した仮想カメラパスを、仮想カメラパス生成部113より削除する。つまり本ステップは、イベント情報を基に仮想カメラパスを生成したとしても、仮想視点画像を生成可能な時刻に間に合わなかった場合には、生成された仮想カメラパスは破棄されることを意味する。ステップS902の後はS604に進み、従来通りコントローラ105からの操作情報を基に仮想カメラパスを生成するフローに進む。
【0075】
ステップS903では、S603で生成済みと判定した仮想カメラパスを、仮想視点画像生成装置106に送信する。
【0076】
ステップS904では、生成フラグ管理部701が管理する仮想カメラパスの生成フラグをFALSEに遷移させる。
【0077】
以上のように、実施形態2では、イベント情報を基に仮想カメラパスを生成した時、仮想視点画像を生成可能な時刻に間に合うか否かで、この仮想カメラパスを適用するか否かを判定する。
【0078】
尚、本実施形態における制御の一部または全部を上述した実施形態の機能を実現するコンピュータプログラムをネットワークまたは各種記憶媒体を介して画像処理システム等に供給するようにしてもよい。そしてその画像処理システム等におけるコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行するようにしてもよい。その場合、そのプログラム、および該プログラムを記憶した記憶媒体は本開示を構成することとなる。
【0079】
尚、本実施形態の開示は、以下の構成、方法及びプログラムを含む。
(構成1)複数の撮像装置の撮像により取得される複数の画像に基づく3次元モデルを用いて生成される仮想視点画像に対応する仮想視点を決定する情報処理装置であって、
イベント情報を取得する取得手段と、
被写体の3次元モデルを生成する前に、前記イベント情報に基づいて仮想視点の位置および仮想視点からの視線方向を決定する決定手段と
を有することを特徴とする装置。
(構成2)前記イベント情報は、被写体の行動または被写体に生じる事象を示す情報であり、
前記決定手段は、前記イベント情報が前記被写体の特定の行動または前記被写体に生じる事象である場合に、前記仮想視点の位置および前記仮想視点からの視線方向を決定する
ことを特徴とする構成1に記載の装置。
(構成3)前記イベント情報は、前記被写体の行動が特定された位置または前記被写体に生じる事象が特定された位置を示すイベント発生位置を含む情報であり、
前記決定手段は、前記イベント発生位置を仮想視点画像に含むように、前記仮想視点の位置および前記仮想視点からの視線方向を決定することを特徴とする構成2に記載の装置。
(構成4)前記決定手段は、前記イベント発生位置が前記仮想視点画像の中心に位置するように、前記仮想視点の位置および前記仮想視点からの視線方向を決定することを特徴とする構成3に記載の装置。
(構成5)前記取得手段は、前記被写体の位置情報を取得し、
前記決定手段は、前記被写体の位置情報に基づいて、前記被写体を仮想視点画像に含むように、前記仮想視点の位置および前記仮想視点からの視線方向を決定することを特徴とする構成1乃至4のいずれか1項に記載の装置。
(構成6)前記決定手段は、前記被写体が前記仮想視点画像の中心に位置するように、前記仮想視点の位置および前記仮想視点からの視線方向を決定することを特徴とする構成5に記載の装置。
(構成7)前記複数の画像は、前記被写体を異なる方向から撮像した画像であり、
前記取得手段は、前記複数の画像に基づくステレオマッチング法を用いることにより、前記被写体の位置情報を取得することを特徴とする構成5に記載の装置。
(構成8)前記イベント情報は、被写体の行動または被写体に生じる事象が発生した時刻を含む情報であることを特徴とする構成1乃至7のいずれか1項に記載の装置。
(構成9)前記取得手段は、前記複数の画像に基づいて、前記イベント情報を取得することを特徴とする構成1乃至8のいずれか1項に記載の装置。
(構成10)前記取得手段は、前記複数の画像を入力としイベント情報を出力する学習モデルを用いることにより、前記イベント情報を取得することを特徴とする構成1乃至9のいずれか1項に記載の装置。
(構成11)更に、音情報を取得するための入力手段を有し、
前記取得手段は、前記取得した音情報に基づいて、前記被写体の位置情報と前記イベント情報とを取得することを特徴とする構成1乃至10のいずれか1項に記載の装置。
(構成12)前記取得手段は、仮想視点の位置および仮想視点からの視線方向を取得し、
前記決定手段は、前記取得手段により取得された前記仮想視点の位置および前記仮想視点からの視線方向を、前記決定手段により決定された前記仮想視点の位置および前記仮想視点からの視線方向に制御することを特徴とする構成1乃至11のいずれか1項に記載の装置。
(構成13)更に、前記取得された仮想視点の位置および仮想視点からの視線方向を、前記決定された仮想視点の位置及び仮想視点からの視線方向に制御するための補間情報を生成する補間手段を有することを特徴とする構成12に記載の装置。
(構成14)前記補間手段は、スプライン補間により前記補間情報を生成することを特徴とする構成13に記載の装置。
(構成15)更に、ユーザーが仮想視点を移動させるための入力手段を有し、
前記取得手段は、ユーザーからの入力手段への入力情報に基づいて、前記仮想視点の位置および前記仮想視点からの視線方向を取得することを特徴とする構成12に記載の情報処理装置。
(構成16)更に、前記複数の画像に基づいて被写体の3次元モデルを生成する第1生成手段と、
前記第1生成手段により生成された前記被写体の3次元モデルと、前記決定手段により決定された前記仮想視点の位置および前記仮想視点からの視線方向と、に基づいて仮想視点画像を生成する第2生成手段と
を有することを特徴とする構成1乃至15に記載の装置。
(方法)複数の撮像装置の撮像により取得される複数の画像に基づく3次元モデルを用いて生成される仮想視点画像に対応する仮想視点を決定する情報処理装置であって、
イベント情報を取得する取得工程と、
被写体の3次元モデルを生成する前に、前記イベント情報に基づいて仮想視点の位置および仮想視点からの視線方向を決定する決定工程と
を有することを特徴とする方法。
(プログラム)構成1乃至16のいずれか1項に記載の情報処理装置の各手段をコンピュータにより制御するためのコンピュータプログラム。
【符号の説明】
【0080】
101 カメラ群
102 3次元モデル生成装置
104 イベント検出装置
113 仮想カメラパス生成部
115 生成時刻管理部