Modified high dynamic range color decompression
First Claim
1. A method of decompressing high dynamic range data represented in a compressed format, comprising:
- determining an endpoint compression mode that is specified by the compressed format;
extracting a first decompressed endpoint from a compressed endpoint field of the compressed format;
extracting one or more remaining compressed endpoints from the compressed endpoint field of the compressed format;
computing, using a processor, a second decompressed endpoint when the endpoint compression mode indicates that the one or more remaining compressed endpoints are encoded as differences;
computing a third decompressed endpoint and a fourth decompressed endpoint when the endpoint compression mode indicates that dual endpoint pair compression is used to encode the high dynamic range data;
extracting compressed indices from the compressed format;
decompressing the compressed indices to produce decompressed indices that include an index for each pixel in a fixed sized block; and
computing a decompressed high dynamic range value for each channel of each of the pixels in the fixed size block using the first decompressed endpoint and the second decompressed endpoint or the first decompressed endpoint, the second decompressed endpoint, the third decompressed endpoint, and the fourth decompressed endpoint and the decompressed indices.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for representing high dynamic range data in compressed formats with a fixed size block allow high dynamic range data to be stored in less memory. The compressed formats use 8 bits per pixel. A first compressed format includes two endpoint values and compressed indices for the pixels in the block. A second compressed format includes four endpoint values, a partition index that specifies a mask for each pair of the four endpoint values, and compressed indices for the pixels in the block. The two formats may be used for various blocks within a single compressed image and mode bits are included to distinguish between the two formats. Furthermore, each endpoint value may be encoded using an endpoint compression mode that is also specified by the mode bits. Compressed high dynamic range values represented in either format may be efficiently decompressed in hardware.
23 Citations
17 Claims
-
1. A method of decompressing high dynamic range data represented in a compressed format, comprising:
-
determining an endpoint compression mode that is specified by the compressed format; extracting a first decompressed endpoint from a compressed endpoint field of the compressed format; extracting one or more remaining compressed endpoints from the compressed endpoint field of the compressed format; computing, using a processor, a second decompressed endpoint when the endpoint compression mode indicates that the one or more remaining compressed endpoints are encoded as differences; computing a third decompressed endpoint and a fourth decompressed endpoint when the endpoint compression mode indicates that dual endpoint pair compression is used to encode the high dynamic range data; extracting compressed indices from the compressed format; decompressing the compressed indices to produce decompressed indices that include an index for each pixel in a fixed sized block; and computing a decompressed high dynamic range value for each channel of each of the pixels in the fixed size block using the first decompressed endpoint and the second decompressed endpoint or the first decompressed endpoint, the second decompressed endpoint, the third decompressed endpoint, and the fourth decompressed endpoint and the decompressed indices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for decompressing high dynamic range data represented in a compressed format, comprising:
-
an endpoint computation unit, comprising a processor and a memory, configured to determine an endpoint compression mode that is specified by the compressed format; extract a first decompressed endpoint from a compressed endpoint field of the compressed format; extract one or more remaining compressed endpoints from the compressed endpoint field of the compressed format; compute a second decompressed endpoint when the endpoint compression mode indicates that the one or more remaining compressed endpoints are encoded as differences; and compute a third decompressed endpoint and a fourth decompressed endpoint when the endpoint compression mode indicates that dual endpoint pair compression is used to encode the high dynamic range data; an index computation unit configured to extract compressed indices from the compressed format; and decompress the compressed indices to produce decompressed indices that include an index for each pixel in a fixed sized block; and a pixel value computation unit coupled to the endpoint computation unit and the index computation unit, and configured to compute a decompressed high dynamic range value for each channel of each of the pixels in a fixed size block using the first decompressed endpoint and the second decompressed endpoint or the first decompressed endpoint, the second decompressed endpoint, the third decompressed endpoint, and the fourth decompressed endpoint and the decompressed indices. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification