IP Library › Granted Patent US 11,865,434
Granted Patent B2
US 11,865,434 · App. 17/001,561 · Granted Jan 9, 2024

Reducing latency in cloud gaming applications by overlapping receive and decode of video frames and their display at the client

Inventors: Kelvin M. Yong (Irvine, CA); Mark E. Cerny (Los Angeles, CA)
Assignee: Sony Interactive Entertainment Inc.
A63F13/355A63F13/50H04N21/23605H04N21/4385A63F2300/538
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,865,434
App. No.
17/001,561
Filed
Aug 24, 2020
Granted
Jan 9, 2024
Kind
B2
Art Unit
3715
USPC
463/42
Abstract

A method for cloud gaming. The method including receiving one or more encoded slices of a video frame at a client, wherein the video frame was generated at a server while executing a video game, and encoded by an encoder at the server into the one or more encoded slices. The method including decoding a first encoded slice at a decoder of the client before fully receiving the one or more encoded slices of the video frame.

Claims (60)

1. A method of cloud gaming, comprising:

receiving one or more encoded slices of a video frame at a client, wherein the video frame was generated at a server while executing a video game, and encoded by an encoder at the server into the one or more encoded slices; and

decoding a first encoded slice at a decoder of the client before fully receiving the one or more encoded slices of the video frame.

2. The method of claim 1 , wherein a client VSYNC signal and a server VSYNC signal are synchronized and offset to enable reduced latency of display of decoded slices.

3. The method of claim 1 ,

wherein each of the one or more encoded slices is packetized into one or more network communication packets,

wherein each of the one or more network communication packets is sized at the encoder to less than or equal to a maximum transmission unit (MTU).

4. The method of claim 3 ,

wherein the each of the one or more encoded slices is sized to the MTU or smaller, such that the each of the one or more encoded slices is packetized into a single corresponding network communication packet.

5. The method of claim 1 ,

wherein a plurality of video frames is generated at the server responsive to processing of the video game by the server in a streaming mode during a session with the client,

wherein the plurality of video frames is encoded at the encoder into a plurality of compressed video frames, each corresponding compressed video frame including one or more corresponding encoded slices,

wherein the plurality of compressed video frames is transmitted to the client over a network.

6. The method of claim 5 , further comprising:

receiving the plurality of compressed video frames; and

decompressing the plurality of compressed video frames for rendering to a display associated with the client.

7. The method of claim 1 , further comprising:

determining that a first encoded slice of the one or more encoded slices of the video frame is lost during transmission from the server to the client; and

generating a filler slice as a substitute for the first encoded slice that is decoded by the decoder, wherein the decoder inserts skip macroblocks for pixels of a display corresponding to the first encoded slice.

8. The method of claim 7 , further comprising:

performing reference frame invalidation to fix the skip macroblocks for the pixels corresponding to the first encoded slice.

9. The method of claim 1 , further comprising:

determining that the first encoded slice of the one or more encoded slices of the video frame is lost during transmission from the server to the client;

receiving a forward error correction (FEC) slice corresponding to the first encoded slice that is lost; and

using the FEC slice to regenerate the first encoded slice.

10. The method of claim 1 , further comprising:

determining that the first encoded slice of the one or more encoded slices of the video frame is lost during transmission from the server to the client; and

using color values from a previous video frame for pixels corresponding to the first encoded slice.

11. A non-transitory computer-readable medium storing a computer program performing a method for cloud gaming, the computer-readable medium comprising:

program instructions for receiving one or more encoded slices of a video frame at a client, wherein the video frame was generated at a server while executing a video game, and encoded by an encoder at the server into the one or more encoded slices; and

program instructions for decoding a first encoded slice at a decoder of the client before fully receiving the one or more encoded slices of the video frame.

12. The non-transitory computer-readable medium of claim 11 , wherein in the method a client VSYNC signal and a server VSYNC signal are synchronized and offset to enable reduced latency of display of decoded slices.

13. The non-transitory computer-readable medium of claim 11 ,

wherein in the method each of the one or more encoded slices is packetized into one or more network communication packets,

wherein in the method each of the one or more network communication packets is sized at the encoder to less than or equal to a maximum transmission unit (MTU),

wherein in the method the each of the one or more encoded slices is sized to the MTU or smaller, such that the each of the one or more encoded slices is packetized into a single corresponding network communication packet.

14. The non-transitory computer-readable medium of claim 11 ,

wherein in the method a plurality of video frames is generated at the server responsive to processing of the video game by the server in a streaming mode during a session with the client,

wherein in the method the plurality of video frames is encoded at the encoder into a plurality of compressed video frames, each corresponding compressed video frame including one or more corresponding encoded slices,

wherein in the method the plurality of compressed video frames is transmitted to the client over a network.

15. The non-transitory computer-readable medium of claim 14 , further comprising:

program instructions for receiving the plurality of compressed video frames; and

program instructions for decompressing the plurality of compressed video frames for rendering to a display associated with the client.

16. The non-transitory computer-readable medium of claim 11 , further comprising:

program instructions for determining that a first encoded slice of the one or more encoded slices of the video frame is lost during transmission from the server to the client;

program instructions for generating a filler slice as a substitute for the first encoded slice that is decoded by the decoder, wherein the decoder inserts skip macroblocks for pixels of a display corresponding to the first encoded slice; and

program instructions for performing reference frame invalidation to fix the skip macroblocks for the pixels corresponding to the first encoded slice.

17. The non-transitory computer-readable medium of claim 11 , further comprising:

program instructions for determining that the first encoded slice of the one or more encoded slices of the video frame is lost during transmission from the server to the client;

program instructions for receiving a forward error correction (FEC) slice corresponding to the first encoded slice that is lost; and

program instructions for using the FEC slice to regenerate the first encoded slice.

18. A computer system comprising:

a processor; and

memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for cloud gaming comprising:

receiving one or more encoded slices of a video frame at a client, wherein the video frame was generated at a server while executing a video game, and encoded by an encoder at the server into the one or more encoded slices; and

decoding a first encoded slice at a decoder of the client before fully receiving the one or more encoded slices of the video frame.

19. The computer system of claim 18 , wherein in the method a client VSYNC signal and a server VSYNC signal are synchronized and offset to enable reduced latency of display of decoded slices.

20. The computer system of claim 18 ,

wherein each of the one or more encoded slices is packetized into one or more network communication packets,

wherein each of the one or more network communication packets is sized at the encoder to less than or equal to a maximum transmission unit (MTU).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2021
From: YONG, KELVIN M.; CERNY, MARK E.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 056538/0412 →
Continuity (3)
Provisional Application 62909157 · Oct 1, 2019
Provisional Application 62909156 · Oct 1, 2019
Related Publication 20210093958A1 · Apr 1, 2021