(57)【要約】      （修正有）【課題】時間とともに変化する仮想カメラの動きを簡単に共有することができる情報処理装置、情報処理方法、及びプログラムを提供する。【解決手段】情報処理装置は、仮想視点の位置及び姿勢の時間変化を表すカメラパス情報を生成するステップＳ３０９と、生成されたカメラパス情報を他の装置に提供するステップＳ３１２を備える。【選択図】図３
2020013470.tif 000002
【特許請求の範囲】
【請求項１】
仮想視点映像の視点を示す仮想視点の位置及び姿勢の時間変化を表すカメラパス情報を生成するパス生成手段と、
前記パス生成手段により生成されたカメラパス情報を他の装置に提供する提供手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記仮想視点映像の視点を示す仮想視点の位置及び姿勢の時間変化を表すカメラパス情報を他の装置から取得するパス取得手段と、
前記パス取得手段により取得されたカメラパス情報に基づいて仮想視点映像を生成する映像生成手段と、
前記映像生成手段により生成された仮想視点映像を表示画面に表示させる表示制御手段と
を有することを特徴とする情報処理装置。
【請求項３】
前記仮想視点映像の生成に用いられる素材データを保持する保持手段から前記素材データを取得する素材取得手段を有し、
前記映像生成手段は、前記パス取得手段により取得されたカメラパス情報に応じた仮想視点映像を、前記素材取得手段により取得された素材データを用いることによって生成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記素材データは、オブジェクトの３次元形状データ、及び、前記オブジェクトのテクスチャデータを含むことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記カメラパス情報は、前記仮想視点の所定時間ごとの位置及び姿勢を有することを特徴とする請求項１乃至４のうち、何れか１項に記載の情報処理装置。
【請求項６】
前記パス生成手段は、カメラパス情報の生成開始に関するユーザ操作の受付に応じて前記カメラパス情報の生成を開始することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記仮想視点の位置及び姿勢を操作する操作手段を有し、
前記パス生成手段は、前記カメラパス情報の生成開始に関するユーザ操作の受付から前記カメラパス情報の生成終了に関するユーザ操作の受付までに応じた期間中における前記操作手段による操作に応じたカメラパス情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記提供手段は、前記カメラパス情報の提供に関するユーザ操作の受付に応じて、前記カメラパス情報を前記他の装置へ提供することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記パス取得手段は、前記カメラパス情報の取得に関するユーザ操作の受付に応じて、前記カメラパス情報を前記他の装置から取得することを特徴とする請求項２に記載の情報処理装置。
【請求項１０】
仮想視点映像の視点を示す仮想視点の位置及び姿勢の時間変化を表すカメラパス情報を生成するパス生成工程と、
前記パス生成工程により生成されたカメラパス情報を他の装置に提供する提供工程と
を有することを特徴とする情報処理方法。
【請求項１１】
前記仮想視点映像の視点を示す仮想視点の位置及び姿勢の時間変化を表すカメラパス情報を他の装置から取得するパス取得工程と、
前記パス取得工程により取得されたカメラパス情報に基づいて仮想視点映像を生成する映像生成工程と、
前記映像生成工程により生成された仮想視点映像を表示画面に表示させる表示制御工程と
を有することを特徴とする情報処理方法。
【請求項１２】
コンピュータを請求項１乃至９のうち何れか１項に記載の情報処理装置の各手段として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は仮想視点映像に関するものである。
【背景技術】
【０００２】
視点の異なる複数のカメラで撮影した映像から仮想視点映像を生成する技術が知られている。ユーザは、仮想カメラの位置、姿勢、及び画角などを変更することで１つのコンテンツ（例えばスポーツの試合）を何度も楽しむことができる。仮想視点映像を生成する際の仮想カメラの位置、姿勢、及び画角などの情報を設定する方法として、ユーザがマウス操作やタッチ操作などを行ってインタラクティブに指定する方法が知られている。
【０００３】
また、特許文献１には、あるユーザが仮想視点映像を表示しているときのある時刻における仮想カメラの位置にユーザ情報を付加して分析することが記載されている。また、特許文献１には、その分析の結果を基に人気の高い仮想カメラの位置をユーザに提示することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２１５８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法では、時間とともに変化する仮想カメラの動きを共有できない。したがって、例えば、パン・チルトやズームイン・アウトや仮想カメラの移動といった、時間とともに変化する仮想カメラの動きを複数のユーザ間で共有することは困難である。また、例えば、時間を止めて注目オブジェクト（例えば特定のスポーツ選手）を中心にして仮想カメラを回すバレットタイムのような動きや、時間ととともにオブジェクトがズームインされるような動きの共有も困難である。また、映像を止めたり、巻き戻したりする時間操作を行うような仮想カメラのカメラワークの共有も困難である。
【０００６】
そこで、本発明では、時間とともに変化する仮想カメラの動きを簡単に共有できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するために、本発明の情報処理装置は、例えば以下の構成を有する。すなわち、仮想視点映像の視点を示す仮想視点の位置及び姿勢の時間変化を表すカメラパス情報を生成するパス生成手段と、前記パス生成手段により生成されたカメラパス情報を他の装置に提供する提供手段とを有する。
【発明の効果】
【０００８】
本発明によれば、時間とともに変化する仮想カメラの動きを簡単に共有できるようになる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置１００のハードウェア構成を示すブロック図。
【図２】情報処理装置１００及び表示制御装置１１３の機能構成を示すブロック図。
【図３】実施形態１の情報処理装置１００における処理の流れを示すフローチャート。
【図４】実施形態１におけるカメラパス情報の例を示す表。
【図５】実施形態１におけるキーフレーム管理情報の例を示す表。
【図６】実施形態１における操作画面の例を示す図。
【図７】実施形態２における再生カメラパスのレコメンドの例を示す図。
【図８】実施形態２の情報処理装置１００における処理の流れを示すフローチャート。
【図９】実施形態２の情報処理装置１００におけるカメラパスレコメンド表示処理の流れを示すフローチャート。
【図１０】実施形態２のデータ制御装置１１３におけるカメラパスレコメンド処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではない。また、同一の構成については、同じ符号を付して説明する。
【００１１】
＜実施形態１＞
実施形態１は、情報処理装置１００が仮想視点映像に関するカメラパス情報を生成、提供、及び取得する例について説明する。また、実施形態１は、情報処理装置１００が他の装置から取得したカメラパス情報に基づいて仮想視点映像を生成する例についても説明する。なお、本実施形態の仮想視点映像は、フィールドを異なる方向から撮影する複数のカメラにより得られた複数の撮影画像に基づいて生成される。また、仮想視点映像は、１又は複数の画像により構成される映像（ビデオ）であり、仮想視点（仮想カメラ）の位置、向き及び画角等に従って生成される映像である。また、本実施形態の仮想視点映像を構成する各画像は、所定の動画圧縮の方式により圧縮されてもよいし、所定の静止画圧縮の方式により圧縮されてもよいし、非圧縮であってもよい。また、本実施形態において、カメラパス情報とは、仮想視点映像の視点（仮想視点）の位置及び姿勢などの時間変化を表す情報である。カメラパス情報の詳細は図４を用いて後述する。
【００１２】
なお、本実施形態では、情報処理装置１００がカメラパス情報の生成、提供、及び取得のすべての機能を有している場合の例を中心に説明するが、これに限らない。例えば、情報処理装置１００は、ユーザ操作に応じて仮想カメラの位置及び姿勢の時間変化を表すカメラパス情報を生成し、そのカメラパス情報を他の装置に提供する機能のみを有していてもよい。また、情報処理装置１００は、ユーザ操作に応じてカメラパス情報を他の装置から取得し、そのカメラパス情報に基づいて仮想視点映像を生成し、その仮想視点映像を表示画面に表示させる表示制御機能のみを有していても良い。なお、情報処理装置１００がカメラパス情報に基づく仮想視点映像を生成するためには、いわゆる素材データが必要である。素材データがどのようなデータであるかは、仮想視点映像を生成するためのアルゴリズムに応じて異なるが、例えば、オブジェクトの３次元形状データとテクスチャデータである。ただし、素材データは、複数のカメラから得られる複数の撮影画像と、各カメラの配置情報であっても良い。本実施形態の情報処理装置１００は、通信ネットワークを介してサーバから素材データを取得し、予めハードディスクドライブ１０５に保存している。ただし、情報処理装置１００による素材データの取得方法は、特定の方法に限るものではない。
【００１３】
本実施形態における情報処理装置１００のシステム構成例について、図１を用いて説明する。同図において、ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３及び／又はハードディスクドライブ（ＨＤＤ）１０５に格納されたプログラムを実行し、システムバス１１２を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。ＨＤＤインタフェイス（Ｉ／Ｆ）１０４は、情報処理装置１００と、ＨＤＤ１０５や光ディスクドライブなどの二次記憶装置とを接続する、例えばシリアルＡＴＡ（ＳＡＴＡ）等のインタフェイスである。ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介した、ＨＤＤ１０５からのデータ読み出し、およびＨＤＤ１０５へのデータ書き込みが可能である。さらにＣＰＵ１０１は、ＨＤＤ１０５に格納されたデータをＲＡＭ１０２に展開する。また、ＣＰＵ１０１は、プログラムの実行により得られたＲＡＭ１０２上の各種データをＨＤＤ１０５に保存することが可能である。入力インタフェイス（Ｉ／Ｆ）１０６は、キーボードやマウス、デジタルカメラ、スキャナなどの入力デバイス１０７と情報処理装置１００とを接続する、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェイスである。ＣＰＵ１０１は、入力Ｉ／Ｆ１０６を介して入力デバイス１０７からデータを読み込むことが可能である。出力インタフェイス（Ｉ／Ｆ）１０８は、ディスプレイなどの出力デバイス１０９と情報処理装置１００とを接続する、例えばＤＶＩやＨＤＭＩ（登録商標）等の映像出力インタフェイスである。ＣＰＵ１０１は、出力Ｉ／Ｆ１０８を介して出力デバイス１０９に仮想視点映像に関するデータを送ることで、仮想視点映像の表示を実行させることができる。ネットワークインタフェイス（Ｉ／Ｆ）１１０は、情報処理装置１００と外部サーバ１１１とを接続する、例えばＬＡＮカードなどのネットワークカードである。ＣＰＵ１０１は、ネットワークＩ／Ｆ１１０を介して外部サーバ１１１からデータを読み込むことが可能である。
【００１４】
なお、上記の説明では、ＨＤＤ１０５、入力デバイス１０７、及び出力デバイス１０９が情報処理装置１００とは別のデバイスとして構成される例を示した。しかしこの形態に限らない。例えば、情報処理装置１００はスマートフォンなどであっても良く、この場合は、入力デバイス１０７（タッチパネル）や出力デバイス１０９（表示スクリーン）は、情報処理装置１００と一体である。また、ＨＤＤ１０５内蔵のデバイスを情報処理装置１００として用いることも可能である。また、図１にて示した構成のすべてが必須の構成とは限らない。例えば、ＨＤＤ１０５に記憶された仮想視点映像を再生する場合、外部サーバ１１１は不要である。逆に、外部サーバ１１１から取得した仮想視点映像を生成する場合、ＨＤＤ１０５は不要である。また、情報処理装置１００が複数のＣＰＵ１０１を有してもよい。また、ＣＰＵ１０１とは異なる専用の１又は複数のハードウェアやＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有し、ＣＰＵ１０１による処理の少なくとも一部をＧＰＵや専用のハードウェアが行うようにしてもよい。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、およびＤＳＰ（デジタルシグナルプロセッサ）などがある。
【００１５】
以下、本実施形態の情報処理装置１００が行う処理の流れについて、図２と図３とを参照して説明する。図２は、本実施形態における情報処理装置１００の機能構成を示すブロック図である。ＣＰＵ１０１は、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで、図２に示す情報処理装置１００内部の各機能ブロックの役割を果たす。なお、図２の操作部２０１及び表示部２０７は、図１の入力デバイス１０７及び出力デバイス１０９にそれぞれ対応する。また、ＣＰＵ１０１が情報処理装置１００内部の全ての機能ブロックの役割を果たす必要はなく、各機能ブロックに対応する専用の処理回路を設けるようにしてもよい。
【００１６】
図３は本実施形態の情報処理装置１００の動作の流れを示すフローチャートである。図３を用いて説明する各処理は、情報処理装置１００が備えるＣＰＵ１０１が、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで実現される。
【００１７】
Ｓ３０１において、操作部２０１はユーザ操作に応じた操作データを受け付ける。操作画面の例を図６に示す。操作部２０１が操作データとして（１）仮想カメラの位置、姿勢、又は画角などの操作に関するデータを受け付けた場合、又は（２）映像制御ボタン６０１〜６０４により表されるような映像制御に関するデータを受け付けた場合はＳ３０２に進む。また、ユーザ操作を受け付けなかった場合も、Ｓ３０２に進む。
【００１８】
Ｓ３０１において、操作部２０１が操作データとしてカメラパス記録開始ボタン６０５により表されるようなカメラパス生成開始に関するデータを受け付けた場合、Ｓ３０９に進む。操作部２０１が操作データとしてカメラパス記録停止ボタン６０６により表されるようなカメラパス生成終了に関するデータを受け付けた場合、Ｓ３１０に進む。操作部２０１が操作データとしてカメラパスアップロードボタン６０８により表されるようなカメラパスアップロード（カメラパス情報の提供）に関するデータである場合、Ｓ３１１に進む。操作部２０１が操作データとしてカメラパス再生ボタン６０７により表されるようなカメラパス情報の選択に関するデータを受け付けた場合、Ｓ３１３に進む。
【００１９】
本実施形態においてカメラパス情報とは、特定のカメラワークを再現するためのパラメータの集合であり、仮想視点の所定時間ごとの位置及び姿勢に関する情報を含んでいる。カメラパス情報の例を図４に示す。図４に示すようにカメラパス情報は、キーフレーム番号、動画ＩＤ、カメラパス時刻、動画時刻、及び、カメラパラメータを含む。
【００２０】
キーフレーム番号は、カメラパスにおけるキーフレームの時系列の順番を表す情報である。なおキーフレームは、動画コンテンツ（例えばサッカーの試合のビデオ）に含まれる各画像（フレーム）であっても良いし、例えば１秒ごとの画像（フレーム）であっても良い。
【００２１】
動画ＩＤは、動画コンテンツを識別するための識別情報である。また、カメラパス時刻は、カメラパスの開始から各キーフレームまでの時間を表す情報である。そして、動画時刻は、各キーフレームが示す動画コンテンツの開始からの時間を表す情報である。また、カメラパラメータは、仮想カメラの位置、姿勢、及び画角を表す情報である。つまり、図４のカメラパス情報は、動画ＩＤ＝３により識別される動画コンテンツの開始から０．０１６秒後〜０．０６５秒後までの期間中における仮想カメラの位置及び姿勢の時間的変化を表している。
【００２２】
本実施形態において、カメラパラメータは、仮想カメラの外部パラメータと内部パラメータに分類可能である。仮想カメラの外部パラメータは、仮想カメラの位置及び姿勢を表すパラメータである。また、仮想カメラの内部パラメータは、仮想カメラの光学的な特性を表すパラメータである。本実施形態の外部パラメータは、仮想カメラの３次元位置（Ｘ、Ｙ、Ｚ）と、仮想カメラの姿勢（ｙａｗ，ｐｉｔｃｈ，ｒｏｌｌ）を表現する。また、内部パラメータは画角θを表現する。なお、カメラパラメータの表現方法はこれに限らない。例えば、仮想カメラの外部パラメータを行列により表してもよい。また、外部パラメータと内部パラメータは上述のものに限らない。例えば、仮想カメラの焦点距離や光軸位置や歪曲、基準の焦点距離とズーム倍率、被写界深度を調整するためのフォーカス位置や距離に応じたぼけ量や出力画素数、アスペクトを表す情報が仮想カメラの内部パラメータに含まれていてもよい。なお、画角及びアスペクト情報、又は、縦方向及び横方向の画角をカメラパラメータとして利用すれば、カメラパス情報の生成端末と、当該カメラパス情報を利用する利用端末とのアスペクト比や画素数の差異をキャンセルできる。また、図４の例では位置、姿勢、及び画角がカメラパラメータに含まれているが、すべての情報が必須というわけではない。例えば、画角が固定であることが予めわかっていれば、画角の情報はカメラパス情報に含まれていなくても良い。
【００２３】
カメラパス情報の生成には、カメラパス管理部２０５によって保持されるキーフレーム管理情報が利用される。キーフレーム管理情報の例を図５に示す。キーフレーム管理情報は情報処理装置１００が仮想視点映像を再生しているときの仮想カメラのカメラパラメータや映像に関する情報を含む。より具体的には、キーフレーム管理情報は、キーフレーム番号、動画ＩＤ、キーフレーム時刻、動画時刻、及び、カメラパラメータを含む。キーフレーム番号、動画ＩＤ、動画時刻、及び、カメラパラメータについてはカメラパス情報において説明した通りである。キーフレーム時刻は、ユーザ操作に応じてキーフレームが保存されたときの時刻を示す情報である。情報処理装置１００のカメラパス管理部２０５は、キーフレーム管理情報からカメラパス情報に関連するキーフレーム番号を特定し、そのキーフレーム番号を修正してカメラパス情報を生成する。また、カメラパス管理部２０５は、カメラパス情報を生成する際は、図５のキーフレーム時刻をカメラパス時刻に変更する処理を行う。
【００２４】
Ｓ３０２において、時間制御部２０２は、操作部２０１から取得したユーザ操作に基づいて動画時刻を取得し、その結果を仮想視点映像データ取得部２０３及び／又はカメラパス管理部２０５に出力する。動画時刻とは、動画コンテンツ（例えばスポーツの試合のビデオ）の開始を０秒としたときの経過時間を表す情報である。例えば、ユーザが図６に示すシークバー６０９上のある位置（動画コンテンツの開始から５分１５秒経過した位置）を指定した場合、時間制御部２０２は動画時刻（５分１５秒）を仮想視点映像データ取得部２０３及び／又はカメラパス管理部２０５に出力する。
【００２５】
ただし、時間制御部２０２は、シークバー６０９に限らず、図６の映像再生ボタン６０３、映像一時停止ボタン６０２、映像巻き戻しボタン６０１、及び、早送りボタン６０４などに対するユーザ操作に応じた動画時刻を出力することもできる。また、ユーザ操作が行われていない場合にも、動画時刻の取得及び出力は継続的に実行される。
【００２６】
なお、情報処理装置１００が予め設定されたカメラパス情報に基づく仮想視点映像を再生中でなければ、時間制御部２０２は、動画コンテンツの開始を０秒としたときの経過時間を動画時刻として仮想視点映像データ取得部２０３に出力する。
【００２７】
一方、情報処理装置１００が予め設定されたカメラパス情報に基づく仮想視点映像を再生中であれば、時間制御部２０２は、Ｓ３０２の時点において再生中のフレームに基づいてカメラパス情報から動画時刻を取得する。そして、時間制御部２０２は、その動画時刻を仮想視点映像データ取得部２０３及びカメラパス管理部２０５に出力する。なお、時間制御部２０２は、Ｓ３０２の時点において再生しているフレームのカメラパス時刻を挟む２つのキーフレームを識別し、その２つのキーフレームの動画時刻を線形補間することで動画時刻を取得しても良い。線形補間を行うことで、カメラパス情報を生成する生成端末とカメラパス情報を利用する利用端末とにおけるフレームレートの差異をキャンセルできる。ただし、生成端末と利用端末におけるフレームレートが一致していることが予めわかっているときなどは線形補間の処理は不要である。
【００２８】
また、Ｓ３０２の時点において再生しているフレームのカメラパス時刻がカメラパス情報における最後のキーフレームのカメラパス時刻に達したときは、カメラパス情報に基づく仮想視点映像の再生が停止される。そして、時間制御部２０２は、Ｓ３０２の時点において再生されるフレームに対応する動画時刻を仮想視点映像データ取得部２０３に出力する。
【００２９】
Ｓ３０３において、仮想カメラ制御部２０４は、操作部２０１からユーザ操作を取得し、レンダリングに利用するカメラパラメータ（仮想カメラの位置及び姿勢など）をカメラパス管理部２０５及び／又は描画部２０７に出力する。なお、カメラパス情報に基づく仮想視点映像を再生中であれば、仮想カメラ制御部２０４は、カメラパス管理部２０５からカメラパス情報における現在のカメラパラメータを取得し、それを描画部２０７に出力する。具体的には、カメラパス情報に基づく仮想視点映像を再生中であれば、仮想カメラ制御部２０４は、カメラパス情報の中から次に再生すべきフレームのカメラパラメータを取得し、描画部２０７へ出力する。カメラパス情報はキーフレームごとのデータであるため、次に再生すべきフレームのカメラパス時刻に近いカメラパス時刻をもつキーフレームを特定し、そのキーフレームのカメラパラメータに対して補間処理することでカメラパラメータを計算する。なお、補間方法は近傍の２フレームのカメラパラメータの線形補間やベジェ空間補間などどのような方法でも構わない。カメラパス情報に基づく仮想視点映像を再生中でなければ、仮想カメラ制御部２０４は、操作部２０１を用いた仮想視点の位置及び姿勢などに関するユーザ操作を受付ける。そして、仮想カメラ制御部２０４は、当該ユーザ操作に応じた仮想カメラの位置、姿勢、及び画角などを表すカメラパラメータを生成し、それをカメラパス管理部２０５及び描画部２０７に出力する。
【００３０】
仮想カメラ制御部２０４は、例えば、ユーザがマウスを右方向に動かすと、仮想カメラの姿勢が右方向へ回転するような仮想カメラの外部パラメータを生成する。また、仮想カメラ制御部２０４は、例えば、ユーザがマウスを上方向へ動かすと仮想カメラの姿勢が上方向へ回転するような仮想カメラの外部パラメータを生成する。また、仮想カメラ制御部２０４は、ユーザがマウスホイールを前後させると、仮想カメラの位置が前後するような仮想カメラの外部パラメータを生成する。なお、カメラパス情報に基づく仮想視点映像を再生中であっても、ユーザ操作から導出されるカメラパラメータのうち１つ以上のパラメータを反映させてもよい。
【００３１】
Ｓ３０４において、カメラパス管理部２０５は、仮想カメラのカメラパラメータを仮想カメラ制御部２０４から取得し、動画時刻を時間制御部２０２から取得する。そしてカメラパス管理部２０５は、再生中の動画ＩＤ、動画時刻、仮想カメラのカメラパラメータ、及びキーフレーム時刻（現在の時刻）をキーフレーム番号に関連付けてキーフレーム管理情報に追加する。
【００３２】
Ｓ３０５において、仮想視点映像データ取得部２０３は、仮想視点映像の生成のために必要な素材データ（例えば、仮想視点映像の生成に必要なポリゴンデータ、テクスチャデータなど）をＨＤＤ１０５又はデータ制御装置１１３から取得し描画部２０６に出力する。素材データがデータ制御装置１１３から取得される場合、仮想視点映像データ取得部２０３は通信部２０８及び通信部２０９を経由して、仮想視点映像データ保持部２１１から素材データを取得する。
【００３３】
Ｓ３０６において、描画部２０６は仮想視点映像データ取得部２０３により取得された素材データと仮想カメラ制御部２０４から出力されたカメラパラメータを基に仮想視点映像を生成する。当該生成された仮想視点映像は表示部２０７に出力される。レンダリングに関しては既存の技術を使用できるためここでは詳しく説明を行わない。Ｓ３０７において、表示部２０７は描画部２０６から取得した仮想視点映像を表示する。
【００３４】
Ｓ３０８において、仮想視点映像の再生を終了するか否かが判定される。仮想視点映像の再生を継続すると判定された場合はＳ３０１に戻り、仮想視点映像の再生を終了すると判定された場合は図３の処理を終了する。なお、Ｓ３０８の判定は、典型的には操作部２０１に入力されたユーザ操作の内容に基づいてなされる。
【００３５】
Ｓ３０９において、カメラパス管理部２０５は、カメラパス情報を生成開始する。すなわち、カメラパス管理部２０５は、所定のユーザ操作に応じて、カメラパス情報の生成を開始する。本実施形態のカメラパス管理部２０５は、カメラパス情報の先頭にあたるキーフレームのキーフレーム番号ＳをＲＡＭ１０２又はＨＤＤ１０５に出力する。キーフレーム番号Ｓは、Ｓ３０４においてキーフレーム管理情報に保存されたキーフレーム番号であるものとする。
【００３６】
Ｓ３１０において、カメラパス管理部２０５は、カメラパス情報を生成し、ＲＡＭ１０２及び／又はＨＤＤ１０５に出力する。カメラパス管理部２０５は、キーフレーム番号Ｓに対応するキーフレームＫｓからカメラパス情報の最後にあたるキーフレームＫｅまでのキーフレームＫｉ（ｉ＝ｓ，…，ｅ）に関する情報からカメラパス情報を生成する。ここで、キーフレームＫｅはキーフレーム管理情報に最後に保存されたキーフレームであり、ｅは最後のキーフレームのキーフレーム番号を表す。図４は、図５のキーフレーム管理情報のうち、キーフレーム番号を１〜４の情報を０〜３としたカメラパス情報の例である。
【００３７】
カメラパス情報におけるキーフレームＫ’ｊ（ｊ＝０，…，ｅ−ｓ）の情報はそれぞれ対応するキーフレームを基に導出される。各キーフレームＫ’ｊのキーフレーム番号はｊとし、キーフレームＫ’ｊの情報はキーフレームＫｓ＋ｊに基づいて生成される。Ｋ’ｊのカメラパス時刻はカメラパスの最初のキーフレームＫｓのキーフレーム時刻からキーフレームＫｓ＋ｊのキーフレーム時刻までの経過時間、動画ＩＤ、及び、動画時刻がそのまま設定される。また、Ｋ’ｊのカメラパラメータはキーフレームＫｓ＋ｊのカメラパラメータがそのまま設定される。カメラパス情報は生成カメラパスリストに追加される。このように、本実施形態の情報処理装置１００は、すでに保存されているキーフレームを用いてカメラパス情報を生成することで、視聴映像から必要な範囲の映像を切り出すよりも必要なデータ量を大きく削減できるという効果がある。ただし、キーフレーム管理情報を用いることなくカメラパス情報を生成することも可能である。
【００３８】
Ｓ３１１において、カメラパス管理部２０５は、生成カメラパスリストを表示部２０７に出力し、表示部２０７は生成カメラパスリストを表示する。さらに、カメラパス管理部２０５が、操作部２０１からアップロードするカメラパス情報を選択するユーザ操作を取得し、選択されたカメラパス情報を通信部２０８に出力する。ユーザは表示された生成カメラパスリストから１以上のカメラパス情報をタッチ操作などにより選択する。このように、映像データではなく、カメラパス情報をアップロードすることで少ないデータ通信量で仮想視点映像を共有できるという効果がある。ただし、一部の映像データ（例えば代表画像のサムネイル）をカメラパス情報と共にアップロードするようにしても良い。
【００３９】
Ｓ３１２において、通信部２０８は、ユーザにより選択されたカメラパス情報をデータ制御装置１１３（他の装置）に提供する。データ制御装置１１３の通信部２０９は、通信部２０８からカメラパス情報を取得すると（パス取得処理）、そのカメラパス情報をカメラパス管理部２１０に出力する。また、カメラパス管理部２１０は、通信部２０９からカメラパス情報を取得し、そのカメラパス情報を共有カメラパスリストに追加する。共有カメラパスリストは各ユーザから提供されたカメラパス情報を蓄積したリストである。ユーザはこの共有カメラパスリストに含まれるカメラパス情報をダウンロードすることができる。
【００４０】
Ｓ３１３において、カメラパス管理部２０５は、通信部２０８及び通信部２０９を介してカメラパス管理部２１０から共有カメラパスリストを取得する。そして、カメラパス管理部２０５は、Ｓ３１０において生成された生成カメラパスリストと共有カメラパスリストを表示部２０７に出力する。表示部２０７は、カメラパス管理部２０５から取得した生成カメラパスリスト及び共有カメラパスリストを表示する。
【００４１】
Ｓ３１４において、カメラパス管理部２０５は、操作部２０１を介してユーザにより選択されたカメラパス情報を取得し、そのカメラパス情報に基づく仮想視点映像を生成し（映像生成処理）、それを再生する。ユーザはマウス操作やタッチ操作などによりカメラパス情報を選択可能である。
【００４２】
以上詳細に説明したように、本実施形態の情報処理装置１００は、ユーザによって生成されたカメラパス情報をアップロード（提供）及びダウンロード（取得）する。また、情報処理装置１００は、取得したカメラパス情報に基づく仮想視点映像を生成し、それを表示させる。このような構成により、ユーザは簡易な操作でカメラパス情報を共有することが可能となる。また、仮想視点映像そのものではなくカメラパス情報のみを共有することにより、少ないデータ通信量で効率的にユーザ間において映像を共有できるという効果がある。また、自分が設定したカメラワークの映像を他の人が視聴したり、共有された様々なカメラワークの中から所望のカメラワークを選択したりできるようになる。
【００４３】
＜実施形態２＞
実施形態２について、実施形態１との差異を中心に説明する。実施形態１では、カメラパスリストの中からユーザがカメラパス情報を選択する例を説明した。本実施形態では、データ制御装置１１３が複数のカメラパスの中から１又は複数のカメラパスをレコメンド（推奨）し、ユーザはそのレコメンドされた１又は複数のカメラパスの中から所望のカメラパスを選択する例を説明する。実施形態２の情報処理装置１００の構成は図１と図２に示した通りであるため、図１と図２の符号を引用して実施形態２の説明を行う。
【００４４】
本実施形態ではレコメンドすべきカメラパスの決定方法について詳細に説明する。大量のカメラパスが共有されている場合、その中から所望のカメラパスをユーザが選択することは困難である。そこで、本実施形態のデータ制御装置１１３は、現在再生されている仮想視点映像のカメラパラメータに基づいてカメラパスのレコメンドを行う。なお、情報処理装置１００がカメラパスのレコメンドを行うようにしても良い。
【００４５】
図７に映像の再生中にカメラパスをレコメンドする例を示す。これまでにユーザが視聴していたカメラワークに類似するカメラワークのカメラパスがレコメンドされることで、ユーザは、カメラ操作を行わなくても似たようなカメラワークの映像の視聴を続けることができる。なお、過去のカメラワークに類似するカメラワークをレコメンドするという考え方は、基本的に同一ユーザが好むカメラワークは大きく変化しないという想定に基づいている。つまり、途中まであるカメラワークの映像を視聴している場合、そのあとも似たようなカメラワークで映像を視聴したいと考える可能性が高いことを前提としている。例えば、ユーザが特定の選手をよく映したカメラワークで仮想視点映像を表示させている場合、類似したカメラパスをレコメンドすることで、ユーザは映像の残りの時間において煩雑な操作をしなくともその選手がよく映っている仮想視点映像を視聴できる。
【００４６】
ただし、レコメンドするカメラパスの決定方法は上述の方法に限らない。例えば、試合中に特定のイベントが起きた場合、ユーザが設定したカメラパスとは異なる視点から当該イベントを映すカメラパスをレコメンドすることで、様々な視点からのリプレイ映像を簡単に再生することができる。データ制御装置１１３は、例えばサッカーの試合において、ユーザが俯瞰視点でゴールシーンを再生していた場合、シュートを打った選手の視点の映像や、ゴールキーパーの視点の映像が再生できるようにカメラパスをレコメンドする。これにより、ユーザはゴールシーンを様々なカメラワークに基づいて簡単に視聴できる。
【００４７】
また、データ制御装置１１３は、イベント発生時に、ユーザが別の方向に仮想カメラを向けて視聴していたためにイベントを見逃してしまった場合、再生終了後やイベント終了後にユーザに見逃していたシーンを視聴できるカメラパスをレコメンドする。これにより、ユーザが見逃してしまったイベントを簡単に視聴できる。また、データ制御装置１１３は、他の多くのユーザにより選択されているカメラパスをレコメンドしても良い。このようにすれば、ユーザは他の人によく見られている映像を視聴できるため、映像体験を共有しやすくなる。
【００４８】
本実施形態の情報処理装置１００が行う処理の流れについて、図２と図８とを参照して説明する。図２は、本実施形態における情報処理装置１００の機能構成を示すブロック図である。ＣＰＵ１０１は、ＲＯＭ１０３又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで、図２に示す各機能ブロックとしての役割を果たす。
【００４９】
図８は本実施形態の情報処理装置１００の動作の流れを示すフローチャートである。図８を用いて説明する各処理は、情報処理装置１００が備えるＣＰＵ１０１が、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで実現される。Ｓ８０１〜Ｓ８０８までは実施形態１のＳ３０１〜Ｓ３０８の処理と同様であるため省略する。また、図８のフローチャートには図３にあるＳ３０９〜Ｓ３１４の処理は記載していないが、Ｓ３０９〜Ｓ３１４と同様の処理を追加しても構わない。
【００５０】
Ｓ８０９において、カメラパス管理部２０５は通信部２０８と通信部２０９を経由して、カメラパス管理部２１０からカメラパスレコメンドリスト（推奨パスリスト）を取得し、表示部２０７に出力する。表示部２０７はカメラパスレコメンドリストを表示する。カメラパスレコメンドリストを取得する処理及び計算する処理については後で詳しく述べる。
【００５１】
Ｓ８１０において、カメラパス管理部２０５は、操作部２０１を介して受け付けたユーザ操作を基に、カメラパスレコメンドリストから選択されたカメラパスを特定し、そのカメラパスに基づく仮想視点映像を再生させる。ユーザはマウス操作やタッチ操作などによりカメラパスを選択できる。
【００５２】
＜カメラパスレコメンドリスト（推奨パスリスト）の取得＞
カメラパスレコメンドリストの取得は図８のＳ８０９において開始される。カメラパスレコメンドリストの取得処理について、図９のフローチャートを用いて詳細を説明する。図９を用いて説明する各処理は、情報処理装置１００が備えるＣＰＵ１０１が、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで実現される。
【００５３】
Ｓ９０１において、カメラパス管理部２０５は、通信部２０８及び通信部２０９を経由してカメラパス管理部２１０にカメラパスレコメンドリストの取得要求を出力する。取得要求には再生前、再生中、イベント終了後、及び、再生終了後のうち、現在の映像の再生状態を選択して付加するようにしても良い。イベント終了の判定には、イベントデータを利用する。イベントデータはイベント開始時刻及びイベント終了時刻を含むデータで、Ｓ８０５で取得する仮想視点映像データに含まれている。
【００５４】
Ｓ９０２において、カメラパス管理部２０５は、アップロードするカメラパスを生成し、通信部２０８及び通信部２０９を経由してカメラパス管理部２１０に出力する。アップロードされるカメラパス情報は、再生状態に応じて長さが異なる。再生状態が再生前であればキーフレームが存在しないため、カメラパス情報は生成されない。再生状態が再生中または、再生終了後であれば、映像再生時から現在までのキーフレームからカメラパス情報が生成される。イベント終了後であれば、イベントの開始時刻からイベントの終了時刻までのキーフレームからカメラパス情報が生成される。
【００５５】
Ｓ９０３において、カメラパス管理部２０５は、通信部２０８からカメラパスレコメンドリストを取得できたか判定する。カメラパスレコメンドリストを取得できなければ、Ｓ９０３へ進む。カメラパスレコメンドリストを取得できればＳ９０４へ進む。
【００５６】
Ｓ９０４において、カメラパス管理部２０５はカメラパスレコメンドリストを表示部２０７に出力する。表示部２０７はカメラパスレコメンドリストを表示する。
【００５７】
＜カメラパスレコメンドリストの生成＞
カメラパスレコメンドリストの生成処理について、図１０のフローチャートを用いて詳細を説明する。図１０を用いて説明する各処理は、データ制御装置１１３が備える外部サーバ１１１で実行することで実現される。なお、カメラパスレコメンドリストの生成処理が情報処理装置１００により行われても良い。
【００５８】
Ｓ１００１において、カメラパス管理部２１０は、通信部２０９からカメラパスレコメンドリスト取得要求を取得したか判定する。カメラパスレコメンドリスト取得要求を取得していない場合は、Ｓ１００１へ進む。カメラパスレコメンドリスト取得要求を取得した場合は、Ｓ１００２へ進む。
【００５９】
Ｓ１００２において、カメラパス管理部２１０は、通信部２０９から取得したカメラパスレコメンドリスト取得要求に含まれる映像の再生状態の情報に基づいてレコメンドするカメラパスの種類を選択する。選択方法の一例として、カメラパス管理部２１０は、映像の再生状態が再生中であれば、ユーザがアップロードしたカメラパスに類似したカメラワークの「類似カメラパス」を選択する。また、映像の再生状態がイベント終了後であれば、カメラパス管理部２１０は、「別視点カメラパス」と「見逃しイベントカメラパス」の何れか又は両方を選択する。「別視点カメラパス」は、ユーザがアップロードしたカメラパスとは別の視点からオブジェクトを撮影するカメラパスである。また、「見逃しイベントカメラパス」は、ユーザがアップロードしたカメラパスが見逃しているイベントを撮影するカメラパスである。映像の再生状態が再生終了後であれば、「類似カメラパス」、「見逃しイベントカメラパス」、「別視点カメラパス」の少なくとも何れか１つを選択する。映像の再生状態が再生中であれば、「人気のカメラパス」を選択する。なお、選択方法はこれに限らない。また、情報処理装置１００がカメラパスを選択するようにしても良い。
【００６０】
Ｓ１００３において、カメラパス管理部２０５は、通信部２０９からユーザがアップロードしたカメラパス情報を取得できたか判定する。カメラパス情報を取得できたか、映像の再生状態が再生前であれば、Ｓ１００４へ進む。カメラパスを取得できなければ、Ｓ１００３へ進む。
【００６１】
Ｓ１００４において、カメラパス管理部２１０は、通信部２０９から取得したカメラパス情報に基づいて、共有カメラパスリストからレコメンドするカメラパスを抽出してカメラパスレコメンドリストを生成する。レコメンドするカメラパスの種類はＳ１００２で選択された類似カメラパス、別視点カメラパス、見逃しイベントカメラパス、人気のカメラパスのうちの１つ以上のカメラパスである。レコメンドするカメラパスは、共有カメラパスリストに含まれるカメラパスのうち、評価が高いカメラパスである。それぞれの種類において評価の高い複数のカメラパスがカメラパスレコメンドリストに追加されるようにしても良い。評価値の導出方法はレコメンドするカメラパスの種類によって異ならせることができる。また、評価値はユーザがアップロードしたカメラパスＣｕと、カメラパスＣｕと同じ映像ＩＤを持つＮ個のカメラパスＣｓｉ（ｉ＝０，…，Ｎ−１）のみで導出されても良い。カメラパス間の評価値は、各キーフレーム間で計算した評価値の重みづけ和とすることができる。カメラパスＣｕとＣｓｉは、キーフレーム数やサンプリング間隔、カメラパスの長さが異なる場合、映像の時間を基準にして一定の時間間隔でカメラパスＣｕとＣｓｉからキーフレームをサンプリングすることでキーフレーム数と映像時刻を一致させることができる。なお、ここではキーフレームを一定間隔でサンプリングしてキーフレーム同士の比較を行うことで、カメラパス同士の比較を行う方法について説明したが、ＤＰマッチングなどの系列データを比較する手法を用いて評価値を導出してもよい。また、各キーフレーム間の評価値の重みづけ和をカメラパス同士の評価値として説明したが、平均や中央値などを用いて評価値が導出されるようにしても良い。
【００６２】
類似カメラパスは、カメラパスＣｓｉのうちユーザがアップロードしたカメラパスＣｕに最も類似したカメラパスである。ここでは、同じオブジェクトを同じ方向から撮影しているカメラパスを類似しているとする。キーフレーム間の類似度はカメラパスＣｕのキーフレームとカメラパスＣｓｉのキーフレームにおけるカメラの各パラメータ（位置、姿勢及び画角）の距離の逆数の重み付け和で導出できる。例えば各パラメータの距離はパラメータの差のＬ２ノルムを使用する。なお、類似度はカメラパラメータの距離の逆数に限るものではない。例えば、カメラに映るオブジェクトのオブジェクトＩＤの集合の一致度や撮影対象がグラウンドで行われる競技であればグラウンド面における撮影範囲の一致度、仮想カメラで撮影される画像の画素値や特徴量の比較により類似度が導出されても良い。オブジェクトＩＤの集合の一致度は、Ｄｉｃｅ係数やＪａｃｃａｒｄ係数、Ｓｉｍｐｓｏｎ係数などが利用できる。
【００６３】
別視点カメラパスは、カメラパスＣｓｉのうちユーザがアップロードしたカメラパスＣｕと同じ被写体を別視点から撮影したカメラパスである。カメラパス間の評価値はオブジェクトの類似度とカメラパラメータの相違度の重みづけ和で導出できる。別視点カメラパスはカメラパスＣｕに対する評価値が高いカメラパスである。オブジェクトの類似度には、カメラに映るオブジェクトの識別情報（オブジェクトＩＤ）の集合の一致度などを利用する。カメラパラメータの相違度は、カメラの位置、姿勢及び画角の各パラメータの距離の重み付け和で導出できる。例えば各パラメータ間の距離は各パラメータの差のＬ２ノルムを使用できる。
【００６４】
見逃しイベントカメラパスは、カメラパスＣｓｉによる視聴ではイベント発生領域を視聴できない場合に、そのイベントを撮影しているカメラパスである。評価値はカメラパスのうちユーザがアップロードしたカメラパスＣｕが撮影していないイベントの発生区間のキーフレームのみで導出できる。すなわち、イベント発生区間以外の評価値の重みを０にする。評価値はイベント発生領域に含まれるオブジェクトＩＤの集合とカメラに映るオブジェクトの識別情報（オブジェクトＩＤ）の集合の一致度とすることができる。なお、撮影対象がグラウンドで行われる競技であればグラウンド面における撮影範囲の一致度を利用してもよい。
【００６５】
人気のパスは、アップロードされたカメラパスに関係なく、共有パスの中から再生数の多いカメラパスである。評価値にはカメラパスＣｓｉの再生数を用いることができる。Ｓ１００５では、カメラパス管理部２１０が、カメラパスレコメンドリストを通信部２０９へ出力する。
【００６６】
以上説明したように、本実施形態の情報処理装置１００及びデータ制御装置１１３は、映像の再生状態と視聴中のカメラパスに基づいて、カメラパスのレコメンドを行う。ユーザの視聴状態に合わせてカメラパスをレコメンドすることで、ユーザは簡易な操作で所望のカメラワークの映像を視聴できる。
【００６７】
＜その他の実施形態＞
本発明の実施形態は、上記の実施形態に限られるものではなく、様々な実施形態をとることが可能である。例えば、上述の実施形態では、カメラパス生成終了後にカメラパスの保存及びアップロードを行ったが、カメラパスを生成開始時にアップロードを開始し、各キーフレーム保存時にキーフレームのアップロードを行ってもよい。これにより、カメラパスをリアルタイムでアップロードでき、他のユーザとリアルタイムでカメラワークや視聴している映像を共有することができる。
【００６８】
また、上述の実施形態では、カメラパスの生成はカメラパス生成開始操作及びカメラパス生成終了操作によって行うとしたが、任意のタイミングでキーフレーム開始番号とキーフレーム終了番号を入力してカメラパスを生成してもよい。これにより、後から映像の中の一部のシーンを切り出してカメラパスを生成することができる。また、複数のキーフレーム開始番号とキーフレーム終了番号を入力して、複数の映像区間をつなげたものをカメラパスとして生成できるようにしてもよい。
【００６９】
また、上述の実施形態では、再生するカメラパスのレコメンドについて説明したが、カメラパスのアップロードについても同様に、イベント終了後や再生終了後にユーザにカメラパスをアップロードするようにレコメンドを行ってもよい。例えば、サッカーの映像において、シュートシーンの終了後に、「今のシュートシーンを視聴したカメラパスをアップロードしますか？」といったメッセージとともに「アップロード」ボタンを表示する。ユーザによりアップロード操作が行われたら、イベント区間のカメラパスを生成してアップロードする。レコメンドによりアップロードするカメラパスはキーフレーム管理情報からイベント開始時のキーフレームからイベント終了時のキーフレームまでのキーフレームから生成する。
【００７０】
また、上述の実施形態では、１つの仮想視点映像からカメラパスを生成してアップロードするとしたが、複数の仮想視点映像からカメラパスを生成してもよい。複数の仮想視点映像からカメラパスを生成することで、サッカーのゴール集のような特定のシーンを集めた映像を視聴可能なカメラパスを実現できる。
【００７１】
また、上述の実施形態では、１つのカメラパスを再生して仮想視点映像を表示していたが、複数のカメラパスを選択して、分割した画面で複数のカメラパスを同時に表示してもよい。このとき、表示する映像の時刻をそろえるために、特定のカメラパスの映像時刻に合わせるように他のカメラパスの再生速度の調整や一時停止をして、同じシーンを異なる視点から同時に視聴できるようにしてもよい。
【００７２】
また、上述の実施形態では、カメラパス情報はオブジェクトの情報を含んでいなかったが、レンダリングにおける被写体の透過度などの情報を含め、再生時に反映してもよい。カメラパスによっては、注目している被写体と仮想カメラの間に表示したくない被写体が映ってしまい、所望のカメラワークが生成できない場合がある。その際に表示したくない被写体の透過度を高くすることで、注目する被写体を表示することができるなど、所望のカメラワークを生成しやすくなる。
【００７３】
また、上述の実施形態では、キーフレームの保存は一定間隔で行われるとしたが、ユーザ操作によりキーフレームを保存するタイミングが変化するようにしても良い。これにより、カメラパス情報の生成のために、様々なカメラパラメータで映像を比較して、気に入ったキーフームのみからなるカメラパス情報を生成することができる。
【００７４】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７５】
１００  情報処理装置
２０１  操作部
２０２  時間制御部
２０３  仮想視点映像データ取得部
２０４  仮想カメラ制御部
２０５  カメラパス管理部
２０６  描画部
【図１】
2020013470.tif 000003
【図２】
2020013470.tif 000004
【図３】
2020013470.tif 000005
【図４】
2020013470.tif 000006
【図５】
2020013470.tif 000007
【図６】
2020013470.tif 000008
【図７】
2020013470.tif 000009
【図８】
2020013470.tif 000010
【図９】
2020013470.tif 000011
【図１０】
2020013470.tif 000012