[미국특허]
System, method, and computer program product for remote graphics processing
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06T-001/20
G06T-001/00
G06T-015/00
G06F-015/177
G06F-009/00
G06F-009/24
G06F-003/00
출원번호
US-0042659
(2013-09-30)
등록번호
US-8760456
(2014-06-24)
발명자
/ 주소
Keslin, Phillip C.
출원인 / 주소
Silicon Graphics International Corp.
대리인 / 주소
Lewis Roca Rothgerber LLP
인용정보
피인용 횟수 :
3인용 특허 :
51
초록▼
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 procee
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.
대표청구항▼
1. A system for compressing data, comprising: a server system including a processor and memory storing one or more programs executable by the processor, the one or more programs including instructions for: identifying by the server its available compression algorithms and the available algorithms av
1. A system for compressing data, comprising: a server system including a processor and memory storing one or more programs executable by the processor, the one or more programs including instructions for: identifying by the server its available compression algorithms and the available algorithms available to the client;receiving by the server a compression algorithm selected by the client;receiving, at a graphics application on the server system, a command from a client, the command related to a graphics rendering operation of the graphics application;generating an application programming interface call for producing rendered image data in response to the command;modifying a parameter of the application programming interface call based upon a graphics difference between the client and the server;receiving, at the server system, a list of graphics processing capabilities of the client;merging, with a remote rendering control system, the list of graphics processing capabilities of the client and a list of graphics capabilities of the server system to create a merged list of graphics processing capabilities; andgenerating, using the merged list of graphics processing capabilities, a routine for converting graphics processing capabilities of the server to graphics processing capabilities of the client;performing the rendering operation using the modified parameters; andtransmitting the rendered image data to the client for display. 2. The system of claim 1, wherein the application programming interface is an OPENGL application programming interface. 3. The system of claim 1, wherein the command corresponds to a command requesting the rendered image data for display on the client. 4. The system of claim 1, wherein the list of graphics processing capabilities of the client are selected from a group consisting of: color mapping range; ability to represent opacity; and ability to perform stenciling. 5. The system of claim 1, wherein the one or more programs further comprising instructions for modifying the parameter of the application programming interface call by converting a graphics processing capability of the server system appearing in the application programming interface call to a graphics processing capability of the client. 6. The system of claim 1, wherein the one or more programs further comprising instructions for modifying the parameter of the application programming interface call by converting a graphics context of the server system appearing in the application programming interface call to a graphics context of the client. 7. A system for compressing data, comprising: a server system including a processor and memory storing one or more programs executable by the processor, the one or more programs including instructions for: identifying by the server its available compression algorithms and the available algorithms available to the client;receiving by the server a compression algorithm selected by the client;receiving, at a graphics application on the server system, a command from a client, the command related to a graphics rendering operation of the graphics application;generating an application programming interface call for producing rendered image data in response to the command;modifying a parameter of the application programming interface call based upon a graphics difference between the client and the server;performing the rendering operation using the modified parameters; andtransmitting the rendered image data to the client for display,compressing the image data by a compression process of the remote rendering control system, wherein the rendering process of a first block of data occurs during a first time period, the compression process of a second block of data occurs during a second time period, and the transmission process of a third block of data occurs during a third time period so that the rendering process, the compression process, and the transmission process are pipelined,discarding, by the remote rendering control system, the first block of data when the rendering process of the first block of data is completed before the compression process of the second block of data; anddiscarding, by the remote rendering control system, the second block of data when the compression process of the second block of data is completed before the transmission process of the third block of data. 8. A method for compressing data, comprising: identifying available compression algorithms at a sever and the available algorithms available to a client in communication with the server;receiving by the server a compression algorithm selected by the client;receiving a command from a client, the command related to a graphics rendering operation of the graphics application;generating an application programming interface call for producing rendered image data in response to the command;modifying a parameter of the application programming interface call based upon a graphics difference between the client and the server;receiving a list of graphics processing capabilities of the client;merging the list of graphics processing capabilities of the client and a list of graphics capabilities of the server system to create a merged list of graphics processing capabilities;generating, using the merged list of graphics processing capabilities, a routine for converting graphics processing capabilities of the server to graphics processing capabilities of the client; andperforming the rendering operation using the modified parameters; and transmitting the rendered image data to the client for display. 9. The method of claim 8, wherein the application programming interface is an OPENGL application programming interface. 10. The method of claim 8, wherein the command corresponds to a command requesting the rendered image data for display on the client. 11. The method of claim 8, wherein the list of graphics processing capabilities of the client are selected from a group consisting of: color mapping range; ability to represent opacity; and ability to perform stenciling. 12. The method of claim 8, wherein the one or more programs further comprising instructions for modifying the parameter of the application programming interface call by converting a graphics processing capability of the server system appearing in the application programming interface call to a graphics processing capability of the client. 13. The method of claim 8, wherein the one or more programs further comprising instructions for modifying the parameter of the application programming interface call by converting a graphics context of the server system appearing in the application programming interface call to a graphics context of the client. 14. A method for compressing data, comprising: identifying available compression algorithms at a sever and the available algorithms available to a client in communication with the server;receiving by the server a compression algorithm selected by the client;receiving a command from a client, the command related to a graphics rendering operation of the graphics application;generating an application programming interface call for producing rendered image data in response to the command;modifying a parameter of the application programming interface call based upon a graphics difference between the client and the server;performing the rendering operation using the modified parameters;transmitting the rendered image data to the client for display compressing the image data by a compression process of the remote rendering control system, wherein the rendering process of a first block of data occurs during a first time period, the compression process of a second block of data occurs during a second time period, and the transmission process of a third block of data occurs during a third time period so that the rendering process, the compression process, and the transmission process are pipelined; anddiscarding the first block of data when the rendering process of the first block of data is completed before the compression process of the second block of data; anddiscarding, by the remote rendering control system, the second block of data when the compression process of the second block of data is completed before the transmission process of the third block of data.
Carey Richard ; Marrin Christopher F. ; Mott David C., Collaborative work environment supporting three-dimensional objects and multiple, remote participants.
Busboom Leah J. H. (Oronoco MN) Clausen Trent L. (Oronoco MN) Eagen Stephen T. (Rochester MN) Kiel Harvey G. (Rochester MN) Manulik Robert J. (Rochester MN) Plute Michael E. (Rochester MN) Remfert Je, Display station controller.
Calo Seraphin B. (Peekskill NY) Kannan Krishnamurthi (Yorktown Heights NY) Soo Suk S. (Mount Kisco NY) Burket Thomas G. (Pleasantville NY) Wiley ; Jr. John W. (Yorktown Heights NY), Electronic system for accessing graphical and textual information.
Dye, Robert E.; Shah, Darshan; Rogers, Steve; Richardson, Greg; Luick, Dean A., Graphical programming system with distributed block diagram execution and front panel display.
Koga Kazuyoshi,JPX ; Fujita Ryo,JPX ; Suzuki Katsunori,JPX ; Nakamura Shoji,JPX ; Kuwana Toshiyuki,JPX ; Fujii Hideki,JPX, Graphics drawing system and method based on a client server system having shared graphics resources.
Murow Jaime (Cupertino CA) Hethcoat Gary D. (Santa Clara CA) Kwan Richard J. (Fremont CA) Hiura Hideki (Mountain View CA), Method and apparatus for automating the localization of a computer program.
Mairs Christopher J.,GBX ; Downes Anthony M.,GBX ; MacFarquhar Roderick F.,GBX ; Hughes Kenneth P.,GBX ; Pollitt Alex J.,GBX ; Batty John P.,GBX, Method and system for sharing applications between computer systems.
Pommier Theresa M. ; Schwartz Krista S. ; Carleton Allison A. ; Fitzpatrick Catherine M., Remote collaboration system with multiple host computers using multiple applications.
Subram Narasimhan ; Curtis Allred ; Mark Stemm ; Hari Balakrishnan, Remote monitoring and control of equipment over computer networks using a single web interfacing chip.
Epard Marc A. (Lawrence KS) Ping He (Lawrence KS) Trautman Neal E. (Lawrence KS) VanVleck Paul F. (Lawrence KS), Screen image sharing among heterogeneous computers.
Parsons ; Jr. John E. ; Graziadio Bradley J. ; Momoh Oshoma, Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers.
Nakajima Amane,JPX ; Kobayashi Makoto,JPX ; Ando Fumio,JPX, System and method for dynamically sharing an application program among a plurality of conference devices while maintaini.
Edlund Stefan B. ; Eichstaedt Matthias ; Eigler Donald Mark ; Kraft Reiner, System and method for operating scientific instruments over wide area networks.
Steven L. Armentrout ; James O'Connor ; James Gannon ; Brian Sletten ; Sean Cier ; Sarah Carlson ; Antony Davies ; Jonathan Davis ; Greg DuPertuis ; Scott McLoughlin, System and method for the establishment and the utilization of networked idle computational processing power.
Garfinkel Daniel (Fort Collins CO) Louder Stephen A. (Pacific Grove CA) Wildman Richard C. (Fort Collins CO), System for dynamic sharing of local and remote displays by maintaining a list of best-match resources.
Hamilton James ; Hennessy Richard ; Choa Pong ; Chopde Avinash ; Peters Eric ; Koutavas Jay, System for sending list of media data objects to server which may be read by client and receiving from the server indica.
Davis Richard A. (Boulder CO) Brittain Anthony J. (Boulder CO) Smith Richard A. (Lafayette CO), Telecommunication system for automatic switching between voice and visual data communications using forms.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.