A system, method, and computer program product are provided for remote rendering of computer graphics. The system includes a graphics application program resident at a remote server. The graphics application is invoked by a user or process located at a client. The invoked graphics application proceeds to issue graphics instructions. The graphics instructions are received by a remote rendering control system. Given that the client and server differ with respect to graphics context and image processing capability, the remote rendering control system modifies the graphics instructions in order to accommodate these differences. The modified graphics instructions are sent to graphics rendering resources, which produce one or more rendered images. Data representing the rendered images is written to one or more frame buffers. The remote rendering control system then reads this image data from the frame buffers. The image data is transmitted to the client for display or processing. In an embodiment of the system, the image data is compressed before being transmitted to the client. In such an embodiment, the steps of rendering, compression, and transmission can be performed asynchronously in a pipelined manner.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for rendering graphics at a remote graphics rendering resource, the method comprising: receiving at the remote graphics rendering resource a command from a client device, wherein the remote graphics rendering resource includes two or more graphics processors having different graphics context and image processing capabilities than the client device; and rendering one or more images according to the command received from the client device according to one or more server contextual settings, wherein the rendering is performed by at least one of the two or more graphics processors using one or more client device parameters; generating an internal context, wherein the internal context includes the one or more server contextual settings and information that identifies a specific visual capability of the client device; and transmitting image data corresponding to the one or more rendered images to the client device, wherein the client generates an image for display at the client device consistent with the identified specific visual capability of the client device.
2. The method of claim 1 , wherein the transmitted image data includes an update to one of the one or more rendered images.
3. The method of claim 1 , wherein the transmitted image data includes one image of the one or more images.
4. The method of claim 1 , wherein the transmitted image data is stored in one or more buffers before being transmitted to the client device.
5. The method of claim 1 , wherein the image data is compressed before being transmitted to the client device.
6. The method of claim 1 , wherein the transmitted image data is displayed on the client device.
7. The method of claim 1 , wherein the transmitted image data is processed by the client device before being displayed on the client device.
8. The method of claim 1 , wherein the image data is transmitted using a protocol supported by the client device.
9. A system for rendering graphics at a remote graphics rendering resource, the system comprising: a memory; a processor, wherein the processor executes instructions out of the memory to: receive a command from a client device, wherein the remote graphics rendering resource includes two or more graphics processors having different graphics context and image processing capabilities than the client device; render one or more images according to the command received from the client device according to one or more server contextual settings, wherein the rendering is performed by at least one of the two or more graphics processors using one or more client device parameters, and generate an internal context, wherein the internal context includes the one or more server contextual settings and information that identifies a specific visual capability of the client device; and a network communications interfaces that transmits image data corresponding to the one or more rendered images to the client device, wherein the client generates an image for display at the client device consistent with the identified specific visual capability of the client device.
10. The system of claim 9 , wherein the transmitted image data includes an update to one of the one or more rendered images.
11. The system of claim 9 , wherein the transmitted image data includes one image of the one or more images.
12. The system of claim 9 , wherein the transmitted image data is stored in one or more buffers before transmitting the image data to the client device.
13. The system of claim 9 , wherein the image data is compressed before being transmitting to the client device.
14. The system of claim 9 , wherein the transmitted image data displayed on the client device.
15. The system of claim 9 , wherein the transmitted image data is processed by the client device before being displayed on the client device.
16. The system of claim 9 , wherein the image data is transmitted using a protocol supported by the client device.
17. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method for rendering graphics at a remote graphics rendering resource, the method comprising: receiving at the remote graphics rendering resource a command from a client device, wherein the remote graphics rendering resource includes two or more graphics processors, and the two or more graphics processors have different graphics context and image processing capabilities than the client device; and rendering one or more images according to the command received from the client device according to one or more server contextual settings, wherein the rendering is performed by at least one of the two or more graphics processors using one or more client device parameters; and generating an internal context, wherein the internal context includes the one or more server contextual settings and information that identifies a specific visual capability of the client device; and transmitting image data corresponding to the one or more rendered images to the client device, wherein the client generates an image for display at the client device consistent with the identified specific visual capability of the client device.
18. The non-transitory computer readable storage medium of claim 17 , wherein the transmitted image data includes an update to one of the one or more rendered images.
19. The non-transitory computer readable storage medium of claim 17 , wherein the transmitted image data includes one image of the one or more images.
20. The non-transitory computer readable storage medium of claim 17 , wherein the transmitted image data is stored in one or more buffers before being transmitted to the client device.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 12, 2014
January 5, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.