(57)【要約】【課題】不要な映り込みなどにより補完が必要な領域を含む映像を効率的に補完する。【解決手段】映像入力部７１は、複数フレームからなる映像シーケンスと映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する。補完方法判定部７２は、映像シーケンスに含まれる複数フレーム間の差分を表す二値画像に基づいて前景領域と背景領域とに分離し、補完対象領域の周縁から一定距離以内に存在する前景領域に属する画素数に基づいて補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する。映像補完部７３は、補完方法に従って補完対象領域を補完する。【選択図】図４６
2020025320.tif 000002
【特許請求の範囲】
【請求項１】
複数フレームからなる映像シーケンスと上記映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、
上記映像シーケンスに含まれる複数フレーム間の差分を表す二値画像に基づいて前景領域と背景領域とに分離し、上記補完対象領域の周縁から一定距離以内に存在する前景領域に属する画素数に基づいて上記補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、
上記補完方法に従って上記補完対象領域を補完する映像補完部と、
を含む映像提示装置。
【請求項２】
複数フレームからなる映像シーケンスと上記映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、
上記補完対象領域内に存在する画素の平均色と上記補完対象領域の周縁から一定距離以内に存在する画素の平均色の差分に基づいて、上記補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、
上記補完方法に従って上記補完対象領域を補完する映像補完部と、
を含む映像提示装置。
【請求項３】
複数フレームからなる映像シーケンスと上記映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、
上記映像シーケンス中の各フレームをセグメンテーションして予め定めた特徴を有する前景セグメントと背景セグメントとに分離し、上記補完対象領域の周縁から一定距離以内に存在する前景セグメントに属する画素数に基づいて上記補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、
上記補完方法に従って上記補完対象領域を補完する映像補完部と、
を含む映像提示装置。
【請求項４】
請求項２に記載の映像提示装置であって、
上記補完方法判定部は、Ωを上記補完対象領域とし、Θを上記補完対象領域の周縁から一定距離以内の領域とし、u(x, y, t)はフレームtの(x, y)座標に存在する画素の色情報とし、次式により求まるUin(t)とUout(t)との差Udiffが予め定めた閾値以下または閾値より小さい場合に上記補完方法をパッチ探索に基づくコンプリーションと判定し、上記Udiffが上記閾値以上または閾値より大きい場合に上記補完方法を貼り付け合成と判定するものである、
【数１０】
2020025320.tif 000016
映像提示装置。
【請求項５】
映像入力部が、複数フレームからなる映像シーケンスと上記映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得し、
補完方法判定部が、上記映像シーケンスに含まれる複数フレーム間の差分を表す二値画像に基づいて前景領域と背景領域とに分離し、上記補完対象領域の周縁から一定距離以内に存在する前景領域に属する画素数に基づいて上記補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定し、
映像補完部が、上記補完方法に従って上記補完対象領域を補完する、
映像提示方法。
【請求項６】
映像入力部が、複数フレームからなる映像シーケンスと上記映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得し、
補完方法判定部が、上記補完対象領域内に存在する画素の平均色と上記補完対象領域の周縁から一定距離以内に存在する画素の平均色の差分に基づいて、上記補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定し、
映像補完部が、上記補完方法に従って上記補完対象領域を補完する、
映像提示方法。
【請求項７】
映像入力部が、複数フレームからなる映像シーケンスと上記映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得し、
補完方法判定部が、上記映像シーケンス中の各フレームをセグメンテーションして予め定めた特徴を有する前景セグメントと背景セグメントとに分離し、上記補完対象領域の周縁から一定距離以内に存在する前景セグメントに属する画素数に基づいて上記補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定し、
映像補完部が、上記補完方法に従って上記補完対象領域を補完する、
映像提示方法。
【請求項８】
請求項１から４のいずれかに記載の映像提示装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、現実の環境を撮影した映像に基づいて仮想的かつ移動可能な視点からの映像を合成する仮想環境構築技術に関する。
【背景技術】
【０００２】
スポーツの試合において、事前に体験していない初めての状況に遭遇すると、十分なパフォーマンスを発揮できないことがある。例えば、野球では「初物に弱い」という表現を用いて初対戦の投手を苦手とする状況が語られることがある。この状況に対し、実際の試合と同じ環境において選手の目線で事前に投手の投球を体験することが有効であると考えられる。
【０００３】
しかしながら、実際に次の対戦相手の投球を事前に体験することは実施の観点から困難である。この対策としてスタンドなどから撮影した対戦相手の過去の投球映像を視聴することが一般的であるが、ここで視聴する映像は実際にバッターボックスに立っている選手が見ている映像と比べて視点や視野の観点から異なるため、試合状況の事前体験として十分ではない。
【０００４】
非特許文献１には、選手の目線における事前体験の実現方法として、選手の目線の位置に360度のパノラマ画像を撮影できるカメラ（以下、全天球カメラと呼ぶ）を設置し、その全天球カメラで撮影した選手目線の映像をヘッドマウントディスプレイにより視聴する方法が記載されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】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.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１に記載の方法では、試合中にバッターボックス内にカメラを設置する必要があるため実施の観点から実現は困難である。加えて、このようにカメラで撮影された映像を視聴する場合、カメラを設置した視点のみの事前体験しかできないという課題がある。
【０００７】
この発明の目的は、上記のような事情を鑑み、仮想的に試合環境を構築することで、事前に選手目線での試合体験を可能にする技術を提供することである。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、この発明の第一の態様の映像提示装置は、複数フレームからなる映像シーケンスと映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、映像シーケンスに含まれる複数フレーム間の差分を表す二値画像に基づいて前景領域と背景領域とに分離し、補完対象領域の周縁から一定距離以内に存在する前景領域に属する画素数に基づいて補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、補完方法に従って補完対象領域を補完する映像補完部と、を含む。
この発明の第二の態様の映像提示装置は、複数フレームからなる映像シーケンスと映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、補完対象領域内に存在する画素の平均色と補完対象領域の周縁から一定距離以内に存在する画素の平均色の差分に基づいて、補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、補完方法に従って補完対象領域を補完する映像補完部と、を含む。
この発明の第三の態様の映像提示装置は、複数フレームからなる映像シーケンスと映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、映像シーケンス中の各フレームをセグメンテーションして予め定めた特徴を有する前景セグメントと背景セグメントとに分離し、補完対象領域の周縁から一定距離以内に存在する前景セグメントに属する画素数に基づいて補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、補完方法に従って補完対象領域を補完する映像補完部と、を含む。
【発明の効果】
【０００９】
この発明の仮想環境構築技術によれば、仮想的に試合環境を構築することで、事前に選手目線での試合体験が可能となる。
【図面の簡単な説明】
【００１０】
【図１】第一実施形態の仮想環境構築装置の機能構成を例示する図である。
【図２】位置姿勢情報テーブルのデータ構造を例示する図である。
【図３】構成素材組み込みリストのデータ構造を例示する図である。
【図４】第二実施形態の仮想環境構築装置の機能構成を例示する図である。
【図５】第三実施形態の仮想環境構築装置の機能構成を例示する図である。
【図６】提示シーケンステーブルのデータ構造を例示する図である。
【図７】提示シーケンステーブルの具体例を示す図である。
【図８】仮想環境構築部の処理手続きを例示する図である。
【図９】付与効果テーブルの具体例を示す図である。
【図１０】投球コースの具体例を示す図である。
【図１１】第四実施形態の仮想環境構築装置の機能構成を例示する図である。
【図１２】第五実施形態の仮想環境構築装置の機能構成を例示する図である。
【図１３】第五実施形態の仮想環境構築方法の処理手続きを例示する図である。
【図１４】動作データベースを説明するための図である。
【図１５】コースの分類の一例を説明するための図である。
【図１６】コースの分類の一例を説明するための図である。
【図１７】球種の分類を説明するための図である。
【図１８】シーケンスの生成方法を説明するための図である。
【図１９】確率分布の変形例を説明するための図である。
【図２０】第六実施形態の映像提示装置の機能構成を例示する図である。
【図２１】第六実施形態の映像提示方法の処理手続きを例示する図である。
【図２２】ユーザ状態の具体例を示す図である。
【図２３】ユーザ状態の具体例を示す図である。
【図２４】ユーザ状態の具体例を示す図である。
【図２５】第七実施形態の仮想環境構築装置の構成を示すブロック図である。
【図２６】第七実施形態の仮想環境構築装置の動作を示すフローチャートである。
【図２７】仮想素材位置姿勢情報テーブルを例示する図である。
【図２８】仮想特殊動的素材生成部の動作の例を示すフローチャートである。
【図２９】同期部の動作の例を示すフローチャートである。
【図３０】バッターボックスに立つバッターの視点を再現するためのカメラアングルの例を示す模式図である。
【図３１】第八実施形態の仮想環境構築装置の構成を示すブロック図である。
【図３２】第八実施形態の仮想環境構築装置の事前準備フェーズにおける動作を示すフローチャートである。
【図３３】映像情報テーブルを例示する図である。
【図３４】第八実施形態の仮想環境構築装置の仮想環境生成フェーズにおける動作を示すフローチャートである。
【図３５】仮想素材位置姿勢情報テーブルを例示する図である。
【図３６】類似映像検索部の動作の例を示すフローチャートである。
【図３７】仮想特殊動的素材生成部の動作の例を示すフローチャートである。
【図３８】同期部の動作の例を示すフローチャートである。
【図３９】第九実施形態の仮想環境構築装置の機能構成を例示する図である。
【図４０】野球における具体例を説明するための図である。
【図４１】動的オブジェクト構築部の処理手続きを例示する図である。
【図４２】観測角度と視聴角度のずれを説明するための図である。
【図４３】テニスにおける具体例を説明するための図である。
【図４４】テニスにおける具体例を説明するための図である。
【図４５】原画像または映像とマスク情報の例を示す図である。
【図４６】第十実施形態の映像提示装置の機能構成を例示する図である。
【図４７】第十実施形態の映像提示方法の処理手続きを例示する図である。
【図４８】実験結果を示す図である。
【図４９】画像処理システムのシステム構成を示す図である。
【図５０】合成情報テーブルの具体例を示す図である。
【図５１】最適奥行き情報テーブルの具体例を示す図である。
【図５２】コントラストの算出結果の具体例を示す図である。
【図５３】第十一実施形態の画像処理装置の処理手続きを例示する図である。
【図５４】第十二実施形態の画像処理装置の機能構成を例示する図である。
【図５５】第十二実施形態の画像処理装置の処理手続きを例示する図である。
【図５６】第十三実施形態の画像処理装置の機能構成を例示する図である。
【図５７】第十三実施形態の決定部の具体的な処理について説明するための図である。
【図５８】第十三実施形態の画像処理装置の処理手続きを例示する図である。
【図５９】第十四実施形態の画像処理装置の機能構成を例示する図である。
【図６０】第十四実施形態の画像処理装置の処理手続きを例示する図である。
【図６１】従来システムにおいて仮想全天球画像を得るためのシステムを示す図である。
【図６２】画像処理システムにおける画像処理の流れを説明するための図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１２】
［第一実施形態］
最初に、第一実施形態の仮想環境構築装置の概要を説明する。まず、動的オブジェクトセンシング部が事前体験の対象である動的なオブジェクト（例えば、野球の投球やテニスのサーブの軌道など）に関する各時刻の位置および姿勢を求め、その位置姿勢情報を記憶しておく。時間変化をしない静的なオブジェクト（例えば、スタジアムやグラウンドなど）に関する位置姿勢情報は予め記憶されているものとする。以下では、ボールやスタジアムのように仮想環境を構成するためのオブジェクトを構成素材と呼ぶ。また、構成素材を仮想環境に再現するためのコンピュータ・グラフィックス（CG: Computer Graphics）データを仮想環境素材と呼び、これらも予め記憶されているものとする。構成素材のうち、その位置が時間経過により遷移し、かつ動く素材を動的素材と呼び、その位置が時間経過により遷移せず動かない構成素材を静的素材と呼び、その位置は遷移しないものとみなされるがその位置に留まったまま動く構成素材を特殊動的素材と呼ぶ。例えば野球であれば、動的素材は野球ボールであり、静的素材はスタジアムであり、特殊動的素材はピッチャーである。動的オブジェクトは、動的素材と特殊動的素材とからなる。静的オブジェクトは、静的素材である。なお、静的オブジェクトに関する仮想環境素材はＣＧデータに限定されず、実際に撮影した映像から切り出した動画または静止画データであってもよい。仮想環境構築部は各構成素材の位置姿勢情報に基づいて仮想環境素材を配置することで仮想環境を構築する。最後に、描画部がその仮想環境を全天球映像などの映像として出力する。
【００１３】
第一実施形態の仮想環境構築装置は、図１に示すように、動的オブジェクトセンシング部１１、構成素材位置姿勢記憶部１２、仮想環境素材記憶部１３、仮想環境構築部１４、および描画部１５を備える。この仮想環境構築装置が後述する各ステップの処理を行うことにより第一実施形態の仮想環境構築方法が実現される。
【００１４】
仮想環境構築装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。仮想環境構築装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。仮想環境構築装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、仮想環境構築装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。仮想環境構築装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。仮想環境構築装置が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【００１５】
動的オブジェクトセンシング部１１は、現実環境における動的オブジェクトの位置および姿勢を計測して１つの運動動作からなる位置姿勢情報を生成する。生成された動的オブジェクトの位置姿勢情報は構成素材位置姿勢記憶部１２へ記憶される。具体的には、仮想環境構築装置に接続されたセンサ（図示せず）で動的オブジェクトの１つの運動動作における位置および姿勢を計測し、その値を入力として動的オブジェクトの３次元位置姿勢情報を推定する。動的オブジェクトとは、仮想環境において時間経過とともに３次元位置が変化する物体、例えば野球であれば野球ボールやピッチャーなどの相手選手を、テニスであればテニスボールやサーバーなどの相手選手を指す。１つの運動動作とは、例えば野球ボールであればピッチャーの投球一球分の動作であり、テニスボールであればサーブ一球分の動作である。
【００１６】
動的オブジェクトの３次元位置姿勢を算出するためのセンサとして複数カメラが利用できる。複数カメラを利用してボールの３次元位置情報を算出する手法の具体例として、ステレオ法を用いた手法がある。具体的には、予めカメラキャリブレーションを実施したカメラ群で撮影された映像に対し、画像上のボールの位置を求める。このとき、画像上のボールの位置は手作業で与えてもよいし、テンプレートマッチングなどの検出手法を用いてボールを検出し、その中心位置をボールの位置としてもよい。これら画像上で検出された位置とカメラキャリブレーションで求めたカメラパラメータとを用いてステレオ法を適用することで、ボールの３次元位置を求めることができる。また、姿勢に関しては、例えば、撮影したボールの縫い目の模様から基準の姿勢に対してどの程度回転しているかを求めることができる。動的オブジェクトの位置姿勢を求めるセンサの他の例としては、ドップラーレーダーなどを挙げることができる。このセンサは公知の技術であるため詳細な説明は省略する。その他、ボールの３次元位置姿勢情報を取得できるセンサおよび手法であればどのようなものであってもよい。
【００１７】
構成素材位置姿勢記憶部１２は、各構成素材に関する位置姿勢情報を記憶する。動的オブジェクトに関する位置姿勢情報は動的オブジェクトセンシング部１１により生成されて記憶されたものである。静的オブジェクトに関する位置姿勢情報は予め用意されて記憶されたものである。具体的には、各時刻における各構成素材の３次元位置姿勢情報を表すレコードによって構成される構成素材位置姿勢情報テーブルが記憶されている。
【００１８】
構成素材位置姿勢情報テーブルは、図２に示すように、構成素材を一意に識別する「構成素材ID」と、仮想環境素材を一意に識別する「仮想環境素材ID」と、各「時刻」におけるオブジェクトの「位置」および「姿勢」の各値を有する。位置は３次元の並進ベクトルとして表され、姿勢は各軸に対する回転角を表す３次元ベクトルとして表される。例えば、野球の投球を想定した場合、構成素材Oiがストレートボールを表すとすると、構成素材Oiに対応する仮想環境素材Eiは、仮想環境素材記憶部１３に記憶された野球ボールのＣＧデータである。このとき、各時刻に対応する位置および姿勢はその時刻にボールがどの位置にどの姿勢で存在しているかということを表している。より具体的には、位置Ti(0), Ti(1), …, Ti(ti)はボールの軌道を、姿勢Ri(0), Ri(1), …, Ri(ti)はボールがどのように回転しているかを表している。なお、図２において、時刻に「-」が格納されている構成素材は、スタジアムのように時間経過に伴い位置や姿勢が変化しない静的オブジェクトであることを表す。このような静的オブジェクトの位置姿勢情報は予め記憶されているものとする。また、各構成素材に対して定められている時刻は、その構成素材が後述する仮想環境構築部１４において仮想環境に組み込まれた時点からの経過時刻を表す。具体的には、仮想環境において時刻taの時点で構成素材Oiが組み込まれた場合、時刻(ta+0)の時点の構成素材Oiの位置および姿勢はそれぞれTi(0), Ri(0)であり、時刻(ta+1)の時点の構成素材Oiの位置および姿勢はそれぞれTi(1), Ri(1)である。
【００１９】
仮想環境素材記憶部１３は、各構成素材に対応する仮想環境素材を記憶する。仮想環境素材は仮想環境を構築するための素材であり、例えばＣＧデータや実写データなどである。仮想環境素材記憶部１３は仮想環境素材IDに関連付けて各仮想環境素材を記憶する。仮想環境素材の例としては、野球であればスタジアムや野球ボールのＣＧデータ、テニスであればテニスコートやテニスボールのＣＧデータである。これらは事前に用意され記憶されているものとする。
【００２０】
仮想環境構築部１４は、構成素材位置姿勢記憶部１２から各構成素材の位置姿勢情報を読み出し、仮想環境素材記憶部１３から各構成素材に対応する仮想環境素材のデータを読み出し、動的オブジェクトの仮想環境素材と静的オブジェクトの仮想環境素材とを合成して仮想環境のデータを構築する。構築した仮想環境のデータは描画部１５へ送られる。仮想環境のデータとは、ある仮想的な空間において一つ以上の仮想環境素材のデータが配置された仮想空間を指す。具体例として、野球における仮想環境のデータを作成する手順を説明する。まず、仮想環境を構築するための構成素材組み込みリストを読み込む。この構成素材組み込みリストは、図３に示すように、構成素材を一意に識別する「構成素材ID」と、その構成素材を仮想環境に組み込む「時刻」を持つ。構成素材組み込みリストは予め人手で用意されているものとする。例えば野球における仮想環境のデータを作成する場合、スタジアムやピッチャー、ボールなどに関する構成素材IDおよび時刻が構成素材組み込みリストに記載されている。次に、各時刻について描画すべき構成素材が存在する場合、その構成素材に対応する仮想環境素材を仮想環境に組み込む。このとき、構成素材の位置姿勢を構成素材位置姿勢記憶部１２から読み出し、その位置姿勢に基づいて仮想空間に配置する。構成素材組み込みリストに記載されている全ての構成素材を仮想環境に組み込んだら処理を終了する。
【００２１】
描画部１５は、構築した仮想環境のデータをユーザが視聴できる形態として出力する。出力する映像は、仮想環境のある視点から一方向を見るような映像でもよいし、全天球映像のように全方位を見ることができる映像でもよい。例えば、ある視点から一方向を見るような映像を出力する場合は、ある位置に仮想的に透視投影カメラCを設置し、仮想環境の空間中に存在するＣＧモデルをカメラCの画像平面に投影すればよい。具体的には、TをカメラCの外部パラメータである位置とし、Rを姿勢とし、Kを内部パラメータとすると、仮想環境のデータが存在する空間中のある点pは、以下のようにカメラCの画像平面上に点qとして投影される。
【００２２】
【数１】
2020025320.tif 000003
【００２３】
ただし、内部パラメータKはカメラCの焦点距離や画像中心からなる3x3の行列である。
【００２４】
ある視点から全方位を見渡せる全天球映像を出力する場合は、ある視点に仮想的に全天球カメラOを設置し、仮想環境の空間中に存在するＣＧモデルをカメラOの画像平面に投影すればよい。具体的には、TをカメラOの外部パラメータである位置とし、Rを姿勢とし、Wを投影する画像平面の幅とし、Hを高さとすると、仮想環境のデータが存在する空間中のある点pは、以下のようにカメラOの画像平面上に点q=(qx, qy)Tとして投影される。
【００２５】
【数２】
2020025320.tif 000004
【００２６】
この例では全天球映像を２次元画像で表現する図法として正距円筒図法を用いているが、メルカトル図法など他の図法を用いてもよい。
【００２７】
［第二実施形態］
第一実施形態では、描画部において仮想環境内の予め定めた視点からの映像のみを出力している。そのため、仮想環境内を自由に移動するような体験の実現が困難である。全ての地点における映像を出力するということも考えられるが、処理量の観点から現実的ではない。第二実施形態では第一実施形態の構成に対してユーザの位置および姿勢をセンシングするユーザセンシング部を追加し、ユーザが視聴したい位置および方向をセンシングすることで、仮想環境内を自由に移動しながら映像を視聴できるようにする。
【００２８】
第二実施形態の仮想環境構築装置は、図４に示すように、動的オブジェクトセンシング部１１、構成素材位置姿勢記憶部１２、仮想環境素材記憶部１３、仮想環境構築部１４、および描画部１５を第一実施形態と同様に備え、ユーザセンシング部１６をさらに備える。この仮想環境構築装置が後述する各ステップの処理を行うことにより第二実施形態の仮想環境構築方法が実現される。
【００２９】
以下、第二実施形態の仮想環境構築方法の処理手続きを、第一実施形態との相違点を中心に説明する。
【００３０】
ユーザセンシング部１６は、ユーザの頭部の位置および姿勢を計測してユーザ位置姿勢情報を生成する。生成されたユーザ位置姿勢情報は描画部１５へ送られる。具体的には、仮想環境構築装置が備えるセンサ（図示せず）でユーザの頭部の位置および姿勢を計測し、その値を入力としてユーザの頭部の３次元位置姿勢情報を推定する。
【００３１】
ユーザの頭部の３次元位置姿勢を算出するためのセンサはどのようなセンサでもよい。このセンサの具体例として、Optitrack社に代表されるモーションセンサーが挙げられる。また、Oculus社に代表されるヘッドマウントディスプレイ（HMD: Head Mount Display）と付属の赤外線（IR: Infrared）カメラを用いてもよい。これらは公知の技術を用いて実現されるため詳細な説明は省略する。
【００３２】
描画部１５は、ユーザセンシング部１６より受け取ったユーザ位置姿勢情報に基づいて、仮想環境のデータをユーザが視聴できる形態として出力する。このとき、仮想環境におけるユーザの視線方向の映像を出力してもよいし、全方位映像を出力してもよい。
【００３３】
［第三実施形態］
一般に、どのような能力を向上させたいかに応じてトレーニングの内容は変化する。例えば、テニスのサーブの感覚を体に覚えさせたい場合には重点的にサーブの練習をすることが効果的であると考えられる。また、サーブの威力を増すことを目的とする場合には体の使い方の矯正や筋力トレーニングが効果的であると考えられる。第三実施形態では、第一実施形態に対して提示シーケンス取得部を追加することで、ユーザの練習意図に応じて構築する仮想環境を変化させることを可能にする。
【００３４】
第三実施形態の仮想環境構築装置は、図５に示すように、動的オブジェクトセンシング部１１、構成素材位置姿勢記憶部１２、仮想環境素材記憶部１３、仮想環境構築部１４、および描画部１５を第一実施形態と同様に備え、提示シーケンス取得部１７をさらに備える。この仮想環境構築装置が後述する各ステップの処理を行うことにより第三実施形態の仮想環境構築方法が実現される。
【００３５】
以下、第三実施形態の仮想環境構築方法の処理手続きを、第一実施形態との相違点を中心に説明する。
【００３６】
提示シーケンス取得部１７は、構成素材位置姿勢記憶部１２に記憶されている、相異なる複数種類の動的オブジェクトの位置姿勢情報を含む、ユーザに閲覧させたい場面を表現した提示シーケンスを取得する。取得した提示シーケンスは仮想環境構築部１４へ送られる。具体的には、ユーザからの入力を取得して、予め用意した提示シーケンステーブルからユーザの入力に対応する提示シーケンスに関するレコードを抽出して出力する。ユーザからの入力を取得する方法はどのような方法でもよく、例えば、キーボードでキーを入力する方法、マウスでクリックする方法、またはゲーム用のコントローラを用いてキーを入力する方法などが挙げられる。また、提示シーケンステーブルは、図６に示すように、「練習意図」と、その練習意図に対する「構成素材ID」群と、各構成素材が仮想環境に組み込まれる「時刻」によって構成される。例えば、図６の例では「○○の能力を向上させたい」という練習意図に関しては、時刻t1に構成素材O1が組み込まれ、時刻t2に構成素材O2, O3が組み込まれる。ただし、ここでの時刻は仮想環境構築部１４に出力された時点からの経過時刻である。すなわち、ある時刻tに「○○の能力を向上させたい」という練習意図に関するレコード（提示シーケンス）が出力された場合、構成素材O1は時刻(t+t1)に、構成素材O2, O3は時刻(t+t2)に仮想環境へ組み込まれる。また、この提示シーケンステーブルに関し、あるユーザの入力に対して各提示シーケンスが対応づいており、その対応は予め定められているものとする。すなわち、あるキーが押下された場合には「○○の能力を向上させたい」という練習意図に関するレコード（提示シーケンス）が出力されるということである。図７は野球を例としたときの提示シーケンステーブルの具体例である。
【００３７】
仮想環境構築部１４は、仮想環境素材のデータ、各構成素材の位置姿勢情報、および提示シーケンステーブルを入力とし、仮想環境のデータを構築する。図８は本形態の仮想環境構築部１４の処理手続きを例示する図である。なお、仮想環境構築部１４は図３に示した構成素材組み込みリストを予め保持しているものとする。
【００３８】
ステップＳ１１において、仮想環境構築部１４は、ある時刻tにおいて提示シーケンステーブルの入力があったか否かを判定する。入力があった場合（ＹＥＳ）、ステップＳ１２へ処理を進め、入力がなかった場合（ＮＯ）、ステップＳ１３へ処理を進める。ステップＳ１２において、構成素材組み込みリストに提示シーケンステーブルを統合する。テーブルの統合は時刻をキーとして行う。ただし、ある時刻tに図６に示す提示シーケンステーブルの入力があった場合、構成素材O1は時刻(t+t1)に、構成素材O2は時刻(t+t2)に仮想環境へ組み込まれる。ステップＳ１３において、時刻tについて組み込むべき構成素材があるか否かを判定する。組み込むべき構成素材がある場合（ＹＥＳ）、ステップＳ１４へ処理を進め、組み込むべき構成素材がなかった場合（ＮＯ）、ステップＳ１５へ処理を進める。ステップＳ１４において、その構成素材を仮想環境へ組み込む。ステップＳ１５において、現在構築している仮想環境を描画部１５へ出力する。その後、ステップＳ１６において、t=t+1としてステップＳ１１へ戻る。
【００３９】
以下、野球の打者を例として向上させたい能力とその向上方法について、より具体的に説明する。なお、本具体例では、提示シーケンス取得部１７において利用する提示シーケンステーブルを作成するときに、どのような順番でどのような投球を実施すべきかを直感的にわかりやすくするため、図９に示すように、各投球に対して「球速」、「コース」、「球種」などの属性を追加して保持する。なお、これらの属性は、構成素材位置姿勢記憶部１２に記憶されている各構成素材の位置および姿勢の変化から求めることができる。例えば、球速はある時間内に移動した距離をその時間で除算することで求めることができる。また、コースは図１０に示すようにホームベース上の平面を分割し、ボールがその平面上を通過する際にどの領域に最も近いかで求めることができる。球種は、リリース直後とキャッチャーミットに収まる時のボールの速度ベクトル（それぞれv1, v2とする）を用いることで求めることができる。例えば、v1とv2とが概ね同じ方向であればストレート、v1とv2とを比較してv2の方向が鉛直下方向に向いている場合はフォーク、斜め下方向に向いている場合はカーブ、といった具合である。これらの属性を投球に対応する構成素材に対して保持しておく。なお、これらは野球の投球における属性の例であり、サッカーやテニスの場合には各競技の特性に合わせて異なる属性とすればよい。
【００４０】
（ａ）緩急に対する能力を向上させる場合
速いボールの後に遅いボールを投げられる、あるいは遅いボールの後に速いボールを投げられると、直前のボールのタイミングに影響されて適切なタイミングでバットを振れない場合がある。これに対し、速いボールと遅いボールをそれぞれランダムな順番で体験させることで、緩急に対する能力が向上すると考えられる。この場合、提示シーケンス取得部１７では予めランダムに投球を行うように構成素材ID群を用意することで、ユーザはこの緩急に対する能力を向上させるトレーニングを行うことができる。このトレーニングのための配球例を以下に示す。
【００４１】
配球例（ｉ）：ストレート（球速140km/h）−カーブ（球速120km/h）−ストレート（球速150km/h）−スローボール（球速110km/h）…
配球例（ｉｉ）：ストレート（球速140km/h）−ストレート（球速145km/h）−カーブ（球速120km/h）−ストレート（球速135km/h）−ストレート（球速140km/h）…
【００４２】
なお、上記配球例の各投球ではコースはどのようなコースでもよい。配球例（ｉ）の提示シーケンステーブルは図７の具体例のとおりである。また、これらの配球は手動で決めてもよいし、自動で決めてもよい。自動で決める場合は、例えば全ての投球の中からランダムで選び出してもよいし、予め用意した閾値thよりも球速が速い場合はグループ１とし、遅い場合はグループ２としてこれらのグループから選び出される割合が予め定めた割合になるように（例えばグループ１から10球、グループ２から5球など）ランダムに選び出してもよい。
【００４３】
（ｂ）選球眼（ストライクとボールを見分ける能力）を向上させる場合
ストライクゾーンとボールゾーンの境界付近に投げられたボールに対して、適切にジャッジすることは難しい。これに対し、同じような軌道でストライク判定の投球とボール判定の投球を交互に繰り返し体験させることで選球眼が向上すると考えられる。また、頻繁に用いられる配球例として一度バッターの胸元に投げてから外角低めに投げることがある。これはバッターの目線を胸元に慣れさせておいて、そこから最も遠い外角低めに投げることでバッターの反応を遅らせる、あるいはストライクとボールの判断を鈍らせる効果があると言われている。これに対し、ストライクゾーンの一方の隅への投球と対角線上の他方の隅への投球とを交互に繰り返し体験させることで選球眼が向上すると考えられる。提示シーケンス取得部１７ではこれらの投球を実施するように構成素材ID群を用意することでユーザは選球眼を向上させるトレーニングを行うことができる。
【００４４】
配球例（iii）：ストレート（コース2-A）−ストレート（コース2-B）−ストレート（コース1-B）−ストレート（コース2-B）…
配球例（iv）：ストレート（コース4-D）−ストレート（コース2-B）−ストレート（コース4-D）−ストレート（コース2-D）…
【００４５】
なお、上記配球例の各投球では球速はどのような球速でもよい。配球例（iii）の提示シーケンステーブルは図７の具体例のとおりである。
【００４６】
なお、第三実施形態の仮想環境構築装置は、第一実施形態の構成を基本として構成および処理手続きを説明したが、第二実施形態の構成を基本として構成してもよい。すなわち、第三実施形態の仮想環境構築装置は、ユーザセンシング部１６をさらに備えるように構成してもよい。
【００４７】
［第四実施形態］
第一実施形態から第三実施形態までは実際に得られた軌跡、すなわち現実と同じ環境を構築してトレーニングを行うことを想定している。しかしながら、トレーニングにおいては現実よりも厳しい環境を体験することで本番でのパフォーマンスをより良くするという取り組みがある。例えば、野球において速い球に目を慣れさせるために実際のマウンドよりも近いところからの投球を体験させることや、ネクストバッターズサークルにおいて通常のバットよりも重いマスコットバットを用いて素振りをすることなどが挙げられる。第四実施形態では効果付与部を追加することで、現実よりも厳しい環境を体験するための仮想環境を実現する。
【００４８】
第四実施形態の仮想環境構築装置は、図１１に示すように、動的オブジェクトセンシング部１１、構成素材位置姿勢記憶部１２、仮想環境素材記憶部１３、仮想環境構築部１４、描画部１５、および提示シーケンス取得部１７を第三実施形態と同様に備え、効果付与部１８をさらに備える。この仮想環境構築装置が後述する各ステップの処理を行うことにより第四実施形態の仮想環境構築方法が実現される。
【００４９】
以下、第四実施形態の仮想環境構築方法の処理手続きを、第三実施形態との相違点を中心に説明する。
【００５０】
本形態の提示シーケンス取得部１７は、提示シーケンスに加えて、付与効果に関する情報を出力する。付与効果に関する情報は提示シーケンスとともに効果付与部１８へ送られる。付与効果とは、構成素材IDに対応する構成素材に付与する効果の内容である。例えば、ユーザに対する視覚的負荷を高める効果が挙げられる。具体的には、構成素材の位置姿勢の変化率を変更したり（例えば、球速アップ、ダウン、回転量増加など）、構成素材を途中で透明にするなどの見え方に関する特殊効果を与えたり、といった効果が挙げられる。なお、あるボタンをクリックすればボールのスピードがアップするといったように、あるユーザ入力に対応する付与効果は予め定められていることとする。
【００５１】
効果付与部１８は、仮想環境素材のデータ、各構成素材の位置姿勢情報、および付与効果に関する情報を入力とし、付与効果に関する情報に基づいて、仮想環境素材のデータおよび各構成素材の位置姿勢情報に対して効果を与えて出力する。
【００５２】
以下、第三実施形態と同様に野球を例として効果を付与する方法について、より具体的に説明する。
【００５３】
（ａ）速球に対するバッティング能力を向上させる場合
速い球に目や体が慣れていると、それより遅い球には余裕を持って適切なタイミングでバットを振ることができると考えられる。しかしながら、実際に投手が投げたボールの軌跡を獲得する場合に、必ずしもその投手がどの投手よりも速い球を投げられるとは限らない。このような場合、提示シーケンス取得部１７において「球速を10km/hアップする」という付与効果の指示を出す。このとき、効果付与部１８に入力された投球Oiの球速がv1であったとすると、Oiの各単位時間あたりの位置姿勢の変化量を((v1+10)/v1)倍することで球速を10km/hアップした投球の位置姿勢を求めることができる。これを用いて速球に対するバッティング能力を向上させるためのトレーニングを実施することができる。
【００５４】
（ｂ）変化球に対するバッティング能力を向上させる場合
変化量の大きい変化球に目や体が慣れていると、変化量の少ない球には余裕を持って適切なタイミングおよび位置にバットを振ることができると考えられる。しかしながら、実際に投手が投げたボールの位置姿勢を獲得する場合に、必ずしもその投手が変化量のよい変化球を投げられるとは限らない。このような場合、提示シーケンス取得部１７において「ボールの変化量をΔa％アップする」という付与効果の指示を出す。このとき効果付与部１８に入力された投球Oiの加速度がある地点でaであった場合、その加速度にΔaを加えて再度位置姿勢を計算することで、より変化量の増した変化球の位置姿勢を作成することができる。これにより変化球に対するバッティング能力を向上させるためのトレーニングを実施することができる。
【００５５】
（ｃ）投球の初期の軌道から全体の軌道を把握する能力を向上させる場合
球速が130km/hの場合ボールがリリースされてからキャッチャーミットに収まるまで0.5秒程度しかなく、コースや球種の判断をギリギリまで待っている場合にバットを振り出すタイミングが遅れてしまうという問題がある。このような場合、提示シーケンス取得部１７において「ボールを見えにくくする」という付与効果の指示を出す。このとき、効果付与部１８では入力として与えられた投球に関してリリースポイントからdメートル離れた地点までは通常の野球ボールのＣＧを組み込み、dメートル離れた地点を過ぎてから野球ボールを見えにくくする効果を加える（例えば、透明にしたり、徐々に透明にしたりする）。このときのdの値や加える効果は適宜設定すればよい。提示シーケンス取得部１７ではこのような見えにくくする効果を加えた投球と、全く同一の投球で効果を加えていない投球を交互に組み込むことで、ユーザは投球の初期の軌道、すなわちリリースポイントからdメートル離れた場所までのボールの位置姿勢の変化から、その投球の全体の軌道を予測するためのトレーニングを実施することができる。
【００５６】
なお、第四実施形態の仮想環境構築装置は、第一実施形態の構成を基本として構成および処理手続きを説明したが、第二実施形態の構成を基本として構成してもよい。すなわち、第四実施形態の仮想環境構築装置は、ユーザセンシング部１６をさらに備えるように構成してもよい。
【００５７】
［第五実施形態］
例えばスポーツ等のトレーニングにおいて、試合と類似の体験をバーチャルに生成して選手が事前に経験することで、試合でのパフォーマンス向上を目指すシステムが提案されている（例えば、参考文献１）。参考文献１には、フットボールの選手を指導するにあたって、仮想現実（VR: Virtual Reality）技術を用いて試合と同じ環境を再現した選手目線からの３６０度映像をヘッドマウントディスプレイで視聴させるシステムが記載されている。
【００５８】
〔参考文献１〕STRIVR Labs, Inc、“STRIVR | Immersive Training Solutions”、［online］、［平成29年1月4日検索］、インターネット<URL: http://www.strivrlabs.com/home/about-us>
【００５９】
スポーツの練習では、試合でのパフォーマンス向上を目的として、実際の試合よりも厳しい環境を体験することがしばしば行われている。例えば、女子チームが男子チームを練習相手としたり、野球においてピッチャーがマウンドよりも手前から投球することでより速いボールを体験したり、バッターが試合で使用するよりも重いバットを振ったりすることがある。しかしながら、参考文献１に記載された従来技術は、あらかじめ撮影した現実の状況をありのまま提示するものであり、実際よりも厳しい環境を体験することはできない。
【００６０】
第五実施形態の目的は、上記のような点に鑑みて、現実の環境から取得した情報に基づいて現実よりも厳しい仮想環境を体験することができる仮想環境構築技術を提供することである。
【００６１】
上記の課題を解決するために、第五実施形態の第一の態様の仮想環境構築装置は、相手が飛来物を発出する現実環境に基づいてユーザに体験させる仮想環境を構築する仮想環境構築装置であって、飛来物のシーンの事前確率と複数シーンの繋がりを表すダイナミクスとを合わせた確率に基づいてユーザへ提示するシーンの時系列を表す提示シーケンスを生成する提示シーケンス生成部と、提示シーケンスに含まれる各シーンに対応する飛来物の動きを表す提示軌跡を決定する提示軌跡決定部と、提示シーケンスに含まれる各シーンに対応する相手の動きを表す提示動作を決定する提示動作決定部と、提示軌跡と提示動作とに基づいてユーザに体験させる仮想環境を合成する体験合成部と、を含む。
【００６２】
第五実施形態の第二の態様の仮想環境構築装置は、相手が飛来物を発出する現実環境に基づいてユーザに体験させる仮想環境を構築する仮想環境構築装置であって、ユーザへ提示するシーンの時系列を表す提示シーケンスを生成する提示シーケンス生成部と、提示シーケンスに含まれる各シーンに対応する飛来物の動きを表す提示軌跡を決定する提示軌跡決定部と、提示シーケンスに含まれる各シーンに対応して現実環境とは異なる相手の動きを表す提示動作を決定する提示動作決定部と、提示軌跡と提示動作とに基づいてユーザに体験させる仮想環境を合成する体験合成部と、を含む。
【００６３】
第五実施形態は、バーチャルな体験によるスポーツのパフォーマンス向上を目指すものである。ここでは、スポーツのある局面で相手の動作とそれに伴うボールの移動が発生し、それに対処する動作をトレーニングするシチュエーションを想定する。例えば、野球においてピッチャーが投げたボールをバッターが打つ、サッカーのペナルティキックにおいてキッカーが蹴ったボールをキーパーが捕球する、テニスにおいてサーバーが打ったボールをレシーバーが返球する、バレーボールにおいてサーバーが打ったボールをレシーバーがレセプションする、などのシチュエーションを想定する。以降、上記のピッチャー、キッカー、サーバーなどボールを発出する人物を「相手選手」または単に「相手」と呼ぶ。また、一球分の映像を「シーン」と呼び、複数シーンの連続を「シーケンス」と呼ぶ。また、ボールの動きの情報を「軌跡」と呼び、相手選手の動きの情報を「動作」と呼ぶ。「軌跡」および「動作」は現実の環境で撮影した映像であってもよいし、主体となる物体もしくは人物の三次元位置情報を時系列に並べたものであってもよい。
【００６４】
第五実施形態を適用可能なスポーツは、上述したようなボールを用いる球技に限定されるものではない。例えば、フリスビーのように相手選手から何らかの物体が発出されるスポーツや状況全般に利用可能である。以降、上記のボールを含めて相手選手から発出される物体を「飛来物」と呼ぶ。
【００６５】
第五実施形態の仮想環境構築装置は、図１２に示すように、軌跡記憶部２１、動作記憶部２２、練習意図取得部２３、提示シーケンス生成部２４、提示軌跡決定部２５、提示動作決定部２６、体験合成部２７、および体験提示部２８を備える。この仮想環境構築装置が図１３に示す各ステップの処理を行うことにより第五実施形態の仮想環境構築方法が実現される。
【００６６】
仮想環境構築装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。仮想環境構築装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。仮想環境構築装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、仮想環境構築装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。仮想環境構築装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。仮想環境構築装置が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【００６７】
図１３を参照して、第五実施形態の仮想環境構築方法の処理手続きを説明する。
【００６８】
軌跡記憶部２１には、動作ＩＤ、相手選手ＩＤ、および軌跡情報を関連付けた軌跡データを蓄積した軌跡データベースが記憶されている。動作ＩＤは相手選手の動作を一意に特定する識別子である。相手選手ＩＤは相手選手を一意に特定する識別子である。軌跡情報は相手選手が動作した後の飛来物の軌跡を表す情報であり、ここでは飛来物の三次元位置情報が時系列に並んでいるものとする。
【００６９】
動作記憶部２２には、動作ＩＤ、相手選手ＩＤ、および動作映像を関連付けた動作データを蓄積した動作データベースが記憶されている。動作映像は奥行きを含めて三次元の動作情報を保持していてもよいし、二次元（すなわち通常の映像）であってもよい。
【００７０】
図１４に動作データベースの一例を示す。動作データベースには、動作ＩＤおよび相手選手ＩＤに対して時刻１〜Ｔに対応するフレーム画像１〜Ｔを設定することで動作映像を記憶する（図１４の動作ＩＤ＝１、相手選手ＩＤ＝１参照）。また、動作ＩＤおよび相手選手ＩＤに対して時刻１〜Ｔにおける、相手選手の各部位（手や腕など）の三次元座標など、動的に動作映像を生成できる情報を設定しておいてもよい（図１４の動作ＩＤ＝２、相手選手ＩＤ＝１参照）。
【００７１】
軌跡データベースに記憶されている軌跡データと動作データベースに記憶されている動作データとは一対一で対応付けがなされており、互いに参照可能であるものとする。すなわち、動作ＩＤと相手選手ＩＤの組み合わせにより動作データおよび軌跡データは一意に定まるものとする。
【００７２】
ステップＳ２１において、練習意図取得部２３は、図示しない入力部、例えば、キーボード等から練習意図および練習強度のうち、少なくとも練習意図を含む情報を取得し、出力する。練習意図は、ユーザに体験させたい場面を表現した情報である。練習強度は、練習の難易度を表現した情報である。練習意図および練習強度は、あらかじめ用意された複数の項目を、例えばディスプレイに表示する等の方法によりユーザへ提示し、ユーザのタッチパネル操作やキーボード入力等によりいずれか一つもしくは複数の項目を選択させることで取得する。練習意図および練習強度は都度選択する必要はなく、事前にユーザが設定したものを読み込むことで取得してもよい。以降の処理において練習強度を用いない構成とすることは可能であり、その場合には練習意図のみを取得すればよい。
【００７３】
練習意図は、具体的には、例えば、
１．コース見極め強化、
２．スピード強化、
３．速度変化強化、
などの項目から選択する。
【００７４】
１．コース見極め強化に対しては、さらに、
１−１．高低、
１−２．外角のストライク／ボール、
１−３．内角のストライク／ボール、
１−４．狙い球／それ以外、
などの選択肢が用意される。
【００７５】
２．スピード強化に対しては、さらに、
２−１．○○km/h〜△△km/h
２−２．△△km/h〜□□km/h
・・・
などの選択肢が用意される。
【００７６】
３．速度変化強化に対しては、さらに、
３−１．２種類（ストレート、カーブ）、
３−２．３種類（ストレート、カーブ、スライダー）、
３−３．４種類（ストレート、カーブ、スライダー、チェンジアップ）、
・・・
などの選択肢が用意される。
【００７７】
練習強度は、例えば、１から６までの各整数で設定するものとし、
１．トレーニングするボールを投げた本物のピッチャー映像で練習する、
２．本物のピッチャーをスティックピクチャに置き換えた映像で練習する、
３．複数用意されたテンプレートピッチャーのいずれかの映像で練習する、
４．すべて同じピッチャーの同じ映像で練習する、
５．ピッチャーの手元が見えないように加工した映像で練習する、
６．ピッチャーがいるべき場所に何もいない映像で練習する、
などと定義する。上記の例では練習強度の値が大きくなるほど難易度が高くなる例を挙げたが、必ずしもそのように定義する必要はない。
【００７８】
なお、練習強度が入力された場合には、練習意図取得部２３は、体験合成部２７へ練習強度を出力する。
【００７９】
ステップＳ２２において、提示シーケンス生成部２４は、練習意図取得部２３から練習意図を受け取り、その練習意図に基づいてユーザへ提示するシーンの時系列を表す提示シーケンスを生成し、出力する。
【００８０】
提示シーケンスは、例えばコース、速度、球種などの情報を含むシーン情報が、提示するシーン数だけ並ぶ。ここで、シーン数は、例えば野球であれば球数のことであり、映像のフレーム数ではない。シーン情報は、例えば、以下のように設定される。
【００８１】
提示No.1: コース＝（1, 3）、速度＝140km/h、球種＝ストレート
コースは、例えば、図１５に示すように、ストライクゾーンを横方向と縦方向の３×３の９マスに分類し、ストライクゾーンから上下左右に外れたボールゾーンを含めて横方向をx軸、縦方向をy軸とする二次元で表現する。図１５は、太枠で囲んだストライクゾーンのバッター側から見て左下隅を原点とした場合のコース分類の例である。例えば、コース＝（1, 3）は、ストライクゾーンの９マスのうち左から１番目、下から３番目のマス（右バッターから見て、内角高めのストライクゾーン）を通過する球であることを示す。ボールゾーンを指定する場合には０以下または４以上の値とすればよい。例えば、コース＝（4, 0）は、ストライクゾーンから右に１個、下に１個外れたマス（右バッターから見て、外角低めのボールゾーン）を通過する球であることを示す。ただし、これに限るものではなく、例えば、図１６に示すように、ホームベースの上方、ストライクゾーンを含む空間を「上」「真ん中左」「真ん中右」「左下」「右下」の５つの位置に分類する５分類などの別の分類方法であってもよい。ボールゾーンを指定する場合には、ストライクゾーンから上下左右に外れた空間を、例えば「上外（「上」のさらに上の空間）」「上左外（「上」の左の空間）」「上右外（「上」の右の空間）」「中左外（「真ん中左」のさらに左の空間）」「中右外（「真ん中右」のさらに右の空間）」「下左外（「左下」のさらに左の空間）」「下右外（「右下」のさらに右の空間）」「下外（「左下」および「右下」のさらに下の空間）」などと分類すればよい。
【００８２】
球種の分類方法は任意である。例えば、図１７に示すように、球種の分類を速度の範囲と変化の大きさとで定義すればよい。図１７の例では、速度を横軸、変化を縦軸とするグラフ上に球種の分類が定義されており、グラフ上の距離が近いほど球種が似ていることを表している。一般的には、ストレート、スライダー、チェンジアップ、カーブ、フォークの順に球種が近いと考えられている。球種の類似度を考慮すると、より柔軟な練習が可能となる。例えば、類似度の高い球種は所定の回数以上連続しないように制御したり、類似度が所定値以上離れたボールだけが連続するように制御したりすることができるようになる。
【００８３】
分類は、同じクラスに分類されたものの距離は０、そうでないものを１とするものと言える。図１７のように分類を定義すると、球種間の類似度を連続的な距離として取り扱えるため、後述するダイナミクスを考える上で柔軟な制御が可能となる。
【００８４】
分類や類似度は相手選手（例えば野球であれば投手、テニスであればサーバー）ごとに固有のものを用意してもよい。
【００８５】
提示シーケンス生成部２４は、事前に求めた事前確率p(s)およびダイナミクスp(st+1|st)を保持している。ここで、tはシーンのインデックスを表す番号である。また、sはあるシーンにおける飛来物の飛来に関するパラメータであり、例えばコース、速度、球種のいずれかである。各パラメータの事前確率は、例えば、様々な投手が投げた様々な球種の投球を記録したデータベースから平均を算出して求めればよい。各パラメータのダイナミクスは、例えば、各投手が投げた連続する投球における各パラメータの遷移（前の投球と次の投球との間の変化）から求めればよい。
【００８６】
提示シーケンスの作成方法を以下に示す。全く同じシーンを連続して視聴すると練習効果が薄まることが考えられるため、提示シーケンスでは練習意図に応じて練習が効果的に進む配球を生成する。提示シーケンス生成部２４では、提示シーケンスの原型を作成する。例えば、コースは以下に説明する方法で作成し、速度と球種についてはランダムに決めて出力する。
【００８７】
図１８に示すように、まず、事前確率p(s)からのランダムサンプリングにより、１球目のコース(x1, y1)を決定する。コースはシーン情報で用いたコース分類と同様の定義に基づいて決定する。ここでは、図１５に示すように、ストライクゾーンを横方向と縦方向の３×３の９マスに分類したときの、バッター側から見て左下隅を原点とし、横方向をx軸とし、縦方向をy軸として、各マスの二次元位置を示す座標値とする。下添え字はシーンのインデックスを表す。次に、コースの確率分布p(s)とコースの遷移のダイナミクスp(st|st-1)とを用いて、p(s)p(s2|s1)からのランダムサンプリングにより、２球目のコース(x2, y2)を決定する。以降、同様にして、コースの確率分布p(s)とコースの遷移のダイナミクスp(st|st-1)とを用いて、p(s)p(st|st-1)からのランダムサンプリングにより、t球目のコース(xt, yt)を決定する。
【００８８】
速度と球種については、提示軌跡決定部２５において軌跡データベースを参照して提示軌跡を決定する際に同時に決定するとして、提示シーケンス生成部２４では決定しないものとしてもよいし、コースと同様に事前確率とダイナミクスに基づいて提示シーケンス生成部２４で決定するものとしてもよい。
【００８９】
提示シーケンス生成部２４がランダムサンプリングにより飛来物の飛来に関する複数のパラメータ（例えばコース、速度、および球種）のすべてを決定した場合、軌跡データベースを参照して、そのシーンに類似した軌跡データが存在するかを確認してもよい。ランダムサンプリングにより決定したシーンに類似する軌跡データが存在しない場合、飛来物の飛来に関する複数のパラメータのうちの一部を優先してランダムサンプリングし、類似した軌跡データが存在するように各パラメータを決定してもよい。このとき、各パラメータのいずれを優先するかは練習意図によりあらかじめ定めておく。このように構成することにより、実際の投球に近いシーンを生成することができ、体験のリアリティを高めることができる。
【００９０】
提示シーケンス生成部２４が練習意図取得部２３から受け取った練習意図に基づいて、事前確率p(s)とダイナミクスp(st+1|st)とを制御することも可能である。これにより、例えば、１．コース見極め練習、２．スピード変化強化練習、３．球種変化強化練習を実現することができる。以下、それぞれ詳細に説明する。
【００９１】
１．コース見極め練習は、例えば、外角のストライク／ボールを見極めるための練習である。例えば、図１９に示すように、事前確率p(s)の確率分布をストライク（手を出して良いコース）とボール（手を出してはいけないコース）の二峰性とする。ダイナミクスp(st+1|st)は、まずコースのみを決定し、p(球種, 速度|コース)に基づくランダムサンプリングにより、球種および速度を決定する。
【００９２】
２．スピード変化強化練習は、ダイナミクスp(st+1|st)を速度で規定し、p(st+1|st)として速度を決定した後で、p(コース, 球種|速度)に基づくランダムサンプリングにより、コースおよび球種を決定する。
【００９３】
３．球種変化強化練習は、ダイナミクスp(st+1|st)を球種で規定し、p(st+1|st)として球種を決定した後で、p(コース, 速度|球種)に基づくランダムサンプリングにより、コースおよび速度を決定する。ただし、一般的に速度と球種は相関が高いため、実効的にはスピード変化強化練習と類似度が高くなる。
【００９４】
事前確率分布とダイナミクスは、実際に投じられたボールに基づいて決定してもよい。例えば、特定の選手のボールの平均から事前確率分布を求め、当該選手のボールの遷移からダイナミクスを決めてもよいし、すべての投手のボールの平均から事前確率分布を求め、当該選手のボールの遷移からダイナミクスを決めてもよい。
【００９５】
提示シーケンス生成部２４は、上記のようにして各シーン情報を生成し、これをシーン数（球数）だけ繰り返すことで、提示シーケンスを生成する。生成した提示シーケンスは提示軌跡決定部２５へ送られる。
【００９６】
ステップＳ２３において、提示軌跡決定部２５は、提示シーケンス生成部２４から提示シーケンスを受け取り、その提示シーケンスに含まれる各シーンについて、軌跡データベースから最も類似した軌跡データを選択することにより、飛来物の動きを表す提示軌跡を決定し、決定した提示軌跡を提示シーケンスと対応づけて出力する。提示軌跡DB_Iは、以下の式を用いて選択する。
【００９７】
【数３】
2020025320.tif 000005
【００９８】
ここで、qは提示シーケンスに含まれるシーン情報を表し、DBiは軌跡データベースに含まれる軌跡データを表す。すなわち、「コースq」はあるシーンのコースであり、「コースDBi」はi番目の軌跡データにおけるコースである。提示軌跡決定部２５は、提示軌跡DB_Iと提示シーケンスとが対応付けられた情報（以下、軌跡付与後提示シーケンスと呼ぶ）を出力する。
【００９９】
ステップＳ２４において、提示動作決定部２６は、提示軌跡決定部２５から軌跡付与後提示シーケンスを受け取り、その軌跡付与後提示シーケンスに含まれる各シーンについて、動作データベースから動作データを選択することにより、相手選手の動きを表す提示動作を決定する。動作データベースに記憶されている動作データと、軌跡データベースに記憶されている軌跡データは一対一で対応付けされているため、提示軌跡DB_Iに対応付けられている動作ＩＤおよび相手選手ＩＤにより特定される動作データを提示動作として選択する。具体的には、提示動作決定部２６は、提示軌跡DB_Iと提示シーケンスとが対応付けられた情報を入力とし、各DB_Iに対応する動作情報（動作ＩＤ、相手選手ＩＤ、および動作映像）を動作データベースから取り出して軌跡付与後提示シーケンスと対応付け、動作データを対応づけた軌跡付与後提示シーケンスを軌跡動作付与後提示シーケンスとして出力する。軌跡動作付与後提示シーケンスは、体験合成部２７へ送られる。
【０１００】
ステップＳ２５において、体験合成部２７は、提示動作決定部２６から軌跡動作付与後提示シーケンスを受け取り、その軌跡動作付与後提示シーケンスに含まれる提示軌跡と提示動作とに基づいてユーザに体験させる仮想環境を構築し、出力する。
【０１０１】
仮想環境の構築方法は、公知のいかなる技術を用いてもよいが、例えば、以下のように行うことができる。まず、ボールやスタジアムのように仮想環境を構成するためのオブジェクトを構成素材と呼び、各構成素材を仮想環境に再現するためのコンピュータ・グラフィックス（CG: Computer Graphics）データを仮想環境素材として予め記憶しておく。仮想環境素材はCGデータに限定されず、実際に撮影した映像から切り出した動画または静止画データであってもよい。また、構成素材に関する位置姿勢情報も予め記憶しておく。このとき、位置姿勢情報は提示軌跡と同じ座標系における位置情報とその座標系における姿勢情報とを含む情報とする。体験合成部２７は、仮想環境に配置される仮想環境素材を読み出し、時間変化をしない静的オブジェクトの仮想環境素材を、その位置姿勢情報に従って仮想環境に配置する。同時に、相手選手および飛来物などの時間変化を伴う動的オブジェクトの仮想環境素材は、軌跡動作付与後提示シーケンスに対応付けられた提示軌跡および提示動作に基づいて仮想環境に配置する。例えば、提示軌跡が三次元位置情報の時系列であれば、飛来物に対応する仮想環境素材を読み込んで、仮想環境上の三次元位置に任意の姿勢で配置する。また、提示動作が現実環境の映像から切り出した映像であれば、仮想環境上の所定の位置に相手選手の映像を合成する。このとき、モーションセンサー等を用いてユーザの頭部の位置および姿勢を計測し、そのユーザの位置姿勢情報に基づいて仮想環境内の視線を制御するように構成することも可能である。
【０１０２】
体験合成部２７では、練習意図取得部２３から練習強度を入力として受け取り、受け取った練習強度に基づいて、映像を変化させてもよい。練習強度では、練習の難易度を決定する。ただし、練習強度の数が大きくなると単純に難しくなるものとは限らない。
【０１０３】
例えば、練習強度を１から６の数字で分類し、各練習強度を以下のように定義する。
１．変化を加えない。
２．投手映像をスティックピクチャで表示する（参考文献２参照）。人間をスティックピクチャで提示すると、動作がゆっくりと見えるとの知見がある。一方、実写映像で提示する場合と比較して臨場感が低下することになる。
【０１０４】
〔参考文献２〕松本鮎美，三上弾，ウ小軍，川村春美，小島明，“多視点階層型GPDMを用いた単眼カメラからの視点非依存3次元人物姿勢推定”, 電子情報通信学会論文誌, Vol.J97-D, No.7, Jul. 2014.
【０１０５】
３．映像をランダムに入れ替える。この場合、ボールが投じられる前の事前の動作に影響を受けないようにする練習になる。
４．すべて同じ映像を提示する。練習強度３と類似した効果が生じる。
５．画像処理によって一部（例えばボールの出元）を見えにくくする。これにより選手は自身の手元により近い位置でボールを判断する必要が生じる。
６．映像を提示しない。
【０１０６】
具体的には、
１．トレーニングする球を投げた本物のピッチャー映像でトレーニング
２．本物のピッチャーをスティックピクチャに置き換えてトレーニング
３．複数用意されたテンプレートピッチャーのいずれかの映像でトレーニング
４．どの球もすべて同じピッチャーの同じ映像でトレーニング
５．ピッチャーの手元が見えないように加工した映像でトレーニング
６．ピッチャーがいるべき場所に何もない(球だけ)の映像でトレーニング
とする。
【０１０７】
例えば、スティックピクチャで提示することを考える。この場合、動作データベースに登録された各動作について姿勢推定を行う。単眼画像からの姿勢推定は、参考文献２に記載された手法などにより実現可能である。スティックピクチャで提示することによって、動きがゆっくり感じられることが指摘されている。これは、人の動きが、棒のみで単純化されたことにより認知的な負荷が軽減されたためと推測されている。これは、ある側面では練習強度が下がっていると言える。一方、映像からスティックピクチャになることで、投手の表情や細かな手の動きなどが視聴できなくなる。これは、より削減された情報で対峙することになるので練習が難しくなる。
【０１０８】
練習強度３、４、５、６のコンセプトは同じである。実際に投じる、あるいは、サーブを打つ前の動きに、投じるボールに関する情報がある可能性がある。例えば、フォームで球種が分かる場合がある。しかしながら、投手は全く同じフォームで多くの球種を投げることができるように練習しているため、事前のフォームに左右されることなく、ボールの軌道だけで判断し反応できる様になることが望ましい。そのために、ランダムなフォームから投じられるボール、あるいは全く同じフォームから投じられるボール、さらにはフォームが全く視聴できないように映像を全く提示せずに突然飛び出してくるボール、などで練習することが有効となる。
【０１０９】
練習強度３の場合、動作データベースに記憶されている当該投手の動作データから一つの動作をランダムに選択し提示動作とする。練習強度４の場合、動作データベースに記憶されている当該投手の動作データから一つの動作をランダムに選択し、その後の練習の間は常に同一の動作データを選択する。そのため、練習強度４が設定された場合、同一投手の映像を視聴している間常に同一の映像を選択する。練習強度５の場合、いくつかの方法が検討できる。第一の方法は、投手を遮蔽するオブジェクトを仮想的に出現する方法である。第二の方法は、あらかじめ画像処理により動作データベースに登録されている投手動作について、ブラーをかけるなどの処理を行っておく方法である。
【０１１０】
ステップＳ２６において、体験提示部２８は、体験合成部２７から構築した仮想環境のデータを受け取り、ユーザが視聴できる形態として出力する。出力する映像は、仮想環境のある視点から一方向を見るような映像でもよいし、全天球映像のように全方位を見ることができる映像でもよい。例えば、ある視点から一方向を見るような映像を出力する場合は、ある位置に仮想的に透視投影カメラを設置し、仮想環境の空間中に存在するCGモデルを透視投影カメラの画像平面に投影すればよい。また、ある視点から全方位を見渡せる全天球映像を出力する場合は、ある視点に仮想的に全天球カメラを設置し、仮想環境の空間中に存在するCGモデルを全天球カメラの画像平面に投影すればよい。
【０１１１】
上記のように構成することにより、第五実施形態の仮想環境構築技術によれば、相手からの飛来物があるスポーツや状況のトレーニングにおいて、練習意図に基づいて現実の環境よりも厳しい環境をユーザへ体験させるための仮想環境を構築することができる。これにより、現実に厳しい環境を用意させなくとも練習意図に沿った環境を容易にユーザへ体験させることができ、練習の効率を向上することができる。
【０１１２】
第五実施形態の仮想環境構築技術によれば、現実の環境から取得した情報に基づいて現実よりも厳しい環境を体験することができる仮想環境を構築することが可能となる。これにより、選手は事前に現実環境よりも厳しい環境を体験することができ、試合でのパフォーマンスを向上することができる。
【０１１３】
［第六実施形態］
スポーツにおいて、試合の前に実際に試合を行っている選手の視点位置からの映像を高い臨場感で体験しておくことは、実戦でのパフォーマンス向上にとって非常に重要である。しかしながら、試合中に選手のいる場所からビデオを撮影することは競技の妨げとなり困難である。
【０１１４】
上記の参考文献１には、スポーツ等のトレーニングにおいて、試合と類似の環境をバーチャルに生成して選手が事前に経験することで、試合でのパフォーマンス向上を目指すシステムが記載されている。参考文献１に記載されたシステムは、フットボールの選手を指導するにあたって、仮想現実（VR: Virtual Reality）技術を用いて試合と同じ環境を再現した選手目線からの３６０度映像を、ヘッドマウントディスプレイで視聴させるシステムである。
【０１１５】
従来のバーチャルなトレーニング方法では、予め用意された映像からコーチや選手などが手動で選択したシーンの映像を視聴するものであった。しかしながら、効率的なトレーニングを行うためには、選手の動きに応じて重点的に練習するシーンを決定することが重要である。
【０１１６】
第六実施形態の目的は、上述のような点に鑑みて、ユーザの反応に基づいてユーザに提示するシーンを決定することができる映像提示技術を提供することである。
【０１１７】
上記の課題を解決するために、第六実施形態の映像提示装置は、相手が飛来物を発出する映像をユーザに提示する映像提示装置であって、ユーザの身体的な挙動を表すユーザ状態と相手が飛来物を発出するシーンを表すシーン情報とを関連付けて記憶するユーザ状態記憶部と、ユーザに提示されたシーンに対する反応として現れるユーザ状態であるユーザ反応を取得するユーザ状態取得部と、ユーザ状態記憶部からユーザ反応に関連付けられたシーン情報である提示シーン情報を取得する提示マネジメント部と、提示シーン情報に基づいてユーザに提示する映像を生成する映像提示部と、を含む。
【０１１８】
第六実施形態は、バーチャルな体験によるスポーツのパフォーマンス向上を目指すものである。ここでは、スポーツのある局面で相手の動作とそれに伴うボールの移動が発生し、それに対処する動作をトレーニングするシチュエーションを想定する。例えば、野球においてピッチャーが投げたボールをバッターが打つ、サッカーのペナルティキックにおいてキッカーが蹴ったボールをキーパーが捕球する、テニスにおいてサーバーが打ったボールをレシーバーが返球する、バレーボールにおいてサーバーが打ったボールをレシーバーがレセプションする、などのシチュエーションを想定する。以降、上記のピッチャー、キッカー、サーバーなどボールを発出する人物を「相手選手」または単に「相手」と呼ぶ。また、一球分の映像を「シーン」と呼ぶ。「シーン」は現実の環境で撮影した映像であってもよいし、主体となる物体もしくは人物の三次元位置情報を時系列に並べた情報に基づいてコンピュータ・グラフィックス（CG: Computer Graphics）で作成した仮想的な映像であってもよい。もしくは、実写映像とCG映像を組み合わせて合成した仮想環境上の映像であってもよい。
【０１１９】
第六実施形態を適用可能なスポーツは、上述したようなボールを用いる球技に限定されるものではない。例えば、フリスビーのように相手から何らかの物体が発出されるスポーツや状況全般に適用可能である。以降、上記のボールやフリスビーなどの相手から発出される物体を総称して「飛来物」と呼ぶ。
【０１２０】
第六実施形態の映像提示装置は、例えば、野球の場合、ユーザがキーボード等の入力装置から次のシーンを要求するための信号を入力すると、ピッチャーが一球投球するシーンをユーザへ提示する情報処理装置である。テニスの場合でも同様に、ユーザがキーボード等の入力装置から次のシーンを要求する信号を入力すると、サーバーが一球サーブするシーンをユーザへ提示する。ユーザはヘッドマウントディスプレイを装着して、映像提示装置から提示されるシーンを視聴する。ヘッドマウントディスプレイに提示される映像は、ユーザの頭部の位置および姿勢などのユーザの身体的な状態に合わせて決定される。
【０１２１】
第六実施形態の映像提示装置は、図２０に示すように、ヘッドマウントディスプレイ３１、ユーザ状態取得部３２、ユーザ状態記憶部３３、提示マネジメント部３４、映像提示部３５、およびシーン情報記憶部３６を備える。映像提示装置は、ユーザ評価取得部３７およびユーザ状態提示部３８をさらに備えていてもよい。この映像提示装置が、図２１に示す各ステップの処理を行うことにより第六実施形態の映像提示方法が実現される。
【０１２２】
映像提示装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知または専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。映像提示装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。映像提示装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、映像提示装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。映像提示装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。映像提示装置が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【０１２３】
ヘッドマウントディスプレイ３１は、ユーザが頭部に装着して映像や音声を視聴するためのデバイスである。ヘッドマウントディスプレイ３１は、例えば、ユーザが装着したときの視界に対応する範囲にディスプレイが設けられ、両耳に対応する位置にヘッドセットが設けられる。ヘッドマウントディスプレイ３１には、加速度センサや変位センサなどの各種センサが搭載されており、ユーザが装着したときの頭部の位置および姿勢を認識することが可能である。これにより、ヘッドマウントディスプレイ３１は、ユーザの視点に合わせた映像を提示することが可能となっている。
【０１２４】
ユーザ状態記憶部３３には、ユーザ状態データベースが記憶されている。ユーザ状態データベースは、ユーザの身体的な挙動を表すユーザ状態と、ユーザに提示するシーンを表すシーン情報とを関連付けて蓄積したデータベースである。ユーザ状態データベースは、具体的には、次表に示すように、視聴ＩＤ、シーンＩＤ、視聴回数、およびユーザ状態からなるテーブルである。
【０１２５】
【表１】
2020025320.tif 000006
【０１２６】
視聴ＩＤは、一つのシーンを一度視聴するたびに付与されるユニークな通し番号である。シーンＩＤは、シーンごとに付与された、シーンを特定するための番号である。視聴回数は、そのシーンについて何度目の視聴かを表す数値である。ユーザ状態は、そのシーンを視聴したときのユーザの身体的な挙動を表す時系列情報である。
【０１２７】
ユーザ状態について、より詳細に説明する。ユーザ状態は、例えば、頭部の位置および姿勢、全身姿勢、体重移動などである。頭部の位置および姿勢は、ヘッドマウントディスプレイ３１から取得することができる。全身姿勢は、例えば、VICON社製品のようなモーションキャプチャシステムを用いて取得することができる（参考文献３参照）。体重移動は、フォースプレートなどのバランス評価システムを用いて取得することができる。上述のように、ヘッドマウントディスプレイ３１が映像を提示するためには頭部の位置および姿勢は必須の情報であるため、ユーザ状態は少なくとも頭部の位置および姿勢を含む。全身姿勢や体重移動などのその他の身体的な挙動は、より詳細なユーザの状態を取得するために任意に追加することができる。
【０１２８】
〔参考文献３〕Vicon Motion Systems Ltd.、“Motion Capture Systems | VICON”、［online］、［平成28年10月20日検索］、インターネット<URL: https://www.vicon.com/>
【０１２９】
シーン情報記憶部３６には、シーン情報データベースが記憶されている。シーン情報データベースは、ユーザに提示するシーンの詳細を表すシーン情報を蓄積したデータベースである。シーン情報データベースは、具体的には、次表に示すように、シーンＩＤ、球種、球速、軌道、キーバインド、および練習確率からなるテーブルである。
【０１３０】
【表２】
2020025320.tif 000007
【０１３１】
シーンＩＤは、シーンごとに付与された、シーンを特定するための番号である。シーンＩＤは、ユーザ状態データベースのシーンＩＤとリンクしている。球種は、そのシーンにおいて投じられるボールの球種である。球速は、そのシーンにおいて投じられるボールの球速である。軌道は、そのシーンにおいて投じられるボールのコースである。キーバインドは、後述する通常モードにおいて、ユーザが押下するキーの種類である。練習確率は、後述するフィードバックモードにおいて、提示するシーンを選択するときに用いる確率値である。練習確率は、データベース全体での総和が１となるように設定され、初期状態では均等となるように初期化されている。
【０１３２】
以下、図２１を参照しながら、第六実施形態の映像提示装置が実行する映像提示方法の処理手続きを説明する。
【０１３３】
ステップＳ３１において、映像提示装置のユーザ状態取得部３２は、ユーザの身体的な挙動を表すユーザ状態を取得して出力する。同時に、ユーザ状態取得部３２は、直前に提示したシーンを表すシーン情報と、そのシーンをユーザが視聴している際に取得したユーザ状態を関連付けて、ユーザ状態記憶部３３に記憶されたユーザ状態データベースに蓄積する。以下、直前に提示したシーンの視聴中にユーザが反応として示したユーザ状態をユーザ反応と呼ぶ。取得したユーザ反応は提示マネジメント部３４へ送られる。
【０１３４】
ユーザ状態データベースにおいて、あるシーンに関連付いたユーザ状態が複数存在する場合、そのシーンに対するユーザ状態が安定していない（すなわち、そのシーンに対する練習が不足している）ことを意味するため、そのシーンがより多く提示されるように、シーン情報データベースの練習確率を上昇させる。練習確率を上昇させる方法はどのようなものでもよい。一例としては、練習確率を現在の値よりも予め定めた割合aだけ上昇させる。練習確率を上昇させるシーン情報の現在の練習確率がxだとすると、上昇後の練習確率はaxとなる。このとき、すべてのシーンの練習確率の合計は1+ax-xとなるため、すべてのシーンの練習確率を1/(1+ax-x)倍して合計が１となるようにする。なお、aは例えば1.1程度とする。
【０１３５】
ステップＳ３３において、映像提示装置の提示マネジメント部３４は、ユーザに提示するシーンを表すシーン情報（以下、提示シーン情報と呼ぶ）を決定して出力する。提示マネジメント部３４が提示シーン情報を決定する方法は、通常モードの場合とフィードバックモードの場合とで異なる。なお、モードの設定は、ユーザがキーボード等の入力装置を手動で操作することにより行う。
【０１３６】
通常モードでは、ユーザがキーボード等の入力装置から次のシーンを要求するためのキー入力を行うと、提示マネジメント部３４が入力されたキーに予め対応付けられたシーン情報をシーン情報記憶部３６に記憶されたシーン情報データベースから取得して出力する。例えば、表２に示したシーン情報がシーン情報データベースに記憶されているとして、ユーザが“z”キーを入力した場合、時速150kmのストレートが内角高めに投じられるシーンを表すシーン情報が出力される。このとき、一つのキーに対して複数のシーンを設定し、一回のキー入力に対して複数球のシーンの時系列を提示するように設定してもよい。
【０１３７】
フィードバックモードでは、提示マネジメント部３４は、ユーザ状態取得部３２が取得したユーザ反応を入力とし、そのユーザ反応に関連づいたシーン情報をユーザ状態記憶部３３に記憶されたユーザ状態データベースから取得して出力する。例えば、表１に示したユーザ状態がユーザ状態データベースに記憶されており、表２に示したシーン情報がシーン情報データベースに記憶されているとして、“c”というユーザ反応が入力された場合、時速110kmのカーブが外角低めに投じられるシーンがユーザに提示される。
【０１３８】
ユーザ情報データベースにおいて、あるユーザ状態に対して複数のシーンが関連付けられている場合、シーン情報データベースの練習確率に基づいて、提示シーン情報を選択する。このとき、シーンの繋がりを考慮して、直前に提示された複数シーンを合わせてシーンの出現確率を変えるように設定してもよい。例えば、時速140kmのボールは、時速160kmのボールを見た後には遅く感じられるが、時速100kmのボールを見た直後では速く感じられる。このような連続性を考慮して複数のシーンをパッケージとして提示することで、より効率的なトレーニングを行うことが可能となる。
【０１３９】
ステップＳ３４において、映像提示装置の映像提示部３５は、提示マネジメント部３４が取得した提示シーン情報に基づいて、その提示シーン情報に対応するシーンの映像を生成して、ヘッドマウントディスプレイ３１へ出力する。これにより、ユーザはヘッドマウントディスプレイ３１を介して映像提示装置が提示するシーンを視聴することができる。提示する映像は、実際にピッチャーが投球するシーンをバッターボックスの位置から撮影した実写映像であってもよいし、以下のようにしてシーン情報に基づいて構成素材を合成した仮想環境の映像であってもよい。まず、ボールやスタジアムのように仮想環境を構成するためのオブジェクトを構成素材と呼び、各構成素材を仮想環境に再現するためのCGデータを仮想環境素材として予め記憶しておく。仮想環境素材はCGデータに限定されず、実際に撮影した映像から切り出した動画または静止画データであってもよい。また、構成素材に関する位置姿勢情報も予め記憶しておく。映像提示部３５は、仮想環境に配置される仮想環境素材を読み出し、時間変化をしない静的オブジェクトの仮想環境素材を、その位置姿勢情報に従って仮想環境に配置する。同時に、相手選手および飛来物などの時間変化を伴う動的オブジェクトの仮想環境素材は、シーン情報で指定された球種・球速・軌道に基づいて仮想環境に配置する。このとき、ユーザ状態取得部３２で取得した頭部の位置および姿勢に基づいて仮想環境内の視線を制御するように構成することも可能である。
【０１４０】
＜第六実施形態の変形例１＞
変形例１では、各シーンに対するユーザの自己評価を取得して、提示するシーンの選択に用いることで、ユーザが苦手と考えるシーンをより重点的に練習できるように構成する。変形例１の映像提示装置は、実施形態の映像提示装置が備える各処理部に加えて、ユーザ評価取得部３７をさらに備えるものとする。
【０１４１】
ステップＳ３２において、映像提示装置のユーザ評価取得部３７は、ユーザがキーボード等の入力装置から入力する直前のシーンに対する自己評価を取得する。自己評価の取り得る値は、例えば、うまくできた／できなかった、のような２段階評価でもよいし、１から５までの各整数を用いて値が大きいほどうまくできたことを表す５段階評価としてもよい。ユーザ評価取得部３７は、取得した自己評価に基づいて、シーン情報データベースの練習確率を調整する。例えば、自己評価の低いシーンについては練習確率を上昇させ、自己評価の高いシーンについては練習確率を低下させる。これにより、自己評価が低くユーザが苦手と考えているシーンは提示される頻度が高くなり、自己評価が高くユーザが得意と考えているシーンは提示される頻度が低くなる。
【０１４２】
ユーザ評価取得部３７は、ユーザ状態取得部３２が取得したユーザ状態に基づいて評価値を推定することで、ユーザからの自己評価の入力を不要とすることもできる。例えば、予めユーザが手動で自己評価を与えたユーザ状態を学習データとして分類器を学習しておき、その分類器を用いて入力されたユーザ状態を分類して評価値を推定する。この場合、学習が完了する程度の自己評価が収集できればよいため、ユーザによる自己評価の入力は一定時間で終えることができる。この一定時間は、取得したユーザ状態を学習したときの誤差がしきい値以下に収束するまでとしてもよいし、最初の３０球と決めておいてもよい。ユーザ状態は時系列の遷移であるため、リカレントニューラルネットワークなどの時系列情報を扱うことができる学習器を用いてもよいし、一定数をリサンプリングしてサポートベクターマシン（SVM: Support Vector Machine）などで学習してもよい。例えば、捕球前0.4秒の間のユーザ状態を30fpsでリサンプリングを行い（つまり、12サンプル）、a次元のユーザ状態（例えば、頭部位置姿勢なら６次元）を入力として、SVMを用いて良／悪の二値分類することが考えられる。これにより、ユーザからの自己評価の入力がなくても、ユーザ状態から自己評価を推定することが可能となる。
【０１４３】
＜第六実施形態の変形例２＞
変形例２では、取得したユーザ状態を提示して、ユーザが自らの状態を確認できるように構成する。変形例２の映像提示装置は、実施形態の映像提示装置が備える各処理部に加えて、ユーザ状態提示部３８をさらに備えるものとする。
【０１４４】
ステップＳ３５において、映像提示装置のユーザ状態提示部３８は、ユーザ状態取得部３２が取得したユーザ状態、もしくは、ユーザ状態記憶部３３に蓄積されたユーザ状態を、ヘッドマウントディスプレイ３１、もしくは、映像提示装置に接続した液晶ディスプレイ等の外部の表示部に出力する。ユーザ状態の表示方法はどのようなものでもよい。例えば、１回分のユーザ状態の時間遷移を時系列グラフで提示する（方法１）、予め定められたＮ回分のユーザ状態の時間遷移を時系列グラフで提示する（方法２）、予め定められたＮ回分のユーザ状態の時間遷移を平均と分散により提示する（方法３）、といった方法が挙げられる。
【０１４５】
図２２（ａ）は上記方法１によりユーザ状態（頭部姿勢）の推移をグラフ化した例である。縦軸は絶対座標値であり、横軸は時間である。図２２では、「リリース」で示す時刻に相手選手が飛来物を発出したことを表している。このような可視化により、例えば野球であれば打席内での挙動を可視化して、他の選手との比較を行うことが可能となる。上記方法２のように複数回分を提示する場合、図２２（ａ）のようなグラフが複数個連続することになる。図２２（ｂ）は上記方法３により複数回分のユーザ状態（頭部姿勢）の推移をグラフ化した例である。同じシーンに対する複数回分のユーザ状態を収集し、それらの平均と分散をグラフ化したものである。例えば、分散が大きい場合は、挙動にぶれが大きく、安定していない、というような分析をすることが可能となる。
【０１４６】
図２３および図２４は、ユーザ状態を頭部の位置および姿勢としたときの、詳細なユーザ状態の提示例である。頭部の位置はx軸、y軸、z軸の座標値それぞれについてグラフ化し（図２３）、頭部の姿勢はx軸、y軸、z軸の回転角それぞれについてグラフ化する（図２４）。これら６次元のユーザ状態を、異なる二人の選手（選手Ａおよび選手Ｂ）について並べることで、比較および分析することが可能となる。
【０１４７】
第六実施形態の映像提示技術は、第一実施形態から第五実施形態までの仮想環境構築技術と組み合わせることが可能である。
【０１４８】
第六実施形態によれば、あるシーンに対するユーザの反応に基づいてユーザに提示するシーンを決定することができるため、効率的なトレーニングを行うことが可能となる。
【０１４９】
［第七実施形態］
スポーツの試合において、事前に体験していない初めての状況に遭遇すると、十分なパフォーマンスを発揮できないことがある。野球では「初物に弱い」という表現を用いて初対戦の投手を苦手とする状況が語られることがある。この状況に対し、実際の試合と同じ環境において選手の目線で事前に投手の投球を体験することが有効であると考えられる。
【０１５０】
しかしながら、次の対戦相手の投球を完全な形で事前体験することは事実上困難である。次の対戦相手の投球を事前体験するために、スタンドなどから撮影した対戦相手の過去の投球映像を視聴する方法が知られているが、この方法において視聴される映像は実際にバッターボックスに立っている選手が見ている風景とは視点や視野が異なり、事前体験として十分ではない。
【０１５１】
上記の非特許文献１には、選手の目線における事前体験の実現方法としてバッターボックス内の選手の目線の位置に３６０度のパノラマ画像を撮影できるカメラ（以下、全天球カメラと呼ぶ）を設置し、全天球カメラで撮影した選手目線の映像をヘッドマウントディスプレイにより視聴する方法が開示されている。
【０１５２】
しかしながら、試合中にバッターボックス内に全天球カメラを設置することは事実上困難であるから、非特許文献１の方法は実現が難しい。
【０１５３】
非特許文献１以外の事前体験の実現方法として、例えば実環境を全てＣＧで再現した仮想環境を生成することも考えられる。しかしながら、プレー中の選手のＣＧを正確に作るためには実際にプレーしている選手に高精度なセンサを装着させる必要があり、実環境を全てＣＧで再現することはかなり高コストになる。一方、簡易なＣＧデータで選手を再現することも考えられるが、再現された選手のＣＧデータは不自然な動きとなり臨場感に欠けるため、事前体験として十分ではない。
【０１５４】
そこで第七実施形態では臨場感の高い仮想環境を簡易に生成できる仮想環境構築装置を提供することを目的とする。
【０１５５】
位置が遷移する動く素材である動的素材と、位置が遷移せず動かない素材である静的素材と、位置が遷移せず動く素材である特殊動的素材が実環境に存在するものとする。第七実施形態の仮想環境構築装置は、このような実環境を再現する仮想環境を生成する仮想環境構築装置である。第七実施形態の第一の態様の仮想環境構築装置は、仮想素材取得部と、仮想動的素材位置姿勢検出部と、仮想特殊動的素材生成部と、同期部と、仮想環境生成部を含む。
【０１５６】
仮想素材取得部は、動的素材である物体を仮想環境上に再現するための仮想動的素材と、静的素材を仮想環境上に再現するための仮想静的素材とを取得する。仮想動的素材位置姿勢検出部は、仮想動的素材の位置および姿勢を検出してその時系列データを取得する。仮想特殊動的素材生成部は、実環境を撮影した映像に基づいて特殊動的素材である人間を仮想環境上に再現するための仮想特殊動的素材を生成する。同期部は、人間と物体とが離隔する瞬間の前後を高フレームレートで撮影した映像と、人間と物体とが離隔する瞬間の時刻とのペアを学習したモデルへ、人間と物体とが離隔する前を撮影した離隔前画像もしくは人間と物体とが離隔した後を撮影した離隔後画像の少なくともいずれかを入力することで人間と物体とが離隔する瞬間の時刻を推定し、推定された時刻に基づいて仮想動的素材と仮想特殊動的素材とを同期する。仮想環境生成部は、仮想静的素材と、同期された仮想動的素材と、同期された仮想特殊動的素材に基づいて仮想環境を生成する。
【０１５７】
第七実施形態の第二の態様の仮想環境構築装置は、仮想素材取得部と、仮想動的素材位置姿勢検出部と、仮想特殊動的素材生成部と、同期部と、仮想環境生成部を含む。仮想素材取得部は、動的素材を仮想環境上に再現するための仮想動的素材と、静的素材を仮想環境上に再現するための仮想静的素材とを取得する。仮想動的素材位置姿勢検出部は、仮想動的素材の位置および姿勢を検出してその時系列データを取得する。仮想特殊動的素材生成部は、実環境を撮影した映像に基づいて特殊動的素材を仮想環境上に再現するための仮想特殊動的素材を生成する。同期部は、特殊動的素材と動的素材とが離隔する瞬間の前後を高フレームレートで撮影した映像と、特殊動的素材と動的素材とが離隔する瞬間の時刻とのペアを学習したモデルへ、特殊動的素材と動的素材とが離隔する前を撮影した離隔前画像もしくは特殊動的素材と動的素材とが離隔した後を撮影した離隔後画像の少なくともいずれかを入力することで特殊動的素材と動的素材とが離隔する瞬間の時刻を推定し、推定された時刻に基づいて仮想動的素材と仮想特殊動的素材とを同期する。仮想環境生成部は、仮想静的素材と、同期された仮想動的素材と、同期された仮想特殊動的素材に基づいて仮想環境を生成する。
【０１５８】
第七実施形態の第三の態様のモデル学習装置は、人間と物体とが離隔する瞬間の前後を高フレームレートで撮影した映像と、人間と物体とが離隔する瞬間の時刻とのペアを用いて、人間と物体とが離隔する前を撮影した離隔前画像もしくは人間と物体とが離隔した後を撮影した離隔後画像との少なくともいずれかを入力として人間と物体とが離隔する瞬間の時刻を出力するモデルを学習する。
【０１５９】
第七実施形態の第四の態様のモデル学習装置は、位置が遷移せず動く素材である特殊動的素材と位置が遷移する動く素材である動的素材とが離隔する瞬間の前後を高フレームレートで撮影した映像と、特殊動的素材と動的素材とが離隔する瞬間の時刻とのペアを用いて、特殊動的素材と動的素材とが離隔する前を撮影した離隔前画像もしくは特殊動的素材と動的素材とが離隔した後を撮影した離隔後画像との少なくともいずれかを入力として特殊動的素材と動的素材とが離隔する瞬間の時刻を出力するモデルを学習する。
【０１６０】
本実施形態ではピッチャーやボールやスタジアムのように現実に存在する人、物を素材と呼ぶ。素材のうちその位置が（時間経過により）遷移し、かつ動く素材（例えば、ボール）を動的素材、その位置が遷移せず動かない素材（例えば、スタジアム、スコアボード、観客席）を静的素材、その位置は遷移しないものとみなされるがその位置に留まったまま動く素材（例えば、野球のピッチャーやサーブを打つテニスプレイヤー）を特殊動的素材と呼ぶ。
【０１６１】
素材を仮想環境に再現するためのコンピュータ・グラフィクスデータ（ＣＧデータ）を仮想素材と呼ぶ。仮想素材のうち、動的素材を仮想環境上に再現するための仮想素材を仮想動的素材、静的素材を仮想環境上に再現するための仮想素材を仮想静的素材、特殊動的素材を仮想環境上に再現するための仮想素材を仮想特殊動的素材と呼ぶ。
【０１６２】
図２５に示すように第七実施形態の仮想環境構築装置４は、仮想素材取得部４１と、仮想素材記憶部４１Ａと、仮想動的素材位置姿勢検出部４２と、仮想素材位置姿勢記憶部４２Ａと、仮想特殊動的素材生成部４３と、仮想特殊動的素材記憶部４３Ａと、同期部４４と、仮想環境生成部４５と、仮想素材組み込みリスト記憶部４５Ａと、描画部４６とを含む。
【０１６３】
仮想素材取得部４１は、仮想動的素材と仮想静的素材を取得する（Ｓ４１）。仮想動的素材、仮想静的素材は、仮想環境を生成するために必要なＣＧデータであるため、例えば人手で仮想素材取得部４１に予め入力される。ステップＳ４１で取得された仮想動的素材、仮想静的素材は仮想素材記憶部４１Ａに記憶される。
【０１６４】
動的素材（例えば野球やテニスのボール）は、例えば図２５に示す第１カメラ４９１、第２カメラ４９２で撮影される。仮想動的素材位置姿勢検出部４２は、例えば図２５に示す第１カメラ４９１、第２カメラ４９２で動的素材（例えば野球やテニスのボール）を撮影した映像に基づいて、動的素材に対応する仮想動的素材の位置および姿勢（例えばリリースされた野球ボールのＣＧデータの仮想空間上の軌道、サーブされたテニスボールのＣＧデータの仮想空間上の軌道）を検出してその時系列データを取得する（Ｓ４２）。ステップＳ４２で検出された仮想動的素材の位置および姿勢は仮想素材位置姿勢記憶部４２Ａに記憶される。仮想素材位置姿勢記憶部４２Ａには、予め仮想静的素材、仮想特殊動的素材の位置および姿勢（例えばスタジアム、スコアボード、ピッチャーのＣＧデータの位置、姿勢）が記憶されているものとする。仮想静的素材、仮想特殊動的素材の位置および姿勢は、予め人手で入力されることとしてもよい。
【０１６５】
特殊動的素材（例えば野球のピッチャーやサーブを打つテニスプレイヤー）は、例えば図２５に示す第３カメラ４９３で撮影される。仮想特殊動的素材生成部４３は、例えば図２５に示す第３カメラ４９３で特殊動的素材を撮影した映像に基づいて仮想特殊動的素材を生成する（Ｓ４３）。仮想特殊動的素材生成部４３は、特殊動的素材を撮影した映像を用いて簡易なＣＧデータを作成するものとする。ステップＳ４３で生成されるＣＧデータの詳細については後述する。ステップＳ４３で生成されたＣＧデータ（仮想特殊動的素材）は、仮想特殊動的素材記憶部４３Ａに記憶される。
【０１６６】
同期部４４は、仮想動的素材と仮想特殊動的素材とを同期する（Ｓ４４）。ステップＳ４４の詳細については後述する。ステップＳ４４における同期の結果は、仮想素材位置姿勢記憶部４２Ａに記憶される。
【０１６７】
仮想環境生成部４５は、仮想静的素材と、同期された仮想動的素材と、同期された仮想特殊動的素材に基づいて仮想環境を生成する（Ｓ４５）。仮想環境生成部４５は、各仮想素材の位置姿勢情報、同期情報に基づいてＣＧデータを配置することで仮想環境を生成する。
【０１６８】
描画部４６は、生成された仮想環境を描画し、全天球映像などの映像として出力する（Ｓ４６）。以下、各構成要件の入力、出力、処理内容について詳細に説明する。
【０１６９】
［仮想素材取得部４１］
入力：仮想静的素材、仮想動的素材（入力元：外部装置など、図示せず）
出力：仮想静的素材、仮想動的素材（出力先：仮想素材記憶部４１Ａ）
処理内容：仮想素材取得部４１は仮想静的素材、仮想動的素材を外部装置などから取得し、取得した仮想静的素材、仮想動的素材を仮想素材記憶部４１Ａに記憶する。仮想静的素材、仮想動的素材は事前に用意され、仮想素材取得部４１に入力されるものとする。
【０１７０】
［仮想素材記憶部４１Ａ］
入力：仮想静的素材、仮想動的素材（入力元：仮想素材取得部４１）
出力：仮想静的素材、仮想動的素材（出力先：仮想環境生成部４５）
処理内容：仮想素材記憶部４１Ａは仮想素材取得部４１が取得した仮想静的素材、仮想動的素材を仮想素材ＩＤと対応付けて記憶し、仮想環境生成部４５の要求に応じて仮想静的素材、仮想動的素材を出力する。仮想静的素材の具体例として、野球であればスタジアムのＣＧデータ、テニスであればテニスコートのＣＧデータなどが挙げられる。仮想動的素材の具体例として、野球であれば野球ボール、テニスであればテニスボールのＣＧデータなどが挙げられる。
【０１７１】
［仮想動的素材位置姿勢検出部４２］
入力：センサ（カメラ）の出力値（入力元：例えば第１カメラ４９１、第２カメラ４９２）
出力：仮想動的素材の各時刻の位置および姿勢（出力先：仮想素材位置姿勢記憶部４２Ａ）
処理内容：仮想動的素材位置姿勢検出部４２は、センサ（カメラ）の出力値に基づいて実環境における動的素材の位置および姿勢を推定し、推定結果に基づいて動的素材に対応する仮想動的素材の各時刻の仮想空間上の位置および姿勢を検出し、その時系列データを取得する。
【０１７２】
前述したように動的素材の３次元の位置および姿勢を推定するためのセンサとして、複数カメラ（例えば第１カメラ４９１、第２カメラ４９２）が利用できる。複数カメラを利用して物体の３次元の位置情報を算出する手法の具体例として、ステレオ法を用いた方法がある。具体的には、予めカメラキャリブレーションを実施したカメラ群で撮影された映像に対し、画像上の物体の位置を求める。このとき、画像上の物体の位置は手作業で与えてもよいし、テンプレートマッチングなどの検出手法を用いて物体を検出し、その中心位置を物体の位置としてもよい。これら画像上で検出された位置とカメラキャリブレーションで求めたカメラパラメータを用いてステレオ法を適用することで物体の３次元位置を求めることができる。
【０１７３】
また、姿勢情報に関しては、撮影した物体表面の詳細（例えばボールの縫い目、模様）から基準の姿勢に対してどの程度回転しているのかを求めることができる。動的素材の位置および姿勢を求めるセンサの他の例としては、ドップラーレーダーなどを挙げることができる。ドップラーレーダーは公知の技術であるため、詳細な説明は省略する。その他、物体の３次元位置姿勢情報を取得できるセンサおよび手法であればどのような方法でもよい。本ステップＳ４２において推定された動的素材（例えば野球のボール）の位置および姿勢は、本ステップ内において対応する仮想動的素材（例えば野球のボールのＣＧデータ）の仮想空間上の位置および姿勢に変換され、仮想動的素材の位置および姿勢に関する時系列データが出力されるという点に留意する。
【０１７４】
［仮想素材位置姿勢記憶部４２Ａ］
入力：仮想素材の位置姿勢情報、同期情報（入力元：仮想動的素材位置姿勢検出部４２、同期部４４）
出力：仮想素材の位置姿勢情報、同期情報（出力先：同期部４４、仮想環境生成部４５）
処理内容：仮想素材位置姿勢記憶部４２Ａは、各仮想素材の位置姿勢情報、同期情報を記憶する。仮想素材位置姿勢記憶部４２Ａは、仮想動的素材位置姿勢検出部４２により取得された時系列データを、仮想動的素材の各時刻における位置および姿勢として記憶する。一方、スタジアム、グラウンド、ピッチャーなどのように時間経過とともに位置が遷移しない静的素材、特殊動的素材に関する位置姿勢情報については、仮想素材位置姿勢記憶部４２Ａは、予め用意されたデータを記憶するものとする。具体的には、仮想素材位置姿勢記憶部４２Ａには、各時刻における各仮想素材の３次元の位置姿勢情報を表すレコードによって構成される仮想素材位置姿勢情報テーブル（図２７参照）が記憶されている。
【０１７５】
仮想素材位置姿勢情報テーブルは、図２７に示すように、素材を一意に識別する「素材ＩＤ」と、仮想素材を一意に識別する「仮想素材ＩＤ」と、各「時刻」における仮想素材の「位置」および「姿勢」の各値を有する。位置は３次元の並進ベクトルとして表され、姿勢は各軸に対する回転角を表す３次元ベクトルとして表される。例えば、野球の投球を想定した場合、素材Ｏｉがストレートボールを表すとすると、素材Ｏｉに対応する仮想素材Ｅｉは、仮想素材記憶部４１Ａに記憶された野球ボールのＣＧデータである。このとき、各時刻に対応する位置および姿勢はその時刻に野球ボールのＣＧデータが仮想空間上のどの位置にどの姿勢で存在しているかということを表している。より具体的には、位置Ｔｉ（１），…，Ｔｉ（ｔｉ）は野球ボールのＣＧデータ（仮想素材Ｅｉ）の仮想空間上の軌道を、姿勢Ｒｉ（１），…，Ｒｉ（ｔｉ）は野球ボールのＣＧデータ（仮想素材Ｅｉ）が仮想空間上をどのように回転していくかを表している。なお、図２７において、時刻に「−」が格納されている仮想素材は、スタジアムやピッチャーのように時間経過に伴い位置や姿勢が遷移しない仮想静的素材、仮想特殊動的素材であることを表す。このような位置や姿勢が遷移しない仮想素材の位置姿勢情報は予め記憶されているものとする。また、各仮想素材に対して定められている時刻は、その仮想素材が後述する仮想環境生成部４５によって仮想環境に組み込まれた時点からの経過時刻を表す。具体的には、仮想環境生成部４５が時刻ｔａの時点で仮想素材Ｅｉを仮想環境に組み込んだ場合、時刻（ｔａ＋１）の時点の仮想素材Ｅｉの位置および姿勢はそれぞれＴｉ（１），Ｒｉ（１）であり、時刻（ｔａ＋２）の時点の仮想素材Ｅｉの位置および姿勢はそれぞれＴｉ（２），Ｒｉ（２）である。
【０１７６】
［仮想特殊動的素材生成部４３］
入力：映像（入力元：例えば第３カメラ４９３）
出力：仮想特殊動的素材（出力先：仮想特殊動的素材記憶部４３Ａ）
処理内容：仮想特殊動的素材生成部４３は、カメラ（例えば第３カメラ４９３）で撮影した映像を入力とし、その映像の一部または全部を予め用意したＣＧデータにテクスチャとして貼り付けることで、実写に基づくＣＧデータを作成し、当該ＣＧデータを仮想特殊動的素材として出力する。
【０１７７】
具体例として、野球のピッチャーの仮想特殊動的素材を生成する場合の仮想特殊動的素材生成部４３の動作を図２８に示す。
【０１７８】
図２８の例では、映像を貼り付けるベースとなるＣＧデータとして長方形の平面（ビルボード）を利用する。まず仮想特殊動的素材生成部４３は、カメラ（例えば第３カメラ４９３）で撮影した映像Ｖを読みだす（Ｓ１３１）。なお、この映像Ｖにはピッチャーが含まれるものとする。次に仮想特殊動的素材生成部４３は、映像Ｖから部分映像Ｖ’を切り出す（Ｓ１３２）。なお、切り出す領域の例としては、例えばピッチャーが存在する領域を含む矩形領域が挙げられる。この矩形領域の大きさや位置は映像Ｖを見た人が予め人手で与えてもよいし、自動的に与えられてもよい。矩形領域の大きさや位置を自動的に与える方法としては、例えば背景差分法などがある。背景差分法を用いることでピッチャーが存在する領域を求めることができるので、この領域を含むように矩形領域を定めればよい。また、切り出す領域は矩形領域に限らず、例えばピッチャーが存在する領域のみを切り出してもよい。ピッチャーが存在する領域のみを切り出す方法として、前述の背景差分法などを用いることができる。なお、映像Ｖから部分映像Ｖ’を切り出す処理は行っても行わなくてもよい。部分映像Ｖ’を切り出す処理を行わない場合は、便宜上、映像Ｖと同じ大きさの矩形領域を切り出して映像Ｖ’を得たものとして取り扱う。最後に仮想特殊動的素材生成部４３は、映像Ｖ’を長方形の平面（ビルボード）にテクスチャとして貼り付け（Ｓ１３３）、そのＣＧデータを仮想特殊動的素材として仮想特殊動的素材記憶部４３Ａに出力する。
【０１７９】
［仮想特殊動的素材記憶部４３Ａ］
入力：仮想特殊動的素材（入力元：仮想特殊動的素材生成部４３）
出力：仮想特殊動的素材（出力先：同期部４４、仮想環境生成部４５）
処理内容：仮想特殊動的素材記憶部４３Ａは、ステップＳ４３で生成された仮想特殊動的素材を記憶し、各構成要件の要求に応じて各構成要件に仮想特殊動的素材を出力する。
【０１８０】
［同期部４４］
入力：仮想特殊動的素材（入力元：仮想特殊動的素材記憶部４３Ａ）、仮想動的素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部４２Ａ）、仮想特殊動的素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部４２Ａ）
出力：同期情報（出力先：仮想素材位置姿勢記憶部４２Ａ）
処理内容：同期部４４は、仮想特殊動的素材（例えばピッチャーのＣＧデータ）と、仮想特殊動的素材に関連する仮想動的素材（例えばピッチャーが投げたボールのＣＧデータ）の同期を取る。上記組み合わせの他の例としてはテニス選手のＣＧデータと、その選手がサーブしたテニスボールのＣＧデータなどが該当する。どの仮想特殊動的素材とどの仮想動的素材が関連するかに関しては、予め定められているものとする。同期とは、図２７の仮想素材位置姿勢情報テーブルの同期素材の同期開始時刻を求めることに相当する。
【０１８１】
具体例としてピッチャーのＣＧデータと、そのピッチャーが投げたボールのＣＧデータの同期を取る場合を考える。この場合、ビルボードにテクスチャとして貼り付けられた映像Ｖ’において、ピッチャーの手からボールがリリースされた瞬間の時刻を、同期素材であるボールのＣＧデータの同期開始時刻とすればよい。ここで、手からボールがリリースされた瞬間の時刻はどのような方法を用いて求めてもよい。
【０１８２】
例えば、テクスチャ（映像Ｖ’）の毎時刻に対してボールのテンプレートマッチングを行い、最初に検出された時刻をボールがリリースされた瞬間の時刻、すなわち同期開始時刻としてもよい。あるいはテクスチャ（映像Ｖ’）の毎時刻に対してピッチャーのリリース時の手や腕の形のテンプレートを用いてテンプレートマッチングを行い、最初に検出された時刻を同期開始時刻としてもよい。
【０１８３】
上記の方法ではピッチャーがボールをリリースする瞬間が映像Ｖ’に撮影されていることが前提となるが、ピッチャーの腕の振りの速度は非常に速いため、映像の撮影に用いられる一般的なフレームレート（例えば３０ｆｐｓ，６０ｆｐｓなど）では、撮影した映像Ｖ’にリリースの瞬間が収められていない場合がある。リリースの瞬間が映像Ｖ’に収められていない場合、上記のようにボールや手や腕のテンプレートをマッチングしてその時刻をリリース時刻とするのではなく、リリース前後の画像からリリース時刻を推定してもよい。
【０１８４】
リリース前後の画像からリリース時刻を推定する方法としては、例えば学習を用いる手法がある。具体的には、リリースの瞬間を含むような高フレームレート（例えば１０００ｆｐｓ）で撮影した画像群からリリースの瞬間（時刻）を求め、リリースの瞬間（時刻）を基準として所定のフレーム過去または未来にシフトした時刻に該当するリリース前画像、リリース後画像からなる画像ペアを、シフトするフレーム数を異ならせて複数個作成する。上記の複数個の画像ペアとリリースの瞬間（時刻）を教師データとして、画像ペアからリリースの瞬間（時刻）を求めるモデルを学習する。このように学習されたモデルを用いることにより、低フレームレートにおけるリリース前の画像（第１画像ともいう）、低フレームレートにおけるリリース後の画像（第２画像ともいう）の画像ペアが与えられた場合に、リリースの瞬間（時刻）を推定することが可能となる。モデルの学習方法はどのような方法でもよい。例えばリリース前画像、リリース後画像における手の座標値や、腕の方向、リリース後のボールの位置などを特徴量として用いて線形識別器を適用してもよいし、特徴抽出も含めてＤＮＮを適用してもよい。
【０１８５】
ステップＳ４４をより一般的な表現で再定義するとすれば、同期部４４は、人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えばリリース）する前を撮影した画像である第１画像（リリース前の画像）と、人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えば、リリース）した後を撮影した画像である第２画像（リリース後の画像）とからなる画像ペアを、実環境を撮影した映像（例えば映像Ｖ’）から抽出し、画像ペアを予め学習されたモデルと照合することで人間（例えばピッチャー）と物体（例えばボール）とが離隔する時刻（例えば、リリースされる瞬間）を推定し、推定された時刻に基づいて仮想動的素材（例えばボールのＣＧデータ）と仮想特殊動的素材（例えばピッチャーのＣＧデータ）を同期する。
【０１８６】
なお、リリース前後の画像からリリース時刻を推定するために用いるモデルは、同期部４４が予め学習して内部に記憶しておいてもよいし、仮想環境構築装置とは異なる外部のモデル学習装置により予め学習して、同期部４４の内部に記憶しておいてもよい。
【０１８７】
上記の方法を用いたリリース時刻検出の一例を図２９に示す。同期部４４は、ピッチャーのＣＧデータに貼られたテクスチャ（映像Ｖ’）の全てのフレーム（毎時刻）に対してリリース判定を行う。具体的には、同期部４４は、ピッチャーのリリース時の手の形のテンプレートを用いてテンプレートマッチングを実行し、マッチングスコアを算出する（Ｓ１４１）。マッチングスコアが閾値ｔｈ１以上となる場合（Ｓ１４２Ｙ、すなわち類似の場合）、その時刻をボールの同期開始時刻とする（エンド）。同期部４４はステップＳ１４１の処理を映像Ｖ’の全てのフレーム（毎時刻）に対して行い、映像Ｖ’の全てのフレームにおいて閾値ｔｈ１以上のスコアが得られなかった場合（Ｓ１４３Ｙ）、同期部４４はボールのテンプレートを用いて最初のフレーム（時刻）からテンプレートマッチングを実行し、マッチングスコアを算出する（Ｓ１４４）。マッチングスコアが閾値ｔｈ２以上となった場合に（Ｓ１４５Ｙ）、同期部４４は、閾値ｔｈ２以上となった最初の時刻Ｔａをリリース後の時刻とし、その１時刻前の時刻Ｔａ−１をリリース前の時刻とする（Ｓ１４６）。同期部４４は、時刻Ｔａ−１における第１画像と、時刻Ｔａにおける第２画像よりなる画像ペアと予め学習したモデルを用いてリリース時刻を推定する（Ｓ１４６）。閾値ｔｈ１および閾値ｔｈ２は予め定められているものとする。同期部４４は、以上の処理で推定した時刻を図２７に示した仮想素材位置姿勢情報テーブルにおける同期素材の同期開始時刻として設定する。
【０１８８】
上記フローチャートのステップＳ１４１〜Ｓ１４６の動作をより一般的な表現で再定義すれば、同期部４４は、人間（例えばピッチャー）と物体（例えばボール）とが離隔する瞬間における人間（例えばピッチャー）の身体のテンプレートとして予め用意された第１のテンプレート（例えば手のテンプレート）と、人間（例えばピッチャー）と物体（例えばボール）とが離隔する瞬間における物体（例えばボール）のテンプレートとして予め用意された第２のテンプレート（例えばボールのテンプレート）を用い、実環境を撮影した映像（例えば映像Ｖ’）に対してテンプレートマッチングを実行して人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えば、リリース）する時刻を推定し、推定された時刻に基づいて仮想動的素材と仮想特殊動的素材とを同期する。なお、上記第１のテンプレート（例えば手のテンプレート）と第２のテンプレート（例えばボールのテンプレート）はどちらか一方のみを用いてもよい。
【０１８９】
［仮想環境生成部４５］
入力：仮想静的素材（入力元：仮想素材記憶部４１Ａ）、仮想動的素材（入力元：仮想素材記憶部４１Ａ）、仮想素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部４２Ａ）、仮想特殊動的素材（入力元：仮想特殊動的素材記憶部４３Ａ）、仮想素材組み込みリスト（入力元：仮想素材組み込みリスト記憶部４５Ａ）
出力：仮想環境のデータ（出力先：描画部４６）
処理内容：仮想環境生成部４５は、仮想素材記憶部４１Ａから仮想静的素材、仮想動的素材を読み出し、仮想素材位置姿勢記憶部４２Ａから各仮想素材の位置姿勢情報を読みだし、仮想特殊動的素材記憶部４３Ａから仮想特殊動的素材を読み出し、これらを仮想素材組み込みリストに従って統合し、仮想環境のデータを生成する（Ｓ４５）。
【０１９０】
生成された仮想環境のデータは描画部４６に送られる。仮想環境のデータとは、ある仮想的な空間において一つ以上の仮想素材が配置された仮想空間のデータを指す。仮想環境生成部４５は、仮想環境を生成するための仮想素材組み込みリストを仮想素材組み込みリスト記憶部４５Ａから読み出す。この仮想素材組み込みリストは、仮想素材を一意に識別する「仮想素材ＩＤ」と、その仮想素材を仮想環境に組み込む時刻である「組み込み開始時刻」を持つ。仮想素材組み込みリストは予め人手で用意され、仮想素材組み込みリスト記憶部４５Ａに予め記憶されているものとする。仮想環境生成部４５は仮想素材組み込みリストに従って、仮想素材を仮想環境に組み込む。このとき、仮想素材の位置姿勢を仮想素材位置姿勢記憶部４２Ａから読み出し、その位置姿勢に基づいて仮想空間上に配置する。仮想環境生成部４５は、仮想素材組み込みリストに記載されている全ての仮想素材を仮想環境に組み込んだら処理を終了する。
【０１９１】
［描画部４６］
入力：仮想環境のデータ（入力元：仮想環境生成部４５）
出力：映像（出力先：映像表示デバイス（図示せず））
処理内容：描画部４６は、ステップＳ４５で生成された仮想環境のデータを描画し、ユーザが視聴できる状態、例えば映像として出力する（Ｓ４６）。描画部４６が出力する映像は、仮想環境のある視点から一方向を見るような映像でもよいし、全天球映像のように全方位を見ることができる映像でもよい。例えば、ある視点から一方向を見るような映像を出力する場合は、ある位置に仮想的に透視投影カメラＣを設置し、仮想環境の空間中に存在するＣＧデータをカメラＣの画像平面に投影すればよい。具体的には、ＴをカメラＣの外部パラメータである位置とし、Ｒを姿勢とし、Ｋを内部パラメータとすると、仮想環境のデータが存在する空間中のある点ｐは、以下のようにカメラＣの画像平面上に点ｑとして投影される。
【０１９２】
【数４】
2020025320.tif 000008
【０１９３】
ただし、内部パラメータＫはカメラＣの焦点距離や画像中心からなる３ｘ３の行列である。
【０１９４】
ある視点から全方位を見渡せる全天球映像を出力する場合は、ある視点に仮想的に全天球カメラＯを設置し、仮想環境の空間中に存在するＣＧデータをカメラＯの画像平面に投影すればよい。具体的には、ＴをカメラＯの外部パラメータである位置とし、Ｒを姿勢とし、Ｗを投影する画像平面の幅とし、Ｈを高さとすると、仮想環境のデータが存在する空間中のある点ｐは、以下のようにカメラＯの画像平面上に点ｑ＝（ｑｘ，ｑｙ）Ｔとして投影される。
【０１９５】
【数５】
2020025320.tif 000009
【０１９６】
この例では全天球映像を２次元画像で表現する図法として正距円筒図法を用いているが、メルカトル図法など他の図法を用いてもよい。
【０１９７】
第七実施形態の仮想環境構築装置によれば、臨場感の高い仮想環境を簡易に生成できる。
【０１９８】
［第八実施形態］
スポーツの試合において、事前に体験していない初めての状況に遭遇すると、十分なパフォーマンスを発揮できないことがある。野球では「初物に弱い」という表現を用いて初対戦の投手を苦手とする状況が語られることがある。この状況に対し、実際の試合と同じ環境において選手の目線で事前に投手の投球を体験することが有効であると考えられる。
【０１９９】
しかしながら、次の対戦相手の投球を完全な形で事前体験することは事実上困難である。次の対戦相手の投球を事前体験するために、スタンドなどから撮影した対戦相手の過去の投球映像を視聴する方法が知られているが、この方法において視聴される映像は実際にバッターボックスに立っている選手が見ている風景とは視点や視野が異なり、事前体験として十分ではない。
【０２００】
上記の非特許文献１には、選手の目線における事前体験の実現方法としてバッターボックス内の選手の目線の位置に３６０度のパノラマ画像を撮影できるカメラ（以下、全天球カメラと呼ぶ）を設置し、全天球カメラで撮影した選手目線の映像をヘッドマウントディスプレイにより視聴する方法が開示されている。
【０２０１】
しかしながら、試合中にバッターボックス内に全天球カメラを設置することは事実上困難であるから、非特許文献１の方法は実現が難しい。
【０２０２】
非特許文献１以外の事前体験の実現方法として、例えば実環境を全てＣＧで再現した仮想環境を生成することも考えられる。しかしながら、プレー中の選手のＣＧを正確に作るためには実際にプレーしている選手に高精度なセンサを装着させる必要があり、実環境を全てＣＧで再現することはかなり高コストになる。下記参考文献４には、簡易に臨場感の高い仮想環境を作り出す方法として、ピッチャーのように複雑な動きをする素材に対しては、実写映像をＣＧデータ（ビルボード）にテクスチャとして貼り付ける方法が開示されている。
〔参考文献４〕林邦彦、斎藤英雄、「多視点サッカー映像からの自由視点映像生成」、情報処理学会研究報告、社団法人情報処理学会、平成18年5月18日、2006-CVIM-154(24)、pp.173-180
【０２０３】
例えば図３０に示すように、野球の右バッターボックス４７１に立つバッター４８２の体験を事前体験するために、仮想環境を生成する場合を想定する。この場合、ピッチャー４８１はカメラで撮影した映像に基づいたビルボード表現を用いてＣＧ化することとすると、ピッチャー４８１を撮影するカメラのアングルはバッター４８２が見ている方向と極力一致することが望ましい。すなわち、カメラ４９３ａのようにピッチャー４８１とバッター４８２を通る直線上に存在し、かつその撮影方向がピッチャー４８１とバッター４８２を通る直線と平行な方向であることが望ましいと考えられる。しかしながら、実際の試合においてカメラ４９３ａの位置からピッチャー４８１を撮影しようとすると、バッター４８２がオクルージョンとなってしまうため、カメラ４９３ａで撮影した映像を用いてＣＧデータを作成すると違和感が大きいという課題があった。また、バッター４８２のオクルージョンを回避する方法としてカメラ４９３ｂのように別の角度から撮影した映像を用いる方法も考えられるが、カメラ４９３ｂとカメラ４９３ａは視点が異なるため、カメラ４９３ｂで撮影した映像を用いてＣＧデータを作成してもピッチャー４８１の向きに関して違和感が大きいという課題があった。
【０２０４】
そこで第八実施形態では違和感の少ない仮想環境を生成できる仮想環境構築装置を提供することを目的とする。
【０２０５】
位置が遷移する動く素材である動的素材と、位置が遷移せず動かない素材である静的素材と、位置が遷移せず動く素材である特殊動的素材が実環境に存在するものとする。第八実施形態の仮想環境構築装置は、このような実環境を再現する仮想環境を生成する仮想環境構築装置である。第八実施形態の仮想環境構築装置は、仮想素材取得部と、仮想動的素材位置姿勢検出部と、事前準備部と、類似映像検索部と、仮想特殊動的素材生成部と、同期部と、仮想環境生成部を含む。
【０２０６】
仮想素材取得部は、動的素材を仮想環境上に再現するための仮想動的素材と、静的素材を仮想環境上に再現するための仮想静的素材とを取得する。仮想動的素材位置姿勢検出部は、仮想動的素材の位置および姿勢を検出してその時系列データを取得する。事前準備部は、予め定めた事前準備フェーズにおいて取得された時系列データと、これに関連する特殊動的素材の映像とを対応付ける。類似映像検索部は、予め定めた仮想環境生成フェーズにおいて取得された時系列データと類似する事前準備フェーズにおける時系列データを検索し、検索された時系列データと対応付けられた特殊動的素材の映像を出力する。仮想特殊動的素材生成部は、出力された特殊動的素材の映像に基づいて、特殊動的素材を仮想環境上に再現するための仮想特殊動的素材を生成する。同期部は、仮想動的素材と仮想特殊動的素材とを同期する。仮想環境生成部は、仮想静的素材と、同期された仮想動的素材と、同期された仮想特殊動的素材に基づいて仮想環境を生成する。
【０２０７】
第八実施形態ではピッチャーやボールやスタジアムのように現実に存在する人、物を素材と呼ぶ。素材のうちその位置が（時間経過により）遷移し、かつ動く素材（例えば、ボール）を動的素材、その位置が遷移せず動かない素材（例えば、スタジアム、スコアボード、観客席）を静的素材、その位置は遷移しないものとみなされるがその位置に留まったまま動く素材（例えば、野球のピッチャーやサーブを打つテニスプレイヤー）を特殊動的素材と呼ぶ。
【０２０８】
素材を仮想環境に再現するためのコンピュータ・グラフィクスデータ（ＣＧデータ）を仮想素材と呼ぶ。仮想素材のうち、動的素材を仮想環境上に再現するための仮想素材を仮想動的素材、静的素材を仮想環境上に再現するための仮想素材を仮想静的素材、特殊動的素材を仮想環境上に再現するための仮想素材を仮想特殊動的素材と呼ぶ。
【０２０９】
第八実施形態の仮想環境構築装置５の構成を図３１に示す。第八実施形態では仮想環境構築装置５の外部または内部に１台以上のカメラを有するものとする。少なくとも１台のカメラは図３０のカメラ４９３ａのように、事前体験をする対象（以下、体験対象。例えば図３０におけるバッター４８２など）と実写映像を撮影する対象（以下、撮影対象。例えば図３０におけるピッチャー４８１など）を結ぶ直線上またはその付近に設置され、撮影対象の方向を向いていることとする。図３１の例では、動的素材を撮影するための第１カメラ４９１、第２カメラ４９２、特殊動的素材を撮影するための第３カメラ４９３を仮想環境構築装置５の外部に備えるものとし、第３カメラ４９３は、図３０のカメラ４９３ａのように体験対象と撮影対象を結ぶ直線上またはその付近に設置されているものとする。なお詳細は後述するが、第１カメラ４９１、第２カメラ４９２は他のセンサに代替可能である。
【０２１０】
第八実施形態の仮想環境構築装置５は、事前準備部４０と、映像記憶部４０Ａと、仮想素材取得部４１と、仮想素材記憶部４１Ａと、仮想動的素材位置姿勢検出部４２と、仮想素材位置姿勢記憶部４２Ａと、類似映像検索部４７と、仮想特殊動的素材生成部４３と、仮想特殊動的素材記憶部４３Ａと、同期部４４と、仮想環境生成部４５と、仮想素材組み込みリスト記憶部４５Ａと、描画部４６とを含む。
【０２１１】
以下、第八実施形態の仮想環境構築装置５の動作の概略を説明する。以下では野球を例に挙げ、具体的には図３０に示したように右バッターボックス４７１にバッター４８２が立っている状態で、右バッターボックス４７１における試合の事前体験が可能な仮想環境を生成することを想定して説明を行う。本実施例において、仮想環境構築装置５の動作の流れは大きく２つのフェーズに分けることができる。１つは事前準備フェーズである。事前準備フェーズでは、ピッチャー４８１の映像とピッチャー４８１が投げたボールの軌道を対応付けて保存する。もう一つは仮想環境生成フェーズである。仮想環境生成フェーズでは、各仮想素材を組み合わせて仮想環境を生成する。
【０２１２】
＜事前準備フェーズ＞
事前準備フェーズにおいて、動的素材（ボール）は、例えば図３１に示す第１カメラ４９１、第２カメラ４９２で撮影される。仮想動的素材位置姿勢検出部４２は、例えば図３１に示す第１カメラ４９１、第２カメラ４９２で動的素材（ボール）を撮影した映像に基づいて、動的素材に対応する仮想動的素材の位置および姿勢（リリースされたボールのＣＧデータの仮想空間上の軌道）を検出してその時系列データを取得する（Ｓ５２Ａ）。
【０２１３】
特殊動的素材（ピッチャー）は、例えば図３１に示す第３カメラ４９３で撮影される。事前準備部４０は、例えば図３１に示す第３カメラ４９３で特殊動的素材（ピッチャー）を撮影した映像を取得し、ステップＳ４２Ａにおいて取得された時系列データと、これに関連する特殊動的素材（ピッチャー）の映像とを対応付け、映像記憶部４０Ａに記憶する（Ｓ５０）。
【０２１４】
ステップＳ５０では、オクルージョンを含まない特殊動的素材（ピッチャー）の映像が選別される。事前準備部４０が映像を自動的に選別することとしてもよいし、人手によりオクルージョンを含まない映像が選別されてもよい。例えばオクルージョンを含まない映像は左バッターボックス４７２にバッター４８２がいる時に、カメラ４９３ａのアングルで投球を撮影することで取得することができる。ステップＳ４２Ａでは、オクルージョンを含まない特殊動的素材（ピッチャー）に対応した時系列データが取得され、ステップＳ５０において、これらが関連付けられて映像記憶部４０Ａに記憶される。
【０２１５】
＜仮想環境生成フェーズ＞
仮想環境生成フェーズにおいて、まず仮想素材取得部４１は、仮想動的素材と仮想静的素材を取得する（Ｓ５１）。仮想動的素材、仮想静的素材は、仮想環境を生成するために必要なＣＧデータであるため、例えば人手で仮想素材取得部４１に予め入力される。ステップＳ５１で取得された仮想動的素材、仮想静的素材は仮想素材記憶部４１Ａに記憶される。
【０２１６】
動的素材（ボール）は、前述と同様に、第１カメラ４９１、第２カメラ４９２で撮影される。仮想動的素材位置姿勢検出部４２は、ステップＳ５２Ａと同様に、仮想動的素材の位置および姿勢（野球ボールのＣＧデータの仮想空間上の軌道）を検出してその時系列データ（以下、軌道データともいう）を取得する（Ｓ５２Ｂ）。ステップＳ５２Ｂで検出された仮想動的素材の位置および姿勢（時系列データ、軌道データ）は仮想素材位置姿勢記憶部４２Ａに記憶される。この時の時系列データ（軌道データ）はクエリとして、後述のステップＳ４７で利用される。仮想素材位置姿勢記憶部４２Ａには、予め仮想静的素材、仮想特殊動的素材の位置および姿勢（例えばスタジアム、スコアボード、ピッチャーのＣＧデータの位置、姿勢）が記憶されているものとする。仮想静的素材、仮想特殊動的素材の位置および姿勢は、予め人手で入力されることとしてもよい。
【０２１７】
類似映像検索部４７は、ステップＳ５２Ｂにおいて取得された時系列データ（軌道データ）をクエリとして、これに類似するステップＳ５２Ａにおける時系列データ（軌道データ）を、映像記憶部４０Ａから検索し、検索された時系列データ（軌道データ）と対応づけられた特殊動的素材（ピッチャー）の映像を出力する（Ｓ５７）。
【０２１８】
仮想特殊動的素材生成部４３は、ステップＳ５７で出力された特殊動的素材の映像に基づいて仮想特殊動的素材を生成する（Ｓ５３）。仮想特殊動的素材生成部４３は、特殊動的素材を撮影した映像を用いて簡易なＣＧデータを作成するものとする。ステップＳ５３で生成されるＣＧデータの詳細については後述する。ステップＳ５３で生成されたＣＧデータ（仮想特殊動的素材）は、仮想特殊動的素材記憶部４３Ａに記憶される。
【０２１９】
同期部４４は、仮想動的素材と仮想特殊動的素材とを同期する（Ｓ５４）。ステップＳ５４の詳細については後述する。ステップＳ５４における同期の結果は、仮想素材位置姿勢記憶部４２Ａに記憶される。
【０２２０】
仮想環境生成部４５は、仮想静的素材と、同期された仮想動的素材と、同期された仮想特殊動的素材に基づいて仮想環境を生成する（Ｓ５５）。仮想環境生成部４５は、各仮想素材の位置姿勢情報、同期情報に基づいてＣＧデータを配置することで仮想環境を生成する。
【０２２１】
描画部４６は、生成された仮想環境を描画し、全天球映像などの映像として出力する（Ｓ５６）。なお、上述の例におけるピッチャーとボールの関係は、テニス、バレーボール、卓球やバドミントンなどの様々な球技における選手とボール（あるいは羽など）に置き換えて考えることができる。以下、各構成要件の入力、出力、処理内容について詳細に説明する。
【０２２２】
［事前準備部４０］
入力：事前準備フェーズにおいて取得された時系列データ（入力元：仮想動的素材位置姿勢検出部４２）、映像Ｖ（入力元：第３カメラ４９３）
出力：事前準備フェーズにおいて取得された時系列データ（出力先：映像記憶部４０Ａ）、映像Ｖ（出力先：映像記憶部４０Ａ）
処理内容：事前準備部４０は、事前準備フェーズにおいて取得された仮想動的素材（ボールのＣＧデータ）の時系列データ（軌道データ）と、これに関連する特殊動的素材（ピッチャー）の映像Ｖとを関連付けて映像記憶部４０Ａに記憶する。映像Ｖには撮影対象である特殊動的素材（ピッチャー）が含まれているものとする。なお、本実施例では、時系列データ（軌道データ）を仮想動的素材（ボールのＣＧデータ）の仮想空間上の軌道を表すものとしているが、これに限らず、時系列データ（軌道データ）を現実に存在する動的素材（現実のボール）の実空間上の軌道を表すものとしてもよい。後述するように、実空間上の軌道も、仮想空間上の軌道もステップＳ５２Ａ（Ｓ５２Ｂ）で検出可能である。
【０２２３】
［映像記憶部４０Ａ］
入力：事前準備フェーズにおいて取得された時系列データ（入力元：事前準備部４０）、映像Ｖ（入力元：事前準備部４０）
出力：事前準備フェーズにおいて取得された時系列データ（出力先：類似映像検索部４７）、映像Ｖ（出力先：類似映像検索部４７）
処理内容：映像記憶部４０Ａは、事前準備部４０から時系列データ（軌道データ）と映像Ｖとを取得し、これらを関連付けて記憶する。映像記憶部４０Ａは、類似映像検索部４７の要求（クエリ）に応じて、対応する映像Ｖを出力する。このとき、クエリと類似する時系列データを共に出力してもよい。
【０２２４】
具体的には、映像記憶部４０Ａには、各映像に関するレコードによって構成される映像情報テーブル（図３３参照）が記憶されている。図３３に示すように、映像情報テーブルは、映像を一意に識別する「映像ＩＤ」と、各映像に関連する動的素材のＩＤである「関連動的素材ＩＤ」と、各「時刻」における「位置」および「姿勢」の各値を有する。時刻、位置および姿勢の表記に関しては後述する仮想素材位置姿勢情報テーブルと同じである。映像とそれに関連する動的素材の例としては、映像の撮影対象をピッチャーとした場合、これに関連する動的素材はピッチャーが投げたボールに該当する。これらの対応は生成したい仮想環境に応じて予め定めておくものとする。
【０２２５】
［仮想素材取得部４１］
入力：仮想静的素材、仮想動的素材（入力元：外部装置など、図示せず）
出力：仮想静的素材、仮想動的素材（出力先：仮想素材記憶部４１Ａ）
処理内容：仮想素材取得部４１は仮想静的素材、仮想動的素材を外部装置などから取得し、取得した仮想静的素材、仮想動的素材を仮想素材記憶部４１Ａに記憶する。仮想静的素材、仮想動的素材は事前に用意され、仮想素材取得部４１に入力されるものとする。
【０２２６】
［仮想素材記憶部４１Ａ］
入力：仮想静的素材、仮想動的素材（入力元：仮想素材取得部４１）
出力：仮想静的素材、仮想動的素材（出力先：仮想環境生成部４５）
処理内容：仮想素材記憶部４１Ａは仮想素材取得部４１が取得した仮想静的素材、仮想動的素材を仮想素材ＩＤと対応付けて記憶し、仮想環境生成部４５の要求に応じて仮想静的素材、仮想動的素材を出力する。仮想静的素材の具体例として、野球であればスタジアムのＣＧデータ、テニスであればテニスコートのＣＧデータなどが挙げられる。仮想動的素材の具体例として、野球であれば野球ボール、テニスであればテニスボールのＣＧデータなどが挙げられる。
【０２２７】
［仮想動的素材位置姿勢検出部４２］
入力：センサ（カメラ）の出力値（入力元：例えば第１カメラ４９１、第２カメラ４９２）
出力：仮想動的素材の各時刻の位置および姿勢（出力先：仮想素材位置姿勢記憶部４２Ａ）
処理内容：仮想動的素材位置姿勢検出部４２は、センサ（カメラ）の出力値に基づいて実環境における動的素材の位置および姿勢を推定し、推定結果に基づいて動的素材に対応する仮想動的素材の各時刻の仮想空間上の位置および姿勢を検出し、その時系列データを取得する。
【０２２８】
前述したように動的素材の３次元の位置および姿勢を推定するためのセンサとして、複数カメラ（例えば第１カメラ４９１、第２カメラ４９２）が利用できる。複数カメラを利用して物体の３次元の位置情報を算出する手法の具体例として、ステレオ法を用いた方法がある。具体的には、予めカメラキャリブレーションを実施したカメラ群で撮影された映像に対し、画像上の物体の位置を求める。このとき、画像上の物体の位置は手作業で与えてもよいし、テンプレートマッチングなどの検出手法を用いて物体を検出し、その中心位置を物体の位置としてもよい。これら画像上で検出された位置とカメラキャリブレーションで求めたカメラパラメータを用いてステレオ法を適用することで物体の３次元位置を求めることができる。
【０２２９】
また、姿勢情報に関しては、撮影した物体表面の詳細（例えばボールの縫い目、模様）から基準の姿勢に対してどの程度回転しているのかを求めることができる。動的素材の位置および姿勢を求めるセンサの他の例としては、ドップラーレーダーなどを挙げることができる。ドップラーレーダーは公知の技術であるため、詳細な説明は省略する。その他、物体の３次元位置姿勢情報を取得できるセンサおよび手法であればどのような方法でもよい。本ステップＳ５２Ｂにおいて推定された動的素材（例えば野球のボール）の位置および姿勢は、本ステップ内において対応する仮想動的素材（例えば野球のボールのＣＧデータ）の仮想空間上の位置および姿勢に変換され、仮想動的素材の位置および姿勢に関する時系列データが出力されるという点に留意する。
【０２３０】
［仮想素材位置姿勢記憶部４２Ａ］
入力：仮想素材の位置姿勢情報、同期情報（入力元：仮想動的素材位置姿勢検出部４２、同期部４４）
出力：仮想素材の位置姿勢情報、同期情報（出力先：同期部４４、仮想環境生成部４５）
処理内容：仮想素材位置姿勢記憶部４２Ａは、各仮想素材の位置姿勢情報、同期情報を記憶する。仮想素材位置姿勢記憶部４２Ａは、仮想動的素材位置姿勢検出部４２により取得された時系列データを、仮想動的素材の各時刻における位置および姿勢として記憶する。一方、スタジアム、グラウンド、ピッチャーなどのように時間経過とともに位置が遷移しない静的素材、特殊動的素材に関する位置姿勢情報については、仮想素材位置姿勢記憶部４２Ａは、予め用意されたデータを記憶するものとする。具体的には、仮想素材位置姿勢記憶部４２Ａには、各時刻における各仮想素材の３次元の位置姿勢情報を表すレコードによって構成される仮想素材位置姿勢情報テーブル（図３５参照）が記憶されている。
【０２３１】
仮想素材位置姿勢情報テーブルは、図３５に示すように、素材を一意に識別する「素材ＩＤ」と、仮想素材を一意に識別する「仮想素材ＩＤ」と、各「時刻」における仮想素材の「位置」および「姿勢」の各値を有する。位置は３次元の並進ベクトルとして表され、姿勢は各軸に対する回転角を表す３次元ベクトルとして表される。例えば、野球の投球を想定した場合、素材Ｏｉがストレートボールを表すとすると、素材Ｏｉに対応する仮想素材Ｅｉは、仮想素材記憶部４１Ａに記憶された野球ボールのＣＧデータである。このとき、各時刻に対応する位置および姿勢はその時刻に野球ボールのＣＧデータが仮想空間上のどの位置にどの姿勢で存在しているかということを表している。より具体的には、位置Ｔｉ（１），…，Ｔｉ（ｔｉ）は野球ボールのＣＧデータ（仮想素材Ｅｉ）の仮想空間上の軌道を、姿勢Ｒｉ（１），…，Ｒｉ（ｔｉ）は野球ボールのＣＧデータ（仮想素材Ｅｉ）が仮想空間上をどのように回転していくかを表している。なお、図３５において、時刻に「−」が格納されている仮想素材は、スタジアムやピッチャーのように時間経過に伴い位置や姿勢が遷移しない仮想静的素材、仮想特殊動的素材であることを表す。このような位置や姿勢が遷移しない仮想素材の位置姿勢情報は予め記憶されているものとする。また、各仮想素材に対して定められている時刻は、その仮想素材が後述する仮想環境生成部４５によって仮想環境に組み込まれた時点からの経過時刻を表す。具体的には、仮想環境生成部４５が時刻ｔａの時点で仮想素材Ｅｉを仮想環境に組み込んだ場合、時刻（ｔａ＋１）の時点の仮想素材Ｅｉの位置および姿勢はそれぞれＴｉ（１），Ｒｉ（１）であり、時刻（ｔａ＋２）の時点の仮想素材Ｅｉの位置および姿勢はそれぞれＴｉ（２），Ｒｉ（２）である。
【０２３２】
［類似映像検索部４７］
入力：事前準備フェーズにおいて取得された時系列データ（入力元：映像記憶部４０Ａ）、映像Ｖ（入力元：映像記憶部４０Ａ）
出力：映像Ｖ（出力先：仮想特殊動的素材生成部４３）
処理内容：類似映像検索部４７の処理フローの例を図３６に示す。類似映像検索部４７は、仮想素材位置姿勢記憶部４２Ａから時系列データ（軌道データ）を読み出す（Ｓ１５１）。類似映像検索部４７は、映像記憶部４０Ａから時系列データ（軌道データ）を読みだす（Ｓ１５２）。類似映像検索部４７は、２つの時系列データ（軌道データ）の類似度を計算する（Ｓ１５３）。なお、ステップＳ１５３における時系列データ（軌道データ）の類似度はどのように計算してもよい。例えば軌跡データｉから算出したボールの初速をｖｓ（ｉ）、終速をｖｅ（ｉ）、初速を計算した位置をＰｓ（ｉ）、終速の位置を計算した位置をＰｅ（ｉ）、そして加速度をＡ（ｉ）としたとき、軌跡データｉと軌跡データｊの類似度Ｓｉｊを以下のように定める。
Sij=kvs*|vs(i)-vs(j)|+kve*|ve(i)-ve(j)|+kps*|Ps(i)-Ps(j)|+kpe*|Pe(i)-Pe(j)|+ka*|A(i)-A(j)|
なお、ｖｓ（ｉ），ｖｅ（ｉ），Ｐｓ（ｉ），Ｐｅ（ｉ），Ａ（ｉ）は全て３次元ベクトルであり、｜・｜はノルムを表す。さらに、ｋｖｓ，ｋｖｅ，ｋｐｓ，ｋｐｅ，およびｋａは各三次元ベクトルに対する係数であり、予め定める。
【０２３３】
次に、類似映像検索部４７は、全ての時系列データ（軌道データ）を読みだしたか否かを判定する（Ｓ１５４）。全ての時系列データ（軌道データ）を読みだしていなければ（Ｓ１５４Ｎ）、処理はステップＳ１５２に戻る。全ての時系列データ（軌道データ）を読みだしていれば（Ｓ１５４Ｙ）、これまでに繰り返し実行されたステップＳ１５３により計算した類似度に基づいて一つの軌道データを選択し、その軌道データに対応する映像Ｖを映像記憶部４０Ａから読み出す（Ｓ１５５）。なお、軌道データを選択する手段はどのような手段でもよい。例えば、類似度が最も高い軌道データを選択してもよい。また、ある閾値を定め、その閾値以上の類似度を持つ軌道データの中からランダムな軌道データを選択してもよい。最後に、類似映像検索部４７は読みだした映像Ｖを仮想特殊動的素材生成部４３に出力する（Ｓ１５６）。
【０２３４】
［仮想特殊動的素材生成部４３］
入力：映像Ｖ（入力元：類似映像検索部４７）
出力：仮想特殊動的素材（出力先：仮想特殊動的素材記憶部４３Ａ）
処理内容：仮想特殊動的素材生成部４３は、類似映像検索部４７が出力した映像Ｖを入力とし、その映像の一部または全部を予め用意したＣＧデータにテクスチャとして貼り付けることで、実写に基づくＣＧデータを作成し、当該ＣＧデータを仮想特殊動的素材として出力する。
【０２３５】
具体例として、野球のピッチャーの仮想特殊動的素材を生成する場合の仮想特殊動的素材生成部４３の動作を図３７に示す。
【０２３６】
図３７の例では、映像を貼り付けるベースとなるＣＧデータとして長方形の平面（ビルボード）を利用する。まず仮想特殊動的素材生成部４３は、類似映像検索部４７が出力した映像Ｖを取得する（Ｓ１６１）。次に仮想特殊動的素材生成部４３は、映像Ｖから部分映像Ｖ’を切り出す（Ｓ１６２）。なお、切り出す領域の例としては、例えばピッチャーが存在する領域を含む矩形領域が挙げられる。この矩形領域の大きさや位置は映像Ｖを見た人が予め人手で与えてもよいし、自動的に与えられてもよい。矩形領域の大きさや位置を自動的に与える方法としては、例えば背景差分法などがある。背景差分法を用いることでピッチャーが存在する領域を求めることができるので、この領域を含むように矩形領域を定めればよい。また、切り出す領域は矩形領域に限らず、例えばピッチャーが存在する領域のみを切り出してもよい。ピッチャーが存在する領域のみを切り出す方法として、前述の背景差分法などを用いることができる。なお、映像Ｖから部分映像Ｖ’を切り出す処理は行っても行わなくてもよい。部分映像Ｖ’を切り出す処理を行わない場合は、便宜上、映像Ｖと同じ大きさの矩形領域を切り出して映像Ｖ’を得たものとして取り扱う。最後に仮想特殊動的素材生成部４３は、映像Ｖ’を長方形の平面（ビルボード）にテクスチャとして貼り付け（Ｓ１６３）、そのＣＧデータを仮想特殊動的素材として仮想特殊動的素材記憶部４３Ａに出力する。
【０２３７】
［仮想特殊動的素材記憶部４３Ａ］
入力：仮想特殊動的素材（入力元：仮想特殊動的素材生成部４３）
出力：仮想特殊動的素材（出力先：同期部４４、仮想環境生成部４５）
処理内容：仮想特殊動的素材記憶部４３Ａは、ステップＳ４３で生成された仮想特殊動的素材を記憶し、各構成要件の要求に応じて各構成要件に仮想特殊動的素材を出力する。
【０２３８】
［同期部４４］
入力：仮想特殊動的素材（入力元：仮想特殊動的素材記憶部４３Ａ）、仮想動的素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部４２Ａ）、仮想特殊動的素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部４２Ａ）
出力：同期情報（出力先：仮想素材位置姿勢記憶部４２Ａ）
処理内容：同期部４４は、仮想特殊動的素材（例えばピッチャーのＣＧデータ）と、仮想特殊動的素材に関連する仮想動的素材（例えばピッチャーが投げたボールのＣＧデータ）の同期を取る。上記組み合わせの他の例としてはテニス選手のＣＧデータと、その選手がサーブしたテニスボールのＣＧデータなどが該当する。どの仮想特殊動的素材とどの仮想動的素材が関連するかに関しては、予め定められているものとする。同期とは、図３５の仮想素材位置姿勢情報テーブルの同期素材の同期開始時刻を求めることに相当する。
【０２３９】
具体例としてピッチャーのＣＧデータと、そのピッチャーが投げたボールのＣＧデータの同期を取る場合を考える。この場合、ビルボードにテクスチャとして貼り付けられた映像Ｖ’において、ピッチャーの手からボールがリリースされた瞬間の時刻を、同期素材であるボールのＣＧデータの同期開始時刻とすればよい。ここで、手からボールがリリースされた瞬間の時刻はどのような方法を用いて求めてもよい。
【０２４０】
例えば、テクスチャ（映像Ｖ’）の毎時刻に対してボールのテンプレートマッチングを行い、最初に検出された時刻をボールがリリースされた瞬間の時刻、すなわち同期開始時刻としてもよい。あるいはテクスチャ（映像Ｖ’）の毎時刻に対してピッチャーのリリース時の手や腕の形のテンプレートを用いてテンプレートマッチングを行い、最初に検出された時刻を同期開始時刻としてもよい。
【０２４１】
上記の方法ではピッチャーがボールをリリースする瞬間が映像Ｖ’に撮影されていることが前提となるが、ピッチャーの腕の振りの速度は非常に速いため、映像の撮影に用いられる一般的なフレームレート（例えば３０ｆｐｓ，６０ｆｐｓなど）では、撮影した映像Ｖ’にリリースの瞬間が収められていない場合がある。リリースの瞬間が映像Ｖ’に収められていない場合、上記のようにボールや手や腕のテンプレートをマッチングしてその時刻をリリース時刻とするのではなく、リリース前後の画像からリリース時刻を推定してもよい。
【０２４２】
リリース前後の画像からリリース時刻を推定する方法としては、例えば学習を用いる手法がある。具体的には、リリースの瞬間を含むような高フレームレート（例えば１０００ｆｐｓ）で撮影した画像群からリリースの瞬間（時刻）を求め、リリースの瞬間（時刻）を基準として所定のフレーム過去または未来にシフトした時刻に該当するリリース前画像、リリース後画像からなる画像ペアを、シフトするフレーム数を異ならせて複数個作成する。上記の複数個の画像ペアとリリースの瞬間（時刻）を教師データとして、画像ペアからリリースの瞬間（時刻）を求めるモデルを学習する。このように学習されたモデルを用いることにより、低フレームレートにおけるリリース前の画像（第１画像ともいう）、低フレームレートにおけるリリース後の画像（第２画像ともいう）の画像ペアが与えられた場合に、リリースの瞬間（時刻）を推定することが可能となる。モデルの学習方法はどのような方法でもよい。例えばリリース前画像、リリース後画像における手の座標値や、腕の方向、リリース後のボールの位置などを特徴量として用いて線形識別器を適用してもよいし、特徴抽出も含めてＤＮＮを適用してもよい。
【０２４３】
ステップＳ５４をより一般的な表現で再定義するとすれば、同期部４４は、人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えばリリース）する前を撮影した画像である第１画像（リリース前の画像）と、人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えば、リリース）した後を撮影した画像である第２画像（リリース後の画像）とからなる画像ペアを、実環境を撮影した映像（例えば映像Ｖ’）から抽出し、画像ペアを予め学習されたモデルと照合することで人間（例えばピッチャー）と物体（例えばボール）とが離隔する時刻（例えば、リリースされる瞬間）を推定し、推定された時刻に基づいて仮想動的素材（例えばボールのＣＧデータ）と仮想特殊動的素材（例えばピッチャーのＣＧデータ）を同期する。
【０２４４】
なお、リリース前後の画像からリリース時刻を推定するために用いるモデルは、同期部４４が予め学習して内部に記憶しておいてもよいし、仮想環境構築装置とは異なる外部のモデル学習装置により予め学習して、同期部４４の内部に記憶しておいてもよい。
【０２４５】
上記の方法を用いたリリース時刻検出の一例を図３８に示す。同期部４４は、ピッチャーのＣＧデータに貼られたテクスチャ（映像Ｖ’）の全てのフレーム（毎時刻）に対してリリース判定を行う。具体的には、同期部４４は、ピッチャーのリリース時の手の形のテンプレートを用いてテンプレートマッチングを実行し、マッチングスコアを算出する（Ｓ１７１）。マッチングスコアが閾値ｔｈ１以上となる場合（Ｓ１７２Ｙ、すなわち類似の場合）、その時刻をボールの同期開始時刻とする（エンド）。同期部４４はステップＳ１７１の処理を映像Ｖ’の全てのフレーム（毎時刻）に対して行い、映像Ｖ’の全てのフレームにおいて閾値ｔｈ１以上のスコアが得られなかった場合（Ｓ１７３Ｙ）、同期部４４はボールのテンプレートを用いて最初のフレーム（時刻）からテンプレートマッチングを実行し、マッチングスコアを算出する（Ｓ１７４）。マッチングスコアが閾値ｔｈ２以上となった場合に（Ｓ１７５Ｙ）、同期部４４は、閾値ｔｈ２以上となった最初の時刻Ｔａをリリース後の時刻とし、その１時刻前の時刻Ｔａ−１をリリース前の時刻とする（Ｓ１７６）。同期部４４は、時刻Ｔａ−１における第１画像と、時刻Ｔａにおける第２画像よりなる画像ペアと予め学習したモデルを用いてリリース時刻を推定する（Ｓ１７６）。閾値ｔｈ１および閾値ｔｈ２は予め定められているものとする。同期部４４は、以上の処理で推定した時刻を図３５に示した仮想素材位置姿勢情報テーブルにおける同期素材の同期開始時刻として設定する。
【０２４６】
上記フローチャートのステップＳ１７１〜Ｓ１７６の動作をより一般的な表現で再定義すれば、同期部４４は、人間（例えばピッチャー）と物体（例えばボール）とが離隔する瞬間における人間（例えばピッチャー）の身体のテンプレートとして予め用意された第１のテンプレート（例えば手のテンプレート）と、人間（例えばピッチャー）と物体（例えばボール）とが離隔する瞬間における物体（例えばボール）のテンプレートとして予め用意された第２のテンプレート（例えばボールのテンプレート）を用い、実環境を撮影した映像（例えば映像Ｖ’）に対してテンプレートマッチングを実行して人間（例えばピッチャー）と物体（例えばボール）とが離隔（例えば、リリース）する時刻を推定し、推定された時刻に基づいて仮想動的素材と仮想特殊動的素材とを同期する。なお、上記第１のテンプレート（例えば手のテンプレート）と第２のテンプレート（例えばボールのテンプレート）はどちらか一方のみを用いてもよい。
【０２４７】
［仮想環境生成部４５］
入力：仮想静的素材（入力元：仮想素材記憶部４１Ａ）、仮想動的素材（入力元：仮想素材記憶部４１Ａ）、仮想素材の位置姿勢情報（入力元：仮想素材位置姿勢記憶部４２Ａ）、仮想特殊動的素材（入力元：仮想特殊動的素材記憶部４３Ａ）、仮想素材組み込みリスト（入力元：仮想素材組み込みリスト記憶部４５Ａ）
出力：仮想環境のデータ（出力先：描画部４６）
処理内容：仮想環境生成部４５は、仮想素材記憶部４１Ａから仮想静的素材、仮想動的素材を読み出し、仮想素材位置姿勢記憶部４２Ａから各仮想素材の位置姿勢情報を読みだし、仮想特殊動的素材記憶部４３Ａから仮想特殊動的素材を読み出し、これらを仮想素材組み込みリストに従って統合し、仮想環境のデータを生成する（Ｓ５５）。
生成された仮想環境のデータは描画部４６に送られる。仮想環境のデータとは、ある仮想的な空間において一つ以上の仮想素材が配置された仮想空間のデータを指す。仮想環境生成部４５は、仮想環境を生成するための仮想素材組み込みリストを仮想素材組み込みリスト記憶部４５Ａから読み出す。この仮想素材組み込みリストは、仮想素材を一意に識別する「仮想素材ＩＤ」と、その仮想素材を仮想環境に組み込む時刻である「組み込み開始時刻」を持つ。仮想素材組み込みリストは予め人手で用意され、仮想素材組み込みリスト記憶部４５Ａに予め記憶されているものとする。仮想環境生成部４５は仮想素材組み込みリストに従って、仮想素材を仮想環境に組み込む。このとき、仮想素材の位置姿勢を仮想素材位置姿勢記憶部４２Ａから読み出し、その位置姿勢に基づいて仮想空間上に配置する。仮想環境生成部４５は、仮想素材組み込みリストに記載されている全ての仮想素材を仮想環境に組み込んだら処理を終了する。
【０２４８】
［描画部４６］
入力：仮想環境のデータ（入力元：仮想環境生成部４５）
出力：映像（出力先：映像表示デバイス（図示せず））
処理内容：描画部４６は、ステップＳ５５で生成された仮想環境のデータを描画し、ユーザが視聴できる状態、例えば映像として出力する（Ｓ５６）。描画部４６が出力する映像は、仮想環境のある視点から一方向を見るような映像でもよいし、全天球映像のように全方位を見ることができる映像でもよい。例えば、ある視点から一方向を見るような映像を出力する場合は、ある位置に仮想的に透視投影カメラＣを設置し、仮想環境の空間中に存在するＣＧデータをカメラＣの画像平面に投影すればよい。具体的には、ＴをカメラＣの外部パラメータである位置とし、Ｒを姿勢とし、Ｋを内部パラメータとすると、仮想環境のデータが存在する空間中のある点ｐは、以下のようにカメラＣの画像平面上に点ｑとして投影される。
【０２４９】
【数６】
2020025320.tif 000010
【０２５０】
ただし、内部パラメータＫはカメラＣの焦点距離や画像中心からなる３ｘ３の行列である。
【０２５１】
ある視点から全方位を見渡せる全天球映像を出力する場合は、ある視点に仮想的に全天球カメラＯを設置し、仮想環境の空間中に存在するＣＧデータをカメラＯの画像平面に投影すればよい。具体的には、ＴをカメラＯの外部パラメータである位置とし、Ｒを姿勢とし、Ｗを投影する画像平面の幅とし、Ｈを高さとすると、仮想環境のデータが存在する空間中のある点ｐは、以下のようにカメラＯの画像平面上に点ｑ＝（ｑｘ，ｑｙ）Ｔとして投影される。
【０２５２】
【数７】
2020025320.tif 000011
【０２５３】
この例では全天球映像を２次元画像で表現する図法として正距円筒図法を用いているが、メルカトル図法など他の図法を用いてもよい。
【０２５４】
第八実施形態の仮想環境構築装置によれば、違和感の少ない仮想環境を生成できる。
【０２５５】
［第九実施形態］
スポーツにおいて、試合の前に実際に試合を行っている最中の選手の視点位置からプレーを高い臨場感で体験しておくことは、実戦でのパフォーマンス向上にとって非常に重要である。しかし、試合中に選手のいる場所からビデオを撮影することは競技の妨げとなり難しい。
【０２５６】
これを解決するために、試合中にフィールド外に設置されたカメラによって撮影された映像に基づいて、選手の位置から見た映像を合成する試みが行われている（例えば、参考文献５参照）。参考文献５には、そのアプローチの一つとして、空間の一部を３次元モデルにより作成し、他の一部をビルボードモデルとそこに貼りつけた映像により作成し、任意視点からの映像を合成する取り組みが記載されている。
【０２５７】
〔参考文献５〕高橋康輔，三上弾，五十川麻理子，小島明，“複数カメラ映像を用いた仮想全天球映像合成に関する検討”，信学技報，vol. 115，no. 76，pp. 43-48，2015年6月
【０２５８】
合成する空間の一部をコンピュータ・グラフィックス（CG: Computer Graphics）で作成し、他の部分を実写映像で作成し、その空間内に設定した仮想視点からの映像を合成する場合、ＣＧで作成したオブジェクトが実写で作成した領域内にも含まれている可能性がある。この場合、仮想視点から視聴すると、そのオブジェクトがＣＧで作成されたものと実写で撮影されたものと両方が描画されてしまい不自然である。
【０２５９】
解決策としては、例えば、１．セグメンテーションなどの手法により実写領域から背景部分を除去し前景オブジェクトのみにすることで実写領域に写らないようにする、２．実写領域から不要な実写オブジェクト部分を除去および修復する、などの方法が考えられる。１の方法は一定の効果が得られると考えられるが、実写領域内で実写オブジェクトよりも仮想視点に近い位置に他のオブジェクトが存在する場合、解決できない。
【０２６０】
第九実施形態の目的は、このような点に鑑みて、ＣＧで作成されたオブジェクトと実写で撮影されたオブジェクトとを合成して構築する仮想環境においてリアリティを向上することである。
【０２６１】
上記の課題を解決するために、第九実施形態の仮想環境構築装置は、複数のオブジェクトが存在する現実環境に基づいてユーザに閲覧させる仮想環境を構築する仮想環境構築装置であって、複数のオブジェクトのうち少なくともいずれかのオブジェクトを対象オブジェクトとして、対象オブジェクトのセンシング難易度とＣＧ描画難易度の少なくともいずれかに基づいてオブジェクトをＣＧによりモデル構築するか実写映像によりモデル構築するかを示すモデル構築方法を決定するモデル構築方法決定部と、現実環境における対象オブジェクトの状態を計測する状態センシング部と、時間変化を伴わない静的オブジェクトについてモデル構築方法に従って仮想環境中に描画するための環境モデルを構築する環境モデル構築部と、時間変化を伴う動的オブジェクトについてモデル構築方法に従って仮想環境中に描画するためのモデルを構築して環境モデルに合成する動的オブジェクト構築部と、を含む。
【０２６２】
第九実施形態の仮想環境構築装置は、図３９に示すように、モデル構築方法決定部６０、状態センシング部６１、状態記憶部６２、環境モデル構築部６３、動的オブジェクト構築部６４、視点位置方向取得部６５、映像レンダリング部６６、および映像提示部６７を備える。この仮想環境構築装置が図４１に示す各ステップの処理を行うことにより第九実施形態の仮想環境構築方法が実現される。
【０２６３】
仮想環境構築装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。仮想環境構築装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。仮想環境構築装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、仮想環境構築装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。仮想環境構築装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。仮想環境構築装置が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【０２６４】
モデル構築方法決定部６０は、構築対象とする空間内に存在するいずれかのオブジェクト（以下、対象オブジェクトと呼ぶ。）について、センシング難易度とＣＧ描画難易度の少なくともいずれかに基づいて、その対象オブジェクトに関するモデル構築方法を決定する。モデル構築方法決定部６０は、センシング難易度とＣＧ描画難易度とに加えて、観測角度と視聴角度のずれに基づいて、その対象オブジェクトに関するモデル構築方法を決定してもよい。モデル構築方法とは、その対象オブジェクトをＣＧによりモデル構築するか、実写映像によりモデル構築するか、を示す情報である。センシング難易度とは、その対象オブジェクトの状態を計測する際の困難さを示す指標である。ここで、状態とは、その対象オブジェクトをＣＧ描画するために必要となるものを指し、位置や姿勢などが含まれる。ＣＧ描画難易度とは、その対象オブジェクトをＣＧで描画する際の困難さを示す指標である。なお、本形態におけるＣＧとは３次元ＣＧであるものとする。観測角度と視聴角度のずれとは、実写映像を撮影した際のカメラの位置とユーザへ提示する映像の仮想視点の位置とのずれである。
【０２６５】
仮想環境においてオブジェクトを３次元ＣＧで描画する場合と実写映像を利用して描画する場合とでそれぞれメリットとデメリットがある。３次元ＣＧで描画する場合のメリットは、センシングした情報を元に描画するため、視点設定位置の自由度が高く、野球のボールをバッターの視点で見る場合のように、ユーザが視点位置・向きを変化させる中で、位置が短時間で急激に変化するようなオブジェクトを描画するようなケースでも比較的容易に描画できることである。一方、デメリットは、オブジェクトによってはセンシングが難しく、合成された映像の雰囲気が不自然になる（例えば、頭髪、衣服のはためき、遠方からセンシングした人物の姿勢、等）ことである。実写映像を利用して描画する場合のメリットは、合成された映像の雰囲気が自然になることである。一方、デメリットは、位置が短時間で急激に変化するオブジェクトをきれいに合成しようとすると、多数のカメラが必要となることである。モデル構築方法決定部６０は、これらのメリットとデメリットを勘案し、オブジェクトごとに最適なモデル構築方法を決定する。これにより最終的に構築される仮想環境においてリアリティを向上することができる。
【０２６６】
具体的には、モデル構築方法決定部６０は、以下の７ステップによりモデル構築方法を決定する。
【０２６７】
ステップ１．オブジェクト存在範囲を設定する
ステップ２．カメラ位置を設定する
ステップ３．仮想視点位置を設定する
ステップ４．観測角度と視聴角度のずれの最大値を求める
ステップ５．センシング難易度を決定する
ステップ６．ＣＧ描画難易度を決定する
ステップ７．モデル構築方法を判定する
【０２６８】
ステップ１において、構築対象の空間における各オブジェクトの存在範囲を設定する。多くのスポーツではルールなどの制約でオブジェクトごとに存在する領域が定まっているため、ルールに基づく存在範囲を設定することが可能である。また、ルールに定められていなくとも典型的なオブジェクトの存在範囲を設定することも可能である。あるいは、撮影された後にモデル構築する場合には、これから構築するシーンに合わせて設定しても構わない。
【０２６９】
ここで、構築対象とする空間を野球グラウンドとして説明する。図４０は、構築対象とする野球グラウンドを鉛直上方位置の視点から見た図である。このような構築対象の空間を模したイラスト上でユーザがマウスクリックなどによりオブジェクトの存在範囲を指定することで、ステップ１における各オブジェクトの存在範囲を設定できる。あるいは、システム利用時に指定したものを読み込むことで設定するようにしてもよい。また、ルールに基づいてオブジェクト存在範囲を記載したファイルをあらかじめ用意し、システム利用時に指定することでそのファイルを読み込むようにしても構わない。例えば、野球において投球のシーンを構築する場合、オブジェクトには、例えば「投手」「ボール」などが含まれる。この場合、各オブジェクトに、「投手」「ボール」といったオブジェクトの「種類」、「剛体」「多関節物体」といったオブジェクトの「属性」（用途は後述する）、各オブジェクトが動的オブジェクトであるか静的オブジェクトであるかを示す「動的／静的の種別」（属性と紐づけておくことで、省略してもよい。用途は後述する）、位置情報で表されたオブジェクトの「存在範囲」など、オブジェクトの情報を設定したファイルを予め用意しておく。モデル構築方法決定部６０は、当該ファイルを読み込み、オブジェクトの存在範囲を設定する。ファイル中の内容は人手で設定しておく。例えば、処理対象オブジェクトが投手であれば、図４０に示すように、マウンド周辺の領域をオブジェクトの存在範囲とする。また、処理対象オブジェクトがボールであれば、図４０に示すように、マウンドとホームベースとを結ぶ矩形の領域をオブジェクトの存在範囲とする。図４０の例では、バッターボックスの中心を原点とし、バックスクリーン方向をy軸とし、y軸と直交する方向をx軸として、イラスト上の２次元位置座標を位置情報としている。
【０２７０】
ステップ２において、構築対象の空間外に設置された複数のカメラについて、それぞれの位置を取得する。カメラ位置の取得は、オブジェクトの存在範囲と同様に、図４０のように空間を模したイラスト上でユーザが指定したものを読み込むことができる。また、別途あらかじめ用意したカメラ位置が記載されたファイルをモデル構築方法決定部６０が読み込んでカメラ位置を設定するようにしても構わない。
【０２７１】
ステップ３において、仮想視点として設定される可能性のある範囲を読み込む。仮想視点として設定される可能性のある範囲の取得は、オブジェクトの存在範囲と同様に、図４０のようなイラスト上でユーザまたはシステム運用者が指定したものを読み込むことができる。また、別途あらかじめ用意した仮想視点位置が記載されたファイルをモデル構築方法決定部６０が読み込んで仮想視点として設定される可能性のある範囲を設定するようにしても構わない。
【０２７２】
ステップ４において、観測角度と視聴角度とのずれを計算する。オブジェクトに対する観測角度および視聴角度は、ステップ１で取得したオブジェクト存在範囲と、ステップ２で取得したカメラ位置と、ステップ３で取得した仮想視点位置とを用いて求めることができる。例えば、図４２（Ａ）は、野球の投球に対する観測角度と視聴角度とのずれθmaxを示している。L1はホームベース上を通過するボールとカメラとを結ぶ直線であり、L2はバッターボックスの中心にある仮想視点とボールとを結ぶ直線であり、直線L1と直線L2とのなす角度が観測角度と視聴角度とのずれθmaxである。図４２（Ｂ）は、マウンド上にいる投手に対する観測角度と視聴角度とのずれθmaxを示している。
【０２７３】
ステップ５において、オブジェクトごとにセンシング難易度を設定する。センシング難易度は、例えば、センシング難易度テーブルから読み込む。センシング難易度テーブルは、次表に示すように、オブジェクトの属性に応じてあらかじめ定めたセンシング難易度が記載されたテーブルである。次表の例では、剛体であるか否か、多関節物体であるか否か、可塑性物体であるか否か、といった属性に基づいて、センシング難易度の値を設定している。なお、各オブジェクトの属性は、ステップ１で説明したように、オブジェクトごとに「種類」「属性」「動的／静的の種別」「存在範囲」を設定したファイルから読み込んで取得されているものとする。あるいは、各オブジェクトの属性は、構築するオブジェクトごとにユーザがマウスクリックなどによりオブジェクトの属性を指定することで取得してもよい。
【０２７４】
【表３】
2020025320.tif 000012
【０２７５】
ステップ６において、オブジェクトごとにＣＧ描画難易度を設定する。ＣＧ描画難易度は、例えば、ＣＧ描画難易度テーブルから読み込む。ＣＧ描画難易度テーブルは、次表に示すように、オブジェクトの属性に応じてあらかじめ定めたＣＧ描画難易度が記載されたテーブルである。次表の例では、剛体であるか否か、多関節物体であるか否か、可塑性物体であるか否か、といった属性に基づいて、ＣＧ描画難易度の値を設定している。各オブジェクトの属性の取得方法は、センシング難易度の設定で説明したのと同様である。
【０２７６】
【表４】
2020025320.tif 000013
【０２７７】
ステップ７において、センシング難易度、ＣＧ描画難易度、および観測角度と視聴角度のずれに基づいて、そのオブジェクトのモデル構築方法を判定する。例えば、SEをセンシング難易度とし、CMをＣＧ描画難易度とし、θmaxを観測角度と視聴角度のずれとして、
γθmax / (αSE * βCM) > th
が成り立つならばＣＧによりモデル構築し、成り立たなければ実写映像によりモデル構築する、などと判定すればよい。ここで、thは閾値であり、α, β, γは所定のパラメータである。上記の数式は一例であって、センシング難易度、ＣＧ描画難易度、および観測角度と視聴角度のずれのうち、ひとつ以上を用いて閾値との比較により判定するのであればどのように変形してもよい。
【０２７８】
上述のような各ステップを経ず、オブジェクトごとにＣＧまたは実写映像の利用をあらかじめ指定したファイルを用意しておき、そのファイルを読み込むことでモデル構築方法を決定することも可能である。
【０２７９】
状態センシング部６１は、構築対象とする空間内に存在する各オブジェクトについて、その空間におけるオブジェクトの状態をセンシングする。取得した各オブジェクトの状態は状態記憶部６２へ記憶する。センシングの方法は、対象とするオブジェクトの属性およびそのオブジェクトのモデル構築方法により異なる。例えば、野球のボールやテニスのボールなどをＣＧ描画するために状態として位置情報をセンシングする場合、野球であれば公知のPITCHf/xシステム、テニスであれば公知のHawk-Eyeシステムなどによりボールの位置情報を取得できることが広く知られている。
【０２８０】
環境モデル構築部６３は、状態記憶部６２に記憶された、各オブジェクトの状態を入力とし、各オブジェクトのうち位置や姿勢の時間変化がほとんどない静的オブジェクトについて、モデル構築方法決定部６０により決定されたモデル構築方法に従って、仮想環境中に描画するための環境モデルを構築する。構築した環境モデルは動的オブジェクト構築部６４へ送られる。ＣＧによりモデル構築を行うと決定されたオブジェクトについては、３次元形状およびテクスチャからなるモデルを構築する。３次元形状は実際に計測しても構わないし、多くのスポーツにおいてはルールにより競技場等の大きさが定められているため、ルールで定められた典型的な形状を利用しても構わない。実写映像によりモデル構築を行うと決定されたオブジェクトについては、カメラで撮影した実写映像を利用してモデルを構築する。
【０２８１】
動的オブジェクト構築部６４は、状態記憶部６２に記憶された、各オブジェクトの状態を入力とし、各オブジェクトのうち位置や姿勢が時間変化を伴う動的オブジェクトについて、状態記憶部６２に記憶された状態に基づいて、モデル構築方法決定部６０により決定されたモデル構築方法に従って、仮想環境中に描画するためのモデルを構築する。構築した動的オブジェクトのモデルは、環境モデル構築部６３により構築された環境モデルと合成される。これにより、ユーザへ提示する仮想環境が構築される。構築された仮想環境は映像レンダリング部６６へ送られる。
【０２８２】
具体的には、動的オブジェクト構築部６４は、図４１に示す６ステップにより動的オブジェクトのモデルを構築する。ステップＳ６１において、各オブジェクトのうち未処理のオブジェクトを処理対象オブジェクトとして設定する。ステップＳ６２において、処理対象オブジェクトがＣＧによりモデル構築される場合（ＹＥＳ）、ステップＳ６３へ移行する。そうでない場合（ＮＯ）、ステップＳ６６へ移行する。ステップＳ６３において、ＣＧによりモデル構築される処理対象オブジェクトが実写映像により構築される領域に含まれているか否かを判定する。含まれる場合（ＹＥＳ）、ステップＳ６４へ移行する。そうでない場合（ＮＯ）、ステップＳ６６へ移行する。ステップＳ６４において、ＣＧでモデル構築される処理対象オブジェクトが映りこんでいる領域を推定する。ステップＳ６５において、処理対象オブジェクトが映りこんでいると推定された領域を対象とした修復処理を実施する。ステップＳ６６において、すべてのオブジェクトが処理済みの場合（ＹＥＳ）、処理を終了する。そうでない場合（ＮＯ）、ステップＳ６１に戻る。
【０２８３】
ステップＳ６４の修復領域推定については、１．画像処理によりオブジェクトを検出する方法、２．競技空間座標との間でキャリブレーションされたカメラを利用して、センシングされた競技空間座標中のオブジェクト位置を外部カメラ位置に変換する方法、が考えられる。以下、それぞれの方法について、具体例を挙げて説明する。
【０２８４】
上記１の方法は以下のように修復領域を推定する。以下、野球においてバッターボックスからの視線で映像を合成するシーンを想定し、ボールをＣＧによりモデル構築するものと仮定する。このとき、実写映像によりモデル構築される投手の領域内に実際に撮影されたボールが存在し、これを映像修復技術により除去および補完する状況を説明する。この場合、ボールのテンプレートを用意し、各フレームにおいてテンプレートマッチングによりオブジェクトの位置および大きさを検出することが考えられる。あるいは、ボールのようにカメラ画像内での形状が円に限定される対象では、エッジ検出後に円形ハフ変換を行うことによって位置および大きさを検出することが可能である。
【０２８５】
上記２の方法は以下のように修復領域を推定する。この手法では、センサ座標においてセンシングされたオブジェクトの位置がカメラ座標系に変換され、そのカメラ座標がさらに画面座標系へと変換される。センサ座標(x, y, z)Tからカメラ座標(p, q, r)Tへの変換行列をA, B、画面座標(s, t)Tへの変換行列をC, Dとすると、
(p, q, r)T = A(x, y, z)T＋B
(s, t)T = C(p, q, r)T＋D
となる。これにより、映像内での除去対象とするオブジェクト領域を推定することができる。
【０２８６】
修復領域の推定について、テニスの場合を例として具体的に説明する。テニスにおいてプレーヤー位置の視点での映像合成を行う場合、図４３−４４に示すように、プレーヤーを実写映像によりモデル構築し、ボールおよびコートをＣＧによりモデル構築することとなる。このとき、プレーヤーを撮影するカメラに写り込んでいるボールおよびコート（ネット、ライン）を除去することになる。ボールの軌跡は公知のHawk-Eyeシステムなどにより容易に取得することができる。コートの形状はルールにより既知である。したがって、ＣＧによりモデル構築するオブジェクトの３次元形状は取得可能である。外部カメラとコートの世界座標がキャリブレーションできていれば、コートとボールがどこに撮影されるかわかるので、同様にして修復領域の推定が可能である。
【０２８７】
ステップＳ６５における修復処理には、例えば、下記参考文献６に記載された画像映像修復技術が利用可能である。
【０２８８】
〔参考文献６〕五十川麻理子，三上弾，小島明，“特徴量の削減と合成に基づく体感品質に優れた画像修復”，信学技報，vol. 114，no. 239，MVE2014-37，pp. 37-42，2014年10月
【０２８９】
視点位置方向取得部６５は、ユーザに提示する映像における仮想的な視点位置および視点方向を取得する。仮想視点の位置はモデル構築方法決定部６０のステップ３で設定した範囲内で任意に設定することができる。視点位置方向取得部６５は、設定され外部から入力されたユーザに提示する映像における仮想的な視点位置および視点方向を取得し、映像レンダリング部６６へ送る。
【０２９０】
映像レンダリング部６６は、動的オブジェクト構築部６４により合成された、環境モデルと動的オブジェクトのモデルとを合成して構築された仮想環境、および、視点位置方向取得部６５により取得された仮想視点の位置および方向とを用いて、ユーザへ提示する仮想環境の映像をレンダリングする。レンダリングされた映像は映像提示部６７へ送られる。
【０２９１】
映像提示部６７は、映像レンダリング部６６によりレンダリングされた映像をユーザへ提示する。映像提示部６７は、仮想環境構築装置に各種のインターフェースを経由して接続される周辺機器であってもよく、例えば、一般的な液晶ディスプレイやプロジェクタ、ヘッドマウントディスプレイ（HMD: Head Mount Display）などを用いることができる。
【０２９２】
以下、野球においてバッターボックスからの視線で仮想環境の映像を構築する具体例を説明する。この場合、環境モデルはスタジアムであり、動的オブジェクトは投手およびボールが想定される。スタジアムをさらに細分化すると、打者に近いものから、バッターボックス、ホームベース、ファールライン、スタンドなどがある。これらの各オブジェクトについて、モデル構築方法決定部６０で説明した７ステップを行うことによりモデル構築方法を決定する。ここでは、投手が投げるボールを対象のオブジェクトとする具体例を説明する。
【０２９３】
（ステップ１）ボールは、バッターボックスから18.44メートル前方にあるピッチャープレートからピッチャーによって投じられ、ホームベースの少し後方にいるキャッチャーによって捕球される。つまり、バッターボックス内でのおおよその打者の位置を原点とした場合、(0.5, 18.44)-(0.5, -1)がボールのオブジェクト存在範囲となる。
【０２９４】
（ステップ２）カメラはバックネット側に存在するものとし、カメラ位置を(1, -20)として設定する。
【０２９５】
（ステップ３）仮想視点位置はバッターボックスに立つバッターの視点とし、仮想視点位置を(0, 0)として設定する。
【０２９６】
（ステップ４）ステップ１から３で設定された情報に基づいて、カメラでボールを観測したときの角度（観測角度）と仮想視点位置からボールを観測したときの角度（視聴角度）との間に生じるずれの最大値θmaxを決定する。θmaxは、実写でのモデル構築の難しさと正の相関を有する。以下、ボールbに関する観測角度と視聴角度のずれは、θmax(b)とする。
【０２９７】
（ステップ５）ボールに関するセンシングの難易度を推定する。これは、センシング難易度テーブルに基づいて決めるものとする。ボールは剛体であり、回転してもアピアランスに変化が生じないため、センシング難易度の低いオブジェクトである。公知のPITCHf/xなど、精度良くボールの状態をセンシング可能なシステムが導入されている場合には、さらにセンシング難易度は低いと考えられる。以下、ボールbに関するセンシング難易度のスコアは、SE(b)とする。
【０２９８】
（ステップ６）ボールに関するＣＧ描画難易度を推定する。これは、ＣＧ描画難易度テーブルに基づいて決めるものとする。ボールは歪みが存在せず、球体であるため、ＣＧモデルの作成は容易である。以下、ボールbに関するＣＧ描画難易度のスコアは、CM(b)とする。
【０２９９】
（ステップ７）ステップ４から６で取得した情報を用いて、下記の判定式を検証する。判定式が成り立てば実写映像によりモデル構築するものとし、成り立たなければＣＧによりモデル構築するものとする。
【０３００】
SE(b) * CM(b) / θmax(b) ≧ th
他の例として、投手を処理対象オブジェクトとする具体例を説明する。
【０３０１】
（ステップ１）投手は、投球にあたり１歩前に踏み出す程度の移動しか行わない。そのため、(0.5, 18.44)-(0.5, 17.44)を投手のオブジェクト存在範囲として設定する。
【０３０２】
（ステップ２）カメラ位置はボールの例と変わらないものとする。すなわち、(1, -20)として設定する。ただし、オブジェクトごとに観測用のカメラを用意することも可能である。
【０３０３】
（ステップ３）仮想視点位置はボールの場合と変わらないものとする。すなわち、(0, 0)として設定する。
【０３０４】
（ステップ４）投手pに関する観測角度と視聴角度のずれθmax(p)を設定する。図４２（Ａ）〜（Ｂ）からわかるように、投手pの場合のθmax(p)はボールbの場合のθmax(b)と比較して小さい値となる。
【０３０５】
（ステップ５）投手（つまり人間）の場合、多関節物体であるため、センシングが困難である。以下、投手pに関するセンシング難易度のスコアは、SE(p)とする。
【０３０６】
（ステップ６）投手の場合、ユニフォームの非剛体かつ複雑な変形に起因して、リアルなＣＧモデル作成には大きなコストがかかる。以下、投手pに関するＣＧ描画難易度のスコアは、CM(p)とする。
【０３０７】
（ステップ７）ステップ４から６で取得した情報を用いて、下記の判定式を検証する。判定式が成り立てば実写映像によりモデル構築するものとし、成り立たなければＣＧによりモデル構築するものとする。
【０３０８】
SE(p) * CM(p) / θmax(p) ≧ th
【０３０９】
このようにして、各々のオブジェクトについて、ＣＧによりモデル構築を行うか、実写映像によりモデル構築を行うかを判定する。各オブジェクトにとって最適なモデル構築方法を取ることができるため、リアリティのある仮想環境を構築することが可能となる。
【０３１０】
他のスポーツの具体例を簡潔に説明する。前述のテニスの例では、選手および観客席を実写映像によりモデル構築し、ボールおよびコートはＣＧによりモデル構築することとした。ボールの軌跡は公知のHawk-Eyeシステムにより取得することが可能である。選手を撮影するカメラはコートの外に設置すればよい。サッカーの例では、観客席を実写映像によりモデル構築し、グランウドをＣＧによりモデル化する。選手については状況により実写とＣＧとに分けられる。選手の位置は公知のTRACABシステムなどにより取得可能である。
【０３１１】
第九実施形態の仮想環境構築技術では、各オブジェクトにとって最適な方法によりモデル構築を行うため、ＣＧで作成されたオブジェクトと実写で撮影されたオブジェクトとを合成して構築する仮想環境においてリアリティが向上する。
【０３１２】
［第十実施形態］
写真や動画を撮影すると、撮影したいものに被さって不要なものが映りこんでしまうことがある。それにより撮影した写真や動画の視聴の体感品質を大きく損なう恐れがあるため、このような不要な映り込みを画像処理によって見た目に違和感なく除去するという手法への需要は極めて高い。なお、以降では、不要な映り込みなどの除去したい画像内の領域および遮蔽などで観測されず補完したい領域を「補完対象領域」と呼ぶ。また、補完対象領域がマスクで与えられた画像を入力して、補完対象領域が補完対象領域外の領域との見た目に違和感なく補完された画像を出力する処理を「補完処理」と呼ぶ。
【０３１３】
補完対象領域の位置を示すマスクは、静止画であるか動画であるかに関わらず、手動または既存手法（例えば、参考文献７）によって与えられる。なお、マスクとは画像処理において、ある領域が処理を施す対象であるか否かを示す情報である。例えば、図４５（１）に示すように、入力画像とは別に処理を施す部分とそうでない部分を二値で与えるマスクや、図４５（２）に示すように、画像内で使用されておらず判別が容易な色を入力画像に重畳して処理する領域を明示し、該当色で示された領域以外は処理を施さないようにするものなどが挙げられる。
【０３１４】
〔参考文献７〕Bai, X., Wang, J., Simons, D., Sapiro, G., “Video snapcut: robust video object cutout using localized classifiers,” ACM Transactions on Graphics (TOG), vol. 28, Issue 3, August 2009
【０３１５】
画像および映像の補完処理を実現するための手法としては、パッチ単位で画像中から修復に適した領域を探索し、そのパッチに基づいて逐次補完を行う方法（例えば、参考文献８）や、パッチ単位で画像をどの程度平行移動させれば類似領域が存在するかを調べ、その情報に基づいて補完を行う方法（例えば、参考文献９）等が挙げられる。また、映像に対しては、同一の画像内だけでなく、時系列方向も考慮した三次元パッチ単位で補完を行う方法（例えば、参考文献１０）等が用いられている。
【０３１６】
〔参考文献８〕A. Criminisi, P. Perez, and K. Toyama, “Region filling and object removal by exemplar-based inpainting,” IEEE Transactions on Image Processing, vol. 13, no. 9, pp. 1200-1212, Sept. 2004.
〔参考文献９〕Kaiming He, and Jian Sun, “Image Completion Approaches Using the Statistics of Similar Patches”, IEEE Transactions on pattern analysis and machine intelligence, vol. 36, no. 12, pp. 2423-2435, 2014.
〔参考文献１０〕Alasdair Newson, Andres Almansa, Matthieu Fradet, Yann Gousseau, Patrick Perez, “Video Inpainting of Complex Scenes,” SIAM Journal of Imaging Science 2014 7:4, 1993-2019
【０３１７】
映像に映りこむ不要な映り込みなどを除去して違和感がないように補完する映像補完処理において、映像を通してカメラが固定されている条件下にあり、かつ、補完したい領域が背景領域であれば、補完対象領域の画素位置に対応する同一映像内の他フレームの画素値を用いて補完を行うと、高速かつ安定した画質で補完が可能である。このような処理を「貼り付け合成」と記載する。しかし、補完したい領域がフレーム内の他のオブジェクト（例えば人物など）に隣接している場合には、上記の方法を用いるとオブジェクトが欠損してしまうため、良好に補完することができない。そのため、従来はフレーム毎に参考文献８、９のように画像の縦軸・横軸を含む二次元のパッチ単位で補完に適した領域を探索して補完を行う方法を採るか、参考文献１０のように時系列方向も考慮した三次元パッチ単位で補完を行う方法等が用いられてきた。上記の方法を「コンプリーション処理」または「パッチ探索に基づくコンプリーション処理」と記載する。
【０３１８】
しかしながら、従来の補完手法はパッチ探索に膨大な計算時間を要する。そのため、実用的には、長時間にわたる補完時間を許容するか、ユーザが補完手法や補完対象となるフレームを手動で入力するなどにより高速化を図る必要がある。これにより、長大な待ち時間が発生する、ユーザによる手動入力により著しくユーザビリティを損ねる、などといった課題があった。
【０３１９】
第十実施形態の目的は、不要な映り込みなどにより補完が必要な領域を含む映像を効率的に補完することができる映像提示技術を提供することである。
【０３２０】
上記の課題を解決するために、第十実施形態の第一の態様の映像提示装置は、複数フレームからなる映像シーケンスと映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、映像シーケンスに含まれる複数フレーム間の差分を表す二値画像に基づいて前景領域と背景領域とに分離し、補完対象領域の周縁から一定距離以内に存在する前景領域に属する画素数に基づいて補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、補完方法に従って補完対象領域を補完する映像補完部と、を含む。
【０３２１】
第十実施形態の第二の態様の映像提示装置は、複数フレームからなる映像シーケンスと映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、補完対象領域内に存在する画素の平均色と補完対象領域の周縁から一定距離以内に存在する画素の平均色の差分に基づいて、補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、補完方法に従って補完対象領域を補完する映像補完部と、を含む。
【０３２２】
第十実施形態の第三の態様の映像提示装置は、複数フレームからなる映像シーケンスと映像シーケンス中の補完対象領域を指定するマスク情報とを入力として取得する映像入力部と、映像シーケンス中の各フレームをセグメンテーションして予め定めた特徴を有する前景セグメントと背景セグメントとに分離し、補完対象領域の周縁から一定距離以内に存在する前景セグメントに属する画素数に基づいて補完対象領域の補完方法をパッチ探索に基づくコンプリーションまたは貼り付け合成のいずれかに判定する補完方法判定部と、補完方法に従って補完対象領域を補完する映像補完部と、を含む。
【０３２３】
第十実施形態では、上記の課題を解決する方法として、前後のフレームの該当する位置の画素を貼り付ける貼り付け合成処理によって高速かつ良好な補完結果が得られやすいという固定カメラ映像の特性を活用する。すなわち、補完対象領域がフレーム内の他のオブジェクト（例えば人物など）と重複しておらず、近傍フレームの該当位置の画素値がそのまま使える場合には他フレームの補完したい画素位置に該当する画素値をそのまま貼り付けることにより補完を行う。一方、補完対象領域がフレーム内の他のオブジェクトと重複しており、他フレームを用いた貼り付け合成処理が難しい場合にはパッチ探索に基づくコンプリーション処理を行う。このように、補完対象領域の特性に応じて適切な補完方法を自動的に判定することで、高速かつ自動で効率的な映像補完を行う。
【０３２４】
第十実施形態の映像提示装置７０は、図４６に示すように、映像入力部７１、補完方法判定部７２、映像補完部７３、および映像出力部７４を備える。この映像提示装置が図４７に示す各ステップの処理を行うことにより第十実施形態の映像提示方法が実現される。
【０３２５】
映像提示装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。映像提示装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。映像提示装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、映像提示装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【０３２６】
図４７を参照して、第十実施形態の映像提示方法の処理手続きを説明する。
【０３２７】
ステップＳ７１において、映像入力部７１は、複数フレームからなる映像シーケンスVorigと映像シーケンスVorig中の補完対象領域を指定するマスク情報Dとを入力として受け取る。映像シーケンスVorigおよびマスク情報Dは共に、x（フレーム内のx軸情報）, y（フレーム内のy軸情報）, t（時間軸情報）の三次元情報をもち、Vorig(x, y, t)もしくは時間軸情報のみを指定してVorig(t)とも表す。マスク情報Dは、補完対象として指定されたピクセルの位置の集合{(dx1, dy1, dt1), (dx2, dy2, dt2), …,(dxn, dyn, dtn)}で表してもよいし、映像シーケンスVorigと同じ大きさの映像シーケンスで、欠損領域を１、そうでない領域を０とした二値動画として保持しても構わない。映像シーケンスVorigおよびマスク情報Dは、補完方法判定部７２へ送られる。
【０３２８】
ステップＳ７２において、補完方法判定部７２は、映像入力部７１から映像シーケンスVorigおよびマスク情報Dを受け取り、映像シーケンスVorigを構成する各フレームt（1<t<n、nは映像シーケンスVorigの総フレーム数）において、Vorig(t)を補完するための補完方法P(t)と、補完に用いる参照領域R(t)を決定する。補完方法P(t)は、フレームtに対する補完方法を表し、パッチ探索に基づくコンプリーション処理および貼り付け合成処理のいずれかを０、１などで示す。参照領域R(t)は、フレームｔに対する参照フレームベクトルをt'として、R(t)=t'のように表す。参照フレームベクトルt'は要素数１以上の参照フレームのフレームIDをもつスカラーベクトルである。
【０３２９】
具体的な参照フレームの決定方法としては、例えば以下のようなものが挙げられる。ただし、本形態では、参照フレームを決定できる手法であれば何でもよく、以下に挙げる方法に限定されるものではない。
【０３３０】
第一の参照フレーム決定方法は、前景らしさに基づいて決定する方法である。これは、補完したい対象となるフレームtの補完したい領域（補完対象領域）がフレーム内の人物などの前景らしいオブジェクトに隣接しているか否かを判定し、隣接していればフレーム内を参照領域としてコンプリーション処理を行い、そうでない場合は補完対象領域の画素位置が前景オブジェクトと隣接しないような他フレームを用いて貼り付け合成処理を行う方法である。
【０３３１】
前景らしさに基づいて判定を行う理由を説明する。補完対象領域がフレーム内の人物などの前景らしいオブジェクトに隣接している場合、貼り付け合成処理を用いて他フレームの該当位置画素を合成すると、人物などのオブジェクトの一部が背景画素で合成され、欠損してしまう。一方で、パッチ探索に基づくコンプリーション処理は画像中の他の領域から欠損を埋めるのに適した領域を探索し、その情報を元に補完処理を行うため、より見た目に違和感のない補完処理が行われる可能性が高い。そのため、前景らしい領域に補完対象領域が隣接するか否かにより判定を行うと効果的である。
【０３３２】
まず、補完対象フレームtの補完対象領域がフレーム内の他オブジェクトに隣接しているか否かの判定を行う。この判定を行うにあたり、フレーム内の前景らしい領域の画素位置を知る必要があるため、何らかの方法により背景と前景とを分離し、前景画像Sを生成する。本形態では、背景前景分離手法を特に限定するものではないが、例えば以下の方法により分離処理を行うことが可能である。
【０３３３】
まず、映像シーケンスVorig内のキーフレームFをk枚用意する。なお、「キーフレーム」とは、前景背景分離処理を行う際に、基準として用いたい映像シーケンス内のフレームのことを指す。kは、0<k<n（ただし、nは映像シーケンスVorigの総フレーム数）を満たすものであれば任意の枚数を設定してよいが、実用的には映像シーケンスVorigの総フレーム数の10％程度の枚数を設定するとよい。キーフレームFの取得方法は、例えば、ランダムに取得する方法や、一定間隔で取得する方法が考えられるが、用途に応じて決定すればよい。次に、補完対象フレームtとキーフレームFを構成する全キーフレームとの差分画像を求め、二値化する。この処理により、前景と背景とを１、０（どちらを０にするか１にするかは任意である）の二値で表すことができる。この二値画像の総数は、キーフレームの総数と同じくk枚である。さらに、k枚すべての二値画像上で前景を示す画素のみを前景とし（具体的には、k枚の二値画像の論理積（AND）を取る）、前景画像Sを生成する。
【０３３４】
前景画像Sが生成されたら、補完対象フレームtの補完対象領域から一定距離d以内に存在する、前景画像S上での前景を示す画素数をカウントし、その総数をCとする。Cが一定閾値Cthよりも小さければ、補完対象領域の近傍に他オブジェクトが存在しないと判定し、R(t)=tとしてフレーム内を参照領域としたコンプリーション処理を施す。そうでなければ、参照フレームを映像シーケンスVorig中のフレームから決定し、そのフレームを参照領域とした貼り付け合成処理を行う。なお、距離dは0以上、かつ、画像の縦横の解像度より小さい値であれば任意の値を設定して構わないが、隣接する前景の有無を調べることが目的であるため、0<=d<5[pixel]などの比較的小さい値を設定するとよい。特に、厳密に隣接するか否かを調べるのであれば、d=0とすればよい。また、閾値Cthは、0以上255以下であれば任意の値を設定して構わないが、実用的には50〜150程度に設定するのがよい。ここでは、映像シーケンスVorigから参照フレームを決定する方法を特に限定するものではないが、例えば以下のような方法が挙げられる。
【０３３５】
補完対象フレームtの時系列軸的に近傍であるフレーム（t'とする）を順に探索し（時系列的な前を先に探索しても後ろを先に探索してもよい）、フレーム毎に前述した前景背景分離処理を探索対象のフレームt'に対して行い、前景画像S'を得る。さらに、補完対象フレームtの補完対象領域から一定距離d以内に存在する、前景画像S'上での前景を示す画素数をカウントし、その総数をCとする。Cが一定閾値Cthよりも小さければ、補完対象領域の近傍に他オブジェクトが存在しないと判定し、R(t)=t'としてフレームt'を参照領域としたコンプリーション処理を施す。そうでなければ、前述の条件を満たすフレームt'を発見するまで探索を続ける。
【０３３６】
第二の参照フレーム決定方法は、周辺との色特徴量の違いにより決定する方法である。これは、方針としては第一の参照フレーム決定方法と同様であるが、色特徴量のみに基づいて、以下のように参照フレームおよび補完方法の決定を行う方法である。
【０３３７】
まず、修復したいオブジェクトがフレーム内に存在する他のオブジェクトと位置的に重複しているか否かを色特徴量に基づいて調査する。
【０３３８】
あるフレームtの補完対象領域R(t)内に相当する画素位置における映像シーケンスVorig(t)の平均色をUinとする。また、補完対象領域R(t)から一定距離d以内に存在する近傍画素の平均色をUoutとする。距離dは上記の方法と同様に設定すればよい。Uin, Uoutは次式のように求められる。
【０３３９】
【数８】
2020025320.tif 000014
【０３４０】
ただし、Ωは参照領域R(t)のうちマスク情報Dが示す領域を示し、Θは参照領域R(t)のうちマスク情報Dが示す領域から一定距離d以内にある領域を示す。また、u(x, y, t)はVorig(x, y, t)の色情報（例えば、RGB）を示す。
【０３４１】
こうして求めた平均色Uin, Uoutの差Udiffがあらかじめ定められた閾値Thよりも小さければ、参照領域は現フレームのみとし、R(t)=tとしてフレーム内を参照領域としたコンプリーション処理を行う。そうでない場合は、Udiffが閾値Thよりも小さくなるUoutを出力するフレームt'のうち、最も現フレームtに時系列軸上で近いフレームを選定し、R(t)=t'としてフレームt'を参照領域とした貼り付け合成処理を行う。Thは0以上255以下であれば任意の値を設定して構わないが、実用的には50〜150程度に設定するとよい。t'が複数フレーム存在する場合は、ランダムに決定する等によりいずれか一つのみ選択してもよいし、複数フレームを参照領域として保持してもよい。
【０３４２】
第三の参照フレーム決定方法は、セグメンテーションを用いる方法である。画像・映像内の画素を分割する手法として、参考文献１１のようなセグメンテーション手法が知られている。セグメンテーションとは、画像を入力として、類似した色や構造に基づいて類似した領域を一つのまとまった領域として分割する技術である。このような手法を用いることにより、画像内で多くの画素を占めるセグメントを特定することができ、フレームｔにおける背景画素の画像内位置を知ることが可能である。例えば、シーケンスの先頭フレームの各セグメントに対し、はじめにユーザが手動でタグ付け（例えば、マウンド、選手、フェンス等）をし、残りのフレームではそのタグと同一セグメントに分類されたものを調べれば、該当セグメントが背景であるか前景であるかを知ることが可能である。
【０３４３】
〔参考文献１１〕Chen, L. Cao, Y. Wang, J. Liu, and X. Tang, “Image Segmentation by MAP-ML Estimations,” IEEE Transactions on Image Processing (TIP), vol. 19, no. 9, pp. 2254-2264, 2010.
【０３４４】
このセグメンテーションを利用し、あるフレームtの補完対象領域R(t)から一定距離d以内に存在する近傍画素が背景であった場合にはフレーム内情報のみからの補完が容易であると判断して、R(t)=tとしてフレーム内を参照領域としたコンプリーション処理を行う。そうでない場合には、他フレームの補完対象領域R(t)に相当する画素位置における画素が背景となるフレームt'のうち、最も現フレームtに時系列軸上で近いフレームを選定し、R(t)=t'としてフレームt'を参照領域とした貼り付け合成処理を施す。距離dは上記の方法と同様に設定すればよい。t'が複数フレーム存在する場合は、ランダムに決定する等によりいずれか一つのみ選択してもよいし、複数フレームを参照領域として保持してもよい。
【０３４５】
ステップＳ７３において、映像補完部７３は、補完方法判定部７２から受け取った修復方法Pがパッチ探索に基づくコンプリーション処理を示している場合、補完方法判定部７２から映像シーケンスVorig、マスク情報D、および参照領域Rを受け取り、映像シーケンスVorig中のマスク情報Dが示す補完対象領域を、参照領域Rを用いてパッチ探索に基づくコンプリーション処理により補完し、補完後の映像シーケンスVoutを生成する。補完後の映像シーケンスVoutは、映像出力部７４へ送られる。
【０３４６】
ステップＳ７４において、映像補完部７３は、補完方法判定部７２から受け取った修復方法Pが貼り付け合成処理を示している場合、補完方法判定部７２から映像シーケンスVorig、マスク情報D、および参照領域Rを受け取り、映像シーケンスVorig中のマスク情報Dが示す補完対象領域を、参照領域Rを用いて貼り付け合成処理により補完し、補完後の映像シーケンスVoutを生成する。補完後の映像シーケンスVoutは、映像出力部７４へ送られる。
【０３４７】
ステップＳ７５において、映像出力部７４は、映像補完部７３から補完後の映像シーケンスVoutを受け取り、外部の映像出力手段を通して出力する。映像出力手段としては、例えば、映像提示装置の映像出力端子に接続されたヘッドマウントディスプレイや、液晶ディスプレイ、プロジェクタなどが挙げられる。
【０３４８】
［第十実施形態の実験結果］
図４８に実際の計算時間に関する実験結果を示しながら、従来技術（フレーム内コンプリーション処理および貼り付け合成処理）単体による補完と比較して、特に計算時間・画質が向上することを説明する。なお、図４８中で（１）〜（４）で示される結果は、以下のとおりである。（１）（He+ 2014）は、参考文献９に記載されたフレーム内コンプリーション処理に基づく実験結果である。（２）（貼り付け合成）は、貼り付け合成処理による実験結果である。（３）（Newson+ 2014）は、参考文献１０に記載された三次元パッチに基づく動画コンプリーション処理による実験結果である。（４）（本技術）は、第十実施形態の映像提示装置を用いた実験結果である。また、図４８中で（Ａ）（Ｂ）で示される結果は、それぞれ以下のような映像シーケンスに対する実験結果である。（Ａ）シーケンス内に修復対象領域であるボールが、前景領域であるピッチャーに隣接するフレームが含まれており、貼り付け合成処理が困難であるが、一方で背景が一様なためフレーム内コンプリーションを施した結果に違和感が出にくい映像である。（Ｂ）シーケンス内に修復対象領域であるボールが、前景領域であるピッチャーに隣接または重複するフレームが含まれておらず貼り付け合成処理が比較的容易であるが、背景にフェンスなどの複雑なテクスチャが含まれるためフレーム内コンプリーションが難しい映像である。
【０３４９】
図４８（Ａ）の計算時間を実験により算出した際の、画質について以下に説明する。（Ａ）は補完対象領域であるボールが人物（ピッチャー）に隣接するフレームを含んでおり、該当フレームでは貼り付け合成処理による補完結果が良好に行なえないが、一方で背景が一様なためフレーム内コンプリーションでも違和感が少ないシーンを用いた実験結果である。背景がマウンドの土などで複雑なテクスチャを含まない場合、フレーム内コンプリーションを施した際の違和感は少ないため、このシーンでは（１）のフレーム内コンプリーション処理が有効である。一方で、（２）の貼り付け合成処理では除去対象領域が前景に隣接した場合、他フレームからの画素の貼り付けにより、ピッチャーの身体の一部がマウンドの土の領域の画素で補完されてしまい、著しく画質が悪化してしまう。（３）の動画コンプリーション処理も有効であるが、計算時間が膨大である（図４８参照）。（４）の本技術は、（１）および（２）のどちらが適切な補完手法であるかフレーム毎に判定しており、（２）の貼り付け合成処理において著しく画質が劣化したフレームに関しては（１）のフレーム内コンプリーション処理が適切であると判定され、それ以外のフレームではより高速な（２）が選択された。そのため、（２）と比較して大幅に画質を向上することができた。
【０３５０】
また、図４８（Ｂ）の計算時間を実験により算出した際の、画質について以下に説明する。（Ｂ）は、補完対象領域であるボールが人物に隣接せず貼り付け合成処理を用いた補完でも違和感が少ないが、一方で背景が複雑なテクスチャ構造を含んでおりフレーム内コンプリーションが失敗しやすいシーンを用いた実験結果である。背景がフェンスであるなどの複雑なテクスチャ構造の場合、（１）のフレーム内コンプリーションでは背景テクスチャの補完に失敗しやすく、フェンスの線形構造が欠損して補完されてしまうフレームがあった。そのため、時系列一貫性が保たれず動画シーケンスとして視聴した際に著しく違和感を生じる原因となる。一方で、（２）の貼り付け合成処理では他フレームに存在する正しいテクスチャ構造を用いることができるため、違和感の少ない合成が可能であった。（Ａ）の例と同じく、（３）の動画コンプリーション処理も有効であるが、計算時間が膨大である（図４８参照）。（４）の本技術は、補完対象領域であるボールが前景（ピッチャー）に隣接していない場合には（２）の方法を用いて補完を行うため，（１）の手法においてフェンスの線形構造が欠損されて補完されたフレームに関しても（２）の他フレームから補完を行う手法が適切であると判定された。したがって、（１）と比較して大幅に画質が向上した。
【０３５１】
図４８（Ａ）（Ｂ）の例では、それぞれ貼り付け合成処理またはコンプリーション処理のいずれかが失敗し、結果として違和感のある補完の原因となっている。本技術では、この２つの手法をフレームに応じて自動判定により使い分けることで、従来補完が困難であったシーンであっても自動的に良好な補完を行うことが可能である。
【０３５２】
図４８に、（Ａ）（Ｂ）に示したシーンそれぞれにおける実行時間の比較結果を示す。（２）の貼り付け合成処理は、いずれの場合でも最も実行時間が少ないが、上記で述べたように画質の面で不十分な場合がある。一方、（４）に示す本技術は、画質を向上させつつ計算時間も（２）に次いで少ない（（Ａ）では（１）の31.1％の実行時間、（Ｂ）では（１）の2.5％の実行時間）。したがって、本技術は計算時間を短縮しつつ画質も向上させられるという点で効果的であると言える。
【０３５３】
上記のように構成することにより、第十実施形態によれば、補完対象領域の近傍に前景オブジェクトがあればパッチ探索に基づくコンプリーション処理により補完し、補完対象領域の近傍に前景オブジェクトがなければ貼り付け合成処理により補完するため、不要な映り込みなどにより補完が必要な領域を含む映像を効率的に補完することができる。
【０３５４】
［第十一実施形態］
近年、３６０度のパノラマ画像を撮影できるカメラ（以下、「全天球カメラ」という。）が普及し始めている。全天球カメラによって撮影されたパノラマ画像（以下、「全天球画像」という。）は、所望の視点位置に全天球カメラを設置することで撮影することができる。しかしながら、競技中の競技者の邪魔となるためサッカーコートやバスケットコートなどの競技用コートの中には全天球カメラを設置することができない。そのため、競技用コートの中の所望の視点位置における競技中の全天球画像を撮影することができない。
【０３５５】
そこで、全天球カメラを設置することのできない場所に仮想的な視点である仮想視点を設定して、この仮想視点において全天球カメラで撮影したかのような全天球画像を、コートの外側に設置された複数のカメラによって撮影された画像を合成することによって得る技術が提案されている（例えば、参考文献５参照）。以下の説明において、仮想視点における全天球画像を、仮想全天球画像と記載する。
【０３５６】
仮想全天球画像を複数のカメラによって撮影された画像の合成によって得るシステムの具体例について説明する。
【０３５７】
図６１は、従来システムにおいて仮想全天球画像を得るためのシステムを示す図である。図６１に示すように、画像処理システム９００は、全天球カメラ９２と、複数のカメラ９３−１、９３−２、９３−３、・・・、９３−Ｎ（以下、「カメラ群９３」という。）（Ｎは４以上の整数）と、画像処理装置９４と、表示装置９５とを備える。画像処理システム９００は、競技用コート９０内に仮想視点９１を設定した場合に、競技用コート９０外に設置したカメラ群９３によって撮影された画像の合成によって仮想視点９１における仮想全天球画像を得る。
【０３５８】
全天球カメラ９２は、全天球画像を撮影するカメラである。全天球カメラ９２は、競技が行われる前のタイミングで競技用コート９０内の仮想視点９１の位置に設置される。全天球カメラ９２は、仮想視点９１の位置から、仮想全天球画像の背景となる画像（以下、「背景画像」という。）を撮影する。全天球カメラ９２で撮影された背景画像は、画像処理装置９４に入力されて蓄積される。このように、画像処理装置９４は、予め背景画像を蓄積する。
【０３５９】
競技用コート９０の周囲には、カメラ群９３が設置されている。カメラ群９３の各カメラ９３−１、９３−２、９３−３、・・・、９３−Ｎは、それぞれ仮想視点９１を含む画角となるように競技用コート９０の周囲に設置されている。カメラ群９３は、仮想視点９１を含む領域を撮影する。画像処理装置９４は、カメラ群９３の各カメラ９３−１、９３−２、９３−３、・・・、９３−Ｎによって撮影された画像に対して画像処理を施して、背景画像に画像処理後の画像を合成して仮想全天球画像を生成する。表示装置９５は、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ、ＣＲＴ（Cathode Ray Tube）ディスプレイ等の画像表示装置である。表示装置９５は、画像処理装置９４で生成した仮想全天球画像を表示する。
【０３６０】
次に、画像処理システム９００における画像処理の具体例について図６２を用いて説明する。
【０３６１】
図６２は、画像処理システム９００における画像処理の流れを説明するための図である。図６２（Ａ）は、背景画像９２０の具体例を示す図である。背景画像９２０には、仮想視点９１を中心として全方位（３６０度）の被写体が撮影されている。背景画像９２０は、競技用コート９０内に人物がいない状態で撮影される画像であるので競技用コート９０内には人物が撮影されない。
【０３６２】
図６２（Ｂ）は、各カメラ９３−１、９３−２及び９３−３で撮影された画像を示す図である。図６２（Ｂ）には、左からカメラ９３−１で撮影された画像９２１と、カメラ９３−２で撮影された画像９２２と、カメラ９３−３で撮影された画像９２３とが示されている。画像処理装置９４は、画像９２１〜９２３のそれぞれから仮想視点９１を含む領域９２１１、９２２１、９２３１を抽出する。画像処理装置９４は、抽出した領域９２１１、９２２１、９２３１の画像に対して、画像処理を行うことで背景画像９２０に合成可能な部分画像９２１１ａ、９２２１ａ、９２３１ａを生成する。
【０３６３】
画像処理装置９４は、背景画像９２０に対して部分画像９２１１ａ、９２２１ａ、９２３１ａを合成することによって仮想全天球画像９２４を生成する。図６２（Ｃ）は、画像処理装置９４が生成する仮想全天球画像９２４の例を示す図である。図６２（Ｃ）に示すように、仮想全天球画像９２４の所定の領域には部分画像９２１１ａ、９２２１ａ、９２３１ａが合成されている。そのため、仮想全天球画像９２４として、競技用コート９０上に被写体（例えば、人物）が撮影されている画像が生成される。従来の画像処理システム９００は、合成に用いているカメラ群９３の光学中心及び仮想視点９１において想定する全天球カメラ９２の光学中心がそれぞれ異なる。そのため、合成された仮想全天球画像９２４は幾何学的に正しくない画像を含む。これを防ぐためには、画像処理装置９４は、部分画像９２１１ａ、９２２１ａ、９２３１ａを、仮想視点９１からの距離を示す奥行きの一点で整合性が保たれるよう画像処理を行い背景画像９２０に合成する必要がある。
【０３６４】
しかしながら、整合性が保たれる奥行きに存在せずに別の奥行に存在している被写体（例えば、人物）の部分画像を背景画像９２０に合成する場合には、画像処理により奥行きの整合性を保つことができない。このような奥行きに整合性のない被写体は、仮想全天球画像９２４において、その画像が多重像になってしまったり、消失したりする現象が発生する。このように、被写体の奥行きが不明な場合には、適切な合成が出来なくなってしまうという問題があった。なお、このような問題は、複数の撮影装置のそれぞれで撮影された画像を合成する場合全てに共通する問題である。
【０３６５】
上記事情に鑑み、第十一実施形態は、複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定することができる技術の提供を目的としている。
【０３６６】
第十一実施形態の一態様は、所定の位置を含む領域が撮影範囲となるように前記所定の位置を含む領域の周囲に設置された少なくとも２つの撮影装置それぞれが撮影した複数の入力画像を用いて、前記所定の位置を仮想的な視点である仮想視点として前記仮想視点からの距離を表す複数の異なる奥行きの合成画像を生成し、生成した複数の合成画像それぞれからコントラストを算出し、算出した前記コントラストに基づいて複数の合成画像のうちコントラストが最も大きい合成画像の奥行きを各入力画像の最適奥行きに決定する決定部を備える最適奥行き決定装置である。
【０３６７】
以下、第十一実施形態を、図面を参照しながら説明する。
【０３６８】
図４９は、第十一実施形態における画像処理システム８００のシステム構成を示す図である。
【０３６９】
画像処理システム８００は、全天球カメラ９２、複数のカメラ９３−１〜９３−Ｍ（Ｍは２以上の整数）及び画像処理装置８０を備える。なお、以下の説明では、カメラ９３−１〜９３−Ｍについて特に区別しない場合には、カメラ９３と記載する。
【０３７０】
全天球カメラ９２は、撮影対象領域８１内の仮想視点８２の位置に設置される。撮影対象領域８１は、例えばサッカーコートやバスケットコートなどの競技用コートなどである。仮想視点８２は、所定の領域（本実施形態では、撮影対象領域８１）内に仮想的に設定された視点である。全天球カメラ９２は、仮想視点８２の位置における全天球画像を撮影する。本実施形態における全天球画像は、仮想視点８２を中心として撮影対象領域８１全体を含む。全天球カメラ９２による処理は、画像処理装置８０による処理の開始前に行われる。全天球カメラ９２は、撮影した全天球画像を背景画像として画像処理装置８０に出力する。
【０３７１】
Ｍ台のカメラ９３−１、９３−２、・・・、９３−Ｍは、撮影対象領域８１の外側に設けられ、画像を動画（映像）で撮影するカメラであり、仮想視点８２を含む領域を撮影する。Ｍ台のカメラ９３−１、９３−２、・・・、９３−Ｍのそれぞれで撮影された動画は、複数フレームの画像により構成される。図４９に示すように、カメラ９３−１には仮想視点８２の位置上を通過する光線８３−１が入力され、カメラ９３−２には仮想視点８２の位置上を通過する光線８３−２が入力される。以下、カメラ９３に入力される光線を実光線と記載する。図４９では示していないが、カメラ９３は撮影対象領域８１の周囲に設置される。つまり、カメラ９３は、それぞれ仮想視点８２を含む画角となるように撮影対象領域８１の周囲を取り囲むように設置される。図４９においてＭは、２以上の整数であり、同程度の画質の仮想全天球画像を得ようとするのであれば撮影対象領域８１が大きいほど大きな値となる。また、撮影対象領域８１の大きさが同じであれば、Ｍの値が大きい程、合成領域（仮想全天球画像において、Ｍ台のカメラ９３からの画像を合成した領域）の面積が大きくなり、あるいは合成領域の大きさが同じであれば合成領域における画質が向上する仮想全天球画像の画質を高いものにしようとするほど大きな値となる。
【０３７２】
画像処理装置８０は、Ｍ台のカメラ９３−１、９３−２、・・・、９３−Ｍのそれぞれで撮影されたそれぞれの動画から入力画像を事前に取得する。撮影されたそれぞれの動画は複数フレームの画像で構成されており、本実施形態における画像処理装置８０は処理対象となるフレームの画像を入力画像として取得する。画像処理装置８０は、全天球カメラ９２によって撮影された全天球画像と、Ｍ台のカメラ９３−１、９３−２、・・・、９３−Ｍのそれぞれで撮影された動画からそれぞれ取得された入力画像とに基づいて仮想全天球画像を生成する。具体的には、画像処理装置８０は、入力画像から最適な奥行きを決定し、決定した奥行きに基づいて入力画像から領域を抽出し、抽出した領域を全天球画像に重畳することによって仮想全天球画像を生成する。
【０３７３】
第十一実施形態では、画像処理システム８００に２台のカメラ９３（カメラ９３−１及び９３−２）が隣接して備えられている場合を例に説明する。また、以下の説明では、隣接するカメラ９３の組（例えば、カメラ９３−１と９３−２との組）をカメラペアと記載する。
【０３７４】
画像処理装置８０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置８０は、入力画像記憶部８０１、合成情報記憶部８０２、決定部８０３、最適奥行き記憶部８０４、背景画像記憶部８０５、画像合成部８０６を備える装置として機能する。なお、画像処理装置８０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【０３７５】
入力画像記憶部８０１は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。入力画像記憶部８０１は、各カメラ９３を識別するためのカメラＩＤに関連付けて、カメラ９３毎の入力画像を時系列順に記憶する。入力画像は、撮影時刻及び動画の画像データを含む。
【０３７６】
合成情報記憶部８０２は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。合成情報記憶部８０２は、合成情報テーブルを記憶する。合成情報テーブルは、背景画像に対して画像を重畳するために用いられる情報（以下、「合成情報」という。）を表すレコード（以下、「合成情報レコード」という。）によって構成される。
【０３７７】
図５０は、合成情報テーブルの具体例を示す図である。
【０３７８】
合成情報テーブルは、合成情報レコードを複数有する。合成情報レコードは、カメラＩＤ及び合成情報の各値を有する。カメラＩＤの値は、カメラ９３を識別するための識別情報を表す。例えば、図５０におけるカメラＩＤ“Ｃ１”で識別されるカメラ９３はカメラ９３−１であり、カメラＩＤ“Ｃ２”で識別されるカメラ９３はカメラ９３−２である。
【０３７９】
合成情報の値は、同じ合成情報レコードのカメラＩＤで識別されるカメラ９３で撮影された画像（入力画像）から生成される画像を背景画像に重畳するために用いられる情報を表す。合成情報の具体例として、奥行き、抽出領域情報及び変換情報がある。
【０３８０】
ある合成情報レコードの奥行きの値は、カメラＩＤで識別されるカメラ９３の仮想視点８２からの距離を表す。図５０に示す例では、合成情報テーブルには、カメラＩＤ毎にＮ段階の奥行きが登録されている。なお、Ｎは２以上の整数である。奥行き１〜奥行きＮは、仮想視点８２から撮影対象領域８１の端までの間で設定される。設定される奥行きの数は、最適奥行きの決定精度がある程度保障される数であることが好ましい。
【０３８１】
ある合成情報レコードの抽出領域情報の値は、カメラＩＤで識別されるカメラ９３で撮影された画像（入力画像）から抽出する領域（以下、「抽出領域」という。）に関する情報を表す。抽出領域情報の具体例として、左上座標、幅及び高さがある。左上座標は、抽出領域の左上の座標を表す。幅は、抽出領域の幅を表す。高さは、抽出領域の高さを表す。なお、幅及び高さは、抽出領域の左上座標を基準とし、かつ、仮想視点８２を含む範囲に設定される。抽出領域は、背景画像に重畳された画像上において、隣接するカメラ９３の画像の間に隙間ができないような領域に設定されることが望ましい。なお、以下の説明では、抽出領域情報に応じて入力画像から抽出された部分領域の画像を部分領域画像と記載する。
【０３８２】
ある合成情報レコードの変換情報の値は、抽出領域情報に応じて抽出された部分領域画像を部分画像に変換するための情報を表す。部分画像は、部分領域画像を背景画像の対応領域に違和感なく重畳するために、部分領域画像に対して変換情報に応じて拡大、縮小、回転等の変形処理を行うことによって生成される。この変形処理は、例えば、画像に対してアフィン変換を施すことによって行う。画像に対してアフィン変換を施す場合の変換情報は、例えばアフィン変換行列である。以下、部分領域画像に対して行う変形処理としてアフィン変換を用いる例を示すが、変形処理はアフィン変換に限定される必要はなく、変換情報に応じて拡大、縮小、回転等による画像の変換を行う処理であればどのような処理であってもよい。なお、アフィン変換行列には、背景画像において部分画像を重畳する領域を示す情報（以下、「重畳情報」という。）が含まれる。
【０３８３】
アフィン変換行列は、以下に示す方法により予め取得して合成情報記憶部８０２に記憶される。例えば、仮想視点８２から複数種類の距離（奥行）（図５０の例では、奥行き１〜奥行きＮ）の位置それぞれに格子模様のチェスボードを設置して、仮想視点８２に設置した全天球カメラ９２で撮影したチェスボードを含む画像と、カメラ９３で撮影したチェスボードを含む画像とを比較する。そして、チェスボードの各格子について、全天球カメラ９２で撮影した画像中のチェスボードの格子と、カメラ９３で撮影した画像中のチェスボードの格子が対応するように画像を変換するアフィン変換行列を求める。このようにして、チェスボードを設置した奥行き１〜奥行きＮそれぞれに対応したアフィン変換行列を求める。
【０３８４】
図５０に示されるように、合成情報テーブルには、カメラＩＤ毎にＮ段階の奥行きが登録され、各奥行き１〜Ｎそれぞれに対して変換情報が登録されている。図５０において、合成情報テーブルの最上段に登録されている合成情報レコードは、カメラＩＤの値が“Ｃ１”、奥行きの値が“奥行き１”、左上座標の値が“（Ａ，Ｂ）”、幅の値が“Ｃ”、高さの値が“Ｄ”、変換情報の値が“Ａ１ｊ１”である（ｊは１以上の整数）。すなわち、カメラＩＤ“Ｃ１”で識別されるカメラ９３−１において奥行き１の場合には、入力画像から左上座標（Ａ，Ｂ）、幅Ｃ、高さＤで表される部分領域を抽出し、抽出された部分領域に対して“Ａ１ｊ１”の変形処理を施すことが表されている。
【０３８５】
図４９に戻って、画像処理装置８０の説明を続ける。
【０３８６】
決定部８０３は、入力画像記憶部８０１に記憶されているカメラペアの入力画像と、合成情報記憶部８０２に記憶されている合成情報テーブルとを入力とする。決定部８０３は、入力されたカメラペアの入力画像と合成情報テーブルとに基づいて、各カメラ９３の各入力画像の最適奥行きを決定する。ここで、最適奥行きとは、入力画像に撮像されている被写体に関して多重像や消失が他の奥行きに比べて視認しにくい奥行きを表す。
【０３８７】
次に、決定部８０３の具体的な処理について説明する。
【０３８８】
まず決定部８０３は、合成情報テーブルの１つの奥行き（例えば、奥行き１）に対する抽出領域情報に基づいて、入力画像それぞれから部分領域を抽出することによって各入力画像の部分領域画像を生成する。次に、決定部８０３は、生成した各入力画像の部分領域画像に対して、合成情報テーブルの１つの奥行き（例えば、奥行き１）に対する変換情報のアフィン変換行列に基づく変形処理を行うことによって各入力画像の部分画像を生成する。次に、決定部８０３は、生成した各入力画像の部分画像を用いて、各入力画像の最適な奥行きを決定するための合成画像（以下、「奥行き決定用合成画像」という。）を生成する。例えば、決定部８０３は、変換情報に含まれる重畳情報に基づいて奥行き決定用合成画像を生成する。決定部８０３は、生成した奥行き決定用合成画像の重複領域に対するコントラストを算出する。本実施形態では、コントラストを輝度差で求める場合を例に説明する。なお、コントラストを輝度差で求める場合には後述する式１が用いられる。決定部８０３は、上記の処理を全ての奥行き１〜Ｎに対して行う。そして、決定部８０３は、全ての奥行き１〜Ｎにおいて算出したコントラストの中でコントラストが最も大きい奥行き決定用合成画像の奥行きをカメラペアの各入力画像の最適奥行きに決定する。決定部８０３は、決定したカメラペアの各入力画像の最適奥行きから各カメラ９３の各入力画像の最適奥行きを決定する。なお、決定部８０３は、本実施形態のようにカメラペアが１つの場合には、カメラペアの各入力画像の最適奥行きを各カメラ９３の各入力画像の最適奥行きに決定してもよい。カメラペアが複数ある場合の説明は後述する。決定部８０３は、決定した各カメラ９３の各入力画像の最適奥行き情報を最適奥行き記憶部８０４に記憶させる。決定部８０３は、以上の処理を各時刻におけるカメラペアの入力画像に対して行う。
【０３８９】
最適奥行き記憶部８０４は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。最適奥行き記憶部８０４は、最適奥行き情報テーブルを記憶する。最適奥行き情報テーブルは、各カメラ９３の各入力画像の最適奥行きに関する情報を表すレコード（以下、「最適奥行き情報レコード」という。）によって構成される。
【０３９０】
図５１は、最適奥行き情報テーブルの具体例を示す図である。
【０３９１】
最適奥行き情報テーブルは、最適奥行き情報レコードを複数有する。最適奥行き情報レコードは、時刻及び最適奥行きの各値を有する。時刻の値は、入力画像が撮影された時刻を表す。ある最適奥行き情報レコードの最適奥行きの値は、ある時刻に撮影された各カメラ９３の入力画像の最適奥行きを表す。
【０３９２】
図５１に示される例では、最適奥行き情報テーブルには各時刻における最適奥行きの情報が登録されている。図５１において、最適奥行き情報テーブルの最上段に登録されている最適奥行き情報レコードは、時刻の値が“ｔ”、カメラ９３−１の入力画像の最適奥行きの値が“ｄ１(ｔ)”、カメラ９３−２の入力画像の最適奥行きの値が“ｄ２(ｔ)”である。すなわち、時刻ｔにカメラ９３−１及び９３−２によって撮影された画像（入力画像）それぞれの最適奥行きが“ｄ１(ｔ)”、“ｄ２(ｔ)”であることが表されている。
【０３９３】
背景画像記憶部８０５は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。背景画像記憶部８０５は、全天球カメラ９２によって撮影された全天球画像を背景画像として記憶する。
【０３９４】
画像合成部８０６は、入力画像記憶部８０１に記憶されている各カメラ９３の入力画像と、合成情報記憶部８０２に記憶されている合成情報テーブルと、最適奥行き記憶部８０４に記憶されている最適奥行き情報テーブルと、背景画像記憶部８０５に記憶されている背景画像とを入力とする。画像合成部８０６は、入力された各カメラ９３の入力画像と、合成情報テーブルと、最適奥行き情報テーブルと、背景画像とに基づいて仮想全天球画像を生成する。具体的には、画像合成部８０６は、最適奥行き情報テーブルを参照して、ある時刻（例えば、時刻ｔ）におけるあるカメラ９３（例えば、カメラ９３−１）の入力画像の最適な奥行きの情報を取得する。画像合成部８０６は、取得したカメラ９３の入力画像の最適な奥行きに基づいて、合成情報テーブルからあるカメラ９３（例えば、カメラ９３−１）の最適な奥行きに対応する抽出領域情報を取得する。画像合成部８０６は、取得した抽出領域情報に基づいて、入力画像から部分領域を抽出することによって部分領域画像を生成する。
【０３９５】
画像合成部８０６は、合成情報テーブルからあるカメラ９３（例えば、カメラ９３−１）の最適な奥行きに対応する変換情報を取得する。画像合成部８０６は、生成した部分領域画像に対して、取得した変換情報のアフィン変換行列に基づく変形処理を行うことによって入力画像の部分画像を生成する。画像合成部８０６は、部分画像生成までの処理をある時刻における各カメラ９３の入力画像に対して行う。その後、画像合成部８０６は、アフィン変換行列に含まれる重畳情報に基づいて、生成した部分画像を背景画像に重畳することで仮想全天球画像を生成する。より具体的には、画像合成部８０６は、部分画像の画素値で、背景画像上の部分画像を重畳する領域の画素値を置き換えることによって仮想全天球画像を生成する。画像合成部８０６は、仮想全天球画像生成の処理を各時刻の入力画像に対して行うことによって各時刻における仮想全天球画像を生成する。画像合成部８０６は、生成した仮想全天球画像を出力する。
【０３９６】
以下の説明では、画像合成部８０６による上記の全ての処理を画像合成処理ステップと記載する。
【０３９７】
図５２は、コントラストの算出結果の具体例を示す図である。
【０３９８】
図５２において、縦軸はコントラストを表し、横軸は奥行きを表す。奥行きの値が０に近いほど仮想視点８２からの距離が近い奥行きを表し、奥行きの値が高くなるほど仮想視点８２からの距離が遠い奥行きを表す。図５２では、円９９０で示される奥行きｄのコントラストが最も大きい。この場合、決定部８０３は、奥行きｄをカメラペアの各入力画像の最適奥行きに決定する。
【０３９９】
図５３は、画像処理装置８０の処理の流れを示すフローチャートである。
【０４００】
決定部８０３は、カメラペアの同時刻における入力画像を入力画像記憶部８０１から読み出す（ステップＳ１０１）。次に、決定部８０３は、読み出した入力画像と、合成情報記憶部８０２に記憶されている合成情報テーブルとに基づいて、１つの奥行きに対する変換情報を用いて奥行き決定用合成画像を生成する（ステップＳ１０２）。１つの奥行きの選択方法は、処理が行なわれていない奥行きを選択できればどのような方法であってもよい。例えば、決定部８０３は、仮想視点８２に近い奥行きから順番に奥行きを選択してもよいし、ランダムに奥行きを選択してもよいし、その他の方法で奥行きを選択してもよい。次に、決定部８０３は、生成した奥行き決定用合成画像の重複領域のコントラストを以下の式１に基づいて算出する（ステップＳ１０３）。なお、式１はコントラストの求め方の一例である。また、式１のＬｍｉｎは画像中の重複領域の最小輝度値を表し、Ｌｍａｘは画像中の重複領域の最大輝度値を表す。
【０４０１】
【数９】
2020025320.tif 000015
【０４０２】
その後、決定部８０３は、全ての奥行きに対してコントラストを算出する処理を行ったか否か判定する（ステップＳ１０４）。全ての奥行きに対してコントラストを算出する処理を行っていない場合（ステップＳ１０４−ＮＯ）、決定部８０３はステップＳ１０２以降の処理を繰り返し実行する。
【０４０３】
一方、全ての奥行きに対してコントラストを算出する処理を行った場合（ステップＳ１０４−ＹＥＳ）、決定部８０３は算出した全ての奥行き対するコントラストに基づいてカメラペアの各入力画像の最適奥行きを決定する（ステップＳ１０５）。
【０４０４】
なお、以下の説明では、図５３のステップＳ１０２からステップＳ１０５までの処理をカメラペア奥行き決定処理と記載する。
【０４０５】
以上のように構成された画像処理装置８０によれば、複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定することが可能になる。以下、この効果について詳細に説明する。
【０４０６】
画像処理装置８０は、カメラペアの入力画像を用いて全ての奥行きに対する奥行き決定用合成画像を生成する。次に、画像処理装置８０は、生成した全ての奥行きに対する奥行き決定用合成画像それぞれからコントラストを算出し、算出したコントラストが最も大きい奥行き決定用合成画像を選択する。コントラストが低い場合には画像がぼやけている可能性が高い。つまり、合成による多重像や消失が発生している画像である可能性が高い。したがって、画像処理装置８０は、コントラストが最も大きい奥行き決定用合成画像を選択することによって、多重像や消失が発生していない可能性の高い画像を選択することができる。そのため、複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定することが可能になる。
【０４０７】
＜第十一実施形態の変形例＞
画像処理装置８０における入力画像記憶部８０１、合成情報記憶部８０２、決定部８０３及び最適奥行き記憶部８０４は、最適奥行き決定装置として構成されてもよい。
【０４０８】
本実施形態では、カメラペアが１つの場合について説明したが、カメラペアが複数ある場合には各カメラ９３には２つの最適奥行きが存在することになる。例えば、あるカメラＣｉ（ｉは２以上の整数）に関しては（Ｃｉ−１,Ｃｉ）のペアと（Ｃｉ,Ｃｉ＋１）のペアがあり、それぞれのカメラペアに関して最適奥行きが決定される。そこで、決定部８０３は、カメラペアが複数ある場合にはそれぞれのペア（例えば、（Ｃｉ−１,Ｃｉ）のペアと（Ｃｉ,Ｃｉ＋１）のペア）で決定された最適奥行きに基づいてカメラＣｉの最適奥行きを決定する。この方法としては、２つの最適奥行きのうち仮想視点８２に近い奥行をカメラＣｉの最適奥行きと決定する方法などがある。決定部８０３は、この処理を全てのカメラペアに対して行うことによってカメラペアが複数ある場合においても各カメラ９３の各入力画像の最適奥行きを決定することができる。そして、決定部８０３は、決定した各カメラ９３の各入力画像の最適奥行きの情報を最適奥行き記憶部８０４に記憶させる。その後、画像合成部８０６は、画像合成処理ステップを実行してもよいし、合成画像の生成指示が入力されたタイミングで画像合成処理ステップを実行してもよいし、その他のタイミングで画像合成処理ステップを実行してもよい。
【０４０９】
また、カメラペアを選ぶ際に、（Ｃｉ−１,Ｃｉ）のペアと（Ｃｉ＋１,Ｃｉ＋２）のペアとするなど１台のカメラ９３には２つの最適奥行きが存在しないようにする方法をとってもよい。
【０４１０】
［第十二実施形態］
第十二実施形態では、第十一実施形態よりも処理の高速化を実現する。具体的には、第十一実施形態ではＮ個の奥行き全てに対してコントラストを算出する処理が行なわれているのに対して、第十二実施形態では、画像処理装置は、第十一実施形態よりも少ない奥行きに基づいてカメラペアの各入力画像の最適奥行きを決定する。より具体的には、第十二実施形態では、画像処理装置は、処理を繰り返す度に奥行き候補群に含まれる各奥行きの間隔が狭くなるように新たな奥行き候補群を作成し、所定の回数繰り返した時点の最終的な奥行き候補群に含まれる奥行きの中から最適な奥行きを決定する。また、第十二実施形態では、第十一実施形態と同様に、画像処理システム８００に２台のカメラ９３（カメラ９３−１及び９３−２）がカメラペアとして備えられている場合を例に説明する。
【０４１１】
図５４は、第十二実施形態における画像処理装置８０ａの機能構成を表す概略ブロック図である。画像処理装置８０ａは、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置８０ａは、入力画像記憶部８０１、合成情報記憶部８０２、決定部８０３ａ、最適奥行き記憶部８０４、背景画像記憶部８０５、画像合成部８０６を備える装置として機能する。なお、画像処理装置８０ａの各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【０４１２】
画像処理装置８０ａは、決定部８０３に代えて決定部８０３ａを備える点で画像処理装置８０と構成が異なる。画像処理装置８０ａは、他の構成については画像処理装置８０と同様である。そのため、画像処理装置８０ａ全体の説明は省略し、決定部８０３ａについて説明する。
【０４１３】
決定部８０３ａは、入力画像記憶部８０１に記憶されているカメラペアの入力画像と、合成情報記憶部８０２に記憶されている合成情報テーブルとを入力とする。決定部８０３ａは、入力されたカメラペアの入力画像と合成情報テーブルとに基づいて、各カメラ９３の各入力画像の最適奥行きを決定する。
【０４１４】
次に、決定部８０３ａの具体的な処理について説明する。
【０４１５】
まず決定部８０３ａは、Ｎ個の奥行きのうち特定の奥行き（例えば、Ｓ個の奥行き）を選択する。ここで、特定の奥行きの選択方法としては、等間隔（Ｎ／Ｓ個置き）に奥行きを選択する方法などが挙げられる。以下、このようなＮ個の奥行きのうち特定の奥行きを選択する処理を初期処理と記載する。初期処理で選択された奥行きを初期奥行き候補群と記載する。次に、決定部８０３ａは、合成情報テーブルを参照して、初期奥行き候補群に含まれる奥行きそれぞれについて奥行き決定用合成画像を生成し、生成した奥行き決定用合成画像のコントラストを算出する。奥行き決定用合成画像の生成及びコントラストの算出に関する処理については第１１実施形態と同様である。この処理によって、決定部８０３ａは、初期奥行き候補群に含まれる各奥行きの奥行き決定用合成画像の生成及びコントラストの算出を行う。そして、決定部８０３ａは、算出したコントラストの中でコントラストが最も大きい奥行きを含む新たな奥行き候補群を作成する。なお、決定部８０３ａは、新たな奥行き候補群を作る際には、コントラストが最も大きかった奥行きが中心になるような範囲から新たな奥行き候補群を作成する。中心になるような範囲は、予め定められる。
【０４１６】
以下、コントラストが最も大きい奥行きを含む新たな奥行き候補群を作成する処理について説明する。この説明では、コントラストが最も大きかった奥行きが中心になるような範囲の定め方の一例を示しながら新たな奥行き候補群を作成する処理について説明する。一例として、５個の奥行き（Ｎ＝５。Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５（Ｓ１＜Ｓ２＜Ｓ３＜Ｓ４＜Ｓ５）の５つの奥行き）があるとする。
【０４１７】
決定部８０３ａは、コントラストが最も大きい奥行きと、コントラストが最も大きい奥行きに隣接する奥行きとの間において所定の数の奥行きを選択する。例えば、コントラストが最も大きい奥行きがＳ３であれば、隣接する奥行きはＳ２及びＳ４となる。このように、決定部８０３ａは、コントラストが最も大きい奥行きに隣接する奥行きの間（例えば、Ｓ２とＳ４の間）を「コントラストが最も大きかった奥行きが中心になるような範囲」とする。そして、決定部８０３ａは、「コントラストが最も大きかった奥行きが中心になるような範囲」の中（例えば、Ｓ２とＳ４の間）からＴ（Ｔは１以上の整数）個の奥行きを選択する。例えば、Ｔ個の奥行きは、合成情報テーブルに記憶されている、コントラストが最も大きい奥行きに隣接する奥行きの間（コントラストが最も大きかった奥行きが中心になるような範囲）の奥行きの中から等間隔に選択されてもよい。その後、決定部８０３ａは、コントラストが最も大きい奥行き（例えば、Ｓ３）と、コントラストが最も大きい奥行きに隣接する奥行きの間（例えば、Ｓ２及びＳ４の間）の奥行きの中から選択されたＴ個の奥行きと、を含む新たな奥行き候補群を作成する。つまり、決定部８０３ａは、Ｔ＋１個の奥行きを含む新たな奥行き候補群を作成する。
【０４１８】
決定部８０３ａは、作成した新たな奥行き候補群に含まれる奥行きそれぞれについて奥行き決定用合成画像を生成し、生成した奥行き決定用合成画像のコントラストを算出する。なお、この際、決定部８０３ａは、既にコントラストを算出している奥行きに対しては処理を行わなくてもよい。決定部８０３ａは、上記処理を所定の回数行う。そして、所定の回数実行後の奥行き候補群の中でコントラストが最も大きい奥行きをカメラペアの各入力画像の最適奥行きに決定する。決定部８０３ａは、以上の処理を各時刻におけるカメラペアの入力画像に対して行う。
【０４１９】
図５５は、画像処理装置８０ａの処理の流れを示すフローチャートである。
【０４２０】
決定部８０３ａは、カメラペアの同時刻における入力画像を入力画像記憶部８０１から読み出し、入力する（ステップＳ２０１）。次に、決定部８０３ａは、Ｎ個の奥行きのうちＳ個の奥行きを選択することによって、初期奥行き候補群を作成する（ステップＳ２０２）。具体的には、決定部８０３ａは、予め設定されている複数の奥行きの中から特定の数の奥行きを選択することによって初期奥行き候補群を作成する。なお、初期奥行き候補群を作成する処理は、初期処理にのみ行われる。決定部８０３ａは、読み出した入力画像と、合成情報記憶部８０２に記憶されている合成情報テーブルとに基づいて、奥行き候補群に含まれる１つの奥行きに対する変換情報を用いて奥行き決定用合成画像を生成する（ステップＳ２０３）。決定部８０３ａは、生成した奥行き決定用合成画像の重複領域のコントラストを上記の式１に基づいて算出する（ステップＳ２０４）。その後、決定部８０３ａは、奥行き候補群に含まれる奥行きの全てに対してコントラストを算出する処理を行ったか否か判定する（ステップＳ２０５）。奥行き候補群に含まれる奥行きの全てに対してコントラストを算出する処理を行っていない場合（ステップＳ２０５−ＮＯ）、決定部８０３ａは奥行き候補群に含まれる奥行きの全てに対してコントラストを算出する処理を行うまでステップＳ２０３及びステップＳ２０４の処理を繰り返し実行する。
【０４２１】
一方、奥行き候補群に含まれる奥行きの全てに対してコントラストを算出する処理を行った場合（ステップＳ２０５−ＹＥＳ）、決定部８０３ａは最新の奥行き候補群の中でコントラストが最も大きい奥行きを含む、新たな奥行き候補群を作成する。なお、新たな奥行き候補群を作成する場合の奥行き候補群の選択方法は前述の通りである。つまり、決定部８０３ａは、コントラストが最も大きい奥行きと、選択されたＴ個の奥行きとを含む新たな奥行き候補群を作成する。その後、決定部８０３ａは、作成した新たな奥行き候補群に含まれる各奥行きに対してステップＳ２０３から２０５までの処理を行う（ステップＳ２０６）。その後、決定部８０３ａは、ステップＳ２０６の処理を所定の回数行なったか否か判定する（ステップＳ２０７）。ステップＳ２０６の処理を所定の回数行なっていない場合（ステップＳ２０７−ＮＯ）、決定部８０３ａはステップＳ２０６の処理を所定の回数に達するまで繰り返し実行する。
【０４２２】
一方、ステップＳ２０６の処理を所定の回数行なった場合（ステップＳ２０７−ＹＥＳ）、決定部８０３ａは最終的な奥行き候補群の中でコントラストが最も大きい奥行きをカメラペアの各入力画像の最適奥行きに決定する（ステップＳ２０８）。ここで、最終的な奥行き候補群とは、ステップＳ２０６の処理を所定の回数行なった時点の奥行き候補群を表す。
【０４２３】
以上のように構成された画像処理装置８０ａによれば、第十一実施形態と同様の構成を得ることができる。
【０４２４】
また、画像処理装置８０ａは、第十一実施形態と比べて少数の奥行きに基づいた推定を行いながら最適奥行きを決定する。そのため、第十一実施形態に比べて処理を高速化することが可能になる。
【０４２５】
＜第十二実施形態の変形例＞
第十二実施形態は、第十一実施形態と同様に変形されてもよい。
【０４２６】
処理を繰り返す度に新たな奥行き候補群を作成し、作成した新たな候補群から最適解（本実施形態では、最適奥行き）を決定する処理として、Ｃｏａｒｓｅ−ｔｏ−ｆｉｎｅな方法や、シンプレックス法などが用いられてもよい。
【０４２７】
本実施形態では、ステップＳ２０６の処理が所定の回数行なわれた場合にステップＳ２０８の処理が実行される例を示したが、ステップＳ２０８の処理は記憶されている奥行き候補の最小単位に行き着いた場合に行われてもよい。
【０４２８】
本実施形態では、合成情報テーブルに登録されている奥行きの中から選択して奥行き候補群を作成する構成を示したが、決定部８０３ａは合成情報テーブルに登録されている奥行き以外の奥行きを含めて奥行き候補群を作成するように構成されてもよい。例えば、仮想視点８２からの距離が１である奥行きα（奥行きα＝１）と、仮想視点８２からの距離が３である奥行きβ（奥行きβ＝３）とが合成情報テーブルに登録されている場合、決定部８０３ａは２つの奥行きの間の奥行きである仮想視点８２からの距離が２（奥行きαと奥行きβの間の奥行きγ＝２）の奥行きγを含めて奥行き候補群を作成する。このように、合成情報テーブルに登録されている奥行き以外の奥行きを奥行き候補群に含めて用いる場合、決定部８０３ａは合成情報テーブルに登録されている奥行き以外の奥行きの変換情報を登録されている奥行きの変換情報から補間するなどして求める。例えば、変換情報がアフィン変換行列であり、奥行きα＝１のときのアフィン変換行列Ａ１ｊ１、奥行きβ＝３のときのアフィン変換行列Ａ１ｊ２であるとすると、奥行きαと奥行きβの間の奥行きγのアフィン変換行列の各要素は、Ａ１ｊ１の行列の各要素と、Ａ１ｊ２の行列の各要素とを平均するなどして求めればよい。なお、この例は一例であり、決定部８０３ａは２つの奥行きの間（例えば、奥行きαと奥行きβの間）の奥行きとして複数の奥行きを含めて奥行き候補群を作成してもよい。
【０４２９】
決定部８０３ａは、以下の方法で新たな奥行き候補群を作成してもよい。上記の５個の奥行き（Ｎ＝５。Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の５つの奥行き）を例に説明する。
【０４３０】
（第１の方法）
第１の方法は、コントラストが最も大きい奥行きと、コントラストが最も大きい奥行きに隣接する奥行きそれぞれとの間においてそれぞれ所定の数の奥行きを選択し、選択したそれぞれの所定の数の奥行きと、コントラストが最も大きい奥行きと、を含む新たな奥行き候補群を作成する方法である。以下、具体的に説明する。
【０４３１】
まず決定部８０３ａは、上記のように「コントラストが最も大きかった奥行きが中心になるような範囲」を定める。つまり、コントラストが最も大きい奥行きがＳ３であれば、隣接する奥行きはＳ２及びＳ４となり、Ｓ２とＳ４の間が「コントラストが最も大きかった奥行きが中心になるような範囲」になる。ここで、コントラストが最も大きい奥行き（例えば、Ｓ３）とコントラストが最も大きい奥行きに隣接する奥行きの一方（例えば、Ｓ２）との間を第１範囲とし、コントラストが最も大きい奥行きとコントラストが最も大きい奥行きに隣接する奥行きの他方（例えば、Ｓ４）との間を第２範囲とする。次に、決定部８０３ａは、第１範囲においてＵ（Ｕは１以上の整数）個の奥行きを選択し、第２範囲においてＶ（Ｖは１以上の整数）個の奥行きを選択する。例えば、Ｕ個の奥行きは、合成情報テーブルに記憶されている、第１範囲内の奥行きの中から等間隔に選択されてもよい。また、例えば、Ｖ個の奥行きは、合成情報テーブルに記憶されている、第２範囲内の奥行きの中から等間隔に選択されてもよい。なお、ＵとＶは同じ値であってもよいし、異なる値であってもよい。その後、決定部８０３ａは、コントラストが最も大きい奥行き（例えば、Ｓ３）と、第１範囲の奥行きの中から選択されたＵ個の奥行きと、第２範囲の奥行きの中から選択されたＶ個の奥行きと、を含む新たな奥行き候補群を作成する。つまり、決定部８０３ａは、Ｕ＋Ｖ＋１個の奥行きを含む新たな奥行き候補群を作成する。
【０４３２】
（第２の方法）
第２の方法は、コントラストが最も大きい奥行きと、コントラストが最も大きい奥行きに隣接する奥行きの一方との間において所定の数の奥行きを選択し、選択した所定の数の奥行きと、コントラストが最も大きい奥行きと、を含む新たな奥行き候補群を作成する方法である。以下、具体的に説明する。
【０４３３】
まず決定部８０３ａは、上記のように「コントラストが最も大きかった奥行きが中心になるような範囲」を定める。つまり、コントラストが最も大きい奥行きがＳ３であれば、隣接する奥行きはＳ２及びＳ４となり、Ｓ２とＳ４の間が「コントラストが最も大きかった奥行きが中心になるような範囲」になる。ここで、コントラストが最も大きい奥行き（例えば、Ｓ３）とコントラストが最も大きい奥行きに隣接する奥行きの一方（例えば、Ｓ２）との間を第３範囲とする。次に、決定部８０３ａは、第３範囲においてＺ（Ｚは１以上の整数）個の奥行きを選択する。例えば、Ｚ個の奥行きは、合成情報テーブルに記憶されている、第３範囲内の奥行きの中から等間隔に選択されてもよい。その後、決定部８０３ａは、コントラストが最も大きい奥行き（例えば、Ｓ３）と、第３範囲の奥行きの中から選択されたＺ個の奥行きと、を含む新たな奥行き候補群を作成する。つまり、決定部８０３ａは、Ｚ＋１個の奥行きを含む新たな奥行き候補群を作成する。
【０４３４】
［第十三実施形態］
第十一実施形態及び第十二実施形態では、各時刻における各カメラ９３の各入力画像の最適奥行きを決定する構成について説明した。このように決定された最適奥行きに基づいて生成される合成画像（仮想全天球画像）を映像として再生した場合、各時刻における最適奥行きが異なるため違和感のある映像になってしまうおそれがある。そこで、第十三実施形態では、画像処理装置は、各時刻における各カメラ９３の各入力画像の最適奥行きが時間方向に滑らかに変化するように平滑化（スムージング）処理を行う。また、第十三実施形態では、画像処理システム８００に複数のカメラペアが存在する場合を例に説明する。
【０４３５】
図５６は、第十三実施形態における画像処理装置８０ｂの機能構成を表す概略ブロック図である。画像処理装置８０ｂは、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置８０ｂは、入力画像記憶部８０１、合成情報記憶部８０２、決定部８０３ｂ、最適奥行き記憶部８０４、背景画像記憶部８０５、画像合成部８０６を備える装置として機能する。なお、画像処理装置８０ｂの各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【０４３６】
画像処理装置８０ｂは、決定部８０３に代えて決定部８０３ｂを備える点で画像処理装置８０と構成が異なる。画像処理装置８０ｂは、他の構成については画像処理装置８０と同様である。そのため、画像処理装置８０ｂ全体の説明は省略し、決定部８０３ｂについて説明する。
【０４３７】
決定部８０３ｂは、入力画像記憶部８０１に記憶されているカメラペアの入力画像と、合成情報記憶部８０２に記憶されている合成情報テーブルとを入力とする。決定部８０３ｂは、入力されたカメラペアの入力画像と合成情報テーブルとに基づいて第十一実施形態における決定部８０３と同様の処理を行うことによって各カメラ９３の各入力画像の最適奥行きを決定する。決定部８０３ｂは、決定した最適奥行きを暫定最適奥行きとして最適奥行き記憶部８０４に記憶させる。決定部８０３ｂは、最適奥行き記憶部８０４に記憶されている暫定最適奥行きを入力とする。決定部８０３ｂは、入力された暫定最適奥行きに基づいて、各カメラ９３の暫定最適奥行きを時間方向にスムージングすることによって各時刻における各カメラ９３の各入力画像の最適奥行きを決定する。決定部８０３ｂの具体的な処理について図５７を用いて説明する。
【０４３８】
図５７は、決定部８０３ｂの具体的な処理について説明するための図である。
【０４３９】
図５７において、縦軸は奥行きを表し、横軸は時刻を表す。図５７に示す複数の円は各時刻における暫定最適奥行きを表す。なお、図５７では、あるカメラ９３の各時刻における暫定最適奥行きの例を示している。各時刻において暫定最適奥行きが決定されるため、図５７に示す円９９２のように前後の暫定最適奥行きと大幅にずれている暫定最適奥行きが存在する場合がある。このような場合には、映像として再生すると違和感のある映像になってしまう可能性がある。そこで、決定部８０３ｂは、各時刻における暫定最適奥行きの値を時間軸上に並べてなめらかになるようにスムージングする。例えば、決定部８０３ｂは、多項式近似することによって各時刻における暫定最適奥行きから、映像として再生した場合に違和感が軽減されるような最適奥行きの推定値を求める。図５７に示される線９９３が多項式近似によって得られた各時刻における最適奥行きの推定値である。決定部８０３ｂは、この処理によって得られた各時刻における最適奥行きの推定値をあるカメラ９３の各時刻における最適奥行きとして決定する。そして、決定部８０３ｂは、決定した最適奥行きで、最適奥行き記憶部８０４に記憶されている暫定最適奥行きを上書きすることによって最適奥行きを更新する。
【０４４０】
図５８は、画像処理装置８０ｂの処理の流れを示すフローチャートである。
【０４４１】
決定部８０３ｂは、あるカメラペアのある時刻における入力画像を入力画像記憶部８０１から読み出す（ステップＳ３０１）。次に、決定部８０３ｂは、読み出した入力画像と、合成情報記憶部８０２に記憶されている合成情報テーブルとに基づいてカメラペア奥行き決定処理を行う（ステップＳ３０２）。決定部８０３ｂは、全てのカメラペアの各入力画像の最適奥行きを決定したか否か判定する（ステップＳ３０３）。全てのカメラペアの各入力画像の最適奥行きを決定していない場合（ステップＳ３０３−ＮＯ）、決定部８０３ｂは他のカメラペアを選択する（ステップＳ３０４）。ここで、選択される他のカメラペアは、カメラペア奥行き決定処理が行なわれていないカメラペアである。その後、決定部８０３ｂは、選択した他のカメラペアに対してステップＳ３０１からステップＳ３０２までの処理を実行する。
【０４４２】
一方、全てのカメラペアの各入力画像の最適奥行きを決定した場合（ステップＳ３０３−ＹＥＳ）、決定部８０３ｂは決定したカメラペアの各入力画像の最適奥行きに基づいて各カメラ９３の各入力画像の最適奥行きを決定する（ステップＳ３０５）。その後、決定部８０３ｂは、ステップＳ３０５の処理で決定した各カメラ９３の各入力画像の最適奥行きを暫定最適奥行きとして最適奥行き記憶部８０４に記憶させる（ステップＳ３０６）。決定部８０３ｂは、ステップＳ３０１からステップＳ３０６までの処理を所定の時刻分行ったか否か判定する（ステップＳ３０７）。ステップＳ３０１からステップＳ３０６までの処理を所定の時刻分行っていない場合（ステップＳ３０７−ＮＯ）、決定部８０３ｂはステップＳ３０１以降の処理を繰り返し実行する。
【０４４３】
一方、ステップＳ３０１からステップＳ３０６までの処理を所定の時刻分行った場合（ステップＳ３０７−ＹＥＳ）、決定部８０３ｂは最適奥行き記憶部８０４に記憶されているあるカメラ９３の所定の時刻分の暫定最適奥行きに関して時間方向にスムージングを行う（ステップＳ３０８）。例えば、決定部８０３ｂは、多項式近似することによって所定の時刻分の暫定最適奥行きから、あるカメラ９３の最適奥行きの推定値を求める。その後、決定部８０３ｂは、あるカメラ９３の最適奥行きの推定値をあるカメラ９３の各時刻における最適奥行きとして最適奥行き記憶部８０４に記憶させる（ステップＳ３０９）。決定部８０３ｂは、ステップＳ３０８及びステップＳ３０９の処理を全てのカメラ９３に対して行ったか否か判定する（ステップＳ３１０）。ステップＳ３０８及びステップＳ３０９の処理を全てのカメラ９３に対して行っていない場合（ステップＳ３１０−ＮＯ）、決定部８０３ｂはステップＳ３０８及びステップＳ３０９の処理を全てのカメラに対して行うまで処理を繰り返し実行する。
【０４４４】
一方、ステップＳ３０８及びステップＳ３０９の処理を全てのカメラ９３に対して行った場合（ステップＳ３１０−ＹＥＳ）、画像合成部８０６は画像合成処理ステップを実行する（ステップＳ３１１）。
【０４４５】
以上のように構成された画像処理装置８０ｂによれば、各時刻における入力画像を用いてそれぞれ生成された仮想全天球画像を映像で出力する場合に生じる可能性がある違和感を軽減することが可能になる。以下、この効果について詳細に説明する。
【０４４６】
画像処理装置８０ｂは、各時刻における暫定最適奥行きの情報を用いて、各時刻における最適奥行きの値が滑らかになるようにスムージングを行う。これにより、画像処理装置８０ｂは、ある時刻における最適奥行きが他の最適奥行きと大幅にずれている場合であっても前後の時刻における最適奥行きから、大幅にずれている時刻における最適奥行きを補正することができる。そのため、各時刻における入力画像を用いてそれぞれ生成された仮想全天球画像を映像で出力する場合に生じる可能性がある違和感を軽減することが可能になる。
【０４４７】
＜第十三実施形態の変形例＞
画像処理装置８０ｂにおける入力画像記憶部８０１、合成情報記憶部８０２、決定部８０３ｂ及び最適奥行き記憶部８０４は、最適奥行き決定装置として構成されてもよい。
【０４４８】
本実施形態では、決定部８０３ｂが決定部８０３と同様の処理を行うことによって各カメラ９３の各入力画像の最適奥行きを決定する構成を示したが、決定部８０３ｂは決定部８０３ａと同様の処理を行うことによって各カメラ９３の各入力画像の最適奥行きを決定するように構成されてもよい。
【０４４９】
［第十四実施形態］
第十四実施形態では、仮想全天球画像をリアルタイムに映像として出力する場合について説明する。具体的には、第十四実施形態では、ある時刻ｔにおけるカメラ９３の入力画像の最適奥行きを直前の時刻（例えば、時刻ｔ−１、ｔ−２など）の最適奥行きに基づいて決定する。また、第十四実施形態では、画像処理システム８００に複数のカメラペアが存在する場合を例に説明する。
【０４５０】
図５９は、第十四実施形態における画像処理装置８０ｃの機能構成を表す概略ブロック図である。画像処理装置８０ｃは、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置８０ｃは、入力画像記憶部８０１、合成情報記憶部８０２、決定部８０３ｃ、最適奥行き記憶部８０４ｃ、背景画像記憶部８０５、画像合成部８０６を備える装置として機能する。なお、画像処理装置８０ｃの各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【０４５１】
画像処理装置８０ｃは、決定部８０３及び最適奥行き記憶部８０４に代えて決定部８０３ｃ及び最適奥行き記憶部８０４ｃを備える点で画像処理装置８０と構成が異なる。画像処理装置８０ｃは、他の構成については画像処理装置８０と同様である。そのため、画像処理装置８０ｃ全体の説明は省略し、決定部８０３ｃ及び最適奥行き記憶部８０４ｃについて説明する。
【０４５２】
最適奥行き記憶部８０４ｃは、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。最適奥行き記憶部８０４ｃは、最適奥行き情報テーブルを記憶する。第十一実施形態から第十三実施形態における最適奥行き記憶部８０４が記憶する最適奥行き情報テーブルには各時刻における各カメラ９３の各入力画像の最適奥行き情報が登録されていた。それに対して、第十四実施形態における最適奥行き記憶部８０４ｃが記憶する最適奥行き情報テーブルには、処理開始時には現時刻（例えば、リアルタイムに出力する仮想全天球画像を生成する時刻）ｔにおける各カメラ９３の各入力画像の最適奥行き情報は登録（記憶）されておらず、現時刻ｔよりも前の時刻（例えば、時刻ｔ−１、ｔ−２など）における各カメラ９３の各入力画像の最適奥行き情報が登録（記憶）されている。
【０４５３】
決定部８０３ｃは、入力画像記憶部８０１に記憶されているカメラペアの入力画像と、合成情報記憶部８０２に記憶されている合成情報テーブルとを入力とする。決定部８０３ｂは、入力されたカメラペアの入力画像と合成情報テーブルとに基づいて第十一実施形態における決定部８０３と同様の処理を行うことによって各カメラ９３の各入力画像の最適奥行きを決定する。また、決定部８０３ｃは、現時刻ｔより前の時刻（例えば、時刻ｔ−１、ｔ−２など）における最適奥行き情報に基づいて、現時刻ｔにおける最適奥行きを決定する。なお、第十四実施形態では、現時刻ｔより前の時刻の最適奥行き情報に基づいて決定する方法として時系列フィルタの一つであるパーティクルフィルタによる実現方法を説明する。なお，以下の処理において作成するパーティクルの数はＰであるとする。
【０４５４】
図６０は、画像処理装置８０ｃの処理の流れを示すフローチャートである。
【０４５５】
決定部８０３ｃは、時刻ｔに撮影されたカメラペアの入力画像を入力画像記憶部８０１から読み出す（ステップＳ４０１）。なお、処理開始時には、時刻ｔは初期時刻である。初期時刻とは全ての時刻における最初の時刻を設定することが一般的であるが、今回導入しているような時系列フィルタリングの考え方は誤差が蓄積して望ましくない値に収束する場合がある（ドリフトと呼ばれている）。このような場合、適当な条件を満たした時、例えば時刻ｔで最大尤度が閾値以下になった時に時刻ｔ＋１を初期時刻としてもよい。
【０４５６】
決定部８０３ｃは、読み出した入力画像に関して、全ての奥行き（例えば、奥行き１〜奥行きＮ）の中からＰ個の奥行き候補群を選択する（ステップＳ４０２）。初期時刻において全ての奥行きの中からＰ個の奥行きを選択する方法として、ランダムにＰ個選択する方法、又は、全ての奥行きをＰ等分してＰ個選択する方法がある。初期時刻以外では、基本的に前の時刻において選択した奥行き候補群を用いてもよい。決定部８０３ｃは、奥行き候補群のある奥行きについて予測モデルを用いて奥行きの予想値を算出する（ステップＳ４０３）。予測モデルには、等速直線運動や等加速度運動、あるいはランダムウォークなどがある（これは、一般的なパーティクルフィルタの「予測」にあたるステップである。）。
【０４５７】
その後、決定部８０３ｃは、ステップＳ３０３の処理で算出した奥行きの予想値に対して尤度を算出する（ステップＳ４０４）。尤度を求める方法として、ある奥行きに対応する合成情報に基づいて生成された奥行き決定用合成画像の重複領域に対するコントラストなどがある。この場合、コントラストが大きいほど尤度が大きいとする（これは、一般的なパーティクルフィルタの「重み付け」にあたるステップである。）。決定部８０３ｃは、全ての奥行き候補群に対して尤度を算出したか否か判定する（ステップＳ４０５）。全ての奥行き候補群に対して尤度を算出していない場合（ステップＳ４０５−ＮＯ）、決定部８０３ｃは全ての奥行き候補群に対して尤度を算出するまでステップＳ４０２からステップＳ４０４までの処理を繰り返し実行する。
【０４５８】
一方、全ての奥行き候補群に対して尤度を算出した場合（ステップＳ４０５−ＹＥＳ）、決定部８０３ｃはステップＳ４０４の処理で算出した尤度に基づいて時刻ｔにおけるカメラペアの各入力画像の最適奥行きを決定する（ステップＳ４０６）。最適奥行きを求める方法として、尤度の最も大きい奥行きを最適奥行きとして求める方法、尤度の重み付き平均値を最適奥行きとする方法などがある（これは、一般的なパーティクルフィルタの「状態推定」にあたるステップである。）。次に、決定部８０３ｃはステップＳ４０４の処理で算出した尤度に基づいて時刻ｔ＋１の奥行き候補群を選択する（ステップＳ４０７）。尤度に基づいて時刻ｔ＋１の奥行き候補群を選択する方法として、尤度の大きさを用いる方法がある。具体的には、各奥行きについて尤度の大きさに基づいてその奥行き付近で選択する候補の数を変動させる。例えば、尤度の小さい奥行きの近くでは候補をほとんど選択せず、尤度の大きい奥行きの近くでは多くの候補を選択する。この時、候補の合計がＰ個になるようにする（これは、一般的なパーティクルフィルタの「リサンプリング」にあたるステップである。）。
【０４５９】
決定部８０３ｃは、ステップＳ４０１からステップ４０７までの処理を全てのカメラペアに対して行ったか否か判定する（ステップＳ４０８）。ステップＳ４０１からステップ４０７までの処理を全てのカメラペアに対して行っていない場合（ステップＳ４０８−ＮＯ）、決定部８０３ｃはステップ４０１以降の処理を全てのカメラペアに対して行う。
【０４６０】
一方、ステップＳ４０１からステップ４０７までの処理を全てのカメラペアに対して行った場合（ステップＳ４０８−ＹＥＳ）、決定部８０３ｃは時刻ｔにおけるカメラペアの各入力画像の最適奥行きから各カメラ９３の各入力画像の最適奥行きを決定する（ステップＳ４０９）。その後、決定部８０３ｃは、時刻ｔにおける各カメラ９３の各入力画像の最適奥行きを最適奥行き記憶部８０４ｃに記憶させる。その後、画像合成部８０６は、画像合成処理ステップを実行する（ステップＳ４１０）。
【０４６１】
以上のように構成された画像処理装置８０ｃによれば、リアルタイムに各カメラ９３の入力画像の最適奥行きを決定することが可能になる。以下、この効果について詳細に説明する。
【０４６２】
画像処理装置８０ｃは、時刻ｔにおける各カメラ９３の入力画像の最適奥行きを過去の時刻（例えば、直前の時刻）の入力画像の最適奥行きから推定する。具体的には、まず画像処理装置８０ｃは、時刻ｔにおけるカメラペアの各入力画像の奥行きを決定するための奥行き候補群に含まれる奥行きについて予測モデルを用いて奥行きの予想値を算出する。次に、画像処理装置８０ｃは、算出した奥行きの予想値の尤度を算出する。そして、画像処理装置８０ｃは、算出した尤度に基づいて時刻ｔにおけるカメラペアの入力画像の最適奥行きを決定する。その後、画像処理装置８０ｃは、同様の処理を全てのカメラペアの入力画像に対して行う。そのため、リアルタイムに各カメラ９３の入力画像の最適奥行きを決定することが可能になる。
【０４６３】
＜第十四実施形態の変形例＞
画像処理装置８０ｃにおける入力画像記憶部８０１、合成情報記憶部８０２、決定部８０３ｃ及び最適奥行き記憶部８０４ｃは、最適奥行き決定装置として構成されてもよい。
【０４６４】
以下、第十一実施形態から第十四実施形態までの各実施形態に共通する変形例について説明する。
【０４６５】
これらの実施形態は、全天球画像の場合に限らず、複数のカメラ９３で撮影された画像を背景画像に重畳することによって合成画像を生成する場合に適用可能である。
【０４６６】
これらの実施形態では、合成情報テーブルに登録されている幅の値が全てのカメラＩＤで同じであるが、幅の値はカメラＩＤ毎に異なっていてもよいし、一部のカメラＩＤで異なっていてもよい。
【０４６７】
決定部８０３は、１つの入力画像の所定の領域毎にそれぞれ最適奥行きを決定してもよい。
【０４６８】
第十一実施形態から第十四実施形態までの各実施形態により、複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定することが可能となる。
【０４６９】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０４７０】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０４７１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０４７２】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０４７３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０４７４】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2020025320.tif 000017
【図２】
2020025320.tif 000018
【図３】
2020025320.tif 000019
【図４】
2020025320.tif 000020
【図５】
2020025320.tif 000021
【図６】
2020025320.tif 000022
【図７】
2020025320.tif 000023
【図８】
2020025320.tif 000024
【図９】
2020025320.tif 000025
【図１０】
2020025320.tif 000026
【図１１】
2020025320.tif 000027
【図１２】
2020025320.tif 000028
【図１３】
2020025320.tif 000029
【図１４】
2020025320.tif 000030
【図１５】
2020025320.tif 000031
【図１６】
2020025320.tif 000032
【図１７】
2020025320.tif 000033
【図１８】
2020025320.tif 000034
【図１９】
2020025320.tif 000035
【図２０】
2020025320.tif 000036
【図２１】
2020025320.tif 000037
【図２２】
2020025320.tif 000038
【図２３】
2020025320.tif 000039
【図２４】
2020025320.tif 000040
【図２５】
2020025320.tif 000041
【図２６】
2020025320.tif 000042
【図２７】
2020025320.tif 000043
【図２８】
2020025320.tif 000044
【図２９】
2020025320.tif 000045
【図３０】
2020025320.tif 000046
【図３１】
2020025320.tif 000047
【図３２】
2020025320.tif 000048
【図３３】
2020025320.tif 000049
【図３４】
2020025320.tif 000050
【図３５】
2020025320.tif 000051
【図３６】
2020025320.tif 000052
【図３７】
2020025320.tif 000053
【図３８】
2020025320.tif 000054
【図３９】
2020025320.tif 000055
【図４０】
2020025320.tif 000056
【図４１】
2020025320.tif 000057
【図４２】
2020025320.tif 000058
【図４３】
2020025320.tif 000059
【図４４】
2020025320.tif 000060
【図４５】
2020025320.tif 000061
【図４６】
2020025320.tif 000062
【図４７】
2020025320.tif 000063
【図４８】
2020025320.tif 000064
【図４９】
2020025320.tif 000065
【図５０】
2020025320.tif 000066
【図５１】
2020025320.tif 000067
【図５２】
2020025320.tif 000068
【図５３】
2020025320.tif 000069
【図５４】
2020025320.tif 000070
【図５５】
2020025320.tif 000071
【図５６】
2020025320.tif 000072
【図５７】
2020025320.tif 000073
【図５８】
2020025320.tif 000074
【図５９】
2020025320.tif 000075
【図６０】
2020025320.tif 000076
【図６１】
2020025320.tif 000077
【図６２】
2020025320.tif 000078