IP Library Granted Patent US 9,375,635
Granted Patent B2
US 9,375,635 · App. 13/789,621 · Granted Jun 28, 2016

System and method for improving the graphics performance of hosted applications

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 9,375,635
App. No.
13/789,621
Granted
Jun 28, 2016
Kind
B2
Abstract

A system and method for efficiently performing graphics operations on a video game/application hosting service. One embodiment of a system comprises: an application/game server comprising a central processing unit and a graphics processing unit generating a series of video frames; a buffer management logic to manage the series of video frames; a shared buffer managed by the buffer management logic to store the video frames generated; wherein the buffer management logic continually monitors a signal indicating when a video display or video compression unit is ready to receive a next video frame and, responsive to detecting that the display or video compression unit is about to be ready, the buffer management logic to transfer the most recently completed from the shared buffer to a back buffer; and responsive to detecting the signal, the buffer management logic transferring the video frame from the back buffer to a front buffer.

Claims (23)

1. A system comprising:

an application/game server comprising a central processing unit to process application/video game program code and a graphics processing unit (GPU) to process graphics commands and generate a series of video frames for the application/video game;

buffer management logic to manage storage and transmission of the series of video frames;

a shared buffer managed by the buffer management logic to store the video frames as quickly as the video frames can be generated by the application/game server responsive to execution of the video game or application;

wherein the buffer management logic continually monitors a signal indicating when a video display or video compression unit is ready to receive a next video frame and, responsive to the buffer management detecting that the display or video compression unit is about to be ready to receive the next video frame, the buffer management logic to transfer the most recently completed from the shared buffer to a back buffer; and

wherein in response to detecting the signal indicating that the display or video compression unit is ready to receive the next video frame, the buffer management logic transferring the video frame from the back buffer to a front buffer from which it is read out, line by line, and provided to the display or video compression unit for compressing the resulting video stream.

2. The system as in claim 1 wherein the signal indicating that the display or video encoder is ready to receive the next video frame comprises a VSYNC signal.

3. The system as in claim 1 wherein the video compression unit is to compress the video frames at low latency to generate a low latency compressed video stream.

4. The system as in claim 3 wherein the low latency compressed video stream is transmitted over a network to a client device.

5. The system as in claim 4 wherein the client device decompresses the low latency video stream and renders the video generated by the video game or application on a display.

6. The system as in claim 5 wherein the client device transmits control signals over the network in response to user input, the control signals received by the video game or application, wherein the video game or application generates the video frames in response to the control signals.

7. The system as in claim 6 wherein the operations of generating the control signals, executing the video game or application, compressing the video frames to generate the video stream, transmitting the video stream to the client are performed with a latency such that the user of the client has the perception that the video game or application is responding instantly to the control signals.

8. A method comprising:

executing program code for a video game or application including processing graphics commands and responsively generating a series of video frames for the application/video game;

managing storage and transmission of the series of video frames including storing the video frames as quickly as the video frames can be generated by the application/game server responsive to execution of the video game or application;

continually monitoring a signal indicating when a video display or video compression unit is ready to receive a next video frame and, responsive to detecting that the display or video compression unit is about to be ready to receive the next video frame, transferring the most recently completed from the shared buffer to a back buffer; and

wherein in response to detecting the signal indicating that the display or video compression unit is ready to receive the next video frame, transferring the video frame from the back buffer to a front buffer from which it is read out, line by line, and provided to the display or video compression unit for compressing the resulting video stream.

9. The method as in claim 8 wherein the signal indicating that the display or video encoder is ready to receive the next video frame comprises a VSYNC signal.

10. The method as in claim 8 wherein the video compression unit is to compress the video frames at low latency to generate a low latency compressed video stream.

11. The method as in claim 10 wherein the low latency compressed video stream is transmitted over a network to a client device.

12. The method as in claim 11 wherein the client device decompresses the low latency video stream and renders the video generated by the video game or application on a display.

13. The method as in claim 12 wherein the client device transmits control signals over the network in response to user input, the control signals received by the video game or application, wherein the video game or application generates the video frames in response to the control signals.

14. The method as in claim 13 wherein the operations of generating the control signals, executing the video game or application, compressing the video frames to generate the video stream, transmitting the video stream to the client are performed with a latency such that the user of the client has the perception that the video game or application is responding instantly to the control signals.

Assignments (4)
MERGER Recorded Mar 30, 2020
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 053323/0567 →
CHANGE OF NAME Recorded May 5, 2016
From: SONY COMPUTER ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 038626/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2015
From: OL2, INC.
To: SONY COMPUTER ENTERTAINMENT AMERICA LLC
Reel/Frame 035354/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2014
From: COTTER, TIMOTHY
To: OL2, INC.
Reel/Frame 031932/0219 →