Method and apparatus for transforming display data using multiple frame buffers in a display device

Methods and systems for transforming data in a system are provided. In one implementation, the method includes providing a first frame buffer, and providing a second frame buffer that is separate from the first frame buffer. The first frame buffer is configured to support a first format compatible with a format associated with an application program interacting with the system, and the second frame buffer is configured to support a second format compatible with a format associated with an output device coupled to the system. The method further includes transforming data provided by the application program from the first format supported by the first frame buffer to the second format supported by the second frame buffer for output on the output device to provide compatibility between the application program and the output device.

FIELD OF THE INVENTION

The present invention relates to device formats in a computer system, and more particularly to maintaining compatible device formats in device lists for computer systems with expanded device formats.

BACKGROUND OF THE INVENTION

In typical computer systems, application programs submit data in a predefined format for producing desired outputs on display devices. The data is normally stored in a frame buffer in the computer system. As shown inFIG. 1A, a typical system arrangement includes an application program10which interacts with and submits data to a computer system12. The computer system12includes a central processing unit (CPU)14coupled to a frame buffer16. The frame buffer16is further coupled to a digital-to-analog converter (DAC)18. The DAC18receives digital data from the frame buffer16and converts the digital data by well known techniques to analog data for output on a display device20. Of course, computer system12includes other components to perform other operations, the details of which are well known to those skilled in the art.

With the system arrangement as shown inFIG. 1A, the display device20may be one of a number of display device types, such as color, black and white, etc. Typically, the application program10is configured to support a format of at least one display device type. A device list, which describes the format of a frame buffer, such as the frame buffer16, normally exists within computer system12and provides the display device type for the application program10.

FIG. 1Bis a representation of a device list11. The device list11includes a plurality of data structures13A-13C, each of the data structures13A-13C representing a particular device, such as a monitor. Each of the data structures13A-13C include a plurality of data fields15A-15C, respectively, that indicate information about the device associated with that data structure13A-13C. Also within each data structure13A-13C there is typically a next device field17which points to the next data structure, as indicated by the arrows inFIG. 1B, thereby allowing for the linking of the data structures13A-13C to provide the device list11.

While the system arrangement as shown inFIG. 1Ais adequate for some computer systems, most application programs have difficulty supporting new formats developed to improve performance, since such improvements are typically done well after the application program has been developed. Additionally, attempting to change the application program to support such improvements is time-consuming and costly. Without the ability to communicate with a frame buffer operating in accordance with a new format, the application program is generally rendered ineffective, since the application cannot provide data in that new display format.

BRIEF SUMMARY OF THE INVENTION

With these aspects of the present invention, new formats are readily included in a computer system while maintaining compatibility with applications implementing old formats. The provision of frame buffers for the old formats ensures reception of data from the application programs, while the utilization of frame buffers with the new formats allows improved performance and reduced costs to be achieved. Additionally, the inclusion of frame buffers supporting new formats allows applications that also support the new formats to capably utilize them.

DETAILED DESCRIPTION OF THE INVENTION

Implementations of the present invention relates to transparently maintaining compatibility for application programs with computer systems having improved display formats. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. The present invention is not intended to be limited to the implementations shown but is to be accorded the widest scope consistent with the principles and features described herein.

FIG. 2presents a system arrangement in accordance with the present invention with like components fromFIG. 1numbered similarly. The system arrangement ofFIG. 2includes an application program10running on a computer system12′, such as an Apple Macintosh computer. Computer system12′ includes a CPU14and frame buffer16. In one implementation, the frame buffer16supports a known device format that provides compatibility for the device formats supported by the application program10. Computer system12′ further includes additional frame buffers22which represent a chosen number, e.g. 1 to n, of frame buffers supporting differing device formats for display data output on at least one display device20′. As used herein, device formats preferably refer to a resolution specification (number of dots per inch (dpi)) for a display device20′, a video standard, including but not limited to RGB, YUV, etc., for a display device20′, and/or a depth, e.g. a number of bits per pixel, of data that the frame buffer stores for a given display device20′. Further included in computer system12′ is transformation mechanism24. Transformation mechanism24is suitably provided as a software mechanism, hardware mechanism, or a combination of both, to appropriately transform data submitted by application program10to computer system12′ from a format compatible with the frame buffer16to a format compatible with at least one of the frame buffers22.

FIG. 3presents an operation for the components ofFIG. 2including transformation mechanism24in accordance with one implementation. The application program10suitably accesses a device list from computer system12′ to determine if a compatible display device exists (step30). By including the frame buffer16in the computer system12′, the application program10is ensured of recognizing a suitable device in the device list and accessing a compatible frame buffer in the computer system12′ to enable successful data transfer (step32). In one implementation, the data input to frame buffer16is not provided to a display device20′, but is transferred to RAM26and is transformed by the transformation mechanism24.

In accordance with one implementation, the transformation mechanism24also receives the data submitted to frame buffer16and transforms the data with the necessary format adjustments to one of the frame buffers22(step34). By way of example, one of the frame buffers22may provide a new format that supports an increase in the resolution, e.g., from 72 dpi to 144 dpi, for better output on a display device20. Transformation mechanism24suitably doubles the resolution by techniques that are well-known by those skilled in the art. Such a mechanism is described in “Digital Image Warping” by George Wolberg (Wolberg reference) which is published by IEEE Computer Society Press (1990). Alternatively, a frame buffer22may support a new format that reduces the number of bits stored per pixel, e.g., from 32 bits per pixel to 24 bits per pixel, with the transformation mechanism24eliminating a byte of data to reduce hardware storage requirements, as is well understood by those skilled in the art. Such a mechanism is described in “Computer Graphics Principles and Practices”, 2nd edition, by Foley, Van Dam, Feiner and Hughes (Van Dam reference) which is published by Addison-Wesley (1990).

In another new format to increase display options, a frame buffer22may support a change to a different video standard, such as from RGB (red-green-blue) standard to YUV standard. Transformation mechanism24then suitably performs such changes, for example, using techniques described in the Van Dam reference. Once transformation of the data is completed, the appropriate frame buffer22transfers the data from the application program10in the proper format for a display device20′ through DAC14(step36).

With the present invention, new formats can be developed to reduce costs and improve performance with transparent compatibility for programs developed to correspond with old formats. The ability to provide both the ‘real’ frame buffers, i.e., frame buffers22, that follow the new formats and the ‘alternate’ frame buffer, i.e., frame buffer16, that follows the old format in device lists of a computer system readily achieves better system operation without requiring the considerable time and expense of making changes to the application programs. Thus, improved flexibility for supporting a variety of formats developed for differing memory depths, differing resolutions, and differing color formats is realized.

Although the foregoing has been described for a display device environment, the principles of the present invention are readily applicable for other computer system component arrangements. For example, video cards supporting multiple apertures typically treat each aperture as a different mode. The card normally has to be put in the appropriate mode before making use of the aperture. With the use of “real” and “alternate” apertures in accordance with the present invention, the transformation mechanism renders switching between modes unnecessary and allows appropriate selection of a desired aperture to occur seamlessly.

Although the present invention has been described in accordance with the implementations shown, there could be variations to the implementations. For example, depths may include 1 bit, 8 bits, 24 bits, 32 bits, etc. per pixel. Further, although specific examples are provided as to the type of new formats possible, these are merely exemplary not restrictive of the present invention. Thus, the development of additional improvements is readily implemented in accordance with the present invention. Accordingly, many modifications may be made without departing from the scope of the present invention, the scope of which is defined by the following claims.