COMPRESSING AND DECOMPRESSING IMAGES

Abstract: A pixel block transform compressing system includes, in the encoder, an additional step which predicts certain low-order, or the low-frequency ("LF"), transform coefficients. The predicted LF coefficients are then subtracted from the actual LF transform coefficients to form LF difference coefficients, which are quantized and transmitted to the decoder instead of the original LF transform coefficients. In the decoder, these steps are reversed, namely, the LF coefficients are again predicted, and the predicted coefficients are added to the transmitted quantized LF difference coefficients to arrive at the original LF coefficients, up to quantization errors.

Description: Compressing and decompressing images. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to systems and methods for increasing compression of data streams containing image data 2. Description of the Related Art Many important image compression methods process images as independent blocks of pixels. For example, such families of compression standards as JPEG, MPEG, H.320, and so forth, specify a step involving discrete cosine transformation ("DCT") of independent, non-overlapping 8X8 blocks of pixels in the source image followed by quantization of the resulting transform coefficients. See, e.g., Jack, 1996, Video Demystified, HighText Interactive Inc., San Diego, CA. The quantized transform coefficients are transmitted from a transmitter-encoder to a receiver-decoder. Such transformation and quantization together achieve compression by exploiting the significant regularities and correlations that typically occur between the values of pixels in 8X8 blocks. However, such methods ignore any regularities and correlations that may occur between pixels in different pixel blocks which are treated as independent by these methods. Certain work has been reported which attempts to recognize image regularities at scales of a pixel block or larger. Exemplary of these are Pennebaker et al., 1993, JPEG Still Image Compression, Van Nostrand Reinhard, chap. 16, which discloses fitting quadratic surfaces to the average values of pixels (equivalent to the "DC", or lowest order, transform coefficient) in adjacent blocks, a computationally complex process; Lakhani, 1996, "Improved Image Reproduction from DC Components", Opt. Eng. 35:3449-2452, which discloses equations for predicting low frequency transform coefficients from DC coefficients that are improved from those in the JPEG standard; and Jeon et al., 1995, Blocking Artifacts Reduction in Image Coding Based on Minimum Block Boundary Discontinuity, Proc SPIE 2501:189-209, which discloses a complex and computationally expensive iterative method for interpolating pixels in order to zero block boundary discontinuities. This reported work suffers from one or more problems, such as not being directed to maximally improving image compression, ignoring or at best inadequately treating regularities that may exist at scales in an image greater than a pixel block, requiring excessive computational resources, and so forth. What is needed, therefore, is a computationally efficient method and system directed primarily to achieving increased data compression by exploiting additional regularities and correlations in images not exploited by known compression methods and standards. SUMMARY OF THE INVENTION The objects of the present invention are to provide improvements generally applicable to certain types of encoders and decoders for image-containing data of all types which overcome the above identified problems in the current art. To this end, the invention provides methods and systems as defined in the independent Claims. The dependent Claims define advantageous embodiments. Encoder/decoder pairs to which the present invention is applicable are those that, during image compression transform the image from the spatial domain, where the image is represented as a spatial array of pixels, to a transform domain, where the image is represented as coefficients of the basis functions used in the transform method, followed by quantization of the resulting transform coefficients. During decompression, the decoder reverses these steps. In particular, relevant encoder/decoder pairs divide the spatial domain image into a plurality of sub-blocks of pixels and perform the transformation/inverse transformation independently on each sub-block in the image. In the relevant types of encoder/decoder pairs, the improvement of the present invention includes, in the encoder, an additional step which predicts certain low-order, or the low-frequency ("LF"), transform coefficients. The predicted LF coefficients are then subtracted from the actual LF transform coefficients to form LF difference coefficients, which are quantized and transmitted to the decoder. In the decoder, these steps are reversed, namely, the LF coefficients are again predicted, and the predicted coefficients are added to the transmitted quantized LF difference coefficients to arrive at the original LF coefficients, up to quantization errors. The LF coefficient prediction according to the present invention is based on the fact that image-data compression, in addition to that already realized by sub-block transformation and quantization, can be achieved by capturing regularities and correlations between pixel values present in adjacent sub-blocks ("inter-block regularities"). These inter- block regularities can be advantageously exploited by predicting LF transform coefficients to be those that are necessary to smooth differences between adjacent sub-blocks so that the image is smooth at sub-block boundaries. In a preferred embodiment, the differences between adjacent sub-blocks are represented by differences in the average intensities of the adjacent sub-blocks. BRIEF DESCRIPTION OF THE DRAWING Other objects, features and advantages of the present invention will become apparent upon perusal of the following detailed description when taken in conjunction with the appended drawing, wherein: Fig. 1 illustrates encoders and decoders to which the present invention is applicable; Figs. 2A-C illustrate exemplary embodiments of systems according to the present invention; Figs. 3A-3C illustrate exemplary spatial weights. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following, the system and methods of the present invention are first described generally, followed by detailed descriptions of preferred and alternative embodiments of these systems and methods. Overview of the Present Invention The present invention consists of improvements generally applicable to certain types of encoders and decoders for image-containing data of all types. Fig. 1 illustrates an exemplary practical application of the improved encoders and decoders of the invention, the structure of the encoders and decoders to which the improvements of the invention are applicable, and the general nature of the improvements according to the invention. In the exemplary application of Fig. 1, transmitter 1 sends image-containing data, such as independent image data or video data 4, to receiver 2 across transmission link 3. Although transmission link 3 is illustrated for concreteness as a communication link, this invention is equally applicable to cases where the transmission is by recording the compressed data on storage media such as magnetic or optical disks. In order to reduce the required bandwidth or the required storage capacity of transmission link 3, transmitter 1 includes improved encoder 7 producing compressed image -containing data 5 which are then sent to receiver 2. Receiver 2 in turn includes a corresponding improved decoder 8 to reconstruct the original image-containing 4 data from compressed data 5. It is to be understood that the applicability of the improved encoders and decoders of the present invention is not limited to such an exemplary application, but comprehends all situations in which image-containing data are to be compressed or decompressed. With further reference to Fig. 1 , encoder/decoder pairs to which the present invention is applicable are those that, during image compression in encoder 7, perform pixel blocks transform 9 of the image from the spatial domain, where the image is represented as a spatial array of pixels, to a transform domain, where the image is represented as coefficients of the basis functions used in the transform method, followed by quantization 11 of the resulting transform coefficients. During decompression, decoder 8 then performs the reverse steps of dequantization 12 of the transform coefficients followed by inverse transform 14 back to a spatial domain pixel data. In particular, relevant encoder/decoder pairs divide the spatial domain image into a plurality of non-overlapping sub-blocks, or windows, of pixels and perform the transformation/inverse transformation independently on each sub-block, or window, in the image. An image presented as a pixel array is completely divided into the plurality of pixel sub-blocks and can be reconstructed from the plurality of pixel sub-blocks. In the transform, or frequency, domain the image is represented by the transform coefficients, or by their subsequent encoding, for each of the plurality of pixel sub-blocks. The size and shape of the sub-blocks are carefully chosen so that, on average for the images of interest, pixel values throughout each sub-block are expected to be slowly varying or substantially homogenous. Consequently, on average, the magnitude of the transform coefficients of the sub-blocks decreases rapidly as the spatial frequency of the corresponding transform basis function increases. Thereby, subsequent quantization of the transform coefficients, which replaces the actual value of a coefficient with an indication of in which of a limited number of intervals, which in turn divide the range of possible coefficient values, the actual coefficient value lies, can achieve image-data compression. A judicious choice of the quantization intervals can achieve significant compression without significant loss of perceptual image integrity. In such encoder/decoder pairs, the improvement of the present invention includes additional step 10 of prediction of the low-order, or the low-frequency ("LF"), transform coefficients, which is performed between transformation step 9 and quantization step 11 in improved encoder 7, and in decoder 8 additional step 13 of prediction performed between dequantization step 12 and inverse transformation step 14. These coefficient prediction steps, steps 10 and 13, increase average compression in the following manner. In an improved encoder, the LF transform coefficients are predicted according to the present invention and then the predicted LF coefficients are subtracted from the actual LF transform coefficients to form LF difference coefficients. This process is reversed in improved decoder 8. In step 13, the LF coefficients are predicted, and the predicted values are added to the transmitted quantized LF difference coefficients to arrive at the original LF coefficients, up to quantization errors. LF coefficient prediction achieves increased compression because the variable length encoding of the LF difference coefficients is expected to require on average fewer bits than similar encoding of the actual LF coefficients. On average, the predicted LF coefficients are expected to be close to the actual LF coefficients so that the magnitudes of the difference coefficients are expected to be substantially smaller on average than the actual coefficients. Being smaller, the difference coefficients require fewer bits for their variable length encoding. LF coefficient prediction according to the present invention is based on the following discoveries of the inventor. First, although independent transformation of image sub-blocks achieves image-data compression by capturing significant regularities and correlations between pixel values within image sub-blocks ("intra-block regularities"), further image-data compression can be achieved by capturing regularities and correlations between pixel values present in adjacent sub-blocks ("inter-block regularities"). Second, inter-block regularities can be advantageously exploited by predicting LF transform coefficients to be those that are necessary to smooth differences between adjacent sub-blocks so that the image is smooth at sub-block boundaries. In a preferred embodiment, the differences between adjacent sub-blocks are represented by differences in the average intensities of the adjacent sub-blocks. Since in all relevant transform methods, the average intensity of a sub-block is the same as the zero-frequency ("DC") transform coefficient of that sub-block, this invention, preferably, predicts LF transform coefficients of a sub-block from the DC coefficients of the sub-block and adjacent sub-blocks. In order to perform LF coefficient prediction at both the encoder and the decoder it is preferred that the DC coefficients be transmitted with minimum or no quantization or discretization error. This is usually the case because accurate DC coefficients are important to maintain perceptual integrity of the image. Since this invention achieves image-data compression by capturing inter-block regularities in addition to intra-block regularities, it further includes optimizing average compression for a class of images of importance by selecting sub-block size, and optionally sub-block shape, so that the average compression is a maximum. Such a selection can be simply done by measuring average compression for representative images of the class at various sub-block sizes, and then selecting that sub-block size achieving the optimum compression. Typically, allowable sub-block sizes and shapes are limited by the nature of the transform method used and the available computational resources. The image regularities are correlations, both intra-block and inter-block, exploited by the present invention which are believed by the inventor to arise from the fact that typical images are composed of objects, and that typical objects are composed on average of surfaces having substantially homogenous or only slowly varying intensities. Accordingly, there will be significant intra-block and inter-block regularities and correlation for sub-blocks whose size is selected to be smaller, or significantly smaller, than the average size of object surfaces. Although the present invention is advantageously applicable to increase the compression of data containing such images, it should be understood that this invention can be applied to data containing images of any sort without loss of compression. Preferably, the present invention is applied to encoder/decoder pairs in which the transform method utilized is a discrete cosine transform ("DCT"), in which the pixel sub- blocks are square arrays of, for example, eight pixels on a side, and in which the DC coefficients are transmitted with minimum or no quantization or discretization error, i.e., without loss. DCT transforms of 8X8 pixel sub-blocks are performed by many current image compression methods, such as the MPEG, JPEG, and H.320 families of standards. Further, these standards typically transmit the DC coefficients in a loss-free manner. In the case of MPEG encoder/decoder pairs, or in the general case of encoder/decoder pairs performing compression by motion prediction, the present invention is typically applicable only to those images encoded without motion prediction (often referred to as "intra-coded" images, hereinafter "I" type images), because DC coefficients are needed for each image sub-block and for its adjacent sub-blocks at both the encoder and the decoder. Such DC coefficients may not be available for sub-blocks encoded with motion prediction (often referred to as "inter-coded" images, hereinafter "non-I" type images), because such coded frames make reference to preceding or subsequent images. According to the MPEG standards family, non-I type images are either causally predicted ("P" type) from preceding images or bidirectionally-predicted ("B" type) images from both preceding and succeeding images. However, if DC coefficients are available for images encoded with motion-prediction, this invention can be applied to such images as well. In the following, for concreteness of description and without any limitation, the present invention is described as an improvement to standard MPEG encoders and decoders. From the description above and following, one of skill in art will immediately understand how, according to this invention, to construct improved encoder/decoder pairs employing the JPEG or H.320, as well as the MPEG, standards, as well as to construct improved encoder/decoder pairs employing alternative transformation methods or alternative sizes and shapes for the independent sub-blocks. Further, one of skill in the art will understand how to select basic encoder/decoder parameters, such as pixel sub-block size and shape, in order to achieve increased compression by exploiting regularities present in a class images of interest. Preferred Systems Embodiments In this section, the general method implemented in improved encoder/decoder systems according the present invention is described, followed by exemplary improved MPEG encode/decoder systems. As described above, non-overlapping sub-blocks dividing an image are first transformed to a transform, or frequency, domain, and the resulting transform coefficients are input to the general method of this invention. Preferably, 8X8 pixel sub-blocks are transformed into the frequency domain by a DCT transform. For each sub-block, from its zero-frequency, or DC, transform coefficient, which is known to be proportional to the average pixel intensity in that sub-block, and from the DC coefficients of the adjacent sub- blocks, selected low-frequency ("LF") transform coefficients of that block are predicted. Then, difference coefficients are formed by subtracting the predicted LF coefficients from the corresponding DCT coefficients. According to the present invention, therefore, the image is encoded and represented by the following data: the DC transform coefficient, the difference transform coefficients, and the remaining transform coefficients, i.e., those transform coefficients other than the LF frequency transform coefficients. One or more the these coefficients can be quantized to achieve data compression. Preferably only the difference and the remaining coefficients are quantized. Although not preferred, the DC coefficient can also be quantized. This representative data can then be used for any purpose. Coefficient quantization can be performed according to any method known in the art that is adaptable to quantization of transformed pixel blocks. For example, the quantization methods and prescriptions of the JPEG, the MPEG, and the H.320 families of standards can be used. In particular, the encoded data representing the image are transmitted or stored. The DC coefficients are preferably transmitted with minimum or no losses. It is understood that further encoding or compression, such as variable length encoding, Huffman encoding, or so forth, can be performed on these image data prior to final transmission, and that corresponding decoding will then be performed upon reception. Upon reception or retrieval, the LF transform coefficients are predicted again from the DC coefficients by the same method as their previous prediction. Preferably, the DC coefficients are received without loss, and the previous LF coefficient prediction method is used so that the newly predicted LF coefficients are substantially the same as the originally predicted LF coefficients. In this manner, the error in the reconstructed DC coefficients is limited to quantization errors only of the difference coefficients. Finally, the LF coefficients are reconstructed by adding the predicted LF coefficients to the dequantized, transmitted difference coefficients. Transform coefficients consisting of the DC coefficient, the reconstructed LF coefficients, and the dequantized remaining coefficients, are then output. An exemplary embodiment of this general method in improved MPEG encoders and decoders is next presented with reference to Figs. 2A and 2B illustrating the same. Although this exemplary embodiment is described with respect to a basic MPEG encoder/decoder pair, it will be immediately appreciated by one of skill in the art that other exemplary embodiments can be routinely constructed for encoder/decoder pairs functioning according to any methods or standards that are within the previously described domain of applicability of the present invention. Fig. 2A schematically illustrates an MPEG encoder improved according to the present invention. Fig. 2B schematically illustrates an improved MPEG decoder. In these figures, elements associated primarily with, inter alia, motion-prediction are only schematically illustrated or are not illustrated, since they are more peripheral to the present invention. In Figs. 2A-B the elements performing discrete cosine transforms, coefficient quantization, and variable length encoding are standard and well known in the prior art. Their details are not part of the present invention and are not described herein. Further, it will be understood that in the following, whether explicit or not, all operations are performed on individual pixel blocks which cover the image array representation of an image. Turning now to the details of Fig. 2A, elements 47-50 implement the encoding data path for I-type images; elements 41-45 in box 40 implement the data paths of the improvement of this invention applicable to I-type images; and elements 51-58 implement schematically the motion-prediction data path for encoding P-type and B-type images. In the case of an I-type image represented as a pixel array in an unimproved MPEG encoder, the image is DCT transformed pixel block by pixel block in DCT encoder 47 after being passed unchanged through adder 58. Selector 48, set in the position not shown, passes the DCT coefficients to quantizer 49. The quantized DCT coefficients for each pixel block are variable and/or run length ("VLC") encoded in VLC encoder 50, and are finally output in the compressed image data stream for each pixel block. In case the improvement of the present invention is present and active, the DC DCT coefficients for each pixel block are stored in DC coefficient buffer 41 so that they are available in the needed order to low-frequency ("LF") coefficient predictor 42. The predicted LF coefficients for each pixel block from predictor 42 are stored in predicted coefficient buffer 43 so that they may be available for subtraction from the corresponding DCT coefficients for each pixel block in adder 44. In this case, selector 48 is set to position "I, LF" (denoting LF coefficients of I-type frames), and the difference coefficients are quantized in quantizer 49, variable length encoded in VLC encoder 50, and then output in the compressed image data stream. For the remaining DCT coefficients for each pixel block, selector 48 is set to the position not shown, and these coefficients are quantized without subtraction. For motion-prediction, copies of I-type (and certain inter-type) images exactly as they will be decoded in a decoder must be stored in reference memory 64. For other than LF coefficients of I-type images, this is accomplished by simulating image decoding by inverse quantizer 51 and DCT decoder 52, with inverse quantizer 51 performing dequantization and DCT decoder 52 performing an inverse DCT. Selector 59 is set to the position not shown. For LF coefficients of I-type frames, selector 59 is set to position "I, LF" so that predicted LF coefficients, available from buffer 43, are added in adder 45 to dequantized difference coefficients to reconstruct the actual LF coefficients as they will appear in a decoder. In this embodiment it is assumed that the DC coefficients are available with equal accuracy in the decoder and in the encoder. For P-type or B-type frames, the motion prediction path, elements 51-58 function as is known to those of skill in the art. Briefly, selectors 55 and 56 are set to the "NON-I" position, and reference memory/motion compensator provides motion-predicted frames, using the motion vectors generated by the motion estimation process carried out in motion estimator 57, to adder 58 in order to generate images, which are the differences between input and motion -predicted images. These difference images are then DCT transformed in DCT encoder 47, quantized in quantizer 49, and VLC coded in VLC encoder 50. Reference memory 54 is updated with I-type and P-type frames as they will appear in a decoder by the addition in adder 53 of inverse transformed difference images to motion compensated stored images. The data representing the image in the improved encoder are then output for all the pixel blocks dividing the image. Fig. 2B illustrates an MPEG decoder improved according to the present invention. Here, elements 65-70 implement the decoding data path for I-type images; elements 61-64 in box 60 implement the data paths of the improvement of this invention applicable to I- type images; and elements 71-73 implement schematically the motion-prediction data path for decoding P-type and B-type images. For all image types, the compressed image data including quantized transform coefficients (and difference coefficients in the case of the improved encoders/decoders) for each pixel block are first variable-length ("VL") decoded by element 65 and inverse-transformed by element 66. For I-type images, DC coefficients for each pixel block are stored in buffer 61 in order to be available as necessary to LF coefficient predictor 62. Predicted LF coefficients for each pixel block from predictor 62 are stored in predicted coefficient buffer 63 in order to be available to adder 64 for addition to dequantized LF difference coefficients for each pixel block. For the LF coefficients of I-type images, selector 67 is set to position "I, LF", and for other-than LF coefficients of I-type images, i.e., for the remaining, high frequency coefficients, selector 67 is set to the position not shown. Actual DCT coefficients for each pixel block are next inverse transformed in element 68, the resulting I-type spatial domain image is reconstructed from the spatial -domain pixel blocks, and the image is directly stored in frame memory 69 and in reference memory 72, since selectors 70 and 71 are set to position For non-I type images, that is for P-type and B-type images, selectors 67, 70 and 71 are set to the not shown or the "NON-I" position in order that, first, the difference images dequantized by element 66 and inverse transformed by element 68 without addition of predicted LF coefficients. From received motion vectors and images stored in reference memory 72, the motion compensator determines motion-predicted images. The motion- predicted images are added in adder 73 to decoded difference images, and the resulting actual spatial-domain images are stored both in reference memory 72 and frame memory 69. Frame memory 69 stores images for output in correct order in a desired format. The improved encoders and decoders of this invention can be implemented in various hardware configurations that will be apparent to one of skill in the art. For example, the individual processing elements represented in Figs. 2A and 2B can be implemented with individually dedicated hardware components. However, it is currently preferable that the processing operations of the system be implemented by one or more special software routines running on general purpose hardware, perhaps optimized for the image processing, such as that illustrated in Fig. 2C. Fig. 2C illustrates one or more processors 80 for encoding and decoding images and performing the operations of the present invention, one or more RAM modules 81 for storing image data and/or program instructions, optionally one or more ROM modules 82 for storing program instructions, one or more I/O interface devices 83 for communicating with other systems over various links 85, and one or more busses 84 for connecting these individual components. Advantageously, the processors include one or more digital signal processors ("DSP"), such as the TM-1000 type DSP (Philips Electronics North America Corp.) or the TMS-3000 type DSP (Texas Instruments, Inc.). In the preferred embodiment where the system processing operations are implemented in software, the present invention further comprises computer readable media on which are recorded or encoded program instructions for causing processors to perform the processing operation of the system. Such media can include magnetic media, such as floppy discs, hard discs, tapes, and so forth, optical media, such as CD-ROMS, and other computer- readable media available in the art. Preferred Method Embodiments This section next describes preferred and alternative embodiments of the prediction methods for the low-frequency ("LF") coefficients for each pixel block dividing the pixel array according to the present invention. These methods implement elements 10 and 13 of Fig. 1, or equivalently element 42 of Fig. 2A and element 62 of Fig. 2B. They derive from the discoveries of the inventor that LF coefficients of a pixel block can be simply and effectively predicted as the LF transform coefficients of a spatial-domain pixel array which smoothly interpolates throughout the pixel block the differences occurring across the edges of the block between values of pixels of a block and values of pixels of adjacent blocks ("block- to-block differences"). The interpolating pixel array preferably does not change the average pixel intensity of the block. Since such an inteφolating pixel array is likely to be a good representation of the regularities between adjacent pixel blocks occurring in images of objects having surfaces of only slowly varying intensity, its LF transform coefficients are likely to be good predictors of the actual LF transform coefficients. The block-to-block differences input to determining the interpolating pixel array, and thus to predicting the LF coefficients, are, preferably, approximated from knowledge of the average intensities of the pixel block and its adjacent blocks. Because LF coefficient prediction is done in both encoders and decoders, it is preferably based on data accurately and readily available at both locations. Since most image-compression methods and standards in current use accurately transmit average intensities of pixel blocks as the zero- frequency ("DC") coefficient of that block, LF coefficient prediction is preferably based only on such DC coefficients of a block and its adjacent blocks. Although less preferable, it is within the scope of the present invention to modify image-compression data streams in order to transmit a limited number of additional items of information in order to enable more accurate LF prediction. Such additional items advantageously represent block-to-block differences with increased accuracy. In one embodiment, they can include averages of the actual differences of edge pixels in one block with edge pixels in adjacent blocks. Whether transmitting such additional items is advantageous in a given case depends on whether the transmission cost of the additional items is recovered from the increased compression resulting from more accurate LF coefficient prediction. Such alternatives are described in detail at the end of the present section. The overall steps of these prediction methods for a particular pixel block are as follows. Accordingly LF coefficient prediction begins, preferably, with input of the DC coefficients of a block and of its adjacent blocks. Fig. 3A illustrates central pixel block C together with the four, orthogonally-adjacent pixel blocks sharing edges with central block C that are considered in a preferred embodiment of this invention. These blocks are labeled W (to the west of C), N (to the north of C), E (to the east of C), and S (to the south of C). Diagonally adjacent pixel blocks are not directly considered in this embodiment. In the following, pixels in any pixel block are denoted in standard matrix notation. In particular, Fig. 3A illustrates pixels Coo, Coi, and Cio in northwest corner of central block C, pixel N 70 in the southwest corner of block N, pixel Eoo in the northwest corner of block E, pixel W 0 in the northeast corner of block W, and pixel Soo in the northwest corner of block S. Also DC coefficients (zero-frequency coefficients, or average intensities) for these pixel blocks are denoted symbols CDC, NDC, EØC> W DC , and SDC- From these DC coefficients four quantities, denoted by N, E, W, and S and approximating the block-to-block differences between central block C and its adjacent blocks N, E, W, and S, respectively, are determined. The following equations are representative of a preferred embodiment of this approximation. N = FA*{N DC - C DC }; E = FA*{E DC - C DC } W = FA*{W DC - C DC }; S = FA*{S DC - C DC } Factor FA is a multiplicative weighting factor for scaling the approximate block-to-block differences. It is described subsequently in more detail in conjunction with second multiplicative weighting factor FB. This invention is adaptable to alternative equations for determining these four approximate block-to-block differences. Alternative equations can depend on only the five DC coefficients utilized above, or can alternatively depend on additional DC coefficients from, e.g., diagonally adjacent blocks or more remotely adjacent blocks. Next, the inteφolating pixel array is determined from the approximated block- to-block differences. This inteφolating pixel array is designed to achieve a smooth inteφolation of the block-to-block differences to pixel values within the central pixel block that are likely to occur in the presence of such block-to-block differences. It is noted that the actual pixel values expected are the sum of values in the inteφolated pixel array with the DC coefficient of that block. It has been found advantageous if this inteφolation satisfy certain heuristic constraints. A first heuristic constraint is that the sum of the pixel values in the inteφolating pixel array be zero in order that the average intensity of the pixel block does not change. A second heuristic constraint is that the magnitude of the effect on pixel values of a difference at a boundary decreases away from that boundary. In particular, the maximum pixel value due to a boundary difference should occur adjacent to that boundary and should also be less than or equal to that boundary difference. A third heuristic constraint is that a difference at one boundary of a pixel block coupled with another equal but oppositely signed difference at the opposite boundary (along either a row or column) should inteφolate to a uniform pixel-value gradient between the two boundaries. This invention is adaptable generally to methods for determining the inteφolating pixel array that satisfy the above heuristic constraints. In a preferred embodiment, this inteφolating pixel array is determined by a linear inteφolation of the block- to-block differences done in a dimension-independent manner. A dimension-independent inteφolation is taken to mean that each pixel array element has independent, multiplicatively weighted contributions from each approximated block-to-block boundary difference, and each approximated block-to-block boundary difference contributes independently only to matrix elements in the row or column peφendicular that particular boundary. For example, a value approximating block-to-block difference between central block C and its western adjacent block W is inteφolated along the rows of the inteφolating pixel array. The same weights are preferably applicable to differences along each of the four pixel block boundaries. Further, the weights preferably depend only on the distance from the boundary. The size of the inteφolating pixel array need not be the same as size of pixel block manipulated in the encoder/decoder. Because it is the transform coefficients of the inteφolating pixel array are of importance, the inteφolating pixel array can be of any actual size such that its transform coefficients bear a definite relationship to the LF transform coefficients of the pixel block that are to be estimated. In fact, for computational efficiency, the size of inteφolating pixel array can be advantageously chosen to be less than that of the encoder/decoder pixel block. In the preferred embodiment where 8X8 pixel blocks are transformed by discrete cosine transforms ("DCT") in the encoder/decoder pair, a preferred size for the inteφolating pixel array is 4X4 (i.e., a square array four pixels on a side). Alternatively, an 8X8-sized inteφolating pixel array can also be used. The multiplicative weights for inteφolating the block-to-block differences are chosen according to satisfy the heuristic constraints above. In the preferred case of a 4X4- sized inteφolating pixel array, Fig. 3B illustrates preferred multiplicative weights for inteφolating from the left boundary. For inteφolating from the right boundary, these weights are used in the reverse order. These weights satisfy the above constraints in that, first, they sum to zero and have a maximum weight adjacent to the boundary. Since, as Fig. 3C illustrates, the combination of a positive left unit boundary difference with a negative right unit boundary difference is a linear gradient between the two boundaries, the third constraint is also satisfied. The following equations are exemplary of this preferred embodiment for defining the 4X4 inteφolating pixel array. The multiplicative factor FB is chosen as an overall scaling factor for the inteφolating pixel array. array[0][0] = FB*{ 3*N + 3*W } array [0][1] = FB*{ 3*N - W - 2*E} array[0][2] = FB*{ 3*N - 2*W - E } array[0][3] = FB*{ 3*N + 3*E} arrayfl] 0]=FB*{-N -2*S+3*W } array [1] 1]=FB*{-N -2*S-W -2*E} array [1] 2]=FB*{-N -2*S-2*W-E } array [1] 3]=FB*{-N -2*S + 3*E} array[2] 0]=FB*{-2*N-S +3*W } array[2] 1] = FB*{-2*N-S -W -2*E} array[2] 2]=FB*{-2*N-S -2*W-E } array [2] 3] = FB*{-2*N-S +3*E} array[3] 0]=FB*{ + 3*S + 3*W } array[3] 1]=FB*{ + 3*S-W -2*E} array[3] 2]=FB*{ + 3*S-2*W-E } array [3] 3]=FB*{ + 3*S + 3*E} The multiplicative factors FA, applied to the block-to-block pixel difference, and FB, applied to inteφolating pixel array, are selected so that the overall multiplicative factor, FA*FB, meets certain constraints in order to result in predicted LF coefficient leading to maximum image data stream compression. According a first constraint, the overall factor, FA*FB, is preferably less then or equal 0.500 so that, at boundaries between adjacent pixel blocks, the pixel values are not over smoothed, that is so that the pixel values at pixel blocks boundaries have reduced block-to-block differences but with the same sign as the original block-to-block differences. According to a related second constraint, the overall factor is more preferably less than 0.500 because, in the presence of pixel-value gradients, a certain block-to- block edge difference can be an actual image feature and should not be entirely eliminated. There is an additional factor in the overall weighting factor present to normalize the maximum of the spatial configuration weights to 1.00 (if it is not chosen initially to be 1.00). In the preferred embodiment, FA is conventionally taken to be 1.0, so that the block-to-block differences directly represent unsealed pixel values. FB is advantageously taken as 0.375*(1.0/3.0). The factor (1.0/3.0) is necessary to normalize the preferred inteφolation weights. The factor 0.375 has been found to provide good data stream compression, while being economical to compute by shifts and additions without multiplications. The alternative of an 8X8-sized inteφolating pixel array is entirely analogous to the above preferred 4X4-sized inteφolating pixel array. Preferred multiplicative weights for the dimension-independent linear inteφolation of a block-to-block difference from left boundary are the eight values: 44, +2, 0, -1, -2, -2, -1, and 0. The weights are used in the reverse order for inteφolating a block-to-block edge difference from the right boundary. Inteφolating equations are constructed from these weights in a dimension-independent manner entirely analogously to the equations for the preferred 4X4-sized inteφolating pixel array. Preferred weights are FA = 1.0 and FB = 0.375*(1.0/4.0) (the factor (1.0/4.0) for normalized the preferred inteφolating weights). Having determined the inteφolating pixel array, this array is transformed to the relevant transform, or frequency, domain by the transform method otherwise utilized in the encoder/decoder pair, for example in elements 9 and 14 of Fig. 1. Alternatively, a closely related but computationally less-demanding transform method may be used that returns values approximating the relevant transform method. Where the inteφolating pixel array is of a size smaller than the size of the pixel block, the size of the inteφolating array is advantageously chosen so that its transform coefficients have a simple relation to the corresponding LF coefficients of the pixel block, for example, by being equal to the corresponding transform coefficients. In the case of the preferred embodiment, the 4X4-sized inteφolating pixel array is transformed by a DCT to yield transform coefficients that equal the corresponding LF coefficients of the pixel block. In the alternative embodiment of an 8X8-sized inteφolating array, this array is also subject to a DCT yielding coefficients equaling the corresponding pixel block transform coefficients. Alternatively, but less preferably, a computationally less demanding Hadamard transform may replace the DCT. Next, predicted LF coefficients are selected from among the transform coefficients of the transformed inteφolating pixel array. First, the DC coefficient is ignored. It is zero in case the inteφolation method satisfies the first heuristic constraint, as is preferable. Second, it has been found that, since not all transform coefficients yield useful predictions of the corresponding LF coefficients of a pixel block, it is preferred to select the lowest frequency transform coefficients of the inteφolating pixel array as predictors of the corresponding LF coefficients. For example, in the case of either the 4X4-sized or the 8X8-sized inteφolating array, one useful selection is to choose the upper left-hand 3X3 sub-matrix of transform coefficients (ignoring the DC coefficient). Thus the eight transform coefficients Tι 0 , T 20 , T 0 ι, Tii, T 2 ι, T 02 , T12, and T 22 (where T denotes the array of transform coefficients of the inteφolating pixel array), are used as predictors of the corresponding LF transform coordinates. In an alternative selection, the upper triangular section of either the 4X4-sized or the 8X8-sized transform array is used. In this case, the nine transform coefficients T 10 , T 2 o, T 30 , T01, Tii, T21, T 0 2, T12, and To 3 are used as predictors of the corresponding LF transform coordinates. Alternatively, the above inteφolating pixel array determination, transformation to frequency domain, and selection of LF coefficients from frequency domain array, can be combined into a single step in which the selected LF transform coefficients of the inteφolating pixel array are directly determined as a linear combination of differences of the DC coefficient of the pixel block and the DC coefficients of the orthogonally adjacent pixel blocks. The linear inteφolation of the DC coefficient differences can be composed with the linear transformation process to yield the selected LF coefficients as a single linear combination of the DC coefficient differences. As one of skill in the art will appreciate, it is a routine matter to compose these two sets of linear equation by a matrix multiplication in order to determine a single set of linear equations representing the LF coefficients in terms of the DC coefficient differences. Finally, the selected LF transform coefficients of the inteφolating pixel array are output to the subsequent steps and/or elements of the methods and systems of the present invention as predictors of the corresponding LF transform coefficients. The embodiments discussed above require no changes in the data streams recognized by typical encoder/decoder pairs in order to utilize the improvement of this invention. As mentioned above, in less preferred alternatives, these data streams can be augmented to include additional items in order to permit better approximation of block-to- block differences and, thus, better prediction of LF transform coefficients. In one such alternative, actual averages of pixel values along each of the four edges of a block can be provided in a modified data stream. Such additional averages are directly informative of actual differences between edge pixel values of adjacent blocks. In another alternative, in addition to only four quantities, one for each edge of a central block, which necessarily represent only average differences along an entire edge, variations in block- to-block pixel differences along each edge of the central block can be provided in a modified data stream. This alternative method represents variations in intensity by providing more than one quantity for each edge, each quantity representing the differences in one or more pairs of edge-adjacent pixels of central block C. In a case where averages of the differences of two adjacent pairs of pixels are computed, the following equations are representative of this alternative. A = 0.250*FA*{(W 17 - C,o) + (W 07 - Coo) + (N 70 - Coo) + (N71 - d)} B = 0.500*FA* { (N 72 - C 02 ) + (N 73 - C 03 ) } C = 0.500*FA* { (N 74 - C 0 ) + (N 75 - C 05 ) } D = 0.250*FA*{(N 76 - Co 6 ) + (N 77 - C 07 ) + (Eoo - Co 7 ) + (Eoι - C 17 )} E = 0.500*FA*{(E 20 - C27) + (E 30 - C 37 )} F = 0.500*FA* { (E 40 - C 47 ) + (E 50 - C 57 ) } G = 0.250*FA* { (E 60 - C 67 ) + (E 70 - C 77 ) + (S 07 - C 77 ) + (S 06 - C 76 ) } H = 0.500*FA* { (S 05 - C 75 ) + (So, - C 74 ) } I = 0.500*FA* { (S03 - C 73 ) + (S 02 - C 72 ) } J = 0.250*FA* { (S 0! - C 71 ) + (Soo - C 70 ) + (W 77 - C 70 ) + (W 67 - C 60 ) } K = 0.500*FA* { (W 57 - C 50 ) + (W 47 - C4o) } L = 0.500*FA* { (W 37 - C 30 ) + (W 27 - Co) } A coarser representation could be used by combining certain of the above quantities. For example, the following combined and coarser quantities can be used. B * = C = 0.500*(B + C); F = F = 0.500*(E + F) I' = H' = 0.500*(I + H); L' = K' = 0.500*(L + K) Other similar alternatives of increased or decreased coarseness will be apparent to one of skill in the art. These additional block-to-block difference items can be inteφolated to form a 4X4-sized, or an 8X8-sized, inteφolating pixel array in a dimension-independent manner by equations entirely analogous to those presented and described above. Where such additional items are provided, it can be advantageous to select additional coefficients from the transform of the inteφolating pixel array. For example, in the case of 4X4-sized inteφolating arrays, all transform coefficients, except for the DC coefficient, can be selected. In the case of 8X8-sized arrays, the upper left 4X4 or 5X5 sub-arrays, except for the DC coefficient, of the transform of the inteφolating pixel array can be selected. The equations presented above are exemplary of embodiments of the methods described. One of skill in the art will understand how their form could be improved for computational efficiency in micro-processors and digital signal processors of various architectures. For example, the total number of arithmetic operations can be reduced by factorization in view of the dimension independence of the 4X4-sized and 8X8-sized inteφolating pixel arrays. Further, multiplicative operations, including the overall multiplicative weight factor, can be implemented by less costly shifts and additions, instead of more costly multiplications. Additionally, the particular combination of alternatives chosen from those described above can be dictated by a tradeoff of the processing power available in a proposed system against with the degree of improved data stream compression sought. In particular, it will be apparent that, for various classes of images and particular compression methods, the parameters of the methods and system of this invention can be optimized by routine methods to give maximum improved data stream compression. It should now be appreciated that the objects of the present invention are satisfied. While the present invention has been described in particular detail, it should also be appreciated that numerous modifications are possible and will be apparent to one of skill in the art. These modifications are intended to be within the scope of the invention as claimed. In the Claims, any reference signs placed between parentheses shall not be construed as limiting the Claim. The word "comprising" does not exclude the presence of elements or steps other than those listed in a Claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the device Claim enumerating several means, several of these means can be embodied by one and the same item of hardware.

Claims: CLAIMS: 1. A method for compressing an image presented as image data in the form of a pixel array, the method comprising: transforming a plurality of pixel blocks (9) covering the pixel array to transform coefficients in a frequency domain, wherein the transform coefficients represent each pixel block and include a zero frequency transform coefficient, one or more selected low frequency transform coefficients, and remaining transform coefficients, predicting for each pixel block the selected low frequency transform coefficients (21) from the pixel block and pixel blocks adjacent to the pixel block, subtracting for each pixel block the predicted selected low frequency transform coefficients (21) from the selected low frequency transform coefficients to form difference transform coefficients, quantizing for each pixel block the difference coefficients and the remaining transform coefficients, and representing the image (23) by compressed image data comprising the zero frequency transform coefficient, the quantized difference coefficients, and the quantized remaining coefficients for each of the plurality of pixel blocks. 2. The method of Claim 1, wherein said predicting step comprises the step of preceding for each pixel block the selected low frequency transform coefficients (21) from a linear combination of the zero frequency transform coefficient of the pixel block and of the zero frequency transform coefficients of pixel blocks adjacent to the pixel block. 3. The method of Claim 1, wherein said predicting step comprises the step of predicting for each pixel block the selected low frequency transform coefficients (21) from a linear combination of differences between pixels along the edges of the block and pixels along edges of pixel blocks orthogonally adjacent to the pixel block. 4. The method of Claim 1, wherein said step of predicting for each pixel block further comprises: determining an inteφolating pixel array (29) having inteφolating pixel values linearly inteφolating differences between the zero frequency transform coefficient of the pixel block and the zero frequency transform coefficients of pixel blocks orthogonally adjacent to the pixel block, transforming the inteφolating pixel array (30) to transform coefficients (31) in the frequency domain, and selecting the predicted selected low frequency transform coefficients as the corresponding transform coefficients of the inteφolating pixel array. 5. The method of Claim 4, wherein said step of selecting selects the predicted selected low frequency transform coefficients as those transform coefficients present in an upper left square sub-array of size three-by-three of the transformed inteφolating pixel array, excluding the zero frequency transform coefficient of the transformed inteφolating pixel array. 6. The method of Claim 4, wherein the pixel values of the inteφolating pixel array are weighted sums of differences between the zero frequency transform coefficient of the pixel block and the zero frequency transform coefficient of each pixel block orthogonally adjacent to the pixel block, and wherein the pixel values are linearly inteφolated in a dimension- independent manner. 7. The method of Claim 6, wherein the inteφolating pixel array is a square array, and wherein the weights of the weighted sum are chosen such that a first zero frequency transform coefficient difference at one boundary of the pixel block and a second zero frequency transform coefficient difference at the opposite boundary that is of equal magnitude and opposite sign to the first zero frequency transform coefficient difference results in a linear gradient of inteφolating pixel values between the boundaries in the inteφolating pixel array. 8. The method of Claim 7 wherein the inteφolating pixel array is four pixels on a side, and wherein the weights are +3, -1, -2, and 0. 9. The method of Claim 7 wherein the inteφolating pixel array is array eight pixels on a side, and wherein the weights are 44, 42, 0, -1, -2, -2, -1, and 0. 10. The method of Claim 1 wherein said step of quantizing further comprises quantizing the zero frequency transform coefficient. 11. The method of Claim 3, wherein the linear combination of differences comprises a linear combination of averages of all pixels along the edges of the block and averages of all pixels along edges of pixel blocks orthogonally adjacent to the pixel block, 12. A method for reconstructing an image presented in the form of compressed image data for a plurality of pixel blocks covering a pixel array representing the image, the method comprising: retrieving the compressed image data (23), wherein the compressed image data comprise for each pixel block a zero frequency transform coefficient, quantized difference transform coefficients, and quantized remaining transform coefficients, dequantizing (12) the quantized difference transform coefficients and the quantized remaining transform coefficients to provide difference transform coefficients and remaining transform coefficients, respectively, predicting for each pixel block selected low frequency transform coefficients (24) from transform coefficients of the pixel block and pixel blocks adjacent to the pixel block, adding (25) for each pixel block the predicted selected low frequency transform coefficients to the difference transform coefficients to form selected low frequency transform coefficients, inverse transforming (14) for each pixel block the zero frequency transform coefficient, the selected low frequency transform coefficients, and the remaining transform coefficients, in order that the plurality of pixel blocks is reconstructed, and reconstructing the pixel array (29) from the plurality of reconstructed pixel blocks. 13. The method of Claim 12, wherein said step of predicting for each pixel block further comprises: determining an inteφolating pixel array (30) having inteφolating pixel values linearly inteφolating differences between the zero frequency transform coefficient of the pixel block and the zero frequency transform coefficients of pixel blocks orthogonally adjacent to the pixel block, transforming the inteφolating pixel array (30) to transform coefficients (31) in the frequency domain, and selecting the predicted selected low frequency transform coefficients as the corresponding transform coefficients of the inteφolating pixel array. 14. A system for compressing an image presented as image data in the form of a pixel array, the system comprising: means for transforming (41) a plurality of pixel blocks covering the pixel array to transform coefficients in a frequency domain, wherein the transform coefficients represent each pixel block and include a zero frequency transform coefficient, one or more selected low frequency transform coefficients, and remaining transform coefficients, means for predicting (42) for each pixel block the selected low frequency transform coefficients from the pixel block and pixel blocks adjacent to the pixel block, means for subtracting (44) for each pixel block the predicted selected low frequency transform coefficients from the selected low frequency transform coefficients to form difference transform coefficients, means for quantizing (49) for each pixel block the difference coefficients and the remaining transform coefficients, and means for representing (1) the image by compressed image data comprising the zero frequency transform coefficient, the quantized difference coefficients, and the quantized remaining coefficients for each of the plurality of pixel blocks. 15. The system of Claim 14 wherein said means for predicting for each pixel block further comprises: means for determining (42) an inteφolating pixel array having inteφolating pixel values linearly inteφolating differences between the zero frequency transform coefficient of the pixel block and the zero frequency transform coefficients of pixel blocks orthogonally adjacent to the pixel block, means for transforming (42) the inteφolating pixel array to transform coefficients in the frequency domain, and means for selecting (42) the predicted selected low frequency transform coefficients as the corresponding transform coefficients of the inteφolating pixel array. 16. A system for reconstructing an image presented in the form of compressed image data for a plurality of pixel blocks covering a pixel array representing the image, the system comprising: means for retrieving (2) the compressed image data, wherein the compressed image data comprise for each pixel block a zero frequency transform coefficient, quantized difference transform coefficients, and quantized remaining transform coefficients, means for dequantizing (60)the quantized difference transform coefficients and the quantized remaining transform coefficients to provide difference transform coefficients and remaining transform coefficients, respectively, means for predicting (62) for each pixel block selected low frequency transform coefficients from transform coefficients of the pixel block and of pixel blocks adjacent to the pixel block, means for adding (64) for each pixel block the predicted selected low frequency transform coefficients to the difference transform coefficients to form selected low frequency transform coefficients, means for inverse transforming (68) for each pixel block the zero frequency transform coefficient, the selected low frequency transform coefficients, and the remaining transform coefficients, in order that the plurality of pixel blocks is reconstructed, and means for reconstructing (69) the pixel array from the plurality of reconstructed pixel blocks. 17. A system for compressing an image presented as image data in the form of pixel array data, the system comprising: one or more processors (80)for executing program instructions, and one or more memory units (81,82) for storing the pixel array to be processed and program instructions, wherein said program instructions cause said one or more processors to execute the method of Claim 1. 18. A system for reconstructing an image presented in the form of compressed image data for a plurality of pixel blocks, the system comprising: one or more processors (80) for executing program instructions, and one or more memory units (81,82) for storing the compressed image data to be processed and program instructions, wherein said program instructions cause said one or more processors to execute the method of Claim 12. 19. A computer readable media encoded with program instructions for causing one or more processors to perform the method of Claim 1 or 12.

Inventors: RACKETT ALBERT E, RACKETT, ALBERT, E.
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 1999
Main classification: G06T9
IPC codes: G06T9, H03M7, H04N1, H04N7