Cloud game screen sharing method, device, equipment and storage medium

The rendered game screen is encoded and processed all the way through the cloud server, which solves the problem of excessive resource consumption in cloud game screen sharing and achieves screen consistency and resource conservation for multiple clients.

CN117938823BActive Publication Date: 2025-09-05BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202410153955.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-02
Publication Date
2025-09-05
Estimated Expiration
2044-02-02

AI Technical Summary

Technical Problem

Existing cloud gaming screen sharing methods consume too much resources, especially when transmitting between multiple cloud gaming clients, which requires multiple video encoders and results in insufficient CPU resources.

Method used

The cloud server encodes the rendered game screen all the way to obtain the compressed game screen, and sends it to multiple cloud game clients separately to maintain the consistency of the screen, reduce the number of video encoders and reduce resource consumption.

Benefits of technology

Through one-way encoding processing, the consistency of game screen display on multiple cloud gaming clients is achieved, while effectively reducing the resource consumption of cloud gaming screen sharing and improving the gaming experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117938823B_ABST
    Figure CN117938823B_ABST
Patent Text Reader

Abstract

The present disclosure provides a cloud gaming screen sharing method, apparatus, device, and storage medium, relating to the field of artificial intelligence and applicable to cloud computing, cloud gaming, virtualization, network transmission, and other technical fields. The cloud gaming screen sharing method includes: encoding the rendered game screen to obtain a compressed game screen; and sending the compressed game screen to multiple cloud gaming clients, including cloud gaming clients corresponding to game players and cloud gaming clients corresponding to game viewers. Thus, only one encoding pass is required, reducing resource consumption for cloud gaming screen sharing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of artificial intelligence, and in particular to a cloud game screen sharing method, device, equipment and storage medium, which can be used in technical fields such as cloud computing, cloud gaming, virtualization, and network transmission. Background Art

[0002] Cloud gaming is a gaming method based on cloud computing. In this mode, games run on cloud servers, which compress the rendered game screen and transmit it to the cloud gaming client over the network. The cloud gaming client then decompresses the video and displays the game screen. Cloud gaming clients are required to have video decompression capabilities, but do not require high-performance processors and graphics cards.

[0003] In the scenario of sharing the player's cloud game screen with the viewer, the cloud server establishes network links with the player's cloud game client and the viewer's cloud game client respectively, and deploys video encoders corresponding to each network link on the cloud server. In this way, the cloud server compresses the rendered game screen through multiple video encoders, and sends the compressed game screen to the corresponding cloud game client through the network link corresponding to the video encoder.

[0004] However, the resource consumption of the above-mentioned cloud game screen sharing method is too high. Summary of the Invention

[0005] The present disclosure provides a cloud gaming screen sharing method, apparatus, device, and storage medium for reducing resource consumption.

[0006] According to a first aspect of the present disclosure, a cloud game screen sharing method is provided, which is applied to a cloud server, including: encoding the rendered game screen to obtain a compressed game screen; sending the compressed game screen to multiple cloud game clients respectively, and the multiple cloud game clients include cloud game clients corresponding to game players and cloud game clients corresponding to game viewers.

[0007] According to a second aspect of the present disclosure, a cloud game screen sharing device is provided, which is applied to a cloud server and includes: an encoding unit for encoding the rendered game screen to obtain a compressed game screen; a sending unit for sending the compressed game screen to multiple cloud game clients respectively, and the multiple cloud game clients include cloud game clients corresponding to game players and cloud game clients corresponding to game viewers.

[0008] According to a third aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the cloud game screen sharing method described in the first aspect.

[0009] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the cloud game screen sharing method described in the first aspect.

[0010] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising: a computer program, the computer program being stored in a readable storage medium, at least one processor of an electronic device being able to read the computer program from the readable storage medium, and the at least one processor executing the computer program so that the electronic device executes the cloud game screen sharing method described in the first aspect.

[0011] According to the technical solution provided by this disclosure, the cloud server encodes the rendered game screen to obtain a compressed game screen; the compressed game screen is then sent to multiple cloud gaming clients, including the cloud gaming client corresponding to the game player and the cloud gaming client corresponding to the game viewer. Multiple cloud gaming clients receive the same compressed game screen, maintaining the consistency of the game screen displayed by the cloud gaming clients and improving the sharing of cloud gaming screens. For the cloud server, only one encoding step is required, eliminating the need for multiple video encoders, effectively reducing the resource consumption of cloud gaming screen sharing.

[0012] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The accompanying drawings are used to better understand the present invention and do not constitute a limitation of the present invention.

[0014] Figure 1 This is an example picture of cloud game screen sharing;

[0015] Figure 2 is a schematic diagram of an application scenario to which the present disclosure is applicable;

[0016] Figure 3 is a schematic diagram according to a first embodiment of the present disclosure;

[0017] Figure 4 is a schematic diagram according to a second embodiment of the present disclosure;

[0018] Figure 5 is a schematic diagram according to a third embodiment of the present disclosure;

[0019] Figure 6 is a schematic diagram according to a fourth embodiment of the present disclosure;

[0020] Figure 7 FIG. 7 is a schematic block diagram of an example electronic device 700 that may be used to implement embodiments of the present disclosure. DETAILED DESCRIPTION

[0021] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding. These details should be considered as merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0022] Figure 1 This is an example of cloud game screen sharing. Figure 1 As shown, the cloud server 110 is deployed with a device streaming service 111 and multiple video encoders. Figure 1 Take two video encoders as an example: a first video encoder 112 and a second video encoder 113; the cloud server 110 establishes communication links with multiple cloud game clients respectively. Figure 1 Take two cloud gaming clients as an example: a first cloud gaming client 120 and a second cloud gaming client 130 . The first video encoder 112 corresponds to the first cloud gaming client 120 , and the second video encoder 113 corresponds to the second cloud gaming client 130 .

[0023] During the cloud game screen sharing process, the first video encoder 112 and the second video encoder 113 respectively encode the rendered game screen to obtain the compressed game screen corresponding to the first video encoder 112 and the compressed game screen corresponding to the second video encoder 113; the device streaming service 111 sends the compressed game screen corresponding to the first video encoder 112 to the first cloud game client 120 through the communication link between the cloud server 110 and the first cloud game client 120, and sends the compressed game screen corresponding to the second video encoder 113 to the second cloud game client 130 through the communication link between the cloud server 110 and the second cloud game client 130.

[0024] However, this approach requires triggering multiple video encoders for multi-channel video encoding, which consumes a significant amount of resources. For example, consider a cloud server with a quad-core central processing unit (CPU), which uses 400% of CPU resources. One channel of video encoding and the communication link consume approximately 50% of CPU resources, and cloud gaming requires a 50% reserve. Therefore, a single cloud gaming session (assuming a single session includes one player and one viewer) consumes 150% of CPU resources. 400% of CPU resources is insufficient to support three cloud gaming sessions.

[0025] The present disclosure proposes a cloud game screen sharing method, apparatus, device, and storage medium, which are applied to cloud computing, cloud gaming, virtualization, network transmission, and other technical fields in the field of artificial intelligence. In the present disclosure, a cloud server encodes the rendered game screen to obtain a compressed game screen; the compressed game screen is sent to multiple cloud game clients. On the one hand, multiple cloud game clients receive the same compressed game screen, which can maintain the consistency of the game screen displayed by the cloud game clients and improve the cloud game screen sharing effect. On the other hand, the cloud server only needs to perform one-way encoding, eliminating the need for multiple video encoders, reducing the resource consumption of cloud game screen sharing.

[0026] Figure 2 2 is a schematic diagram of an application scenario applicable to the present disclosure. The application scenario includes a cloud server 210 and multiple cloud gaming clients 220. The multiple cloud gaming clients 220 include cloud gaming clients corresponding to game players and cloud gaming clients corresponding to game viewers. Communication links are established between the cloud server 210 and the multiple cloud gaming clients 220.

[0027] In the cloud server 210: the game screen can be rendered for the cloud game to obtain the rendered game screen; the rendered game screen is encoded all the way to obtain a compressed game screen, for example, the device streaming service 211 in the cloud server 210 transmits the rendered game screen to the video encoder 212 in the cloud server 210, and the video encoder 212 encodes the rendered game screen all the way to obtain a compressed game screen; the compressed game screen is sent to the corresponding cloud game client 220 through a communication link, for example, the video encoder 212 transmits the compressed game screen to the device streaming service 211, and the device streaming service 211 sends the rendered game screen to the communication link to the corresponding cloud game client 220.

