Video refresh compression
First Claim
Patent Images
1. A video refresh compression system comprising:
- (a) rendering means for rendering pixel data to form at least one video frame wherein the video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and wherein each of the plurality of display data elements are independently compressible with respect to each other;
(b) a full frame buffer having an input coupled to receive and store the pixel data from the rendering means and an output for providing uncompressed display data elements;
(c) a compressed frame buffer to store compressed display data elements having an input and an output;
(d) a data compressor having an input coupled to the output from the full frame buffer to receive and compress display data elements and an output coupled to the input on the compressed frame buffer;
(e) a data decompressor having an input coupled to the output from the compressed frame buffer and an output;
(f) tag means having a plurality of valid bits settable responsive to the data compressor, for validating compressed display data elements stored in the compressed frame buffer;
(g) display control circuitry, coupled and responsive to the tag means, to control sourcing of either uncompressed display data elements from the full frame buffer or compressed display data elements from the compressed frame buffer; and
,(h) a multiplexer having a first input coupled to the output from the full frame buffer, a second input coupled to the output from the data decompressor, a control input coupled to the display control circuitry, and an output for providing display data elements from the first and second inputs to form the video frame.
6 Assignments
0 Petitions
Accused Products
Abstract
A data compression apparatus and method of displaying graphics in a computer system employs a full frame buffer and compressed frame buffer wherein pixel data is sent to a display device and concurrently compressed and captured in parallel so that subsequent unchanged frames are regenerated directly from the compressed frame buffer.
-
Citations
24 Claims
-
1. A video refresh compression system comprising:
-
(a) rendering means for rendering pixel data to form at least one video frame wherein the video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and wherein each of the plurality of display data elements are independently compressible with respect to each other; (b) a full frame buffer having an input coupled to receive and store the pixel data from the rendering means and an output for providing uncompressed display data elements; (c) a compressed frame buffer to store compressed display data elements having an input and an output; (d) a data compressor having an input coupled to the output from the full frame buffer to receive and compress display data elements and an output coupled to the input on the compressed frame buffer; (e) a data decompressor having an input coupled to the output from the compressed frame buffer and an output; (f) tag means having a plurality of valid bits settable responsive to the data compressor, for validating compressed display data elements stored in the compressed frame buffer; (g) display control circuitry, coupled and responsive to the tag means, to control sourcing of either uncompressed display data elements from the full frame buffer or compressed display data elements from the compressed frame buffer; and
,(h) a multiplexer having a first input coupled to the output from the full frame buffer, a second input coupled to the output from the data decompressor, a control input coupled to the display control circuitry, and an output for providing display data elements from the first and second inputs to form the video frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A video refresh compression system comprising:
-
(a) rendering means for rendering pixel data to form at least one video frame wherein the video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and wherein each of the plurality of display data elements are independently compressible with respect to each other; (b) full frame buffer means, coupled to receive pixel data from the rendering means, for buffering and sourcing uncompressed display data elements; (c) compressed frame buffer means for buffering compressed display data elements; (d) data compressor means, coupled between the full frame buffer means and the compressed frame buffer means, for compressing the display data elements as the display data elements are sourced from the full frame buffer means and storing the display data elements in the compressed frame buffer means; (e) data decompressor means, coupled to the compressed frame buffer means, for decompressing the display data elements; (f) valid tag means, responsive to the data compressor means and including a valid bit for each compressed data element, for maintaining coherency between the full frame buffer means and the compressed frame buffer means; (g) display control means, coupled and responsive to the valid tag means, for controlling whether each display data element is sourced from either the full frame buffer means or the compressed frame buffer means; and
,(h) multiplexer means, coupled to the full frame buffer means, the data compressor means, and the display control means, for outputting display data elements to form the video frame. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A video refresh method wherein a video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and wherein each of the plurality of display data elements are independently compressible with respect to each other, comprising the steps of:
-
(a) rendering pixel data to a full frame buffer; (b) in response to display control circuitry, sending uncompressed display data elements from the full frame buffer to a display device; (c) concurrently compressing the uncompressed display data elements as it is sent to the display device and storing the compressed display data elements in a compressed frame buffer; (d) validating a plurality of valid bits corresponding to the plurality of compressed display data elements compressed in step (c); (e) on subsequent updates by the display control circuitry, decompressing the compressed display data elements in the compressed frame buffer for each of the compressed display data elements having corresponding valid bits set valid; and
,(f) sending to the display device the display data elements decompressed in step (e) and otherwise sending uncompressed display data elements from the full frame buffer as in step (b) to form a video frame. - View Dependent Claims (16, 17, 18)
-
-
19. A video refresh method wherein a video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and wherein each of the plurality of display data elements are independently compressible with respect to each other, comprising steps of:
-
(a) associating a first tag and a second tag with each of the plurality of display data elements of the video frame; (b) updating a display data element in a full frame buffer from a source of pixel data and setting the first tag of the display data element; (c) clearing the first tag and the second tag associated with a display data element when that display data element is output from the full frame buffer, and for each display data element that is compressible, compressing and storing the compressed display data element in a compressed frame buffer and setting the associated second tag as each display data element that is compressible is output from the full frame buffer; (d) outputting a display data element from the full frame buffer for video frame refresh if the associated first tag is set and the associated second tag is cleared; and
,(e) outputting and decompressing a display data element from the compressed frame buffer for video frame refresh if the associated first tag is not set and the associated second tag is set. - View Dependent Claims (20)
-
-
21. A computer system comprising:
-
(a) a display for displaying video frames wherein each video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and wherein each of the plurality of display data elements are independently compressible with respect to each; (b) a processor that provides pixel data; (c) a full frame buffer to store uncompressed display data elements having an input coupled to the processor to receive and store the pixel data and an output for providing the uncompressed display data elements; (d) a compressed frame buffer to store compressed display data elements having an input and an output; (e) a data compressor to compress display data elements having an input coupled to the output from the full frame buffer to receive and compress display data elements and an output coupled to the input on the compressed frame buffer; (f) a data decompressor having an input coupled to the output from the compressed frame buffer and an output; (g) a tag memory having a plurality of valid bits settable responsive to the data compressor, for validating each compressed display data element stored in the compressed frame buffer; (h) display control circuitry, coupled and responsive to the tag memory, to control sourcing of either uncompressed display data elements from the full frame buffer or compressed display data elements from the compressed frame buffer; and
,(i) a multiplexer having a first input coupled to the output from the full frame buffer, a second input coupled to the output from the data decompressor, a control input coupled to the display control circuitry, and an output responsive to the display control circuitry, for providing display data elements from the first and second inputs to form the video frame.
-
-
22. In a computer system having a display and a processor, a method of refreshing a video frame displayed on the display wherein the video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and each of the plurality of display data elements are independently compressible with respect to each other, comprising steps of:
-
(a) providing pixel data from the processor to a full frame buffer; (b) in response to display control circuitry, sending uncompressed display data elements from the full frame buffer to the display; (c) compressing the uncompressed display data elements as it is sent to the display and storing the compressed display data elements in a compressed frame buffer; (d) validating a plurality of valid bits corresponding to a plurality of compressed display data elements compressed in step (c); and
,(e) so long as the valid bit corresponding to each compressed display data element is valid, on subsequent updates by the display control circuitry, decompressing the compressed display data elements in the compressed frame buffer and sending it to the display and otherwise sending uncompressed display data elements from the full frame buffer to refresh the video frame on the display.
-
-
23. A computer system comprising:
-
(a) a display; (b) a processor that provides pixel data to form a video frame wherein the video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and wherein each of the plurality of display data elements are independently compressible with respect to each other; (c) a unified memory coupled to the processor and having an input and an output and including; (i) a full frame buffer to store uncompressed display data elements; and (ii) a compressed frame buffer to store compressed display data elements; (d) a data compressor having an input coupled to the full frame buffer and an output coupled to the compressed frame buffer, to concurrently compress uncompressed display data elements as the uncompressed display data elements are sourced by the full frame buffer; (e) a data decompressor having an input coupled to the output from the unified memory and an output to decompress compressed display data elements; (f) a tag memory having a plurality of valid bits for validating each compressed display data element stored in the compressed frame buffer; (g) display control circuitry coupled and responsive to the tag memory, to control sourcing of either uncompressed display data elements from the full frame buffer or compressed display data elements from the compressed frame buffer; and
,(h) a multiplexer having a first input coupled to the unified memory, a second input coupled to the output from the data decompressor, a control input coupled to the display control circuitry, and an output responsive to the display control circuitry, for providing display data elements to the display to refresh each video frame from the first and second inputs of the multiplexer.
-
-
24. In a computer system having a display, a processor, and unified memory, a method of refreshing each video frame on the display comprising steps of:
-
(a) providing pixel data from the processor to a full frame buffer residing in unified memory to form video frames wherein each video frame comprises a plurality of display data elements and each display data element comprises a plurality of pixel data, and wherein each of the plurality of display data elements are independently compressible with respect to each other; (b) in response to display control circuitry, sending uncompressed display data elements from the full frame buffer to the display; (c) compressing the uncompressed display data elements when the uncompressed display data elements are sent to the display and storing the compressed display data elements in a compressed frame buffer residing in unified memory; (d) validating a plurality of valid bits corresponding to the compressed display data elements compressed in step (c); and
,(e) so long as the valid bit corresponding to each compressed display data element is valid, on subsequent updates by the display control circuitry, decompressing the compressed display data elements in the compressed frame buffer and sending it to the display and otherwise sending uncompressed display data elements from the full frame buffer to refresh the video frame on the display.
-
Specification