Cloud game data processing method, device, medium, equipment and product
By analyzing the decoding performance information of the device configuration and generating optimized game configuration, the problem of poor decoding performance of cloud game clients is solved, and the visual experience and picture quality of cloud games are improved.
Patent Information
- Application Number
- CN202210009392.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-06
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2042-01-06
AI Technical Summary
The decoding performance of cloud gaming clients is poor, resulting in high latency, affecting the visual interaction experience and screen display effect of cloud gaming.
By acquiring the device configuration, performing cloud game test data decoding processing, analyzing the decoding performance information, determining the target device configuration that meets the predetermined decoding performance conditions, and generating local game configurations to optimize the screen display processing of cloud game data.
It effectively improves the decoding performance of the client during cloud gaming, ensures the visual interactive experience of cloud gaming, and improves the overall display effect of cloud gaming.
Smart Images

Figure CN114432705B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular, to a cloud game data processing method, device, medium, equipment and product. Background Art
[0002] Cloud game is a game mode in which the game runs on the server side, and the cloud game data of the game running on the server side is transmitted to the client in real time for screen display. The client will perform screen display processing such as decoding and rendering on the cloud game data and then display the game screen. There will be a situation where the decoding performance is poor (such as high latency) during decoding.
[0003] Currently, in the related art, usually by reducing the resolution and frame rate of the cloud game data transmitted to the client, the decoding performance of the client is improved. This method does not fully exploit the performance of the corresponding device of the client. The improvement of the decoding performance of the client during cloud game will lead to a decline in the visual interaction experience of the cloud game, and the overall effect of the screen display of the cloud game is poor. Summary of the Invention
[0004] Embodiments of this application provide a cloud game data processing method and related device, which can effectively improve the decoding performance of the client during cloud game and ensure the visual interaction experience of the cloud game, and improve the overall screen display effect of the cloud game.
[0005] Embodiments of this application provide the following technical solutions:
[0006] According to an embodiment of this application, a cloud game data processing method includes: obtaining at least one device configuration; performing decoding processing on cloud game test data based on the device configuration to obtain decoding test data corresponding to each device configuration; performing analysis processing based on the decoding test data to obtain local decoding performance information under each device configuration; determining a target device configuration that meets a predetermined decoding performance condition from the at least one device configuration according to the decoding performance information; generating a local game configuration based on the target device configuration, where the game configuration is used for screen display processing of cloud game data.
[0007] According to an embodiment of the present application, a cloud game data processing device includes: an acquisition module configured to acquire at least one device configuration; a decoding module configured to perform decoding processing on cloud game test data based on the device configuration to obtain decoded test data corresponding to each device configuration; an analysis module configured to perform analysis processing based on the decoded test data to obtain local decoding performance information under each device configuration; a determination module configured to determine a target device configuration that meets a predetermined decoding performance condition from the at least one device configuration according to the decoding performance information; and a generation module configured to generate a local game configuration based on the target device configuration, where the game configuration is used to perform screen display processing on cloud game data.
[0008] In some embodiments of the present application, the decoding performance information includes decoding delay information; the determination module includes: an information comparison unit configured to compare the local decoding delay information under each device configuration to obtain at least one decoding delay information reflecting the lowest decoding delay; and a device configuration determination unit configured to determine the target device configuration based on the device configuration corresponding to the at least one decoding delay information reflecting the lowest decoding delay.
[0009] In some embodiments of the present application, the decoding performance information further includes decoding stability information; the device configuration determination unit is configured to: determine, from the decoding stability information corresponding to a specific device configuration, the decoding stability information reflecting the highest decoding stability, where the specific device configuration is the device configuration corresponding to the at least one decoding delay information reflecting the lowest decoding delay; and determine, as the target device configuration, the device configuration corresponding to the decoding stability information reflecting the highest decoding stability in the specific device configuration.
[0010] In some embodiments of the present application, the decoding performance information includes decoding delay information; the decoded test data includes the decoding time of each data frame in the cloud game test data and the decoding output frame rate of all data frames; the analysis module includes: a first analysis unit configured to calculate the average value of the decoding time in the decoded test data corresponding to each device configuration respectively to obtain the average decoding time corresponding to each device configuration; and a second analysis unit configured to calculate the weighted sum of the average decoding time corresponding to each device configuration and the decoding output frame rate respectively to obtain the local decoding delay information under each device configuration.
[0011] In some embodiments of the present application, the decoding performance information includes decoding stability information; the decoding test data includes the decoding time of each data frame in the cloud game test data; the analysis module includes: a third analysis unit configured to: determine the degree of change in the decoding time of all data frames in the decoding test data corresponding to each device configuration; and generate local decoding stability information for each device configuration respectively based on the degree of change corresponding to each device configuration.
[0012] In some embodiments of the present application, the at least one device configuration includes a reference device configuration and a derived device configuration; the acquisition module includes: an acquisition unit configured to acquire the reference device configuration; and an adjustment unit configured to adjust the configuration information in the reference device configuration according to the decoding test data corresponding to the reference device configuration to generate the derived device configuration. The decoding module is configured to: perform decoding processing on the cloud game test data based on the reference device configuration to obtain the decoding test data corresponding to the reference device configuration; and perform decoding processing on the cloud game test data based on the derived device configuration to obtain the decoding test data corresponding to the derived device configuration.
[0013] In some embodiments of the present application, the reference device configuration includes other configuration information and fixed configuration information corresponding to local device information; the adjustment unit is configured to: adjust the other configuration information in the reference device configuration according to the decoding test data corresponding to the reference device configuration to generate the derived device configuration.
[0014] In some embodiments of the present application, the acquisition unit is configured to: send a configuration request carrying local device information to the server, and the server determines the device type corresponding to the local according to the device information and acquires the reference device configuration corresponding to the device type; and receive the reference device configuration corresponding to the device type sent by the server.
[0015] In some embodiments of the present application, the generation module includes: a sending unit configured to send the target device configuration and local device information to the server; a receiving unit configured to receive the selected device configuration sent by the server, where the selected device configuration is selected according to the target device configuration determined by the device matching the device information, and the selected device configuration includes the target device configuration or other device configurations; and a generation unit configured to generate a local game configuration based on the selected device configuration.
[0016] In some embodiments of the present application, the generating unit is configured to: obtain the decoding parameters of the local system decoder; compare the decoding parameters with the configuration information in the selected device configuration to correct the configuration information in the selected device configuration, so as to obtain the corrected device configuration; generate the local game configuration based on the corrected device configuration.
[0017] In some embodiments of the present application, the device further includes a processing module, configured to: detect the local decoding authentication information, where the decoding authentication information is granted by the relevant system when verifying that the local decoding and rendering time meets a predetermined standard; if the decoding authentication information is detected and there is no pre-set device configuration locally, obtain the decoding parameters of the local system decoder; set a candidate device configuration according to the decoding parameters; adjust the candidate device configuration according to the local cloud game running environment information to obtain an environment-matched device configuration; generate the local game configuration based on the environment-matched device configuration.
[0018] In some embodiments of the present application, the cloud game running environment information includes at least one of the game information of the target cloud game, the local device model, the local device channel, and the local device system.
[0019] In some embodiments of the present application, the configuration information in the device configuration includes at least one of decoding method information, rendering view information, resolution information, frame rate information, and encoding characteristic information.
[0020] According to another embodiment of the present application, a computer-readable storage medium stores a computer program, and when the computer program is executed by a processor of a computer, the computer is caused to execute the method described in the embodiments of the present application.
[0021] According to another embodiment of the present application, an electronic device includes: a memory storing a computer program; a processor reading the computer program stored in the memory to execute the method described in the embodiments of the present application.
[0022] According to another embodiment of the present application, a computer program product or a computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided in the various alternative implementation manners described in the embodiments of the present application.
[0023] In an embodiment of the present application, at least one device configuration is obtained; the cloud game test data is decoded based on the device configuration to obtain decoded test data corresponding to each device configuration; analysis processing is performed based on the decoded test data to obtain local decoding performance information under each device configuration; according to the decoding performance information, a target device configuration that meets a predetermined decoding performance condition is determined from the at least one device configuration; and a local game configuration is generated based on the target device configuration, and the game configuration is used for performing screen display processing on cloud game data.
[0024] In this way, by obtaining at least one device configuration, testing and analyzing the decoding performance information of the cloud game test data according to each device configuration, and determining a target device configuration that meets a predetermined decoding performance condition to generate a local game configuration, the game configuration is adapted to the decoding performance of the device. When used for performing screen display processing on cloud game data, it can effectively improve the client decoding performance during cloud gaming and ensure the visual interaction experience of cloud gaming, and improve the overall screen display effect of cloud gaming. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present application. For those skilled in the art, without creative efforts, other drawings can be obtained according to these drawings.
[0026] Figure 1 The schematic diagram of the architecture of the cloud game system to which the embodiments of the present application can be applied is shown.
[0027] Figure 2 Shown in Figure 1 The schematic diagram of the system processing flow during the process of playing cloud games under the shown system architecture is shown.
[0028] Figure 3 The flowchart of the cloud game data processing method according to an embodiment of the present application is shown.
[0029] Figure 4 The flowchart of the cloud game data processing method according to an embodiment of the present application is shown.
[0030] Figure 5 The schematic diagram of the cloud game data processing method according to an embodiment of the present application is shown.
[0031] Figure 6 The flowchart of the cloud game data processing method according to an embodiment of the present application is shown.
[0032] Figure 7Shows a flowchart of the cloud game configuration generation process in a scenario.
[0033] Figures 8A to 8C Shows a diagram of the changes in the terminal interface of the cloud game client in a scenario.
[0034] Figure 9 Shows a block diagram of a cloud game data processing device according to another embodiment of the present application.
[0035] Figure 10 Shows a block diagram of an electronic device according to an embodiment of the present application. Detailed implementation
[0036] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative efforts belong to the scope of protection of the present application.
[0037] Figure 1 Shows a schematic diagram of the architecture of the cloud game system 100 to which the embodiments of the present application can be applied. As Figure 1 shown, the system 100 may include a server 101 and a terminal 102. Among them, a cloud game client for running cloud games can be run in the terminal 102, and a cloud game background running program for running cloud games can be run in the server 101.
[0038] The server 101 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0039] In one implementation, the server 101 can be a cloud server, and the server 101 can provide artificial intelligence cloud services, such as providing artificial intelligence cloud services for cloud games. The so-called artificial intelligence cloud service is generally also called AIaaS (AI as a Service, Chinese for "AI as a Service"). This is a current mainstream service method of an artificial intelligence platform. Specifically, the AIaaS platform will split several common AI services and provide independent or packaged services in the cloud. This service model is similar to opening an AI-themed mall: all developers can access and use one or more artificial intelligence services provided by the platform through the API interface, and some senior developers can also use the AI framework and AI infrastructure provided by the platform to deploy and operate their own exclusive cloud artificial intelligence services.
[0040] The terminal 102 can be any device, and the terminal 102 includes but is not limited to mobile phones, computers, intelligent voice interaction devices, intelligent home appliances, vehicle-mounted terminals, VR / AR devices, smart watches, game devices, and computers, etc. In some embodiments, the terminal 102 can be a device of a map vehicle networking platform.
[0041] Further, refer to Figure 2 , Figure 2 shows a schematic diagram of the system processing flow during the play of a cloud game in a scenario under the system architecture shown in Figure 1 . This system process can include steps 1 to 7.
[0042] Step 1: Start the cloud game client. The user can click on the game icon on the terminal 102 to open the cloud game client, and then, can click on the start control in the cloud game client interface as shown in Figure 8A to trigger the start of the cloud game client.
[0043] Step 2: Machine performance detection. The cloud game client in the terminal 102 can display an interface as shown in Figure 8B . During the machine performance detection process, the cloud game client in the terminal 102 can execute the steps in the embodiment shown in Figure 3 :
[0044] Obtain at least one device configuration; perform decoding processing on cloud game test data based on the device configuration to obtain decoded test data corresponding to each device configuration; perform analysis processing based on the decoded test data to obtain local decoding performance information under each device configuration; determine a target device configuration that meets a predetermined decoding performance condition from the at least one device configuration according to the decoding performance information; generate a local game configuration based on the target device configuration, and the game configuration is used to perform screen display processing on cloud game data. Among them, the device configuration may be the device configuration of the terminal 102, and the terminal 102 may obtain at least one device configuration from the server 101 or obtain at least one device configuration local to the terminal 102. A cloud game client may be installed on the terminal 102, and the cloud game client may perform screen display processing on cloud game data based on the game configuration.
[0045] Step 3, play the game. After generating the local game configuration, the cloud game client may display a formal gameplay interface according to user operations or automatically.
[0046] In the gameplay interface, the user may start playing a specific cloud game (for example, join a game session). At this time, a cloud game background program of the specific cloud game will run in the server 101, and the cloud game client will send game instructions (such as the movement of virtual characters, etc.) generated by the user's game operations to the server 101 in real time through the terminal 102. The server 101 executes the game instructions based on the running cloud game background program to generate real-time cloud game data (which may include cloud game screen data).
[0047] The server 101 sends the real-time generated cloud game data to the terminal 102, and the cloud game client may perform real-time screen display processing on the received cloud game data.
[0048] The cloud game client will perform real-time screen display processing based on the generated game configuration. For example, the game configuration is H264 (decoding method information) + SurfaceView (rendering view information) + 720P (resolution information) + 60fps (frame rate information) + no frame loss (encoding characteristic information). At this time, the cloud game client may use an H264 decoder to decode the cloud game data based on the decoding characteristic of no frame loss, 720P resolution, and 60fps frame rate to obtain cloud game screen content, and use SurfaceView to perform view rendering display processing on the cloud game screen content, thereby completing the screen display processing and displaying the cloud game gameplay screen in real time on the cloud game client.
[0049] Figure 3 Schematically shows a flowchart of a cloud game data processing method according to an embodiment of the present application. The execution subject of the cloud game data processing method may be any terminal, for example Figure 1The terminal 102 shown.
[0050] As Figure 3 shown, the cloud game data processing method may include steps S210 to S250.
[0051] Step S210, obtaining at least one device configuration;
[0052] Step S220, decoding the cloud game test data based on the device configuration to obtain decoded test data corresponding to each device configuration;
[0053] Step S230, performing analysis processing based on the decoded test data to obtain local decoded performance information under each device configuration;
[0054] Step S240, determining a target device configuration that meets a predetermined decoded performance condition from at least one device configuration according to the decoded performance information;
[0055] Step S250, generating a local game configuration based on the target device configuration, where the game configuration is used for performing screen display processing on the cloud game data.
[0056] The device configuration is the machine configuration of the device where the cloud game client is installed. Each device configuration may include at least one configuration information, such as resolution information, decoding method information, rendering view information, resolution information, frame rate information, and encoding characteristic information, etc. At least one configuration information is different in different device configurations.
[0057] The cloud game test data is the cloud game data used for testing, such as cloud game data with 60 frames of 1080P and a duration of 1s.
[0058] The decoded test data is the relevant decoded data collected during decoding, such as decoded output frame rate, average decoding time for each frame of data, etc.
[0059] The decoded performance information is the information used to describe the decoding performance of the device analyzed based on the decoded test data. Corresponding decoded test data can be obtained through testing under each device configuration, and corresponding decoded performance information can be analyzed from each decoded test data, that is, each device configuration corresponds to one decoded performance information.
[0060] The predetermined decoded performance condition is a predetermined performance condition, such as the one with the highest decoding performance or the top several with the highest decoding performance, etc. According to the decoded performance information corresponding to each device configuration, the device configuration that meets the predetermined decoded performance condition can be determined as the target device configuration.
[0061] Generating a local game configuration based on the target device configuration can improve the decoding performance during cloud game play when the game configuration is used for performing screen display processing on the cloud game data.
[0062] In this way, based on steps S210 to S250, by obtaining at least one device configuration, analyzing the decoding performance information of cloud game test data according to each device configuration through testing, and determining a target device configuration that meets the predetermined decoding performance conditions to generate a local game configuration, the game configuration can be adapted to the decoding performance of the device. When used for video display processing of cloud game data, it can effectively improve the decoding performance of the client during cloud gaming and ensure the visual interaction experience of cloud games, enhancing the overall display effect of the cloud game screen.
[0063] The following describes the specific processes of each step during cloud game data processing.
[0064] In step S210, at least one device configuration is obtained.
[0065] Obtaining at least one device configuration can be requested from a server (such as Figure 1 the server 101 shown); it can also be obtained by retrieving a preconfigured device configuration locally.
[0066] In one embodiment, at least one device configuration includes a reference device configuration and a derived device configuration; step S210, obtaining at least one device configuration, includes: obtaining at least one preconfigured device configuration. That is, obtaining at least one directly given device configuration.
[0067] In one embodiment, at least one device configuration includes a reference device configuration and a derived device configuration; step S210, obtaining at least one device configuration, includes: step S211, obtaining the reference device configuration; step S212, adjusting the configuration information in the reference device configuration according to the decoding test data corresponding to the reference device configuration to generate a derived device configuration.
[0068] The reference device configuration is at least one given device configuration. In one implementation, the reference device configuration includes one, and the reference device configuration can be obtained from a server or retrieved locally. The derived device configuration is a device configuration derived by adaptively adjusting the reference device configuration, and the derived device configuration can include at least one.
[0069] Adjusting the configuration information in the reference device configuration according to the decoding test data corresponding to the reference device configuration to generate a derived device configuration, and thus obtaining at least one device configuration. Compared with the method of directly giving multiple device configurations for decoding tests, it realizes further efficient adaptive testing, reduces the number of device configurations that need to be given when giving multiple device configurations, and can further improve the efficiency of generating game configurations.
[0070] Particularly for the scenario of testing before the game starts, compared with the method of directly specifying multiple device configurations for testing to determine the target device configuration, the efficiency of generating game configurations can be further improved, and the waiting time for users to enter the game can be further reduced.
[0071] In one embodiment, the configuration information in the device configuration includes at least one of decoding method information, rendering view information, resolution information, frame rate information, and encoding characteristic information. The encoding characteristic information is, for example, single reference frame, multiple reference frames, and no frame loss, etc.
[0072] Furthermore, in one implementation manner, the configuration information in the device configuration includes 5 types in total, namely decoding method information, rendering view information, resolution information, frame rate information, and encoding characteristic information. The applicant found that when these 5 types of configuration information are included in the device configuration, the testing can be carried out efficiently to generate a game configuration with high decoding performance. Further, in some implementation manners, when these 5 types are included in the device configuration, when deriving the delay device configuration through adaptive adjustment, only a small amount of configuration information needs to be adjusted to efficiently determine the target device configuration that meets the decoding performance conditions, and the game configuration can be produced efficiently.
[0073] In step S220, the cloud game test data is decoded based on the device configuration to obtain the decoding test data corresponding to each device configuration.
[0074] Decoding the cloud game test data based on the device configuration means configuring the device parameters locally according to the device configuration (each configuration information in the device configuration can correspond to a device parameter), and decoding the cloud game test data based on the configured device parameters, so as to obtain the local decoding test data under each device configuration. For example, locally, 60 frames of 1080P cloud game data are input within 1 s under each device configuration for decoding processing, and the decoding test data corresponding to each configuration is obtained. The decoding test data may include the decoding time corresponding to each frame of data in the 60 frames and the total decoding output frame rate of the 60 frames of frame data, etc.
[0075] In one embodiment, at least one of the device configurations includes a reference device configuration and a derived device configuration; in step S210, obtaining at least one device configuration includes: obtaining at least one preset device configuration. That is, obtaining at least one directly specified device configuration. In step S220, decoding the cloud game test data based on the device configuration to obtain the decoding test data corresponding to each device configuration includes: decoding the cloud game test data separately based on each device configuration to obtain the decoding test data corresponding to each device configuration.
[0076] In one embodiment, at least one device configuration includes a reference device configuration and a derived device configuration; Step S210, obtaining at least one device configuration, including: Step S211, obtaining the reference device configuration; Step S212, adjusting the configuration information in the reference device configuration according to the decoding test data corresponding to the reference device configuration to generate a derived device configuration. Step S220, performing decoding processing on the cloud game test data based on the device configuration to obtain the decoding test data corresponding to each device configuration, including: Step S221, performing decoding processing on the cloud game test data based on the reference device configuration to obtain the decoding test data corresponding to the reference device configuration; Step S222, performing decoding processing on the cloud game test data based on the derived device configuration to obtain the decoding test data corresponding to the derived device configuration.
[0077] Performing decoding processing according to the reference device configuration to obtain the corresponding decoding test data, adjusting the configuration information in the reference device configuration to generate a derived device configuration, and obtaining at least one device configuration. Compared with the method of directly giving multiple device configurations for decoding tests, it realizes further efficient adaptive testing, reduces the number of device configurations that need to be given when giving multiple device configurations, and can further improve the efficiency of generating game configurations.
[0078] Especially for the scenario of testing before the game starts, it can avoid the way of determining the target device configuration by directly giving multiple device configurations for testing, which can further improve the efficiency of generating game configurations and further reduce the waiting time for users to enter the game.
[0079] In one embodiment, the step of obtaining the reference device configuration includes: sending a configuration request carrying the device information of the local device to the server, and the server determines the device type corresponding to the local device according to the device information and obtains the reference device configuration corresponding to the device type; receiving the reference device configuration corresponding to the device type sent by the server.
[0080] The device information can be description information used to describe the local device. In one example, the device information is information such as the model of the local device. Sending the device information to the server through the configuration request, and the server issues the reference device configuration corresponding to the device type of the configuration request. This reference device configuration can already be an optimized device configuration, which can further improve the reliability of adaptively decoding and testing the device configuration locally to determine the target device configuration that meets the predetermined decoding performance conditions.
[0081] Among them, the server can pre-collect the cloud game playing data in each device, classify the corresponding devices according to the cloud game playing data, generate the device type of each device, and generate the corresponding reference device configuration according to the device type, further ensuring the optimization effect of the reference device configuration.
[0082] In one example, the device types include whitelist devices, graylist devices, and undetermined / blacklist devices. Among them, a whitelist device can be a device whose decoding performance is determined by the server to be excellent based on the collected cloud game play data analysis (for example, the decoding output frame rate is higher than a predetermined threshold). A graylist device can be a device whose decoding performance is suspected of being low based on the collected cloud game play data analysis (for example, the decoding output frame rate is unstable). An undetermined / blacklist device can be a device whose decoding performance needs to be further observed or is poor based on the collected cloud game play data analysis. Further, in one embodiment, refer to Figure 6 When the device type is a whitelist device or a graylist device, the server can send the benchmark device configuration (i.e., cloud control configuration) corresponding to the device type.
[0083] Step S212: Adjust the configuration information in the benchmark device configuration according to the decoding test data corresponding to the benchmark device configuration to generate a derivative device configuration, including: Adjust the configuration information in the benchmark device configuration in sequence according to the decoding test data corresponding to the benchmark device configuration, and adjust one configuration information each time to generate at least one derivative device configuration.
[0084] Refer to Figure 4 In one example, the local device is a device with a 1080P resolution. The device configuration includes 5 types of configuration information, namely decoding method information, rendering view information, resolution information, frame rate information, and encoding characteristic information. That is, both the benchmark device configuration and the derivative device configuration include 5 types of configuration information. The decoding test data can be avg_decode_time (average decoding time) and avg_decode_framerate (decoding output frame rate). Among them, the benchmark device configuration is "Policy A", which specifically includes the decoding method information as H264, the rendering view information as SurfaceView, the resolution information as 1080P, the frame rate information as 60fps, and the encoding characteristic information as no frame loss. That is, Policy A is "H264 + SurfaceView + 1080P + 60fps + no frame loss".
[0085] Adjust the configuration information in the benchmark device configuration in sequence according to the decoding test data corresponding to the benchmark device configuration, and adjust one configuration information each time to generate at least one derivative device configuration, which can specifically include the following path (1) or path (2).
[0086] Under path (1), it may include: Step S300, determining whether the avg_decode_framerate of Policy A >= 55; Step S301, when the avg_decode_framerate of Policy A >= 55, determining whether the avg_decode_time of A >= 55; Step S302, when the avg_decode_time of A >= 55, adjusting the configuration information in Policy A to generate Policy B (derived device configuration) as H265 + SurfaceView + 1080P + 60fps + no frame loss. Furthermore, at least one device configuration obtained includes Policy A and B. The subsequent steps determine the target device configuration that meets the decoding performance conditions from Policy A and Policy B.
[0087] Under path (2), it may include: Step S303, if it is determined in Step S300 that the avg_decode_time of A < 55, adjusting H264 in Policy A to H265 to obtain Policy B, and Policy B is H265 + SurfaceView + 1080P + 60fps + no frame loss. Step S304, determining whether the avg_decode_time of both Policy A and B is greater than 300. Step S305, if the avg_decode_time of both Policy A and B is greater than 300, adjusting the configuration information in Policy A to generate Policy C and D. Policy C is H264 + TextureView + 1080P + 60fps + no frame loss, and Policy D is H265 + TextureView + 1080P + 60fps + no frame loss. Step S306, selecting the optimal Codec (i.e., decoding method information) according to the avg_decode_time of C and D. For example, if the avg_decode_time of C is less than that of D, the optimal Codec is H264. Step S307, adjusting the configuration information other than Codec to generate policies: Codec + TextureView + 720P + 60fps + no frame loss, Codec + SurfaceView + 720P + 50fps + no frame loss, Codec + SurfaceView + 720P + 60fps + frame loss, and Codec + SurfaceView + 720P + 60fps + no frame loss.
[0088] Step S308, if in step S304 it is determined that not both the avg_decode_time of strategies A and B are greater than 300, then determine whether the avg_decode_framerate of strategy B is greater than 55. Step S309, select the optimal Codec (i.e., decoding method information) based on the comprehensive comparison of A and B. For example, if the avg_decode_time of A is less than that of B, the optimal Codec is H264. Step S310, adjust the configuration information other than the Codec to generate strategies: Codec + TextureView + 1080P + 60fps + no frame loss, Codec + SurfaceView + 1080P + 50fps + no frame loss, Codec + SurfaceView + 1080P + 60fps + frame loss.
[0089] Step S311, if in step S301 it is determined that the avg_decode_time of A is less than 55, adjust the configuration information (H264 and SurfaceView) in strategy A to generate strategies C and D. C is H264 + TextureView + 1080P + 60fps + no frame loss, and D is H265 + TextureView + 1080P + 60fps + no frame loss. Step S312, determine whether the avg_decode_time of both C and D are greater than 300.
[0090] Step S313, if in step S312 it is determined that the avg_decode_time of both C and D are greater than 300, then further adjust the configuration information in A to generate strategy B. Strategy B is H265 + SurfaceView + 1080P + 60fps + no frame loss. Step S314, select the optimal Codec based on the avg_decode_time of A and B. For example, if the avg_decode_time of A is less than that of B, the optimal Codec is H264. Step S315, adjust the configuration information other than the Codec to generate strategies: Codec + SurfaceView + 1080P + 60fps + no frame loss, Codec + SurfaceView + 1080P + 50fps + no frame loss, Codec + SurfaceView + 1080P + 60fps + frame loss.
[0091] Step S316, if it is determined in Step S312 that not both the avg_decode_time of C and D are greater than 300, then select the optimal Codec based on the avg_decode_time of C and D. For example, if the avg_decode_time of C is less than that of D, then the optimal Codec is H264. Step S317, adjust the configuration information generation strategy other than the Codec: Codec + TextureView + 1080P + 60fps + no frame loss, Codec + SurfaceView + 1080P + 50fps + no frame loss, Codec + SurfaceView + 1080P + 60fps + frame loss.
[0092] Furthermore, taking the policy A corresponding to the benchmark device configuration as a reference for adjustment, at least one derivative device configuration can be generated. The derivative device configuration can include the policies generated in various situations after policy A (in one example, such as several policies finally generated under the paths of various situations, and in one example, such as all other policies generated under the paths of various situations). The subsequent steps can determine the target device configuration that meets the decoding performance conditions from policy A and the policies serving as the derivative device configuration.
[0093] In one embodiment, the benchmark device configuration includes other configuration information and the fixed configuration information corresponding to the local device information; Step S212, adjust the configuration information in the benchmark device configuration according to the decoding test data corresponding to the benchmark device configuration to generate a derivative device configuration, including: adjust the other configuration information in the benchmark device configuration according to the decoding test data corresponding to the benchmark device configuration to generate a derivative device configuration.
[0094] The fixed configuration information corresponding to the device information is the information corresponding to the optimal configuration parameters applicable to the device. For example, the fixed configuration information corresponding to a certain device information is a resolution of 720P. Other configuration information is the configuration information in the device configuration except for the fixed configuration information. After determining the fixed configuration information and only adjusting the other configuration information, the number of configuration information to be adjusted can be further reduced, the efficiency of generating the derivative device configuration is further improved, and the efficiency of adaptively testing the device configuration is further improved.
[0095] In one implementation, the device configuration includes 5 types of configuration information: decoding method information, rendering view information, resolution information, frame rate information, and encoding characteristic information. That is, both the benchmark device configuration and the derivative device configuration include 5 types of configuration information. Among them, the resolution information is the fixed configuration information.
[0096] Refer to Figure 5, in one example, the local device is a device with a resolution of 720P, and the resolution information 720P is fixed configuration information. The steps of generating a derivative device configuration by adjusting other configuration information in the reference device configuration according to the decoding test data corresponding to the reference device configuration include: steps S401 to S403. Among them, the reference device configuration may include Policy A and Policy B. Policy A is H264 + SurfaceView + 720P + 60fps + no frame loss, and Policy B is H265 + SurfaceView + 720P + 60fps + no frame loss.
[0097] In step S401, obtain the decoding test data corresponding to Policy A and Policy B. In step S402, compare A and B comprehensively to select the optimal Codec (i.e., decoding method information). For example, if the avg_decode_time of A is less than that of B, the optimal Codec is H264. In step S403, adjust the optimal Codec (i.e., decoding method information) and the configuration information other than the fixed configuration information 720P to generate policies (i.e., derivative device configurations): Codec + SurfaceView + 720P + 60fps + no frame loss, Codec + SurfaceView + 720P + 60fps + frame loss, Codec + TextureView + 720P + 60fps + frame loss, and Codec + SurfaceView + 720P + 50fps + no frame loss.
[0098] See Figure 6 , in one example, the local device is a device with a resolution below 4.4K, and the resolution information 720P is fixed configuration information. The steps of generating a derivative device configuration by adjusting other configuration information in the reference device configuration according to the decoding test data corresponding to the reference device configuration include: steps S501 to S505. Among them, the reference device configuration may include Policy A and Policy B. Policy A is H264 + SurfaceView + 720P + 60fps + no frame loss, and Policy B is H265 + SurfaceView + 720P + 60fps + no frame loss.
[0099] In step S501, obtain the decoding test data corresponding to policy A and policy B. In step S502, comprehensively compare A and B to select the optimal Codec (i.e., decoding method information). For example, if the avg_decode_time of A is less than that of B, the optimal Codec is H264. In step S503, adjust the optimal Codec (i.e., decoding method information) and the configuration information other than the fixed configuration information 720P to generate policies: Codec + SurfaceView + 720P + 30fps + no frame loss (policy A / B), Codec + TextureView + 720P + 30fps + no frame loss (policy D). In step S504, comprehensively compare the decoding test data corresponding to the policies generated in step S503 to comprehensively compare and select the optimal View (i.e., rendering view information). For example, if the average decoding time corresponding to Codec + SurfaceView + 720P + 30fps + no frame loss (policy A / B) is less than that of policy D, the optimal View can be SurfaceView. In step S505, adjust the optimal Codec (i.e., decoding method information), the optimal View, and the configuration information other than the fixed configuration information 720P to generate policies: Codec + View + 720P + 30fps + no frame loss, Codec + View + 720P + 50fps + no frame loss.
[0100] Furthermore, at least one derived device configuration can be generated by adjusting based on policies A and B corresponding to the benchmark device configuration. The derived device configuration can include the policies generated in various cases after policies A and B (in one example, such as several policies finally generated under the paths of various cases, and in one example, such as all other policies generated under the paths of various cases). Subsequent steps can determine the target device configuration that meets the decoding performance conditions from policies A and B and the policies that are the derived device configuration.
[0101] In step S230, perform analysis and processing based on the decoding test data to obtain the local decoding performance information under each device configuration.
[0102] In one embodiment, the decoding performance information includes decoding delay information; the decoding test data includes the decoding time of each data frame in the cloud game test data and the decoding output frame rate of all data frames; in step S230, perform analysis and processing based on the decoding test data to obtain the local decoding performance information under each device configuration, including: calculate the average value of the decoding time in the decoding test data corresponding to each device configuration respectively to obtain the average decoding time corresponding to each device configuration; calculate the weighted sum of the average decoding time corresponding to each device configuration and the decoding output frame rate respectively to obtain the local decoding delay information under each device configuration.
[0103] For example, when inputting cloud game test data of 60 frames of 1080P locally under device configuration a1 within 1 second, the obtained decoding test data includes the decoding times corresponding to 60 data frames. Then, the average value of the decoding times in the decoding test data corresponding to device configuration a1, that is, the average decoding time r12 corresponding to device configuration a1; when inputting 60 data frames and decoding and outputting 50 of them within 1 second, the decoding output frame rate r11 can be 50 / 60. Further, the average decoding time and the decoding output frame rate respectively correspond to a weighting coefficient, and the decoding delay information under device configuration a1 can be obtained by weighted summation of r11 and r12 according to the corresponding weighting coefficients.
[0104] In one embodiment, the decoding performance information includes decoding stability information; the decoding test data includes the decoding time of each data frame in the cloud game test data; in step S230, based on the decoding test data for analysis and processing, the local decoding performance information under each device configuration is obtained, including: determining the degree of change of the decoding times of all data frames in the decoding test data corresponding to each device configuration; and generating the local decoding stability information under each device configuration respectively based on the degree of change corresponding to each device configuration.
[0105] For example, the decoding times corresponding to each data frame under device configuration a1 are 10, 20, 10, 20, 10, and 20, and the decoding times corresponding to each data frame under device configuration a2 are 15, 15, 15, 15, 15, and 15. According to the magnitude change of the decoding times corresponding to each data frame, the degree of change of the decoding times of all data frames can be determined. Among them, the degree of change of 10, 20, 10, 20, 10, and 20 is higher than that of 15, 15, 15, 15, 15, and 15. The degree of change can be evaluated based on the number of decoding times of different magnitudes or the change curve of the decoding times. The greater the degree of change, the higher the decoding stability reflected by the corresponding decoding performance information.
[0106] In step S240, according to the decoding performance information, a target device configuration that meets the predetermined decoding performance conditions is determined from at least one device configuration.
[0107] In one embodiment, the decoding performance information includes decoding delay information; in step S240, according to the decoding performance information, a target device configuration that meets the predetermined decoding performance conditions is determined from at least one device configuration, including: comparing the local decoding delay information under each device configuration to obtain at least one decoding delay information reflecting the lowest decoding delay; and determining the target device configuration based on the device configuration corresponding to at least one decoding delay information reflecting the lowest decoding delay.
[0108] For example, if the decoding delay information is the calculated delay value, then at least one decoding delay information reflecting the lowest decoding delay is at least one decoding delay information with the smallest delay value. The at least one decoding delay information may include only one or two or more. Any one of the device configurations corresponding to the at least one decoding delay information reflecting the lowest decoding delay can be directly used as the target device configuration.
[0109] In one embodiment, the decoding performance information further includes decoding stability information; the step of determining the target device configuration based on the device configuration corresponding to at least one decoding delay information reflecting the lowest decoding delay includes: determining, from the decoding stability information corresponding to the specific device configuration, the decoding stability information reflecting the highest decoding stability, where the specific device configuration is the device configuration corresponding to at least one decoding delay information reflecting the lowest decoding delay; and determining the device configuration corresponding to the decoding stability information reflecting the highest decoding stability in the specific device configuration as the target device configuration.
[0110] For example, if at least one decoding delay information reflecting the lowest decoding delay includes two or more, then the corresponding device configurations include two or more. Further, determining the device configuration corresponding to the decoding stability information reflecting the highest decoding stability from the two or more device configurations as the target device configuration can further improve the reliability of the target device configuration.
[0111] In step S250, a local game configuration is generated based on the target device configuration, and the game configuration is used for performing screen display processing on cloud game data.
[0112] Among them, the target device configuration can be directly used as the local game configuration, or the target device configuration can be corrected according to the decoding parameters of the local system decoder and then used as the local game configuration, or the target device configuration can be uploaded to the server to obtain a selected verification configuration and then used as the local game configuration, etc.
[0113] In one embodiment, step S250 of generating a local game configuration based on the target device configuration includes: sending the target device configuration and the local device information to the server; receiving the selected device configuration sent by the server, where the selected device configuration is determined according to the target device configuration determined by the device matching the device information, and the selected device configuration includes the target device configuration or other device configurations; and generating a local game configuration based on the selected device configuration.
[0114] After locally determining a target device configuration that meets the predetermined decoding performance conditions, the target device configuration and the local device information are sent to the server. The server can comprehensively match the received device information of a specific area with the determined target device information of the device, and select the selected device configuration adapted to the device with matching device information. Other devices in the specific area will also upload the device information and the target device configuration determined by other devices (i.e., other configuration information) to the server. The server can select the configuration information with the largest number determined among the devices with matching device information in the specific area as the selected device configuration. This can further improve the decoding performance of the game configuration. Among them, the selected device configuration can be directly used as the local game configuration.
[0115] In one embodiment, generating a local game configuration based on the selected device configuration includes: obtaining the decoding parameters of the local system decoder; comparing the decoding parameters with the configuration information in the selected device configuration to perform a correction process on the configuration information in the selected device configuration to obtain a corrected device configuration; generating a local game configuration based on the corrected device configuration.
[0116] In this embodiment, after obtaining the selected device configuration, it is not directly used as the local game configuration. First, perform a decoding detection on the local device to determine the decoding parameters of the local system decoder. Then, compare the decoding parameters with the configuration information in the selected device configuration to perform a correction process on the configuration information in the selected device configuration. The correction process is, for example, if the system decoder parameter is 720P and the device configuration is 1080P, then correct the 1080P in the device configuration to 720P to obtain a corrected device configuration. Generating a local game configuration based on the corrected device configuration further improves the decoding performance of the game configuration. Among them, the corrected device configuration can be directly used as the local game configuration.
[0117] In one embodiment, before step S210 of obtaining at least one device configuration, the method further includes: detecting the local decoding authentication information, where the decoding authentication information is granted by the relevant system when verifying that the local decoding and rendering time meet the predetermined standards; if the decoding authentication information is detected and there is no pre-set device configuration locally, then obtain the decoding parameters of the local system decoder; set a candidate device configuration according to the decoding parameters; adjust the candidate device configuration according to the local cloud game running environment information to obtain a device configuration matching the environment; generate a local game configuration based on the device configuration matching the environment.
[0118] Set candidate device configurations according to decoding parameters. For example, if the decoding parameters include 1080P, etc., then set the configuration information with the highest performance according to the decoding parameters to form candidate device configurations. Further, adjust the configuration information in the candidate device configurations according to the cloud game running environment information to generate device configurations that match the cloud game running environment information. In this way, when it is detected that the decoding and rendering time of the local device meets the predetermined standard and there is no pre-set device configuration locally (which can refer to a device configuration dedicated for debugging, that is, a device configuration used to test decoding performance information), generate a local game configuration based on the device configuration that matches the environment.
[0119] Among them, adjusting the candidate device configurations according to the local cloud game running environment information to obtain device configurations that match the environment can be uploading the cloud game running environment information and the candidate device configurations to the server, and the server adjusts the candidate device configurations according to the cloud game running environment information to obtain device configurations that match the environment. The relevant system can be set according to the actual situation, such as the system of the cloud game platform.
[0120] In one embodiment, the cloud game running environment information includes at least one of the game information of the target cloud game, the local device model, the local device channel, and the local device system. The game information is, for example, information such as the game name, and the device channel is, for example, channel information such as the manufacturer of the device. The device system is, for example, the type of the operating system or the version information of the operating system, etc.
[0121] In one embodiment, in step S210, obtaining at least one device configuration includes: detecting the local decoding authentication information, which is granted by the relevant system when verifying that the local decoding and rendering time meets the predetermined standard; if the decoding authentication information is detected and there is no pre-set device configuration locally, obtain the benchmark device configuration (cloud control configuration) from the server, and adjust the configuration information based on the decoding test data corresponding to the benchmark device configuration to generate a derivative device configuration, and then obtain at least one device configuration.
[0122] According to the method described in the above embodiments, the following will be further described in detail with examples in application scenarios. The meanings of the relevant terms in this scenario are the same as those in the foregoing embodiments, and specific references can be made to the descriptions in the foregoing embodiments. Figure 7 Shows a flowchart of cloud game data processing applying the embodiments of the present application in a scenario. In this application scenario, the process of cloud game data processing based on the foregoing embodiments of the present application when the cloud game client in the terminal is started is described. Figures 8A to 8C Shows a diagram of the change of the terminal interface of the cloud game client in a scenario.
[0123] Figure 8A When the user clicks "Start" in the interface, it can trigger the cloud game client to start on the device; then enter, Figure 8BThe interface shown, in which the user is prompted "Machine performance detection is in progress to provide you with the best gaming experience. The detection process will take approximately n seconds". Under this interface, the following steps can be executed on the device as shown in Figure 7 Steps S601 to S623 to generate a game configuration; then proceed to Figure 8C The interface shown, in which further information related to game experience improvement operations (such as suggesting switching to a wired network, etc.), operation controls, and controls such as OK or Return can be displayed.
[0124] Step S601, determine whether the authentication is passed. Specifically: Detect the local decoding authentication information, which is granted by the relevant system when the local decoding and rendering times meet the predetermined standards. If the authentication is passed, proceed to step S602; if the authentication fails, proceed to step 608.
[0125] Step S602, determine whether there is a local configuration (for debugging). Specifically: Detect whether there is a pre-set device configuration locally (which can refer to a device configuration for debugging, i.e., a device configuration for testing decoding performance information). If it is determined that there is a configuration, proceed to step S607 to generate a game configuration based on the pre-set device configuration; conversely, if there is no configuration, proceed to step S603.
[0126] Step S603, decoding detection. Specifically: If the decoding authentication information is detected and there is no pre-set device configuration locally, obtain the decoding parameters of the local system decoder.
[0127] Step S604, set the maximum decoding configuration. Specifically: Set the candidate device configuration according to the decoding parameters.
[0128] Step S605, SDK cloud control. Specifically: Adjust the candidate device configuration according to the local cloud game running environment information to obtain a device configuration that matches the environment. After obtaining the device configuration that matches the environment, proceed to step S606 to generate a local game configuration based on the device configuration that matches the environment. When generating a local game configuration based on the device configuration that matches the environment, correct the device configuration that matches the environment according to the decoding parameters to obtain a corrected device configuration.
[0129] Step S606, decoding correction. Specifically: Perform a correction process on the device configuration to obtain a corrected device configuration. After obtaining the corrected device configuration, proceed to step S607 to generate a local game configuration based on the corrected device configuration.
[0130] Step S607, specify the configuration. Specifically: Generate a local game configuration.
[0131] If it is determined in step S601 that the authentication fails, proceed to step 608.
[0132] Step S608: Determine whether there is a local configuration (for debugging purposes). Specifically: Detect whether there is a pre-set device configuration locally (which can refer to a device configuration for debugging purposes, i.e., a device configuration for testing decoding performance information). If it is determined that there is a configuration, proceed to step S607 to generate a game configuration based on the pre-set device configuration. On the contrary, if there is no configuration, proceed to step S609.
[0133] Step S609: Request configuration at high speed. Specifically: Obtain a reference device configuration. Obtaining the reference device configuration includes: Sending a configuration request carrying the local device information to the server. The server determines the corresponding device type locally based on the device information and obtains the reference device configuration corresponding to the device type.
[0134] The server can pre-collect cloud game play data in each device, classify the corresponding devices according to the cloud game play data, generate the device type of each device, and generate the corresponding reference device configuration according to the device type, further ensuring the optimization effect of the reference device configuration.
[0135] In this scenario, the device types include whitelist devices, graylist devices, and undetermined / blacklist devices. Among them, whitelist devices can be devices whose decoding performance is determined by the server based on the analyzed cloud game play data to be relatively excellent (such as the decoding output frame rate being higher than a predetermined threshold). Graylist devices can be devices whose decoding performance is suspected of being low based on the analyzed cloud game play data (such as the decoding output frame rate being unstable). Undetermined / blacklist devices can be devices whose decoding performance needs to be further observed or is poor based on the analyzed cloud game play data.
[0136] Further, refer to Figure 7 , when the device type is a whitelist device or a graylist device, the server can send down the reference device configuration (i.e., cloud control configuration) corresponding to the device type. When the device type is a graylist device, proceed to step S610. When the device type is a whitelist device, proceed to step S617. When the device type is an undetermined / blacklist device, proceed to step S619.
[0137] Step S610: Obtain the cloud control configuration. Specifically, obtaining the reference device configuration also includes: Receiving the reference device configuration (i.e., cloud control configuration) corresponding to the device type sent down by the server. After step S610, it can proceed to step S611 or step S616.
[0138] If it proceeds to step S611 after step S610, determine whether cloud control needs to be adaptive. Specifically: It can be determined whether it is necessary to perform an adaptive test on the reference device configuration (i.e., cloud control configuration) according to an indication or a specific judgment strategy.
[0139] Step S612: Determine whether there is an adaptive configuration locally. Specifically, detect whether there is a target device configuration generated historically through the method of steps S210 to S240 locally. If not, proceed to step S613; on the contrary, if there is, proceed to step S606 to perform a correction process on the target device configuration according to the decoding parameters to obtain a corrected device configuration.
[0140] Step S613: Adaptive test. Specifically, perform a decoding process on the cloud game test data based on the reference device configuration to obtain the decoded test data corresponding to the reference device configuration; adjust the configuration information in the reference device configuration according to the decoded test data corresponding to the reference device configuration to generate a derivative device configuration; perform a decoding process on the cloud game test data based on the derivative device configuration to obtain the decoded test data corresponding to the derivative device configuration. Analyze and process the decoded test data to obtain the local decoding performance information under each device configuration.
[0141] Step S614: Write the adaptive configuration. Specifically, determine a target device configuration that meets the predetermined decoding performance conditions from at least one device configuration according to the decoding performance information. After step S614, it is possible to proceed to step S618, decoding detection: obtain the decoding parameters of the local system decoder, and then proceed to step S606, decoding correction: compare the decoding parameters with the configuration information in the target device configuration to perform a correction process on the configuration information in the target device configuration to obtain a corrected device configuration; after obtaining the corrected device configuration, it is possible to proceed to step S607, specifying the configuration: generate a local game configuration based on the corrected device configuration.
[0142] Step S615: Report data. Specifically, the target device configuration and the local device information can be sent to the server; receive the selected device configuration sent by the server. The selected device configuration is selected according to the target device configuration determined by the device matching the device information. The selected device configuration includes the target device configuration or other device configurations; generate a local game configuration based on the selected device configuration.
[0143] If after step S610, proceed to step S616, decoding detection. Specifically, obtain the decoding parameters of the local system decoder.
[0144] Then proceed to step S606, decoding correction. Specifically, compare the decoding parameters with the configuration information in the reference device configuration (i.e., the cloud control configuration) to perform a correction process on the configuration information in the reference device configuration (i.e., the cloud control configuration) to obtain a corrected device configuration. After obtaining the corrected device configuration, it is possible to proceed to step S608, specifying the configuration: generate a local game configuration based on the corrected device configuration.
[0145] When the device type is a whitelist device after step S609, proceed to step S617.
[0146] If step S617 is entered, cloud control configuration: Specifically, receive the reference device configuration (i.e., cloud control configuration) sent by the server, and then enter step S618, decoding detection: Obtain the decoding parameters of the local system decoder, and then enter step S606, decoding correction: Compare the decoding parameters with the configuration information in the reference device configuration (i.e., cloud control configuration) to perform correction processing on the configuration information in the reference device configuration (i.e., cloud control configuration) to obtain the corrected device configuration; After obtaining the corrected device configuration, step S607 can be entered, specifying configuration: Generate the local game configuration based on the corrected device configuration.
[0147] When the device type is an undetermined / blacklisted device after step S609, step S619 is entered.
[0148] If step S619 is entered, determine whether there is an adaptive configuration locally: Detect whether there is a target device configuration generated historically through the method of steps S210 to S240 locally. If so, enter step S623, decoding detection: Obtain the decoding parameters of the local system decoder, and then enter step S606, decoding correction: Compare the decoding parameters with the configuration information in the target device configuration to perform correction processing on the configuration information in the target device configuration to obtain the corrected device configuration; After obtaining the corrected device configuration, step S608 can be entered, specifying configuration: Generate the local game configuration based on the corrected device configuration.
[0149] If it is determined that there is none in step S619, step S620 is entered.
[0150] In step S620, adaptive test, specifically: Decode the cloud game test data based on the reference device configuration (which can be the reference device configuration preset locally by the device or user settings, etc.) to obtain the decoding test data corresponding to the reference device configuration; According to the decoding test data corresponding to the reference device configuration, adjust the configuration information in the reference device configuration to generate a derived device configuration; Decode the cloud game test data based on the derived device configuration to obtain the decoding test data corresponding to the derived device configuration. Analyze and process based on the decoding test data to obtain the local decoding performance information under each device configuration.
[0151] Step S621, write adaptive configuration, specifically: According to the decoding performance information, determine the target device configuration that meets the predetermined decoding performance conditions from at least one device configuration.
[0152] Step S622: Report data. Specifically, the configuration of the target device and the local device information can be sent to the server; receive the selected device configuration sent by the server, where the selected device configuration is selected according to the target device configuration determined by the device matching the device information, and the selected device configuration includes the target device configuration or other device configurations; generate the local game configuration based on the selected device configuration.
[0153] After step S621, it is also possible to enter step S623 for decoding detection: obtain the decoding parameters of the local system decoder, and then enter step S606 for decoding correction: compare the decoding parameters with the configuration information in the target device configuration to perform correction processing on the configuration information in the target device configuration to obtain the corrected device configuration; after obtaining the corrected device configuration, it is possible to enter step S608 for specifying the configuration: generate the local game configuration based on the corrected device configuration.
[0154] In this scenario, by applying the embodiments of the present application, at least the game configuration can be adapted to the decoding performance of the device. When used for video display processing of cloud game data, it can effectively improve the decoding performance of the client during cloud gaming and ensure the visual interaction experience of cloud gaming, improve the overall video display effect of cloud gaming, and have a high efficiency in generating the game configuration, and the user waiting time to enter the game is short.
[0155] To facilitate better implementation of the cloud game data processing method provided by the embodiments of the present application, the embodiments of the present application also provide a cloud game data processing device based on the above cloud game data processing method. The meanings of the terms are the same as those in the above cloud game data processing method, and the specific implementation details can refer to the descriptions in the method embodiments. Figure 9 The block diagram of a cloud game data processing device according to an embodiment of the present application is shown.
[0156] As Figure 9 shown, the cloud game data processing device 700 may include an acquisition module 710, a decoding module 720, an analysis module 730, a determination module 740, and a generation module 750.
[0157] The acquisition module 710 can be used to acquire at least one device configuration; the decoding module 720 can be used to perform decoding processing on the cloud game test data based on the device configuration to obtain the decoding test data corresponding to each device configuration; the analysis module 730 can be used to perform analysis processing based on the decoding test data to obtain the local decoding performance information under each device configuration; the determination module 740 can be used to determine the target device configuration that meets the predetermined decoding performance conditions from the at least one device configuration according to the decoding performance information; the generation module 750 can be used to generate the local game configuration based on the target device configuration, and the game configuration is used for video display processing of cloud game data.
[0158] In some embodiments of the present application, the decoding performance information includes decoding delay information; the determining module includes: an information comparison unit, configured to compare the local decoding delay information under each device configuration to obtain at least one decoding delay information reflecting the lowest decoding delay; and a device configuration determining unit, configured to determine the target device configuration based on the device configuration corresponding to the at least one decoding delay information reflecting the lowest decoding delay.
[0159] In some embodiments of the present application, the decoding performance information further includes decoding stability information; the device configuration determining unit is configured to: determine, from the decoding stability information corresponding to a specific device configuration, the decoding stability information reflecting the highest decoding stability, where the specific device configuration is the device configuration corresponding to the at least one decoding delay information reflecting the lowest decoding delay; and determine the device configuration corresponding to the decoding stability information reflecting the highest decoding stability in the specific device configuration as the target device configuration.
[0160] In some embodiments of the present application, the decoding performance information includes decoding delay information; the decoding test data includes the decoding time of each data frame in the cloud game test data and the decoding output frame rate of all data frames; the analysis module includes: a first analysis unit, configured to calculate the average value of the decoding time in the decoding test data corresponding to each device configuration respectively to obtain the average decoding time corresponding to each device configuration; and a second analysis unit, configured to calculate the weighted sum of the average decoding time corresponding to each device configuration and the decoding output frame rate respectively to obtain the local decoding delay information under each device configuration.
[0161] In some embodiments of the present application, the decoding performance information includes decoding stability information; the decoding test data includes the decoding time of each data frame in the cloud game test data; the analysis module includes: a third analysis unit, configured to: determine the degree of change of the decoding time of all data frames in the decoding test data corresponding to each device configuration; and generate the local decoding stability information under each device configuration respectively based on the degree of change corresponding to each device configuration.
[0162] In some embodiments of the present application, the at least one device configuration includes a reference device configuration and a derived device configuration; the acquisition module includes: an acquisition unit for acquiring the reference device configuration; an adjustment unit for adjusting the configuration information in the reference device configuration according to the decoded test data corresponding to the reference device configuration to generate the derived device configuration. The decoding module is used to: perform decoding processing on cloud game test data based on the reference device configuration to obtain the decoded test data corresponding to the reference device configuration; perform decoding processing on cloud game test data based on the derived device configuration to obtain the decoded test data corresponding to the derived device configuration.
[0163] In some embodiments of the present application, the reference device configuration includes other configuration information and fixed configuration information corresponding to local device information; the adjustment unit is used to: adjust the other configuration information in the reference device configuration according to the decoded test data corresponding to the reference device configuration to generate the derived device configuration.
[0164] In some embodiments of the present application, the acquisition unit is used to: send a configuration request carrying local device information to the server, and the server determines the device type corresponding to the local according to the device information and acquires the reference device configuration corresponding to the device type; receive the reference device configuration corresponding to the device type sent by the server.
[0165] In some embodiments of the present application, the generation module includes: a sending unit for sending the target device configuration and local device information to the server; a receiving unit for receiving the selected device configuration sent by the server, where the selected device configuration is selected according to the target device configuration determined by the device matching the device information, and the selected device configuration includes the target device configuration or other device configurations; a generation unit for generating a local game configuration based on the selected device configuration.
[0166] In some embodiments of the present application, the generation unit is used to: acquire the decoding parameters of the local system decoder; compare the decoding parameters with the configuration information in the selected device configuration to perform a correction process on the configuration information in the selected device configuration to obtain a corrected device configuration; generate a local game configuration based on the corrected device configuration.
[0167] In some embodiments of the present application, the device further includes a processing module, configured to: detect local decoding authentication information, which is granted by a relevant system when verifying that the local decoding and rendering times meet a predetermined standard; if the decoding authentication information is detected and there is no pre-set device configuration locally, obtain the decoding parameters of the local system decoder; set a candidate device configuration according to the decoding parameters; adjust the candidate device configuration according to the local cloud game running environment information to obtain a device configuration that matches the environment; and generate a local game configuration based on the device configuration that matches the environment.
[0168] In some embodiments of the present application, the cloud game running environment information includes at least one of the game information of the target cloud game, the local device model, the local device channel, and the local device system.
[0169] In some embodiments of the present application, the configuration information in the device configuration includes at least one of decoding method information, rendering view information, resolution information, frame rate information, and encoding characteristic information.
[0170] It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of the two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0171] In addition, an embodiment of the present application further provides an electronic device, which can be a terminal or a server. As Figure 10 shown, it shows a schematic structural diagram of the electronic device involved in the embodiment of the present application. Specifically:
[0172] The electronic device may include a processor 801 with one or more processing cores, a memory 802 with one or more computer-readable storage media, a power supply 803, an input unit 804, and other components. Those skilled in the art can understand that Figure 10 the structural diagram of the electronic device shown in does not constitute a limitation on the electronic device, and it may include more or fewer components than shown, or combine certain components, or have different component arrangements. Among them:
[0173] The processor 801 is the control center of the electronic device, connecting various parts of the entire computer device through various interfaces and circuits. By running or executing software programs and / or modules stored in the memory 802, and by invoking the data stored in the memory 802, it executes various functions of the computer device and processes data, thereby detecting the electronic device. Optionally, the processor 801 may include one or more processing cores; preferably, the processor 801 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interfaces, and application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor may not be integrated into the processor 801 either.
[0174] The memory 802 can be used to store software programs and modules. The processor 801 executes various functional applications and data processing by running the software programs and modules stored in the memory 802. The memory 802 mainly includes a program storage area and a data storage area. Among them, the program storage area can store the operating system, application programs required for at least one function (such as the sound playback function, the image playback function, etc.); the data storage area can store the data created according to the use of the computer device. In addition, the memory 802 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices. Correspondingly, the memory 802 may also include a memory controller to provide the processor 801 with access to the memory 802.
[0175] The electronic device further includes a power supply 803 for powering each component. Preferably, the power supply 803 can be logically connected to the processor 801 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system. The power supply 803 may also include any components such as one or more DC or AC power supplies, a recharge system, a power failure detection circuit, a power converter or inverter, and a power status indicator.
[0176] The electronic device may further include an input unit 804, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.
[0177] Although not shown, the electronic device may further include a display unit, etc., which will not be elaborated here. Specifically, in this embodiment, the processor 801 in the electronic device will load the executable files corresponding to the processes of one or more computer programs into the memory 802 according to the following instructions, and the processor 801 will run the computer programs stored in the memory 802, thereby implementing the various functions of the foregoing embodiments of the present application.
[0178] For example, the processor 801 may execute: obtaining at least one device configuration; performing decoding processing on the cloud game test data based on the device configuration to obtain decoded test data corresponding to each device configuration; performing analysis processing based on the decoded test data to obtain local decoding performance information under each device configuration; determining a target device configuration that meets a predetermined decoding performance condition from the at least one device configuration according to the decoding performance information; generating a local game configuration based on the target device configuration, where the game configuration is used to perform screen display processing on cloud game data.
[0179] Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by a computer program or by controlling related hardware through a computer program. The computer program can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0180] Therefore, an embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, and the computer program can be loaded by a processor to execute the steps in any one of the methods provided by the embodiments of the present application.
[0181] Among them, the computer-readable storage medium may include: read-only memory (ROM, Read Only Memory), random access memory (RAM, Random Access Memory), a magnetic disk or an optical disc, etc.
[0182] Since the computer program stored in the computer-readable storage medium can execute the steps in any one of the methods provided by the embodiments of the present application, the beneficial effects that can be achieved by the methods provided by the embodiments of the present application can be realized. For details, see the previous embodiments and will not be elaborated here.
[0183] According to one aspect of the present application, there is provided a computer program product or a computer program. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided in various alternative implementation manners in the above embodiments of the present application.
[0184] Those skilled in the art will readily think of other implementation manners of the present application after considering the specification and practicing the embodiments disclosed herein. The present application is intended to cover any variations, uses, or adaptations of the present application, which follow the general principles of the present application and include known common knowledge or conventional technical means in the technical field not disclosed in the present application.
[0185] It should be understood that the present application is not limited to the embodiments described above and shown in the drawings, and various modifications and changes can be made without departing from its scope.
Claims
1. A cloud game data processing method, characterized in that, Including: Obtaining at least one device configuration, where the device configuration is a combination of multiple configuration information, and at least one of the configuration information in different device configurations is different; Based on the device configuration, decoding the cloud game test data to obtain decoded test data corresponding to each device configuration; Based on the decoded test data, performing analysis processing to obtain local decoding performance information under each device configuration; According to the decoding performance information, determining a target device configuration that meets a predetermined decoding performance condition from the at least one device configuration; Generating a local game configuration based on the target device configuration, where the game configuration is used for performing screen display processing on cloud game data.
2. The method according to claim 1, wherein The decoding performance information includes decoding delay information; The determining a target device configuration that meets a predetermined decoding performance condition from the at least one device configuration according to the decoding performance information includes: Comparing the local decoding delay information under each device configuration to obtain at least one decoding delay information reflecting the lowest decoding delay; Based on the device configuration corresponding to the at least one decoding delay information reflecting the lowest decoding delay, determining the target device configuration.
3. The method according to claim 2, characterized in that The decoding performance information further includes decoding stability information; The determining a target device configuration based on the device configuration corresponding to the at least one decoding delay information reflecting the lowest decoding delay includes: Determining decoding stability information reflecting the highest decoding stability from the decoding stability information corresponding to a specific device configuration, where the specific device configuration is the device configuration corresponding to the at least one decoding delay information reflecting the lowest decoding delay; Determining the device configuration corresponding to the decoding stability information reflecting the highest decoding stability in the specific device configuration as the target device configuration.
4. The method according to claim 1, characterized in that, The decoding performance information includes decoding delay information; the decoded test data includes the decoding time of each data frame in the cloud game test data and the decoded output frame rate of all data frames; The performing analysis processing based on the decoded test data to obtain local decoding performance information under each device configuration includes: Respectively calculating the average value of the decoding time in the decoded test data corresponding to each device configuration to obtain the average decoding time corresponding to each device configuration; Respectively calculating the weighted sum of the average decoding time corresponding to each device configuration and the decoded output frame rate to obtain the local decoding delay information under each device configuration.
5. The method according to claim 1, wherein The decoding performance information includes decoding stability information; the decoded test data includes the decoding time of each data frame in the cloud game test data; The performing analysis processing based on the decoded test data to obtain local decoding performance information under each device configuration includes: Determining the degree of change of the decoding time of all data frames in the decoded test data corresponding to each device configuration; Based on the degree of change corresponding to each device configuration, respectively generating local decoding stability information under each device configuration.
6. The method according to claim 1, wherein The at least one device configuration includes a reference device configuration and a derivative device configuration; The obtaining at least one device configuration includes: Obtain the reference device configuration; Adjust the configuration information in the reference device configuration according to the decoded test data corresponding to the reference device configuration to generate the derived device configuration; The decoding process of the cloud game test data based on the device configuration to obtain the decoded test data corresponding to each device configuration includes: Decode the cloud game test data based on the reference device configuration to obtain the decoded test data corresponding to the reference device configuration; Decode the cloud game test data based on the derived device configuration to obtain the decoded test data corresponding to the derived device configuration.
7. The method according to claim 6, characterized in that, The reference device configuration includes other configuration information and fixed configuration information corresponding to the local device information; The adjusting the configuration information in the reference device configuration according to the decoded test data corresponding to the reference device configuration to generate the derived device configuration includes: Adjust the other configuration information in the reference device configuration according to the decoded test data corresponding to the reference device configuration to generate the derived device configuration.
8. The method according to claim 6, characterized in that, The obtaining the reference device configuration includes: Send a configuration request carrying the local device information to the server, and the server determines the local corresponding device type according to the device information and obtains the reference device configuration corresponding to the device type; Receive the reference device configuration corresponding to the device type sent by the server.
9. The method according to claim 1, wherein The generating the local game configuration based on the target device configuration includes: Send the target device configuration and the local device information to the server; Receive the selected device configuration sent by the server, and the selected device configuration is selected according to the target device configuration determined by the device matching the device information, and the selected device configuration includes the target device configuration or other device configurations; Generate the local game configuration based on the selected device configuration.
10. The method according to claim 9, characterized in that, The generating the local game configuration based on the selected device configuration includes: Obtain the decoding parameters of the local system decoder; Compare the decoding parameters with the configuration information in the selected device configuration to perform a correction process on the configuration information in the selected device configuration to obtain the corrected device configuration; Generate the local game configuration based on the corrected device configuration.
11. The method according to claim 1, wherein Before obtaining at least one device configuration, the method further includes: Detect the local decoding authentication information, and the decoding authentication information is granted by the relevant system when verifying that the local decoding and rendering time meet the predetermined standards; If the decoding authentication information is detected and there is no pre-set device configuration locally, obtain the decoding parameters of the local system decoder; Set the candidate device configuration according to the decoding parameters; Adjust the candidate device configuration according to the local cloud game running environment information to obtain the device configuration matching the environment; Generate the local game configuration based on the device configuration matching the environment.
12. The method according to claim 11, wherein The cloud game running environment information includes at least one of the game information of the target cloud game, the local device model, the local device channel, and the local device system.
13. The method according to any one of claims 1 to 12, characterized in that, The configuration information in the device configuration includes at least one of decoding method information, rendering view information, resolution information, frame rate information, and encoding characteristic information.
14. A cloud game data processing device, characterized in that, Comprising: An acquisition module, configured to acquire at least one device configuration, where the device configuration is a combination of multiple configuration information, and at least one configuration information is different in different device configurations; A decoding module, configured to perform decoding processing on cloud game test data based on the device configuration to obtain decoded test data corresponding to each device configuration; An analysis module, configured to perform analysis processing based on the decoded test data to obtain local decoding performance information under each device configuration; A determination module, configured to determine a target device configuration that meets a predetermined decoding performance condition from the at least one device configuration according to the decoding performance information; A generation module, configured to generate a local game configuration based on the target device configuration, where the game configuration is used to perform screen display processing on cloud game data.
15. A computer-readable storage medium, characterized in that, A computer program is stored thereon, and when the computer program is executed by a processor of a computer, the computer is caused to execute the method according to any one of claims 1 to 13.
16. An electronic device, characterized in that, Comprising: A memory, storing a computer program; A processor, reading the computer program stored in the memory to execute the method according to any one of claims 1 to 13.
17. A computer program product, characterized in that, The computer program product includes a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 13 is implemented.
Citation Information
Patent Citations
User save data management in cloud gaming
US20170050111A1