Synchronous control method, device and storage medium for cloud gaming
By obtaining the hash value and timestamp of terminal devices in cloud games and adjusting the push speed of cloud instances, the problem of inconsistent game interfaces in multiplayer cloud games is solved, and the player's gaming experience and rate of return is improved.
Patent Information
- Application Number
- CN202111310218.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-05
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2041-11-05
AI Technical Summary
In multiplayer cloud games, due to differences in player network conditions, the game interface is inconsistent, affecting the player's gaming experience and rate of return.
By obtaining the hash value of the current game frame of each terminal device, the target terminal device with the slowest push of game frames is determined, and the speed at which the cloud instance pushes game frames to each terminal device is adjusted according to the target timestamp, so as to achieve consistency of the game interface.
The game interface consistency of different players is achieved, the player's gaming experience and rate of return is improved, and unfairness caused by network differences is avoided.
Smart Images

Figure CN114011055B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud gaming technology, and in particular to a method, device, and storage medium for synchronous control of cloud gaming. Background Art
[0002] For cloud games with multiple players playing simultaneously, the speed at which game videos are pushed to each player is entirely dependent on their network conditions. Players are unconnected to each other, and different players may experience different game interfaces at the same time. However, cloud games are highly interactive in real time. In multiplayer games, each player's network conditions may vary, and if one player experiences network issues, their game video will be pushed several frames slower than the others. This can lead to lower game yields for that player and severely impact their gaming experience. Summary of the Invention
[0003] The main purpose of the present invention is to provide a cloud game synchronization control method, device and storage medium, aiming to achieve consistency in the game interface of different players in the cloud game and improve the players' gaming experience.
[0004] To achieve the above-mentioned object, the present invention provides a method for synchronous control of cloud gaming, wherein there are at least two terminal devices in the cloud gaming, and the method for synchronous control of cloud gaming comprises:
[0005] Get the hash value corresponding to the current game frame of each terminal device;
[0006] Compare each of the hash values with the hash value comparison queue to determine the target terminal device with the slowest game frame push;
[0007] Obtain a target timestamp corresponding to the current game frame of the target terminal device;
[0008] The speed at which the cloud instance pushes game frames to each of the terminal devices is adjusted according to the target timestamp.
[0009] Optionally, the step of adjusting the speed at which the cloud instance pushes game frames to each of the terminal devices according to the target timestamp includes:
[0010] Determining the delay time for the cloud instance to push the game frame to each of the terminal devices according to the target timestamp;
[0011] Each of the delay durations is sent to the cloud instance, so that the cloud instance adjusts the speed at which the cloud instance pushes game frames to each of the terminal devices according to the delay duration.
[0012] Optionally, the step of determining, according to the target timestamp, a delay time for the cloud instance to push a game frame to each of the terminal devices includes:
[0013] Obtaining the timestamp corresponding to the current game frame of each terminal device;
[0014] Calculating the difference between the timestamp corresponding to the current game frame of each terminal device and the target timestamp;
[0015] The delay duration for the cloud instance to push the game frame to each of the terminal devices is determined based on each of the differences.
[0016] Optionally, after the step of comparing each hash value with a hash value comparison queue to determine the target terminal device with the slowest game frame push, the method further includes:
[0017] Determine the terminal device that pushes game frames the fastest;
[0018] Obtain the error number of frames between the current game frame of the target terminal device and the current game frame of the fastest-pushing terminal device;
[0019] When the error frame number is not within a preset range, the step of obtaining a target timestamp corresponding to the current game frame of the target terminal device is performed.
[0020] Optionally, after the step of obtaining the hash value corresponding to the current game frame of each terminal device in the cloud game, the method further includes:
[0021] Determining whether the hash values are the same;
[0022] When the hash values are different, the step of comparing the hash values with the hash value comparison queue to determine the target terminal device with the slowest game frame push is performed.
[0023] Optionally, before the step of obtaining the hash value corresponding to the current game frame of each terminal device, the step further includes:
[0024] Get game data of cloud games;
[0025] generating a game video stream according to the game data;
[0026] Determining a hash value and a timestamp corresponding to each game frame in the game video stream;
[0027] The hash value comparison queue is determined according to each of the hash values and each of the time stamps.
[0028] Optionally, the step of determining the hash value comparison queue according to each of the hash values and each of the timestamps includes:
[0029] Determine the target hash value corresponding to the timestamp closest to the current time;
[0030] Obtaining the game frame rate of the cloud game;
[0031] The hash value comparison queue is determined according to the game frame rate and the target hash value.
[0032] In addition, to achieve the above-mentioned purpose, the present invention further provides a synchronization control device for cloud games, the synchronization control device for cloud games comprising:
[0033] A first acquisition module is used to obtain a hash value corresponding to the current game frame of each terminal device;
[0034] A comparison module, configured to compare each of the hash values with a hash value comparison queue to determine a target terminal device that pushes the slowest game frames;
[0035] A second acquisition module is used to obtain a target timestamp corresponding to the current game frame of the target terminal device;
[0036] The adjustment module is used to adjust the speed at which the cloud instance pushes game frames to each of the terminal devices according to the target timestamp.
[0037] In addition, to achieve the above-mentioned purpose, the present invention also provides a synchronization control device for cloud games, which includes a memory, a processor, and a synchronization control program for cloud games stored on the memory and runnable on the processor. When the synchronization control program for cloud games is executed by the processor, the steps of the synchronization control method for cloud games described in any one of the above items are implemented.
[0038] In addition, to achieve the above-mentioned purpose, the present invention also provides a readable storage medium, on which a synchronization control program for cloud games is stored. When the synchronization control program for cloud games is executed by a processor, the steps of the synchronization control method for cloud games described in any one of the above-mentioned items are implemented.
[0039] The present invention proposes a method, device, and readable storage medium for synchronous control of cloud gaming. By obtaining the hash value corresponding to the current game frame of each terminal device, comparing each hash value with a hash value comparison queue, determining the target terminal device with the slowest game frame push, obtaining the target timestamp corresponding to the current game frame of the target terminal device, and adjusting the speed at which the cloud instance pushes game frames to each terminal device based on the target timestamp, this solution uses the terminal device with the slowest game frame push as a benchmark to adjust the speed at which the cloud instance pushes game frames to each terminal device, ensuring that the cloud instance pushes game frames to each terminal device at the same speed, achieving a consistent gaming interface for each terminal device, thereby not affecting the player's gaming profitability and improving the player's gaming experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1Schematic diagram of the hardware architecture of a synchronous control device for cloud gaming according to an embodiment of the present invention;
[0041] Figure 2 This is a flow chart of a first embodiment of a synchronous control method for cloud gaming according to the present invention;
[0042] Figure 3 Schematic diagram of the cloud platform architecture involved in the synchronous control method of cloud gaming of the present invention;
[0043] Figure 4 2 is a flow chart of a second embodiment of a synchronous control method for cloud gaming according to the present invention;
[0044] Figure 5 2 is a flow chart of a third embodiment of a method for synchronously controlling cloud gaming according to the present invention;
[0045] Figure 6 It is a schematic diagram of the module structure of the synchronization control device for cloud games involved in the embodiment of the present invention.
[0046] The purpose, features and advantages of the present invention will be further described with reference to the accompanying drawings and in conjunction with the embodiments. DETAILED DESCRIPTION
[0047] It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0048] As an implementation, please refer to Figure 1 , Figure 1 This is a schematic diagram of the hardware architecture of the synchronization control device for cloud gaming according to an embodiment of the present invention. Figure 1 As shown, the synchronization control device of the cloud game may include a processor 101, such as a CPU, a memory 102, and a communication bus 103, wherein the communication bus 103 is used to realize the connection and communication between these modules.
[0049] The memory 102 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. Figure 1 As shown, the memory 102 as a readable storage medium may include a synchronization control program for cloud gaming; and the processor 101 may be used to call the synchronization control program for cloud gaming stored in the memory 102 and perform the following operations:
[0050] Get the hash value corresponding to the current game frame of each terminal device;
[0051] Compare each of the hash values with the hash value comparison queue to determine the target terminal device with the slowest game frame push;
[0052] Obtain a target timestamp corresponding to the current game frame of the target terminal device;
[0053] The speed at which the cloud instance pushes game frames to each of the terminal devices is adjusted according to the target timestamp.
[0054] Furthermore, the processor 101 may be configured to call a synchronization control program for cloud gaming stored in the memory 102 and perform the following operations:
[0055] Determining the delay time for the cloud instance to push the game frame to each of the terminal devices according to the target timestamp;
[0056] Each of the delay durations is sent to the cloud instance, so that the cloud instance adjusts the speed at which the cloud instance pushes game frames to each of the terminal devices according to the delay duration.
[0057] Furthermore, the processor 101 may be configured to call a synchronization control program for cloud gaming stored in the memory 102 and perform the following operations:
[0058] Obtaining the timestamp corresponding to the current game frame of each terminal device;
[0059] Calculating the difference between the timestamp corresponding to the current game frame of each terminal device and the target timestamp;
[0060] The delay duration for the cloud instance to push the game frame to each of the terminal devices is determined based on each of the differences.
[0061] Furthermore, the processor 101 may be configured to call a synchronization control program for cloud gaming stored in the memory 102 and perform the following operations:
[0062] Determine the terminal device that pushes game frames the fastest;
[0063] Obtain the error number of frames between the current game frame of the target terminal device and the current game frame of the fastest-pushing terminal device;
[0064] When the error frame number is not within a preset range, the step of obtaining a target timestamp corresponding to the current game frame of the target terminal device is performed.
[0065] Furthermore, the processor 101 may be configured to call a synchronization control program for cloud gaming stored in the memory 102 and perform the following operations:
[0066] Determining whether the hash values are the same;
[0067] When the hash values are different, the step of comparing the hash values with the hash value comparison queue to determine the target terminal device with the slowest game frame push is performed.
[0068] Furthermore, the processor 101 may be configured to call a synchronization control program for cloud gaming stored in the memory 102 and perform the following operations:
[0069] Get game data of cloud games;
[0070] generating a game video stream according to the game data;
[0071] Determining a hash value and a timestamp corresponding to each game frame in the game video stream;
[0072] The hash value comparison queue is determined according to each of the hash values and each of the time stamps.
[0073] Furthermore, the processor 101 may be configured to call a synchronization control program for cloud gaming stored in the memory 102 and perform the following operations:
[0074] Determine the target hash value corresponding to the timestamp closest to the current time;
[0075] Obtaining the game frame rate of the cloud game;
[0076] The hash value comparison queue is determined according to the game frame rate and the target hash value.
[0077] In the game scenario of cloud gaming, the game is run on a cloud server, which completes the game's computing and rendering as well as real-time encoding of the game screen. The game video stream is then pushed to the client in the user's terminal device. After receiving the game video stream, the client in the user's terminal device decodes and displays the game video stream, and at the same time sends back the user's operation instructions to the cloud server, thereby forming the player's operation of the game.
[0078] For cloud games with multiple players playing simultaneously, the speed at which game videos are pushed to each player is entirely based on their network conditions. Players are unconnected to each other, and different players' game interfaces may appear different at the same time. However, cloud games are highly interactive in real time. In multiplayer games, each player's network conditions may vary, and a player with a poor network connection may experience network issues, causing the game video to be pushed several frames slower than other players. This can lead to lower returns for that player. For example, if a player only earns a profit by completing the last hit in a game, this is unfair to players with poor network conditions, severely impacting their gaming experience.
[0079] To address the aforementioned issues with the existing technology, the present invention proposes a cloud gaming synchronization control method. By adjusting the speed at which a cloud instance pushes game video streams to each terminal device, the method ensures that the cloud instance pushes the game video streams to each terminal device at the same speed, achieving a consistent gaming interface for each terminal device. This approach does not affect the player's gaming profitability and improves the player's gaming experience. The cloud gaming synchronization control method proposed by the present invention will be further explained below through specific examples.
[0080] Please refer to Figure 2 , Figure 2 1 is a flow chart of a first embodiment of a synchronous control method for cloud gaming according to the present invention, wherein the synchronous control method for cloud gaming comprises:
[0081] Step S10, obtaining a hash value corresponding to the current game frame of each terminal device in the cloud game;
[0082] Please refer to Figure 3 , Figure 3 This is a schematic diagram of the cloud platform architecture involved in the synchronous control method of cloud games of the present invention. The cloud platform architecture includes a game server, a cloud instance (cloud terminal device, such as a cloud phone), a cloud platform client (terminal device, such as a user's mobile phone), and a cloud game synchronization control device. It should be noted that there is a one-to-one correspondence between the cloud instance (cloud terminal device) and the cloud platform client (terminal device). The cloud instance (cloud terminal device) can only communicate data with the corresponding cloud platform client (terminal device). For example, Figure 3 The cloud game audience A instance can only communicate data with game audience A, the cloud game audience B instance can only communicate data with game audience B, the cloud game audience C instance can only communicate data with game audience C, and so on.
[0083] In this embodiment, the executor of the cloud game synchronization control method is the cloud game synchronization control device in the above-mentioned cloud platform architecture. Optionally, the cloud game synchronization control device can be a device including a cloud instance (cloud terminal device). It should be noted that the cloud instance (cloud terminal device) in the cloud game synchronization control device does not exist on the user side, that is, there is no corresponding cloud platform client (terminal device).
[0084] In this embodiment, the synchronization control device of the cloud game obtains the hash value corresponding to the current game frame of each terminal device in the cloud game, wherein at least two terminal devices are in the cloud game, that is, at least two users are in the same game.
[0085] Optionally, the game server in the above-mentioned cloud platform architecture sends game data to each cloud instance. After receiving the game data, each cloud instance can generate a current game frame of the corresponding terminal device and perform MD5 conversion on the current game frame to convert the current game frame into a corresponding hash value, wherein the hash value is a hash value of a fixed length, and the fixed length can be optionally 128 bits. In other embodiments, the fixed length can be set according to actual needs, and this embodiment does not limit this.
[0086] In this embodiment, after each cloud instance converts the current game frame of the corresponding terminal device into a corresponding hash value, it sends the current game frame and the hash value corresponding to the current game frame to the corresponding terminal device. After each terminal device receives the acquisition request from the cloud game synchronization control device, each terminal device can send the hash value and timestamp corresponding to the current game frame to the cloud game synchronization control device. The timestamp corresponding to the current game frame of each terminal device is the actual push time of the current game frame by each cloud instance to each corresponding terminal device. This timestamp is generated when each terminal device receives the hash value corresponding to the current game frame.
[0087] Optionally, before obtaining the hash value corresponding to the current game frame of each terminal device in the cloud game, the cloud game synchronization control device may also send an operating status optimization instruction to each cloud instance. After receiving the optimization instruction, each cloud instance optimizes the current operating status of each cloud instance. The current operating status includes at least one of the cloud instance's memory usage, CPU usage, network transmission rate, and whether any non-essential programs are running. By optimizing the current operating status of each cloud instance, the transmission speed and computing speed of each cloud instance can be increased, thereby increasing the speed at which each cloud instance pushes game frames to the corresponding terminal device.
[0088] It should be noted that the cloud gaming synchronization control device may also first determine the terminal device that pushes the slowest game frames, and then send an optimization instruction for the running state to the cloud instance corresponding to the terminal device that pushes the slowest game frames, thereby increasing the speed at which the cloud instance pushes game frames to the terminal device that pushes the slowest game frames.
[0089] Step S20, comparing each of the hash values with a hash value comparison queue to determine the target terminal device with the slowest game frame push;
[0090] In this embodiment, after obtaining the hash value corresponding to the current game frame of each terminal device in the cloud game, the synchronization control device of the cloud game compares each hash value with the hash value comparison queue to obtain the arrangement order of the terminal devices with the push speed of the game frame from slow to fast, and determines the target terminal device with the slowest game frame push according to the arrangement order.
[0091] Optionally, if the hash values corresponding to the current game frames of two terminal devices are the same and the speed of game frame push cannot be determined based on the hash values, the cloud gaming synchronization control device can compare the timestamps corresponding to the current game frames of the two terminal devices and compare the push speeds of the game frames of the two terminal devices based on the timestamps. Specifically, the larger the timestamp, the slower the game frame push speed of the terminal device.
[0092] Optionally, at the same time as or before the game server sends the game data to each cloud instance, the game server sends the game data to the synchronization control device of the cloud game. After receiving the game data, the synchronization control device of the cloud game generates a game video stream based on the game data, and determines the hash value and timestamp corresponding to each game frame in the game video stream, and determines the hash value comparison queue based on each hash value and each timestamp.
[0093] Optionally, after determining the hash value and timestamp corresponding to each game frame in the game video stream, the cloud game synchronization control device determines a target hash value corresponding to the timestamp closest to the current time, then obtains the game frame rate of the cloud game, and determines a hash value comparison queue based on the game frame rate and the target hash value. Specifically, the cloud game synchronization control device can take X hash values forward from the hash value corresponding to the timestamp closest to the current time in the same game round to form a hash value comparison queue, where X is the game frame rate of the cloud game. For example, if the game is 30 frames per second, then X = 30; if the game is 60 frames per second, then X = 60.
[0094] Optionally, the cloud game synchronization control device converts each game frame in the game video stream into a corresponding hash value using the MD5 algorithm, and records the hash value and timestamp corresponding to the game frame in the order of the game frame. It should be noted that the timestamp of the game frame here refers to the ideal push time of the game frame.
[0095] Step S30, obtaining a target timestamp corresponding to the current game frame of the target terminal device;
[0096] Step S40: adjusting the speed at which the cloud instance pushes game frames to each of the terminal devices according to the target timestamp.
[0097] In this embodiment, after determining the target terminal device with the slowest game frame push, the cloud game synchronization control device obtains the timestamp corresponding to the current game frame of the target terminal device as the target timestamp, and adjusts the push speed of each cloud instance to the corresponding terminal device according to the target timestamp.
[0098] Optionally, after determining the target terminal device with the slowest game frame push speed, the cloud game synchronization control device determines the delay time for each cloud instance to push the game frame to the corresponding terminal device based on the target timestamp corresponding to the current game frame of the target terminal device.
[0099] Optionally, the synchronization control device of the cloud game obtains the timestamp corresponding to the current game frame of each terminal device, calculates the difference between the timestamp corresponding to the current game frame of each terminal device and the target timestamp, and determines the delay time for each cloud instance to push the game frame to the corresponding terminal device based on each difference.
[0100] Specifically, assuming that the delay duration is Sn, the timestamp corresponding to the current game frame of each terminal device is Cd, and the target timestamp is Hd, the delay duration can be calculated as follows:
[0101] Sn=Cd–Hd
[0102] It can be understood that, for the target terminal device, Sn is 0.
[0103] Optionally, when determining the delay duration, the consumed time of the calculation process of the synchronous control device of the cloud game can also be considered. Assuming that the consumed time of the calculation process of the synchronous control device of the cloud game is Kn, the delay duration after considering the consumed time can be calculated as follows:
[0104] Sn=Cd–Hd–Kn
[0105] It should be noted that Cd and Hd at this time are also timestamps that take into account the time consumed by the calculation process of the synchronous control device of the cloud game.
[0106] In this embodiment, after determining the delay time for each cloud instance to push the game frame to the corresponding terminal device, the synchronization control device of the cloud game sends each delay time to each cloud instance, so that each cloud instance can adjust the speed of pushing the game frame to the corresponding terminal device according to the delay time after receiving the delay time.
[0107] Optionally, each cloud instance starts a game frame buffering mechanism after receiving the delay time. It adds a timer wait, and does not immediately send the current game frame to the cloud platform client (terminal device). It waits for Sn time before sending the current game frame to the cloud platform client (terminal device).
[0108] Optionally, game frames subsequent to the current game frame are sent in the order in which they are cached, without increasing the waiting time.
[0109] Optionally, the synchronization control device of the cloud game counts the timestamp corresponding to the same game frame on the client (terminal device) of each cloud platform at preset time intervals, and when the error exceeds the control standard, executes the above-mentioned synchronization control method of the cloud game.
[0110] The technical solution provided in this embodiment obtains the hash value corresponding to the current game frame of each terminal device, compares each hash value with a hash value comparison queue, determines the target terminal device with the slowest game frame push, obtains the target timestamp corresponding to the current game frame of the target terminal device, and adjusts the speed at which the cloud instance pushes game frames to each terminal device based on the target timestamp. This solution uses the terminal device with the slowest game frame push as a benchmark to adjust the speed at which the cloud instance pushes game frames to each terminal device, ensuring that the cloud instance pushes game frames to each terminal device at the same speed, achieving a consistent game interface for each terminal device, thereby not affecting the player's game profitability and improving the player's gaming experience.
[0111] Please refer to Figure 4 , Figure 4 2 is a flow chart of a second embodiment of the synchronous control method for cloud gaming according to the present invention. Based on the first embodiment, after the above step S20, the method further includes:
[0112] Step S50, determining the terminal device that pushes the game frames the fastest;
[0113] In this embodiment, after determining the target terminal device with the slowest game frame push, the cloud game synchronization control device compares the hash value with the hash value comparison queue to determine the terminal device with the fastest game frame push. The specific determination method is the same as the method for determining the target terminal device in the first embodiment and will not be repeated here.
[0114] Step S60, obtaining the error number of frames between the current game frame of the target terminal device and the current game frame of the fastest pushed terminal device;
[0115] In this embodiment, after determining the terminal device that pushes the game frame the fastest, the synchronization control device of the cloud game compares the current game frame of the target terminal device with the current game frame of the terminal device that pushes the fastest, and determines the number of error frames between the current game frame of the target terminal device and the current game frame of the terminal device that pushes the fastest.
[0116] The above step S30 becomes:
[0117] Step S70: When the error frame number is not within a preset range, a target timestamp corresponding to the current game frame of the target terminal device is obtained.
[0118] In this embodiment, after obtaining the error frame number between the current game frame of the target terminal device and the current game frame of the terminal device that is pushing the fastest, the cloud gaming synchronization control device determines whether the error frame number is within a preset range. If the error frame number is not within the preset range, the target timestamp corresponding to the current game frame of the target terminal device is obtained, and the speed at which each cloud instance pushes the game frame to the corresponding terminal device is adjusted based on the target timestamp. It is understood that when the error frame number is within the preset range, the cloud gaming synchronization control operation is terminated. The preset range can be selected as 0-2 frames, which can be specifically determined based on the frame rate of the game frame, and this embodiment does not limit this.
[0119] The technical solution provided in this embodiment determines the terminal device that pushes game frames the fastest, obtains the frame error between the current game frame of the target terminal device and the current game frame of the terminal device that pushes the fastest game frames, and executes the step of obtaining the target timestamp corresponding to the current game frame of the target terminal device if the frame error is not within a preset range. This solution, by setting the frame error, prevents the cloud gaming synchronization control device from endlessly adjusting the speed at which each cloud instance pushes game frames to the corresponding terminal device.
[0120] Please refer to Figure 5 , Figure 5 3 is a flow chart of a third embodiment of the method for synchronous control of cloud gaming according to the present invention. Based on the first embodiment, after the above step S10, the method further includes:
[0121] Step S80, determining whether the hash values are the same;
[0122] The above step S20 becomes:
[0123] Step S90: When the hash values are different, compare the hash values with the hash value comparison queue to determine the target terminal device with the slowest game frame push.
[0124] In this embodiment, after obtaining the hash value corresponding to the current game frame of each terminal device in the cloud game, the synchronization control device of the cloud game determines whether the hash values are the same. When the hash values are different, it indicates that the current game frames of the various terminal devices are not the same game frames, that is, the game interfaces of the various terminal devices are different. At this time, each hash value is compared with the hash value comparison queue to determine the target terminal device with the slowest game frame push, and then the target timestamp corresponding to the current game frame of the target terminal device is obtained, and the speed of each cloud instance pushing the game frame to the corresponding terminal device is adjusted according to the target timestamp.
[0125] It can be understood that when the hash values are the same, it indicates that the current game frame of each terminal device is the same game frame, that is, the game interface of each terminal device is the same. At this time, there is no need to adjust the speed at which each cloud instance pushes the game frame to the corresponding terminal device. At this time, the synchronous control operation of the synchronous control device of the cloud game is terminated.
[0126] The technical solution provided in this embodiment determines whether each hash value is identical. If the hash values are different, the hash values are compared with a hash value comparison queue to determine the target terminal device with the slowest game frame push. This solution adjusts the push speed only when the hash values are different, preventing invalid adjustments by the cloud gaming synchronization control device.
[0127] Based on the above examples, please refer to Figure 6 The present invention also provides a cloud game synchronization control device, the cloud game synchronization control device comprising:
[0128] A first acquisition module 100 is used to obtain a hash value corresponding to the current game frame of each terminal device;
[0129] A comparison module 200 is configured to compare each of the hash values with a hash value comparison queue to determine a target terminal device that pushes the slowest game frames;
[0130] The second acquisition module 300 is used to obtain a target timestamp corresponding to the current game frame of the target terminal device;
[0131] The adjustment module 400 is used to adjust the speed at which the cloud instance pushes game frames to each of the terminal devices according to the target timestamp.
[0132] Based on the above embodiments, the present invention also provides a synchronization control device for cloud games. The above synchronization control device for cloud games may include a memory, a processor, and a synchronization control program for cloud games stored on the above memory and runnable on the above processor. When the above processor executes the synchronization control program for cloud games, the steps of the synchronization control method for cloud games as described in any of the above embodiments are implemented.
[0133] Based on the above embodiments, the present invention also provides a readable storage medium on which a synchronization control program for cloud games is stored. When the synchronization control program for cloud games is executed by a processor, the steps of the synchronization control method for cloud games as described in any of the above embodiments are implemented.
[0134] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or system comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or system. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or system comprising the element.
[0135] The serial numbers of the above embodiments of the present invention are for description only and do not represent the advantages or disadvantages of the embodiments.
[0136] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course, by hardware, but in many cases the former is a better embodiment. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for enabling a terminal device (which can be a smart TV, mobile phone, computer, etc.) to execute the methods described in each embodiment of the present invention.
[0137] The above are only preferred embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention description and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A synchronous control method for cloud games, characterized in that: There are at least two terminal devices in the cloud game, and the synchronous control method of the cloud game includes: Get the hash value corresponding to the current game frame of each terminal device; Compare each of the hash values with the hash value comparison queue to determine the target terminal device with the slowest game frame push; Obtain a target timestamp corresponding to the current game frame of the target terminal device; The speed at which the cloud instance pushes game frames to each of the terminal devices is adjusted according to the target timestamp, so that the speed at which the cloud instance pushes game frames to each of the terminal devices is the same, and the game interfaces of each of the terminal devices are the same.
2. The cloud game synchronization control method according to claim 1, wherein: The step of adjusting the speed at which the cloud instance pushes game frames to each of the terminal devices according to the target timestamp includes: Determining the delay time for the cloud instance to push the game frame to each of the terminal devices according to the target timestamp; Each of the delay durations is sent to the cloud instance, so that the cloud instance adjusts the speed at which the cloud instance pushes game frames to each of the terminal devices according to the delay duration.
3. The synchronous control method of cloud gaming according to claim 2, wherein: The step of determining the delay time for the cloud instance to push the game frame to each of the terminal devices according to the target timestamp includes: Obtaining the timestamp corresponding to the current game frame of each terminal device; Calculating the difference between the timestamp corresponding to the current game frame of each terminal device and the target timestamp; The delay duration for the cloud instance to push the game frame to each of the terminal devices is determined based on each of the differences.
4. The cloud game synchronization control method according to claim 1, wherein: After comparing each of the hash values with the hash value comparison queue to determine the target terminal device with the slowest game frame push, the method further includes: Determine the terminal device that pushes game frames the fastest; Obtain the error number of frames between the current game frame of the target terminal device and the current game frame of the fastest-pushing terminal device; When the error frame number is not within a preset range, the step of obtaining a target timestamp corresponding to the current game frame of the target terminal device is performed.
5. The synchronous control method of cloud gaming according to claim 1, wherein: After the step of obtaining the hash value corresponding to the current game frame of each terminal device, the method further includes: Determining whether the hash values are the same; When the hash values are different, the step of comparing the hash values with the hash value comparison queue to determine the target terminal device with the slowest game frame push is performed.
6. The cloud game synchronization control method according to claim 1, wherein: Before the step of obtaining the hash value corresponding to the current game frame of each terminal device, the method further includes: Get game data of cloud games; generating a game video stream according to the game data; Determining a hash value and a timestamp corresponding to each game frame in the game video stream; The hash value comparison queue is determined according to each of the hash values and each of the time stamps.
7. The cloud game synchronization control method according to claim 6, characterized in that: The step of determining the hash value comparison queue according to each of the hash values and each of the timestamps includes: Determine the target hash value corresponding to the timestamp closest to the current time; Obtaining the game frame rate of the cloud game; The hash value comparison queue is determined according to the game frame rate and the target hash value.
8. A synchronous control device for cloud gaming, characterized in that: The synchronous control device of the cloud game includes: A first acquisition module is used to obtain a hash value corresponding to the current game frame of each terminal device; A comparison module, configured to compare each of the hash values with a hash value comparison queue to determine a target terminal device that pushes the slowest game frames; A second acquisition module is used to obtain a target timestamp corresponding to the current game frame of the target terminal device; The adjustment module is used to adjust the speed at which the cloud instance pushes game frames to each of the terminal devices according to the target timestamp, so that the speed at which the cloud instance pushes game frames to each of the terminal devices is the same, so that the game interfaces of each of the terminal devices are the same.
9. A synchronous control device for cloud gaming, characterized in that: The cloud game synchronization control device includes a memory, a processor, and a cloud game synchronization control program stored in the memory and executable on the processor. When the cloud game synchronization control program is executed by the processor, the steps of the cloud game synchronization control method as described in any one of claims 1 to 7 are implemented.
10. A readable storage medium, characterized in that: The readable storage medium stores a synchronization control program for cloud gaming, and when the synchronization control program for cloud gaming is executed by a processor, the steps of the synchronization control method for cloud gaming as described in any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Streaming media rendering processing method and system
CN104113628A
Game matching method, game matching device, storage medium and electronic equipment
CN111135586A