[0028] Among them, the cloud server 210 is such as an independent server or a server cluster, and the cloud game client 220 is such as a handheld device with wireless communication function (such as a smart phone, a tablet computer), a computing device (such as a personal computer (PC)), a wearable device (such as a smart watch, a smart bracelet), a smart home device (such as a smart speaker, a smart display device), etc.

[0029] The following describes in detail the technical solutions of the present disclosure and how the technical solutions of the present disclosure solve the above-mentioned technical problems using specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The following embodiments of the present disclosure are described in conjunction with the accompanying drawings.

[0030] Figure 3 Schematic diagram of the first embodiment of the present disclosure. Figure 3 As shown, on the cloud server side, the cloud game screen sharing method provided by the first embodiment of the present disclosure includes:

[0031] S301, encoding the rendered game screen to obtain a compressed game screen.

[0032] Among them, in the cloud gaming scenario, the cloud server can receive cloud gaming operation instructions from the cloud gaming client corresponding to the game player, and perform operations such as calculating game data and rendering game screens according to the cloud gaming operation instructions to obtain the rendered game screens.

[0033] In this embodiment, a video encoder may be deployed on the cloud server, or the cloud server may establish a communication connection with a device that has a video encoder deployed thereon. The cloud server may input the rendered game screen into the video encoder for encoding processing to obtain a compressed game screen.

[0034] S302, sending the compressed game screen to multiple cloud game clients respectively, where the multiple cloud game clients include cloud game clients corresponding to game players and cloud game clients corresponding to game viewers.

[0035] Among them, game players can play games on the corresponding cloud game client, and game viewers can watch the cloud game screens shared by game players on the corresponding cloud game client. For example, the game players are game anchors, and the game viewers are the online viewers of the game anchors.

[0036] Among them, the cloud server establishes communication links with multiple cloud game clients.

[0037] In this embodiment, the cloud server sends the compressed game screen to multiple cloud gaming clients via a communication link with the multiple cloud gaming clients. The multiple cloud gaming clients can receive the same compressed game screen, decode the compressed game screen, obtain the rendered game screen, and display the rendered game screen.

[0038] In the disclosed embodiment, the cloud server performs video encoding to obtain a compressed game screen, and sends the compressed game screen to multiple cloud game clients respectively, so that the multiple cloud game clients can display the same game screen. The game screen displayed by the cloud game client corresponding to the game player is consistent with the game screen displayed by the cloud game client corresponding to the game viewer, thereby realizing the sharing of the game player's game screen with the game viewer, reducing the resource consumption of cloud game screen sharing.

[0039] In some embodiments, at least one video encoder is deployed in the cloud server. This may include deploying one video encoder in the cloud server or deploying multiple video encoders in the cloud server. Different implementation methods may be used for different situations:

[0040] In one possible implementation, if a video encoder is deployed in the cloud server, the rendered game screen can be encoded by the video encoder to obtain a compressed game screen.

[0041] In this implementation, no matter how many communication links are established with cloud gaming clients, the cloud server only needs to deploy one video encoder, which encodes the rendered game screen to obtain a compressed game screen, thereby reducing the resource usage of the video encoder on the cloud server.

[0042] Optionally, if a video encoder is deployed in the cloud server, the video encoder is the video encoder corresponding to the game player. The video encoder corresponding to the game player can be understood as the video encoder corresponding to the cloud gaming client corresponding to the game player, or the video encoder corresponding to the communication link between the cloud gaming client corresponding to the game player and the cloud server.

[0043] In this optional method, compared with game viewers, game players have higher requirements for the clarity and real-time performance of the game screen. When only one video encoder is deployed, the video encoder is the video encoder corresponding to the game players, which can give priority to meeting the game players' requirements for the game screen and improve the gaming experience.

[0044] In another possible implementation, if multiple video encoders are deployed in the cloud server, the rendered game screen can be encoded by a target video encoder among the multiple video encoders to obtain a compressed game screen.

[0045] The target video encoder may be one of multiple video encoders.

[0046] In this implementation, the cloud server can deploy multiple video encoders. When encoding the rendered game screen is required, the target video encoder among the multiple video encoders can be activated or triggered to encode the rendered game screen to obtain a compressed game screen. Thus, when multiple video encoders are deployed, the cloud server can reduce the resource consumption of video encoding by running a single video encoder.

