Data compression system and technique
First Claim
1. A method for compressing an image, the method comprising:
- receiving an image, the image being defined by pixels, each pixel having a true color, for decompression by a selected dictionary-based decompression technique;
receiving a color table that defines a mapping from true colors to index color values;
identifying a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
identifying in a compression dictionary a set of zero or more candidate strings for the current pixel in the image, each candidate string corresponding to a string of pixels in a image, the last pixel of the string corresponding to the current pixel, and each candidate string approximately matching a corresponding image string; and
if the set of candidate strings for the current pixel is empty, selecting one of the candidate strings for the previous current pixel, and adding a code for the selected string to a compressed representation of the image.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, are used to compress a true color image in such a way that the compressed image may be decompressed by a decompression method according to a dictionary-based compression technique. A color table defines a mapping from true colors to index color values. A set of zero or more candidate strings for a current pixel in the image is identified in a compression dictionary. Each candidate string corresponds to a string of pixels in the image, with the last pixel of the string corresponding to the current pixel. Each candidate string approximately matches the corresponding image pixel string. If the set of candidate strings for the current pixel is empty, one of the candidate strings for the previous current pixel is selected, and a code for the selected string is added to a compressed representation of the image.
-
Citations
60 Claims
-
1. A method for compressing an image, the method comprising:
-
receiving an image, the image being defined by pixels, each pixel having a true color, for decompression by a selected dictionary-based decompression technique;
receiving a color table that defines a mapping from true colors to index color values;
identifying a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
identifying in a compression dictionary a set of zero or more candidate strings for the current pixel in the image, each candidate string corresponding to a string of pixels in a image, the last pixel of the string corresponding to the current pixel, and each candidate string approximately matching a corresponding image string; and
if the set of candidate strings for the current pixel is empty, selecting one of the candidate strings for the previous current pixel, and adding a code for the selected string to a compressed representation of the image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18)
-
-
14. A method of compressing an image defined by pixels, each pixel having a true color, for decompression by a selected dictionary-based decompression technique, the method comprising:
-
receiving the image;
identifying a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
receiving a color table that defines a mapping from true colors to index color values;
identifying in a compression dictionary a set of zero or more candidate strings for a current pixel in the image, each candidate string corresponding to a concatenation of a candidate prefix string related to previous current pixels and an index color value related to the current pixel, in which the candidate prefix string exactly matches a prefix string in the compression dictionary and in which the index color value is an indication of true color in the color table that is an approximate match to a true color value of the current pixel in the image; and
selecting one of the candidate strings for the previous current pixel if the set of candidate strings for the current pixel is empty, and adding a code for the selected string to a compressed representation of the image.
-
-
19. A computer program product, tangibly stored on a machine-readable medium for compressing an image defined by pixels, each pixel having a true color, the compressed image able to be decompressed by a selected dictionary-based decompression technique, the product comprising instructions operable to cause a programmable processor to:
-
receive the image;
receive a color table that defines a mapping from true colors to index color values;
identify a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
identify in a compression dictionary a set of zero or more candidate strings for the current pixel in the image, each candidate string corresponding to a string of pixels in the image, a last pixel of the string corresponding to the current pixel, and each candidate string approximately matching the corresponding image string;
if the set of candidate strings for the current pixel is empty, select one of the candidate strings for the previous current pixel, and add a code for the selected string to a compressed representation of the image. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system comprising a computer-readable storage medium tangibly embodying program instructions for compressing an image defined by pixels, each pixel having a true color, the compressed image able to be decompressed by a selected dictionary-based decompression technique, the program instructions including instructions operable to cause a programmable processor to:
-
receive the image;
receive a color table that defines a mapping from true colors to index color values;
identify a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
identify in a compression dictionary a set of zero or more candidate strings for the current pixel in the image, each candidate string corresponding to a string of pixels in the image, a last pixel of the string corresponding to the current pixel, and each candidate string approximately matching the corresponding image string;
if the set of candidate strings for the current pixel is empty, select one of the candidate strings for the previous current pixel, and add a code for the selected string to a compressed representation of the image. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method of compressing a raster image, for decompression using the LZW algorithm, the method comprising:
-
receiving the image represented as a raster of original true color values;
receiving a color table that defines a mapping from each true color in a palette of true colors to an index;
identifying a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
identifying in a compression dictionary a set of zero or more candidate strings for the current pixel in the image, each candidate string corresponding to a string of pixels in the image and satisfying a string match condition with the corresponding string of pixels in the image, the string match condition being satisfied by an exact or an approximate matching of two strings according to the true color values of their pixels; and
if the set of candidate strings for the current pixel is empty, selecting one of the candidate strings for the previous current pixel, and adding a code representing the selected candidate string to a compressed representation of the image. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52)
-
-
53. A method of compressing a raster image, for decompression by a selected dictionary-based decompression technique, the method comprising:
-
receiving an image represented as a raster of original true color values;
receiving a color table that defines a mapping from each true color in a palette of true colors to an index;
identifying a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
identifying in a compression dictionary a set of zero or more candidate strings for the current pixel in the image, each candidate string corresponding to a string of pixels in the image and satisfying a string match condition with the corresponding string of pixels in the image, the string match condition being satisfied by an exact or an approximate matching of two strings according to the true color values of their pixels;
if the set of candidate strings for the current pixel is empty, selecting one of the candidate strings for the previous current pixel, and adding a code representing the selected candidate string to a compressed representation of the image;
calculating an error amount between the true color of the candidate string pixel corresponding to the current pixel and the true color of the current pixel; and
distributing the error amount to modify a base color of one or more pixels in the image, the base color of a pixel being a true color derived from the original true color of the pixel. - View Dependent Claims (54, 55, 56, 57, 58)
-
-
59. A computer program product, tangibly stored on a machine-readable medium for compressing a raster image, for decompression using the LZW algorithm, the product comprising instructions operable to cause a programmable processor to:
-
receive an image represented as a raster of original true color values;
receive a color table that defines a mapping from each true color in a palette of true colors to an index;
identify a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
identify in a compression dictionary a set of zero or more candidate strings for the current pixel in the image, each candidate string corresponding to a string of pixels in the image and satisfying a string match condition with the corresponding string of pixels in the image, the string match condition being satisfied by an exact or an approximate matching of two strings according to the true color values of their pixels; and
if the set of candidate strings for the current pixel is empty, select one of the candidate strings for the previous current pixel, and add a code representing the selected candidate string to a compressed representation of the image.
-
-
60. A computer program product, tangibly stored on a machine-readable medium for compressing a raster image, for decompression by a selected dictionary-based decompression technique, the product comprising instructions operable to cause a programmable processor to:
-
receive an image represented as a raster of original true color values;
receive a color table that defines a mapping from each true color in a palette of true colors to an index;
identify a current pixel in the image, in which the current pixel is associated with exactly one previous current pixel;
identify in a compression dictionary a set of zero or more candidate strings for the current pixel in the image, each candidate string corresponding to a string of pixels in the image and satisfying a string match condition with the corresponding string of pixels in the image, the string match condition being satisfied by an exact or an approximate matching of two strings according to the true color values of their pixels;
if the set of candidate strings for the current pixel is empty, select one of the candidate strings for the previous current pixel, and add a code representing the selected candidate string to a compressed representation of the image;
calculate an error amount between the true color of the candidate string pixel corresponding to the current pixel and the true color of the current pixel; and
distribute the error amount to modify a base color of one or more pixels in the image, the base color of a pixel being a true color derived from the original true color of the pixel.
-
Specification