A cloud game processing method, device, equipment and storage medium

By detecting frame timestamps and frame rate fluctuation coefficients in cloud games, determining the frame interpolation method and updating the game screen, the problem of poor control caused by latency and noise jitter in cloud games is solved, improving operation accuracy and smoothness, and enhancing the user experience.

CN122141252APending Publication Date: 2026-06-05BEIJING ZITIAO NETWORK TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING ZITIAO NETWORK TECH CO LTD
Filing Date
2024-12-04
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

In cloud gaming, network latency and input processing delays result in poor control experience and smoothness. Touch input data is easily affected by noise and jitter, which reduces the playability and user experience of the game.

Method used

By detecting the target frame timestamp and frame rate fluctuation coefficient, the input data frame interpolation method is determined. Combined with the cached information in the data cache queue, data frame information is inserted to update the game screen, smoothly process input events, and reduce the impact of latency and noise jitter.

Benefits of technology

It improves the precision and smoothness of cloud gaming operations, enhancing the game's playability and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122141252A_ABST
    Figure CN122141252A_ABST
Patent Text Reader

Abstract

The method comprises the following steps: after detecting that a target cloud game is started, obtaining a target frame timestamp and determining a frame rate fluctuation coefficient; determining an input data interpolation frame mode of the target cloud game according to the target frame timestamp and the frame rate fluctuation coefficient; determining interpolation data frame information of the target cloud game according to the input data interpolation frame mode and the buffered information in a created data buffer queue; and updating game picture information of the target cloud game according to the interpolation data frame information. By using the method, the interpolation data frame as the input frame can be determined according to the received timestamp of the information input frame and the frame rate fluctuation coefficient in the cloud game running, and the game picture information is formed through the interpolation data frame. The processing mode guarantees the continuity of the game input information, better reduces the input delay, and thus improves the operation accuracy and smoothness of the player on the cloud game.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of cloud gaming technology, and more particularly to a cloud gaming processing method, apparatus, device, and storage medium. Background Technology

[0002] In recent years, due to the inherent problems of traditional games requiring installation on electronic devices, including device incompatibility, high hardware performance requirements, and complex game configurations, cloud gaming has gradually become a trend. Currently, cloud gaming operates on cloud servers. These servers render the game's visuals and scenes into a video stream, which is then transmitted over the network to the player's gaming terminal for display. Simultaneously, the cloud server can also receive player input commands from the gaming terminal, enabling interaction with the player through further responses. It's clear that cloud gaming eliminates the need for players to download, install, and upgrade games, allowing them to experience gaming anytime, anywhere across different platforms via the internet.

[0003] However, in cloud gaming, network latency and input processing delays, especially in games requiring high responsiveness, can lead to operational errors, impacting player experience and game smoothness. Furthermore, touch input, a common method for player input, can be affected by noise and jitter, resulting in less fluid character movements and reduced gameplay and user experience. Summary of the Invention

[0004] This disclosure provides a cloud gaming processing method, apparatus, device, and storage medium, which realizes the insertion processing of cloud gaming input events, improves the smoothness of cloud gaming, and also enhances the playability and user experience of the game.

[0005] In a first aspect, embodiments of this disclosure provide a cloud gaming processing method, the method comprising:

[0006] After detecting the launch of the target cloud game, the target frame timestamp is obtained, and the frame rate fluctuation coefficient is determined. The target frame timestamp is the receiving timestamp of the received information input frame. The information input frame is generated by the client after detecting an input event for the target cloud game.

[0007] Based on the target frame timestamp and frame rate fluctuation coefficient, the input data interpolation method for the target cloud game is determined;

[0008] Based on the input data interpolation method and the cached information in the created data cache queue, the inserted data frame information of the target cloud game is determined;

[0009] The game screen information of the target cloud game is updated based on the inserted data frame information.

[0010] Secondly, embodiments of this disclosure also provide a cloud gaming processing device, the device comprising:

[0011] The first determining module is used to detect the launch of the target cloud game, obtain the target frame timestamp, and determine the frame rate fluctuation coefficient. The target frame timestamp is the receiving timestamp of the received information input frame, which is generated by the client after detecting an input event for the target cloud game.

[0012] The second determining module is used to determine the frame interpolation method of the input data of the target cloud game based on the target frame timestamp and frame rate fluctuation coefficient.

[0013] The third determining module is used to determine the inserted data frame information of the target cloud game based on the input data interpolation method and the cache information in the created data cache queue.

[0014] The screen update module is used to update the game screen information of the target cloud game according to the inserted data frame information.

[0015] Thirdly, embodiments of this disclosure also provide a computer device, the computer device comprising:

[0016] One or more processors;

[0017] Storage device for storing one or more programs.

[0018] When the one or more programs are executed by the one or more processors, the one or more processors implement the cloud gaming processing method provided in any embodiment of this disclosure.

[0019] Fourthly, embodiments of this disclosure also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the cloud gaming processing method provided in any embodiment of this disclosure.

[0020] Fifthly, embodiments of this disclosure also provide a computer program product, including a computer program that, when executed by a processor, implements the cloud gaming processing method provided in any embodiment of this disclosure.

[0021] This disclosure provides a cloud gaming processing method, apparatus, device, and storage medium. The method first detects the startup of a target cloud game, then obtains the target frame timestamp and determines the frame rate fluctuation coefficient. The target frame timestamp is the receiving timestamp of a received information input frame, generated by the client after detecting an input event for the target cloud game. Based on the target frame timestamp and the frame rate fluctuation coefficient, the input data interpolation method for the target cloud game is determined. Based on the input data interpolation method and cached information in a created data cache queue, the inserted data frame information for the target cloud game is determined. Finally, the game screen information of the target cloud game is updated based on the inserted data frame information. This embodiment introduces an inserted data frame as a frame interpolation mechanism for cloud game input information. Specifically, this mechanism determines the interpolation method based on the frame timestamp of the actual information input frame received from the client and the fluctuation of the received frame rate. The inserted data frame for the cloud game can be determined by matching the interpolation method, and the game screen of the cloud game can be updated based on the relevant content of the inserted data frame. The method described in this embodiment can smoothly process input events, reducing operational errors or unresponsive cloud gaming caused by client input delays. Furthermore, by determining the insertion of data frames through different insertion methods, it can effectively correct noise and jitter generated during input, thereby improving the operational accuracy and smoothness of cloud gaming, significantly enhancing its playability and user experience. Attached Figure Description

[0022] To more clearly illustrate the technical solutions of the exemplary embodiments of this disclosure, the accompanying drawings used in describing the embodiments are briefly introduced below. Obviously, the accompanying drawings described are only a portion of the embodiments to be described in this disclosure, and not all of them. For those skilled in the art, other drawings can be obtained from these drawings without any creative effort.

[0023] Figure 1 A flowchart illustrating a cloud gaming processing method provided in an embodiment of this disclosure;

[0024] Figure 2 This is a schematic diagram of the structure of a cloud gaming processing device provided in an embodiment of the present disclosure;

[0025] Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of this disclosure. Detailed Implementation

[0026] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0027] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0028] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.

[0029] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules, or units, and are not used to limit the order of functions performed by these devices, modules, or units or their interdependencies. It should also be noted that the modifications of "a" and "a plurality of" mentioned in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0030] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0031] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0032] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0033] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0034] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0035] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0036] Figure 1 This is a flowchart illustrating a cloud gaming processing method provided in an embodiment of the present disclosure. This embodiment is applicable to situations involving the processing of cloud gaming operations. The method can be executed by a cloud gaming processing device, which can be implemented through software and / or hardware and can be configured in a terminal and / or server to implement the cloud gaming processing method in this embodiment of the present disclosure.

[0037] like Figure 1 As shown, a cloud gaming processing method provided in this embodiment may include:

[0038] It should be noted that the method provided in this embodiment can be considered to be executed by a server deployed in the cloud, and specifically, the server can be considered to continuously process the cloud game through the method provided in this embodiment after the cloud game is started and before the cloud game exits.

[0039] S101. After detecting the startup of the target cloud game, obtain the target frame timestamp and determine the frame rate fluctuation coefficient. The target frame timestamp is the receiving timestamp of the received information input frame. The information input frame is generated by the client after detecting the input event for the target cloud game.

[0040] In this embodiment, cloud gaming can be understood as a game integrated into a business platform and provided to players for participation, with the game's logic running through a cloud server. This embodiment does not specifically limit the type of cloud game; it can be applied to any cloud game, and the cloud game processed through this embodiment can be referred to as the target cloud game.

[0041] It is understood that the method provided in this embodiment is equivalent to being performed after the target cloud game is launched. Specifically, it can start the target game after responding to the game launch command fed back by the client. The game launch command can be generated by the player by triggering the target cloud game presented on the client. In this embodiment, after the target cloud game is launched, information interaction with the client relative to the target cloud game can be maintained through a communication connection with the client, such as continuously listening to and receiving information input frames sent by the client.

[0042] The information input frame can be viewed as input data sent by the client to the cloud server, which can be generated by the client through received input events. These input events can be triggered by players during the target cloud game through touch input, mouse input, and keyboard input on the client's screen. Touch input, keyboard input, and mouse input can all be considered as the input methods used to input information related to the target cloud game.

[0043] It should be noted that the frame interpolation methods corresponding to the input events generated by different input methods may be different. In this embodiment, it is preferred to perform frame interpolation processing on the scenario where the target cloud game uses touch input as the input method. Based on this, the information input frame can also be preferably used as the touch input frame.

[0044] In this embodiment, the timestamp of the received information input frame can be recorded, and the execution time of this step can be determined as the current execution time. From the timestamps recorded relative to the information input frame, the timestamp with the shortest time interval from the current execution time can be determined, which is equivalent to determining the timestamp of the last information input frame received before the current execution time. This step can determine the timestamp of the last information input frame as the target frame timestamp.

[0045] In this embodiment, the frame rate fluctuation coefficient can be understood as a parameter used to characterize the fluctuation range of the reception time interval of the information input frame. By recording the reception timestamps of each received information input frame, the time interval between two adjacent reception timestamps can be determined. By averaging the determined time intervals, the frame rate fluctuation coefficient at the current execution moment can be determined based on the average value.

[0046] It is known that as the received information input frame and the corresponding target frame timestamp change, the frame rate fluctuation coefficient also changes accordingly. Therefore, it can be assumed that after obtaining the target frame timestamp, the frame rate fluctuation coefficient can be re-determined.

[0047] S102. Determine the frame interpolation method for the input data of the target cloud game based on the target frame timestamp and frame rate fluctuation coefficient.

[0048] In this embodiment, the timestamp of the first frame reflects the time interval from receiving the information input frame to the current execution time. The length of the time interval can be used to determine whether the client can send the information input frame to the executing entity in a timely manner. Generally, the output frame rate at which input information is expected to be obtained from the client during cloud gaming can be determined, which is equivalent to determining the time interval at which input information is expected to be obtained from the client.

[0049] For example, assuming an output frame rate of 60Hz, the time interval between two adjacent input frames is approximately 16ms. It can be assumed that when cloud gaming obtains input frames at this output frame rate or time interval, it can essentially guarantee that the cloud game receives real-time frames as input information. Conversely, if the actual time interval is greater than this expected interval, it can be assumed that the executing entity cannot obtain real-time frames of input information from the client, meaning the cloud game is running in a non-real-time mode, which may affect smoothness.

[0050] As described above, when cloud gaming is in a non-real-time input mode, input lag occurs, affecting the smoothness of cloud gaming. In this case, this embodiment considers obtaining input information through frame interpolation to maintain the continuity of input information. In addition, when cloud gaming is in a real-time input mode, although continuous input can be guaranteed, the information input frames generated by the information method may also be affected by noise and jitter, making the game screen rendered based solely on the information input frames not smooth enough. This embodiment also considers obtaining input information through frame interpolation in this case to improve the smoothness of cloud gaming.

[0051] Based on this, and through the above analysis, this embodiment can first determine the frame interpolation method for input data through this step. In one implementation, the desired time interval mentioned above can be used as the time interval determination threshold for determining whether it is instantaneous or not. Simultaneously, a fluctuation determination threshold can also be set for determining frame rate fluctuations. Based on the target frame timestamp obtained above, the actual time interval between the current execution time and the target frame timestamp can be determined. By comparing this actual time interval with the time interval determination threshold, it can be determined whether the current execution time is in the instantaneous mode of the input information.

[0052] In this embodiment, a frame interpolation method matching the real-time mode can be determined, and a frame interpolation method matching the non-real-time mode can also be determined. After determining the mode, when determining the frame interpolation method in the corresponding mode, the frame rate fluctuation coefficient determined above can be combined with the frame rate fluctuation coefficient. By comparing the frame rate fluctuation coefficient with a set fluctuation judgment threshold, the frame rate fluctuation of the information input frame can be further determined. For example, if the frame rate fluctuation coefficient is less than or equal to the fluctuation judgment threshold, it can be considered as a stable frame rate output state; or if the frame rate fluctuation coefficient is less than or equal to the fluctuation judgment threshold, it can be considered as a fluctuating frame rate output state. Finally, regardless of whether it is real-time or non-real-time mode, the frame interpolation method can be further subdivided according to the frame rate fluctuation judgment result.

[0053] In this embodiment, through the above operations, four frame interpolation methods can be determined: the first input frame interpolation method corresponding to frame rate fluctuation output in non-real-time mode, the second input frame interpolation method corresponding to frame rate stable output in non-real-time mode, the third input frame interpolation method corresponding to frame rate fluctuation output in real-time mode, and the fourth input frame interpolation method corresponding to frame rate stable output in real-time mode.

[0054] S103. Based on the input data interpolation method and the cached information in the created data cache queue, determine the inserted data frame information of the target cloud game.

[0055] In this embodiment, the data cache queue can be considered as a cache queue created after the target cloud game starts running and on which the cloud game operation depends. In this embodiment, the cached information in the data cache queue can be a set of cached data stored relative to each information input frame. For example, corresponding to an information input frame, the cached set of data may include the frame-related input information of that information input frame, and may also include the input change information of the information input frame. This input change information can be considered as the change information determined by comparing it with the frame-related input information of the preceding adjacent information input frame. For example, this input change information may be the coordinate change of the same coordinate in two adjacent frames.

[0056] In this embodiment, the instantaneous or non-instantaneous mode determined by the target frame timestamp and the frame rate fluctuation or non-fluctuation state determined by the frame rate fluctuation coefficient can correspond to different input data frame interpolation methods. The corresponding input data frame interpolation method mainly considers the specific frame interpolation logic to be used for the corresponding mode.

[0057] In one implementation, the frame interpolation logic corresponding to the first input frame interpolation method when the frame rate fluctuates in the non-real-time mode can be obtained. In this frame interpolation logic, it can be assumed that the time interval between receiving the information input frame from the client is too long and the input frame rate of the information input frame fluctuates greatly. This situation is equivalent to the existence of input lag and input instability. The frame interpolation logic used at this time is to fill in the lag input and reduce the frame rate fluctuation. Specifically, the lag coefficient can be determined according to the cache information in the data cache queue, and then the inserted data frame information under this frame interpolation direction can be determined by combining the lag coefficient.

[0058] In another implementation, the frame interpolation logic corresponding to the second input frame interpolation method when the frame rate is stable in non-real-time mode can be obtained. In this frame interpolation logic, it can be assumed that the time interval between receiving the information input frame from the client is too long, but the input frame rate of the information input frame is relatively stable. This situation is equivalent to an input lag problem. The frame interpolation logic used at this time is the logic of predicting the lag input. Specifically, the lag coefficient can be determined according to the cache information in the data cache queue, and then the inserted data frame information under this frame interpolation direction can be determined by combining the lag coefficient.

[0059] In the third implementation, the frame interpolation logic corresponding to the third input frame interpolation method when the frame rate fluctuates in real-time mode can be obtained. In this frame interpolation logic, it can be assumed that the time interval for receiving information input frames from the client is moderate, but the input frame rate of the information input frames fluctuates greatly. This situation is equivalent to an input instability problem. The frame interpolation logic used at this time is to reduce the frame rate fluctuation. Specifically, the input information of a historical information input frame can be directly obtained from the cached information in the data cache queue as the data frame to be inserted again. The historical information input frame can be the previous information input frame corresponding to the timestamp of the target frame.

[0060] In the fourth implementation, the frame interpolation logic of the fourth input frame interpolation method can be obtained when the frame rate is stably output in real-time mode. In this frame interpolation logic, it can be assumed that the time interval of receiving information input frames from the client is moderate and the input frame rate of the information input frames is relatively stable. In this case, the frame data information of the information input frame corresponding to the timestamp of the target frame can be directly obtained from the data cache queue as the inserted data frame information for re-insertion, so as to improve the smoothness of cloud gaming in this way.

[0061] S104. Update the game screen information of the target cloud game according to the inserted data frame information.

[0062] In this embodiment, the inserted data frame information obtained through the above steps can constitute a new information input frame. This inserted data frame information can be used as the data information required for game screen rendering. A new game screen can be rendered through this inserted data frame information. Therefore, the target cloud game can be updated to the rendered game screen, thereby realizing the update of the game screen information of the target cloud game.

[0063] It is understood that this embodiment can also record the timestamps of the inserted data frame information participating in the game screen processing, so as to dynamically understand the specific time information involved in the operation of the target cloud game by the inserted data frame information.

[0064] This embodiment introduces a frame insertion mechanism for cloud gaming input information, using inserted data frames. This mechanism determines the insertion method based on the timestamp of the input frame received from the client and fluctuations in the received frame rate. The inserted data frame for the cloud game can be determined using a matching insertion method, and the game screen can be updated using the content of the inserted data frame. This method smoothly processes input events, reducing operational errors or unresponsive cloud games caused by client input delays. Furthermore, determining the inserted data frame using different insertion methods effectively corrects noise and jitter generated during input, thereby improving the operational accuracy and smoothness of the cloud game, significantly enhancing its playability and user experience.

[0065] As a first optional embodiment of this example, based on the above embodiment, the determination of the frame rate fluctuation coefficient can be further specified as follows:

[0066] a1) Obtain the timestamp of the frame preceding the timestamp of the target frame, and determine the difference between the timestamp of the target frame and the timestamp of the preceding frame as the first frame interval value.

[0067] In this embodiment, the previous frame timestamp can be considered as the received timestamp corresponding to the previous information input frame received before the information input frame corresponding to the target frame timestamp. This step can determine the time difference between the target frame timestamp and the previous frame timestamp, and this time difference can be recorded as the first frame interval value.

[0068] b1) Obtain pre-recorded historical frame interval information, and determine the average frame interval value based on the first frame interval value and each second frame interval value included in the historical frame interval information.

[0069] In this embodiment, the received timestamp of each received information input frame can be obtained in advance. Similarly, the difference between two adjacent received timestamps can be calculated, and each difference calculation result can serve as a frame interval value. In this embodiment, it is preferentially recorded as the second frame interval value, and each second frame interval value can be pre-recorded to form historical frame interval information. It is understood that the historical frame interval information includes all frame interval values ​​prior to the first frame interval value. Furthermore, when the target frame timestamp changes, the first frame interval value can also be recorded as a second frame interval value as part of the historical frame interval information.

[0070] This step can obtain historical frame interval information and the included second frame interval values, and then calculate the average frame interval value of each second frame interval value together with the first frame interval value.

[0071] c1) Determine the frame rate fluctuation coefficient based on the average frame interval value.

[0072] In this embodiment, the frame rate fluctuation coefficient can be considered as the result of calculating the root mean square of the average frame interval value and the frame interval value. The frame interval value can be derived from each second frame interval value and the first frame interval value. This step determines the squared difference between the average frame interval value and each individual frame interval value. Then, all the squared differences are summed, and the square root of the sum is used as the determined frame rate fluctuation coefficient.

[0073] The above technical solution in this embodiment provides an implementation for determining the frame rate fluctuation coefficient. The determined frame rate fluctuation coefficient mainly characterizes the frame fluctuation of the received information input frame, providing data support for subsequent frame interpolation processing.

[0074] As a second optional embodiment of this example, based on the above embodiment, the method for determining the input data interpolation of the target cloud game according to the target frame timestamp and frame rate fluctuation coefficient can be further optimized to the following steps:

[0075] a2) Determine the time difference between the current execution time and the timestamp of the target frame, and obtain the pre-determined first and second judgment thresholds.

[0076] In this embodiment, as can be seen from the above analysis, the determination of the frame interpolation method is related to whether the received information input frame is real-time, and also to the frame fluctuation of the received information input frame. Based on whether it is real-time and the strength of the frame fluctuation, different frame interpolation methods can be determined.

[0077] Specifically, this step first determines the time difference used for the real-time determination, and also obtains the first determination threshold for real-time determination and the second determination threshold for determining the strength of frame fluctuations. The time difference is the difference between the current execution time and the timestamp of the target frame. The current execution time can be considered the current execution time corresponding to the execution of the frame interpolation logic in this implementation.

[0078] In this embodiment, both the first determination threshold and the second determination threshold can be set based on historical experience. The first determination threshold can be set based on the expected interval of the received timestamp, and the second determination threshold can be set based on the expected frame rate fluctuation value.

[0079] In one implementation, the first determination threshold can also be updated accordingly as the frame interpolation processing logic is executed. It should be noted that in practical applications, the method provided in this embodiment can also receive information input frames sent by the client during the execution of the frame interpolation processing logic. Regarding the update of the first determination threshold, before entering the next loop after the frame interpolation processing logic completes one loop, the first determination threshold to be used in the next loop can be determined based on the timestamp of the information input frame received by the execution device during the previous loop.

[0080] As described above, multiple threshold levels can be pre-set for the first judgment threshold, and each threshold level can be associated with a time range. For example, three adjustment levels can be set, and three time ranges can be set accordingly. In specific applications, the interval between two received timestamps involved in a single frame interpolation processing logic execution by the execution device can be determined. Then, it can be determined which time range this interval falls within, and finally, the threshold level associated with the current time range can be determined as the first judgment threshold used in the next frame interpolation processing logic execution. For example, one threshold level can be set to 16ms, and another threshold level can be set to 8ms. Generally, the smaller the interval between two received timestamps, the smaller the corresponding unit threshold.

[0081] b2) Based on the first comparison result between the time difference and the first determination threshold, and the second comparison result between the frame rate fluctuation coefficient and the second determination threshold, determine the input data frame interpolation method of the target cloud game.

[0082] In this embodiment, the first comparison result between the time difference and the first determination threshold can be that the time difference is greater than the first determination threshold, or that the time difference is less than or equal to the first determination threshold. When the time difference is greater than the first determination threshold, it can be considered that the reception of the information input frame is in a non-instantaneous mode, or when the time difference is less than or equal to the first determination threshold, it can be considered that the reception of the information input frame is in an instantaneous mode.

[0083] In this embodiment, the second comparison result between the frame rate fluctuation coefficient and the second determination threshold can be that the frame rate fluctuation coefficient is greater than the second determination threshold, or that the frame rate fluctuation coefficient is less than or equal to the second determination threshold. When the frame rate fluctuation coefficient is greater than the second determination threshold, it can be considered that the input frequency of the information input frame is in a strong fluctuation state. Alternatively, when the frame rate fluctuation coefficient is less than or equal to the second determination threshold, it can be considered that the input frequency of the information input frame is in a relatively stable fluctuation state.

[0084] It can be seen that, based on the two branches of the first comparison result and the two branches of the second comparison result, four input data interpolation methods for matching different situations can be determined.

[0085] Specifically, in this second optional embodiment, as an implementation method, determining the input data frame interpolation method of the target cloud game based on the first comparison result of the time difference and the first determination threshold, and the second comparison result of the frame rate fluctuation coefficient and the second determination threshold, can be further specified as the following steps:

[0086] b21) When the time difference is greater than the first determination threshold, and the frame rate fluctuation coefficient is greater than the second determination threshold, the first input frame interpolation method corresponding to the non-instant frame frame fluctuation input mode is determined as the input data frame interpolation method.

[0087] In this embodiment, it can be considered that the input of the information input frame is in the non-real-time frame fluctuation input mode under this condition. This embodiment sets a corresponding first input frame interpolation method for this mode, which can be used to alleviate the problems of input lag and input instability.

[0088] b22) When the frame rate fluctuation coefficient is less than or equal to the second determination threshold, the second input frame interpolation method corresponding to the non-instantaneous frame stable input mode is determined as the input data frame interpolation method.

[0089] In this embodiment, the input of the information input frame can be considered to be in a non-instantaneous frame stable input mode. This embodiment sets a corresponding second input frame interpolation method for this mode, which can be used to alleviate the input lag problem.

[0090] b23) When the time difference is less than or equal to the first determination threshold, and the frame rate fluctuation coefficient is greater than the second determination threshold, the third input frame interpolation method corresponding to the instant frame next frame fluctuation input mode is determined as the input data frame interpolation method.

[0091] In this embodiment, it can be considered that the input of the information input frame is in the real-time frame fluctuation input mode under this condition. This embodiment sets a corresponding third input frame interpolation method for this mode, which can be used to alleviate the input instability problem.

[0092] b24) When the frame rate fluctuation coefficient is less than or equal to the second determination threshold, the fourth input frame interpolation method corresponding to the instant frame next frame stable input mode is determined as the input data frame interpolation method.

[0093] In this embodiment, it can be assumed that the input of the information input frame is in the real-time frame-to-frame stable input mode. This embodiment sets a corresponding fourth input frame interpolation method for this mode, which can be used to alleviate the unsmoothness problem caused by input noise or jitter.

[0094] The above technical solution in this embodiment provides a specific implementation of the input data frame interpolation method. By considering the input time length and fluctuation strength of the information input frame, this embodiment provides a frame interpolation method that is better suited to various different situations. The frame interpolation method determined by this method better ensures the effective determination of the inserted data frame information, thereby improving the control precision and smoothness of cloud gaming and bringing a better user experience to cloud gaming.

[0095] As a third optional embodiment of this embodiment, based on the above embodiment, it is further optimized to include: obtaining a first information input frame received at the target frame timestamp, and updating the data cache queue according to the first information input frame and the historical information input frames stored in the data cache queue.

[0096] In this embodiment, the data cache queue update step added in this third optional embodiment can be regarded as the information update step in the method provided in this embodiment. This step can receive the first information input frame at the target frame timestamp, and can also listen to whether the client has sent an information input frame and can receive the information input frame. In this embodiment, after receiving the information input frame, the frame data information of the information input frame can be cached through this step, and the change information between the information input frame and the previously cached historical information input frames can be determined. The frame data information of the information input frame and the determined change information are then cached as a set of cache information in the data cache queue to provide data support for subsequent frame insertion operations.

[0097] Specifically, in this third optional embodiment, as one implementation method, updating the data cache queue based on the first information input frame and the historical information input frame stored in the data cache queue can be specified as the following steps:

[0098] a3) Obtain the previous information input frame of the first information input frame from the data cache queue.

[0099] In this embodiment, the data buffer queue caches the frame data information of each previously received information input frame. This step can obtain the frame data information of the information input frame preceding the first information input frame cached in the data buffer queue.

[0100] b3) Determine the frame coordinate change amount corresponding to the first information input frame based on the first information input frame and the previous information input frame.

[0101] In this embodiment, based on the frame data information corresponding to the first information input frame and the previous information input frame, the changes in frame information between the first and previous information input frames can be determined. For example, when the frame data information includes coordinate information of information coordinates, the change in frame coordinates between the two frames can be determined.

[0102] c3) The first information input frame and the frame coordinate change amount are associated and cached in the data cache queue.

[0103] In this embodiment, the first information input frame and the determined frame coordinate change can be used as a set of cached information and cached in the data cache queue to realize real-time updates of the data cache queue.

[0104] The above technical solution in this embodiment provides an implementation for updating the data cache queue, and the determined cache information provides data support for subsequent frame interpolation processing.

[0105] As a fourth optional embodiment of this example, based on the above optimizations, the determination of the inserted data frame information of the target cloud game according to the input data interpolation method and the cached information in the created data cache queue can be further specified as follows:

[0106] a4) When it is determined that the input data interpolation method is the first input interpolation method corresponding to the non-real-time frame fluctuation input mode, the first frame data information corresponding to the first target information input frame is obtained from the data cache queue and determined as the inserted data frame information of the target cloud game. The first target information input frame is the information input frame cached in the second to last position in the data cache queue.

[0107] In this embodiment, when it is determined through the above operations that the input of the target cloud game has input lag and instability issues, this step can be used to determine the inserted data frame information. Specifically, the information input frame cached in the second-to-last position in the data cache queue can be directly determined as the first target information input frame, and the first frame data information of the first target information input frame can be obtained as the inserted data frame information.

[0108] b4) When it is determined that the input data interpolation method is the second input interpolation method corresponding to the non-real-time frame stable input mode, the second frame data information corresponding to the second target information input frame is obtained from the data cache queue and determined as the inserted data frame information of the target cloud game. The second target information input frame is the information input frame cached at the end of the data cache queue.

[0109] In this embodiment, when it is determined through the above operations that the input of the target cloud game only has an input lag problem, the data frame information to be inserted can be determined through this step. Specifically, the information input frame cached at the end of the data cache queue can be directly determined as the second target information input frame, and the second frame data information of the second target information input frame can be obtained as the data frame to be inserted.

[0110] c4) When it is determined that the input data interpolation method is the third input interpolation method corresponding to the real-time frame fluctuation input mode, the inserted data frame information of the target cloud game is determined according to the first frame data information and the obtained first coordinate change amount, wherein the first coordinate change amount is the frame coordinate change amount at the end of the data cache queue.

[0111] In this embodiment, when the above operations determine that the target cloud game's input only has an input instability problem, this step is used to determine the inserted data frame information. Specifically, the inserted data frame information can be determined based on the change in frame coordinates cached at the end of the data cache queue, and the first frame data information cached relative to the first target information input frame in the data cache queue. The change in frame coordinates cached at the end can be denoted as the first coordinate change.

[0112] Specifically, in this fourth optional embodiment, as one implementation method, the determination of the inserted data frame information of the target cloud game based on the first frame data information and the obtained first coordinate change amount can be further optimized as follows:

[0113] c41) Determine the lag insertion coefficient based on the time difference between the current execution time and the timestamp of the target frame and the set first judgment threshold, combined with the lag insertion coefficient formula.

[0114] In this embodiment, the formula for the lag interpolation factor can be expressed as:

[0115]

[0116] Where β can be the lag insertion coefficient, m takes the value of 2, 3 or 4, t0 is the timestamp of the current execution time, t1 is the timestamp of the target frame, th1 is the first judgment threshold, and INT.) is the input function.

[0117] c42) Determine the first product value of the hysteresis insertion coefficient and the first coordinate change, and update the frame coordinate value in the first frame data information according to the first product value to obtain the first frame coordinate update result.

[0118] In this embodiment, the coordinate change may include both the horizontal and vertical coordinate changes, which can be calculated separately in actual calculations. The first coordinate change is the frame coordinate change at the end of the data buffer queue. This step allows for the calculation of the first product of the hysteresis insertion coefficient and the first coordinate change. This first product can be used as a coordinate increment to update the frame coordinate values ​​in the first frame of data.

[0119] c43) The first frame coordinate update result is determined as the inserted data frame information of the target cloud game.

[0120] In this embodiment, the inserted data frame information can be formed by updating the determined first frame coordinates.

[0121] d4) When the input data interpolation method is determined to be the fourth input interpolation method corresponding to the real-time frame-stable input mode, the inserted data frame information of the target cloud game is determined according to the second frame data information and the first coordinate change amount.

[0122] In this embodiment, when it is determined through the above operations that there are no input lag or instability issues in the target cloud game's input, this step can be used to determine the inserted data frame information. This effectively avoids the problem of unsmooth game presentation caused by noise or jitter generated in the information input frame. Specifically, the inserted data frame information can be determined based on the change in frame coordinates cached at the end of the data cache queue and the second frame data information cached relative to the second target information input frame in the data cache queue.

[0123] Specifically, in this fourth optional embodiment, as one implementation method, determining the inserted data frame information of the target cloud game based on the second frame data information and the first coordinate change amount can be further specified as follows:

[0124] d41) Based on the time difference between the current execution time and the timestamp of the target frame and the set first judgment threshold, the prediction insertion coefficient is determined in combination with the prediction insertion coefficient formula.

[0125] In this embodiment, the formula for predicting the insertion coefficient can be expressed as:

[0126]

[0127] Where γ is the prediction insertion coefficient, m takes the value 2, 3 or 4, t0 is the timestamp of the current execution time, t1 is the timestamp of the target frame, th1 is the first judgment threshold, and INT.) is the input function.

[0128] d42) Determine the second product value of the predicted insertion coefficient and the first coordinate change, and update the frame coordinate value in the second frame data information according to the second product value to obtain the second frame coordinate update result.

[0129] Similarly, this step allows us to calculate the second product of the prediction insertion coefficient and the first coordinate change. This second product can be used as a coordinate increment to update the frame coordinate values ​​in the second frame of data.

[0130] d43) The second frame coordinate update result is determined as the inserted data frame information of the target cloud game.

[0131] In this embodiment, the inserted data frame information can also be formed by updating the determined coordinates of the first frame.

[0132] The above technical solution in this embodiment provides a specific implementation for determining the inserted data frame information. By using the frame insertion logic corresponding to different frame insertion methods under different conditions, this embodiment better ensures the effective determination of the inserted data frame information, thereby improving the control precision and smoothness of cloud gaming and bringing a better user experience to cloud gaming.

[0133] As a fifth optional embodiment of this embodiment, based on the above embodiments, it may further include: determining a target virtual device that meets the operating conditions of the business scenario from a plurality of pre-built virtual devices according to the business scenario in which the target cloud game is located, and starting the target virtual device, so as to generate virtual driver class data for the operation of the target cloud game through the target virtual device.

[0134] It's important to understand that games also face device compatibility limitations. During startup, they often perform device validity checks to determine if the device supports the necessary drivers and configurations. Incompatibility issues will prevent the game from running correctly. Similarly, cloud gaming also faces device compatibility issues, requiring consideration of whether the servers running the cloud game support its operation. Given the complexity of the types and business scenarios involved in cloud gaming, it's difficult for servers to be hardware-compatible with all cloud gaming applications.

[0135] Based on this, this embodiment further optimizes the provided method, introducing a virtual device mechanism. Specifically, multiple virtual devices compatible with different drivers or different configuration requirements can be pre-created on the server. A virtual device can be understood as a virtual device generated by modifying the native code of the operating system on the server. Through this virtual device, the improved functional settings can be updated in a timely manner to generate corresponding data information that can be recognized by the game device compatibility detection program, thereby ensuring the normal operation of the game.

[0136] In this embodiment, upon receiving a client's request to launch a target cloud game, the embodiment can simultaneously analyze the business scenario of the target cloud game, determine the driver or configuration information involved in its operation, and locate pre-created virtual devices to find the target virtual devices adapted to each target cloud game. Finally, this embodiment can obtain the data information generated by the target virtual device by launching it. This data information may include virtual driver data related to the target cloud game's operation, ensuring the effective operation of the target cloud game.

[0137] The above-described technical solution in this embodiment can bypass the device validity check of cloud games by matching the target virtual device, enabling cloud games to run better on the server, thereby improving the server's compatibility with cloud games and expanding the types of cloud games that the cloud server can handle.

[0138] To facilitate a better understanding of the cloud gaming processing method provided in this technical solution, this embodiment presents an example flowchart of the provided cloud gaming processing method. The execution of this cloud gaming processing method can be achieved through interaction between the player-operated client and the cloud server participating in the cloud gaming process.

[0139] Specifically, this exemplary cloud gaming processing method may include the following steps:

[0140] S1. The client sends a launch request for the target game to the cloud server.

[0141] S2. The cloud server starts the target game, determines the business scenario in which the target game is located, and selects a target virtual device that meets the operating conditions of the business scenario from a plurality of pre-built virtual devices, and starts the target virtual device.

[0142] S3. After the client detects an input event for the target game, it generates an information input frame and sends it to the cloud server.

[0143] S4. The cloud server determines the received timestamp of the received information input frame, and determines the target frame timestamp and frame rate fluctuation coefficient through the received timestamp.

[0144] S5. The cloud server will cache the first information input frame received at the target frame timestamp and the frame coordinate change associated with the first information frame in the data cache queue.

[0145] S6. The cloud server determines the time difference between the current execution time and the timestamp of the target frame, and obtains a pre-determined first judgment threshold and a second judgment threshold.

[0146] S7. When the time difference is greater than the first determination threshold, and the frame rate fluctuation coefficient is greater than the second determination threshold, the cloud server determines the first input frame interpolation method corresponding to the non-real-time frame fluctuation input mode as the input data frame interpolation method, and executes S11.

[0147] S8. When the frame rate fluctuation coefficient is less than or equal to the second determination threshold, the cloud server determines the second input frame interpolation method corresponding to the non-instantaneous frame stable input mode as the input data frame interpolation method, and executes S12.

[0148] S9. When the time difference is less than or equal to the first determination threshold, and the frame rate fluctuation coefficient is greater than the second determination threshold, the cloud server determines the third input frame interpolation method corresponding to the real-time frame fluctuation input mode as the input data frame interpolation method and executes S13.

[0149] S10. When the frame rate fluctuation coefficient is less than or equal to the second determination threshold, the cloud server determines the fourth input frame interpolation method corresponding to the real-time frame stable input mode as the input data frame interpolation method and executes S14.

[0150] S11. The cloud server obtains the first frame data information corresponding to the first target information input frame from the data cache queue, determines it as the inserted data frame information of the target game, and executes S15. The first target information input frame is the information input frame cached in the second to last position in the data cache queue.

[0151] S12. The cloud server obtains the second frame data information corresponding to the second target information input frame from the data cache queue, determines it as the inserted data frame information of the target game, and executes S15. The second target information input frame is the information input frame cached at the end of the data cache queue.

[0152] S13. The cloud server determines the inserted data frame information of the target game based on the first frame data information and the obtained first coordinate change amount, and executes S15. The first coordinate change amount is the frame coordinate change amount at the end of the data cache queue.

[0153] S14. The cloud server determines the inserted data frame information of the target game based on the second frame data information and the first coordinate change amount, and executes S15.

[0154] S15. The cloud server updates the game screen information of the target game according to the inserted data frame information, and feeds back the game screen information to each client in the form of a video stream.

[0155] S16. The client displays the game screen of the target game based on the received video stream.

[0156] As can be seen, in the actual processing of cloud gaming, the above steps can be used to improve the smoothness of cloud gaming, as well as enhance the playability and user experience.

[0157] Figure 2 This is a schematic diagram of a cloud gaming processing device provided in an embodiment of the present disclosure. This embodiment is applicable to the processing of cloud gaming operations. The device can be implemented by software and / or hardware and can be configured in a terminal and / or server to implement the cloud gaming processing method in this embodiment of the present disclosure. Specifically, the device may include: a first determining module 21, a second determining module 22, a third determining module 23, and a screen updating module 24.

[0158] The first determining module is used to detect the launch of the target cloud game, obtain the target frame timestamp, and determine the frame rate fluctuation coefficient. The target frame timestamp is the receiving timestamp of the received information input frame, which is generated by the client after detecting an input event for the target cloud game.

[0159] The second determining module is used to determine the frame interpolation method of the input data of the target cloud game based on the target frame timestamp and frame rate fluctuation coefficient.

[0160] The third determining module is used to determine the inserted data frame information of the target cloud game based on the input data interpolation method and the cache information in the created data cache queue.

[0161] The screen update module is used to update the game screen information of the target cloud game according to the inserted data frame information.

[0162] This embodiment provides a cloud gaming processing device that introduces an interpolation mechanism for cloud gaming input information, using inserted data frames. This mechanism determines the interpolation method based on the frame timestamp of the input frames received from the client and fluctuations in the received frame rate. The interpolation method can be matched to determine the inserted data frames for the cloud game, and the game screen can be updated using the content of the inserted data frames. This method smoothly processes input events, reducing operational errors or unresponsive cloud games caused by client input delays. Furthermore, determining the inserted data frames using different interpolation methods effectively corrects noise and jitter generated during input, thereby improving the operational accuracy and smoothness of the cloud game, significantly enhancing its playability and user experience.

[0163] Furthermore, the first determining module 21 can specifically be used for:

[0164] Obtain the timestamp of the frame preceding the timestamp of the target frame, and determine the difference between the timestamp of the target frame and the timestamp of the preceding frame as the first frame interval value;

[0165] Obtain pre-recorded historical frame interval information, and determine the average frame interval value based on the first frame interval value and each second frame interval value included in the historical frame interval information;

[0166] The frame rate fluctuation coefficient is determined based on the average frame interval value.

[0167] Furthermore, the second determining module may specifically include:

[0168] The information determination unit is used to determine the time difference between the current execution time and the timestamp of the target frame, and to obtain a pre-determined first determination threshold and a second determination threshold.

[0169] The determination execution unit is used to determine the input data frame interpolation method of the target cloud game based on the first comparison result between the time difference and the first determination threshold, and the second comparison result between the frame rate fluctuation coefficient and the second determination threshold.

[0170] Furthermore, the determination execution unit can specifically be used for:

[0171] When the time difference is greater than the first determination threshold, and when the frame rate fluctuation coefficient is greater than the second determination threshold, the first input frame interpolation method corresponding to the non-real-time frame fluctuation input mode is determined as the input data frame interpolation method.

[0172] When the frame rate fluctuation coefficient is less than or equal to the second determination threshold, the second input frame interpolation method corresponding to the non-instantaneous frame stable input mode is determined as the input data frame interpolation method.

[0173] When the time difference is less than or equal to the first determination threshold, and when the frame rate fluctuation coefficient is greater than the second determination threshold, the third input frame interpolation method corresponding to the instant frame next frame fluctuation input mode is determined as the input data frame interpolation method.

[0174] When the frame rate fluctuation coefficient is less than or equal to the second determination threshold, the fourth input frame interpolation method corresponding to the real-time frame next frame stable input mode is determined as the input data frame interpolation method.

[0175] Furthermore, the device may also include: a queue update module, configured to acquire a first information input frame received at the target frame timestamp, and update the data cache queue based on the first information input frame and historical information input frames stored in the data cache queue.

[0176] Furthermore, the queue update module can be specifically used for:

[0177] Obtain the previous information input frame of the first information input frame from the data cache queue;

[0178] Based on the first information input frame and the previous information input frame, determine the change in frame coordinates corresponding to the first information input frame;

[0179] The first information input frame and the frame coordinate change are associated and cached in the data cache queue.

[0180] Furthermore, the third determining module 31 may specifically include:

[0181] The first execution unit is configured to, when determining that the input data interpolation method is the first input interpolation method corresponding to the non-real-time frame fluctuation input mode, obtain the first frame data information corresponding to the first target information input frame from the data cache queue and determine it as the inserted data frame information of the target cloud game, wherein the first target information input frame is the information input frame cached in the second-to-last position in the data cache queue;

[0182] The second execution unit is used to obtain the second frame data information corresponding to the second target information input frame from the data cache queue when it is determined that the input data interpolation method is the second input interpolation method corresponding to the non-real-time frame stable input mode, and determine it as the inserted data frame information of the target cloud game. The second target information input frame is the information input frame cached at the end of the data cache queue.

[0183] The third execution unit is used to determine the inserted data frame information of the target cloud game based on the first frame data information and the obtained first coordinate change amount when the input data frame interpolation method is determined to be the third input frame interpolation method corresponding to the real-time frame fluctuation input mode. The first coordinate change amount is the frame coordinate change amount at the end of the data cache queue.

[0184] The fourth execution unit is used to determine the inserted data frame information of the target cloud game based on the second frame data information and the first coordinate change amount when the input data interpolation method is determined to be the fourth input interpolation method corresponding to the real-time frame stable input mode.

[0185] Furthermore, the third execution unit can specifically be used for:

[0186] Based on the time difference between the current execution time and the timestamp of the target frame and the set first judgment threshold, the lag insertion coefficient is determined in conjunction with the lag insertion coefficient formula.

[0187] Determine the first product value of the hysteresis insertion coefficient and the first coordinate change, and update the frame coordinate value in the first frame data information according to the first product value to obtain the first frame coordinate update result;

[0188] The first frame coordinate update result is determined as the inserted data frame information of the target cloud game.

[0189] Furthermore, the fourth execution unit can specifically be used for:

[0190] Based on the time difference between the current execution time and the timestamp of the target frame and the set first judgment threshold, the prediction insertion coefficient is determined in conjunction with the prediction insertion coefficient formula.

[0191] Determine the second product value of the predicted insertion coefficient and the first coordinate change, and update the frame coordinate values ​​in the second frame data information according to the second product value to obtain the second frame coordinate update result;

[0192] The second frame coordinate update result is determined as the inserted data frame information of the target cloud game.

[0193] Furthermore, the device also includes:

[0194] The virtual device matching module is used to determine the target virtual device that meets the operating conditions of the business scenario from a number of pre-built virtual devices based on the business scenario in which the target cloud game is located, and to start the target virtual device so as to generate virtual driver class data for the operation of the target cloud game through the target virtual device.

[0195] The above-described apparatus can execute the methods provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects for executing the methods.

[0196] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.

[0197] Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of this disclosure. Reference is made below. Figure 3 It illustrates a computer device suitable for implementing embodiments of the present disclosure (e.g., Figure 3 The diagram below shows the structure of the terminal device or server 30. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 3 The computer device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0198] like Figure 3 As shown, the computer device 30 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 31, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 32 or a program loaded from a storage device 38 into a random access memory (RAM) 33. The RAM 33 also stores various programs and data required for the operation of the computer device 30. The processing unit 31, the ROM 32, and the RAM 33 are interconnected via a bus 35. An edit / output (I / O) interface 34 is also connected to the bus 35.

[0199] Typically, the following devices can be connected to I / O interface 34: input devices 36 including, for example, information displays, information boards, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 37 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 38 including, for example, magnetic tapes, hard disks, etc.; and communication devices 39. Communication device 39 allows computer device 30 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 3 A computer device 30 with various devices is shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have instead.

[0200] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 39, or installed from a storage device 38, or installed from a ROM 32. When the computer program is executed by the processing device 31, it performs the functions defined in the methods of embodiments of this disclosure.

[0201] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0202] The computer device provided in this embodiment and the cloud gaming processing method provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.

[0203] This disclosure provides a computer storage medium storing a computer program that, when executed by a processor, implements the cloud gaming processing method provided in the above embodiments.

[0204] It should be noted that the computer-readable medium described above in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.

[0205] In this disclosure, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0206] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol, such as HTTP (Hypertext Transfer Protocol), and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0207] The aforementioned computer-readable medium may be included in the aforementioned computer device; or it may exist independently and not assembled into the computer device.

[0208] The aforementioned computer-readable medium carries one or more programs that, when executed by the computer device, cause the computer device to:

[0209] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0210] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0211] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".

[0212] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0213] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0214] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0215] Furthermore, although the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while some specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0216] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A cloud gaming processing method, characterized in that, include: After detecting the launch of the target cloud game, the target frame timestamp is obtained, and the frame rate fluctuation coefficient is determined. The target frame timestamp is the receiving timestamp of the received information input frame. The information input frame is generated by the client after detecting an input event for the target cloud game. Based on the target frame timestamp and frame rate fluctuation coefficient, the input data interpolation method for the target cloud game is determined; Based on the input data interpolation method and the cached information in the created data cache queue, the inserted data frame information of the target cloud game is determined; The game screen information of the target cloud game is updated based on the inserted data frame information.

2. The method according to claim 1, characterized in that, The determination of the frame rate fluctuation coefficient includes: Obtain the timestamp of the frame preceding the timestamp of the target frame, and determine the difference between the timestamp of the target frame and the timestamp of the preceding frame as the first frame interval value; Obtain pre-recorded historical frame interval information, and determine the average frame interval value based on the first frame interval value and each second frame interval value included in the historical frame interval information; The frame rate fluctuation coefficient is determined based on the average frame interval value.

3. The method according to claim 1, characterized in that, Based on the target frame timestamp and frame rate fluctuation coefficient, the input data frame interpolation method for the target cloud game is determined, including: Determine the time difference between the current execution time and the timestamp of the target frame, and obtain a pre-determined first and second judgment thresholds; The frame interpolation method for the input data of the target cloud game is determined based on the first comparison result between the time difference and the first determination threshold, and the second comparison result between the frame rate fluctuation coefficient and the second determination threshold.

4. The method according to claim 3, characterized in that, Based on the first comparison result between the time difference and the first determination threshold, and the second comparison result between the frame rate fluctuation coefficient and the second determination threshold, the input data frame interpolation method of the target cloud game is determined, including: When the time difference is greater than the first determination threshold, and when the frame rate fluctuation coefficient is greater than the second determination threshold, the first input frame interpolation method corresponding to the non-real-time frame fluctuation input mode is determined as the input data frame interpolation method. When the frame rate fluctuation coefficient is less than or equal to the second determination threshold, the second input frame interpolation method corresponding to the non-instantaneous frame stable input mode is determined as the input data frame interpolation method. When the time difference is less than or equal to the first determination threshold, and when the frame rate fluctuation coefficient is greater than the second determination threshold, the third input frame interpolation method corresponding to the instant frame next frame fluctuation input mode is determined as the input data frame interpolation method. When the frame rate fluctuation coefficient is less than or equal to the second determination threshold, the fourth input frame interpolation method corresponding to the real-time frame next frame stable input mode is determined as the input data frame interpolation method.

5. The method according to claim 1, characterized in that, The step of determining the inserted data frame information for the target cloud game based on the input data interpolation method and the cached information in the created data cache queue includes: When it is determined that the input data interpolation method is the first input interpolation method corresponding to the non-real-time frame fluctuation input mode, the first frame data information corresponding to the first target information input frame is obtained from the data cache queue and determined as the inserted data frame information of the target cloud game. The first target information input frame is the information input frame cached in the second to last position in the data cache queue. When it is determined that the input data interpolation method is the second input interpolation method corresponding to the non-real-time frame stable input mode, the second frame data information corresponding to the second target information input frame is obtained from the data cache queue and determined as the inserted data frame information of the target cloud game. The second target information input frame is the information input frame cached at the end of the data cache queue. When the input data interpolation method is determined to be the third input interpolation method corresponding to the real-time frame fluctuation input mode, the inserted data frame information of the target cloud game is determined according to the first frame data information and the obtained first coordinate change amount, wherein the first coordinate change amount is the frame coordinate change amount at the end of the data cache queue. When the input data interpolation method is determined to be the fourth input interpolation method corresponding to the real-time frame-stable input mode, the inserted data frame information of the target cloud game is determined based on the second frame data information and the first coordinate change amount.

6. The method according to claim 5, characterized in that, The step of determining the inserted data frame information of the target cloud game based on the first frame data information and the obtained first coordinate change includes: Based on the time difference between the current execution time and the timestamp of the target frame and the set first judgment threshold, the lag insertion coefficient is determined in conjunction with the lag insertion coefficient formula. Determine the first product value of the hysteresis insertion coefficient and the first coordinate change, and update the frame coordinate value in the first frame data information according to the first product value to obtain the first frame coordinate update result; The first frame coordinate update result is determined as the inserted data frame information of the target cloud game.

7. The method according to claim 5, characterized in that, The step of determining the inserted data frame information of the target cloud game based on the second frame data information and the first coordinate change includes: Based on the time difference between the current execution time and the timestamp of the target frame and the set first judgment threshold, the prediction insertion coefficient is determined in conjunction with the prediction insertion coefficient formula. Determine the second product value of the predicted insertion coefficient and the first coordinate change, and update the frame coordinate values ​​in the second frame data information according to the second product value to obtain the second frame coordinate update result; The second frame coordinate update result is determined as the inserted data frame information of the target cloud game.

8. The method according to claim 1, characterized in that, Also includes: Obtain the first information input frame received at the target frame timestamp, and update the data cache queue based on the first information input frame and the historical information input frames stored in the data cache queue.

9. The method according to claim 8, characterized in that, The step of updating the data cache queue based on the first information input frame and the historical information input frames stored in the data cache queue includes: Obtain the previous information input frame of the first information input frame from the data cache queue; Based on the first information input frame and the previous information input frame, determine the change in frame coordinates corresponding to the first information input frame; The first information input frame and the frame coordinate change are associated and cached in the data cache queue.

10. The method according to any one of claims 1-9, characterized in that, Also includes: Based on the business scenario of the target cloud game, a target virtual device that meets the operating conditions of the business scenario is determined from a plurality of pre-built virtual devices and the target virtual device is started, so as to generate virtual driver class data for the operation of the target cloud game through the target virtual device.

11. A cloud gaming processing device, characterized in that, include: The first determining module is used to detect the launch of the target cloud game, obtain the target frame timestamp, and determine the frame rate fluctuation coefficient. The target frame timestamp is the receiving timestamp of the received information input frame, which is generated by the client after detecting an input event for the target cloud game. The second determining module is used to determine the frame interpolation method of the input data of the target cloud game based on the target frame timestamp and frame rate fluctuation coefficient. The third determining module is used to determine the inserted data frame information of the target cloud game based on the input data interpolation method and the cache information in the created data cache queue. The screen update module is used to update the game screen information of the target cloud game according to the inserted data frame information.

12. A computer device, characterized in that, The computer device includes: One or more processors; a storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the cloud gaming processing method as described in any one of claims 1-10.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the cloud gaming processing method as described in any one of claims 1-10.

14. A computer program product comprising a computer program that, when executed by a processor, implements the cloud gaming processing method according to any one of claims 1-10.