Method and System for Multiple 3-D Graphic Pipeline Over a Pc Bus
First Claim
1. A system for improving the parallelization of image processing, using one or more parallelization modes, wherein said image that is displayed on at least one computer screen by one or more Graphic Processing Units (GPUs), comprising at least:
- a. one or more software applications, for issuing graphics commands;
b. one or more graphic libraries, for storing data used to implement said graphics commands;
c. one or more Software Hub Drivers, for controlling a Hardware Hub, for interacting with the operation system of said computer and said graphic libraries, for performing real-time analysis of a data stream, from which frames of said image are generated, for determining the parallelization mode of each GPU, and for forwarding said data stream or a portion thereof to each GPU;
d. one or more GPU Drivers, for allowing said GPUs to interact with said graphic libraries; and
e. at least one I/O module for interconnecting between said Software module and said Hardware Hub, wherein, said Hardware Hub distributes, for each frame, between said GPUs, graphic commands and said data stream or a portion thereof, and composites a graphics output for display, using the outputs obtained from at least one GPU, while reconfiguring, whenever required, said parallelization mode of each said GPU, for said each frame.
5 Assignments
0 Petitions
Accused Products
Abstract
Method and system for improving the parallelization of image processing, using one or more parallelization modes, wherein the4 image that is displayed on at least one computer screen by one or more Graphics Processing Units (GPUs) (130). Software applications (121) are provided for issuing graphics command and graphics libraries (122) are provided for storing data used to implement the graphics commands. A Software Hub Drivers (123) is provided for controlling a Hardware Hub (110), for performing real-time analysis of a data stream, from which frames of the image are generated, for determining the parallelization mode of each GPU, and for forwarding the data stream or a portion thereof to each GPU. GPU Drivers (124) are provided for allowing the GPUs to interact with the graphics libraries and an I/O module (160) is provided for interconnecting between the Software module and the Hardware Hub.
-
Citations
38 Claims
-
1. A system for improving the parallelization of image processing, using one or more parallelization modes, wherein said image that is displayed on at least one computer screen by one or more Graphic Processing Units (GPUs), comprising at least:
-
a. one or more software applications, for issuing graphics commands;
b. one or more graphic libraries, for storing data used to implement said graphics commands;
c. one or more Software Hub Drivers, for controlling a Hardware Hub, for interacting with the operation system of said computer and said graphic libraries, for performing real-time analysis of a data stream, from which frames of said image are generated, for determining the parallelization mode of each GPU, and for forwarding said data stream or a portion thereof to each GPU;
d. one or more GPU Drivers, for allowing said GPUs to interact with said graphic libraries; and
e. at least one I/O module for interconnecting between said Software module and said Hardware Hub, wherein, said Hardware Hub distributes, for each frame, between said GPUs, graphic commands and said data stream or a portion thereof, and composites a graphics output for display, using the outputs obtained from at least one GPU, while reconfiguring, whenever required, said parallelization mode of each said GPU, for said each frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 14)
-
-
8. A method for improving the parallelization of image processing, using one or more parallelization modes, wherein said image that is displayed on at least one computer screen by one or more Graphic Processing Units (GPUs), comprising at least:
-
a. providing one or more software applications, for issuing graphics commands;
b. providing one or more graphic libraries, for storing data used to implement said graphics commands;
c. providing one or more Software Hub Drivers, for controlling a Hardware Hub, for interacting with the operation system of said computer and said graphic libraries, for performing real-time analysis of a data stream, from which frames of said image are generated, for determining the parallelization mode of each GPU, and for forwarding said data stream or a portion thereof to each GPU; and
d. providing one or more GPU Drivers, for allowing said GPUs to interact with said graphic libraries. e. providing at least one I/O module for interconnecting between said Software Hub Drivers and said Hardware Hub; and
f. for each frame, distributing between said GPUs and by means of said Hardware Hub, graphic commands and said data stream or a portion thereof, and compositing a graphics output for display, using the outputs obtained from at least one GPU, while reconfiguring, whenever required, said parallelization mode of each said GPU, for said each frame. - View Dependent Claims (9, 10, 11, 12, 13, 15)
-
-
16. A computer system capable of displaying images of 3-D objects modeled within computer system, comprising:
-
(1) an operating system (OS);
(2) an I/O module;
(3) a graphics processing subsystem interfaced with said I/O module;
(4) one or more software applications for generating a stream of geometrical data and graphics commands supporting (i) the modeling of an object having 3D geometrical characteristics and (ii) the viewing of images of said object during an interactive process between said computer system and a user thereof;
(5) one or more graphic libraries for storing data used to implement said stream of geometrical data and graphics commands;
(6) at least one display surface for displaying said images by graphically displaying frames of pixel data produced by said graphics processing subsystem; and
said graphics processing subsystem including;
(a) a plurality of Graphic Processing Units (GPUs) arranged in a parallel architecture and operating according to one or more parallelization modes of operation so that each said GPU is allowed to process data in a parallel manner on the time, image and object domains, said one or more parallelization modes of operation including (i) a time division mode wherein each GPU renders a different frame of pixel data to be displayed at a different moment of time, (ii) an image division mode wherein each GPU renders a subset of the pixels used to compose each frame of pixel data to be displayed, and (iii) an object division mode wherein the object which is to be displayed as a frame of pixels, is decomposed into said stream of geometrical data and graphic commands which are distributed to said GPUs for rendering the frames of pixel data compositing the images to be displayed on said at least one display surface, wherein said frames of pixel data are (i) generated by said GPUs processing the stream of geometrical data and graphical commands while operating in one or more of said parallelization modes, and (ii) displayed on said at least one display surface by one or more of said GPUs;
(b) a Hardware Hub, interfacing with said I/O module and with said GPUs, for distributing the decomposed stream of geometrical data and graphic commands among said GPUs, compositing pixel data output from said GPUs for display according to different parallelization modes, and managing said parallelization mode of each said GPU in the parallel architecture;
(c) one or more software hub drivers, installed on said computer system, (1) for performing the following functions;
(1) controlling said hardware hub, (2) interacting with the OS and said graphic libraries, (3) performing real-time analysis of said stream of geometrical data and said graphics commands, from which frames of said pixel data are generated, (4) determining the parallelization mode of each said GPU, and (5) forwarding said graphical commands and said geometrical data stream or a portion thereof to each said GPU; and
(d) one or more GPU drivers, installed on said computer system, for allowing said GPUs to interact with said graphic libraries;
wherein, for each image of said object to be generated and displayed, said hardware hub distributes between said GPUs, said graphic commands and said stream of geometrical data or a portion thereof, and composites a pixel data output using the pixel data outputs obtained from at least one said GPU, so as to generate a corresponding frame of pixel data to be displayed on said at least one display screen. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method of generating frames of pixel data of an object for display using a computer system including (1) an operating system (OS), (2) an I/O module, (3) one or more software applications for generating a stream of geometrical data and graphics commands supporting (i) the modeling of an object having 3D geometrical characteristics and (ii) the viewing of images of said object during an interactive process between said computer system and a user thereof, (4) one or more graphic libraries for storing data used to implement said stream of geometrical data and graphics commands, and (5) at least one display surface for displaying said images by graphically displaying frames of pixel data produced by said graphics processing subsystem, said method comprising the steps of:
-
(a) interfacing a Hardware Hub with said I/O module;
(b) interfacing with said hardware hub, a plurality of Graphic Processing Units (GPUs) arranged in a parallel architecture and operating according to one or more parallelization modes of operation so that each said GPU is allowed to process data in a parallel manner on the time, image and object domains, said one or more parallelization modes of operation including (i) a time division mode wherein each GPU renders a different frame of pixel data to be displayed at a different moment of time, (ii) an image division mode wherein each GPU renders a subset of the pixels used to compose each frame of pixel data to be displayed, and (iii) an object division mode wherein the object which is to be displayed as a frame of pixel, is decomposed into said stream of geometrical data and graphic commands which are thereafter distributed to said GPUs for rendering the frames of pixel data compositing the images to be displayed on said at least one display surface, and each said GPU having a corresponding frame buffer for storing a frame of pixel data generated by said GPU;
(c) installing within said computer system, one or more software hub drivers, for performing the following functions;
(1) controlling said Hardware Hub, (2) interacting with said OS and said graphic libraries, (3) performing real-time analysis of said graphic commands and said geometrical data stream, from which frames of pixel data are generated, (4) determining the parallelization mode of each GPU, and (5) forwarding said graphic commands and said geometrical data stream or a portion thereof to each GPU;
(d) installing within said computer system, one or more GPU Drivers, for allowing said GPUs to interact with said graphic libraries;
(e) for each image of said object to be generated and displayed, said Hardware Hub distributing between said GPUs, said graphic commands and said stream of geometrical data or a portion thereof, said GPUs processing the stream of geometrical data and graphical commands while operating in said one or more of said parallelization modes, and compositing a pixel data output using the pixel data outputs obtained from at least one said GPU, so as to generate a corresponding frame of pixel data to be displayed on said at least one display screen. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A graphics processing subsystem for use in a computer system capable of displaying images of 3-D objects modeled therewithin, said computer system including
(1) an operating system (OS); -
(2) an I/O module;
(3) one or more software applications for generating a stream of geometrical data and graphics commands supporting (i) the modeling of an object having 3D geometrical characteristics and (ii) the viewing of images of said object during an interactive process between said computer system and a user thereof;
(4) one or more graphic libraries for storing data used to implement said stream of geometrical data and graphics commands;
(5) at least one display surface for displaying said images by graphically displaying frames of pixel data produced by said graphics processing subsystem, and said graphics processing subsystem comprising;
(a) a plurality of Graphic Processing Units (GPUs) arranged in a parallel architecture and operating according to one or more parallelization modes of operation so that each said GPU is allowed to process data in a parallel manner on the time, image and object domains, wherein frames of pixel data for display on said display surface are (i) generated by said GPUs processing the stream of geometrical data and graphical commands while operating in one or more of said parallelization modes, and (ii) displayed on said at least one display surface by one or more of said GPUs;
(b) a Hardware Hub, interfacing with said I/O module and with said GPUs, for distributing the decomposed stream of geometrical data and graphic commands among said GPUs, compositing pixel data output from said GPUs for display according to different parallelization modes, and managing said parallelization mode of each said GPU in the parallel architecture;
(c) one or more software hub drivers, (1) for performing the following functions;
(1) controlling said Hardware Hub, (2) interacting with the OS and said graphic libraries, (3) performing real-time analysis of said stream of geometrical data and said graphics commands, from which frames of said pixel data are generated, (4) determining the parallelization mode of each said GPU, and (5) forwarding said graphical commands and said geometrical data stream or a portion thereof to each said GPU; and
(d) one or more GPU drivers, installed on said computer system, for allowing said GPUs to interact with said graphic libraries; and
wherein, for each image of said object to be generated and displayed, said Hardware Hub distributes between said GPUs, said graphic commands and said stream of geometrical data or a portion thereof, and composites a pixel data output using the pixel data outputs obtained from at least one said GPU, so as to generate a corresponding frame of pixel data to be displayed on said at least one display screen. - View Dependent Claims (34, 35, 36, 37, 38)
-
Specification