A cloud game fluency evaluation method and system
By comparing the parameters of the compression of the game screen before and after and detecting the stuttering values at each end, combining calculation coding and stuttering scores, the problem of incomplete evaluation of game screen fluency in the existing technology is solved, and comprehensive and accurate evaluation and cause of stuttering are achieved. analyze.
Patent Information
- Application Number
- CN202210097865.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-27
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2042-01-27
AI Technical Summary
In the prior art, the fluency evaluation of game screens is not comprehensive, and the comprehensive evaluation results cannot be obtained at one time, and it is difficult to directly understand the reasons for the game screens being stuck.
By comparing the screen parameters of the compressed game screen and the compressed game screen, calculate the encoding score; detect the stuttering value of the game screen on the server, transmission and user side, and calculate the stuttering score; combine the encoding score and stuttering score, Calculate code optimization scores to represent the effect of code optimization.
It realizes a comprehensive and accurate evaluation of the entire process of game screen generation, and can directly obtain the reasons for game screen lag, improving the accuracy and efficiency of evaluation.
Smart Images

Figure CN114385473B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to game evaluation technology, and more particularly to a cloud game fluency evaluation method. The present application also relates to a cloud game fluency evaluation system. Background Art
[0002] There are three methods for detecting and evaluating the fluency of cloud games in the prior art. The first method uses the Google-Jank method for calculation. Under a 60FPS screen, this method only calculates whether each frame of the client is rendered within 16 milliseconds. If it is not completed, it is a jam.
[0003] The second method uses perfdog's jank calculation. PerfDog also only calculates the jank situation of the client, but adds classification for jank in the jank calculation process based on Google-Jank.
[0004] The third method is to use a camera to record the entire test process, from operating the screen buttons to the screen changes. After recording the entire process, the delay is calculated by counting the interval frames.
[0005] The above three methods all evaluate the game smoothness by calculating the game screen freezes. The cause of the game screen freezes needs further analysis to be known, which makes the game smoothness evaluation process cumbersome and it is impossible to get a comprehensive evaluation result at one time. Summary of the invention
[0006] In order to solve the problem of incomplete evaluation of game screen fluency in the prior art, the present application provides a cloud game fluency evaluation method and a cloud game fluency evaluation system.
[0007] This application provides a cloud game fluency evaluation method, including:
[0008] Calculate the encoding score based on the comparison result of the picture parameters of the game picture before compression and the game picture after compression;
[0009] Detecting the jamming values of the game screen on the server, the transmission end, and the user end, and calculating the jamming scores of the server, the transmission end, and the user end according to the jamming values;
[0010] A code optimization score is calculated according to the encoding score and the jam score, and the code optimization score represents the effect of code optimization.
[0011] Optionally, before calculating the encoding score according to the comparison result, the method further includes: capturing the game screen before compression and the game screen after compression.
[0012] Optionally, the calculation of the code optimization score includes:
[0013] The calculation includes the decoding time, decoding efficiency, rendering efficiency and frame loss rate of the game screen.
[0014] Optionally, the calculating of the jamming scores of the server, the transmission end, and the user end includes:
[0015] Calculate the image compression degree and compression distortion degree of the game image.
[0016] Optionally, also include:
[0017] Turn each test item on or off according to the test objectives.
[0018] The present application also provides a cloud game fluency evaluation device, comprising:
[0019] A compression scoring module, used to compare the game screen before compression and the game screen after compression according to the picture parameters, and obtain a coding score according to the comparison result;
[0020] A transmission scoring module, used to detect the jamming values of the game screen on the server, the transmission end and the user end, and obtain the jamming scores of the server, the transmission end and the user end according to the jamming values;
[0021] A comprehensive scoring module is used to calculate a code optimization score based on the encoding score and the jam score, wherein the code optimization score represents the effect of code optimization.
[0022] Optionally, the compression scoring module further includes:
[0023] The screen capture unit is used to capture the game screen before compression and the game screen after compression.
[0024] Optionally, the comprehensive scoring module further includes:
[0025] The decoding scoring unit is used to calculate the decoding time, decoding efficiency, rendering efficiency and frame loss rate of the game screen.
[0026] Optionally, the transmission scoring module further includes:
[0027] The image quality analysis unit is used to calculate the image compression degree and compression distortion degree of the game image.
[0028] Optionally, also include:
[0029] Test selection switch, used to turn on or off each test item.
[0030] The advantages of this application over the prior art are:
[0031] The present application provides a method for evaluating the fluency of cloud games, including: calculating a coding score based on the comparison results of the picture parameters of the game screen before compression and the game screen after compression; detecting the jamming values of the game screen at the server, transmission end and user end, and calculating the jamming scores of the server, transmission end and user end according to the jamming values; calculating a code optimization score based on the coding score and the jamming score, and the code optimization score represents the effect of code optimization. The present application achieves a comprehensive and accurate game fluency evaluation by evaluating the entire process of game screen generation, and can directly obtain the cause of game screen jamming. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 This is a flow chart for evaluating the fluency of cloud gaming in this application.
[0033] Figure 2 It is a flowchart of coding score calculation in this application.
[0034] Figure 3 This is a schematic diagram of a cloud gaming fluency evaluation device in this application. DETAILED DESCRIPTION
[0035] Many specific details are described in the following description to facilitate a full understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of the present application, so the present application is not limited by the specific implementation disclosed below.
[0036] The present application provides a method for evaluating the fluency of cloud games, including: calculating a coding score based on the comparison results of the picture parameters of the game screen before compression and the game screen after compression; detecting the jamming values of the game screen at the server, transmission end and user end, and calculating the jamming scores of the server, transmission end and user end according to the jamming values; calculating a code optimization score based on the coding score and the jamming score, and the code optimization score represents the effect of code optimization. The present application achieves a comprehensive and accurate game fluency evaluation by evaluating the entire process of game screen generation, and can directly obtain the cause of game screen jamming.
[0037] Figure 1 This is a flow chart for evaluating the fluency of cloud gaming in this application.
[0038] Please refer to Figure 1 As shown, S101 calculates a coding score based on a comparison result of picture parameters of the game picture before compression and the game picture after compression.
[0039] The game screen before compression and the game screen after compression are specifically when the cloud game is running, the game screen is rendered in the cloud server, and the rendered game screen is transmitted to the user end for display. In this process, the game screen will be encoded and compressed in the cloud server, and after being transmitted to the user end, the user end decodes and displays the encoded and compressed game screen.
[0040] Therefore, before calculating the coding score according to the comparison result, the method further includes: capturing the game screen before compression and the game screen after compression. Specifically, the game screen before compression is obtained before the game screen is compressed, and the game screen after compression is obtained before transmission to the user end.
[0041] In the present application, the game screen before compression and the game screen after compression are compared, and a score is given according to the comparison result.
[0042] Preferably, the present application uses color values for comparison, and scores the compressed game screen according to the similarity of the color values between the compressed game screen and the game screen before compression.
[0043] Figure 2 It is a flowchart of coding score calculation in this application.
[0044] Please refer to Figure 2 As shown, the specific steps are as follows:
[0045] S201 initializes the color value to 100 points. The color value is the value of the color, obtains the color value of the game screen before compression, sets the color value as the initial value, and multiplies it by a coefficient to scale it to 100 points. For example, assuming that the color value is 10, each color value corresponds to 10 points as a coefficient, and the total is 100 points.
[0046] S202 calculates the score of the compressed game screen. Reads the color value of the compressed game screen, multiplies the color value by the coefficient, and obtains the score of the compressed game screen.
[0047] In another embodiment, the score includes not only the color value, but also the picture resolution, frame number, etc. The picture resolution and frame number are calculated according to the above color value scoring method, so the final result is multiple scores and the real values corresponding to the multiple scores. Based on this, the application also includes:
[0048] S203: According to preset weights, the multiple scores are summed up to obtain a final score.
[0049] S204 collects the user's scores on the compressed game screen, adjusts the weights of multiple scores according to the user's scores, and obtains a final score.
[0050] Among them, the compressed game screen can be classified into multiple styles. This classification can be collected and classified manually, and then users can rate the game screen of each style. Finally, the direction of screen optimization can be known based on the weights of the final rating.
[0051] In addition, the score also includes: compression speed score, the compression speed refers to the time length of compressing a picture file. Specifically, a standard compression speed is preset, that is, the file size that can be compressed in 1 second. Then the actual compression speed is compared with the standard compression speed to obtain the compression speed score. The calculation method of the compression speed score includes: the standard compression speed is 100 points, and the compression speed score expression is:
[0052]
[0053] Among them, S is the compression speed score, A is the standard compression speed, and B is the actual compression speed.
[0054] Please refer to Figure 1 As shown, S102 detects the jamming values of the game screen at the server, transmission and user ends, and calculates the jamming scores of the server, transmission and user ends according to the jamming values.
[0055] The stutter value refers to whether the running time of a unit game screen exceeds a preset threshold, and the preset threshold is an optimal time obtained based on statistics.
[0056] Specifically, the running time of the game screen on the server, transmission end and client end is detected respectively, and whether a freeze occurs is determined based on the running time. If so, the freeze and the location where the freeze occurs are recorded and stored, and the freeze time is used as a scoring parameter. The freeze score is calculated as follows:
[0057]
[0058] Wherein, D is the freeze score, T is the freeze time, and S is the preset threshold.
[0059] Next, the jamming score of each jamming location is calculated respectively, and summed according to the preset weight to obtain the final jamming score. The preset weight is determined according to the device where the jamming occurs. The specific determination method is that the sum of the preset weights is 1, and the higher the performance of each device, the smaller the weight value.
[0060] In another embodiment, the freeze time may also be a picture compression degree and a compression distortion degree, and the freeze time is replaced by a weighted average of the picture compression degree and the compression distortion degree for calculation. Alternatively, the freeze time, the picture compression degree and the compression distortion degree may be calculated by a weighted average.
[0061] In another embodiment, the lag score can also be calculated by the transmission time difference, including: after the user starts the preferred program, the first time difference is obtained: the time when the server receives the game instruction minus the time when the user sends the instruction; the second time difference is the time when the server sends the game screen minus the time when the server receives the game instruction; the third time difference is the time when the user receives the game screen minus the time when the server sends the game screen.
[0062] The sum of the first time difference, the second time difference, and the third time difference is used as the scoring basis, and the calculation formula of the jam score is adopted: Calculate the jam score. Please refer to Figure 1 As shown, S103 calculates a code optimization score according to the encoding score and the jamming score, and the code optimization score represents the effect of code optimization.
[0063] Specifically, the formula for calculating the code optimization score based on the coding score and the jam score is as follows:
[0064]
[0065] Among them, a is the video quality base, which is a preset parameter, Z represents the encoding score, C1, C2, and C3 represent the jamming scores of the server, transmission end, and user end, respectively.
[0066] In another embodiment, the jamming time can be replaced by the real delay, and the jamming score is calculated based on the real delay. For example, under the premise of a full score of 100, the jamming score of a delay of 30ms is set to 89. Then the real delay of the server and the transmission end is obtained, and the value of K is calculated based on the ratio of 30ms to 89 points, where the calculation method of C3 remains unchanged. At this time, the calculation formulas of C1 and C2 are as follows:
[0067] C1 or C2 = 89-(H-30) 2.966
[0068] Wherein H is the actual delay.
[0069] During the actual testing process, users' ratings of the game graphics will be collected, and a critical value of the code optimization score will be obtained based on the user's rating and the code optimization score. The critical value indicates that the user cannot perceive changes in the game graphics quality.
[0070] In addition, in the above scoring, the present application also takes into account decoding time, decoding efficiency, rendering efficiency and frame loss rate, and the result is: K+L+N+H+G. Where L, N, H, and G are the values calculated relative to various reference times for decoding time, decoding efficiency, rendering efficiency, and frame loss rate, for example, L=L S -L B . Where L S is the decoding time of the game screen, L B It is the decoding reference time. The reference time is a preset constant, so the L, N, H, and G can be negative numbers. Preferably, the frame loss rate in this application refers to the actual frame divided by the preset frame multiplied by 100%, wherein the preset frame is set to 60 / s. After 5 frames are lost out of 60 frames, the frame loss rate is less than 8.3%, which is a transmission jam. The decoding efficiency is that the decoding time per frame is 16.6. When there is no decoding for 4 consecutive frames, the duration exceeds 16.6*4=66.4ms, which is a decoding jam.
[0071] Preferably, each test item is turned on or off according to the test target. Because each test does not necessarily require testing at each position, the method described in the present application includes a switch that can turn each test position off or on for testing.
[0072] The present application also provides a cloud game fluency evaluation device, including: a compression scoring module 301, a transmission scoring module 302 and a comprehensive scoring module 303.
[0073] Figure 3 This is a schematic diagram of a cloud gaming fluency evaluation device in this application.
[0074] Please refer to Figure 3 As shown, the compression scoring module 301 is used to compare the game screen before compression and the game screen after compression according to the picture parameters, and obtain the encoding score according to the comparison result.
[0075] The game screen before compression and the game screen after compression are specifically when the cloud game is running, the game screen is rendered in the cloud server, and the rendered game screen is transmitted to the user end for display. In this process, the game screen will be encoded and compressed in the cloud server, and after being transmitted to the user end, the user end decodes and displays the encoded and compressed game screen.
[0076] Therefore, before calculating the coding score according to the comparison result, the method further includes: capturing the game screen before compression and the game screen after compression. Specifically, the game screen before compression is obtained before the game screen is compressed, and the game screen after compression is obtained before transmission to the user end.
[0077] In the present application, the game screen before compression and the game screen after compression are compared, and a score is given according to the comparison result.
[0078] Preferably, the present application uses color values for comparison, and scores the compressed game screen according to the similarity of the color values between the compressed game screen and the game screen before compression.
[0079] Please refer to Figure 2 As shown, the specific steps are as follows:
[0080] S201 initializes the color value to 100 points. Obtain the color value of the game screen before compression, set the color value as the initial value, and multiply it by a coefficient to scale it to 100 points. For example, assuming that the color value is 10, each color value corresponds to 10 points as a coefficient, and the total is 100 points.
[0081] S202 calculates the score of the compressed game screen. Reads the color value of the compressed game screen, multiplies the color value by the coefficient, and obtains the score of the compressed game screen.
[0082] In another embodiment, the score includes not only the color value, but also the picture resolution, frame number, etc. The picture resolution and frame number are calculated according to the above color value scoring method, so the final result is multiple scores and the real values corresponding to the multiple scores. Therefore, this application also includes:
[0083] S203: According to preset weights, the multiple scores are summed up to obtain a final score.
[0084] S204 collects the user's scores on the compressed game screen, adjusts the weights of multiple scores according to the user's scores, and obtains a final score.
[0085] Among them, the compressed game screen can be classified into multiple styles. This classification can be collected and classified manually, and then users can rate the game screen of each style. Finally, the direction of screen optimization can be known based on the weights of the final rating.
[0086] Please refer to Figure 3 As shown, the transmission scoring module 302 is used to detect the jamming values of the game screen at the server, transmission and user ends, and obtain the jamming scores of the server, transmission and user ends according to the jamming values.
[0087] The stutter value refers to whether the running time of a unit game screen exceeds a preset threshold, and the preset threshold is an optimal time obtained based on statistics.
[0088] Specifically, the running time of the game screen on the server, transmission end and client end is detected respectively, and whether a freeze occurs is determined based on the running time. If so, the freeze and the location where the freeze occurs are recorded and stored, and the freeze time is used as a scoring parameter. The freeze score is calculated as follows:
[0089]
[0090] Wherein, D is the freeze score, T is the freeze time, and S is the preset threshold.
[0091] Next, the jamming score of each jamming location is calculated respectively, and summed according to the preset weight to obtain the final jamming score. The preset weight is determined according to the device where the jamming occurs. The specific determination method is that the sum of the preset weights is 1, and the higher the performance of each device, the smaller the weight value.
[0092] In another embodiment, the freeze time may also be a picture compression degree and a compression distortion degree, and the freeze time is replaced by a weighted average of the picture compression degree and the compression distortion degree for calculation. Alternatively, the freeze time, the picture compression degree and the compression distortion degree may be calculated by a weighted average.
[0093] Please refer to Figure 3 As shown, the comprehensive scoring module 303 is used to calculate the code optimization score according to the encoding score and the jamming score, and the code optimization score represents the effect of code optimization.
[0094] Specifically, the formula for calculating the code optimization score based on the coding score and the jam score is as follows:
[0095]
[0096] Among them, a is the video quality base, which is a preset parameter, Z represents the encoding score, C1, C2, and C3 represent the jamming scores of the server, transmission end, and user end, respectively.
[0097] The jamming time can be replaced by the real delay, and the jamming score is calculated based on the real delay. For example, under the premise of a full score of 100, the jamming score of a delay of 30ms is set to 89. Then obtain the real delay of the server and the transmission end, and calculate the value of K based on the ratio of 30ms to 89 points, where the calculation method of C3 remains unchanged. At this time, the calculation formulas of C1 and C2 are as follows:
[0098] C1 or C2 = 89-(H-30) 2.966
[0099] Wherein H is the actual delay.
[0100] During the actual testing process, users' ratings of the game graphics will be collected, and a critical value of the code optimization score will be obtained based on the user's rating and the code optimization score. The critical value indicates that the user cannot perceive changes in the game graphics quality.
[0101] In addition, in the above scoring, the present application also takes into account decoding time, decoding efficiency, rendering efficiency and frame loss rate, and the result is: K+L+N+H+G. Where L, N, H, and G are the values calculated relative to various reference times for decoding time, decoding efficiency, rendering efficiency, and frame loss rate, for example, L=L S -L B . Where L S is the decoding time of the game screen, L B It is the decoding reference time. The reference time is a preset constant, so the L, N, H, and G can be negative numbers. Preferably, the frame loss rate in this application refers to the actual frame divided by the preset frame multiplied by 100%, wherein the preset frame is set to 60 / s. After 5 frames are lost out of 60 frames, the frame loss rate is less than 8.3%, which is a transmission jam. The decoding efficiency is that the decoding time per frame is 16.6. When there is no decoding for 4 consecutive frames, the duration exceeds 16.6*4=66.4ms, which is a decoding jam.
[0102] Preferably, each test item is turned on or off according to the test target. Because each test does not necessarily require testing at each position, the method described in the present application includes a switch that can turn each test position off or on for testing.
Claims
1. A cloud game fluency evaluation method, characterized in that: include: Calculate the encoding score based on the comparison result of the picture parameters of the game picture before compression and the game picture after compression; Detecting the jamming values of the game screen on the server, the transmission end, and the user end, and calculating the jamming scores of the server, the transmission end, and the user end according to the jamming values; Calculate a code optimization score according to the coding score and the jam score, wherein the code optimization score indicates the effect of code optimization; The calculating of the encoding score according to the picture parameter comparison result of the game picture before compression and the game picture after compression comprises: Obtaining the color value of the game screen before compression, setting the color value as an initial value, and multiplying it by a coefficient to scale it to 100 points; Reading the color value of the compressed game screen, multiplying the color value by the coefficient, and obtaining a score of the compressed game screen; The score also includes picture resolution and frame number, and the picture resolution and frame number are calculated and determined according to the color value scoring method; According to the preset weights, multiple scores are summed to get the final score; Collecting users' scores on the compressed game screen, adjusting the weights of multiple scores according to the users' scores, and obtaining a final score; Calculating the jamming scores of the server, transmission and user terminals includes: Calculating the image compression degree and compression distortion degree of the game image; The code optimization score is calculated and determined according to the following formula: Among them, a is the video quality base, which is a preset parameter, Z represents the encoding score, C1, C2, and C3 represent the jamming scores of the server, transmission end, and user end, respectively.
2. The cloud game fluency evaluation method according to claim 1 is characterized in that: Before calculating the encoding score according to the picture parameter comparison result of the game picture before compression and the game picture after compression, it also includes: capturing the game picture before compression and the game picture after compression.
3. The cloud game fluency evaluation method according to claim 1 is characterized in that: The calculation of the code optimization score includes: The calculation includes the decoding time, decoding efficiency, rendering efficiency and frame loss rate of the game screen.
4. The cloud game fluency evaluation method according to any one of claims 1 to 3, characterized in that: Also includes: Turn each test item on or off according to the test objectives.
5. A cloud game fluency evaluation system, characterized in that: include: A compression scoring module, used to compare the game screen before compression and the game screen after compression according to the picture parameters, and obtain a coding score according to the comparison result; A transmission scoring module, used to detect the jamming values of the game screen on the server, the transmission end and the user end, and obtain the jamming scores of the server, the transmission end and the user end according to the jamming values; A comprehensive scoring module, used to calculate a code optimization score according to the coding score and the jam score, wherein the code optimization score indicates the effect of code optimization; The encoding score is calculated based on the comparison of the picture parameters of the game screen before and after compression, including: Obtaining the color value of the game screen before compression, setting the color value as an initial value, and multiplying it by a coefficient to scale it to 100 points; Reading the color value of the compressed game screen, multiplying the color value by the coefficient, and obtaining a score of the compressed game screen; The score also includes picture resolution and frame number, and the picture resolution and frame number are calculated and determined according to the color value scoring method; According to the preset weights, multiple scores are summed to get the final score; Collecting users' scores on the compressed game screen, adjusting the weights of multiple scores according to the users' scores, and obtaining a final score; Calculating the jamming scores of the server, transmission and user terminals includes: Calculating the image compression degree and compression distortion degree of the game image; The code optimization score is calculated and determined according to the following formula: Among them, a is the video quality base, which is a preset parameter, Z represents the encoding score, C1, C2, and C3 represent the jamming scores of the server, transmission end, and user end, respectively.
6. The cloud game fluency evaluation system according to claim 5, characterized in that: The compression scoring module also includes: The screen capture unit is used to capture the game screen before compression and the game screen after compression.
7. The cloud game fluency evaluation system according to claim 5, characterized in that: The comprehensive scoring module also includes: The decoding scoring unit is used to calculate the decoding time, decoding efficiency, rendering efficiency and frame loss rate of the game screen.
8. The cloud game fluency evaluation system according to claim 5, characterized in that: The transmission scoring module also includes: The image quality analysis unit is used to calculate the image compression degree and compression distortion degree of the game image.
9. The cloud game fluency evaluation system according to any one of claims 5 to 8, characterized in that: Also includes: Test selection switch, used to turn on or off each test item.