Block-based image compression method and apparatus
First Claim
1. A method of compressing a plurality of pixels in a block, each pixel in the block having an original color value and a corresponding luminance level, the method comprising:
- generating representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a high color value and a low color value, and in response associating each of the pixels in the block with one of the plurality of generated representative color values to produce a block color offset value and a quantization value;
generating a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values and a mode zero color error value;
generating at least three representative color values for each of at least three luminance levels, to produce a mode one color error value, and in response associating each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and
generating block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generating block color mode one data.
2 Assignments
0 Petitions
Accused Products
Abstract
A block-based image compression method and encoder/decoder circuit compresses a plurality of pixels having corresponding original color values and luminance values in a block according to different modes of operation. The encoding circuit includes a luminance-level-based representative color generator to generate representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a block color offset value and a quantization value. According to mode zero, each of the pixels in the block is associated with one of the plurality of generated representative color values to generate error map values and a mode zero color error value. According to mode one, representative color values for each of at least three luminance levels are also generated to produce at least three representative color values, corresponding bitmap values and a mode one color error value. A mode based compressed data generator is capable of operating in mode zero and/or one and produces block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise block color mode one data.
86 Citations
45 Claims
-
1. A method of compressing a plurality of pixels in a block, each pixel in the block having an original color value and a corresponding luminance level, the method comprising:
-
generating representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a high color value and a low color value, and in response associating each of the pixels in the block with one of the plurality of generated representative color values to produce a block color offset value and a quantization value; generating a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values and a mode zero color error value; generating at least three representative color values for each of at least three luminance levels, to produce a mode one color error value, and in response associating each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and generating block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generating block color mode one data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of compressing a plurality of pixels in a block, each pixel in the block having an original color value and a corresponding luminance value, the method comprising:
-
generating representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a high color value, a low color value, a block color offset value and a quantization value; grouping each of the color values for the pixels in the block amongst the representative color values and, in response, selecting a grouping of color values such that the selected representative color values correspond with a minimum color error with respect to the color values in the block; associating each of the pixels in the block with one of the plurality of selected representative color values to produce a mode zero color error value; generating a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values; generating at least three representative color values for each of at least three luminance levels to produce a mode one color error value, and in response associating each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and generating block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generating block color mode one data. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method of compressing a plurality of pixels in a block, each pixel in the block having an original color value and a corresponding luminance value, the method comprising:
-
generating a plurality of representative luminance values derived from the corresponding luminance levels, and in response, associating each of the pixels in the block with one of the plurality of representative luminance values; generating representative color values for each of the plurality of luminance levels to produce at least a high color value, a low color value, a block color offset value and a quantization value; grouping each of the original color values for the pixels in the block amongst the representative luminance values, and in response selecting a grouping of original color values such that the corresponding representative color values correspond with a minimum color error with respect to the original color values in the block; associating each of the pixels in the block with one of the plurality of selected representative color values to produce a mode zero color error value; generating a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values; generating at least three representative color values for each of at least three luminance levels to produce a mode one color error value, and in response associating each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and generating block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generating block color mode one data. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. An encoder circuit to compress a plurality of pixels in a block, each pixel in the block having an original color value and a corresponding luminance level, the encoder circuit comprising:
-
a luminance level based representative color generator operative to; generate representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a high color value and a low color value, and in response associate each of the pixels in the block with one of the plurality of generated representative color values to produce a block color offset value and a quantization value; generate a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values and a mode zero color error value; generate at least three representative color values for each of at least three luminance levels to produce a mode one color error value, and in response associate each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and a mode based compressed data generator operative to generate block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generate block color mode one data. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. An encoder circuit to compress a plurality of pixels in a block, each pixel in the block having an original color value and a corresponding luminance level, the encoder circuit comprising:
-
a luminance-based pixel grouping generator operative to generate a plurality of representative luminance values derived from the corresponding luminance levels, and in response associate each of the pixels in the block with one of the plurality of representative luminance values; a representative color generator, operatively coupled to the luminance-based pixel grouping generator and operative to; generate representative color values for each of the plurality of luminance levels to produce at least a high color value, a low color value, a block color offset value and a quantization value; group each of the original color values for the pixels in the block amongst the representative luminance values and, in response, select a grouping of original color values such that the corresponding representative color values correspond with a minimum color error with respect to the color values in the block; associate each of the pixels in the block with one of the plurality of selected representative color values to produce a mode zero color error value; generate a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values; and generate at least three representative color values for each of at least three luminance levels to produce a mode one color error value, and in response associate each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and a mode based compressed data generator operative to generate block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generate block color mode one data. - View Dependent Claims (25, 26, 27)
-
-
28. Memory containing instructions executable by one or more processing devices that cause the one or more processing devices to:
-
receive a plurality of pixels in a block, each pixel in the block having an original color value and a corresponding luminance level; generate representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a high color value and a low color value, and in response associate each of the pixels in the block with one of the plurality of generated representative color values to produce a block color offset value and a quantization value; generate a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values and a mode zero color error value; generate at least three representative color values for each of at least three luminance levels to produce a mode one color error value, and in response associate each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and generate block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generate the block color mode one data. - View Dependent Claims (29, 30)
-
-
31. A decoding method for generating a plurality of pixels in a block comprising:
receiving at least one of;
block color mode zero data and block color mode one data;in response to receiving the block color mode zero data; receiving at least a block color offset value, a quantization value and error map values, and in response generating a high color value, a mid-high color value, a mid-low color value and a low color value; and associating the generated high color value, the generated mid-high color value, the generated mid-low color value and the generated low color value with each pixel in the block according to the error map values; and in response to receiving the block color mode one data, receiving at least a high color value, a mid-low color value, a low color value and bitmap values and in response associating at least one of;
the received high color value, the received mid-low color value and the received low color value with each pixel in the block according to the bitmap values.- View Dependent Claims (32)
-
33. A decoder circuit including:
-
an N-level color information generator, operative to; receive at least one of;
block color mode zero data and block color mode one data;
in response to receiving the block color mode zero data;receive at least a block color offset value, a quantization value and error map values including pixel color error values for each of the pixels in the block, and in response generate a high color value, a mid-high color value, a mid-low color value and a low color value; in response to receiving the block color mode one data; receive at least a high color value, a mid color value, a low color value and bitmap values; and a block color information generator, operatively coupled to the N-level color information generator, and operative to; associate the generated high color value, the generated mid-high color value, the generated mid-low color value and the generated low color value according to the error map values in response to the block color mode zero data; and associate at least one of;
the received high color value, the received mid-low color value and the received low color value with each pixel in the block according to the bitmap values in response to the block color mode one data. - View Dependent Claims (34)
-
-
35. A graphics processor operative to compress a plurality of pixels in a block, each pixel in the blocking having a corresponding original color value and a corresponding luminance value, the graphics processor including:
-
an encoder circuit comprising; a luminance level based representative color generator operative to; generate representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a high color value and a low color value and in response associate each of the pixels in the block with one of the plurality of generated representative color values to produce a block color offset value and a quantization value; generate a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values and a mode zero color error value; generate at least three representative color values for each of at least three luminance levels to produce a mode one color error value, and in response associate each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and a mode based compressed data generator operative to; generate block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generate the block color mode one data. - View Dependent Claims (36)
-
-
37. A network element operative to compress a plurality of pixels in a block, each pixel in the blocking having a corresponding original color value and a corresponding luminance value, the network element including:
-
an encoder circuit comprising; a luminance level based representative color generator operatively coupled to the receiver and operative to; generate representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a high color value and a low color value and in response associate each of the pixels in the block with one of the plurality of generated representative color values to produce a block color offset value and a quantization value; generate a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values and a mode zero color error value; generate at least three representative color values for each of at least three luminance levels to produce a mode one color error value, and in response associate each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; a mode based compressed data generator operative to; generate block color mode zero data when the mode zero color error value is less than the mode one color error value, otherwise generate block color mode one data; and a transmitter, operatively coupled to the mode based compressed data generator and operative to transmit at least one of;
(a) at least the block color offset value, the quantization value and the error map values and (b) at least the high color value, the low color value and the bitmap values. - View Dependent Claims (38)
-
-
39. A method of compressing a plurality of pixels in a block, each pixel in the block having an original corresponding color value and a corresponding luminance value, the method comprising:
-
generating representative color values for each of a plurality of luminance levels derived from the corresponding luminance levels to produce at least a high color value, a low color value, a block color offset value and a quantization value and in response associating each of the pixels in the block with one of the plurality of generated representative color values; and generating a pixel color error value for each of the pixels in the block, based on the original color values corresponding with each pixel in the block, the block color offset value and the quantization value, to produce error map values. - View Dependent Claims (40, 41, 42, 43)
-
-
44. A method of compressing a plurality of pixels in a block, each pixel in the block having an original corresponding color value and a corresponding luminance value, the method comprising:
-
generating at least three representative color values for each of at least three luminance levels derived from the corresponding luminance levels to produce at least a high color value, a low color value and a mid color value and in response associating each of the pixels in the block with one of the at least three generated representative color values to produce corresponding bitmap values; and generating block color mode data indicating a diverse color mode. - View Dependent Claims (45)
-
Specification