[0047] Optionally, the target video encoder is any one of multiple video encoders, or the target video encoder is a video encoder randomly selected from multiple video encoders.

[0048] Optionally, the target video encoder is a video encoder corresponding to the game player.

[0049] The multiple video encoders may include video encoders corresponding to game players and video encoders corresponding to game viewers.

[0050] The video encoder corresponding to the game player can be understood as the video encoder corresponding to the cloud gaming client corresponding to the game player, or the video encoder corresponding to the communication link between the cloud gaming client corresponding to the game player and the cloud server. The video encoder corresponding to the game viewer can be understood as the video encoder corresponding to the cloud gaming client corresponding to the game viewer, or the video encoder corresponding to the communication link between the cloud gaming client corresponding to the game viewer and the cloud server.

[0051] In this optional method, compared with game viewers, game players have higher requirements for the clarity and real-time performance of the game screen. When multiple video encoders are deployed on the cloud server, the target encoder can be determined as the video encoder corresponding to the game player among the multiple video encoders, so as to give priority to meeting the game player's requirements for the game screen and improve the gaming experience.

[0052] Alternatively, the target video encoder is obtained by screening among multiple video encoders according to the real-time requirement of game screen transmission and / or the encoding efficiencies corresponding to the multiple video encoders.

[0053] The real-time requirement for game screen transmission may include the real-time requirement for game screen transmission by game players and / or the real-time requirement for game screen transmission by game viewers.

[0054] In this optional method, when multiple video encoders are deployed in the cloud server, the encoding efficiency of different video encoders may be different. Therefore, according to the real-time requirements of game screen transmission (such as the real-time requirements of game players for game screen transmission, the real-time requirements of game viewers for game screen transmission, especially the real-time requirements of game players for game screen transmission) and / or the encoding efficiencies corresponding to multiple video encoders, a target video encoder can be screened from multiple video encoders to improve the game screen transmission efficiency and / or game screen encoding efficiency of cloud game screen sharing while reducing the resource loss of cloud game screen, thereby improving the cloud gaming experience.

[0055] In one method, the target video encoder can be determined to be the video encoder with the highest coding efficiency among multiple video encoders; in another method, the real-time requirement of game screen transmission can be compared with the coding efficiencies corresponding to multiple video encoders, and candidate video encoders that meet the real-time requirement of game screen transmission can be screened out from the multiple video encoders based on the comparison results, and the target video encoder can be randomly selected from the candidate video encoders, or the target video encoder can be determined to be the video encoder with the highest coding efficiency among the candidate video encoders.

[0056] Optionally, the target video encoder is obtained by screening from multiple video encoders based on the quality requirements of the game screen (such as clarity requirements, color richness requirements) and / or the encoding parameters related to video quality loss (such as bit rate, sampling rate) corresponding to multiple video encoders.

[0057] The quality requirements of the game screen may include the quality requirements of the game players and / or the quality requirements of the game screen by the game viewers.

[0058] In this optional method, when multiple video encoders are deployed in the cloud server, different video encoders may cause different degrees of quality loss to the video quality during the encoding process. Therefore, based on the quality requirements of the game screen (such as the quality requirements of the game screen by game players, the quality requirements of the game screen by game viewers, especially the quality requirements of the game screen by game players) and / or the encoding parameters related to video quality loss corresponding to multiple video encoders, a target video encoder can be screened from multiple video encoders to ensure the quality of the game screen shared by the cloud game screen while reducing the resource loss of the cloud game screen, thereby improving the cloud gaming experience.

[0059] In one method, the target video encoder can be determined as the video encoder with the lowest quality loss caused to the video quality among the multiple video encoders based on the encoding parameters related to video quality loss corresponding to the multiple video encoders respectively; in another method, the quality requirements of the game screen can be compared with the encoding parameters related to video quality loss corresponding to the multiple video encoders respectively, and candidate video encoders that meet the quality requirements of the game screen can be screened out from the multiple video encoders based on the comparison results, and the target video encoder can be randomly selected from the candidate video encoders, or the target video encoder can be determined as the video encoder with the lowest video quality loss among the candidate video encoders.

[0060] Figure 4 Schematic diagram of the second embodiment of the present disclosure. Figure 4 As shown, on the cloud server side, the cloud game screen sharing method provided by the second embodiment of the present disclosure includes:

[0061] S401, obtaining client parameters of the cloud gaming client corresponding to the game player.

[0062] The client parameters may include network quality parameters and / or screen display parameters. The network quality parameters of a cloud gaming client may reflect the network quality of the cloud gaming client, such as network transmission rate and parameters reflecting network transmission stability. The screen display parameters of a cloud gaming client may reflect the quality requirements of the game screen, such as display resolution and pixel pitch.

[0063] In this embodiment, when a game player accesses a cloud game running on a cloud server through a corresponding cloud game client, the cloud server can obtain the client parameters of the cloud game client.

[0064] S402 , encoding the rendered game screen using a target video encoder according to client parameters to obtain a compressed game screen.

[0065] The target video encoder is the video encoder corresponding to the game player. For the explanation of the target video encoder, please refer to the aforementioned embodiment and will not be repeated here.

[0066] In this embodiment, the cloud server can input the client parameters and the rendered game screen into the target video encoder. In the target video encoder, the rendered game screen is encoded according to the client parameters to obtain a compressed game screen, so that the compressed game screen can meet the network requirements and / or screen display requirements of the cloud game client corresponding to the game player, improve the reliability of game screen transmission and the quality of game screen display, and improve the cloud gaming experience of the game player.

[0067] S403: Send the compressed game screen to multiple cloud game clients respectively, where the multiple cloud game clients include cloud game clients corresponding to game players and cloud game clients corresponding to game viewers.

[0068] The implementation principle and technical effects of S403 may refer to the aforementioned embodiment and will not be described in detail.

[0069] In the disclosed embodiment, the cloud server can encode the rendered game screen according to the client parameters of the cloud game client corresponding to the game player through the video encoder corresponding to the game player to obtain a compressed game screen, so that the game screen can meet the requirements of the cloud game client corresponding to the game player, thereby improving the cloud game experience of the game player. At the same time, through one-way video encoding, the resource consumption of cloud game screen sharing is reduced.

[0070] Below, some embodiments are provided for the network links between the cloud server and the cloud gaming client corresponding to the game player, and between the cloud server and the cloud gaming client corresponding to the game viewer.

[0071] In some embodiments, the network link between the cloud server and the cloud gaming client corresponding to the game player is a first type of network link, and the network link between the cloud server and the cloud gaming client corresponding to the game viewer is a second type of network link, and the first type and the second type are different types.

[0072] In this embodiment, compared to using the same network link between the cloud server and the cloud gaming client corresponding to the game player and the cloud gaming client corresponding to the game viewer, the network link between the cloud server and the cloud gaming client corresponding to the game player is a first type of network link, and the network link between the cloud server and the cloud gaming client corresponding to the game viewer is a second type of network link. This can minimize the resource consumption of the network link while meeting the requirements of the cloud gaming client corresponding to the game player and the cloud gaming client corresponding to the game viewer for game screen transmission. For example, if the requirements of the cloud gaming client corresponding to the game player for game screen transmission are met, a network link with lower resource consumption is selected as the first type of network link; if the requirements of the cloud gaming client corresponding to the game viewer for game screen transmission are met, a network link with lower resource consumption is selected as the second type of network link.

[0073] Optionally, the resource overhead of the second type of network link is less than that of the first type of network link. Considering that game players not only need to view the game screen but also need to perform game operations, the requirements of the cloud gaming client corresponding to the game player for game screen transmission are higher than those of the cloud gaming client corresponding to the game viewer. Moreover, one game player can usually correspond to multiple game viewers. Therefore, the resource overhead of the second type of network link can be less than that of the first type of network link. On the one hand, it can meet the requirements of the cloud gaming client corresponding to the game player for game screen transmission and the requirements of the cloud gaming client corresponding to the game viewer for game screen transmission. On the other hand, it can effectively reduce the resource consumption of the screen transmission of the cloud gaming client corresponding to the game viewer.

[0074] Optionally, the first type of network link is a peer-to-peer (P2P) network link based on web real-time communication (WebRTC) (WebRTC-P2P network link), and / or, the second type of network link is a peer-to-peer (P2P) network link based on transmission control protocol (TCP) (TCP-P2P network link).

[0075] The WebRTC-P2P network framework, upon which the WebRTC-P2P link relies, incorporates a weak network defense algorithm that improves the real-time performance of game screen transmission, but also consumes correspondingly higher resources. TCP-P2P links can transmit game screens without executing complex algorithms. Therefore, the real-time performance of data transmission over the WebRTC-P2P link is higher than that of the TCP-P2P link, and the resource consumption of the WebRTC-P2P link is higher than that of the TCP-P2P link.

[0076] In this optional method, the cloud gaming client corresponding to the game viewer does not have high real-time requirements for game screen transmission. To achieve a better gaming experience, the cloud gaming client corresponding to the game player has higher real-time requirements for game screen transmission. The cloud server and the cloud gaming client corresponding to the game viewer use a TCP-P2P network link for data transmission, while the cloud server and the cloud gaming client corresponding to the game player use a WebRTC-P2P network link for data transmission. This reduces the resource consumption of game screen transmission between the cloud server and the cloud gaming client corresponding to the game viewer. The TCP-P2P network link can directly transmit the game screen that has been encoded and processed by the video encoder corresponding to the WebRTC-P2P network link, eliminating the need to set up a corresponding video encoder for the TCP-P2P network link, thereby reducing the resource consumption of the video encoder. In turn, this reduces the resource consumption of cloud gaming screen sharing.

[0077] Figure 5 Schematic diagram of the third embodiment of the present disclosure. Figure 5 As shown, on the cloud server side, the cloud game screen sharing method provided by the third embodiment of the present disclosure includes:

[0078] S501, obtain the client parameters of the cloud gaming client corresponding to the game player through the network link between the cloud server and the cloud gaming client corresponding to the game player, and the network link between the cloud server and the cloud gaming client corresponding to the game player is a webrtc-p2p network link.

[0079] S502: According to the client parameters, the rendered game screen is encoded by the video encoder corresponding to the webrtc-p2p network link to obtain a compressed game screen.

[0080] Among them, the video encoder corresponding to the webrtc-p2p network link, that is, the video encoder corresponding to the network link between the cloud server and the cloud game client corresponding to the game player, and the video encoder corresponding to the game player, such as the target video encoder in the aforementioned embodiment.

[0081] S503, sending the compressed game screen to the cloud game client corresponding to the game player through the network link between the cloud server and the cloud game client corresponding to the game player.

[0082] S504, sending the compressed game screen to the cloud game client corresponding to the game viewer through the network link between the cloud server and the cloud game client corresponding to the game viewer. The network link between the cloud server and the cloud game client corresponding to the game viewer is a TCP-P2P network link.

[0083] The implementation principles and technical effects of S501 to S504 may refer to the aforementioned embodiments and will not be described in detail.

[0084] In the disclosed embodiment, the network link between the cloud server and the cloud gaming client corresponding to the game player is a webrtc-p2p network link, and the network link between the cloud server and the cloud gaming client corresponding to the game viewer is a tcp-p2p network link. The game screen obtained after encoding and processing by the video encoder corresponding to the webrtc-p2p network link can be sent to the cloud gaming client corresponding to the game player via the webrtc-p2p network link, and sent to the cloud gaming client corresponding to the game viewer via the tcp-p2p network link. On the one hand, the resource consumption of the TCP-P2P network link is lower than that of the WebRTC-P2P network link, which reduces the resource consumption of data transmission; on the other hand, the real-time performance of the WebRTC-P2P network link is higher than that of the TCP-P2P network link, which meets the game players' requirements for real-time game images; on the other hand, the game images transmitted by the TCP-P2P network link and the WebRTC-P2P network link are both obtained after encoding and processing by the video encoder corresponding to the WebRTC-P2P network link, which ensures the consistency of the game images viewed by game players and game viewers, and does not require the deployment of a corresponding video encoder for the TCP-P2P network link, thereby reducing the resource consumption of the video encoder.

[0085] Figure 6 Schematic diagram of the fourth embodiment of the present disclosure. Figure 6 As shown, the cloud game screen sharing device 600 provided by the fourth embodiment of the present disclosure includes: an encoding unit 601, which is used to encode the rendered game screen to obtain a compressed game screen; a sending unit 602, which is used to send the compressed game screen to multiple cloud game clients respectively, and the multiple cloud game clients include cloud game clients corresponding to game players and cloud game clients corresponding to game viewers.

[0086] In some embodiments, at least one video encoder is deployed in the cloud server, and the encoding unit 601 includes: a first encoding module (not shown in the figure), which is used to encode the rendered game screen through the video encoder to obtain a compressed game screen if a video encoder is deployed in the cloud server; a second encoding module (not shown in the figure), which is used to encode the rendered game screen through a target video encoder among the multiple video encoders to obtain a compressed game screen if multiple video encoders are deployed in the cloud server.

[0087] In some embodiments, if a video encoder is deployed in the cloud server, the video encoder is a video encoder corresponding to the game player.

[0088] In some embodiments, the target video encoder is a video encoder corresponding to the game player, or the target video encoder is screened from multiple video encoders based on the real-time requirements of game screen transmission and / or the encoding efficiencies corresponding to the multiple video encoders.

[0089] In some embodiments, when the target video encoder is the video encoder corresponding to the game player, the second encoding module includes: a parameter acquisition submodule (not shown in the figure), which is used to obtain the client parameters of the cloud gaming client corresponding to the game player, wherein the client parameters include network quality parameters and / or screen display parameters; an encoding processing submodule (not shown in the figure), which is used to encode the rendered game screen through the target video encoder according to the client parameters to obtain a compressed game screen.

[0090] In some embodiments, the network link between the cloud server and the cloud gaming client corresponding to the game player is a first type of network link, and the network link between the cloud server and the cloud gaming client corresponding to the game viewer is a second type of network link, and the first type and the second type are different types.

[0091] In some embodiments, the resource overhead of the second type of network link is less than the resource overhead of the first type of network link.

[0092] In some embodiments, the first type of network link is a point-to-point network link based on real-time communication of web pages, and / or the second type of network link is a point-to-point network link based on the Transmission Control Protocol TCP.

[0093] Figure 6 The cloud game screen sharing device provided can execute the steps involved in the terminal in the above-mentioned corresponding method embodiments. Its implementation principles and technical effects are similar and will not be repeated here.

[0094] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the solution provided by any of the above embodiments.

[0095] According to an embodiment of the present disclosure, the present disclosure further provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute the solution provided by any of the above embodiments.

[0096] According to an embodiment of the present disclosure, the present disclosure also provides a computer program product, which includes: a computer program, the computer program is stored in a readable storage medium, at least one processor of an electronic device can read the computer program from the readable storage medium, and at least one processor executes the computer program so that the electronic device executes the solution provided by any of the above embodiments.

[0097] Figure 7 7 is a schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0098] like Figure 7 As shown, the electronic device 700 includes a computing unit 701, which can store data in a read-only memory (ROM) ( Figure 7 A computer program in ROM 702 is loaded from storage unit 708 into random access memory (RAM) ( Figure 7 The computer programs in the RAM 703 are used as an example to perform various appropriate actions and processes. The RAM 703 may also store various programs and data required for the operation of the electronic device 700. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. The input / output (I / O) interface ( Figure 7 The I / O interface 705 (for example) is also connected to the bus 704 .

[0099] Multiple components in the electronic device 700 are connected to the I / O interface 705, including an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a magnetic disk, an optical disk, etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the electronic device 700 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0100] The computing unit 701 can be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above, such as the cloud game screen sharing method. For example, in some embodiments, the cloud game screen sharing method can be implemented as a computer software program that is tangibly included in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the cloud game screen sharing method described above can be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to execute the cloud gaming screen sharing method in any other appropriate manner (e.g., by means of firmware).

[0101] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard parts (ASSPs), system on a chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0102] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0103] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0104] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0105] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0106] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact via a communication network. This client-server relationship is established by computer programs running on the respective computers, establishing a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host, a host product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosts and VPS services ("Virtual Private Servers" or simply "VPS"). The server may also be a server in a distributed system or a server integrated with blockchain.

[0107] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not limited herein.

[0108] The above specific embodiments do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.

Claims

1. A cloud game screen sharing method, applied to a cloud server, comprising: The rendered game screen is encoded to obtain a compressed game screen; Sending the compressed game screen to multiple cloud game clients respectively, wherein the multiple cloud game clients include cloud game clients corresponding to game players and cloud game clients corresponding to game viewers; At least one video encoder is deployed in the cloud server, and encoding is performed on the rendered game screen to obtain a compressed game screen, including: If a video encoder is deployed in the cloud server, the rendered game screen is encoded by the video encoder to obtain the compressed game screen; If multiple video encoders are deployed in the cloud server, the rendered game screen is encoded by a target video encoder among the multiple video encoders to obtain the compressed game screen.

2. The cloud game screen sharing method according to claim 1, wherein: If a video encoder is deployed in the cloud server, the video encoder is the video encoder corresponding to the game player.

3. The cloud game screen sharing method according to claim 1, wherein: The target video encoder is a video encoder corresponding to the game player, or the target video encoder is obtained by screening among the multiple video encoders based on the real-time requirements of game screen transmission and / or the encoding efficiencies corresponding to the multiple video encoders.

4. The cloud game screen sharing method according to claim 1, wherein: In a case where the target video encoder is a video encoder corresponding to a game player, encoding the rendered game screen by using a target video encoder among the multiple video encoders to obtain the compressed game screen includes: Obtaining client parameters of a cloud gaming client corresponding to the game player, wherein the client parameters include network quality parameters and / or screen display parameters; According to the client parameters, the rendered game screen is encoded by the target video encoder to obtain the compressed game screen.

5. The cloud game screen sharing method according to any one of claims 1 to 4, wherein: The network link between the cloud server and the cloud gaming client corresponding to the game player is a first type of network link, and the network link between the cloud server and the cloud gaming client corresponding to the game viewer is a second type of network link. The first type and the second type are different types.

6. The cloud game screen sharing method according to claim 5, wherein: The resource overhead of the second type of network link is less than the resource overhead of the first type of network link.

7. The cloud game screen sharing method according to claim 5, wherein: The first type of network link is a point-to-point network link based on real-time communication of web pages, and / or the second type of network link is a point-to-point network link based on the Transmission Control Protocol TCP.

8. A cloud game screen sharing device, applied to a cloud server, comprising: The encoding unit is used to encode the rendered game screen to obtain a compressed game screen; A sending unit, configured to send the compressed game screen to a plurality of cloud game clients respectively, wherein the plurality of cloud game clients include cloud game clients corresponding to game players and cloud game clients corresponding to game viewers; At least one video encoder is deployed in the cloud server, and the encoding unit includes: A first encoding module, configured to encode the rendered game screen using a video encoder to obtain the compressed game screen if a video encoder is deployed in the cloud server; The second encoding module is used to encode the rendered game screen through a target video encoder among the multiple video encoders to obtain the compressed game screen if multiple video encoders are deployed in the cloud server.

9. The cloud game screen sharing device according to claim 8, wherein: If a video encoder is deployed in the cloud server, the video encoder is the video encoder corresponding to the game player.

10. The cloud game screen sharing device according to claim 8, wherein: The target video encoder is a video encoder corresponding to the game player, or the target video encoder is obtained by screening among the multiple video encoders based on the real-time requirements of game screen transmission and / or the encoding efficiencies corresponding to the multiple video encoders.

11. The cloud game screen sharing device according to claim 8, wherein: In the case where the target video encoder is a video encoder corresponding to a game player, the second encoding module includes: A parameter acquisition submodule, configured to acquire client parameters of the cloud gaming client corresponding to the game player, wherein the client parameters include network quality parameters and / or screen display parameters; The encoding processing submodule is used to encode the rendered game screen through the target video encoder according to the client parameters to obtain the compressed game screen.

12. The cloud game screen sharing device according to any one of claims 8 to 11, wherein: The network link between the cloud server and the cloud gaming client corresponding to the game player is a first type of network link, and the network link between the cloud server and the cloud gaming client corresponding to the game viewer is a second type of network link. The first type and the second type are different types.

13. The cloud game screen sharing device according to claim 12, wherein: The resource overhead of the second type of network link is less than the resource overhead of the first type of network link.

14. The cloud game screen sharing device according to claim 12, wherein: The first type of network link is a point-to-point network link based on real-time communication of web pages, and / or the second type of network link is a point-to-point network link based on the Transmission Control Protocol TCP.

15. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the cloud game screen sharing method according to any one of claims 1 to 7.

16. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to enable the computer to execute the cloud game screen sharing method according to any one of claims 1 to 7.

17. A computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the cloud game screen sharing method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Content sharing assistance device and online service providing device

    CN111406409A

  • Cloud game picture display method and device and storage medium

    CN113101654A

  • Video resource exporting method and device and network live broadcast system

    CN115499684A

  • Live broadcast interaction method, device and system

    CN116567274A

  • Stream flow automatic degradation control method and recommended resolution and frame rate acquisition method

    CN116896577A