CN111617466A - 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
CN111617466A
CN111617466A CN202010397724.XA CN202010397724A CN111617466A CN 111617466 A CN111617466 A CN 111617466A CN 202010397724 A CN202010397724 A CN 202010397724A CN 111617466 A CN111617466 A CN 111617466A
Authority
CN
China
Prior art keywords
terminal
game
current period
determining
maximum available
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.)
Granted
Application number
CN202010397724.XA
Other languages
Chinese (zh)
Other versions
CN111617466B (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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture Technology 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group 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; the method comprises 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 the communication range of the server in the current period; determining the predicted maximum available communication rate of the terminal in the current period according to the buffering 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 which can be provided by the intermediate communication node and the buffering 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 invention relates to the technical field of communication, in particular to a method and a device for determining a coding format and a method for realizing a cloud game.
Background
Cloud gaming (Cloud gaming) is an online gaming technology based on Cloud computing and efficient video encoding and decoding technology. In a cloud game scene, a game runs in a cloud server, the server generates a game image through rendering, the game image is coded into audio and video streams in real time, and then the audio and video streams are transmitted to a game terminal of a player through a network. The player game terminal can run the game only by having basic audio and video stream decoding capability. 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 compared to traditional games is that: rendering work of the traditional game is completely finished by the game terminal, and the requirement on the performance of the game terminal is high; and the rendering work of the cloud game is completed by the game server, so that the requirement on the performance of the game terminal is low.
Cloud gaming inherently reduces performance requirements for gaming terminals, but also increases 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 position in the cell, the number of users accessing the same cell, etc. Once the network bandwidth changes, transmission of audio and video streams generated after cloud game rendering is affected, and further, experience of a user at a game terminal is affected.
In order to overcome the adverse effects due to the variation in network bandwidth. In the prior art, generally, a user manually adjusts a coding format of an audio/video stream output by a game server according to subjective feeling, so that a transmission requirement of the audio/video stream can be matched with a network bandwidth. However, the method cannot predict the network bandwidth, and only can passively adjust the network bandwidth according to the existing network bandwidth, thereby affecting the user experience.
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 defects that the prediction of network bandwidth cannot be realized and the coding format can only be passively adjusted according to the existing network bandwidth in the prior art.
An embodiment of a first aspect of the present invention provides a method for determining an encoding 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 the communication range of the server in the current period;
determining the predicted maximum available communication rate of the terminal in the current period according to the buffering 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, the determining the predicted maximum available communication rate of the terminal in the current period according to the buffer condition of the terminal in the current period, the channel quality condition, 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 for the terminal 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;
predicting the predicted maximum available communication rate of the terminal in the current period according to the communication rate measured by the terminal in the previous period, the available intermediate communication node communication rate of the terminal in the current period, the buffer condition of the terminal in the current period, the period length and the adjustment parameter; wherein the content of the first and second substances,
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 a period before the previous period.
In the above technical solution, the determining, according to the predicted maximum available communication rate of the terminal in the current period, the encoding format adopted by the video stream includes:
and 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, determining the first coding format 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 determination method of the coding format, rendering the game according to the adopted coding format and coding to generate game audio and video streaming data.
In the above technical solution, further comprising:
when the predicted maximum available communication rate of the game terminal in the current period cannot match the encoding format of the minimum code rate, an instruction of switching to local rendering is sent to the game terminal, the latest increment progress of the game is sent 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 game rendering is carried out at the game terminal.
In the above technical solution, before sending the instruction to switch to the local rendering to the game terminal, the method further includes:
and pushing the static information of the game and the game increment progress information to the game terminal.
In the above technical solution, after sending the instruction to switch to the local rendering to the game terminal, the method further includes:
when the communication rate of the measured game terminal in the current period can be matched with the encoding format of the minimum code rate, sending an instruction of switching to cloud rendering to the game terminal; wherein the cloud rendering is game rendering at a server side.
An embodiment of a third aspect of the present invention provides an apparatus for determining an encoding format, 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 data determining module of the intermediate communication node is used for determining the number of concurrent users of the intermediate communication node which is in communication connection with the terminal and is in the communication range of the server in the current period;
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.
In a fourth aspect, 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 the method for determining the encoding format according to the first aspect of the present invention, or implements the steps of the method for implementing the cloud game according to the second aspect of the present invention when executing the program.
A fifth aspect embodiment of the present invention provides a non-transitory computer readable storage medium, on which a computer program is stored, which when executed by a processor implements the method for determining the encoding format according to the first aspect embodiment of the present invention, or implements the steps of the method for implementing the cloud game according to the second aspect embodiment of the present invention.
The method and the device for determining the coding format and the method for realizing the cloud game can predict the maximum available communication rate of the terminal according to the communication resources provided by the intermediate communication node and the buffering condition of the terminal, so that the coding format is automatically adjusted, and the user experience is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
FIG. 1 is a flowchart of a method for determining an encoding format according to an embodiment of the present invention
Fig. 2 is a schematic diagram of an apparatus for determining an encoding format according to an embodiment of the present invention;
fig. 3 is a schematic physical structure diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present 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 cloud game is taken as an example to describe a method for determining an encoding format according to an embodiment of the present invention. For ease of understanding, the network architecture of the cloud game will be described first.
The running of the cloud game requires the cooperation of the server and the game terminal. The server side generates game images through rendering, encodes the game images into audio and video streams in real time, and then 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 rendering and generating the game image 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 a cloud game with a 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 game servers are deployed at a place close to the terminal user as game server agents. For example, in a 5G network environment, a game server agent may be deployed on a MEC (Mobile Edge Computing) node, which can greatly reduce end-to-end network latency.
Whether it is the main game server or the game server agent, there is no essential difference in implementing the method provided by the embodiment of the present invention, so in the embodiment of the present invention, the main game server and the game server agent are collectively referred to as a server side.
The game terminal is a terminal device capable of receiving game audio and video streams and running a game. A game machine, a computer, a smart phone, etc. can be used as the game terminal.
The network communication between the server and the game terminal generally requires 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, when a server sends an audio/video stream generated after rendering to a game terminal, the server is limited by network bandwidth. In the prior art, the method for manually adjusting the coding mode of the audio and video stream of the game by the user according to subjective feeling cannot predict the network bandwidth, and only can passively adjust the network bandwidth according to the existing network bandwidth, thereby influencing the user experience. In addition, when a game terminal uses a low-quality cloud game image, a user is forced to sense the improvement condition of the network bandwidth in real time, and the situation that the network bandwidth is increased but the user still uses the low-quality cloud game image often occurs. In addition, once the network bandwidth is deteriorated, the extreme condition that the game audio and video stream generated by cloud rendering cannot be transmitted in real time is generated, and the method for manually adjusting the game audio and video stream coding mode by the user in the prior art cannot be used.
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 by the embodiment of the present invention, as shown in fig. 1, where the method is applied to a server, and includes:
step 101, determining the buffer condition and the channel quality condition of the game terminal in the current period.
The period is a unit of time length set in the embodiment of the present invention. A plurality of operations such as determining the buffer condition of the game terminal, determining the channel quality condition of the game terminal, 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 period. In the embodiment of the present invention, the size of the period is in the order of seconds, such as 2 seconds, and in other embodiments of the present invention, specific values of the period may be other possibilities.
The buffering condition of the game terminal reflects the amount of game audio and video data pre-stored by the game terminal, and is specifically defined as the accumulated buffering time (unit is second) in a 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 buffering condition of the game terminal can be directly obtained 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 in the embodiment of the invention, Channel Quality Indication (CQI) is used for describing the channel quality. The value range of the CQI varies according to different communication protocols, and in the embodiment of the present invention, the value range of the CQI is set to 0 to 15, and in other embodiments of the present invention, the value range of the CQI may have other options, such as 0 to 31. No matter what the value range of the CQI is, under the same communication protocol, the larger the CQI value is, the higher the modulation and demodulation efficiency is.
According to the common knowledge of those skilled in the art, after generating the channel quality indicator, the terminal device with network communication function periodically reports the channel quality indicator to an intermediate communication node (e.g. a base station), and the intermediate communication node selects a modulation and demodulation scheme according to the channel quality indicator, thereby determining the available communication rate of the terminal device. In the embodiment of the present invention, the game terminal may also periodically report its channel quality indication to the intermediate communication node, and the server may obtain the channel quality indication of the game terminal from the intermediate communication node, for example, the server sets an interface for obtaining the channel quality indication.
The channel quality situation of the game terminal is changed in real time, so that the channel quality situation 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.
And 102, determining the number of concurrent users of the intermediate communication nodes which are in communication connection with the game terminal and are in the communication range of the game server in the current period.
Obviously, the intermediate communication node mentioned in the embodiments of the present invention refers to an intermediate communication node that has a direct communication connection with the game terminal and is within a communication range of the cloud game server, such as a base station that has a direct communication connection with a smartphone running a cloud game and is within a communication range of the cloud game server.
The users accessing the intermediate communication node are not necessarily all performing the service, so the concurrent user number of the intermediate communication node is obtained in the embodiment of the invention. The number of the concurrent users refers to the number of users simultaneously using the bandwidth to execute the service.
The number of concurrent users of the intermediate communication node changes 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 obtained 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. Determining the predicted maximum available communication rate of the game terminal in the current period specifically includes:
step 1031, calculating the communication rate of the intermediate communication node available for the game terminal in the current period.
The game terminal acquires data through communication with the intermediate communication node, and therefore the communication rate of the intermediate communication node has 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 needs to be 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.
Recording the communication rate of the intermediate communication node available for the game terminal in the current period as AvailBiThe corresponding calculation formula is:
AvailBithe coding efficiency corresponding to the channel quality indication of the current period/the coding efficiency corresponding to the best channel quality indication.
The maximum available rate of the intermediate communication node is based on the maximum communication rate which can be provided by the intermediate communication node and is calculated under the optimal condition of a single user. This value is a theoretical value, of constant size, and can be obtained by the common general knowledge of a person skilled in the art.
The number of concurrent users in the current cycle is already obtained by the intermediate communication node in the previous step.
The channel quality indication of the game terminal at the current period has been obtained in the previous step. The best channel quality indication refers to the highest CQI value, and if the CQI value range is 0-15, the best channel quality indication refers to 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 best channel quality indication can be obtained by querying the relevant table according to the channel quality indication.
The coding efficiency corresponding to the channel quality indicator is shown in table 1 below:
TABLE 1
Figure BDA0002488206150000081
Step 1032 determines the predicted maximum available communication rate of the gaming terminal during the current period.
After the communication rate of the intermediate communication node available for the game terminal in the current period is obtained through calculation, according to the value and the communication rate measured by the game terminal in the previous period, the buffering time of the game terminal in the current period, the period length and the adjusting 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 periodi=Bi-1+α*(AvailBi–Bi-1)–2*α*(Bfti/T–0.01)*Bi-1
Wherein, Bi-1A communication rate measured for a previous period for the game terminal; AvailBiThe communication rate of the intermediate communication node available for the game terminal in the current period; bftiWhich is the buffering time of the game terminal in the current period, T represents the period length, which is defined as 2 seconds in the embodiment of the present invention, α is the adjustment parameter, which is calculated as:
α=(Bi-1–Bi-2)/(AvailBi-1–(2*Bfti-1/T+0.98)*Bi-2)。
wherein, AvailBi-1An intermediate communication node communication rate available for the game terminal in a previous period; bfti-1A buffer time for the gaming terminal in a previous cycle; b isi-2The communication rate measured for one period before the previous period is the game terminal.
The initial value of alpha may be set to 0.25 and subsequently calculated from the last result in combination with the formula.
At the time of initial calculation, B0Can be calculated as AbailB0The value of (c).
And 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, an appropriate encoding format can be selected according to the predicted value. The specific selection principle is as follows:
and 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, determining the first coding format 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 this table is for exemplary purposes only and that in practice the encoding format is not limited to the contents of this table.
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 method for determining the encoding format according to the embodiment of the present invention. It should be understood by those skilled in the art that although the cloud game is taken as an example in the above embodiments, the corresponding description is made. However, the method for determining the encoding format provided by the embodiment of the invention is also suitable for other fields such as video or audio network transmission service and the like.
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 buffering condition of the terminal, thereby automatically adjusting the coding format and improving the user experience.
Based on any one of the above embodiments, an embodiment of the present invention provides an implementation method of a cloud game, including:
and determining the coding format adopted by the game according to the determination method of the coding format, rendering the game according to the adopted coding format and coding to generate game audio and video streaming data.
In the foregoing embodiments of the present invention, how to determine the encoding format adopted by the game has been described in detail in conjunction with the background of the cloud game. 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 coded to generate the game audio and video streaming data. The generated game audio and video streaming data can be pushed to a 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 buffering condition of the terminal, so that the coding format is automatically adjusted, and the game experience of a user is improved.
Based on any one of the above 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 encoding format of the minimum code rate, an instruction of switching to local rendering is sent to the game terminal, the latest increment progress of the game is sent 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 game rendering is carried out at the game terminal.
In the former embodiment of the present invention, a description has been given of a scenario in which the encoding format is selected in accordance with the predicted maximum available communication rate of the game terminal in the current period. In practical applications, there are situations where the predicted maximum available communication rate of the game terminal in the current period is very small, and even cannot meet the requirement of the minimum code rate encoding format. 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.
Certain preset conditions are required for converting cloud rendering into local rendering, the conditions include that the configuration of a game terminal can meet the requirements of the local rendering, and the game terminal completes game static data (such as a game map) and game increment progress information before the local rendering. In the embodiment of the present invention, it is assumed that the preset conditions are all satisfied.
In order to avoid frequent switching between the cloud rendering mode and the local rendering mode, in the embodiment of the present invention, switching is not performed immediately once the predicted maximum available communication rate calculated to the game terminal cannot match the encoding format with the minimum code rate, but the switching operation is triggered after the situation occurs for a plurality of times (e.g., 3 cycles each for 2 seconds).
Once the switching is successful, the server side does not perform video rendering any more, and only executes operations with lower bandwidth requirements, such as receiving instructions, pushing instructions and the like.
According to the implementation method of the cloud game, provided by the embodiment of the invention, after the predicted maximum available communication rate of the game terminal cannot meet the requirement of the minimum code rate encoding format, the rendering operation is switched from the cloud rendering mode to the local rendering mode, so that the normal operation of the game at the game terminal is ensured.
Based on any of the above 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:
and pushing the static information of the game and the game increment progress information to the game terminal.
The game needs some basic information to implement local rendering, such as static information like a game map. Therefore, before switching cloud rendering to local rendering, static information of the game needs to be pushed to the game terminal. To avoid impacting a game that is being cloud rendered, static information for the game may be pushed periodically. The period may not coincide with the period when the maximum available communication rate of the game terminal is predicted before, as in the embodiment of the present invention, the period for pushing the game static information is set to 5 seconds.
The game will continuously generate data related to the game progress during the running process, and the data is called game increment progress information. The game increment progress information needs to be periodically pushed to the game terminal, once the cloud rendering is switched to the local rendering, the game terminal can restore the local game context according to the latest increment progress of the game and perform the rendering locally. In this case, the period for pushing the game increment progressing information may not coincide with the period when the maximum available communication rate of the game terminal is predicted before, as in the embodiment of the present invention, the period for pushing the game increment progressing 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, the static information of the game and the game increment progress information are pushed to the game terminal in advance, so that necessary conditions are provided for the game terminal to implement the local rendering, and the normal operation of the game at the game terminal is ensured.
Based on any one of the above embodiments, in an embodiment of the present invention, the method for implementing a cloud game further includes:
and when the measured communication rate of the game terminal in the current period can be matched with the encoding format with the minimum code rate, sending an instruction of 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 cloud rendering to 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 encoding format with 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 switching between the cloud rendering mode and the local rendering mode, in the embodiment of the present invention, switching is not performed as soon as the measured communication rate of the game terminal in the current period can match the encoding format with the minimum code rate, but the switching operation is triggered after the situation occurs for a plurality of times (for example, 5 periods in succession, each period being 2 seconds).
According to the implementation method of the cloud game, provided by the embodiment of the invention, after the communication rate of the game terminal obtained through measurement can be matched with the encoding format with the minimum code rate, the rendering operation is switched from the local rendering mode to the cloud rendering mode, so that the burden of the game terminal can be reduced.
Based on any of the above embodiments, fig. 2 is a schematic diagram of a device for determining an encoding format according to an embodiment of the present invention, and as shown in fig. 2, the device for determining an encoding format according to an embodiment of the present invention includes:
a terminal data determining module 201, configured to determine a buffering condition and a channel quality condition of a terminal in a current period;
an intermediate communication node data determining module 202, configured to determine the number of concurrent users of an intermediate communication node in a server communication range and in communication connection with the terminal in a current period;
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 buffer condition and a channel quality condition of the terminal in the current period, and a number of concurrent users of the intermediate communication node in the current period;
and the coding format determining module 204 is configured to determine a coding format used 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 buffering condition of the terminal, thereby automatically adjusting the coding format and improving the user experience.
Fig. 3 is a schematic physical structure diagram of an electronic device according to an embodiment of the present invention, and as shown in fig. 3, the electronic device may include: a processor (processor)310, a communication Interface (communication Interface)320, a memory (memory)330 and a communication bus 340, wherein the processor 310, the communication Interface 320 and the memory 330 communicate with each other via the 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 the communication range of the server in the current period; determining the predicted maximum available communication rate of the terminal in the current period according to the buffering 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: determining the coding format adopted by the game according to the determination method of the coding format, rendering the game according to the adopted coding format and coding to generate game audio and video streaming data.
It should be noted that, when being implemented specifically, the electronic device in this embodiment may be a server, a PC, or other devices, as long as the structure includes the processor 310, the communication interface 320, the memory 330, and the communication bus 340 shown in fig. 3, where the processor 310, the communication interface 320, and the memory 330 complete mutual communication through the communication bus 340, and the processor 310 may call the logic instruction in the memory 330 to execute the above method. The embodiment does not limit the specific implementation form of the electronic device.
In addition, the logic instructions in the memory 330 may be implemented in the form of software functional units and stored in a computer readable storage medium when the software functional units are sold or used as independent products. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute 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), a magnetic disk or an optical disk, and 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, the computer is capable of performing the methods provided by the above-mentioned 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 the communication range of the server in the current period; determining the predicted maximum available communication rate of the terminal in the current period according to the buffering 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: determining the coding format adopted by the game according to the determination method of the coding format, rendering the game according to the adopted coding format and coding to generate game audio and video streaming data.
In another aspect, an embodiment of the present invention further provides a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program is implemented by a processor to perform the method provided by the foregoing 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 the communication range of the server in the current period; determining the predicted maximum available communication rate of the terminal in the current period according to the buffering 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: determining the coding format adopted by the game according to the determination method of the coding format, rendering the game according to the adopted coding format and coding to generate game audio and video streaming data.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present 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 solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A method for determining an encoding 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 the communication range of the server in the current period;
determining the predicted maximum available communication rate of the terminal in the current period according to the buffering 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 the encoding format according to claim 1, wherein the determining the predicted maximum available communication rate of the terminal in the current period according to the buffering condition of the terminal in the current period, the channel quality condition 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 for the terminal 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;
predicting the predicted maximum available communication rate of the terminal in the current period according to the communication rate measured by the terminal in the previous period, the available intermediate communication node communication rate of the terminal in the current period, the buffer condition of the terminal in the current period, the period length and the adjustment parameter; wherein the content of the first and second substances,
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 a period before the previous period.
3. The method according to claim 1, wherein determining the encoding format used by the video stream according to the predicted maximum available communication rate of the terminal in the current period comprises:
and 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, determining the first coding format as the coding format adopted by the video stream.
4. A cloud game implementation method is characterized by comprising the following steps:
the method for determining the coding format according to any one of claims 1 to 3 determines the coding format adopted by the game, and renders the game according to the adopted coding format and codes the game audio and video stream data to generate the game audio and video stream data.
5. The implementation method of the cloud game according to claim 4, further comprising:
when the predicted maximum available communication rate of the game terminal in the current period cannot match the encoding format of the minimum code rate, an instruction of switching to local rendering is sent to the game terminal, the latest increment progress of the game is sent 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 game rendering is carried out at the game terminal.
6. The method for implementing the cloud game according to claim 5, wherein before sending the instruction for switching to the local rendering to the game terminal, the method further comprises:
and pushing the static information of the game and the game increment progress information to the game terminal.
7. The method for implementing the cloud game according to claim 5, wherein after the instruction for switching to the local rendering is sent to the game terminal, the method further comprises:
when the communication rate of the measured game terminal in the current period can be matched with the encoding format of the minimum code rate, sending an instruction of switching to cloud rendering to the game terminal; wherein the cloud rendering is game rendering at a server side.
8. An apparatus for determining an encoding format, 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 data determining module of the intermediate communication node is used for determining the number of concurrent users of the intermediate communication node which is in communication connection with the terminal and is in the communication range of the server in the current period;
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, wherein the processor implements the method for determining the encoding format according to any one of claims 1 to 3 or the steps of the method for implementing the cloud game according to any one of claims 4 to 7 when executing the program.
10. A non-transitory computer readable storage medium, on which a computer program is stored, which, when executed by a processor, implements the method for determining the encoding format according to any one of claims 1 to 3, or implements the steps of the method for implementing the cloud game according to any one 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 true CN111617466A (en) 2020-09-04
CN111617466B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113543262A (en) * 2021-06-07 2021-10-22 中国联合网络通信集团有限公司 Method and device for reducing cloud game network time delay
CN115022629A (en) * 2022-08-08 2022-09-06 海马云(天津)信息技术有限公司 Method and device for determining optimal coding mode of cloud game video
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

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222296A (en) * 2008-01-31 2008-07-16 上海交通大学 Self-adapting transmission method and system in ascending honeycomb video communication
US20090010211A1 (en) * 2005-02-02 2009-01-08 Matsushita Electric Industrial Co., Ltd. Base station apparatus and resource assigning method
CN101510998A (en) * 2009-02-24 2009-08-19 山东大学 Self-adapting flow control method for data transmission of wireless video monitoring system
US20100166062A1 (en) * 2002-12-10 2010-07-01 Perlman Stephen G System and Method for Selecting a Video Encoding Format Based on Feedback Data
CN102428697A (en) * 2009-03-23 2012-04-25 生命力有限公司 System and Method for Utilizing Forward Error Correction with Video Compression
CN103338393A (en) * 2013-06-13 2013-10-02 西安交通大学 Video code rate selecting method driven by user experience under HSPA system
CN103905836A (en) * 2012-12-27 2014-07-02 辉达公司 Network adaptive latency reduction through frame rate control
US20140281023A1 (en) * 2013-03-18 2014-09-18 Nvidia Corporation Quality of service management server and method of managing quality of service
CN104394952A (en) * 2012-07-02 2015-03-04 科乐美数码娱乐株式会社 Communication destination determining apparatus, game system, communication destination determining method, and communication destination determining program
CN104598292A (en) * 2014-12-15 2015-05-06 中山大学 Adaptive streaming adaptation and resource optimization method applied to cloud-game system
CN104618690A (en) * 2015-01-29 2015-05-13 广东迅通科技股份有限公司 Method and system for real-time on-demand and historical playback of high-definition video
CN104661050A (en) * 2015-02-13 2015-05-27 海信集团有限公司 Streaming media data transmission method, device and system
US20150196841A1 (en) * 2014-01-15 2015-07-16 Electronics And Telecommunications Research Institute Load balancing system and method for rendering service in cloud gaming environment
US20150375112A1 (en) * 2014-06-30 2015-12-31 Microsoft Corporation Data center management of multimode servers
CN106686409A (en) * 2015-11-09 2017-05-17 中国移动通信集团公司 Streaming media code rate adaptive method and device, server and terminal
CN107509120A (en) * 2017-09-15 2017-12-22 上饶市中科院云计算中心大数据研究院 A kind of streaming media self-adapting transmission method based on buffer underflow probability Estimation
CN108079578A (en) * 2017-10-26 2018-05-29 咪咕互动娱乐有限公司 A kind of code rate adjustment method based on cloud game, device and storage medium
CN108370378A (en) * 2016-01-07 2018-08-03 微软技术许可有限责任公司 Audio stream is encoded
CN109040855A (en) * 2018-09-03 2018-12-18 重庆邮电大学 A kind of wireless DASH streaming media bit rate smooth adaptive transmission method
CN110180166A (en) * 2019-07-16 2019-08-30 南昌黑鲨科技有限公司 Control system and method based on cloud game scene
CN110996125A (en) * 2019-11-18 2020-04-10 腾讯科技(深圳)有限公司 Video stream generation method and device, electronic equipment and storage medium
CN111107440A (en) * 2019-12-26 2020-05-05 腾讯科技(深圳)有限公司 Video transmission control method and device, equipment and storage medium

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100166062A1 (en) * 2002-12-10 2010-07-01 Perlman Stephen G System and Method for Selecting a Video Encoding Format Based on Feedback Data
US20090010211A1 (en) * 2005-02-02 2009-01-08 Matsushita Electric Industrial Co., Ltd. Base station apparatus and resource assigning method
CN101222296A (en) * 2008-01-31 2008-07-16 上海交通大学 Self-adapting transmission method and system in ascending honeycomb video communication
CN101510998A (en) * 2009-02-24 2009-08-19 山东大学 Self-adapting flow control method for data transmission of wireless video monitoring system
CN102428697A (en) * 2009-03-23 2012-04-25 生命力有限公司 System and Method for Utilizing Forward Error Correction with Video Compression
CN104394952A (en) * 2012-07-02 2015-03-04 科乐美数码娱乐株式会社 Communication destination determining apparatus, game system, communication destination determining method, and communication destination determining program
CN103905836A (en) * 2012-12-27 2014-07-02 辉达公司 Network adaptive latency reduction through frame rate control
US20140189091A1 (en) * 2012-12-27 2014-07-03 Nvidia Corporation Network adaptive latency reduction through frame rate control
CN110460496A (en) * 2012-12-27 2019-11-15 辉达公司 It is controlled by frame per second and realizes that network self-adapting time delay reduces
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
US20150196841A1 (en) * 2014-01-15 2015-07-16 Electronics And Telecommunications Research Institute Load balancing system and method for rendering service in cloud gaming environment
US20150375112A1 (en) * 2014-06-30 2015-12-31 Microsoft Corporation Data center management of multimode servers
CN104598292A (en) * 2014-12-15 2015-05-06 中山大学 Adaptive streaming adaptation and resource optimization method applied to cloud-game system
CN104618690A (en) * 2015-01-29 2015-05-13 广东迅通科技股份有限公司 Method and system for real-time on-demand and historical playback of high-definition video
CN104661050A (en) * 2015-02-13 2015-05-27 海信集团有限公司 Streaming media data transmission method, device and system
CN106686409A (en) * 2015-11-09 2017-05-17 中国移动通信集团公司 Streaming media code rate adaptive method and device, server and terminal
CN108370378A (en) * 2016-01-07 2018-08-03 微软技术许可有限责任公司 Audio stream is encoded
CN107509120A (en) * 2017-09-15 2017-12-22 上饶市中科院云计算中心大数据研究院 A kind of streaming media self-adapting transmission method based on buffer underflow probability Estimation
CN108079578A (en) * 2017-10-26 2018-05-29 咪咕互动娱乐有限公司 A kind of code rate adjustment method based on cloud game, device and storage medium
CN109040855A (en) * 2018-09-03 2018-12-18 重庆邮电大学 A kind of wireless DASH streaming media bit rate smooth adaptive transmission method
CN110180166A (en) * 2019-07-16 2019-08-30 南昌黑鲨科技有限公司 Control system and method based on cloud game scene
CN110996125A (en) * 2019-11-18 2020-04-10 腾讯科技(深圳)有限公司 Video stream generation method and device, electronic equipment and storage medium
CN111107440A (en) * 2019-12-26 2020-05-05 腾讯科技(深圳)有限公司 Video transmission control method and device, equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周宣锐: "一种基于瘦客户端的云游戏系统优化方法", 《电子测试》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113543262A (en) * 2021-06-07 2021-10-22 中国联合网络通信集团有限公司 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
CN115022629A (en) * 2022-08-08 2022-09-06 海马云(天津)信息技术有限公司 Method and device for determining optimal coding mode of cloud game video

Also Published As

Publication number Publication date
CN111617466B (en) 2023-04-28

Similar Documents

Publication Publication Date Title
CN107683600B (en) System and method for managing ABR bit rate delivery in response to video buffer characteristics of a client
CN105163134B (en) Video coding parameter setting method, device and the video encoder of live video
Xu et al. PROTEUS: network performance forecast for real-time, interactive mobile applications
EP2767039B1 (en) Quality of user experience testing for video transmissions
CN111617466B (en) Method and device for determining coding format and method for realizing cloud game
CN110049357B (en) Bandwidth estimation method, device, equipment and storage medium
CN105765925B (en) In the progress run by the network equipment between service conversation the available bandwidth of distributed network method and relevant device
CN106688239A (en) Video downloading method, apparatus, and system
JP5673538B2 (en) Distribution system
CN113747194B (en) Remote video transmission method, transmission device, storage medium and electronic equipment
CN108184152A (en) A kind of DASH Transmission systems two benches client code rate selection method
KR20190122830A (en) Video frame coding method, terminal and storage medium
CN103973662B (en) Streaming Media requesting method and controller
CN107135411B (en) Method for adjusting video code rate and electronic equipment
Nguyen et al. A new adaptation approach for viewport-adaptive 360-degree video streaming
CN113891175B (en) Live broadcast push flow method, device and system
CN104185285A (en) Media data transmission method, device and system
Nguyen et al. A client-based adaptation framework for 360-degree video streaming
CN110012324A (en) A kind of the code rate adaptive approach and system of embedded radio transmission of video
CN114173160A (en) Live broadcast stream pushing method and device
CN115278289B (en) Cloud application rendering video frame processing method and device
CN114945097A (en) Video stream processing method and device
CN113207011A (en) Pre-loading method for short video processing
CN113453081A (en) Video transmission method, system, related equipment and storage medium
CN104521222A (en) Communication system, server apparatus, server apparatus controlling method and program

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