Cloud game control method, device, cloud server and storage medium
By receiving the client's operation instructions and feature parameters on the cloud server, determining the associated object and using the target backup video frame to restore its status, the problem of poor real-time cloud game operation is solved, and lower operation delay and better gaming experience is achieved.
Patent Information
- Application Number
- CN202111456978.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-01
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2041-12-01
AI Technical Summary
Existing cloud games have poor real-time operation, which affects players' gaming experience.
By receiving operation instructions and characteristic parameters sent by the client on the cloud server, if the operation is a preset key operation, determine the associated object, obtain the target backup video frame, control the associated object in the backup video frame to execute the operation instructions, obtain the response game screen and send it to the client.
It increases the real-time operation of cloud games, reduces operation delays, and improves player gaming experience.
Smart Images

Figure CN114225383B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud gaming technology, and in particular to a cloud gaming control method, device, cloud server and storage medium. Background Art
[0002] With the booming development of mobile Internet, cloud gaming has gradually come into people's view. Cloud gaming runs games on cloud servers, renders game images, compresses the images into video streams, and then sends the video streams to the player's client through the network. The player's client only needs to decode the video stream and input commands, and the client does not actually execute the game. Therefore, the performance of cloud gaming mainly depends on the cloud server and network.
[0003] In current cloud games, there is a problem of poor real-time operation, which easily affects the player's gaming experience in some key operations of cloud games. Currently, there are some ways to make up for the poor real-time operation of cloud games by improving the network and upgrading server hardware, but these methods do not significantly improve the real-time operation of cloud games. Summary of the invention
[0004] The main purpose of the present invention is to provide a cloud game control method, device, cloud server and storage medium, aiming to solve the technical problem in the prior art that the real-time operation of cloud games is poor and easily affects the player's gaming experience.
[0005] To achieve the above object, the present invention adopts the following technical solution:
[0006] In a first aspect, the present invention provides a cloud game control method, which is applied to a cloud server, and the method comprises:
[0007] Receiving an operation instruction and a first feature sent by a client; the first feature is obtained based on a feature parameter included in a game screen video frame when the client generates the operation instruction;
[0008] If the operation corresponding to the operation instruction belongs to the preset key operation, determining the associated object;
[0009] Obtaining a target backup video frame of the associated object;
[0010] Controlling the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen;
[0011] The response game screen is sent to the client.
[0012] Optionally, in the above-mentioned cloud game control method, the characteristic parameter is a sampling timestamp;
[0013] The receiving the operation instruction and the first feature sent by the client includes:
[0014] Receiving an operation instruction and a first time sent by a client; the first time is obtained based on a sampling timestamp contained in a game screen video frame when the client generates the operation instruction;
[0015] The step of obtaining the target backup video frame of the associated object includes:
[0016] If the time difference between the current time and the first time is less than or equal to the preset backup duration, a query is performed based on the backup data to obtain the target backup video frame of the associated object; the target backup video frame is the backup video frame when the backup time is the first time or the backup video frame closest to the first time after the first time, and the preset backup duration is the maximum retention duration of the backup video frame in the backup data.
[0017] Optionally, in the above cloud game control method, before the step of receiving the operation instruction and the first time sent by the client, the method further includes:
[0018] Receive a game screen video frame sent by a game server; the game screen video frame includes a sampling timestamp;
[0019] Sending the game screen video frame to the client, and determining the associated objects corresponding to all preset key operations in the game screen video frame;
[0020] Backing up the associated object according to the backup time interval to obtain a backup video frame; wherein the backup time interval is the time interval for the cloud server to receive the game screen video frame;
[0021] All backup video frames are saved and the corresponding backup time is recorded to obtain the backup data.
[0022] Optionally, in the above-mentioned cloud game control method, the step of obtaining the target backup video frame of the associated object includes:
[0023] Obtaining the sensitivity delay of the associated object and the real-time delay of the cloud server;
[0024] If the sensitivity delay is equal to the real-time delay, a backup video frame whose backup time is equal to the current time is used as a target backup video frame;
[0025] If the sensitivity delay is greater than the real-time delay, acquiring a target backup video frame based on the delay difference between the sensitivity delay and the real-time delay;
[0026] If the sensitivity delay is less than the real-time delay, the backup video frame whose backup time is equal to or closest to the second time is used as the target backup video frame, and the second time is obtained based on the current time minus the delay difference between the sensitivity delay and the real-time delay.
[0027] Optionally, in the above-mentioned cloud game control method, the characteristic parameter is a serial number;
[0028] The receiving the operation instruction and the first feature sent by the client includes:
[0029] Receiving an operation instruction and a first serial number sent by a client; the first serial number is obtained based on a serial number contained in a game screen video frame when the client generates the operation instruction;
[0030] The step of obtaining the target backup video frame of the associated object includes:
[0031] A query is performed based on the backup data to obtain a target backup video frame of the associated object; the target backup video frame is a valid backup video frame whose serial number matches the first serial number, and the valid backup video frame is a backup video frame whose retention time is less than a preset backup time.
[0032] Optionally, in the above cloud game control method, before the step of receiving the operation instruction and the first serial number sent by the client, the method further includes:
[0033] Receive game screen video frames sent by the game server;
[0034] Determine the associated objects corresponding to all preset key operations in the game screen video frame;
[0035] Marking the associated objects with serial numbers to obtain game screen video frames marked with serial numbers;
[0036] Send the game screen video frame marked with the serial number to the client, and back up the associated object and its serial number according to the backup frequency to obtain the backup video frame; wherein the backup frequency is the frame rate of the game screen video frame;
[0037] All backup video frames are saved to obtain the backup data.
[0038] Optionally, in the above-mentioned cloud game control method, if the operation corresponding to the operation instruction belongs to a preset key operation, determining the associated object includes:
[0039] If the operation corresponding to the operation instruction belongs to the preset key operation, then
[0040] Obtaining a preset activity object corresponding to the preset key operation, and determining an associated object based on the preset activity object; or
[0041] When the current game scene allows the preset key operation to be executed, all active objects corresponding to the preset key operation in the current game scene are obtained, and associated objects are determined based on all the active objects.
[0042] In a second aspect, the present invention provides a cloud game control device, the device comprising:
[0043] An operation instruction receiving module, used for receiving an operation instruction and a first feature sent by a client; the first feature is obtained based on a feature parameter included in a game screen video frame when the client generates the operation instruction;
[0044] An associated object determination module, used to determine an associated object if the operation corresponding to the operation instruction belongs to a preset key operation;
[0045] A target backup query module, used to obtain a target backup video frame of the associated object;
[0046] An operation instruction execution module, used for controlling the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen;
[0047] The game screen sending module is used to send the response game screen to the client.
[0048] In a third aspect, the present invention provides a cloud server, comprising a memory and a processor, wherein a cloud game control program is stored in the memory, and when the cloud game control program is executed by the processor, the cloud game control method as described above is implemented.
[0049] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, and the computer program can be executed by one or more processors to implement the cloud game control method as described above.
[0050] The above one or more technical solutions provided by the present invention may have the following advantages or at least achieve the following technical effects:
[0051] The present invention proposes a cloud game control method, device, cloud server and storage medium, which receive the operation instruction and the first feature sent by the client through the cloud server, and the first feature is obtained based on the feature parameters contained in the game screen video frame when the client generates the operation instruction; then, when the operation corresponding to the operation instruction belongs to the preset key operation, determine the associated object; obtain the target backup video frame of the associated object; then control the associated object in the target backup video frame to execute the operation instruction, and obtain the response game screen; finally, send the response game screen to the client. When the cloud game executes a key operation, the present invention uses the historical backup target backup video frame to reload the memory of the associated object part, restore the status of these associated objects to the historical status actually seen by the player, and then execute the operation instruction sent by the client on the restored associated objects, which increases the real-time operation of the cloud game and reduces the operation delay of the cloud game. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0053] Figure 1 This is a flow chart of the first embodiment of the cloud game control method of the present invention;
[0054] Figure 2 A schematic diagram of the hardware structure of the cloud server involved in the present invention;
[0055] Figure 3 This is a flow chart of a second embodiment of a cloud game control method of the present invention;
[0056] Figure 4 This is a flow chart of a third embodiment of a cloud game control method of the present invention;
[0057] Figure 5 This is a schematic diagram of the functional modules of the first embodiment of the cloud game control device of the present invention.
[0058] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0059] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution in the embodiment of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiment of the present invention. Obviously, the described embodiment is only a part of the embodiment of the present invention, not all the embodiments. Based on the embodiment of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0060] It should be noted that in the present invention, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, the elements defined by the sentence "include..." do not exclude the existence of other identical elements in the process, method, article or system including the element. In addition, in the present invention, if there is a description involving "first", "second", etc., the description of "first", "second", etc. is only for descriptive purposes, and cannot be understood as indicating or implying its relative importance or implicitly indicating the number of technical features indicated. Thus, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the present invention, the use of suffixes such as "module", "component" or "unit" used to represent elements is only to facilitate the description of the present invention, and has no specific meaning in itself. Therefore, "module", "component" or "unit" can be used in a mixed manner. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances. In addition, the technical solutions of each embodiment can be combined with each other, but it must be based on the ability of ordinary technicians in this field to implement. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the protection scope required by the present invention.
[0061] Analysis of the prior art found that there is an uplink delay when the client transmits the operation instruction to the cloud server through the uplink channel. After receiving the operation instruction, the cloud server renders the game screen, samples and encodes the game screen, and then transmits the game screen to the client through the downlink channel. There is another downlink delay. For example, the game screen generated by the cloud server at time point a is recorded as Fa. The cloud server sends the game screen Fa to the client. Due to the downlink delay, the time point of the game screen displayed by the client is no longer a, but recorded as time point b. The game screen displayed by the client at this time point is recorded as Fb. At this time, the player operates on the game screen Fb, issues an operation instruction, and sends it to the cloud server. Due to the uplink delay, the time point when the cloud server receives the operation instruction is no longer b, but recorded as time point c. The game screen generated by the cloud server at this time point is recorded as Fc. This results in the operation performed by the player on the game screen at time point b actually being performed on the game screen at time point c. Uplink delay and downlink delay result in a large error between the game screen actually fed back to the player by the cloud server and the actual operation of the player on the client. Therefore, existing cloud games have the problem of poor real-time operation, which easily affects the player's gaming experience in some key operations of cloud games.
[0062] There are currently some ways to improve the real-time operation of cloud games, mainly by improving the network and upgrading server hardware to make up for the poor real-time operation caused by uplink and downlink delays. For example, optimize the wireless network to reduce uplink and downlink network delays; build a sinking computer room to make the computer room closer to the players; upgrade the cloud server hardware to reduce the delay on the cloud server itself. In general running map game scenarios, if the cloud game controls the network delay within a certain range, the impact of this non-real-time operation is not particularly large, but in some game scenarios with key operations such as shooting, time delays can easily cause the position of the shooting target to change, seriously affecting the hit result of the shooting operation. These existing methods have not significantly improved the real-time operation of cloud games. Therefore, it is necessary to continue to study methods that can significantly improve the real-time operation of cloud games.
[0063] In view of the technical problem that the real-time operation of cloud games in the prior art is poor and easily affects the game experience of players, the present invention provides a cloud game control method, and the overall idea is as follows:
[0064] Receive an operation instruction and a first feature sent by a client; obtain the first feature based on feature parameters contained in a game screen video frame when the client generates the operation instruction; if the operation corresponding to the operation instruction belongs to a preset key operation, determine an associated object; obtain a target backup video frame of the associated object; control the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen; and send the response game screen to the client.
[0065] Through the above technical solution, when the cloud game performs key operations, the historical backup target backup video frame is used to reload the memory of the associated object part, and the state of these associated objects is restored to the historical state actually seen by the player. Then, the operation instructions sent by the client are executed on the restored associated objects, which increases the real-time operation of the cloud game and reduces the operation delay of the cloud game.
[0066] Embodiment 1
[0067] Reference Figure 1 A flow chart of the present invention is provided, and a first embodiment of the cloud game control method of the present invention is proposed, and the cloud game control method is applied to a cloud server.
[0068] The cloud server refers to a network device that can achieve network connection. The cloud server can be a network device such as a server or a cloud platform.
[0069] like Figure 2 , which is a schematic diagram of the hardware structure of a cloud server. The cloud server may include: a processor 1001 , such as a CPU (Central Processing Unit), a communication bus 1002 , a user interface 1003 , a network interface 1004 , and a memory 1005 .
[0070] Those skilled in the art will understand that Figure 2 The hardware structure shown in the figure does not constitute a limitation on the cloud server of the present invention, and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.
[0071] Specifically, the communication bus 1002 is used to realize the connection and communication between these components;
[0072] The user interface 1003 is used to connect to the client and perform data communication with the client. The user interface 1003 may include an output unit, such as a display screen, an input unit, such as a keyboard, and optionally, the user interface 1003 may also include other input / output interfaces, such as a standard wired interface and a wireless interface;
[0073] The network interface 1004 is used to connect to the backend server and perform data communication with the backend server. The network interface 1004 may include an input / output interface, such as a standard wired interface, a wireless interface, such as a Wi-Fi interface;
[0074] The memory 1005 is used to store various types of data, which may include, for example, instructions of any application or method in the cloud server, and data related to the application. The memory 1005 may be a high-speed RAM memory or a stable memory, such as a disk memory. Optionally, the memory 1005 may also be a storage device independent of the processor 1001.
[0075] For details, please refer to Figure 2 , the memory 1005 may include an operating system, a network communication module, a user interface module, and a cloud game control program, wherein the network communication module is mainly used to connect to a game server and perform data communication with the game server;
[0076] The processor 1001 is used to call the cloud game control program stored in the memory 1005 and perform the following operations:
[0077] Receiving an operation instruction and a first feature sent by a client; the first feature is obtained based on a feature parameter included in a game screen video frame when the client generates the operation instruction;
[0078] If the operation corresponding to the operation instruction belongs to the preset key operation, determining the associated object;
[0079] Obtaining a target backup video frame of the associated object;
[0080] Controlling the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen;
[0081] The response game screen is sent to the client.
[0082] Based on the above cloud server, the following is combined Figure 1 The flowchart shown in the figure describes in detail the cloud game control method of this embodiment. The method may include the following steps:
[0083] Step S120: receiving an operation instruction and a first feature sent by the client; the first feature is obtained based on feature parameters contained in a game screen video frame when the client generates the operation instruction.
[0084] Specifically, the player performs operations on the game screen displayed on the client, and the client generates corresponding operation instructions. At the same time, the client obtains the first feature based on the feature parameters contained in the game screen video frame when the operation instruction is generated; the client sends the operation instruction and the first feature together to the cloud server; the cloud server receives the operation instruction and the first feature accordingly.
[0085] Among them, the characteristic parameters can be sampling timestamps or characteristic parameters such as serial numbers that characterize different video frames. The sampling timestamp is the time when the cloud server receives the game screen video frame sent by the game server after executing the game operation at the previous moment. The cloud server marks the time in the form of a timestamp to the game screen video frame, and then sends the game screen video frame containing the sampling timestamp to the client for display. The serial number is when the cloud server receives the game screen video frame sent by the game server after executing the game operation at the previous moment, the game screen video frame is marked with a serial number, and then the game screen video frame containing the serial number is sent to the client for display. The first feature is the characteristic parameters contained in the game screen video frame displayed to the player in real time by the client when the player operates on the client, such as the aforementioned sampling timestamp or serial number.
[0086] Step S130: If the operation corresponding to the operation instruction belongs to the preset key operation, determine the associated object.
[0087] Among all the operations of the player on the game, a small number of key operations will greatly affect the progress or result of the game. For example, in a shooting game, walking, crawling, rolling, reloading, etc. can be considered non-key operations, while shooting can be considered a key operation. The active objects associated with the key operations in the game screen are the associated objects. For example, in a shooting game, the active objects associated with the shooting operation include shooting equipment, shooting direction, shooting range screen, etc., which can all be used as the associated objects corresponding to the shooting operation. The associated objects can be set according to the actual situation, and can be set by the game designer through the background server connected to the network interface provided by the cloud server.
[0088] Specifically, it is determined whether the operation corresponding to the operation instruction is a preset key operation. If so, the associated object corresponding to the operation in the current game screen is obtained. If not, the operation is processed normally, that is, after receiving the operation instruction, the cloud server directly executes the operation instruction on the game screen currently received and fed back by the game server. In the embodiment, for the shooting operation instruction executed by the player, it is determined that the operation instruction is a preset key operation, and the associated object corresponding to the shooting operation is obtained, for example, a certain shooting equipment is determined to be the associated object of the shooting operation.
[0089] Step S140: obtaining the target backup video frame of the associated object.
[0090] Specifically, in step S300, it is determined that the operation corresponding to the operation instruction belongs to the preset key operation, and after the associated object is determined, the target backup video frame of the associated object is obtained. Among them, the target backup video frame is a backup video frame of the associated object stored in the cloud server that meets the preset conditions. For example, the time difference between the current time and the backup time is less than the preset backup time length, and / or the backup video frame whose characteristic parameters are consistent with or closest to the characteristic parameters contained in the game screen video frame when the client generates the operation instruction. Among them, the backup video frame is retained in the cloud server for the preset backup time length, and the specific value of the preset backup time length can be set according to the actual performance of the cloud server, and the general recommended value is 100ms. Because the bottom line of the feedback time of the general software display to the user's operation is 100ms. For example, after the button on the screen is clicked, it needs to be displayed within 100ms, otherwise, the user will feel that he did not click it and click it again. Therefore, in this embodiment, the response time between the player's operation and the game screen needs to be less than 100ms. Correspondingly, the preset backup time length can be set to 100ms, and the backup video frame can be automatically deleted after being retained in the cloud server for 100ms.
[0091] Even though the delay of cloud gaming can be infinite in theory, in actual implementation, it is impossible to save a backup video frame in the memory space of the cloud server for too long to wait for the arrival of this delayed operation. Therefore, when the cloud gaming operation delay exceeds a reasonable range, that is, 100ms in this embodiment, the correction of the real-time operation can be directly abandoned. In other words, if the time difference between the current time and the time when the cloud server receives the game screen video frame when the client generates an operation instruction from the game server is greater than the preset backup duration, the cloud server can do no special processing, that is, no longer perform delay repair. On the contrary, if the time difference between the current time and the time when the cloud server receives the game screen video frame when the client generates an operation instruction from the game server is less than or equal to the preset backup duration, the characteristic parameters contained in the game screen video frame can be used as an index to query the backup data, and a backup video frame consistent with the characteristic parameters can be found as the target backup video frame, such as the sampling timestamp is consistent or the sequence number is consistent. If not found, a backup video frame closest to the characteristic parameter can be used as the target backup video frame.
[0092] In this embodiment, the backup video frame of the shooting equipment can be queried in the backup data of the cloud server based on the shooting equipment determined in step S130. Specifically, the backup video frame whose characteristic parameters are consistent with the characteristic parameters included in the game screen video frame when the client generates an operation instruction can be used as the target backup video frame.
[0093] Step S150: Control the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen.
[0094] Specifically, the target backup video frame obtained in step S140 is used to restore the state of the associated object to the state of the target backup video frame, and then the operation instruction is executed. That is, after the cloud server restores the current video frame to the target backup video frame, the operation instruction is executed on the associated object in the video frame at that moment, and the game server renders the game screen after executing the operation instruction, and returns the game screen in response to the operation instruction to the cloud server, and the cloud server can obtain the response game screen.
[0095] Step S160: Send the response game screen to the client.
[0096] Specifically, the cloud server receives the game screen sent by the game server after the delay is repaired according to the above steps, that is, the response game screen, and finally sends the response game screen to the client for display, so that the player can view the screen of the operation after the real-time operation is repaired. At this time, the game screen seen by the player on the client may cause a slight jitter of the associated object on the game screen due to the reloading of the associated object, but because the associated object is only regressed by milliseconds, the impact will not be great, so it will not cause a bad experience to the player. However, because the state of the associated object is restored to a state that is closer to the state that the associated object should be in theoretically when the player performs the key operation, the real-time of the key operation is increased, and the real-time of the key operation has a greater impact on the player's experience. Although the present invention essentially exchanges the real-time operation of the associated object at the cost of the slight jitter of the associated object, the impact of the slight jitter on the player's experience is far less than the impact brought by the improvement of the real-time operation, so the overall game experience of the player is still improved.
[0097] In one implementation, step S130 may include:
[0098] Step S131: determining whether the operation corresponding to the operation instruction belongs to a preset key operation;
[0099] Step S132.1: If the operation corresponding to the operation instruction belongs to a preset key operation, obtaining a preset activity object corresponding to the preset key operation, and determining an associated object based on the preset activity object;
[0100] Step S132.2: If the operation corresponding to the operation instruction belongs to a preset key operation, all active objects corresponding to the preset key operation in the current game scene are obtained, and associated objects are determined based on all active objects.
[0101] Specifically, the preset key operation can be set by the game designer through the background server connected to the network interface provided by the cloud server, for example, setting the shooting operation in the shooting game as the preset key operation; the preset activity object can also be set by the game designer through the background server, for example, setting the shooting equipment, shooting direction and shooting range corresponding to the shooting operation as the preset activity object. When it is determined that the operation corresponding to the operation instruction belongs to the preset key operation, the preset activity object corresponding to the preset key operation can be obtained, and all the activity objects in the current game scene can also be obtained, so as to determine the corresponding associated object. It should be noted that step S132.1 and step S132.2 are in an "or" relationship.
[0102] In another implementation, the step S130 may further include:
[0103] Step S133.1: If the operation corresponding to the operation instruction belongs to a preset key operation, determining whether the current game scene allows the execution of the preset key operation;
[0104] Specifically, during the actual implementation process, real-time repair of operations may not be possible in certain scenarios. Therefore, some execution conditions can be set. When it is determined that the operation corresponding to the operation instruction belongs to the preset key operation and meets the condition, the activity object corresponding to the preset key operation is obtained and the corresponding associated object is determined.
[0105] Step S133.2: If the current game scene allows the preset key operation to be performed, then a preset activity object corresponding to the preset key operation is obtained, and an associated object is determined based on the preset activity object;
[0106] Step S133.3: If the current game scene allows the preset key operation to be executed, all active objects corresponding to the preset key operation in the current game scene are obtained, and associated objects are determined based on all active objects.
[0107] Specifically, when it is determined that the operation corresponding to the operation instruction belongs to the preset key operation and the current game scene allows the preset key operation to be performed, the preset active object corresponding to the preset key operation can be obtained, or all active objects in the current game scene can be obtained, so as to determine the corresponding associated object. It should be noted that step S133.2 and step S133.3 are in an "or" relationship, and steps S132.1~S132.2 and steps S133.1~S133.3 are also in an "or" relationship.
[0108] By using the preset activity objects corresponding to the preset key operations as associated objects, it is possible to more accurately identify player needs, determine the key objects of key operations, and improve player gaming experience; and by using all activity objects corresponding to the preset key operations as associated objects, it is possible to more comprehensively repair the game screen and increase real-time operation.
[0109] The cloud game control method provided in this embodiment receives the operation instructions and the first feature sent by the client through the cloud server. The first feature is obtained based on the feature parameters contained in the game screen video frame when the client generates the operation instruction; then, when the operation corresponding to the operation instruction belongs to the preset key operation, the associated object is determined; the target backup video frame of the associated object is obtained; then the associated object in the target backup video frame is controlled to execute the operation instruction to obtain the response game screen; and finally, the response game screen is sent to the client. When the cloud game executes a key operation, the present invention uses the historical backup target backup video frame to reload the memory of the associated object part, restore the state of these associated objects to the historical state actually seen by the player, and then executes the operation instructions sent by the client on the restored associated objects, thereby increasing the real-time operation of the cloud game and reducing the operation delay of the cloud game. The method of the present invention can be applied to a variety of native cloud game engines, and can help native cloud games improve the real-time operation at a relatively low cost through software.
[0110] Embodiment 2
[0111] Based on the same inventive concept, Figure 3 , a second embodiment of the cloud game control method of the present invention is proposed, and the cloud game control method is applied to a cloud server. The cloud server can refer to the description in the first embodiment, and will not be repeated here.
[0112] Combine the following Figure 3 The flowchart shown in the figure describes in detail the cloud game control method of this embodiment. The method may include the following steps:
[0113] Step S210: Obtain backup data based on the game screen video frames sent by the game server.
[0114] Specifically, the step S210 may include:
[0115] Step S211: receiving a game screen video frame sent by a game server; the game screen video frame includes a sampling timestamp.
[0116] Specifically, the sampling timestamp is the timestamp when the cloud server receives the game screen video frame sent by the game server. The cloud server receives the game screen video frame sent by the game server and marks the sampling timestamp into the game screen video frame.
[0117] Step S212: Send the game screen video frame to the client, and determine the associated objects corresponding to all preset key operations in the game screen video frame.
[0118] Specifically, the cloud server sends the game screen video frame containing the sampling timestamp to the client, and at the same time obtains the preset key operations in the screen video frame, which can be multiple preset key operations, and then obtains the associated objects corresponding to all preset key operations. The associated objects can be all active objects. For example, the associated object of the preset key operation action1 is ABC, and the associated object of action2 is CDE, then the determined associated objects are ABCDE. ABCDE need to be backed up later.
[0119] Step S213: backing up the associated object according to the backup time interval to obtain a backup video frame; wherein the backup time interval is the time interval for the cloud server to receive the game screen video frame.
[0120] Specifically, when the cloud server samples the game screen rendered by the game server, it generally receives the game screen video frame sent by the game server at a time interval, and this time interval is the sampling time interval. The cloud server backs up the game screen video frame once it receives it, so the backup time interval is equal to the sampling time interval, which can be recorded as S. The cloud server continuously receives multiple game screen video frames at the sampling time interval, and correspondingly, the cloud server also continuously backs up the associated objects determined in step S212 in the multiple game screen video frames at the backup time interval S, thereby obtaining multiple backup video frames.
[0121] Step S214: save all backup video frames and record the corresponding backup time to obtain the backup data.
[0122] Specifically, because the backup video frames cannot be retained for a long time, the obtained backup video frames are saved in the cloud server for a preset backup duration. After the preset backup duration ends, the backup video frames will be automatically deleted. Therefore, it is necessary to record the time when the backup video frames are saved as the backup time of the backup video frames. The multiple backup video frames obtained in step S213 are all saved in the memory space allocated by the cloud server, and all backup video frames constitute the backup data. The maximum retention time of each backup video frame in the backup data cannot exceed the preset backup duration. The backup video frames can be automatically deleted after the preset backup duration ends, or they can be manually deleted by the user or automatically deleted after the game ends.
[0123] The size of the memory space allocated by the cloud server for storing backup data can be set according to actual conditions. The specific derivation method is as follows:
[0124] Assume that in a certain video frame obtained by the cloud server, the associated objects corresponding to all preset key operations need to occupy a total memory volume of v, which is the size of a single backup video frame; the preset backup duration is R; according to the backup time interval S and the preset backup duration R, the number of backups n that need to be backed up can be obtained, n = R / S; then, according to the size of a single backup video frame and the number of backups n that need to be backed up, the memory space V required for the video frame can be obtained, V = v*n. Then, according to this method, game designers can set a suitable memory space for a cloud game to save backup data, to prevent blind allocation of cloud server memory space and cause problems in the operation of the cloud server itself.
[0125] If the allocatable memory space is fixed at V, and the space is too small to accommodate n backup video frames, the backup time interval S can be increased. Correspondingly, the maximum backup time interval
[0126] By periodically saving the associated objects of key operations in the game, some game objects, namely associated objects, are reloaded using historical backup video frames during game operations. At the same time, the original client simply uploads operation instructions, and is changed to a correspondence between uploaded operation instructions and the operation game screen, so that the cloud server can restore the associated objects to the historical state; thus increasing the real-time nature of game operations.
[0127] Step S220: receiving an operation instruction and a first feature sent by the client; the first feature is obtained based on feature parameters contained in a game screen video frame when the client generates the operation instruction.
[0128] Specifically, the characteristic parameter is a sampling timestamp; the step S220 may include:
[0129] Step S221: receiving an operation instruction and a first time sent by the client; the first time is obtained based on a sampling timestamp contained in a game screen video frame when the client generates the operation instruction.
[0130] Step S230: If the operation corresponding to the operation instruction belongs to the preset key operation, determine the associated object.
[0131] Specifically, if the operation corresponding to the operation instruction belongs to a preset key operation, the associated object can be determined based on the preset active object corresponding to the preset key operation or all active objects corresponding to the preset key operation in the current game scene. It can also be further determined that the current game scene allows the execution of the preset key operation, and then the associated object can be determined based on the preset active object corresponding to the preset key operation or all active objects corresponding to the preset key operation in the current game scene.
[0132] For the example of step S212, in the actual execution process, if step S230 detects that the operation corresponding to the operation instruction is action1, ABC can restore the historical state in the above manner, and DE can be restored or not according to the actual game scene. That is to say, in step S230, when determining the associated object corresponding to the preset key operation action1, it can include not only the associated object ABC of the preset key operation action1, but also the associated object DE of other preset associated operations action2 that are related to the preset associated operation.
[0133] Step S240: Obtain the target backup video frame of the associated object.
[0134] In one implementation, step S240 may include:
[0135] Step S241: If the time difference between the current time and the first time is less than or equal to the preset backup duration, a query is performed based on the backup data to obtain a target backup video frame of the associated object; the target backup video frame is a backup video frame when the backup time is the first time or a backup video frame closest to the first time after the first time, and the preset backup duration is the maximum retention duration of the backup video frame in the backup data.
[0136] If the time difference between the current time and the first time is greater than the preset backup duration, the cloud server does not need to do any special processing, that is, it does not perform subsequent delayed repairs, and the cloud server receives the operation instructions normally, controls the corresponding associated objects to execute the operation instructions, obtains the response game screen, and then forwards it to the client. On the contrary, if the time difference between the current time and the first time is less than or equal to the preset backup duration, the time is used as the index for querying the backup data, and the backup video frame with the backup time at the first time is searched, and the backup video frame is used as the target backup video frame; if it is not found, the backup video frame with the backup time closest to the first time after the first time is used as the target backup video frame.
[0137] In another implementation, the step S240 may include:
[0138] Step S242.1: Obtain the sensitivity delay of the associated object and the real-time delay of the cloud server.
[0139] Mechanical operation, from trigger to response, will have a certain delay, which is called operation sensitivity. Taking shooting games as an example, there is actually a delay from triggering the trigger to the bullet being fired. The smaller the delay, the higher the sensitivity of the shooting device and the better the performance. In shooting games, each shooting device is set with operation sensitivity. In cloud games, game props with different operation sensitivities are generally provided for players to choose from. The sensitivity delay of the associated object is the operation sensitivity delay of the game props, specifically the delay from the player's operation to the props working.
[0140] In this embodiment, it is assumed that the player selects a shooting device with a sensitivity delay of d. The cloud server obtains game data from the game server and uploads operation instructions to the game server, and has a real-time delay, which is recorded as D. When the cloud server receives the operation instruction sent by the client, that is, when it detects that the player has triggered the shooting device with a sensitivity delay of d, it immediately obtains its own real-time network delay D.
[0141] Step S242.2: If the sensitivity delay is equal to the real-time delay, a backup video frame whose backup time is equal to the current time is used as a target backup video frame.
[0142] Specifically, if the sensitivity delay of the associated object is equal to the real-time delay of the cloud server, that is, when d=D, the cloud server processes the received operation instructions normally; that is, the backup video frame with a backup time equal to the current time can be used as the target backup video frame, wherein the backup video frame with a backup time equal to the current time is equivalent to the game screen video frame sent by the game server received by the cloud server at the current time, and subsequently the associated object in the game screen video frame can be directly controlled to execute the operation instruction to obtain a response game screen.
[0143] For example, when the sensitivity delay of a certain shooting device is 2ms and the real-time delay of the cloud server is 2ms, assuming that the player performs an operation at 0.010s, generates an operation command and sends it to the cloud server, then due to the influence of the sensitivity delay, when the operation instruction is executed on the screen, it should be executed at 0.012s. However, since there is a delay in the cloud server receiving the game screen from the game server, the screen of the cloud server at 0.010s is actually generated by the game server at 0.008s. Based on the sensitivity delay, when the cloud server executes the operation instruction at 0.010s, the operation instruction is actually uploaded to the game server at 0.012s. At this time, it meets the player's expectation of a 2ms execution delay of the shooting device. The player can perform corresponding operations during the game according to the sensitivity delay of the shooting device.
[0144] Step S242.3: If the sensitivity delay is greater than the real-time delay, a target backup video frame is obtained based on the delay difference between the sensitivity delay and the real-time delay.
[0145] Specifically, when the sensitivity delay is greater than the real-time delay, based on the delay difference between the sensitivity delay and the real-time delay, the backup video frame after the backup time is equal to the delay difference between the current time is used as the target backup video frame. That is, when d>D, the cloud server needs to delay the received operation instruction for a time of dD, that is, after delaying the delay difference with the current time, and then process it. Subsequently, the operation instruction can be executed on the associated object in the game screen video frame sent by the game server received by the cloud server, which is equivalent to delaying the execution of the operation instruction on the associated object to obtain a response game screen.
[0146] For example, when the sensitivity delay of a shooting device is 2ms and the real-time delay of the cloud server is 1ms, assuming that the player performs an operation at 0.010s, generates an operation command and sends it to the cloud server, then due to the influence of the sensitivity delay, the operation instruction should be executed at 0.012s when it is executed on the screen. However, since there is a delay in the cloud server receiving the game screen from the game server, the screen of the cloud server at 0.010s is actually generated by the game server at 0.009s. Based on the sensitivity delay, when the cloud server executes the operation instruction at 0.010s, the operation instruction is actually uploaded to the game server at 0.011s, which does not meet the player's expectations. Therefore, the cloud server can delay the delay difference dD=1ms between the sensitivity delay d and the real-time delay D, and then execute the operation instruction, so that the operation instruction can be executed at 0.012s to meet the player's expectation of a 2ms execution delay for the shooting device.
[0147] Step S242.4: If the sensitivity delay is less than the real-time delay, the backup video frame whose backup time is equal to or closest to the second time is used as the target backup video frame, and the second time is obtained based on the current time minus the delay difference between the sensitivity delay and the real-time delay.
[0148] If the sensitivity delay is less than the real-time delay, that is, when d<D, if the cloud server directly executes the operation instruction, there will be a problem of non-real-time operation. For example, when the sensitivity delay of a shooting device is 2ms and the real-time delay of the cloud server is 3ms, assuming that the player performs the operation at 0.010s, generates an operation command and sends it to the cloud server, then due to the influence of the sensitivity delay, when the operation instruction is executed in the screen, it should be executed at 0.012s. However, since there is a delay in the cloud server receiving the game screen from the game server, the screen of the cloud server at 0.010s is actually generated by the game server at 0.007s. Based on the sensitivity delay, when the cloud server executes the operation instruction at 0.010s, the operation instruction is actually uploaded to the game server at 0.013s. At this time, the operation instruction cannot be processed to the corresponding screen in real time, which not only does not meet the player's expectations, but may also give the player a poor experience. Therefore, delay repair is required. That is, it is necessary to query the backup video frame of the associated object in the backup data to obtain the target backup video frame; wherein, the target backup video frame is a backup video frame whose backup time is equal to or closest to the second time, and the second time is obtained based on the current time minus the delay difference between the sensitivity delay and the real-time delay.
[0149] Assuming that the current time is T, when d<D, the cloud server queries the backup video frame of the associated object in the backup data, finds the backup video frame whose backup time is equal to T-(Dd) or the backup time is closest to T-(Dd), and then uses the backup video frame to restore the state of the associated object, and then processes the operation instruction.
[0150] Step S250: Control the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen.
[0151] Step S260: Send the response game screen to the client.
[0152] For more implementation details of the specific implementation of steps S230, S250 and S260 in the above method, please refer to the description in the specific implementation of Example 1. For the sake of brevity of the specification, they will not be repeated here.
[0153] The cloud game control method provided in this embodiment reduces the bad experience caused by real-time operation and cloud server delay through low technical implementation cost. The method of this embodiment simplifies the cloud game control method of the present invention for different prop operation sensitivity schemes. Compared with the first embodiment, the technical implementation cost of this method is lower.
[0154] Embodiment 3
[0155] Based on the same inventive concept, Figure 4 , a third embodiment of the cloud game control method of the present invention is proposed, and the cloud game control method is applied to a cloud server. The cloud server can refer to the description in the first embodiment, which will not be repeated here.
[0156] Combine the following Figure 4 The flowchart shown in the figure describes in detail the cloud game control method of this embodiment. The method may include the following steps:
[0157] Step S310: Obtain backup data based on the game screen video frames sent by the game server.
[0158] Specifically, the step S310 may include:
[0159] Step S311: receiving a game screen video frame sent by a game server.
[0160] Step S312: Determine the associated objects corresponding to all preset key operations in the game screen video frame.
[0161] Specifically, when the game application is running on the cloud server, the cloud server receives the game screen sent by the game server, and the frame rate of its native video is the frame rate of the game screen video frame. The associated objects corresponding to all preset key operations in each frame of the game screen obtained by the cloud server are obtained.
[0162] In this embodiment, the shooting game is still used as an example for explanation. The preset key operation can be set by the game designer through the interface provided by the cloud server. For example, the shooting operation in the shooting game can be set as the preset key operation. Of course, there can be multiple preset key operations. In order to ensure the integrity of the picture, it is necessary to obtain the associated objects corresponding to all preset key operations here. The associated object is the active object associated with the preset key operation in the game picture. For example, in the shooting game, the active objects associated with the shooting operation include shooting equipment, shooting direction, and shooting range screens, etc. In this embodiment, the cloud server determines the associated object corresponding to the shooting operation in the game screen video frame, that is, the shooting equipment, shooting direction, and shooting range screens are obtained.
[0163] Step S313: label the associated objects with serial numbers to obtain game screen video frames with labeled serial numbers.
[0164] Specifically, the serial number can be a backup time point, or a sequence of increasing natural numbers, or can be generated according to other rules. The serial number is used as the identifier of each backup video frame, and the theoretical backup video frame corresponding to the operation instruction can be more accurately determined during subsequent searches. Each time a backup video frame is saved, the serial number of the backup video frame is printed on the game screen. Ideally, each frame of the game screen has a corresponding serial number.
[0165] In this embodiment, the cloud server marks all backup video frames with serial numbers. For example, the first backup video frame is marked as 0001 and the second frame is marked as 0002. In this way, each backup video frame of the game screen video frame is marked with a corresponding serial number, and a game screen video frame marked with a serial number is obtained.
[0166] Step S314: Send the game screen video frame marked with the serial number to the client, and back up the associated objects and their serial numbers according to the backup frequency to obtain backup video frames; wherein the backup frequency is the frame rate of the game screen video frame.
[0167] Specifically, the game screen video frame marked with the serial number obtained in step S313 is sent to the client, and at the same time, the frame rate of the game screen video frame is used as the backup frequency to back up the associated objects and their serial numbers in each frame of the game screen to obtain the corresponding backup video frame. The game screen video frame sent by the cloud server to the client contains the serial number, which is convenient for identifying the backup data corresponding to the serial number during subsequent operations.
[0168] In this embodiment, the frame rate of the game screen video frame, that is, the frequency of obtaining each frame of the game screen in step S311, here, the cloud server continuously obtains the game screen video frame from the game server, and according to the frequency, consistently backs up the associated objects in the game screen video frame, that is, using the frequency as the backup frequency, backs up the associated objects determined in step S312 and the serial numbers marked in step S313, and obtains backup video frames of the associated objects and their serial numbers in each frame of the game screen video frame, for example, backs up the shooting equipment, shooting direction and shooting range screen of each frame of the game screen and the serial number of the screen, thereby obtaining a backup video frame.
[0169] Step S315: Save all backup video frames to obtain the backup data.
[0170] All backup video frames constitute the backup data. The maximum retention time of each backup video frame in the backup data cannot exceed the preset backup time. The backup video frames can be automatically deleted after the preset backup time ends, or can be manually deleted by the user or automatically deleted after the game ends.
[0171] Step S320: receiving an operation instruction and a first feature sent by the client; the first feature is obtained based on feature parameters contained in a game screen video frame when the client generates the operation instruction.
[0172] Specifically, the characteristic parameter is a serial number; the step S320 may include:
[0173] Step S321: receiving an operation instruction and a first serial number sent by the client; the first serial number is obtained based on the serial number contained in the game screen video frame when the client generates the operation instruction.
[0174] The cloud server receives the operation instruction and the first serial number sent by the client, and the first serial number is the serial number contained in the game screen video frame when the client generates the operation instruction. In this embodiment, the player receives the game screen video frame containing the serial number on the client, and the serial number can be displayed or embedded in the game screen data and not displayed. The player performs an operation based on the game screen video frame on the client, generates an operation instruction and sends it to the cloud server. For example, when performing a shooting operation, an operation instruction corresponding to the shooting operation is generated, and the client sends the operation instruction to the cloud server. At the same time, the serial number contained in the game screen video frame is used as the first serial number and is also sent to the cloud server.
[0175] Step S330: If the operation corresponding to the operation instruction belongs to the preset key operation, determine the associated object.
[0176] In this embodiment, the cloud server determines whether the operation corresponding to the received operation instruction is a preset key operation, and if so, obtains the corresponding associated object. For example, if it is determined that the operation corresponding to the received operation instruction is a shooting operation, it can be determined that the associated objects of the shooting operation include shooting equipment, shooting direction, and shooting range screen. It should be noted that here, the associated objects corresponding to the player's current shooting operation are determined, for example, the shooting device corresponding to the current shooting operation is obtained.
[0177] Step S340: Obtain the target backup video frame of the associated object.
[0178] Specifically, the step S340 may include:
[0179] Step S341: query based on the backup data to obtain the target backup video frame of the associated object; the target backup video frame is a valid backup video frame whose serial number matches the first serial number, and the valid backup video frame is a backup video frame whose retention time is less than the preset backup time.
[0180] Specifically, the serial number is used as an index to search in the memory space of the cloud server where the backup data is stored, and the serial number is matched with the first serial number, and the backup video frame whose retention time is less than the preset backup time is searched, that is, the backup video frame has not expired and is a valid backup video frame. The preset backup time is the time set by the designer when designing the cloud game, which can be set according to the actual situation, which can prevent too much backup data from occupying too much memory of the cloud server, and can also prevent too many videos and too complicated serial number arrangement, which makes it difficult to find the backup data.
[0181] In this embodiment, the cloud server can automatically delete the backup video frames whose retention time exceeds the preset backup time according to the retention time of the backup video frames saved in step S315, or can retain them, but will not process them later, that is, they will be excluded when obtaining the target backup video frames. In this embodiment, assuming that the first sequence number is 0002, the cloud server can query the backup video frames with a sequence number of 0002 and a backup time less than the preset backup time in the backup data, that is, the backup video frames of the shooting device screen corresponding to the shooting operation, as the target backup video frames.
[0182] Step S350: Control the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen.
[0183] In this embodiment, the cloud server performs a shooting operation on the shooting device in the target backup video frame obtained in step S340, and the game server responds to the operation, obtains the corresponding game screen, and returns the game screen to the cloud server, that is, the cloud server obtains the game screen in response to the shooting operation. In this way, the player's shooting operation in step S320 acts on the associated object corresponding to the game screen video frame in step S314, truly realizing real-time operation. The game server then renders the game screen after executing the operation instruction, and returns the game screen in response to the operation instruction to the cloud server, and the cloud server can obtain the response game screen.
[0184] Step S360: Send the game screen to the client.
[0185] Specifically, after the cloud server obtains the response game screen sent by the game server, it forwards the response game screen to the client and displays it to the player. During this process, it can also continue to process based on the cloud game control method of this embodiment to ensure that every operation of the player is real-time.
[0186] For more implementation details of the specific implementation of steps S330, S350 and S360 in the above method, please refer to the description in the specific implementation of Example 1. For the sake of brevity of the specification, they will not be repeated here.
[0187] The cloud game control method provided in this embodiment uses the serial number as an index to more accurately query the backup video frame in the cloud server to obtain a game screen that is more in line with the actual operation and achieve a higher improvement in the real-time operation.
[0188] Embodiment 4
[0189] Based on the same inventive concept, Figure 5, a first embodiment of a cloud game control device of the present invention is proposed, and the cloud game control device can be a virtual device.
[0190] Combine the following Figure 5 The functional module diagram shown in FIG. 1 is a schematic diagram of a cloud game control device provided in this embodiment, and the device may include:
[0191] An operation instruction receiving module, used for receiving an operation instruction and a first feature sent by a client; the first feature is obtained based on a feature parameter included in a game screen video frame when the client generates the operation instruction;
[0192] An associated object determination module, used to determine an associated object if the operation corresponding to the operation instruction belongs to a preset key operation;
[0193] A target backup query module, used to obtain a target backup video frame of the associated object;
[0194] An operation instruction execution module, used for controlling the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen;
[0195] The game screen sending module is used to send the response game screen to the client.
[0196] Furthermore, the associated object determination module may include:
[0197] A first judging unit, used to judge whether the operation corresponding to the operation instruction belongs to a preset key operation;
[0198] The first acquisition unit is configured to acquire a preset activity object corresponding to the preset key operation if the operation corresponding to the operation instruction belongs to the preset key operation, and determine that the preset activity object is an associated object.
[0199] The second acquisition unit is used to obtain all active objects corresponding to the preset key operation in the current game scene if the operation corresponding to the operation instruction belongs to the preset key operation and when the current game scene allows the execution of the preset key operation, and determine the associated objects based on all the active objects.
[0200] In one implementation, the characteristic parameter is a sampling timestamp; the operation instruction receiving module may be specifically used for:
[0201] Receiving an operation instruction and a first time sent by a client; the first time is obtained based on a sampling timestamp contained in a game screen video frame when the client generates the operation instruction;
[0202] The target backup query module can be specifically used for:
[0203] If the time difference between the current time and the first time is less than or equal to the preset backup duration, a query is performed based on the backup data to obtain the target backup video frame of the associated object; the target backup video frame is the backup video frame when the backup time is the first time or the backup video frame closest to the first time after the first time, and the preset backup duration is the maximum retention duration of the backup video frame in the backup data.
[0204] Furthermore, the device may also include:
[0205] A first game screen sampling module, used to receive a game screen video frame sent by a game server; the game screen video frame includes a sampling timestamp;
[0206] A first game screen processing module, used to send the game screen video frame to the client, and determine the associated objects corresponding to all preset key operations in the game screen video frame;
[0207] A first associated object backup module, used to back up the associated object according to a backup time interval to obtain a backup video frame; wherein the backup time interval is a time interval for the cloud server to receive the game screen video frame;
[0208] The first backup data storage module is used to save all backup video frames and record the corresponding backup time to obtain the backup data.
[0209] In a specific implementation, the target backup query module may include:
[0210] A delay acquisition unit, used to obtain the sensitivity delay of the associated object and the real-time delay of the cloud server;
[0211] A first delay processing unit, configured to use a backup video frame whose backup time is equal to the current time as a target backup video frame if the sensitivity delay is equal to the real-time delay;
[0212] A second delay processing unit, configured to obtain a target backup video frame based on a delay difference between the sensitivity delay and the real-time delay if the sensitivity delay is greater than the real-time delay;
[0213] The third delay processing unit is used to take the backup video frame whose backup time is equal to or closest to the second time as the target backup video frame if the sensitivity delay is less than the real-time delay. The second time is obtained based on the current time minus the delay difference between the sensitivity delay and the real-time delay.
[0214] In another implementation, the characteristic parameter is a serial number; and the operation instruction receiving module may be specifically used for:
[0215] Receiving an operation instruction and a first serial number sent by a client; the first serial number is obtained based on a serial number contained in a game screen video frame when the client generates the operation instruction;
[0216] The target backup query module can be specifically used for:
[0217] A query is performed based on the backup data to obtain a target backup video frame of the associated object; the target backup video frame is a valid backup video frame whose serial number matches the first serial number, and the valid backup video frame is a backup video frame whose retention time is less than a preset backup time.
[0218] Furthermore, the device may also include:
[0219] A second game screen sampling module, used to receive game screen video frames sent by the game server;
[0220] A second game screen processing module, used to determine the associated objects corresponding to all preset key operations in the game screen video frame;
[0221] A serial number marking module, used to mark the associated objects with serial numbers and obtain game screen video frames marked with serial numbers;
[0222] A second associated object backup module is used to send the game screen video frame marked with the serial number to the client, and back up the associated object and its serial number according to the backup frequency to obtain the backup video frame; wherein the backup frequency is the frame rate of the game screen video frame;
[0223] The second backup data storage module is used to save all backup video frames and obtain the backup data.
[0224] It should be noted that the functions that can be realized by each module in the cloud game control device provided in this embodiment and the corresponding technical effects achieved can refer to the description of the specific implementation methods in each embodiment of the cloud game control method of the present invention. For the sake of brevity of the specification, they will not be repeated here.
[0225] Embodiment 5
[0226] Based on the same inventive concept, Figure 2 , is a schematic diagram of the hardware structure of the cloud server involved in each embodiment of the present invention. This embodiment provides a cloud server, a client, a cloud server and a game server are connected in sequence to form a cloud game system.
[0227] Specifically, the cloud server refers to a network device that can achieve network connection, which can be a server, cloud platform or other network device.
[0228] Among them, the cloud server may include a processor and a memory, and a cloud game control program is stored in the memory. When the cloud game control program is executed by the processor, all or part of the steps of each embodiment of the cloud game control method of the present invention are implemented.
[0229] It can be understood that the cloud server may also include a communication bus, a user interface and a network interface.
[0230] The communication bus is used to realize the connection and communication between these components.
[0231] The user interface is used to connect to the client and communicate data with the client. The user interface may include an output unit, such as a display screen, and an input unit, such as a keyboard. Optionally, the user interface may also include other input / output interfaces, such as a standard wired interface and a wireless interface.
[0232] The network interface is used to connect to the backend server and perform data communication with the backend server. The network interface may include an input / output interface, such as a standard wired interface, or a wireless interface, such as a Wi-Fi interface.
[0233] The memory is used to store various types of data, which may include, for example, instructions for any application or method in the cloud server, and data related to the application. The memory may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. Optionally, the memory may also be a storage device independent of the processor.
[0234] The processor is used to call the cloud game control program stored in the memory and execute the cloud game control method as described above. The processor can be an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a controller, a microcontroller, a microprocessor or other electronic components, which are used to execute all or part of the steps of each embodiment of the cloud game control method as described above.
[0235] Embodiment 6
[0236] Based on the same inventive concept, this embodiment provides a computer-readable storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory (for example, an SD or DX memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a disk, an optical disk, a server, an App application store, etc., wherein a computer program is stored on the storage medium, and the computer program can be executed by one or more processors. When the computer program is executed by the processor, all or part of the steps of each embodiment of the cloud game control method of the present invention can be implemented.
[0237] It should be noted that the serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0238] The above descriptions are only optional embodiments of the present invention, and are not intended to limit the patent scope of the present invention. All equivalent structures or equivalent process changes made using the contents of the present invention's specification and drawings, or directly or indirectly applied in other related technical fields, are included in the patent protection scope of the present invention.
Claims
1. A cloud game control method, characterized in that: Applied to a cloud server, the method comprises: Receiving an operation instruction and a first feature sent by a client; the first feature is obtained based on a feature parameter included in a game screen video frame when the client generates the operation instruction; If the operation corresponding to the operation instruction belongs to a preset key operation, determining an associated object; the associated object is an active object associated with the key operation of the player on the game in the game; Obtaining a target backup video frame of the associated object by using the first feature, wherein the target backup video frame belongs to memory data; Controlling the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen; The response game screen is sent to the client.
2. The cloud game control method according to claim 1, characterized in that: The characteristic parameter is a sampling timestamp; The receiving the operation instruction and the first feature sent by the client includes: Receiving an operation instruction and a first time sent by a client; the first time is obtained based on a sampling timestamp contained in a game screen video frame when the client generates the operation instruction; The step of obtaining the target backup video frame of the associated object includes: If the time difference between the current time and the first time is less than or equal to the preset backup duration, a query is performed based on the backup data to obtain the target backup video frame of the associated object; the target backup video frame is the backup video frame when the backup time is the first time or the backup video frame closest to the first time after the first time, and the preset backup duration is the maximum retention duration of the backup video frame in the backup data.
3. The cloud game control method according to claim 2, characterized in that: Before the step of receiving the operation instruction and the first time sent by the client, the method further includes: Receive a game screen video frame sent by a game server; the game screen video frame includes a sampling timestamp; Sending the game screen video frame to the client, and determining the associated objects corresponding to all preset key operations in the game screen video frame; Backing up the associated object according to the backup time interval to obtain a backup video frame; wherein the backup time interval is the time interval for the cloud server to receive the game screen video frame; All backup video frames are saved and the corresponding backup time is recorded to obtain the backup data.
4. The cloud game control method according to claim 2, characterized in that: The step of obtaining the target backup video frame of the associated object includes: Obtaining the sensitivity delay of the associated object and the real-time delay of the cloud server; If the sensitivity delay is equal to the real-time delay, a backup video frame whose backup time is equal to the current time is used as a target backup video frame; If the sensitivity delay is greater than the real-time delay, acquiring a target backup video frame based on the delay difference between the sensitivity delay and the real-time delay; If the sensitivity delay is less than the real-time delay, the backup video frame whose backup time is equal to or closest to the second time is used as the target backup video frame, and the second time is obtained based on the current time minus the delay difference between the sensitivity delay and the real-time delay.
5. The cloud game control method according to claim 1, characterized in that: The characteristic parameter is a serial number; The receiving the operation instruction and the first feature sent by the client includes: Receiving an operation instruction and a first serial number sent by a client; the first serial number is obtained based on a serial number contained in a game screen video frame when the client generates the operation instruction; The step of obtaining the target backup video frame of the associated object includes: A query is performed based on the backup data to obtain a target backup video frame of the associated object; the target backup video frame is a valid backup video frame whose serial number matches the first serial number, and the valid backup video frame is a backup video frame whose retention time is less than a preset backup time.
6. The cloud game control method according to claim 5, characterized in that: Before the step of receiving the operation instruction and the first serial number sent by the client, the method further includes: Receive game screen video frames sent by the game server; Determine the associated objects corresponding to all preset key operations in the game screen video frame; Marking the associated objects with serial numbers to obtain game screen video frames marked with serial numbers; Send the game screen video frame marked with the serial number to the client, and back up the associated object and its serial number according to the backup frequency to obtain the backup video frame; wherein the backup frequency is the frame rate of the game screen video frame; All backup video frames are saved to obtain the backup data.
7. The cloud game control method according to claim 1, characterized in that: If the operation corresponding to the operation instruction belongs to a preset key operation, determining the associated object includes: If the operation corresponding to the operation instruction belongs to the preset key operation, then Obtaining a preset activity object corresponding to the preset key operation, and determining an associated object based on the preset activity object; or When the current game scene allows the preset key operation to be executed, all active objects corresponding to the preset key operation in the current game scene are obtained, and associated objects are determined based on all the active objects.
8. A cloud game control device, characterized in that: The device comprises: An operation instruction receiving module, used for receiving an operation instruction and a first feature sent by a client; the first feature is obtained based on a feature parameter included in a game screen video frame when the client generates the operation instruction; An associated object determination module, used to determine an associated object if the operation corresponding to the operation instruction belongs to a preset key operation; the associated object is an active object associated with the player's key operation of the game in the game; A target backup query module, used to obtain a target backup video frame of the associated object by using the first feature, wherein the target backup video frame belongs to memory data; An operation instruction execution module, used for controlling the associated object in the target backup video frame to execute the operation instruction to obtain a response game screen; The game screen sending module is used to send the response game screen to the client.
9. A cloud server, characterized in that: The cloud server includes a memory and a processor, the memory stores a cloud game control program, and when the cloud game control program is executed by the processor, the cloud game control method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that: A computer program is stored on the storage medium, and the computer program can be executed by one or more processors to implement the cloud game control method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Cloud game achieving method, system and device
CN103095655A
Cloud game service method, device and equipment and storage medium
CN111084983A
Cloud game starting control method and device, cloud server and terminal equipment
CN113440843A