WO2023218614A1 - 配信装置、配信方法及びプログラム - Google Patents

配信装置、配信方法及びプログラム Download PDF

Info

Publication number
WO2023218614A1
WO2023218614A1 PCT/JP2022/020102 JP2022020102W WO2023218614A1 WO 2023218614 A1 WO2023218614 A1 WO 2023218614A1 JP 2022020102 W JP2022020102 W JP 2022020102W WO 2023218614 A1 WO2023218614 A1 WO 2023218614A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
distribution
game
client
video
Prior art date
Application number
PCT/JP2022/020102
Other languages
English (en)
French (fr)
Inventor
正憲 小池
将裕 横田
和久 山岸
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/020102 priority Critical patent/WO2023218614A1/ja
Publication of WO2023218614A1 publication Critical patent/WO2023218614A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding

Definitions

  • the present invention relates to a distribution device, a distribution method, and a program.
  • cloud gaming users view game footage and send game commands based on that.
  • the server side performs all game processing based on the received commands, and sends the resulting video to the game user.
  • Non-Patent Document 1 As a method for estimating the quality of cloud games, Recommendation G. 1072 (Non-Patent Document 1) has been enacted. This recommendation divides the quality factors of cloud games into factors such as video quality deterioration, frame loss, and delay, and calculates the overall quality that users experience based on the quality of each of these factors. Therefore, it is important for cloud game operators to distribute appropriate video while taking into account the effects of bit rate, packet loss, delay, etc. on overall quality.
  • Non-Patent Document 2 shows the difference in game performance with respect to the performance of system chips installed in mobile devices. This suggests that the performance of mobile games can be improved by increasing the performance of the CPU and GPU based on temperature control. Therefore, since the quality of the game varies depending on terminal factors such as the CPU and GPU, in order to control the quality of cloud games, it is necessary to perform distribution control according to the terminal environment.
  • G.1072 "Opinion model predicting gaming quality of experience for cloud gaming services", ITU-T, 2020 A. Prakash, H. Amrouch, M. Shafique, T. Mitra and J. Henkel, “Improving mobile gaming performance through cooperative CPU-GPU thermal management”, 2016 53rd ACM/EDAC/IEEE Design Automation Conference (DAC), 2016. pp. 1-6, doi: 10.1145/2897937.2898031
  • Cloud games have different challenges than traditional network competitive games.
  • competitive games often use client terminals such as smartphones, which have lower processing power than high-performance PCs, so when transmitting video at the same quality as traditional online games,
  • client terminals such as smartphones, which have lower processing power than high-performance PCs, so when transmitting video at the same quality as traditional online games.
  • high-performance client terminals the processing load required to draw the game is large, causing delays and packet loss in the game.
  • the present invention has been made in view of the above points, and it is an object of the present invention to suppress deterioration in the perceived quality of games distributed via a network.
  • the distribution device determines parameters related to encoding of the video based on information indicating the processing capacity of the terminal to which the game video is distributed and information indicating the load on the terminal. and a distribution section configured to distribute the video to the terminal based on the parameters.
  • FIG. 1 is a diagram showing an example of a system configuration in an embodiment of the present invention. It is a diagram showing an example of the hardware configuration of a distribution server 10 in an embodiment of the present invention. 1 is a diagram showing an example of a functional configuration of a distribution server 10 according to an embodiment of the present invention. 3 is a flowchart for explaining an example of a processing procedure executed by the distribution server 10.
  • FIG. 1 is a diagram showing an example of a system configuration in an embodiment of the present invention. It is a diagram showing an example of the hardware configuration of a distribution server 10 in an embodiment of the present invention. 1 is a diagram showing an example of a functional configuration of a distribution server 10 according to an embodiment of the present invention. 3 is a flowchart for explaining an example of a processing procedure executed by the distribution server 10. FIG.
  • parameters (frame rate, bit rate, resolution) for encoding video of cloud games to be distributed are determined by using information regarding the processing capacity of the client terminal, such as the type of CPU and GPU of the client terminal. By controlling this, it is possible to improve the quality of cloud games by reducing delays and freezes on client terminals.
  • information indicating the load on the client terminal such as the usage rate of the client terminal's CPU and GPU that changes from time to time, and the degree of increase in the usage rate of the CPU and GPU, is sent to the cloud game server via the cloud game software.
  • FIG. 1 is a diagram showing an example of a system configuration in an embodiment of the present invention.
  • a client terminal 20 connects to a distribution server 10 via a network such as the Internet.
  • the client terminal 20 is a terminal used by a cloud game user. That is, the client terminal 20 is a terminal to which the cloud game (video) is distributed.
  • the client terminal 20 is assumed to be a smartphone. However, for example, a PC (Personal Computer), a tablet terminal, or the like may be used as the client terminal 20.
  • the distribution server 10 is one or more computers that distribute cloud games to the client terminals 20.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the distribution server 10 in the embodiment of the present invention.
  • the distribution server 10 in FIG. 2 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a processor 104, an interface device 105, etc., which are interconnected via a bus B.
  • a program that realizes the processing at the distribution server 10 is provided by a recording medium 101 such as a CD-ROM.
  • the recording medium 101 storing the program is set in the drive device 100, the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100.
  • the program does not necessarily need to be installed from the recording medium 101, and may be downloaded from another computer via a network.
  • the auxiliary storage device 102 stores installed programs as well as necessary files, data, and the like.
  • the memory device 103 reads and stores the program from the auxiliary storage device 102 when there is an instruction to start the program.
  • the processor 104 is a CPU, a GPU (Graphics Processing Unit), or a CPU and a GPU, and executes functions related to the distribution server 10 according to a program stored in the memory device 103.
  • the interface device 105 is used as an interface for connecting to a network.
  • FIG. 3 is a diagram showing an example of the functional configuration of the distribution server 10 in the embodiment of the present invention.
  • the distribution server 10 includes a client level determination section 11, a distribution quality determination section 12, and a distribution section 13. Each of these units is realized by one or more programs installed on the distribution server 10 causing the processor 104 to execute the process.
  • the client level determining unit 11 determines the client level from the client information and game processing information, and transmits the determined client level to the distribution quality determining unit 12.
  • the client information is an example of information indicating the processing capacity of the client terminal 20, and is information indicating the respective types of CPU and GPU installed in the client terminal 20.
  • the client terminal 20 transmits client information to the distribution unit 13 before starting distribution of the cloud game, and the distribution unit 13 notifies the client level determination unit 11 of the client information.
  • the client level refers to the level of load on the processing capacity of the client terminal 20.
  • Game processing information is information indicating the processing load on the client terminal 20, and is transmitted from the client terminal 20 to the distribution server 10.
  • the game processing information includes information indicating a CPU usage rate, a GPU usage rate, a CPU usage rate increase, a GPU usage rate increase, and a game processing delay.
  • the degree of increase refers to the degree of change in the usage rate over a certain period of time. For example, if the usage rate at the start and end of a certain period of time are ⁇ and ⁇ , respectively, the degree of increase may be defined by ( ⁇ ) ⁇ .
  • the game processing delay refers to, for example, the time required from the arrival of a game video packet until the video is decoded and displayed on the screen. For example, the required time may be measured on the software that performs the decoding, or the time when the packet arrived and the time when the video was decoded may be recorded, and the difference between these times may be measured as the required time. It's okay.
  • the client level determining unit 11 determines the client level by setting the processing delay to 0 and using the CPU and GPU usage rates before the start of the cloud game. .
  • the client terminal 20 transmits game processing information to the distribution unit 13 at regular intervals.
  • the client level determining unit 11 calculates the client level using the game processing information received by the distribution unit 13, and when the client level is changed, transmits the new client level to the distribution quality determining unit 12.
  • the distribution quality determining unit 12 determines distribution parameters based on the client level, and transmits the determined distribution parameters to the distribution unit 13. By determining distribution parameters in real time according to the client level, the quality of cloud games experienced by users is improved.
  • the distribution parameters are parameters used for encoding images of cloud games, and are, for example, a set of bit rate, frame rate, and resolution.
  • the distribution unit 13 encodes the video of the cloud game based on the distribution parameters received from the distribution quality determination unit 12, and distributes the encoded video to the client terminal 20.
  • a system used for video delivery is used, such as WebRTC.
  • FIG. 4 is a flowchart for explaining an example of a processing procedure executed by the distribution server 10.
  • step S101 the distribution unit 13 receives client information and game processing information of the client terminal 20 from the client terminal 20, and transmits the received information to the client level determination unit 11, before distributing the video of the cloud game.
  • the processing delay is 0, and the CPU usage rate and GPU usage rate are the values before the start of the cloud game.
  • the client level determining unit 11 uses the client information to identify the processing capability score (hereinafter referred to as "client processing capability score") of the client terminal 20 (S102).
  • client processing capability score the processing capability score of the client terminal 20
  • a database for client information is created, and the client level determination unit 11 determines the client processing ability score by applying the client information to the database. It is possible to do so.
  • a client processing ability score is set in the database for each CPU type and GPU type that constitute the client information.
  • An example of a method for creating a database in which the client processing ability score is set is a method of estimating the client processing ability score from the type of CPU/GPU.
  • the CPU performance is calculated using the client CPU core number CPUcore and the clock number CPUfrequency
  • the GPU performance is calculated using the client GPU clock number GPUfrequency and the GPU memory number GPUmemory
  • S1 to S3 are coefficients.
  • the calculation results of these Cscores may be set in advance in the database for each combination of CPU and GPU, or the client level determination unit 11 may calculate the Cscores before starting the cloud game using client information that can be obtained from the client terminal 20. You can calculate it.
  • the performance of the client terminal 20 may be measured in advance on the cloud game software and the Cscore may be calculated before the cloud game starts.
  • the method of measuring the performance of the client terminal 20 using software is to start the benchmark software that measures the specifications of the client terminal 20 before starting the game, measure the benchmark score, calculate Cscore according to the score, and calculate The results may be stored in a database for each user.
  • the screen drawing speed at the time of starting the cloud game may be measured, and the Cscore may be calculated from the speed.
  • the client level determining unit 11 corrects the client processing ability score of the client terminal 20 using the game processing information, and estimates the client level of the client terminal 20 based on the corrected client processing ability score (S103 ). It is considered that the higher the CPU usage rate and GPU usage rate of the client terminal 20, the greater the load from the cloud game is placed on the client terminal 20. Furthermore, if the rate of increase in the CPU and GPU usage rates is large, the load due to the game is increasing, and if the same distribution parameters are continued to be set, the processing speed may decrease due to the increase in load. Therefore, it is necessary to determine distribution parameters by taking these influences into consideration. Furthermore, by measuring the processing delay of the game, it is possible to measure the delay that is actually occurring, and if the delay is large, it is necessary to control the distribution parameters.
  • Clevel Cscore ⁇ (1-(1-exp(a ⁇ CPUusage))-(1-exp(b ⁇ GPUusage))-c ⁇ CPUrise-d ⁇ GPUrise-e ⁇ delay)
  • a, b, c, d, and e are coefficients determined depending on the type of game to be distributed. One way to determine these coefficients is to set them by playing each game in advance.
  • the CPU usage rate and GPU usage rate of the distributed game are measured using multiple benchmark measurement terminals with different CPUs, GPUs, etc., and the CPU and GPU usage rates are confirmed for each type of terminal.
  • Coefficients a and c for the CPU and coefficients b and d for the GPU are determined according to the confirmed usage rate. For example, since it is considered that quality degradation due to the CPU is likely to occur in a game with a high CPU usage rate, the coefficients a and c are determined to be large, and the coefficients b and d related to the GPU are determined in the same way.
  • the cloud game to be distributed is a 3D game rather than a 2D game
  • the number of depictions will increase, so the influence of the GPU will be greater.
  • the coefficients b and d are set to be large depending on the expected number of participants in the game and the usage rate of 3D images in the game. Specifically, 2D video, 3D video, and a plurality of cloud games with different numbers of players are prepared as benchmark games.
  • cloud games are used on a terminal and the CPU usage rate and GPU usage rate are measured. Based on the measured usage rate, a plurality of groups are defined based on 2D video, 3D video, and the number of players, and coefficients a to e are determined for each group.
  • the client level determination unit 11 classifies the cloud game to be distributed into one of the groups based on whether the video of the cloud game is 2D or 3D and the number of players, and uses the coefficients of the classified groups to determine the client level. Calculate the level Level. The calculated client level Level is sent to the distribution quality determination unit 12.
  • the distribution quality determining unit 12 determines distribution parameters based on the client level (S104).
  • the distribution quality determining unit 12 has a database of bit rates, frame rates, resolutions, etc. according to the client level. For example, if the client level is 25 to 35, it will be sent at 2 Mbps, 30 fps, and 1280 x 720 resolution, and if the client level is 35 to 45, it will be sent at 3 Mbps, 30 fps, and 1280 x 720 resolution, and so on. is determined in advance. As shown above, a distribution quality database is created so that the higher the client level, the higher the distribution quality.
  • the above database is determined by a service provider or a game provider who uses the present technology, for example, by playing a game in advance using a benchmark game. Prepare equipment compatible with the client level, actually play the game, and set quality conditions in advance so that the client level does not vary greatly from game to game.
  • the distribution quality determining unit 12 extracts the distribution parameters corresponding to the current client level from the database defined thereby, and transmits the distribution parameters to the distribution unit 13.
  • the distribution unit 13 distributes the video of the cloud game to the client terminal 20 based on the distribution parameters received from the distribution quality determination unit 12 (S105).
  • the distribution unit 13 receives from the client terminal 20 at regular intervals the game processing information measured by the client terminal 20 at that time (S107). In response to receiving new game processing information, steps S103 and subsequent steps are repeated. That is, the client level is estimated based on new game processing information, distribution parameters are determined, and video distribution is performed based on the distribution parameters.
  • coefficients (S1 to S3, a to e) used in each of the above formulas may be coefficients that change depending on the type of cloud game to be distributed.
  • distribution parameters for cloud game video are determined according to the processing capacity of the client terminal 20, so even when the processing capacity of the client terminal 20 is low, a high bit rate can be achieved. This reduces the possibility of quality deterioration such as delays or freezes in cloud games.
  • distribution parameters for cloud game images are determined according to the load status of the client terminal 20, so the distribution parameters can be controlled in real time, and the distribution parameters can be adjusted according to the game situation. In a cloud game where the load changes, it is possible to reduce the possibility that quality deterioration such as delay will occur due to an increase in the load on the client terminal 20. As a result, it is possible to suppress deterioration in the perceived quality of the game distributed via the network.
  • the distribution server 10 is an example of a distribution device.
  • the distribution quality determining unit 12 is an example of a determining unit.
  • the client terminal 20 is an example of a terminal.
  • Distribution server 11
  • Distribution quality determination section 13
  • Distribution section 20
  • Client terminal 100
  • Drive device 101
  • Recording medium 102
  • Auxiliary storage device 103
  • Memory device 104
  • Processor 105 Interface device B bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

配信装置は、ゲームの映像の配信先の端末の処理能力を示す情報と前記端末の負荷を示す情報とに基づいて、前記映像の符号化に関するパラメータを決定するように構成されている決定部と、前記パラメータに基づいて前記映像を前記端末に配信するように構成されている配信部と、を有することで、ネットワークを介して配信されるゲームの体感品質の低下を抑制する。

Description

配信装置、配信方法及びプログラム
 本発明は、配信装置、配信方法及びプログラムに関する。
 近年、通信技術の発達に伴い高速かつ大容量の通信が可能になったことや、サーバにおける処理能力の向上によって、クラウドゲームの市場規模が拡大している。クラウドゲームでは、ユーザはゲームの映像を視聴し、それに基づいてゲームのコマンドを送信する。サーバ側では受け取ったコマンドに基づいてサーバ側においてゲームの処理を全て行い、処理が終わった結果の映像をゲームのユーザへ送信するという仕組みになっている。
 従来の通常のネットワーク対戦型ゲームにおいては、ゲーム内のキャラクタ等の移動の処理などはユーザ側の端末で処理される仕組みとなっている。したがって、ユーザ側の端末ではゲームの処理及びそれらを描写する高い処理能力が求められるため、高性能なGPU及びCPUが必要となる。一方、クラウドゲームにおいてはゲームの処理をユーザ側の端末ではなくサーバ側で行うため、ユーザ側の端末での負担が軽減され、高性能なGPUをもたないパソコンや、スマートフォンなどにおいても高品質なゲームが体験できることが期待されている。
 クラウドゲームの品質を推定する手法として、ITU-Tによって勧告G.1072(非特許文献1)が制定されている。この勧告では、クラウドゲームの品質要因を映像の品質劣化やフレーム欠損、遅延などの要因に分割し、それらのそれぞれの品質に基づいてユーザが体感する総合的な品質が算出される。したがって、クラウドゲーム事業者は、ビットレートやパケットロス、遅延などが総合的な品質に与える影響を加味して適切な映像を配信することが大切となる。
 非特許文献2においては、モバイル機器に搭載されたシステムチップを対象として、それらのパフォーマンスに対するゲームの性能の差を示している。CPU及びGPUを温度制御に基づいて性能を高めることによって、モバイルゲームのパフォーマンスを向上できることを示唆している。したがって、CPUやGPUなどの端末要因によってゲームの品質が変動するため、クラウドゲームの品質制御を行うためには端末環境に応じた配信制御を行う必要がある。
