Method and apparatus for block based image compression with multiple non-uniform block encodings
First Claim
1. A method adapted for use in an image compression apparatus to compress an input image comprising a plurality of pixels, the method comprising:
- partitioning said input image into a plurality of original blocks, each comprising a selected subset of the pixels comprising said input image;
decomposing each of said original blocks to generate a respective one of a plurality of decomposed blocks;
compressing each of said decomposed blocks to generate a respective one of a plurality of compressed blocks; and
combining all of said plurality of compressed blocks to generate an output image;
wherein said decomposing further comprises;
applying a function to an original value of each of said pixels comprising each of said original blocks to obtain a decomposed value selected to reduce the amount of space needed to encode said original value; and
wherein compressing each of said plurality of decomposed blocks comprises the steps of;
determining a best fit curve for said decomposed values;
storing two end point values selected on said best fit curve; and
storing an index value for each of said pixels in said decomposed block wherein each of said index values comprises a respective one of a plurality of points selected on said best fit curve.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus provides for block based image compression with multiple non-uniform block encodings. In one embodiment, an image is divided into blocks of pixels. In one embodiment the blocks are four pixels by four pixels, but other block sizes are used in other embodiments. In one embodiment, a block of pixels in the original image is compressed using two different methods to produce a first and second compressed block. Thus, each block in the original image is represented by two, typically different, compressed blocks. In one embodiment, color associated with a pixel is determined by combining the compressed information about the pixel in the first compressed block with information about the pixel in the second compressed block. In another embodiment, global information about the image is combined with the information in the first and second compressed blocks.
-
Citations
55 Claims
-
1. A method adapted for use in an image compression apparatus to compress an input image comprising a plurality of pixels, the method comprising:
-
partitioning said input image into a plurality of original blocks, each comprising a selected subset of the pixels comprising said input image; decomposing each of said original blocks to generate a respective one of a plurality of decomposed blocks; compressing each of said decomposed blocks to generate a respective one of a plurality of compressed blocks; and combining all of said plurality of compressed blocks to generate an output image; wherein said decomposing further comprises; applying a function to an original value of each of said pixels comprising each of said original blocks to obtain a decomposed value selected to reduce the amount of space needed to encode said original value; and wherein compressing each of said plurality of decomposed blocks comprises the steps of; determining a best fit curve for said decomposed values; storing two end point values selected on said best fit curve; and storing an index value for each of said pixels in said decomposed block wherein each of said index values comprises a respective one of a plurality of points selected on said best fit curve. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 40)
-
-
21. A method adapted for use in an image compression apparatus to compress an input image comprising a plurality of pixels, the method comprising:
-
partitioning said input image into a plurality of original blocks, each comprising a selected subset of the pixels comprising said input image; decomposing each of said original blocks to generate a respective one of a plurality of decomposed blocks by applying a function to an original value of each of said pixels comprising each of said original blocks to obtain a decomposed value selected to reduce the amount of space needed to encode said original value; compressing each of said decomposed blocks to generate a respective one of a plurality of compressed blocks by; determining a best fit curve for said decomposed values; storing two end point values selected on said best fit curve; storing an index value for each of said pixels in said decomposed block wherein each of said index values comprises a respective one of a plurality of points selected on said best fit curve; and combining all of said plurality of compressed blocks to generate an output image. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
41. An image compression system comprising:
-
a storage medium that stores computer readable code; one or more processors, operative to execute the computer readable code and in response, operative to; partition said input image into a plurality of original blocks, each comprising a selected subset of the pixels comprising said input image; decompose each of said original blocks to generate a respective one of a plurality of decomposed blocks; compress each of said decomposed blocks to generate a respective one of a plurality of compressed blocks; and combine all of said plurality of compressed blocks to generate an output image; wherein said decomposing further comprises; applying a function to an original value of each of said pixels comprising each of said original blocks to obtain a decomposed value selected to reduce the amount of space needed to encode said original value; and wherein compressing each of said plurality of decomposed blocks comprises the steps of; determining a best fit curve for said decomposed values; storing two end point values selected on said best fit curve; and storing an index value for each of said pixels in said decomposed block wherein each of said index values comprises a respective one of a plurality of points selected on said best fit curve.
-
-
42. An image compression system comprising:
-
a storage medium that stores computer readable code; one or more processors, operative to execute the computer readable code and in response, operative to; partition said input image into a plurality of original blocks, each comprising a selected subset of the pixels comprising said input image; decompose each of said original blocks to generate a respective one of a plurality of decomposed blocks by applying a function to an original value of each of said pixels comprising each of said original blocks to obtain a decomposed value selected to reduce the amount of space needed to encode said original value; compress each of said decomposed blocks to generate a respective one of a plurality of compressed blocks by; determining a best fit curve for said decomposed values; storing two end point values selected on said best fit curve; storing an index value for each of said pixels in said decomposed block wherein each of said index values comprises a respective one of a plurality of points selected on said best fit curve; and combining all of said plurality of compressed blocks to generate an output image.
-
-
43. An image compression system comprising:
-
logic operative to compress an image block by generating; a first portion representing a vector; a second portion representing color points; and a third portion representing indices to map to colors generated from or represented by said second portion. - View Dependent Claims (44, 45, 46)
-
-
47. A computer readable medium storing non-transitory code that when executed by one or more processors causes the one of more processors to compress an image block by generating:
-
a first portion representing a vector; a second portion representing color points; and a third portion representing indices to map to colors generated from or represented by said second portion.
-
-
48. An image compression system comprising:
-
logic operative to compress an image block by generating; a first data portion representing first and second endpoints; a second data portion representing indices, said indices mapping pixel values to values derived from said first and second endpoints; and wherein said first and second endpoints represent vectors relative to a surface. - View Dependent Claims (49, 50, 51)
-
-
52. A method performed by an image compression apparatus, the method comprising:
-
generating a first data portion representing first and second endpoints; generating a second data portion representing indices, said indices mapping pixel values to values derived from said first and second endpoint; and wherein said first and second endpoints represent vectors relative to a surface. - View Dependent Claims (53, 54, 55)
-
Specification