(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】プログラム、クライアント端末、ゲームシステム、及び処理方法
(51)【国際特許分類】
A63F 13/52 20140101AFI20240305BHJP
A63F 13/355 20140101ALI20240305BHJP
H04N 21/44 20110101ALI20240305BHJP
【FI】
A63F13/52
A63F13/355
H04N21/44
(21)【出願番号】P 2023052653
(22)【出願日】2023-03-29
【審査請求日】2023-07-07
【早期審査対象出願】
(73)【特許権者】
【識別番号】511249637
【氏名又は名称】株式会社Cygames
(74)【代理人】
【識別番号】100110928
【氏名又は名称】速水 進治
(74)【代理人】
【識別番号】100127236
【氏名又は名称】天城 聡
(72)【発明者】
【氏名】倉林 修一
【審査官】前地 純一郎
(56)【参考文献】
【文献】特表2021-525034(JP,A)
【文献】特表2021-509838(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
クライアント端末のコンピュータを、
実行中のゲームの進行に関わるユーザ入力を受付ける受付部、
前記ユーザ入力の内容を示す入力情報をサーバに送信する送信部、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部、
前記ストリーミング画像が欠落する事象を検出する検出部、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部、及び、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部、
として機能させ
、
前記生成部は、
新たな前記ストリーミング画像が受信される毎に、前記推定モデルと前記複数のストリーミング画像とに基づき、次に受信される前記ストリーミング画像の内容の推定結果を示す前記補完ストリーミング画像を生成し、
前記表示制御部は、
前記検出部により前記ストリーミング画像が欠落する事象が検出された場合、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させるプログラム。
【請求項2】
前記コンピュータを、提供サーバから前記推定モデルを取得する取得部としてさらに機能させる請求項1に記載のプログラム。
【請求項3】
前記取得部は、複数のゲーム各々に対応して用意された複数の前記推定モデルの中のいずれかを、前記提供サーバから取得する請求項2に記載のプログラム。
【請求項4】
前記取得部は、複数のゲームの中のユーザ入力で選択されたゲームに対応する前記推定モデルを前記提供サーバから取得する請求項3に記載のプログラム。
【請求項5】
前記検出部は、基準タイミングから所定時間以内に次の前記ストリーミング画像が届かない場合に、前記ストリーミング画像が欠落したと判断する請求項1に記載のプログラム。
【請求項6】
前記推定モデルは、前記複数のストリーミング画像から推定されるオプティカルフローと深度情報とに基づき、前記補完ストリーミング画像を生成する請求項1に記載のプログラム。
【請求項7】
実行中のゲームの進行に関わるユーザ入力を受付ける受付部と、
前記ユーザ入力の内容を示す入力情報をサーバに送信する送信部と、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部と、
前記ストリーミング画像が欠落する事象を検出する検出部と、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部と、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部と、
を有
し、
前記生成部は、
新たな前記ストリーミング画像が受信される毎に、前記推定モデルと前記複数のストリーミング画像とに基づき、次に受信される前記ストリーミング画像の内容の推定結果を示す前記補完ストリーミング画像を生成し、
前記表示制御部は、
前記検出部により前記ストリーミング画像が欠落する事象が検出された場合、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させるクライアント端末。
【請求項8】
クライアント端末が、
実行中のゲームの進行に関わるユーザ入力を受付け、
前記ユーザ入力の内容を示す入力情報をサーバに送信し、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信し、
前記ストリーミング画像が欠落する事象を検出し、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成し、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させ
、
前記補完ストリーミング画像を生成する処理として、
新たな前記ストリーミング画像が受信される毎に、前記推定モデルと前記複数のストリーミング画像とに基づき、次に受信される前記ストリーミング画像の内容の推定結果を示す前記補完ストリーミング画像を生成する処理を行い、
前記補完ストリーミング画像を前記表示装置に表示させる処理として、
前記ストリーミング画像が欠落する事象が検出された場合、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる処理を行う処理方法。
【請求項9】
クライアント端末とサーバとを有し、
前記クライアント端末は、
実行中のゲームの進行に関わるユーザ入力を受付ける受付部と、
前記ユーザ入力の内容を示す入力情報を前記サーバに送信する送信部と、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部と、
前記ストリーミング画像が欠落する事象を検出する検出部と、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部と、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部と、
を有し、
前記生成部は、
新たな前記ストリーミング画像が受信される毎に、前記推定モデルと前記複数のストリーミング画像とに基づき、次に受信される前記ストリーミング画像の内容の推定結果を示す前記補完ストリーミング画像を生成し、
前記表示制御部は、
前記検出部により前記ストリーミング画像が欠落する事象が検出された場合、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させ、
前記サーバは、
前記入力情報を前記クライアント端末から受信する入力情報受信部と、
前記入力情報に基づき前記実行中のゲームを進行させる処理を実行し、前記実行中のゲームの進行の結果を示す前記ストリーミング画像を生成するゲーム進行部と、
前記ストリーミング画像を前記クライアント端末に送信する画像送信部と、
を有するゲームシステム。
【請求項10】
前記サーバは、生成した前記ストリーミング画像の一部を前記クライアント端末に送信しない請求項9に記載のゲームシステム。
【請求項11】
前記サーバは、生成した前記ストリーミング画像の中の所定時間おきの前記ストリーミング画像を、前記クライアント端末に送信しない請求項9又は10に記載のゲームシステム。
【請求項12】
前記サーバは、前記サーバの負荷が所定レベルより大きくなっている場合、生成した前記ストリーミング画像の一部を前記クライアント端末に送信しない請求項9又は10に記載のゲームシステム。
【請求項13】
クライアント端末とサーバとを有するゲームシステムの前記クライアント端末が、
実行中のゲームの進行に関わるユーザ入力を受付け、
前記ユーザ入力の内容を示す入力情報を前記サーバに送信し、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信し、
前記ストリーミング画像が欠落する事象を検出し、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成し、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させ、
前記補完ストリーミング画像を生成する処理として、
新たな前記ストリーミング画像が受信される毎に、前記推定モデルと前記複数のストリーミング画像とに基づき、次に受信される前記ストリーミング画像の内容の推定結果を示す前記補完ストリーミング画像を生成する処理を行い、
前記補完ストリーミング画像を前記表示装置に表示させる処理として、
前記ストリーミング画像が欠落する事象が検出された場合、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる処理を行い、
前記サーバが、
前記入力情報を前記クライアント端末から受信し、
前記入力情報に基づき前記実行中のゲームを進行させる処理を実行し、前記実行中のゲームの進行の結果を示す前記ストリーミング画像を生成し、
前記ストリーミング画像を前記クライアント端末に送信する処理方法。
【請求項14】
前記サーバは、生成した前記ストリーミング画像の一部を前記クライアント端末に送信しない請求項13に記載の処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、クライアント端末、クライアント端末の処理方法、ゲームシステム、及びゲームシステムの処理方法に関する。
【背景技術】
【0002】
クラウドゲーミングに関する技術が特許文献1に開示されている。クラウドゲーミングでは、ゲームプログラムはクラウド上のサーバで実行される。すなわち、クライアント端末は、ユーザ入力に基づく入力イベントをサーバに送信する。サーバは、当該入力イベントに基づきゲームプログラムを実行してゲームを進行し、進行後のゲームの画像を生成後、ストリーミングでその画像をクライアント端末に送信する。クライアント端末は、受信した画像をディスプレイ等に表示する。昨今のGPU(Graphics Processing Unit)の並列性能の向上やGPU仮想化技術の進歩、そして、5Gに代表される広帯域ネットワークの登場に伴い、クラウドゲーミングが注目されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
クラウドゲーミングで採用するストリーミングにおいては、ネットワークの遅延等に起因して数フレーム分程度の画像が欠落する問題がある。自然なゲーム画面を維持する上で、当該問題は大きな障害となる。当該問題に対する従来の技術は、サーバ側で投機的にレンダリングした画像を先行してクライアント端末に送信するものであり、ネットワークとサーバへの負荷が大きい。特許文献1は、当該課題を解決する手段を開示していない。
【0005】
本発明の課題は、画像のストリーミングが数フレーム程度分欠落することで自然な画面を維持できなくなる問題を解決することである。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、
クライアント端末のコンピュータを、
実行中のゲームの進行に関わるユーザ入力を受付ける受付部、
前記ユーザ入力の内容を示す入力情報をサーバに送信する送信部、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部、
前記ストリーミング画像が欠落する事象を検出する検出部、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部、及び、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部、
として機能させるプログラムが提供される。
【0007】
また、本発明の他の一態様によれば、
実行中のゲームの進行に関わるユーザ入力を受付ける受付部と、
前記ユーザ入力の内容を示す入力情報をサーバに送信する送信部と、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部と、
前記ストリーミング画像が欠落する事象を検出する検出部と、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部と、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部と、
を有するクライアント端末が提供される。
【0008】
また、本発明の他の一態様によれば、
クライアント端末が、
実行中のゲームの進行に関わるユーザ入力を受付け、
前記ユーザ入力の内容を示す入力情報をサーバに送信し、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信し、
前記ストリーミング画像が欠落する事象を検出し、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成し、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる処理方法が提供される。
【0009】
また、本発明の他の一態様によれば、
クライアント端末とサーバとを有し、
前記クライアント端末は、
実行中のゲームの進行に関わるユーザ入力を受付ける受付部と、
前記ユーザ入力の内容を示す入力情報を前記サーバに送信する送信部と、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部と、
前記ストリーミング画像が欠落する事象を検出する検出部と、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部と、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部と、
を有し、
前記サーバは、
前記入力情報を前記クライアント端末から受信する入力情報受信部と、
前記入力情報に基づき前記実行中のゲームを進行させる処理を実行し、前記実行中のゲームの進行の結果を示す前記ストリーミング画像を生成するゲーム進行部と、
前記ストリーミング画像を前記クライアント端末に送信する画像送信部と、
を有するゲームシステムが提供される。
【0010】
また、本発明の他の一態様によれば、
クライアント端末とサーバとを有するゲームシステムの前記クライアント端末が、
実行中のゲームの進行に関わるユーザ入力を受付け、
前記ユーザ入力の内容を示す入力情報を前記サーバに送信し、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信し、
前記ストリーミング画像が欠落する事象を検出し、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成し、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させ、
前記サーバが、
前記入力情報を前記クライアント端末から受信し、
前記入力情報に基づき前記実行中のゲームを進行させる処理を実行し、前記実行中のゲームの進行の結果を示す前記ストリーミング画像を生成し、
前記ストリーミング画像を前記クライアント端末に送信する処理方法が提供される。
【発明の効果】
【0011】
本発明の一態様によれば、画像のストリーミングが数フレーム程度分欠落することで自然な画面を維持できなくなる問題を解決することができる。
【図面の簡単な説明】
【0012】
上述した目的、及びその他の目的、特徴及び利点は、以下に述べる好適な実施の形態、及びそれに付随する以下の図面によってさらに明らかになる。
【0013】
【
図1】ゲームシステムの機能ブロック図の一例を示す図である。
【
図2】クライアント端末及びサーバのハードウエア構成の一例を示す図である。
【
図3】クライアント端末及びサーバの機能ブロック図の一例を示す図である。
【
図4】クライアント端末が実行する補完処理を説明するための図である。
【
図5】クライアント端末の処理の流れの一例を示すフローチャートである。
【
図6】ゲームシステムの実施例を説明するための図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、図面を用いて説明する。なお、全ての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0015】
「概要」
本実施形態のゲームシステムでは、クライアント端末に、画像を補完する生成系のNN(Neural Network)モデルを備えさせる。そして、当該ゲームシステムは、クラウドゲーミングにおけるストリーミングで欠落した画像を、クライアント端末側の生成系のNNモデルを用いて補完する。具体的には、クライアント端末は、サーバからストリーミングで受信した画像を数フレーム分バッファする。そして、クライアント端末は、NNモデルを用いて、この画像列からオプティカルフロー及び深度情報の2つの情報を推論し、この2つの推論結果を用いて、欠落した画像を補完する画像を生成する。
【0016】
これにより、ネットワークの遅延等で画像のストリーミングが数フレーム程度分欠落しても、クライアント端末側のNNモデルが欠落した画像を補完することで、自然なゲーム画面を維持することができる。
【0017】
本実施形態のゲームシステムの技術的特徴は、クライアント端末側に3Dモデルやゲーム固有のロジック等の、コンテンツ固有の情報を備えさせず、サーバから得られる画像というコンテンツ非依存のロジックのみを用いてストリーミングで欠落した画像を補完する点である。本実施形態の利点は、既存のクラウドゲーミングのアーキテクチャや通信方法を大きく変更することなく、クラウドゲーミングのクライアント端末にNNモデルを備えるだけで、欠落した画像の補完を実現できる点にある。
【0018】
「全体構成」
図1に示すように、ゲームシステム1は、クライアント端末10とサーバ20とを有する。クライアント端末10とサーバ20とは通信ネットワーク30を介して互いに通信可能に接続されている。クライアント端末10は、例えばスマートフォン、タブレット端末、パーソナルコンピュータ、ゲーム機、携帯電話、スマートウォッチ等であるが、これらに限定されない。サーバ20は、例えばクラウドサーバであるがこれに限定されない。
【0019】
「ハードウエア構成」
まず、クライアント端末10のハードウエア構成の一例を説明する。クライアント端末10の各機能部は、任意のコンピュータのCPU(Central Processing Unit)、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット(予め装置を出荷する段階から格納されているプログラムのほか、CD(Compact Disc)等の記録媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる)、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【0020】
図2は、クライアント端末10のハードウエア構成を例示するブロック図である。
図2に示すように、クライアント端末10は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有する。周辺回路4Aには、様々なモジュールが含まれる。処理装置は周辺回路4Aを有さなくてもよい。なお、クライアント端末10は物理的及び/又は論理的に分かれた複数の装置で構成されてもよい。この場合、複数の装置各々が上記ハードウエア構成を備えることができる。
【0021】
バス5Aは、プロセッサ1A、メモリ2A、周辺回路4A及び入出力インターフェイス3Aが相互にデータを送受信するためのデータ伝送路である。プロセッサ1Aは、例えばCPU、GPUなどの演算処理装置である。メモリ2Aは、例えばRAM(Random Access Memory)やROM(Read Only Memory)などのメモリである。入出力インターフェイス3Aは、入力装置、外部装置、外部サーバ、外部センサ、カメラ等から情報を取得するためのインターフェイスや、出力装置、外部装置、外部サーバ等に情報を出力するためのインターフェイスなどを含む。入力装置は、例えばキーボード、マウス、マイク、物理ボタン、タッチパネル等である。出力装置は、例えばディスプレイ、スピーカ、プリンター、メーラ等である。プロセッサ1Aは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
【0022】
次に、サーバ20のハードウエア構成の一例を説明する。サーバ20の各機能部は、任意のコンピュータのCPU、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット(予め装置を出荷する段階から格納されているプログラムのほか、CD等の記録媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる)、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【0023】
図2は、サーバ20のハードウエア構成を例示するブロック図である。
図2に示すように、サーバ20は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有する。これら構成要素の機能は、上述した通りである。
【0024】
クライアント端末10及びサーバ20は、各々の目的に応じたプログラムがインストールされ、又各々の目的に応じた性能の部品が使用されることで、各々の目的に合った機能を実現する。
【0025】
「機能構成」
次に、本実施形態のゲームシステム1の機能構成を詳細に説明する。
【0026】
<クライアント端末10>
図3に、クライアント端末10の機能ブロック図の一例を示す。図示するように、クライアント端末10は、取得部11と、記憶部12と、受付部13と、送信部14と、受信部15と、検出部16と、生成部17と、表示制御部18とを有する。
【0027】
取得部11は、欠落したストリーミング画像を補完する推定モデルを取得し、記憶部12に記憶させる。
【0028】
「ストリーミング画像」は、クラウドゲーミングにおいて、サーバ20からクライアント端末10にストリーミングで送信される画像である。クラウドゲーミングにおいては、実行中のゲームの内容を示す画像(いわゆる「ゲーム画面」)がストリーミング画像として送受信される。
【0029】
「ストリーミング画像の欠落」は、所定のタイミングまでにクライアント端末10がそのストリーミング画像を受信しないことを意味する。本実施形態では、基準タイミングから所定時間以内に次のストリーミング画像が届かない(受信できない)場合に、その次のストリーミング画像が欠落したものとする。基準タイミングは、直前のストリーミング画像を受信したタイミング、又はそれに準じるタイミングである。所定時間は、予め定められる値である。
【0030】
「補完」は、時系列な複数のストリーミング画像の中の欠落したストリーミング画像を、他のストリーミング画像に基づき生成することを意味する。
【0031】
「推定モデル」は、複数の時系列なストリーミング画像から、当該複数の時系列なストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像(「補完ストリーミング画像」と呼ぶ)を生成する。
【0032】
推定モデルは、複数のストリーミング画像から推定されるオプティカルフローと深度情報とに基づき、GAN(Generative Adversarial Network)、VAE(Variational Auto-Encoder)、NeRF(Neural Radiance Fields)、IFNet等の生成系のNNモデルを用いて、補完ストリーミング画像を生成する。複数のストリーミング画像からオプティカルフロー及び深度情報を推定する手段は特段制限されず、あらゆる技術を採用できる。広く知られているDAINやRIFE等のフレーム補完モデルを推定モデルとして利用することができる。
【0033】
なお、ゲーム毎に推定モデルが用意される。各推定モデルは、各ゲームの画像で学習している。ゲーム毎に推定モデルを用意することで、補完ストリーミング画像をより高精度に生成することができる。
【0034】
取得部11は、複数のゲーム各々に対応して用意された複数の推定モデルの中のいずれか、詳細にはユーザが選択したゲームに対応する推定モデルを提供サーバから取得し、記憶部12に記憶させる。すなわち、各クライアント端末10の記憶部12には、各クライアント端末10のユーザが選択したゲームの推定モデルが記憶される。提供サーバは、ゲーム毎に設けられ、各ゲームのゲーム進行を管理するサーバ20と異なるサーバであってもよいし、同じサーバであってもよい。
【0035】
例えば、所定のウェブサイトやアプリケーションから所望のゲームを選択し、選択したゲームのアプリケーションをクライアント端末10にダウンロード及びインストールする際に、選択されたゲームに対応する推定モデルがそのクライアント端末10にダウンロード及びインストールされてもよい。すなわち、取得部11は、このようなタイミングで推定モデルを取得し、記憶部12に記憶させてもよい。
【0036】
その他、アプリケーションをクライアント端末10にダウンロード及びインストール済のゲームを実行する都度、実行開始のタイミング(例:アプリケーションを起動したタイミング、アプリケーションを起動後に所定の操作を受付けたタイミング等)で、推定モデルがそのクライアント端末10にダウンロード及びインストールされてもよい。すなわち、取得部11は、このようなタイミングで推定モデルを取得し、記憶部12に記憶させてもよい。
【0037】
なお、ここで例示した推定モデルを取得するタイミングはあくまで一例であり、これらに限定されない。
【0038】
受付部13は、実行中のゲームの進行に関わるユーザ入力を受付ける。ゲームの種類は特段制限されない。受付部13は、タッチパネル、物理ボタン、キーボード、マウス、マイク、ジェスチャー入力デバイス等のあらゆる入力装置を介して、当該ユーザ入力を受付ける。
【0039】
ユーザ入力によりもたらさせるゲームの進行への影響は、予めゲーム毎に定義されている。例えば、ユーザ入力により、キャラクターが所定方向に移動したり、キャラクターの視線方向が所定方向に変更したり、キャラクターが敵キャラクターに攻撃したり、キャラクターが防御したりする。
【0040】
送信部14は、受付部13が受付けたユーザ入力の内容を示す入力情報をサーバ20に送信する。
【0041】
受信部15は、送信部14が送信した入力情報に応じてサーバ20にて実行された実行中のゲームの進行の結果を示すストリーミング画像をサーバ20から受信する。
【0042】
表示制御部18は、受信部15が受信したストリーミング画像を表示装置に表示させる。表示装置は、ディスプレイや投影装置等である。表示制御部18は、受信部15が受信したデータに対してデコード等の所定の処理を実行した後に、ストリーミング画像を表示装置に表示させる。
【0043】
また、表示制御部18は、ストリーミング画像をバッファする。例えば、表示制御部18は、最大Nフレームのストリーミング画像をバッファ(一時的に記憶)する。Nは、推定モデルによる補完ストリーミング画像の生成に必要なストリーミング画像の数に基づき予め定められる値である。
【0044】
検出部16は、ストリーミング画像が欠落する事象を検出する。検出部16は、基準タイミングから所定時間以内に次のストリーミング画像が届かない(受信部15が受信しない)場合に、その次のストリーミング画像が欠落したと判断する。基準タイミングは、直前のストリーミング画像を受信したタイミング、又はそれに準じるタイミングである。所定時間は、予め定められる値である。
【0045】
生成部17は、記憶部12に記憶されている実行中のゲームに対応する推定モデルと、欠落したストリーミング画像よりも前に表示される複数のストリーミング画像(表示制御部18によりバッファされている実行中のゲームに関する複数のストリーミング画像)とに基づき、欠落したストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する。そして、表示制御部18は、欠落したストリーミング画像の代わりに、生成部17が生成した補完ストリーミング画像を表示装置に表示させる。
【0046】
例えば、
図4に示すように、(t+1)のタイミングにおけるストリーミング画像I(t+1)が欠落した場合、生成部17は、それよりも前に表示される複数のストリーミング画像I(0)乃至I(t)に基づき、補完ストリーミング画像I´(t+1)を生成する。そして、表示制御部18は、ストリーミング画像I(0)乃至I(t)をこの順に表示させた後、欠落したストリーミング画像I(t+1)に代えて、補完ストリーミング画像I´(t+1)を表示させる。なお、ストリーミング画像I(t)はストリーミング画像I(t+1)の直前のストリーミング画像である。
【0047】
次に、
図5のフローチャートを用いて、クライアント端末10の処理の流れの一例を説明する。
図5は、クラウドゲーミングを開始した後にクライアント端末10が実行する表示制御処理の流れを示す。
【0048】
クライアント端末10は、サーバ20からストリーミング画像を取得すると(S10)、デコード等の所定の処理を実行した後、そのストリーミング画像を表示装置に表示させる(S11)。そして、クライアント端末10は、そのストリーミング画像をバッファする(S12)。
【0049】
処理を終了する入力がなければ(S13のNo)、クライアント端末10は、次のストリーミング画像の待ち状態となる(S14)。
【0050】
次のストリーミング画像を取得していない間(S14のNo)、クライアント端末10は、基準タイミングから所定時間経過していないか監視する(S15)。基準タイミングは、直前のストリーミング画像を受信したタイミング、又はそれに準じるタイミングである。所定時間は、予め定められる値である。
【0051】
基準タイミングから所定時間経過していない場合(S15のNo)、クライアント端末10は、次のストリーミング画像の待ち状態を継続する(S14)。そして、基準タイミングから所定時間経過する前に次のストリーミング画像を取得すると(S14のYes)、クライアント端末10は、デコード等の所定の処理を実行した後、そのストリーミング画像を表示装置に表示させる(S11)。そして、クライアント端末10は、そのストリーミング画像をバッファする(S12)。
【0052】
一方、次のストリーミング画像を取得する前に、基準タイミングから所定時間経過すると(S15のYes)、クライアント端末10は、欠落したストリーミング画像の代わりとする補完ストリーミング画像を生成する(S16)。具体的には、クライアント端末10は、実行中のゲームに対応する上述した推定モデルと、バッファされている複数のストリーミング画像とに基づき、補完ストリーミング画像を生成する。
【0053】
そして、クライアント端末10は、欠落したストリーミング画像の代わりに、S16で生成した補完ストリーミング画像を表示装置に表示させる(S17)。次いで、クライアント端末10は、生成した補完ストリーミング画像をバッファする(S18)。なお、クライアント端末10は、受信したストリーミング画像のみバッファし、生成した補完ストリーミング画像はバッファしないように構成してもよい。
【0054】
以降、クライアント端末10は、上記と同様の処理を繰り返す。
【0055】
<サーバ20>
図3に、サーバ20の機能ブロック図の一例を示す。図示するように、サーバ20は、入力情報受信部21と、ゲーム進行部22と、画像送信部23とを有する。
【0056】
入力情報受信部21は、入力情報をクライアント端末10から受信する。入力情報受信部21は、上述したクライアント端末10の送信部14が送信した入力情報を受信する。
【0057】
ゲーム進行部22は、入力情報受信部21が受信した入力情報に基づき実行中のゲームを進行させる処理を実行し、実行中のゲームの進行の結果を示すストリーミング画像を生成する。入力情報に基づくゲーム進行の内容は、予めゲーム毎に定められる設計的事項である。ゲーム進行部22は、例えば、入力情報に基づき、ゲーム空間内でキャラクターを所定方向に移動させたり、キャラクターの視線方向を所定方向に変更したり、キャラクターによる敵キャラクターへの攻撃を実行したり、キャラクターによる防御を実行したりする。そして、ゲーム進行部22は、それらのゲーム進行の結果を示すストリーミング画像を新たに生成する。ゲーム進行部22によるこれらの処理は、広く知られたあらゆる技術を用いて実現される。
【0058】
画像送信部23は、ゲーム進行部22が生成したストリーミング画像をクライアント端末10に送信する。画像送信部23は、ストリーミングで、ストリーミング画像をクライアント端末10に送信する。
【0059】
「実施例」
次に、本実施形態の実施例を説明する。本実施例は、時系列な複数のストリーミング画像I(0),I(1),I(2),...I(t)が与えられた時、(t+1)のタイミングのストリーミング画像I(t+1)を生成するニューラルネットワークモデルをクラウドゲーミングのクライアント側に導入する技術としてモデル化できる(
図6)。
【0060】
本実施例の最も重要な構成は、クラウド側からのストリーミング状況を監視し、ストリームが途切れた時にフレーム補完を実行する点にある。本システムは、
図6のクライアント側において実装される次の3つのモジュールから構成される。
【0061】
[M1]Drop Detectorは、クラウド側でレンダリングされたフレーム情報(ストリーミング画像)のストリーミング受信状況を監視し、所定時間の間に次のフレーム情報が到着しない場合は、[M3]Neural Frame Inference Engineを起動し、未着のフレーム情報を補完する。また、[M1]Drop Detectorは、クラウドから受信したフレーム情報を、[M2]Frame Bufferに格納する。所定時間は設計的事項であるが、例えば、1秒あたり30枚のストリーミング画像を受信する30fpsのゲームでは、1枚のストリーミング画像の受信待ち時間は約0.033秒(33ミリ秒)となる。
【0062】
[M2]Frame Bufferは固定長のリングバッファであり、最大Nフレームのストリーミング画像を保持する。本システムは、このN枚のストリーミング画像から深度情報やオプティカルフローを推論し、欠落したストリーミング画像を補完する。具体的には、[M2]Frame Bufferが格納する画像が、上述した時系列な複数のストリーミング画像I(0),I(1),I(2),...I(t)に対応する。
【0063】
[M3]Neural Frame Inference Engineは、例えばDAINやRIFE等のニューラルネットワークモデルを用いて、[M2]Frame Bufferが格納する時系列な複数のストリーミング画像I(0),I(1),I(2),...I(t)を入力として、(t+1)のタイミングのストリーミング画像I(t+1)を生成する。
【0064】
「作用効果」
本実施形態のゲームシステム1では、クラウドゲーミングのエッジサイド(クライアント端末10側)に、それまでにストリーミングされたストリーミング画像(ゲーム画面)から次のストリーミング画像を生成する生成系のNNモデル(推定モデル)を導入し、所定時間内に次のストリーミング画像が届かない欠落が生じた場合に、エッジサイドでその欠落したストリーミング画像を生成する。これにより、ネットワークの遅延等で数フレーム程度分のストリーミング画像が欠落しても、エッジサイドの推定モデルがその欠落したストリーミング画像を補完することで、自然なゲーム画面を維持することができる
【0065】
本実施形態のゲームシステム1の技術的特徴は、クライアント端末10に3Dモデルやゲーム固有のロジック等の、コンテンツ固有の情報を持たせずに、サーバ20から得られる画像情報というコンテンツ非依存のロジックのみを用いて欠落したストリーミング画像を補完する点である。
【0066】
本実施形態のゲームシステム1の利点は、既存のクラウドゲーミングのアーキテクチャや通信方法を大きく変更することなく、クラウドゲーミングのクライアント端末10にプレイするゲームに対応した推定モデルをダウンロードすることで、欠落したストリーミング画像の補完を実現できる点にある。本実施形態のゲームシステム1は、ストリーミング画像の欠落の問題を解決するときに、その副次的な問題である既存のクラウドゲーミングシステムとの互換性も解消する。
【0067】
本実施形態のゲームシステム1は、サーバ20側の負荷を上げることなく、クライアント端末10側のプロセッサを活用しながら、極めて汎用的なネットワーク遅延の補完を行う。従来のゲーム用ネットワーク遅延補完技術は、特定のゲームジャンルやゲームコンテンツに依存したものが多く、汎用的な遅延対策技術の実現は困難であった。本実施形態のゲームシステム1は、クラウドレンダリングにおいて用いられるデータ構造が、極めてシンプルなビデオストリームであることに着目し、そのビデオストリームのフレーム補完を行うことで通信遅延の補完を行う優れた技術である。
【0068】
「変形例」
次に、本実施形態の変形例を説明する。当該変形例においても、本実施形態と同様の作用効果が実現される。
【0069】
<変形例1>
サーバ20は、意図的に所定のタイミングで数フレーム分程度のストリーミング画像をクライアント端末10に送信せず、欠落させてもよい。このようにしても、クライアント端末10側で欠落したストリーミング画像を補完するので、問題ない。このようにすることで、サーバ20の負荷を軽減できる。
【0070】
例えば、サーバ20は、予め定められた所定時間毎に、数フレーム分程度のストリーミング画像を未送信としてもよい。その他、サーバ20は、予め定められた所定の条件を満たしている場合に、予め定められた所定時間毎に、数フレーム分程度のストリーミング画像を未送信としてもよい。所定の条件は、サーバ20の負荷が所定レベルより大きくなっていることであり、例えば「サーバ20に接続しているクライアント端末10の数(ゲームを実行中のプレイヤの数)が閾値以上」等と定義される。
【0071】
<変形例2>
上述した本実施形態では、生成部17は、検出部16がストリーミング画像の欠落を検出したことに応じて、その欠落したストリーミング画像を補完する補完ストリーミング画像を生成した。変形例として、生成部17は、検出部16によるストリーミング画像の欠落の検出に関係なく、全てのストリーミング画像に対応する補完ストリーミング画像を生成してもよい。当該変形例の場合、生成部17は、より早いタイミングで、補完ストリーミング画像を生成することができる。理論上、生成部17は、ストリーミング画像I(0),I(1),I(2),...I(t)が揃った段階で、ストリーミング画像I(t+1)を補完する補完ストリーミング画像I´(t+1)を生成する処理を開始することができる。
【0072】
当該変形例では、表示制御部18は、検出部16により欠落が検出されなかった場合、受信部15がサーバ20から受信したストリーミング画像を表示装置に表示させる。そして、表示制御部18は、検出部16により欠落が検出された場合、生成部17が生成した補完ストリーミング画像を表示装置に表示させる。
【0073】
<変形例3>
本実施形態の技術は、クラウドゲーミングに代えて、ゲーム配信やアニメ等のストリーミング配信で利用することもできる。
【0074】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。上述した実施形態の構成は、互いに組み合わせたり、一部の構成を他の構成に入れ替えたりしてもよい。また、上述した実施形態の構成は、趣旨を逸脱しない範囲内において種々の変更を加えてもよい。また、上述した各実施形態や変形例に開示される構成や処理を互いに組み合わせてもよい。
【0075】
また、上述の説明で用いたフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施の形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施の形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施の形態は、内容が相反しない範囲で組み合わせることができる。
【0076】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
1. クライアント端末のコンピュータを、
実行中のゲームの進行に関わるユーザ入力を受付ける受付部、
前記ユーザ入力の内容を示す入力情報をサーバに送信する送信部、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部、
前記ストリーミング画像が欠落する事象を検出する検出部、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部、及び、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部、
として機能させるプログラム。
2. 前記コンピュータを、提供サーバから前記推定モデルを取得する取得部としてさらに機能させる1に記載のプログラム。
3. 前記取得部は、複数のゲーム各々に対応して用意された複数の前記推定モデルの中のいずれかを、前記提供サーバから取得する2に記載のプログラム。
4. 前記取得部は、複数のゲームの中のユーザ入力で選択されたゲームに対応する前記推定モデルを前記提供サーバから取得する3に記載のプログラム。
5. 前記検出部は、基準タイミングから所定時間以内に次の前記ストリーミング画像が届かない場合に、前記ストリーミング画像が欠落したと判断する1に記載のプログラム。
6. 前記推定モデルは、前記複数のストリーミング画像から推定されるオプティカルフローと深度情報とに基づき、前記補完ストリーミング画像を生成する1に記載のプログラム。
7. 実行中のゲームの進行に関わるユーザ入力を受付ける受付部と、
前記ユーザ入力の内容を示す入力情報をサーバに送信する送信部と、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部と、
前記ストリーミング画像が欠落する事象を検出する検出部と、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部と、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部と、
を有するクライアント端末。
8. クライアント端末が、
実行中のゲームの進行に関わるユーザ入力を受付け、
前記ユーザ入力の内容を示す入力情報をサーバに送信し、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信し、
前記ストリーミング画像が欠落する事象を検出し、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成し、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる処理方法。
9. クライアント端末とサーバとを有し、
前記クライアント端末は、
実行中のゲームの進行に関わるユーザ入力を受付ける受付部と、
前記ユーザ入力の内容を示す入力情報を前記サーバに送信する送信部と、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信する受信部と、
前記ストリーミング画像が欠落する事象を検出する検出部と、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成する生成部と、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させる表示制御部と、
を有し、
前記サーバは、
前記入力情報を前記クライアント端末から受信する入力情報受信部と、
前記入力情報に基づき前記実行中のゲームを進行させる処理を実行し、前記実行中のゲームの進行の結果を示す前記ストリーミング画像を生成するゲーム進行部と、
前記ストリーミング画像を前記クライアント端末に送信する画像送信部と、
を有するゲームシステム。
10. クライアント端末とサーバとを有するゲームシステムの前記クライアント端末が、
実行中のゲームの進行に関わるユーザ入力を受付け、
前記ユーザ入力の内容を示す入力情報を前記サーバに送信し、
前記入力情報に応じて前記サーバにて実行された前記実行中のゲームの進行の結果を示すストリーミング画像を前記サーバから受信し、
前記ストリーミング画像が欠落する事象を検出し、
前記実行中のゲームに関する複数のストリーミング画像から、前記複数のストリーミング画像の後に表示するストリーミング画像の内容を推定し、推定した内容を示すストリーミング画像を生成する推定モデルと、欠落した前記ストリーミング画像よりも前に表示される複数の前記ストリーミング画像とに基づき、欠落した前記ストリーミング画像の内容の推定結果を示す補完ストリーミング画像を生成し、
前記ストリーミング画像を表示装置に表示させ、欠落した前記ストリーミング画像の代わりに前記補完ストリーミング画像を前記表示装置に表示させ、
前記サーバが、
前記入力情報を前記クライアント端末から受信し、
前記入力情報に基づき前記実行中のゲームを進行させる処理を実行し、前記実行中のゲームの進行の結果を示す前記ストリーミング画像を生成し、
前記ストリーミング画像を前記クライアント端末に送信する処理方法。
【符号の説明】
【0077】
1 ゲームシステム
10 クライアント端末
11 取得部
12 記憶部
13 受付部
14 送信部
15 受信部
16 検出部
17 生成部
18 表示制御部
20 サーバ
21 入力情報受信部
22 ゲーム進行部
23 画像送信部
30 通信ネットワーク
1A プロセッサ
2A メモリ
3A 入出力I/F
4A 周辺回路
5A バス
【要約】
【課題】クラウドゲーミングにおいて、画像のストリーミングが数フレーム程度分欠落することで自然なゲーム画面を維持できなくなる問題を解決する。
【解決手段】本発明では、クライアント端末が、欠落したストリーミング画像を補完する推定モデルを備える。推定モデルは、欠落したストリーミング画像I(t+1)よりも前に表示されるストリーミング画像I(0)乃至I(t)からオプティカルフローと深度情報を推定し、推定結果に基づきストリーミング画像I´(t+1)を生成する。クライアント端末は、欠落したストリーミング画像I(t+1)の代わりに、生成したストリーミング画像I´(t+1)を表示する。
【選択図】
図4