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

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

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人大阪大学の特許一覧

特開2023-14656通信システム、装置、方法及びプログラム
<>
  • 特開-通信システム、装置、方法及びプログラム 図1
  • 特開-通信システム、装置、方法及びプログラム 図2
  • 特開-通信システム、装置、方法及びプログラム 図3
  • 特開-通信システム、装置、方法及びプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023014656
(43)【公開日】2023-01-31
(54)【発明の名称】通信システム、装置、方法及びプログラム
(51)【国際特許分類】
   H04N 21/262 20110101AFI20230124BHJP
   H04N 21/24 20110101ALI20230124BHJP
【FI】
H04N21/262
H04N21/24
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021118724
(22)【出願日】2021-07-19
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】100119677
【弁理士】
【氏名又は名称】岡田 賢治
(74)【代理人】
【識別番号】100160495
【弁理士】
【氏名又は名称】畑 雅明
(74)【代理人】
【識別番号】100115794
【弁理士】
【氏名又は名称】今下 勝博
(72)【発明者】
【氏名】椎名 亮太
(72)【発明者】
【氏名】谷口 友宏
(72)【発明者】
【氏名】藤原 稔久
(72)【発明者】
【氏名】福井 達也
(72)【発明者】
【氏名】小野 央也
(72)【発明者】
【氏名】藤橋 卓也
(72)【発明者】
【氏名】渡邊 尚
(72)【発明者】
【氏名】猿渡 俊介
(72)【発明者】
【氏名】石岡 卓将
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA22
5C164SB21S
5C164SB41P
5C164SC24P
5C164YA11
5C164YA21
(57)【要約】
【課題】本開示は、通信帯域、クライアントの計算資源、マルチユーザ対応の問題をそれぞれ解決しつつ、クラウドゲーミングにおける応答遅延を削減することを目的とする。
【解決手段】本開示は、クライアントとサーバが通信ネットワークで接続されている通信システムであって、前記サーバは、前記クライアントから受信したコマンドに基づいて、前記クライアントから送信されるコマンドを予測し、予測したコマンドに対応する映像を生成し、前記クライアントからコマンドを受信すると、受信したコマンドを前記予測したコマンドと照合し、受信したコマンドが前記予測したコマンドである場合、前記生成した映像を前記クライアントに送信する、通信システムである。
【選択図】図2

【特許請求の範囲】
【請求項1】
クライアントとサーバが通信ネットワークで接続されている通信システムであって、
前記サーバは、
前記クライアントから受信したコマンドに基づいて、前記クライアントから送信されるコマンドを予測し、
予測したコマンドに対応する映像を生成し、
前記クライアントからコマンドを受信すると、受信したコマンドを前記予測したコマンドと照合し、
受信したコマンドが前記予測したコマンドである場合、前記生成した映像を前記クライアントに送信する、
通信システム。
【請求項2】
前記サーバは、前記クライアントから送信されるコマンドを複数予測し、
予測した各コマンドに対応する映像を生成し、
前記クライアントからコマンドを受信すると、前記予測したコマンドのなかから受信したコマンドに一致するコマンドを抽出し、
抽出したコマンドに対応する映像を前記クライアントに送信する、
請求項1に記載の通信システム。
【請求項3】
通信ネットワークを通してクライアントと接続されているサーバとして機能する装置であって、
前記クライアントから受信したコマンドに基づいて、前記クライアントから送信されるコマンドを予測し、
予測したコマンドに対応する映像を生成し、
前記クライアントからコマンドを受信すると、受信したコマンドを前記予測したコマンドと照合し、
受信したコマンドが前記予測したコマンドである場合、前記生成した映像を前記クライアントに送信する、
装置。
【請求項4】
通信ネットワークを通してクライアントと接続されているサーバが実行する方法であって、
前記クライアントから受信したコマンドに基づいて、前記クライアントから送信されるコマンドを予測し、
予測したコマンドに対応する映像を生成し、
前記クライアントからコマンドを受信すると、受信したコマンドを前記予測したコマンドと照合し、
受信したコマンドが前記予測したコマンドである場合、前記生成した映像を前記クライアントに送信する、
方法。
【請求項5】
請求項3に記載の装置に備わる各機能部をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
クラウドゲーミング(Cloud-gaming)においてユーザの体感品質を向上させる技術に関する。
【背景技術】
【0002】
(クラウドゲーミング)
クラウドゲーミングは、サーバ上で実行しているゲームを遠隔の端末で遊ぶためのサービスであり、ユーザの操作に応じて発生するコマンドに対応するゲーム映像を端末に逐次伝送する。本方式では、クライアントである端末がゲーム処理を必要としないため、処理能力の低い端末でも高精細なゲームを遊ぶことが可能である。一方、映像伝送に起因するネットワーク遅延の増大に伴い、ユーザの体感品質が低下する。
【0003】
クラウドゲーミングにおけるサーバとクライアント間のトランザクションでは、以下のステップを実行する。
S1:クライアントが、入力装置に入力されたコマンドを送信する。
S2:サーバが、通信ネットワークを介してコマンドを受信する。
S3:サーバが、届いたコマンドでゲームを更新するとともに、ゲーム映像を生成する。
S4:サーバが、更新したゲーム映像をクライアントに送信する。
【0004】
クラウドゲーミングでは、応答遅延(プレイヤによる操作からゲーム映像の受信までの時間)が増加すると、プレイヤのゲーム体験に影響を与えることになる。そこで、サーバ・クライアント連携型投機的処理を実施する技術が提案されている(例えば、非特許文献1参照。)。
【0005】
非特許文献1では、サーバ側で投機的処理によってユーザの入力を推定し、候補となる複数のゲーム映像を生成したのち伝送する。推定が正確だった場合、クライアントで入力されたコマンドに対し、クライアント側で即座にゲーム映像を出力する。推定が不正確だった場合、クライアントは、サーバから受信したゲーム映像に補正を行い、適切なゲーム映像を生成する。
【0006】
しかし、サーバ・クライアント連携型投機的処理では、以下の課題が存在する。
第1の課題:通信帯域
推定したゲーム映像の複数パターンをクライアント側に送るため、通常の映像伝送の数倍の通信帯域が必要となる。
第2の課題:クライアントのリソース
クライアント側での映像補償処理が必要であるため、クライアント側にも画像処理が可能な計算リソースを用意する必要が生じる。特にクライアントがスマートフォンなどの計算資源少ない端末の場合、映像補償処理が行えない場合がある。
第3の課題:マルチユーザへの対応
クライアント側で映像補償処理を行うために、複数ユーザが同時にゲームに参加してプレイするマルチプレイ型のゲームでは導入が難しい。さらにプレイヤ間でゲーム情報が非同期になるため、不公平なゲーム体験を誘発してしまう。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】K. Lee et al., “Outatime: Using speculation to enable low-latency continuous interaction for mobile cloud gaming”, Proceedings of the 13th Annual International Conference on Mobile Systems Applications and Services, pp. 151-165, May 2015.https://doi.org/10.1145/2742647.2742656
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示は、前述の通信帯域、クライアントの計算資源、マルチユーザ対応の問題をそれぞれ解決しつつ、クラウドゲーミングにおける応答遅延を削減することを目的とする。
【課題を解決するための手段】
【0009】
本開示の通信システムは、
クライアントとサーバが通信ネットワークで接続されている通信システムであって、
前記サーバは、
前記クライアントから受信したコマンドに基づいて、前記クライアントから送信されるコマンドを予測し、
予測したコマンドに対応する映像を生成し、
前記クライアントからコマンドを受信すると、受信したコマンドを前記予測したコマンドと照合し、
受信したコマンドが前記予測したコマンドである場合、前記生成した映像を前記クライアントに送信する。
【0010】
本開示の装置は、
通信ネットワークを通してクライアントと接続されているサーバとして機能する装置であって、
前記クライアントから受信したコマンドに基づいて、前記クライアントから送信されるコマンドを予測し、
予測したコマンドに対応する映像を生成し、
前記クライアントからコマンドを受信すると、受信したコマンドを前記予測したコマンドと照合し、
受信したコマンドが前記予測したコマンドである場合、前記生成した映像を前記クライアントに送信する。
【0011】
本開示の方法は、
通信ネットワークを通してクライアントと接続されているサーバが実行する方法であって、
前記クライアントから受信したコマンドに基づいて、前記クライアントから送信されるコマンドを予測し、
予測したコマンドに対応する映像を生成し、
前記クライアントからコマンドを受信すると、受信したコマンドを前記予測したコマンドと照合し、
受信したコマンドが前記予測したコマンドである場合、前記生成した映像を前記クライアントに送信する。
【0012】
本開示のプログラムは、本開示に係る装置に備わる各機能部としてコンピュータを実現させるためのプログラムであり、本開示に係る装置が実行する方法に備わる各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【0013】
本開示によれば、サーバからクライアントへ送信するゲーム映像はクライアントから送信されたコマンドに対応するもののみであり、クライアントにおいてゲーム映像の映像補償処理を行わないため、通信帯域、クライアントの計算資源、マルチユーザ対応の問題をそれぞれ解決しつつ、クラウドゲーミングにおける応答遅延を削減することができる。
【図面の簡単な説明】
【0014】
図1】本開示のシステム構成例を示す。
図2】本開示の通信システムにおけるサーバとクライアントとの処理の流れの一例を示す。
図3】サーバにおいて予測を行わない場合のサーバとクライアントとの処理の流れの一例を示す。
図4】クライアント及びサーバにおける処理フローの一例を示す。
【発明を実施するための形態】
【0015】
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、本開示は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本開示は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【0016】
(本開示の概要)
図1に、本開示のシステム構成例を示す。本開示の通信システムは、クライアント11とサーバ13が通信ネットワーク12で接続されている。クライアント11の数は1以上の任意の数でありうる。本開示のシステムは、サーバ型投機的な処理を実行する。また本開示のクライアント11及びサーバ13は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0017】
具体的には、本開示は、サーバ13において、次に発生する可能性のあるコマンドを予測し、予測したコマンドについて確率が高い順にゲーム映像を生成し、これらをレンダリングしてバッファリングする。実際にクライアント11で入力されたコマンドを受信すると、サーバ13は、事前にレンダリングしたゲーム映像のなかから、実際に受信したコマンドと対になっているゲーム映像を選択してクライアント11に送信する。
【0018】
図2に、本開示の通信システムにおけるサーバ13とクライアント11との処理の流れの一例を示す。
時間tにクライアント11が送信したコマンドiは、時間tにサーバ13で受信される。
【0019】
サーバ13は、コマンドiを受信すると、以下の処理を実行する。
S21:サーバ13は、コマンドi以前の複数の状態を元に、次に発生する可能性のあるコマンドを予測する。本実施形態では、サーバ13は、コマンドiに対して次回のコマンドを複数予測する。予測結果は予測コマンド群(i ,i ,i ,…i )とする。ここで、nは1以上の任意の自然数である。予測コマンド群(i ,i ,i ,…i )の予測は、例えば、次に発生する可能性のあるコマンドを確率の高い順に出力する任意の予測アルゴリズムを用いることができ、例えばN階マルコフ連鎖が例示できる。この場合、コマンドi以前のN個のコマンドを用いて、予測アルゴリズムの入力となる入力シーケンスを作成する。
【0020】
S22:サーバ13は、予測した予測コマンド群(i ,i ,i ,…i )について、確率が高い順に映像フレーム群(p ,p ,p ,…p )の生成等を実施し、予測コマンド群(i ,i ,i ,…i )と映像フレーム群(p ,p ,p ,…p )をレンダリングしてバッファリングする。このとき、コマンドと当該コマンドに対応する映像フレームを紐づけて格納する。
【0021】
S23:サーバ13は、実際のコマンドiを受信すると、予測コマンド群(i ,i ,i ,…i )のなかから実際のコマンドiに一致するコマンドを抽出し、抽出したコマンドiと対になる映像フレームpをクライアント11に送信する。これにより、クライアント11側で映像フレームpが表示される。
【0022】
ここで、クライアント11が複数台であるマルチユーザの場合、サーバ13は、クライアント11ごとにステップS21~S23を実行する。このとき、サーバ13は、クライアント11からのコマンドを識別し、クライアント11への映像フレームpの送信を同期させる。これにより、各クライアント11は共通のゲーム情報を元にしたゲーム映像を取得することができる。
【0023】
図3に、サーバ13において予測を行わない場合のサーバ13とクライアント11との処理の流れの一例を示す。サーバ13において予測を行わない場合、サーバ13は、コマンドiを受信した時間tから映像フレームpの生成等を開始する。このため、サーバ13から映像フレームpを送信するタイミングは、映像フレームpの生成に要する時間ΔR1だけ遅くなる。
【0024】
(本開示のメリット)
(1)必要とする通信帯域を削減
サーバ13側で予測したコマンド群に対応する映像を保持して、クライアント11の要求に対応する映像フレームのみを選択的に送信するため、通信帯域を逼迫しない。
(2)クライアント11側での映像補償処理が不要
クライアント11側は高度な画像処理用のモジュールを必要としない。
(3)マルチユーザへの対応が可能
サーバ13側では複数のクライアント11の行動予測から映像フレームのレンダリングや映像フレームの選択までを一括して管理することができる。このため、各クライアント11は共通のゲーム情報を元にしたゲーム映像を取得することができる。
【0025】
(4)エンコードに要する遅延の軽減
クライアント11から送信されたコマンドがサーバ13へ到着する前の時間を使って、サーバ13でゲーム映像のエンコードを済ませておいてもよい。これにより、クライアント11の要求に対するゲーム映像のエンコード時間を削減可能である。
【0026】
図4に、クライアント11及びサーバ13における処理フローの一例を示す。
クライアント11は、サーバ13に対して、コマンドiを送信する(S11)。サーバ13は、コマンドiを受信すると(S31)、次に発生する可能性のあるコマンドを予測する(S32)。また、サーバ13は、コマンドiに対して次回のコマンドを複数予測する。
【0027】
ここで、予測アルゴリズムとしてはN階マルコフ連鎖を用いることができる。N階マルコフ連鎖とは、次の状態が現在を含めた過去N個の状態履歴に依存して決まる確率過程を、N階マルコフ連鎖という。本開示では、iを含めたN個の入力シーケンスを入力とし、確率的に高確率なn個の出力シーケンスを得る。出力シーケンスが予測コマンド群(i ,i ,i ,…i )に相当する。
【0028】
サーバ13は、予測コマンド群(i ,i ,i ,…i )に対応する映像フレームを生成し、任意の圧縮アルゴリズムでエンコードする(S33)。予測コマンド群(i ,i ,i ,…i )に対応するエンコードし生成した映像フレーム群は(p ,p ,p ,…p )とする。エンコードする順番は、例えばi に対応する映像フレームから順番にエンコードしてもよいし、状態遷移から可能性の高い順にエンコードしてもよい。
【0029】
サーバ13は、更新タイミングを判定する(S34)。予測コマンド群(i ,i ,i ,…i )に対応する映像フレームのエンコードを、ゲームの更新タイミングがくるまで継続する。ここで、更新タイミングは、クライアント11において映像を更新するタイミングであり、図2に示す時間t及び時間tで示すような、コマンドに対応する映像フレームをクライアント11に送信するタイミングに対応する。このタイミングは固定であってもよいが、適応的に更新タイミングをずらしてもよい。
【0030】
サーバ13は、エンコードを行うか否かの判定を行う(S35)。クライアント11から実際に到着したコマンドiと予測コマンド群(i ,i ,i ,…i )を比較し、クライアント11から実際に到着したコマンドiに対応する生成済の映像フレーム(例えばp)があれば(S35においてYes)、それを抽出し映像フレームをクライアント11に対して送信する(S37)。一方、クライアント11から実際に到着したコマンドiに対応する生成済の映像フレーム(例えばp )がなければ(S35においてNo)、サーバ13は、エンコード処理を実施し(S36)、エンコードした映像フレームをクライアント11に対して送信する(S37)。これにより、クライアント11から実際に到着したコマンドに対応する映像が送信される。
【0031】
クライアント11は、サーバ13から送信された映像を受信し(S12)、デコードを行い(S13)、描画処理を実行する(S14)。これにより、クライアント11で実際に入力されたコマンドiに対応する映像がクライアント11で表示される。
【0032】
なお、上述の実施形態では、出力シーケンスが2以上の例を示すが、n=1であってもよい。この場合、サーバ13は、クライアント11からコマンドを受信すると、受信したコマンドを予測したコマンドと照合し、受信したコマンドが予測したコマンドである場合、生成した映像を前記クライアントに送信する。
【産業上の利用可能性】
【0033】
本開示は情報通信産業に適用することができる。
【符号の説明】
【0034】
11:クライアント
12:通信ネットワーク
13:サーバ
図1
図2
図3
図4