IP Library › Granted Patent US 11,446,572
Granted Patent B2
US 11,446,572 · App. 17/008,463 · Granted Sep 20, 2022

Early scan-out of server display buffer at flip-time for cloud gaming applications

Inventors: Roelof Roderick Colenbrander (Costa Mesa, CA); Mark E. Cerny (Los Angeles, CA)
Assignee: Sony Interactive Entertainment Inc.
A63F13/355A63F13/358A63F13/52A63F13/537A63F2300/534A63F2300/538H04L65/61H04L67/12
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,446,572
App. No.
17/008,463
Granted
Sep 20, 2022
Kind
B2
Abstract

A method for cloud gaming. The method including generating a video frame when executing a video game at a server. The method including performing a scan-out process by scanning the video frame scanline-by-scanline and one or more user interface features scanline-by-scanline to one or more input frame buffers, and compositing and blending the video frame and the one or more user interface features into a modified video frame. The method including scanning in the scan-out process the modified video frame to an encoder at the server scanline-by-scanline. The method including beginning in the scan-out process scanning the video frame and the one or more user interface features to the one or more input frame buffers at a corresponding flip-time for the video frame.

Claims (71)

1. A method of cloud gaming, comprising:

generating a video frame within a frame period when executing a video game at a server;

generating one or more user interface features for the video frame;

performing a scan-out process by scanning the video frame scanline-by-scanline and the one or more user interface features scanline-by-scanline to one or more input frame buffers, and compositing and blending the video frame and the one or more user interface features into a modified video frame;

in the scan-out process, scanning the modified video frame to an encoder at the server scanline-by-scanline; and

in the scan-out process begin scanning the video frame and begin scanning the one or more user interface features to the one or more input frame buffers at a flip-time for the video frame occurring within the video frame.

2. The method of claim 1 , further comprising:

generating at the encoder a first encoded slice of the video frame;

begin compressing the first encoded slice at the encoder before fully receiving the modified video frame.

3. The method of claim 1 , wherein the flip-time is included in a command in a command buffer that when executed by a graphics processing unit (GPU) indicates that the GPU has finished executing a plurality of commands in the command buffer and that the video frame is fully loaded to a display buffer of the server.

4. The method of claim 1 , wherein the scan-out process includes performing at least one of the following:

decompressing DCC compressed surface, or

resolution scaling, or

color space conversion, or

degamma, or

HDR expansion, or

gamut remap, or

LUT shaping, or

tone mapping, or

blending gamma.

5. The method of cloud gaming of claim 1 , further comprising:

determining a frame rate setting based on an image size requested for a client display and a maximum pixel clock;

determining a speed setting value; and

performing the scan-out process at the speed setting value; and

scanning a plurality of screen slices for the modified video frame to the encoder at the frame rate setting.

6. The method of claim 5 , wherein the maximum pixel clock is determined from chip compute settings or by self-diagnostic testing.

7. The method of claim 5 , wherein the speed setting value is the frame rate setting.

8. The method of claim 5 , wherein the frame rate setting is higher than a frequency of a server VSYNC signal used for generating video frames when executing the video game at the server.

9. The method of claim 5 , further comprising:

performing encoding at a resolution limit set by the client display.

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

program instructions for generating a video frame within a frame period when executing a video game at a server;

program instructions for generating one or more user interface features for the video frame;

program instructions for performing a scan-out process by scanning the video frame scanline-by-scanline and the one or more user interface features scanline-by-scanline to one or more input frame buffers, and compositing and blending the video frame and the one or more user interface features into a modified video frame;

in the scan-out process, program instructions for scanning the modified video frame to an encoder at the server scanline-by-scanline; and

program instructions for in the scan-out process begin scanning the video frame and begin scanning the one or more user interface features to the one or more input frame buffers at a flip-time for the video frame occurring within the video frame.

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

program instructions for generating at the encoder a first encoded slice of the video frame;

program instructions for beginning compressing the first encoded slice at the encoder before fully receiving the modified video frame.

12. 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:

generating a video frame within a frame period when executing a video game at a server;

generating one or more user interface features for the video frame;

performing a scan-out process by scanning the video frame scanline-by-scanline and the one or more user interface features scanline-by-scanline to one or more input frame buffers, and compositing and blending the video frame and the one or more user interface features into a modified video frame;

in the scan-out process, scanning the modified video frame to an encoder at the server scanline-by-scanline; and

in the scan-out process begin scanning the video frame and begin scanning the one or more user interface features to the one or more input frame buffers at a flip-time for the video frame occurring within the frame period.

13. The computer system of claim 12 , the method further comprising:

generating at the encoder a first encoded slice of the video frame;

begin compressing the first encoded slice at the encoder before fully receiving the modified video frame.

14. The computer system of claim 12 , wherein in the method the flip-time is included in a command in a command buffer that when executed by a graphics processing unit (GPU) indicates that the GPU has finished executing a plurality of commands in the command buffer and that the video frame is fully loaded to a display buffer of the server.

15. The computer system of claim 12 , wherein in the method the scan-out process includes performing at least one of the following:

decompressing DCC compressed surface, or

resolution scaling, or

color space conversion, or

degamma, or

HDR expansion, or

gamut remap, or

LUT shaping, or

tone mapping, or

blending gamma.

16. The computer system of cloud gaming of claim 12 , the method further comprising:

determining a frame rate setting based on an image size requested for a client display and a maximum pixel clock;

determining a speed setting value; and

performing the scan-out process at the speed setting value; and

scanning a plurality of screen slices for the modified video frame to the encoder at the frame rate setting.

17. The computer system of claim 16 , wherein in the method the maximum pixel clock is determined from chip compute settings or by self-diagnostic testing.

18. The computer system of claim 16 , wherein in the method the speed setting value is the frame rate setting.

19. The computer system of claim 16 , wherein in the method the frame rate setting is higher than a frequency of a server VSYNC signal used for generating video frames when executing the video game at the server.

20. The computer system of claim 16 , the method further comprising:

performing encoding at a resolution limit set by the client display.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2021
From: COLENBRANDER, ROELOF RODERICK; CERNY, MARK E.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 057537/0252 →
Continuity (4)
Provisional Application 62909166 · Oct 1, 2019
Provisional Application 62909175 · Oct 1, 2019
Provisional Application 62909172 · Oct 1, 2019
Related Publication 20210093961A1 · Apr 1, 2021