Method of and apparatus for compressing image data

Abstract: Image data (f ij ) depicting an image in a pixel block are converted by 2-D Discrete Cosine Transformation into transformation coefficients (F mn or F mn *). Only a part of the coefficients are employed to form compressed image data (D t ). The selection of the part of the coefficients is executed using code tables (CT). Several groups of code tables are prepared, and one of those groups is selected in the data compression operation in response to a standard deviation (σ) of the image data in the pixel block. When the compressed image data is restored, identification data specifying the selected group in the previous data compression is stored in the restored image data. Then, in the next data compression of the restored image data, the selected group is again selected as a function of the identification data.

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to a method of and an apparatus for compressing image data having graduation with respect to every pixel block for reducing the amount of data of image information. Description of the Prior Art In an image processor such as a process scanner, image data is obtained for every pixel, which is a constant small area, by reading an original image. The image data employed in the field of printing are usually larger in amount than those employed in television, and the amount of the information thereof reaches several to tens of mega bites for each image. Such a large amount of image data would require enormous memory capacity if they were stored in a data base as they are; thus the cost for data transmission would increase greatly. In order to cope with this problem, data compression is executed on the image data for reducing the total amount of information. Several types of data compression methods are well known in the art, such as that using orthogonal transformation and the like. However, the data compression methods in the art suffer from a trade-off between a compression rate (or compressibility) and quality of a reproduced image produced by the compressed image data. If the compression rate is increased, the quality of the image is lowered. On the other hand, the compression rate is decreased in order to raise the quality of the image. This is not a big issue for the image data employed in television because the quality of the images of television is relatively low compared with that employed in the field of printing. The data compression methods in the art have another issue concerning repetition of data compression and data restoration. If the data compression is executed with a high compression rate, the image quality of a restored image obtained by restoring the compressed data is lowered as compared with the original image. Thus, when the data compression and restoration are repeated several times, the image quality is gradually lowered. A method and apparatus according to the preamble of claim 1 and 4 respectively, are known from SPIE, vol. 594: "Image coding", 1985, pages 119-128, SPIE, Washington, US; G. KUMMERFELD et al.: "Coding television signals at 320 and 64 kbit/s". According to this document, the distribution of the coefficients obtained through a discrete cosine transform are determined with fixed horizontal, vertical and diagonal areas commonly used to determine the distribution in both of pixel blocks having a large number of AC components and pixel blocks having a small number of AC components. An image data compression method based on discrete cosine transform is also known from CONFERENCE RECORD OF THE IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS'86, Toronto, 22nd - 25th June 1986, vol. 1, pages 381-384, IEEE, New York, US; J. GUICHARD et al.: "Intra- and inter frame transform coding for moving pictures transmission". SUMMARY OF THE INVENTION The present invention is directed to a method of and an apparatus as defined in claims 1 and 4. Acccordingly, an object of the present invention is to increase the compression rate (or compressibility) without lowering the image quality too much. Another object of the present invention is to suppress the deterioration of the image qaulity when the data compression and restoration are repeated several times. These and other objects, features, aspects and advantages for the present invention will become more apparent from the following detailed description of the present invention when taken in conjection with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is an explanatory diagram showing pixel blocks in an image; Fig. 2 is an explanatory diagram showing a pixel array in a pixel block; Fig. 3 is an explanatory diagram showing examples of image data and transformation coefficients; Fig. 4 is a conceptual diagram showing an exemplary code table; Fig. 5 is an explanatory diagram showing an exemplary relation between standard deviation of image data and numbers of appearance thereof; Fig. 6 is a schematic block diagram showing an apparatus to which an embodiment of the present invention is applied; Figs. 7A, 7B and 8 are flow charts for illustrating the embodiment of the present invention; Fig. 9 is a conceptual diagram showing an exemplary subtable; Figs. 10A and 10B are conceptual diagrams showing the structure of compressed image data; Fig. 11 is a schematic block diagram showing a restoration apparatus; Fig. 12 is a flow chart showing the procedure of a method of recording group information; Figs. 13, 15 and 16 show how the sheets containing Figs. 13A, 13B, 15A, 15B, 16A and 16B are to be arranged in order to stand in the proper relation; Figs. 13A, 13B, 15A, 15B, 16A and 16B when arranged according to Figs. 13, 15 and 16 are explanatory diagrams showing exemplary cycles of compression and restoration; and Fig. 14 illustrates SN ratios of restored images. DESCRIPTION OF THE PREFERRED EMBODIMENT A preferred embodiment of the present invention will be described in sequence with reference to the following items: A. a method of producing compressed image data; B. a method of producing restored image data; C. structure of an apparatus and operation thereof; D. exemple of data compression and restoration ; and E. modifications. Fig. 1 is a conceptual diagram showing pixel blocks in an image 1. The image 1 is composed of XxY pixels P, and is divided into VxH pixel blocks B vh each having a plurality of pixels. Fig. 2 is a conceptaul diagram showing the structure of one pixel block B vh . The pixel block B vh is composed of MxN pixels P ij , and image data f ij . is obtained for every pixel. Although the pixel block B vh is composed of 8x8 pixels in the example shown in Fig. 2, the same may be composed of 4x4 pixels or 16x16 pixels. When data compression is executed, the image data are first subjected to an orthogonal transformation with respect to every pixel block B vh in the image 1. Several types of orthogonal transformations can be applied such as a discrete Fourier transformation, Hadamard's transformation and the like. In this embodiment, a Discrete Cosine Transformation (hereinafter referred to as "DCT") is employed. The following equation expresses a coefficient F mn associated with a specific function in a series of transformation functions for DCT. where m and n have values generally within ranges of zero to (M - 1) and zero to (N - 1), respectively. Fig. 3 is an explanatory diagram showing the image data f ij within one pixel block and the transformation coefficient F mn obtained through the expression (1). Fig. 3 (a-2) and Fig. 3(b-2) show tables FT which have the transformation coefficients F mn . A tranformation coefficient F 00 shows an average value (hereinafter referred to as "direct current component") of the image data f ij , and the remaining tranformation coefficients F mn (hereinafter referred to as "alternate current components") show the distribution of the image data f ij . Each of the tranformation coefficients F mn is expressed by means of binary data of 8 bit, for example. However, the values of the coefficients are shown in decimal notation in Fig. 3, for convenience of illustration. As can be understood from Fig. 3, the transformation coefficients F mn show the following character. As well as positions (m,n) at which the transformation coefficients F mn are nonzero, the values of the coefficients F mn are considerably varied in response to the distribution of the image data f ij . Those of the transformation coefficients F mn having large absolute values specifically represent the distribution of the original image data f ij , and the number of those tranformation coefficients F mn having large absolute values is increased in response to spatial uneveness of the image data f ij . The inventors of the present invention have directed their attention to the character of the transformation coefficients F mn , to employ a code table which validates only a part of the alternate current components in a coefficient table FT. Fig. 4 is an explanatory diagram showing a code table. Within this code table CT, only a part of coordinates (m,n) are supplied with an effective bit number I mn . The effective bit number I mn indicates that the transformation coefficient F mn in the position (m,n) is validated by the table CT. The effective bit number I mn further indicates the maximum bit number for expressing the transformation coefficient F mn in binary system. That is, the value of the transformation coefficient F mn no more than a maximum effective value F max (= (2 Imn ) -1) is validated as it is. Referring to Fig. 4, symbol "-" indicates that the effective bit number is zero. All of the effective bit numbers I mn may be of the same value (8 bits, for example). However, the compression rate is raised by employing appropriate values (such as 8 bits or 3 bits, for example) which are smaller than the bit number (8 bits) of the original transformation coefficients F mn , and which are varied with the coordinates (m,n). Even if a transformation coefficient F mn has a value larger than the maximum effective value F max , its value is limited to the maximum effective value F max by the effective bit number I mn . The effective bit numbers I mn are empirically determined to avoid such a situation as much as possible and even if the transformation coefficient F mn is limited to the maximum effective value F max , influence thereof can be neglected. A plurality of the code tables CT are prepared in advance of the data compression. The respective code tables CT have different patterns and values of the effective bit numbers I mn from each other. The patterns of the effective bit numbers I mn are empirically determined in order to reproduce an image of higher image quality with a smaller number of the transformation coefficients. For example, the coefficient tables FT like those shown in Figs. 3(a-2) and 3(b-2) are first prepared for typical images such as a human figure, a landsape, a still life and the like. Then, by comparing the distribution of the coefficients in those coefficient tables FT with each other, the code tables are defined so as to represent major types of distributions of the coefficients frequently seen in those coefficient tables. When the transformation coefficient table FT is obtained for every pixel block B vh in data compression operation, an optimum code table (or a relevant code table) is selected for each coefficient table FT from the plurality of code tables CT. For the purpose of such selection, the sum S F of the effective transformation coefficients F mn (hereinafter simply referred to as "effective sum") is obtained in accordance with the following expression: where The effective sum S F is obtained for each code table CT with respect to one coefficient table FT. The code table CT having the maximun effective sum is selected as the optimum one to the coefficient table FT. The reliability of the selection of the optimum code table as a function of the effective sum S F is further improved if the same number N c of the transformation coefficients F mn (hereinafter refered to as "effective component numbers") are validated by any of the respective code tables CT. The optimum code table is identified by a table number defined for each code table CT. Compressed image data are produced on the basis of an average value of the original image data f ij , the table number of the optimum code table CT and the values of the transformation coefficients F mn validated by the optimum code table CT. The effective component number N c is far smaller than the total number MxN of the transformation coefficients F mn within a coefficient table and the value of each transformation coefficient F mn is expressed by a smaller effective bit number I mn , whereby the compression rate is quite increased. The compressed image data can be encoded by well-known Huffman codes or the like, in order to further increase the compression rate. In this embodiment, the code tables CT are classified into a plurality of groups in response to characteristics of the image in order to still further improve the compression rate. To this end, the code tables CT are classified into a plurality of compression groups (code table groups) in respone to a standard deviation σ of the image data f ij obtained for every pixel block B vh as follows: σ < σ 1 : compression group g 1 including code tables CT 11 to CT 1L σ 1 ≦ σ < σ 2 : compression group g 2 including code tables CT 21 to CT 2L σ 2 ≦ σ < σ 3 : compression group g 3 including code tables CT 31 to CT 3L σ 3 ≦ σ : compression group g 4 including code tables CT 41 to CT 4L (where σ 1 , σ 2 and σ 3 represent prescribed threshold values) Number L of the code tables may be varied with the compression groups g 1 to g 4 . Fig. 5 illustrates distribution G of frequency A of the standard deviation σ in an overall image 1. Referring to Fig. 5, the frequency A is shown in logarithmic scale along the vertical axis. The first threshold value σ 1 is determined such that the image in the pixel block is fairly even when the standard deviation σ is less than the same. In such a pixel block, because the alternate current components of the transformation coefficients are small, the image quality is not so much lowered even if a code table having a small value of the effective component number N c is employed for the data compression. Since the frequency A of a pixel block having smaller standard deviation σ is generally higher as understood from Fig. 5, the compression rate is much improved by treating all of such pixel blocks with the code tables having a small effective component number N c . When the standard deviation σ is between the first and second threshold values σ 1 and σ 2 , this indicates that the image is loosely changed in the pixel block. In this case, it is better to employ a code table having an effective component number N c larger than that of the compression group g 1 , in order to maintain the image quality. Since this compression group g 2 also corresponds to a range of relatively high frequency A, the compression rate attained by employing the code tables having a relatively small value of the effective component number N c in the compression group g 2 is also high. While the frequency A becomes relatively low with respect to a range of the standard deviation σ more than the second threshold value σ 2 , the compression rate would be decreased if all of such pixel blocks were processed with a code table having a large effective component number N c . Thus, the third threshold value σ 3 is employed for further classification of the code tables. Respective effective component numbers N c1 to N c4 of code tables CT 1k to CT 4k (k= 1 to L) of the respective compression groups g 1 to g 4 are in the following relation: 0 ≦ N c1 ≦ N c2 ≦ N c3 ≦ N c4 ≦ MxN - 1 The effective component numbers of the code tables are constant within the respective compression groups. When N c1 = 0, the compressed image data of a pixel block B vh belonging to the compression group g 1 is expressed only by the average of the image data f ij , that is, only by the direct current component F 00 . Prior to the data compression operation, the threshold values σ 1 to σ 3 and the code tables CT 1k to CT 4k classified into the compression groups g 1 to g 4 are prepared. One of the compression groups g 1 to g 4 is selected in response to the standard deviation σ of the block B vh , and the optimum code table is selected from code tables included in the selected compression group. Restored image data f ij in a pixel block are obtained by executing Inverse Discreet Cosine Transformation (or IDCT) on the transformation coefficients F mn of compressed image data. IDCT is expressed as follows: The restored image data is so formed as to indicate which one of the compression groups g 1 to g 4 is employed for producing the compressed image data. Such information indicating the compression group is hereinafter referred to as "group information". In order to record the group information in the restored image data f ij , similar information is also restored in the compressed image data. In the compressed image data, the code table number has a function of representing the group information, as hereinafter described. The group information is integrated into the restored image data f ij by using the least significant digits of the restored image data at prescribed pixel positions within a pixel block, for example. When the restored image data are expressed in binary system, two values ("0" and "1") of a least significant bit distinguish two compression groups. The value of "0" of a least significant bit is hereinafter simply referred to as "even" while the value "1" is referred to as "odd". Since four compression groups are employed in this embodiment, the group information can be expressed by two bits. Within the pixel block B vh shown in Fig. 2, two image data f 11 and f 33 are selected and their values are adjusted as follows to record the group information: compression group g 1 : both of f 11 and f 33 are made even compression group g 2 : f 11 is made odd and f 33 is made even compression group g 3 : f 11 is made even and f 33 is made odd compression group g 4 : both of f 11 and f 33 are made odd The image data f 11 is made even in accordance with the following expression, for example: f 11 = ff 11 & 254 where ff 11 : image data before being made even f 11 : image data after being made even & : bit-AND operator The bit-AND operator & expresses operation of obtaining logical product for each bit of binary numbers. The expression (5) is expressed in 8-bit binary numbers as follows; e 7 e 6 e 5 e 4 e 3 e 2 e 1 e 0 = a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 & 1 1 1 1 1 1 1 0 where e i (i = 0 to 7) : each bit of image data f 11 a i (i = 0 to 7) : each bit of image data ff 11 Through the function of the bit-AND operator &, the expression (6) is transformed as follows: e 7 e 6 e 5 e 4 e 3 e 2 e 1 e 0 = a 7 a 6 a 5 a 4 a 3 a 2 a 1 0 That is, whatever value the image data ff 11 has, the least significant bit e 0 of the image data f 11 is always zero after the transformation by the expression (5). Further, the difference between the image data f 11 and ff 11 is not more than 1 and hence influence of the difference on the image quality can be neglected. On the other hand, the image data is made odd through the following expression: f 11 = (ff 11 & 254) + 1 Since the least signification bit of the image data f 11 in the left hand side is always 1, the image data f 11 is an odd number. Further, since the maximum value of the first term (ff 11 & 254) in the right hand side is 254, the maximum value of the image data f 11 is 255. Thus, the maximum value 255 of the image data is not exceeded by the operation of the expression (8). Further, the difference between the image data f 11 and ff 11 is not more than 1 and hence influence of the difference on the image quality can be neglected. Although the above description has been made on the operation of the image data f 11 , the same also applies to the image data f 33 . As a funtion of the least significant bits e 110 and e 330 of the image data f 11 and f 33 after being made even or odd, the group information N g is expressed in the following 2 bit binary number: N g = e 330 e 110 Relation between the group information N g and the compression groups g 1 to g 4 is as follows: compression group g 1 : N g = 00 compression group g 2 : N g = 01 compression group g 3 : N g = 10 compression group g 4 : N g = 11 The respective bits forming the group information N g are not restricted to those of the image data f 11 and f 33 , but the least significant bits at two arbitrary pixel positions can be employed. Although the grcup information N g is expressed in a 2-bit binary number in this embodiment because of four compression groups, the bit number may be increased if more compression groups are employed. As hereinabove described, the restored image data are so formed as to include the group information, whereby the restored image data can be identified as being in the same compression group as the previous one in which the original image data before compression were included. Fig. 6 is a schematic block diagram showing the structure of an image data compressor emboding the present invention. Referring to Fig. 6, an image data compressor AP comprises an image memory 5, a block read controller 6, a buffer memory 7, a two-dimentional DCT transformer 8, a linear quantizer 9, an encoder 10, a recording controller 11, a group-information read controller 12, a standard deviation calculator 14, a group information controller 15, a ROM 17 and a controller 13. The operation of the image data compressor AP will be described along flow charts shown in Figs. 7A and 7B. At a step S1, the threshold values σ 1 to σ 3 of the standard deviation are inputted through a parameter input terminal 16 provided in the exterior of the data compressor AP, and set in the group information controller 15. Steps S2 to S4 and S11 to S13 are adapted to sequentially select pixel blocks B vh to be processed. At a step S5, the block read controller 6 reads image data f 11 within one pixel block B vh , and stores the same in the buffer memory 7. A step S6 is adapted to determine the group information N g . At a step S61, a decision is made as to whether or not the image data f ij are those of a restored image. If the image data f ij are those of a restored image, the image data f ij has data indicating that they are restored image data, in a header portion of a data file of the image data f ij , for example. The aforementioned decision is made in accordance with presence/absence of such data. If the image data f ij , are not those of a restored image but those of an original, steps S62 and S63 are carried out. At the step S62, the image data f ij are supplied from the buffer memory 7 to the standard deviation calculator 14, which in turn calculates the standard deviation σ. At the step S63, the standard deviation σ is supplied from the calculator 14 to the group information controller 15, which in turn determine the group information N g , That is, the group information controller 15 compares the standard deviation σ with the threshold values σ 1 to σ 3 , to determine which one of the compression groups g 1 to g 4 the pixel block belongs to. Then the controller 15 determines the group information N g by the expressions (10a) to (10d). When the image data f ij are those of a restored image, on the other hand, a step S64 is carried out. At this step, the group information N g is synthesized by respective least significant bits e 110 and e 330 of image data f 11 and f 33 at two pixel positions, as shown by the expression (9). Referring to Fig. 6, the image data f 11 and f 33 are read out from the buffer memory 7 in the group-information read controller 12. The read controller 12 synthesizes the group information N g through the image data f 11 and f 33 , and supplies the same to the group information controller 15. Thus, when the group information N g is supplied from the read controller 12, the controller 15 holds the group information N g and performs no operation of determining the group information N g on the basis of the standard deviation σ. When the group information N g is determined at the step S6, the image data f ij are transmitted from the buffer memory 7 to the two-dimentional DCT transformer to be subjected to DCT at a step S7. At a step S8, the transformation coefficients F mn are linearly quantized. As is well known in the art, "linear quantization" means proccessing of dividing a transformation coefficient F mn by a predescribed value α ("quantum width") and making the value F mn /α to be integral when the values F mn /α includes decimal part. The value of the quantum width α may be fixed, or may be varied with the standard deviation σ. Such linear quantization may not be performed, as hereinafter described. At a step S9, an optimum code table is selected with respect to a coefficient table FT* having the lineary quantized transformation coefficients F mn *. Fig. 8 is a flow chart showing the procedure of selecting the optimum code table carried out by the encoder 10 at the step S9. Referring to Fig. 8, meaning of each symbol is as follows: max: parameter for obtaining maximum value of effective sum S F Max: parameter representing a code table number of a code table having the maximum effective sum S F ℓ: parameter representing a code table number L: number of the code tables c: parameter representing a serial number of a effective current component N c : number of the effective alternate current components At a step S21, the compression group of the pixel block under process is identified as a function of the compressing group information N g . Steps S22 to S30 are adapted to select that code table within L pieces of code tables of the compression group, which code table has the maximum effective sum S F (see expression (2)). At the steps S23 to S26 for obtaining the effective sums S F , a subtable T shown in Fig. 9, which is stored in the ROM 17, is employed. The subtable T specifies coordinate values (m ℓc , n ℓc ) of the coordinate positions in which the effective bit numbers I mn are nonzero. The subtables T are prepared for respective code tables CT g1 to CT gL within one compression group g i (i = 1 to 4). Where ℓ = 0 to (L - 1) and c = 0 to (N c -1). The subscript g of the code tables CT g1 to CT gL represent the compression group g i . As to one code table CT g , the coordinates (m ℓc , n ℓc ) are sequentially called from the subtable T, and absolute values of the transformation coefficients F mn * of the transformation coefficient table FT* at the coordinates (m ℓc , n ℓc ) are added up at the step S24. The code table having the maximum effecitve sum S F is selected as the optimum code table. When the optimum code table is thus selected, the effective transformation coefficients F mn * of the coefficient table FT* are specified by the optimum code table and are expressed in the effective bit numbers I mn (six bits, for example), while the other transformation coeffcients F mn * are neglected. At a step S31, the table number Max of the optimum code table and the transformation coefficients F mn * specified as effective by the optimum code table are transformed into a Huffman code train, to form compressed image data (steps S31 and S10 ). The average value of the original image data f ij may be simultaneously Huffman-coded at this time, while only the average value may be encoded by a method such as the so-called predictive encoding, independently of the step S31. Compressed image data (encoded data) D f thus obtained are transmitted to the data recording controller 11 from the encoder 10, and further outputted to the image memory 5 or a transmission path for an external circuit (not shown). A selection command for this output is inputted in the parameter input terminal 16 by an operator in advance of the compression of the image data, and initialized in the data recording controller 11. Figs. 10A and 10B are conceptual diagrams showing the file structure of the encoded compressed image data D f . A header 18 of Fig. 10A includes the threshold values σ 1 , σ 2 and σ 3 etc., and the code trains of respective pixel blocks are arranged following the header 18. Fig. 10B is the internal structure in a code train 19 of each pixel block, which is formed of the table number Max of the optimum code table and the code train of the transformation coefficients F mn * specified as effective by the optimum code table. Fig. 11 is a schematic block diagram showing a restoration apparatus for restoring the encoded compressed image data D f . This restoration apparatus IAP comprises an image memory 20, a read controller 22, a buffer memory 23, a decoder 24, a ROM 25, an inverse quantizer 26, a two-dimentional IDCT Transformer 27, a group information recoder 28 and a recording controller 29. The compressed image data D f are read out from the image memory 23 or a transmission path 21 by the read controller 22, and supplied to the buffer memoy 23 and further transmitted to the decoder 24. The ROM 25 stores a code table identical to that employed for the compression of the image data, a Huffman code table for decoding the Huffman code train, and the like. The compressed image data D f are decoded into the transformation coefficients F mn * by the decoder 24. The transformation coefficients F mn * are inverse-quantized by the inverse quantizer 26. That is, the transformation coefficients F mn * (=F mn /α) linearly quantized with the quantum width α are multiplied by the quantum width α. The transformation coefficients F mn thus obtained are inverse-converted by the two-dimentional IDCT Transformer 27, whereby the image data ff ij of each pixel within the pixel block are obtained. On the basis of the image data ff ij thus obtained, the group information recoder 28 records the group information in the image data ff ij . Fig. 12 is a flow chart showing the recording procedure. At a step S31, the group information recoder 28 reads out the code table number Max within the compressed image data D f from the buffer memory 23. At a step S32, the group information N g is determined from the code table number Max. Through steps S33a to S33c and S34a to S34d, the image data ff 11 (f 11 ) and ff 33 (f 33 ) are made odd/even. The steps S34a to S34d are carried out through the expressions (5) and (8). The image data f ij in which the group information N g is recorded are stored in the image memory 20 by the recording controller 28. Image data f jj for the overall image can be obtained by performing the restoration processing operation on all of the pixel blocks. In order to re-compress image data f ij once restored, the group information N g is read out from the least significant bits of two image data f 11 and f 33 . Data compression is performed according to the compression group identified by the group information N g . Firstly, an example 1 will be described in which the linear quantization of F mn is not performed. Figs. 13A and 13B are explanatory diagrams showing image data f ij and transformation coefficients F mn in a first example of repeating compression and restoration. Image data f ij (0) of Fig. 13A(a) represents image data of an original, and f ij (k) (k = 1 to 3) of Fig. 13A(d), Fig. 13B(f) and Fig. 13B(h) represents image data obtained by the k-th restoration after alternate data compression and restoration. F mn (k) (k = 1 to 3) of Fig. 13A(c), Fig. 13B(e) and Fig. 13B(g) represent transformation coefficients obtained by the k-th compression after alternate data compression and restoration. In this example, the transformation coefficients F mn are not subjected to linear quantization. Therefore, the transformation coefficients F mn of decimal values obtained by DCT are not made to be integers but directly preserved as the compressed image data D t and restored therefrom. In Figs. 13A and 13B, only integral parts of the transformation coefficients F mn are shown for convenience of illustration. On the other hand, the image data f ij (k) are regularly preserved and restored in integral values. First, the image data f ij (0) of the original are DC transformed to the transformation coefficients F mn 0 (1) of Fig. 13A(b) . These transformation coefficients F mn 0 (1) are not yet subjected to the selection of effective alternate current components by a code table, but have 19 alternate current components. Then, the transformation coefficients F mn (1) of Fig. 13A(c) are obtained as the result of the selection of the effective alternate current components by the code table. These transformation coefficients F mn (1) include six effecitve alternate current components F 01 , F 02 , F 10 , F 11 , F 13 and F 14 . The restored image data F ij (1) of Fig. 13A(d) are obtained by IDCT of the transformation coefficients F mn (1). In the example shown in Fig. 14, the threshold value σ 1 is set at 4.0 and the threshold values σ 2 and σ 3 are set to be at least 5.0. Since the standard deviation σ of the image data f ij (0) of the original is 4.862 as shown in Fig. 13A(a), the image data f ij (0) belong to the compression group g 2 . On the other hand, since the standard deviation σ of the image data f ij (1) restored after the first data compression is 3.621, the image data f ij (1) would belong to the compression group g 1 if the same were classified by the value of the standard deviation σ. However, as hereinabove described, the information indicating that the image data f ij (0) of the original belonged to the compression group g 2 , i,e., the group information N g = 01 (binary notation) is recorded by even/odd of the data f 11 (1) and f 33 (1) (underlined in Fig. 13A(d)) of the image data f ij (1). In more concrete terms, the data f 11 (1) is adjusted to be odd and g 33 (1) is adjusted to be even, as hereinabove described. Acccordingly, from the second data compression, the image data f ij (1) is specified to belong to the compression group g 2 . Since the transformation coefficients F mn (k) are accurately preserved as decimal values in the example, DCT is carried out reversibly. Therefore, the restored image data f ij (2) and f ij (3) obtained after the second cycle of the data compression and restoration are equal to the restored image data f ij (1) after the first cycle of the data compression and restoration. Fig. 14 illustrates transition of image quality of the restored images as SN ratios of the image data f ij (k). SN ratios R SN corresponding to the case shown in Figs. 13A and 13B (Example 1) are shown with white circles. The SN ratio R SN is defined as follows: R SN = 10 log 10 (255 2 /r) where Δf ij represents a difference between image data of an original and that of a restored image. Symbols X and Y in the expression (11b) represent numbers of columns and rows of pixels existing in the whole image (see Fig.1). As understood from Fig. 12, the SN ratio R SN is not changed after the restored image data f ij (1) in the example 1, that is, the deterioration of image quality is prevented. Fig. 14 also shows a reference example, in which data compression and restoration are repeated without applying the present invention, for example. According to the reference example in which the compression groups is identified by the value of standard deviation σ, the image data is decided to belong to the compression group g 1 in the second data compression operation. Therefore, the image quality of a restored image after the second data compression is extremely deteriorated, and the value of its S N ratio R SN is also extremely reduced as shown in Fig. 14. Examples 2 and 3 will be described next, in which the quantization of F mn is performed. In the Example 1, the transformation coefficients F mn are not subjected to the linear quantization. However, if the transformation coefficients F mn are linearly quantized, storage capacity required for preserving the transformation coefficients F mn can be extremely reduced and the compression rate can be further improved. Figs. 15A and 15B are explanatory diagrams showing image data f ij (k) and transformation coeffcients F mn *(k) with linear quantization on the transformation coefficients F mn *. The subscripts * are attached to the transformation coefficients indicating that the same are linearly quantized. Since the value of the quantum width α is "1", the term "linear quantization" herein used is the same as to round to the nearest whole number. The round-off operation is performed by counting fractions over 1/2 as one and disregarding the rest. The SN ratio R SN of the image data f ij (k) in the Example 2 shown in Figs. 15A and 15B is shown with black squares in Fig. 14. Although the SN ratio R SN of the Example 2 where the coefficients F mn are linearly quantized decreases more quickly than that of the Example 1 where the linear quantization is not executed, the SN ratio R SN of the Example 2 decreases more slowly than that of the reference example, and the image quality is also lowered more slowly. It is because the errors caused by the round-off operation in the linear quantization of the transformation coefficients F mn are accumulated, dissimilarly to the case of the Example 1. In order to further suppress the progress of the deterioration of the image quality, the following method can be employed: Before performing IDCT on the transformation coefficients F mn *(k), values of the transformation coefficients F mn *(k), which are effective alternate current components, are modified as follows: when F mn * > 0, FF mn = F mn * + 0.5 when F mn * < 0, FF mn = F mn * - 0.5 The modified transformation coefficients FF mn are subjected to the IDCT. Application of the expression (12a) or (12b) is hereinafter referred to as "modification of the transformation coefficients F mn *". Figs. 16A and 16B show examples of the image data f ij (k) and the transformation coefficients F mn * in the Example 3 where the modification of the transformation coefficients is performed. The SN ratio R SN of the Example 3 is shown with white squares in Fig. 14. The SN ratio R SN of the Example 3 holds relatevely large, and the SN ratio R SN is maintained constant after the second cycle of the data compression and restoration. The expressions (12a) and (12b) are introduced on the basis of the following idea: When the image data f ij (1) of Fig. 15A, which are restored with no modification of the transformation coefficients F mn *, are compared with the image data f ij (0), the restored image data f ij (1) have smaller differences of data values between the pixels. That is, the image data after one cycle of the data compression and restoration are averaged in the pixel block to some extent. On the other hand, the absolute values |F mn *| of the transformation coefficients F mn * denote amplitudes of respective frequency components of the image data f ij restored as a function of the transformation coefficients F mn *, as shown in the expression (4). Therefore, when the absolute values |F mn *| are increased, the amplitudes of the respective frequency components are increased so that the restored image data f ij represent more undulation in the pixel block. The expressions (12a) and (12b) are equivalent to the increase of the absolute values |F mn *|. Therefore, when the transformation coefficients F mn * are modified by the expressions (12a) and (12b) to restore the image data, an effect of averaging of the image data by the data compression is cancelled by the modification by these expressions. The expressions (12a) and (12b) are generally expressed as follows: when F mn * > 0, FF mn = F mn * + α when F mn * < 0, FF mn = F mn * - β where both of α and β are positive values, and preferably within a range of 0.3 to 0.5. When the transformation coefficients F mn * are thus modified and restored, as the Example 3 shown in Fig. 14, the SN ratio R SN is substantially equal to that of the Example 1 where the linear quantization is not performed and a large effect on suppressing progress of the deterioration of the image quality is attained. Further, since the transformation coefficients F mn * are linearly quantized and preserved, the compressed image data D f can be reduced to achieve high data compressibility. Although the code tables are classified into a plurality of code table groups depending on the standard deviation of the image data in the above embodiment, such classification may be performed by means of variance or various statistical vlaue similar to the same, other than the standard deviation. That is, classification may be performed by means of some statistical value statistically representing the distribution state of the image data. Although the above embodiment has been described with reference to a method of compressing image data as to one image, the present invention may be applied to respective color separation images as to a color image. For example, respective color separation images of YMCK printed images, RGB signal images or Y S /I S /Q S signal (chroma signal) images are compressed respectively. In this case, data compression suitable for each color separation image can be achieved by varying the number of threshold values of standard deviation and values thereof, the number of code tables in each code tables group, the numbers of effective alternate current components of the code tables, and the patterns of effective bit numbers of the code tables for each color separation image. In this case, it is preferable to determine pixel positions (i, j) ((1, 1) and (3, 3) in the above embodiment) for recording the group information in the image data f ij to be varied with the respective color separation images. Since values of the least significant digits of the image data f ij in these pixel positions are adjusted in recording of the group information, such adjustment causes a small change of the image quality. Hence the change of the image quality is reduced as a whole if the pixel position whose least significant digit values are adjusted are not overlapped in overprinting respective color separation images. Similarly, these pixel positions are preferably not adjacent to other pixel positions in the respective color separation images. Although the group information is expressed by means of the least significant digits of the image data f ij of the restored image in the above embodiment, the group information may be recorded as other data separately from the image data f ij . In this case, the image data are defined as that including not only the data f ij (hereinafter referred to as "image density data") representing density values of respective pixel positions but other data representing the group information. The method of the data compression and restoration is not restricted to that of the above embodiment, but various methods such as that disclosed in JP-A-55 109 086 can be applied. The present invention is applicable to a method of obtaining a statistical value substantially representing standard deviation of image data within pixel blocks and selecting one of prescribed procedures of data compression with response to the statistical value. In the enbodiment, four procedures of the data compression operation using one of the code table groups different for the compression groups g 1 to g 4 correspond to the "plurality of prescribed procedures". If the plurality of prescribed procedures are not distinguished by means of the compression groups dissimilarly to the above enbodiment, some identification data for identifying the selected procedure is included in the restored image data. In this case, compressed image data are also preserved with such identification data. In the above enbodiment, the image data f 11 and f 33 in the restored image data f ij and the code table number Max in the compressed image data D f play the role of the identifying data, respectively. According to the present invention, only a part of the transformation coefficients are employed to form the compressed image data, whereby the compression rate is increased without lowering the image quality. Further, the image data are produced to include the identification data so that the same procedure as that employed in previous data compression can be applied to recompression of the restored image data, whereby progress of the deterioration of the image quality is suppressed even if the data compession and restoration are repeated many times. Because the identification data are expressed by means of the least significant digits of image data in prescribed pixel positions within a pixel block, there is no need to independently preserve the identification data. Consequently, the amount of restored image data is reduced while the deterioration of the image quality of the restored image is minimized. Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, the scope of the present invention being limited only by the terms of the appended claims.

Claims: A method of compressing image data depicting an image which is divided into blocks (B vh ), each block including a plurality of pixels, said method comprising the steps of: (a) executing an orthogonal transformation operation on said blocks of image data, to thereby obtain a coefficient table (FT) including coefficients of a series of orthogonal functions indicative of said image data for each block, and (b) coding said coefficients of said coefficient table to obtain compressed image data; characterized in that: the coding step comprises the steps of: (b-1) preparing a plurality of code table groups, each group consisting of a plurality of code tables (CT), each code table being defined for determining which of said coefficients of said coefficient table are to be selected for further coding, wherein the number of said coefficients selected by said code tables is the same in each code table group but is different among said plurality of code table groups; (b-2) obtaining a statistical value (σ) representative of a distribution of said image data in each block; (b-3) comparing said statistical value with thresholds (σ 1 , σ 2 , σ 3 ) which are determined for said code table groups, to select one of said code table groups having the numbers of effective codes corresponding to said statistical value; (b-4) calculating a sum of respective absolute values of said coefficients selected by each code table included in said one of said code table groups, to thereby obtain a plurality of sums for respective code tables included in said one of said code table groups; (b-5) comparing said plurality of sums with each other to determine one of said plurality of code tables which provides the maximum of said plurality of sums, to thereby select a most relevant code table most relevant for coding said coefficients of said coefficient table among said one of code table groups; and (b-6) applying said most relevant code table to said coefficient table for coding said coefficients of said coefficient table to thereby obtain compressed image data (D f ). A method in accordance with claim 1, wherein said coefficients of said coefficient table (FT) are expressed by means of digital data, and respective code elements in said code table (CT) further designate respective numbers of effective digits for respective valid coefficients. A method in accordance with claim 1, wherein the step (b-6) comprises the step of: adding a group number of said one code table group to said compressed image data. An apparatus (AP) for compressing image data depicting an image which is divided into blocks (B vh ), each block including a plurality of pixels, said apparatus comprising: (a) means (8) for executing an orthogonal transformation operation on said blocks (B vh ) of image data, to thereby obtain a coefficient table (FT) including coefficients of a series of orthogonal functions indicative of said image data for each block, and (b) means for coding said coefficients of said coefficient table to obtain compressed image data; characterized in that: the coding means comprises: (b-1) means for preparing a plurality of code table groups, each group consisting of a plurality of code tables (CT), each code table being defined for determining which of said coefficients of said coefficient table are to be selected for further coding, wherein the number of said coefficients selected by said code tables is the same in each code table group but is different among said plurality of code table groups; (b-2) means (14) for obtaining a statistical value (σ) representative of a distribution of said image data in each block; (b-3) means (15) for comparing said statistical value with thresholds (σ 1 , σ 2 , σ 3 ) which are determined for said code table groups, to select one of said code table groups having the numbers of effective codes corresponding to said statistical value; (b-4) means (10) for calculating a sum of respective absolute values of said coefficients selected by each code table included in said one of said code table groups, to thereby obtain a plurality of sums for respective code tables included in said one of said code table groups; (b-5) means (10) for comparing said plurality of sums with each other to determine one of said plurality of code tables which provides the maximum of said plurality of sums, to thereby select a most relevant code table most relevant for coding said coefficients of said coefficient table among said one of code table group; and (b-6) means (10) for applying said most relevant code table to said coefficient table for coding said coefficients of said coefficient table to thereby obtain compressed image data (D f ).

Inventors: ARAGAKI MASAMI, ARAGAKI, MASAMI, ARAGAKI, MASAMI C/O DAINIPPON SCREEN MFG. CO. LTD.
Applicants: DAINIPPON SCREEN MFG, DAINIPPON SCREEN MFG. CO., LTD.
Application year: 1989
Main classification: H04N7
IPC codes: H04N7