Low dynamic range 3-channel color compression
First Claim
1. A method of compressing low dynamic range data into a compressed format, comprising:
- determining a partitioning of pixels into regions to produce a partition index for a fixed size block of low dynamic range data;
determining a first reference endpoint and remaining endpoints to produce an endpoint pair for each region of the fixed size block;
determining a variable length mode that indicates a number of bits used to represent each endpoint and a number of the regions;
computing a second compressed endpoint, a third compressed endpoint, and a fourth compressed endpoint when the remaining endpoints are encoded as differences;
determining compressed indices corresponding to the pixels within the fixed size block of low dynamic range data, wherein each compressed index specifies a low dynamic range value for one channel of a single pixel of the pixels; and
encoding the variable length mode, the partition index, the compressed indices, the first reference endpoint, and the compressed endpoints to produce the low dynamic range data in the compressed format.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for representing low dynamic range data in compressed formats with a fixed size block allow low dynamic range data to be stored in less memory. The compressed formats use 8 bits per pixel to represent 24 bits of low dynamic range data for each pixel. The compressed format includes four or six endpoint values, a partition index that specifies a mask for each pair of the endpoint values, and an index for each pixel in the block. The indices are compressed to allow more bits for the endpoint values. Mode bits are included to distinguish between the different encodings and various blocks within a single compressed image may be encoded differently. Compressed low dynamic range values may be efficiently decompressed in hardware.
-
Citations
19 Claims
-
1. A method of compressing low dynamic range data into a compressed format, comprising:
-
determining a partitioning of pixels into regions to produce a partition index for a fixed size block of low dynamic range data; determining a first reference endpoint and remaining endpoints to produce an endpoint pair for each region of the fixed size block; determining a variable length mode that indicates a number of bits used to represent each endpoint and a number of the regions; computing a second compressed endpoint, a third compressed endpoint, and a fourth compressed endpoint when the remaining endpoints are encoded as differences; determining compressed indices corresponding to the pixels within the fixed size block of low dynamic range data, wherein each compressed index specifies a low dynamic range value for one channel of a single pixel of the pixels; and encoding the variable length mode, the partition index, the compressed indices, the first reference endpoint, and the compressed endpoints to produce the low dynamic range data in the compressed format. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable medium containing instructions for controlling a computer system to compress low dynamic range data into a compressed format, comprising:
-
determining a partitioning of pixels in a fixed size block of low dynamic range data; determining a first reference endpoint and remaining endpoints to produce an endpoint pair for each partition of the fixed size block; determining a variable length mode that indicates a number of bits used to represent each endpoint and a number of partitions; computing a second compressed endpoint, a third compressed endpoint, and a fourth compressed endpoint when the remaining endpoints are encoded as differences; determining compressed indices corresponding to the pixels within the fixed size block of low dynamic range data, wherein each compressed index specifies a low dynamic range value for one channel of a single pixel; and encoding the variable length mode, the compressed indices, the first reference endpoint, and the compressed endpoints to produce the low dynamic range data in the compressed format.
-
-
11. A compressed data format representing low dynamic range data embodied in a non-transitory computer-readable medium, the compressed data format comprising:
-
a first field of variable length including mode bits that indicate whether the compressed data format specifies that the low dynamic range data is encoded using a four point transform or a six point transform; a second field of variable length including a partition index that specifies a partition mask indicating a pair of decompressed endpoints that is used to compute a decompressed low dynamic range values for each channel of each pixel; a compressed endpoint field of variable length including four compressed endpoints or six compressed endpoints; and an index field of variable length including compressed indices that each correspond to pixels within a fixed size block of low dynamic range data, wherein each of the compressed indices is used to compute a decompressed low dynamic range value for one channel of a single pixel of the pixels. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification