Legal claims defining the scope of protection, as filed with the USPTO.
1. A game serving system comprising: a first game application stored on a computer readable medium and configured to execute a first game instance responsive to game commands received from a first client; a second game application stored on a computer readable medium and configured to execute a second game instance responsive to game commands received from a second client; logic configured to execute the first game instance and the second game instance in parallel; a first virtual 3D video driver configured to receive a first game environment from the first game instance; a second virtual 3D video driver configured to receive second game environment from the second game instance; a 3D video driver being interfaced with the first and second virtual 3D video drivers, such that the 3D video driver receives both an output of the first and second virtual 3D video drivers; a graphics processing unit configured to generate a first video stream by rendering the first game environment, and to generate a second video stream by rendering the second game environment, in parallel; a shared memory configured to receive the first video stream and the second video stream, wherein in said shared memory, each of said first and second video streams are stored as belonging to respective ones of said first and second virtual 3D video drivers; a first encoding pipeline configured to encode the first video stream, obtained from said shared memory, in a first codec; a second encoding pipeline configured to encode the second video stream, obtained from said shared memory, in a second codec; and an output configured to provide the first video stream to the first client and the second video stream to the second client.
2. The game serving system of claim 1 , wherein the first and second virtual 3D video drivers are configured to provided their output to the 3D video driver in a synchronized manner.
3. The game serving system of claim 1 , wherein the graphics processing unit is configured to use some processing cores to render the first game environment and other processing cores to render the second game environment at the same time.
4. The game serving system of claim 1 , wherein the first virtual 3D video driver is configured to control transfer of video frames of the first video stream from the graphics processing unit to the first encoding pipeline.
5. A game serving system comprising: a first game application stored on a computer readable medium and configured to execute a first game instance responsive to game commands received from a first client; a second game application stored on a computer readable medium and configured to execute a second game instance responsive to game commands received from a second client; logic configured to execute the first game instance and the second game instance in parallel; a 3D video driver configured to receive different game environments from the first game application and from the second game application; a graphics processing unit configured to generate a first video frame by rendering the game environment from the first game application, and to generate a second video frame by rendering the game environment from the second game application; a first encoding pipeline configured to encode the first video frame in a first video format; a second encoding pipeline configured to encode the second video frame in a second video format; a memory shared by at least the 3D video driver and the first encoding pipeline and the second encoding pipeline, wherein the graphics processing unit is configured to generate the first video frame and the second video frame that are stored to the memory as belonging to respective ones of the game environments of the first and second game applications; logic configured to transfer the first video frame from the 3D video driver to the memory in sync with the production of the second video frame; and an output configured to provide the first video stream to the first client and the second video stream to the second client.
6. The system of claim 5 , wherein the logic configured to transfer the video frame includes a virtual video driver.
7. A game serving system comprising: a first game application stored on a computer readable medium and configured to execute a first game instance responsive to game commands received from a first client; a second game application stored on a computer readable medium and configured to execute a second game instance responsive to game commands received from a second client; logic configured to execute the first game instance and the second game instance in parallel; a graphics processing unit configured to generate a first video stream for the first game instance and a second video stream for the second game instance; a shared memory configured to receive the first and second video streams, each of the first and second video streams being stored in the shared memory as belonging to ones of the first game application and the second game application; logic configured to provision a first encoder pipeline and a second encoder pipeline, the first encoder pipeline including a dynamically allocated encoder selected based on needs of the first client, the second encoder pipeline including a dynamically allocated encoder selected based on needs of the second client; one or more processors configured to execute the logic configured to spawn a first encoder pipeline and a second encoder pipeline, the first game application, and the second game application, wherein each of the first and second encoder pipelines respectively process the first and second video streams as obtained from the shared memory; and an output configured to provide a first video stream generated by the first encoder pipeline to the first client, and a second video stream generated by the second encoder pipeline to the second client.
8. The system of claim 7 , wherein each of the encoder pipelines includes a decoder configured to generate a different type of video.
9. The system of claim 7 , wherein the logic configured to provision the first encoder pipeline only after a request for streaming video is received from the first client.
Unknown
November 22, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.