Image data compression having minimum perceptual error
AssigneeThe United States of America as represented by the Administrator of the National Aeronautics and Space Administration
InventorAndrew B. Watson
Life of this patent
Estimating the term…
Abstract
A method for performing color or grayscale image compression that eliminates redundant and invisible image components. The image compression uses a Discrete Cosine Transform (DCT) and each DCT coefficient yielded by the transform is quantized by an entry in a quantization matrix which determines the perceived image quality and the bit rate of the image being compressed. The present invention adapts or customizes the quantization matrix to the image being compressed. The quantization matrix comprises visual masking by luminance and contrast techniques and by an error pooling technique all resulting in a minimum perceptual error for any given bit rate, or minimum bit rate for a given perceptual error.
Claims10
A method for transforming a digital color image into a compressed representation of said image comprising the steps of:
- (a) transforming each color image pixel to three color channel values corresponding to brightness and two color signals,
- (b) down-sampling each transformed color channel by a predetermined factor,
- (c) partitioning each color channel image into a set of square blocks of pixels, each block having an index b,
- (d) applying a Discrete Cosine Transform (DCT) to transform each said block of pixels into digital signals represented by DCT transformation coefficients (c.sub.u,v,b,.theta.);
- (e) selecting luminance-adjusted thresholds for each block of pixels based on parameters comprising said DCT transformation coefficients c.sub.u,v,b,.theta., and display and perceptual parameters;
- (f) selecting a DCT mask (m.sub.u,v,b,.theta.) for each block of pixels based on parameters comprising said DCT transformation coefficients c.sub.u,v,b,.theta. and luminance-adjusted thresholds, and said display and perceptual parameters;
- (g) selecting a quantization matrix (q.sub.u,v,.theta.) comprising the steps of:
- (i) selecting an initial value of q.sub.u,v,.theta. ;
- (ii) quantizing the DCT coefficient q.sub.u,v,.theta. in each block b to form quantized coefficient k.sub.u,v,b,.theta. ;
- (iii) de-quantizing the quantized coefficients by multiplying them by q.sub.u,v,.theta.
- (iv) subtracting the de-quantized coefficient q.sub.u,v,.theta. k.sub.u,v,b,.theta. from c.sub.u,v,b,.theta. to compute the quantization error e.sub.u,v,b,.theta. ;
- (v) dividing e.sub.u,v,b,.theta. by the DCT mask m.sub.u,v,b,.theta. to obtain perceptual errors j.sub.u,v,b,.theta. ;
- (vi) pooling the perceptual errors of one frequency u,v and color channel .theta. over all blocks b to obtain an entry in the perceptual error matrices p.sub.u,v,.theta. ;
- (vii) repeating steps i-vi for each frequency u,v,.theta.;
- (viii) adjusting the values q.sub.u,v,.theta. up or down until each entry in the perceptual error matrix p.sub.u,v,.theta. is within a target range
- (h) entropy coding said quantization matrices and the quantized coefficients of said image.
A computer involved in converting a digital color image into a compressed representation of said image, said computer comprising:
- (a) means for transforming each color pixel into three color channel values corresponding to brightness and two color channels;
- (b) means for down-sampling each color channel;
- (c) means for partitioning each color channel into a set of square blocks of pixels, each block having an index b,
- (d) means for applying a Discrete Cosine Transform (DCT) to transform said blocks of pixels into digital signals represented by DCT transformation coefficients (c.sub.u,v,b,.theta.);
- (e) means for selecting a DCT mask (m.sub.u,v,b,.theta.) for each block of pixels based on parameters comprising said DCT transformation coefficients c.sub.u,v,b,.theta. and display and perceptual parameters;
- (f) means for selecting a quantization matrix comprising:
- (i) means for selecting an initial value of q.sub.u,v,.theta. ;
- (ii) means for quantizing the DCT coefficient c.sub.u,v,b,.theta. in each block b to form quantized coefficient k.sub.u,v,b,.theta. ;
- (iii) means for de-quantizing the quantized coefficients by multiplying them by q.sub.u,v,.theta. ;
- (iv) means for subtracting the de-quantized coefficient q.sub.u,v,.theta. k.sub.u,v,b,.theta. from c.sub.u,v,b,.theta. to compute a quantization error e.sub.u,v,b,.theta. ;
- (v) means for dividing e.sub.u,v,b,.theta. by the DCT mask m.sub.u,v,b,.theta. to obtain perceptual errors;
- (vi) means for pooling the perceptual errors of one frequency u,v and color .theta. over all blocks b to obtain an entry in the perceptual error matrix p.sub.u,v,.theta. ;
- (vii) means for adjusting the values q.sub.u,v,.theta. up or down until each entry in the perceptual error matrix is within a target range.
- (g) means for entropy coding said quantization matrix and the quantized coefficients of said image.
Dependencies are inferred from the claim text.