Patent US5936616A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5936616A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for accessing and displaying a compressed display image in a computer system

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1996-08-07
•
Granted: 1999-08-10
•
Expires: 2016-08-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A display controller, implemented in software or hardware, maintains the primary display image visible on a computer monitor in compressed subregions or chunks. The controller emulates a conventional frame buffer by making the compressed image appear as if it has a linear address space. Most of the image is compressed and the remainder is selectively decompressed and cached to satisfy read and write requests. To display the image, the controller decompresses the display image's constituent subregions and buffers the decompressed data so that it can be scanned out to a display monitor.

Inventors

  • 👤 John G. Torborg, Jr.
  • 👤 James E. Veres
  • 👤 Om Kumar Sharma
  • 👤 George Easton Scott, III
  • 👤 William Chambers Powell, III

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 02:41
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0875; G09; G09G; G09G5/00; G09G5/36; G09G5/39; G09G2340/00; G09G2340/02; G09G2360/00; G09G2360/12; G09G2360/121

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 171 words
A compressed display image controller comprising: a compressed memory for storing compressed subregions of a display image; a cache for storing decompressed subregions of the display image; a compressor in communication with the cache for compressing the decompressed subregions of the display image stored in the cache; a decompressor in communication with the compressed memory for decompressing a compressed subregion of the display image, and in communication with the cache for placing the decompressed subregion in the cache; and a virtual frame buffer controller in communication with the cache for receiving an access request for a pixel in the display image, for determining whether the pixel is in the cache, and if not, for issuing a request to the decompressor to decompress a compressed subregion including the pixel; and a compositor in communication with the compressed memory for decompressing the compressed subregions of the display image and for buffering at least a portion of the decompressed display image as the decompressed display image is being read to refresh a display monitor.
Claim 2
Dependent Claim 171 words
A compressed display image controller comprising: a compressed memory for storing compressed subregions of a display image; a cache for storing decompressed subregions of the display image; a compressor in communication with the cache for compressing the decompressed subregions of the display image stored in the cache; a decompressor in communication with the compressed memory for decompressing a compressed subregion of the display image, and in communication with the cache for placing the decompressed subregion in the cache; and a virtual frame buffer controller in communication with the cache for receiving an access request for a pixel in the display image, for determining whether the pixel is in the cache, and if not, for issuing a request to the decompressor to decompress a compressed subregion including the pixel; and a compositor in communication with the compressed memory for decompressing the compressed subregions of the display image and for buffering at least a portion of the decompressed display image as the decompressed display image is being read to refresh a display monitor.
Claim 3
Dependent Claim 28 words
The controller of claim 1 wherein the virtual frame buffer controller presents a linear address space to allow random access to each pixel in the compressed display image.
Claim 4
Dependent Claim 18 words
The controller of claim 2 wherein the compressed desktop display image is comprised of variable sized compressed subregions.
Claim 5
Dependent Claim 20 words
The controller of claim 3 wherein the decompressor decompresses the variable sized compressed subregions using a lossless form of decompression.
Claim 6
Dependent Claim 20 words
The controller of claim 3 wherein the decompressor decompresses the variable sized compressed subregions using a lossy form of decompression.
Claim 7
Dependent Claim 23 words
The controller of claim 1 wherein the virtual frame buffer controller includes virtual frame buffer logic in communication with a digital signal processor.
Claim 8
Dependent Claim 29 words
The controller of claim 1 wherein the virtual frame buffer controller comprises a series of software instructions executing on a computer in communication with the cache and compressed memory.
Claim 9
Dependent Claim 14 words
The controller of claim 1 wherein the compressed subregions comprise variable sized compressed subregions.
Claim 10
Independent Claim 95 words
A method for accessing a compressed display image comprising: receiving an access request to access a pixel at a pixel location in a linear addressed frame buffer; storing a decompressed portion of the linear addressed frame buffer in a cache; storing a compressed portion of the linear addressed frame buffer in compressed memory; in response to the access request, determining whether the pixel is in the cache; fetching a compressed subregion having the pixel when the pixel is not in the cache; decompressing the compressed subregion; and allowing the access of the pixel to occur.
Claim 11
Independent Claim 95 words
A method for accessing a compressed display image comprising: receiving an access request to access a pixel at a pixel location in a linear addressed frame buffer; storing a decompressed portion of the linear addressed frame buffer in a cache; storing a compressed portion of the linear addressed frame buffer in compressed memory; in response to the access request, determining whether the pixel is in the cache; fetching a compressed subregion having the pixel when the pixel is not in the cache; decompressing the compressed subregion; and allowing the access of the pixel to occur.
Claim 12
Dependent Claim 19 words
The method of claim 9 including repetitively rejecting the access request until the compressed subregion is fetched and decompressed.
Claim 13
Dependent Claim 45 words
The method of claim 9 wherein the access request is a write request; and further including: writing a new pixel into the cache; and after writing the new pixel to the cache, decompressing the compressed region, and merging the new pixel into the decompressed subregion.
Claim 14
Dependent Claim 55 words
The method of claim 11 wherein the merging step comprises merging the new pixel in the cache with a decompressed subregion of the frame buffer including the pixel location; and compressing the decompressed subregion including the merged pixel from the merging step; decompressing the compressed subregion including the merged pixel; and displaying the merged pixel.
Claim 15
Dependent Claim 26 words
The method of claim 11 wherein the merging step comprises merging the new pixel in the cache with a decompressed pixel; and displaying the merged pixel.
Claim 16
Dependent Claim 28 words
The method of claim 9 wherein the access request is a read request, and wherein the read request is allowed only after the pixel is in the cache.
Claim 17
Independent Claim 94 words
A method for emulating a linear addressed frame buffer comprising: storing variable sized, compressed subregions of a display image; storing a decompressed portion of the display image in a cache; receiving a request to access a pixel in the display image in a linear address format; and determining whether the requested pixel is in the decompressed portion, and if so, directing the request to a location of the pixel in the cache, and if not, rejecting the request, and decompressing a compressed subregion including the pixel and placing the decompressed subregion in the cache.
Claim 18
Independent Claim 94 words
A method for emulating a linear addressed frame buffer comprising: storing variable sized, compressed subregions of a display image; storing a decompressed portion of the display image in a cache; receiving a request to access a pixel in the display image in a linear address format; and determining whether the requested pixel is in the decompressed portion, and if so, directing the request to a location of the pixel in the cache, and if not, rejecting the request, and decompressing a compressed subregion including the pixel and placing the decompressed subregion in the cache.
Claim 19
Dependent Claim 65 words
The method of claim 15 wherein the request to access the pixel is a write request; and further including: writing a new pixel to the cache; associating the new pixel with an overwrite flag; repeating the writing and associating steps; decompressing a compressed subregion including pixel locations corresponding to the new pixels in the cache; and selectively overwriting the new pixels into the decompressed subregion.
Claim 20
Dependent Claim 30 words
The method of claim 15 further including: decompressing the compressed subregions; and converting the decompressed subregions into control signals used to make the display image visible on a display monitor.
Claim 21
Dependent Claim 19 words
The method of claim 15 wherein the variable sized compressed subregions are compressed using a lossless form of compression.
Claim 22
Dependent Claim 19 words
The method of claim 15 wherein the variable sized compressed subregions are compressed using a lossy form of compression.
Claim 23
Dependent Claim 24 words
The method of claim 18 wherein the lossless form of compression includes compressing blocks of the display image using Huffman and run length coding.

References Cited (Backward Citations)

US5179651A Cited
US5263136A Cited
US5796864A Cited
US5450562A Cited
US5740278A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-09 2003-02-08 2003-08-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-09 2007-02-08 2007-08-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-09 2011-02-08 2011-08-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag