CN111617466B - Method and device for determining coding format and method for realizing cloud game - Google Patents

Method and device for determining coding format and method for realizing cloud game Download PDF

Info

Publication number
CN111617466B
CN111617466B CN202010397724.XA CN202010397724A CN111617466B CN 111617466 B CN111617466 B CN 111617466B CN 202010397724 A CN202010397724 A CN 202010397724A CN 111617466 B CN111617466 B CN 111617466B
Authority
CN
China
Prior art keywords
terminal
game
current period
determining
coding format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010397724.XA
Other languages
Chinese (zh)
Other versions
CN111617466A (en
Inventor
聂国梁
徐嵩
林鹏
张秋芬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
Original Assignee
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Migu Cultural Technology Co Ltd, China Mobile Communications Group Co Ltd filed Critical Migu Cultural Technology Co Ltd
Priority to CN202010397724.XA priority Critical patent/CN111617466B/en
Publication of CN111617466A publication Critical patent/CN111617466A/en
Application granted granted Critical
Publication of CN111617466B publication Critical patent/CN111617466B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/332Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/406Transmission via wireless network, e.g. pager or GSM

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The embodiment of the invention provides a method and a device for determining a coding format and a method for realizing a cloud game; comprising the following steps: determining the buffer condition and the channel quality condition of the terminal in the current period; determining the number of concurrent users of an intermediate communication node which is in communication connection with the terminal and is in a server communication range in the current period; determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period; and determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period. The embodiment of the invention can predict the maximum available communication rate of the terminal according to the communication resources provided by the intermediate communication node and the buffer condition of the terminal, thereby automatically adjusting the coding format.

Description

Method and device for determining coding format and method for realizing cloud game
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for determining a coding format, and a method for implementing a cloud game.
Background
Cloud gaming (Cloud gaming) is an online gaming technology based on Cloud computing and efficient video codec technology. In a cloud game scene, a game runs in a cloud server, the server generates game images through rendering, and the game images are encoded into audio and video streams in real time and then transmitted to a player game terminal through a network. The player gaming terminal only needs to possess basic audio and video stream decoding capability to run the game. The cloud game technology enables various low-price terminal devices with relatively limited computing capacity to run various high-quality games.
One major difference of cloud games over traditional games is that: rendering work of the traditional game is completed by the game terminal, and the performance requirement on the game terminal is high; and the rendering work of the cloud game is completed by the game server, so that the performance requirement on the game terminal is lower.
Cloud gaming naturally reduces the performance requirements for gaming terminals, but also increases the bandwidth requirements for network transmissions. The network bandwidth (especially the wireless bandwidth) is affected by various factors such as the cell in which the game terminal is located, the location in the cell, the number of users accessing the same cell, etc. Once the network bandwidth changes, the transmission of the audio and video stream generated after the cloud game is rendered is affected, and the experience of the user at the game terminal is further affected.
To overcome the adverse effects due to the variation in network bandwidth. In the prior art, the coding format of the audio and video stream output by the game server is manually adjusted by a user according to subjective feeling, so that the transmission requirement of the audio and video stream can be matched with the network bandwidth. However, the method cannot predict the network bandwidth, and only can passively adjust according to the existing network bandwidth, so that the user experience is affected.
Disclosure of Invention
The embodiment of the invention provides a method and a device for determining a coding format and a method for realizing a cloud game, which are used for solving the defect that the prediction of network bandwidth can not be realized in the prior art and the coding format can only be passively regulated according to the existing network bandwidth.
An embodiment of a first aspect of the present invention provides a method for determining a coding format, including:
determining the buffer condition and the channel quality condition of the terminal in the current period;
determining the number of concurrent users of an intermediate communication node which is in communication connection with the terminal and is in a server communication range in the current period;
determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period;
and determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period.
In the above technical solution, determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period includes:
calculating the communication rate of the intermediate communication node available in the current period according to the buffer condition of the terminal in the current period, the channel quality condition, the number of concurrent users of the intermediate communication node in the current period and the maximum available rate of the intermediate communication node known in advance;
according to the communication rate measured by the terminal in the previous period, the communication rate of the intermediate communication node available by the terminal in the current period, the buffer condition of the terminal in the current period, the period length and the adjustment parameter, the predicted maximum available communication rate of the terminal in the current period is predicted; wherein,,
the adjustment parameter is determined according to the communication rate of the intermediate communication node available to the terminal in the previous period, the buffer condition of the terminal in the previous period and the communication rate measured by the terminal in one period before the previous period.
In the above technical solution, the determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period includes:
when the code rate of the first coding format is closest to and not greater than the predicted maximum available communication rate of the terminal in the current period, the first coding format is determined as the coding format adopted by the video stream.
An embodiment of a second aspect of the present invention provides a method for implementing a cloud game, including:
and determining the coding format adopted by the game according to the coding format determining method, rendering the game according to the adopted coding format, and coding to generate game audio/video stream data.
In the above technical solution, further includes:
when the predicted maximum available communication rate of the game terminal in the current period cannot match the coding format of the minimum code rate, sending an instruction for switching to local rendering to the game terminal, and sending the latest increment progress of the game to the game terminal, so that the game terminal recovers the local game context according to the received latest increment progress of the game, and performing game rendering at the game terminal.
In the above technical solution, before sending an instruction for switching to local rendering to the game terminal, the method further includes:
static information of the game and incremental progress information of the game are pushed to the game terminal.
In the above technical solution, after sending an instruction for switching to local rendering to the game terminal, the method further includes:
when the communication rate of the game terminal in the current period can be matched with the coding format of the minimum code rate, sending an instruction for switching to cloud rendering to the game terminal; the cloud rendering is game rendering at the server side.
An embodiment of a third aspect of the present invention provides a coding format determining apparatus, including:
the terminal data determining module is used for determining the buffer condition and the channel quality condition of the terminal in the current period;
the middle communication node data determining module is used for determining the number of concurrent users of the middle communication node in the current period, which is in communication connection with the terminal and is in the communication range of the server;
the maximum available communication rate determining module is used for determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period;
and the coding format determining module is used for determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period.
An embodiment of a fourth aspect of the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements a method for determining an encoding format according to an embodiment of the first aspect of the present invention or implements steps of a method for implementing a cloud game according to an embodiment of the second aspect of the present invention when the processor executes the program.
An embodiment of a fifth aspect of the present invention provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements a method for determining an encoding format according to an embodiment of the first aspect of the present invention, or implements steps of a method for implementing a cloud game according to an embodiment of the second aspect of the present invention.
The method and the device for determining the coding format and the method for realizing the cloud game provided by the embodiment of the invention can predict the maximum available communication rate of the terminal according to the communication resources provided by the intermediate communication node and the buffer condition of the terminal, thereby automatically adjusting the coding format and improving the user experience.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions of the prior art, the following description will briefly explain the drawings used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a method for determining a coding format according to an embodiment of the present invention
Fig. 2 is a schematic diagram of a coding format determining apparatus according to an embodiment of the present invention;
fig. 3 is a schematic physical structure of an electronic device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The method for determining the coding format provided by the embodiment of the invention can be applied to a plurality of fields such as cloud games, video or audio network transmission services and the like.
In the following embodiments, a method for determining a coding format provided in the embodiments of the present invention will be described by taking a cloud game as an example. For ease of understanding, a network architecture of the cloud game will be first described.
The running of the cloud game requires the cooperative cooperation of the server side and the game terminal. The server side generates game images through rendering, codes the game images into audio and video streams in real time, and transmits the audio and video streams to the game terminal through a network. And the game terminal receives and decodes the audio and video stream and runs the game. The process of completing rendering and generating game images at the server side is also called cloud rendering.
The server side can be a single game server or a plurality of game servers. For cloud games with wide user distribution range and high delay requirement, the server side generally comprises a plurality of game servers, wherein one game server is a main game server, and the rest of game servers are deployed as game server agents in places close to end users. For example, in a 5G network environment, a game server proxy may be deployed on MEC (Mobile Edge Computing ) nodes, which can greatly reduce end-to-end network latency.
Whether the game server is the master game server or the game server agent, there is no substantial difference in implementing the method provided by the embodiment of the present invention, so in the embodiment of the present invention, both the master game server and the game server agent are collectively referred to as a server side.
The game terminal refers to a terminal device capable of receiving a game audio and video stream and running a game. Gaming machines, computers, smart phones, etc. may be used as gaming terminals.
The network communication between the server and the game terminal generally needs an intermediate communication node, which may be a base station in the wireless communication field and a router in the wired communication field.
At present, the server side is limited by network bandwidth when sending the audio and video stream generated after rendering to the game terminal. In the prior art, a method for manually adjusting a game audio and video stream coding mode according to subjective feeling cannot predict network bandwidth, and only can passively adjust according to the existing network bandwidth, so that user experience is affected. In addition, when the user is forced to use the low-quality cloud game image by the network bandwidth, the improvement situation of the network bandwidth cannot be perceived immediately, and often, the situation that the network bandwidth is increased but the user still uses the low-quality cloud game image occurs. In addition, once network bandwidth is deteriorated, the extreme situation that the game audio/video stream generated by cloud rendering cannot be transmitted in real time is solved, and the method for manually adjusting the encoding mode of the game audio/video stream by a user in the prior art is also inapplicable.
To this end, an embodiment of the present invention provides a method for determining an encoding format, and fig. 1 is a flowchart of the method for determining an encoding format provided in the embodiment of the present invention, as shown in fig. 1, where the method is applied to a server side, and includes:
and step 101, determining the buffer condition and the channel quality condition of the game terminal in the current period.
The period is one time length unit set in the embodiment of the present invention. A plurality of operations such as determining the buffering condition of the game terminal, determining the channel quality condition of the game terminal, and determining the number of concurrent users of the intermediate communication node, predicting the maximum available communication rate of the game terminal, etc. involved in this step, are required to be completed within one cycle. In the embodiment of the present invention, the period is in the order of seconds, such as 2 seconds, and in other embodiments of the present invention, the specific value of the period may be other possible.
The buffer status of the game terminal reflects the amount of the audio and video data of the game pre-stored by the game terminal, and is specifically defined as the accumulated buffer time (in seconds) in the period. The buffering condition of the game terminal in the current period is the accumulated buffering time of the game terminal in the current period.
The buffer status of the game terminal can be obtained directly from the game terminal by the server side.
The channel quality condition of the game terminal reflects the channel quality of the game terminal, and the channel quality is described by using channel quality indication (CQI, channel quality indication) in the embodiment of the invention. The CQI value range may be different according to different communication protocols, in the embodiment of the present invention, the CQI value range is set to 0-15, and in other embodiments of the present invention, the CQI value range may have other options, such as 0-31. Regardless of the range of CQI values, a larger CQI value indicates a higher modem efficiency under the same communication protocol.
According to the common general knowledge of the person skilled in the art, after the terminal device with the network communication function generates the channel quality indication, the channel quality indication is periodically reported to the intermediate communication node (such as the base station), and the intermediate communication node selects a modulation-demodulation mode according to the channel quality indication, so as to determine the available communication rate of the terminal device. In the embodiment of the invention, the game terminal can also periodically report the channel quality indication of the game terminal to the intermediate communication node, and the server side can acquire the channel quality indication of the game terminal from the intermediate communication node, for example, the server side is provided with an interface for acquiring the channel quality indication.
The channel quality condition of the game terminal is changed in real time, so that the channel quality condition of the game terminal is periodically acquired. The channel quality condition of the game terminal in the current period is the channel quality condition of the game terminal determined in the current period.
Step 102, determining the number of concurrent users in the current period of the intermediate communication nodes which are in communication connection with the game terminal and are in the communication range of the game server.
It is obvious that the intermediate communication node mentioned in the embodiments of the present invention refers to an intermediate communication node having a direct communication connection with a game terminal and being within a communication range of a cloud game server, such as a base station having a direct communication connection with a smart phone running a cloud game and being within a communication range of a cloud game server.
Users accessing the intermediate communication node are not necessarily all executing the service, and thus the concurrent user number of the intermediate communication node is obtained in the embodiment of the present invention. The number of concurrent users refers to the number of users who perform services using bandwidth simultaneously.
The number of concurrent users of the intermediate communication node is changed in real time, so that the number of concurrent users of the intermediate communication node needs to be periodically acquired. The number of the concurrent users of the intermediate communication node in the current period is the number of the concurrent users of the intermediate communication node acquired in the current period.
Step 103, determining the predicted maximum available communication rate of the game terminal in the current period.
The maximum available communication rate of the gaming terminal reflects the maximum potential of the gaming terminal in receiving data. The determining of the predicted maximum available communication rate of the gaming terminal at the current period specifically includes:
step 1031, calculating the communication rate of the intermediate communication node available to the game terminal in the current period.
The game terminal acquires data through communication with the intermediate communication node, and thus the communication rate of the intermediate communication node may have an influence on the communication capability of the game terminal. In this step, the available communication rate that the intermediate communication node can theoretically provide for the game terminal in the current period is calculated.
When calculating the communication rate, the communication rate is calculated according to the maximum available rate of the intermediate communication node, the number of concurrent users of the intermediate communication node in the current period, the coding efficiency corresponding to the channel quality indication in the current period and the coding efficiency corresponding to the optimal channel quality indication.
The communication rate of the intermediate communication node available to the game terminal in the current period is recorded as AvailB i The corresponding calculation formula is:
AvailB i = (maximum available rate of intermediate communication node)/(number of concurrent users of intermediate communication node in current period) × (coding efficiency corresponding to channel quality indication of current period/coding efficiency corresponding to best channel quality indication).
Wherein the maximum available rate of the intermediate communication node is based on the calculated maximum communication rate that the intermediate communication node can provide in the optimal case of a single user. This value is a theoretical value, the size of which is fixed and can be obtained by common knowledge of a person skilled in the art.
The number of concurrent users of the intermediate communication node in the current period is already obtained in the previous step.
The channel quality indication of the gaming terminal at the current period has been obtained in a previous step. The best channel quality indication refers to the highest CQI value, and if the CQI value ranges from 0 to 15, then the best channel quality indication is the CQI value of 15.
The coding efficiency corresponding to the channel quality indication of the game terminal in the current period and the coding efficiency corresponding to the optimal channel quality indication can be obtained according to the table related to the channel quality indication inquiry.
The coding efficiency corresponding to the channel quality indication is shown in table 1 below:
TABLE 1
Figure BDA0002488206150000081
Step 1032, determining a predicted maximum available communication rate for the gaming terminal at the current period.
After the communication rate of the intermediate communication node available in the current period of the game terminal is calculated, according to the value and combining the communication rate measured by the game terminal in the previous period, the buffer time of the game terminal in the current period, the period length and the adjustment parameter, the predicted maximum available communication rate of the game terminal in the current period can be calculated.
The specific calculation formula is as follows:
predicted maximum available communication rate B of game terminal in current period i =B i-1 +α*(AvailB i –B i-1 )–2*α*(Bft i /T–0.01)*B i-1
Wherein B is i-1 The communication rate obtained by measuring the previous period for the game terminal; availB i The communication rate of the intermediate communication node available to the gaming terminal in the current period; bft i The buffer time of the game terminal in the current period is set; t represents the period length, defined as 2 seconds in the present embodiment; alpha is an adjustment parameter, and the calculation formula is:
α=(B i-1 –B i-2 )/(AvailB i-1 –(2*Bft i-1 /T+0.98)*B i-2 )。
Wherein AvailB i-1 Communication rate for the intermediate communication node available to the gaming terminal in the previous period; bft i-1 Buffer time of the game terminal in the previous period; b (B) i-2 The resulting communication rate is measured for a period preceding the previous period for the gaming terminal.
The initial value of alpha can be set to 0.25, and can be calculated according to the last result and a formula.
At the time of initial calculation, B 0 Can take the value of AbailB obtained by calculation 0 Is a value of (2).
Step 104, determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the game terminal in the current period.
After the predicted maximum available communication rate of the game terminal in the current period is calculated, a proper coding format can be selected according to the predicted value. The specific selection principle is as follows:
when the code rate of the first coding format is closest to and not greater than the predicted maximum available communication rate of the game terminal in the current period, the first coding format is determined as the coding format adopted by the video stream.
The table of relevant parameters for the encoding format is listed in table 2 below. It will be appreciated by those skilled in the art that the table is for exemplary purposes only and that the encoding format is not limited to the contents of the table in actual use.
TABLE 2
Code rate (Mbps) Resolution ratio Frame rate
0.6 480 25
1.4 720 25
4 1080 25
40 4K 50
The above is a description of the basic steps of the determination method of the coding format provided by the embodiment of the present invention. It should be appreciated by those skilled in the art that although in the above embodiments, the cloud game is taken as an example and described correspondingly. The method for determining the coding format provided by the embodiment of the invention is also applicable to other fields such as video or audio network transmission service.
The method for determining the coding format provided by the embodiment of the invention can predict the maximum available communication rate of the terminal according to the communication resources provided by the intermediate communication node and the buffer condition of the terminal, thereby automatically adjusting the coding format and improving the user experience.
Based on any one of the foregoing embodiments, an embodiment of the present invention provides a method for implementing a cloud game, including:
and determining the coding format adopted by the game according to the coding format determining method, rendering the game according to the adopted coding format, and coding to generate game audio/video stream data.
In the previous embodiments of the present invention, details of how to determine the encoding format employed by the game have been described in connection with the context of cloud gaming. In the embodiment of the invention, once the coding format adopted by the game is determined, the game can be rendered according to the coding format and the audio-video stream data of the game can be generated by coding. The generated game audio and video stream data can be pushed to the game terminal and played at the game terminal.
The implementation method of the cloud game provided by the embodiment of the invention can predict the maximum available communication rate of the game terminal according to the communication resources provided by the intermediate communication node and the buffer condition of the terminal, thereby automatically adjusting the coding format and improving the game experience of the user.
Based on any one of the foregoing embodiments, in an embodiment of the present invention, the method for implementing a cloud game further includes:
when the predicted maximum available communication rate of the game terminal in the current period cannot match the coding format of the minimum code rate, sending an instruction for switching to local rendering to the game terminal, and sending the latest increment progress of the game to the game terminal, so that the game terminal recovers the local game context according to the received latest increment progress of the game, and performing game rendering at the game terminal.
In the previous embodiment of the present invention, a scenario has been described in which the encoding format is selected according to the predicted maximum available communication rate of the game terminal at the current period. In practical application, there are situations that the predicted maximum available communication rate of the game terminal in the current period is very small, and even the coding format requirement of the minimum code rate cannot be met. In the embodiment of the invention, for the situation, the cloud rendering is converted into the local rendering, so that the continuous running of the game is ensured.
Converting cloud rendering to local rendering requires certain preset conditions, including that the configuration of the gaming terminal can meet the requirements of local rendering, and the gaming terminal has completed playing static data (e.g., a game map) and incremental game progress information before doing the local rendering. In the embodiment of the present invention, it is assumed that the above-mentioned preset conditions are all satisfied.
In order to avoid frequent transitions between the cloud rendering mode and the local rendering mode, in the embodiment of the present invention, the switching operation is triggered not immediately upon calculating that the predicted maximum available communication rate of the game terminal cannot match the encoding format of the minimum code rate, but after a plurality of consecutive occurrences (e.g., 3 consecutive cycles, each cycle being 2 seconds).
Once the switching is successful, the server side does not perform video rendering any more, and only performs operations with lower bandwidth requirements, such as receiving instructions, pushing instructions and the like.
According to the implementation method of the cloud game, after the fact that the predicted maximum available communication rate of the game terminal cannot meet the requirement of the coding format of the minimum code rate is determined, the rendering operation is switched from the cloud rendering mode to the local rendering mode, and normal running of the game at the game terminal is guaranteed.
Based on any of the foregoing embodiments, in an embodiment of the present invention, before sending an instruction to switch to local rendering to a game terminal, the method for implementing a cloud game further includes:
static information of the game and incremental progress information of the game are pushed to the game terminal.
Some underlying information, such as game maps, is needed for the game to implement local rendering. It is therefore necessary to push static information of a game to a game terminal before switching cloud rendering to local rendering. To avoid affecting the game being cloud-rendered, static information of the game may be pushed periodically. This period may not coincide with the period when the maximum available communication rate of the game terminal was previously predicted, as in the embodiment of the present invention, the period of pushing the game static information is set to 5 seconds.
During the course of the game, data relating to the progress of the game is continuously generated, and these data are referred to as incremental progress information of the game. The game increment progress information needs to be periodically pushed to the game terminal, and once cloud rendering is switched to local rendering, the game terminal can restore the local game context according to the latest increment progress of the game and perform rendering locally. Wherein the period of the pushed game delta progress information may not coincide with the period when the maximum available communication rate of the game terminal was previously predicted, as in the embodiment of the present invention, the period of the pushed game delta progress information is set to 5 seconds.
According to the implementation method of the cloud game, provided by the embodiment of the invention, before the cloud rendering is switched to the local rendering, static information of the game and incremental progress information of the game are pushed to the game terminal in advance, so that necessary conditions are provided for the game terminal to realize the local rendering, and normal running of the game at the game terminal is ensured.
Based on any one of the foregoing embodiments, in an embodiment of the present invention, the method for implementing a cloud game further includes:
when the communication rate of the game terminal in the current period can be matched with the coding format of the minimum code rate, sending an instruction for switching to cloud rendering to the game terminal, so that the game terminal stops rendering locally.
After the rendering mode of the cloud game is switched from the cloud rendering to the local rendering, the communication rate of the game terminal in the current period is measured, and when the measured communication rate of the game terminal in the current period can be matched with the coding format of the minimum code rate, the rendering mode of the cloud game is switched from the local rendering mode to the cloud rendering mode again.
In order to avoid frequent conversion between the cloud rendering mode and the local rendering mode, in the embodiment of the present invention, the switching operation is triggered not immediately after the measured communication rate of the game terminal in the current period can match the coding format of the minimum code rate, but after a plurality of consecutive occurrences (for example, 5 consecutive periods, each period being 2 seconds).
According to the implementation method of the cloud game, after the measured communication rate of the game terminal can be matched with the coding format of the minimum code rate, the rendering operation is switched from the local rendering mode to the cloud rendering mode, and the burden of the game terminal can be reduced.
Based on any of the foregoing embodiments, fig. 2 is a schematic diagram of a coding format determining apparatus according to an embodiment of the present invention, where, as shown in fig. 2, the coding format determining apparatus according to the embodiment of the present invention includes:
a terminal data determining module 201, configured to determine a buffer condition and a channel quality condition of a terminal in a current period;
an intermediate communication node data determining module 202, configured to determine a number of concurrent users of an intermediate communication node in a current period, where the number of concurrent users is in communication connection with the terminal and is within a server communication range;
a maximum available communication rate determining module 203, configured to determine a predicted maximum available communication rate of the terminal in the current period according to a buffering condition of the terminal in the current period, a channel quality condition, and a number of concurrent users of the intermediate communication node in the current period;
the coding format determining module 204 is configured to determine a coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period.
The device for determining the coding format provided by the embodiment of the invention can predict the maximum available communication rate of the terminal according to the communication resources provided by the intermediate communication node and the buffer condition of the terminal, thereby automatically adjusting the coding format and improving the user experience.
Fig. 3 is a schematic physical structure of an electronic device according to an embodiment of the present invention, and as shown in fig. 3, the electronic device may include: processor 310, communication interface (Communications Interface) 320, memory 330 and communication bus 340, wherein processor 310, communication interface 320, memory 330 accomplish communication with each other through communication bus 340. The processor 310 may call logic instructions in the memory 330 to perform the following method: determining the buffer condition and the channel quality condition of the terminal in the current period; determining the number of concurrent users of an intermediate communication node which is in communication connection with the terminal and is in a server communication range in the current period; determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period; and determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period. Or performing the following method: and determining the coding format adopted by the game according to the determining method of the coding format, rendering the game according to the adopted coding format, and coding to generate game audio/video stream data.
It should be noted that, in this embodiment, the electronic device may be a server, a PC, or other devices in the specific implementation, so long as the structure of the electronic device includes the processor 310, the communication interface 320, the memory 330, and the communication bus 340 as shown in fig. 3, where the processor 310, the communication interface 320, and the memory 330 perform communication with each other through the communication bus 340, and the processor 310 may call logic instructions in the memory 330 to execute the above method. The embodiment does not limit a specific implementation form of the electronic device.
Further, the logic instructions in the memory 330 described above may be implemented in the form of software functional units and may be stored in a computer-readable storage medium when sold or used as a stand-alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Further, embodiments of the present invention disclose a computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions which, when executed by a computer, enable the computer to perform the methods provided by the above-described method embodiments, for example comprising: determining the buffer condition and the channel quality condition of the terminal in the current period; determining the number of concurrent users of an intermediate communication node which is in communication connection with the terminal and is in a server communication range in the current period; determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period; and determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period. Or for example, include: and determining the coding format adopted by the game according to the determining method of the coding format, rendering the game according to the adopted coding format, and coding to generate game audio/video stream data.
In another aspect, embodiments of the present invention also provide a non-transitory computer readable storage medium having stored thereon a computer program, which when executed by a processor is implemented to perform the method provided in the above embodiments, for example, including: determining the buffer condition and the channel quality condition of the terminal in the current period; determining the number of concurrent users of an intermediate communication node which is in communication connection with the terminal and is in a server communication range in the current period; determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period; and determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period. Or for example, include: and determining the coding format adopted by the game according to the determining method of the coding format, rendering the game according to the adopted coding format, and coding to generate game audio/video stream data.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (10)

1. A method for determining a coding format, comprising:
determining the buffer condition and the channel quality condition of the terminal in the current period;
determining the number of concurrent users of an intermediate communication node which is in communication connection with the terminal and is in a server communication range in the current period;
determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period;
and determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period.
2. The method for determining an encoding format according to claim 1, wherein determining the predicted maximum available communication rate of the terminal in the current period according to the buffer status of the terminal in the current period, the channel quality status, and the number of concurrent users of the intermediate communication node in the current period comprises:
calculating the communication rate of the intermediate communication node available in the current period according to the buffer condition of the terminal in the current period, the channel quality condition, the number of concurrent users of the intermediate communication node in the current period and the maximum available rate of the intermediate communication node known in advance;
according to the communication rate measured by the terminal in the previous period, the communication rate of the intermediate communication node available by the terminal in the current period, the buffer condition of the terminal in the current period, the period length and the adjustment parameter, the predicted maximum available communication rate of the terminal in the current period is predicted; wherein,,
the adjustment parameter is determined according to the communication rate of the intermediate communication node available to the terminal in the previous period, the buffer condition of the terminal in the previous period and the communication rate measured by the terminal in one period before the previous period.
3. The method for determining a coding format according to claim 1, wherein the determining a coding format used for the video stream according to the predicted maximum available communication rate of the terminal at the current period comprises:
when the code rate of the first coding format is closest to and not greater than the predicted maximum available communication rate of the terminal in the current period, the first coding format is determined as the coding format adopted by the video stream.
4. A method for implementing a cloud game, comprising:
a method of determining a coding format according to any one of claims 1 to 3, wherein the coding format used for the game is determined, and the game is rendered and encoded to generate the game audio-video stream data according to the employed coding format.
5. The method for implementing a cloud game as recited in claim 4, further comprising:
when the predicted maximum available communication rate of the game terminal in the current period cannot match the coding format of the minimum code rate, sending an instruction for switching to local rendering to the game terminal, and sending the latest increment progress of the game to the game terminal, so that the game terminal recovers the local game context according to the received latest increment progress of the game, and performing game rendering at the game terminal.
6. The method for implementing a cloud game according to claim 5, further comprising, before sending an instruction to switch to local rendering to the game terminal:
static information of the game and incremental progress information of the game are pushed to the game terminal.
7. The method according to claim 5, further comprising, after sending an instruction to switch to local rendering to the game terminal:
when the communication rate of the game terminal in the current period can be matched with the coding format of the minimum code rate, sending an instruction for switching to cloud rendering to the game terminal; the cloud rendering is game rendering at the server side.
8. A coding format determining apparatus, comprising:
the terminal data determining module is used for determining the buffer condition and the channel quality condition of the terminal in the current period;
the middle communication node data determining module is used for determining the number of concurrent users of the middle communication node in the current period, which is in communication connection with the terminal and is in the communication range of the server;
the maximum available communication rate determining module is used for determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition and the channel quality condition of the terminal in the current period and the number of concurrent users of the intermediate communication node in the current period;
and the coding format determining module is used for determining the coding format adopted by the video stream according to the predicted maximum available communication rate of the terminal in the current period.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method of determining the encoding format according to any of claims 1 to 3 or the steps of the method of implementing the cloud game according to any of claims 4 to 7 when executing the program.
10. A non-transitory computer readable storage medium having stored thereon a computer program, characterized in that the computer program, when executed by a processor, implements the method of determining an encoding format according to any of claims 1 to 3 or the steps of the method of implementing a cloud game according to any of claims 4 to 7.
CN202010397724.XA 2020-05-12 2020-05-12 Method and device for determining coding format and method for realizing cloud game Active CN111617466B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010397724.XA CN111617466B (en) 2020-05-12 2020-05-12 Method and device for determining coding format and method for realizing cloud game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010397724.XA CN111617466B (en) 2020-05-12 2020-05-12 Method and device for determining coding format and method for realizing cloud game

Publications (2)

Publication Number Publication Date
CN111617466A CN111617466A (en) 2020-09-04
CN111617466B true CN111617466B (en) 2023-04-28

Family

ID=72255037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010397724.XA Active CN111617466B (en) 2020-05-12 2020-05-12 Method and device for determining coding format and method for realizing cloud game

Country Status (1)

Country Link
CN (1) CN111617466B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113543262B (en) * 2021-06-07 2023-06-16 中国联合网络通信集团有限公司 Method and device for reducing cloud game network time delay
WO2023151030A1 (en) * 2022-02-11 2023-08-17 Huizhou Tcl Mobile Communication Co., Ltd. Base station, user equipment, and wireless communication method for extended reality traffic
CN115022629B (en) * 2022-08-08 2022-11-18 海马云(天津)信息技术有限公司 Method and device for determining optimal coding mode of cloud game video

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905836A (en) * 2012-12-27 2014-07-02 辉达公司 Network adaptive latency reduction through frame rate control
CN110180166A (en) * 2019-07-16 2019-08-30 南昌黑鲨科技有限公司 Control system and method based on cloud game scene

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9077991B2 (en) * 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US8711923B2 (en) * 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
JP2006217173A (en) * 2005-02-02 2006-08-17 Matsushita Electric Ind Co Ltd Base station device and resource allocating method
CN101222296B (en) * 2008-01-31 2010-06-09 上海交通大学 Self-adapting transmission method and system in ascending honeycomb video communication
CN101510998B (en) * 2009-02-24 2010-12-01 山东大学 Self-adapting flow control method for data transmission of wireless video monitoring system
JP6120260B2 (en) * 2012-07-02 2017-04-26 株式会社コナミデジタルエンタテインメント Communication destination determination device, game system, communication destination determination method, communication destination determination program
US20140281023A1 (en) * 2013-03-18 2014-09-18 Nvidia Corporation Quality of service management server and method of managing quality of service
CN103338393A (en) * 2013-06-13 2013-10-02 西安交通大学 Video code rate selecting method driven by user experience under HSPA system
KR20150085376A (en) * 2014-01-15 2015-07-23 한국전자통신연구원 Load balancing system for rendering service over cloud gaming environment and load balancing method thereof
US9694281B2 (en) * 2014-06-30 2017-07-04 Microsoft Technology Licensing, Llc Data center management of multimode servers
CN104598292B (en) * 2014-12-15 2017-10-03 中山大学 A kind of self adaptation stream adaptation and method for optimizing resources applied to cloud game system
CN104618690B (en) * 2015-01-29 2018-01-05 广东迅通科技股份有限公司 A kind of method and system of HD video real-time VOD and history playback
CN104661050B (en) * 2015-02-13 2018-05-01 海信集团有限公司 A kind of streaming media data transmission method, apparatus and system
CN106686409B (en) * 2015-11-09 2020-06-09 中国移动通信集团公司 Streaming media code rate self-adaption method and device, server and terminal
US10332534B2 (en) * 2016-01-07 2019-06-25 Microsoft Technology Licensing, Llc Encoding an audio stream
CN107509120A (en) * 2017-09-15 2017-12-22 上饶市中科院云计算中心大数据研究院 A kind of streaming media self-adapting transmission method based on buffer underflow probability Estimation
CN108079578B (en) * 2017-10-26 2020-12-01 咪咕互动娱乐有限公司 Code rate adjusting method and device based on cloud game and storage medium
CN109040855B (en) * 2018-09-03 2021-01-29 重庆邮电大学 Wireless DASH streaming media code rate smooth self-adaptive transmission method
CN110996125B (en) * 2019-11-18 2021-08-17 腾讯科技(深圳)有限公司 Video stream generation method and device, electronic equipment and storage medium
CN114449282B (en) * 2019-12-26 2023-05-23 腾讯科技(深圳)有限公司 Video transmission control method and device, equipment and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905836A (en) * 2012-12-27 2014-07-02 辉达公司 Network adaptive latency reduction through frame rate control
CN110180166A (en) * 2019-07-16 2019-08-30 南昌黑鲨科技有限公司 Control system and method based on cloud game scene

Also Published As

Publication number Publication date
CN111617466A (en) 2020-09-04

Similar Documents

Publication Publication Date Title
CN111617466B (en) Method and device for determining coding format and method for realizing cloud game
CN107683600B (en) System and method for managing ABR bit rate delivery in response to video buffer characteristics of a client
Xu et al. PROTEUS: network performance forecast for real-time, interactive mobile applications
CA2617893C (en) Video communication quality estimation device, method, and program
CN111147893B (en) Video self-adaption method, related equipment and storage medium
US20080225750A1 (en) Method of transmitting data in a communication system
JP5673538B2 (en) Distribution system
CN107135411B (en) Method for adjusting video code rate and electronic equipment
WO2014046610A1 (en) A circuit arrangement and method of determining a priority of packet scheduling
JP2001094625A (en) Data communication unit, data communication method and storage medium
WO2021164670A1 (en) Video coding method and apparatus, device, and storage medium
CN113891175B (en) Live broadcast push flow method, device and system
Nguyen et al. A client-based adaptation framework for 360-degree video streaming
JP2020053760A (en) Information processing system, terminal device and program
Liang et al. Balancing interruption frequency and buffering penalties in VBR video streaming
CN112866746A (en) Multi-path streaming cloud game control method, device, equipment and storage medium
Qi et al. LBVC: towards low-bandwidth video chat on smartphones
CN115278289B (en) Cloud application rendering video frame processing method and device
CN104427383A (en) Information processing method and electronic equipment
Kleinrouweler et al. Improving mobile video quality through predictive channel quality based buffering
JP2005354351A (en) Communication terminal device for multi-point communication and delay synchronization control method
CN113453081A (en) Video transmission method, system, related equipment and storage medium
JP2007258919A (en) Video quality estimate apparatus and video quality estimate method
Moldovan et al. Energy-efficient adaptation logic for http streaming in mobile networks
US20230371060A1 (en) Resource scheduling method and apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant