# US 11,909,984 B2 · Video encoding and decoding for cloud gaming

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,909,984 B2
- Document ID: US11909984B2
- Status: Granted
- Kind: B2
- Application number: 17/963,829
- Filed: 2022-10-11
- Published: 2023-02-02
- Granted: 2024-02-20
- Earliest claimed: 2020-11-13
- Assignees: Tencent Technology (Shenzhen) Company Limited
- Applicants: Tencent Technology (Shenzhen) Company Limited
- Inventors: Zhicheng Li
- Web page: https://patentgrep.com/patent/US11909984B2

## CPC

- H04N 19/147: according to rate distortion criteria (rate-distortion as a criterion for motion estimation H04N19/567)
- H04N 21/2402: {Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876)}
- A63F 13/352: involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
- A63F 13/358: Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- H04N 19/152: by measuring the fullness of the transmission buffer
- H04N 19/436: using parallelised computational arrangements
- H04N 21/23439: {for generating different versions}
- H04N 21/4424: {Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used (error monitoring in general G06F11/30; arrangements for monitoring conditions of receiving stations in broadcast systems H04H60/32; diagnosis, testing or measuring for television receivers H04N17/04)}
- H04N 21/4516: {involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A video encoding method of a cloud game is provided. Network bandwidth information of a video playback terminal is determined. Decoding computing power information of the video playback terminal is determined. At least one encoding parameter of a video of the cloud game is dynamically adjusted based on (i) the network bandwidth information and (ii) the decoding computing power information. The network bandwidth information and the decoding computing power information indicate a playback environment of the video of the cloud game. The video of the cloud game is encoded based on the at least one encoding parameter.

## Claims

### Claim 1

A video encoding method of a cloud game, comprising:
determining network bandwidth information of a video playback terminal;
receiving terminal status information from the video playback terminal, the terminal status information including at least one of processing load information or buffer information of the video playback terminal;
determining decoding computing power information of the video playback terminal based on the at least one of the processing load information or the buffer information included in the received terminal status information;
dynamically adjusting at least one encoding parameter of a video of the cloud game based on (i) the network bandwidth information and (ii) the decoding computing power information, the network bandwidth information and the decoding computing power information indicating a playback environment of the video of the cloud game; and
encoding the video of the cloud game based on the at least one encoding parameter.

### Claim 2 (depends on 1)

The method according to claim 1, wherein
the terminal status information includes the buffer information of a playback buffer of the video of the cloud game in the video playback terminal.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the determining the decoding computing power information comprises:
obtaining hardware type information of the video playback terminal;
determining configuration information of the video playback terminal based on the hardware type information of the video playback terminal; and
determining the decoding computing power information of the video playback terminal based on the configuration information of the video playback terminal and the at least one of the processing load information or the buffer information.

### Claim 4 (depends on 1)

The method according to claim 1, wherein
the terminal status information includes the processing load information, the processing load information including real-time processing load information of the video playback terminal.

### Claim 5 (depends on 2)

The method according to claim 2, wherein
the buffer information of the playback buffer is based on a comparison of a length of a real-time data frame queue of the playback buffer to a length threshold.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the dynamically adjusting comprises:
determining, based on a resolution of the video playback terminal being lower than a first resolution and the network bandwidth information indicating that network bandwidth of the video playback terminal is less than a stability threshold, that the dynamic adjustment of the at least one encoding parameter includes frame rate reduction; and
determining, based on the resolution of the video playback terminal being higher than or equal to the first resolution and the network bandwidth information indicating that the network bandwidth of the video playback terminal is less than the stability threshold, that the dynamic adjustment of the at least one encoding parameter includes video bit rate reduction.

### Claim 7 (depends on 6)

The method according to claim 6, further comprising:
detecting playback smoothness of the video of the cloud game based on the dynamic adjustment of the at least one encoding parameter including the video bit rate reduction; and
determining, based on the playback smoothness of the video of the cloud game being detected to be less than a smoothness threshold, that the dynamic adjustment of the at least one encoding parameter includes the frame rate reduction and the video bit rate reduction.

### Claim 8 (depends on 7)

The method according to claim 7, wherein the detecting the playback smoothness of the video comprises:
obtaining a first image frame and a second image frame in the video of the cloud game based on the dynamic adjustment of the at least one encoding parameter including the video bit rate reduction, the first image frame and the second image frame being displayed during playback of the video of the cloud game;
obtaining a difference image corresponding to the first image frame and the second image frame;
converting the difference image into a matching grayscale image, and determining a plurality of pixels included in the grayscale image; and
detecting the playback smoothness of the video of the cloud game based on grayscale values of the plurality of pixels in the grayscale image.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the dynamically adjusting comprises:
determining at least one of a decoding computing power parameter, decoding computing time parameter, or decoding computing delay parameter of the video playback terminal based on the decoding computing power information;
determining a matching target frame rate based on the at least one of the decoding computing power parameter, the decoding computing time parameter, or the decoding computing delay parameter and a threshold of frames per second; and
dynamically adjusting the at least one encoding parameter based on the target frame rate.

### Claim 10 (depends on 1)

The method according to claim 1, further comprising:
determining identification information of a target object;
determining a data source cluster matching the identification information based on a cloud server network; and
storing cloud game history information matching the target object onto a cloud game server based on the data source cluster.

### Claim 11 (depends on 10)

The method according to claim 10, further comprising:
storing the identification information of the video playback terminal, the decoding computing power information of the video playback terminal, and encoding information associated with the dynamic adjustment of the at least one encoding parameter into a content storage network, the content storage network being a blockchain network or a network comprising at least one cloud server.

### Claim 12

A video encoding apparatus, comprising:
processing circuitry configured to:
determine network bandwidth information of a video playback terminal;
receive terminal status information from the video playback terminal, the terminal status information including at least one of processing load information or buffer information of the video playback terminal;
determine decoding computing power information of the video playback terminal based on the at least one of the processing load information or the buffer information included in the received terminal status information;
dynamically adjust at least one encoding parameter of a video of a cloud game based on (i) the network bandwidth information and (ii) the decoding computing power information, the network bandwidth information and the decoding computing power information indicating a playback environment of the video of the cloud game; and
encode the video of the cloud game based on the at least one encoding parameter.

### Claim 13 (depends on 12)

The video encoding apparatus according to claim 12, wherein
the terminal status information includes the buffer information of a playback buffer of the video of the cloud game in the video playback terminal.

### Claim 14 (depends on 12)

The video encoding apparatus according to claim 12, wherein the processing circuitry is configured to:
obtain hardware type information of the video playback terminal;
determine configuration information of the video playback terminal based on the hardware type information of the video playback terminal; and
determine the decoding computing power information of the video playback terminal based on the configuration information of the video playback terminal and the at least one of the processing load information or the buffer information.

### Claim 15 (depends on 12)

The video encoding apparatus according to claim 12, wherein
the terminal status information includes the processing load information, the processing load information including real-time processing load information of the video playback terminal.

### Claim 16 (depends on 13)

The video encoding apparatus according to claim 13, wherein
the buffer information of the playback buffer is based on a comparison of a length of a real-time data frame queue of the playback buffer to a length threshold.

### Claim 17 (depends on 12)

The video encoding apparatus according to claim 12, wherein the processing circuitry is configured to:
determine, based on a resolution of the video playback terminal being lower than a first resolution and the network bandwidth information indicating that network bandwidth of the video playback terminal is less than a stability threshold, that the dynamic adjustment of the at least one encoding parameter includes frame rate reduction; and
determine, based on the resolution of the video playback terminal being higher than or equal to the first resolution and the network bandwidth information indicating that the network bandwidth of the video playback terminal is less than the stability threshold, that the dynamic adjustment of the at least one encoding parameter includes video bit rate reduction.

### Claim 18 (depends on 17)

The video encoding apparatus according to claim 17, wherein the processing circuitry is configured to:
detect playback smoothness of the video based on the dynamic adjustment of the at least one encoding parameter including the video bit rate reduction; and
determine, based on the playback smoothness of the video being detected to be less than a smoothness threshold, that the dynamic adjustment of the at least one encoding parameter includes the frame rate reduction and the video bit rate reduction.

### Claim 19 (depends on 18)

The video encoding apparatus according to claim 18, wherein the processing circuitry is configured to:
obtain a first image frame and a second image frame in the video of the cloud game based on the dynamic adjustment of the at least one encoding parameter including the video bit rate reduction, the first image frame and the second image frame being displayed during playback of the video;
obtain a difference image corresponding to the first image frame and the second image frame;
convert the difference image into a matching grayscale image, and determining a plurality of pixels included in the grayscale image; and
detect the playback smoothness of the video of the cloud game based on grayscale values of the plurality of pixels in the grayscale image.

### Claim 20

A non-transitory computer-readable storage medium, storing instructions which when executed by a processor cause the processor to perform:
determining network bandwidth information of a video playback terminal;
receiving terminal status information from the video playback terminal, the terminal status information including at least one of processing load information or buffer information of the video playback terminal;
determining decoding computing power information of the video playback terminal based on the at least one of the processing load information or the buffer information included in the received terminal status information;
dynamically adjusting at least one encoding parameter of a video of a cloud game based on (i) the network bandwidth information and (ii) the decoding computing power information, the network bandwidth information and the decoding computing power information indicating a playback environment of the video of the cloud game; and
encoding the video of the cloud game based on the at least one encoding parameter.
