(57)【特許請求の範囲】
【請求項１】
位置が遷移する動く素材である動的素材と、位置が遷移せず動かない素材である静的素材と、位置が遷移せず動く素材である特殊動的素材が実環境に存在するものとし、前記実環境を再現する仮想環境を生成する仮想環境生成装置であって、
前記動的素材を仮想環境上に再現するための仮想動的素材と、前記静的素材を仮想環境上に再現するための仮想静的素材とを取得する仮想素材取得部と、
前記仮想動的素材の位置および姿勢を検出してその時系列データを取得する仮想動的素材位置姿勢検出部と、
予め定めた事前準備フェーズにおいて、前記特殊動的素材を撮影する第１視点カメラによる第一映像と、前記第１視点カメラと異なる視点から前記特殊動的素材を撮影する第２視点カメラによる第二映像とを対応付ける事前準備部と、
予め定めた仮想環境生成フェーズにおいて取得された前記第二映像と類似する前記事前準備フェーズにおける前記第二映像を検索し、検索された前記第二映像と対応付けられた前記第一映像を出力する類似映像検索部と、
出力された前記第一映像に基づいて、前記特殊動的素材を仮想環境上に再現するための仮想特殊動的素材を生成する仮想特殊動的素材生成部と、
前記仮想動的素材と前記仮想特殊動的素材とを同期する同期部と、
前記仮想静的素材と、同期された前記仮想動的素材と、同期された前記仮想特殊動的素材に基づいて前記仮想環境を生成する仮想環境生成部と、
を含む仮想環境生成装置。
【請求項２】
請求項１に記載の仮想環境生成装置であって、
前記第一映像にオクルージョンが発生する場合であっても、前記第二映像にはオクルージョンが発生しないように、前記第２視点カメラが配置された
仮想環境生成装置。
【請求項３】
位置が遷移する動く素材である動的素材と、位置が遷移せず動かない素材である静的素材と、位置が遷移せず動く素材である特殊動的素材が実環境に存在するものとし、前記実環境を再現する仮想環境を生成する仮想環境生成装置が実行する仮想環境生成方法であって、
前記動的素材を仮想環境上に再現するための仮想動的素材と、前記静的素材を仮想環境上に再現するための仮想静的素材とを取得するステップと、
前記仮想動的素材の位置および姿勢を検出してその時系列データを取得するステップと、
予め定めた事前準備フェーズにおいて、前記特殊動的素材を撮影する第１視点カメラによる第一映像と、前記第１視点カメラと異なる視点から前記特殊動的素材を撮影する第２視点カメラによる第二映像とを対応付けるステップと、
予め定めた仮想環境生成フェーズにおいて取得された前記第二映像と類似する前記事前準備フェーズにおける前記第二映像を検索し、検索された前記第二映像と対応付けられた前記第一映像を出力するステップと、
出力された前記第一映像に基づいて、前記特殊動的素材を仮想環境上に再現するための仮想特殊動的素材を生成するステップと、
前記仮想動的素材と前記仮想特殊動的素材とを同期するステップと、
前記仮想静的素材と、同期された前記仮想動的素材と、同期された前記仮想特殊動的素材に基づいて前記仮想環境を生成するステップと、
を含む仮想環境生成方法。
【請求項４】
請求項３に記載の仮想環境生成方法であって、
前記第一映像にオクルージョンが発生する場合であっても、前記第二映像にはオクルージョンが発生しないように、前記第２視点カメラが配置された
仮想環境生成方法。
【請求項５】
コンピュータを請求項１または２に記載の仮想環境生成装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境を生成する仮想環境生成装置、仮想環境生成方法、プログラムに関する。
【背景技術】
【０００２】
スポーツの試合において、事前に体験していない初めての状況に遭遇すると、十分なパフォーマンスを発揮できないことがある。野球では「初物に弱い」という表現を用いて初対戦の投手を苦手とする状況が語られることがある。この状況に対し、実際の試合と同じ環境において選手の目線で事前に投手の投球を体験することが有効であると考えられる。
【０００３】
しかしながら、次の対戦相手の投球を完全な形で事前体験することは事実上困難である。次の対戦相手の投球を事前体験するために、スタンドなどから撮影した対戦相手の過去の投球映像を視聴する方法が知られているが、この方法において視聴される映像は実際にバッターボックスに立っている選手が見ている風景とは視点や視野が異なり、事前体験として十分ではない。
【０００４】
非特許文献１には、選手の目線における事前体験の実現方法としてバッターボックス内の選手の目線の位置に３６０度のパノラマ画像を撮影できるカメラ（以下、全天球カメラと呼ぶ）を設置し、全天球カメラで撮影した選手目線の映像をヘッドマウントディスプレイにより視聴する方法が開示されている。
【０００５】
しかしながら、試合中にバッターボックス内に全天球カメラを設置することは事実上困難であるから、非特許文献１の方法は実現が難しい。
【０００６】
非特許文献１以外の事前体験の実現方法として、例えば実環境を全てＣＧで再現した仮想環境を生成することも考えられる。しかしながら、プレー中の選手のＣＧを正確に作るためには実際にプレーしている選手に高精度なセンサを装着させる必要があり、実環境を全てＣＧで再現することはかなり高コストになる。非特許文献２には、簡易に臨場感の高い仮想環境を作り出す方法として、ピッチャーのように複雑な動きをする素材に対しては、実写映像をＣＧデータ（ビルボード）にテクスチャとして貼り付ける方法が開示されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ochi, D., Kunita, Y., Kameda, A., Kojima, A., Iwaki, S., “Live streaming system for omnidirectional video”, Virtual Reality (VR), 2015 IEEE , pp. 349-350, March 2015.
【非特許文献２】林邦彦、斎藤英雄、「多視点サッカー映像からの自由視点映像生成」、情報処理学会研究報告、社団法人情報処理学会、平成18年5月18日、2006-CVIM-154(24)、pp.173-180
【発明の概要】
【発明が解決しようとする課題】
【０００８】
例えば図１に示すように、野球の右バッターボックス７１に立つバッター８２の体験を事前体験するために、仮想環境を生成する場合を想定する。この場合、ピッチャー８１はカメラで撮影した映像に基づいたビルボード表現を用いてＣＧ化することとすると、ピッチャー８１を撮影するカメラのアングルはバッター８２が見ている方向と極力一致することが望ましい。すなわち、カメラ９３ａのようにピッチャー８１とバッター８２を通る直線上に存在し、かつその撮影方向がピッチャー８１とバッター８２を通る直線と平行な方向であることが望ましいと考えられる。しかしながら、実際の試合においてカメラ９３ａの位置からピッチャー８１を撮影しようとすると、バッター８２がオクルージョンとなってしまうため、カメラ９３ａで撮影した映像を用いてＣＧデータを作成すると違和感が大きいという課題があった。また、バッター８２のオクルージョンを回避する方法としてカメラ９３ｂのように別の角度から撮影した映像を用いる方法も考えられるが、カメラ９３ｂとカメラ９３ａは視点が異なるため、カメラ９３ｂで撮影した映像を用いてＣＧデータを作成してもピッチャー８１の向きに関して違和感が大きいという課題があった。
【０００９】
そこで本発明では違和感の少ない仮想環境を生成できる仮想環境生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
位置が遷移する動く素材である動的素材と、位置が遷移せず動かない素材である静的素材と、位置が遷移せず動く素材である特殊動的素材が実環境に存在するものとする。本発明の仮想環境生成装置は、このような実環境を再現する仮想環境を生成する仮想環境生成装置である。本発明の仮想環境生成装置は、仮想素材取得部と、仮想動的素材位置姿勢検出部と、事前準備部と、類似映像検索部と、仮想特殊動的素材生成部と、同期部と、仮想環境生成部を含む。
【００１１】
仮想素材取得部は、動的素材を仮想環境上に再現するための仮想動的素材と、静的素材を仮想環境上に再現するための仮想静的素材とを取得する。仮想動的素材位置姿勢検出部は、仮想動的素材の位置および姿勢を検出してその時系列データを取得する。事前準備部は、予め定めた事前準備フェーズにおいて、特殊動的素材を撮影する第１視点カメラによる第一映像と、第１視点カメラと異なる視点から特殊動的素材を撮影する第２視点カメラによる第二映像とを対応付ける。類似映像検索部は、予め定めた仮想環境生成フェーズにおいて取得された第二映像と類似する事前準備フェーズにおける第二映像を検索し、検索された第二映像と対応付けられた第一映像を出力する。仮想特殊動的素材生成部は、出力された第一映像に基づいて、特殊動的素材を仮想環境上に再現するための仮想特殊動的素材を生成する。同期部は、仮想動的素材と仮想特殊動的素材とを同期する。仮想環境生成部は、仮想静的素材と、同期された仮想動的素材と、同期された仮想特殊動的素材に基づいて仮想環境を生成する。
【発明の効果】
【００１２】
本発明の仮想環境生成装置によれば、違和感の少ない仮想環境を生成できる。
【図面の簡単な説明】
【００１３】
【図１】バッターボックスに立つバッターの視点を再現するためのカメラアングルの例を示す模式図。
【図２】実施例１で使用される第１、第２視点カメラの配置例を示す模式図。
【図３】実施例１の仮想環境生成装置の構成を示すブロック図。
【図４】実施例１の仮想環境生成装置の事前準備フェーズにおける動作を示すフローチャート。
【図５】映像情報テーブルを例示する図。
【図６】実施例１の仮想環境生成装置の仮想環境生成フェーズにおける動作を示すフローチャート。
【図７】仮想素材位置姿勢情報テーブルを例示する図。
【図８】類似映像検索部の動作の例を示すフローチャート。
【図９】仮想特殊動的素材生成部の動作の例を示すフローチャート。
【図１０】同期部の動作の例を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１５】
本明細書ではピッチャーやボールやスタジアムのように現実に存在する人、物を素材と呼ぶ。素材のうちその位置が（時間経過により）遷移し、かつ動く素材（例えば、ボール）を動的素材、その位置が遷移せず動かない素材（例えば、スタジアム、スコアボード、観客席）を静的素材、その位置は遷移しないものとみなされるがその位置に留まったまま動く素材（例えば、野球のピッチャーやサーブを打つテニスプレイヤー）を特殊動的素材と呼ぶ。
【００１６】
素材を仮想環境に再現するためのコンピュータ・グラフィクスデータ（ＣＧデータ）を仮想素材と呼ぶ。仮想素材のうち、動的素材を仮想環境上に再現するための仮想素材を仮想動的素材、静的素材を仮想環境上に再現するための仮想素材を仮想静的素材、特殊動的素材を仮想環境上に再現するための仮想素材を仮想特殊動的素材と呼ぶ。
【００１７】
実施例１では、図２に示すように、事前体験をする対象（以下、体験対象。例えば同図Ｂにおけるバッター８２など）と実写映像を撮影する対象（以下、撮影対象。例えば同図におけるピッチャー８１など）を結ぶ直線上、またはその付近に第１視点カメラ９３ａ−１が存在するものとする。また、撮影対象を常に観測できる場所に第２視点カメラ９３ａ−２があるものとする。すなわち、第１視点カメラ９３ａ−１が撮影する第一映像にオクルージョンが発生する場合であっても、第２視点カメラ９３ａ−２が撮影する第二映像にはオクルージョンが発生しないように、第２視点カメラ９３ａ−２が配置されているものとする。
【００１８】
時刻ｔではオクルージョンが存在しない状況、すなわち第１視点カメラ９３ａ−１と第２視点カメラ９３ａ−２が共に撮影対象を良好に撮影できる状況で映像Ｖ１（ｔ）、Ｖ２（ｔ）が取得できていたとする（同図Ａ参照）。次に、ある時刻ｔ’において第１視点カメラ９３ａ−１と撮影対象の間にオクルージョンが存在し、撮影対象が遮られているものとする（同図Ｂ参照）。ここで、映像Ｖ２（ｔ’）と映像Ｖ２（ｔ）が類似している場合、Ｖ１（ｔ）とＶ１（ｔ’）も類似しているものとする。第１視点カメラ９３ａ−１、第２視点カメラ９３ａ−２が共に撮影対象を良好に撮影できる状態において事前に撮影しておき、第１視点カメラ９３ａ−１と撮影対象の間にオクルージョンが存在する場合には異なる視点から撮影対象を撮影する第２視点カメラ９３ａ−２で撮影した第二映像をクエリとして、過去の映像からクエリに類似する第二映像を検索する。
【００１９】
実施例１の仮想環境生成装置１の構成を図３に示す。本実施例では仮想環境生成装置１の外部または内部に２台以上のカメラを有するものとする。少なくとも１台のカメラは図２の第１視点カメラ９３ａ−１のように、体験対象と撮影対象を結ぶ直線上またはその付近に設置され、撮影対象の方向を向いていることとする。もう一台のカメラは、図２の第２視点カメラ９３ａ−２のように、第１視点カメラと異なる視点から撮影対象を撮影できるように設置されているものとする。
図３の例では、動的素材を撮影するための第１カメラ９１、第２カメラ９２、特殊動的素材を撮影するための第１視点カメラ９３ａ−１、第２視点カメラ９３ａ−２を仮想環境生成装置１の外部に備えるものとする。なお詳細は後述するが、第１カメラ９１、第２カメラ９２は他のセンサに代替可能である。
【００２０】
本実施例の仮想環境生成装置１は、事前準備部１０と、映像記憶部１０Ａと、仮想素材取得部１１と、仮想素材記憶部１１Ａと、仮想動的素材位置姿勢検出部１２と、仮想素材位置姿勢記憶部１２Ａと、類似映像検索部１２５と、仮想特殊動的素材生成部１３と、仮想特殊動的素材記憶部１３Ａと、同期部１４と、仮想環境生成部１５と、仮想素材組み込みリスト記憶部１５Ａと、描画部１６を含む。
【００２１】
以下、本実施例の仮想環境生成装置１の動作の概略を説明する。以下では野球を例に挙げ、具体的には図１に示したように右バッターボックス７１にバッター８２が立っている状態で、右バッターボックス７１における試合の事前体験が可能な仮想環境を生成することを想定して説明を行う。本実施例において、仮想環境生成装置１の動作の流れは大きく２つのフェーズに分けることができる。１つは事前準備フェーズである。事前準備フェーズでは、ピッチャー８１を撮影した第一映像と第二映像とを対応付けて保存する。もう一つは仮想環境生成フェーズである。仮想環境生成フェーズでは、各仮想素材を組み合わせて仮想環境を生成する。
【００２２】
＜事前準備フェーズ＞
事前準備フェーズにおいて、特殊動的素材（ピッチャー）は、例えば図３に示す第１視点カメラ９３ａ−１、第２視点カメラ９３ａ−２で撮影される。事前準備部１０は、第１視点カメラ９３ａ−１による第一映像と、第２視点カメラ９３ａ−２による第二映像とを対応付け、映像記憶部１０Ａに記憶する（Ｓ１０）。
【００２３】
＜仮想環境生成フェーズ＞
仮想環境生成フェーズにおいて、まず仮想素材取得部１１は、仮想動的素材と仮想静的素材を取得する（Ｓ１１）。仮想動的素材、仮想静的素材は、仮想環境を生成するために必要なＣＧデータであるため、例えば人手で仮想素材取得部１１に予め入力される。ステップＳ１１で取得された仮想動的素材、仮想静的素材は仮想素材記憶部１１Ａに記憶される。
【００２４】
動的素材（ボール）は、第１カメラ９１、第２カメラ９２で撮影される。仮想動的素材位置姿勢検出部１２は、第１カメラ９１、第２カメラ９２で動的素材（例えば野球のボール）を撮影した映像に基づいて、動的素材に対応する仮想動的素材の位置および姿勢（野球ボールのＣＧデータの仮想空間上の軌道）を検出してその時系列データ（以下、軌道データともいう）を取得する（Ｓ１２）。ステップＳ１２で検出された仮想動的素材の位置および姿勢（時系列データ、軌道データ）は仮想素材位置姿勢記憶部１２Ａに記憶される。仮想素材位置姿勢記憶部１２Ａには、予め仮想静的素材、仮想特殊動的素材の位置および姿勢（例えばスタジアム、スコアボード、ピッチャーのＣＧデータの位置、姿勢）が記憶されているものとする。仮想静的素材、仮想特殊動的素材の位置および姿勢は、予め人手で入力されることとしてもよい。
【００２５】
類似映像検索部１２５は、仮想環境生成フェーズにおいて取得された第二映像をクエリとして、これに類似するステップＳ１０における第二映像を、映像記憶部１０Ａから検索し、検索された第二映像と対応づけられた第一映像を出力する（Ｓ１２５）。
【００２６】
仮想特殊動的素材生成部１３は、ステップＳ１２５で出力された第一映像に基づいて仮想特殊動的素材を生成する（Ｓ１３）。仮想特殊動的素材生成部１３は、第一映像を用いて簡易なＣＧデータを作成するものとする。ステップＳ１３で生成されるＣＧデータの詳細については後述する。ステップＳ１３で生成されたＣＧデータ（仮想特殊動的素材）は、仮想特殊動的素材記憶部１３Ａに記憶される。
【００２７】
同期部１４は、仮想動的素材と仮想特殊動的素材とを同期する（Ｓ１４）。ステップＳ１４の詳細については後述する。ステップＳ１４における同期の結果は、仮想素材位置姿勢記憶部１２Ａに記憶される。
【００２８】
仮想環境生成部１５は、仮想静的素材と、同期された仮想動的素材と、同期された仮想特殊動的素材に基づいて仮想環境を生成する（Ｓ１５）。仮想環境生成部１５は、各仮想素材の位置姿勢情報、同期情報に基づいてＣＧデータを配置することで仮想環境を生成する。
【００２９】
描画部１６は、生成された仮想環境を描画し、全天球映像などの映像として出力する（Ｓ１６）。なお、上述の例におけるピッチャーとボールの関係は、テニス、バレーボール、卓球やバドミントンなどの様々な球技における選手とボール（あるいは羽など）に置き換えて考えることができる。  以下、各構成要件の入力、出力、処理内容について詳細に説明する。
【００３０】
［事前準備部１０］
入力：事前準備フェーズにおいて取得された第一、第二映像（入力元：第１視点カメラ９３ａ−１、第２視点カメラ９３ａ−２）
出力：事前準備フェーズにおいて取得された第一、第二映像（出力先：映像記憶部１０Ａ）
処理内容：事前準備部１０は、事前準備フェーズにおいて取得された第一映像と第二映像とを関連付けて映像記憶部１０Ａに記憶する。第一、第二映像には撮影対象である特殊動的素材（ピッチャー）が含まれているものとする。
【００３１】
［映像記憶部１０Ａ］
入力：事前準備フェーズにおいて取得された第一、第二映像（入力元：事前準備部１０）
出力：第一、第二映像（出力先：類似映像検索部１２５）
処理内容：映像記憶部１０Ａは、事前準備部１０から第一映像と第二映像を取得し、これらを関連付けて記憶する。映像記憶部１０Ａは、類似映像検索部１２５の要求（クエリ）に応じて、対応する第一映像を出力する。このとき、クエリと類似する第二映像を共に出力してもよい。
【００３２】
図５に、映像記憶部１０Ａに記憶される映像情報テーブルの一例を示す。映像情報テーブルはレコードＩＤと第一視点カメラ、第二視点カメラに対応する列を持つ。レコードＩＤには各レコードに対するＩＤが格納され、カメラに対応する列ではそれぞれのカメラで撮影された映像に対するＩＤが格納される。
【００３３】
［仮想素材取得部１１］
入力：仮想静的素材、仮想動的素材（入力元：外部装置など、図示せず）
出力：仮想静的素材、仮想動的素材（出力先：仮想素材記憶部１１Ａ）
処理内容：仮想素材取得部１１は仮想静的素材、仮想動的素材を外部装置などから取得し、取得した仮想静的素材、仮想動的素材を仮想素材記憶部１１Ａに記憶する。仮想静的素材、仮想動的素材は事前に用意され、仮想素材取得部１１に入力されるものとする。
【００３４】
［仮想素材記憶部１１Ａ］
入力：仮想静的素材、仮想動的素材（入力元：仮想素材取得部１１）
出力：仮想静的素材、仮想動的素材（出力先：仮想環境生成部１５）
処理内容：仮想素材記憶部１１Ａは仮想素材取得部１１が取得した仮想静的素材、仮想動的素材を仮想素材ＩＤと対応付けて記憶し、仮想環境生成部１５の要求に応じて仮想静的素材、仮想動的素材を出力する。仮想静的素材の具体例として、野球であればスタジアムのＣＧデータ、テニスであればテニスコートのＣＧデータなどが挙げられる。仮想動的素材の具体例として、野球であれば野球ボール、テニスであればテニスボールのＣＧデータなどが挙げられる。
【００３５】
［仮想動的素材位置姿勢検出部１２］
入力：センサ（カメラ）の出力値（入力元：例えば第１カメラ９１、第２カメラ９２）
出力：仮想動的素材の各時刻の位置および姿勢（出力先：仮想素材位置姿勢記憶部１２Ａ）
処理内容：仮想動的素材位置姿勢検出部１２は、センサ（カメラ）の出力値に基づいて実環境における動的素材の位置および姿勢を推定し、推定結果に基づいて動的素材に対応する仮想動的素材の各時刻の仮想空間上の位置および姿勢を検出し、その時系列データを取得する。
【００３６】
前述したように動的素材の３次元の位置および姿勢を推定するためのセンサとして、複数カメラ（例えば第１カメラ９１、第２カメラ９２）が利用できる。複数カメラを利用して物体の３次元の位置情報を算出する手法の具体例として、ステレオ法を用いた方法がある。具体的には、予めカメラキャリブレーションを実施したカメラ群で撮影された映像に対し、画像上の物体の位置を求める。このとき、画像上の物体の位置は手作業で与えてもよいし、テンプレートマッチングなどの検出手法を用いて物体を検出し、その中心位置を物体の位置としてもよい。これら画像上で検出された位置とカメラキャリブレーションで求めたカメラパラメータを用いてステレオ法を適用することで物体の３次元位置を求めることができる。
【００３７】
また、姿勢情報に関しては、撮影した物体表面の詳細（例えばボールの縫い目、模様）から基準の姿勢に対してどの程度回転しているのかを求めることができる。動的素材の位置および姿勢を求めるセンサの他の例としては、ドップラーレーダーなどを挙げることができる。ドップラーレーダーは公知の技術であるため、詳細な説明は省略する。その他、物体の３次元位置姿勢情報を取得できるセンサおよび手法であればどのような方法でもよい。本ステップＳ１２において推定された動的素材（例えば野球のボール）の位置および姿勢は、本ステップ内において対応する仮想動的素材（例えば野球のボールのＣＧデータ）の仮想空間上の位置および姿勢に変換され、仮想動的素材の位置および姿勢に関する時系列データが出力されるという点に留意する。
【００３８】
［仮想素材位置姿勢記憶部１２Ａ］
入力：仮想素材の位置姿勢情報、同期情報（入力元：仮想動的素材位置姿勢検出部１２、同期部１４）
出力：仮想素材の位置姿勢情報、同期情報（出力先：同期部１４、仮想環境生成部１５）
処理内容：仮想素材位置姿勢記憶部１２Ａは、各仮想素材の位置姿勢情報、同期情報を記憶する。仮想素材位置姿勢記憶部１２Ａは、仮想動的素材位置姿勢検出部１２により取得された時系列データを、仮想動的素材の各時刻における位置および姿勢として記憶する。一方、スタジアム、グラウンド、ピッチャーなどのように時間経過とともに位置が遷移しない静的素材、特殊動的素材に関する位置姿勢情報については、仮想素材位置姿勢記憶部１２Ａは、予め用意されたデータを記憶するものとする。具体的には、仮想素材位置姿勢記憶部１２Ａには、各時刻における各仮想素材の３次元の位置姿勢情報を表すレコードによって構成される仮想素材位置姿勢情報テーブル（図７参照）が記憶されている。
【００３９】
仮想素材位置姿勢情報テーブルは、図７に示すように、素材を一意に識別する「素材ＩＤ」と、仮想素材を一意に識別する「仮想素材ＩＤ」と、各「時刻」における仮想素材の「位置」および「姿勢」の各値を有する。位置は３次元の並進ベクトルとして表され、姿勢は各軸に対する回転角を表す３次元ベクトルとして表される。例えば、野球の投球を想定した場合、素材Ｏｉがストレートボールを表すとすると、素材Ｏｉに対応する仮想素材Ｅｉは、仮想素材記憶部１１Ａに記憶された野球ボールのＣＧデータである。このとき、各時刻に対応する位置および姿勢はその時刻に野球ボールのＣＧデータが仮想空間上のどの位置にどの姿勢で存在しているかということを表している。より具体的には、位置Ｔｉ（１），…，Ｔｉ（ｔｉ）は野球ボールのＣＧデータ（仮想素材Ｅｉ）の仮想空間上の軌道を、姿勢Ｒｉ（１），…，Ｒｉ（ｔｉ）は野球ボールのＣＧデータ（仮想素材Ｅｉ）が仮想空間上をどのように回転していくかを表している。なお、図７において、時刻に「−」が格納されている仮想素材は、スタジアムやピッチャーのように時間経過に伴い位置や姿勢が遷移しない仮想静的素材、仮想特殊動的素材であることを表す。このような位置や姿勢が遷移しない仮想素材の位置姿勢情報は予め記憶されているものとする。また、各仮想素材に対して定められている時刻は、その仮想素材が後述する仮想環境生成部１５によって仮想環境に組み込まれた時点からの経過時刻を表す。具体的には、仮想環境生成部１５が時刻ｔａの時点で仮想素材Ｅｉを仮想環境に組み込んだ場合、時刻（ｔａ＋１）の時点の仮想素材Ｅｉの位置および姿勢はそれぞれＴｉ（１），Ｒｉ（１）であり、時刻（ｔａ＋２）の時点の仮想素材Ｅｉの位置および姿勢はそれぞれＴｉ（２），Ｒｉ（２）である。
【００４０】
［類似映像検索部１２５］
入力：事前準備フェーズにおいて取得された第一、第二映像（入力元：映像記憶部１０Ａ）、仮想環境生成フェーズにおいて取得された第一、第二映像（入力元：第１視点カメラ９３ａ−１、第２視点カメラ９３ａ−２）
出力：第一映像（出力先：仮想特殊動的素材生成部１３）
処理内容：類似映像検索部１２５の処理フローの例を図８に示す。類似映像検索部１２５は、仮想環境生成フェーズにおいて第一映像、第二映像を取得する（Ｓ１２５１）。ステップＳ１２５１で取得した第二映像をＶｉｎと呼ぶ。類似映像検索部１２５は、映像記憶部１０Ａから第一映像、第二映像を読みだす（Ｓ１２５２）。ステップＳ１２５２で読み出した第二映像をＶｃｏｍｐと呼ぶ。類似映像検索部１２５は、第二映像Ｖｉｎと、第二映像Ｖｃｏｍｐの類似度を計算する（Ｓ１２５３）なお、ステップＳ１２５３における第二映像の類似度はどのように計算してもよい。例えば、撮影する映像が投球シーンであれば、各時刻におけるピッチャーの関節の位置を類似度の計算に用いることができる。具体的には、ピッチャーの関節がＡ個あるものとし、時刻ｔにおける映像Ｖｉｎ上の関節ｊの２次元座標をｑ（ｉｎ，ｊ，ｔ），映像Ｖｃｏｍｐ上の関節ｊの２次元座標をｑ（ｃｏｍｐ，ｊ，ｔ）とすると、類似度ｓを以下のように定めることができる。
【００４１】
【数１】
0006602726.tif 000002
【００４２】
なお、ｔｉｎおよびｔｃｏｍｐはそれぞれＶｉｎとＶｃｏｍｐの映像の長さであり、ｔｏｆｆｓｅｔ＝ｔｉｎ−ｔｃｏｍｐである。ただし、このときｔｉｎ≧ｔｃｏｍｐであるものとする。ｔｉｎ＜ｔｃｏｍｐの場合は、上述の式は、
【００４３】
【数２】
0006602726.tif 000003
【００４４】
となる。また、ｋ（ｊ）は各関節に関する係数であり、これは予め定められているものとする。なお、関節の位置は人手で与えても良いし、画像から自動で検出してもよい。
【００４５】
次に、類似映像検索部１２５は、全ての第二映像を映像記憶部１０Ａから読みだしたか否かを判定する（Ｓ１２５４）。全ての第二映像を読みだしていなければ（Ｓ１２５４Ｎ）、処理はステップＳ１２５２に戻る。全ての第二映像を読みだしていれば（Ｓ１２５４Ｙ）、これまでに繰り返し実行されたステップＳ１２５３により計算した類似度に基づいて最も類似度が高い第二映像を選択し、その第二映像に対応する第一映像を映像記憶部１０Ａから読み出す（Ｓ１２５５）。最後に、類似映像検索部１２５は読みだした第一映像を仮想特殊動的素材生成部１３に出力する（Ｓ１２５６）。
【００４６】
［仮想特殊動的素材生成部１３］
入力：第一映像（入力元：類似映像検索部１２５）
出力：仮想特殊動的素材（出力先：仮想特殊動的素材記憶部１３Ａ）
処理内容：仮想特殊動的素材生成部１３は、類似映像検索部１２５が出力した第一映像を入力とし、その映像の一部または全部を予め用意したＣＧデータにテクスチャとして貼り付けることで、実写に基づくＣＧデータを作成し、当該ＣＧデータを仮想特殊動的素材として出力する。
【００４７】
具体例として、野球のピッチャーの仮想特殊動的素材を生成する場合の仮想特殊動的素材生成部１３の動作を図９に示す。
【００４８】
図９の例では、映像を貼り付けるベースとなるＣＧデータとして長方形の平面（ビルボード）を利用する。まず仮想特殊動的素材生成部１３は、類似映像検索部１２５が出力した第一映像を取得する（Ｓ１３１）。次に仮想特殊動的素材生成部１３は、第一映像から部分映像Ｖ’を切り出す（Ｓ１３２）。なお、切り出す領域の例としては、例えばピッチャーが存在する領域を含む矩形領域が挙げられる。この矩形領域の大きさや位置は第一映像を見た人が予め人手で与えてもよいし、自動的に与えられてもよい。矩形領域の大きさや位置を自動的に与える方法としては、例えば背景差分法などがある。背景差分法を用いることでピッチャーが存在する領域を求めることができるので、この領域を含むように矩形領域を定めればよい。また、切り出す領域は矩形領域に限らず、例えばピッチャーが存在する領域のみを切り出してもよい。ピッチャーが存在する領域のみを切り出す方法として、前述の背景差分法などを用いることができる。なお、第一映像から部分映像Ｖ’を切り出す処理は行っても行わなくてもよい。部分映像Ｖ’を切り出す処理を行わない場合は、便宜上、第一映像と同じ大きさの矩形領域を切り出して映像Ｖ’を得たものとして取り扱う。最後に仮想特殊動的素材生成部１３は、映像Ｖ’を長方形の平面（ビルボード）にテクスチャとして貼り付け（Ｓ１３３）、そのＣＧデータを仮想特殊動的素材として仮想特殊動的素材記憶部１３Ａに出力する。
【００４９】
［仮想特殊動的素材記憶部１３Ａ］
入力：仮想特殊動的素材（入力元：仮想特殊動的素材生成部１３）
出力：仮想特殊動的素材（出力先：同期部１４、仮想環境生成部１５）
処理内容：仮想特殊動的素材記憶部１３Ａは、ステップＳ１３で生成された仮想特殊動的素材を記憶し、各構成要件の要求に応じて各構成要件に仮想特殊動的素材を出力する。
【００５０】
［同期部１４］
入力：仮想特殊動的素材（入力元：仮想特殊動的素材記憶部１３Ａ）、仮想動的素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部１２Ａ）、仮想特殊動的素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部１２Ａ）
出力：同期情報（出力先：仮想素材位置姿勢記憶部１２Ａ）
処理内容：同期部１４は、仮想特殊動的素材（例えばピッチャーのＣＧデータ）と、仮想特殊動的素材に関連する仮想動的素材（例えばピッチャーが投げたボールのＣＧデータ）の同期を取る。上記組み合わせの他の例としてはテニス選手のＣＧデータと、その選手がサーブしたテニスボールのＣＧデータなどが該当する。どの仮想特殊動的素材とどの仮想動的素材が関連するかに関しては、予め定められているものとする。同期とは、図７の仮想素材位置姿勢情報テーブルの同期素材の同期開始時刻を求めることに相当する。
【００５１】
具体例としてピッチャーのＣＧデータと、そのピッチャーが投げたボールのＣＧデータの同期を取る場合を考える。この場合、ビルボードにテクスチャとして貼り付けられた映像Ｖ’において、ピッチャーの手からボールがリリースされた瞬間の時刻を、同期素材であるボールのＣＧデータの同期開始時刻とすればよい。ここで、手からボールがリリースされた瞬間の時刻はどのような方法を用いて求めてもよい。
【００５２】
例えば、テクスチャ（映像Ｖ’）の毎時刻に対してボールのテンプレートマッチングを行い、最初に検出された時刻をボールがリリースされた瞬間の時刻、すなわち同期開始時刻としてもよい。あるいはテクスチャ（映像Ｖ’）の毎時刻に対してピッチャーのリリース時の手や腕の形のテンプレートを用いてテンプレートマッチングを行い、最初に検出された時刻を同期開始時刻としてもよい。
【００５３】
上記の方法ではピッチャーがボールをリリースする瞬間が映像Ｖ’に撮影されていることが前提となるが、ピッチャーの腕の振りの速度は非常に速いため、映像の撮影に用いられる一般的なフレームレート（例えば３０ｆｐｓ，６０ｆｐｓなど）では、撮影した映像Ｖ’にリリースの瞬間が収められていない場合がある。リリースの瞬間が映像Ｖ’に収められていない場合、上記のようにボールや手や腕のテンプレートをマッチングしてその時刻をリリース時刻とするのではなく、リリース前後の画像からリリース時刻を推定してもよい。
【００５４】
リリース前後の画像からリリース時刻を推定する方法としては、例えば学習を用いる手法がある。具体的には、リリースの瞬間を含むような高フレームレート（例えば１０００ｆｐｓ）で撮影した画像群からリリースの瞬間（時刻）を求め、リリースの瞬間（時刻）を基準として所定のフレーム過去または未来にシフトした時刻に該当するリリース前画像、リリース後画像からなる画像ペアを、シフトするフレーム数を異ならせて複数個作成する。上記の複数個の画像ペアとリリースの瞬間（時刻）を教師データとして、画像ペアからリリースの瞬間（時刻）を求めるモデルを学習する。このように学習されたモデルを用いることにより、低フレームレートにおけるリリース前の画像（第１画像ともいう）、低フレームレートにおけるリリース後の画像（第２画像ともいう）の画像ペアが与えられた場合に、リリースの瞬間（時刻）を推定することが可能となる。モデルの学習方法はどのような方法でもよい。例えばリリース前画像、リリース後画像における手の座標値や、腕の方向、リリース後のボールの位置などを特徴量として用いて線形識別器を適用してもよいし、特徴抽出も含めてＤＮＮを適用してもよい。
【００５５】
ステップＳ１４をより一般的な表現で再定義するとすれば、同期部１４は、人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えばリリース）する前を撮影した画像である第１画像（リリース前の画像）と、人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えば、リリース）した後を撮影した画像である第２画像（リリース後の画像）とからなる画像ペアを、実環境を撮影した映像（例えば映像Ｖ’）から抽出し、画像ペアを予め学習されたモデルと照合することで人間（例えばピッチャー）と物体（例えばボール）とが離隔する時刻（例えば、リリースされる瞬間）を推定し、推定された時刻に基づいて仮想動的素材（例えばボールのＣＧデータ）と仮想特殊動的素材（例えばピッチャーのＣＧデータ）を同期する。
【００５６】
上記の方法を用いたリリース時刻検出の一例を図１０に示す。同期部１４は、ピッチャーのＣＧデータに貼られたテクスチャ（映像Ｖ’）の全てのフレーム（毎時刻）に対してリリース判定を行う。具体的には、同期部１４は、ピッチャーのリリース時の手の形のテンプレートを用いてテンプレートマッチングを実行し、マッチングスコアを算出する（Ｓ１４１）。マッチングスコアが閾値ｔｈ１以上となる場合（Ｓ１４２Ｙ、すなわち類似の場合）、その時刻をボールの同期開始時刻とする（エンド）。同期部１４はステップＳ１４１の処理を映像Ｖ’の全てのフレーム（毎時刻）に対して行い、映像Ｖ’の全てのフレームにおいて閾値ｔｈ１以上のスコアが得られなかった場合（Ｓ１４３Ｙ）、同期部１４はボールのテンプレートを用いて最初のフレーム（時刻）からテンプレートマッチングを実行し、マッチングスコアを算出する（Ｓ１４４）。マッチングスコアが閾値ｔｈ２以上となった場合に（Ｓ１４５Ｙ）、同期部１４は、閾値ｔｈ２以上となった最初の時刻Ｔａをリリース後の時刻とし、その１時刻前の時刻Ｔａ−１をリリース前の時刻とする（Ｓ１４６）。同期部１４は、時刻Ｔａ−１における第１画像と、時刻Ｔａにおける第２画像よりなる画像ペアと予め学習したモデルを用いてリリース時刻を推定する（Ｓ１４６）。閾値ｔｈ１および閾値ｔｈ２は予め定められているものとする。同期部１４は、以上の処理で推定した時刻を図７に示した仮想素材位置姿勢情報テーブルにおける同期素材の同期開始時刻として設定する。
【００５７】
上記フローチャートのステップＳ１４１〜Ｓ１４６の動作をより一般的な表現で再定義すれば、同期部１４は、人間（例えばピッチャー）と物体（例えばボール）とが離隔する瞬間における人間（例えばピッチャー）の身体のテンプレートとして予め用意された第１のテンプレート（例えば手のテンプレート）と、人間（例えばピッチャー）と物体（例えばボール）とが離隔する瞬間における物体（例えばボール）のテンプレートとして予め用意された第２のテンプレート（例えばボールのテンプレート）を用い、実環境を撮影した映像（例えば映像Ｖ’）に対してテンプレートマッチングを実行して人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えば、リリース）する時刻を推定し、推定された時刻に基づいて仮想動的素材と仮想特殊動的素材とを同期する。なお、上記第１のテンプレート（例えば手のテンプレート）と第２のテンプレート（例えばボールのテンプレート）はどちらか一方のみを用いてもよい。
【００５８】
［仮想環境生成部１５］
入力：仮想静的素材（入力元：仮想素材記憶部１１Ａ）、仮想動的素材（入力元：仮想素材記憶部１１Ａ）、仮想素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部１２Ａ）、仮想特殊動的素材（入力元：仮想特殊動的素材記憶部１３Ａ）、仮想素材組み込みリスト（入力元：仮想素材組み込みリスト記憶部１５Ａ）
出力：仮想環境のデータ（出力先：描画部１６）
処理内容：仮想環境生成部１５は、仮想素材記憶部１１Ａから仮想静的素材、仮想動的素材を読み出し、仮想素材位置姿勢記憶部１２Ａから各仮想素材の位置姿勢情報を読みだし、仮想特殊動的素材記憶部１３Ａから仮想特殊動的素材を読み出し、これらを仮想素材組み込みリストに従って統合し、仮想環境のデータを生成する（Ｓ１５）。
生成された仮想環境のデータは描画部１６に送られる。仮想環境のデータとは、ある仮想的な空間において一つ以上の仮想素材が配置された仮想空間のデータを指す。仮想環境生成部１５は、仮想環境を生成するための仮想素材組み込みリストを仮想素材組み込みリスト記憶部１５Ａから読み出す。この仮想素材組み込みリストは、仮想素材を一意に識別する「仮想素材ＩＤ」と、その仮想素材を仮想環境に組み込む時刻である「組み込み開始時刻」を持つ。仮想素材組み込みリストは予め人手で用意され、仮想素材組み込みリスト記憶部１５Ａに予め記憶されているものとする。仮想環境生成部１５は仮想素材組み込みリストに従って、仮想素材を仮想環境に組み込む。このとき、仮想素材の位置姿勢を仮想素材位置姿勢記憶部１２Ａから読み出し、その位置姿勢に基づいて仮想空間上に配置する。仮想環境生成部１５は、仮想素材組み込みリストに記載されている全ての仮想素材を仮想環境に組み込んだら処理を終了する。
【００５９】
［描画部１６］
入力：仮想環境のデータ（入力元：仮想環境生成部１５）
出力：映像（出力先：映像表示デバイス（図示せず））
処理内容：描画部１６は、ステップＳ１５で生成された仮想環境のデータを描画し、ユーザが視聴できる状態、例えば映像として出力する（Ｓ１６）。描画部１６が出力する映像は、仮想環境のある視点から一方向を見るような映像でもよいし、全天球映像のように全方位を見ることができる映像でもよい。例えば、ある視点から一方向を見るような映像を出力する場合は、ある位置に仮想的に透視投影カメラＣを設置し、仮想環境の空間中に存在するＣＧデータをカメラＣの画像平面に投影すればよい。具体的には、ＴをカメラＣの外部パラメータである位置とし、Ｒを姿勢とし、Ｋを内部パラメータとすると、仮想環境のデータが存在する空間中のある点ｐは、以下のようにカメラＣの画像平面上に点ｑとして投影される。
【００６０】
【数３】
0006602726.tif 000004
【００６１】
ただし、内部パラメータＫはカメラＣの焦点距離や画像中心からなる３ｘ３の行列である。
【００６２】
ある視点から全方位を見渡せる全天球映像を出力する場合は、ある視点に仮想的に全天球カメラＯを設置し、仮想環境の空間中に存在するＣＧデータをカメラＯの画像平面に投影すればよい。具体的には、ＴをカメラＯの外部パラメータである位置とし、Ｒを姿勢とし、Ｗを投影する画像平面の幅とし、Ｈを高さとすると、仮想環境のデータが存在する空間中のある点ｐは、以下のようにカメラＯの画像平面上に点ｑ＝（ｑｘ，ｑｙ）Ｔとして投影される。
【００６３】
【数４】
0006602726.tif 000005
【００６４】
この例では全天球映像を２次元画像で表現する図法として正距円筒図法を用いているが、メルカトル図法など他の図法を用いてもよい。
【００６５】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００６６】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００６７】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【００６８】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００６９】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００７０】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００７１】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００７２】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００７３】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006602726.tif 000006
【図２】
0006602726.tif 000007
【図３】
0006602726.tif 000008
【図４】
0006602726.tif 000009
【図５】
0006602726.tif 000010
【図６】
0006602726.tif 000011
【図７】
0006602726.tif 000012
【図８】
0006602726.tif 000013
【図９】
0006602726.tif 000014
【図１０】
0006602726.tif 000015