Claims
- 1. 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.
- 2. The method of transforming an image according to claim 1 further comprising the steps:
- (a) transmitting entropy coded image to a user of said digital image;
- (b) decoding said entropy coded image;
- (c) decoding said quantization matrix to derive said DCT transformation coefficients;
- (d) applying an inverse Discrete Cosine Transform to derive said block of pixels;
- (e) up-sampling each color channel image; and
- (f) inverse color transforming each color pixel to recover the reconstructed color image.
- 3. The method of transforming an image according to claim 1, wherein luminance-adjusted thresholds are determined by the following expression: ##EQU4## where a.sub.u,v,b,.theta. are the luminanee-adjusted thresholds, r.sub.y is a veiling luminance quantity a.sub.t is a luminance-masking exponent having a value of about 0.65, t.sub.u,v,.theta. are the un-adjusted thresholds, c.sub.0,0,Y is an average of the DC terms of the DCT coefficients C.sub.u,v,b,.theta. of the image, and c.sub.0,0,b,Y is the DC coefficient of block b of a brightness (Y) channel.
- 4. The method of transforming an image according to claim 1, wherein said DOT mask is determined by the following expression: ##EQU5## where c.sub.u,v,b,.theta. is the DCT coefficient, a.sub.u,v,b,.theta. is a corresponding block luminance-adjusted threshold, and w.sub.u,v,.theta. is an exponent that lies between 0 and 1 and is typically about 0.7, and where w.sub.0,0,.theta. =0.
- 5. The method of transforming an image according to claim 1, wherein said pooling of perceptual errors is determined by the following expression: ##EQU6## where j.sub.u,v,b,.theta. is a perceptual error in a particular frequency u,v, color .theta. and block b and .beta. is a pooling exponent having a typical value of about 4.
- 6. 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.
- 7. The computer involved in converting an image according to claim 6 further comprising:
- (a) means for transmitting entropy coded image to a user of said digital image;
- (b) means for decoding said entropy coded image;
- (c) means for decoding said quantization matrix to derive said DCT transform coefficients;
- (d) means for applying an inverse Discrete Cosine Transform to derive said block of pixels;
- (e) means for reassembling said blocks to recover the color channels
- (f) means for up-sampling said color channels to recover full resolution color channels; and
- (g) means for inverse color transforming said color channels to recover the reconstructed image.
- 8. The computer involved in converting an image according to claim 6, wherein luminance-adjusted thresholds are determined by the following expression: ##EQU7## where a.sub.u,v,b,.theta. are luminance-adjusted thresholds, r.sub.y is a veiling luminance quantity a.sub.t is a luminance-masking exponent having a value of about 0.65, t.sub.u,v,.theta. are the un-adjusted thresholds, c.sub.0,0,Y is an average of the DC terms of the DCT coefficients c.sub.u,v,b,.theta. of the image, and c.sub.0,0,b,Y is the DC coefficient of block b of a brightness (Y) channel.
- 9. The computer involved in converting an image according to claim 6, wherein said DCT mask is determined by the following expression: ##EQU8## where c.sub.u,v,b,.theta. is the DCT coefficient, a.sub.u,v,b,.theta. is a corresponding block luminance-adjusted threshold, and w.sub.u,v,.theta. is an exponent that lies between 0 and 1 and is typically about 0.7, and where w.sub.0,0,.theta. =0.
- 10. The computer involved in converting an image according to claim 6, wherein said pooling of perceptual errors is determined by the following expression: ##EQU9## where j.sub.u,v,b,.theta. is a perceptual error in a particular frequency u,v, color .theta. and block b and .beta. is a pooling exponent having a typical value of about 4.
ORIGIN OF THE DISCLOSURE
The invention described herein was made by an employee of the National Aeronautics and Space Administration and it may be manufactured and used by and for the United States Government for governmental purposes without the payment of royalties thereon or therefore.
US Referenced Citations (4)