G.1072:"Opinion model predicting gaming quality of experience for cloud gaming services"、ITU-T、2020 A. Prakash, H. Amrouch, M. Shafique, T. Mitra and J. Henkel、 "Improving mobile gaming performance through cooperative CPU-GPU thermal management"、2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC)、2016、pp. 1-6、doi: 10.1145/2897937.2898031
 クラウドゲームにおいては従来のネットワーク対戦型ゲームとは異なった課題が存在する。現在、対戦型ゲームはスマートフォンなどのように、高性能なPCと比較して処理能力が劣るクライアント端末が利用されることもあり、従来のオンラインゲームと同じ品質で映像を送信した場合に、低性能なクライアント端末ではゲームを描画するために必要な処理に対する負荷が大きく、ゲームにおける遅延やパケットロスなどが発生する原因となる。
 本発明は、上記の点に鑑みてなされたものであって、ネットワークを介して配信されるゲームの体感品質の低下を抑制することを目的とする。
 そこで上記課題を解決するため、配信装置は、ゲームの映像の配信先の端末の処理能力を示す情報と前記端末の負荷を示す情報とに基づいて、前記映像の符号化に関するパラメータを決定するように構成されている決定部と、前記パラメータに基づいて前記映像を前記端末に配信するように構成されている配信部と、を有する。
 ネットワークを介して配信されるゲームの体感品質の低下を抑制することができる。
