IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特開2024-100839遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム
<>
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図1
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図2
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図3
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図4
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図5
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図6
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図7
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図8
  • 特開-遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024100839
(43)【公開日】2024-07-26
(54)【発明の名称】遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム
(51)【国際特許分類】
   H04L 67/1021 20220101AFI20240719BHJP
   G06T 19/00 20110101ALI20240719BHJP
【FI】
H04L67/1021
G06T19/00 A
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2024079442
(22)【出願日】2024-05-15
(62)【分割の表示】P 2022533006の分割
【原出願日】2020-07-03
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100119677
【弁理士】
【氏名又は名称】岡田 賢治
(74)【代理人】
【識別番号】100160495
【弁理士】
【氏名又は名称】畑 雅明
(74)【代理人】
【識別番号】100115794
【弁理士】
【氏名又は名称】今下 勝博
(72)【発明者】
【氏名】玉置 真也
(72)【発明者】
【氏名】藤原 稔久
(72)【発明者】
【氏名】谷口 友宏
(57)【要約】
【課題】本開示では、事前レンダリングを効率的に行い、かつ、ユーザへの画像の表示の遅延を削減し、ユーザの視線方向とレンダリングされた画像とのずれを低減できる遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラムを提供することを目的とする。
【解決手段】遠隔レンダリングシステムは、センサを有する端末と、サーバとを備え、前記端末は、センサ状態の情報を前記サーバに送信し、前記サーバは、受信した前記センサ状態の情報を複製し、複製された前記情報に基づいて取り得る前記センサ状態の候補を複数予測し、予測された前記センサ状態の候補に対応するレンダリングを実行し、前記レンダリングにより生成した複数の前記レンダリング画像を記憶し、複製された前記情報に基づいて、記憶されている複数の前記レンダリング画像から、前記センサ状態に対応する前記レンダリング画像を選択する。
【選択図】図1
【特許請求の範囲】
【請求項1】
センサを有する端末と、サーバとを備え、前記端末がセンサ状態の情報を前記サーバに送信し、前記サーバが前記センサ状態に対応するレンダリング画像を前記端末に送信する遠隔レンダリングシステムであって、
前記端末は、前記センサ状態の情報を前記サーバに送信し、
前記サーバは、受信した前記センサ状態の情報を複製し、複製された前記情報に基づいて取り得る前記センサ状態の候補を複数予測し、
予測された前記センサ状態の候補に対応するレンダリングを実行し、
前記レンダリングにより生成した複数の前記レンダリング画像を記憶し、
複製された前記情報に基づいて、記憶されている複数の前記レンダリング画像から、前記センサ状態に対応する前記レンダリング画像を選択し、選択された前記レンダリング画像を前記端末に送信する
ことを特徴とする遠隔レンダリングシステム。
【請求項2】
アプリケーション管理部をさらに備えており、
前記アプリケーション管理部は、前記サーバが複数ある場合、複数の前記サーバの一部を選択し、選択した前記サーバのうち1つをマスタサーバ、他をスレーブサーバと指定し、
前記端末は、前記センサ状態の情報を前記マスタサーバに送信し、
前記マスタサーバは、取り得る前記センサ状態の候補を複数予測し、
前記マスタサーバと前記スレーブサーバの少なくとも1つは、予測された前記センサ状態の候補に基づいて前記レンダリングを実行し、前記レンダリング画像を記憶する
ことを特徴とする請求項1に記載の遠隔レンダリングシステム。
【請求項3】
サーバが端末の有するセンサのセンサ状態に対応するレンダリング画像を選択する画像処理方法であって、
前記サーバで、前記センサ状態の情報を複製し、複製された前記情報に基づいて取り得る前記センサ状態の候補を複数予測すること、
予測された前記センサ状態の候補に対応するレンダリングを実行すること、
前記レンダリングにより生成した複数の前記レンダリング画像を記憶すること、及び、
複製された前記情報に基づいて、記憶されている複数の前記レンダリング画像から、前記センサ状態に対応する前記レンダリング画像を選択すること
を特徴とする画像処理方法。
【請求項4】
前記サーバが複数ある場合、複数の前記サーバの一部を選択し、選択した前記サーバのうち1つをマスタサーバ、他をスレーブサーバとすること、
取り得る前記センサ状態の候補を複数予測することは前記マスタサーバで行うこと、
前記レンダリングを実行することと前記レンダリング画像を記憶することは前記マスタサーバと前記スレーブサーバの少なくとも1つで行うこと
を特徴とする請求項3に記載の画像処理方法。
【請求項5】
センサを有する端末からのセンサ状態の情報を受信するセンサ情報受信部と、
受信した情報を複製するセンサ情報複製部と、
複製された前記情報に基づいて取り得る前記センサ状態の候補を複数予測する予測部と、
予測された前記センサ状態の候補に対応するレンダリングを実行するレンダリング部と、
前記レンダリングにより生成した複数のレンダリング画像を記憶する記憶部と、
複製された前記情報に基づいて、前記記憶部に記憶されている複数の前記レンダリング画像から、前記センサ状態に対応する前記レンダリング画像を選択する画像選択部と、
を備えるサーバ装置。
【請求項6】
請求項5に記載のサーバ装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲーム又はAR若しくはVR等のサービスをストリーミング提供する遠隔レンダリングシステムであって、端末からサーバに対してセンサやコマンド情報が送信され、それらの情報に対応した結果の画像がサーバでレンダリングされ、端末に対して画像が応答され、端末の画面に出力されるような遠隔レンダリングシステムにおいて、通信やレンダリングにかかる時間を補償する技術に関する。
【背景技術】
【0002】
近年、クラウド技術の発達と高速な通信環境の普及、およびスマートフォンやタブレット端末の普及により、ゲームや3D CAD(Computer Aided Design)等のアプリケーションにおける画像レンダリング処理をサーバ側で行い、ネットワークを介して接続された端末に対して画像を送信するストリーミングサービスが注目されている。ストリーミングサービスでは、GPU(Graphics Processing Unit)を搭載した高機能なコンピュータをユーザのローカル環境に配置することなく様々なアプリケーションを提供することが可能であり、例えば、スマートフォンのような安価で小型な端末でも、ユーザに高品質な仮想3D空間を体験させることができると考えられ、ゲームやデジタルカタログサービスへの活用が期待されている。
【0003】
ところで、ゲーム等のストリーミングサービスにおいては、端末から送信されたセンサ情報に基づいたカメラ視点の画像がサーバで描画され、画像が端末画面に表示されるまでの遅延(Motion-to-Photon Latency等と呼ばれる)がユーザ体感品質に大きく影響する。特に、ネットワークを介してストリーミングサービス提供を行う場合、ローカル環境(ゲーミングPCや高性能なワークステーション)でレンダリングする場合に比べ、ネットワーク遅延又は映像データのエンコード若しくはデコード遅延の増加、遠隔サーバのリソース不足等が避けられない。
【0004】
特に、AR又はVRサービス等の遠隔レンダリングに関しては、ユーザの視線方向とレンダリングされた画像とのずれが生じるとVR酔いの原因となる為、当該ずれの原因である遅延を削減することが重要となる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Daia, Xuefeng, Hanjiang Xionga, and Xianwei Zhenga. “A Cache Design Method For Spatial Information Visualization In 3D Real-Time Rendering Engine.“ International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences 39 (2012): B2
【非特許文献2】「Head and Body Motion Prediction to Enable Mobile VR Experiences with Low Latency」 2019年12月、カリフォルニア大、Samsung
【非特許文献3】「Furion: Engineering High-Quality Immersive Virtual Reality on Today’s Mobile Devices」 2017年10月、パデュー大ほか
【非特許文献4】「FlashBack: Immersive Virtual Reality on Mobile Devices via Rendering Memoization」 2016年6月、マイクロソフト研ほか
【発明の概要】
【発明が解決しようとする課題】
【0006】
関連技術では、レンダリングにかかる時間を削減する方法として、事前レンダリングした画像をストリーミングする方法が挙げられる(例えば、非特許文献1。)。ユーザ視点に応じた画像を、予め描画され、保存されたメモリ領域から読み出すことにより、レンダリング処理にかかる時間を削除することができる。
【0007】
しかし、非特許文献1の事前レンダリング方式には、次のような課題がある。事前レンダリング方式は、あらゆるユーザ視点を想定してレンダリングを行うため、膨大な処理時間を要するという課題がある。また、デザイン変更等が生じた場合は再び同じ時間かけて再レンダリングする必要があるという課題もある。さらに、事前レンダリングされた全ての画像を保存するための膨大なストレージを要するという課題もある。加えて、事前レンダリング方式は、ネットワーク遅延又はエンコード若しくはデコード遅延を削減することができないという課題もある。
【0008】
前記課題を解決するために、本発明は、事前レンダリングを効率的に行い、かつ、ユーザへの画像の表示の遅延を削減し、ユーザの視線方向とレンダリングされた画像とのずれを低減できる遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本開示の遠隔レンダリングシステムは、センサを有する端末からのセンサ状態の情報に基づいて、直近の未来に取りうるポジション(座標)を複数予測し、予測した各ポジションに応じて画像を予めレンダリングする。
【0010】
具体的には、本開示に係る遠隔レンダリングシステムは、センサを有する端末と、サーバとを備え、前記端末がセンサ状態の情報を前記サーバに送信し、前記サーバが前記センサ状態に対応するレンダリング画像を前記端末に送信する遠隔レンダリングシステムであって、前記端末は、現在の前記センサ状態の情報を前記サーバに送信し、前記サーバは、受信した現在の前記センサ状態の情報に基づいて直近の未来に取り得る前記センサ状態の候補を複数予測し、予測された前記センサ状態の候補に対応するレンダリングを実行し、前記レンダリングにより生成した複数の前記レンダリング画像を記憶する。
【0011】
本開示に係る画像処理方法では、センサを有する端末と、サーバとを備え、前記端末がセンサ状態の情報を前記サーバに送信し、前記サーバが前記センサ状態に対応するレンダリング画像を前記端末に送信する画像処理方法であって、前記端末から前記サーバに現在の前記センサ状態の情報を送信すること、前記サーバで、受信した現在の前記センサ状態の情報に基づいて直近の未来に取り得る前記センサ状態の候補を複数予測すること、予測された前記センサ状態の候補に対応するレンダリングを実行すること、及び前記レンダリングにより生成した複数の前記レンダリング画像を記憶する。
【0012】
本開示に係る遠隔レンダリングシステム及び画像処理方法は、直近の未来に取りうるポジション(座標)についてのみ画像を事前レンダリングすることにより、事前レンダリング処理や事前レンダリングにより生成する画像を減らすことができる。その結果、事前レンダリングに必要となる時間やストレージを削減することができる。また、事前レンダリングの画像を保存しておくことにより、現在のセンサ状態に応じて逐次レンダリング処理をする必要がなく、レンダリング処理時間を削減できる。従って、本発明により、事前レンダリングを効率的に行い、かつ、ユーザへの画像の表示の遅延を削減し、ユーザの視線方向とレンダリングされた画像とのずれを低減できる遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラムを提供することができる遠隔レンダリングシステム及び画像処理方法を提供することができる。
【0013】
本開示に係る遠隔レンダリングシステムでは、アプリケーション管理部をさらに備えており、前記アプリケーション管理部は、前記サーバが複数ある場合、複数の前記サーバの一部を選択し、選択した前記サーバのうち1つをマスタサーバ、他をスレーブサーバと指定し、前記端末は、現在の前記センサ状態の情報を前記マスタサーバに送信し、前記マスタサーバは、直近の未来に取り得る前記センサ状態の候補を複数予測し、前記マスタサーバと前記スレーブサーバの少なくとも1つは、予測された前記センサ状態の候補に基づいて前記レンダリングを実行し、前記レンダリング画像を記憶する。
【0014】
本開示に係る画像処理方法では、前記サーバが複数ある場合、複数の前記サーバの一部を選択し、選択した前記サーバのうち1つをマスタサーバ、他をスレーブサーバとすること、前記端末からの現在の前記センサ状態の情報は前記マスタサーバに送信されること、直近の未来に取り得る前記センサ状態の候補を複数予測することは前記マスタサーバで行うこと、前記レンダリングを実行することと前記レンダリング画像を記憶することは前記マスタサーバと前記スレーブサーバの少なくとも1つで行う。
【0015】
本開示に係る遠隔レンダリングシステム及び画像処理方法は、複数のサーバを用いて事前レンダリングを行うことにより、サーバの空きリソースを有効活用できる。また、端末の位置情報に基づいて、端末の近傍にあるサーバから画像を送信することにより、通信による遅延を削減することができる。
【0016】
本開示に係る遠隔レンダリングシステムでは、前記サーバは、記憶されている複数の前記レンダリング画像から、現在の前記センサ状態に対応する前記レンダリング画像を選択し、選択された前記レンダリング画像を前記端末に送信する。
【0017】
本開示に係る画像処理方法では、前記サーバで記憶されている複数の前記レンダリング画像から、現在の前記センサ状態に対応する前記レンダリング画像を選択し、選択された前記レンダリング画像を前記端末に送信する。
【0018】
本開示に係る遠隔レンダリングシステム及び画像処理方法は、現在のセンサ状態に応じて、事前レンダリングされた画像を選択することで、レンダリング処理をせずに必要な画像を送信することができるので、レンダリング処理による遅延を削減することができる。また、複数のサーバを用いる場合には、端末の位置情報に基づいて、端末の近傍にあるサーバから画像を送信することにより、通信による遅延を削減することができる。
【0019】
本開示に係るサーバ装置では、センサを有する端末から受信した前記センサ状態に対応するレンダリング画像を前記端末に送信するサーバ装置であって、前記端末からの現在の前記センサ状態の情報を受信するセンサ情報受信部と、受信した現在の前記センサ状態の情報に基づいて直近の未来に取り得る前記センサ状態の候補を複数予測する予測部と、予測された前記センサ状態の候補に対応するレンダリングを実行するレンダリング部と、前記レンダリングにより生成した複数の前記レンダリング画像を記憶する記憶部と、前記記憶部に記憶されている複数の前記レンダリング画像から、現在の前記センサ状態に対応する前記レンダリング画像を選択する画像選択部と、選択された前記レンダリング画像を前記端末に送信する画像送信部と、を備える。
【0020】
本開示に係るプログラムでは、前記サーバ装置としてコンピュータを機能させる。
【0021】
本開示に係るサーバ装置及びプログラムは、直近の未来に取りうるポジション(座標)についてのみ画像を事前レンダリングすることにより、事前レンダリング処理や事前レンダリングにより生成する画像を減らすことができる。その結果、事前レンダリングに必要となる時間やストレージを削減することができる。また、現在のセンサ状態に応じて、事前レンダリングされた画像を選択することで、レンダリング処理をせずに必要な画像を送信することができるので、レンダリング処理による遅延を削減することができる。
【0022】
なお、上記各発明は、可能な限り組み合わせることができる。
【発明の効果】
【0023】
本開示によれば、事前レンダリングを効率的に行い、かつ、ユーザへの画像の表示の遅延を削減し、ユーザの視線方向とレンダリングされた画像とのずれを低減できる遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラムを提供することができる。
【図面の簡単な説明】
【0024】
図1】本発明に係る遠隔レンダリングシステムの概要を説明する図である。
図2】本発明に係る遠隔レンダリングシステムの概要を説明する図である。
図3】本発明に係る遠隔レンダリングシステムの概要を説明する図である。
図4】本発明に係る遠隔レンダリングシステムの概略構成の一例を示す。
図5】本発明に係る遠隔レンダリングシステムの画像処理方法の一例を示す。
図6】本発明に係る遠隔レンダリングシステムの動作フローの一例を示す。
図7】本発明に係る遠隔レンダリングシステムの概略構成の一例を示す。
図8】本発明に係る遠隔レンダリングシステムの概略構成の一例を示す。
図9】本発明に係る遠隔レンダリングシステムの画像処理方法の一例を示す。
【発明を実施するための形態】
【0025】
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本開示は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【0026】
(発明の概要)
本発明の概要を図1から図3を用いて説明する。図1において、(a)は従来の技術を示し、(b)は本発明を示す。
【0027】
図1(a)では、ユーザ端末(例えば、ヘッドマウントディスプレイ等。)が、複数のサーバ11を経由して、クラウドレンダリングサーバとつながっている。以下、「ユーザ端末」を「端末30」と略記する。端末30は、自身が取得したポジション情報を複数のサーバ11を経由してクラウドレンダリングサーバに送信する。クラウドレンダリングサーバは、ポジション情報に応じてGPUで逐次レンダリングを行う。そして、レンダリングした画像を再び複数のサーバ11を経由して端末に表示させる。従来の技術においては、ポジション情報に応じて逐次レンダリングを行うため、端末30がポジション情報を送信してからポジション情報に対応した画像が端末30に表示されるまでの間に、レンダリング処理の時間が必要となり、遅延が発生してしまう。また、レンダリングされた画像の取得には、端末30が複数のサーバ11を経由してクラウドレンダリングサーバにアクセスする必要があるため、通信距離が長くなり、ネットワークの遅延が発生する。これらの遅延が大きくなると、ユーザの体感品質に悪影響を及ぼす。
【0028】
図1(b)を用いて本発明の概要を説明する。本発明は、複数のサーバ11を有し、端末30の在圏エリア、アプリケーションの許容遅延、各ネットワーク区間の可用帯域、エッジサーバリソースその他のネットワーク状況に応じて最適な一又は複数の遠隔レンダリング用エッジサーバ又はレンダリングされた画像をキャッシュするサーバを選択する。遠隔レンダリング用エッジサーバと画像をキャッシュするサーバは同一でもよいし、別々でもよい。以下、「遠隔レンダリング用エッジサーバまたはレンダリングされた画像をキャッシュするサーバ」を「サーバ11」と呼ぶ。
【0029】
選択された各サーバ11は、レンダリングサーバアプリを有する。レンダリングサーバアプリは、事前レンダリング及び画像送信をする。事前レンダリング及び画像送信は、1つのサーバ11のみで行う場合と複数のサーバ11が行う場合がある。事前レンダリングについて説明する。端末30は、自身が取得したポジション情報(例えば、ヘッドマウントディスプレイ装着者の頭部ポジション情報等)を選択されたサーバ11に送信する。ポジション情報を受信したサーバ11のレンダリングサーバアプリは、端末30のポジション情報に応じて直近の未来に取りうるポジション(座標)を複数予測する。さらに、選択されたサーバ11のレンダリングサーバアプリは、その予測したポジションに応じてレンダリングして画像を作成し、その画像を一時記憶領域に格納する。また、画像は、触覚情報、聴覚情報等でもよい。
【0030】
画像送信について説明する。端末30は、自身が取得したポジション情報を選択されたサーバ11に送信する。選択されたサーバ11は、受信したポジション情報に応じた画像を一時記憶領域から呼び出し、端末30に送信する。事前にレンダリング画像を用意しておくことで、端末30がポジション情報を送信してからポジション情報に対応した画像が端末30に表示されるまでの間のレンダリング処理時間が不要となり、計算遅延を削減できる。
【0031】
最適なサーバ(例えば、端末に最も近いサーバ)がレンダリング及び画像送信を行うことにより、通信距離が短くなり、端末がポジション情報を送信してからポジション情報に対応した画像が端末に表示されるまでのネットワーク遅延を低減することができる。
【0032】
図2及び図3を用いて本発明における最適なサーバの選択について具体的に説明する。図2に示すように、サーバ11の選択は、アプリケーション管理部50(図面では、「アプリケーション管理部」を「アプリ管理部」と略記する。)が行ってもよい。アプリケーション管理部50は、同アプリケーションを利用する他の端末や他のサービスによるリソース使用状況も含めたインフラ全体(ネットワーク、サーバリソース(CPU、メモリ、ストレージ、GPU、等))の情報を得ながら、ユーザエクスペリエンスを損なうことなく、かつ、エッジサーバリソースを浪費しないよう、総コスト(サーバ利用コスト、ネットワーク利用コスト等)が低くなるようなサーバ11を選択する。
【0033】
遠隔レンダリングシステムは、アプリケーションの許容遅延を満たす範囲内に存在する別のサーバの計算及び一時記憶リソースも活用する。図3を用いて使用可能なサーバについて説明する。例えば、次の(1)から(3)までの条件が成立する場合を考える。(1)アプリケーションの許容遅延が18msである。(2)一時記憶領域から画像を検索し読み出すのにかかる最大時間が10msである。(3)ネットワーク経路1ホップあたりの伝送又は伝播遅延が1msである。そうすると、(1ms×4(ホップ)×2(往復)+10ms≦18ms)が成立するため、遠隔レンダリングシステムは、端末30から最大4ホップ遠隔地にあるサーバ11までのリソースが使える。
【0034】
アプリケーション管理部50は、ネットワーク遅延を最小化するよう端末30に最も近いサーバ11(サーバコストが高いと想定される)を単純に選択するだけではなく、前述したように許容遅延を満たす範囲で遠隔地に存在する低コストであるサーバ11の選択も考慮に入れる。遠隔レンダリングシステムは、サービス品質を維持(VR酔いを防止)しつつ、低コストであるサーバリソース利用が可能となる。
【0035】
さらに、アプリケーションの許容遅延を満たす範囲内に存在するサーバ11は、直近に読み出される確率に応じて使い分けられる。例えば、直近に読み出される確率の高い座標と対応する画像はより端末30に近いサーバ11で計算され、該サーバ11内の一時記憶領域に格納される、などが考えられる。許容遅延範囲の中でも、更に低遅延で高確率に画像を返すことができる為、体感品質が向上する。
【0036】
また、許容遅延(遅延のバジェット)は、遠サーバ11又は近サーバ11の選択によってだけでなく、例えばエンコード方式を変更することなどによっても調整される。例えば、スループットガイダンスやRNI(Radio Network Information)などにより得られたネットワーク可用帯域情報を元に、可用帯域に余裕のある場合は、使用帯域が増加することと引き換えに、エンコード又はデコード時間がより短くて済む圧縮方式に変更することで、遅延のバジェットを拡大することが可能となる。
【0037】
(実施形態1)
本実施形態に係る遠隔レンダリングシステムの構成について図4を用いて具体的に示す。遠隔レンダリングシステム10は、センサを有する端末30と、サーバ11とを備え、端末30がセンサ状態の情報をサーバ11に送信し、サーバ11がセンサ状態に対応するレンダリング画像を端末30に送信する。
【0038】
端末30は、センサ情報取得部31と、センサ情報送信部32と、画像受信部33と、デコード部34と、画像表示部35とを備える。端末30は、ヘッドマウントディスプレイであってもよい。
【0039】
センサ情報取得部31は、端末30が有するセンサから現在のセンサ状態の情報を取得する。センサ情報送信部32は、取得したセンサ状態の情報をサーバ11に送信する。送信方法は、無線通信を用いることが望ましい。
【0040】
画像受信部33は、サーバ11から送信された画像を受信する。受信方法は、無線通信を用いることが望ましい。デコード部34は、受信した画像を端末30で表示できる形式に変換する。画像表示部35は、変換された画像を表示する。
【0041】
サーバ11は、センサを有する端末30から受信したセンサ状態に対応するレンダリング画像を端末30に送信するサーバ装置であって、端末30からの現在のセンサ状態の情報を受信するセンサ情報受信部12と、受信した現在の前記センサ状態の情報に基づいて直近の未来に取り得る前記センサ状態の候補を複数予測する予測部14と、予測された前記センサ状態の候補に対応するレンダリングを実行するレンダリング部15と、前記レンダリングにより生成した複数の前記レンダリング画像を記憶する記憶部として機能する画像一時保存処理部16及び画像一時保存領域部17と、前記記憶部に記憶されている複数の前記レンダリング画像から、現在の前記センサ状態に対応する前記レンダリング画像を選択する画像選択部18と、選択された前記レンダリング画像を端末30に送信する画像送信部20と、を備える。さらに、サーバ11は、センサ情報複製部13と、エンコード部19とを備えてもよい。
【0042】
センサ情報受信部12は、センサ情報送信部32が送信した現在のセンサ状態の情報を受信する。センサ情報複製部13は、受信した現在のセンサ状態の情報を複製して2つにし、1つを予測部14へ、もう1つを画像選択部18へ送信する。
【0043】
予測部14は、センサ情報複製部13からの現在のセンサ状態を受信する。予測部14は、受信した現在のセンサ状態の情報に基づいて直近の未来に取り得るセンサ状態の候補を複数予測する。この予測には、非特許文献2に記載する方法を用いてもよい。また、予測には、静的予測、アルファ・ベータ・ガンマ法、カルマンフィルタ等を用いてもよい。予測部14は、予測した候補をレンダリング部15に送信する。
【0044】
レンダリング部15は、予測部14からセンサ状態の候補を受信する。レンダリング部15は、受信したセンサ状態の候補それぞれに対応するレンダリングを実行する。レンダリングでは、カルマンフィルタなどの予測テクニックを用いてもよい。また、状況に応じて、予め特定のセンサ状態のみに絞り込んでもよいし、ありえないセンサ状態は除外してもよい。例えば、座って利用するシーン(自動車車内など)であれば座席視点近傍、立って利用するシーンであればヒトの視線高さ(地上1.5m近傍)などに絞り込んでもよい。また、空高くからの視点又は壁若しくは地中など有りえない視点は除外してもよい。レンダリング部15は、非特許文献3の内容を利用することで、読み出される確率の低い視点のレンダリング処理を行わないようにして、負荷を軽減することができる。さらに、非特許文献3の内容は、画像一時保存処理部16が、直近読み出される確率が一定以上低くなった事前レンダリング画像を破棄する為の判断基準にも利用することができる。レンダリング部15は、レンダリング画像を画像一時保存処理部16に送信する。
【0045】
画像一時保存処理部16及び画像一時保存領域部17は記憶部として機能する。画像一時保存処理部16は、レンダリングされた画像及び対応するセンサ状態の候補の情報を受信する。画像一時保存処理部16は、レンダリングされた画像を、対応するセンサ状態の候補の情報とともに、画像一時保存領域部17に一時保存する。非特許文献4の内容を利用することで、事前にレンダリングした画像を、画像選択部18が効率的に読み出すことができる。
【0046】
画像選択部18は、センサ情報複製部13から現在のセンサ状態を受信する。画像選択部18は、画像一時保存領域部17に一時保存されている複数の前記レンダリング画像から、受信した現在のセンサ状態に対応するレンダリング画像を検索して、選択する。画像選択部18は、現在のセンサ状態に対応するレンダリング画像が画像一時保存領域部17にない場合には、レンダリング部15に現在のセンサ状態に対するレンダリングをさせて、作成されたレンダリング画像を選択してもよい。また、画像選択部18は、現在のセンサ状態に対応するレンダリング画像が画像一時保存領域部17にない場合において、レンダリングして新たに画像を作成することができないときは、既存技術(Time-Warp等)を利用してもよいし、選択する画像を真黒な画像としてもよい。初回センサ情報受信時、将来座標予測ができない時又は複数並列事前レンダリングするリソースが確保できない時も、現在のセンサ状態に対応するレンダリング画像が画像一時保存領域部17にない場合と同様の処理を行ってもよい。画像選択部18は、選択した画像をエンコード部19に送信する。
【0047】
エンコード部19は、受信したレンダリング画像を送信するための形式に変換する。画像送信部20は、変換されたレンダリング画像を端末30に送信する。
【0048】
遠隔レンダリングシステム10の動作の一例を図5に示す。遠隔レンダリングシステム10の画像処理方法は、センサを有する端末30と、サーバ11とを備え、端末30がセンサ状態の情報をサーバ11に送信し、サーバ11がセンサ状態に対応するレンダリング画像を端末30に送信する画像処理方法であって、端末30からサーバ11に現在のセンサ状態の情報を送信すること(ステップS101)、サーバ11で、受信した現在のセンサ状態の情報に基づいて直近の未来に取り得るセンサ状態の候補を複数予測すること(ステップS102及びS103)、予測されたセンサ状態の候補に対応するレンダリングを実行すること(ステップS104)、及びレンダリングにより生成した複数のレンダリング画像を記憶すること(ステップS105)を特徴とする。
【0049】
画像処理方法は、サーバ11で記憶されている複数のレンダリング画像から、現在のセンサ状態に対応するレンダリング画像を選択し(ステップS201)、選択されたレンダリング画像を端末30に送信する(ステップS202)ことをさらに行うことが望ましい。画像処理方法は、ステップS202の後に、端末30がレンダリング画像を表示する(ステップS203)。ステップS103からS105とステップS201からS203までのステップは並行して行ってもよいし、どちらかを先に行ってもよい。以下、ステップS101からS105及びステップS201からS203を詳細に説明する。
【0050】
(ステップS101)
センサ情報送信部32は、前述したように、センサ状態の情報の送信を行う。
【0051】
(ステップS102)
センサ情報受信部12は、前述したように、センサ状態の情報の受信を行う。センサ情報複製部13は、前述したように、センサ状態の情報の複製及び送信を行う。
【0052】
(ステップS103)
予測部14は、前述したように、直近の未来に取り得るセンサ状態の候補の予測を行う。
【0053】
(ステップS104)
レンダリング部15は、前述したように、センサ状態の候補に基づくレンダリングを行う。
【0054】
(ステップS105)
画像一時保存処理部16は、前述したように、レンダリングされた画像及び対応するセンサ状態の候補の情報を画像一時保存領域部17に一時保存する。
【0055】
(ステップS201)
画像選択部18は、前述したように、現在のセンサ状態に対応するレンダリング画像を画像一時保存領域部17から選択する。
【0056】
(ステップS202)
エンコード部19は、前述したように、レンダリング画像のエンコードを行い、画像送信部20は、その送信を行う。
【0057】
(ステップS203)
画像受信部33は、前述のようにエンコードされたレンダリング画像を受信する。デコード部34は、受信したレンダリング画像をデコードする。画像表示部35は、前述したように、デコードしたレンダリング画像を表示する。
【0058】
図6は、遠隔レンダリングシステム10の動作フローを示す。CASE1は、事前レンダリングを行わず、現在のセンサ状態に対して逐次レンダリングをする動作フローを示す。CASE1では、現在のセンサ状態の情報を取得してから、レンダリング部15が逐次レンダリングをするため、レンダリング画像を送信する前にレンダリング処理の時間が必要となる。
【0059】
図6のCASE2は、事前レンダリングを行う場合の動作フローを示す。CASE2のポイントは、ユーザへ応答する画像の検索をするため及び直近の将来にユーザ端末がとりうる座標を予測するために、ユーザ端末からのセンサ情報をセンサ情報複製部13で2つに複製することである。センサ情報を複製することで、検索と予測を並行して行うことができる。事前レンダリングし、予めレンダリングされた画像を用意することで、現在のセンサ状態に応じて逐次レンダリング処理をする必要がなく、レンダリング処理時間を削減できる。
【0060】
本開示に係る遠隔レンダリングシステム、画像処理方法及びサーバ装置は、直近の未来に取りうるポジション(座標)についてのみ画像を事前レンダリングすることにより、事前レンダリング処理や事前レンダリングにより生成する画像を減らすことができる。その結果、事前レンダリングに必要となる時間やストレージを削減することができる。
【0061】
以上説明したように、本開示に係る遠隔レンダリングシステム、画像処理方法及びサーバ装置は、事前レンダリングを効率的に行い、かつ、ユーザへの画像の表示の遅延を削減し、ユーザの視線方向とレンダリングされた画像とのずれを低減できる遠隔レンダリングシステム、画像処理方法及びサーバ装置を提供することができる。
【0062】
(実施形態2)
以下、本実施形態に係る遠隔レンダリングシステム10の全体構成を図7に示す。遠隔レンダリングシステム10は、端末30と、複数のサーバ11と、アプリケーション管理部50(図面では、「アプリケーション管理部」を「アプリ管理部」と略記する。)と、アプリ配備実行ノード51と、ネットワーク管理ノード52と、サーバインフラ管理ノード53と、を備える。
【0063】
ネットワーク管理ノード52は、サーバ11間のネットワーク状況や、サーバ11と端末30とのネットワーク状況を管理し、アプリケーション管理部50に報告する。
【0064】
サーバインフラ管理ノード53は、各サーバ11のインフラ状況を管理し、アプリケーション管理部50に報告する。サーバ11のインフラ状況として、CPU、メモリ、ストレージ、GPU等のサーバリソースを例示することができる。
【0065】
アプリケーション管理部50について図2を用いて説明する。アプリケーション管理部50は、ネットワーク管理ノード52及びサーバインフラ管理ノード53から報告された情報に基づき、複数のサーバ11のうち、レンダリングを行うサーバ11を選択し、選択したサーバ11のうち1つをマスタサーバ21、他をスレーブサーバ22と指定する。アプリケーション管理部50は、マスタサーバ21又はスレーブサーバ22として指定したサーバ11に対して、適切なアプリケーションをアプリ配備実行ノード51により配備させる。アプリケーション管理部50は、アプリケーションを配備することで、選択されたサーバ11をマスタサーバ21又はスレーブサーバ22として機能させる。アプリケーション管理部50は、ネットワーク状況やインフラ情報が変わった場合には、それらの変化に応じた変更を加えたアプリケーションを再配備することにより、サーバ11の機能に変更を加えてもよい。例えば、端末30の位置に最も近いサーバ11をマスタサーバ21とする場合を考える。この場合において、端末30の位置が変化したときは、その変化に応じて、今までマスタサーバ21として機能していたサーバ11に代えて、位置が変化した後の端末30と最も近いサーバ11に、マスターサーバアプリを配備し、マスタサーバ21として機能させてもよい。
【0066】
端末30の構成について図8を用いて説明する。端末30の構成は、実施形態1と同様とする。センサ情報送信部32は、取得した現在の前記センサ状態の情報をマスタサーバ21に送信する。
【0067】
マスタサーバ21及びスレーブサーバ22の構成について図8を用いて説明する。マスタサーバ21は、センサ情報受信部12と、センサ情報複製部13と、予測部14と、レンダリング部15と、画像一時保存処理部16と、画像一時保存領域部17と、画像選択部18と、エンコード部19と、画像送信部20と、サーバ振り分け部23と、インデックス保存処理部24と、インデックス保存領域部25と、サーバ検索部26と、サーバ問い合わせ部27と、を備える。センサ情報受信部12、画像一時保存処理部16、画像一時保存領域部17、エンコード部19及び画像送信部20は実施形態1と同様である。
【0068】
スレーブサーバ22は、レンダリング部15と、画像一時保存処理部16と、画像一時保存領域部17と、画像選択部18と、エンコード部19と、画像送信部20とを備える。スレーブサーバ22の構成要素の符号は、マスタサーバ21の構成要素の符号と対応しており、同一のものは、同一の内容とする。
【0069】
以下、マスタサーバ21またはスレーブサーバ22について、実施形態1と異なる機能を持つ構成要素や新たに追加する構成要素について説明する。具体的には、センサ情報複製部13、予測部14、レンダリング部15、画像選択部18、サーバ振り分け部23、インデックス保存処理部24、インデックス保存メモリ部25、サーバ検索部26及びサーバ問い合わせ部27について詳細に説明する。
【0070】
センサ情報複製部13は、受信した現在のセンサ状態の情報を複製して2つにし、1つを予測部14へ、もう1つをサーバ検索部26へ送信する。
【0071】
予測部14は、実施形態1と同様に、現在のセンサ状態の情報に基づいて直近の未来に取り得るセンサ状態の候補を複数予測する。予測部14は、予測した候補をサーバ振り分け部23に送信する。
【0072】
サーバ振り分け部23は、予測部14からセンサ状態の候補を受信する。受信したセンサ状態の候補のそれぞれについて、レンダリングを行うマスタサーバ21又はスレーブサーバ22を選択する。例えば、マスタサーバ21又はスレーブサーバ22は、予測された候補(座標)に基づく画像が直近読み出される確率に応じて使い分けられる。直近読み出される確率の高い座標と対応する画像はより端末30に近いマスタサーバ21又はスレーブサーバ22でレンダリングされ、そのサーバ内の一時記憶領域に格納される等が考えられる。サーバ振り分け部23は、選択したマスタサーバ21又はスレーブサーバ22に対し、そのサーバでレンダリングされるセンサ状態の候補を送信する。
【0073】
レンダリング部15は、サーバ振り分け部23からセンサ状態の候補を受信する。レンダリング部15は、実施形態1と同様に、受信したセンサ状態の候補に基づきレンダリングを行い、レンダリング画像を画像一時保存処理部16に送信する。
【0074】
インデックス保存処理部24は、「3次元座標及び向き」の情報等該当するアングルの画像を画像一時保存領域部17から検索するためのキーとなる見出し情報(以下、「インデックス」と呼ぶ。)をインデックス保存領域部25に一時保存させる。例えば、インデックスは、センサ状態の候補及びその候補についてレンダリングを行うサーバのIDとしてもよい。インデックスは、計算効率化のためハッシュ化されていてもよい。
【0075】
サーバ検索部26は、インデックス保存領域部25で、現在のセンサ状態に対応するインデックスを検索し、現在のセンサ状態に対応するレンダリング画像を保有するマスタサーバ21又はスレーブサーバ22を選択する。
【0076】
サーバ問い合わせ部27は、サーバ検索部26で選択されたマスタサーバ21又はスレーブサーバ22の画像選択部18に現在のセンサ状態を送信する。
【0077】
画像選択部18は、サーバ問い合わせ部27から現在のセンサ状態を受信する。画像選択部18は、実施形態1と同様に、受信した現在のセンサ状態に対応するレンダリング画像を画像一時保存領域部17から選択し、選択した画像をエンコード部19に送信する。
【0078】
遠隔レンダリングシステム10の動作の一例を図9に示す。遠隔レンダリングシステム10の画像処理方法は、センサを有する端末30と、サーバ11と、アプリケーション管理部50とを備え、端末30がセンサ状態の情報をサーバ11に送信し、サーバ11がセンサ状態に対応するレンダリング画像を端末30に送信する画像処理方法であって、サーバ11が複数ある場合、複数のサーバ11の一部を選択し、選択したサーバ11のうち1つをマスタサーバ21、他をスレーブサーバ22とすること(ステップS301)、端末30からの現在のセンサ状態の情報はマスタサーバ21に送信されること(ステップS101)、直近の未来に取り得るセンサ状態の候補を複数予測することはマスタサーバ21で行うこと(ステップS102及びS103)、レンダリングを実行することとレンダリング画像を記憶することはマスタサーバ21とスレーブサーバ22の少なくとも1つで行うこと(ステップS104及びS105)を特徴とする。さらに、ステップS103とステップS104との間において、サーバ振り分けステップS302及びインデックス保存S303を行ってもよい。
【0079】
画像処理方法は、ステップS102の後に、現在のセンサ状態に対応するレンダリング画像を保存しているマスタサーバ21又はスレーブサーバ22を検索して選択すること(ステップS304)及び選択したマスタサーバ21又はスレーブサーバ22に現在のセンサ状態を送信すること(ステップS305)を行ってもよい。画像処理方法は、ステップS305の後に、マスタサーバ21又はスレーブサーバ22で記憶されている複数のレンダリング画像から、現在のセンサ状態に対応するレンダリング画像を選択し(ステップS201)、選択されたレンダリング画像を端末30に送信する(ステップS202)ことをさらに行うことが望ましい。さらに、画像処理方法は、ステップS202の後に、端末30がレンダリング画像を表示する(ステップS203)。以下、各ステップについて順に説明する。ただし、ステップS103以降のステップとステップS304以降のステップは、平行しても行ってもよいし、どちらを先に行ってもよい。
【0080】
(ステップS301)
アプリケーション管理部50は、本実施形態で前述したように、マスタサーバ21及びスレーブサーバ22と指定する。
【0081】
(ステップS101)
センサ情報送信部32は、本実施形態で前述したように、取得したセンサ状態の情報をマスタサーバ21に送信する。
【0082】
(ステップS102)
センサ情報受信部12は、実施形態1のステップS101と同様に、現在の前記センサ状態の情報を受信する。センサ情報複製部13は、本実施形態で前述したように、受信した現在のセンサ状態の情報を予測部14及びサーバ検索部26に送信する。
【0083】
(ステップS103)
予測部14は、本実施形態で前述したように、直近の未来に取り得るセンサ状態の候補の予測を行う。
【0084】
(ステップS302)
サーバ振り分け部23は、本実施形態で前述したように、レンダリングを行うマスタサーバ21又はスレーブサーバ22を選択し、センサ状態の候補を送信する。
【0085】
(ステップS303)
インデックス保存処理部24は、本実施形態で前述したように、インデックスをインデックス保存領域部25に一時保存させる。
【0086】
(ステップS104)
ステップS302で選択されたマスタサーバ21又はスレーブサーバ22のレンダリング部15は、本実施形態で前述したように、センサ状態の候補に基づくレンダリングを行う。ステップS303及びステップS104は、並行して行ってもよいし、どちらを先に行ってもよい。
【0087】
(ステップS105)
ステップS302で選択されたマスタサーバ21又はスレーブサーバ22は、実施形態1のステップS105を行う。
【0088】
(ステップS304)
サーバ検索部26は、本実施形態で前述したように、現在のセンサ状態に対応するレンダリング画像を保有するマスタサーバ21又はスレーブサーバ22を選択する。
【0089】
(ステップS305)
サーバ問い合わせ部27は、本実施形態で前述したように、ステップS304で選択されたマスタサーバ21又はスレーブサーバ22の画像選択部18に現在のセンサ状態を送信する。
【0090】
(ステップS201)
ステップS304で選択されたマスタサーバ21又はスレーブサーバ22の画像選択部18は、本実施形態で前述したように、現在のセンサ状態に対応するレンダリング画像を画像一時保存領域部17から選択する。
【0091】
(ステップS202)
ステップS304で選択されたマスタサーバ21又はスレーブサーバ22において、実施形態1のステップS202を行う。
【0092】
(ステップS203)
ステップS304で選択されたマスタサーバ21又はスレーブサーバ22からレンダリング画像を受信した端末30は、実施形態1のステップS203を行う。
【0093】
以上説明したように、本開示に係る遠隔レンダリングシステム及び画像処理方法は、複数のサーバを用いて事前レンダリングを行うことにより、サーバの空きリソースを有効活用できる。また、端末の位置情報に基づいて、端末の近傍にあるサーバから画像を送信することにより、通信による遅延を削減することができる。
【0094】
(実施形態3)
本実施形態に係るプログラムは、サーバ装置としてコンピュータを機能させるためのプログラムである。サーバ装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。当該プログラムをインストールされたコンピュータは、図4図8で説明したサーバ装置として機能する。
【0095】
なお、上記各発明は、可能な限り組み合わせることができる。
【産業上の利用可能性】
【0096】
本開示に係る遠隔レンダリングシステムは、情報通信産業に適用することができる。
【符号の説明】
【0097】
10:遠隔レンダリングシステム
11:サーバ
12:センサ情報受信部
13:センサ情報複製部
14:予測部
15:レンダリング部
16:画像一時保存処理部
17:画像一時保存領域部
18:画像選択部
19:エンコード部
20:画像送信部
21:マスタサーバ
22:スレーブサーバ
23:サーバ振り分け部
24:インデックス保存処理部
25:インデックス保存領域部
26:サーバ検索部
27:サーバ問い合わせ部
30:端末
31:センサ情報取得部
32:センサ情報送信部
33:画像受信部
34:デコード部
35:画像表示部
50:アプリケーション管理部
51:アプリ配備実行ノード
52:ネットワーク管理ノード
53:サーバインフラ管理ノード
図1
図2
図3
図4
図5
図6
図7
図8
図9