(57)【要約】      （修正有）【課題】プリレンダリングモードとリアルタイムモードとを切り替え可能にする表示制御装置及び表示制御方法を提供する。【解決手段】表示制御装置において、視点制御部２０７は、仮想視点の位置及び姿勢に関するユーザ操作を受け付ける。描画モード制御部２０４は、予め定められた仮想視点の移動経路に従って生成された仮想視点映像を表示させる第１モードから、仮想視点に関するユーザ操作に応じた仮想視点映像を表示させる第２モードへ切り替えるための切替処理を所定のユーザ操作に応じて実行する。【選択図】図２
2019028652.tif 000002
【特許請求の範囲】
【請求項１】
フィールドを異なる方向から撮影する複数のカメラにより得られる複数の撮影画像に基づいて生成される仮想視点映像の表示を制御する表示制御装置であって、
仮想視点の位置及び姿勢の操作を受け付ける受付手段と、
予め定められた仮想視点の移動経路に従って生成された仮想視点映像を表示させる第１モードから、前記受付手段により受け付けられた仮想視点の操作に応じた仮想視点映像を表示させる第２モードへ切り替えるための切替処理を所定のユーザ操作に応じて実行する切替手段とを有する表示制御装置。
【請求項２】
前記所定のユーザ操作とは、前記仮想視点の位置及び姿勢の変更に関するユーザ操作である請求項１に記載の表示制御装置。
【請求項３】
前記所定のユーザ操作とは、前記第１モードから前記第２モードへの変更指示である請求項１に記載の表示制御装置。
【請求項４】
前記切替手段は、前記所定のユーザ操作として、前記仮想視点の位置及び姿勢のうち少なくとも一方の変化量が閾値以上となるユーザ操作を前記受付手段が受け付けた場合、前記第１モードから前記第２モードへ切り替える請求項１又は２に記載の表示制御装置。
【請求項５】
前記所定のユーザ操作に応じて前記第１モードから前記第２モードへ切り替えることが決定されたことに応答して、前記フィールド上の所定オブジェクトのポリゴンデータを取得するデータ取得手段と、
前記受付手段により受け付けられた仮想視点の位置及び姿勢に応じた仮想視点映像を、前記データ取得手段により取得されたポリゴンデータを用いることによって生成する生成手段を有する請求項１乃至４のうち、何れか１項に記載の表示制御装置。
【請求項６】
前記切替手段は、前記予め定められた仮想視点の移動経路に従った仮想視点映像を、前記受付手段により受け付けられた仮想視点の位置及び姿勢に基づいて変換することによって生成される変換済み仮想視点映像を表示させる第３モードを、前記第１モードから前記第２モードへの切り替えまでの間の少なくとも一部の期間に設定する請求項５に記載の表示制御装置。
【請求項７】
前記切替手段は、前記所定のユーザ操作に応じた前記第１モードから前記第２モードへの切り替え後におけるユーザ操作に応じて、前記第２モードから前記第１モードへ切り替える請求項１乃至６のうち、何れか１項に記載の表示制御装置。
【請求項８】
前記予め設定された仮想視点の移動経路に従って生成された仮想視点映像をサーバから取得する映像取得手段を有し、
前記第１モードにおいては、前記映像取得手段により前記サーバから取得された仮想視点映像が表示される請求項１乃至７のうち、何れか１項に記載の表示制御装置。
【請求項９】
前記所定のユーザ操作に応じて前記第１モードから前記第２モードへ切り替えることが決定されたことに応答して、前記フィールド上の所定オブジェクトのポリゴンデータを取得するデータ取得手段を有し、
前記切替手段は、前記予め定められた仮想視点の移動経路に基づく仮想視点映像を、前記ポリゴンデータに基づいて生成し、当該生成された仮想視点映像を表示させる第４モードを、前記第２モードから前記第１モードへの切り替えまでの間の少なくとも一部の期間設定する請求項７に記載の表示制御装置。
【請求項１０】
前記仮想視点映像は複数の仮想視点画像により構成され、所定の動画圧縮の方式、静止画圧縮の方式、又は非圧縮の状態で処理される請求項１乃至９のうち、何れか１項に記載の表示制御装置。
【請求項１１】
フィールドを異なる方向から撮影する複数のカメラにより得られる複数の撮影画像に基づいて生成される仮想視点映像の表示を制御する表示制御方法であって、
仮想視点の位置及び姿勢の操作を受け付ける受付工程と、
予め定められた仮想視点の移動経路に従って生成された仮想視点映像が表示画面上に表示される第１状態から、前記受付工程により受け付けられた仮想視点の操作に応じた仮想視点映像が前記表示画面上に表示される第２状態へ切り替えるための切替処理を所定のユーザ操作に応じて実行する切替工程とを有する表示制御方法。
【請求項１２】
前記所定のユーザ操作とは、前記仮想視点の位置及び姿勢の変更に関するユーザ操作である請求項１１に記載の表示制御方法。
【請求項１３】
前記所定のユーザ操作として、前記仮想視点の位置及び姿勢のうち少なくとも一方の変化量が閾値以上となるユーザ操作が前記受付工程において受け付けられた場合、前記切替工程において前記第１モードから前記第２モードへ切り替えられる請求項１１又は１２に記載の表示制御方法。
【請求項１４】
コンピュータを、請求項１乃至１０のうち何れか１項に記載の表示制御装置の各手段として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は仮想視点映像の表示制御方法に関する。
【背景技術】
【０００２】
視点の異なる複数のカメラで撮影した映像から仮想視点映像を生成する技術が知られている。仮想視点映像の生成方法（レンダリング方法）として、予め定められた仮想視点の移動経路に基づいて仮想視点映像を生成しておく方法や、視聴者等により指定された仮想視点の位置及び姿勢等に従って仮想視点映像を生成する方法が知られている。本明細書では、前者の方法をプリレンダリングと呼び、後者の方法をリアルタイムレンダリングと呼ぶことにする。
【０００３】
リアルタイムレンダリングでは、インタラクティブ性の高い映像の視聴を行うことが可能である一方で、画質が低下する可能性があるなどの特徴がある。それに対して、プリレンダリングでは、予め設定された仮想カメラの移動経路に従って仮想視点映像が予め生成されているため、視聴者が視点を操作することができないが、クオリティの高い映像を生成できるなどの特徴がある。表示映像のインタラクティブ性を向上させる方法として、特許文献１には、ユーザが見ている視点の映像に加えて、関連する視点の映像を予め受信しておき、複数視点の映像の切り替えを可能とすることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１８７７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数の視点の映像を切り替えて表示するだけでは、視聴者の選択可能な視点が限られており、視聴者が見たい視点を自由に選ぶことができない。また、常にリアルタイムレンダリングを行うと、画質や処理負荷の課題が発生する。
【０００６】
例えば、リアルタイムレンダリングを行う場合、オブジェクトのポリゴンデータやテクスチャデータなどに基づいて、仮想視点の位置及び姿勢に応じた仮想視点映像をリアルタイムに生成する必要がある。この仮想視点映像の生成処理を視聴者側の端末（例えばスマートフォン）で行う場合、当該端末の処理能力によっては低画質な映像となったり、映像の生成が再生に間に合わなくなったりする恐れがある。また、例えば、サーバにおいて仮想視点映像をリアルタイムに生成する場合、複数のクライアントのそれぞれから仮想視点の位置及び姿勢が指定されるとサーバの処理負荷が膨大になる。このように、リアルタイムレンダリングとプリレンダリングにはそれぞれメリットとデメリットが存在するため、双方のメリットを享受できるような仕組みが望まれる。
【０００７】
そこで本発明では、予め定められた仮想視点の移動経路に従って生成された仮想視点映像を表示させるモードと、仮想視点の操作に応じて仮想視点映像を生成して表示させるモードとを容易に切り替えられるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の表示制御装置は、例えば以下の構成を有する。すなわち、フィールドを異なる方向から撮影する複数のカメラにより得られる複数の撮影画像に基づいて生成される仮想視点映像の表示を制御する表示制御装置であって、仮想視点の位置及び姿勢の操作を受け付ける受付手段と、予め定められた仮想視点の移動経路に従って生成された仮想視点映像を表示させる第１モードから、前記受付手段により受け付けられた仮想視点の操作に応じた仮想視点映像を表示させる第２モードへ切り替えるための切替処理を所定のユーザ操作に応じて実行する切替手段とを有する。
【発明の効果】
【０００９】
本発明によれば、予め定められた仮想視点の移動経路に従って生成された仮想視点映像を表示させるモードと、仮想視点の操作に応じて仮想視点映像を生成して表示させるモードとが容易に切り替えられるようになる。
【図面の簡単な説明】
【００１０】
【図１】表示制御装置１００のハードウェア構成を示すブロック図。
【図２】表示制御装置１００の機能構成を示すブロック図。
【図３】実施形態１の表示制御装置１００における処理の流れを示すフローチャート。
【図４】プリレンダリングモードにおける仮想視点映像の取得の流れを示すフローチャート。
【図５】３Ｄデータ取得の流れを示すフローチャート。
【図６】実施形態２における描画モードの遷移を示す図。
【図７】実施形態２におけるプリレンダリングモードからリアルタイムモードへの切り替えの例を示す図。
【図８】実施形態２におけるプリレンダリングモードからリアルタイムモードへの切り替え中に視点変換モードを加えた例を示す図。
【図９】実施形態２におけるリアルタイムモードからプリレンダリングモードへの切り替えの例を示す図。
【図１０】実施形態２におけるリアルタイムモードからプリレンダリングモードへの切り替え中にパスベースレンダリングモードを加えた例を示す図。
【図１１】実施形態２の表示制御装置１００における処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１２】
＜実施形態１＞
実施形態１は、予め定められた仮想視点の移動経路に従って生成された仮想視点映像を表示させるモードと、ユーザ等により指定された仮想視点の位置及び姿勢等に応じた仮想視点映像を表示させるモードとをユーザ操作に応じて切り替える例について説明する。以下では前者のモードをプリレンダリングモード、後者のモードをリアルタイムモードと呼ぶ。なお、本実施形態において仮想視点映像とは、フィールドを異なる方向から撮影する複数のカメラにより得られた複数の撮影画像に基づいて生成される画像により構成される映像であり、仮想視点（仮想カメラ）の位置及び姿勢等に従って生成される映像である。また、本実施形態の仮想視点映像は、各画像フレームが所定の動画圧縮の方式により圧縮された映像データであっても良いし、各画像フレームが所定の静止画圧縮の方式により圧縮された映像データであっても良いし、非圧縮の映像データであっても良い。
【００１３】
本実施形態における表示制御装置１００のシステム構成例について、図１を用いて説明する。同図において、ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３及び／又はハードディスクドライブ（ＨＤＤ）１０５に格納されたプログラムを実行し、システムバス１１２を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。ＨＤＤインタフェイス（Ｉ／Ｆ）１０４は、表示制御装置１００と、ＨＤＤ１０５や光ディスクドライブなどの二次記憶装置とを接続する、例えばシリアルＡＴＡ（ＳＡＴＡ）等のインタフェイスである。ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介した、ＨＤＤ１０５からのデータ読み出し、およびＨＤＤ１０５へのデータ書き込みが可能である。さらにＣＰＵ１０１は、ＨＤＤ１０５に格納されたデータをＲＡＭ１０２に展開する。また、ＣＰＵ１０１は、プログラムの実行により得られたＲＡＭ１０２上の各種データをＨＤＤ１０５に保存することが可能である。入力インタフェイス（Ｉ／Ｆ）１０６は、キーボードやマウス、デジタルカメラ、スキャナなどの入力デバイス１０７と表示制御装置１００とを接続する、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェイスである。ＣＰＵ１０１は、入力Ｉ／Ｆ１０６を介して入力デバイス１０７からデータを読み込むことが可能である。出力インタフェイス（Ｉ／Ｆ）１０８は、ディスプレイなどの出力デバイス１０９と表示制御装置１００とを接続する、例えばＤＶＩやＨＤＭＩ（登録商標）等の映像出力インタフェイスである。ＣＰＵ１０１は、出力Ｉ／Ｆ１０８を介して出力デバイス１０９に仮想視点映像に係るデータを送ることで、仮想視点映像の表示を実行させることができる。ネットワークインタフェイス（Ｉ／Ｆ）１１０は、表示制御装置１００と外部サーバ１１１とを接続する、例えばＬＡＮカードなどのネットワークカードである。ＣＰＵ１０１は、ネットワークＩ／Ｆ１１０を介して外部サーバ１１１からデータを読み込むことが可能である。
【００１４】
なお、上記の説明では、ＨＤＤ１０５、入力デバイス１０７、及び出力デバイス１０９が表示制御装置１００とは別のデバイスとして構成される例を示した。しかしこの形態に限らない。例えば、表示制御装置１００はスマートフォンなどであっても良く、この場合は、入力デバイス１０７（タッチパネル）や出力デバイス１０９（表示スクリーン）は、表示制御装置１００と一体である。また、ＨＤＤ１０５内蔵のデバイスを表示制御装置１００として用いることも可能である。また、図１にて示した構成のすべてが必須の構成とは限らない。例えば、ＨＤＤ１０５に記憶された仮想視点映像を再生する場合、外部サーバ１１１は不要である。逆に、外部サーバ１１１から取得した仮想視点映像を生成する場合、ＨＤＤ１０５は不要である。また、表示制御装置１００が複数のＣＰＵ１０１を有してもよい。また、ＣＰＵ１０１とは異なる専用の１又は複数のハードウェアやＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有し、ＣＰＵ１０１による処理の少なくとも一部をＧＰＵや専用のハードウェアが行うようにしてもよい。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、およびＤＳＰ（デジタルシグナルプロセッサ）などがある。
【００１５】
以下、本実施形態の表示制御装置１００が行う処理の流れについて、図２と図３とを参照して説明する。図２は、本実施形態における表示制御装置１００の機能構成を示すブロック図である。ＣＰＵ１０１は、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで、図２に示す画像処理装置１００内部の各機能ブロックの役割を果たす。なお、図２の操作部２０１及び表示部２０６は、図１の入力デバイス１０７及び出力デバイス１０９にそれぞれ対応する。また、ＣＰＵ１０１が画像処理装置１００内部の全ての機能ブロックの役割を果たす必要はなく、各機能ブロックに対応する専用の処理回路を設けるようにしてもよい。
【００１６】
図３は本実施形態の表示制御装置１００で行われる処理の流れを示すフローチャートである。図３を用いて説明する各処理は、表示制御装置１００が備えるＣＰＵ１０１が、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで実現される。なお、図３の開始時点においては、表示制御装置１００は、プリレンダリングモードにて動作しているものとする。すなわち、表示制御装置１００は、予め定められた仮想視点の移動経路に従って生成された仮想視点映像を表示させる第１モードにて動作する。
【００１７】
Ｓ３０１では、カメラパラメータ取得部２０８は、ＨＤＤ１０５又は外部サーバ１１１から仮想カメラのパラメータ（カメラパラメータ）の取得を開始する。ここで、カメラパラメータとは、仮想カメラの外部パラメータと内部パラメータを意味する。仮想カメラの外部パラメータとは、仮想カメラの位置及び姿勢を表すパラメータである。また、仮想カメラの内部パラメータとは、仮想カメラの光学的な特性を表すパラメータである。外部パラメータと内部パラメータについてより具体的に説明する。仮想カメラの位置を表すベクトルをｔ，回転を表す行列をＲとすると、仮想カメラの外部パラメータは以下のように表すことができる。
【００１８】
【数１】
2019028652.tif 000003
【００１９】
また、画像の主点位置を（ｃｘ，ｃｙ）、カメラの焦点距離をｆとすると、仮想カメラの内部パラメータＫは以下のように表すことができる。
【００２０】
【数２】
2019028652.tif 000004
【００２１】
なお、カメラパラメータの表現方法は行列以外の表現であってもかまわない。例えば、仮想カメラの位置を３次元座標で表し、仮想カメラの姿勢をｙａｗ、ｒｏｌｌ、及びｐｉｔｃｈの値の羅列によって表すようにしてもよい。また、外部パラメータと内部パラメータは上述のものに限るわけではない。例えば、仮想カメラの姿勢が固定化されており、仮想カメラの位置のみが操作可能なシステムにおいては、仮想カメラの姿勢に関する外部パラメータを取得する必要がない場合もありうる。また、仮想カメラのズーム値を表す情報が仮想カメラの内部パラメータとして取得されるようにしてもよい。このように、Ｓ３０１においてカメラパラメータ取得部２０８が取得を開始する外部パラメータ及び内部パラメータは上述のパラメータに限定されない。また、カメラパラメータの取得開始のタイミングは、上記のタイミングに限定されない。例えば、プリレンダリングモードの実行中においては、カメラパラメータ取得部２０８がカメラパラメータを必ずしも要するわけではない。従って、リアルタイムモードの開始に応じたタイミングで、カメラパラメータの取得が開始されるようにしても良い。
【００２２】
Ｓ３０２では、データ取得部２０３がＨＤＤ１０５又は外部サーバ１１１から動画データ（仮想視点映像）を取得する。Ｓ３０２においては、予め定められた仮想視点の移動経路に従って生成され、ＨＤＤ１０５又はサーバ１１１に格納された仮想視点映像が取得される。データ取得部２０３は、仮想視点映像の取得の停止がリクエストされるまで仮想視点映像を取得し続ける。仮想視点映像の取得フローについては後述する。
【００２３】
Ｓ３０３では、描画モード制御部２０５が仮想視点映像の再生の準備できたか否かを判定する。例えばプリレンダリングモードが設定されている場合、描画モード制御部２０４は、予め生成された仮想視点映像のうち所定枚数の画像フレームの取得が完了していれば仮想視点映像の再生の準備ができたと判定する。また、例えば、リアルタイムモードが設定されている場合、描画モード制御部２０４は、所定時間分の仮想視点映像の生成のために必要なデータ（フィールド上の所定オブジェクトのポリゴンデータやテクスチャデータなど。以下、３Ｄデータと呼ぶ）の取得が完了していれば、仮想視点映像の再生の準備ができたと判定する。描画モード制御部２０５が仮想視点映像の再生の準備が完了していないと判定した場合は、当該準備が完了するまで待機する。再生の準備が完了したと判定された場合はＳ３０４に進む。
【００２４】
Ｓ３０４では、描画部２０５が仮想視点映像を表示部２０６が有する表示画面上に表示させる。プリレンダリングモードにおいては、プリレンダリングされた仮想視点映像がデータ取得部２０３によりＨＤＤ１０５又は外部サーバ１１１から取得される。
【００２５】
Ｓ３０５では、描画モード制御部２０４は、操作部２０１に対するユーザ操作に応じた操作データを取得する。そして、描画モード制御部２０４は、操作データが所定のユーザ操作に関する操作データであった場合、Ｓ３０６に進む。一方、所定のユーザ操作に関する操作データではないと判定された場合、もしくは、Ｓ３０５においてユーザ操作に関する操作データが取得されなかった場合、Ｓ３０４に進む。
【００２６】
つまり、プリレンダリングモード（第１モード）が設定されているときにＳ３０５において所定のユーザ操作に関する操作データが受け付けられた場合、リアルタイムモード（第２モード）へ変更すべくＳ３０６に進む。一方、プリレンダリングモードが設定されているときにＳ３０５において所定のユーザ操作に関する操作データが受け付けられなかった場合は、プリレンダリングモードに基づく仮想視点映像の表示を継続すべくＳ３０４に進む。すなわち描画モード制御部２０４は、プリレンダリングモードから、リアルタイムモードへ切り替えるための切替処理を所定のユーザ操作に応じて実行する。なお本実施形態においてプリレンダリングモードとは、予め定められた仮想視点の移動経路に従って予め生成された仮想視点映像を表示させる描画モードである。また、リアルタイムモードとは視点制御部２０７により受付けられた仮想視点のユーザ操作に応じた仮想視点映像を表示させる描画モードである。
【００２７】
所定のユーザ操作とは、例えば、仮想視点の位置及び姿勢の変更に関するユーザ操作である。当該ユーザ操作は、ユーザが操作部２０１を操作することにより受付けられ、当該ユーザ操作に応じた操作データが描画モード制御部２０４に入力される。このように、プリレンダリングモードにおいて仮想視点映像が表示されている間にユーザが仮想視点の位置及び／又は姿勢を変更する操作を行ったことに応答して、自動でリアルタイムモードに切り替わる。このような構成によれば、ユーザのより直感的な操作によってモードを切り替えることができる。
【００２８】
ただし、所定のユーザ操作とは上記の例に限らない。例えば、仮想カメラの注視位置、仮想カメラの焦点距離、及び仮想カメラの画角などの変更操作であっても良い。また、ユーザが明示的にモード切替えを指示するような変更指示操作を所定のユーザ操作とすることも可能である。例えば、仮想視点画像上にモード切替えボタンを配置し、当該ボタンがユーザによって指示されたことに応答してモードが切り替わるようにしてもよい。また、仮想カメラの位置又は姿勢の変化量が閾値以上である場合に、プリレンダリングモードからリアルタイムモードに切り替えるようにしても良い。Ｓ３０６では、データ取得部２０３が、仮想視点映像の生成のために必要な３Ｄデータ（例えば、仮想視点映像の生成に必要なポリゴンデータ、テクスチャデータなど）をＨＤＤ１０５又は外部サーバ１１１から取得する。すなわちデータ取得部２０３は、所定のユーザ操作に応じてプリレンダリングモードからリアルタイムモードに切り替えることが決定されたことに応答して、３Ｄデータ（ポリゴンデータやテクスチャデータ）を取得する。なおデータ取得部２０３は、３Ｄデータの取得の停止がリクエストされるまで３Ｄデータを取得し続ける。３Ｄデータの取得の詳細なフローについては後述する。
【００２９】
Ｓ３０７では、視点制御部２０７がユーザ操作に応じた仮想カメラのカメラパラメータを生成する。具体的には、視点制御部２０７は、操作部２０１を用いた仮想視点の位置及び姿勢などに関するユーザ操作を受付け、当該ユーザ操作に応じたカメラパラメータを生成する。視点制御部２０７は、例えば、ユーザがマウスを右方向に動かすと、仮想カメラの姿勢が右方向へ回転するような外部パラメータを生成する。また、例えば、マウスを上方向へ動かすと仮想カメラの姿勢が上方向へ変化するような外部パラメータを生成する。そして、視点制御部２０７は、ユーザ操作を反映したカメラパラメータＲ’，Ｋ’を出力する。初めてＳ３０７が実行される際の前フレームのカメラパラメータにはカメラパラメータ取得部２０８から出力されたカメラパラメータが用いられる。
【００３０】
Ｓ３０８では、描画部２０５がデータ取得部２０３により取得された３Ｄデータ（ポリゴンデータやテクスチャデータ）を基に仮想視点映像を生成し、当該生成された仮想視点映像を表示部２０６に出力する。表示部２０６は描画部２０５から取得した仮想視点映像を表示する。リアルタイムレンダリングに関しては既存の技術を使用できるためここでは詳しく説明を行わない。レンダリングの際の仮想カメラの設定は視点制御部２０７から出力されたカメラパラメータを利用する。
【００３１】
Ｓ３０９では、描画モード制御部２０７が、リアルタイムモードからプリレンダリングモードへ切り替えるか判定する。切り替えると判定されなかった場合はＳ３１０に進む。切り替えると判定された場合は、描画モードをプリレンダリングモードへ変更してＳ３０２に進む。なお、上記判定はプリレンダリングモードへ変更するためのユーザの明示的な操作の有無により行われるようにしてもよい。ユーザの明示的な操作を要求することにより、ユーザが意図しないタイミングで描画モードが切り替わってしまう可能性を低減できる。しかしながら、上記判定は、明示的なユーザ操作によるものに限らない。例えば、操作部２０１に対する仮想視点の位置及び姿勢等に関する操作が一定時間行われなかった場合に、プリレンダリングモードに変更すると判定されるようにしても良い。このようにすれば、より少ないユーザ操作で、複数のレンダリングモードの切り替えができるようになるというメリットがある。すなわち描画モード制御部２０７は、所定のユーザ操作に応じてリアルタイムモードへ切り替えた後におけるユーザ操作に応じて、リアルタイムモードからプリレンダリングモードへ切り替えるか否かを判定する。
【００３２】
Ｓ３１０では、仮想視点映像の再生を終了するか否かが判定される。仮想視点映像の再生を継続すると判定された場合はＳ３０７に戻り、仮想視点映像の再生を終了すると判定された場合は図３の処理を終了する。なお、Ｓ３１０の判定は、典型的には操作部２０１に入力されたユーザ操作の内容に基づいてなされる。以上が本実施形態の表示制御装置１００で行われる処理の流れである。
【００３３】
＜プリレンダリングモードにおける仮想視点映像の取得＞
プリレンダリングモードにおける仮想視点映像の取得は図３のＳ３０２において開始される。そして開始後は、仮想視点映像の取得は仮想視点映像の描画処理とは別のスレッドで行われ、特定の量のバッファがいっぱいになるかデータの取得停止命令を受けるまで継続される。取得した動画データは描画部２０５に対して出力される。
【００３４】
プリレンダリングモードにおける仮想視点映像の取得処理について図４のフローチャートを用いて詳細を説明する。図４を用いて説明する各処理は、表示制御装置１００が備えるＣＰＵ１０１が、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで実現される。
【００３５】
Ｓ４０１では、取得データ制御部２０４がデータ取得部２０３に３Ｄデータの取得停止命令を出力する。なお、このステップは、例えば、プリレンダリングモードが設定されている状態で仮想視点映像の再生を開始した場合には不要である。
【００３６】
Ｓ４０２では、データ取得部２０３がＨＤＤ１０５または外部サーバ１１１からプリレンダリングされた仮想視点映像を取得し（映像取得）、ＲＡＭ１０２に格納する。本ステップによる仮想視点映像の取得は再生の準備が完了するまで行われる。例えば、バッファに記憶される仮想視点映像のデータ量が一定量を超えた場合に再生の準備が完了したと判定する。
【００３７】
Ｓ４０３では、データ取得部２０３が再生準備完了通知を描画モード制御部２０５に出力する。Ｓ４０４では、データ取得部２０３がＨＤＤ１０５又は外部サーバ１１１から仮想視点映像を取得し、ＲＡＭ１０２に格納する。なお、Ｓ４０３からＳ４０４に遷移したときは、Ｓ４０４は必須ではない。
【００３８】
Ｓ４０５では、データ取得部２０３が仮想視点映像の取得停止命令が入力されているか確認する。当該取得停止命令が入力されていない場合は、Ｓ４０４に進む。一方、当該取得停止命令が入力されている場合、図４の処理を終了する。取得停止命令は、例えば、仮想視点映像の再生を終了するためのユーザ操作が入力された場合や、プリレンダリングモードからリアルタイムモードに切り替えるためのユーザ操作が入力された場合に検出される。
【００３９】
＜リアルタイムモードにおける３Ｄデータの取得＞
リアルタイムモードにおける３Ｄデータの取得は図３のＳ３０６において開始される。そして開始後は、３Ｄデータの取得は仮想視点映像の描画処理とは別のスレッドで行われ、特定の量のバッファがいっぱいになるかデータの取得停止命令を受けるまで継続される。取得した３Ｄデータは描画部２０５に対して出力される。
【００４０】
３Ｄデータを取得する処理について図５のフローチャートを用いて詳細を説明する。図５を用いて説明する各処理は、表示制御装置１００が備えるＣＰＵ１０１が、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで実現される。
【００４１】
Ｓ５０１では、取得データ制御部２０４がデータ取得部２０３に仮想視点映像の取得停止命令を出力する。なお、このステップは、例えば、リアルタイムモードが設定されている状態で仮想視点映像の再生を開始した場合には不要である。
【００４２】
Ｓ５０２では、データ取得部２０３がＨＤＤ１０５または外部サーバ１１１から３Ｄデータを取得し、ＲＡＭ１０２に格納する。本ステップによる３Ｄデータの取得は仮想視点映像の再生の準備が完了するまで行われる。例えば、バッファに記憶される３Ｄデータのデータ量が一定量を超えた場合に再生の準備が完了したと判定する。
【００４３】
Ｓ５０３では、データ取得部２０３が３Ｄ準備完了通知を描画モード制御部２０５に出力する。Ｓ５０４では、データ取得部２０３がＨＤＤ１０５又は外部サーバ１１１から３Ｄデータを取得し、ＲＡＭ１０２に格納する。なお、Ｓ５０３からＳ５０４に遷移したときは、Ｓ５０４は必須ではない。
【００４４】
Ｓ５０５では、データ取得部２０３が３Ｄデータの取得停止命令が入力されているか確認する。当該取得停止命令が入力されていない場合は、Ｓ５０４に進む。一方、当該取得停止命令が入力されている場合、図５の処理を終了する。取得停止命令は、例えば、仮想視点映像の再生を終了するためのユーザ操作が入力された場合や、リアルタイムモードからプリレンダリングモードに切り替えるためのユーザ操作が入力された場合に検出される。
【００４５】
以上詳細に説明したように、本実施形態の表示制御装置１００は、所定のユーザ操作の入力に応じて（又はユーザ操作が入力されなかったことに応じて）、プリレンダリングモードと、リアルタイムモードとを切り替える。このような構成により、プリレンダリングモードとリアルタイムモードとを簡便な方法により切り替えることが可能となる。これにより、ユーザが見たい位置や、端末の負荷の状況などに応じた仮想視点映像の再生が可能になるという効果がある。
【００４６】
＜実施形態２＞
実施形態２について、実施形態１との差異を中心に説明する。実施形態１では、プリレンダリングモードとリアルタイムモードの２種類のレンダリングモードの間を切り替える例を説明したが、本実施形態では、上記に加えさらに視点変換モードとパスベースモードを有する例を説明する。実施形態２の表示制御装置１００の構成は図１と図２に示した通りであるため、図１と図２の符号を引用して実施形態２の説明を行う。
【００４７】
図６は、本実施形態における描画モードの遷移を示したものである。図６に示すように、本実施形態では以下に示すような４つの描画モードを備える。
−  予め定められた仮想視点の移動経路に従って生成された仮想視点映像を表示させるプリレンダリングモード
−  プリレンダリングされた仮想視点映像をユーザが指定した視点に応じて視点変換して表示させる視点変換モード
−  ユーザ等により指定された仮想視点の位置及び姿勢等に応じた仮想視点映像を３Ｄデータに基づいて生成し表示させるリアルタイムモード
−  予め定められた仮想視点の移動経路に応じた仮想視点映像を３Ｄデータに基づいて生成して表示させるパスベースモード
これら４つのモードのうち、ユーザが切り替え操作を行うのはプリレンダリングモードとリアルタイムモードの２つであり、残りの２つはこれらのモードを遷移する過程で一時的に利用されるモードである。
【００４８】
プリレンダリングモードのときにユーザが視点操作をすると、一時的に視点変換モードに遷移し、３Ｄデータの準備ができてからリアルタイムモードに遷移する。リアルタイムモードのときにユーザがプリレンダリングモードへの切替操作を行うと、一時的にパスベースレンダリングモードに遷移し、プリレンダリングされた仮想視点映像の再生の準備ができてからプリレンダリングモードに遷移する。このようにプリレンダリングモードとリアルタイムモードの間の操作遅延を低減するための描画モードを設けていることが本実施形態の特徴の１つである。なお本実施形態において操作遅延とは、ユーザが操作を行ってから当該操作が仮想視点映像に反映されるまでの時間のことを示す。なお、本実施形態においては４つの描画モードが存在する場合の例を中心に説明するが、視点変換モードとパスベースモードのうち何れか一方のみを備えるようにしても本実施形態の効果は得られる。また、５つ以上の描画モードを備えるようにしてもよい。
【００４９】
４つの描画モードを使って操作遅延を低減する仕組みについて図７から図１０を参照して説明する。図７は単純にプリレンダリングモードからリアルタイムモードへ切り替えるケースを表している。長方形７０１、７０２、及び７０３はそれぞれのカメラパラメータのバッファ、プリレンダリングされた仮想視点映像のバッファ、３Ｄデータのバッファを表している。プリレンダリングモード中に視点操作が行われてから３Ｄデータのリクエストを行うと、実際に３Ｄデータが取得できるのは、リクエストから時間が経過した後であるので、ユーザ操作に応じた視点の映像を表示できるまで時間がかかってしまう。この経過時間が操作遅延としてユーザに認識されてしまう。
【００５０】
これに対して、プリレンダリングモードからリアルタイムモードへ切り替えるときに視点変換モードを経由するケースを図８で示す。この場合、視点操作から３Ｄデータの取得が行われるまでの間はすでに取得済みの仮想視点映像を視点変換することで視点操作を反映した映像を生成し、当該変換仮想視点映像を表示することで、操作遅延を低減する。図９は単純にリアルタイムモードからプリレンダリングモードへ切り替えるケースを表している。この場合はプリレンダリングされた仮想視点映像への切り替え操作が行われてから当該仮想視点映像が取得できるまでの時間は操作が反映できず、操作遅延が発生してしまう。これに対して、リアルタイムモードからプリレンダリングモードへ遷移する前にパスベースモードへ遷移するケースを図１０に示す。パスベースモードでは、予め定められた仮想カメラパスに応じた仮想視点映像が、すでに取得されている３Ｄデータを用いることによって生成される。これにより、プリレンダリングモードへの切り替え指示が入力されたあと速やかにカメラパスに従ったレンダリングが行われるので、操作遅延を低減することができる。
【００５１】
本実施形態の表示制御装置１００が行う処理の流れについて、図２と図１１とを参照して説明する。図２は、本実施形態における表示制御装置１００の機能構成を示すブロック図である。ＣＰＵ１０１は、ＲＯＭ１０３又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで、図２に示す各機能ブロックとしての役割を果たす。
【００５２】
図１１は本実施形態の表示制御装置１００で行われる処理の流れを示すフローチャートである。図１１を用いて説明する各処理は、表示制御装置１００が備えるＣＰＵ１０１が、ＲＯＭ１０３及び／又はＨＤＤ１０４に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで実現される。Ｓ１１０１〜Ｓ１１０６までは実施形態１のＳ３０１〜Ｓ３０６の処理と同じなので省略する。
【００５３】
Ｓ１１０７では、視点制御部２０７がユーザ操作に応じた仮想カメラのカメラパラメータを生成し、描画部２０５へ出力する。なおカメラパラメータは、プリレンダリングされた仮想視点映像を変換するために用いられる。また視点制御部２０７は、操作２０１に対するユーザ操作の内容に基づいて仮想カメラのカメラパラメータを生成する。本実施形態で変更可能なカメラパラメータは仮想カメラの姿勢を表す回転行列Ｒとカメラの焦点距離、及び、画像の主点位置とする。ただし、仮想カメラの位置を変更できるようにしてもよい。図１１の処理が開始されて初めてＳ１１０７が実行される際の前フレームのカメラパラメータにはＳ１１０１においてカメラパラメータ取得部２０８により取得されたカメラパラメータが用いられる。
【００５４】
Ｓ１１０８では、描画部２０５が仮想視点画像Ｉ（プリレンダリングされた仮想視点映像を構成する画像）を視点変換し、当該変換により得られた変換仮想視点画像Ｉ’を表示部２０６に出力する。表示部２０６は変換仮想視点画像Ｉ’を表示する。すなわち描画部２０５は、予め定められた仮想視点の移動経路に従った仮想視点映像を、視点制御部２０７により受付けられたユーザ操作に応じた仮想視点の位置及び姿勢に基づいて変換することによって生成した変換仮想視点映像を表示させる。描画モード制御部２０４は、変換仮想視点映像を表示させる視点変換モード（第３モード）を、プリレンダリングモード（第１モード）からリアルタイムモード（第２モード）への切り替えまでの間の少なくとも一部の期間に設定する（期間設定）。
【００５５】
以下では仮想視点画像Ｉを視点操作後のカメラパラメータＲ’，ｔ、Ｋ‘で撮影した画像を擬似的に表現した変換仮想視点画像Ｉ’に変換する方法について述べる。カメラパラメータ取得部２０８から取得した仮想視点映像ＩのカメラパラメータをＲ，ｔ，Ｋとする。変換仮想視点画像Ｉ’の各画素（ｘ’，ｙ’）において仮想視点画像Ｉ中の対応する画素（ｘ、ｙ）の画素値をサンプリングして変換仮想視点画像Ｉ’の画素（ｘ’，ｙ’）の画素値とする。（ｘ，ｙ，１）の同次ベクトルをｑ＝（ｕ，ｖ，ｗ），（ｘ‘，ｙ’，１）の同次ベクトルをｑ’とすると画素（ｘ’，ｙ’）に対応する（ｘ，ｙ）は以下の式で計算できる。
【００５６】
【数３】
2019028652.tif 000005
【００５７】
【数４】
2019028652.tif 000006
【００５８】
なお変換仮想視点画像の生成方法には種々のバリエーションが存在する。例えば、上記のサンプリングは１画素ごとに行っても良いが、線形補間やバイキュービックなどの補間法を利用してもよい。このようにすれば処理負荷を低減できる。また、データ取得部２０３のバッファが空になり、新規の仮想視点画像Ｉが取得できない場合は、過去の（例えばすでに表示済みの）仮想視点画像Ｉを利用しても良い。
【００５９】
Ｓ１１０９では、描画モード制御部２０５が３Ｄデータの準備ができたかどうかを判定する。３Ｄデータの準備が完了していなければＳ１１０８に進む。３Ｄデータの準備が完了している場合、描画モードをリアルタイムモードに設定し、Ｓ１１１０に進む。
【００６０】
Ｓ１１１０では、Ｓ１１０７と同様に視点制御部２０７がユーザ操作に応じた仮想カメラのカメラパラメータを生成し、描画部２０５へ出力する。仮想カメラのカメラパラメータは、操作２０１に対するユーザ操作の内容に基づいて生成される。
【００６１】
Ｓ１１１１では、データ取得部２０３により取得された３Ｄデータと、視点制御部２０７により生成された仮想カメラのカメラパラメータを基にリアルタイムレンダリングした仮想視点映像を表示部２０６に出力する。表示部２０６は上記のようにして生成された仮想視点映像を表示する。リアルタイムレンダリングに関しては既存の技術を使用できるためここでは詳しく説明を行わない。レンダリングの際の仮想カメラの設定は視点制御部２０７から出力されたカメラパラメータが利用される。
【００６２】
Ｓ１１１２では、描画モード制御部２０７が、リアルタイムモードからプリレンダリングモードへ切り替えるか判定する。切り替えると判定されなかった場合はＳ１１１０に進む。切り替えると判定された場合は、描画モード制御部２０５が描画モードをパスベースモードに変更し、Ｓ１１１３に進む。なお、上記判定はプリレンダリングモードへ変更するためのユーザの明示的な変更指示操作の有無により行われるようにしてもよいし、操作部２０１に対する仮想視点の位置及び姿勢に関する操作状況に応じて行われるようにしても良い。
【００６３】
Ｓ１１１３では、Ｓ３０２やＳ１１０２と同様に、データ取得部２０３がＨＤＤ１０５又は外部サーバ１１１から動画データ（仮想視点映像）を取得する。データ取得部２０３は、仮想視点映像の取得の停止がリクエストされるまで仮想視点映像を取得し続ける。
【００６４】
Ｓ１１１４では、描画部２０５が、予め定められた仮想視点の移動経路におじた仮想視点映像をデータ取得部２０３により取得された３Ｄデータを用いることによって生成する。そして、描画部２０５は、生成した仮想視点映像（パスベース仮想視点映像）を表示部２０６に出力する。表示部２０６は仮想視点映像を表示する。仮想カメラの設定はカメラパラメータ取得部２０８によりＨＤＤ１０５又は外部サーバ１１１から取得されたカメラパラメータが利用される。すなわち描画モード制御部２０４は、パスベース仮想視点映像を表示させるパスベースモード（第４モード）を、リアルタイムモード（第２モード）からプリレンダリングモード（第１モード）への切り替えまでの間の少なくとも一部の期間に設定する。パスベース仮想視点映像は、予め定められた仮想視点の移動経路に基づく仮想視点映像であって、３Ｄデータ（ポリゴンデータ等）を用いることによって生成される映像である。
【００６５】
Ｓ１１１５では、描画モード制御部２０５がプリレンダリングモードでの仮想視点映像の再生の準備ができたかどうかを判定する。描画モード制御部２０４は、例えば、プリレンダリングされた仮想視点映像のうち所定枚数の画像フレームの取得が完了していれば仮想視点映像の再生の準備ができたと判定する。準備が完了していなければＳ１１１４へ進む。準備が完了している場合、描画モードをプリレンダリングモードに設定し、Ｓ１１０４に進む。なお、図１１には示していないが、仮想視点映像の再生を終了するか否かを適時判定し、もし終了すると判定した場合は図１１の処理は終了する。
【００６６】
以上説明したように、本実施形態の表示制御装置１００は、プリレンダリングモードからリアルタイムモードに切り替えるまでの間の少なくとも一部の期間において、視点変換モードに基づく仮想視点映像を表示させる。視点変換モードにおいて表示される仮想視点映像は、プリレンダリングされた仮想視点映像を、ユーザ操作に基づく仮想視点の位置に応じて変換することで生成される映像である。
【００６７】
また、本実施形態の表示制御装置１００は、リアルタイムモードからプリレンダリングモードに切り替えるまでの間の少なくとも一部の期間において、パスベースモードに基づく仮想視点映像を表示させる。パスベースモードにおいて表示される仮想視点映像は、リアルタイムモード中に取得された３Ｄデータを用いることによって生成された予め定められた仮想カメラの移動経路に応じた仮想視点映像である。本実施形態によれば、描画モードの変更に伴う操作遅延を低減することができる。
【００６８】
なお上述の実施形態においては、プリレンダリングされた仮想視点映像や３ＤデータはＨＤＤ１０５又は外部サーバ１１１から取得されることを中心に説明した。しかし、この例に限らない。例えば、他のパーソナルコンピュータ、スマートフォン、及びタブレット端末などから仮想視点映像や３Ｄデータが取得されるようにしてもよい。また、ＨＤＤ１０５及び外部サーバ１１１は複数存在してもよい。
【００６９】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７０】
１００  表示制御装置
２０１  操作部
２０２  取得データ制御部
２０３  データ取得部
２０４  描画モード制御部
２０５  描画部
２０６  表示部
２０７  視点制御部
２０８  カメラパラメータ取得部
【図１】
2019028652.tif 000007
【図２】
2019028652.tif 000008
【図３】
2019028652.tif 000009
【図４】
2019028652.tif 000010
【図５】
2019028652.tif 000011
【図６】
2019028652.tif 000012
【図７】
2019028652.tif 000013
【図８】
2019028652.tif 000014
【図９】
2019028652.tif 000015
【図１０】
2019028652.tif 000016
【図１１】
2019028652.tif 000017