本発明の実施の形態におけるシステム構成例を示す図である。 本発明の実施の形態における配信サーバ10のハードウェア構成例を示す図である。 本発明の実施の形態における配信サーバ10の機能構成例を示す図である。 配信サーバ10が実行する処理手順の一例を説明するためのフローチャートである。
 本実施の形態ではクライアント端末のCPUやGPUの種類などのクライアント端末の処理能力に関する情報を利用して、配信するクラウドゲームの映像の符号化のためのパラメータ(フレームレート、ビットレート、解像度)を制御することにより、クライアント端末における遅延やフリーズを減らしてクラウドゲームの品質向上を可能とする。また、時刻ごとに変化するクライアント端末のCPU、GPUの使用率及びCPU、GPUの使用率の上昇度等、クライアント端末の負荷を示す情報をクラウドゲームのソフトウェアを介してクラウドゲームのサーバへ送ることで、CPU、GPU使用率が高い端末や使用率が上昇し負荷による品質劣化が発生する可能性があるクライアント端末に対して配信するビットレート等の削減を行うことで、クラウドゲームの処理遅延を削減し、体感品質の向上を行うことを可能とする。
 以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。図1において、クライアント端末20は、インターネット等のネットワークを介して配信サーバ10に接続する。
 クライアント端末20は、クラウドゲームのユーザが利用する端末である。すなわち、クライアント端末20は、クラウドゲームの(映像の)配信先の端末である。本実施の形態において、クライアント端末20はスマートフォンであるとする。但し、例えば、PC(Personal Computer)又はタブレット端末等がクライアント端末20として利用されてもよい。
 配信サーバ10は、クラウドゲームをクライアント端末20に配信する1以上のコンピュータである。
 図2は、本発明の実施の形態における配信サーバ10のハードウェア構成例を示す図である。図2の配信サーバ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、プロセッサ104、及びインタフェース装置105等を有する。
 配信サーバ10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。プロセッサ104は、CPU若しくはGPU(Graphics Processing Unit)、又はCPU及びGPUであり、メモリ装置103に格納されたプログラムに従って配信サーバ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
 図3は、本発明の実施の形態における配信サーバ10の機能構成例を示す図である。図3において、配信サーバ10は、クライアントレベル決定部11、配信品質決定部12及び配信部13を有する。これら各部は、配信サーバ10にインストールされた1以上のプログラムが、プロセッサ104に実行させる処理により実現される。
 クライアントレベル決定部11は、クライアント情報及びゲーム処理情報からクライアントレベルを決定し、決定したクライアントレベルを配信品質決定部12へ送信する。クライアント情報とは、クライアント端末20の処理能力を示す情報の一例であり、クライアント端末20が搭載するCPU及びGPUのそれぞれの種類を示す情報である。クライアント端末20は、クラウドゲームの配信の開始前に、クライアント情報を配信部13へ送信し、配信部13が当該クライアント情報をクライアントレベル決定部11へ通知する。クライアントレベルとは、クライアント端末20の処理能力に対する負荷の大きさのレベルをいう。
 ゲーム処理情報とは、クライアント端末20による処理の負荷を示す情報であり、クライアント端末20から配信サーバ10へ送信される。例えば、ゲーム処理情報は、CPU使用率、GPU使用率、CPU使用率上昇度、GPU使用率上昇度及びゲームの処理遅延を示す情報を含む。上昇度とは、一定時間における使用率の変化の度合いをいう。例えば、一定時間の開始時の使用率と終了時の使用率とをそれぞれα、βとした場合、上昇度は、(β-α)÷αによって定義されてもよい。ゲームの処理遅延とは、例えば、ゲームの映像パケットが到着してからその映像がデコードされて画面に表示されるまでの所要時間をいう。例えば、当該デコードを行うソフトウェア上で当該所要時間が計測されてもよいし、パケットが到着した時刻と映像がデコードされた時刻とを記録して、これらの時刻の差分が当該所要時間として計測されてもよい。
 クラウドゲーム開始前では処理遅延は発生していないため、クライアントレベル決定部11は、処理遅延は0とし、CPUやGPUの使用率はクラウドゲーム開始前の使用率を利用してクライアントレベルを決定する。クラウドゲーム配信開始後においてクライアント端末20は一定間隔でゲーム処理情報を配信部13へ送信する。クライアントレベル決定部11は、配信部13が受信したゲーム処理情報を利用してクライアントレベルを算出し、クライアントレベルが変更された場合、新たなクライアントレベルを配信品質決定部12へ送信する。
 配信品質決定部12は、クライアントレベルに基づいて配信パラメータを決定し、決定した配信パラメータを配信部13へ送信する。クライアントレベルに応じた配信パラメータの決定をリアルタイムに行うことで、ユーザが体感するクラウドゲームの品質を向上させる。なお、配信パラメータとは、クラウドゲームの映像の符号化に利用するパラメータであり、例えば、ビットレート、フレームレート及び解像度の組である。
 配信部13は、配信品質決定部12から受信した配信パラメータに基づいてクラウドゲームの映像を符号化し、符号化後の映像をクライアント端末20へ配信する。クライアントに映像を配信する際は、映像配信を利用する際に用いられるシステムが利用され、例えば、WebRTCなどが利用される。
 以下、配信サーバ10が実行する処理手順について説明する。図4は、配信サーバ10が実行する処理手順の一例を説明するためのフローチャートである。
 ステップS101において、配信部13は、クラウドゲームの映像の配信前に、クライアント端末20のクライアント情報及びゲーム処理情報をクライアント端末20から受信し、受信した情報をクライアントレベル決定部11へ送信する。ここでのゲーム処理情報において、処理遅延は0であり、CPU使用率やGPU使用率はクラウドゲーム開始前の値である。
 続いて、クライアントレベル決定部11は、クライアント情報を利用してクライアント端末20の処理能力のスコア(以下、「クライアント処理能力スコア」という。)を特定する(S102)。
 クライアント情報を利用したクライアント処理能力スコアの特定の手法の1つとして、クライアント情報に対するデータベースを作成しておき、クライアントレベル決定部11は、クライアント情報を当該データベースに当てはめることでクライアント処理能力スコアを決定することが考えられる。この場合、データベースには、クライアント情報を構成するCPUの種類、GPUの種類ごとにクライアント処理能力スコアが設定される。
 クライアント処理能力スコアが設定されるデータベースの作成方法の一例として、CPU・GPUの種類からクライアント処理能力スコアを推定する方法が挙げられる。クライアントCPUのコア数CPUcore、クロック数CPUfrequencyを利用してCPUの性能を算出し、クライアントGPUのクロック数GPUfrequency、GPUメモリ数GPUmemoryを用いてGPUの性能を算出して、クライアント処理能力スコアCscoreを以下のように算出できる。
