Computer graphics processing and selective visual display system – Computer graphic processing system – Graphic command processing
Reexamination Certificate
2002-07-26
2004-12-07
Tung, Kee M. (Department: 2676)
Computer graphics processing and selective visual display system
Computer graphic processing system
Graphic command processing
C345S581000, C345S501000, C345S530000, C345S543000, C345S549000, C345S559000, C345S574000
Reexamination Certificate
active
06828976
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the field of computer displays, and in particular to a method and apparatus for hardware acceleration of graphical fill in display systems.
Sun, Sun Microsystems, the Sun logo, Solaris and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
2. Background Art
A typical graphics system has a controller and display memory. The controller executes graphics commands, including writing data to and reading data from the display memory. Some graphics systems use synchronous graphics random access memory (SGRAM) for display memory. SGRAM contains logic to perform some commands internally. For example, SGRAM executes a command to fill a region of memory with a constant by storing one or two colors from a command source. Then, SGRAM accepts command words consisting of individual bits (i.e., part of a bit-mask) selecting between the stored colors. SGRAM writes one or the other of the colors as instructed to by the bit-mask.
SGRAM is more expensive than dynamic random access memory (DRAM). As a result, many graphics systems use DRAM instead of SGRAM to reduce cost. However, since DRAM lacks the logic to perform some commands internally, graphics systems using DRAM are typically slower than graphics systems using SGRAM. This problem can be better understood by a discussion of display systems in a multi-tier application architecture.
Multi-Tier Application Architecture
In the multi-tier application architecture, a client communicates requests to a server for data, software and services, for example, and the server responds to the requests. The server's response may entail communication with a database management system for the storage and retrieval of data.
The multi-tier architecture includes at least a database tier that includes a database server, an application tier that includes an application server and application logic (i.e., software application programs, functions, etc.), and a client tier. The data base server responds to application requests received from the client. The application server forwards data requests to the database server.
The client tier typically consists of a computer system that provides a graphic user interface (GUI) generated by a client, such as a browser or other user interface application. Conventional browsers include Internet Explorer and Netscape Navigator, among others. The client generates a display from, for example, a specification of GUI elements (e.g., a file containing input, form, and text elements defined using the Hypertext Markup Language (HTML)) and/or from an applet (i.e., a program such as a program written using the JavaTM programming language, or other platform independent programming language, that runs when it is loaded by the browser).
Further application functionality is provided by application logic managed by application server in application tier. The apportionment of application functionality between client tier and application tier is dependent upon whether a “thin client” or “thick client” topology is desired. In a thin client topology, the client tier (i.e., the end user's computer) is used primarily to display output and obtain input, while the computing takes place in other tiers (i.e., away from the thin client). A thick client topology, on the other hand, uses a more conventional general purpose computer having processing, memory, and data storage abilities. The database tier contains the data that is accessed by the application logic in the application tier. A database server in the database tier manages the data, its structure and the operations that can be performed on the data and/or its structure.
The application server can include applications such as a corporation's scheduling, accounting, personnel and payroll applications, for example. The application server also manages requests for the applications that are stored therein. The application server can also manage the storage and dissemination of production versions of application logic. The database server manages the database(s) that manage data for applications. The database server responds to requests to access the scheduling, accounting, personnel and payroll applications' data, for example.
A connection is used to transmit data between client tier, application tier, and may also be used to transfer the application logic to client tier. The client tier can communicate with the application tier via, for example, a Remote Method Invocator (RMI) application programming interface (API) available from Sun Microsystems™. The RMI API provides the ability to invoke methods, or software modules, that reside on another computer system. Parameters are packaged and unpackaged for transmittal to and from the client tier. The connection between the application server and the database server represents the transmission of requests for data and the responses to such requests from applications that reside in the application server.
Elements of the client tier, application tier and database tier (e.g., the client, the application server, and the database server) may execute within a single computer. However, in a typical system, elements of the client tier, application tier and database tier may execute within separate computers interconnected over a network such as a LAN (local area network) or WAN (wide area network).
Display Systems
Display systems in the multi-tier application architecture are used to arrange display information for presentation to a user on a display device (e.g., a monitor). Typically, a display system comprises display memory and a display controller in the client tier. The display memory is frequently DRAM and contains pixel color information for each pixel of the display device. The display controller updates the data in the display memory and retrieves data from the display memory to send to the display device.
Typically, thousands, millions or even billions of color value possibilities are available for storage in each display memory location. Frequently, however, the same one or two values are found in many locations. For example, displaying a graphic of a stop sign results in a large number of the display memory locations storing the same value for red. In another example, a text window having a black background and white text results in a large number of display memory locations storing either the value for black or the value for white.
Individually reading and writing each display memory location having the same value is inefficient. SGRAM is sometimes used to speed up graphical fills of one or two colors. The SGRAM uses stored color values, bit-masks and internal logic to perform graphical fills more quickly (typically 2 to 10 times more quickly) than graphical fills using DRAM in typical graphics systems. However, SGRAM is significantly more expensive than DRAM.
SUMMARY OF THE INVENTION
Embodiments of the present invention are directed to a method and apparatus for hardware acceleration of graphical fill in display systems. In one embodiment of the present invention, a bit-mask is maintained. In one embodiment, the bit-mask, termed the “filled color bitmap”, has one bit for each pixel of the display data. In another embodiment, a register, termed the “filled color register”, capable of storing a single color value is maintained.
In one embodiment, all values in the filled color bitmap are initialized to 0. When a write command is executed to fill a portion of the display memory with the same value that is stored in the filled color register, the value is not written to display memory. Instead, the bits in the filled color bitmap corresponding to the portion of display memory are set equal to 1. Similarly, when a write command is executed to fill a portion of the display memory with a different value from the value stored in the filled color register, the value is written to display memory and the bits in the filled color bitmap corresponding to the portion of display memory are se
Martine & Penilla LLP
Sajous Wesner
Tung Kee M.
LandOfFree
Method and apparatus for hardware acceleration of graphical... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for hardware acceleration of graphical..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for hardware acceleration of graphical... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3272525