Method and apparatus for addressing multiple frame buffers

Computer graphics processing and selective visual display system – Computer graphics display memory system – Frame buffer

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S543000, C345S544000, C345S531000, C345S537000, C348S552000

Reexamination Certificate

active

06411302

ABSTRACT:

CROSS-REFERENCE TO RELATED APPLICATIONS
Not Applicable
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not Applicable
REFERENCE TO A MICROFICHE APPENDIX
Not Applicable
BACKGROUND OF THE INVENTION
This invention relates to image data storage, especially to an improved method of addressing high resolution image data that is stored in a plurality of frame buffers where each of the frame buffers are coupled to one or more video streams.
It is well known that the majority of computers and software applications in current operation utilize a graphical user interface (GUI) due to the relative ease of use provided compared to older text based user interfaces. Certain users of computer systems and display systems benefit from the use of multiple display devices to allow more image data to be displayed simultaneously. For example, this can be for a single software application to have a display area that spans multiple display devices to effectively create a larger higher resolution display. Alternately, a user may desire to have multiple software applications or display windows distributed across the multiple displays, or a computer can be used for multiple users with each of the display devices displaying the software applications of the respective users.
In order to allow display controllers of varying types to be utilized in a computer system, computer operating systems utilize software often referred to as a device driver that is specifically written for a type of display controller. A device driver for a display accepts standardized hardware independent graphics commands from the operating system or from a software application, the device driver then generates the appropriate hardware dependent commands or memory accesses to load the image data into the video memory. Certain older computer operating systems such as Microsoft Windows 3.1 required the device driver to implement all the software functionality required by the graphics commands. Newer operating systems recommend for a device driver to provide only the software functionality for the graphics commands that can be accelerated by the display controller allowing for less device driver software to be written increasing reliability and decreasing development time. An operating system software component such as the DIBENGINE of Microsoft Windows 95 processes the graphics commands not handled by the device driver. Such a device driver is sometimes referred to as a mini-driver. In order for the operating system to be able to process graphics commands, the operating system specifies requirements for the display controller and the memory used for storing display surfaces, such a requirement is for the surface memory to be addressable as a frame buffer. By providing a surface memory that is accessible as a frame buffer the benefits of implementing a mini-driver can be obtained, this is without regard to whether a single image is displayed across the surface or if multiple display windows are distributed across the surface. Various operating systems including, but not limited to Windows 95, Windows 98, Windows CE 2.0 and Windows NT 4.0 recommend the use of a display device that provides a frame buffer. One reference describing the benefits is Microsoft Windows 95 DDK (Device Driver Kit) under the section titled Display Mini-driver Guidelines.
A frame buffer is often defined as a block of addressable memory space for storing image data, where the first address of a collection of addressable locations for storing a pixel is determined from the X coordinate, the Y coordinate, the pixel size or number of addressable locations for storing a pixel, a base address, a pitch and a start address offset from the base address to the storage of the pixel having X and Y coordinates of zero. The pitch is the difference in addresses between the storage of adjacent scan lines which can be greater than the width of a scan line where the width is the number of addresses for storing the pixels in a scan line. The collection of addressable locations for storing a pixel can contain one or more addressable locations, for example a video mode that uses a palette can use a single byte that stores an index into a color table, alternately the collection can contain three bytes for storing the red green and blue components of a color. A frame buffer by this definition differs from a video memory in that a video memory can contain multiple frame buffers for example to store multiple display surfaces.
A display surface that can include the entire graphics area accessed by the operating system for a particular video mode can be used as the primary display surface by the operating system, where the video mode specifies the horizontal resolution, vertical resolution and the pixel storage format. This graphics area is sometimes referred to as the desktop of the GUI. The desktop can include a larger area than that viewable at one time by a display system, this is sometimes referred to as a logical desktop with the user given access to software controls for panning to a desired area within the logical desktop.
Another benefit of a display system providing a frame buffer is that software applications can bypass the Graphics Device Interface (GDI) and device driver and access the primary display surface memory directly maximizing the speed of updating the image data. Display surfaces created for use in Microsoft's DirectDraw are accessible as frame buffers. A reference describing how an application can access a display surface is in Microsoft's Platform SDK and is titled Accessing Surface Memory Directly and is under Graphics and Multimedia Services in the Microsoft DirectX 6.0 section.
On processors such as the Intel 386, 486 and Pentium types or compatibles, logical addresses are added to a segment base address to form what are referred to as linear addresses. The linear addresses are then mapped to physical addresses via page directories and page tables. Computer systems containing memory management hardware with address translation capability such as this allow a virtual memory system to be provided that allows more memory to be seen by the software than is contained in the computers RAM by switching or paging between memory blocks contained on disk and in RAM. Switching is based on whether linear pages are marked as present or not present in RAM. When an address is generated by software that is not present in RAM a page fault is generated and a page fault exception handler performs a page switch and the faulting memory access is re-executed all transparently to the application software. This however results in a reduced execution time due to the page fault handling software and the relatively slow disk access time compared to RAM access time.
For display controllers with a single physical frame buffer, a contiguous number of linear address pages are sequentially mapped to contiguous physical pages in the frame buffer. Most current technology display controllers for driving a single display device provide access to video memory as a frame buffer. However, certain older technology display controllers for driving a single display device do not provide a frame buffer for accessing the video memory, but provide access to the video memory by a technique known as bank switching. Bank switching is used to allow a CPU to access one megabyte of video memory for example by alternately switching one of sixteen banks of sixty-four kilobytes each into the memory address region A
0000
to AFFFF to allow software running in real mode to access the entire video memory. When Microsoft introduced Windows 95 there were still many personal computers (PCs) in use that utilized these older technology banked switched display controllers, so in order to allow these bank switching display controllers to utilize a mini-driver, Microsoft provides software known as a Virtual Flat Frame Buffer Device (VFLATD). The VFLATD copies bank switching software written for a specific display controller into a page fault handling routine to allow the page fault handler to switch

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for addressing multiple frame buffers 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 addressing multiple frame buffers, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for addressing multiple frame buffers will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2910671

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.