Server system for processing graphic output and responsively blocking select input commands
First Claim
1. A video server system comprising:
- an application engine for executing a first computer application;
a graphics processing unit for generating a graphic output in response to graphics data received from the first computer application and a point of view;
command processing logic for blocking communication of an input command to the first computer application by examining input commands received by one or more input/output devices before forwarding the input commands to the first computer application, so as to affect the graphic output, wherein video frames of the graphic output is adjusted to not include an input control for the input command that is blocked;
an encoding pipeline for generating an encoded video stream using the graphic output, wherein the encoded video stream includes video frames that do not include the input control for the input command that is blocked by the command processing logic;
an output logic for communicating the encoded video stream to a remote client via a communication network, so that the video frames rendered on the remote client do not graphically display the input control for the input command that is blocked; and
a microprocessor for executing the command processing logic at the video server system.
1 Assignment
0 Petitions
Accused Products
Abstract
A video server is configured to provide streaming video to players of computer games over a computing network. The video server can provided video of different games to different players simultaneously. This is accomplished by rendering several video streams in parallel using a single GPU (Graphics Processing Unit). The output of the GPU is provided to graphics processing pipelines that are each associated with a specific client/player and are dynamically allocated as needed. A client qualifier may be used to assure that only clients capable of presenting the streaming video to a player at a minimum level of quality receive the video stream. Video frames provided by the video server optionally include overlays added to the output of the GPU. These overlays can include voice data received from another game player. These overlays may be used to prevent presentation of non-allowed input controls.
-
Citations
21 Claims
-
1. A video server system comprising:
-
an application engine for executing a first computer application; a graphics processing unit for generating a graphic output in response to graphics data received from the first computer application and a point of view; command processing logic for blocking communication of an input command to the first computer application by examining input commands received by one or more input/output devices before forwarding the input commands to the first computer application, so as to affect the graphic output, wherein video frames of the graphic output is adjusted to not include an input control for the input command that is blocked; an encoding pipeline for generating an encoded video stream using the graphic output, wherein the encoded video stream includes video frames that do not include the input control for the input command that is blocked by the command processing logic; an output logic for communicating the encoded video stream to a remote client via a communication network, so that the video frames rendered on the remote client do not graphically display the input control for the input command that is blocked; and a microprocessor for executing the command processing logic at the video server system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
executing a first computer application using an application engine running on a video server system; generating, by a graphics processor unit of the video server system, a graphic output in response to graphics data received from the first computer application and a point of view; examining, by a command processing logic of the video server system, input commands received by one or more input/output devices before forwarding the input commands to the first computer application to affect the graphic output, wherein the examining includes blocking communication of an input command to the first computer application so as to not be included in the graphic output, wherein the blocking causes adjustment to video frames of the graphic output so as to not include input control for the input command that is blocked; generating, by an encoding pipeline of the video server system, an encoded video stream using the graphic output, wherein the encoded video stream includes video frames that do not include the input control for the input command that is blocked; and communicating, by an output logic of the video server system, the encoded video stream to a remote client via a communication network, so that the video frames rendered on the remote client do not graphically display the input control for the input command that is blocked. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A non-transitory computer-readable medium having program instructions, which when executed by a microprocessor in a video server system performs a method, the program instructions include:
-
program instructions for executing a first computer application; program instructions for generating a graphic output in response to graphics data received from the first computer application and a point of view; program instructions for examining input commands received by one or more input/output devices before forwarding the input commands to the first computer application to affect the graphic output, wherein the program instructions for examining includes program instructions for blocking communication of an input command that is blocked to the first computer application so as to not be included in the graphic output, wherein the program instructions for blocking causes adjustment to video frames of the graphic output so as to not include input control for the input command that is blocked; program instructions for generating an encoded video stream using the graphic output, wherein the encoded video stream includes video frames that do not include the input control for the input command that is blocked; and program instructions for communicating the encoded video stream to a remote client via a communication network, so that the video frames rendered on the remote client do not graphically display the input control for the input command that is blocked.
-
Specification