Cscore=S1×CPUcore×CPUfrequency+S2×GPUfrequency+S3×GPUmemory
但し、S1~S3は係数である。
 CPU及びGPUの組み合わせごとにこれらのCscoreの計算結果が予めデータベースに設定されてもよいし、クライアント端末20から取得できるクライアント情報を利用して、クライアントレベル決定部11がクラウドゲーム開始前にCscoreを計算してもよい。
 また、データベースの作成方法の他の例として、クラウドゲーム開始前において、クラウドゲームのソフトウェア上でクライアント端末20の性能を予め測定し、Cscoreを算出してもよい。ソフトウェア上でクライアント端末20の性能を測定する方法としては、クライアント端末20のスペックを測定するベンチマークソフトウェアをゲーム開始前に起動し、ベンチマークのスコアを測定しそのスコアに応じてCscoreを計算し、計算結果をユーザごとにデータベースに格納してもよい。あるいは、ベンチマークソフトウェアを利用する代わりに、クラウドゲームの起動時における画面の描画速度を測定し、速度からCscoreを計算してもよい。
 続いて、クライアントレベル決定部11は、ゲーム処理情報を利用してクライアント端末20のクライアント処理能力スコアを補正し、補正後のクライアント処理能力スコアに基づいてクライアント端末20のクライアントレベルを推定する(S103)。クライアント端末20のCPU使用率、GPU使用率が高いほど、クラウドゲームによる負荷がクライアント端末20に対してより大きくかかっていると考えられる。また、CPU及びGPUの使用率の上昇度が大きい場合、ゲームによる負荷が上昇しており、同じ配信パラメータを設定し続けることにより負荷の増大による処理速度の低下が考えられる。そこで、これらによる影響を加味して配信パラメータを決定する必要がある。また、ゲームの処理遅延の計測によって実際に起こっている遅延を計測することができ、遅延が大きい場合には配信パラメータを制御する必要がある。
 現在の状態におけるクライアントレベルをClevelとした場合、この値はCPU使用率CPUusage、GPU使用率GPUusage、CPU使用率上昇度CPUrise、GPU使用率上昇度GPUrise、処理遅延delayを利用して例えば以下のように求められる。
Clevel=Cscore×(1-(1-exp(a×CPUusage))-(1-exp(b×GPUusage))-c×CPUrise-d×GPUrise-e×delay)
 但し、上記のa、b、c、d及びeは、配信するゲームの種類により決まる係数とする。これらの係数の決め方の方法として、ゲームごとに予めプレイして設定する方法がある。配信するゲームによるCPU使用率及びGPU使用率を、CPUやGPU等が異なるベンチマーク測定用の複数の端末で計測し、端末の種類ごとにCPU及びGPUの使用率を確認する。確認された使用率に応じてCPUに関する係数a、c及びGPUに関する係数b、dを決定する。例えば、CPUの使用率が大きいゲームにおいてCPUによる品質低下が起こりやすくなると考えられるため、a、cの係数を大きくするように決定し、GPUに関する係数b及びdも同様に決定する。
 また、ゲームごとに測定するのではなく、クラウドゲームの特性に基づいてクラウドゲームに関して複数のグループ(クラス)を定義し、グループごとに係数を決める方法がある。例えば、配信するクラウドゲームが2Dではなく3Dのゲームであった場合、より描写数が増えるため、GPUによる影響が大きくなる。また、大人数が参加するクラウドゲームにおいてはより描画数が大きくなるため、GPUによる影響が大きくなる。そこで、ゲームの想定参加人数及びゲームの3D映像の利用率に応じて係数b及びdが大きくなるようにする。具体的には、2D映像及び3D映像、及びプレイ人数が異なる複数のクラウドゲームをベンチマークゲームとして準備する。それらのクラウドゲームを端末で利用し、CPU使用率及びGPUの使用率を測定する。測定された使用率をもとに、2D映像と3D映像、及びプレイ人数に基づいて複数のグループを定義し、グループごとにa~eの係数を決定する。
 クライアントレベル決定部11は、配信対象のクラウドゲームの映像が2Dであるのか3Dであるのかやプレイ人数で当該クラウドゲームをいずれかのグループに分類し、分類されたグループの係数を利用してクライアントレベルClevelを計算する。算出されたクライアントレベルClevelは、配信品質決定部12に送信される。
 続いて、配信品質決定部12は、クライアントレベルに基づいて配信パラメータを決定する(S104)。
 配信品質決定部12は、クライアントレベルに応じたビットレート、フレームレート、解像度などのデータベースを所持しておく。例えば、クライアントレベルが25~35であれば、2Mbps、30fps、解像度1280x720で送る、クライアントレベルが35~45であれば、3Mbps、30fps、解像度1280x720で送る、といったようにクライアントレベルに応じた配信品質を予め定めておく。これらのようにクライアントレベルが高くなるほど配信品質が高くなるように配信品質のデータベースを作成しておく。
 上記データベースは、例えば、ベンチマークゲームを利用して予めゲームを行い、本技術を利用するサービス提供者もしくはゲームの提供者が決定する。クライアントレベルに対応する機器を準備して実際にゲームを行い、ゲームごとにクライアントレベルが大きく変動しないような品質条件を事前に設定する。
 配信品質決定部12は、これによって定められたデータベースから現在のクライアントレベルに対応する配信パラメータを抽出し、当該配信パラメータを配信部13に送信する。
 続いて、配信部13は、配信品質決定部12から受信した配信パラメータに基づいて、クラウドゲームの映像をクライアント端末20へ配信する(S105)。
 その後、ゲームが終了するまで(S106)、一定間隔ごとに、配信部13は、その時点においてクライアント端末20が計測したゲーム処理情報をクライアント端末20から受信する(S107)。新たなゲーム処理情報の受信に応じ、ステップS103以降が繰り返される。すなわち、新たなゲーム処理情報に基づいて、クライアントレベルが推定され、配信パラメータが決定されて、当該配信パラメータに基づいて映像の配信が行われる。
 なお、上記の各数式において利用された係数(S1~S3、a~e)は、配信するクラウドゲームの種類によって変化する係数としてもよい。
 また、Cscore及びClevelの計算式は、上記したものに限定されない。
 また、上記では、クライアント端末20の処理能力や負荷の把握のために、クライアント端末20のCPU及びGPUの双方のプロセッサの情報(種類、使用率、使用率の上昇度等)が利用される例を示したが、CPU及びGPUのいずれかのプロセッサの情報のみが利用されるようにしてもよい。
 上述したように、本実施の形態によれば、クラウドゲームの映像について、クライアント端末20の処理能力に応じて配信パラメータが決定されるため、クライアント端末20の処理能力が低い場合においても高いビットレートで配信し、クラウドゲームの遅延やフリーズなどの品質劣化が発生する可能性を低減することができる。また、本実施の形態によれば、クラウドゲームの映像について、クライアント端末20の負荷状況に応じて配信パラメータが決定されるため、リアルタイムで配信パラメータを制御することができ、ゲームの状況に応じて負荷が変化するクラウドゲームにおいてクライアント端末20の負荷が増加することで遅延等の品質劣化が起きる可能性を低減することができる。その結果、ネットワークを介して配信されるゲームの体感品質の低下を抑制することができる。
 なお、本実施の形態において、配信サーバ10は、配信装置の一例である。配信品質決定部12は、決定部の一例である。クライアント端末20は、端末の一例である。
 以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10     配信サーバ
11     クライアントレベル決定部
12     配信品質決定部
13     配信部
20     クライアント端末
100    ドライブ装置
101    記録媒体
102    補助記憶装置
103    メモリ装置
104    プロセッサ
105    インタフェース装置
B      バス

Claims (7)

  1.  ゲームの映像の配信先の端末の処理能力を示す情報と前記端末の負荷を示す情報とに基づいて、前記映像の符号化に関するパラメータを決定するように構成されている決定部と、
     前記パラメータに基づいて前記映像を前記端末に配信するように構成されている配信部と、
    を有することを特徴とする配信装置。
  2.  前記処理能力を示す情報は、前記端末のプロセッサの種類を示す情報を含む、
    ことを特徴とする請求項1記載の配信装置。
  3.  前記負荷を示す情報は、前記端末のプロセッサの使用率を含む、
    ことを特徴とする請求項1又は2記載の配信装置。
  4.  前記負荷を示す情報は、前記端末における前記映像に関する処理遅延を含む、
    ことを特徴とする請求項1又は2記載の配信装置。
  5.  前記負荷を示す情報は、前記端末のプロセッサの使用率の上昇の度合いを含む、
    ことを特徴とする請求項1又は2記載の配信装置。
  6.  ゲームの映像の配信先の端末の処理能力を示す情報と前記端末の負荷を示す情報とに基づいて、前記映像の符号化に関するパラメータを決定する決定手順と、
     前記パラメータに基づいて前記映像を前記端末に配信する配信手順と、
    をコンピュータが実行することを特徴とする配信方法。
  7.  ゲームの映像の配信先の端末の処理能力を示す情報と前記端末の負荷を示す情報とに基づいて、前記映像の符号化に関するパラメータを決定する決定手順と、
     前記パラメータに基づいて前記映像を前記端末に配信する配信手順と、
    をコンピュータに実行させることを特徴とするプログラム。
PCT/JP2022/020102 2022-05-12 2022-05-12 配信装置、配信方法及びプログラム WO2023218614A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/020102 WO2023218614A1 (ja) 2022-05-12 2022-05-12 配信装置、配信方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/020102 WO2023218614A1 (ja) 2022-05-12 2022-05-12 配信装置、配信方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2023218614A1 true WO2023218614A1 (ja) 2023-11-16

Family

ID=88730150

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/020102 WO2023218614A1 (ja) 2022-05-12 2022-05-12 配信装置、配信方法及びプログラム

Country Status (1)

Country Link
WO (1) WO2023218614A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002064802A (ja) * 2000-08-21 2002-02-28 Sony Corp データ伝送システム、データ伝送装置及び方法、シーン記述処理装置及び方法
JP2011029868A (ja) * 2009-07-24 2011-02-10 Ricoh Co Ltd 端末装置、遠隔会議システム、端末装置の制御方法、端末装置の制御プログラム、及び端末装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2018133074A (ja) * 2017-10-10 2018-08-23 パナソニック株式会社 端末装置、映像配信システムおよび映像配信方法
CN112104879A (zh) * 2020-11-13 2020-12-18 腾讯科技(深圳)有限公司 一种视频编码方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002064802A (ja) * 2000-08-21 2002-02-28 Sony Corp データ伝送システム、データ伝送装置及び方法、シーン記述処理装置及び方法
JP2011029868A (ja) * 2009-07-24 2011-02-10 Ricoh Co Ltd 端末装置、遠隔会議システム、端末装置の制御方法、端末装置の制御プログラム、及び端末装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2018133074A (ja) * 2017-10-10 2018-08-23 パナソニック株式会社 端末装置、映像配信システムおよび映像配信方法
CN112104879A (zh) * 2020-11-13 2020-12-18 腾讯科技(深圳)有限公司 一种视频编码方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
JP7463508B2 (ja) クラウドゲーム用のアダプティブグラフィックス
JP7436644B2 (ja) レイテンシとビデオ品質の間のトレードオフをクラウドゲーミングアプリケーションにおいて改善するためのエンコーダ調整
EP4037787B1 (en) Synchronization and offset of vsync between cloud gaming server and client
WO2011018868A1 (ja) 配信システム
JP2020521212A (ja) Vrマルチメディアの経験品質を決定するための方法および装置
CN109769125B (zh) 流媒体码率的动态调整方法、媒体服务器及转码服务器
WO2023218614A1 (ja) 配信装置、配信方法及びプログラム
CN114728202A (zh) 在服务器处重叠编码与传输
CN109847341B (zh) 一种云游戏方法及设备
WO2023095307A1 (ja) 配信装置、配信方法、及びプログラム
WO2022201221A1 (ja) 通信システム、通信方法、サーバ、クライアント端末、および、プログラム
JP7350866B2 (ja) 表示制御装置、送信装置、表示制御方法及びプログラム
WO2022097229A1 (ja) スループット推定装置、スループット推定方法及びプログラム
JP7304419B2 (ja) 送信装置、送信方法及びプログラム
WO2024010588A1 (en) Cloud-based gaming system for supporting legacy gaming applications with high frame rate streams
Wang et al. Adaptive bitrate streaming in cloud gaming
WO2023196227A1 (en) Congestion control for low-latency interactive video streaming
WO2023033833A1 (en) A multi-try encoding operation for streaming applications
CN117339199A (zh) 一种多路径游戏加速系统及方法
Stamm Assessing Image Quality Impact of View Bypass in Cloud Rendering
CN115941968A (zh) 解码处理方法、装置、计算机设备及存储介质
JP2024012147A (ja) クラウドゲーミングのための方法およびシステム
CN117062656A (zh) 使用共享参考帧的低延迟多遍帧级速率控制

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22941694

Country of ref document: EP

Kind code of ref document: A1