(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024058838
(43)【公開日】2024-04-30
(54)【発明の名称】映像送信システム及び映像送信方法
(51)【国際特許分類】
A63F 13/358 20140101AFI20240422BHJP
A63F 13/52 20140101ALI20240422BHJP
H04N 21/2668 20110101ALI20240422BHJP
【FI】
A63F13/358
A63F13/52
H04N21/2668
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022166197
(22)【出願日】2022-10-17
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】100119677
【弁理士】
【氏名又は名称】岡田 賢治
(74)【代理人】
【識別番号】100160495
【弁理士】
【氏名又は名称】畑 雅明
(74)【代理人】
【識別番号】100115794
【弁理士】
【氏名又は名称】今下 勝博
(72)【発明者】
【氏名】福井 達也
(72)【発明者】
【氏名】谷口 友宏
(72)【発明者】
【氏名】藤原 稔久
(72)【発明者】
【氏名】椎名 亮太
(72)【発明者】
【氏名】小野 央也
(72)【発明者】
【氏名】藤橋 卓也
(72)【発明者】
【氏名】渡邊 尚
(72)【発明者】
【氏名】猿渡 俊介
(72)【発明者】
【氏名】石岡 卓将
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA22
5C164GA03
5C164MA03S
5C164SC05P
(57)【要約】
【課題】本開示では、サーバの予測失敗に起因する応答遅延の増大を防ぎつつ、トラヒックの削減を実現することを目的とする。
【解決手段】本開示は、クライアントにおけるユーザの操作に応じて、対応するゲーム映像を送信するシステムであって、サーバが、任意の時点のゲーム状態に対し、クライアントへの入力によって表示すべきゲーム画面の全てを生成し、生成されたゲーム画面を予め定められたタイルに分割し、同じ位置に表示されるタイル画像同士を比較し、予め定められた共通化可能なタイル画像については共通のタイル画像をクライアントに送信し、予め定められた共通化不可能なタイル画像については個別のタイル画像をクライアントに送信する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
クライアントにおけるユーザの操作に応じて、対応するゲーム映像を送信するサーバであって、
任意の時点のゲーム状態に対し、クライアントへの入力によって表示すべきゲーム画面の全てを生成し、
生成されたゲーム画面を予め定められたタイルに分割し、
同じ位置に表示されるタイル画像同士を比較し、
予め定められた共通化可能なタイル画像については共通のタイル画像をクライアントに送信し、
予め定められた共通化不可能なタイル画像については個別のタイル画像をクライアントに送信する、
サーバ。
【請求項2】
前記タイル画像のハッシュ値を算出し、算出したハッシュ値の距離を比較することで、タイル画像同士の類似度を比較し、
類似しているタイル画像については共通のタイル画像をクライアントに送信し、
類似しないタイル画像については個別のタイル画像をクライアントに送信する、
請求項1に記載のサーバ。
【請求項3】
ゲーム映像をサーバから受信し、入力されたユーザの操作に応じてゲーム画面を表示するクライアントであって、
任意の時点のゲーム状態に対し、クライアントへの入力によって表示すべきゲーム画面の全てを生成可能なタイル画像を、クライアントへの入力の前にサーバから受信し、
ゲーム状態が変化する入力を取得すると、事前に受信してあるタイル画像を組み合わせることで、入力されたユーザの操作に応じたゲーム画面を生成して表示する、
クライアント。
【請求項4】
請求項1又は2に記載のサーバと、
請求項3に記載のクライアントと、
を備えるシステム。
【請求項5】
クライアントにおけるユーザの操作に応じて、対応するゲーム映像を送信するサーバが実行する方法であって、
任意の時点のゲーム状態に対し、クライアントへの入力によって表示すべきゲーム画面の全てを生成し、
生成されたゲーム画面を予め定められたタイルに分割し、
同じ位置に表示されるタイル画像同士を比較し、
予め定められた共通化可能なタイル画像については共通のタイル画像をクライアントに送信し、
予め定められた共通化不可能なタイル画像については個別のタイル画像をクライアントに送信する、
方法。
【請求項6】
ゲーム映像をサーバから受信し、入力されたユーザの操作に応じてゲーム画面を表示するクライアントが実行する方法であって、
任意の時点のゲーム状態に対し、クライアントへの入力によって表示すべきゲーム画面の全てを生成可能なタイル画像を、クライアントへの入力の前にサーバから受信し、
ゲーム状態が変化する入力を取得すると、事前に受信してあるタイル画像を組み合わせることで、入力されたユーザの操作に応じたゲーム画面を生成して表示する、
方法。
【請求項7】
請求項1又は2に記載のサーバとしてコンピュータを実現させるためのプログラム。
【請求項8】
請求項3に記載のクライアントとしてコンピュータを実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、クラウドゲーミング技術に関する。
【背景技術】
【0002】
クライアントにおけるユーザの操作に応じて、対応するゲーム映像をサーバが逐次伝送するシステムが提案されている。逐次伝送によるゲーム映像の提供は、クライアントがゲーム処理を必要としないため、処理能力の低い端末でも高精細なゲームを遊ぶことが可能である。一方で、映像伝送に起因するネットワーク遅延の増大が生じ、これによって体感品質の低下が生じる問題がある。
【0003】
ユーザが取りうる全入力に対応する映像をすべて事前に伝送する投機的映像伝送「CloudHide」が提案されている(例えば、非特許文献1参照。)。しかし、非特許文献1では、応答遅延を削減する一方、取りうる入力数に応じて多大なトラヒックが生じる問題がある。
【0004】
映像の事前伝送に要する多大なトラヒックを防ぐために、ユーザが取りうる入力のうち、可能性が高い入力を推定して、候補となる複数のゲーム映像を生成して事前伝送する「Outatime」が提案されている(例えば、非特許文献2参照。)。非特許文献2では、推定が正確だった場合には入力に対してクライアント側で即座にゲーム映像を出力できるが、推定が不正確だった場合には受信画像から補正をして適切なゲーム映像を生成する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Anand Bhojan & Pan Wenren (2017). CloudHide: Towards Latency Hiding Techniques for Thin-client Cloud Gaming. 144-152. 10.1145/3126686.3126777.
【非特許文献2】Lee, K., Chu, D., Cuervo, E., Kopf, J., Degtyarev, Y., Grizan, S., Wolman, A., & Flinn, J. (2015). Outatime: Using speculation to enable low-latency continuous interaction for mobile cloud gaming. MobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services, 151-165.
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献2では、サーバが送信するゲーム映像を限定化することで、トラヒックを削減することができる。しかし、サーバの予測が外れた場合、応答遅延が増大する問題がある。また、ユーザ側のクライアントに高度な画像処理が必要となる問題がある。
【0007】
本開示では、サーバの予測失敗に起因する応答遅延の増大を防ぎつつ、トラヒックの削減を実現することを目的とする。
【課題を解決するための手段】
【0008】
本開示のシステムは、クライアントにおけるユーザの操作に応じて、対応するゲーム映像をサーバが逐次伝送するシステムであり、サーバ及びクライアントが本開示の方法を実行する。本開示のプログラムは、本開示のサーバ又はクライアントに備わる機能としてコンピュータを実現するためのプログラム、および、本開示のサーバ又はクライアントが実行する方法に備わる各ステップをコンピュータに実行させるためのプログラムを含む。
【0009】
本開示のサーバは、
クライアントにおけるユーザの操作に応じて、対応するゲーム映像を送信するサーバであって、
任意の時点のゲーム状態に対し、クライアントへの入力によって表示すべきゲーム画面の全てを生成し、
生成されたゲーム画面を予め定められたタイルに分割し、
同じ位置に表示されるタイル画像同士を比較し、
予め定められた共通化可能なタイル画像については共通のタイル画像をクライアントに送信し、
予め定められた共通化不可能なタイル画像については個別のタイル画像をクライアントに送信する。
【0010】
本開示のクライアントは、
ゲーム映像をサーバから受信し、入力されたユーザの操作に応じてゲーム画面を表示するクライアントであって、
任意の時点のゲーム状態に対し、クライアントへの入力によって表示すべきゲーム画面の全てを生成可能なタイル画像を、クライアントへの入力の前にサーバから受信し、
ゲーム状態が変化する入力を取得すると、事前に受信してあるタイル画像を組み合わせることで、入力されたユーザの操作に応じたゲーム画面を生成して表示する。
【0011】
本開示は、以上の構成を採用することによって、サーバの予測失敗に起因する応答遅延の増大を防ぎつつ、トラヒックの削減を可能とする。これにより、トラヒックを抑制しつつ、体感品質低下の抑止を可能とする。
【0012】
予め定められた共通化可能なタイル画像は、例えば同一のタイル画像である。この場合、サーバは、同一のタイル画像については共通のタイル画像をクライアントに送信し、同一でないタイル画像については個別のタイル画像をクライアントに送信する。
【0013】
予め定められた共通化可能なタイル画像は、例えば類似のタイル画像である。この場合、サーバは、同じ位置に表示されるタイル画像同士の類似度を比較し、類似しているタイル画像については共通のタイル画像をクライアントに送信し、類似しないタイル画像については個別のタイル画像をクライアントに送信する。ここで、類似度の比較は、タイル画像のハッシュ値を算出し、算出したハッシュ値の距離を比較することで行ってもよい。
【0014】
本開示では、クライアントへの入力によって表示すべきゲーム画面のうちの1つを基準画面に定め、基準画面と異なるタイル画像を抽出し、抽出したタイル画像を前記個別のタイル画像として送信してもよい。
【0015】
なお、上記各開示は、可能な限り組み合わせることができる。
【発明の効果】
【0016】
本開示によれば、アーバの予測失敗に起因する応答遅延の増大を防ぎつつ、トラヒックの削減を実現することができる。
【図面の簡単な説明】
【0017】
【
図5】クライアントの動作の一例を示す説明図である。
【
図6】ゲーム画面に含まれるタイル画像の一例を示す説明図である。
【
図7】ハッシュ値を計算する1つのタイル画像の一例を示す説明図である。
【発明を実施するための形態】
【0018】
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、本開示は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本開示は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【0019】
(逐次伝送システム)
図1に、逐次伝送システムの構成例を示す。逐次伝送システムでは、クライアント10の指示に応じたゲーム状態のゲーム映像を、クライアント10の指示の度にサーバ20が送信する。
【0020】
クライアント10は、
ユーザからの指示が入力される入力部11と、
ゲームの指示を送信する指示送信部12と、
サーバ20からの映像データを受信する映像受信部13と、
受信した映像データを復号し、ゲーム画面に復元するゲーム画面復号部14と、
ゲーム画面を表示する表示部15と、
を備える。
【0021】
サーバ20は、
クライアント10からの指示を受信する指示受信部21と、
指示受信部21の受信した指示に従い、ゲーム状態を更新するゲーム状態更新部22と、
更新されたゲーム状態に応じたゲーム画面を生成するゲーム画面生成部23と、
ゲーム画面を符号化するゲーム画面符号化部24と、
符号化された映像データを送信する映像送信部25と、
を備える。
【0022】
(本開示の概要)
図2に、本開示の逐次伝送システムの概略を示す。本開示のサーバ20は、時点t
0に送信されたクライアント10からの指示を受信すると、指示の後の任意の予め定められた時点t
3に生じうる全てのゲーム状態のゲーム画面を生成可能な画像データを、時点t
3の前に、クライアント10に送信する。クライアント10は、時点t
3に指示が入力されると、事前に受信していた画像データを用いて、指示に応じたゲーム画面を生成し、表示する。
【0023】
ゲームでは、キャラクタの動作は目まぐるしく変化するが、背景はキャラクタほど変化しない。そこで、本開示では、ゲーム画面を予め定められた数のタイルに分割し、予め定められた共通化可能なタイル画像については共通のタイル画像をクライアントに送信し、予め定められた共通化不可能なタイル画像については個別のタイル画像をクライアントに送信する。
【0024】
ここで、同一のタイル画像については共通化できる。そこで、本開示では、同一のタイル画像については共通のタイル画像をクライアントに送信し、同一でないタイル画像については個別のタイル画像をクライアントに送信する。
【0025】
タイル画像が完全に同一でない場合であっても、タイル画像を共通化してよい場合がある。そこで、本開示では、同じ位置に表示されるタイル画像同士の類似度を比較し、類似しているタイル画像については共通のタイル画像をクライアントに送信し、類似しないタイル画像については個別のタイル画像をクライアントに送信してもよい。
【0026】
(第1の実施形態)
図3に、本実施形態のシステム構成例を示す。本実施形態のサーバ20は、指示受信部21、ゲーム状態更新部22、ゲーム画面生成部31、タイル画像比較部32、タイル画像抽出部33、タイル画像符号化部34、映像送信部35を備える。本実施形態のクライアント10は、入力部11、指示送信部12、映像受信部41、タイル画像復号部42、ゲーム画面生成部43、表示部15を備える。
【0027】
本開示のサーバ20及びクライアント10はコンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0028】
図4を参照しながら、サーバ20の動作について説明する。
サーバ20では、指示受信部21がクライアント10から指示を受信すると、ゲーム状態更新部22が指示に応じてゲーム状態を更新する。
ゲーム画面生成部31は、最新のゲーム状態でクライアント10が入力可能な全入力に対してゲーム画面を生成する。タイル画像比較部32は、その中の一つの画面を基準画面として定める。
【0029】
タイル画像比較部32は、すべてのゲーム画面を複数タイルに分割し、それぞれのゲーム画面と基準画面をタイルごとに比較し、タイル画像抽出部33が映像の異なるタイル画像を抽出する。
【0030】
タイル画像符号化部34は以下を符号化する。
・基準画面に含まれるタイル画像のすべて
・基準画面でないゲーム画面のうち、基準画面と映像が異なるタイル画像
【0031】
映像送信部35は、タイル画像符号化部34で符号化されたタイル画像の映像データを、クライアント10に逐次的に送信する。
【0032】
図5を参照しながら、クライアント10の動作について説明する。クライアント10では、映像受信部41が映像データを受信すると、タイル画像復号部42が映像データをタイル画像に復号化し、タイル画像ごとに格納しておく。入力部11にユーザから操作が入力されると、ゲーム画面生成部43が、入力された指示を取得し、格納されているタイル画像を組み合わせることで指示に対応したゲーム画面を生成し、表示部15に表示する。
【0033】
このように、サーバ20は、投機的映像伝送すべき画面データをタイルごとに抽出し、全入力に対してゲーム画面を生成可能にする。このため、本実施形態は、投機的映像伝送する映像データ量を削減しつつ、入力の予測を行わないので予測失敗による遅延増大を防ぐことができる。
【0034】
(第2の実施形態)
本実施形態では、タイル画像比較部32がタイル画像を比較する際に、タイル画像のハッシュ値の類似度を計算し、、類似度の閾値に従って抽出するタイル画像を判定する。
【0035】
具体的には、
図6に示すようなframe
0(t)~frame
N(t)のゲーム画面が生成され、各ゲーム画面を4×4の16のタイル画像に分け、frame
0(t)を基準画像に選択する場合、タイル画像比較部32は、基準画面frame
0(t)の各タイル画像のハッシュ値と他の全てのゲーム画面frame
1(t)~frame
N(t)の各タイル画像のハッシュ値を計算する。
【0036】
例えば、frame
0(t)のタイル画像(0,0)を、
図7に示すように、8×8画素などの予め定められた画素数のグレースケール画像に変換する。各画素の輝度の平均値h(i,j)を算出し、平均値h(i,j)が予め定められたしきい値よりも高いか低いかで「0」と「1」に2値化する。これにより、8bitのバイナリデータが8行生成される。この8行のバイナリデータをつなぎ合わせると、64bitのバイナリデータが生成される。これにより、frame
0(t)のタイル画像(0,0)のahashを計算することができる。
【0037】
本開示のハッシュ値の計算方法はahashに限定されず、例えば、phashのように、低周波DCT係数を選択し、これを用いてハッシュ値を計算してもよい。
する。
【0038】
タイル画像比較部32は、同じ位置に配置されているタイル画像同士のハッシュ値の類似度を算出する。例えば、frame0(t)のタイル画像(0,0)とframe1(t)のタイル画像(0,0)との類似度を算出する。ここで、ハミング距離などのハッシュ値間の距離が近い場合は類似度が高く、距離が遠い場合は類似度が低い。そこで、ハッシュ値間の距離が予め定めた類似度閾値よりも遠い場合のみ、基準画面と映像が異なるタイル画像と判定する。
【0039】
本実施形態は、タイル画像の比較にハッシュ関数を用いることにより、類似度の判定に要する遅延が小さくなる。さらにハッシュ値を算出する際の画素数を少なくすることで、類似度の判定処理速度をさらに高めることができる。
【0040】
タイル画像抽出部33、タイル画像符号化部34、及び映像送信部35は、第1の実施形態と同様である。ただし、タイル画像符号化部34は、タイル画像のハッシュ値を用いて、各タイル画像を符号化してもよい。この場合、映像送信部35は、tile-wise delta encoding)を用いて、映像データを送信してもよい。ユーザの使用するクライアント10の動作は第1の実施形態と同様であり、実際の入力に応じてゲーム画面を表示部15に表示するとともに、逐次的に自身の入力をサーバ20に送信する。
【0041】
本実施形態は、以下の利点がある。
・通常は動画像符号化においては異なる時間軸における画面間符号化を行う。これに対し、本実施形態は、同じ時間軸のゲーム画面間を対象として符号化を導入する点
・本実施形態は、ハッシュ関数を用いてタイル画像間の類似度を簡易に判定できる点
・ユーザの使用するクライアント10側に画面表示以上の計算リソースを要求しない点
・ユーザが使用するクライアント10では受信したタイル画像を用いてゲーム画面を入力に応じてそのまま表示することができる点
【0042】
以上説明したように、本開示は、ユーザが取りうる入力に対応するゲーム画面を事前伝送することで応答遅延を極限まで抑制可能である。さらに本開示は、生成したゲーム画面間のうち類似度が高い領域を送信しないことでトラヒックの削減が可能である。さらに第2の実施形態については、ハッシュ関数を用いてゲーム画面間の類似度を簡易に判定可能である。
【符号の説明】
【0043】
10:クライアント
11:入力部
12:指示送信部
13:映像受信部
14:ゲーム画面復号部
15:表示部
20:サーバ
21:指示受信部
22:ゲーム状態更新部
23:ゲーム画面生成部
24:ゲーム画面符号化部
25:映像送信部
31:ゲーム画面生成部
32:タイル画像比較部
33:タイル画像抽出部
34:タイル画像符号化部
35:映像送信部
41:映像受信部
42:タイル画像復号部
43:ゲーム画面生成部